/* MLSJ rebuild — F1-structure, MLSJ look. Fonts: Venus Rising (display), Archivo (stand-in for TT Lakes Neue), BD Sans (approved). No TT Lakes Neue trial files. */
@font-face{font-family:"Venus Rising";src:url(/assets/fonts/venus-rising.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-italic-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
@font-face{font-family:"BD Sans";src:url(/assets/fonts/bdsans-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"BD Sans";src:url(/assets/fonts/bdsans-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"BD Sans";src:url(/assets/fonts/bdsans-thin.woff2) format("woff2");font-weight:200;font-display:swap}
:root{--ink:#07090A;--ink2:#0F1113;--ink3:#15191C;--ink4:#1D2226;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--lime:#B1EA00;--lime-d:#8DBB00;--text:#F2F4F5;--mute:#8E979D;--mute2:#5F686E;--team:#B1EA00;
--disp:"Venus Rising","Archivo",sans-serif;--x:"Archivo",system-ui,sans-serif;--bd:"BD Sans","Archivo",sans-serif;--r:14px;--maxw:1320px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--x);font-size:15px;line-height:1.5}
a{color:inherit;text-decoration:none}a:hover{color:var(--lime)}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.ext{font-stretch:125%}
.disp{font-family:var(--disp);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:.95}
.eyebrow{font:600 11px/1.2 var(--x);font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.mute{color:var(--mute)}.lime{color:var(--lime)}.small{font-size:12px}.tiny{font-size:11px}
.stripes{background-image:repeating-linear-gradient(-55deg,rgba(255,255,255,.035) 0 2px,transparent 2px 9px)}
/* header */
.util{background:#000;border-bottom:1px solid var(--line);font:600 11px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase}
.util .wrap{display:flex;gap:22px;align-items:center;height:34px;overflow-x:auto;white-space:nowrap}
.util a{color:var(--mute)}.util a:hover{color:var(--text)}
.util .sp{flex:1}.util .pill{border:1px solid var(--line2);border-radius:99px;padding:4px 12px;color:var(--text)}.util .pill.l{background:var(--lime);color:#000;border-color:var(--lime)}
.hdr{position:sticky;top:0;z-index:50}
.nav{background:var(--ink2);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;height:64px;gap:26px}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:40px;height:40px}
.brand b{font:400 13px/1.05 var(--disp);letter-spacing:.04em}.brand b span{color:var(--lime)}
.nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex:1}
.nav li a{display:block;padding:8px 12px;border-radius:8px;font:700 13px var(--x);font-stretch:125%;letter-spacing:.06em;text-transform:uppercase}
.nav li a.on{color:var(--lime);box-shadow:inset 0 -2px 0 var(--lime);border-radius:0}
.burger{display:none;background:none;border:1px solid var(--line2);color:var(--text);border-radius:8px;width:42px;height:38px;font-size:18px}
.tracker{background:linear-gradient(90deg,#0B0D0E,#111416);border-bottom:1px solid var(--line);font:600 12px var(--x);font-stretch:125%;letter-spacing:.08em;text-transform:uppercase}
.tracker .wrap{display:flex;align-items:center;gap:16px;height:40px;overflow:hidden;white-space:nowrap}
.tracker .tag{background:var(--lime);color:#000;padding:3px 8px;border-radius:4px;font-weight:800}
.tracker .cd{margin-left:auto;color:var(--lime)}
.tracker .live{display:inline-flex;align-items:center;gap:6px;color:var(--mute);font-size:10px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--mute2);display:inline-block}.dot.on{background:var(--lime);box-shadow:0 0 0 4px rgba(177,234,0,.15)}
.preview-banner{background:var(--lime);color:#000;text-align:center;font:700 11px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;padding:5px}
/* sections */
.sec{padding:56px 0}.sec.tight{padding:32px 0}.sec.alt{background:var(--ink2)}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.sh h2{margin:0;font:400 26px/1 var(--disp)}.sh a.more{font:700 12px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);padding:9px 16px;border-radius:99px}
.sh a.more:hover{border-color:var(--lime)}
h1.page{font:400 clamp(34px,6vw,72px)/.95 var(--disp);margin:8px 0 10px}
.pagehead{padding:44px 0 30px;border-bottom:1px solid var(--line)}
.pagehead p{color:var(--mute);max-width:760px;margin:6px 0 0}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.card.pad{padding:22px}
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:#000;font:800 12px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;border-radius:99px;border:0}
.btn:hover{color:#000;background:#c6ff1a}.btn.o{background:transparent;color:var(--text);border:1px solid var(--line2)}.btn.o:hover{border-color:var(--lime);color:var(--lime)}
.chip{display:inline-block;font:700 10px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:99px;border:1px solid var(--line2);color:var(--mute)}
.chip.l{background:var(--lime);color:#000;border-color:var(--lime)}.chip.live{border-color:var(--lime);color:var(--lime)}
.badge-est{font:700 9px var(--x);letter-spacing:.12em;text-transform:uppercase;color:#000;background:#d8dde0;border-radius:4px;padding:2px 5px;vertical-align:middle}
/* hero */
.hero{position:relative;min-height:540px;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.9)}
.hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ink) 4%,rgba(7,9,10,.55) 50%,rgba(7,9,10,.2)),linear-gradient(90deg,rgba(7,9,10,.85),transparent 65%)}
.hero .wrap{position:relative;padding-bottom:46px;width:100%}
.hero h1{font:400 clamp(36px,6.4vw,84px)/.92 var(--disp);margin:12px 0 16px;max-width:980px}
.hero p{max-width:620px;color:#cfd5d8;font-size:17px}
.hero .ctas{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
/* tables */
table.t{width:100%;border-collapse:collapse;font-size:14px}
.t th{font:700 10.5px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line2);white-space:nowrap;cursor:default}
.t th[data-sort]{cursor:pointer}.t th[data-sort]:hover{color:var(--text)}
.t td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.t tr:hover td{background:rgba(255,255,255,.02)}
.t .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.t th.n{text-align:right}
.t .pos{font:800 15px var(--x);font-stretch:125%;width:46px}
.t tr.top td .pos{color:var(--lime)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tm{display:flex;align-items:center;gap:10px}.tm img{width:28px;height:28px;object-fit:contain}
.av{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--ink4);flex:none;display:inline-flex;align-items:center;justify-content:center;font:800 11px var(--x);color:var(--mute)}
.nat{font:700 10px var(--x);font-stretch:125%;letter-spacing:.08em;border:1px solid var(--line2);border-radius:4px;padding:2px 5px;color:#cfd5d8}
.tbar{height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden;min-width:80px}.tbar i{display:block;height:100%;background:var(--lime);width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
/* podium */
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.pod{position:relative;border-radius:var(--r);padding:20px;min-height:170px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--c,#B1EA00) 38%,#0F1113),#0F1113 70%);border:1px solid var(--line)}
.pod .p{font:800 54px/1 var(--x);font-stretch:125%;opacity:.95}.pod .nm{font:700 18px/1.15 var(--x);font-stretch:125%;margin-top:10px;text-transform:uppercase}
.pod .pts{position:absolute;right:18px;bottom:16px;font:800 28px var(--x);font-stretch:125%}.pod .pts small{font-size:11px;color:var(--mute);letter-spacing:.1em}
.pod img.lg{position:absolute;right:14px;top:14px;width:64px;height:64px;object-fit:contain;opacity:.95}
.pod img.ph{position:absolute;right:0;bottom:0;height:150px;width:auto;object-fit:cover;opacity:.9;mask-image:linear-gradient(180deg,#000 60%,transparent)}
.tabs{display:inline-flex;background:var(--ink3);border:1px solid var(--line);border-radius:99px;padding:4px;gap:4px;margin-bottom:18px}
.tabs button{background:none;border:0;color:var(--mute);font:800 11px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;padding:9px 18px;border-radius:99px;cursor:pointer}
.tabs button.on{background:var(--lime);color:#000}
.tabp{display:none}.tabp.on{display:block}
/* leg cards */
.legs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.leg{position:relative;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--ink2);transition:border-color .2s,transform .2s}
.leg:hover{border-color:var(--lime);transform:translateY(-2px);color:inherit}
.leg .im{aspect-ratio:16/8;background:#111 center/cover}
.leg .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.leg .rn{font:700 11px var(--x);font-stretch:125%;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;display:flex;justify-content:space-between}
.leg .nm{font:400 22px/1 var(--disp)}
.leg .pd{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:13px;display:grid;gap:4px}
.leg .pd b{color:var(--lime);font-weight:800;font-stretch:125%;margin-right:6px}
.leg.next{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}
.leg .flag{position:absolute;left:12px;top:12px}
/* rider cards */
.rcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rc{position:relative;border-radius:var(--r);overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--c,#B1EA00) 30%,#121517) 0%,#0E1112 70%);border:1px solid var(--line);min-height:200px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end}
.rc:hover{border-color:var(--lime);color:inherit}
.rc img{position:absolute;right:-6px;top:6px;height:150px;width:150px;object-fit:cover;border-radius:50%;opacity:.95;filter:grayscale(.15)}
.rc .fn{font:500 13px var(--x);font-stretch:125%;text-transform:uppercase;color:#cfd5d8;position:relative}.rc .ln{font:800 21px/1 var(--x);font-stretch:125%;text-transform:uppercase;position:relative}
.rc .meta{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:12px;color:var(--mute);position:relative}
/* filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.filters input,.filters select{background:var(--ink3);border:1px solid var(--line2);color:var(--text);border-radius:99px;padding:10px 16px;font:500 14px var(--x);min-width:220px}
.filters input:focus{outline:none;border-color:var(--lime)}
/* profile hero */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(1200px 500px at 85% 20%,color-mix(in srgb,var(--team) 28%,transparent),transparent 60%),var(--ink)}
.phero .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:end;padding-top:40px;padding-bottom:36px}
.phero .first{font:500 22px var(--x);font-stretch:125%;text-transform:uppercase;color:#cfd5d8;margin-top:14px}
.phero h1{font:400 clamp(40px,7vw,96px)/.9 var(--disp);margin:2px 0 16px;word-break:break-word}
.phero .meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.phero .photo{justify-self:end;position:relative;width:min(380px,100%);aspect-ratio:1;border-radius:24px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--team) 40%,#111),#0b0d0e)}
.phero .photo img{width:100%;height:100%;object-fit:cover}
.phero .photo .ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 90px var(--disp);color:rgba(255,255,255,.15)}
.phero .bignum{position:absolute;right:28px;top:20px;font:400 200px/1 var(--disp);color:rgba(255,255,255,.03);pointer-events:none}
/* F1 rider strip (Farrington card ref) */
.strip{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:var(--r);background:#0E1112;overflow:hidden}
.strip .l{padding:22px 26px;border-right:1px solid var(--line)}.strip .r{padding:22px 26px}
.strip .riding{font-size:15px;color:#cfd5d8;margin:6px 0 2px}.strip .riding b{color:#fff}
.strip .nums{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.bigstat .v{font:400 44px/1 var(--x);font-stretch:125%;font-weight:500}.bigstat .v.l{color:var(--lime)}.bigstat .k{font:700 10px var(--x);font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:6px}
.form{display:flex;gap:10px;align-items:flex-end;height:96px;margin:14px 0 6px}
.form .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.form .b i{display:block;width:100%;max-width:26px;border-radius:4px;background:#fff;height:0;transition:height .9s cubic-bezier(.2,.8,.2,1)}
.form .b.w i{background:var(--lime)}.form .b.x i{background:#5d6468}
.form .b span{font:700 12px var(--x);font-stretch:125%;color:#cfd5d8}
.pwr{display:flex;align-items:center;gap:18px;margin-top:12px}.pwr .v{font:500 52px/1 var(--x);font-stretch:125%;color:var(--lime)}
.pwr .rk b{font:800 18px var(--x);font-stretch:125%}.pwr .rk .tbar{margin-top:8px;width:200px}
/* stat blocks (2026 vs lifetime) */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sblock{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.sblock h3{margin:0 0 4px;font:400 20px var(--disp)}.sblock .sub{color:var(--mute);font-size:12px;margin-bottom:16px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{background:var(--ink3);border:1px solid var(--line);border-radius:12px;padding:14px 14px 12px;position:relative;overflow:hidden}
.tile .v{font:500 34px/1 var(--x);font-stretch:125%}.tile .v small{font-size:16px;color:var(--mute);margin-left:2px}
.tile .k{font:700 10px/1.3 var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.tile .c{font-size:11.5px;color:var(--mute2);margin-top:4px}
.tile.hl{border-color:rgba(177,234,0,.45)}.tile.hl .v{color:var(--lime)}
.tile .tbar{margin-top:10px}
/* pair profile (Sweetnam ref) */
.pair{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;background:#0B0D0E;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.comp{display:grid;grid-template-columns:120px 1fr 56px 50px;gap:10px;align-items:center;font-size:13px;margin:9px 0}
.comp .bar{position:relative;height:8px;border-radius:4px;background:rgba(255,255,255,.08)}
.comp .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--lime);width:0;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.comp .bar u{position:absolute;top:-4px;bottom:-4px;width:2px;background:#fff;border-radius:1px}
.comp .pv{font:700 14px var(--x);font-stretch:125%;text-align:right}.comp .lv{color:var(--mute);font-size:12px;text-align:right}
.radar svg{width:100%;height:auto;max-width:440px;display:block;margin:auto}
.radar .poly{transform-origin:center;transform-box:fill-box;animation:none}
.radar.go .poly{animation:rg 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes rg{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
/* horse page (Greya ref) */
.hhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;flex-wrap:wrap}
.hhead .r{text-align:right;font-size:13px;color:#cfd5d8}.hhead .r b{color:#fff}
.htiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.ht{background:var(--ink2);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.ht .v{font:500 40px/1 var(--x);font-stretch:125%;color:var(--lime)}.ht .c{font-size:13px;color:#cfd5d8;margin-top:6px}.ht .c b{color:#fff}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.pb{margin:12px 0 4px}.pb .lab{font:700 13px var(--x);margin-bottom:6px}
.pb .row{display:grid;grid-template-columns:70px 1fr 90px;gap:10px;align-items:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:4px 0}
.pb .row .bar{height:10px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}.pb .row .bar i{display:block;height:100%;background:var(--lime);width:0;transition:width 1.1s}
.pb .row.b .bar i{background:#7b8287}.pb .row .vv{text-align:right;color:var(--text);font:700 13px var(--x);letter-spacing:0;text-transform:none}.pb .row .vv small{color:var(--mute);font-weight:500}
.avgf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.avgf div{background:var(--ink3);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.avgf b{font:500 28px var(--x);font-stretch:125%;display:block}
.analysis ul{margin:0;padding-left:18px}.analysis li{margin:0 0 12px;font-size:14px;color:#d9dee1}.analysis li b{color:#fff}
.tl{position:relative;padding:18px 10px 6px}
.tl .lane{display:grid;grid-template-columns:90px 1fr;align-items:center;height:46px}
.tl .lane span{font:700 10px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.tl .track{position:relative;height:2px;background:rgba(255,255,255,.12)}
.tl .d{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;justify-content:center;font:700 8px var(--x);color:#cfd5d8}
.tl.go .d{transform:translate(-50%,-50%) scale(1)}
.tl .d.f{background:var(--ink);border:1.5px solid #8b9398;width:16px;height:16px}
.tl .d.w{box-shadow:0 0 0 3px var(--ink),0 0 0 6px var(--lime)}
.tl .axis{display:grid;grid-template-columns:90px 1fr;font-size:11px;color:var(--mute)}.tl .axis div{position:relative;height:18px}.tl .axis em{position:absolute;transform:translateX(-50%);font-style:normal;white-space:nowrap}
.legend{display:flex;gap:16px;font-size:11px;color:var(--mute);margin-top:8px;flex-wrap:wrap;align-items:center}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#fff;margin-right:5px;vertical-align:-1px}.legend i.f{background:transparent;border:1.5px solid #8b9398}.legend i.w{background:transparent;box-shadow:0 0 0 2px var(--lime)}
.placebox{display:inline-block;min-width:34px;text-align:center;font:800 13px var(--x);font-stretch:125%;padding:3px 8px;border-radius:5px}
.placebox.win{background:var(--lime);color:#000}
.foot-src{font-size:11.5px;color:var(--mute);border-top:1px solid var(--line);padding-top:14px;margin-top:26px}
.slot-empty{border:1px dashed var(--line2);border-radius:var(--r);padding:18px;color:var(--mute);font-size:13px}
/* misc */
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px}.kv dt{color:var(--mute)}.kv dd{margin:0}
.article{max-width:780px;margin:0 auto;font-family:var(--bd);font-size:17px;line-height:1.7;color:#dfe4e6}
.article h1,.article h2,.article h3,.article h4,.article h5,.article h6{font-family:var(--x);font-stretch:125%;color:#fff;line-height:1.2}
.article img{border-radius:12px;margin:18px 0}
.newsgrid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:auto;gap:18px}
.nc{display:flex;flex-direction:column;background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.nc:hover{border-color:var(--lime);color:inherit}
.nc .im{aspect-ratio:16/9;background:#111 center/cover}
.nc .bd{padding:14px 16px 18px}.nc h3{margin:6px 0 6px;font:700 16px/1.25 var(--x);font-stretch:110%}.nc p{margin:0;color:var(--mute);font-size:13px}
.nc.lead{grid-row:span 2}.nc.lead .im{aspect-ratio:16/10}.nc.lead h3{font-size:26px}
.legend-note{font-size:12px;color:var(--mute);margin-top:10px}
.footer{background:#000;border-top:1px solid var(--line);margin-top:40px}
.footer .rule{height:6px;background:repeating-linear-gradient(90deg,var(--lime) 0 40px,#000 40px 48px)}
.footer .wrap{padding-top:40px;padding-bottom:30px}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
.footer h4{font:700 11px var(--x);font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.footer .app{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.footer .legal{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;font-size:12px;color:var(--mute);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.chart svg{width:100%;height:auto}
.legbar{display:flex;gap:2px;height:22px;border-radius:5px;overflow:hidden;min-width:160px}.legbar i{display:block;height:100%}
.note{font-size:12px;color:var(--mute)}
.sched-day{margin:0 0 18px}.sched-day h4{margin:0 0 8px;font:800 13px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.featured-classes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fc{border:1px solid var(--line);border-radius:12px;padding:18px;background:linear-gradient(160deg,rgba(177,234,0,.12),transparent 60%),var(--ink2)}
.fc .d{font:700 11px var(--x);font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.fc .n{font:700 18px/1.2 var(--x);font-stretch:115%;margin:8px 0}.fc .tm{font:800 22px var(--x);font-stretch:125%;color:var(--lime)}
/* responsive */
@media (max-width:1100px){.nav ul{display:none}.burger{display:block;margin-left:auto}.nav.open ul{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:64px;background:var(--ink2);padding:12px 20px;border-bottom:1px solid var(--line)}
 .legs,.rcards{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(2,1fr)}.footer .cols{grid-template-columns:1fr 1fr}.newsgrid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){body{font-size:14px}.wrap{padding:0 16px}.g2,.g3,.dual,.split,.pair,.strip,.phero .wrap,.featured-classes{grid-template-columns:1fr}.legs,.rcards{grid-template-columns:1fr}.rcards{grid-template-columns:1fr 1fr}
 .podium{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}.htiles{grid-template-columns:1fr 1fr}.strip .l{border-right:0;border-bottom:1px solid var(--line)}
 .strip .nums{grid-template-columns:repeat(2,1fr)}.bigstat .v{font-size:36px}.phero .photo{justify-self:start;width:180px}.phero .wrap{padding-top:24px}.hero{min-height:470px}
 .sec{padding:38px 0}.sh h2{font-size:20px}.comp{grid-template-columns:96px 1fr 46px 40px}.newsgrid{grid-template-columns:1fr}.nc.lead{grid-row:auto}.nc.lead h3{font-size:20px}
 .util .wrap{gap:14px}.brand b{font-size:11px}.tracker .wrap{font-size:10.5px;gap:10px}.t td,.t th{padding:9px 8px}.hide-m{display:none}.footer .cols{grid-template-columns:1fr}.tl .lane,.tl .axis{grid-template-columns:62px 1fr}
 .hhead .r{text-align:left}.pod{min-height:130px}.pod .p{font-size:40px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* fit big numbers to their tile */
.tile,.ht{container-type:inline-size}
.tile .v{font-size:min(34px,14cqi);white-space:nowrap}
.ht .v{font-size:min(40px,15cqi);white-space:nowrap}
@media (max-width:720px){.preview-banner{font-size:9px;letter-spacing:.08em;padding:4px 8px}.preview-banner .long{display:none}}
/* fit display headlines to the longest word (never break inside a word) */
.phero h1{word-break:normal;overflow-wrap:normal;font-size:min(96px,calc(min(50vw,720px) / (var(--L,6) * 1.05)))}
h1.page.fit{word-break:normal;font-size:min(72px,calc(min(70vw,1000px) / (var(--L,6) * 1.05)))}
@media (max-width:720px){.phero h1{font-size:min(56px,calc(86vw / (var(--L,6) * 1.05)))}h1.page.fit{font-size:min(48px,calc(86vw / (var(--L,6) * 1.05)))}}
/* grid children must be allowed to shrink */
.strip>*,.split>*,.dual>*,.grid>*,.pair>*,.phero .wrap>*,.hhead>*{min-width:0}
.strip h2,.strip .nm{overflow-wrap:anywhere}
@media (max-width:720px){.bigstat .k{font-size:9px;letter-spacing:.06em}.strip .l,.strip .r{padding:16px}}
.note,.foot-src{overflow-wrap:anywhere}
/* tickets CTA + hero stats */
.navcta{margin-left:14px;background:var(--lime);color:#000!important;font:800 12px/1 var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px;border-radius:999px;white-space:nowrap}
.navcta:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;border:1px dashed rgba(255,255,255,.35);color:#cfd5d8;cursor:default}
.herostats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;max-width:760px}
.herostats>div{background:rgba(14,17,18,.78);border:1px solid var(--line);border-left:3px solid var(--team,var(--lime));border-radius:12px;padding:12px 14px;container-type:inline-size}
.herostats b{display:block;font:500 min(30px,15cqi)/1 var(--x);font-stretch:125%;color:var(--lime);white-space:nowrap}
.herostats span{display:block;font-size:11px;line-height:1.35;color:#cfd5d8;margin-top:6px}
@media (max-width:720px){.herostats{grid-template-columns:repeat(2,minmax(0,1fr))}.navcta{margin-left:auto;margin-right:8px;padding:9px 13px;font-size:11px}}
.card.tk{overflow:hidden}.card.tk .im{height:150px;background-size:cover;background-position:center}.card.tk h3 a:hover{color:var(--lime)}

/* contrast fixes (AA) */
.tile .c{color:var(--mute)}
body .badge-est,.ht .c .badge-est,.tile .badge-est{color:#000;background:#d8dde0}
.card.tk .im{height:auto;aspect-ratio:1024/385;background-size:cover;background-color:#07090A}

/* ===== 2026-10-21 style-review fixes ===== */
/* photo heroes (duotone, real MLSJ photos) */
.has-photo{position:relative;overflow:hidden;isolation:isolate}
.has-photo>.phbg{position:absolute;inset:0;background-size:cover;background-position:center 35%;z-index:-2}
.has-photo>.phscrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#07090A 12%,rgba(7,9,10,.72) 55%,rgba(7,9,10,.45)),linear-gradient(90deg,rgba(7,9,10,.9),rgba(7,9,10,.2) 75%)}
.pagehead.has-photo{padding:120px 0 34px;border-bottom:0}
.pagehead.has-photo p{color:#d6dbde}
.phero.has-photo{background:#07090A}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.75),transparent 70%)}
.hero .bg:after{background:linear-gradient(0deg,#07090A 6%,rgba(7,9,10,.5) 50%,rgba(7,9,10,.15))}
@media (max-width:480px){.hero.home .bg:after,.hero .bg:after{background:linear-gradient(0deg,#07090A 35%,transparent)}.pagehead.has-photo{padding-top:90px}}
.nl-ph{min-height:260px;background:#07090A center/cover no-repeat;border-radius:12px}
/* lime bands: lime leads, black emblem, grain, display type bleeding off the edge */
.limeband{position:relative;overflow:hidden;background:var(--lime);color:#000;isolation:isolate}
.limeband .wrap{display:flex;align-items:center;gap:22px;padding-top:30px;padding-bottom:30px;position:relative;z-index:1}
.limeband img{width:96px;height:96px;object-fit:contain;flex:none}
.limeband .lb-t{display:flex;flex-direction:column;gap:6px;min-width:0}
.limeband .lb-big{font:400 clamp(26px,4.4vw,54px)/.95 var(--disp);text-transform:uppercase;transform:skewX(-8deg);transform-origin:left}
.limeband .lb-s{font:800 12px var(--x);font-stretch:125%;letter-spacing:.14em;text-transform:uppercase}
.limeband .btn.dark{margin-left:auto;background:#000;color:var(--lime);border-color:#000}
.limeband .lb-bleed{position:absolute;right:-4%;bottom:-.28em;z-index:0;font:400 clamp(90px,15vw,220px)/1 var(--disp);color:rgba(0,0,0,.09);white-space:nowrap;transform:rotate(-6deg);pointer-events:none;text-transform:uppercase}
.limeband.slim .wrap{padding-top:16px;padding-bottom:16px}.limeband.slim img{width:56px;height:56px}.limeband.slim .lb-big{font-size:clamp(22px,3.2vw,38px)}.limeband.slim .lb-bleed{font-size:clamp(70px,10vw,150px)}
.grain:before{content:"";position:absolute;inset:0;z-index:0;opacity:.22;mix-blend-mode:multiply;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.footer{margin-top:0}
@media (max-width:600px){.limeband .wrap{flex-wrap:wrap;gap:14px}.limeband img{width:64px;height:64px}.limeband .btn.dark{margin-left:0}}
/* schedule cards: div + overlay link (no nested anchors) */
.leg .cover{position:absolute;inset:0;z-index:1;border-radius:inherit}
.leg .pd a,.leg .bd a:not(.cover){position:relative;z-index:2}
.leg:focus-within{border-color:var(--lime)}
/* team names never hide behind logos */
.pod{padding-right:92px}
.pod .nm,.tname:not(h1){font-size:clamp(16px,2.1vw,22px)!important;overflow-wrap:anywhere;hyphens:auto}

.rc{padding-right:110px}.rc .ln{overflow-wrap:anywhere}
/* EST. badge inline in hero tiles; hero values 22px/800 */
.herostats .badge-est,.tile .k .badge-est,.badge-est{display:inline-block;width:auto;vertical-align:middle}
.herostats b{font:800 min(22px,13cqi)/1.1 var(--x);font-stretch:125%}
/* tables that scroll instead of clipping */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tw .t{min-width:100%}
.nowrap{white-space:nowrap}
.hero h1.nowrap{white-space:nowrap;font-size:clamp(30px,6.4vw,84px)}
.ht .v,.ht .c{overflow-wrap:anywhere}
h1.page.fit{overflow-wrap:anywhere}
.ht .v{white-space:normal!important}
/* pair stats: align on a common baseline */
.pair .bigstat,.strip .nums{align-items:end}
.strip .nums .bigstat{display:flex;flex-direction:column;justify-content:flex-end}
/* standings chart: end labels; scroll on phones */
.chartwrap{overflow-x:auto}
@media (max-width:480px){.chartwrap svg{min-width:560px}}
abbr[title]{text-decoration:none;cursor:help}
/* tap targets ≥24px in footer, legal and utility rows */
.footer ul a,.footer .legal a,.util a{display:inline-block;min-height:24px;line-height:24px;padding:0 2px}
@media (max-width:760px){.footer ul{gap:10px}.footer .legal a{min-height:32px;line-height:32px}}
/* ticker never overflows the viewport */
.tracker .wrap{overflow-x:auto;scrollbar-width:none}.tracker .wrap::-webkit-scrollbar{display:none}
@media (max-width:480px){.tracker .live{display:none}.tracker .wrap{gap:8px;font-size:10px}}
/* body-style lists and rules excerpt */
.bodylist{font:400 16px/1.6 var(--bd);padding-left:20px;margin:0}.bodylist li{margin:4px 0}
.bodycopy,.rules-excerpt .bodycopy *{font:400 16px/1.65 var(--bd)!important;text-transform:none!important;letter-spacing:normal!important}
.bodycopy p{margin:0 0 12px}
/* stats leader tables: top 5 on phones with a Show 10 toggle */
.show10{display:none;margin-top:10px;background:transparent;border:1px solid var(--line2);color:var(--text);border-radius:99px;padding:8px 14px;font:700 11px var(--x);letter-spacing:.1em;text-transform:uppercase;min-height:32px}
@media (max-width:480px){.lbc:not(.open) tbody tr:nth-child(n+6){display:none}.show10{display:inline-block}}
/* mobile overflow guards (rules, article bodies) */
@media (max-width:760px){[data-rules]{grid-template-columns:1fr!important}}
.article{overflow-wrap:anywhere}
.article img,.article iframe,.article video,.article figure{max-width:100%!important;height:auto}
.article table{display:block;max-width:100%;overflow-x:auto}
.article pre{white-space:pre-wrap}
@media (max-width:600px){.pod .pts{position:static;margin-top:10px;text-align:right}}
/* ---- re-review fixes 2026-10-21c ---- */
.phero .wrap>div{min-width:0}

.nlcard{display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden}
@media (max-width:720px){.nlcard{grid-template-columns:1fr}.nlcard .nl-ph{order:-1;width:100%;min-height:0;aspect-ratio:16/9;border-radius:0}}
.stack2{grid-template-columns:1fr!important}
.rc .ln{overflow-wrap:normal!important;word-break:normal;font-size:clamp(16px,1.5vw,21px)}
.rc img.act{border-radius:14px;height:120px;width:150px;top:10px;right:10px;filter:grayscale(.1) brightness(.9)}
.plg{max-height:56px;max-width:80%;object-fit:contain;display:block;margin:auto}
.plg.sq{max-height:64px;max-width:64px}
.plogo{min-height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.pagehead .phscrim{background:linear-gradient(0deg,rgba(7,9,10,.85) 0%,rgba(7,9,10,.35) 38%,transparent 62%),linear-gradient(90deg,rgba(7,9,10,.55) 0%,rgba(7,9,10,.35) 35%,transparent 60%)}
.swipe-hint{display:none}
@media (max-width:600px){.chartwrap svg{min-width:720px}.swipe-hint{display:block;margin-top:6px}}

.phero .phscrim{background:linear-gradient(0deg,#07090A 6%,rgba(7,9,10,.55) 45%,rgba(7,9,10,.35)),linear-gradient(90deg,rgba(7,9,10,.85),rgba(7,9,10,.25) 70%)}
.stay{display:block;position:relative;overflow:hidden}
.stay.feat{border:2px solid var(--lime);background:linear-gradient(135deg,rgba(177,234,0,.10),#0E1112 60%)}
.stay .more{color:var(--lime);font-weight:700}
.dine .card{margin:0}
.tri{margin:0 0 24px}.tri img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--line)}
.tstep ul{margin:10px 0 0;padding-left:18px}.tstep li{margin:4px 0}.tstep .cut{margin:12px 0 0;color:var(--lime);font-weight:700;font-size:13px}
.scrollx{overflow-x:auto}.t.pts td,.t.pts th{white-space:nowrap}.ptn{margin:12px 0 0;padding-left:18px}
@media (max-width:720px){.tri{display:none}.tsteps{grid-template-columns:1fr!important}}

/* round 3: team titles sized to the longest word (--L) */
.phero h1.tname{overflow-wrap:normal;word-break:normal;font-size:min(76px,5.2vw,calc(min(52vw,720px) / (var(--L,8) * 1.05)))}
@media (min-width:721px) and (max-width:1199px){.phero h1.tname{font-size:min(5.2vw,calc(52vw / (var(--L,8) * 1.05)))}}
@media (max-width:720px){.phero h1.tname{font-size:calc(84vw / (var(--L,8) * 1.05))}
 .phero .phscrim,.pagehead .phscrim{background:linear-gradient(0deg,#07090A 8%,rgba(7,9,10,.72) 50%,rgba(7,9,10,.55))}
 .rc img.act{width:calc(100% - 20px);height:90px;right:10px;top:10px}
 .rc{min-height:240px}}
.footer .legal span a,.footer .legal a{padding:0}
/* leg pages: schedule + Plan your visit photo cards (natural photos, 16:10, no duotone) */
.legsched td.day{white-space:nowrap;font-weight:700;color:var(--lime);width:120px}.legsched tr.feat td{background:rgba(177,234,0,.07)}.legsched tr.feat td:first-child{box-shadow:inset 3px 0 0 var(--lime)}
.schedgrid .sched-day{margin:0}
.vgrid{align-items:stretch}.vcard{display:flex;flex-direction:column;overflow:hidden;padding:0}
.vcard .vimg,.vfeat img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:none}
.vcard .vb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.vcard h3{font-size:18px;margin:2px 0}.vcard p{margin:0}.vcard .more{margin-top:auto;padding-top:8px;color:var(--lime);font-weight:700;font-size:14px}
.vcard .rate b{font-size:20px}
.vfeat{display:grid;grid-template-columns:1.5fr 1fr;overflow:hidden;padding:0;border:2px solid var(--lime);background:linear-gradient(135deg,rgba(177,234,0,.10),#0E1112 60%);color:inherit;text-decoration:none}
.vfeat img{height:100%;aspect-ratio:auto;min-height:320px}.vfeat .vb{padding:26px 28px;display:flex;flex-direction:column;gap:8px}.vfeat h3.big{font:400 34px/1.05 var(--disp);margin:8px 0 4px}.vfeat .more{color:var(--lime);font-weight:700;margin-top:auto}
.vsh{margin-top:44px}
@media (max-width:900px){.vfeat{grid-template-columns:1fr}.vfeat img{aspect-ratio:16/10;min-height:0}}
@media (max-width:720px){.legsched td.day{width:auto}.vgrid.g4{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.vgrid.g4{grid-template-columns:1fr}}
/* ===== Mobile audit 2026-10-21 (MOBILE-ISSUES.md items 1-18) ===== */
html{scroll-padding-top:110px}
.hz,.m-show{display:none}
.more-hide{display:none!important}
.loadmore-wrap{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.nc .im img{width:100%;height:100%;object-fit:cover;display:block}
/* 1. scrolling tables: scroll-shadow cue, swipe hint, sticky first column */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(90deg,var(--ink2) 30%,transparent) left/28px 100% no-repeat local,linear-gradient(270deg,var(--ink2) 30%,transparent) right/28px 100% no-repeat local,radial-gradient(farthest-side at 100% 50%,rgba(177,234,0,.35),transparent) right/12px 100% no-repeat scroll,var(--ink2)}
.tw .t tr:hover td{background:none}
.swipe-cue{display:none;font-size:12px;color:var(--lime);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;text-align:right}
@media (max-width:760px){
 .tw.scrolls+.swipe-cue,.swipe-cue.on{display:block}
 .tw.scrolls .t th:first-child,.tw.scrolls .t td:first-child{position:sticky;left:0;z-index:1;background:var(--ink2)}
 .hz{display:block;font-size:12px;color:var(--mute);font-weight:400;margin-top:2px}
 .m-show{display:inline}div.m-show{display:block;margin-top:4px}
}
@media (max-width:480px){.t th,.t td{padding:9px 7px}.t .pos{width:26px}.t th{letter-spacing:.06em}.t .nat{font-size:10px;padding:1px 4px}}
/* 2-3. ticker + utility bar fit at 375 */
@media (max-width:600px){.tracker .mute{display:none}.tracker .wrap{gap:10px}.tracker .cd{font-size:10px;white-space:nowrap;margin-left:auto}.tracker .wrap>a b{white-space:nowrap}}
@media (max-width:760px){.util .pill{display:none}.util .wrap{justify-content:space-between;gap:12px;overflow:visible}.util .sp{display:none}.util a{padding:10px 0}}
/* 4. phone menu */
.nav li.m-only{display:none}
@media (max-width:1100px){
 .burger{width:44px;height:44px;font-size:20px}
 .nav li.m-only{display:block}
 .nav.open ul{max-height:calc(100dvh - 64px);overflow-y:auto;padding:8px 16px 20px;box-shadow:0 30px 60px rgba(0,0,0,.7)}
 .nav.open ul a{display:block;padding:14px 4px;min-height:44px;font-size:15px;border-bottom:1px solid var(--line)}
 body.menu-open{overflow:hidden}
 body.menu-open main,body.menu-open footer,body.menu-open .limeband{filter:brightness(.35)}
}
/* 5. no iOS zoom on inputs */
@media (max-width:760px){.filters input,.filters select{font-size:16px;min-width:0;flex:1 1 100%;min-height:44px}}
/* 7. long names */
.hcname{overflow-wrap:anywhere}
@media (max-width:480px){.hcname{font-size:16px!important}}
@media (max-width:400px){.rc .ln{font-size:clamp(13px,3.6vw,16px)}.rc{padding-right:14px}}
@media (max-width:720px){.rc{padding-right:14px}} /* style r5: photo sits on top on phones, so no right gutter needed for the surname */
/* 8. slimmer fixed header */
@media (max-width:760px){.nav .wrap{height:56px}.tracker .wrap{height:32px}.nav.open ul{top:56px}}
/* 9. hero countdown on one line */
.hcd{white-space:nowrap;font-size:clamp(20px,6.4vw,30px)!important}
/* 10. tap targets */
@media (max-width:760px){.tabs button{padding:14px 20px}.navcta{padding:13px 14px}.btn{padding:14px 20px}.show10{min-height:44px;padding:0 18px}.footer .legal a{min-height:44px;line-height:44px;display:inline-block}.toc a,[class*=contents] li a{display:block;padding:10px 0}}
/* 11. compact footer */
@media (max-width:760px){.footer .cols{grid-template-columns:1fr 1fr!important;gap:24px 16px}.footer .cols>:first-child{grid-column:1/-1}.footer ul{gap:0}.footer ul a{display:block;padding:11px 0}}
@media (max-width:480px){.limeband{padding:28px 0}}
/* 12. About tiles */
@media (max-width:760px){.grid.g2:has(> .tile){grid-template-columns:1fr 1fr}}
@media (max-width:480px){.sec .grid.g4:has(> .card.pad){grid-template-columns:1fr}}
/* 13. label sizes */
@media (max-width:720px){.bigstat .k,.tile .k{font-size:11px}.tiny,.tile .c,.t th{font-size:12px}.badge-est{font-size:10px}}
/* 14. venue bars */
@media (max-width:480px){.vbar,.bars .row{grid-template-columns:1fr!important}}
/* 17. rider hero portrait first */
@media (max-width:720px){.phero .wrap>.portrait{order:-1;max-width:160px}}
/* 18. section headers wrap */
@media (max-width:480px){.sh{flex-wrap:wrap}.sh a.more{margin-left:auto}}
@media (max-width:1100px){.burger{min-width:44px;flex:0 0 44px}}
@media (max-width:760px){.tw .t td:has(> .hz){min-width:150px}.tw .t td .chip{white-space:nowrap;font-size:9px;padding:2px 6px;letter-spacing:.06em}}
@media (max-width:720px){.phero .wrap:has(>.photo){display:flex;flex-direction:column;align-items:stretch}.phero .wrap>.photo{order:-1;max-width:160px;width:160px;margin:0 0 14px}}
@media (max-width:480px){.pb .row{grid-template-columns:1fr auto!important;row-gap:4px}.pb .row>span:first-child{grid-column:1/-1;white-space:normal}.pb .row .bar{grid-column:1}}
/* ===== Header v2 (Keean 12:49): phones ≤720 ===== */
.util .u-m,.tracker .sd{display:none}
.btn.watch{background:#fff;color:#000}.btn.watch:hover{background:var(--lime);color:#000}.btn.watch span{font-size:10px}
@media (max-width:720px){
 .util .u-d{display:none}
 .util .u-m{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;height:auto;padding-top:7px;padding-bottom:7px;overflow:visible}
 .util .upill{display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 4px;border:1px solid var(--line2);border-radius:99px;position:relative;color:var(--text);font:700 10.5px var(--x);font-stretch:112%;letter-spacing:.06em;text-align:center;white-space:nowrap}
 .util .upill.l{background:var(--lime);border-color:var(--lime);color:#000}
 .tracker .wrap{gap:0;overflow:hidden;font-size:10.5px;letter-spacing:.04em}
 .tracker .mute,.tracker .live{display:none!important}
 .tracker .tag{padding:2px 6px;margin-right:8px;flex:none}
 .tracker .wrap>a{flex:none}.tracker .wrap>a b{white-space:nowrap}
 .tracker .sd{display:inline;color:var(--text);white-space:nowrap;flex:none}
 .tracker .sd::before,.tracker .cd::before{content:"·";margin:0 6px;color:var(--mute)}
 .tracker .cd{margin-left:0;font-size:inherit;white-space:nowrap;flex:none}
 .hero .ctas .btn.watch{order:-1;width:100%;justify-content:center;padding:14px 20px}
}
@media (max-width:360px){.tracker .wrap{font-size:9.5px;letter-spacing:.02em}.util .upill{font-size:9.5px}}
 @media (max-width:720px){.util .upill::after{content:"";position:absolute;inset:-4px 0}}
.gtk{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font:800 11px var(--x);font-stretch:125%;letter-spacing:.08em;text-transform:uppercase;color:var(--lime);white-space:nowrap;min-height:32px}
.gtk:hover{color:#fff}.fc .gtk{display:inline-flex}
/* ===== Header v3 (Keean 1:15): phone quick-link strip, csigreenwich.com pattern ===== */
.mstrip{display:none}
@media (max-width:720px){
 .util{display:none}
 .nav .navcta{display:none}
 .mstrip{display:block;position:relative;background:#0B0D0E;border-bottom:1px solid var(--line)}
 .mstrip-in{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;padding:10px 16px;scroll-padding-left:16px}
 .mstrip-in::-webkit-scrollbar{display:none}
 .mstrip-in::after{content:"";flex:0 0 8px}
 .mstrip::after{content:"";position:absolute;top:0;right:0;bottom:1px;width:36px;pointer-events:none;background:linear-gradient(90deg,rgba(11,13,14,0),#0B0D0E)}
 .mp{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 16px;border-radius:22px;background:#15191B;border:1px solid var(--line2);color:var(--text);font:700 12px var(--x);font-stretch:112%;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
 .mp svg{flex:none;color:var(--lime)}
 .mp.l{background:var(--lime);border-color:var(--lime);color:#000}.mp.l svg{color:#000}
 .mp:active{transform:scale(.97)}
}
@media (min-width:400px) and (max-width:720px){.mp{padding:0 22px}}
/* ---- Points views (Oct 21 2026): standings expanders, leg 'Points this leg', team/rider season points ---- */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pv-tog{margin-left:auto;flex:none;width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:99px;color:var(--lime);cursor:pointer}
.pv-tog .chev{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.pv-tog[aria-expanded="true"]{background:var(--lime);color:#000;border-color:var(--lime)}
.pv-tog[aria-expanded="true"] .chev{transform:translateY(2px) rotate(-135deg)}
.pv-tog:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
tr.pv-row{cursor:pointer}
tr.pv-row .tm{width:100%}
tr.pv-open td{background:rgba(177,234,0,.06)}
tr.pv-x[hidden]{display:none!important}
tr.pv-x>td{padding:0 10px 14px!important;background:rgba(177,234,0,.04)}
.pv-in{border:1px solid var(--line);border-radius:12px;padding:6px 10px 10px;background:var(--ink2,#0b0d0e)}
.pv-in .tw{overflow-x:auto}
table.pv-grid{width:100%;font-size:13px}
table.pv-grid th{font-size:10px;white-space:nowrap}
table.pv-grid td,table.pv-grid th{padding:8px 8px}
table.pv-grid td:first-child{white-space:nowrap}
table.pv-grid tr.pv-up td{opacity:.55}
table.pv-grid tr.pv-tot td{border-top:1px solid rgba(177,234,0,.4)}
.pv-bonus{display:inline-block;margin-left:6px;font:800 9px var(--x);font-stretch:125%;letter-spacing:.08em;color:#000;background:var(--lime);border-radius:4px;padding:2px 5px;vertical-align:middle;white-space:nowrap}
.pv-legend{margin:10px 2px 0}
.pv-two{grid-template-columns:1.25fr 1fr;align-items:start;gap:18px}
.pv-chart{width:100%;min-width:560px;height:auto;display:block}
.pv-panel .tabs.sm{margin:10px 0 8px}
.pv-panel .tabs.sm button{padding:7px 12px;font-size:10px}
.pv-panel tr.pv-more{display:none}
.pv-panel.pv-all-on tr.pv-more{display:table-row}
.pv-panel .pv-all{margin-top:10px;width:100%}
.pv-res{align-items:start}
.pv-solo{max-width:760px}
.leg .sched-link{position:relative;z-index:2;display:inline-block;padding:6px 0;font-weight:700}
@media (max-width:1100px){.pv-res{grid-template-columns:1fr 1fr}.pv-res .pv-panel{grid-column:1/-1}}
@media (max-width:900px){.pv-two{grid-template-columns:1fr}}
@media (max-width:720px){.pv-res{grid-template-columns:1fr}
  table.pv-grid td,table.pv-grid th{padding:8px 5px}
  table.pv-grid{font-size:12.5px}
  tr.pv-x>td{padding:0 4px 12px!important}
  .pv-in{padding:4px 6px 8px}}
/* Card images (Keean, Oct 21 2026 1:33 PM): flex-column cards let <img> keep its intrinsic height (min-height:auto), so photos rendered ~750px tall on phones.
   Fix everywhere: no intrinsic min-height; on phones a fixed landscape ratio, cover crop, subject centred, max ~220px. */
.vcard .vimg{min-height:0;height:auto;flex:none}
@media (max-width:720px){
  .vcard .vimg,.vfeat img{aspect-ratio:16/9!important;height:auto!important;min-height:0!important;max-height:220px;object-fit:cover;object-position:50% 40%}
  .leg .im,.nc .im,.nc.lead .im,.nlcard .nl-ph{aspect-ratio:16/9;max-height:220px;background-position:50% 40%}
  .card.tk .im{max-height:220px}
  .vcard img.vimg,.nc img{max-height:220px;object-fit:cover;object-position:50% 40%}
}
.pv-bl{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pv-bl .pv-bonus{margin-left:0;text-decoration:none}
@media (max-width:720px){
  table.pv-grid th{white-space:normal;letter-spacing:.04em;font-size:9px;line-height:1.2}
  table.pv-grid td,table.pv-grid th{padding:7px 4px}
  tr.pv-x>td{padding:0 0 10px!important}
  .pv-in{padding:2px 4px 8px;border-radius:10px}
  .pv-in table.pv-grid{min-width:0}
  .pv-bonus{margin-left:4px;padding:2px 4px;font-size:8.5px}
}
/* Style round 4 (Oct 21 2026): Tryon/HV/Monterrey featured card overflow at phone widths */
@media(max-width:900px){.vfeat{grid-template-columns:minmax(0,1fr)}.vfeat .vb{min-width:0}.vfeat h3.big{font-size:clamp(26px,8vw,34px);overflow-wrap:anywhere}}
/* Style round 4: 44px tap targets on phones */
@media(max-width:720px){
  .tracker a,.vcard .more,.gtk,.sched-link,a.eyebrow,a.more{display:inline-flex;align-items:center;min-height:44px}
  .btn,.btn.dark{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .tabs button,.pv-panel .tabs.sm button{min-height:44px}
  .vcard .more{padding-top:0}
}
/* ---- Home hero v4 (Keean 2:10 PM Oct 21): whole story is one link (stretched link), 2 equal secondary buttons, no 'Read the story' button ---- */
.hero.home .wrap{position:static}
.hero.home .wrap>.eyebrow,.hero.home .wrap>p{position:relative}
.hero.home h1 .story-link{color:inherit;text-decoration:none}
.hero.home h1 .story-link::after{content:"";position:absolute;inset:0;z-index:3}
.hero.home .story-link:hover{color:#fff}.hero.home:hover .story-more{color:#c6ff1a}
.hero.home .story-link:focus{outline:none}
.hero.home .story-link:focus-visible::after{outline:3px solid var(--lime);outline-offset:-3px}
.hero.home .story-more{display:inline-block;color:var(--lime);font:800 12px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;margin-left:4px}
.hero.home .hero-sec{position:relative;z-index:4;display:flex;gap:12px;flex-wrap:nowrap}
.hero.home .hero-sec .btn{min-height:44px;justify-content:center;white-space:nowrap;background:rgba(7,9,10,.55)}
.hero.home .hero-sec .btn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@media (max-width:720px){
 .hero.home .bg{background-image:var(--bgp,var(--bgl))!important;background-position:center 30%}
 .hero.home .hero-sec{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .hero.home .hero-sec .btn{padding:0 10px;font-size:11px;letter-spacing:.07em;width:100%;min-width:0}
}
@media (max-width:374px){.hero.home .hero-sec .btn{font-size:10.5px;letter-spacing:.04em;padding:0 8px}}
.hero.home{z-index:0;isolation:isolate}.hero.home .bg,.hero.home .scrim{z-index:-1}
@media (max-width:720px){.hero.home .wrap{padding-top:200px}.hero.home .bg{background-position:center 12%}}
/* Teams index money (Keean Oct 21): two clean figures, no bonus notes */
.tmoney{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.tmoney>div{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.tmoney>div>span:first-child{flex:0 0 100%;font:700 10px var(--x);font-stretch:112%;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.tmoney b{font:800 15px var(--x);font-stretch:112%;color:var(--text);white-space:nowrap}
.tmoney .badge-est{font-size:9px;flex:none}
@media (min-width:601px){.tmoney{margin-right:150px}}
/* ---- Season 6 trailer hero (Keean Oct 21): poster is the LCP, muted loop lazy-starts, 'Play with sound' overlay control (no hero CTA buttons) ---- */
.vhero{position:relative;height:min(76vh,56.25vw,860px);min-height:340px;background:#000;overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
.vhero .vh-poster,.vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
.vhero video{opacity:0;transition:opacity .6s ease;background:transparent}
.vhero.vh-playing video{opacity:1}
.vhero .vh-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,10,.82) 0,rgba(7,9,10,0) 42%),linear-gradient(90deg,rgba(7,9,10,.45),transparent 45%);pointer-events:none}
.vhero .vh-cap{position:absolute;left:0;right:0;bottom:26px;pointer-events:none;display:flex;flex-direction:column;gap:6px}
.vhero .vh-title{font:400 clamp(20px,3vw,40px)/1 var(--disp);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.vhero .vh-sound{position:absolute;z-index:2;right:max(28px,calc((100vw - var(--maxw)) / 2 + 28px));bottom:26px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(7,9,10,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:700 11px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,color .2s}
.vhero .vh-sound:hover{border-color:var(--lime);color:var(--lime)}
.vhero .vh-sound:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.vhero.vh-on{background:#000}
.vhero.vh-on video{opacity:1;object-fit:contain}
.vhero.vh-on .vh-poster,.vhero.vh-on .vh-shade,.vhero.vh-on .vh-cap,.vhero.vh-on .vh-sound{display:none}
@media (prefers-reduced-motion:reduce){.vhero:not(.vh-on) video{display:none}}
@media (max-width:760px){
 .vhero{height:clamp(260px,56svh,118vw);min-height:0}
 .vhero .vh-cap{bottom:18px;padding-right:170px}
 .vhero .vh-sound{right:16px;bottom:14px;padding:0 13px;font-size:10.5px;letter-spacing:.08em}
 .vhero+.hero.home{min-height:0}
 .vhero+.hero.home .wrap{padding-top:120px;padding-bottom:30px}
}
@media (max-width:374px){.vhero .vh-cap{padding-right:150px}.vhero .vh-sound{padding:0 11px;font-size:10px;letter-spacing:.05em}}
/* MLSJ TV featured player */
.tvplayer{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.tvplayer video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
/* Chart tooltips (Keean, Oct 21 2026): big card, venue first in the display font, lime accent */
.ctip{position:fixed;left:0;top:0;z-index:300;width:290px;max-width:calc(100vw - 16px);background:#0B0D0E;color:var(--text);border:1px solid var(--line2);border-top:3px solid var(--lime);border-radius:12px;padding:13px 16px 14px;box-shadow:0 18px 44px rgba(0,0,0,.6);pointer-events:none;font:500 15px/1.4 var(--x);text-align:left}
.ctip[hidden]{display:none}
.ctip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-7px;width:12px;height:12px;background:#0B0D0E;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);transform:translateX(-50%) rotate(45deg)}
.ctip.below::after{bottom:auto;top:-8px;border:0;background:var(--lime);width:12px;height:12px}
.ctip-v{font:400 19px/1.18 var(--disp);letter-spacing:.02em;text-transform:uppercase;color:#fff;margin:0 0 6px;overflow-wrap:anywhere}
.ctip-d{font:700 12px/1.35 var(--x);font-stretch:125%;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
.ctip-c{font-size:15px;font-weight:600;margin-top:9px;color:#E7EBED}
.ctip-r{font-size:16px;font-weight:800;margin-top:3px;color:#fff}
.ctip-x{font-size:14px;color:var(--mute);margin-top:3px}
[data-ctip] [data-ct-v]{outline:none}
.tl .d.ct-on,.tl.go .d.ct-on{transform:translate(-50%,-50%) scale(1.55);box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--lime);z-index:5}
.tl .d.w.ct-on{box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--lime),0 0 14px rgba(177,234,0,.6)}
.form .b.ct-on i{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--lime)}.form .b.ct-on span{color:var(--lime)}
.ct-pts circle{cursor:pointer}
@media (max-width:600px){.ctip{width:min(300px,calc(100vw - 16px));padding:12px 14px 13px}.ctip-v{font-size:18px}}
@media (prefers-reduced-motion:reduce){.tl .d.ct-on{transition:none}}
/* ---- Home v5 (Keean Oct 21, 2:45 PM): video hero -> UP NEXT -> LATEST NEWS (3 equal cards); 'Season 6 Trailer' label + new poster ---- */
.vhero{border-bottom:2px solid var(--lime)}
.vhero picture{position:absolute;inset:0;display:block}
.vhero .vh-poster,.vhero video{object-position:49% 45%}
.vhero .vh-cap .eyebrow{color:var(--lime)}
.hsec{padding:56px 0 8px}
.hsec+.hsec{padding-top:44px}
.hs-next{padding-top:48px}
.hs-news{padding-bottom:56px}
.hs-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.hs-head .eyebrow{display:flex;align-items:center;gap:10px}
.hs-head .eyebrow::before{content:"";width:28px;height:3px;background:var(--lime);border-radius:2px;flex:none}
.hs-title{margin:10px 0 0;font:400 clamp(24px,3.2vw,36px)/1 var(--disp);color:#fff}
.hs-head a.more{flex:none;font:700 12px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line2);padding:0 16px;min-height:40px;display:inline-flex;align-items:center;gap:6px;border-radius:99px;white-space:nowrap}
.hs-head a.more:hover{border-color:var(--lime);color:var(--lime)}
.nl2{grid-template-columns:1.25fr 1fr}
.nl2 .nl-bd{padding:26px 28px;display:flex;flex-direction:column;gap:8px;min-width:0}
.nl2 .nl-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nl2 .nl-dt{font:700 13px var(--x);font-stretch:115%;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.nl2 .nl-name{margin:4px 0 0;font:400 clamp(26px,3.4vw,40px)/1.05 var(--disp)}
.nl2 .nl-name a{color:#fff}.nl2 .nl-name a:hover{color:var(--lime)}
.nl2 .nl-cd{font:800 clamp(22px,2.6vw,30px)/1.1 var(--x);font-stretch:125%;color:var(--lime);margin:8px 0 4px}
.nl2 .nl-fc{list-style:none;margin:6px 0 4px;padding:0;border-top:1px solid var(--line)}
.nl2 .nl-fc li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) auto;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.nl2 .nl-fc .fc-d{color:var(--mute);font-size:12.5px}.nl2 .nl-fc b{font-weight:700;color:#fff}.nl2 .nl-fc .fc-p{color:var(--lime);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.nl2 .nl-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.nl2 .nl-btns .btn{min-height:44px}
.nl2 .nl-ph{min-height:300px;border-radius:0;background-position:50% 45%}
.hn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hn{display:flex;flex-direction:column;min-width:0;background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;transition:border-color .2s,transform .2s}
.hn:hover{border-color:var(--lime);color:inherit;transform:translateY(-2px)}
.hn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.hn .im{aspect-ratio:16/9;background:#111;overflow:hidden}
.hn .im img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block}
.hn .bd{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.hn h3{margin:0;font:700 17px/1.28 var(--x);font-stretch:110%;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn:hover h3{color:var(--lime)}
.hn p{margin:0;color:var(--mute);font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1024px){.nl2{grid-template-columns:1fr 1fr}}
@media (max-width:900px) and (min-width:721px){.hn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hn-grid .hn:first-child{grid-column:1/-1}.hn-grid .hn:first-child .im{aspect-ratio:21/9}}
@media (max-width:720px){
 .hsec{padding:36px 0 4px}.hsec+.hsec{padding-top:32px}.hs-news{padding-bottom:40px}
 .hs-head{margin-bottom:16px;gap:12px}.hs-title{font-size:24px}
 .hs-head a.more{padding:0 12px;min-height:44px;font-size:11px;letter-spacing:.08em}
 .nl2{grid-template-columns:1fr}.nl2 .nl-ph{order:-1;min-height:0;aspect-ratio:16/9;max-height:200px;width:100%}
 .nl2 .nl-bd{padding:18px 18px 20px}
 .nl2 .nl-fc li{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}.nl2 .nl-fc .fc-d{grid-column:1/-1}
 .nl2 .nl-btns{display:grid;grid-template-columns:1fr 1fr}.nl2 .nl-btns .btn{justify-content:center;padding:0 10px;white-space:nowrap;font-size:11.5px}
 .hn-grid{grid-template-columns:1fr;gap:14px}
 .hn .im{aspect-ratio:16/9;max-height:200px}
 .hn h3{font-size:16px;-webkit-line-clamp:3}
 .vhero .vh-cap{bottom:74px;padding-right:16px}
 .vhero .vh-title{font-size:clamp(18px,5.4vw,24px);line-height:1.1}
 .vhero .vh-sound{left:16px;right:auto;bottom:16px}
 .vhero .vh-poster{object-position:50% 45%}
}
@media (max-width:374px){.vhero .vh-cap{padding-right:16px}}
.hs-head .eyebrow,.hs-title{white-space:nowrap}
@media (max-width:720px){
 .hs-head{flex-wrap:wrap;align-items:flex-end}
 .hs-title{font-size:clamp(19px,5.6vw,24px)}
 .hs-head a.more{border:0;padding:0 2px;min-height:44px;color:var(--lime);font-size:11px;letter-spacing:.08em;margin-left:auto}
}
@media (max-width:400px){.nl2 .nl-btns .btn{white-space:normal;text-align:center;line-height:1.15;font-size:11px;letter-spacing:.05em;padding:6px 8px}}
.vhero .vh-cap>*{align-self:flex-start;max-width:100%}
/* ---- Home v6 (Keean Oct 21, 3:35–3:40 PM): Angelstone-style hero (black gradient + headline + subline + 4 buttons), no utility bar, emblem-only header, desktop 'More' dropdown, trimmed event bar ---- */
/* Gradient strength via custom properties (deployed = 'medium'; light/strong compared in screenshots) */
.vhero{--gb0:.85;--gb1:.45;--gb2:.25;--gl0:.55;--gl1:.2}
.vhero .vh-shade{z-index:1;background:linear-gradient(to top,rgba(0,0,0,var(--gb0)) 0%,rgba(0,0,0,var(--gb1)) 45%,rgba(0,0,0,var(--gb2)) 100%),linear-gradient(to right,rgba(0,0,0,var(--gl0)) 0%,rgba(0,0,0,var(--gl1)) 38%,rgba(0,0,0,0) 62%);pointer-events:none}
.vhero .vh-cap{z-index:2;bottom:clamp(40px,6vh,72px);gap:0}.vhero .vh-sound{z-index:3}
.vhero .vh-h1{margin:0;font:400 clamp(40px,4.9vw,76px)/.98 var(--disp);color:#fff;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.vhero .vh-h1 span{display:block;white-space:nowrap}
.vhero .vh-sub{margin:18px 0 0;max-width:min(760px,100%);font:500 clamp(16px,1.35vw,19px)/1.45 var(--x);color:#E7EBED;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.vhero .vh-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;pointer-events:auto}
.vhero .vh-btns .btn{min-height:46px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;font:800 12px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase}
.vhero .vh-btns .vb-l{background:var(--lime);color:#000;border:1px solid var(--lime)}
.vhero .vh-btns .vb-l:hover{filter:brightness(1.08);color:#000}
.vhero .vh-btns .vb-o{background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vhero .vh-btns .vb-o:hover{border-color:var(--lime);color:var(--lime)}
.vhero .vh-btns .btn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@media (min-width:761px){.vhero{height:min(80vh,56.25vw,880px);min-height:520px}}
@media (max-width:1100px) and (min-width:761px){.vhero .vh-cap{padding-right:220px}}
@media (max-width:720px){
 .vhero{--gb0:.8;--gb1:.4;--gb2:.14;--gl0:0;--gl1:0;height:clamp(330px,62svh,128vw)}
 .vhero .vh-btns{display:none} /* same four links are in the phone quick-link strip */
 .vhero .vh-cap{bottom:76px;padding-right:16px}
 .vhero .vh-h1{font-size:clamp(23px,7.4vw,34px);line-height:1.02}
 .vhero .vh-sub{margin-top:10px;font-size:clamp(13px,3.7vw,15px);line-height:1.4;max-width:34em}
}
/* header: emblem only (wordmark lives in the hero + footer) */
.nav .brand img{width:44px;height:44px}
/* desktop 'More' dropdown (>1100px). Burger menu (<=1100px) keeps the full list */
.nav .more-li{display:none;position:relative}
.nav .more-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--text);font:700 13px var(--x);font-stretch:125%;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nav .more-btn .caret{font-size:10px;transition:transform .2s}
.nav .more-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.nav .more-btn:hover,.nav .more-btn[aria-expanded="true"]{color:var(--lime)}
.nav .more-btn.on{color:var(--lime);box-shadow:inset 0 -2px 0 var(--lime);border-radius:0}
.nav .more-btn:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.nav .more-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:200;display:flex;flex-direction:column;gap:2px;flex:none;min-width:220px;margin:0;padding:8px;list-style:none;background:#0B0D0E;border:1px solid var(--line2);border-top:2px solid var(--lime);border-radius:12px;box-shadow:0 24px 50px rgba(0,0,0,.65)}
.nav .more-menu[hidden]{display:none}
.nav .more-menu a{display:block;padding:12px 14px;border-radius:8px;color:var(--text);font:700 13px var(--x);font-stretch:125%;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.nav .more-menu a:hover,.nav .more-menu a:focus-visible{background:rgba(177,234,0,.1);color:var(--lime);outline:none}
.nav .more-menu a.on{color:var(--lime);box-shadow:none}
@media (min-width:1101px){.nav li.d-more{display:none}.nav .more-li{display:block}}
/* event bar: LEG · NAME · DATE + countdown; quieter (outline tag, soft-white countdown) */
.tracker{background:#0A0C0D}
.tracker .tag{background:transparent;color:var(--lime);border:1px solid rgba(177,234,0,.55);padding:2px 8px}
.tracker .cd{color:#cfd5d8}
@media (min-width:721px){.tracker .mute::before{content:"·";margin-right:14px;color:var(--mute)}.tracker .mute{color:#cfd5d8}}
@media (min-width:761px){
 /* home: one section rhythm (44px; tinted sections 56px) */
 body.home main>.sec,body.home main>.hsec{padding:44px 0}
 body.home main>.hsec+.hsec{padding-top:44px}
 body.home main>.hs-next{padding-top:56px}
 body.home main>.sec.alt{padding:56px 0}
 /* home: one section-header style */
 body.home .hs-head .eyebrow::before{display:none}
 body.home .hs-title,body.home .sh h2{font-size:30px;line-height:1;margin-top:10px}
 body.home .sh .eyebrow{display:block}
 /* home: Up Next keeps the countdown as its one lime figure */
 body.home .nl2 .nl-fc .fc-p{color:#fff}
 body.home .nl2 .chip.l{background:transparent;color:var(--lime);border-color:rgba(177,234,0,.55)}
 /* home: news dates grey */
 body.home .hn .bd .eyebrow{color:var(--mute)}
}
/* ---- Home v7 (Keean Oct 21, 3:50–3:55 PM): top bar back, 7-item nav + More, brand-colour headline, darker gradient, LIVE RESULTS ---- */
/* top utility bar (desktop/tablet; phones keep hiding .util) */
.util .wrap{height:32px;gap:24px}
.util .pill{padding:3px 12px}
/* desktop nav order: Schedule Teams Riders Horses Standings Stats News, More, (Tickets is outside the ul) */
@media (min-width:1101px){
 .nav ul>li{order:var(--o,50)}.nav ul>li.more-li{order:90}
 .nav .wrap{gap:18px}
 .nav ul{gap:0;min-width:0}
 .nav li a,.nav .more-btn{padding:8px 11px;letter-spacing:.05em;white-space:nowrap}
 .navcta{margin-left:6px}
}
@media (min-width:1101px) and (max-width:1240px){.nav li a,.nav .more-btn{padding:8px 8px;font-size:12.5px;letter-spacing:.04em}.navcta{padding:11px 15px}}
/* hero headline in the wordmark colours: MAJOR LEAGUE white, SHOW JUMPING lime */
.vhero .vh-h1 .vh-l{color:var(--lime)}
.vhero .vh-sub{font-weight:700;font-stretch:112%;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(13px,1.05vw,16px)}
.vhero .vh-sub .vh-dot{margin:0 .35em;color:var(--lime)}
/* darker gradient (between medium and strong) */
.vhero{--gb0:.9;--gb1:.55;--gb2:.35;--gl0:.65;--gl1:.28}
@media (max-width:720px){.vhero{--gb0:.86;--gb1:.5;--gb2:.25;--gl0:0;--gl1:0}.vhero .vh-sub{letter-spacing:.06em;font-size:clamp(11px,3.1vw,13px)}}
/* LIVE RESULTS button in the event bar */
.tracker .lrbtn{flex:none;display:inline-flex;align-items:center;gap:7px;height:26px;min-height:0;margin-left:14px;padding:0 12px;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:#E7EBED;font:800 10.5px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.tracker .lrbtn:hover{border-color:var(--lime);color:var(--lime)}
.tracker .lrbtn:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.tracker .lrbtn .lr-dot{display:none}
.tracker .lrbtn.is-live{background:var(--lime);border-color:var(--lime);color:#000}
.tracker .lrbtn.is-live:hover{filter:brightness(1.08);color:#000}
.tracker .lrbtn.is-live .lr-dot,.mp-lr.is-live::before,#mnav [data-liveres].is-live::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#E5322D;box-shadow:0 0 0 0 rgba(229,50,45,.7);animation:lrpulse 1.4s ease-out infinite;flex:none}
#mnav [data-liveres].is-live::before{margin-right:8px;vertical-align:middle}
@keyframes lrpulse{0%{box-shadow:0 0 0 0 rgba(229,50,45,.7)}70%{box-shadow:0 0 0 7px rgba(229,50,45,0)}100%{box-shadow:0 0 0 0 rgba(229,50,45,0)}}
@media (prefers-reduced-motion:reduce){.tracker .lrbtn.is-live .lr-dot,.mp-lr.is-live::before,#mnav [data-liveres].is-live::before{animation:none}}
.mstrip .mp-lr.is-live{background:var(--lime);border-color:var(--lime);color:#000}
.mstrip .mp-lr.is-live svg{display:none}
@media (max-width:720px){.tracker .lrbtn{display:none}} /* phones: the same button is the 'Live results' pill in the quick-link strip */
.vhero .vh-sub .vh-dot{white-space:pre}.vhero .vh-sub .vh-seg{white-space:nowrap}
@media (max-width:720px){.vhero .vh-sub{letter-spacing:.04em}.vhero .vh-sub .vh-dot{margin:0 .2em}.vhero .vh-sub .vh-dot2{display:block;height:0;overflow:hidden;margin:0}}
.mstrip .mp-lr.is-live{order:-1} /* live: Live results jumps to the front of the phone strip */
/* Palm Springs tickets (Oct 21 2026): Free Tickets primary + VIP Palm Club; note naming the Saturday GP night */
.tk-note{margin:10px 0 0;color:var(--mute,#a8a8a8)}
.hero .tk-note{color:#d9d9d9}
@media (max-width:640px){.nl2 .nl-btns .btn:first-child:nth-last-child(3){grid-column:1/-1}}
.hero p.tk-note{max-width:none;font-size:13px}
@media (max-width:640px){.hero .ctas a[data-tk]{flex:1 1 100%;justify-content:center;text-align:center}}

/* PS tickets site-wide (Keean voice Oct 21 5:04 PM) */
.tracker .tkbtn{flex:none;display:inline-flex;align-items:center;gap:5px;height:26px;min-height:0;margin-left:14px;padding:0 12px;border-radius:999px;background:var(--lime);color:#000;font:800 10.5px var(--x);font-stretch:125%;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.tracker .tkbtn:hover{filter:brightness(1.08)}
.leg .leg-tk{display:flex;gap:16px;flex-wrap:wrap}.leg .leg-tk .gtk{margin-top:0}
@media (max-width:720px){.tracker .tkbtn{display:none}}
/* /live/ fallback */
#lv-main[hidden],#lv-nf[hidden]{display:none!important}
.fc .fc-tk{display:flex;flex-wrap:wrap;gap:0 18px}.fc .fc-tk .gtk{margin-top:8px}
/* Keean Oct 22 2026 10:53 AM: VIP Palm Club in the leg bar, outline (like Live Results) so Free Tickets stays primary; hidden <=720px with the other bar pills */
.tracker .tkbtn.tkvip{margin-left:8px;background:transparent;border:1px solid rgba(255,255,255,.38);color:#E7EBED}
.tracker .tkbtn.tkvip:hover{filter:none;border-color:var(--lime);color:var(--lime)}
.tracker .tkbtn.tkvip:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
@media (min-width:721px) and (max-width:1199px){.tracker .mute{display:none}.tracker .tkbtn,.tracker .lrbtn{margin-left:8px;padding:0 10px}.tracker .tkbtn.tkvip{margin-left:6px}}
@media (min-width:721px) and (max-width:1009px){.tracker .tkbtn.tkvip{display:none}}
/* Stats team logos (Keean Oct 22 2026): current S6 team badge beside rider name; empty slot keeps names aligned */
.rwt{display:flex;align-items:center;gap:8px;min-width:0}
.rtl{flex:0 0 20px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}
.rtl img{width:20px;height:20px;object-fit:contain;display:block}
.rwn{min-width:0;overflow-wrap:anywhere}
.rwn .nat{white-space:nowrap}
@media (max-width:480px){.rwt{gap:6px}}
/* Keean Oct 22 2026: rider card with no verified photo -> initials disc in the same spot as the round portrait */
.rc .rini{position:absolute;right:-6px;top:6px;height:150px;width:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 54px var(--disp);color:rgba(255,255,255,.18);background:rgba(255,255,255,.05);border:1px solid var(--line)}
/* Oct 22 2026: rider/horse pages with no verified photo of that rider -> neutral MLSJ texture, never a random action photo */
.phero.neutral{background:repeating-linear-gradient(-55deg,rgba(255,255,255,.035) 0 2px,transparent 2px 9px),radial-gradient(1200px 500px at 85% 20%,color-mix(in srgb,var(--team) 30%,transparent),transparent 60%),radial-gradient(900px 420px at 10% 100%,color-mix(in srgb,var(--team) 12%,transparent),transparent 70%),var(--ink)}
