.cu-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;
  letter-spacing:var(--pv-track-xl);text-transform:uppercase;color:var(--pv-red);
  margin:0 0 18px}.cu-label .cu-dot{width:7px;height:7px;border-radius:50%;background:var(--pv-red);
  box-shadow:0 0 14px var(--pv-red-glow-lg)}/* ============ uniform search placement (same spot, every page) ============ */
.cu-searchzone{margin:30px 0 6px}/* ============ filter chips ============ */
.cu-chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 8px}.cu-chip{min-height:var(--pv-target-min);display:inline-flex;align-items:center;
  gap:8px;padding:10px 20px;border-radius:var(--pv-r-pill);
  border:1px solid var(--pv-rule);background:transparent;color:var(--pv-ivory-dim);
  font-size:13px;font-weight:600;letter-spacing:.04em;cursor:pointer;
  transition:border-color var(--pv-t-fast),color var(--pv-t-fast),background var(--pv-t-fast)}.cu-chip:hover{border-color:rgba(var(--desert-ink-rgb), .4);color:var(--pv-ivory)}.cu-chip[aria-pressed="true"]{background:var(--pv-red);border-color:var(--pv-red);
  color:var(--pv-on-red);font-weight:700}.cu-chip .cu-n{font-size:11px;opacity:.75;font-weight:700}/* ============ section heads ============ */
.cu-sec{margin:64px 0 6px}.cu-sec-head{display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px;margin-bottom:6px}.cu-kicker{font-size:var(--pv-label);font-weight:800;letter-spacing:var(--pv-track-lg);
  text-transform:uppercase;color:var(--pv-red);margin:0 0 10px}.cu-sec-head h2{font-family:var(--pv-serif);font-weight:600;
  font-size:var(--pv-title);line-height:var(--pv-leading-title);
  letter-spacing:-.01em;color:var(--pv-ivory);margin:0;text-wrap:balance}.cu-sec-sub{color:var(--pv-ivory-dim);font-size:15px;line-height:1.6;max-width:640px;margin:10px 0 0}/* ============ borderless editorial rows ============
   Transparent. No borders, no cards, no pills on the row itself.
   Artwork carries depth: rounded + shadow + hover lift. Text beside it. */
.cu-rows{list-style:none;margin:0;padding:0}.cu-row{display:grid;grid-template-columns:264px 1fr;gap:28px;align-items:center;
  padding:26px 4px;margin:0;background:transparent;border:0;width:100%;
  text-align:left;color:inherit;font:inherit;cursor:pointer;border-radius:18px}.cu-row + .cu-row{margin-top:4px}a.cu-row{text-decoration:none;display:grid}.cu-thumb{position:relative;border-radius:var(--pv-r-card-sm);overflow:hidden;
  aspect-ratio:16/10;background:var(--pv-noir-2);
  box-shadow:var(--pv-shadow-card);transition:transform var(--pv-t-med) var(--pv-ease),
  box-shadow var(--pv-t-med) var(--pv-ease)}.cu-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cu-thumb::after{content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(var(--desert-ink-rgb), .08);pointer-events:none}@media(hover:hover){.cu-row:hover .cu-thumb{transform:translateY(-4px);
    box-shadow:0 24px 60px rgba(var(--desert-shadow-rgb), .6),0 0 0 1px rgba(var(--brand-red-rgb), .22)}
}.cu-row:active .cu-thumb{transform:scale(.985)}.cu-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity var(--pv-t-fast)}.cu-thumb .cu-play i{width:60px;height:60px;border-radius:50%;
  background:rgba(var(--desert-ink-rgb), .72);border:1px solid rgba(var(--desert-ink-rgb), .35);
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}.cu-thumb .cu-play svg{width:22px;height:22px;fill:var(--desert-card);margin-left:3px}@media(hover:hover){.cu-row:hover .cu-play{opacity:1}}.cu-body{min-width:0}.cu-ck{font-size:var(--pv-label);font-weight:800;letter-spacing:var(--pv-track-lg);
  text-transform:uppercase;color:var(--pv-red);margin:0 0 9px}.cu-ck .cu-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--pv-red);margin-right:8px;box-shadow:0 0 10px var(--pv-red-glow-lg)}.cu-row h3{font-size:21px;font-weight:700;letter-spacing:-.015em;line-height:1.3;
  color:var(--pv-ivory);margin:0 0 8px;text-wrap:balance}.cu-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  color:var(--pv-ivory-dim);font-size:13.5px;margin:0 0 10px}.cu-meta .cu-sep{opacity:.4}.cu-lede-sm{color:var(--pv-ivory-dim);font-size:15px;line-height:1.65;margin:0;
  max-width:620px}.cu-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  color:var(--pv-ivory);font-size:14px;font-weight:700;text-decoration:none;
  min-height:var(--pv-target-min);padding:8px 0}.cu-cta svg{width:15px;height:15px;stroke:var(--pv-red);transition:transform var(--pv-t-fast)}.cu-cta:hover svg{transform:translateX(4px)}/* tag chips = the visible tag concept (small by design) */
