.film-page{isolation:isolate;--film-veil:color-mix(in srgb,var(--background) 74%,transparent);--film-card:color-mix(in srgb,var(--background) 86%,transparent);position:relative}.light .film-page{--film-veil:color-mix(in srgb,var(--background) 90%,transparent);--film-card:color-mix(in srgb,var(--background) 94%,transparent)}.film-backdrop{z-index:-1;background:var(--film-ink);height:100lvh;position:fixed;top:0;left:0;right:0;overflow:hidden}.film-stage{transform:translate(var(--dx,0),var(--dy,0)) scale(1.05);will-change:transform;position:absolute;inset:0}.film-torch{background:color-mix(in srgb,var(--film-ink) 46%,transparent);-webkit-mask-image:radial-gradient(circle 460px at var(--sx,50%) var(--sy,50%),transparent 0,var(--film-ink) 100%);-webkit-mask-image:radial-gradient(circle 460px at var(--sx,50%) var(--sy,50%),transparent 0,var(--film-ink) 100%);mask-image:radial-gradient(circle 460px at var(--sx,50%) var(--sy,50%),transparent 0,var(--film-ink) 100%);display:none;position:absolute;inset:0}.film-backdrop[data-pointer] .film-torch{animation:.7s both torch-in;display:block}@keyframes torch-in{0%{opacity:0}}.film-poster,.film-canvas{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.film-canvas{opacity:0;transition:opacity .35s}.film-canvas[data-ready]{opacity:1}.film-shade{background:linear-gradient(90deg,color-mix(in srgb,var(--film-ink) 65%,transparent) 0%,transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--film-ink) 55%,transparent) 0%,transparent 24%,transparent 62%,color-mix(in srgb,var(--film-ink) 76%,transparent) 100%);position:absolute;inset:0}.film-solid{background:var(--background);border-radius:clamp(20px,3vw,36px);position:relative;overflow:clip}.film-solid:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.film-scene{min-height:125svh;color:var(--on-film);align-items:center;display:flex;position:relative}.film-scene h2{letter-spacing:-.04em;max-width:1000px;text-shadow:0 2px 44px color-mix(in srgb,var(--film-ink) 72%,transparent);text-wrap:balance;font-size:clamp(2.2rem,min(5.4vw,10.5vh),5.6rem);font-weight:600;line-height:1.07}.scene-right{text-align:right}.scene-right h2,.scene-right .split-line{margin-left:auto}.cinema-description{color:var(--on-film-soft);text-shadow:0 1px 22px var(--film-ink);margin-top:16px;font-size:clamp(.95rem,1.25vw,1.1rem)}.film-scene .text-link{color:var(--on-film)}.film-scene .text-link:hover{color:var(--film-accent)}.film-opening{min-height:100svh;margin-top:calc(var(--header-height) * -1);padding-block:calc(var(--header-height) + 10px) 18px;flex-direction:column;justify-content:flex-end;align-items:stretch}.film-opening h1{letter-spacing:-.04em;font-size:clamp(2.8rem,min(6.5vw,12.5vh),6.6rem);font-weight:650;line-height:1.02}.word-mask{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:hidden}.hero-word{animation:1.15s cubic-bezier(.16,1,.3,1) both word-up;display:inline-block}.word-mask:nth-child(2) .hero-word{animation-delay:.12s}.hero-in{animation:.9s cubic-bezier(.2,.8,.2,1) .4s both hero-in}.hero-subline.hero-in{animation-delay:.5s}.hero-actions.hero-in{animation-delay:.6s}@keyframes word-up{0%{transform:translateY(115%)}}@keyframes hero-in{0%{opacity:0;transform:translateY(22px)}}.hero-subline{font-family:var(--font-display);color:var(--on-film-soft);letter-spacing:-.015em;margin-top:10px;font-size:clamp(1.25rem,2.1vw,1.9rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:22px;display:flex}.hero-actions>a:first-child{background:var(--film-primary);color:var(--film-primary-ink)}.cinema-link{color:var(--on-film);align-items:center;gap:10px;min-height:48px;font-size:.9rem;font-weight:600;display:inline-flex}.cinema-link svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cinema-link:hover{color:var(--film-accent)}.cinema-link:hover svg{transform:translateY(4px)}.film-cue-row{justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(14px,3vh,34px);display:flex}.cinema-control,.scroll-cue{min-height:44px;color:var(--on-film-soft);align-items:center;gap:10px;font-size:.86rem;font-weight:600;display:inline-flex}.cinema-control svg{transition:transform .3s}.cinema-control:hover{color:var(--film-accent)}.cinema-control:hover svg{transform:translateY(3px)}.scroll-cue-track{background:color-mix(in srgb,var(--on-film) 25%,transparent);width:1px;height:30px;display:block;position:relative;overflow:hidden}.scroll-cue-track:after{content:"";background:var(--film-accent);animation:1.8s cubic-bezier(.7,0,.3,1) infinite scroll-cue;position:absolute;inset:0}.scroll-cue:hover .scroll-cue-track:after{animation-play-state:paused}@keyframes scroll-cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.story-section{padding-block:clamp(60px,8vw,120px)}.story-grid{grid-template-columns:1fr 1.05fr;align-items:start;gap:clamp(30px,6vw,90px);display:grid}.story-intro{top:calc(var(--header-height) + 50px);color:var(--on-film);position:sticky}.story-intro h2{text-shadow:0 2px 40px color-mix(in srgb,var(--film-ink) 72%,transparent)}.story-step{border:1px solid var(--border);background:var(--film-card);border-radius:16px;margin-bottom:34vh;padding:clamp(24px,3vw,40px);transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .35s;position:relative}.story-step:last-child{margin-bottom:6vh}.story-step h3{letter-spacing:-.025em;color:var(--muted);font-size:clamp(1.6rem,2.8vw,2.6rem);line-height:1.14;transition:color .5s}.story-step.is-current h3{color:var(--foreground)}.story-step>p{color:var(--muted);margin-top:16px}@media (hover:hover){.story-step:hover{border-color:var(--accent)}}@media (max-width:860px){.story-grid{grid-template-columns:1fr}.story-intro{position:static}.story-step{margin-bottom:22vh}.story-step h3{color:var(--foreground)}}@media (max-width:740px){.film-scene{min-height:110svh}.film-opening{min-height:100svh}.film-shade{background:linear-gradient(180deg,color-mix(in srgb,var(--film-ink) 50%,transparent) 0%,transparent 26%,transparent 44%,color-mix(in srgb,var(--film-ink) 85%,transparent) 100%)}.film-opening h1{font-size:clamp(2.6rem,12.4vw,5rem)}.film-scene h2{font-size:clamp(1.9rem,8.4vw,3.2rem)}.scene-right{text-align:left}.scene-right h2,.scene-right .split-line{margin-left:0}.hero-actions{gap:6px 18px;margin-top:16px}.cinema-link{font-size:.82rem}}@media (max-height:520px){.hero-subline{display:none}.film-opening h1{font-size:clamp(2rem,15vh,4rem)}.hero-actions{margin-top:8px}.film-cue-row{margin-top:4px}.film-scene h2{font-size:clamp(1.5rem,11vh,2.6rem)}}@media (prefers-reduced-motion:reduce){.scroll-cue-track:after{animation:none}.story-step h3{color:var(--foreground)}}
