@font-face{font-family:Cormorant;src:url('./assets/cormorant-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('./assets/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
.sound-control[hidden],.sound-panel[hidden]{display:none}
.sound-control{position:relative;display:flex;align-items:center;gap:5px;justify-self:end;pointer-events:auto;flex:0 0 auto;color:rgb(var(--masthead-ink,248 232 203))}
.sound-trigger,.volume-trigger{display:flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:0 5px;border:0;background:none;color:inherit;font:19px/1 Cormorant,Georgia,serif;cursor:pointer;text-shadow:0 1px 2px rgb(var(--masthead-rim,16 11 14)/.85);-webkit-text-stroke:.2px currentColor}
.sound-control>button svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.1;overflow:visible;filter:drop-shadow(0 1px 1px rgb(var(--masthead-rim,16 11 14)/.8))}
.volume-trigger svg{width:19px;height:19px}
.sound-trigger[data-sounding=true] .sound-slash{display:none}
.sound-panel{position:absolute;right:0;top:calc(100% + 10px);width:218px;padding:19px 21px 16px;color:#f7e8ce;background:#211615f2;border:1px solid #b996654d;box-shadow:0 12px 35px #100b0955;text-shadow:none;-webkit-text-stroke:0}
.sound-panel .score-title{font:italic 19px/1.2 Cormorant,Georgia,serif;margin:0 0 9px;color:#ebcfa4}
.sound-panel label{display:flex;justify-content:space-between;font:18px Cormorant,Georgia,serif;margin-top:15px}
.sound-panel output{font:17px Cormorant,Georgia,serif}
.sound-panel input{display:block;width:100%;height:44px;margin:0;accent-color:#c5a476;cursor:pointer}
.sound-status{font:15px/1.3 Cormorant,Georgia,serif;margin:0}
.sound-control :is(button,input):focus-visible{outline:1px solid currentColor;outline-offset:4px}
@media(max-width:850px),(max-aspect-ratio:4/5){.sound-word{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sound-trigger{padding:0;justify-content:center}.sound-panel{width:206px}}
@media(forced-colors:active){.sound-control{color:CanvasText}.sound-panel{background:Canvas;color:CanvasText;border-color:CanvasText}.sound-panel :is(.score-title,.music-toggle span){color:CanvasText}.sound-trigger svg{filter:none}}
:root{color-scheme:dark;--ink:#100f13;--bone:#e4dac6;--oxblood:#5e1720;--gold:#a48755;--muted:#b4a998;--gutter:clamp(24px,5vw,96px);font-family:Arial,sans-serif;color:var(--bone);background:var(--ink)}
*{box-sizing:border-box}html{scroll-padding-top:90px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:6px}button{font:inherit}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--bone);outline-offset:7px}::selection{background:var(--oxblood);color:var(--bone)}figure,blockquote,h1,h2,p{margin:0}em{font-weight:400}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,blockquote,.encounter-caption,.stage-caption,.resolution-caption{font-family:Cormorant,Georgia,serif;font-weight:400}h1,h2{text-wrap:balance}button[hidden]{display:none}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--bone);color:var(--ink);padding:14px}.skip-link:focus{top:15px}.masthead{position:absolute;z-index:20;top:0;left:0;width:100%;min-height:88px;padding:20px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e4dac61f;background:linear-gradient(#100f13d9,#100f1300)}.brand{font:36px/.8 Cormorant,Georgia,serif;letter-spacing:-.05em;text-decoration:none}.brand span{color:var(--gold)}nav{display:flex;gap:clamp(16px,3.5vw,56px)}nav a{text-decoration:none;font-size:11px;letter-spacing:.08em;padding:12px 0;color:var(--muted)}nav a[aria-current]{color:var(--bone)}nav a:hover{color:var(--bone)}nav a>span:first-child{font-family:Cormorant,Georgia,serif;font-size:15px;color:var(--gold);margin-right:5px}.eyebrow,.caption-index,.frame-note,.section-index p,.margin-note,.witness-attribution{font-size:10px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:var(--gold)}
/* The base layout is the complete unstacked story. Sticky choreography is an enhancement. */
.cinema{position:relative;scroll-margin-top:0}.cinema-stage{position:relative;isolation:isolate;overflow:hidden;background:var(--ink)}.painting{position:relative;aspect-ratio:1672/941;overflow:hidden}.encounter-painting{margin-top:220px}.hero-title{position:absolute;z-index:3;top:128px;left:var(--gutter);right:var(--gutter);text-align:center;pointer-events:none}h1{font-size:clamp(64px,7.5vw,142px);line-height:.85;letter-spacing:-.035em;margin:22px auto}h1 em{display:block}.hero-deck{font:17px/1.5 Cormorant,Georgia,serif;margin-top:24px;color:var(--muted)}.encounter-shade,.witness-shade{position:absolute;inset:0;pointer-events:none;z-index:2}.encounter-shade{background:linear-gradient(var(--ink),transparent 40%,transparent 75%,var(--ink));opacity:.65}.encounter-caption{position:relative;z-index:3;font-size:clamp(34px,4vw,68px);line-height:1.04;letter-spacing:-.02em;padding:52px var(--gutter) 18px}.begin-link{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;width:180px;font-size:11px;letter-spacing:.06em;text-decoration:none;margin:36px var(--gutter) 64px;padding-bottom:14px;border-bottom:1px solid var(--gold)}.begin-link span:last-child{font-size:20px}.frame-note{display:flex;justify-content:space-between;gap:24px;position:relative;padding:24px var(--gutter);color:var(--muted);z-index:4;font-size:9px}
.editorial{position:relative;padding:150px var(--gutter);display:grid;grid-template-columns:1fr 4fr;gap:6vw;background:var(--ink)}.section-index{padding-top:8px;display:flex;flex-direction:column;gap:28px;color:var(--muted)}.folio{font:italic 74px/.9 Cormorant,Georgia,serif;color:var(--gold)}.editorial-main{max-width:1100px}.editorial h2{font-size:clamp(56px,6.2vw,106px);line-height:.98;letter-spacing:-.025em;margin:28px 0 48px}.editorial h2 em{color:var(--muted)}.prose-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,88px);max-width:780px}.prose-columns p,.interlude-body p{font:15px/1.9 Arial,sans-serif;color:#c6bdad;max-width:36ch}.chapter-link{display:inline-flex;gap:52px;align-items:center;margin-top:50px;padding:12px 0;text-decoration:none;font-size:11px;letter-spacing:.06em;border-bottom:1px solid #a4875580}.chapter-link span{font-size:20px;color:var(--gold)}.margin-note{position:absolute;bottom:64px;left:var(--gutter);color:var(--gold)}.the-part{border-top:1px solid #a487552e}.interlude{background:#191316;border-top:1px solid #a4875533;border-bottom:1px solid #a4875533}.interlude h2{max-width:950px}.interlude-body{display:grid;grid-template-columns:40px 1fr 1fr;gap:32px;align-items:start;max-width:840px}.fine-rule{width:32px;height:1px;background:var(--gold);margin-top:13px}
.act-heading{position:relative;z-index:4;padding:64px var(--gutter) 24px}.act-heading h2{font-size:clamp(40px,4.8vw,76px);line-height:1.05;letter-spacing:-.02em;margin-top:10px}.mask{background:#0c0b0e}.mask .cinema-stage{background:radial-gradient(ellipse at 56% 42%,#292024 0%,#141116 45%,#0c0b0e 76%)}.mask-object{position:relative;width:min(76vw,800px);height:min(76vw,800px);margin:auto;isolation:isolate}.mask-poster{object-fit:contain;transition:none}.mask-object.world-ready .mask-poster{visibility:hidden}#mask-world{position:absolute;inset:0;z-index:1}#mask-world canvas{width:100%;height:100%;display:block}.mask-captions{position:relative;z-index:4;padding:40px var(--gutter) 64px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.stage-caption{font-size:clamp(30px,3.5vw,54px);line-height:1.03;letter-spacing:-.015em}.caption-index{display:block;font-family:Arial,sans-serif;color:var(--gold);font-size:9px;margin-bottom:20px}.witness .act-heading{background:var(--ink)}.witness-words{position:relative;z-index:3;padding:54px var(--gutter)}blockquote{font-size:clamp(38px,5.7vw,90px);line-height:1.05;letter-spacing:-.02em}.witness-attribution{margin-top:24px;color:var(--gold)}.resolution-caption{position:relative;z-index:3;font-size:clamp(34px,4.2vw,68px);line-height:1.1;padding:40px var(--gutter) 60px}.witness-shade{display:none}.ending{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:180px;padding-bottom:40px;gap:0}.ending h2{font-size:clamp(64px,7.6vw,128px);margin:40px 0}.ending h2 em{color:var(--bone)}.closing-line{font:24px/1.5 Cormorant,Georgia,serif;color:var(--muted)}.restart-link{font-size:11px;letter-spacing:.04em;margin-top:54px;padding:15px 0;border-bottom:1px solid var(--gold);text-decoration:none}.restart-link span{margin-left:42px;font-size:18px}.colophon{border-top:1px solid #a4875538;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;width:100%;margin-top:150px;padding-top:30px;text-align:left}.colophon p{font-size:10px;line-height:1.6;color:var(--muted)}.colophon>span:last-child{font:italic 28px Cormorant,Georgia,serif}
/* One scroll position gives one composition, in either direction. No timed loops. */
.motion-enabled .encounter{height:320svh}.motion-enabled .mask{height:300svh}.motion-enabled .witness{height:300svh}.motion-enabled .cinema-stage{position:sticky;top:0;height:100svh}.motion-enabled .painting{position:absolute;inset:0;aspect-ratio:auto;margin:0}.motion-enabled .encounter-painting img{transform:translate3d(var(--encounter-x,0%),var(--encounter-y,0%),0) scale(var(--encounter-scale,1));transform-origin:50% 57%;will-change:transform}.motion-enabled .hero-title{top:17svh;opacity:var(--title-opacity,1);transform:translateY(var(--title-y,0px))}.motion-enabled .encounter-caption{position:absolute;left:0;bottom:16svh;padding-top:0;padding-bottom:0;opacity:var(--encounter-copy,0);max-width:80%}.motion-enabled .encounter-shade{opacity:1;background:linear-gradient(#100f13a6 0%,#100f134d 23%,transparent 52%,#100f1380 84%,var(--ink) 100%)}.motion-enabled .begin-link{position:absolute;bottom:68px;left:var(--gutter);margin:0;opacity:var(--begin-opacity,1)}.motion-enabled .frame-note{position:absolute;bottom:0;left:0;width:100%;padding-bottom:24px}.motion-enabled .editorial{min-height:145svh;align-content:center}.motion-enabled .interlude{min-height:135svh}.motion-enabled .ending{min-height:130svh;justify-content:center}.motion-enabled .ending .colophon{margin-top:100px}.motion-enabled .act-heading{position:absolute;top:0;left:0;padding-top:52px}.motion-enabled .mask-object{position:absolute;width:min(78vw,95svh);height:min(78vw,95svh);right:4vw;top:7svh;margin:0}.motion-enabled .mask-captions{position:absolute;inset:0;padding:0;display:block;pointer-events:none}.motion-enabled .stage-caption{position:absolute;left:var(--gutter);top:55%;max-width:34vw;opacity:0}.motion-enabled .stage-caption[data-beat="0"]{opacity:var(--mask-copy-a,1)}.motion-enabled .stage-caption[data-beat="1"]{opacity:var(--mask-copy-b,0)}.motion-enabled .stage-caption[data-beat="2"]{opacity:var(--mask-copy-c,0)}.motion-enabled .witness .act-heading{background:none;opacity:var(--witness-heading,1)}.motion-enabled .witness-painting img{transform:scale(var(--witness-scale,1));transform-origin:54% 48%;will-change:transform}.motion-enabled .unmasked-painting{opacity:var(--resolution,0)}.motion-enabled .unmasked-painting img{transform:scale(var(--resolution-scale,1.045));transform-origin:50% 48%}.motion-enabled .witness-shade{display:block;background:linear-gradient(#100f1380,transparent 40%,#100f1370 70%,#100f13d9)}.motion-enabled .witness-words{position:absolute;left:0;bottom:15svh;opacity:var(--witness-copy,1);padding-top:0;padding-bottom:0}.motion-enabled .resolution-caption{position:absolute;left:0;bottom:15svh;opacity:var(--resolution-copy,0);padding-top:0;padding-bottom:0}
@media(min-width:1900px){.editorial-main{max-width:1400px}.hero-title h1{font-size:160px}.prose-columns{max-width:1000px}.prose-columns p,.interlude-body p{font-size:18px}.mask .act-heading{max-width:45vw}}
@media(max-width:850px),(max-aspect-ratio:4/5){:root{--gutter:24px}.masthead{min-height:78px;padding-top:18px;padding-bottom:18px;gap:12px}.brand{font-size:31px}nav{gap:13px}.nav-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}nav a>span:first-child{font-size:16px;margin:0}.hero-title{top:116px}h1{font-size:clamp(58px,13vw,110px);margin:20px 0}.hero-deck{font-size:16px;margin-top:22px}.encounter-painting{margin-top:300px}.encounter-caption{font-size:38px}.frame-note{font-size:8px;letter-spacing:.12em}.editorial{padding:100px var(--gutter);grid-template-columns:1fr;gap:36px}.section-index{flex-direction:row;align-items:center;gap:20px;padding:0}.folio{font-size:48px}.section-index p{font-size:9px}.editorial h2{font-size:clamp(43px,10.5vw,76px);margin:26px 0 34px}.prose-columns{grid-template-columns:1fr;gap:22px;max-width:550px}.prose-columns p,.interlude-body p{font-size:14px;line-height:1.85;max-width:42ch}.margin-note{position:static;grid-column:1;margin-top:16px}.interlude-body{grid-template-columns:1fr;gap:22px}.fine-rule{margin:0 0 7px}.chapter-link{margin-top:30px}.act-heading{padding-top:45px}.act-heading h2{font-size:44px;max-width:80vw}.mask-captions{grid-template-columns:1fr;gap:36px;padding-top:24px}.stage-caption{font-size:35px}.caption-index{margin-bottom:12px}.mask-object{width:100%;height:90vw}.witness-words{padding-top:36px;padding-bottom:36px}blockquote{font-size:clamp(34px,8.2vw,66px)}.resolution-caption{font-size:38px}.ending{padding-top:100px;padding-bottom:32px}.ending h2{font-size:clamp(48px,12vw,92px)}.closing-line{font-size:22px}.colophon{margin-top:100px;align-items:flex-start;flex-wrap:wrap;gap:24px}.colophon p{max-width:23ch}.colophon>span:last-child{margin-left:auto}
 .motion-enabled .encounter{height:245svh}.motion-enabled .mask{height:245svh}.motion-enabled .witness{height:255svh}.motion-enabled .editorial{min-height:110svh}.motion-enabled .interlude{min-height:100svh}.motion-enabled .ending{min-height:105svh}.motion-enabled .hero-title{top:15svh}.motion-enabled .encounter-painting{inset:28svh 0 8svh}.motion-enabled .painting img{object-fit:contain}.motion-enabled .encounter-caption{bottom:17svh;font-size:clamp(32px,8vw,60px);max-width:100%;text-shadow:0 2px 20px #100f13}.motion-enabled .encounter-shade{background:linear-gradient(transparent 60%,#100f13a6 83%,var(--ink))}.motion-enabled .begin-link{bottom:66px;width:160px}.motion-enabled .mask-object{width:100%;height:61svh;top:19svh;right:0}.motion-enabled .mask .act-heading,.motion-enabled .witness .act-heading{padding-top:40px}.motion-enabled .mask-captions{top:auto;bottom:13svh;height:120px}.motion-enabled .stage-caption{top:0;max-width:calc(100% - 48px);font-size:35px}.motion-enabled .witness-painting,.motion-enabled .unmasked-painting{inset:14svh 0 14svh}.motion-enabled .witness-words,.motion-enabled .resolution-caption{bottom:13svh;text-shadow:0 2px 20px #100f13}.motion-enabled .witness-shade{background:linear-gradient(transparent 55%,#100f1399 78%,var(--ink))}.motion-enabled .ending .colophon{margin-top:90px}
}
.masthead{position:fixed}
.hero-title h1{max-width:58vw}
.motion-enabled .act-heading,.motion-enabled .mask .act-heading,.motion-enabled .witness .act-heading{padding-top:max(110px,11svh)}
.motion-enabled .begin-link:focus-visible{opacity:1}
html:not(.motion-enabled) .encounter .cinema-stage{display:flex;flex-direction:column;padding-top:130px}
html:not(.motion-enabled) .hero-title{position:relative;top:auto;left:auto;right:auto;order:-1;padding:0 var(--gutter) 40px}
html:not(.motion-enabled) .encounter-painting{margin-top:0}
html:not(.motion-enabled) .encounter-shade{display:none}
@media(max-width:850px),(max-aspect-ratio:4/5){.hero-title h1{max-width:none}.motion-enabled .hero-title{padding:0 8px}.motion-enabled .mask-object{top:23svh;height:53svh}}
.media-surface{position:absolute;inset:0}
.media-surface [data-role="cinema-film"]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.media-surface [data-role="cinema-poster"]{opacity:1}
.film-ready [data-role="cinema-poster"]{opacity:0}
.film-ready [data-role="cinema-film"]{opacity:1}
.audience-caption{font:400 clamp(38px,5.7vw,90px)/1.03 Cormorant,Georgia,serif;padding:54px var(--gutter);position:relative;z-index:3;letter-spacing:-.02em}
.audience-shade{display:none}
.remainder{border-bottom:1px solid #a4875533}
:root{--film-scroll-rate:1.8}
.motion-enabled .encounter{height:calc(100svh + 340svh / var(--film-scroll-rate))}.motion-enabled .mask{height:225svh}.motion-enabled .audience{height:calc(100svh + 320svh / var(--film-scroll-rate))}.motion-enabled .witness{height:calc(100svh + 500svh / var(--film-scroll-rate))}
.motion-enabled .editorial,.motion-enabled .interlude{min-height:100svh}.motion-enabled .ending{min-height:120svh}
.motion-enabled .encounter-painting img,.motion-enabled .witness-painting img{transform:none;will-change:auto}
.motion-enabled .encounter-painting .media-surface{transform:translate3d(var(--encounter-x,0%),var(--encounter-y,0%),0) scale(var(--encounter-scale,1));transform-origin:50% 57%;will-change:transform}
.motion-enabled .witness-painting .media-surface{transform:scale(var(--witness-scale,1));transform-origin:54% 48%;will-change:transform}
.motion-enabled .audience-painting .media-surface{transform:scale(var(--audience-scale,1));transform-origin:48% 48%;will-change:transform}
.motion-enabled .audience .act-heading{opacity:var(--audience-heading,1)}
.motion-enabled .audience-caption{position:absolute;left:0;bottom:14svh;opacity:var(--audience-copy,0);padding-top:0;padding-bottom:0}
.motion-enabled .audience-shade{display:block;position:absolute;inset:0;z-index:2;background:linear-gradient(#100f1380,transparent 35%,transparent 60%,#100f13cc)}
.motion-enabled .witness-words blockquote{font-size:clamp(36px,4.2vw,68px);max-width:46vw}
@media(max-width:850px),(max-aspect-ratio:4/5){
 nav{gap:4px}nav a{min-width:24px;min-height:44px;text-align:center}
 .motion-enabled .encounter{height:calc(100svh + 240svh / var(--film-scroll-rate))}.motion-enabled .mask{height:180svh}.motion-enabled .audience{height:calc(100svh + 220svh / var(--film-scroll-rate))}.motion-enabled .witness{height:calc(100svh + 330svh / var(--film-scroll-rate))}
 .motion-enabled .editorial,.motion-enabled .interlude{min-height:90svh}.motion-enabled .ending{min-height:105svh}
 .media-surface [data-role="cinema-film"]{object-fit:contain}
 .motion-enabled .audience-painting{inset:17svh 0 14svh}
 .audience-caption{font-size:clamp(36px,9vw,64px)}
 .motion-enabled .audience-caption{bottom:13svh;text-shadow:0 2px 20px #100f13}
 .motion-enabled .witness-words blockquote{font-size:clamp(30px,7.2vw,58px);max-width:calc(100vw - 48px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Theatrical typography: a fine gold rule, a deliberate entrance, then stillness. */
.editorial-main>.eyebrow::before{content:"";display:inline-block;width:28px;height:1px;margin-right:14px;margin-bottom:3px;background:var(--gold);vertical-align:middle}
.masthead nav a{position:relative}
.masthead nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left center}
.masthead nav a[aria-current]::after,.masthead nav a:focus-visible::after{transform:scaleX(1)}
.begin-link,.chapter-link,.restart-link{position:relative}
.begin-link::after,.chapter-link::after,.restart-link::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--bone);transform:scaleX(0);transform-origin:left center}
.begin-link:focus-visible::after,.chapter-link:focus-visible::after,.restart-link:focus-visible::after{transform:scaleX(1)}
.begin-link>span:last-child,.chapter-link>span:last-child,.restart-link>span:last-child{display:inline-block}

@media(hover:hover){
 .masthead nav a:hover::after,.begin-link:hover::after,.chapter-link:hover::after,.restart-link:hover::after{transform:scaleX(1)}

 .masthead .brand:hover{color:var(--bone)}
}
@media(prefers-reduced-motion:no-preference){
 .type-motion-active .masthead nav a{transition:none}
 .type-motion-active .masthead nav a::after{transition:transform 400ms cubic-bezier(.2,.65,.25,1)}
 .type-motion-active :is(.begin-link,.chapter-link,.restart-link)::after{transition:transform 480ms cubic-bezier(.2,.65,.25,1)}
 .type-motion-active :is(.begin-link,.chapter-link,.restart-link)>span:last-child{transition:transform 360ms cubic-bezier(.2,.65,.25,1),color 240ms ease}

 .type-motion-active .begin-link:focus-visible>span:last-child{transform:translateY(3px)}
 .type-motion-active .chapter-link:focus-visible>span:last-child{transform:translate(3px,3px);color:var(--bone)}
 .type-motion-active .restart-link:focus-visible>span:last-child{transform:translate(3px,-3px);color:var(--bone)}
 @media(hover:hover){
  .type-motion-active .begin-link:hover>span:last-child{transform:translateY(3px)}
  .type-motion-active .chapter-link:hover>span:last-child{transform:translate(3px,3px);color:var(--bone)}
  .type-motion-active .restart-link:hover>span:last-child{transform:translate(3px,-3px);color:var(--bone)}
 }
}

/* The paintings carry their own shadows. Light touches only the local lettering. */
.painting img,.painting [data-role="cinema-film"]{filter:brightness(1.14)}
.encounter-shade,.witness-shade,.audience-shade,
.motion-enabled .encounter-shade,.motion-enabled .witness-shade,.motion-enabled .audience-shade{display:none;background:none}
.masthead{background:linear-gradient(#100f1399,transparent)}
.hero-title h1,.hero-deck,.act-heading h2,.frame-note{text-shadow:0 2px 16px #100f1370}
.motion-enabled :is(.encounter-caption,.audience-caption,.witness-words,.resolution-caption){text-shadow:0 2px 14px #100f1380}
.motion-enabled :is(.encounter-caption,.audience-caption,.witness-words,.resolution-caption)::before{content:"";position:absolute;inset:-18px -8px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 38% 50%,#100f132e,transparent 74%)}

.portfolio-credit{display:block;width:fit-content;margin-top:18px;padding:5px 0;font-size:12px;line-height:1.5;color:var(--bone);text-decoration-color:#a4875570}
.portfolio-credit:hover{color:#fff5de;text-decoration-color:var(--gold)}
/* A small playbill, a torn admission, and the cord that raises the curtain. */
.playbill-nav{gap:clamp(14px,2.8vw,42px);align-items:center}
.playbill-nav a{display:flex;align-items:center;gap:12px;padding:4px 0 7px;min-height:44px}
.playbill-nav .act-number{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:22px;margin:0;font:22px/.85 Cormorant,Georgia,serif;color:var(--gold)}
.playbill-nav .act-number small{font:7px/1 Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.playbill-nav a[aria-current] .act-number{color:var(--bone)}
.masthead .playbill-nav a::after{left:0;right:auto;bottom:0;width:22px;background:var(--gold)}
.begin-link,.motion-enabled .begin-link{width:232px;min-height:68px;padding:0 25px 0 12px;border:0;gap:15px;justify-content:flex-start;background:#100f131a;color:var(--bone)}
.begin-link::after,.chapter-link::after,.restart-link::after{display:none}
.begin-link .admission-stub{flex:0 0 44px;text-align:center;font:italic 29px/1 Cormorant,Georgia,serif;color:var(--gold)}
.begin-link .admission-copy{display:flex;flex-direction:column;gap:7px;text-align:left;font:12px/1.1 Arial,sans-serif;letter-spacing:.025em}
.admission-copy small{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.admission-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:var(--gold);stroke-width:1}
.ticket-perforation{stroke-dasharray:2 4;opacity:.6}
.chapter-link{gap:16px;border:0;padding:8px 0;min-height:48px}
.act-seal{flex:0 0 48px;width:48px;height:48px;stroke:var(--gold);stroke-width:.8;pointer-events:none}
.restart-link{display:inline-flex;align-items:center;gap:16px;min-height:80px;border:0;padding:4px 8px 4px 0;text-align:left;letter-spacing:.04em}
.curtain-pull{width:28px;height:76px;flex:0 0 28px;stroke:var(--gold);stroke-width:1;overflow:visible;pointer-events:none}
.pull-brass{fill:#a487551a}.pull-cord{transform-origin:14px 1px}
.begin-link:focus-visible .admission-outline,.chapter-link:focus-visible .act-seal,.restart-link:focus-visible .curtain-pull{stroke:var(--bone)}
@media(hover:hover){
 .begin-link:hover .admission-outline,.chapter-link:hover .act-seal,.restart-link:hover .curtain-pull{stroke:var(--bone)}
}

/* The object is an intimate prop, with air around its silhouette. */
.mask-object{width:min(65vw,550px);height:min(65vw,550px)}
.motion-enabled .mask-object{width:min(54vw,62svh);height:min(54vw,62svh);right:10vw;top:25svh}
.begin-link .admission-copy .admission-label{font-size:12px;letter-spacing:.025em;white-space:nowrap}
.guided-opening .begin-link{opacity:1;pointer-events:auto}
.guided-opening .begin-link .admission-outline{stroke:#e8dcc4}
.guided-opening .begin-link{background:#25181de0}
.scene-curtain{display:none;pointer-events:none}
.motion-enabled .scene-curtain{display:flex;position:absolute;inset:0;z-index:6}
.scene-curtain span{width:50%;height:100%;background:repeating-linear-gradient(91deg,#240a10 0,#592027 6%,#391017 12%,#631d29 17%,#2d0c14 23%);box-shadow:inset -14px 0 30px #16050c80;transform:translateX(calc(-100% * var(--curtain-open,1)));will-change:transform}
.scene-curtain span:last-child{background:repeating-linear-gradient(89deg,#240a10 0,#592027 6%,#391017 12%,#631d29 17%,#2d0c14 23%);transform:translateX(calc(100% * var(--curtain-open,1)));box-shadow:inset 14px 0 30px #16050c80}
/* Replay uses the final act's velvet folds, covering the reset between scenes. */
.curtain-replay{overscroll-behavior:none}
.motion-enabled .replay-curtain{position:fixed;inset:0;width:100vw;z-index:100;overflow:hidden;pointer-events:auto;touch-action:none}
.replay-curtain span{flex-shrink:0;width:calc(50% + 1px)}






.reading-line{display:block}
.motion-enabled .reading-line{transform:translateX(var(--reading-shift,0px));clip-path:inset(0 var(--reading-clip,0%) 0 0)}
.motion-enabled .reading-line:nth-child(even){transform:translateX(calc(-1 * var(--reading-shift,0px)));clip-path:inset(0 0 0 var(--reading-clip,0%))}
.motion-enabled .reading-word{opacity:var(--word-ink,1)}
.editorial:focus-within .reading-word{opacity:1}
.editorial:focus-within .reading-line{clip-path:none}
.motion-enabled .mask .act-heading{max-width:72vw}
.motion-enabled .mask .act-heading h2{font-size:clamp(54px,5.8vw,100px)}
.motion-enabled .mask .stage-caption{font-size:clamp(48px,5.1vw,84px);max-width:43vw;top:47%;padding-bottom:.24em;clip-path:none}
.motion-enabled .mask .stage-caption[data-beat="0"]{transform:translateY(var(--mask-caption-a-y,0px))}
.motion-enabled .mask .stage-caption[data-beat="1"]{transform:translateY(var(--mask-caption-b-y,0px))}
.motion-enabled .mask .stage-caption[data-beat="2"]{transform:translateY(var(--mask-caption-c-y,0px))}
@media(max-width:850px),(max-aspect-ratio:4/5){
 .motion-enabled .mask-object{width:100%;height:42svh;top:29svh;right:0}
 .begin-link .admission-copy .admission-label{font-size:11px}
 .motion-enabled .reading-line{transform:translateX(calc(var(--reading-shift,0px) * .4))}
 .motion-enabled .reading-line:nth-child(even){transform:translateX(calc(var(--reading-shift,0px) * -.4))}
 .motion-enabled .mask .act-heading{max-width:100%}
 .motion-enabled .mask .act-heading h2{font-size:clamp(42px,10.6vw,70px)}
 .motion-enabled .mask .stage-caption{top:0;font-size:clamp(39px,10vw,70px);max-width:calc(100% - 48px)}
}
@media(prefers-reduced-motion:no-preference){
 .type-motion-active :is(.admission-outline,.act-seal,.curtain-pull){transition:stroke 250ms ease}
 .type-motion-active .pull-brass{transition:transform 420ms cubic-bezier(.2,.65,.25,1)}
 .type-motion-active .pull-cord{transition:transform 420ms cubic-bezier(.2,.65,.25,1)}
 .type-motion-active .restart-link:focus-visible .pull-brass{transform:translateY(3px)}
 .type-motion-active .restart-link:focus-visible .pull-cord{transform:scaleY(1.068)}
 @media(hover:hover){
  .type-motion-active .restart-link:hover .pull-brass{transform:translateY(3px)}
  .type-motion-active .restart-link:hover .pull-cord{transform:scaleY(1.068)}
 }
}

/* The admission is a visible paper ticket. */









.begin-link,.motion-enabled .begin-link,.guided-opening .begin-link{background:transparent;color:#352822}
.admission-outline>path:first-child{fill:#e8dcc4ed;stroke:#b3905c}
.admission-outline{z-index:-1}
.begin-link .admission-stub,.admission-copy small{color:#705234}
.begin-link .admission-copy .admission-label{font-size:15px}
.begin-link[hidden]{display:none}
.guided-continuation{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.motion-enabled:is([data-guided-state="revealing"],[data-guided-state="complete"]) .encounter-caption{opacity:0}
.motion-enabled .frame-note{opacity:var(--frame-note-opacity,1)}
.motion-enabled .remainder .reading-line{transform:scale(var(--reading-zoom,1));transform-origin:left center}
.motion-enabled .ending .reading-line{transform:translateX(calc(var(--reading-shift,0px) * .2)) scale(var(--reading-zoom,1));transform-origin:center}
.motion-enabled .ending .reading-line:nth-child(even){transform:translateX(calc(var(--reading-shift,0px) * -.2)) scale(var(--reading-zoom,1))}
@media(max-width:850px),(max-aspect-ratio:4/5){


 .begin-link .admission-copy .admission-label{font-size:13px}
}
@media(prefers-reduced-motion:no-preference){

 .type-motion-active .begin-link .admission-outline>path:first-child{transition:fill 220ms ease}
}
@media(max-width:850px),(max-aspect-ratio:4/5){
 .playbill-nav{gap:5px}.playbill-nav a{gap:0;padding:4px 0 6px;min-width:25px}
 .playbill-nav .act-number{font-size:20px}.playbill-nav .act-number small{font-size:6px}
 .begin-link,.motion-enabled .begin-link{width:210px;min-height:62px;padding-left:9px;gap:13px}
 .begin-link .admission-stub{flex-basis:40px}.begin-link .admission-copy{font-size:11px}
 .motion-enabled .begin-link{bottom:60px}
}

/* The playbill floats over the painting, with contrast only around its letters. */
html{scroll-padding-top:70px}
.masthead{display:grid;grid-template-columns:1fr auto 1fr;min-height:66px;padding-top:11px;padding-bottom:11px;background:none;border:0;color:rgb(var(--masthead-ink,248 232 203));text-shadow:0 1px 2px rgb(var(--masthead-rim,16 11 14)/.85),0 0 7px rgb(var(--masthead-rim,16 11 14)/.55);-webkit-text-stroke:.2px currentColor;pointer-events:none}
.masthead a{pointer-events:auto;color:rgb(var(--masthead-ink,248 232 203));-webkit-text-stroke:.2px currentColor;text-shadow:0 1px 2px rgb(var(--masthead-rim,16 11 14)/.85),0 0 7px rgb(var(--masthead-rim,16 11 14)/.55)}
.masthead .brand{justify-self:start}.masthead .playbill-nav{grid-column:2}
.masthead .brand{font-size:32px;min-height:44px;display:flex;align-items:center}
.masthead .brand span{color:inherit}
.masthead .playbill-nav a{font:400 20px/1.1 Cormorant,Georgia,serif;letter-spacing:.015em;color:rgb(var(--masthead-ink,248 232 203));gap:13px;padding:4px 0 6px;min-height:44px}
.masthead .playbill-nav .act-number{font-size:25px;color:inherit;min-width:26px}
.masthead .playbill-nav .act-number small{font:400 9px/1 Cormorant,Georgia,serif;letter-spacing:.12em}
.masthead .playbill-nav a[aria-current]{color:rgb(var(--masthead-ink,248 232 203))}
.masthead .playbill-nav a[aria-current] .act-number{color:inherit}
.masthead .playbill-nav a::after{background:currentColor;width:26px}

.admission-copy .admission-label{font-family:Cormorant,Georgia,serif}
.begin-link .admission-copy .admission-label{font-size:21px}
.chapter-link,.restart-link{font-family:Cormorant,Georgia,serif;font-size:19px}
/* Small stage inscriptions use clear ivory ink, with separation at the glyphs. */
.frame-note,.witness-attribution,.caption-index{color:#f2dfbb;font-size:11px;letter-spacing:.11em;text-shadow:0 1px 2px #170d09,0 0 5px #170d09;-webkit-text-stroke:.15px currentColor}
.hero-title .eyebrow{color:#ead4a9;font-size:11px;letter-spacing:.14em;text-shadow:0 1px 2px #170d09,0 0 5px #170d09}
.hero-deck{color:#eee0c9;font-size:19px;text-shadow:0 1px 2px #170d09}
.admission-copy small{color:#4f3823}
@media(max-width:850px),(max-aspect-ratio:4/5){
 .masthead{display:flex;gap:10px;min-height:59px;padding-top:7.5px;padding-bottom:7.5px}
 .masthead .playbill-nav a{gap:0}
 .masthead .playbill-nav .act-number{font-size:23px;min-width:22px}

 .begin-link .admission-copy .admission-label{font-size:20px}
}
@media(max-width:420px){.masthead{padding-left:18px;padding-right:18px;gap:8px}.playbill-nav{gap:4px}}
@media(max-width:400px){.masthead{padding-inline:16px;gap:6px}.masthead .brand{font-size:30px}.masthead .playbill-nav{gap:3px}.masthead .playbill-nav a{min-width:24px}.sound-control{gap:0}}

/* A complete painted theatre gives the prop its place in the story. */
.mask-theatre{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.mask-stage-paint{position:absolute;inset:-2%;background-position:center;background-size:cover;transform:scale(calc(1.025 + var(--mask-identity,0) * .025));transform-origin:62% 58%}
.mask.art-ready{--mask-stage-art:url('./assets/after-applause-mask-stage-backdrop-v3.webp')}
.mask.art-ready .mask-stage-paint{background-image:var(--mask-stage-art)}
.mask-light{position:absolute;inset:6% 0 5% 38%;background:radial-gradient(ellipse at 58% 55%,#b783414a,#90693921 36%,transparent 68%);transform:scaleX(calc(1 - var(--mask-identity,0) * .25));transform-origin:60% center}
.mask-poster{mix-blend-mode:screen}
.mask-object{filter:drop-shadow(10px 22px 14px #0007)}
.motion-enabled .mask .act-heading{opacity:calc(1 - var(--mask-identity,0) * .85);transform:translateY(calc(var(--mask-identity,0) * -24px))}
.motion-enabled .mask-object{top:25svh}
.motion-enabled .witness-words blockquote{max-width:49vw}
.witness-attribution{max-width:45ch;line-height:1.7}
@media(max-width:850px),(max-aspect-ratio:4/5){
 .mask-stage-paint{background-position:52% center}
 .mask.art-ready{--mask-stage-art:url('./assets/after-applause-mask-stage-backdrop-portrait-v3.webp')}
 .motion-enabled .mask-object{top:29svh}
 .motion-enabled .mask-captions{bottom:20svh}
 .motion-enabled .witness-words blockquote{max-width:calc(100vw - 48px)}
}
/* Portrait films retain the complete cast inside the same painted theatre. */
@media(max-width:850px),(max-aspect-ratio:4/5){
 .motion-enabled .cinema:not(.mask) .cinema-stage::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:center/cover no-repeat;transition:opacity 600ms ease}
 .motion-enabled .cinema:not(.mask).art-ready .cinema-stage::before{background-image:linear-gradient(#100f1350,#100f1366),url('./assets/after-applause-mask-stage-backdrop-portrait-v3.webp');opacity:1}
 .motion-enabled .cinema:not(.mask).art-ready .painting{mask-image:linear-gradient(transparent,#000 18px,#000 calc(100% - 18px),transparent)}
 .motion-enabled .cinema:not(.mask).art-ready .painting .media-surface{mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent)}
 /* An empty painted theatre surrounds the cast without duplicating its figures. */
 .motion-enabled .cinema.encounter .cinema-stage::before,.motion-enabled .cinema.encounter.art-ready .cinema-stage::before{background-image:linear-gradient(#100f1366,#100f13a6),url('./assets/after-applause-opening-theatre-portrait.webp');opacity:1}
 .motion-enabled .encounter-painting{inset:auto 0;top:61svh;aspect-ratio:1672/941;height:auto;transform:translateY(-50%);mask-image:linear-gradient(transparent,#000 18px,#000 calc(100% - 18px),transparent)}
}
/* A short landscape viewport places words beside the prop instead of over it. */
@media(max-height:600px) and (min-aspect-ratio:1){
 .motion-enabled .hero-title{top:14svh}
 .hero-title h1{font-size:64px;margin:16px auto;max-width:60vw}
 .hero-deck{font-size:16px;margin-top:12px}
 .motion-enabled .cinema:not(.mask) .painting{inset:0;aspect-ratio:auto;transform:none}
 .motion-enabled .cinema:not(.mask).art-ready .cinema-stage::before{background-image:linear-gradient(#100f1350,#100f1366),url('./assets/after-applause-mask-stage-backdrop-v3.webp')}
 .motion-enabled .mask-object{width:45vw;height:66svh;top:21svh;right:3vw}
 .mask.art-ready{--mask-stage-art:url('./assets/after-applause-mask-stage-backdrop-v3.webp')}
 .motion-enabled .mask-captions{inset:0;height:auto}
 .motion-enabled .mask .stage-caption{top:56%;max-width:43vw;font-size:clamp(28px,4vw,36px)}
 .motion-enabled .mask .act-heading,.motion-enabled .audience .act-heading,.motion-enabled .witness .act-heading{padding-top:74px;max-width:66%}
 .motion-enabled .mask .act-heading h2{font-size:clamp(32px,4.8vw,42px)}
 .motion-enabled .witness-words blockquote{font-size:32px;max-width:44vw}
}
@media(forced-colors:active){.masthead{color:CanvasText;background:Canvas;text-shadow:none;-webkit-text-stroke:0}.masthead .playbill-nav a[aria-current]{color:LinkText}}

/* Native pointers keep immediate tracking and an accurate click hotspot. */
@media(hover:hover) and (pointer:fine) and (forced-colors:none){
 body{cursor:url('./assets/anima-cursor-arrow.svg') 4 3,default}
 :is(p,h1,h2,blockquote,.stage-caption){cursor:url('./assets/anima-cursor-text.svg') 16 16,text}
 body :is(a,button,input[type="range"]),body :is(a,button) *{cursor:url('./assets/anima-cursor-hand.svg') 12 3,pointer}
 body :is(input:not([type="range"]),textarea,[contenteditable="true"]){cursor:url('./assets/anima-cursor-text.svg') 16 16,text}
 body :is(button:disabled,[aria-disabled="true"]){cursor:not-allowed}
}
@media (max-width:850px) and (min-height:481px),(max-aspect-ratio:4/5){
 .motion-enabled .cinema:not(.encounter):not(.mask).art-ready .painting{inset:auto 0;top:50svh;aspect-ratio:1672/941;height:auto;transform:translateY(-50%);mask-image:linear-gradient(transparent,#000 28px,#000 calc(100% - 28px),transparent)}
}