.cu-tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0;padding:0;list-style:none}.cu-tag{font-size:10.5px;font-weight:800;letter-spacing:var(--pv-track-md);
  text-transform:uppercase;color:var(--pv-red-ember);
  border:1px solid rgba(var(--brand-red-rgb), .38);border-radius:var(--pv-r-pill);
  padding:6px 12px;white-space:nowrap}.cu-tag.cu-tag-entry{background:rgba(var(--brand-red-rgb), .14);color:var(--pv-ivory);
  border-color:var(--pv-red)}/* ============ reddit discussion lane (text-first, no fake art) ============ */
.cu-reddit{list-style:none;margin:26px 0 0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:8px 48px}.cu-rd{padding:22px 4px;background:transparent;border:0;text-align:left;
  width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:14px}.cu-rd-sub{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cu-rd-sub .cu-r{width:30px;height:30px;border-radius:50%;background:var(--pv-red);
  color:var(--pv-on-red);font-weight:800;font-size:15px;display:flex;
  align-items:center;justify-content:center;flex:none}.cu-rd-sub b{font-size:13px;font-weight:700;color:var(--pv-ivory);letter-spacing:.02em}.cu-rd-sub time{margin-left:auto;font-size:12.5px;color:var(--pv-ivory-dim);flex:none}.cu-rd h3{font-size:17.5px;font-weight:650;line-height:1.42;color:var(--pv-ivory);
  margin:0 0 10px;text-wrap:balance}.cu-rd-stats{display:flex;gap:14px;font-size:12.5px;color:var(--pv-ivory-dim);
  font-weight:600;margin-bottom:12px}.cu-rd-stats .cu-up{color:var(--pv-red-ember)}.cu-rd-quote{border-left:2px solid var(--pv-red);padding:2px 0 2px 14px;margin:0}.cu-rd-quote p{font-size:14px;line-height:1.6;color:var(--pv-ivory-dim);margin:0 0 6px}.cu-rd-quote cite{font-style:normal;font-size:12.5px;color:var(--pv-ivory);font-weight:600}.cu-rd-quote cite span{color:var(--pv-red-ember);font-weight:700}@media(hover:hover){.cu-rd:hover h3{color:var(--pv-red-ember)}}/* ============ callout note ============ */
.cu-note{margin:56px 0 0;background:rgba(var(--brand-red-rgb), .07);
  border:1px solid rgba(var(--brand-red-rgb), .3);border-radius:var(--pv-r-card);
  padding:20px 24px;font-size:14px;color:var(--pv-ivory);line-height:1.7}.cu-note b{color:var(--pv-red-ember)}.cu-fine{margin-top:16px;font-size:12.5px;color:var(--pv-ivory-faint);line-height:1.7}/* ============ story board hero: full-bleed, borderless ============ */
.sb-hero{position:relative;overflow:hidden;min-height:min(88vh,820px);
  display:flex;align-items:flex-end;background:var(--pv-noir)}.sb-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;
  background-size:cover;background-position:center}.sb-slide.on{opacity:1}.sb-slide a{position:absolute;inset:0;display:block}.sb-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(var(--desert-ink-rgb), .94) 8%,rgba(var(--desert-ink-rgb), .55) 46%,rgba(var(--desert-ink-rgb), .12) 78%),
             linear-gradient(180deg,rgba(var(--desert-ink-rgb), .5) 0%,rgba(var(--desert-ink-rgb), 0) 28%,rgba(var(--desert-ink-rgb), 0) 52%,var(--pv-noir) 100%)}/* ambient glow sweep — allowed motion (not the artwork) */
