.wec-season-page { padding-top: clamp(34px, 5vw, 68px); padding-bottom: 100px; }
.wec-season-hero { overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow-small); }
.wec-season-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 28px 30px 26px; border-bottom: 1px solid var(--border); }
.wec-season-title .eyebrow { margin-bottom: 8px; }
.wec-season-title h1 { margin: 0; color: var(--text); font-size: clamp(32px, 4vw, 48px); line-height: 1; letter-spacing: -.05em; }
.wec-season-title h1 span { color: var(--accent); }
.wec-season-context { display: grid; justify-items: end; gap: 9px; }
.wec-season-context > p { margin: 0; color: var(--text-secondary); font-size: 14px; text-align: right; }
.wec-season-navigation { display: flex; gap: 16px; min-height: 17px; }
.wec-season-navigation > a { display: flex; gap: 5px; color: inherit; font-size: 10px; text-decoration: none; }
.wec-season-navigation > a:hover strong { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.wec-season-navigation > a.previous::before { content: '←'; }
.wec-season-navigation > a.next::after { content: '→'; }
.wec-season-navigation span { color: var(--text-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wec-season-navigation strong { color: var(--text); }
.wec-season-champions { scroll-margin-top: calc(var(--header-height) + 66px); }
.wec-champions-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 22px 30px 16px; }
.wec-champions-heading span { color: var(--accent-dark); font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.wec-champions-heading h2 { margin: 0; font-size: 18px; }
.wec-champion-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); border-top: 1px solid var(--border); }
.wec-champion-card { min-width: 0; min-height: 170px; padding: 22px 24px 25px; border-right: 1px solid var(--border); background: var(--surface); }
.wec-champion-card:last-child { border-right: 0; }
.wec-champion-card.is-primary { position: relative; background: var(--accent); color: #fff; }
.wec-champion-card.is-primary::after { position: absolute; right: -54px; bottom: -104px; width: 190px; height: 190px; border: 23px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; pointer-events: none; }
.wec-champion-card > * { position: relative; z-index: 1; }
.wec-champion-category { display: flex; gap: 10px; align-items: baseline; margin-bottom: 20px; }
.wec-champion-category > span { color: var(--accent); font: 850 11px/1 'Barlow Condensed', sans-serif; }
.wec-champion-card.is-primary .wec-champion-category > span { color: #fff; }
.wec-champion-card h3 { margin: 0; font-size: 24px; }
.wec-champion-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 15px 18px; margin: 0; }
.wec-champion-card dl div { display: grid; align-content: start; gap: 5px; }
.wec-champion-card dt { color: var(--text-secondary); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.wec-champion-card dd { margin: 0; font-weight: 800; line-height: 1.35; }
.wec-champion-card dd small { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 10px; font-weight: 700; }
.wec-champion-card dd a { color: inherit; text-decoration: none; }
.wec-champion-card dd a:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.wec-champion-card dd a span { margin-right: 5px; color: var(--accent-dark); }
.wec-champion-card dd i { color: var(--text-muted); font-style: normal; font-weight: 500; }
.wec-champion-card.is-primary dt, .wec-champion-card.is-primary dd i { color: #fff; }
.wec-champion-card.is-primary dd small { color: #fff; }
.wec-champion-card.is-primary dd a:hover { color: #fff; }
.wec-champion-card.is-primary dd a span { color: rgba(255,255,255,.76); }
.wec-race-results { margin-top: 32px; }
.wec-race-results .section-heading { margin-bottom: 22px; }
.wec-race-results .section-heading .eyebrow { margin-bottom: 8px; }
.wec-race-results .section-heading h2 { margin: 0 0 6px; }
.wec-race-results-frame { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-small); scrollbar-color: var(--border-strong) transparent; }
.wec-race-results-table { width: 100%; min-width: 980px; border-collapse: collapse; color: var(--text); font-size: 12px; }
.wec-race-results-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wec-race-results-table th, .wec-race-results-table td { padding: 16px 17px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.wec-race-results-table tr > :last-child { border-right: 0; }
.wec-race-results-table tbody tr:last-child > * { border-bottom: 0; }
.wec-race-results-table thead th { background: var(--surface-alt); color: #555d68; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.wec-race-results-table thead th:first-child { width: 46px; text-align: center; }
.wec-race-results-table thead th:nth-child(2) { min-width: 190px; }
.wec-race-results-table thead th:nth-child(n+3) { min-width: 210px; }
.wec-race-results-table tr > :first-child { position: sticky; z-index: 2; left: 0; width: 48px; background: var(--surface); }
.wec-race-results-table tr > :nth-child(2) { position: sticky; z-index: 2; left: 48px; background: var(--surface); box-shadow: 8px 0 12px -13px rgba(17,19,24,.8); }
.wec-race-results-table thead tr > :first-child, .wec-race-results-table thead tr > :nth-child(2) { z-index: 3; background: var(--surface-alt); }
.wec-race-results-table tbody tr:hover > * { background: color-mix(in srgb, var(--accent-light) 42%, var(--surface)); }
.wec-race-round { color: var(--accent-dark); font: 850 21px/1 'Barlow Condensed', sans-serif; text-align: center !important; }
.wec-race-circuit a, .wec-race-winner a { color: inherit; text-decoration: none; }
.wec-race-circuit > a { display: block; font-size: 14px; line-height: 1.25; }
.wec-race-circuit a:hover, .wec-race-winner a:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.wec-race-circuit span { display: block; margin-top: 5px; color: var(--text-muted); font-size: 10px; font-weight: 500; line-height: 1.35; }
.wec-race-winning-team { display: block; padding-bottom: 9px; border-bottom: 1px solid var(--border); font-weight: 850; line-height: 1.35; }
.wec-race-winning-team span { margin-right: 6px; color: var(--accent-dark); }
.wec-race-winner ul { display: grid; gap: 5px; margin: 9px 0 0; padding: 0; list-style: none; }
.wec-race-winner li { line-height: 1.25; }
.wec-race-winner li::before { margin-right: 7px; color: var(--accent); content: '—'; }
.wec-race-winner.is-empty { color: var(--text-muted); text-align: center; }
.wec-season-standings { margin-top: 32px; }
.wec-season-standings .section-heading { margin-bottom: 22px; }
.wec-season-standings .section-heading .eyebrow { margin-bottom: 8px; }
.wec-season-standings .section-heading h2 { margin: 0 0 6px; }
.wec-standings-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.wec-standings-switch, .wec-standings-pills { display: flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.wec-standings-switch::-webkit-scrollbar, .wec-standings-pills::-webkit-scrollbar { display: none; }
.wec-standings-switch button, .wec-standings-pills button { min-height: 40px; padding: 0 16px; border: 1px solid var(--border); background: var(--surface); color: var(--text-secondary); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.wec-standings-switch button + button, .wec-standings-pills button + button { border-left: 0; }
.wec-standings-switch button[aria-pressed="true"] { border-color: var(--accent-dark); background: var(--accent-dark); color: #fff; }
.wec-standings-pills button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-light); color: var(--accent-dark); }
.wec-season-standings-frame { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); box-shadow: var(--shadow-small); scrollbar-color: var(--border-strong) transparent; }
.wec-season-standings-table { width: 100%; min-width: max(920px, 100%); border-collapse: collapse; color: var(--text); font-size: 12px; }
.wec-season-standings-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wec-season-standings-table th, .wec-season-standings-table td { height: 54px; padding: 11px 13px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.wec-season-standings-table tr > :last-child { border-right: 0; }
.wec-season-standings-table tbody tr:last-child > * { border-bottom: 0; }
.wec-season-standings-table thead th { height: 58px; background: var(--surface-alt); color: #555d68; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.wec-season-standings-table thead th.wec-standing-event { min-width: 58px; text-align: center; }
.wec-season-standings-table thead th span, .wec-season-standings-table thead th small { display: block; }
.wec-season-standings-table thead th span { color: var(--accent-dark); font-size: 11px; }
.wec-season-standings-table thead th small { margin-top: 3px; color: #555d68; font-size: 8px; }
.wec-season-standings-table tbody th { min-width: 180px; font-size: 13px; }
.wec-season-standings-table tr > :first-child { position: sticky; z-index: 2; left: 0; width: 52px; background: var(--surface); }
.wec-season-standings-table tr > :nth-child(2) { position: sticky; z-index: 2; left: 52px; background: var(--surface); box-shadow: 8px 0 12px -13px rgba(17,19,24,.8); }
.wec-season-standings-table thead tr > :first-child, .wec-season-standings-table thead tr > :nth-child(2) { z-index: 3; background: var(--surface-alt); }
.wec-season-standings-table tbody th a { color: inherit; text-decoration: none; }
.wec-season-standings-table tbody th a:hover { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.wec-standing-car-number { display: inline-block; min-width: 34px; margin-right: 7px; color: var(--accent-dark); font-weight: 900; font-variant-numeric: tabular-nums; }
.wec-standing-position { width: 52px; color: var(--accent-dark); font: 850 18px/1 'Barlow Condensed', sans-serif; text-align: center !important; }
.wec-standing-team { min-width: 145px; color: var(--text-secondary); }
.wec-standing-result { min-width: 58px; font-weight: 800; text-align: center !important; font-variant-numeric: tabular-nums; }
.wec-standing-result.position-1 { background: #fff9bd; }
.wec-standing-result.position-2 { background: #edf0f3; }
.wec-standing-result.position-3 { background: #ffe1a8; }
.wec-standing-result.status-retired { background: #eee4f5; color: #704889; }
.wec-standing-result.status-not-classified { background: #e5e8f8; color: #4f5f99; }
.wec-standing-result.status-disqualified { background: #25272d; color: #fff; }
.wec-standing-result.status-excluded { background: #f8dfe2; color: #9b3d48; }
.wec-standing-result.status-not-started { color: var(--text-muted); }
.wec-standing-result.is-absent { color: var(--text-muted); font-weight: 500; }
.wec-standing-points { min-width: 76px; font-weight: 850; text-align: right !important; font-variant-numeric: tabular-nums; }
.wec-standings-legend { display: flex; align-items: center; gap: 20px; margin-bottom: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.wec-standings-legend > strong { flex: 0 0 auto; color: var(--text-muted); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.wec-standings-legend ul { display: flex; gap: 10px 18px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.wec-standings-legend li { display: flex; align-items: center; gap: 7px; color: var(--text-secondary); font-size: 10px; white-space: nowrap; }
.wec-standings-legend i { width: 14px; height: 14px; border: 1px solid rgba(17,19,24,.1); border-radius: 3px; background: var(--surface-alt); }
.wec-standings-legend i.position-1 { background: #fff9bd; }
.wec-standings-legend i.position-2 { background: #edf0f3; }
.wec-standings-legend i.position-3 { background: #ffe1a8; }
.wec-standings-legend i.status-retired { background: #eee4f5; }
.wec-standings-legend i.status-not-classified { background: #e5e8f8; }
.wec-standings-legend i.status-disqualified { background: #25272d; }
.wec-standings-legend i.status-excluded { background: #f8dfe2; }
.wec-standings-legend i.status-not-started { border-style: dashed; background: #fff; }
.wec-standings-legend i.is-absent { position: relative; }
.wec-standings-legend i.is-absent::after { position: absolute; top: 6px; right: 3px; left: 3px; height: 1px; background: var(--text-muted); content: ''; }

@media (max-width: 900px) {
  .wec-champion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wec-champion-card:nth-child(even) { border-right: 0; }
  .wec-champion-card:nth-child(n+3) { border-top: 1px solid var(--border); }
}

@media (max-width: 640px) {
  .wec-season-page { padding-top: 28px; }
  .wec-season-heading { align-items: start; flex-direction: column; gap: 13px; padding: 24px 22px; }
  .wec-season-context { justify-items: start; }
  .wec-season-context > p { text-align: left; }
  .wec-season-navigation { flex-wrap: wrap; gap: 8px 16px; }
  .wec-season-navigation > a { display: grid; gap: 2px; }
  .wec-season-navigation > a::before, .wec-season-navigation > a::after { display: none; }
  .wec-champions-heading { align-items: start; flex-direction: column; gap: 5px; padding: 20px 22px 14px; }
  .wec-champion-grid { grid-template-columns: 1fr; }
  .wec-champion-card { min-height: 0; border-top: 1px solid var(--border); border-right: 0; }
  .wec-champion-card:first-child { border-top: 0; }
  .wec-standings-controls { align-items: stretch; flex-direction: column; }
  .wec-standings-switch, .wec-standings-pills { width: 100%; }
  .wec-standings-switch button { flex: 1; }
  .wec-standings-legend { align-items: flex-start; flex-direction: column; gap: 10px; }
}
