/* The document remains the layout. Only successful WebGL enables the spatial
   treatment. No fixed editorial panels, hidden paragraphs, or scroll trapping. */
html{scroll-behavior:auto}
h1,h2,h3,p{overflow-wrap:break-word}
.hero-copy h1{font-size:clamp(4rem,7.6vw,8.8rem);letter-spacing:-.055em}
.hero-copy h1 em{white-space:normal}
.trace-opening,.paper-transition,.generation-planes{display:none!important}
.hero-copy,.hero-photo,.archive-plane{opacity:1!important;transform:none!important}
.transmit-copy h2{font-size:clamp(3rem,5vw,6rem)}
html[data-motion=full] .story-thread{visibility:hidden}
html[data-motion=full] .footer-thread{visibility:visible}
.memory-scene{background:var(--charcoal)}
/* Cartels sit between the room and the document: reading panels always cover them. */
.spatial-labels{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}
html[data-motion=full] main{position:relative;z-index:2}
.spatial-label{position:absolute;left:0;top:0;max-width:28rem;color:#cdbda6;font-size:.65rem;letter-spacing:.06em;visibility:hidden;will-change:transform}
html:not([data-motion=full]) .spatial-labels{display:none}
html[data-motion=full] main{background:transparent}
html[data-motion=full] main>[data-zone],html[data-motion=full] .scene-sticky{background:transparent;color:var(--paper)}
html[data-motion=full] .scene-sticky{overflow:visible}
html[data-motion=full] .trace-scene{height:210svh}
html[data-motion=full] .trace-sticky{position:sticky;top:0;height:100svh;min-height:0;display:flex;padding:9rem 8vw 7rem;align-items:center}
html[data-motion=full] .hero-copy{width:47%;position:relative;z-index:4}
html[data-motion=full] .hero-lede{color:#c4bcae;max-width:25rem}
html[data-motion=full] .hero-photo{position:absolute;right:4.5vw;top:40%;width:32%}
html[data-motion=full] .scroll-cue{bottom:6rem;right:8vw}
html[data-motion=full] .archives-scene{height:330svh}
html[data-motion=full] .archives-sticky{position:sticky;top:0;height:100svh;padding:0;perspective:none}
html[data-motion=full] .scene-heading{position:absolute;top:22%;left:8vw;width:34%}
html[data-motion=full] .scene-heading h2{font-size:clamp(3.5rem,6.3vw,7rem);max-width:10ch}
html[data-motion=full] .archive-space{position:absolute;inset:0;display:block;margin:0;transform-style:flat;pointer-events:none}
html[data-motion=full] .archive-plane{position:absolute;left:57%;top:25%;width:32%;visibility:hidden}
html[data-motion=full] .archive-notes{position:absolute;bottom:18%;left:8vw;width:30%;margin:0}
html[data-motion=full] .archive-plane[data-spatial-ready=false][data-spatial-fallback-active=true]{visibility:visible}
html[data-motion=full] .archive-plane .paper{height:auto;max-height:none}
html[data-motion=full] .archive-plane img{height:auto;max-height:54vh}
html[data-motion=full] .witness-scene{padding:0;min-height:160svh}
html[data-motion=full] .editorial-grid{position:sticky;top:0;min-height:100svh;padding:8rem 8vw;grid-template-columns:1fr 1.1fr;gap:8vw}
html[data-motion=full] .editorial-copy h2 em,html[data-motion=full] .mission-intro h2 em,html[data-motion=full] .lili-copy h2 em,html[data-motion=full] .actions-head h2 em,html[data-motion=full] .partners-copy h2 em{color:#c1af94}
html[data-motion=full] .kicker,html[data-motion=full] .mission-n{color:#cdbda6}
html[data-motion=full] .body-copy,html[data-motion=full] .lili-copy>p:last-of-type,html[data-motion=full] .status,html[data-motion=full] .mission-row p,html[data-motion=full] .actions-head .lead,html[data-motion=full] .exhibit-meta,html[data-motion=full] .exhibit-item p,html[data-motion=full] .event-n,html[data-motion=full] .event-tag,html[data-motion=full] .event-info p,html[data-motion=full] .partners-copy p,html[data-motion=full] .transmit-copy p{color:#bfb5a5}
html[data-motion=full] .founder-portrait figcaption,html[data-motion=full] .lili-portrait figcaption{color:#bfb5a5}
html[data-motion=full] .mission-scene{padding:9rem 8vw 4rem}
html[data-motion=full] .mission-intro{display:block;width:48%;margin:0 0 3rem}
html[data-motion=full] .mission-intro h2{font-size:clamp(3rem,4.9vw,5.5rem)}
html[data-motion=full] .mission-intro .lead{margin-top:2rem;font-size:1.4rem}
html[data-motion=full] .mission-list{border:0;margin:0;width:45%}
html[data-motion=full] .mission-row{min-height:48svh;grid-template-columns:2rem 1fr;gap:1rem;align-content:center;border-color:var(--line-light);padding:4rem 0}
html[data-motion=full] .mission-row h3{font-size:clamp(3rem,5vw,6rem)}
html[data-motion=full] .mission-row p{grid-column:2;font-size:1rem;max-width:24rem}
html[data-motion=full] .lili-scene{height:210svh}
html[data-motion=full] .lili-sticky{position:sticky;top:0;height:100svh;padding:8rem 8vw;grid-template-columns:1fr 1.1fr;gap:8vw}
html[data-motion=full] .lili-copy::before{display:none}
html[data-motion=full] .lili-copy h2{font-size:clamp(3.5rem,5.8vw,6.5rem)}
html[data-motion=full] .lili-copy .lead{font-size:clamp(1.3rem,1.7vw,1.8rem);margin:1.7rem 0 1rem}
html[data-motion=full] .lili-portrait{transform:none}
html[data-motion=full] .button-light{background:var(--paper);color:var(--ink)}
html[data-motion=full] .actions-scene{padding:9rem 8vw 5rem}
html[data-motion=full] .actions-head{display:block;width:46%;margin:0 0 3rem}
html[data-motion=full] .actions-head .lead{margin-top:2rem;font-size:1.4rem}
html[data-motion=full] .exhibition{display:block;margin:0}
html[data-motion=full] .exhibit-item:nth-child(2){margin-top:0}
html[data-motion=full] .exhibit-item{position:relative;width:100%;min-height:85svh;margin:0;padding:15svh 56% 12svh 0}
html[data-motion=full] .exhibit-image{position:absolute;left:57%;top:15%;width:35%}
html[data-motion=full] .exhibit-item h3{font-size:clamp(2.5rem,4.2vw,4.5rem)}
html[data-motion=full] .exhibit-item p{font-size:1rem}
html[data-motion=full] .event-ledger{background:#171614ed;padding:1rem 2rem;border-color:var(--line-light)}
html[data-motion=full] .event-row{border-color:var(--line-light)}
html[data-motion=full] .transmit-scene{height:300svh}
html[data-motion=full] .transmit-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;align-items:start;justify-content:center;text-align:left;padding:8rem 8vw}
html[data-motion=full] .transmit-copy{max-width:45%}
html[data-motion=full] .transmit-copy p{margin-left:0}
html[data-motion=full] .transmit-sticky>.text-link{margin-top:2rem}
html[data-motion=full] .transmit-fallback{display:none}
html[data-motion=full] .oeuvres-scene{background:transparent;padding:9rem 8vw 5rem}
html[data-motion=full] .oeuvres-head{display:block;width:46%;margin:0 0 3rem}
html[data-motion=full] .oeuvres-head .lead{margin-top:2rem;font-size:1.4rem}
html[data-motion=full] .oeuvres-list{display:block;max-width:none}
html[data-motion=full] .oeuvre-card{position:relative;display:block;min-height:88svh;padding:16svh 56% 12svh 0}
html[data-motion=full] .oeuvre-card:nth-child(2){padding:16svh 0 12svh 56%}
html[data-motion=full] .oeuvre-copy{padding:2rem 2.2rem;background:#171614e6;border:1px solid var(--line-light)}
html[data-motion=full] .oeuvre-frame{position:absolute;left:62%;top:10%;width:24%}
html[data-motion=full] .oeuvre-card:nth-child(2) .oeuvre-frame{left:14%}
html[data-motion=full] .partners-scene{min-height:110svh;align-content:center;padding:9rem 8vw}
html[data-motion=full] .partners-scene::before{border-color:var(--line-light)}
html[data-motion=full] .partners-grid{background:var(--paper);padding:3rem 2rem;align-self:center}
html[data-motion=full] .contact-scene{min-height:110svh;background:transparent;padding:9rem 8vw}
html[data-motion=full] [data-spatial-ready=true]{visibility:visible!important;opacity:0!important;pointer-events:none}
/* Long CMS copy expands naturally instead of being clipped in a viewport. */
html[data-motion=full] .scene-editorial{height:auto;min-height:120svh}
html[data-motion=full] .scene-editorial>.scene-sticky,html[data-motion=full] .scene-editorial>.editorial-grid{position:relative;height:auto;min-height:100svh}
html[data-motion=full] .scene-editorial .hero-copy{width:48%}
.journey-nav::before{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;background:#b19572;transform-origin:left;transform:scaleX(var(--spatial-progress,0))}
@media(max-width:999px){
 .motion-toggle{left:6vw;font-size:.68rem;background:var(--charcoal);bottom:.6rem}
 .journey-nav{padding-left:6vw;padding-right:6vw;justify-content:flex-end}
 .journey-nav a{width:auto;min-width:0;max-width:55%;font-size:.7rem}
 #journey-label{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #journey-count{font-size:.65rem}
 html[data-motion=full] .hero-copy{width:52%}
 html[data-motion=full] .editorial-copy h2{font-size:4.8vw}
}
@media(max-width:680px){
 .hero-copy h1{font-size:17vw}
 html[data-motion=full] .trace-scene{height:180svh}
 html[data-motion=full] .trace-sticky{display:block;padding:8rem 8vw 5rem}
 html[data-motion=full] .hero-copy{width:100%}
 html[data-motion=full] .hero-copy h1{font-size:14vw}
 html[data-motion=full] .hero-copy .kicker{margin-bottom:1rem;max-width:100%;font-size:.75rem;letter-spacing:.06em}
 html[data-motion=full] .hero-lede{font-size:1rem;max-width:27rem;margin:1.3rem 0 .5rem}
 html[data-motion=full] .hero-photo{top:57%;right:15%;width:65%}
 html[data-motion=full] .scroll-cue{display:none}
 html[data-motion=full] .archives-scene{height:270svh}
 html[data-motion=full] .scene-heading{top:16%;left:8vw;width:84%}
 html[data-motion=full] .scene-heading p{margin:.6rem 0;font-size:.8rem}
 html[data-motion=full] .scene-heading h2{font-size:10.5vw;max-width:none}
 html[data-motion=full] .scene-heading h2 br{display:block}
 html[data-motion=full] .scene-heading h2 em{display:inline}
 html[data-motion=full] .archive-notes{bottom:11%;left:8vw;width:84%;font-size:.85rem}
 html[data-motion=full] .archive-plane{top:43%;left:20%;width:60%}
 html[data-motion=full] .witness-scene{min-height:0}
 html[data-motion=full] .editorial-grid{position:relative;display:flex;flex-direction:column;padding:5rem 8vw;gap:2rem}
 html[data-motion=full] .founder-portrait{width:65%;visibility:visible!important}
 html[data-motion=full] .editorial-copy h2{font-size:12vw}
 html[data-motion=full] .mission-scene,html[data-motion=full] .actions-scene{padding:5rem 8vw}
 html[data-motion=full] .mission-intro,html[data-motion=full] .actions-head{width:100%;margin-bottom:3rem}
 html[data-motion=full] .mission-intro h2,html[data-motion=full] .actions-head h2{font-size:12vw}
 html[data-motion=full] .mission-list{width:100%}
 html[data-motion=full] .mission-row{min-height:70svh;align-content:start;padding-top:5rem}
 html[data-motion=full] .mission-row h3{font-size:12vw}
 html[data-motion=full] .mission-row p{font-size:.95rem}
 html[data-motion=full] .lili-scene{height:auto;min-height:180svh}
 html[data-motion=full] .lili-sticky{position:relative;height:auto;display:flex;flex-direction:column;padding:5rem 8vw;gap:3rem}
 html[data-motion=full] .lili-portrait{width:72%;align-self:center;min-height:45svh}
 html[data-motion=full] .lili-copy h2{font-size:14vw}
 html[data-motion=full] .exhibit-item{padding:4rem 0 3rem;min-height:100svh}
 html[data-motion=full] .exhibit-image{position:relative;left:auto;top:auto;width:72%;margin:0 auto 3rem;min-height:36svh}
 html[data-motion=full] .exhibit-item h3{font-size:10vw}
 html[data-motion=full] .event-ledger{padding:1rem}
 html[data-motion=full] .transmit-scene{height:190svh}
 html[data-motion=full] .oeuvres-scene{padding:5rem 8vw}
 html[data-motion=full] .oeuvres-head{width:100%}
 html[data-motion=full] .oeuvres-head h2{font-size:12vw}
 html[data-motion=full] .oeuvre-card,html[data-motion=full] .oeuvre-card:nth-child(2){display:flex;flex-direction:column-reverse;min-height:90svh;padding:4rem 0 3rem;gap:2rem}
 html[data-motion=full] .oeuvre-frame,html[data-motion=full] .oeuvre-card:nth-child(2) .oeuvre-frame{position:relative;left:auto;top:auto;width:72%;margin:0 auto}
 html[data-motion=full] .transmit-sticky{justify-content:start;padding-top:8rem}
 html[data-motion=full] .transmit-copy{max-width:100%}
 html[data-motion=full] .transmit-copy h2{font-size:10vw}
 html[data-motion=full] .partners-scene,html[data-motion=full] .contact-scene{padding:5rem 8vw;min-height:0}
 html[data-motion=full] .scene-editorial .hero-copy{width:100%}
 .spatial-label{font-size:.6rem;max-width:70vw}
}
@media print{
 .spatial-labels{display:none!important}
 html[data-motion=full] [data-spatial-ready=true]{visibility:visible!important;opacity:1!important}
 html[data-motion=full] main>[data-zone]{height:auto;min-height:0}
 html[data-motion=full] .editorial-grid{position:relative;min-height:0}
 html[data-motion=full] .hero-copy,html[data-motion=full] .mission-list,html[data-motion=full] .mission-intro,html[data-motion=full] .actions-head,html[data-motion=full] .transmit-copy{width:100%;max-width:100%}
 html[data-motion=full] .exhibit-item{padding:2rem 0;min-height:0}
 html[data-motion=full] .exhibit-image{position:relative;left:auto;top:auto}
}

/* The same typography, margins and surfaces run through all nine chapters. */
:root{--scene-inset:clamp(1.5rem,8vw,10rem)}
.nav{background:var(--charcoal);border-bottom:1px solid var(--line-light)}
.nav-links{gap:clamp(.8rem,1.5vw,1.7rem)}
.nav-links a{white-space:nowrap;letter-spacing:.015em;font-size:.8rem}
.nav-contact{letter-spacing:.04em}
.nav-links a[aria-current]{color:#d6bea0}
html[data-surface=light] .nav-links a[aria-current]{color:var(--oxblood)}
.nav-mobile a[aria-current]{color:#d6bea0}
.kicker,.scene-number{font-size:.75rem;line-height:1.6}
.kicker[data-chapter-number]::before,.scene-number[data-chapter-number]::before{margin-right:.75rem}
.hero-copy h1{line-height:1.04}
.hero-copy h1 em{white-space:normal}
.hero-lede,.body-copy,.exhibit-item p,.event-info p{ text-wrap:pretty }
html[data-motion=full] .transmission-thread{display:none}
html[data-motion=full] .hero-copy,
html[data-motion=full] .editorial-copy,
html[data-motion=full] .lili-copy,
html[data-motion=full] .contact-intro,
html[data-motion=full] .contact-form{position:relative;isolation:isolate}
html[data-motion=full] .hero-copy::before,
html[data-motion=full] .editorial-copy::before,
html[data-motion=full] .lili-copy::before,
html[data-motion=full] .contact-intro::before,
html[data-motion=full] .contact-form::before{content:'';display:block;position:absolute;inset:-1.5rem;background:#171614f0;z-index:-1;pointer-events:none}
html[data-motion=full] .hero-copy::before{background:#171614c9}
html[data-motion=full] .scene-heading,
html[data-motion=full] .archive-notes,
html[data-motion=full] .mission-intro,
html[data-motion=full] .mission-row,
html[data-motion=full] .actions-head,
html[data-motion=full] .transmit-copy,
html[data-motion=full] .partners-copy{position:relative;isolation:isolate}
html[data-motion=full] .scene-heading{position:absolute}
html[data-motion=full] .archive-notes{position:absolute}
html[data-motion=full] .mission-row,
html[data-motion=full] .actions-head,
html[data-motion=full] .mission-intro,
html[data-motion=full] .transmit-copy,
html[data-motion=full] .partners-copy{background:#171614df}
html[data-motion=full] .lead{color:var(--paper)}
.spatial-label{max-width:22rem;text-align:center;line-height:1.5;font-size:.75rem}
/* Projected captions read as museum cartels pinned beside each hung work. */
.spatial-label{max-width:15rem;text-align:left;line-height:1.45;padding:.55rem .75rem .6rem;background:#e6dfd2;color:#2a241d;letter-spacing:.02em;box-shadow:0 1px 0 #00000040,0 8px 24px -12px #000000a0}
html[data-motion=full] .button-light:hover{background:#d6bea0}
.journey-nav{min-height:4rem}
.motion-toggle{min-height:44px}
#journey-count{font-variant-numeric:tabular-nums}
@media(min-width:1000px){
 html[data-motion=full] .hero-copy h1{font-size:clamp(4rem,6.6vw,8rem)}
 html[data-motion=full] .editorial-copy h2{font-size:clamp(3rem,3.8vw,4.7rem)}
 html[data-motion=full] .editorial-copy .lead{font-size:1.4rem;margin:2rem 0 1.3rem}
 html[data-motion=full] .body-copy{font-size:1rem}
 html[data-motion=full] .editorial-grid{padding-top:8rem;padding-bottom:6rem}
}
@media(min-width:681px) and (max-width:999px){
 html[data-motion=full] .editorial-grid{gap:5vw;padding:7rem 6vw}
 html[data-motion=full] .editorial-copy .lead{font-size:1.2rem;margin:1.5rem 0 1rem}
 html[data-motion=full] .lili-sticky{padding:7rem 6vw;gap:5vw}
 html[data-motion=full] .lili-copy h2{font-size:5.5vw}
 html[data-motion=full] .lili-copy .lead{font-size:1.2rem}
}
@media(max-width:680px){
 html[data-motion=full] .hero-copy h1 em{white-space:nowrap}
 html[data-motion=full] .trace-sticky{padding-top:7rem}
 html[data-motion=full] .hero-copy .text-link{font-size:.875rem;padding:.5rem 0}
 html[data-motion=full] .hero-photo{top:59%}
 html[data-motion=full] .scene-heading{top:15%}
 html[data-motion=full] .scene-heading h2 em{display:block}
 html[data-motion=full] .archive-notes span{margin-bottom:.4rem}
 html[data-motion=full] .mission-row{min-height:48svh}
 html[data-motion=full] .transmit-sticky>.text-link{position:absolute;bottom:5rem;margin:0;background:var(--charcoal);font-size:.875rem}
 html[data-motion=full] .hero-copy::before{background:transparent}
 .spatial-label{max-width:68vw;font-size:.75rem}
 .journey-nav{padding: .45rem 6vw calc(.45rem + env(safe-area-inset-bottom));justify-content:flex-end;gap:1rem}
 .journey-nav a{min-width:0;max-width:50%;font-size:.75rem;gap:.5rem}
 #journey-label{max-width:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 #journey-count{font-size:.7rem;white-space:nowrap}
 .motion-toggle{left:6vw;bottom:calc(.45rem + env(safe-area-inset-bottom));font-size:.7rem;max-width:43%;text-align:left}
}
@media print{
 html[data-motion=full] [data-spatial-ready=true]{opacity:1!important}
 html[data-motion=full] .hero-copy::before,html[data-motion=full] .editorial-copy::before,
 html[data-motion=full] .lili-copy::before,html[data-motion=full] .contact-intro::before,
 html[data-motion=full] .contact-form::before{display:none}
}

/* Optional guided reading shares the chapter rail; manual scrolling pauses it. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 2rem}
.guided-start{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}
.guided-controls{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1.5rem;min-height:44px}
.guided-toggle{border:0;padding:.6rem 0;background:transparent;color:inherit;font-size:.8rem;white-space:nowrap;min-height:44px}
.guided-toggle span{margin-left:.5rem;color:#d6bea0}
.guided-toggle:hover{color:#d6bea0}
.guided-speed{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--muted-light)}
.guided-speed select{color:inherit;font:inherit;border:0;border-bottom:1px solid var(--line-light);border-radius:0;padding:.35rem .15rem;background:var(--charcoal);min-height:44px}
html[data-surface=light] .guided-speed{color:var(--muted-dark)}
html[data-surface=light] .guided-speed select{background:var(--paper);border-color:var(--line-dark)}
html[data-surface=light] .guided-toggle span,html[data-surface=light] .guided-toggle:hover{color:var(--oxblood)}
@media(max-width:999px){
 .journey-nav{min-height:7rem;padding-top:3.2rem;align-items:center}
 .guided-controls{top:.25rem;left:6vw;right:6vw;transform:none;justify-content:space-between;border-bottom:1px solid var(--line-light);gap:1rem}
 html[data-surface=light] .guided-controls{border-color:var(--line-dark)}
 .motion-toggle{bottom:calc(.45rem + env(safe-area-inset-bottom))}
 html[data-motion=full] .archive-notes{bottom:18%}
 html[data-motion=full] .transmit-sticky>.text-link{bottom:8rem}
 .footer{padding-bottom:10rem}
}
@media(max-width:680px){
 .hero-actions{gap:.5rem 1.4rem}
 .hero-actions .guided-start{display:none}
 .hero-actions .text-link{font-size:.875rem}
 .guided-toggle{font-size:.8rem}
 .guided-speed{font-size:.75rem}
 html[data-motion=full] .hero-photo{top:61%}
 html[data-motion=full] .archive-notes{bottom:18%;font-size:.8rem}
}
@media print{.guided-controls,.guided-start,#guided-status{display:none!important}}

/* The first photographic texture is rendered behind this opaque curtain. */
#startup-screen{position:fixed;inset:0;z-index:130;background:var(--charcoal);color:var(--paper);align-items:center;justify-content:center;flex-direction:column;gap:1.5rem}
#startup-screen img{width:178px;height:auto;filter:brightness(0) invert(.92)}
#startup-screen p{font-size:.85rem;color:#cdbda6;letter-spacing:.03em}
#startup-screen button{margin-top:1rem;padding:.6rem .3rem;border:0;border-bottom:1px solid var(--line-light);background:transparent;color:#bfb5a5;font-size:.75rem;min-height:44px}
#startup-screen button:hover{color:var(--paper);border-color:var(--paper)}
.startup-line{width:8rem;height:1px;background:var(--line-light);overflow:hidden}
.startup-line span{display:block;width:50%;height:100%;background:#b19572;animation:startup-pass 1.1s ease-in-out infinite}
@keyframes startup-pass{from{transform:translateX(-100%)}to{transform:translateX(300%)}}
@media(prefers-reduced-motion:reduce){.startup-line span{animation:none}}
@media print{#startup-screen{display:none!important}html[data-startup=loading] :is(main,.footer){visibility:visible!important}}