.sb-glow{position:absolute;inset:-20%;pointer-events:none;opacity:.5;
  background:radial-gradient(42% 34% at 18% 62%,rgba(var(--brand-red-rgb), .16),transparent 70%)}.sb-hero-inner{position:relative;z-index:1;width:100%;max-width:var(--pv-content-max);
  margin:0 auto;padding:0 var(--pv-gutter) 88px;
  /* two-column hero: copy left, featured-case card right — the right third is
     composed, never a void */
  display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:end}.sb-feature{position:relative;z-index:1}.sb-feature a{display:flex;gap:16px;align-items:center;text-decoration:none;
  background:rgba(var(--desert-card-rgb), .68);border:1px solid rgba(var(--desert-card-rgb), .1);
  border-radius:20px;padding:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 24px 60px rgba(var(--desert-shadow-rgb), .45);
  transition:transform .35s ease,border-color .35s ease}.sb-feature a:hover,.sb-feature a:focus-visible{transform:translateY(-3px);
  border-color:rgba(var(--brand-red-rgb), .5)}.sb-feature-art{flex:0 0 112px;width:112px;height:112px;border-radius:14px;
  overflow:hidden;background:var(--desert-pressed)}.sb-feature-art img{width:100%;height:100%;object-fit:cover;display:block}.sb-feature-body{min-width:0}.sb-feature-body .cu-kicker{font-size:11px;letter-spacing:.18em}.sb-feature-body h3{font-family:var(--pv-serif);font-weight:600;color:var(--pv-ivory);
  font-size:23px;line-height:1.15;margin:6px 0 6px}.sb-feature-meta{color:var(--pv-ivory-dim);font-size:13.5px;margin:0}@media (max-width:900px){.sb-hero-inner{grid-template-columns:1fr;gap:28px}.sb-feature a{padding:12px}.sb-feature-art{flex-basis:76px;width:76px;height:76px;border-radius:12px}.sb-feature-body h3{font-size:19px}
}.sb-hero .cu-label{margin-bottom:16px}/* ONE h1 per page — the hero carries it */
.sb-hero h1{font-family:var(--pv-serif);font-weight:600;
  font-size:clamp(56px,10vw,128px);line-height:.96;letter-spacing:var(--pv-track-tight);
  color:var(--pv-ivory);margin:0 0 18px;text-wrap:balance;max-width:12ch}.sb-hero .cu-lede{margin:0;max-width:600px;color:var(--pv-ivory-dim);
  font-size:var(--pv-lede);line-height:var(--pv-leading-body)}.sb-hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.cu-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 32px;border-radius:var(--pv-r-pill);
  font-weight:700;font-size:15px;letter-spacing:.02em;text-decoration:none;
  transition:transform var(--pv-t-fast),box-shadow var(--pv-t-med),background var(--pv-t-fast)}.cu-btn:active{transform:scale(.96)}.cu-btn-red{background:var(--pv-red);color:var(--pv-on-red);
  box-shadow:var(--pv-shadow-btn)}@media(hover:hover){.cu-btn-red:hover{box-shadow:var(--pv-shadow-btn-lg);background:var(--pv-red-ember)}}.cu-btn-ghost{border:1px solid rgba(var(--desert-ink-rgb), .3);color:var(--pv-ivory)}@media(hover:hover){.cu-btn-ghost:hover{border-color:rgba(var(--desert-ink-rgb), .6)}}.sb-now{display:flex;align-items:center;gap:12px;margin-top:34px;
  color:var(--pv-ivory-dim);font-size:13.5px}.sb-now .cu-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;
  background:var(--pv-red);box-shadow:0 0 12px var(--pv-red-glow-lg)}.sb-now b{color:var(--pv-ivory);font-weight:650}/* ============ story board detail ============ */
