/* One visual system, shared by the original series and every continuation. */
.hero-image.media-hero{background:#13180f;overflow:hidden}
.media-hero .hero-backdrop{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-image.media-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,12,.97),rgba(12,15,12,.84) 40%,rgba(12,15,12,.3)),linear-gradient(0deg,#10120f,transparent 48%)}
.season-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:52px;align-items:center}
.season-hero-copy{min-width:0}
.season-cover{position:relative;align-self:center;margin:0;background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 42px #0004}
.season-cover img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.season-cover figcaption{padding:12px 15px;font-size:.75rem;color:var(--gold);border-top:1px solid var(--line)}
.poster-info>span:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7}
.series-poster-card .poster-info strong{min-height:2.7em;display:block;line-height:1.3}
.series-poster-card .poster-art img{object-fit:contain}
.poster-card .poster-art img{background:#1a2017}
.series-poster-card .poster-art:after{display:none}
.player-launch{position:relative;isolation:isolate;overflow:hidden;background:#10120f}
.player-launch .player-cover{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover}
.player-launch .player-cover.is-small{filter:blur(16px) brightness(.52);transform:scale(1.05)}
.player-launch .player-focus{position:absolute;inset:0;z-index:1;width:min(76%,var(--focus-max));height:100%;margin:auto;object-fit:contain;box-shadow:0 0 48px #0009}
.player-launch:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#10120fe0,#10120f55)}
.player-launch>:not(.player-cover){position:relative;z-index:2}
.player-launch>.player-focus{position:absolute;z-index:1}
.portrait-unavailable{display:grid;place-items:center;min-height:100%;aspect-ratio:2/3;padding:20px;background:radial-gradient(circle at 45% 30%,#343b2d,#111711 74%);color:#d9c7a3;text-align:center}
.portrait-unavailable span{font-size:clamp(2.8rem,8vw,5rem);font-weight:800;letter-spacing:.09em;line-height:1}
.portrait-unavailable small{display:block;margin-top:12px;font-size:.72rem;line-height:1.5;letter-spacing:.04em;max-width:18ch}
.person-image .portrait-unavailable{height:100%;aspect-ratio:auto}
.person-image .portrait-unavailable span{font-size:3rem}
.ed-cast-card .portrait-unavailable{flex:0 0 72px;width:72px;height:94px;min-height:94px;aspect-ratio:auto;padding:5px}
.ed-cast-card .portrait-unavailable span{font-size:1.65rem}
.ed-cast-card .portrait-unavailable small{font-size:.51rem}
@media(max-width:600px){.ed-cast-card .portrait-unavailable{flex-basis:64px;width:64px;height:83px;min-height:83px}}
/* Episode facts: each label belongs to its value, without the old outer grid. */
.detail-copy aside dl{display:block;min-width:0;margin:22px 0 25px}
.detail-copy aside dl>div{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.detail-copy aside dl dt,.detail-copy aside dl dd{min-width:0;margin:0;text-align:left;line-height:1.55;overflow-wrap:anywhere}
.detail-copy aside dl dt{font-size:.81rem;color:#aeb2a4}
.detail-copy aside dl dd{font-size:.9rem;font-weight:700;color:#ece9df}
.detail-copy aside .text-link{display:inline-flex;margin:2px 14px 10px 0;line-height:1.5}
.detail-heading .episode-h1-context{display:block;margin-bottom:11px;font:700 clamp(.88rem,1.3vw,1.05rem)/1.5 Manrope,Arial,sans-serif;letter-spacing:.015em;color:var(--gold);text-transform:none}
.detail-heading .episode-h1-title{display:block}
@media(max-width:650px){.detail-copy aside dl>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:11px 0}}
.news-hero{margin:27px 0 34px;overflow:hidden;background:#151b14;border:1px solid var(--line)}
.news-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.news-hero figcaption{padding:10px 15px;font-size:.75rem;color:#b7b9aa}
.v3-news-card .news-card-picture{display:block;margin:-27px -27px 18px;overflow:hidden;background:#171e16}
.v3-news-card .news-card-picture img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .25s}
.v3-news-card:hover .news-card-picture img{transform:scale(1.035)}
.news-video{aspect-ratio:16/9;overflow:hidden;margin:25px 0;background:#0b0c0a;border:1px solid var(--line)}
.news-video iframe{display:block;width:100%;height:100%;border:0}
.news-video-fallback{font-size:.82rem!important;color:#c6c6b7!important}
.news-video-fallback a{color:var(--gold);text-decoration:underline}
.share-tools{grid-column:1/-1;width:100%;padding:17px 0 0;border-top:1px solid var(--line)}
.share-tools summary{cursor:pointer;display:inline-flex;align-items:center;color:var(--gold);font-size:.85rem;font-weight:800;list-style:none}
.share-tools summary::-webkit-details-marker{display:none}
.share-tools summary:before{content:'↗';font-size:1.2rem;margin-right:9px}
.share-tools[open] summary{margin-bottom:13px}
.share-tools-links{display:flex;flex-wrap:wrap;gap:9px}
.share-tools-links a,.share-tools-links button{font-size:.77rem!important;font-weight:700!important;color:#dedcd0!important;padding:8px 11px;border:1px solid #55594f;background:#1b2019;line-height:1.4}
.share-tools-links a:hover,.share-tools-links button:hover{border-color:var(--gold);color:var(--gold)!important}
.share-tools-status{display:block;min-height:1em;font-size:.75rem;color:var(--gold);margin-top:8px}
@media(max-width:700px){.v3-news-card .news-card-picture{margin:-24px -24px 16px}}
/* V9: personal progress, franchise catalogue, search and moderated discussion. */
.watch-continue[hidden],.chronology-card[hidden],.episode-progress [hidden]{display:none!important}
.watch-continue{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-block:28px 12px;padding:25px 30px;border:1px solid #7b6343;background:linear-gradient(110deg,#25271d,#151b14)}
.watch-continue h2{font-size:clamp(1.4rem,2.5vw,2.2rem);margin:4px 0 2px}
.watch-continue p{margin:0;color:#d2d2c7;font-size:.95rem}
.watch-all{text-align:center;margin-top:27px}
.watch-all .button{justify-content:center;gap:35px;min-width:270px}
.episode-progress{display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding:15px 18px;margin:16px 0;background:#1b2219;border:1px solid #586647}
.episode-progress>div{margin-right:auto}
.episode-progress strong,.episode-progress small{display:block}
.episode-progress small{font-size:.75rem;color:#abb5a2;line-height:1.6}
.watch-mark{border:1px solid #9d8662;background:#222920;padding:10px 14px;color:#e9d7af;font-weight:800;font-size:.84rem}
.watch-mark[aria-pressed="true"]{background:#3a482d;border-color:#b2ad79;color:#f1ead3}
.watch-mark:hover{border-color:var(--gold)}
.episode-progress .text-link{font-size:.85rem}
.ep-thumb,.watch-image,.episode-list-grid a{position:relative}
.watched-badge{position:absolute;right:8px;top:8px;z-index:2;display:block;padding:6px 8px;background:#1e3c25e8;color:#f2eee1;border:1px solid #91a473;font-size:.68rem;font-weight:800;line-height:1.2}
.episode-list-grid a .watched-badge{font-size:.62rem;padding:4px 6px}
.watched-count{font-size:.8rem;color:var(--gold);font-weight:700}
.franchise-section{margin:58px 0 55px;scroll-margin-top:95px}
.franchise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.franchise-card{display:flex;align-items:flex-start;gap:19px;min-width:0;padding:16px;background:#1a2018;border:1px solid #394435}
.franchise-card .franchise-poster{flex:0 0 106px;width:106px}
.franchise-poster img{display:block;width:100%;aspect-ratio:2/3;object-fit:contain;background:#171a15}
.franchise-card h3{font-size:clamp(1.3rem,2vw,1.7rem);margin:8px 0 14px}
.franchise-card .eyebrow{font-size:.66rem;letter-spacing:.08em}
.franchise-seasons{display:flex;gap:7px;flex-wrap:wrap}
.franchise-seasons a{border:1px solid #57604e;color:#dedbcf;padding:7px 9px;font-size:.76rem;line-height:1.25}
.franchise-seasons a:hover{border-color:var(--gold);color:var(--gold)}
.search-filter-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:14px 0}
.search-filters{display:flex;flex-wrap:wrap;gap:7px}
.search-filters button{padding:8px 11px;background:#22291e;border:1px solid #4c5946;color:#d5d5c7;font-size:.8rem}
.search-filters button[aria-pressed="true"]{background:#977247;color:#13150f;border-color:#977247;font-weight:800}
.search-show-filter{display:flex;align-items:center;gap:9px;color:#c6c8ba;font-size:.8rem}
.search-show-filter select,.comments-bar select{background:#171c15;border:1px solid #5f6754;color:#eeeade;padding:8px 11px;max-width:100%}
.route-controls{background:#1c2419;border:1px solid #56624c;padding:24px;margin:23px 0}
.route-controls h3{margin:0 0 8px}.route-controls p{font-size:.86rem;color:#c2c6b9}
.route-choices{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}
.route-choices label{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;background:#252e20;border:1px solid #55644d;font-size:.81rem}
.route-controls input{accent-color:#b39964}
.route-only{display:block;font-weight:800;font-size:.83rem;margin:12px 0}
.route-status{font-size:.8rem!important;margin:8px 0!important}
.episode-fact{background:#1b2119;border:1px solid #596048;margin:26px 0;padding:17px 20px}
.episode-fact summary{cursor:pointer;color:#ebd9b5;font-weight:800}
.episode-fact summary span{font-size:.77rem;color:#b2ae99;font-weight:500}
.episode-fact p{margin:15px 0 8px;color:#d2d4c9;line-height:1.7}
.episode-fact small{color:#adb4a4}
.comments-bar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;justify-content:space-between;margin-top:20px;font-size:.8rem;color:#d8d7c8}
.comments-bar label{display:flex;align-items:center;gap:8px}
.comment-spoiler{display:flex;align-items:flex-start;gap:9px;font-size:.81rem;color:#e2d1ad;margin:14px 0}
.comment-spoiler input{accent-color:#b39b70;margin-top:5px}
.comment-reveal{display:block;margin:10px 0;border:1px solid #957a57;background:#29251d;color:#f0d7af;padding:8px 10px;font-size:.77rem}
@media(max-width:850px){.franchise-grid{grid-template-columns:1fr}.watch-continue{flex-direction:column;align-items:flex-start}}
@media(max-width:500px){.franchise-card{gap:12px;padding:12px}.franchise-card .franchise-poster{flex-basis:82px;width:82px}.franchise-seasons a{font-size:.7rem}.episode-progress>div{flex-basis:100%}.watch-all .button{width:100%}}
.episode-season-switcher{margin:18px 0 22px;padding:15px 0}
.episode-list-grid .next-season-card{border-color:#90764d;background:#2a2d1e;align-content:center;min-height:90px}
.episode-list-grid .next-season-card:hover{border-color:var(--gold);background:#363a27}
.episode-list-grid .next-season-card>span{align-self:center;color:var(--gold);font-size:1.65rem}
.episode-list-grid .next-season-card>strong{color:#efdab2}
.episode-list-grid .next-season-card small{color:#c3c6b5}
.chronology-card{min-width:0}
.chronology-card .chronology-poster{display:block;max-width:180px;width:100%;margin:0 0 24px;border:1px solid var(--line);background:#141a10;align-self:center}
.chronology-poster img{display:block;aspect-ratio:2/3;width:100%;height:auto;object-fit:contain}
#extra-stories .chronology-card{display:flex;flex-direction:column}
.chronology-timeline{max-width:1100px}
.chronology-timeline>li{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:start}
.timeline-posters{display:flex;gap:10px;align-items:flex-start;max-width:280px}
.timeline-posters a{width:86px;min-width:0;text-decoration:none;display:block}
.timeline-posters img{display:block;width:86px;height:129px;object-fit:contain;background:#1a2017;border:1px solid var(--line)}
.timeline-posters span{display:block;color:#afb9a2;font-size:.59rem;line-height:1.5;margin-top:8px}
.timeline-copy{min-width:0}
.timeline-copy h3{margin-top:9px}
.ed-portrait img{background:#151c11}
.ed-cast-card img{flex-shrink:0}
@media(max-width:1050px){
 .season-hero-grid{grid-template-columns:minmax(0,1fr) 165px;gap:30px}
 .chronology-timeline>li{grid-template-columns:250px minmax(0,1fr);gap:18px}
 .timeline-posters{gap:7px}
 .timeline-posters a{width:77px}
 .timeline-posters img{width:77px;height:115px}
}
@media(max-width:720px){
 .season-hero-grid{grid-template-columns:minmax(0,1fr);gap:25px}
 .season-cover{width:145px;grid-row:1}
 .season-cover figcaption{padding:8px 12px}
 .season-hero-copy .breadcrumbs{margin-bottom:24px}
 .chronology-timeline>li{grid-template-columns:minmax(0,1fr);gap:18px}
 .timeline-posters a{width:86px}
 .timeline-posters img{width:86px;height:129px}
 .chronology-card .chronology-poster{max-width:150px}
 .series-poster-card .poster-info strong{min-height:0}
}
@media(prefers-reduced-motion:reduce){.poster-card img{transition:none}}

.hero-stats{flex-wrap:wrap;row-gap:20px}

.series-poster-card{display:block;min-width:0}
.series-poster-card .poster-info{min-width:0;overflow-wrap:anywhere}

/* V10: one readable H1 per episode, optional sharing near the content. */
body[data-template="episode"] .detail-heading h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.17;letter-spacing:-.025em;text-transform:none;overflow-wrap:break-word;max-width:1100px;margin:16px 0 8px}
body[data-template="episode"] .detail-heading .episode-h1-context{display:block;font:inherit;letter-spacing:inherit;color:#f1efe6;margin:0}
body[data-template="episode"] .detail-heading .episode-h1-title{display:block;font:inherit;letter-spacing:inherit;color:var(--gold);margin-top:.13em}
body[data-template="episode"] .detail-heading p{margin-bottom:27px}
main .share-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px 15px;width:100%;max-width:1200px;margin:24px auto 30px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
main .share-tools-label{color:var(--gold);font-size:.82rem;font-weight:800}
main .share-tools-links{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
main .share-tools-links a,main .share-tools-links button{border-radius:4px;padding:7px 10px;white-space:nowrap}
main .share-tools-status{width:100%;min-height:0;margin:0}
main .v3-article>.share-tools{margin:18px 0 22px}
@media(max-width:650px){body[data-template="episode"] .detail-heading h1{font-size:clamp(1.85rem,6.6vw,2.7rem)}main .share-tools{margin:19px auto 24px}main .share-tools-links{gap:7px}}

/* V11: editorial introduction on the About page. */
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:32px;align-items:center;padding-bottom:32px;border-bottom:1px solid var(--line)}
.about-intro h1{line-height:1.12;margin:14px 0 20px}
.about-intro img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border:1px solid var(--line);background:#1a2017}
.about .about-lead{font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.65;color:#ebe9dd}
.about .ed-section{margin:28px 0 0}.about .ed-section h2{margin-top:24px}.about .ed-section p{line-height:1.8}
@media(max-width:650px){.about-intro{grid-template-columns:minmax(0,1fr) 95px;gap:14px}.about-intro h1{font-size:clamp(2rem,7vw,3rem)}.about-intro img{align-self:start}}

/* V12: show key art stays fully visible in vertical catalogue cards. */
.series-poster-card .poster-art img{object-fit:contain;object-position:center center;transform:none!important}
.franchise-poster img,.chronology-poster img{object-fit:contain;object-position:center center}
