*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#f2eee7;font:16px/1.65 Arial,sans-serif}a{color:inherit}.nav{position:fixed;z-index:50;top:0;left:0;right:0;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:linear-gradient(#050505f5,#050505aa,transparent)}.brand{text-decoration:none;font-family:Georgia,serif;letter-spacing:.12em;font-weight:bold}.brand span,.section h2 em,.tagline b,.character span,.role{color:#e32b2b}.nav nav{display:flex;gap:20px}.nav nav a{text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em;color:#ddd}.menu{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.hero{height:100vh;min-height:680px;background:url('assets/adt-homepage-approved.jpg') center/cover no-repeat;position:relative;display:grid;place-items:center;text-align:center}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#050505 0%,transparent 38%,#0007 100%),linear-gradient(90deg,#0007,transparent,#0007)}.hero-copy{z-index:2}.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#bbb;font-weight:bold}.hero h1{font:700 clamp(3.8rem,9vw,8rem)/.78 Georgia,serif;margin:.25em 0;text-shadow:0 5px 20px #000}.hero h1 span{text-shadow:3px 3px 0 #801515}.tagline{letter-spacing:.36em;font-size:.8rem}.actions{display:flex;justify-content:center;gap:12px;margin-top:30px}.btn{padding:12px 20px;border:1px solid #e32b2b;background:#9f1717;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.btn.ghost{background:#0009;border-color:#777}.section{padding:105px 7vw}.split{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.section h2{font:700 clamp(2.6rem,5vw,5rem)/1.02 Georgia,serif;margin:.15em 0 .45em}.prose{font-size:1.07rem;color:#d7d3ce}.prose blockquote{font:1.7rem Georgia,serif;border-left:2px solid #e32b2b;padding-left:22px;margin:32px 0}.center{text-align:center}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.character{background:#0c0c0e;border:1px solid #292929;overflow:hidden}.character img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.character div{padding:18px}.character h3,.bio-card h3{font:1.65rem Georgia,serif;margin:0}.character p{margin:2px 0;color:#aaa}.character span{display:block;margin-top:10px;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.cast-bg{background:linear-gradient(#050505ee,#050505f3),url('assets/hero.jpg') center/cover fixed}.bio-grid{max-width:1180px;margin:40px auto 0;display:grid;gap:22px}.bio-card{display:grid;grid-template-columns:220px 1fr;background:#0a0a0aeb;border:1px solid #292929}.bio-card img{width:100%;height:100%;min-height:290px;object-fit:cover}.bio-card div{padding:26px 30px}.bio-card p{margin:.5em 0;color:#d0ccc7}.role{letter-spacing:.22em;font-size:.72rem;font-weight:bold}.filmmaker{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:7vw;align-items:center}.portrait img{width:100%;border:1px solid #333;box-shadow:20px 20px 0 #721414}.signature{font:italic 1.4rem Georgia,serif;color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.gallery img{width:100%;height:420px;object-fit:cover}.gallery .wide{grid-column:1/-1;height:auto}.premiere{background:linear-gradient(90deg,#0b0b0b,#260606);display:grid;grid-template-columns:1fr auto;align-items:center}.premiere p{max-width:700px;color:#ccc}.premiere-mark{font:900 clamp(5rem,15vw,13rem) Georgia,serif;color:#2b0909;text-shadow:0 0 40px #b71a1a55}footer{text-align:center;padding:55px 20px;border-top:1px solid #222;color:#999}footer img{width:min(330px,80vw);mix-blend-mode:screen;margin-bottom:15px}@media(max-width:900px){.nav nav{display:none;position:absolute;top:68px;right:4vw;background:#090909;border:1px solid #333;padding:20px;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.split,.filmmaker{grid-template-columns:1fr}.character-grid{grid-template-columns:1fr 1fr}.bio-card{grid-template-columns:150px 1fr}.gallery{grid-template-columns:1fr 1fr}.premiere{grid-template-columns:1fr}.premiere-mark{display:none}}@media(max-width:600px){.section{padding:80px 6vw}.hero{min-height:620px}.character-grid{grid-template-columns:1fr}.bio-card{grid-template-columns:1fr}.bio-card img{height:330px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:300px}.tagline{letter-spacing:.2em}}
.premiere-details{font-size:1.2rem;color:#fff!important;margin:1.1rem 0}.ticket-btn{display:inline-block;margin-top:18px}

.media-section{background:#080808}.video-feature{max-width:1100px;margin:40px auto 0;display:grid;grid-template-columns:1.2fr .8fr;gap:30px;background:linear-gradient(135deg,#140606,#090909);border:1px solid #332020;padding:40px}.video-feature h3,.credits-grid h3,.press-grid h3{font:1.7rem Georgia,serif}.video-list{border-left:1px solid #522;padding-left:28px;color:#ccc}.video-list p{margin:.45em 0}.crew-section{background:linear-gradient(#070707,#110505)}.credits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1200px;margin:40px auto 0}.credits-grid>div,.press-grid>div{background:#0b0b0d;border:1px solid #2b2b2b;padding:28px}.credits-grid p{color:#c8c3be}.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:40px auto}.press-grid a:not(.btn){color:#ddd}.social-strip{max-width:1200px;margin:auto;border-top:1px solid #333;padding-top:25px;display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.social-strip strong{color:#e32b2b;font-size:1rem}@media(max-width:900px){.video-feature,.credits-grid,.press-grid{grid-template-columns:1fr}.video-list{border-left:0;border-top:1px solid #522;padding:20px 0 0}}

.teaser-btn{display:inline-block;margin-top:14px;padding:9px 12px;border:1px solid #7c1717;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;background:#180606}
.teaser-btn:hover,.inline-link:hover,.video-list a:hover,.social-links a:hover{color:#e32b2b}.inline-link{color:#fff;text-decoration:underline;text-decoration-color:#8d2020;text-underline-offset:3px}.video-list a{color:#ddd;text-decoration:none}
.gallery-new{columns:3 300px;column-gap:14px;margin-top:35px}.gallery-item{position:relative;margin:0 0 14px;break-inside:avoid;overflow:hidden;background:#0b0b0b}.gallery-item img{width:100%;height:auto;display:block}.gallery-item figcaption{display:none}.gallery-item.add-title figcaption{display:block;position:absolute;left:0;right:0;bottom:0;padding:42px 18px 15px;background:linear-gradient(transparent,#050505e8);font:700 clamp(1rem,2vw,1.55rem) Georgia,serif;letter-spacing:.08em;text-align:center;color:#eee;text-shadow:2px 2px 0 #6f1111}
.social-links{align-items:flex-start}.social-links a{color:#ddd;text-decoration:none;text-transform:none;letter-spacing:.06em}
.mailing-popup{position:fixed;inset:0;background:#000c;z-index:200;display:none;place-items:center;padding:20px}.mailing-popup.show{display:grid}.mailing-card{position:relative;width:min(520px,94vw);background:linear-gradient(145deg,#130505,#080808);border:1px solid #642020;padding:36px;box-shadow:0 25px 80px #000}.mailing-card h2{font:700 2.5rem/1 Georgia,serif;margin:.2em 0}.mailing-card label{display:block;margin-top:12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#bbb}.mailing-card input{width:100%;padding:12px;margin:5px 0 8px;background:#050505;border:1px solid #444;color:#fff}.mailing-card .btn{margin-top:10px}.mailing-close{position:absolute;right:12px;top:8px;border:0;background:none;color:#fff;font-size:2rem;cursor:pointer}.privacy-note{font-size:.72rem;color:#999;margin-top:15px}
@media(max-width:700px){.gallery-new{columns:2 150px}.mailing-card{padding:28px 22px}}

/* v1.3 approved homepage */
.hero-actions-only{position:absolute;z-index:3;left:50%;bottom:4.5vh;transform:translateX(-50%);width:100%;pointer-events:none}
.hero-actions-only .actions{pointer-events:auto;margin:0}
@media(max-width:700px){.hero-actions-only{bottom:3vh}.hero-actions-only .actions{gap:8px}.hero-actions-only .btn{padding:10px 14px;font-size:.65rem}}

/* Dedicated crew biographies — v1.4 */
.crew-bios{max-width:1180px;margin:44px auto 60px;display:grid;gap:28px}
.crew-bio{display:grid;grid-template-columns:minmax(210px,290px) 1fr;gap:32px;align-items:stretch;background:#0d0c0d;border:1px solid #382222;overflow:hidden}
.crew-bio img{display:block;width:100%;height:100%;min-height:290px;object-fit:cover;object-position:center 28%}
.crew-bio>div{padding:28px 30px 26px 0;align-self:center}
.crew-bio h3,.crew-subhead{font:normal 2rem Georgia,serif;margin:.2em 0 .6em;color:#f2eee7}
.crew-bio p:not(.role){color:#d2cac7;line-height:1.75}
.crew-subhead{text-align:center;font-size:1.8rem;margin:30px 0 0}
@media(max-width:700px){.crew-bio{grid-template-columns:1fr;gap:0}.crew-bio img{height:320px;min-height:0;object-fit:cover}.crew-bio>div{padding:22px}.crew-bio h3{font-size:1.8rem}}

/* v1.5: gallery imagery has no promotional lettering or overlays */
.gallery-item figcaption,.gallery-item.add-title figcaption{display:none!important}
/* Keep all four character teaser buttons aligned and centered */
.character-grid{align-items:stretch}
.character{display:flex;flex-direction:column;height:100%}
.character>div{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1;width:100%}
.character>div h3,.character>div p,.character>div span{width:100%}
.character .teaser-btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;width:min(100%,240px);margin:auto auto 0;padding:12px 10px;line-height:1.3}
.character>div span{margin-bottom:16px}

/* v1.6: never crop the approved hero artwork on any viewport */
.hero{background-color:#050505!important;background-image:url('assets/adt-homepage-approved.jpg')!important;background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important;min-height:0;height:100svh;}
.nav nav a{font-size:.85rem;letter-spacing:.10em;}
@media(max-width:1100px){.nav nav{gap:12px}.nav nav a{font-size:.78rem}}
@media(max-width:900px){.nav nav a{font-size:.9rem}}

/* Making of A Devil's Tempest */
.bts-section{background:radial-gradient(ellipse at 50% 0,#2b090d 0%,#0a080a 44%,#060608 100%);border-top:1px solid #2e1316;border-bottom:1px solid #2e1316}
.bts-intro{max-width:960px;margin:0 auto 40px;text-align:center}
.bts-intro h2 em{color:#ed3434;font-style:italic}
.bts-lead{font-size:1.08rem;max-width:780px;margin:0 auto;color:#d4c8c6;line-height:1.8}
.bts-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1250px;margin:0 auto 85px}
.bts-video-card{min-width:0;background:#100b0d;border:1px solid #4b2022;box-shadow:0 18px 42px #0008;overflow:hidden}
.bts-video-frame{background:#000;display:grid;place-items:center;height:min(56vw,410px)}
.bts-video-frame video{width:100%;height:100%;object-fit:contain;background:#000}
.bts-video-copy{padding:25px 28px 30px}
.bts-kicker{font-size:.7rem;letter-spacing:.22em;color:#e34a4a;font-weight:bold}
.bts-video-copy h3,.bts-gallery-header h3{font:2rem Georgia,serif;margin:8px 0 12px}
.bts-video-copy p{color:#c9c0c0;margin:0}
.bts-gallery-header{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1250px;margin:0 auto 28px}
.bts-filters{display:flex;flex-wrap:wrap;gap:8px}
.bts-filter{cursor:pointer;color:#ddd;background:#171014;border:1px solid #6b3636;padding:10px 14px;font:600 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.bts-filter:hover,.bts-filter.is-active{background:#9f1717;color:white;border-color:#d53b3b}
.bts-photo-grid{max-width:1250px;margin:0 auto;columns:4 210px;column-gap:14px}
.bts-photo{position:relative;break-inside:avoid;margin:0 0 14px;background:#120c0d;overflow:hidden;border:1px solid #322024}
.bts-photo-open{cursor:zoom-in;display:block;padding:0;border:0;background:none;width:100%;line-height:0}
.bts-photo img{display:block;width:100%;height:auto;transition:transform .3s,filter .3s}
.bts-photo-open:hover img{transform:scale(1.035);filter:brightness(1.08)}
.bts-photo figcaption{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;padding:10px 12px;color:#c7b4b4}
.bts-photo[hidden]{display:none!important}
.bts-gallery-footer{text-align:center;margin:30px auto 0}
.bts-more{cursor:pointer}
.bts-lightbox{position:fixed;max-width:min(94vw,1050px);max-height:94vh;border:1px solid #633;padding:16px;background:#09090b;color:#fff}
.bts-lightbox::backdrop{background:#000e}
.bts-lightbox img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}
.bts-lightbox-caption{text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;color:#d5b8b8}
.bts-lightbox-close{position:absolute;right:12px;top:5px;color:white;background:#2d0a0a;border:0;border-radius:4px;font-size:2rem;cursor:pointer;z-index:1}
@media(max-width:950px){.bts-feature-grid{grid-template-columns:1fr}.bts-gallery-header{display:block}.bts-filters{margin-top:15px}.bts-photo-grid{columns:3 180px}}
@media(max-width:600px){.bts-photo-grid{columns:2 135px}.bts-video-frame{height:370px}.bts-video-copy{padding:18px}.bts-gallery-header h3{font-size:1.55rem}}

/* v1.8: three homepage calls to action */
.hero-actions-only .actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:0 18px}
.hero-actions-only .btn{white-space:normal;text-align:center;line-height:1.35}
.hero-actions-only .premiere-cta{background:#971616;border-color:#f14545;font-weight:700}
.hero-actions-only .premiere-cta span{display:block;font-size:.68rem;letter-spacing:.18em;margin-top:3px}
@media(max-width:700px){.hero-actions-only .actions{gap:7px;padding:0 8px}.hero-actions-only .btn{font-size:.6rem;padding:9px 11px}.hero-actions-only .premiere-cta span{font-size:.56rem}}

/* v1.9: two balanced primary CTAs and centered second-row ticket CTA */
.hero-actions-only .actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;margin:0 auto;max-width:min(96vw,800px)}
.hero-actions-only .hero-primary-actions{display:flex;align-items:center;justify-content:center;gap:14px;width:100%}
.hero-actions-only .hero-primary-actions .btn{min-width:190px;flex:0 1 220px;white-space:nowrap}
.hero-actions-only .premiere-cta{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:320px;max-width:95%;padding:13px 22px;text-align:center;white-space:normal}
@media(max-width:600px){.hero-actions-only .actions{gap:9px}.hero-actions-only .hero-primary-actions{gap:8px}.hero-actions-only .hero-primary-actions .btn{min-width:0;flex:1;padding:10px 7px;font-size:.62rem}.hero-actions-only .premiere-cta{min-width:0;width:92%;padding:11px 12px;font-size:.65rem}}

/* v2.0: three connected calls to action, black/red/black */
.hero-actions-only{width:min(1100px,calc(100% - 32px));max-width:none}
.hero-actions-only .actions.hero-cta-row{display:grid;grid-template-columns:1fr 1.75fr 1fr;align-items:stretch;justify-content:center;gap:0;width:100%;max-width:1080px;padding:0;margin:0 auto;filter:drop-shadow(0 5px 16px #000b)}
.hero-actions-only .hero-cta-row .hero-cta{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;max-width:none;margin:0;padding:17px 14px;min-height:66px;line-height:1.3;text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.10em;font-size:clamp(.64rem,.9vw,.82rem);font-weight:700;white-space:normal;border:1px solid #b43a3a;border-radius:0;transition:background .2s,transform .2s}
.hero-actions-only .hero-cta-row .hero-cta:not(:first-child){border-left:0}
.hero-actions-only .hero-cta-row .hero-cta-dark{background:#08080beF;color:#fff}
.hero-actions-only .hero-cta-row .hero-cta-ticket{background:#b51920;color:#fff;border-color:#f04444}
.hero-actions-only .hero-cta-row .hero-cta-dark:hover{background:#2d1116}
.hero-actions-only .hero-cta-row .hero-cta-ticket:hover{background:#df222b}
.hero-actions-only .hero-cta-row .hero-cta:focus-visible{outline:3px solid #fff;outline-offset:3px;z-index:2}
@media(max-width:680px){.hero-actions-only{width:calc(100% - 16px);bottom:2vh}.hero-actions-only .actions.hero-cta-row{grid-template-columns:1fr 1.55fr 1fr}.hero-actions-only .hero-cta-row .hero-cta{font-size:clamp(.49rem,2vw,.68rem);letter-spacing:.02em;padding:11px 5px;min-height:64px}}

/* v2.1: single authoritative connected CTA layout (overrides historical rules). */
#home .hero-copy.hero-actions-only{position:absolute;left:50%;right:auto;bottom:clamp(20px,5vh,65px);transform:translateX(-50%);width:min(1060px,calc(100% - 32px));max-width:none;margin:0;padding:0;pointer-events:none;z-index:5}
#home .hero-copy.hero-actions-only .actions.hero-cta-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr);width:100%;max-width:none;gap:0;margin:0;padding:0;align-items:stretch;justify-content:stretch;flex-direction:row;flex-wrap:nowrap;filter:drop-shadow(0 6px 14px #000c);pointer-events:auto}
#home .hero-copy.hero-actions-only .actions.hero-cta-row > a.hero-cta{display:flex;box-sizing:border-box;flex:none;min-width:0;max-width:none;width:100%;min-height:70px;height:100%;margin:0;padding:12px 10px;align-items:center;justify-content:center;white-space:normal;text-align:center;font:700 clamp(10px,1.1vw,14px)/1.35 Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase;border:1px solid #a73a3a;border-radius:0;text-decoration:none;color:#fff}
#home .hero-copy.hero-actions-only .actions.hero-cta-row > a.hero-cta + a.hero-cta{border-left:0}
#home .hero-copy.hero-actions-only .actions.hero-cta-row > a.hero-cta-dark{background:#08080bf2}
#home .hero-copy.hero-actions-only .actions.hero-cta-row > a.hero-cta-ticket{background:#b51920}
@media(max-width:600px){#home .hero-copy.hero-actions-only{width:calc(100% - 16px);bottom:16px}#home .hero-copy.hero-actions-only .actions.hero-cta-row{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,1fr)}#home .hero-copy.hero-actions-only .actions.hero-cta-row > a.hero-cta{font-size:clamp(8px,2vw,11px);letter-spacing:0;min-height:66px;padding:8px 4px}}

/* Clear video affordance on both Making Of clips */
.bts-video-frame{position:relative}
.bts-video-play-hint{position:absolute;top:16px;left:16px;pointer-events:none;background:rgba(10,7,9,.86);border:1px solid #da4242;color:#fff;letter-spacing:.12em;font-size:.76rem;font-weight:700;padding:12px 16px;box-shadow:0 4px 22px #000b;z-index:2}
.bts-video-frame:has(video:playing) .bts-video-play-hint{display:none}
@media(max-width:600px){.bts-video-play-hint{font-size:.66rem;top:9px;left:9px;padding:9px 11px}}

/* Mailchimp signup integration — retains ADT visual design */
.mailing-honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mailing-consent{display:flex!important;gap:10px;align-items:flex-start;font-size:.78rem!important;line-height:1.5;text-transform:none!important;letter-spacing:normal!important;margin:12px 0 4px!important;color:#ddd!important}
.mailing-consent input{width:auto!important;flex:0 0 auto;margin:3px 0 0!important;accent-color:#b71919}
.mailing-response-frame{display:none;width:100%;height:170px;background:#fff;border:1px solid #555;margin-top:15px}
.mailing-response-frame.is-visible{display:block}
.mailing-submit-note{font-size:.78rem;color:#e6d4d4;margin-top:12px}
.mailing-submit-note[hidden]{display:none}

/* v2.4 compact signup, no embedded second Mailchimp form */
.mailing-popup{padding:12px;overflow-y:auto;align-items:center}
.mailing-card{width:min(410px,calc(100vw - 28px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:23px 25px 19px}
.mailing-card h2{font-size:clamp(1.65rem,5vw,2rem);margin:.15em 0 .3em}
.mailing-card>p:not(.eyebrow){font-size:.85rem;line-height:1.45;margin:6px 0}
.mailing-card label:not(.mailing-consent){margin-top:7px;font-size:.68rem}
.mailing-card input:not([type=checkbox]){padding:9px 10px;margin:3px 0 5px}
.mailing-card .btn{margin-top:9px;padding:11px 15px}
.mailing-card .privacy-note{font-size:.66rem;margin-top:10px}
.mailing-card .mailing-consent{font-size:.72rem!important;margin:8px 0!important}
@media(max-height:670px){.mailing-popup{align-items:start}.mailing-card{margin:auto}}

.mailing-result{padding:10px 0;text-align:center}.mailing-result h3{font:700 1.55rem Georgia,serif;color:#fff}.mailing-result p{color:#ddd;font-size:.9rem;line-height:1.6}.mailing-result .btn{margin-top:10px;cursor:pointer}.mailing-card{max-width:430px}

/* v2.7 — Mobile cast portraits: show full supplied photograph, no head cropping. */
@media (max-width:600px){
  #cast .bio-card img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center top;}
}