.sb-detail{margin:8px 0 0;scroll-margin-top:calc(var(--pv-nav-h) + 90px)}.sb-detail-card{background:var(--pv-noir-2);border:1px solid var(--pv-rule);
  border-radius:24px;padding:40px;overflow:hidden}.sb-detail-top{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start;
  margin-bottom:8px}.sb-detail-top img{width:200px;aspect-ratio:16/10;object-fit:cover;
  border-radius:var(--pv-r-card-sm);box-shadow:var(--pv-shadow-card)}.sb-detail h3{font-family:var(--pv-serif);font-weight:600;font-size:clamp(26px,3.4vw,40px);
  line-height:1.1;letter-spacing:-.01em;color:var(--pv-ivory);margin:0 0 10px;text-wrap:balance}.sb-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:0 56px;margin-top:28px}.sb-cols h4{font-size:var(--pv-label);font-weight:800;letter-spacing:var(--pv-track-lg);
  text-transform:uppercase;color:var(--pv-red);margin:0 0 18px}.sb-chapters{list-style:none;margin:0;padding:0}.sb-chapters li{display:flex;gap:16px;align-items:baseline;padding:11px 0;
  border-bottom:1px solid rgba(var(--desert-ink-rgb), .07);font-size:15px}.sb-chapters li:last-child{border-bottom:0}.sb-chapters .cu-t{font-variant-numeric:tabular-nums;color:var(--pv-red-ember);
  font-weight:700;font-size:13.5px;flex:none;min-width:52px}.sb-chapters .cu-c{color:var(--pv-ivory);font-weight:550;line-height:1.45}.sb-beats{list-style:none;margin:0;padding:0;position:relative}.sb-beats::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--pv-red),rgba(var(--brand-red-rgb), .12))}.sb-beats li{position:relative;padding:0 0 22px 32px;font-size:14.5px}.sb-beats li:last-child{padding-bottom:0}.sb-beats li::before{content:"";position:absolute;left:1px;top:5px;width:14px;height:14px;
  border-radius:50%;background:var(--pv-noir);border:3px solid var(--pv-red)}.sb-beats .cu-bd{display:block;color:var(--pv-red-ember);font-weight:700;font-size:12.5px;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.sb-beats .cu-bl{color:var(--pv-ivory-dim);line-height:1.55}.sb-degrade{background:rgba(var(--brand-red-rgb), .07);border:1px solid rgba(var(--brand-red-rgb), .3);
  border-radius:var(--pv-r-card-sm);padding:18px 22px;font-size:14px;
  color:var(--pv-ivory);line-height:1.65}.sb-source{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}/* ============ coming soon ============ */
.cs-toggle{display:inline-flex;background:var(--pv-noir-2);border:1px solid var(--pv-rule);
  border-radius:var(--pv-r-pill);padding:5px;margin:26px 0 8px}.cs-toggle button{min-height:var(--pv-target-min);padding:10px 28px;border-radius:var(--pv-r-pill);
  font-size:14px;font-weight:700;color:var(--pv-ivory-dim);cursor:pointer;
  transition:background var(--pv-t-fast),color var(--pv-t-fast)}.cs-toggle button[aria-pressed="true"]{background:var(--pv-red);color:var(--pv-on-red)}.cs-cal{margin:30px 0 0}.cs-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.cs-cal-head h2{font-family:var(--pv-serif);font-size:30px;font-weight:600;margin:0;
  color:var(--pv-ivory)}.cs-nav{display:flex;gap:8px}.cs-nav button{width:var(--pv-target-min);height:var(--pv-target-min);border-radius:50%;
  border:1px solid var(--pv-rule);color:var(--pv-ivory);font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center}.cs-nav button:hover{border-color:var(--pv-red);color:var(--pv-red-ember)}.cs-nav button:disabled{opacity:.3;cursor:default}.cs-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;
  border:1px solid var(--pv-rule);border-radius:18px;padding:10px}.cs-dow{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pv-ivory-dim);text-align:center;padding:10px 0}.cs-day{position:relative;min-height:84px;border-radius:14px;border:1px solid transparent;
  background:transparent;color:var(--pv-ivory);font-size:15px;font-weight:600;
  cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:10px 4px;transition:background var(--pv-t-fast),border-color var(--pv-t-fast)}.cs-day:hover{background:rgba(var(--desert-ink-rgb), .05)}.cs-day.cs-dim{color:var(--pv-ivory-faint);cursor:default}.cs-day.cs-dim:hover{background:transparent}.cs-day .cu-n{line-height:1}.cs-day.cs-today .cu-n{width:34px;height:34px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;border:1.5px solid var(--pv-red)}.cs-day[aria-pressed="true"]{background:var(--pv-red);color:var(--pv-on-red)}.cs-day[aria-pressed="true"] .cu-n{font-weight:800}.cs-day .cu-ed{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:100%}.cs-day .cu-ed i{width:7px;height:7px;border-radius:50%;background:var(--pv-red-ember)}.cs-day[aria-pressed="true"] .cu-ed i{background:var(--pv-on-red)}/* Day hero — one thumbnail covers the whole day cell (James 2026-09-28). */
.cs-day.cs-cover{padding:0;overflow:hidden;justify-content:flex-end;align-items:stretch;gap:0}.cs-day.cs-cover .cu-cover{position:absolute;inset:0}.cs-day.cs-cover .cu-cover img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--pv-t-med,.35s)}.cs-day.cs-cover:hover .cu-cover img{transform:scale(1.06)}.cs-day.cs-cover::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(var(--desert-card-rgb), .62) 0%,rgba(var(--desert-card-rgb), 0) 38%,rgba(var(--desert-card-rgb), .78) 100%)}.cs-day.cs-cover .cu-n{position:absolute;top:7px;left:9px;z-index:1}/* James 2026-10-06: dates must stand out clearly even on busy cover cells. */
.cs-day .cu-n{font-weight:800;font-size:16px;text-shadow:0 1px 4px rgba(var(--desert-shadow-rgb), .55)}.cs-day.cs-cover .cu-n{background:rgba(var(--desert-card-rgb), .72);border-radius:9px;
  padding:4px 8px;font-size:15px;color:var(--desert-card);
  text-shadow:0 1px 3px rgba(var(--desert-shadow-rgb), .8);backdrop-filter:blur(2px)}.cs-day.cs-today .cu-n{background:var(--pv-red);color:var(--pv-on-red);
  text-shadow:none}.cs-day.cs-cover .cu-ec{position:relative;z-index:1;padding:0 6px 7px;color:var(--desert-card);
  text-shadow:0 1px 3px rgba(var(--desert-shadow-rgb), .6)}.cs-day.cs-cover[aria-pressed="true"]{background:transparent;color:var(--pv-ivory);
  outline:2px solid var(--pv-red);outline-offset:-2px}/* Coming-up feed — card grid under the calendar. */
