@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#10221c;--gold:#d2b578;--cream:#f4eddc;--serif:Cinzel,Georgia,serif;--sans:"DM Sans",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101f19;color:var(--cream);font:16px/1.55 var(--sans)}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #f7be55;outline-offset:4px}
header,footer{display:flex;align-items:center;justify-content:space-between;padding:18px max(5%,calc((100% - 1200px)/2));gap:20px;background:#101d17;border-bottom:1px solid #706748}
.brand{display:flex;align-items:center;gap:12px;font:600 20px var(--serif);white-space:nowrap}.tri{width:28px;height:25px;display:inline-block;background:linear-gradient(140deg,#f4dda9,#b39350);clip-path:polygon(50% 0,100% 100%,0 100%,25% 50%,50% 100%,75% 50%,25% 50%)}nav{display:flex;gap:clamp(16px,3vw,46px)}nav a{font-size:13px;font-weight:600;color:#e2dfcf}nav a:hover,.textlink:hover,footer a:hover{color:var(--gold);text-decoration:underline}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:clamp(480px,69vh,760px);padding:38px 16px 45px;background:linear-gradient(180deg,#08150b26,#0a170f4d 40%,#08170edb),url('assets/hero.jpg') center 52%/cover;color:#fff4d9}
.frame{position:absolute;inset:16px;pointer-events:none;border:1px solid #d6b77a48}.frame:before,.frame:after{content:'◆';position:absolute;color:#cfbb8d;font-size:12px;line-height:1;top:-6px}.frame:before{left:-5px}.frame:after{right:-5px}
h1{margin:0;width:min(590px,93vw);height:clamp(170px,23vh,240px);display:grid;place-items:center;mix-blend-mode:screen;animation:float 7s ease-in-out infinite}.logo{width:100%;height:100%;object-fit:cover;object-position:center;clip-path:inset(6% 16% 6% 16%)}@keyframes float{50%{transform:translateY(-5px)}}
.release,small,.timer span,.cta,.textlink{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.release{margin:23px 0 12px;text-shadow:0 1px 5px #000}.release time{color:#ffde96}.timer{display:flex;margin:0 0 24px;text-align:center}.timer span{min-width:78px;padding:0 12px;color:#f0dfbc;font-size:9px;border-right:1px solid #ddc59055}.timer span:last-child{border:0}.timer b{display:block;color:white;font:500 35px/1.1 Georgia,serif;letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-bottom:4px}.cta{background:#ddc48e;color:#1c261a;padding:13px 23px;outline:1px solid #e3d0a1;outline-offset:3px;letter-spacing:.1em}.cta:hover{background:#f8e1aa}.cta span{margin-right:7px}
.terrain{height:12px;background:linear-gradient(#40402a88,#20311f99),url('assets/grass.png') center/110px;border-block:1px solid #94835d}.wrap{max-width:1160px;width:88%;margin:auto}.section{padding:56px 0}h2,h3{font-family:var(--serif);font-weight:500;line-height:1.18;margin:0}h2{display:flex;align-items:center;gap:20px;font-size:clamp(32px,3.8vw,54px);margin-bottom:26px}h2:before{content:'✥';color:#bba16c;font-size:.52em}h2:after{content:'';flex:1;height:1px;background:linear-gradient(90deg,#a28f5e88,transparent)}h3{font-size:clamp(23px,2.4vw,35px)}small,.textlink{color:var(--gold)}p{color:#c3ccbd;max-width:56ch}.feature,.interviews{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:6%}.poster{position:relative;display:block;width:100%;padding:0;border:1px solid #8d8059;background:black}.poster img{display:block;width:100%;aspect-ratio:2.2;object-fit:contain}.play{position:absolute;bottom:15px;left:16px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #dcc792;border-radius:50%;color:var(--cream);background:#15231dc9}.poster:hover .play{background:#766239}.feature-copy h3,.interviews h3{margin-top:8px}.textlink{display:inline-block;margin:10px 0;border-bottom:1px solid #9a875d}.pale{color:#22382b;background:#e8e3d3}.pale p{color:#4a574a}.pale small{color:#685631}.interviews{grid-template-columns:1fr 1fr}.interview-slot,.photos i{border:1px solid #938b67;display:grid;place-items:center;background:linear-gradient(#182c21dc,#122219ee),url('assets/grass.png') center/160px;color:#a79569}.interview-slot{min-height:150px;font-size:38px}.photos,.cast{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.photos i{aspect-ratio:1.6}.photos i:after{content:'◇';font:30px Georgia;color:#ae9b70}.cast{grid-template-columns:1fr 1fr}.cast figure{margin:0}.cast img{width:100%;aspect-ratio:2;object-fit:cover;display:block}.cast figcaption{padding:15px 0}.article{display:flex;align-items:center;gap:5%;padding:22px 0;border-block:1px solid #867b51}.article h3{flex:1;font-size:clamp(20px,2vw,28px)}.article:hover h3{text-decoration:underline}footer{font-size:13px;color:#babda9;border-top:1px solid #6f7053}
dialog{background:#10221c;border:1px solid #aa925d;color:var(--cream);width:min(800px,94vw);padding:18px}dialog::backdrop{background:#000c}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog-head button{background:none;color:inherit;border:0;font-size:22px}iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
@media(max-width:700px){header{flex-direction:column;gap:12px;padding:12px 10px}nav{gap:clamp(12px,5vw,28px)}.brand{font-size:18px}.hero{min-height:470px;background-position:58% center}.timer span{min-width:62px;padding:0 8px}.feature,.interviews{grid-template-columns:1fr;gap:20px}.wrap{width:90%}.section{padding:38px 0}.photos{grid-template-columns:1fr 1fr}.photos i:first-child{grid-column:span 2;aspect-ratio:2.6}.cast{gap:12px}.cast h3{font-size:20px}.cast img{aspect-ratio:1.1}.article{align-items:flex-start}.article small{font-size:9px}footer{align-items:flex-start}.logo{object-fit:contain}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}h1{animation:none}}
.logo{object-fit:contain;clip-path:none}h1{height:clamp(210px,29vh,300px)}

.faq details { border-top: 1px solid #aaa183; }
.faq details:last-child { border-bottom: 1px solid #aaa183; }
.faq summary { padding: 16px 0; cursor: pointer; font-weight: 600; }
.faq summary:focus-visible { outline: 2px solid #66582f; outline-offset: 2px; }
.faq details p { max-width: 72ch; margin: 0 0 6px; }
.faq details a, #fan-notice a { text-decoration: underline; text-underline-offset: 3px; }
.faq details a { display: inline-block; margin-bottom: 18px; }
#fan-notice p { max-width: 76ch; margin: 5px 0 0; }
footer > a { white-space: nowrap; }
@media (max-width: 840px) {
  header { flex-direction: column; }
  nav { flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
}
@media (max-width: 550px) { footer { flex-direction: column; } }
