/* V4: shared presentation for every series, season and episode. */
:root{scroll-padding-top:28px}
[hidden]{display:none!important}
.nav{gap:clamp(14px,1.5vw,24px)}
.head-inner{gap:26px}
.nav a{font-size:.8rem;white-space:nowrap}
.brand{flex-shrink:0}
.seo-heading{overflow-wrap:break-word;text-wrap:balance}
.hero h1.seo-heading,.season-hero h1.seo-heading{
 font-size:clamp(2.05rem,4.15vw,3.9rem);line-height:1.14;max-width:1110px;
 text-transform:none;letter-spacing:-.015em;margin:20px 0 25px
}
.hero:has(.seo-heading){min-height:620px}
.hero .seo-heading{max-width:1000px!important}
.hero .hero-content{padding-top:78px}
.show-hero .hero-content{padding-top:40px;padding-bottom:62px}
.show-hero .breadcrumbs{margin-bottom:35px}
.show-hero .hero-content>p{max-width:780px}
.season-hero .season-intro{max-width:860px;line-height:1.8}
.hero-actions{align-items:center;gap:20px}
.hero-actions .inline-link{font-size:.83rem;line-height:1.6;padding:12px 0}
.season-hero:has(.seo-heading){padding-bottom:46px}
.season-switcher{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0;margin:0 0 38px;border-bottom:1px solid var(--line)}
.season-switcher a{display:block;padding:10px 16px;border:1px solid #454839;color:#c5c8b8;font-size:.78rem;line-height:1.5;text-decoration:none}
.season-switcher a:hover{border-color:var(--gold);color:var(--ink)}
.season-switcher a[aria-current="page"]{background:var(--gold);border-color:var(--gold);color:#15170f;font-weight:800}
.season-hero .season-switcher{border-bottom:0;padding-bottom:0;margin:20px 0 0}
.season-description{max-width:960px;border-top:1px solid var(--line);margin:56px 0 0;padding-top:35px}
.seo-copy h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0 22px;line-height:1.2}
.seo-copy h3{font-size:1.6rem;margin:28px 0 15px}
.seo-copy p{color:#c1c4b7;font-size:.96rem;line-height:1.95;max-width:940px}
.seo-copy p+p{margin-top:20px}
.home-prose{max-width:1000px}
.home-prose h3{font-size:1.6rem}
.home-prose>section+section{margin-top:35px}
.poster-label{position:absolute;left:18px;right:18px;bottom:20px;color:#f0e8d3;font-family:Oswald,sans-serif;font-weight:600;font-size:1.65rem;text-transform:uppercase;line-height:1.18;text-shadow:0 2px 20px #000}
.poster-label small{display:block;font-family:Manrope,sans-serif;font-weight:500;font-size:.62rem;line-height:1.5;letter-spacing:.09em;margin-top:12px}
.poster-art:has(.poster-label):after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(7,11,7,.94));pointer-events:none}
.poster-art .poster-label{z-index:2}
.poster-card h3{overflow-wrap:break-word}
.poster-card p{line-height:1.7}
.episode-grid .original{font-size:.72rem;color:#959e89;margin-top:-1px}
.episode-list{margin-top:38px;margin-bottom:35px}
.episode-list .section-head h2{font-size:2rem}
.episode-list-link{min-width:0}
.episode-list-link strong{overflow-wrap:anywhere}
.player-tabs [role="tab"]:focus-visible,.player-launch:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.lazy-player iframe{border:0;width:100%;height:100%}
.cast-monogram{display:flex;align-items:center;justify-content:center;width:72px;height:94px;flex:0 0 72px;font-family:Oswald,sans-serif;font-size:1.8rem;color:#c5b68e;background:linear-gradient(145deg,#353e2b,#171d12);border:1px solid #454b3c}
.portrait-monogram{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 25%,#424d34,#1a2116 68%);font-family:Oswald,sans-serif;font-size:clamp(6rem,18vw,12rem);line-height:1;color:#899170;letter-spacing:.04em}
.order-callout{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 32px;margin:35px 0;background:#1c2317;border:1px solid #49523c;border-left:3px solid var(--gold)}
.order-callout h2,.order-callout h3{font-size:1.9rem;line-height:1.25;margin:7px 0 9px}
.order-callout p{color:#b9c2aa;font-size:.88rem;line-height:1.8;max-width:760px;margin:0}
.order-callout .button{flex-shrink:0}
.chronology-section{padding-top:18px;margin-bottom:48px;scroll-margin-top:30px}
.chronology-section+.chronology-section{padding-top:44px;border-top:1px solid var(--line)}
.chronology-section h2{font-size:clamp(2rem,3.8vw,3rem);margin:14px 0 24px;line-height:1.15}
.chronology-section>p{max-width:870px;color:#bfc7b1;font-size:.94rem;line-height:1.9;margin-bottom:27px}
.route-grid{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.route-grid .ed-skill{display:flex;flex-direction:column;align-items:flex-start}
.route-grid .ed-item-number{color:var(--gold);font-family:Oswald,sans-serif;font-size:2rem;margin:0 0 22px}
.route-grid h3{font-size:1.45rem;line-height:1.3;margin:0 0 17px}
.route-grid h3 a{color:var(--ink);text-decoration:none}
.route-grid h3 a:hover{color:var(--gold)}
.route-grid p{line-height:1.85;margin:0;font-size:.9rem}
.chronology-note{padding:22px 25px;border-left:3px solid var(--gold);background:#20261a;color:#c8cfbc;font-size:.88rem;line-height:1.85}
.chronology-timeline{max-width:970px;margin:38px 0 0 8px}
.chronology-timeline li{padding-left:16px;padding-bottom:34px}
.chronology-timeline .eyebrow{color:#939f80;font-size:.68rem}
.chronology-timeline h3{font-size:1.65rem;line-height:1.3;margin:10px 0 12px}
.chronology-timeline h3 a{color:#ddc493;text-decoration:none}
.chronology-timeline h3 a:hover{text-decoration:underline}
.chronology-timeline p{max-width:790px;font-size:.94rem}
.chronology-section .ed-skill h3 a{text-decoration:none}
.chronology-copy>.chronology-note{margin-top:45px}
.sources-section{scroll-margin-top:25px}
@media(max-width:1100px){
 .menu-button{display:flex;align-items:center;gap:10px;margin-left:auto}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;flex-direction:column;gap:0;padding:12px 26px 20px;background:#181d14;border-bottom:1px solid #454d3c;box-shadow:0 20px 30px #0005;z-index:100}
 .nav.open{display:flex}
 .nav a{font-size:.86rem;height:auto;width:100%;padding:13px 0;border-bottom:1px solid #3c4234}
 .nav a:last-child{border-bottom:0}
 .nav a:after{display:none}
 .nav a[aria-current]{color:var(--gold)}
 .hero h1.seo-heading,.season-hero h1.seo-heading{font-size:clamp(2rem,4.9vw,3.6rem)}
 .route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .hero:has(.seo-heading){min-height:0}
 .hero .hero-content{padding-top:47px;padding-bottom:40px}
 .show-hero .hero-content{padding-top:28px}
 .hero h1.seo-heading,.season-hero h1.seo-heading{font-size:clamp(1.85rem,7vw,3rem);line-height:1.19;margin:16px 0 22px;text-wrap:pretty}
 .season-hero{padding-top:28px}
 .season-hero:has(.seo-heading){padding-bottom:30px}
 .season-hero .breadcrumbs{margin-bottom:33px}
 .hero-actions{gap:12px 22px}
 .hero-actions .button{font-size:.78rem}
 .season-switcher{gap:7px;margin-bottom:29px;padding:20px 0}
 .season-switcher a{padding:9px 12px;font-size:.73rem}
 .season-description{padding-top:27px;margin-top:35px}
 .seo-copy p{font-size:.91rem;line-height:1.9}
 .home-prose h3{font-size:1.45rem}
 .order-callout{padding:23px;align-items:flex-start;flex-direction:column;gap:18px}
 .order-callout h2,.order-callout h3{font-size:1.7rem}
 .chronology-section{margin-bottom:32px}
 .chronology-section+.chronology-section{padding-top:29px}
 .chronology-section h2{margin-bottom:20px}
 .chronology-note{padding:19px 21px}
 .chronology-timeline h3{font-size:1.5rem}
 .chronology-timeline{margin-left:0}
 .chronology-section>p,.chronology-timeline p{font-size:.88rem}
 .footer-inner>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
}
@media(max-width:520px){
 .route-grid{grid-template-columns:1fr;gap:14px}
 .route-grid .ed-item-number{margin-bottom:13px;font-size:1.65rem}
 .route-grid h3{font-size:1.4rem}
 .route-grid .ed-skill{padding:23px}
 .cast-monogram{width:64px;height:83px;flex-basis:64px;font-size:1.5rem}
 .poster-label{left:12px;right:12px;bottom:14px;font-size:1.3rem}
 .poster-label small{font-size:.54rem}
 .episode-grid .ep-info{padding:17px 15px}
 .episode-grid .ep-info p{font-size:.76rem}
 .player-adjacent{gap:9px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .player-adjacent a,.player-adjacent .disabled{padding:13px 8px;font-size:.66rem;line-height:1.5;min-width:0}
 .player-adjacent a span{display:none}
 .chronology-timeline li{padding-left:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.episode-grid .original{min-height:0;display:block;margin-bottom:16px;line-height:1.6}

.menu-button{background:none;border:1px solid var(--line);padding:10px 12px;color:var(--ink);font-size:.82rem}
.menu-button span{padding-left:0}
@media(max-width:380px){
 .head-inner{gap:10px}
 .brand{font-size:.94rem;gap:9px;letter-spacing:.035em}
 .brand small{font-size:.47rem;letter-spacing:.13em}
 .brand-mark{width:31px;height:33px;font-size:1.25rem}
 .menu-button{font-size:.72rem;padding:9px;gap:5px}
}

.page-banner h1{overflow-wrap:break-word}
@media(max-width:380px){.page-banner h1{font-size:2.85rem}}