.cs-feed-sub{color:var(--pv-ivory-dim);font-size:13.5px;margin:6px 0 0}.cs-feed-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.cs-feed-card{display:flex;flex-direction:column;gap:0;min-width:0;text-align:left;
  border:1px solid transparent;border-radius:16px;overflow:hidden;cursor:pointer;
  background:rgba(var(--desert-ink-rgb), .03);color:inherit;font:inherit;padding:0;
  transition:border-color var(--pv-t-fast),background var(--pv-t-fast),transform var(--pv-t-fast)}.cs-feed-card:hover{border-color:var(--pv-rule);background:rgba(var(--desert-ink-rgb), .06)}.cs-feed-card:active{transform:scale(.98)}.cs-feed-art{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--pv-noir-2);flex:none}.cs-feed-art img{width:100%;height:100%;object-fit:cover;display:block}.cs-feed-body{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 12px 14px}@media(min-width:700px){.cs-feed-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
}.cs-feed-meta{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pv-red-ember)}.cs-feed-title{font-weight:700;font-size:15.5px;line-height:1.35;color:var(--pv-ivory)}@media(min-width:700px){.cs-feed-title{font-size:16.5px}
}.cs-day .cu-ec{font-size:10px;font-weight:700;color:var(--pv-ivory-dim)}.cs-day[aria-pressed="true"] .cu-ec{color:var(--pv-on-red)}.cs-legend{display:flex;gap:18px;flex-wrap:wrap;margin:22px 0 0;font-size:12.5px;
  color:var(--pv-ivory-dim)}.cs-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.cs-list{list-style:none;margin:34px 0 0;padding:0}.cs-ev{display:grid;grid-template-columns:92px 76px 1fr auto;gap:24px;align-items:center;
  padding:22px 4px;background:transparent;border:0;width:100%;text-align:left;
  border-radius:16px;color:inherit;font:inherit}.cs-ev + .cs-ev{border-top:1px solid rgba(var(--desert-ink-rgb), .08)}.cs-date{text-align:center}.cs-art{width:76px;aspect-ratio:3/4;border-radius:14px;overflow:hidden;
  background:var(--pv-noir-2);flex:none}.cs-art img{width:100%;height:100%;object-fit:cover;display:block}/* events whose art isn't sourced yet: no art column, grid adapts */
.cs-ev.cs-noart{grid-template-columns:92px 1fr auto}.cs-ev.cs-noart .cs-art{display:none}.cs-date b{display:block;font-family:var(--pv-serif);font-size:34px;font-weight:600;
  line-height:1;color:var(--pv-ivory)}.cs-date span{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--pv-red);margin-top:6px}.cs-type{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:var(--pv-track-md);
  text-transform:uppercase;padding:6px 13px;border-radius:var(--pv-r-pill);margin-bottom:9px}.cs-type.t-premiere{background:var(--pv-red);color:var(--pv-on-red)}/* Temporary featured override (James 2026-10-06): expires midnight PT Oct 7 via js/featured-today.js */
.cs-type.t-featured{background:var(--desert-accent);color:var(--desert-card);margin-right:6px}.cs-type.t-episode{background:rgba(var(--brand-red-rgb), .16);color:var(--pv-red-ember);
  border:1px solid rgba(var(--brand-red-rgb), .5)}.cs-type.t-game{background:rgba(var(--desert-ink-rgb), .1);color:var(--pv-ivory);
  border:1px solid rgba(var(--desert-ink-rgb), .3)}.cs-type.t-launch{background:rgba(var(--desert-ink-rgb), .1);color:var(--pv-ivory);
  border:1px solid rgba(var(--desert-ink-rgb), .3)}.cs-type.t-music{background:var(--pv-red-deep);color:var(--pv-ivory)}.cs-type.t-live{background:transparent;color:var(--pv-red-ember);
  border:1px dashed rgba(var(--brand-red-rgb), .55)}.cs-ev h3{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--pv-ivory);
  margin:0 0 6px}.cs-ev p{font-size:14px;color:var(--pv-ivory-dim);line-height:1.55;margin:0;max-width:560px}.cs-ev p b{color:var(--pv-ivory);font-weight:600}.cs-remind{flex:none;min-height:var(--pv-target-min);min-width:var(--pv-target-min);
  padding:10px 22px;border-radius:var(--pv-r-pill);border:1px solid var(--pv-rule);
  color:var(--pv-ivory);font-size:13.5px;font-weight:700;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  transition:border-color var(--pv-t-fast),background var(--pv-t-fast)}.cs-remind:hover{border-color:var(--pv-red)}.cs-remind[aria-pressed="true"]{background:var(--pv-red);border-color:var(--pv-red);
  color:var(--pv-on-red)}/* ---- verified matchup ticket buttons (2026-09-29) ----
   .cs-actions groups the Tickets link + Remind me into one grid column so the
   card grid never sees two competing action items. Rendered ONLY for cards
   with a real, verified matchup-specific ticket listing (see TICKETS in
   comingsoon.js). Red-accent pill matching the .cs-remind language. */
