@font-face{font-family:Paragone;src:url('assets/paragone.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--paper:#f1e8d8;--muted:#c2b8a5;--bg:#14130f}
*{box-sizing:border-box}html{scrollbar-color:#776f61 #171613;scrollbar-width:thin}body{margin:0;background:var(--bg);color:var(--paper);font:15px/1.6 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #e8d7b5;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Paragone,Georgia,serif;font-weight:400}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:#eee;color:#111;padding:10px}.skip:focus{top:15px}
#gallery-space{position:fixed;inset:0;z-index:0}canvas{width:100%;height:100%;display:block;touch-action:pan-y}.vignette{position:fixed;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,#07070580,transparent 22%,transparent 65%,#080705bc)}
header{position:fixed;z-index:4;top:0;left:0;width:100%;padding:27px 3.5vw;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{font-size:30px;text-decoration:none;pointer-events:auto}.edition{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#e0d6c4}
.intro{position:fixed;left:7vw;top:23vh;z-index:2;pointer-events:none;max-width:650px;text-shadow:0 3px 25px #0009}.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px;color:var(--muted)}.intro h1{font-size:clamp(60px,6.4vw,100px);line-height:1.02;letter-spacing:-.035em}.invitation{font-size:13px;margin-top:36px;letter-spacing:.025em}.invitation span{margin-left:25px}.loading{position:fixed;z-index:6;bottom:145px;left:3.5vw;font-size:12px;color:var(--muted);background:#14130fd9;padding:8px 14px}
#walk{height:1450vh;position:relative;pointer-events:none}.guide{position:fixed;bottom:0;left:0;width:100%;z-index:4;padding:24px 3.5vw 28px;display:flex;justify-content:space-between;align-items:end;gap:20px;pointer-events:none}.work-caption{max-width:65%}.work-caption>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.work-caption h2{font-size:clamp(27px,3vw,42px);line-height:1.1;margin:9px 0}.work-caption p{font-size:12px;color:var(--muted)}.controls{display:flex;align-items:center;gap:10px;pointer-events:auto}.controls button{border:1px solid #b9ab8f65;background:#171611d9;min-height:46px;padding:10px 18px;backdrop-filter:blur(8px)}.controls button:hover:enabled{background:#3a352b}.controls #view{min-width:150px;font-size:12px;display:flex;justify-content:space-between;gap:22px}.progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffffff15}.progress span{display:block;height:100%;width:0;background:#c1a16a}
.artist{position:relative;z-index:3;background:#14130f;padding:110px 9vw 45px;min-height:100vh}.artist h2{font-size:clamp(55px,7vw,100px);line-height:1.1;letter-spacing:-.03em;margin-bottom:65px}.artist-columns{display:grid;grid-template-columns:1fr 1fr;gap:9vw;max-width:1200px}.artist h3{font-size:32px;margin-bottom:22px}.artist p+p{margin-top:20px}.artist-columns p{color:#c9c2b5;font-size:16px;line-height:1.9;max-width:58ch}footer{display:flex;flex-wrap:wrap;gap:24px 50px;border-top:1px solid #484338;margin-top:90px;padding-top:35px;font-size:14px}footer span{margin-left:auto;color:var(--muted);font-size:12px}
#closeup{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--paper);overflow:hidden}#closeup::backdrop{background:transparent}.close{position:absolute;right:25px;top:22px;width:48px;height:48px;border:1px solid #d3c7af80;border-radius:50%;background:#14130f99;font:30px/1 Arial;z-index:2}.closeup-space{position:absolute;inset:0 0 100px;cursor:zoom-out}.closeup-caption{position:absolute;bottom:24px;width:100%;text-align:center;pointer-events:none}.closeup-caption h2{font-size:25px}.closeup-caption p{font-size:12px;color:var(--muted);margin-top:5px}.fallback{position:relative;z-index:3;padding:120px 7vw 40px;background:var(--bg)}.fallback h1{font-size:60px;line-height:1.1}.fallback>p{max-width:50ch;margin:30px 0}.fallback article{margin:70px 0}.fallback img{max-width:100%;max-height:75vh;display:block}.fallback h2{font-size:30px;margin:18px 0}.fallback a{cursor:zoom-in}.no-script{position:relative;z-index:4}
@media(max-width:760px){header{padding:22px 6vw}.brand{font-size:24px}.edition{display:none}.intro{left:7vw;top:22vh;max-width:86vw}.intro h1{font-size:clamp(52px,12vw,78px)}.eyebrow{font-size:9px;max-width:70vw}.guide{padding:20px 6vw 22px;display:block}.work-caption{max-width:none;margin-bottom:18px}.work-caption h2{font-size:29px}.work-caption p{font-size:11px}.controls{justify-content:space-between}.controls #view{flex:1}.controls button{min-height:43px}.loading{bottom:200px;left:6vw}.artist{padding:85px 7vw 35px}.artist-columns{grid-template-columns:1fr;gap:50px}.artist h2{font-size:56px;margin-bottom:45px}footer{margin-top:55px;gap:22px}footer span{margin-left:0;width:100%}.close{right:15px;top:15px;width:44px;height:44px}.closeup-caption{padding:0 20px;bottom:25px}.closeup-caption h2{font-size:22px}#walk{height:1500vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.viewing header,.viewing .guide,.viewing .intro,.viewing .vignette{visibility:hidden!important}
[hidden]{display:none!important}

/* Collection introduction and discreet, persistent audio control. */
.header-tools{display:flex;align-items:center;gap:28px}.music{pointer-events:auto;display:flex;align-items:center;gap:9px;border:1px solid #bdab8455;border-radius:30px;background:#17140ec9;padding:10px 14px;font-size:11px;min-height:44px}.music svg{width:20px;height:20px}.music[aria-pressed="false"] .sound-waves,.music[aria-pressed="true"] .sound-muted{display:none}#closeup>.music{position:absolute;top:24px;left:25px;z-index:3}.intro{top:18vh;isolation:isolate}.intro:before{content:"";position:absolute;inset:-45px -65px;z-index:-1;background:radial-gradient(ellipse at 40% 48%,#0b0906b8 0%,#0b09069c 42%,transparent 72%);pointer-events:none}.collection-story{max-width:49ch;font-size:16px;line-height:1.8;color:#e1d8c8;margin-top:26px}.invitation{margin-top:24px}
@media(max-width:760px){.intro{top:17vh}.intro h1{font-size:clamp(46px,11vw,70px)}.collection-story{font-size:14px;line-height:1.7;margin-top:20px;max-width:38ch}.intro:before{inset:-35px -30px}.music{padding:9px 11px}.music span{display:none}.header-tools{gap:0}.invitation{margin-top:20px;font-size:12px}#closeup>.music{left:15px;top:15px}}
@media(max-height:700px){.intro{top:15vh}.intro h1{font-size:48px}.intro .eyebrow{margin-bottom:14px}.collection-story{font-size:13px;line-height:1.6;max-width:55ch;margin-top:15px}.invitation{margin-top:14px}}

@media(min-width:761px){
  .work-caption h2{font-size:clamp(33.75px,3.75vw,52.5px);margin:11px 0}
  .work-caption>span{font-size:12.5px}.work-caption p{font-size:15px}
  .controls{gap:12.5px}.controls button{min-height:57.5px;padding:12.5px 22.5px;font-size:18.75px}
  .controls #view{min-width:187.5px;font-size:15px;gap:27.5px}
}

.painting-hint{position:fixed;z-index:5;pointer-events:none;padding:8px 13px;border:1px solid #d3c7af35;border-radius:3px;background:#19150ed9;color:#f1e8d8;font-size:12px;letter-spacing:.025em;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.painting-hint.visible{opacity:1;transform:translateY(0)}

.controls #view{align-items:center;justify-content:center}.controls #view span{line-height:1}
.about-trigger{pointer-events:auto;background:transparent;border:0;padding:10px 5px;min-height:44px;font-size:14px;text-underline-offset:5px}.about-trigger:hover{text-decoration:underline}
#about-overlay{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#14130f;color:var(--paper);overflow-y:auto;overscroll-behavior:contain}
#about-overlay::backdrop{background:#0008}#about-overlay .artist{min-height:100dvh;padding-top:100px}#about-overlay .about-close{position:sticky;float:right;top:20px;margin:20px 25px -68px 0;z-index:5}#about-overlay .artist h2{margin-bottom:45px}
@media(max-width:760px){.header-tools{gap:12px}.about-trigger{font-size:13px}#about-overlay .about-close{top:15px;margin-right:15px}#about-overlay .artist{padding-top:95px}}

.music .equalizer{display:flex;align-items:center;justify-content:center;gap:2px;width:20px;height:20px}.equalizer i{display:block;width:2px;height:12px;background:currentColor;border-radius:2px;transform:scaleY(.2);transform-origin:center;opacity:.65}.is-playing .equalizer i{animation:music-meter 1.2s ease-in-out infinite;opacity:1}.is-playing .equalizer i:nth-child(2){animation-delay:-.7s}.is-playing .equalizer i:nth-child(3){animation-delay:-.35s}.is-playing .equalizer i:nth-child(4){animation-delay:-.95s}.is-playing .equalizer i:nth-child(5){animation-delay:-.5s}@keyframes music-meter{0%,100%{transform:scaleY(.3)}45%{transform:scaleY(1)}70%{transform:scaleY(.55)}}

header{align-items:flex-start}.brand-group{display:flex;flex-direction:column;align-items:flex-start;gap:0}.brand-group .about-trigger{font-family:Arial,sans-serif;font-size:19px;line-height:1.2;color:var(--muted);padding:7px 0 10px;min-height:36px}.header-tools{padding-top:2px}@media(max-width:760px){.brand-group .about-trigger{font-size:17px;padding-top:5px;min-height:34px}}

.trial-label{pointer-events:auto;display:flex;flex-direction:column;gap:3px;font:10px/1.3 Arial;color:#c2b8a5}.trial-label select{max-width:170px;background:#171816;color:#eee;border:1px solid #6c6b61;padding:7px;font:11px Arial}@media(max-width:760px){.header-tools{gap:7px}.trial-label select{max-width:115px;font-size:10px}.trial-label{font-size:9px}.brand{font-size:21px}header{padding-left:4vw;padding-right:4vw}.intro{top:20vh}}
@media(max-width:380px){.trial-label{position:absolute;top:80px;right:4vw}.brand{white-space:nowrap}}

/* Loading progress covers the first frame; detail images are loaded only on demand. */
body.gallery-booting{overflow:hidden}.loading{inset:0;z-index:100;margin:0;padding:30px;background:#111210;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.loading[hidden]{display:none}.loading-name{font:clamp(32px,5vw,64px)/1.1 Paragone,Georgia,serif;color:var(--paper)}.loading-number{font:clamp(80px,12vw,160px)/1 Paragone,Georgia,serif;color:var(--paper)}.loading-message{font:12px Arial;letter-spacing:.12em}.loading-track{height:1px;width:min(240px,70vw);background:#ffffff20;margin-top:14px}.loading-track>span{display:block;height:100%;background:#e0d6c4;width:0;transition:width .15s}.loading.leaving{opacity:0;transition:opacity .45s;pointer-events:none}
.closeup-space{inset:0;touch-action:none;overflow:hidden;cursor:default}.closeup-space.zoomed{cursor:grab;background:#080907}.closeup-space.dragging.zoomed{cursor:grabbing}#detail-image{position:absolute;max-width:none;max-height:none;transform-origin:center;user-select:none;pointer-events:none;object-fit:fill}.closeup-caption{z-index:2;bottom:0;padding:18px 20px max(15px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#080907ed 22%);pointer-events:auto}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px auto 0;max-width:420px;font:12px Arial;background:#171813ed;border:1px solid #ffffff25;padding:10px 14px;border-radius:5px}.zoom-controls input{min-width:80px;flex:1;accent-color:#e4d8b6;cursor:pointer;min-height:28px}.zoom-controls output{min-width:40px;font-variant-numeric:tabular-nums}.zoom-controls button{border:0;color:var(--paper);background:transparent;min-height:32px;padding:4px;cursor:pointer}#detail-status{font-size:10px;min-height:14px;margin-top:9px;color:var(--muted)}@media(max-width:760px){.closeup-caption h2{font-size:23px}.zoom-controls{gap:9px;margin-top:10px;padding:5px 10px}.closeup-caption{padding-top:12px}.closeup-caption p{font-size:10px}}@media(prefers-reduced-motion:reduce){.loading.leaving{transition:none}}

.controls #view .view-icon{display:block;flex-shrink:0;width:1.2em;height:1.2em}
