@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

:root{color-scheme:dark;--red:#a20b12;--hot:#e0151d;--white:#e8e4dc;--ink:#020303;--ease:cubic-bezier(.18,.76,.22,1);font-family:Inter,Arial,sans-serif}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;background:#020303;color:var(--white);overflow:hidden}
button,a{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
a{text-decoration:none}
.skip{position:fixed;z-index:100;left:1rem;top:1rem;padding:.7rem 1rem;background:#fff;color:#000;transform:translateY(-160%)}
.skip:focus{transform:none}

.poster{--px:0;--py:0;position:relative;width:100%;height:100%;isolation:isolate;background:#020303;overflow:hidden}
.poster-world,.cara-depth,.cara-fallback,.persona,.poster-grade,.projector-beam,.projector-film,.projector-dust,.scene-fragments,.projected-quote{position:absolute;inset:0}
.poster-world{z-index:-2;transition:filter 1s var(--ease)}
.cara-depth{width:100%;height:100%;opacity:0;transition:opacity 1.2s ease}
.has-webgl .cara-depth{opacity:1}
.cara-fallback{background:url('../assets/optimised/reality.webp') center/cover no-repeat;filter:brightness(.82) saturate(.86) contrast(1.08);transition:opacity .8s ease}
.has-webgl .cara-fallback{opacity:0}
.persona{opacity:0;background-position:center;background-size:cover;background-repeat:no-repeat;transition:opacity .8s var(--ease),transform 1.2s var(--ease),filter 1.2s var(--ease);mix-blend-mode:screen;transform:scale(1.05)}
.persona-nightmare{background-image:linear-gradient(90deg,transparent 2%,rgba(0,0,0,.15) 28%,transparent 76%),url('../assets/optimised/00-01-45-green-rupture.webp');filter:contrast(1.3) saturate(.72) hue-rotate(8deg);mask-image:radial-gradient(ellipse 48% 76% at 51% 44%,#000 0 36%,transparent 75%)}
.persona-queen{background-image:url('../assets/optimised/01-19-45-queen-profile.webp');background-position:58% center;filter:contrast(1.35) saturate(.8) sepia(.15);mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent 5%,#000 52%,#000 82%,transparent 100%)}
.merch-object{position:absolute;z-index:2;right:18%;top:23%;width:min(36vw,580px);opacity:0;transform:perspective(1000px) translate3d(10vw,3vh,90px) rotateY(-24deg) rotateZ(4deg) scale(.78);transform-origin:70% 50%;filter:drop-shadow(-4vw 4vw 5vw rgba(0,0,0,.92));transition:opacity .55s ease,transform 1.15s var(--ease),filter 1s ease;pointer-events:none}
.merch-object:before{content:"";position:absolute;z-index:-1;inset:4% 1%;border-radius:44%;background:radial-gradient(ellipse at 57% 43%,rgba(131,170,166,.2),rgba(135,8,14,.18) 38%,transparent 70%);filter:blur(34px);opacity:.9;transform:translateX(-3%)}
.merch-object img{display:block;width:100%;height:auto;filter:brightness(1.22) contrast(1.06) drop-shadow(0 0 1px rgba(220,229,220,.52)) drop-shadow(-12px 9px 24px rgba(154,8,13,.38))}
.merch-object span{position:absolute;right:7%;bottom:10%;font-size:.48rem;letter-spacing:.19em;color:#aab5b2;text-shadow:0 2px 10px #000;transform:rotate(-2deg)}
.merch-object span b{color:#e7e4db;font-weight:500}
.credit-preview{position:absolute;z-index:1;inset:23% 7% 15% 28%;opacity:0;transform:translateX(5vw);transition:opacity .5s ease,transform 1s var(--ease);pointer-events:none}
.credit-portraits{position:absolute;inset:0 0 0 31%;display:flex;justify-content:flex-end;gap:.7vw;perspective:900px;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 80%,transparent)}
.credit-portraits i{position:relative;width:28%;height:100%;background-position:center;background-size:cover;filter:grayscale(.72) contrast(1.35) brightness(.62);box-shadow:0 2vw 5vw #000;transform:rotateY(-13deg) translateY(5%);transition:transform 1.05s var(--ease),filter .8s ease}
.credit-portraits i:after{content:attr(data-name);position:absolute;left:.6rem;bottom:.8rem;font:500 .42rem Inter;letter-spacing:.16em;color:#d8d9d3;text-shadow:0 2px 8px #000;writing-mode:vertical-rl;transform:rotate(180deg)}
.credit-portraits i:nth-child(1){background-image:url('../assets/optimised/frame-003.webp');background-position:39% center;transform:rotateY(-17deg) translateY(11%)}
.credit-portraits i:nth-child(2){background-image:url('../assets/optimised/sacrifice-pass.webp');transform:rotateY(-8deg) translateY(-2%)}
.credit-portraits i:nth-child(3){background-image:radial-gradient(circle at 72% 22%,rgba(139,9,15,.48),transparent 34%),linear-gradient(155deg,#172324,#050606 54%,#220306);transform:rotateY(9deg) translateY(7%)}
.credit-portraits i:nth-child(3):before{content:"WRITER\A +\A DIRECTOR";white-space:pre;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font:300 clamp(1rem,1.55vw,2rem)/.9 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-align:center;color:#dadbd4;text-shadow:0 3px 16px #000}
.credit-roll{position:absolute;z-index:2;left:0;top:18%;width:52%;display:flex;flex-direction:column;align-items:flex-start;text-shadow:0 5px 24px #000}
.credit-roll span{margin-bottom:.8rem;font-size:.48rem;letter-spacing:.36em;color:#839694}
.credit-roll strong{font:300 clamp(1.45rem,2.7vw,3.7rem)/.93 'Barlow Condensed',sans-serif;letter-spacing:.01em;white-space:nowrap}
.credit-roll strong:nth-of-type(3){margin-top:.3rem;font-size:clamp(.8rem,1.15vw,1.45rem);letter-spacing:.08em;color:#9ea8a5}
.credit-roll em{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.32);font-size:.5rem;font-style:normal;letter-spacing:.2em;color:#d9d9d2}
.poster-grade{background:
  radial-gradient(circle at 50% 44%,transparent 0 14%,#0000 27%,#0007 79%),
  linear-gradient(180deg,#0005,#0000 30%,#0006);
  transition:background 1s ease}
.poster-grade:after{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(255,255,255,.05) 3px,transparent 4px)}
.projector-beam{opacity:0;transform-origin:7% 53%;background:radial-gradient(ellipse at 8% 53%,rgba(243,235,202,.26),rgba(188,219,207,.1) 28%,transparent 73%);clip-path:polygon(-2% 44%,102% 11%,102% 93%,-2% 61%);mask-image:radial-gradient(ellipse 108% 60% at 5% 53%,#000 0,rgba(0,0,0,.82) 56%,transparent 100%);filter:blur(18px);mix-blend-mode:screen;transition:opacity .65s ease,transform 1.2s var(--ease)}
.projector-beam:after{content:"";position:absolute;inset:0;background:linear-gradient(101deg,transparent 4%,rgba(255,248,222,.13) 31%,transparent 64%);animation:gate-flicker .19s steps(2,end) infinite}
.projector-film{inset:20% 18% 19% 32%;opacity:0;overflow:hidden;transform:perspective(900px) rotateY(-10deg) rotateZ(-1.5deg) scale(.97);mask-image:radial-gradient(ellipse 72% 68% at 49% 50%,#000 8%,rgba(0,0,0,.65) 51%,transparent 100%);filter:blur(1.5px) contrast(1.42) saturate(.28);mix-blend-mode:screen;transition:opacity .48s ease,transform 1.1s var(--ease)}
.projector-film video{width:100%;height:100%;object-fit:cover;opacity:.22;filter:brightness(1.18)}
.projector-film i{position:absolute;inset:-5%;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.08) 4px,transparent 5px),radial-gradient(circle at 23% 34%,rgba(255,255,255,.22) 0 1px,transparent 2px);background-size:auto,31px 29px;animation:film-jump 1.9s steps(2,end) infinite;box-shadow:inset 0 0 7vw 2vw #000}
.projector-dust{opacity:0;mix-blend-mode:screen;pointer-events:none;background-image:radial-gradient(circle,rgba(238,236,210,.48) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(238,236,210,.22) 0 .7px,transparent 1.4px);background-size:83px 79px,47px 53px;mask-image:linear-gradient(103deg,transparent 7%,#000 32%,transparent 78%);animation:dust-drift 6s linear infinite;transition:opacity .5s ease}
@keyframes gate-flicker{0%,100%{opacity:.64}35%{opacity:.91}51%{opacity:.47}67%{opacity:.78}}
@keyframes film-jump{0%,91%,100%{transform:translateY(0)}92%{transform:translateY(-5px)}95%{transform:translateY(2px)}}
@keyframes dust-drift{from{background-position:0 0,0 0}to{background-position:67px -83px,-49px -34px}}
.projected-quote{display:grid;place-content:center;left:auto;right:18%;width:46%;padding:5vw;text-align:center;opacity:0;transform:translateX(4vw) rotate(-2deg);transition:opacity .55s ease,transform .9s var(--ease);font-family:'Barlow Condensed',sans-serif;text-shadow:0 5px 28px #000}
.projected-quote span{font-size:clamp(1.7rem,3.1vw,4.4rem);font-weight:300;line-height:.95}
.projected-quote b{margin-top:1rem;font:500 .67rem Inter;letter-spacing:.3em;color:#bdcfd0}
.scene-fragments{opacity:0;pointer-events:none;perspective:900px;transition:opacity .5s ease}
.scene-fragments i{position:absolute;left:calc(27% + var(--i)*10%);top:calc(31% + (var(--i)%2)*24%);width:clamp(70px,9vw,160px);aspect-ratio:1.45;background-image:url('../assets/optimised/frame-013.webp');background-size:cover;box-shadow:0 25px 70px #000;transform:translate3d(calc((var(--i) - 2)*4vw),calc((var(--i) - 2)*2vw),calc((var(--i) - 2)*50px)) rotateY(calc((var(--i) - 2)*9deg));transition:transform 1s var(--ease)}

.poster-head{position:absolute;z-index:4;top:4.5vh;left:50%;width:min(51vw,920px);text-align:center;transform:translateX(-50%);opacity:0;transition:opacity .8s .16s ease,transform 1s .12s var(--ease)}
.is-arrived .poster-head{opacity:1;transform:translateX(-50%)}
.poster-head p{margin:0 0 .7rem;font:500 clamp(.48rem,.54vw,.66rem) Inter;letter-spacing:.25em;color:#b8c8c7}
.poster-head h1{position:relative;margin:0;filter:drop-shadow(0 22px 34px #000)}
.poster-head h1 img{display:block;width:100%;height:auto}
.poster-head .title-shadow{position:absolute;inset:.55vw -.6vw auto auto;z-index:-1;filter:brightness(.58) saturate(1.55);opacity:.95}
.state-whisper{position:absolute;z-index:5;top:34%;left:50%;width:48vw;margin:0;transform:translate(-50%,-50%);font:300 clamp(.58rem,.66vw,.8rem) Inter;letter-spacing:.38em;text-align:center;color:rgba(226,234,228,.63);opacity:0;transition:opacity .6s .5s ease,letter-spacing .8s var(--ease),transform .8s var(--ease)}
.is-arrived .state-whisper{opacity:1;letter-spacing:.55em}

.poster-nav{position:absolute;z-index:6;inset:0;pointer-events:none;opacity:0;transition:opacity .8s .45s ease}
.is-arrived .poster-nav{opacity:1}
.poster-nav button,.poster-nav a{pointer-events:auto;position:relative;text-transform:uppercase;transition:color .35s ease,transform .5s var(--ease),opacity .35s ease;text-shadow:0 2px 16px #000}
.poster-nav button:focus-visible,.poster-nav a:focus-visible{outline:1px solid rgba(255,255,255,.8);outline-offset:8px}
.nav-rail{position:absolute;top:42%;display:flex;flex-direction:column;gap:clamp(1.4rem,3vh,2.4rem)}
.nav-left{left:clamp(1.4rem,5vw,6rem);align-items:flex-start}
.nav-right{right:clamp(1.4rem,5vw,6rem);align-items:flex-end;text-align:right}
.nav-rail button,.nav-rail a{display:grid;grid-template-columns:2rem auto;gap:.7rem;align-items:center;padding:.45rem 0}
.nav-right button,.nav-right a{grid-template-columns:auto 2rem}
.nav-right span{grid-column:2;grid-row:1}.nav-right strong{grid-column:1;grid-row:1}
.nav-rail span{font-size:.52rem;letter-spacing:.15em;color:#789293}
.nav-rail strong{font:400 clamp(1.15rem,1.6vw,2.25rem) 'Barlow Condensed',sans-serif;letter-spacing:.08em}
.nav-rail button:after,.nav-rail a:after{content:"";position:absolute;bottom:0;width:0;height:1px;background:var(--hot);transition:width .45s var(--ease)}
.nav-left button:after{left:2.7rem}.nav-right button:after,.nav-right a:after{right:2.7rem}
.nav-rail button:hover:after,.nav-rail a:hover:after,.nav-rail button:focus-visible:after,.nav-rail a:focus-visible:after{width:calc(100% - 2.7rem)}
.nav-rail button:hover,.nav-rail a:hover{color:#fff;transform:translateX(7px)}
.nav-right button:hover,.nav-right a:hover{transform:translateX(-7px)}
.nav-heart{position:absolute;left:50%;bottom:16vh;display:flex;gap:.55rem;transform:translateX(-50%)}
.nav-heart button{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;min-width:clamp(155px,12vw,210px);padding:.8rem 1.15rem;text-align:left;background:rgba(2,4,4,.52);backdrop-filter:blur(7px);border-top:1px solid rgba(255,255,255,.24)}
.nav-heart span{font-size:.49rem;letter-spacing:.28em;color:#a5b1b0}
.nav-heart strong{font:600 clamp(1.22rem,1.5vw,1.95rem) 'Barlow Condensed',sans-serif;letter-spacing:.05em}
.nav-heart b{grid-column:2;grid-row:1/3;align-self:center;justify-self:end;font-size:.9rem}
.nav-heart .nav-watch{background:rgba(126,4,10,.82);border-color:#ef5960}
.nav-heart button:hover{transform:translateY(-7px);background:rgba(14,17,16,.9)}
.nav-heart .nav-watch:hover{background:#b70c14}

.poster-foot{position:absolute;z-index:5;left:4vw;right:4vw;bottom:2.5vh;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;opacity:0;transition:opacity .8s .72s ease;font-size:.48rem;letter-spacing:.15em;color:#738080}
.is-arrived .poster-foot{opacity:1}
.poster-foot p{margin:0;text-align:right}.poster-foot a:hover{color:#fff}.replay{font-size:.5rem;letter-spacing:.2em;color:#aab1af}.replay:hover{color:#fff}

/* The entire poster changes before a panel opens. */
.poster[data-preview="trailer"] .projector-beam{opacity:1;transform:rotate(-2deg)}
.poster[data-preview="trailer"] .projector-film{opacity:.86;transform:perspective(900px) rotateY(-7deg) rotateZ(-.6deg) scale(1)}
.poster[data-preview="trailer"] .projector-dust{opacity:.38}
.poster[data-preview="synopsis"] .persona-nightmare{opacity:.43;transform:scale(1.12) translateX(-2%)}
.poster[data-preview="synopsis"] .poster-world{filter:contrast(1.18) saturate(.72)}
.poster[data-preview="watch"] .persona-queen{opacity:.54;transform:scale(1.13) translateX(3%)}
.poster[data-preview="watch"] .poster-grade{background:radial-gradient(circle at 62% 40%,rgba(183,19,25,.28),transparent 36%),linear-gradient(90deg,rgba(0,0,0,.9),transparent 38%,rgba(25,0,0,.38)),linear-gradient(0deg,#050000,transparent 42%)}
.poster[data-preview="press"] .projected-quote{opacity:1;transform:translateX(0) rotate(-2deg)}
.poster[data-preview="press"] .poster-world{filter:grayscale(.65) contrast(1.15)}
.poster[data-preview="credits"] .credit-preview{opacity:1;transform:none}
.poster[data-preview="credits"] .credit-portraits i{filter:grayscale(.52) contrast(1.38) brightness(.76)}
.poster[data-preview="credits"] .cara-depth,.poster[data-preview="credits"] .cara-fallback{opacity:.3}
.poster[data-preview="merch"] .poster-world{filter:contrast(1.3) saturate(.3)}
.poster[data-preview="merch"] .poster-head h1{filter:drop-shadow(0 20px 32px #000) contrast(1.25)}
.poster[data-preview="merch"] .merch-object{opacity:1;transform:perspective(1000px) translate3d(0,0,90px) rotateY(-7deg) rotateZ(-1.5deg) scale(1);filter:drop-shadow(-4vw 4vw 5vw rgba(0,0,0,.92))}
.poster[data-preview="merch"] .cara-depth,.poster[data-preview="merch"] .cara-fallback{opacity:.38}

.scene-panel{position:absolute;z-index:15;inset:0;visibility:hidden;opacity:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.98) 0 24%,rgba(0,0,0,.87) 53%,rgba(0,0,0,.12));transform:translateX(-3vw);transition:opacity .45s ease,transform .7s var(--ease),visibility 0s .7s;overflow:auto;overscroll-behavior:contain}
.scene-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
.scene-open .poster-head,.scene-open .poster-nav,.scene-open .poster-foot,.scene-open .state-whisper{opacity:0;pointer-events:none}
.scene-open .projected-quote,.scene-open .scene-fragments,.scene-open .projector-beam,.scene-open .projector-film,.scene-open .projector-dust,.scene-open .merch-object,.scene-open .credit-preview{opacity:0!important}
.panel-close{position:fixed;z-index:2;right:3.5vw;top:4vh;font-size:.55rem;letter-spacing:.24em}.panel-close span{font-size:1.2rem;margin-left:.4rem;vertical-align:-.12rem}.panel-close:hover{color:#ff3c42}
.panel-content{width:min(1100px,88vw);min-height:100%;margin:0 auto;padding:10vh 0;display:grid;grid-template-columns:minmax(250px,.7fr) 1.5fr;gap:clamp(3rem,8vw,9rem);align-items:center}
.panel-content header span{font-size:.55rem;letter-spacing:.34em;color:#9cb0b0}
.panel-content h2{margin:.9rem 0 0;font:300 clamp(3rem,6.3vw,8.5rem)/.77 'Barlow Condensed',sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.prose{max-width:580px;font-size:clamp(.94rem,1.1vw,1.16rem);line-height:1.75;color:#bbc1bd}.prose p:first-child{font-size:1.15em;color:#fff}
.trailer-content{width:min(1500px,92vw);grid-template-columns:.55fr 1.55fr}.trailer-player{aspect-ratio:16/9;background:#090a09;box-shadow:0 4vw 10vw #000}.trailer-player iframe{width:100%;height:100%;border:0}
.watch-lines{border-top:1px solid #52605e}.watch-lines p{display:grid;grid-template-columns:1fr 1.7fr;gap:2rem;margin:0;padding:1rem 0;border-bottom:1px solid #2c3534}.watch-lines b{font:500 1.5rem 'Barlow Condensed'}.watch-lines span{font-size:.72rem;line-height:1.6;color:#929c99}.primary-link{display:flex;justify-content:space-between;margin-top:2.5rem;padding:1.3rem 1.4rem;background:#a20b12;font:600 1rem 'Barlow Condensed';letter-spacing:.12em}.primary-link:hover{background:#d10c15}
.press-content{width:min(1380px,91vw);grid-template-columns:minmax(250px,.58fr) 1.42fr;align-items:start;gap:clamp(3rem,6vw,7rem)}
.press-intro{position:sticky;top:10vh}.press-intro p{margin:2.2rem 0 0;padding-top:1rem;border-top:1px solid #53615f;font-size:.55rem;letter-spacing:.22em;color:#899794}.press-intro p b{font-size:.82rem;font-weight:400;color:#e7e5dd}.press-intro p i{margin:0 .7rem;font-style:normal;color:#4f5b59}
.press-archive{min-width:0}.press-switch{position:sticky;z-index:1;top:0;display:flex;gap:.35rem;padding:0 0 1.2rem;background:linear-gradient(#030404 70%,transparent)}.press-switch button{padding:.7rem .9rem;border:1px solid #34413f;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:#7f8c89;transition:background .25s ease,color .25s ease,border-color .25s ease}.press-switch button span{margin-left:.55rem;color:#5e6b68}.press-switch button[aria-pressed="true"]{border-color:#9b1016;background:#8d0b11;color:#fff}.press-switch button[aria-pressed="true"] span{color:#e8a3a5}
.press-group[hidden]{display:none!important}.press-group+ .press-group{margin-top:3.6rem}.press-group>header{display:grid;grid-template-columns:2.8rem 1fr;align-items:end;padding:0 0 .8rem;border-bottom:1px solid #5c6966}.press-group>header span{font-size:.48rem;letter-spacing:.18em;color:#71817e}.press-group h3{margin:0;font:400 clamp(1.2rem,1.7vw,1.8rem) 'Barlow Condensed';letter-spacing:.14em}.press-list a{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;gap:0;align-items:center;min-height:82px;padding:.9rem 0;border-bottom:1px solid #26302e;transition:padding .35s var(--ease),background .35s ease,color .35s ease}.press-list>a>span{font-size:.44rem;letter-spacing:.13em;color:#596662}.press-list>a>div{min-width:0}.press-list strong{display:block;margin-bottom:.24rem;font:500 1rem 'Barlow Condensed';letter-spacing:.08em;text-transform:uppercase}.press-list p{margin:0;max-width:650px;font:300 clamp(1.05rem,1.45vw,1.55rem)/1.15 'Barlow Condensed';color:#aeb7b3}.press-list>a>b{padding:0 1rem;font-weight:400;color:#778481;transition:transform .35s var(--ease),color .35s ease}.press-list a:hover,.press-list a:focus-visible{padding-left:.8rem;background:linear-gradient(90deg,rgba(156,10,17,.22),transparent);color:#fff}.press-list a:hover p,.press-list a:focus-visible p{color:#e1e3dc}.press-list a:hover>b,.press-list a:focus-visible>b{transform:translate(.25rem,-.2rem);color:#ef3a40}
.credits-content{align-items:start}.credit-columns{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.credit-columns dl{margin:0}.credit-columns dt{margin-top:1.2rem;font-size:.49rem;letter-spacing:.2em;color:#7f9290}.credit-columns dd{margin:.2rem 0;font:400 1.25rem 'Barlow Condensed'}
.merch-content{grid-template-columns:.82fr 1.18fr}.merch-product{position:relative;max-width:650px;justify-self:end}.merch-product:before{content:"";position:absolute;inset:17% 18%;z-index:-1;border-radius:50%;background:rgba(145,8,14,.38);filter:blur(80px)}.merch-product>img{display:block;width:100%;height:auto;filter:brightness(1.18) contrast(1.05) drop-shadow(0 0 1px rgba(220,229,220,.4))}.merch-product>div{display:grid;grid-template-columns:1fr auto;gap:.3rem 2rem;margin:-1rem 5% 0;padding:1rem 0;border-top:1px solid rgba(255,255,255,.3);position:relative}.merch-product>div span{font:.65rem Inter;letter-spacing:.18em}.merch-product>div b{font:500 1.2rem 'Barlow Condensed'}.merch-product>div small{grid-column:1/3;color:#87908e;font-size:.65rem}.merch-product .primary-link{margin:1rem 5% 0}

.aftermath{position:absolute;z-index:30;inset:0;background:#000;overflow:hidden;transition:opacity .45s ease,visibility 0s .5s}
.handoff-ready .aftermath{display:none}
.is-arrived .aftermath{opacity:0;visibility:hidden}
.aftermath-stack{position:absolute;inset:0;perspective:1000px}
.aftermath-stack img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;opacity:0;filter:contrast(1.4) saturate(.45);animation:rebuild 1.18s calc(var(--n)*.075s) cubic-bezier(.2,.8,.3,1) both;clip-path:polygon(calc(var(--n)*6%) 0,calc(44% + var(--n)*5%) 0,calc(60% + var(--n)*4%) 100%,calc(8% + var(--n)*3%) 100%)}
.aftermath-slit{position:absolute;left:50%;top:0;width:2px;height:100%;background:#fff;box-shadow:0 0 60px 22px #8fc7c5;transform:scaleY(0);animation:slit .45s .78s ease both}
.aftermath-impact{position:absolute;inset:0;background:radial-gradient(circle,#fff 0,rgba(170,28,33,.85) 4%,transparent 30%);opacity:0;animation:impact .48s .86s ease both}
@keyframes rebuild{0%{opacity:0;transform:translate3d(calc((var(--n) - 3)*18vw),calc((3 - var(--n))*7vh),calc((var(--n) - 3)*140px)) rotate(calc((var(--n) - 3)*7deg)) scale(1.35)}18%,52%{opacity:.94}75%{opacity:.35}100%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes slit{0%{transform:scaleY(0)}45%{transform:scaleY(1)}100%{transform:scaleY(0);opacity:0}}
@keyframes impact{0%,20%{opacity:0;transform:scale(.1)}35%{opacity:.9}100%{opacity:0;transform:scale(4)}}

@media (max-width:800px){
  .poster-head{top:max(3.5vh,env(safe-area-inset-top));width:88vw}
  .poster-head p{font-size:.4rem;line-height:1.5;letter-spacing:.16em}
  .state-whisper{top:28%;width:90vw;font-size:.48rem}
  .nav-rail{top:auto;bottom:11vh;display:grid;grid-template-columns:1fr 1fr;gap:0;width:50%}
  .nav-left{left:0;align-items:stretch}.nav-right{right:0;align-items:stretch;text-align:left}
  .nav-rail button,.nav-rail a,.nav-right button,.nav-right a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:62px;padding:.55rem .8rem;border-top:1px solid rgba(255,255,255,.13);background:rgba(1,3,3,.62);backdrop-filter:blur(8px)}
  .nav-right span,.nav-right strong{grid-column:auto;grid-row:auto}
  .nav-rail strong{font-size:1rem}.nav-rail span{font-size:.4rem}.nav-rail button:after,.nav-rail a:after{display:none}
  .nav-heart{left:0;right:0;bottom:calc(11vh + 62px);transform:none;gap:0}
  .nav-heart button{flex:1;min-width:0;border-right:1px solid rgba(255,255,255,.12);padding:.72rem .85rem}
  .nav-heart strong{font-size:1.2rem}.nav-heart span{font-size:.4rem}
  .poster-foot{left:1rem;right:1rem;bottom:max(1.4vh,env(safe-area-inset-bottom));display:flex;justify-content:space-between}.poster-foot>span,.poster-foot p{display:none}.replay{font-size:.43rem;margin-left:auto}
  .projected-quote{left:0;right:auto;top:36%;width:100%;height:32%;padding:2rem}.projected-quote span{font-size:2rem}
  .projector-film{inset:29% 3% 27% 10%}
  .persona-nightmare{background-position:58% center}.persona-queen{background-position:68% center}
  .merch-object{right:-11%;top:24%;width:100vw}.merch-object span{right:16%;bottom:6%;max-width:48%;line-height:1.5;text-align:right}
  .credit-preview{inset:28% 3% 28% 13%}.credit-portraits{left:26%;opacity:.45}.credit-roll{top:24%;width:86%}.credit-roll strong{font-size:1.55rem}.credit-roll strong:nth-of-type(3){font-size:.74rem;white-space:normal}.credit-roll em{font-size:.4rem;line-height:1.6}
  .scene-panel{background:linear-gradient(0deg,#000 0 72%,rgba(0,0,0,.5))}
  .panel-close{top:1.2rem;right:1rem}
  .panel-content,.trailer-content{width:auto;min-height:100%;margin:0;padding:5.5rem 1.2rem 3rem;display:block}
  .panel-content header{margin-bottom:2.5rem}.panel-content h2{font-size:clamp(3.4rem,18vw,6rem)}
  .trailer-player{margin-top:2rem}
  .prose{font-size:.9rem;line-height:1.65}.watch-lines p{grid-template-columns:1fr;gap:.3rem}.credit-columns{grid-template-columns:1fr;gap:2rem}
  .press-content{width:auto}.press-intro{position:static}.press-intro p{margin-top:1.5rem}.press-switch{top:0;margin:0 -1.2rem;padding:.7rem 1.2rem 1rem;overflow-x:auto}.press-switch button{flex:0 0 auto;min-height:44px}.press-group+ .press-group{margin-top:2.7rem}.press-group>header{grid-template-columns:2rem 1fr}.press-list a{grid-template-columns:2rem minmax(0,1fr) auto;min-height:76px}.press-list p{font-size:1.08rem;line-height:1.18}.press-list strong{font-size:.88rem}.press-list>a>b{padding:0 .35rem}
  .merch-content header{margin-bottom:.5rem}.merch-product{width:100%;margin:0}.merch-product>img{max-height:52vh;object-fit:contain}.merch-product>div{margin-top:-1.3rem}.merch-product .primary-link{margin-top:.7rem}
}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .aftermath{display:none}.poster-head,.poster-nav,.poster-foot,.state-whisper{opacity:1}.cara-depth{display:none}.cara-fallback{opacity:1!important}
}

/* September refinement: readable controls, direct viewing, and a quiet change of presence. */
button:focus-visible,a:focus-visible{outline:2px solid #f1e9de;outline-offset:5px}
[hidden]{display:none!important}
.poster-head p{font-size:clamp(10px,.7vw,13px);line-height:1.5;letter-spacing:.18em}
.state-whisper{font-size:12px;color:#d4dbd7;letter-spacing:.25em}
.is-arrived .state-whisper{letter-spacing:.3em}
.nav-rail button{min-height:48px}.nav-rail span{font-size:10px;color:#a9bcb9}
.nav-heart span{font-size:10px;color:#d4dcda}.nav-heart strong{font-size:1.4rem}
.poster-endorsement{position:absolute;z-index:5;left:50%;bottom:calc(16vh + 88px);width:min(420px,40vw);transform:translateX(-50%);text-align:center;text-shadow:0 2px 14px #000;color:#e5e6de;transition:opacity .3s}
.poster-endorsement>span{display:block;font:400 clamp(20px,1.8vw,27px)/1.15 'Barlow Condensed',sans-serif}
.poster-endorsement small{display:block;margin-top:12px;font-size:10px;letter-spacing:.17em;color:#b2c1bd}
.motion-toggle{position:absolute;z-index:6;left:22px;top:18px;min-height:44px;padding:10px 12px;font-size:11px;color:#c7d1cc;border:1px solid #6b777266;background:#020303a6}
.motion-toggle[aria-pressed="true"]{border-color:#c0c9c4;color:#fff}
.scene-open .motion-toggle,.scene-open .poster-endorsement{visibility:hidden;opacity:0}
.panel-close{min-width:86px;min-height:44px;top:18px;right:24px;padding:8px 12px;background:#030505e8;font-size:11px}
.panel-content header>span{font-size:11px;line-height:1.6;letter-spacing:.24em;color:#b7c6c2}
.poster-foot,.replay{font-size:10px}.poster-foot a{font-size:10px}
.press-switch button{min-height:44px;font-size:11px;color:#bbc6c0}.press-switch button span{color:#a9b7b0}
.press-list strong{font-size:1.12rem}.press-list p{font-size:1.25rem;line-height:1.35;color:#c2ccc6}
.credit-columns dt{font-size:11px;line-height:1.5;color:#b2c1bc}
.watch-content{align-items:start;padding-top:16vh;gap:5vw}
.watch-content h2{line-height:.87}
.region-label,.availability-checked{font-size:10px;letter-spacing:.12em;color:#afbeb6;line-height:1.6}
.territory-switch{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:22px}
.platform-list .region-guide{min-height:72px}
.platform-list .region-guide strong{font-size:18px}
.territory-switch button{min-height:48px;padding:12px 16px;border:1px solid #596762;font-size:12px;color:#ccd5ce}
.territory-switch button[aria-pressed="true"]{background:#8e1218;border-color:#b34448;color:#fff}
.platform-list{border-top:1px solid #5a6861}
.platform-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:90px;padding:18px 14px;border-bottom:1px solid #37443d;transition:background .2s}
.platform-list a:hover,.platform-list a:focus-visible{background:#60101660}
.platform-list strong{display:block;font:500 28px/1.1 'Barlow Condensed',sans-serif}
.platform-list span{display:block;margin-top:7px;color:#b7c5bd;font-size:12px;line-height:1.5}
.platform-list b{font-size:22px;color:#d67e79;font-weight:400}
.availability-note,.collection-intro{font-size:13px;line-height:1.7;color:#afbeb6}
.other-platforms{display:inline-block;padding:12px 0;font-size:12px;line-height:1.6;color:#e0e4dc;text-decoration:underline;text-underline-offset:4px}
.collection-content{align-items:start;grid-template-columns:.65fr 1.5fr;padding-top:12vh;gap:5vw}
.collection-content>header{position:sticky;top:12vh}
.collection-content h2{font-size:clamp(52px,5.5vw,85px);line-height:.9}
.collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px;min-width:0}
.collection-grid figure{margin:0}.collection-lead{grid-column:1/-1}
.collection-grid img{display:block;width:100%;height:auto;border:1px solid #38413c}
.collection-grid figcaption{font:400 23px/1.2 'Barlow Condensed',sans-serif;padding-top:14px}
.collection-grid figcaption span,.collection-reading>span{display:block;font:500 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.2em;color:#afbeb6;margin-bottom:9px}
.collection-reading{grid-column:1/-1;max-width:640px;border-top:1px solid #38413c;padding-top:28px}
.collection-reading h3{font:400 34px/1 'Barlow Condensed',sans-serif;margin:10px 0 20px}
.collection-reading p{font-size:14px;line-height:1.65;color:#c7d0c8}.collection-reading .spoiler-note{font-size:12px;color:#b5bfb8;border-left:2px solid #9c3539;padding-left:14px}
.collection-reading a{display:block;padding:15px 0;border-bottom:1px solid #536159;font-size:13px;line-height:1.5}
.witness-presence{position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(0deg,#020303 0%,rgba(2,3,3,.7) 12%,transparent 48%),linear-gradient(180deg,rgba(2,3,3,.55),transparent 32%),url('../assets/collection/cara-notices-you.jpg') 61% 22%/cover no-repeat;filter:saturate(.82) brightness(.84)}
.is-witnessed .witness-presence{animation:noticePresence 5.6s ease-in-out both}
@keyframes noticePresence{0%,100%{opacity:0;transform:scale(1)}25%,70%{opacity:1;transform:scale(1.045)}}
.is-still *, .is-still *:before,.is-still *:after{animation:none!important;transition:none!important}
.is-still .cara-depth,.is-still .witness-presence,.is-still .aftermath,.is-still .projector-film{display:none!important}
.is-still .cara-fallback{opacity:1!important}.is-still .poster-world{transform:none!important}
@media(max-width:800px){
  .poster{min-height:680px}.poster-head{top:26px;width:88vw}.poster-head p{font-size:10px;letter-spacing:.09em;max-width:320px;margin:0 auto 10px}
  .state-whisper{top:25%;font-size:11px;line-height:1.6;width:90%;letter-spacing:.2em}
  .poster-nav{position:absolute;top:auto;left:16px;right:16px;bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:0;z-index:6}
  .nav-heart{position:static;grid-column:1/-1;grid-row:1;transform:none;display:flex;gap:6px;margin-bottom:8px}
  .nav-heart button{min-height:64px;padding:10px 14px}.nav-heart span{font-size:10px}.nav-heart strong{font-size:1.35rem}
  .nav-rail{display:contents}.nav-rail button,.nav-right button{position:relative;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:46px;padding:9px 12px;background:#020505d9;border-top:1px solid #71867a66}
  .nav-rail button[data-scene="collection"]{grid-column:1/-1}.nav-rail strong{font-size:17px}.nav-rail span{font-size:10px}
  .poster-endorsement{width:82%;bottom:calc(70px + 232px);padding:12px 8px;background:linear-gradient(90deg,transparent,#020303b0,transparent)}
  .poster-endorsement>span{font-size:23px}.poster-endorsement small{font-size:10px;margin-top:9px}
  .motion-toggle{top:auto;bottom:16px;left:16px;min-height:40px;padding:8px;font-size:11px}
  .poster-foot{left:auto;right:16px;bottom:20px;min-height:32px;align-items:center}.replay{font-size:10px;max-width:140px;line-height:1.5}
  .panel-content,.watch-content,.collection-content{padding:88px 20px 40px;width:100%;display:block}.panel-content h2{line-height:.9}
  .collection-content>header{position:static}.collection-grid{grid-template-columns:1fr;gap:32px}.collection-lead{grid-column:auto}
  .territory-switch button{flex:1 1 calc(50% - 8px);padding:12px 8px}.platform-list a{min-height:88px}.platform-list span{font-size:13px}
  .panel-close{top:14px;right:14px}.trailer-screen{width:100%}.prose{font-size:16px}
  .press-list p{font-size:20px}.press-list strong{font-size:16px}.press-switch button{font-size:11px}
}
@media(max-height:679px){
  html,body{overflow:auto}.poster{min-height:680px}.scene-panel{position:fixed}.panel-content{min-height:100%}
}
@media(prefers-reduced-motion:reduce){.witness-presence{display:none!important}.scene-open .poster-head,.scene-open .poster-foot,.scene-open .state-whisper{opacity:0}}

/* A completed flight arrives at the finished layout, without replaying its entrance. */
.handoff-ready .poster:not(.scene-open) .poster-head,
.handoff-ready .poster:not(.scene-open) .poster-nav,
.handoff-ready .poster:not(.scene-open) .poster-foot,
.handoff-ready .poster:not(.scene-open) .state-whisper{opacity:1;transition:none}
.handoff-ready .state-whisper{letter-spacing:.3em}
.handoff-ready .cara-depth,.handoff-ready .cara-fallback{transition:none}

/* Local art-direction trial: cast portraits and a chaptered production gallery. */
.credits-content{display:block;width:min(1180px,88vw)}
.credits-content>header{margin-bottom:clamp(40px,7vh,88px)}
.cast-portraits{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px;margin-bottom:72px}
.cast-portraits figure{margin:0;min-width:0}
.cast-portraits img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.76);border-bottom:1px solid #733631}
.cast-portraits figcaption{padding-top:16px}
.cast-portraits span{display:block;font-size:10px;letter-spacing:.22em;color:#a3b0a9}
.cast-portraits strong{display:block;margin-top:7px;font:400 clamp(30px,3.5vw,56px)/1 'Barlow Condensed',sans-serif}
.credits-content .credit-columns{padding-top:28px;border-top:1px solid #46534c}
.collection-chapter{grid-column:1/-1;padding:36px 0 8px;border-top:1px solid #53605a}
.collection-chapter:first-child{padding-top:0;border:0}
.collection-chapter>span{font:500 11px Inter,Arial,sans-serif;letter-spacing:.2em;color:#db5553}
.collection-chapter h3{margin:12px 0;font:400 clamp(32px,3.5vw,54px)/1 'Barlow Condensed',sans-serif}
.collection-chapter p{margin:0;max-width:42ch;font-size:14px;line-height:1.65;color:#b2bcb6}
.press-group[data-press-kind="reviews"]>a:first-of-type strong{font-size:clamp(24px,2.7vw,42px);line-height:1.1}
@media(max-width:800px){
  .panel-content{width:calc(100% - 40px);padding-top:90px;gap:36px;min-width:0}
  .panel-content h2{font-size:clamp(48px,14vw,78px)}
  .panel-close{top:max(16px,env(safe-area-inset-top));right:16px;min-height:44px;padding:10px 14px;background:#080b0af2;border:1px solid #49534e;font-size:11px}
  .cast-portraits{gap:30px 16px;margin-bottom:42px}
  .cast-portraits img{aspect-ratio:4/3}
  .cast-portraits strong{font-size:28px}
  .cast-portraits span{font-size:9px;line-height:1.5;letter-spacing:.12em}
  .credit-columns{gap:24px}
  .credit-columns dt{font-size:10px;line-height:1.5}
  .credit-columns dd{font-size:23px}
  .press-switch button,.region-switch button{min-height:44px}
  .scene-panel a{overflow-wrap:anywhere}
  .collection-chapter{grid-column:1/-1;padding-top:26px}
}
@media(max-width:380px){.cast-portraits{grid-template-columns:1fr}.credits-content .credit-columns{grid-template-columns:1fr}}

.bts-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;text-align:inherit;position:relative}
.bts-open::after{content:'VIEW +';position:absolute;right:12px;bottom:12px;padding:8px 10px;background:#050909d9;color:#fff;font:500 10px Inter,Arial,sans-serif;letter-spacing:.14em}
.bts-open:focus-visible{outline:2px solid #e7d8b6;outline-offset:5px}
.bts-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;padding:72px 4vw 20px;margin:0;border:0;background:#040706;color:#eee8dd;overflow:hidden}
.bts-viewer[open]{display:grid;grid-template-rows:minmax(0,1fr) 56px;gap:20px}
.bts-viewer::backdrop{background:#000}
.bts-viewer figure{margin:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}
.bts-viewer img{width:100%;height:100%;object-fit:contain;min-height:0}
.bts-viewer figcaption{text-align:center;font:400 18px/1.4 'Barlow Condensed',Arial,sans-serif}
.bts-viewer nav{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #3b4842;gap:16px}
.bts-viewer button{min-height:44px;padding:10px 14px;font:500 11px Inter,Arial,sans-serif;letter-spacing:.12em;color:inherit;background:transparent;border:0;cursor:pointer}
.bts-viewer button:focus-visible{outline:2px solid #e7d8b6;outline-offset:2px}
.bts-close{position:absolute;right:4vw;top:max(14px,env(safe-area-inset-top))}
.bts-count{font:500 11px Inter,Arial,sans-serif;letter-spacing:.14em;color:#a1b2a7}
@media(max-width:800px){.bts-viewer{padding:70px 16px max(16px,env(safe-area-inset-bottom))}.bts-viewer button{font-size:10px;padding:10px 4px}.bts-viewer figcaption{font-size:17px}}
