/* ════════════════════════════════════════════════════════════
   SEASON REEL — a finished season's episodes, in the dark.
   One component, two hosts: Home (under the airing season) and
   /show (inside The Seasons, replacing the season card's poster).
   Cards sit dimmed; the one under the pointer lights, plays its
   preview clip and draws a hairline in its season's accent.
   Colour comes from the season's [data-world] — --s-mid only.
   ════════════════════════════════════════════════════════════ */
.s1r{--s1r-pad:var(--pad-page);--s1r-max:100vw;--s1r-dur:9s;background:#000;color:var(--linen);padding:clamp(64px,10vh,120px) 0 clamp(72px,11vh,132px);position:relative}
.s1r-head{max-width:var(--s1r-max);margin:0 auto;padding:0 var(--s1r-pad);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(20px,4vw,64px);margin-bottom:clamp(28px,4vw,52px)}
.s1r-id{display:flex;flex-direction:column;gap:12px;min-width:0}
.s1r-chip{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:500;font-size:var(--t-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:rgb(245 239 230/.62)}
.s1r-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}
.s1r-t{font-family:var(--sans);font-weight:200;font-size:clamp(32px,3.4vw,56px);letter-spacing:var(--track-display);line-height:1.02;text-transform:uppercase;margin:0}
.s1r-t em{font-family:var(--serif);font-style:italic;font-weight:200;text-transform:none;letter-spacing:0}
.s1r-on{font-family:var(--serif);font-style:italic;font-weight:200;font-size:var(--t-dek);opacity:.78;margin:0}
.s1r-verdict{max-width:52ch;font-size:var(--t-fine);line-height:1.7;opacity:.66;margin:6px 0 0;text-wrap:pretty}
.s1r-verdict em{font-family:var(--serif);font-style:italic}
.s1r-ctl{display:flex;align-items:center;gap:clamp(16px,2vw,28px)}
.s1r-all{font-family:var(--sans);font-weight:500;font-size:var(--t-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--linen);text-decoration:none;white-space:nowrap;opacity:.82;transition:opacity .3s}
.s1r-all:hover{opacity:1;color:var(--linen)}
.s1r-nav{display:flex;gap:8px}
.s1r-btn{width:44px;height:44px;border-radius:50%;border:.5px solid rgb(245 239 230/.28);background:transparent;color:var(--linen);font:inherit;font-size:15px;cursor:pointer;display:grid;place-items:center;transition:border-color .3s,opacity .3s}
.s1r-btn:hover{border-color:rgb(245 239 230/.7)}
.s1r-btn:disabled{opacity:.25;cursor:default}
@media (hover:none){.s1r-nav{display:none}}
/* Fit the whole season across the content width — no scroll for a handful of
   episodes. Cards share the row (1fr each) and shrink to fit. Phones fall back
   to a snap-scroll rail (a season won't fit across a phone). */
.s1r-track{list-style:none;margin:0 auto;max-width:var(--s1r-max);display:grid;grid-template-columns:repeat(var(--s1r-n,4),minmax(0,1fr));gap:clamp(10px,1.2vw,18px);padding-inline:var(--s1r-pad);scrollbar-width:none}
@media (max-width:760px){.s1r-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:74vw;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--s1r-pad)}}
.s1r-track::-webkit-scrollbar{display:none}
.s1r-item{scroll-snap-align:start}
.s1r-card{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#000;color:var(--linen);text-decoration:none;isolation:isolate;transition:opacity .6s cubic-bezier(.2,.7,.2,1);outline:none}
.s1r-card:hover{color:var(--linen)}
.s1r-card:focus-visible{box-shadow:0 0 0 1px var(--linen)}
.s1r-media{position:absolute;inset:0;z-index:0}
.s1r-media img,.s1r-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.s1r-media img{filter:brightness(.3) saturate(.35) contrast(1.05);transform:scale(1.001);transition:filter .8s cubic-bezier(.2,.7,.2,1),transform var(--s1r-dur) linear}
.s1r-media video{opacity:0;transition:opacity .6s;filter:var(--s-grade,none)}
.s1r-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgb(0 0 0/.55) 0%,rgb(0 0 0/0) 26%,rgb(0 0 0/0) 48%,rgb(0 0 0/.86) 100%);pointer-events:none}
.s1r-num{position:absolute;z-index:2;top:clamp(14px,1.4vw,20px);inset-inline-start:clamp(14px,1.4vw,20px);font-family:var(--sans);font-weight:500;font-size:var(--t-eyebrow);letter-spacing:var(--track-eyebrow);font-variant-numeric:tabular-nums;opacity:.6;transition:opacity .5s}
.s1r-num .b{opacity:.6}
.s1r-body{position:absolute;z-index:2;inset-inline:clamp(14px,1.4vw,20px);bottom:clamp(16px,1.6vw,24px);display:flex;flex-direction:column;gap:4px}
.s1r-eye{font-family:var(--serif);font-style:italic;font-weight:200;font-size:clamp(17px,1.35vw,22px);opacity:.72;transition:opacity .5s}
.s1r-h{font-family:var(--sans);font-weight:300;font-size:clamp(22px,1.9vw,32px);letter-spacing:var(--track-section);line-height:1.02;text-transform:uppercase;margin:0;opacity:.72;transition:opacity .5s}
.s1r-meta{font-family:var(--sans);font-weight:500;font-size:var(--t-eyebrow);letter-spacing:var(--track-eyebrow);text-transform:uppercase;margin-top:10px;display:flex;flex-direction:column;gap:3px;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1)}
.s1r-bar{position:absolute;z-index:3;inset-inline:0;bottom:0;height:1px;background:var(--s-mid,var(--red));transform:scaleX(0);transform-origin:left;transition:transform .35s ease-out}
[dir="rtl"] .s1r-bar{transform-origin:right}
/* lit */
.s1r-track.has-lit .s1r-card:not(.is-lit){opacity:.5}
.s1r-card.is-lit .s1r-media img{filter:brightness(1) saturate(1) contrast(1);transform:scale(1.07)}
.s1r-card.is-playing .s1r-media video{opacity:1}
.s1r-card.is-lit .s1r-num,.s1r-card.is-lit .s1r-eye,.s1r-card.is-lit .s1r-h{opacity:1}
.s1r-card.is-lit .s1r-meta{opacity:.86;transform:none}
.s1r-card.is-lit .s1r-bar{transform:scaleX(1);transition:transform var(--s1r-dur) linear}
@media (prefers-reduced-motion:reduce){.s1r-media img{transition:filter .4s;transform:none!important}.s1r-card.is-lit .s1r-bar{transition:transform .4s}}
@media (max-width:640px){.s1r-head{grid-template-columns:1fr}.s1r-track{grid-auto-columns:74vw}}
/* host: /show — sits inside .hb-arc. Align to the PAGE gutter (var(--pad-page)),
   full-width like every other /show section — not a centred 1320 column, which
   left a thick indent on wide screens. */
.hb-arc.has-reel{background:#000;padding-bottom:0}
.hb-arc.has-reel .s1r{--s1r-pad:var(--pad-page);--s1r-max:100%;background:transparent;padding-top:0}

/* RTL: Latin lockups (season name, some episode titles) must still align to
   the start (right) edge inside the reel's right-to-left layout. */
[dir="rtl"] .s1r-t,[dir="rtl"] .s1r-on,[dir="rtl"] .s1r-verdict,[dir="rtl"] .s1r-body{text-align:right}
[dir="rtl"] .s1r-t em{font-family:var(--serif);font-style:normal}
