*{box-sizing:border-box}html{scroll-behavior:smooth;background:#02070d}body{margin:0;color:#f4f8fb;background:#02070d;font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:root{--ink:#02070d;--navy:#061521;--harbor:#0a2437;--cyan:#63e5ff;--white:#f4f8fb;--muted:#8aa1af;--line:rgba(99,229,255,.18);--gold:#e8be79;--max:1240px}.shell{width:min(var(--max),calc(100% - 48px));margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(2,7,13,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.navin{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:12px;font-weight:800;letter-spacing:.29em;text-transform:uppercase}.brand b{color:var(--cyan)}.navlinks{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.navlinks a{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#d3e0e7}.navlinks .cta{border:1px solid var(--line);padding:9px 12px;color:var(--cyan)}.hero{min-height:92vh;position:relative;display:flex;align-items:center;overflow:hidden;background:url('sweeper_bay_night.png') center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,13,.97),rgba(2,7,13,.76) 44%,rgba(2,7,13,.2)),linear-gradient(180deg,rgba(2,7,13,.1),rgba(2,7,13,.88))}.hero .shell{position:relative;z-index:2}.kicker,.eyebrow{color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.27em;text-transform:uppercase}h1{font-size:clamp(62px,9vw,130px);line-height:.84;letter-spacing:.075em;font-weight:460;text-transform:uppercase;margin:18px 0 0;max-width:930px}h1 small{display:block;font-size:.16em;letter-spacing:.5em;margin:0 0 18px .2em}h2{font-size:clamp(39px,5vw,68px);line-height:.98;letter-spacing:.065em;font-weight:430;text-transform:uppercase;margin:12px 0 0}h3{font-weight:520}.tagline{font-family:Georgia,serif;font-style:italic;font-size:clamp(20px,2vw,29px);max-width:700px;color:#e5edf2;margin-top:25px}.meta{color:#8fa6b5;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;min-height:52px;padding:0 22px;align-items:center;justify-content:center;border:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:rgba(2,7,13,.52)}.btn.primary{background:var(--cyan);color:#031018;border-color:var(--cyan)}.section{padding:96px 0;border-bottom:1px solid rgba(255,255,255,.07);background:#04101a}.section.alt{background:linear-gradient(180deg,#02080e,#07131e 55%,#02080e)}.head{display:flex;justify-content:space-between;align-items:end;gap:54px;margin-bottom:38px}.lede{max-width:610px;color:#8da4b2;font-size:14px;line-height:1.8}.trailer{display:grid;grid-template-columns:1.5fr .5fr;gap:16px}.video{aspect-ratio:16/9;border:1px solid var(--line);background:url('behind_the_scenes_waterfront.png') center/cover no-repeat;position:relative;overflow:hidden}.video:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,7,13,.05),rgba(2,7,13,.62))}.play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:25px;background:rgba(2,7,13,.42)}.side{border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,rgba(15,52,76,.22),rgba(2,7,13,.18))}.side .big{font-size:82px;font-weight:240;line-height:.86;color:rgba(99,229,255,.18)}.side p{color:#879dab;font-size:13px;line-height:1.72}.postergrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.postergrid figure{margin:0;border:1px solid rgba(255,255,255,.08);overflow:hidden;position:relative;background:#08131b}.postergrid .poster{min-height:760px}.postergrid .stack{display:grid;grid-template-rows:1fr 1fr;gap:16px}.postergrid .stack figure{min-height:370px}.postergrid img{width:100%;height:100%;object-fit:cover}.postergrid figure:after,.gallery figure:after,.citycard:after,.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(2,7,13,.9))}.caption{position:absolute;left:18px;right:18px;bottom:15px;z-index:2}.caption strong{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.caption span{display:block;color:#8ea4b2;font-size:10px;margin-top:6px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-card{padding:28px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(150deg,rgba(16,51,73,.2),rgba(2,7,13,.18));min-height:250px}.story-card .n{color:var(--cyan);font-size:10px;letter-spacing:.18em}.story-card h3{text-transform:uppercase;letter-spacing:.07em;font-size:18px;margin:24px 0 10px}.story-card p{color:#879dab;font-size:12px;line-height:1.7}.roadshow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.citycard{min-height:310px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background-position:center;background-size:cover}.citycard .inside{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}.citycard strong{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:18px}.citycard span{color:#8ca3b1;font-size:10px}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}.gallery figure{margin:0;min-height:310px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.gallery img{width:100%;height:100%;object-fit:cover}.profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile{border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,rgba(15,50,72,.2),rgba(2,7,13,.18));overflow:hidden}.portrait{height:285px;background-position:center 18%,center;background-size:cover,cover;background-repeat:no-repeat;position:relative}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(2,7,13,.8))}.profile .info{padding:20px}.role{color:var(--cyan);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.profile h3{font-size:19px;text-transform:uppercase;letter-spacing:.04em;margin:8px 0}.profile p{color:#879dab;font-size:11px;line-height:1.65}.link{color:var(--cyan);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 24px}.credit{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.07);padding:10px 0;font-size:11px}.credit span{color:#7891a2;text-align:right}.bio-list{display:grid;gap:14px}.bio{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.015)}.bio summary{cursor:pointer;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:18px}.bio summary::-webkit-details-marker{display:none}.bio summary strong{text-transform:uppercase;letter-spacing:.06em;font-size:18px}.bio summary span{color:var(--cyan);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.bio-body{padding:0 22px 24px;max-width:900px}.bio-body p{color:#9aadb9;font-size:13px;line-height:1.82}.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.team{padding:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(160deg,rgba(15,50,72,.18),rgba(2,7,13,.15));min-height:260px}.team h3{text-transform:uppercase;letter-spacing:.055em;font-size:21px}.team p{color:#8aa0af;font-size:12px;line-height:1.7}.team .tag{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);color:#708897;font-size:10px}.pressgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pressbox{padding:28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.015)}.pressbox ul{margin:0;padding-left:18px;color:#8ea4b2;font-size:12px;line-height:1.8}.signup{padding:42px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(16,56,80,.28),rgba(2,7,13,.36));display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;align-items:center}.form{display:grid;grid-template-columns:1fr 180px auto;gap:8px}.form input,.form select{min-height:52px;background:rgba(2,7,13,.7);border:1px solid var(--line);color:white;padding:0 12px}.footer{padding:34px 0 60px;color:#607988;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.footerin{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.pagehero{padding:120px 0 65px;background:linear-gradient(180deg,#081725,#02070d);border-bottom:1px solid var(--line)}.pagehero h1{font-size:clamp(45px,6vw,82px);max-width:none}.source-note{margin-top:18px;color:#667e8e;font-size:10px;line-height:1.6}.quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(28px,4vw,52px);line-height:1.2;color:#eef5f8}.visual-card{min-height:420px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background-size:cover;background-position:center}@media(max-width:980px){.trailer,.postergrid,.signup,.pressgrid{grid-template-columns:1fr}.roadshow{grid-template-columns:repeat(2,1fr)}.profiles{grid-template-columns:repeat(2,1fr)}.teamgrid,.credits{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/3}.navlinks{display:none}}@media(max-width:640px){.shell{width:min(var(--max),calc(100% - 28px))}.hero{min-height:780px}h1{font-size:clamp(42px,11vw,55px);white-space:nowrap}.head{display:block}.head .lede{margin-top:18px}.story-grid,.profiles,.teamgrid,.credits,.roadshow,.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}.form{grid-template-columns:1fr}.postergrid .poster{min-height:560px}.footer{padding-bottom:80px}}
/* V20 comprehensive production/publicity pass */
:root{--panel:rgba(255,255,255,.018)}
.pagebar{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.pagebar a{padding:8px 11px;border:1px solid rgba(255,255,255,.08);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#91a8b6}
.pagebar a:hover{border-color:var(--cyan);color:var(--cyan)}
.bio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.bio-full{border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(13,48,70,.18),rgba(2,7,13,.12));padding:30px}
.bio-full .title{color:var(--cyan);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.bio-full h2{font-size:clamp(28px,3.4vw,45px);margin:10px 0 17px}
.bio-full p{color:#97aab6;font-size:13px;line-height:1.82}
.bio-full .sources{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);font-size:9px;color:#647d8d;line-height:1.65}
.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.character-card{padding:24px;border:1px solid rgba(255,255,255,.08);background:var(--panel);min-height:215px}
.character-card .actor{color:var(--cyan);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.character-card h3{text-transform:uppercase;letter-spacing:.06em;font-size:18px;margin:10px 0 12px}
.character-card p{color:#879dab;font-size:12px;line-height:1.72}
.best-practice-band{padding:24px;border:1px solid var(--line);background:linear-gradient(110deg,rgba(16,56,80,.2),rgba(2,7,13,.15));display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.best-practice-band div{padding:12px;border-left:1px solid rgba(255,255,255,.08)}
.best-practice-band strong{display:block;color:#e8f2f6;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.best-practice-band span{display:block;color:#718999;font-size:10px;line-height:1.55;margin-top:6px}
.city-intro{min-height:360px;display:grid;place-items:end start;padding:28px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background-position:center;background-size:cover}
.city-intro:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,7,13,.92))}
.city-intro .inner{position:relative;z-index:2}
.city-intro h3{text-transform:uppercase;letter-spacing:.08em;font-size:26px;margin:0}
.city-intro p{color:#91a7b5;font-size:11px;margin:8px 0 0}
.inline-quote{padding:28px 0;font-family:Georgia,serif;font-style:italic;font-size:clamp(28px,4vw,48px);line-height:1.2;color:#e9f0f4}
.inline-quote b{color:var(--cyan);font-weight:400}
@media(max-width:980px){.bio-grid,.best-practice-band{grid-template-columns:1fr 1fr}.character-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.bio-grid,.best-practice-band,.character-grid{grid-template-columns:1fr}}


/* V21 mobile/tablet QA pass */
html,body{max-width:100%;overflow-x:hidden}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{height:auto}
.head>*,.trailer>*,.postergrid>*,.story-grid>*,.profiles>*,.teamgrid>*,.pressgrid>*,.signup>*,.bio-grid>*,.character-grid>*{min-width:0}
a,button,input,select,summary{touch-action:manipulation}
.brand{display:inline-flex;align-items:center;min-height:44px}
.navlinks a{display:inline-flex;align-items:center;min-height:44px;padding:0 3px}
.btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.35}
.pagebar a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px}
.link{display:inline-flex;align-items:center;min-height:44px;padding:5px 0}
.mobilemenu{display:none;position:relative}
.mobilemenu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:0 14px;border:1px solid var(--line);color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;background:rgba(2,7,13,.5)}
.mobilemenu summary::-webkit-details-marker{display:none}
.mobilepanel{position:absolute;top:calc(100% + 8px);right:0;width:min(86vw,320px);padding:8px;background:rgba(2,7,13,.98);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.42);z-index:80}
.mobilepanel a{display:flex;align-items:center;min-height:48px;padding:0 13px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d5e3ea}
.mobilepanel a:last-child{border-bottom:0;color:var(--cyan)}
.form input,.form select,.form button{min-width:0}
.pagehero h1{white-space:normal;overflow-wrap:normal;word-break:normal}
.pagehero .lede{max-width:760px}
.actions{min-width:0}
.actions .btn{min-width:0}

@media(max-width:980px){
  .navlinks{display:none}
  .mobilemenu{display:block}
  .navin{min-height:68px}
  .head{gap:24px}
}

@media(max-width:640px){
  .shell{width:calc(100% - 28px)}
  .section{padding:68px 0}
  .pagehero{padding:96px 0 52px}
  .hero{min-height:760px;min-height:92svh;background-position:65% center}
  .hero h1{font-size:clamp(34px,10.6vw,48px);letter-spacing:.035em;white-space:nowrap;line-height:.9}
  .hero h1 small{font-size:.21em;letter-spacing:.38em;margin-bottom:14px}
  .pagehero h1{font-size:clamp(38px,12vw,54px);line-height:1.02;letter-spacing:.045em;white-space:normal}
  h2{font-size:clamp(34px,10vw,46px);line-height:1.02;letter-spacing:.045em;overflow-wrap:break-word}
  .head{display:block;margin-bottom:30px}
  .head .lede{margin-top:18px}
  .lede{font-size:15px;line-height:1.72}
  .tagline{font-size:19px;max-width:94%}
  .meta{font-size:10px;line-height:1.55}
  .actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}
  .actions .btn{width:100%;min-height:52px;padding:10px 14px}
  .pagebar{gap:7px;margin-top:22px}
  .pagebar a{font-size:9px;flex:1 1 auto}
  .profile p,.story-card p,.team p,.character-card p,.bio-full p,.pressbox ul,.city-intro p{font-size:14px;line-height:1.72}
  .profile .info{padding:18px}
  .role,.eyebrow,.kicker{font-size:9.5px}
  .caption span{font-size:11px}
  .credit{font-size:12px;gap:12px}
  .bio-full{padding:22px}
  .pressbox{padding:22px}
  .signup{padding:26px;gap:26px}
  .form{grid-template-columns:1fr;gap:9px}
  .form input,.form select,.form button{width:100%;min-height:50px}
  .postergrid .poster{min-height:500px}
  .postergrid .stack figure{min-height:260px}
  .gallery figure{min-height:245px}
  .citycard{min-height:280px}
  .city-intro{min-height:300px;padding:22px}
  .footer{padding:30px 0 calc(42px + env(safe-area-inset-bottom))}
  .footerin{display:grid;gap:10px;line-height:1.6}
}

@media(max-width:350px){
  .shell{width:calc(100% - 24px)}
  .brand{font-size:10.5px;letter-spacing:.22em}
  .mobilemenu summary{min-width:68px;padding:0 10px}
  .hero h1{font-size:34px;letter-spacing:.025em}
  .pagehero h1{font-size:36px}
  h2{font-size:32px}
  .pagebar a{flex:1 1 46%;padding:0 8px}
}

/* V21 final tap-target refinement */
.navlinks a{min-width:44px;justify-content:center}
.link{min-width:44px}

@media(max-width:820px){.bio-grid{grid-template-columns:1fr}.bio-full{padding:24px}}

/* Production signup and corrected cast portraits */
.cast-name-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(circle at center,#173d50,#06111a)!important}.cast-name-card:after{display:none}.cast-name-card>span{display:grid;place-items:center;width:110px;height:110px;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);font-size:34px;letter-spacing:.08em}.cast-name-card>small{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#d5e0e7}
#premiere-signup{min-width:0}#premiere-signup .signup-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;color:#a9bdc9;font-size:13px;line-height:1.6;margin-top:8px;cursor:pointer}#premiere-signup .signup-consent input{appearance:auto;min-height:0;width:20px;height:20px;flex:none;margin:2px 0;accent-color:var(--cyan)}.signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{margin-top:12px;color:#91a6b7;font-size:12px;line-height:1.6}.signup-privacy summary{cursor:pointer;padding:10px 0}.signup-privacy a{overflow-wrap:anywhere;text-decoration:underline}#formnote[data-state="error"]{color:#ffb8ad}#formnote[data-state="success"]{color:#b8f1fd}#premiere-signup button:disabled{opacity:.65;cursor:wait}@media(max-width:1200px){#premiere-signup{grid-template-columns:1fr}}