.cs-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cs-tickets{flex:none;min-height:var(--pv-target-min);
  padding:10px 22px;border-radius:var(--pv-r-pill);border:1px solid var(--pv-red);
  background:rgba(var(--brand-red-rgb), .10);color:var(--pv-ivory);font-size:13.5px;font-weight:700;
  text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  transition:border-color var(--pv-t-fast),background var(--pv-t-fast),color var(--pv-t-fast),transform .15s}.cs-tickets:hover{background:var(--pv-red);border-color:var(--pv-red);color:var(--pv-on-red)}.cs-tickets:active{transform:scale(.96)}.cs-tickets:focus-visible{outline:2px solid var(--pv-red);outline-offset:3px;border-radius:var(--pv-r-pill)}.cs-empty{padding:48px 8px;color:var(--pv-ivory-dim);font-size:15px;text-align:center}/* ============ ecosystem links, why-lines, countdowns, trailers, buzz ============ */
.cs-ev-link{color:inherit;text-decoration:none;transition:color var(--pv-t-fast)}.cs-ev-link:hover{color:var(--pv-red-ember)}.cs-ev-link:focus-visible{outline:2px solid var(--pv-red);outline-offset:3px;border-radius:4px}/* ---- search-tap highlight (2026-10-02) ----
   Tapping a search result jumps to the matching list card and pulses it so
   the eye lands on it. Fades out when the class is removed. */
.cs-ev--search-hit{outline:2px solid var(--pv-red);outline-offset:6px;
  animation:cs-hit 1.1s ease-in-out 3}@keyframes cs-hit{0%,100%{outline-color:rgba(var(--brand-red-rgb), .25)}50%{outline-color:var(--pv-red)}}@media (prefers-reduced-motion:reduce){.cs-ev--search-hit{animation:none}}

/* ---- unlinked event titles open the info popover (2026-10-02) ----
   Titles with no data-link behave like their thumbnails: one tap opens the
   same info popover. Show the affordance;linked titles keep their links. */
.cs-ev h3.cs-tclick{cursor:pointer}.cs-ev h3.cs-tclick:hover{color:var(--pv-red-ember)}.cs-why{margin:10px 0 0 !important;padding-left:12px;border-left:2px solid var(--pv-red);
  color:var(--pv-ivory) !important;font-size:14px;line-height:1.55;max-width:560px}.cs-count{font-size:11.5px !important;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--pv-red-ember) !important;margin:0 0 8px !important}.cs-count-live{color:var(--pv-red-ember)}.cs-trailer{margin-top:12px;max-width:560px}.cs-trailer-btn{display:inline-flex;align-items:center;gap:8px;min-height:var(--pv-target-min);
  padding:9px 18px;border-radius:var(--pv-r-pill);border:1px solid var(--pv-rule);
  background:transparent;color:var(--pv-ivory);font-size:13px;font-weight:700;cursor:pointer;
  transition:border-color var(--pv-t-fast),color var(--pv-t-fast)}.cs-trailer-btn:hover{border-color:var(--pv-red-ember);color:var(--pv-red-ember)}.cs-buzz{margin-top:16px;max-width:560px}.cs-buzz .cu-kicker{margin-bottom:6px}.cs-buzz-ep{font-weight:700;font-size:14.5px;color:var(--pv-ivory);text-decoration:none;line-height:1.4}a.cs-buzz-ep:hover{color:var(--pv-red-ember)}.cs-buzz-show{font-size:12px !important;color:var(--pv-ivory-dim) !important;margin-top:3px !important}.cs-buzz-take{font-size:13.5px !important;font-style:italic;margin-top:6px !important}/* ============ Most Anticipated spotlight ============ */
.cs-spot{margin:40px 0 0}.cs-spot-grid{display:grid;gap:26px;margin-top:20px}.cs-spot-card{min-width:0;position:relative}
/* Stretched deep-link: the whole card opens the title page;the trailer
   button below sits above it so it stays independently clickable. */
.cs-spot-link{position:absolute;inset:0;z-index:1;border-radius:18px}.cs-spot-link:hover + .cs-spot-art img{transform:scale(1.03)}.cs-spot-art img{transition:transform .5s ease}.cs-spot-link:focus-visible{outline:2px solid var(--pv-red-ember);outline-offset:3px}.cs-spot-card .cs-trailer{position:relative;z-index:2}.cs-spot-art{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;
  background:var(--pv-noir-2)}.cs-spot-art img{width:100%;height:100%;object-fit:cover;display:block}.cs-spot-count{position:absolute;left:0;right:0;bottom:0;display:flex;gap:20px;
  justify-content:center;padding:12px 12px 10px;margin:0;
  background:rgba(var(--desert-card-rgb), .94)}.cs-spot-count span{display:flex;flex-direction:column;align-items:center;
  font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;
  color:var(--pv-ivory-dim)}.cs-spot-count b{font-family:var(--pv-serif);font-size:24px;font-weight:600;color:var(--pv-ivory);
  line-height:1.1}.cs-spot-count .cs-count-live{font-size:14px;letter-spacing:.1em;text-transform:uppercase}.cs-spot-body{padding:16px 4px 0}.cs-spot-body .cu-kicker{margin-bottom:8px}.cs-spot-body h3{font-family:var(--pv-serif);font-size:24px;font-weight:600;letter-spacing:-.01em;
  line-height:1.2;margin:0 0 8px;color:var(--pv-ivory)}.cs-spot-body .cs-why{font-size:14.5px}@media(min-width:700px){.cs-spot-grid{grid-template-columns:repeat(3,1fr)}
}/* ============ reveal (with safety net) ============ */
.cu-rv{opacity:0;transform:translateY(22px);
  transition:opacity .65s ease,transform .65s cubic-bezier(.16,.7,.2,1)}.cu-rv.in{opacity:1;transform:none}/* ============ image honesty net ============ */
