:root{--bg:#0e0e14;--panel:#171722;--panel2:#1f1f2e;--line:#2b2b3d;--text:#ecebf5;--muted:#9b9ab0;--accent:#8b5cf6;--accent2:#a78bfa;--good:#34d399;--bad:#f87171;--team:#8b5cf6;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:.5rem 0}h2{margin:0}h3{margin:0 0 .25rem}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}main.wrap{padding-bottom:48px;padding-top:12px}
.muted{color:var(--muted)}.sub{color:var(--muted);margin:0}
.site-header{background:#0a0a10;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.bar{display:flex;align-items:center;gap:20px;height:56px}
.logo{font-weight:800;font-size:1.3rem;color:var(--text)}.logo span{color:var(--accent)}.logo small{font-weight:500;color:var(--muted);font-size:.7rem;margin-left:6px}
.series-switch{display:flex;gap:4px;background:var(--panel);padding:3px;border-radius:8px}
.series-switch a,.series-switch .soon{padding:4px 12px;border-radius:6px;font-weight:700;font-size:.85rem;color:var(--muted)}
.series-switch a.on{background:var(--accent);color:#fff}.series-switch .soon{opacity:.45;cursor:not-allowed}
.main-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.main-nav a{padding:10px 12px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;font-weight:600;font-size:.92rem}
.main-nav a.on,.main-nav a:hover{color:var(--text);border-color:var(--accent);text-decoration:none}
.live-link{margin-left:auto}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;margin-right:6px;animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.3}}
.site-footer{width:100%;color:var(--muted);font-size:.8rem;border-top:1px solid var(--line);background:#0a0a10;padding:28px 16px;margin-top:24px}
.footer-inner{max-width:880px;margin:0 auto;text-align:center}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;padding:9px 18px;border-radius:8px;font-weight:700;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{background:#7c3aed;text-decoration:none}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.live{background:#dc2626}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--accent2);font-weight:700}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin:28px 0 12px}
.flag{height:1.1em;border-radius:2px;vertical-align:-.1em}
.teambar{display:inline-block;width:4px;height:1.2em;border-radius:2px;margin-right:8px;vertical-align:middle}
.next-race{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:16px;padding:24px;border-radius:16px;background:linear-gradient(135deg,#2a1f55,#171722 70%);border:1px solid var(--line)}
.sessions{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sessions li{display:flex;justify-content:space-between;gap:12px;background:#0003;padding:8px 12px;border-radius:8px;font-size:.9rem}
.countdown{margin:12px 0;font-size:1.05rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mini-table{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.mini-table li{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.mini-table li:last-child{border:0}
.mini-table .pos{width:28px;color:var(--muted);font-weight:700}.mini-table .name{flex:1}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.news-card{display:flex;flex-direction:column;overflow:hidden;color:inherit}.news-card:hover{border-color:var(--accent);text-decoration:none}
.news-card img,.news-card .ph{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--panel2)}
.news-card .body{padding:14px;display:flex;flex-direction:column;gap:6px}.news-card h3{font-size:1.02rem;line-height:1.3}
.news-card p{margin:0;color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card.big{grid-column:1/-1;flex-direction:row}.news-card.big img,.news-card.big .ph{width:45%;aspect-ratio:auto;min-height:220px}.news-card.big h3{font-size:1.5rem}
.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.tag{background:var(--accent);color:#fff;padding:1px 8px;border-radius:99px;font-weight:700}
.ext{font-size:.75rem;color:var(--accent2)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.tabs a{padding:6px 14px;border-radius:99px;background:var(--panel);color:var(--muted);font-weight:600;font-size:.9rem;border:1px solid var(--line)}
.tabs a.on{background:var(--accent);color:#fff;border-color:var(--accent)}.tabs a:hover{text-decoration:none}
.season-picker{display:flex;gap:10px;margin:6px 0 10px}.season-picker a{color:var(--muted)}.season-picker a.on{color:var(--text);font-weight:800;border-bottom:2px solid var(--accent)}
.table-wrap{overflow-x:auto;margin:12px 0}
table.results{width:100%;border-collapse:collapse;background:var(--panel);border-radius:12px;overflow:hidden}
.results th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 12px;background:var(--panel2)}
.results td{padding:10px 12px;border-top:1px solid var(--line);white-space:nowrap}.results td.pos{font-weight:800;width:48px}
.up{color:var(--good);font-size:.75rem}.down{color:var(--bad);font-size:.75rem}
.explainer{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:10px 0}.explainer summary{cursor:pointer;font-weight:600;color:var(--accent2)}.explainer p{color:var(--muted);margin:.5rem 0 0}
.calendar{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.calendar li>*{display:grid;grid-template-columns:44px 28px 1fr auto 80px;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:inherit}
.calendar a:hover{border-color:var(--accent);text-decoration:none}.calendar small{display:block;color:var(--muted)}.round{color:var(--muted);font-weight:800}
.status{text-align:right;font-size:.75rem;font-weight:700;text-transform:uppercase}.status.next{color:var(--accent2)}.status.done{color:var(--good)}.status.cancelled{color:var(--bad)}
.race-head{display:flex;gap:16px;align-items:center;margin:16px 0}.race-head .flag{height:2rem}.race-head .circuit{margin-left:auto;height:80px;filter:invert(.9)}
.people,.teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}
.person{display:flex;align-items:flex-end;gap:10px;padding:0 14px 0 0;overflow:hidden;color:inherit;border-left:4px solid var(--team);min-height:110px}.person:hover{text-decoration:none;border-color:var(--accent)}
.person img{width:96px;height:110px;object-fit:cover;object-position:top}.person>div{padding:12px 0}.person p{margin:0;color:var(--muted);font-size:.85rem}.person small{color:var(--accent2)}
.num{font-weight:900;color:var(--team);font-size:1.1rem}.num.big{font-size:3rem;display:block;line-height:1}
.team{border-top:4px solid var(--team);padding:16px}.team header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.team header img{height:32px;max-width:80px;object-fit:contain}
.team ul{list-style:none;margin:0;padding:0}.team li{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line)}
.driver-hero{display:flex;align-items:flex-end;gap:24px;border-left:6px solid var(--team);padding-left:16px;margin:16px 0}.driver-hero img{height:220px;object-fit:contain}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.stats div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.stats b{display:block;font-size:1.6rem}.stats span{color:var(--muted);font-size:.8rem}
.article{margin:20px 0}.article .hero{width:100%;border-radius:12px;margin:12px 0}.lede{font-size:1.2rem;color:var(--muted)}.prose{font-size:1.05rem;line-height:1.75}
.live-head{display:flex;align-items:center;gap:12px}.pill{background:var(--panel);border:1px solid var(--line);padding:3px 12px;border-radius:99px;font-size:.8rem;color:var(--muted)}.pill.on{color:var(--good);border-color:var(--good)}
.idle{padding:24px}.msgs{list-style:none;padding:0;display:grid;gap:6px}.msgs li{background:var(--panel);padding:8px 12px;border-radius:8px;font-size:.9rem}
.tyre{display:inline-block;width:22px;height:22px;border-radius:50%;text-align:center;font-weight:800;font-size:.75rem;line-height:22px;color:#000;background:#fff}
.tyre.SOFT{background:#ef4444;color:#fff}.tyre.MEDIUM{background:#facc15}.tyre.HARD{background:#f4f4f5}.tyre.INTERMEDIATE{background:#22c55e}.tyre.WET{background:#3b82f6;color:#fff}
.hero-soon{text-align:center;padding:80px 0}
[hidden]{display:none!important}
@media(max-width:720px){.next-race,.grid-2{grid-template-columns:1fr}.news-card.big{flex-direction:column}.news-card.big img,.news-card.big .ph{width:100%;min-height:0;aspect-ratio:16/9}
.hide-sm{display:none}.calendar li>*{grid-template-columns:36px 24px 1fr auto}.calendar .when{display:none}.race-head .circuit{display:none}.driver-hero img{height:140px}}
.empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:40px 24px;margin:16px 0;color:var(--accent2)}
.empty h3{color:var(--text);font-size:1.2rem;margin-top:8px}.empty .why{max-width:560px;color:var(--muted)}.empty .why p{margin:0}
.notice{background:#2a1f55;border:1px solid var(--accent);border-radius:10px;padding:10px 14px}
.guide .lede{font-size:1.1rem}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.toc a{background:var(--panel);border:1px solid var(--line);padding:4px 12px;border-radius:99px;font-size:.85rem;color:var(--muted)}.toc a:hover{border-color:var(--accent);text-decoration:none}
.guide-sec{margin:32px 0;scroll-margin-top:120px}.guide-sec h2{margin-bottom:8px;border-left:4px solid var(--accent);padding-left:12px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.steps .card{padding:14px}.steps p{margin:.4rem 0 0;color:var(--muted);font-size:.95rem}
.plain{padding-left:20px;display:grid;gap:8px}.plain.tyres,.plain.flags{list-style:none;padding:0}
.plain .tyre{margin-right:8px;font-style:normal}.swatch{display:inline-block;width:22px;height:14px;border-radius:3px;margin-right:10px;vertical-align:-2px;border:1px solid #fff3}
.points-table td,.points-table th{text-align:center}.points-table td:first-child,.points-table th:first-child{text-align:left}
.gloss dt{font-weight:700;margin-top:10px}.gloss dd{margin:2px 0 0;color:var(--muted)}
.team-news{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.team-news ul li{display:block;border:0;padding:3px 0;font-size:.88rem;line-height:1.35}
.team-logo{height:64px!important;width:auto;max-width:160px;object-fit:contain!important}
.team h3 a,.mini-table .name a{color:inherit}.team h3 a:hover,.mini-table .name a:hover{color:var(--accent2)}

/* ---- mobile ---- */
.menu-btn{display:none;margin-left:auto;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;width:44px;height:40px;cursor:pointer;align-items:center;justify-content:center}
.tabs a,.season-picker a{min-height:36px;display:inline-flex;align-items:center}
@media(max-width:720px){
  .bar{gap:12px}
  .menu-btn{display:inline-flex}
  html.js .main-nav{display:none;flex-direction:column;overflow:visible;padding-bottom:12px}
  html.js .site-header.open{max-height:100vh;overflow-y:auto}
  html.js .site-header.open .main-nav{display:flex}
  html.js .main-nav a{padding:14px 12px;border-bottom:1px solid var(--line);border-left:3px solid transparent;font-size:1rem}
  html.js .main-nav a.on,html.js .main-nav a:hover{border-bottom-color:var(--line);border-left-color:var(--accent);background:var(--panel)}
  html.js .live-link{margin-left:0}
  main.wrap{padding-top:8px}
  h1{font-size:1.6rem}
  /* news: compact list cards, first story stays a big feature */
  .news-grid{grid-template-columns:1fr;gap:10px}
  .news-card:not(.big){flex-direction:row;align-items:stretch}
  .news-card:not(.big) img,.news-card:not(.big) .ph{flex:0 0 112px;width:112px;height:auto;min-height:112px;aspect-ratio:1;border-radius:0}
  .news-card:not(.big) .body{padding:10px 12px;gap:4px;min-width:0}
  .news-card:not(.big) h3{font-size:.98rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .news-card:not(.big) p,.news-card:not(.big) .ext{display:none}
  .news-card .meta{font-size:.72rem;gap:6px}
  .news-card.big h3{font-size:1.25rem}
  .article{margin:8px auto}.article h1{font-size:1.6rem}.prose{font-size:1.02rem;line-height:1.7}
  .results th,.results td{padding:9px 8px}.results td{font-size:.95rem}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}.tabs a{white-space:nowrap}
  .section-head{margin:22px 0 10px}.section-head h2{font-size:1.25rem}
  .people,.teams{grid-template-columns:1fr 1fr;gap:10px}
  .person{flex-direction:column;align-items:flex-start;padding:0;min-height:0;border-left:0;border-top:4px solid var(--team)}.person img{width:100%;height:120px}.person>div{padding:8px 12px 12px}
  .next-race{padding:16px}.next-race h1{font-size:1.45rem}
  .stats{grid-template-columns:1fr 1fr 1fr}.stats .age{grid-column:1/-1;order:-1}.stats div{padding:10px}.stats b{font-size:1.25rem}
  .toc{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-bottom:4px}.toc a{white-space:nowrap}
  .pager{font-size:.9rem}
}
@media(max-width:400px){.people,.teams{grid-template-columns:1fr}.person{flex-direction:row;border-top:0;border-left:4px solid var(--team)}.person img{width:96px;height:100px}}
.load-more{display:flex;justify-content:center;margin:24px 0}.load-more .btn{min-width:220px;text-align:center}
.site-footer p{line-height:1.6;margin:0 0 .8rem}.site-footer p:last-child{margin-bottom:0}

/* holding image for stories with no usable picture */
.holding{position:relative;display:grid;place-items:center;overflow:hidden;width:100%;aspect-ratio:16/9;
  background:repeating-linear-gradient(115deg,#ffffff14 0 14px,transparent 14px 44px),linear-gradient(135deg,hsl(var(--h,265) 58% 32%),hsl(calc(var(--h,265) + 25) 62% 13%))}
.holding::before{content:"";position:absolute;right:0;bottom:0;width:44%;aspect-ratio:1;opacity:.16;
  background:conic-gradient(#fff 25%,transparent 0 50%,#fff 0 75%,transparent 0) 0 0/22px 22px;
  -webkit-mask-image:linear-gradient(135deg,transparent 45%,#000);mask-image:linear-gradient(135deg,transparent 45%,#000)}
.holding .mark{position:relative;font-weight:800;letter-spacing:.02em;color:#fff;opacity:.88;font-size:1.15rem}.holding .mark b{color:var(--accent2)}
@media(max-width:720px){.news-card:not(.big) .holding .mark{font-size:.7rem}.news-card:not(.big) .holding::before{width:55%}}

/* driver headshots: cut-out photos sit on a team-colour tile so the straight crop at the shoulders reads as intentional */
.person img,.driver-hero img:not(.team-logo):not(.team-car){background:linear-gradient(165deg,color-mix(in srgb,var(--team) 65%,#0000),color-mix(in srgb,var(--team) 14%,#0000));object-fit:cover;object-position:top center}
.person img{width:96px;height:110px;margin:10px 0 0 10px;border-radius:12px 12px 0 0}
.driver-hero{align-items:flex-end}
.driver-hero img:not(.team-logo):not(.team-car){width:190px;height:210px;border-radius:12px 12px 0 0}
@media(max-width:720px){
  .person img{width:calc(100% - 20px);height:130px;margin:10px 10px 0}
  .driver-hero{gap:16px}
  .driver-hero img:not(.team-logo):not(.team-car){width:140px;height:160px}
  .driver-hero .num.big{font-size:2.4rem}.driver-hero h1{font-size:1.5rem}
}
@media(max-width:400px){.person img{width:96px;height:100px;margin:10px 0 0 10px}}
.plain-link{color:inherit}.plain-link:hover{color:var(--accent2);text-decoration:none}
.sessions li.has-results{padding:0;background:#0003;border:1px solid var(--accent)}.sessions li.has-results a{display:flex;justify-content:space-between;gap:12px;width:100%;padding:8px 12px;color:inherit}
.sessions li.has-results a:hover{background:#8b5cf622;text-decoration:none}.sessions li.has-results span{color:var(--accent2);font-weight:700}
.more-link{display:inline-block;margin-top:6px;font-size:.88rem;font-weight:600}
.notice a{margin-left:4px}

/* driver season grid */
.races-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0 8px}
.race-card{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;min-height:122px}
a.race-card:hover{border-color:var(--accent);text-decoration:none}
.race-card .rc-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.75rem;font-weight:700}
.race-card .rc-name{font-weight:700;line-height:1.25}
.race-card .rc-res{font-size:1.7rem;font-weight:800;line-height:1.1;margin-top:auto}
.race-card .rc-pts{color:var(--muted);font-size:.85rem}
.race-card .rc-sprint{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:4px;margin-top:4px}
.race-card.upcoming{opacity:.55;background:transparent;border-style:dashed}.race-card.upcoming .rc-res{font-size:1rem;font-weight:600}
.race-card.podium{border-color:var(--team);background:linear-gradient(160deg,color-mix(in srgb,var(--team) 42%,var(--panel)),var(--panel) 85%)}
.race-card.podium .rc-res{color:#fff}.race-card.podium .rc-pts,.race-card.podium .rc-head,.race-card.podium .rc-sprint{color:#ffffffcc}
.race-card.p1{box-shadow:0 0 0 2px var(--team);background:linear-gradient(160deg,color-mix(in srgb,var(--team) 70%,var(--panel)),color-mix(in srgb,var(--team) 20%,var(--panel)))}

/* headshots keep the photo's own square shape so faces are never cropped */
.person img{width:96px;height:auto;aspect-ratio:1/1}
.driver-hero img:not(.team-logo):not(.team-car){width:190px;height:auto;aspect-ratio:1/1}
@media(max-width:720px){
  .person img{width:calc(100% - 20px);height:auto;aspect-ratio:1/1}
  .driver-hero img:not(.team-logo):not(.team-car){width:140px;height:auto;aspect-ratio:1/1}
  .races-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:400px){.person img{width:96px;height:auto;aspect-ratio:1/1}}
/* did not finish / disqualified: red; did not start: amber */
.race-card.out{border-color:#ef4444aa;background:linear-gradient(160deg,#ef444428,var(--panel) 80%)}
.race-card.out .rc-res,.rc-sprint.out{color:#f87171}
.race-card.dns{border-color:#fbbf24aa;background:linear-gradient(160deg,#fbbf2420,var(--panel) 80%)}.race-card.dns .rc-res{color:#fbbf24}

/* constructor header: season car on the right; sized so the header row keeps its height */
.team-car{margin-left:auto;align-self:center;height:84px;width:auto;max-width:52%;object-fit:contain;filter:drop-shadow(0 6px 10px #0007)}
@media(max-width:600px){.team-car{display:none}}
.driver-hero img.team-car{height:84px!important;width:auto!important;max-width:52%;aspect-ratio:auto;background:none;border-radius:0}

/* ---- live: nav pill, home tile, live page ---- */
.live-link.live-on{background:#dc2626;color:#fff!important;border-radius:99px;padding:6px 14px;margin:6px 0 6px auto;font-weight:800;letter-spacing:.04em;border-bottom:0!important;animation:livepulse 1.8s infinite}
.live-link.live-on .dot{background:#fff;margin-right:6px}
@keyframes livepulse{0%{box-shadow:0 0 0 0 #ef444499}70%{box-shadow:0 0 0 10px #ef444400}100%{box-shadow:0 0 0 0 #ef444400}}
.next-race.live{border-color:#ef4444;background:linear-gradient(135deg,#4a1220,#171722 70%);box-shadow:0 0 0 1px #ef444466,0 0 28px #ef444433}
.next-race.live .eyebrow{color:#fca5a5;display:flex;align-items:center;gap:6px;font-weight:800}
.eyebrow .dot{margin:0}
.live-session{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.chip{background:var(--panel);border:1px solid var(--line);padding:4px 12px;border-radius:99px;font-size:.85rem;color:var(--muted)}
.chip.strong{color:var(--text);font-weight:700}
.chip.status{font-weight:800;color:#4ade80;border-color:#22c55e}
.chip.status.SAFETYCAR,.chip.status.VSC{color:#facc15;border-color:#facc15;background:#facc1514}
.chip.status.REDFLAG{color:#fff;background:#dc2626;border-color:#dc2626}
.chip.status.FINISHED{color:var(--text);border-color:var(--text)}
.chip.rain{color:#60a5fa;border-color:#3b82f6}
.sec{margin:22px 0 8px}
.live-table td.pos{width:44px}.stops{color:var(--muted);margin-left:2px}
.live-table tr.drop td{background:#ef44441a}.live-table tr.drop td:first-child{box-shadow:inset 3px 0 #ef4444}
.top3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0}
.top3 .card{display:grid;gap:2px;padding:12px;border-top:4px solid var(--team)}
.top3 .rank{color:var(--muted);font-weight:800;font-size:.8rem}.top3 .time{font-size:1.15rem;font-weight:800}
@media(max-width:720px){
  html.js .main-nav a.live-link.live-on{margin:8px 0 0;border-radius:10px;padding:14px 12px;border-left:0}
  .top3{grid-template-columns:1fr}
}

/* phone: Live link sits in the top bar next to the menu button so it is always visible */
.header-live{display:none}
@media(max-width:720px){
  .header-live{display:inline-flex;align-items:center;margin-left:auto;padding:0 12px;min-height:40px;border-radius:99px;border:1px solid var(--line);color:var(--muted);font-weight:700;font-size:.85rem;white-space:nowrap}
  .header-live.on{color:var(--text);border-color:var(--accent)}
  .header-live.live-on{background:#dc2626;border-color:#dc2626;color:#fff;font-weight:800;letter-spacing:.04em;animation:livepulse 1.8s infinite}
  .header-live .dot{background:#fff;margin-right:6px}
  .header-live + .menu-btn{margin-left:0}
  .main-nav .live-link{display:none!important}
  .bar{gap:8px}
  .logo{font-size:1.12rem}
  .series-switch a,.series-switch .soon{padding:4px 9px}
}
@media(max-width:350px){
  .series-switch .soon{display:none}
  .logo{font-size:1rem}
  .header-live{padding:0 10px}
  .menu-btn{width:40px}
}
.mv{font-size:.68rem;margin-left:5px;font-weight:800;white-space:nowrap}.mv.up{color:#4ade80}.mv.down{color:#f87171}
.live-table td.pos{width:64px;white-space:nowrap}
@media(max-width:720px){
  .top3{grid-template-columns:repeat(3,1fr);gap:6px}
  .top3 .card{padding:8px 9px;gap:1px}
  .top3 .fn{display:none}
  .top3 b{font-size:.88rem}.top3 .time{font-size:.9rem}.top3 .rank{font-size:.68rem}
  .top3 .mv{margin-left:3px}
}

/* podium cards: headshot sits inside the card on the right, so the card keeps its size */
.top3 .card{position:relative;overflow:hidden}
.top3 .card > *:not(.shot){position:relative;z-index:1}
.top3 .shot{position:absolute;right:0;bottom:0;height:100%;width:auto;aspect-ratio:1/1;object-fit:cover;object-position:top;z-index:0;
  background:linear-gradient(165deg,color-mix(in srgb,var(--team) 65%,#0000),color-mix(in srgb,var(--team) 14%,#0000));
  -webkit-mask-image:linear-gradient(to left,#000 60%,transparent);mask-image:linear-gradient(to left,#000 60%,transparent)}
@media(max-width:720px){.top3 .shot{opacity:.38;height:100%}}
.chip.status.YELLOWFLAG{color:#facc15;border-color:#facc15;background:#facc1514}

/* qualifying board: Q1/Q2/Q3 times, knocked-out drivers dimmed in a fixed place */
.live-table tr.out td{opacity:.45}
.live-table td.dim{color:var(--muted)}.live-table td.fast{color:#c084fc;font-weight:700}
.outtag{margin-left:8px;color:#f87171;font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
@media(max-width:720px){
  .live-table.quali th,.live-table.quali td{padding:9px 5px}
  .live-table.quali .fn{display:none}
  .live-table.quali td{font-size:.9rem}
}
@media(max-width:720px){
  .live-table.quali td.pos{width:auto;min-width:40px}
  .live-table.quali th,.live-table.quali td{padding:9px 4px}
  .live-table.quali td{font-size:.84rem}
  .live-table.quali td:first-child{padding-left:8px}
  .live-table.quali .outtag{display:none} /* dimming and the empty later rounds already show who is out */
}

/* live page: nothing running */
.idle-hero{text-align:center;max-width:760px;margin:12px auto 0;padding:28px 18px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(120% 90% at 50% 0%,#2a1f55 0%,var(--panel) 62%)}
.idle-hero h2{font-size:1.5rem;margin:14px 0 4px}
.lights{display:inline-flex;gap:12px;padding:12px 18px;background:#0a0a10;border:1px solid var(--line);border-radius:14px}
.lights i{width:34px;height:34px;border-radius:50%;background:#262634;box-shadow:inset 0 2px 4px #0008;animation:lamp1 7s infinite}
.lights i:nth-child(2){animation-name:lamp2}.lights i:nth-child(3){animation-name:lamp3}.lights i:nth-child(4){animation-name:lamp4}.lights i:nth-child(5){animation-name:lamp5}
@keyframes lamp1{0%,6%{background:#262634;box-shadow:inset 0 2px 4px #0008}8%,66%{background:#ef4444;box-shadow:0 0 20px #ef4444aa}68%,100%{background:#262634;box-shadow:inset 0 2px 4px #0008}}
@keyframes lamp2{0%,16%{background:#262634;box-shadow:inset 0 2px 4px #0008}18%,66%{background:#ef4444;box-shadow:0 0 20px #ef4444aa}68%,100%{background:#262634;box-shadow:inset 0 2px 4px #0008}}
@keyframes lamp3{0%,26%{background:#262634;box-shadow:inset 0 2px 4px #0008}28%,66%{background:#ef4444;box-shadow:0 0 20px #ef4444aa}68%,100%{background:#262634;box-shadow:inset 0 2px 4px #0008}}
@keyframes lamp4{0%,36%{background:#262634;box-shadow:inset 0 2px 4px #0008}38%,66%{background:#ef4444;box-shadow:0 0 20px #ef4444aa}68%,100%{background:#262634;box-shadow:inset 0 2px 4px #0008}}
@keyframes lamp5{0%,46%{background:#262634;box-shadow:inset 0 2px 4px #0008}48%,66%{background:#ef4444;box-shadow:0 0 20px #ef4444aa}68%,100%{background:#262634;box-shadow:inset 0 2px 4px #0008}}
@media(prefers-reduced-motion:reduce){.lights i{animation:none}}
.idle-next{display:flex;gap:18px;align-items:center;justify-content:space-between;text-align:left;margin:22px 0 6px;padding:16px;border-radius:14px;background:#0003;border:1px solid var(--line)}
.idle-info{flex:1;min-width:0}.idle-info h3{margin:2px 0 6px;font-size:1.15rem}
.idle-track{width:38%;max-width:240px;filter:invert(.9);opacity:.9}
.idle-sessions{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:5px}
.idle-sessions li{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;padding:6px 10px;border-radius:8px;background:#ffffff08}
.idle-sessions li.done{opacity:.45;text-decoration:line-through}.idle-sessions li.next{border:1px solid var(--accent);background:#8b5cf622}
.idle-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
@media(max-width:720px){
  .idle-hero{padding:22px 14px}.lights{gap:9px;padding:10px 14px}.lights i{width:28px;height:28px}
  .idle-next{flex-direction:column-reverse;align-items:stretch}.idle-track{width:60%;max-width:200px;align-self:center}
}
@media(max-width:350px){
  .live-table.quali td{font-size:.76rem}.live-table.quali th{font-size:.58rem}.live-table.quali th,.live-table.quali td{padding:9px 3px}
}

/* calendar cards */
.cal-grid{list-style:none;margin:12px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cal-grid>li{display:flex}
.cal-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:inherit}
a.cal-card:hover{border-color:var(--accent);text-decoration:none}
.cal-top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:700}.cal-top .when{margin-left:auto;font-weight:600}
.cal-card h3{margin:2px 0 0;font-size:1.05rem;line-height:1.25}.cal-card small{color:var(--muted)}
.podium-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.podium-list li{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;border-left:3px solid var(--team);font-weight:600;background:color-mix(in srgb,var(--team) 20%,transparent)}
.podium-list li:first-child{background:color-mix(in srgb,var(--team) 42%,transparent)}
.podium-list b{width:14px;opacity:.85}
.cal-card.now{border-color:var(--accent);background:linear-gradient(160deg,#2a1f55,var(--panel))}
.cal-card.upcoming{opacity:.62;border-style:dashed;background:transparent}
.cal-card.cancelled{opacity:.4}
.cal-chip{align-self:flex-start;margin-top:8px;padding:3px 10px;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--panel2);color:var(--muted)}
.cal-chip.now{background:var(--accent);color:#fff}.cal-chip.cancelled{color:var(--bad)}

/* guides: hub cards, sub pages, richer article text (lists, tables, call-outs) */
.guide-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:18px 0}
.guide-card{display:flex;flex-direction:column;gap:6px;padding:18px;color:inherit;height:100%}.guide-card:hover{border-color:var(--accent);text-decoration:none}
.guide-card .gi{font-size:1.7rem;line-height:1}.guide-card h3{margin:4px 0 0;font-size:1.1rem}.guide-card p{margin:0;color:var(--muted);font-size:.92rem}
.guide-page{margin:0}.guide-page .crumbs{margin:6px 0 0}.guide-page h1 .gi{font-size:.85em}
.prose ul,.prose ol{padding-left:22px}.prose li{margin:.35em 0}
.prose h2{margin:1.6em 0 .4em;border-left:4px solid var(--accent);padding-left:12px;font-size:1.3rem}.prose h3{margin:1.2em 0 .3em}
.prose hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}
.prose .md-table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:12px;overflow:hidden;font-size:.95rem}
.prose .md-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 12px;background:var(--panel2)}
.prose .md-table td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.prose .callout{margin:1.2em 0;padding:12px 16px;border-left:4px solid var(--accent);background:#8b5cf61a;border-radius:0 10px 10px 0}
.guide-nav{display:flex;justify-content:space-between;gap:12px;margin:34px 0 8px}
.guide-nav a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:inherit;max-width:48%}
.guide-nav a:hover{border-color:var(--accent);text-decoration:none}.guide-nav .next{text-align:right;margin-left:auto}.guide-nav small{color:var(--muted)}
.prose img{max-width:100%;height:auto;border-radius:12px;margin:1em 0;display:block}

.watch-listen{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:16px;margin-top:4px;border-top:1px solid var(--line)}
.watch-listen.solo{margin:16px 0;border-top:0;padding:14px 18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.wl-title{font-size:.9rem;width:100%}.wl-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wl-label{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;min-width:48px}
.wl-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);color:var(--text);font-weight:700;font-size:.9rem}
.wl-badge:hover{border-color:var(--accent);text-decoration:none}.wl-badge i{font-style:normal;color:var(--muted);font-size:.8em}

.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.footer-links a{color:var(--muted);font-weight:600}.footer-links a:hover{color:var(--text)}

.search-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;width:40px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
.search-btn:hover,.search-btn[aria-expanded=true]{border-color:var(--accent)}
.header-live,.search-btn + .header-live{margin-left:0}
.search-panel{border-top:1px solid var(--line);background:#0e0e17;padding:12px 0}
.search-panel input{width:100%;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px 14px;font:inherit}
.search-panel input:focus{outline:2px solid var(--accent);outline-offset:1px}
.search-results{list-style:none;margin:8px 0 0;padding:0;max-height:60vh;overflow-y:auto}
.search-results .grp{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:10px 4px 4px}
.search-results .none{color:var(--muted);padding:10px 4px}
.search-results a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 10px;border-radius:8px;color:var(--text)}
.search-results a:hover,.search-results a:focus{background:var(--panel2);text-decoration:none}.search-results small{color:var(--muted);text-align:right}
.search-page .res-group{margin:18px 0}.search-page .res-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}
.search-page .res-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text)}
.search-page .res-list a:hover{border-color:var(--accent);text-decoration:none}.search-page .res-list small{color:var(--muted);text-align:right}
.search-page form.big{display:flex;gap:8px}.search-page form.big input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px 14px;font:inherit}

.story{margin:16px 0;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.story h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px}
.story-head{font-size:1.15rem;font-weight:700;margin:0 0 12px;line-height:1.35}
.story-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 18px}
.story-facts li{display:flex;gap:10px;align-items:flex-start;line-height:1.4;color:var(--text)}.story-facts li span:first-child{flex:none;width:1.4em;text-align:center}
@media(max-width:720px){.story{padding:14px 16px}.story-head{font-size:1.05rem}.story-facts{grid-template-columns:1fr}}

.title-picture{margin:16px 0;padding:18px 20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.title-picture h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 6px}
.tp-head{font-size:1.15rem;font-weight:700;margin:0 0 12px;line-height:1.35}.tp-note{margin:10px 0 0;font-size:.85rem}
.tp-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tp-bars li{display:grid;grid-template-columns:minmax(110px,170px) 1fr 44px 52px;gap:10px;align-items:center}
.tp-bars a{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-bar{height:10px;background:var(--panel2);border-radius:99px;overflow:hidden}.tp-bar i{display:block;height:100%;width:var(--w);background:var(--team);border-radius:99px}
.tp-bars b{text-align:right}.tp-bars small{color:var(--muted);text-align:right}
@media(max-width:720px){.title-picture{padding:14px 16px}.tp-head{font-size:1.05rem}.tp-bars li{grid-template-columns:1fr 44px 52px;gap:4px 10px}.tp-bars li a{grid-column:1/-1}.tp-bars .tp-bar{grid-column:1;grid-row:2}.tp-bars b{grid-column:2;grid-row:2}.tp-bars small{grid-column:3;grid-row:2}}
.article .hero{max-height:480px;object-fit:cover}

/* ---------- live blog ---------- */
.live-blog{margin:16px 0 22px}.live-blog[hidden]{display:none}
.lb-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lb-head h2{font-size:1.25rem;display:flex;align-items:center}.lb-session{font-size:.85rem}
.lb-list{display:grid;gap:12px;margin-top:12px}
.lb-entry{--lb:#8b5cf6;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--lb);border-radius:12px;padding:14px 16px}
.lb-entry.pinned{box-shadow:0 0 0 1px var(--accent2) inset}
.lb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.8rem;color:var(--muted)}
.lb-badge{background:color-mix(in srgb,var(--lb) 22%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--lb) 55%,transparent);padding:2px 10px;border-radius:99px;font-weight:700}
.lb-lap{font-weight:700;color:var(--text)}.lb-pinned{color:var(--accent2);font-weight:700}
.lb-entry h3{display:flex;align-items:center;gap:10px;font-size:1.15rem;margin:8px 0 2px}
.lb-body{line-height:1.55;margin-top:4px}.lb-body p{margin:.35em 0}.lb-body>:first-child{margin-top:0}.lb-body>:last-child{margin-bottom:0}
.lb-update{--lb:#8b5cf6}.lb-pit{--lb:#60a5fa}.lb-fastest_lap{--lb:#a855f7}.lb-overtake{--lb:#38bdf8}.lb-retirement{--lb:#f87171}.lb-penalty{--lb:#fb923c}.lb-weather{--lb:#22d3ee}
.lb-safety_car{--lb:#f59e0b}.lb-vsc{--lb:#eab308}.lb-flag_yellow{--lb:#facc15}.lb-flag_red{--lb:#ef4444}.lb-flag_green{--lb:#22c55e}.lb-lights_out{--lb:#22c55e}.lb-chequered{--lb:#e5e7eb}
/* flags: a little waving flag in the flag's colour */
.lb-flag{flex:none;width:30px;height:20px;background:var(--lb);clip-path:polygon(0 0,100% 12%,90% 50%,100% 88%,0 100%);box-shadow:inset 3px 0 0 #0004}
.lb-flag_red{background:linear-gradient(90deg,#3d1219,var(--panel) 70%)}
/* safety car: hazard stripes */
.lb-sc-band{height:8px;margin:-14px -16px 12px;background:repeating-linear-gradient(-45deg,#f59e0b 0 12px,#1f1f2e 12px 24px)}
/* chequered flag: a black and white strip */
.lb-chequer{height:26px;margin:-14px -16px 12px;background:conic-gradient(#fff 25%,#111 0 50%,#fff 0 75%,#111 0) 0 0/26px 26px}
.lb-chequered{background:linear-gradient(180deg,#1b1b26,var(--panel))}.lb-chequered h3{text-transform:uppercase;letter-spacing:.08em}
/* lights out: five red lights come on, then all go out */
.lb-lights{display:flex;gap:10px;margin:12px 0 4px;padding:10px 14px;background:#0b0b10;border:1px solid var(--line);border-radius:12px;width:max-content;max-width:100%}
.lb-lights i{width:22px;height:22px;border-radius:50%;background:#3a1217;box-shadow:inset 0 2px 4px #0008;animation:lbon .25s forwards calc(var(--n) * .45s),lboff .2s forwards 3s}
.lb-lights i:nth-child(1){--n:1}.lb-lights i:nth-child(2){--n:2}.lb-lights i:nth-child(3){--n:3}.lb-lights i:nth-child(4){--n:4}.lb-lights i:nth-child(5){--n:5}
@keyframes lbon{to{background:#ef4444;box-shadow:0 0 14px #ef4444cc,inset 0 2px 4px #fff5}}
@keyframes lboff{to{background:#3a1217;box-shadow:inset 0 2px 4px #0008}}
.lb-lights_out h3{text-transform:uppercase;letter-spacing:.06em;color:#4ade80}
.lb-new{animation:lbin .5s ease-out}
@keyframes lbin{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.lb-new{animation:none}.lb-lights i{animation:none;background:#3a1217}}
@media(max-width:720px){.lb-entry{padding:12px 14px}.lb-sc-band,.lb-chequer{margin:-12px -14px 10px}}

/* live blog on the homepage: the newest update, with the one before it fading away underneath */
.home-blog{margin:16px 0 0}
.home-blog .lb-head{align-items:center}.home-blog .lb-head h2{font-size:1rem}.home-blog .lb-head a{font-size:.85rem;font-weight:700}
.home-blog .lb-list{gap:0;margin-top:8px;position:relative}
.home-blog .lb-entry{padding:10px 12px;border-radius:10px}
.home-blog .lb-entry:nth-child(n+3){display:none}
.home-blog .lb-entry h3{font-size:1rem;margin:4px 0 0}
.home-blog .lb-body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem}
.home-blog .lb-lights,.home-blog .lb-chequer,.home-blog .lb-sc-band{display:none}
.home-blog .lb-entry:nth-child(2){margin-top:-8px;padding-top:20px;max-height:84px;overflow:hidden;opacity:.7;-webkit-mask-image:linear-gradient(#000 0%,transparent 92%);mask-image:linear-gradient(#000 0%,transparent 92%);pointer-events:none;z-index:0}
.home-blog .lb-entry:nth-child(1){z-index:1}

.subtabs{display:flex;gap:6px;margin:4px 0 14px}.subtabs a{padding:6px 14px;border-radius:8px;color:var(--muted);font-weight:700;font-size:.9rem;border:1px solid var(--line)}
.subtabs a.on{color:var(--text);border-color:var(--accent);background:var(--panel)}.subtabs a:hover{text-decoration:none;color:var(--text)}.subtabs small{opacity:.7}
.next-race .sessions{align-self:start}

/* live page: Live timing / Live blog tabs */
.live-tabs button{padding:6px 16px;border-radius:99px;background:var(--panel);color:var(--muted);font:inherit;font-weight:600;font-size:.9rem;border:1px solid var(--line);cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.live-tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.live-tabs button:disabled{opacity:.4;cursor:not-allowed}
.live-tabs button:not(:disabled):not(.on):hover{color:var(--text);border-color:var(--accent)}
.tab-count{background:#ef4444;color:#fff;border-radius:99px;min-width:20px;height:20px;padding:0 6px;font-size:.75rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;animation:tabpop .4s}
.tab-count[hidden]{display:none}
@keyframes tabpop{from{transform:scale(.4)}60%{transform:scale(1.2)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.tab-count{animation:none}}
/* drivers and teams named in a live blog post, in their team colour */
.lb-name{--t:#8b5cf6;font-weight:800;color:#fff;background:color-mix(in srgb,var(--t) 26%,transparent);border-bottom:2px solid var(--t);border-radius:4px;padding:0 4px}

/* a plain update: no badge, icon or colour band, just the time and the words */
.lb-update{border-left-width:1px;border-left-color:var(--line)}
.lb-update .lb-meta{margin-bottom:2px}

/* ---------- podium and starting grid posts ---------- */
.podium-block{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin:14px 0 6px;padding:8px 4px 0}
.pod{--t:#8b5cf6;flex:1 1 0;max-width:240px;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.pod-driver{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 4px 8px;min-width:0;width:100%}
.pod-driver img,.pod-driver .no-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:top;background:color-mix(in srgb,var(--t) 40%,#171722);border:3px solid var(--t)}
.pod-1 .pod-driver img,.pod-1 .pod-driver .no-photo{width:116px;height:116px}
.pod-driver b{font-size:1rem;line-height:1.15;overflow-wrap:anywhere}.pod-driver span{font-size:.78rem;color:var(--muted)}
.pod-step{width:100%;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(180deg,color-mix(in srgb,var(--t) 70%,#000),color-mix(in srgb,var(--t) 22%,#0e0e14));border-radius:10px 10px 0 0;border:1px solid color-mix(in srgb,var(--t) 70%,transparent);border-bottom:0;height:70px}
.pod-1 .pod-step{height:110px}.pod-2 .pod-step{height:86px}.pod-3 .pod-step{height:62px}
.pod-step i{font-style:normal;font-weight:900;font-size:2rem;color:#fff;text-shadow:0 2px 6px #0008;margin-top:6px}
.podium-block .pod-1{order:2}.podium-block .pod-2{order:1}.podium-block .pod-3{order:3}
/* starting grid: pairs of cars, the right-hand car a little further back, as on the track */
.grid-block{list-style:none;margin:14px 0 8px;padding:0 0 38px;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;counter-reset:none}
.grid-block li{--t:#8b5cf6;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--t) 24%,#171722),#171722 75%);border:1px solid var(--line);border-left:6px solid var(--t);border-radius:10px;min-width:0}
.grid-block li:nth-child(even){transform:translateY(34px)}
.grid-block .g-pos{flex:none;width:34px;text-align:center;font-weight:900;font-size:1.05rem;color:var(--muted)}
.grid-block img,.grid-block .no-photo{flex:none;width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:top;background:color-mix(in srgb,var(--t) 40%,#171722);border:2px solid var(--t)}
.grid-block .g-name{display:flex;flex-direction:column;min-width:0}.grid-block .g-name b{font-size:.95rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-block .g-name small{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:560px){.podium-block{gap:6px}.pod-driver img,.pod-driver .no-photo{width:68px;height:68px}.pod-1 .pod-driver img,.pod-1 .pod-driver .no-photo{width:84px;height:84px}.pod-driver b{font-size:.85rem}.pod-driver span{display:none}
  .grid-block{gap:8px 8px;padding-bottom:30px}.grid-block li{padding:4px 6px 4px 0;gap:6px}.grid-block li:nth-child(even){transform:translateY(26px)}.grid-block .g-pos{width:26px;font-size:.9rem}.grid-block img,.grid-block .no-photo{width:38px;height:38px}.grid-block .g-name b{font-size:.8rem}.grid-block .g-name small{display:none}}
.home-blog .podium-block,.home-blog .grid-block{display:none}

.podium-block{margin-bottom:-14px}
@media(max-width:560px){.podium-block{margin-bottom:-12px}.grid-block .g-first{display:none}}
