
*{box-sizing:border-box}
html,body{margin:0;background:#000;color:#f3efe9;font-family:Georgia,"Times New Roman",serif}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(360px,32%) minmax(0,68%);background:#000}
.hero-copy{padding:44px 28px;display:flex;flex-direction:column;justify-content:center;text-align:center;z-index:5;background:#020202}
.small{text-transform:uppercase;letter-spacing:.13em;line-height:1.65;font-size:clamp(.72rem,.95vw,.98rem);margin:3px 0}
.rule{width:175px;max-width:65%;height:1px;margin:16px auto;background:linear-gradient(90deg,transparent,#aaa,transparent)}
h1{margin:24px 0 10px;font-weight:400;font-size:clamp(4rem,7vw,7.4rem);line-height:.9;letter-spacing:.12em}
.tag{margin:9px 0 18px;color:#f02222;text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.42rem);letter-spacing:.21em}
.production,.release{text-transform:uppercase;letter-spacing:.13em}
.production{margin:2px 0 14px}
.release{color:#e01b1b;margin:0 0 24px}
.actions{display:grid;gap:13px;width:min(370px,100%);margin:0 auto}
.btn{min-height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #555;background:#090909;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:inherit;cursor:pointer}
.primary{background:linear-gradient(#a70b0b,#690000);border-color:#d71919}
.lower-links{width:min(370px,100%);margin:17px auto 0;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left}
.lower-links a,.lower-links button{color:#d5d5d5;text-decoration:none;font:inherit;font-size:.95rem;background:none;border:0;padding:0;cursor:pointer}
.lower-links a:hover,.lower-links button:hover{text-decoration:underline}

.hero-art{min-width:0;min-height:100svh;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}
.image-wrap{position:relative;width:100%;max-width:100%;aspect-ratio:1008/1218;flex:0 0 auto}
.image-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.lightning{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 10%,rgba(245,250,255,.95),rgba(186,218,255,.28) 24%,transparent 58%),linear-gradient(180deg,rgba(225,240,255,.20),transparent 60%);mix-blend-mode:screen}
.lightning.flash{animation:flash .65s ease-out}
@keyframes flash{0%{opacity:0}7%{opacity:.9}13%{opacity:.08}23%{opacity:.62}31%{opacity:.04}43%{opacity:.30}100%{opacity:0}}

.modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.93);place-items:center;padding:24px}
.modal.open{display:grid}
.close{position:fixed;right:22px;top:10px;border:0;background:none;color:#fff;font-size:48px;cursor:pointer;z-index:101}
.poster{max-width:95vw;max-height:94vh;width:auto;height:auto;object-fit:contain}
.about-box{position:relative;width:min(760px,92vw);max-height:84vh;overflow:auto;padding:46px 44px 34px;background:#090909;border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 70px rgba(0,0,0,.85)}
.about-box h2{margin:0 0 24px;text-transform:uppercase;letter-spacing:.14em;font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem)}
.about-box p{margin:0 0 22px;line-height:1.8;font-size:clamp(1rem,1.4vw,1.15rem);color:#eeeae4}
.about-x{position:absolute;right:12px;top:6px;border:0;background:none;color:#fff;font-size:38px;cursor:pointer}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:42px 22px 36px}
  .hero-art{min-height:0;height:auto}
  .image-wrap{width:100%;aspect-ratio:1008/1218}
  .lower-links{align-items:center;text-align:center}
}
@media(max-width:620px){
  h1{font-size:clamp(3.1rem,17vw,4.8rem);letter-spacing:.08em}
  .tag{font-size:.92rem}
  .about-box{padding:44px 24px 28px}
}
@media(prefers-reduced-motion:reduce){.lightning{display:none}}


.updates-box{position:relative;width:min(620px,92vw);padding:46px 44px 38px;background:#090909;border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 70px rgba(0,0,0,.85)}
.updates-box h2{margin:0 0 16px;text-transform:uppercase;letter-spacing:.14em;font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem)}
.updates-box p{margin:0 0 24px;line-height:1.7;color:#d9d5cf}
.mailchimp-form{display:grid;gap:12px;text-align:left}
.mailchimp-form label{text-transform:uppercase;letter-spacing:.10em;font-size:.9rem}
.mailchimp-form input[type="email"]{width:100%;min-height:54px;padding:12px 14px;border:1px solid #555;background:#111;color:#fff;font:inherit}
.mailchimp-form input[type="email"]:focus{outline:1px solid #d71919;border-color:#d71919}
.subscribe-btn{width:100%;margin-top:6px}
@media(max-width:620px){.updates-box{padding:44px 24px 28px}}

.reveal-red{color:#e01b1b}


/* Larger landing image adjustment */
@media (min-width:901px){
  .hero-art{
    padding:0;
    align-items:center;
    justify-content:center;
  }
  .image-wrap{
    width:min(100%, calc(100svh * 0.827586));
    max-width:100%;
    aspect-ratio:1008/1218;
  }
  .image-wrap img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
}

#pitchDeckPassword{width:100%;min-height:54px;padding:12px 14px;border:1px solid #555;background:#111;color:#fff;font:inherit}
.pitch-error{color:#ff6b6b!important;min-height:1.3em;margin:0!important;font-size:.9rem}

#pitchDeckFallback[hidden]{display:none!important}
#pitchDeckFallback{margin-top:8px}

/* Full-height, uncropped portrait landing art, isolated from the left copy panel. */
@media (min-width:901px){
 .hero-art{height:100svh;min-height:100svh;overflow:hidden;align-items:center;justify-content:center}
 .hero-art .image-wrap{height:100svh;width:min(100%, calc(100svh * 2 / 3));max-width:100%;aspect-ratio:2 / 3;flex:0 1 auto}
 .hero-art .image-wrap img{object-fit:contain;object-position:center;width:100%;height:100%}
}
@media (max-width:900px){
 .hero-art .image-wrap{width:100%;height:auto;aspect-ratio:2 / 3}
 .hero-art .image-wrap img{object-fit:contain}
}

/* Final artwork sizing: original 1024 x 1536 ratio, never stretched. */
.hero-art .image-wrap{aspect-ratio:auto!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:none!important;flex:0 1 auto!important;display:flex;align-items:center;justify-content:center;}
.hero-art .image-wrap img{position:static!important;inset:auto!important;display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100svh!important;object-fit:contain!important;object-position:center!important;aspect-ratio:1024 / 1536!important;}
@media(max-width:900px){.hero-art .image-wrap{width:100%!important}.hero-art .image-wrap img{width:100%!important;height:auto!important;max-height:none!important}}


/* Cloud lightning: align flash with the outdoor sky, not the attic window. */
.hero-art .image-wrap{position:relative!important;isolation:isolate;overflow:hidden}
.hero-art .image-wrap .lightning{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  opacity:0;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 42% 14% at 64% 44%,rgba(236,247,255,.95) 0%,rgba(142,190,255,.56) 32%,rgba(64,119,208,.14) 68%,transparent 100%),
    radial-gradient(ellipse 62% 17% at 48% 46%,rgba(194,226,255,.56),rgba(97,155,238,.23) 45%,transparent 95%);
}
.hero-art .image-wrap .lightning::after{
  content:"";position:absolute;left:60%;top:35%;width:19%;height:17%;
  background:linear-gradient(90deg,rgba(205,230,255,.25),#fff 48%,rgba(168,210,255,.75));
  clip-path:polygon(48% 0%,67% 0%,43% 37%,68% 34%,22% 100%,40% 53%,18% 55%);
  filter:drop-shadow(0 0 8px #a8d8ff);opacity:.85;
}
.hero-art .image-wrap .lightning.flash{animation:cloudLightning .72s ease-out both}
@keyframes cloudLightning{
  0%,100%{opacity:0}
  6%{opacity:.95}
  13%{opacity:.10}
  20%{opacity:.8}
  30%{opacity:.05}
  38%{opacity:.48}
  58%{opacity:.08}
}
@media(prefers-reduced-motion:reduce){.hero-art .image-wrap .lightning{display:none}}
