:root{--navy:#0E1F58;--blue:#2B4BB5;--light:#E8EDFC;--lb:#A7B8F1;--orange:#FF8932;--od:#B34700;--text:#14204a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff}
a{color:var(--blue)}a:hover{color:var(--od)}
img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:8px 12px;z-index:9}.skip:focus{left:8px}
.site-header{background:#fff;border-bottom:4px solid var(--orange)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:10px 16px}
.brand img{display:block;width:180px;height:auto}
.nav{list-style:none;display:flex;flex-wrap:wrap;gap:2px 4px;margin:0;padding:0}
.nav a{display:block;padding:8px 9px;text-decoration:none;color:var(--navy);font-weight:600;border-radius:6px;min-height:44px;line-height:28px}
.nav a[aria-current=page],.nav a:hover{background:var(--light);color:var(--navy)}
main{padding:24px 16px 48px}
h1,h2,h3{color:var(--navy);line-height:1.25}
h1{font-size:2rem;margin:.4em 0}h2{font-size:1.45rem;margin-top:1.6em}
.hero{background:var(--light);border-radius:12px;padding:20px 22px;margin-bottom:8px}
.tagline{font-size:1.2rem;font-weight:700;color:var(--od)}
.meta,.small,.crumbs{color:#4a5070;font-size:.92rem}
.prose{max-width:760px}
figure{margin:1.4em 0}figure img{border-radius:8px;display:block}
figcaption{font-size:.9rem;color:#4a5070;margin-top:6px}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.card-sm a{text-decoration:none;font-weight:700;color:var(--navy);display:block}
.card-sm img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:8px;display:block;margin-bottom:8px}
.card-sm p{margin:.3em 0}
.grid.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.box{border:2px solid var(--lb);border-radius:10px;padding:4px 18px}
.subnav ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0}
.subnav a{display:inline-block;padding:6px 10px;border:1px solid var(--lb);border-radius:20px;text-decoration:none;font-size:.92rem}
.subnav a[aria-current=page]{background:var(--navy);color:#fff}
.mate{display:grid;grid-template-columns:1fr;gap:16px;border-top:1px solid #dde3f5;padding-top:12px;scroll-margin-top:12px}
.mate img{border-radius:10px;width:100%;max-width:280px;aspect-ratio:4/5;object-fit:cover}
@media(min-width:760px){.mate{grid-template-columns:280px 1fr}}
.race{border-left:4px solid var(--orange);padding-left:14px;margin:22px 0}
.race h2{margin:0 0 4px}.race-block p{margin:.3em 0}
.eps{padding-left:1.2em}.eps h3{margin-bottom:0}
.vids{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.vids h2{font-size:1.1rem}
.yt{position:relative;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden}
.yt img,.yt iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;text-shadow:0 0 12px #000}
.yt-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bz{border:0;max-width:760px;display:block}
.pre{white-space:pre-line}
.note{background:var(--light);padding:8px 12px;border-radius:8px}
.card{border:2px solid var(--lb);border-radius:12px;padding:4px 18px;margin:18px 0}
.card figure img{max-width:220px;border-radius:50%;aspect-ratio:1;object-fit:cover}
.sponsors{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.sponsors li{border:1px solid #dde3f5;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}
.logo{display:flex;align-items:center;justify-content:center;height:100px;padding:8px;border-radius:8px;background:#fff}.logo.dark{background:var(--navy)}
.logo img{max-height:84px;width:auto}
.pager{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.site-footer{background:var(--navy);color:#fff;padding:20px 0 28px}
.site-footer a{color:#fff}
.social{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.social a{display:inline-block;min-height:44px;line-height:44px}
.site-footer .small{color:#d6dcf3}