img[data-fb]{background:var(--pv-noir-2)}/* ============ phone ============ */
@media(max-width:1023.98px){
  .sb-hero{min-height:620px}
  .sb-hero-inner{padding:0 var(--pv-gutter-sm) 64px}
  .sb-hero h1{font-size:clamp(52px,16vw,84px)}
  .cu-row{grid-template-columns:1fr;gap:16px;padding:20px 0}
  .cu-thumb{aspect-ratio:16/9}
  .cu-reddit{grid-template-columns:1fr;gap:0}
  .cu-rd + .cu-rd{border-top:1px solid rgba(var(--desert-ink-rgb), .08)}
  .sb-detail-card{padding:26px 20px}
  .sb-detail-top{grid-template-columns:1fr;gap:18px}
  .sb-detail-top img{width:100%;max-width:420px}
  .sb-cols{grid-template-columns:1fr;gap:36px 0}
  .cs-ev{grid-template-columns:64px 52px 1fr;gap:16px}
  .cs-remind{grid-column:3;justify-self:start;margin-top:4px}
  /* ticket-wrapped actions take the remind button's grid slot */
  .cs-ev .cs-actions{grid-column:3;justify-self:start;margin-top:4px}
  .cs-ev.cs-noart{grid-template-columns:64px 1fr}
  .cs-ev.cs-noart .cs-remind{grid-column:2}
  .cs-ev.cs-noart .cs-actions{grid-column:2}
  .cs-art{width:52px;border-radius:10px}
  .cs-day{min-height:68px;font-size:14px}
  .cs-day.cs-cover .cu-n{top:5px;left:7px}
  .cs-dow{font-size:9.5px}
}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cu-rv{opacity:1;transform:none}.sb-slide{transition:none}.sb-glow{display:none}
}/* ============ Reddit-style dense feed (Culture home, 2026-09-28 redesign) ============ */
.fd-ident{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--pv-red-ember);margin:14px 0 0}.fd-feed{list-style:none;margin:10px 0 0;padding:0;max-width:760px}.fd-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:6px;
  padding:13px 2px;border-bottom:1px solid rgba(var(--desert-ink-rgb), .09)}.fd-vote{display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:1px}.fd-vote-btn{width:38px;height:30px;display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;color:var(--pv-ivory-faint);cursor:pointer;border-radius:8px;padding:0}.fd-vote-btn svg{width:16px;height:16px}.fd-vote-btn:hover{color:var(--pv-ivory)}.fd-vote-btn[data-vote="up"][aria-pressed="true"]{color:var(--pv-red-ember)}.fd-vote-btn[data-vote="down"][aria-pressed="true"]{color:var(--pv-ivory)}.fd-vote-n{font-size:11.5px;font-weight:800;color:var(--pv-ivory-dim);line-height:1}.fd-main{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:start;
  color:inherit;text-decoration:none;min-width:0}.fd-card:not(.fd-media) .fd-main{grid-template-columns:minmax(0,1fr)}.fd-thumb{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/10;
  background:var(--pv-noir-2);flex:none}.fd-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fd-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(var(--desert-card-rgb), .25)}.fd-play svg{width:30px;height:30px;fill:var(--desert-card);opacity:.92}.fd-body{display:flex;flex-direction:column;gap:5px;min-width:0}.fd-comm{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;
  color:var(--pv-ivory-dim)}.fd-comm b{color:var(--pv-ivory);font-weight:700;letter-spacing:.01em}.fd-comm time{font-size:11.5px}.fd-r{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:50%;background:var(--pv-red);color:var(--pv-on-red);font-size:10px;font-weight:800}.fd-dot{opacity:.4;font-size:10px}.fd-title{font-size:15.5px;font-weight:700;line-height:1.38;color:var(--pv-ivory);letter-spacing:-.01em}.fd-main:hover .fd-title{color:var(--pv-red-ember)}.fd-quote{border-left:2px solid var(--pv-red);padding:1px 0 1px 12px;margin:2px 0 0;
  font-size:13.5px;line-height:1.6;color:var(--pv-ivory-dim)}.fd-quote cite{display:block;font-style:normal;font-size:12px;color:var(--pv-ivory);
  font-weight:600;margin-top:5px}.fd-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;
  color:var(--pv-ivory-faint)}/* Story Board in-feed strip */
