/* Cinematic opening. Content stays available when JavaScript is disabled. */
.film-intro{height:150svh;background:var(--paper)}
.hero.hero--cinema{position:sticky;top:0;height:100svh;min-height:480px;max-height:none;display:grid;place-items:center;transform-origin:50% 45%;overflow:hidden}
.hero__film{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--ink)}
.hero.hero--cinema .hero__shade{display:block;background:linear-gradient(0deg,#121713a6,transparent 45%),#12171325}
.cinema-brand{position:absolute;top:clamp(20px,3.5vw,48px);left:0;right:0;display:flex;justify-content:center;pointer-events:none}
.cinema-brand img{width:clamp(64px,6vw,88px);height:auto;filter:drop-shadow(0 2px 8px #0003)}
.hero__media-status{position:absolute;bottom:80px;right:32px;max-width:calc(100% - 64px);padding:4px 12px;border-radius:4px;background:#20231fe6;font-size:12px;z-index:2}
.hero__media-status:empty{display:none}
.cinema-greeting{position:absolute;bottom:112px;left:var(--gutter);right:var(--gutter);max-width:none;text-align:center;font-family:var(--font);text-shadow:0 2px 20px #0006}
.cinema-greeting>.cinema-kicker{display:block;font-size:11px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px}
.cinema-greeting>strong{display:block;font-size:clamp(30px,3.2vw,46px);font-weight:800;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.cinema-scroll{position:absolute;bottom:24px;left:32px;display:grid;place-items:center;width:44px;height:44px;color:white}
.cinema-welcome{padding-block:clamp(64px,8vw,112px);scroll-margin-top:90px}
.cinema-welcome__inner{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:end}
.cinema-welcome h1{font-size:clamp(44px,5.5vw,76px);line-height:1.06}
.cinema-welcome h1 span{color:var(--muted)}
.cinema-welcome__copy p{font-size:20px;line-height:1.6;margin-bottom:28px}
@media(prefers-reduced-motion:no-preference){
 body.cinema-ready [data-site-header]{position:fixed;inset:0 0 auto;z-index:50;transform:translateY(-105%);transition:transform 400ms cubic-bezier(.23,1,.32,1)}
 body.cinema-ready.cinema-scrolled [data-site-header],body.cinema-ready [data-site-header]:focus-within{transform:translateY(0)}
 body.cinema-ready [data-reveal]{opacity:0;transform:translateY(32px);transition:opacity 800ms cubic-bezier(.23,1,.32,1),transform 900ms cubic-bezier(.23,1,.32,1)}
 body.cinema-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
 .film-intro{height:100svh}
 body.cinema-ready [data-site-header]{position:fixed;inset:0 0 auto;z-index:50}
}
@media(max-width:760px){
 .film-intro{height:125svh}
 .hero.hero--cinema{min-height:480px}
 .hero__film{object-fit:cover}
 .hero__media-status{bottom:76px;right:20px}
 .cinema-scroll{bottom:20px;left:20px}
 .cinema-greeting{bottom:104px;max-width:30ch;margin-inline:auto}
 .cinema-greeting>strong{font-size:clamp(28px,7.2vw,38px)}
 .cinema-greeting>.cinema-kicker{font-size:10px}
 .cinema-welcome{scroll-margin-top:74px}
 .cinema-welcome__inner{grid-template-columns:1fr;gap:32px}
 .cinema-welcome__copy p{font-size:18px}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.film-intro{height:100svh}}

.cinema-scroll svg{width:20px;height:20px;display:block}
.cinema-scroll:focus-visible{outline:2px solid white;outline-offset:5px}

/* Each phrase rises within its own mask, with a subtle editorial rhythm. */
.cinema-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}
.cinema-word>span{display:inline-block}
@keyframes cinema-word-reveal{
 from{transform:translateY(115%)}
 to{transform:translateY(0)}
}
@keyframes cinema-kicker-reveal{
 from{opacity:0}
 to{opacity:1}
}
@media(prefers-reduced-motion:no-preference){
 .cinema-greeting>.cinema-kicker{animation:cinema-kicker-reveal 650ms ease-out 100ms both}
 .cinema-word>span{animation:cinema-word-reveal 1000ms cubic-bezier(.22,1,.36,1) 220ms both}
 .cinema-word:nth-child(2)>span{animation-delay:330ms}
 .cinema-word:nth-child(3)>span{animation-delay:440ms}
}
