/* ══════════════════════════════════════════════════════════════
   Triple Crown — Schedule system (Marquee home section + Stack page)
   Shared by index.html (#tcsSchedHome) and events.html (#tcsSchedPage).
   Data + render in js/schedule.js. Uses the site brand vars.
   ══════════════════════════════════════════════════════════════ */
.tcs-sched{max-width:1280px;margin:0 auto;padding:0 28px}
.tcs-sched--page{padding-top:8px}

/* section header */
.tcs-shead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.tcs-shead__e{font-family:var(--font-body,'Rajdhani',sans-serif);font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin-bottom:9px}
.tcs-shead__n{font-family:var(--font-display,'VANGO',sans-serif);font-size:clamp(34px,5vw,64px);line-height:.88;text-transform:uppercase;color:var(--text)}
.tcs-shead__link{font-family:var(--font-body,'Rajdhani',sans-serif);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);transition:color .2s;margin-bottom:6px}
.tcs-shead__link:hover{color:var(--red)}

/* ── Feature card (Marquee) — next race + every stack row ── */
.tcs-feat{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--border);background:var(--surface);text-decoration:none;color:var(--text)}
.tcs-feat--sm{grid-template-columns:.92fr 1fr}
.tcs-feat__img{position:relative;min-height:300px;background-size:cover;background-position:center}
.tcs-feat--sm .tcs-feat__img{min-height:240px}
.tcs-feat__img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 54%,var(--surface))}
.tcs-feat__tag{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body,'Rajdhani',sans-serif);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--red);padding:6px 12px;z-index:2}
.tcs-feat__tag--done{background:rgba(124,209,124,.16);color:#8fe08f;border:1px solid rgba(124,209,124,.4)}
.tcs-feat__tag .d{width:7px;height:7px;border-radius:50%;background:#fff;animation:tcsPulse 1.5s infinite}
.tcs-feat__body{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}
.tcs-feat--sm .tcs-feat__body{padding:28px 34px}
.tcs-feat__r{font-family:var(--font-mono,'Space Mono',monospace);font-size:11px;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase;margin-bottom:9px}
.tcs-feat__v{font-family:var(--font-display,'VANGO',sans-serif);font-size:clamp(30px,3.6vw,52px);line-height:.9;text-transform:uppercase}
.tcs-feat--sm .tcs-feat__v{font-size:clamp(26px,3vw,42px)}
.tcs-feat__loc{font-family:var(--font-body,'Rajdhani',sans-serif);font-size:13px;letter-spacing:.05em;color:var(--text-2);text-transform:uppercase;margin-top:8px}
.tcs-feat__pod{font-family:var(--font-body,'Rajdhani',sans-serif);font-size:13px;color:var(--text-2);margin-top:13px;letter-spacing:.02em}
.tcs-feat__pod b{color:var(--text);font-weight:700}
.tcs-feat__pod .c{color:var(--red);font-family:var(--font-mono,'Space Mono',monospace);font-size:10px;letter-spacing:.05em}
.tcs-feat__cd{display:flex;gap:16px;margin:18px 0 20px}
.tcs-feat__cd .n{font-family:var(--font-display,'VANGO',sans-serif);font-size:36px;line-height:1;color:var(--text)}
.tcs-feat__cd .l{font-family:var(--font-mono,'Space Mono',monospace);font-size:9px;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase}
.tcs-feat__act{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.tcs-feat__act .btn{font-size:12px}
@media(max-width:820px){
  .tcs-feat,.tcs-feat--sm{grid-template-columns:1fr}
  .tcs-feat__img{min-height:200px}
  .tcs-feat__img::after{background:linear-gradient(0deg,var(--surface),transparent 55%)}
}

/* ── Ribbon (home: 8 rounds at a glance) ── */
.tcs-ribbon{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-top:1px}
.tcs-rib{background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:4px;transition:background .18s;text-decoration:none}
.tcs-rib:hover{background:var(--surface-2)}
.tcs-rib.is-next{background:rgba(235,33,39,.1)}
.tcs-rib__r{font-family:var(--font-mono,'Space Mono',monospace);font-size:11px;color:var(--text-3);display:flex;justify-content:space-between}
.tcs-rib__r .s{color:#8fe08f}
.tcs-rib.is-next .tcs-rib__r .s{color:var(--red)}
.tcs-rib__v{font-family:var(--font-heading,'Tungsten',sans-serif);font-size:15px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1;color:var(--text)}
.tcs-rib__d{font-family:var(--font-mono,'Space Mono',monospace);font-size:10px;color:var(--text-2)}
@media(max-width:820px){.tcs-ribbon{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.tcs-ribbon{grid-template-columns:1fr}}

/* ── Stage label + stack ── */
.tcs-stagelab{font-family:var(--font-heading,'Tungsten',sans-serif);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:36px 0 16px;display:flex;align-items:center;gap:12px}
.tcs-stagelab .ln{flex:1;height:1px;background:var(--border)}
.tcs-stagelab .rr{font-family:var(--font-mono,'Space Mono',monospace);font-size:10px;color:var(--text-3);letter-spacing:.05em}
.tcs-stack>.tcs-feat,.tcs-stack>.tcs-feat--sm{margin-bottom:14px}
.tcs-feat--finale{box-shadow:inset 3px 0 0 var(--red)}

@keyframes tcsPulse{0%{box-shadow:0 0 0 0 rgba(235,33,39,.5)}70%{box-shadow:0 0 0 8px rgba(235,33,39,0)}100%{box-shadow:0 0 0 0 rgba(235,33,39,0)}}
