/* Series Hub + save dialog. Scoped to .series-page / .series-save / .watch-page extras. */
.series-page [hidden],.series-home [hidden],.up-next-more [hidden] { display:none !important; }
.series-home .series-home-start { margin:0 0 32px; text-align:center; }
.series-home .series-home-start .series-actions { justify-content:center; }
.series-home .chapter { position:relative; }
.series-home a:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.series-home .chapter img { width:100%; height:100%; object-fit:cover; display:block; }
.series-page { width:min(1180px,calc(100% - 36px)); margin:auto; padding:clamp(28px,5vw,64px) 0 48px; }
.series-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(20px,4vw,48px); align-items:end; margin-bottom:clamp(24px,4vw,40px); }
.series-intro h1 { margin:0; font-weight:400; font-size:clamp(2.2rem,5vw,4rem); line-height:1.02; letter-spacing:-.03em; }
.series-intro p.series-lede { margin:14px 0 0; color:rgba(232,238,232,.72); font:400 1rem/1.65 var(--sans); max-width:560px; }
.series-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.series-actions .primary { min-height:46px; }
.series-secondary-btn { display:inline-flex; align-items:center; min-height:46px; padding:0 18px; border:1px solid var(--line); border-radius:999px; color:var(--gold-light); background:transparent; text-decoration:none; font:700 .74rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.series-secondary-btn:hover { border-color:rgba(216,184,107,.5); }
.series-continue-note { margin:10px 0 0; color:rgba(232,238,232,.55); font:400 .82rem/1.5 var(--sans); }
.series-page .chapter { position:relative; }
.series-badge { position:absolute; z-index:1; top:14px; left:14px; padding:6px 10px; border-radius:999px; background:rgba(5,10,7,.82); color:var(--gold-light); font:700 .6rem/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.series-progress { height:4px; margin:0 0 14px; border-radius:4px; background:rgba(232,238,232,.14); overflow:hidden; }
.series-progress span { display:block; height:100%; background:var(--gold); }
.series-status { margin:10px 0 0 !important; color:var(--gold-light) !important; font:700 .66rem/1.3 var(--sans) !important; letter-spacing:.12em; text-transform:uppercase; }
.series-empty { margin:0 0 22px; padding:14px 18px; border:1px dashed var(--line); border-radius:14px; color:rgba(232,238,232,.62); font:400 .88rem/1.55 var(--sans); }
.series-band { margin-top:clamp(40px,6vw,72px); padding:clamp(22px,4vw,36px); border:1px solid var(--line); border-radius:18px; background:rgba(13,26,18,.7); display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; align-items:center; }
.series-band h2 { margin:0 0 6px; font-weight:400; font-size:clamp(1.4rem,3vw,2rem); }
.series-band p { margin:0; color:rgba(232,238,232,.65); font:400 .9rem/1.6 var(--sans); max-width:560px; }
.series-guides { margin-top:clamp(40px,6vw,72px); }
.series-guides h2 { margin:0 0 6px; font-weight:400; font-size:clamp(1.4rem,3vw,2rem); }
.series-guides > p { margin:0 0 18px; color:rgba(232,238,232,.6); font:400 .9rem/1.6 var(--sans); }
.series-guide-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.series-guide { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:rgba(13,26,18,.6); }
.series-guide video { display:block; width:100%; aspect-ratio:16/9; background:#030705; }
.series-guide h3 { margin:0; padding:12px 14px 14px; font-weight:400; font-size:1.05rem; }
.series-page a:focus-visible,.series-page button:focus-visible,.series-save :focus-visible,.watch-page a:focus-visible,.watch-page button:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.series-page .chapter img { width:100%; height:100%; object-fit:cover; display:block; }
/* end-of-episode extra actions */
.watch-page .frame:has(.up-next.visible) { min-height:440px; }
.watch-page .up-next.visible { overflow:auto; }
.up-next-more { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.up-next-more a,.up-next-more button { display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border:1px solid var(--line); border-radius:999px; color:var(--gold-light); background:rgba(2,5,3,.5); text-decoration:none; font:700 .66rem/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.up-next-more [hidden] { display:none; }
.countdown-paused { display:block; margin-top:6px; color:rgba(232,238,232,.6); font:400 .74rem/1.3 var(--sans); }
/* dialog */
.series-save { width:min(460px,calc(100% - 28px)); max-height:calc(100dvh - 28px); overflow:auto; padding:22px 24px 26px; border:1px solid rgba(216,184,107,.35); border-radius:18px; color:var(--mist); background:#0b1810; box-shadow:0 30px 90px rgba(0,0,0,.6); }
.series-save::backdrop { background:rgba(2,5,3,.72); }
.series-save h2 { margin:0 0 10px; font-weight:400; font-size:1.7rem; }
.series-save-close-row { display:flex; justify-content:flex-end; margin:-8px -10px 0 0; }
.series-save-close { width:40px; height:40px; border:0; border-radius:50%; color:var(--mist); background:transparent; font-size:1.5rem; cursor:pointer; }
.series-save-help,.series-save-done p { color:rgba(232,238,232,.72); font:400 .88rem/1.6 var(--sans); }
.series-save-form { display:grid; gap:10px; }
.series-save-form label { font:700 .72rem/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--gold-light); }
.series-save-form input[type=email] { min-height:46px; padding:0 14px; border:1px solid var(--line); border-radius:12px; color:var(--mist); background:#07110c; font:400 1rem var(--sans); }
.series-save-form input[aria-invalid=true] { border-color:#e39a8a; }
.series-save-error { margin:0; color:#f0b3a5; font:400 .84rem/1.4 var(--sans); }
.series-save-consent { display:flex !important; gap:10px; align-items:flex-start; text-transform:none !important; letter-spacing:0 !important; font:400 .84rem/1.5 var(--sans) !important; color:rgba(232,238,232,.75) !important; }
.series-save-consent input { margin-top:3px; width:18px; height:18px; flex:0 0 18px; }
.series-save .primary { justify-content:center; min-height:46px; border:0; cursor:pointer; }
@media (max-width:820px) { .series-intro { grid-template-columns:1fr; } .series-guide-list { grid-template-columns:1fr; } }
@media (max-width:620px) { .series-page { width:min(100% - 22px,1180px); } .series-actions .primary,.series-actions .series-secondary-btn { flex:1 1 100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce) { .series-page *,.series-home *,.up-next,.up-next *,.series-save { transition:none !important; animation:none !important; } .series-page .chapter:hover,.series-home .chapter:hover { transform:none; } }
/* Stories hero, why, episode explanation, updates sign-up */
.series-hero { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; min-height:min(62vh,520px); display:flex; align-items:flex-end; margin-bottom:clamp(28px,5vw,56px); }
.series-hero-art { position:absolute; inset:0; }
.series-hero-art img { width:100%; height:100%; object-fit:cover; display:block; }
.series-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,10,7,.15) 0%,rgba(5,10,7,.55) 45%,rgba(5,10,7,.94) 100%); }
.series-hero-copy { position:relative; padding:clamp(22px,5vw,56px); max-width:720px; }
.series-hero h1 { margin:6px 0 0; font-weight:400; font-size:clamp(2.6rem,7vw,5.4rem); line-height:.98; letter-spacing:-.03em; }
.series-hero .series-lede { margin:16px 0 24px; color:rgba(232,238,232,.82); font:400 1.02rem/1.65 var(--sans); }
.series-why { margin-bottom:clamp(32px,5vw,56px); }
.series-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.series-why article { padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(13,26,18,.6); }
.series-why h3 { margin:0 0 8px; font-weight:400; font-size:1.2rem; color:var(--gold-light); }
.series-why p { margin:0; color:rgba(232,238,232,.68); font:400 .9rem/1.6 var(--sans); }
.episode-about { margin:28px 0 0; padding:clamp(18px,3vw,28px); border:1px solid var(--line); border-radius:16px; background:rgba(13,26,18,.6); }
.episode-about h2 { margin:0 0 10px; }
.episode-about p { margin:0 0 10px; color:rgba(232,238,232,.78); font:400 .98rem/1.7 var(--sans); }
.episode-about p:last-child { margin-bottom:0; }
.series-updates { margin-top:clamp(28px,5vw,48px); padding:clamp(20px,4vw,34px); border:1px solid rgba(216,184,107,.35); border-radius:18px; background:rgba(13,26,18,.75); }
.series-updates h2 { margin:0 0 8px; font-weight:400; font-size:clamp(1.4rem,3vw,2rem); }
.series-updates > p { margin:0 0 16px; color:rgba(232,238,232,.7); font:400 .92rem/1.6 var(--sans); max-width:620px; }
.series-updates form { display:grid; gap:12px; max-width:560px; }
.series-updates input[type=email] { min-height:48px; padding:0 16px; border:1px solid var(--line); border-radius:12px; background:rgba(2,5,3,.6); color:inherit; font:400 1rem var(--sans); }
.series-updates label.consent { display:flex; gap:10px; align-items:flex-start; color:rgba(232,238,232,.75); font:400 .84rem/1.5 var(--sans); }
.series-updates label.consent input { margin-top:3px; width:18px; height:18px; flex:none; }
.series-updates .primary { justify-self:start; min-height:46px; }
.series-updates .msg { margin:0; font:400 .88rem/1.5 var(--sans); color:var(--gold-light); }
.series-updates .msg.error { color:#ff8a7a; font-weight:600; }
.series-updates :focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
@media (max-width:760px) { .series-why-grid { grid-template-columns:1fr; } .series-hero { min-height:480px; } }
.series-updates .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.series-home .chapter-copy > p:not(.number):not(.series-status) { display:none; }
.series-cast { margin:0 0 clamp(28px,5vw,56px); }
.series-cast .cast-title { margin:6px 0 10px; font-weight:400; font-size:clamp(1.7rem,3.4vw,2.6rem); line-height:1.15; max-width:22ch; }
.series-cast .cast-intro { margin:0 0 22px; max-width:62ch; color:rgba(232,238,232,.8); font:400 1.02rem/1.65 var(--sans); }
.series-cast-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:stretch; }
.series-cast article { position:relative; }
.series-cast .cast-art img { width:100%; height:100%; object-fit:cover; display:block; }
.series-cast h3 { margin:2px 0 6px; font-weight:400; font-size:1.6rem; }
.series-cast .cast-copy p:not(.cast-role) { margin:0; color:rgba(232,238,232,.8); font:400 .96rem/1.6 var(--sans); }
.series-cast .cast-role { margin:0; color:var(--gold-light); font:600 .7rem/1.4 var(--sans); letter-spacing:.18em; text-transform:uppercase; }
.series-cast .cast-hero { grid-column:1 / -1; min-height:340px; border-radius:24px; overflow:hidden; border:1px solid var(--line); display:flex; align-items:flex-end; }
.series-cast .cast-hero .cast-art { position:absolute; inset:0; }
.series-cast .cast-hero .cast-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,10,7,.88) 0%,rgba(5,10,7,.45) 45%,transparent 75%); }
.series-cast .cast-hero .cast-copy { position:relative; padding:clamp(22px,4vw,40px); max-width:440px; }
.series-cast .cast-arch, .series-cast .cast-round { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; padding:20px; background:rgba(255,255,255,.03); border:1px solid var(--line); }
.series-cast .cast-arch { border-radius:24px 24px 4px 24px; }
.series-cast .cast-round { border-radius:24px 4px 24px 24px; }
.series-cast .cast-arch .cast-art { width:150px; aspect-ratio:3/4; border-radius:999px 999px 14px 14px; overflow:hidden; border:1px solid rgba(224,196,140,.45); }
.series-cast .cast-round .cast-art { width:150px; aspect-ratio:1; border-radius:50%; overflow:hidden; border:1px solid rgba(224,196,140,.45); box-shadow:0 0 0 6px rgba(224,196,140,.08),0 0 40px rgba(224,196,140,.18); }
.series-cast .cast-round .cast-art img { object-position:50% 30%; }
@media (max-width:860px) { .series-cast-grid { grid-template-columns:1fr; } }
@media (max-width:480px) { .series-cast .cast-arch, .series-cast .cast-round { grid-template-columns:1fr; justify-items:center; text-align:center; } .series-cast .cast-hero { min-height:420px; } .series-cast .cast-hero .cast-art::after { background:linear-gradient(0deg,rgba(5,10,7,.92) 10%,rgba(5,10,7,.3) 60%,transparent); } }
.gold-title img, .watch-gold-title img, .home-gold-title img { display:block; width:100%; height:auto; filter:drop-shadow(0 6px 24px rgba(0,0,0,.55)); }
.series-hero .gold-title { max-width:min(520px,90%); margin:22px 0 10px; }
.watch-gold-title { display:block; max-width:280px; margin:0 auto 14px; }
.home-gold-title { display:block; max-width:420px; margin:18px auto 8px; }
.series-cast h3.gold-name { margin:4px 0 10px; }
.series-cast h3.gold-name img { display:block; height:auto; width:auto; max-width:100%; max-height:56px; }
.series-cast .cast-arch h3.gold-name, .series-cast .cast-round h3.gold-name { display:flex; justify-content:center; }
.series-cast .cast-arch h3.gold-name img, .series-cast .cast-round h3.gold-name img { margin-inline:auto; }
.series-cast .cast-hero h3.gold-name img { max-height:88px; }
.series-cast .cast-intro { max-width:70ch; }
.series-lands { margin:0 0 clamp(28px,5vw,56px); }
.lands-stage { position:relative; }
.lands-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 2px 14px; scrollbar-width:none; }
.lands-track::-webkit-scrollbar { display:none; }
.lands-track:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; border-radius:20px; }
.land-slide { flex:0 0 min(860px,88%); scroll-snap-align:center; display:grid; grid-template-columns:minmax(200px,380px) 1fr; gap:26px; align-items:center; padding:22px; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 25% 50%,rgba(224,196,140,.12),rgba(255,255,255,.02) 60%); transition:opacity .4s, transform .4s; opacity:.45; transform:scale(.96); }
.land-slide.is-active { opacity:1; transform:none; }
.land-slide img { width:100%; height:auto; display:block; }
.land-copy h3 { margin:2px 0 6px; font-weight:400; font-size:clamp(1.6rem,3vw,2.2rem); }
.land-copy p { margin:0 0 10px; color:rgba(232,238,232,.82); font:400 .98rem/1.6 var(--sans); }
.land-copy .land-mood { font-style:italic; color:var(--gold-light); }
.land-copy .land-episode { font-size:.86rem; color:rgba(232,238,232,.6); }
.lands-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:46px; height:46px; border-radius:50%; border:1px solid rgba(224,196,140,.5); background:rgba(5,10,7,.8); color:var(--gold-light); font-size:1.2rem; cursor:pointer; }
.lands-arrow.prev { left:-8px; } .lands-arrow.next { right:-8px; }
.lands-arrow:disabled { opacity:.3; cursor:default; }
.lands-arrow:focus-visible, .lands-dots button:focus-visible { outline:2px solid var(--gold-light); outline-offset:3px; }
.lands-dots { display:flex; justify-content:center; gap:10px; margin-top:8px; }
.lands-dots button { width:10px; height:10px; border-radius:50%; border:1px solid var(--gold-light); background:transparent; padding:0; cursor:pointer; }
.lands-dots button[aria-current="true"] { background:var(--gold-light); width:26px; border-radius:999px; }
@media (max-width:760px) { .land-slide { grid-template-columns:1fr; text-align:center; padding:18px; } .land-slide img { max-width:280px; margin:0 auto; } .lands-arrow { top:150px; } }
@media (prefers-reduced-motion:reduce) { .lands-track { scroll-behavior:auto; } .land-slide { transition:none; } }
