@font-face { font-family:Anton; src:url('assets/Anton-Regular.ttf') format('truetype'); font-display:swap; }
:root { color-scheme:dark; --ink:#090d12; --cream:#f3ead7; --muted:#bdb7aa; --gold:#dfbc7e; --fire:#cb653b; --violet:#c0a0f4; --cyan:#92dced; --line:#dcb98040; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:45px; }
body { margin:0; background:var(--ink); color:var(--cream); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
main { overflow:clip; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { cursor:pointer; color:inherit; border:0; }
button:disabled { cursor:default; }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--cyan); outline-offset:5px; }
::selection { background:#765391; color:white; }
.skip-link { position:fixed; top:14px; left:16px; z-index:100; background:var(--cream); color:var(--ink); padding:15px; }
.skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; padding:0; overflow:hidden; }
.site-header { position:absolute; inset:0 0 auto; height:94px; z-index:25; display:flex; align-items:center; justify-content:space-between; gap:26px; padding:0 4%; background:linear-gradient(#070b12e0,#070b1200); }
.brand { width:184px; height:73px; overflow:hidden; flex:none; }
.brand img { width:184px; height:auto; max-width:none; transform:translateY(-20px); }
.desktop-nav { display:flex; gap:30px; font-size:12px; letter-spacing:.5px; }
.desktop-nav a { padding:16px 0; color:#e0d5c5; }
.desktop-nav a:hover { color:white; }
.header-actions { display:flex; align-items:center; gap:24px; }
.motion-button { display:flex; gap:8px; align-items:center; min-height:44px; padding:10px 0; font-size:11px; color:#ccc3b6; background:transparent; }
.motion-button>span:first-child { width:20px; text-align:center; font-size:19px; }
.header-beta { font-size:12px; display:flex; align-items:center; gap:9px; min-height:44px; }
.header-beta span { font-size:10px; color:var(--gold); }
.header-beta span:last-child { font-size:22px; }
.menu-button { display:none; background:none; width:44px; height:44px; padding:10px; }
.menu-button span { height:1px; display:block; background:var(--cream); margin:7px 0; }
#mobile-nav { position:absolute; left:16px; right:16px; top:78px; padding:14px; background:#0d121cf5; border:1px solid #b18e5155; box-shadow:0 20px 40px #0009; }
#mobile-nav a { display:block; padding:17px 12px; border-bottom:1px solid #dcb98025; font-size:14px; }
.eyebrow { font-size:10px; line-height:1.6; letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
h1,h2 { font-family:Anton,Impact,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:-.5px; }
h2 em { font-style:normal; color:var(--gold); }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid #c79a5f; padding:16px 24px; background:#342016; color:#fff0cf; font-size:14px; font-weight:600; box-shadow:inset 0 0 0 3px #090c1480,0 5px 25px #0006; transition:background .2s,border-color .2s; }
.button:hover { border-color:#ffdb96; }
.button-fire { background:linear-gradient(105deg,#6c301c,#88442b); }
.button-fire:hover { background:#984d2e; }
.button-magic { background:#342042; border-color:#a68bbd; }
.button-note { text-transform:uppercase; font-size:9px; letter-spacing:1px; color:#e9c29f; font-weight:400; border-left:1px solid #d7a57070; padding-left:15px; }
.text-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; background:none; padding:10px 4px; min-height:44px; font-size:13px; color:#ddd0b9; }
.text-link:hover { color:#fff3d6; }
.hero { position:relative; isolation:isolate; min-height:790px; height:min(920px,100svh); display:flex; justify-content:center; align-items:center; padding:110px 24px 160px; }
.hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; image-rendering:pixelated; z-index:-3; transform:translate3d(0,var(--depth-offset,0px),0) scale(1.035); }
.hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(0deg,#090d12 0%,#090d1200 32%,#090d1200 78%,#090d1230),radial-gradient(ellipse at 50% 45%,#05091155,transparent 65%); }
.hero-content { text-align:center; width:min(710px,100%); position:relative; }
.hero-content .eyebrow { color:#d6c6a7; margin:0 0 25px; font-size:10px; letter-spacing:3px; }
.hero h1 { margin:0; font-size:clamp(76px,7.3vw,108px); line-height:1.03; text-shadow:0 3px 28px #000a; }
.hero h1 span { display:block; }
.hero h1 span+span { font-size:.69em; margin-top:14px; }
.scroll-cue { position:absolute; bottom:95px; left:calc(50% - 22px); display:grid; place-items:center; width:44px; height:44px; font-size:26px; color:var(--gold); }
.embers { position:absolute; inset:0; pointer-events:none; z-index:-1; }
.embers i { position:absolute; width:3px; height:3px; background:#e8a760; bottom:23%; left:17%; box-shadow:0 0 12px #e28540; animation:ember-rise 9s linear infinite; }
.embers i:nth-child(2) { left:24%; animation-delay:-5s; }.embers i:nth-child(3) { left:81%; animation-delay:-2s; }.embers i:nth-child(4) { left:89%; animation-delay:-7s; }.embers i:nth-child(5) { left:10%; animation-delay:-4s; }
@keyframes ember-rise { 0% { transform:translate(0,0); opacity:0; } 15%,70% { opacity:.8; } 100% { transform:translate(25px,-240px); opacity:0; } }
.clip-toggle { width:44px; height:44px; border-radius:50%; border:1px solid #d3c19c70; background:#101722eb; color:#f1e7d2; display:grid; place-items:center; font-size:17px; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:34px max(7vw,24px); border-top:1px solid #dcb98025; background:#080c12; font-size:11px; color:#a8a290; }
.footer-wordmark { font:23px Anton,sans-serif; text-transform:uppercase; color:#d6c6a8; letter-spacing:.5px; }
.site-footer>span { text-transform:uppercase; letter-spacing:2px; font-size:9px; }
.site-footer a:last-child { padding:16px 0; }
dialog { background:radial-gradient(ellipse at 50% 0,#2f213d,#0d121d 65%); color:var(--cream); border:1px solid #b59a7270; box-shadow:0 0 0 5px #11151d,0 35px 130px #000; width:min(540px,calc(100% - 36px)); max-height:calc(100svh - 48px); padding:48px; text-align:center; overflow:auto; }
dialog::backdrop { background:#040810df; backdrop-filter:blur(8px); }
dialog h2 { font-size:clamp(37px,5vw,56px); line-height:1.12; margin:20px 0; }
dialog h2 em { color:var(--violet); }
dialog p:not(.eyebrow) { font-size:14px; line-height:1.8; color:#c8bece; }
dialog .text-link { display:flex; margin:14px auto 0; }
.dialog-close { position:absolute; right:10px; top:10px; width:44px; height:44px; background:transparent; font-size:26px; color:#d5c8df; }
.motion-paused *,.motion-paused *::before,.motion-paused *::after { animation-play-state:paused!important; }
.motion-paused { scroll-behavior:auto; }
@media(max-width:1100px) { .desktop-nav { gap:20px; }.header-actions { gap:18px; }.motion-label { display:none; }.hero h1 { font-size:84px; } }
@media(max-width:760px) {
 .site-header { height:78px; padding:0 5%; }.brand { width:154px; height:65px; }.brand img { width:154px; transform:translateY(-15px); }.desktop-nav,.header-beta { display:none; }.menu-button { display:block; }.motion-button { min-width:44px; justify-content:center; }.header-actions { gap:8px; }
 .hero { min-height:790px; height:auto; padding:320px 20px 155px; }.hero-art { top:65px; height:430px; object-position:center top; }.hero-shade { background:linear-gradient(0deg,#090d12 0%,#090d12 29%,#090d1240 59%,transparent 75%); }.hero-content .eyebrow { font-size:8px; letter-spacing:1.5px; margin-bottom:18px; }.hero h1 { font-size:clamp(57px,15vw,83px); }.hero h1 span+span { font-size:.66em; margin-top:10px; }.scroll-cue { bottom:70px; }
 .site-footer { padding:26px 22px; flex-wrap:wrap; gap:8px 20px; }.site-footer>span { font-size:8px; }.site-footer a:last-child { width:100%; }dialog { padding:38px 24px 30px; }dialog .button { font-size:12px; padding-inline:16px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.clip-toggle svg,.motion-button svg { display:block; width:20px; height:20px; fill:currentColor; }

@media(min-width:761px) and (max-width:1100px) {
 .hero { height:880px; min-height:880px; padding-top:310px; padding-bottom:160px; }
 .hero-art { top:35px; height:auto; object-fit:contain; mask-image:linear-gradient(black 65%,transparent); }
 .hero-shade { background:linear-gradient(0deg,transparent,#090d12 23%,#090d1230 65%,transparent 85%); }
}

/* A visual invitation to the film, with no surrounding trailer copy. */
.trailer-preview { position:relative; display:block; width:min(416px,100%); aspect-ratio:16/9; margin:30px auto 0; padding:0; overflow:hidden; background:#12171b; border:1px solid #c9a36588; box-shadow:0 12px 36px #0009,0 0 0 4px #11161999; }
.trailer-preview>img { width:100%; height:100%; object-fit:cover; filter:brightness(.92); transition:filter .25s; }
.trailer-preview:hover>img,.trailer-preview:focus-visible>img { filter:brightness(1); }
.trailer-play { position:absolute; width:64px; height:64px; left:50%; top:47%; translate:-50% -50%; display:grid; place-items:center; border:1px solid #efd5a6; border-radius:50%; background:#111824b8; box-shadow:0 5px 22px #0008; transition:background .25s,box-shadow .25s; }
.trailer-play svg { width:30px; height:30px; fill:#ffedc8; margin-left:3px; }
.trailer-preview:hover .trailer-play { background:#3b2920dc; box-shadow:0 0 26px #dfa85744; }
.trailer-controls { position:absolute; inset:auto 0 0; height:30px; display:flex; align-items:center; gap:12px; padding:0 12px; background:linear-gradient(transparent,#070b13db); }
.trailer-controls>svg { width:13px; height:13px; fill:#e9dcc4; }
.trailer-track { height:2px; background:#e4d8be55; flex:1; }
.trailer-controls>.trailer-expand { fill:none; stroke:#e9dcc4; stroke-width:2; }
#trailer-dialog { width:min(1080px,calc(100% - 32px)); max-height:calc(100svh - 32px); padding:0; overflow:hidden; background:#080c10; border:1px solid #b99e6655; }
#trailer-dialog video { display:block; width:100%; height:auto; aspect-ratio:16/9; max-height:calc(100svh - 34px); object-fit:contain; border:0; }
#trailer-dialog .dialog-close { z-index:2; width:44px; height:44px; top:8px; right:8px; background:#11151cd9; border:1px solid #dcc29a66; color:#f8e9ce; }
#trailer-dialog .film-error { position:absolute; inset:auto 16px 40%; margin:0; padding:16px; background:#11151ce8; }
@media(max-width:760px) { .hero { padding-bottom:110px; }.trailer-preview { margin-top:26px; }.scroll-cue { bottom:36px; }.hero h1 { font-size:clamp(56px,14.5vw,82px); } }