.fd-strip{display:flex;align-items:center;gap:14px;margin:18px 0;padding:16px 18px;
  border:1px solid rgba(var(--brand-red-rgb), .35);border-radius:16px;text-decoration:none;color:inherit;
  background:linear-gradient(120deg,rgba(var(--brand-red-rgb), .12),rgba(var(--brand-red-rgb), .03))}.fd-strip-k{font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--pv-red-ember);flex:none}.fd-strip-t{font-size:15px;font-weight:700;color:var(--pv-ivory);line-height:1.4;flex:1;min-width:0}.fd-strip-a{font-size:20px;color:var(--pv-red-ember);flex:none}.fd-strip:hover{border-color:rgba(var(--brand-red-rgb), .7)}@media(max-width:420px){.fd-card{grid-template-columns:40px minmax(0,1fr);padding:12px 0}.fd-main{grid-template-columns:128px minmax(0,1fr);gap:12px}.fd-title{font-size:14.5px}.fd-vote-btn{width:34px}
}@media(min-width:700px){.fd-title{font-size:16.5px}.fd-main{grid-template-columns:188px minmax(0,1fr);gap:18px}
}/* ---- music pre-order / pre-save buttons (2026-10-02) ----
   .cs-preorder is the same red-accent pill language as .cs-tickets, rendered
   ONLY for music-drop cards with a verified real pre-order/pre-save URL
   (data-preorder). No link, no button — never a dead button. */
.cs-preorder{flex:none;min-height:var(--pv-target-min);
  padding:10px 22px;border-radius:var(--pv-r-pill);border:1px solid var(--pv-red);
  background:rgba(var(--brand-red-rgb), .10);color:var(--pv-ivory);font-size:13.5px;font-weight:700;
  text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  transition:border-color var(--pv-t-fast),background var(--pv-t-fast),color var(--pv-t-fast),transform .15s}.cs-preorder:hover{background:var(--pv-red);border-color:var(--pv-red);color:var(--pv-on-red)}.cs-preorder svg{flex:none}/* ---- Spotify icon link (2026-10-02) ----
   Icon-only Spotify link on music-drop cards wired to real Spotify data.
   Per James's standing rule: never the literal "Open in Spotify" text. */
.cs-spotify-link{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;flex:none;
  color:var(--social-spotify);background:rgba(var(--social-spotify-rgb), .10);border:1px solid rgba(var(--social-spotify-rgb), .35);
  text-decoration:none;cursor:pointer;margin-left:8px;vertical-align:middle;
  transition:background .15s,color .15s,transform .15s}.cs-spotify-link:hover{background:var(--social-spotify);color:var(--desert-card);transform:scale(1.06)}.cs-spotify-link svg{display:block}
/* ============================================================================
   2026-10-16 — James's Coming Soon build: PILLS REMOVED across the touched
   surface (underline tabs for the view switch; squared hairline controls
   for actions; type labels become plain colored text), and the CROP FIX:
   art variants matched to their slots (portrait key art in portrait
   slots) with focal-aware positioning biased to the upper-center, where
   faces and title treatments live — never dead-center.
   ========================================================================== */
/* view switch: underline tabs, no pill tray */
.cs-toggle{display:inline-flex;background:transparent;border:0;border-radius:0;
  padding:0;gap:26px;margin:26px 0 8px}
.cs-toggle button{min-height:var(--pv-target-min);padding:10px 2px;border-radius:0;
  background:transparent;color:var(--pv-ivory-dim);
  border-bottom:2px solid transparent}
.cs-toggle button[aria-pressed="true"]{background:transparent;color:var(--pv-ivory);
  border-bottom-color:var(--pv-red)}
/* action controls: squared, hairline — not pills */
.cs-remind{border-radius:10px}
.cs-remind:focus-visible{border-radius:10px}
.cs-tickets{border-radius:10px}
.cs-tickets:focus-visible{border-radius:10px}
.cs-preorder{border-radius:10px}
/* type labels: colored text, no chip */
.cs-type{background:transparent;border:0;border-radius:0;padding:0}
.cs-type.t-premiere{background:transparent;color:var(--pv-red-ember)}
.cs-type.t-music{background:transparent;color:var(--pv-red-ember)}
.cs-type.t-featured{background:transparent;color:var(--pv-red-ember)}
.cs-type.t-episode{background:transparent;border:0}
.cs-type.t-game,.cs-type.t-launch{background:transparent;border:0;color:var(--pv-ivory)}
.cs-type.t-live{border:0}
/* crop fix: portrait key art belongs in portrait slots */
.cs-feed-art{aspect-ratio:3/4}
.cs-feed-art img{object-position:50% 18%}
.cs-art img{object-position:50% 18%}
/* square album art in the portrait feed slot: full cover shown over a
   blurred fill of itself — nothing cropped, design reads intentional */
.cs-feed-art{position:relative}
.cs-feed-art--sq::before{content:"";position:absolute;inset:0;
  background-image:var(--art);background-size:cover;background-position:center;
  filter:blur(18px) brightness(.55);transform:scale(1.25)}
.cs-feed-art--sq img{position:relative;object-fit:contain}
