/* Full-bleed stills, with a composition chosen for each photograph. */
.hero{display:block;min-height:820px;height:100svh;padding:0}
.hero-images{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;background:#07090d}
.hero-image{width:100%;height:100%;object-fit:cover!important;object-position:center 36%!important;transform:scale(1.01);animation:camera-drift 9s ease-in-out infinite alternate}
.hero-image:nth-child(3){object-position:center 21%!important}
.hero-shade{display:block;background:linear-gradient(270deg,#05070ade,transparent 52%),linear-gradient(0deg,#05070aeb,transparent 38%)}
.hero-copy{position:absolute;right:var(--pad);left:auto;top:19%;width:32%;margin:0;padding:0;transition:opacity .35s ease;z-index:3}
.hero.copy-changing .hero-copy{opacity:0;pointer-events:none}
.hero h1{font-size:clamp(70px,7.3vw,126px);line-height:.84;letter-spacing:-.055em}
.hero .original{margin:20px 0}.hero-line{font-size:clamp(22px,2vw,30px);line-height:1.15}.hero-copy .eyebrow{font-size:12px;line-height:1.6;margin-bottom:25px}
.hero-actions{gap:24px;margin-top:28px;flex-wrap:wrap}.hero .button{padding:14px 20px;gap:20px}
.hero[data-frame="lower"] .hero-copy{top:auto;bottom:210px;left:var(--pad);right:auto;width:55%}
.hero[data-frame="lower"] h1{display:flex;gap:.25em;font-size:clamp(48px,5.6vw,88px)}
.hero[data-frame="lower"] h1 span:last-child{margin:0}
.hero[data-frame="lower"] .eyebrow,.hero[data-frame="lower"] .original{display:none}
.hero[data-frame="lower"] .hero-shade{background:linear-gradient(0deg,#05070af5,rgba(5,7,10,.78) 28%,transparent 66%)}
.hero>.score-performance{position:absolute;left:var(--pad);right:var(--pad);bottom:62px;width:auto;max-width:none;height:145px;margin:0;z-index:4;pointer-events:none}
.hero>.score-replay{position:absolute;bottom:28px;left:var(--pad);z-index:5;padding:10px 0;font-size:12px}
.score-half{top:22px;width:48.5%;height:110px;transition-duration:2.3s}.score-half.left{left:0}.score-half.right{right:0}
.staff-lines{opacity:.45;top:28px;height:53px;background:repeating-linear-gradient(to bottom,#dfc496 0 .7px,transparent .7px 13px)}
.music-note{font-size:45px;line-height:1.35;font-weight:normal;transform-origin:bottom center;color:#e9d3ac;filter:none}
.score-performance.playing .music-note{animation:elegant-note 1.3s calc(var(--n)*.48s) ease-out forwards}
.score-performance.broken .score-half.left{transform:translate(-12px,-3px) rotate(-3deg)}
.score-performance.broken .score-half.right{transform:translate(12px,5px) rotate(4deg)}
.score-performance.broken .music-note{animation:elegant-scatter 2.7s calc(var(--n)*.09s) ease-out forwards}
.score-fissure{box-shadow:0 0 14px 2px #c9694040}.hero-index{bottom:32px;top:auto}.scroll-cue{display:none}
.statement{min-height:76svh;padding:110px var(--pad)}.statement h2{max-width:1100px;font-size:clamp(36px,4.7vw,72px);line-height:1.1;letter-spacing:-.02em}.statement-meta{margin-top:42px}
@keyframes camera-drift{from{transform:scale(1.01)}to{transform:scale(1.035)}}
@keyframes elegant-note{from{opacity:0;transform:translateY(9px) scaleX(.82) scaleY(1.2)}to{opacity:1;transform:translateY(0) scaleX(.82) scaleY(1.2)}}
@keyframes elegant-scatter{from{opacity:1;transform:scaleX(.82) scaleY(1.2)}to{opacity:.12;transform:translate(calc((var(--n) - 3)*8px),-30px) rotate(12deg) scaleX(.82) scaleY(1.2)}}
@media(max-width:1100px){.hero-copy{width:34%;right:4vw}.hero h1{font-size:7.8vw}.hero-line{font-size:23px}.hero-actions{gap:18px}.hero[data-frame="lower"] .hero-copy{width:72%}}
@media(max-width:900px){.hero{display:block;padding:0;min-height:920px;height:100svh}.hero-images{position:absolute;inset:0;min-height:0;height:100%;max-height:none;order:unset}.hero-image{height:100%;object-fit:cover!important;object-position:48% top!important;animation:none}.hero-image:nth-child(3){object-position:center top!important}.hero-shade,.hero[data-frame="lower"] .hero-shade{background:linear-gradient(0deg,#05070af5,rgba(5,7,10,.85) 32%,transparent 64%)}.hero-copy,.hero[data-frame="lower"] .hero-copy{width:auto;left:var(--pad);right:var(--pad);top:auto;bottom:196px;padding:0;align-self:unset}.hero h1,.hero[data-frame="lower"] h1{display:flex;gap:.22em;font-size:clamp(44px,10vw,88px);line-height:1}.hero h1 span:last-child{margin:0}.hero-copy .eyebrow{font-size:11px;margin-bottom:12px}.hero .original{font-size:12px;margin:12px 0}.hero-line{font-size:24px}.hero-actions{margin-top:20px;gap:20px}.hero>.score-performance{bottom:53px;height:130px}.hero-index{top:auto;bottom:28px}.statement{min-height:auto;padding:85px var(--pad)}.statement h2{font-size:clamp(33px,6.4vw,54px)}}
.synopsis{min-height:0;display:grid;grid-template-columns:24% 52% 24%;align-items:stretch}
.synopsis-copy{min-height:0;padding:72px clamp(30px,4vw,65px);align-self:stretch}
.synopsis-copy h2{font-size:clamp(38px,4vw,60px);line-height:1.04;margin-bottom:28px}
.synopsis-copy .prose{font-size:16px;line-height:1.65}.synopsis-copy .prose p{margin-bottom:18px}
.synopsis-copy blockquote{margin:30px 0 0;font-size:34px}
.synopsis .world{position:relative;top:auto;height:auto;min-height:0;align-self:stretch}
.synopsis .world img{position:absolute;inset:0;object-fit:cover;height:100%;width:100%;transform:none!important}
@media(max-width:900px){.synopsis{grid-template-columns:1fr 1fr}.synopsis-copy{grid-column:1/-1;grid-row:1;min-height:0;padding:60px var(--pad)}.synopsis-copy h2{font-size:44px}.synopsis .world{height:260px;grid-row:2}.synopsis .world-new-york{grid-column:1}.synopsis .world-occupation{grid-column:2}.synopsis .world span{left:14px;bottom:18px;font-size:10px}.synopsis .world-occupation img{object-position:center 25%}}
@media(max-width:900px){.hero[data-frame="lower"] h1{font-size:clamp(35.2px,8vw,70.4px)}}
@media(prefers-reduced-motion:reduce){.hero-image,.music-note{animation:none!important}.music-note{opacity:1}.hero.copy-changing .hero-copy{opacity:1}.score-half{transform:none!important}}

/* Cinematic stills: large moving frames, captions outside the image. */
.stills{padding:100px 0 65px;min-height:auto;background:#080a0e}
.stills .section-head{padding-bottom:32px}
.gallery-track{position:relative;gap:24px;padding-left:10vw;padding-right:10vw;scroll-snap-type:x proximity;scrollbar-width:none}
.still{flex-basis:80vw;height:auto;background:none;display:flex;flex-direction:column;overflow:hidden;opacity:.5;transform:scale(.965);transition:opacity 1s,transform 1.2s;scroll-snap-align:center}
.still.is-active{opacity:1;transform:scale(1)}
.still img{height:65vh;height:65svh;max-height:760px;object-fit:contain;background:#050608;transform:none!important}
.still span{position:static;display:block;align-self:stretch;padding:18px 0;text-align:left;background:none;font-size:11px;letter-spacing:.19em;color:var(--gold)}
.gallery-playing .still.is-active img{animation:frameBreath 5.5s ease-out both}
@keyframes frameBreath{from{filter:brightness(.85)}to{filter:brightness(1)}}
.gallery-timeline{height:1px;margin:8px var(--pad) 24px;background:#ffffff25}
.gallery-timeline i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.gallery-controls .gallery-pause{color:var(--gold)}
.cast{min-height:auto;padding-bottom:100px}
.cast-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 22px}
.cast-card{height:auto;min-height:0;background:transparent;display:block!important;border:0!important}
.cast-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center!important;background:#090b10;filter:saturate(.82);transition:transform .7s ease,filter .7s ease}
.cast-card:hover img{transform:scale(1.015);filter:saturate(1)}
.cast-card div{position:static;background:none;padding:22px 0 0;color:var(--ink)}
.cast-card h3{font-size:clamp(24px,2.4vw,38px)}
.cast-card p{color:#76512e;margin-top:12px}
.cast-support h3{font-size:clamp(22px,2vw,31px)}
.cast-support img{aspect-ratio:4/4.7}
.cast-imdb{display:inline-block;margin-top:18px;text-decoration:none;font-size:12px;letter-spacing:.13em;border-bottom:1px solid currentColor;padding-bottom:7px}
.cast-sources{margin:38px 0 0;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#777}
.gallery-controls button:focus-visible,.still:focus-visible,.cast-imdb:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:700px){.stills .section-head{flex-direction:column;gap:12px}.gallery-track{padding-left:6vw;padding-right:6vw;gap:12px}.still{flex-basis:88vw}.still img{height:49svh}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 12px}.cast-card img{height:auto}.gallery-controls{padding:0}.drag-hint{font-size:9px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.still{transition:none}.gallery-playing .still.is-active img{animation:none}}

/* Connected filmstrip and compact editorial information. */
.logline-details{margin-top:48px;scroll-margin-top:90px;border-top:1px solid #07090d30;padding-top:26px}
.logline-details>.eyebrow{margin-bottom:18px}
.logline-details .film-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 32px;margin:0}
.logline-details .film-grid div{padding:0;border:0;min-width:0}
.logline-details .film-grid .wide{grid-column:span 2}
.logline-details dt{color:#686158;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.logline-details dd{color:var(--ink);font:500 22px/1.3 var(--serif);margin:7px 0 0}
.filmmakers{min-height:0;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px 60px;padding:90px var(--pad);align-items:start}
.filmmakers .director-image{position:relative;top:auto;height:auto;aspect-ratio:4/5;width:100%;max-height:650px}
.filmmakers .director-image img{display:block;object-fit:cover;object-position:center 20%}
.filmmakers-copy{padding:0;min-width:0}
.filmmakers-copy h2{font-size:clamp(34px,3.5vw,56px);line-height:1.08;margin-bottom:28px;overflow-wrap:break-word}
.filmmakers-copy .director-bio{margin-bottom:0;font-size:15px;line-height:1.65}
.team-credits{grid-column:1/-1;width:100%;padding-top:30px;border-top:1px solid #ffffff25}
.team-credits .credits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px}
.team-credits .credits p{font-size:23px;line-height:1.3;padding:16px 0;min-width:0;overflow-wrap:break-word}
.gallery-track{gap:0;padding:0;scroll-snap-type:none;scroll-behavior:auto}
.still,.still.is-active{flex:0 0 auto;width:auto;opacity:1;transform:none;transition:none;scroll-snap-align:none;border:0;border-radius:0;padding:0}
.still img{height:60vh;height:60svh;max-height:650px;width:auto;max-width:none;object-fit:contain;display:block;animation:none!important}
.still span{padding:17px 24px;border-top:1px solid #ffffff20}
.topbar{height:84px;padding-left:var(--pad);padding-right:var(--pad);background:linear-gradient(180deg,rgba(5,7,10,.97),rgba(5,7,10,.86));backdrop-filter:blur(14px);mix-blend-mode:normal;border-bottom:1px solid rgba(255,255,255,.12);color:#fff}
.topbar .brand{font-size:15px;letter-spacing:.14em}
.topbar nav{gap:22px}
.topbar nav a{font-size:13px;font-weight:700;opacity:.9;text-shadow:0 1px 8px #000}
.topbar nav a:hover{opacity:1;color:var(--gold)}
.chapter-count{font-size:13px}
@media(max-width:900px){.filmmakers{display:grid;gap:28px;padding:65px var(--pad);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.filmmakers-copy h2{font-size:34px}.team-credits .credits{grid-template-columns:repeat(2,minmax(0,1fr))}.logline-details .film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.filmmakers{grid-template-columns:1fr}.filmmakers .director-image{max-height:480px;aspect-ratio:4/4.5}.team-credits .credits{grid-template-columns:1fr}.logline-details .film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.still img{height:48svh}.gallery-track{padding:0;gap:0}}
@media(max-width:900px){.topbar{height:68px}.topbar .brand{font-size:13px}.topbar nav a{font-size:13px}}
body.intro-open{overflow:hidden}
.intro{cursor:default}
.intro-enter{z-index:2;margin:38px auto 0;padding:12px 22px;border:1px solid rgba(201,151,82,.55);border-radius:99px;background:rgba(5,6,9,.48);color:#d7c29f;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.22em;cursor:pointer;animation:blink 1.5s infinite}
.intro-enter:hover,.intro-enter:focus-visible{color:#fff;border-color:var(--gold);outline:none;animation:none}
@media(prefers-reduced-motion:reduce){.intro{display:grid}.intro-enter{animation:none}}
@media(pointer:fine){
  .custom-cursor,.custom-cursor *{cursor:none!important}
  .cursor,.cursor-ring{z-index:10001}
  .cursor{display:grid;place-items:center;width:28px;height:34px;border-radius:0;background:none;color:#d8ab68;font:600 31px/1 "Cormorant Garamond",serif;text-shadow:0 1px 12px rgba(201,151,82,.72);transition:font-size .22s ease,color .22s ease,text-shadow .22s ease;will-change:transform}
  .cursor.hover{font-size:37px;color:#fff;text-shadow:0 0 18px rgba(201,151,82,.95)}
  .cursor-ring{width:42px;height:42px;border-color:rgba(201,151,82,.48);mix-blend-mode:screen}
  .cursor-ring.hover{width:64px;height:64px;background:rgba(201,151,82,.1)}
}
