@font-face{font-family:Cormorant;src:url('assets/cormorant-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#111310;--fg:#faf9f4;--muted:#b6b9ae;--line:#ffffff25;--accent:#dfcda7;--serif:Cormorant,Georgia,serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font:16px Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:1px solid var(--fg);outline-offset:5px}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}a{color:inherit;text-decoration:none}button:disabled{opacity:.3}main,.gallery,.artwork,.image-stage{position:absolute;inset:0;margin:0;width:100%;height:100%}.image-stage{isolation:isolate;overflow:hidden;touch-action:pinch-zoom}.art-layer{position:absolute;inset:0;overflow:hidden;will-change:transform,opacity,clip-path;background:var(--bg)}.art-layer img,.art-layer video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.view-fit .art-layer img,.view-fit .art-layer video{object-fit:contain}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0006 0,transparent 22%,transparent 62%,#0008 100%);transition:opacity 1s}.masthead{position:fixed;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 3.3%;gap:24px;transition:opacity .7s,transform .7s;text-shadow:0 1px 18px #0008}.wordmark{font:italic 32px var(--serif);padding:4px 0;white-space:nowrap}.wordmark span{color:var(--accent)}.chapter{font-size:12px;font-weight:400;letter-spacing:2.8px}.chapter span{opacity:.5;margin:0 17px}.text-button{font-size:14px;padding:12px 0}.index-link{display:flex;gap:18px;align-items:center}.index-link svg{width:18px;height:18px;stroke-width:1}.opening-title{position:absolute;left:6%;bottom:20%;pointer-events:none;text-shadow:0 3px 40px #0005;transition:opacity 1.2s,transform 1.5s,filter 1.2s}.opening-title>span{display:block;font:400 clamp(60px,9vw,150px)/.92 var(--serif);letter-spacing:-.045em}.opening-title>span:first-child{font-style:italic;font-size:clamp(28px,3vw,48px);letter-spacing:-.025em;margin:0 0 14px 4px}.entered .opening-title{opacity:0;transform:translateY(-14px);filter:blur(6px)}figcaption{position:absolute;left:3.3%;bottom:100px;display:flex;align-items:baseline;gap:17px;max-width:70%;font:28px/1.15 var(--serif);text-shadow:0 1px 20px #000a;transition:opacity .7s,transform .7s}.work-number{font:12px Arial;letter-spacing:1px;color:#fffc}.exhibition-footer{position:fixed;z-index:5;bottom:0;left:0;width:100%;padding:0 3.3% 29px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:20px}.exhibition-footer button,.browse{pointer-events:auto}.fit-button{display:grid;place-items:center;width:44px;height:44px;margin-left:-10px;transition:opacity .7s}.fit-button svg{width:21px;height:21px}.fit-button[aria-pressed=true]{color:var(--accent)}.browse-hint{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:2px;transition:opacity 1s}.browse-hint>span{font-size:22px;font-weight:200}.has-navigated .browse-hint{opacity:0}.browse{display:flex;gap:15px;align-items:center;transition:opacity .7s}.arrow-button{width:44px;height:44px;display:grid;place-items:center;transition:transform .4s,opacity .4s}.arrow-button:hover{transform:translateX(4px)}#previous:hover{transform:translateX(-4px)}.journey{font-size:12px;display:flex;gap:13px;align-items:center;letter-spacing:1px;font-variant-numeric:tabular-nums}.divider,#total{opacity:.6}.progress-track{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#ffffff1a}#progress-fill{display:block;width:3.333%;height:100%;background:#eeeadb9c;transition:width 1.3s cubic-bezier(.2,.65,.2,1)}.is-quiet .masthead,.is-quiet figcaption,.is-quiet .fit-button,.is-quiet .browse-hint{opacity:0}.is-quiet .browse{opacity:.28}.is-quiet .scene-shade{opacity:.28}.masthead:focus-within,body.is-quiet .exhibition-footer:focus-within .browse,body.is-quiet .fit-button:focus-visible{opacity:1}.motion-button{font-size:14px;color:var(--fg);text-decoration:underline;text-underline-offset:4px;margin-left:10px}.motion-button[hidden]{display:none}.image-stage.is-loading{opacity:.8}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);line-height:1.6}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{position:fixed;bottom:0;background:var(--bg);padding:15px}
dialog{color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:48px;max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#080b09d9;backdrop-filter:blur(10px)}dialog[open]{animation:dialog-enter .5s ease both}.index-dialog{width:calc(100% - 80px);max-width:1440px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:40px}.dialog-header .eyebrow{margin-bottom:6px}h2{font:400 64px/.95 var(--serif);letter-spacing:-2px;margin:0}h2 span{color:var(--accent)}.close-button{display:flex;align-items:center;gap:24px;font-size:14px;padding:12px 0}.close-button span{font-size:30px;font-weight:200}.index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.index-item{padding:0;text-align:left}.index-image{aspect-ratio:1.5;overflow:hidden;background:#20251e}.index-item img{width:100%;height:100%;object-fit:contain;transition:transform .7s,opacity .4s;opacity:.8}.index-item:hover img,.index-item:focus-visible img{transform:scale(1.025);opacity:1}.index-item[aria-current=true] .index-image{outline:1px solid var(--accent);outline-offset:5px}.index-caption{display:flex;gap:12px;font:19px var(--serif);margin-top:12px;align-items:baseline}.index-caption small{font:10px Arial;color:var(--accent)}.about-dialog{max-width:650px;padding:65px}.about-dialog>.close-button{margin:-30px 0 40px auto}.about-dialog h2{font-size:76px;margin-bottom:30px}.about-dialog p:not(.eyebrow){font:23px/1.4 var(--serif);color:var(--fg)}.about-dialog .about-note{font:13px/1.7 Arial!important;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.about-signature{font:italic 34px var(--serif);display:block;margin-top:30px}@keyframes dialog-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.index-caption small{font-size:12px}.index-item img{opacity:1}.index-dialog{background:#111310ed;backdrop-filter:blur(25px)}
@media(max-width:900px){.index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter{letter-spacing:1.5px}.opening-title>span{font-size:11vw}}
@media(max-width:600px){.masthead{padding:20px 6%}.wordmark{font-size:30px}.chapter{display:none}.index-link{gap:12px}.opening-title{left:7%;bottom:25%;right:6%}.opening-title>span{font-size:clamp(60px,17vw,100px);max-width:5em;line-height:.92}.opening-title>span:first-child{font-size:32px;margin-left:2px}figcaption{left:6%;right:6%;bottom:113px;max-width:none;font-size:27px;gap:12px}.exhibition-footer{padding:0 6% max(28px,env(safe-area-inset-bottom))}.browse-hint{display:none}.browse{gap:10px}.journey{gap:9px}.index-dialog{width:calc(100% - 20px);padding:24px;max-height:94dvh}.dialog-header{gap:12px;margin-bottom:30px}h2{font-size:42px;letter-spacing:-1px}.close-button{gap:12px}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.index-caption{font-size:18px;gap:7px}.about-dialog{width:calc(100% - 20px);padding:35px}.about-dialog>.close-button{margin:-10px 0 30px auto}.about-dialog h2{font-size:62px}.about-dialog p:not(.eyebrow){font-size:22px}.motion-button{font-size:12px;white-space:nowrap}}
@media(max-height:450px){.masthead{padding-top:12px}.exhibition-footer{padding-bottom:12px}figcaption{bottom:66px;font-size:24px}.opening-title{bottom:25%}.opening-title>span{font-size:65px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.opening-title{display:none}}

/* Sound remains part of the exhibition's quiet navigation. */
.header-actions{display:flex;align-items:center;gap:23px}
.sound-button{display:grid;place-items:center;width:44px;height:44px;padding:0;opacity:.72;transition:opacity .3s}
.sound-button:hover,.sound-button:focus-visible{opacity:1}
.sound-button svg{width:20px;height:20px;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.sound-button[data-state=off] .sound-waves,.sound-button[data-state=on] .sound-slash{display:none}
.sound-button[data-state=off]{opacity:.48}

/* A borderless contact sheet, on the same plane as the exhibition. */
.index-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#111310f5;backdrop-filter:blur(26px);overflow:auto;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.index-dialog::backdrop{background:#0c0e0b80;backdrop-filter:none}
.index-dialog[open]{animation:index-enter .65s cubic-bezier(.22,.7,.16,1) both}
.index-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 4.5% 23px;background:linear-gradient(#111310 75%,#111310f2 90%,#11131000);min-height:105px}
.index-identity{display:flex;align-items:baseline;gap:24px}
.index-header h2{font:italic 38px/1 var(--serif);letter-spacing:-1px}
.index-count{font-size:12px;color:#a9ada2;letter-spacing:1px;white-space:nowrap}
.index-series{font-size:12px;letter-spacing:2.7px;color:#b6b9ae}
.index-close{display:grid;place-items:center;width:44px;height:44px;padding:0;opacity:.7;transition:opacity .3s,transform .4s}
.index-close:hover{opacity:1;transform:rotate(90deg)}
.index-close svg{width:22px;height:22px;stroke-width:1}
.index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px 34px;margin:20px 4.5% 72px}
.index-item{min-width:0;position:relative;padding:0;text-align:left;scroll-margin-top:132px}
.index-image{aspect-ratio:1.5;background:transparent;overflow:visible;transition:transform .65s cubic-bezier(.22,.7,.16,1)}
.index-item img{display:block;width:100%;height:100%;object-fit:contain;opacity:.8;transition:opacity .5s;transform:none!important}
.index-item:hover img,.index-item:focus-visible img,.index-item[aria-current=true] img{opacity:1}
.index-item:hover .index-image,.index-item:focus-visible .index-image{transform:translateY(-3px)}
.index-item[aria-current=true] .index-image{outline:none}
.index-caption{display:flex;align-items:baseline;gap:14px;min-height:28px;margin-top:13px;font:19px/1.2 var(--serif)}
.index-caption small{flex-shrink:0;font:12px/1.5 Arial,sans-serif;letter-spacing:1px;color:#969c90;position:relative}
.index-caption>span{opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s;color:#dfdfd5}
.index-item:hover .index-caption>span,.index-item:focus-visible .index-caption>span,.index-item[aria-current=true] .index-caption>span{opacity:1;transform:none}
.index-item[aria-current=true] .index-caption small{color:var(--fg)}
.index-item[aria-current=true] .index-caption small::after{content:'';position:absolute;left:0;right:1px;bottom:-5px;height:1px;background:#ddd8c8}
@keyframes index-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.index-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:46px 40px}}
@media(max-width:1000px){.index-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.index-series{display:none}}
@media(max-width:600px){.header-actions{gap:12px}.index-header{padding:17px 6% 20px;min-height:89px}.index-identity{gap:16px}.index-header h2{font-size:34px}.index-count{font-size:12px;letter-spacing:0}.index-header .header-actions{gap:8px}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px;margin:13px 6% 45px}.index-caption{margin-top:9px;gap:8px;font-size:17px;min-height:40px}.index-caption>span{opacity:.7;transform:none}.index-caption small{font-size:12px}.index-item{scroll-margin-top:106px}}
@media(hover:none){.index-caption>span{opacity:.7;transform:none}}
@media(prefers-reduced-motion:reduce){.index-dialog[open]{animation:none}.index-image,.index-caption>span,.index-close{transition:none}}

.sound-button[data-state=pending] .sound-slash{display:none}
.sound-button[data-state=pending] .sound-waves{opacity:.6}
.autoplay-controls{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;pointer-events:auto;transition:opacity .7s}
#autoplay-toggle{width:44px;height:44px;display:grid;place-items:center;padding:0}
#autoplay-toggle svg{width:18px;height:18px;stroke-width:1.25}
#autoplay-toggle[data-state=on] .autoplay-play,#autoplay-toggle[data-state=off] .autoplay-pause{display:none}
#autoplay-speed{appearance:none;-webkit-appearance:none;width:84px;height:44px;margin:0;background:transparent;cursor:pointer;touch-action:pan-y;color:var(--fg)}
#autoplay-speed::-webkit-slider-runnable-track{height:1px;background:#ffffff60}
#autoplay-speed::-moz-range-track{height:1px;background:#ffffff60}
#autoplay-speed::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:7px;height:7px;background:#f2eee2;border:0;border-radius:50%;margin-top:-3px}
#autoplay-speed::-moz-range-thumb{width:7px;height:7px;background:#f2eee2;border:0;border-radius:50%}
#autoplay-speed:focus-visible{outline:1px solid var(--fg);outline-offset:3px}
#autoplay-value{font:12px Arial,sans-serif;letter-spacing:.5px;font-variant-numeric:tabular-nums;min-width:27px;opacity:.8}
.is-quiet .autoplay-controls{opacity:.4}
.autoplay-controls:hover,.autoplay-controls:focus-within{opacity:1}
@media(max-width:600px){.autoplay-controls{bottom:82px;gap:9px}figcaption{bottom:146px}.autoplay-controls #autoplay-speed{width:76px}}
@media(max-height:450px){.autoplay-controls{bottom:12px;left:50%}figcaption{bottom:66px}}
