@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/barlow-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/barlow-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/barlow-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: italic;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-700i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/saira-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Layout: wet-asphalt night scene. One dark world; chrome + electric blue from the logo.
   Bike-first: the finder sits in the hero, every card states fit against the rider's saved bike. */
:root{
  --asphalt:#06080b; --surface:#0d1117; --raised:#141a22; --line:#222b37; --line-hi:#2f3b4b;
  --fg:#e9eef4; --muted:#93a0b2; --dim:#5d6a7c;
  --blue:#2b9bff; --blue-hi:#79c4ff; --blue-deep:#0b3d6b; --chrome:#cfd6df;
  --ok:#3ddc97; --ok-bg:#0d2a20; --no:#ff8a7a; --no-bg:#2c1513; --warn:#ffc867;
  --wa:#25d366;
  --f-display:"Saira",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Barlow",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"Barlow",ui-sans-serif,system-ui,sans-serif;
  --r-sm:6px; --r-md:10px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--asphalt);color:var(--fg);font:400 16px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--asphalt)}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--f-mono);font-size:.92em;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.eyebrow{font:600 12px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--blue-hi)}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0}
h2{font-weight:800;font-style:italic;font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.01em;text-transform:uppercase}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(6,8,11,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:16px;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:34px;width:auto;mix-blend-mode:screen}
.logo b{font:900 italic 15px/1 var(--f-display);letter-spacing:.08em;color:var(--blue)}
.nav{display:flex;gap:22px;margin-left:12px}
.nav a{text-decoration:none;color:var(--muted);font:600 14px var(--f-display);letter-spacing:.04em}
.nav a:hover{color:var(--fg)}
.top-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.garage-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line-hi);background:var(--surface);border-radius:999px;padding:6px 12px 6px 10px;font:600 13px var(--f-display);max-width:260px}
.garage-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.garage-chip svg{flex:none;color:var(--blue)}
.lang{border:1px solid var(--line-hi);background:none;border-radius:6px;padding:6px 9px;font:600 12px var(--f-display);letter-spacing:.08em;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-sm);padding:12px 18px;font:700 15px var(--f-display);letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.btn-wa{background:var(--wa);color:#04210f}
.btn-wa:hover{filter:brightness(1.08)}
.btn-blue{background:var(--blue);color:#021428}
.btn-blue:hover{background:var(--blue-hi)}
.btn-ghost{background:none;border:1px solid var(--line-hi);color:var(--fg)}
.btn-ghost:hover{border-color:var(--blue)}
.btn-sm{padding:8px 12px;font-size:13px}
@media (max-width:860px){.nav{display:none}.garage-chip{max-width:150px}}
@media (max-width:520px){.top .btn-wa .lbl{display:none}.logo b{display:none}}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0 0 auto 0;height:640px;background:url(hero_wide.webp) 75% center/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
.hero-road{position:absolute;left:0;right:0;top:300px;height:340px;background:url(road.webp) center bottom/cover;opacity:.35;-webkit-mask-image:linear-gradient(180deg,transparent,#000 55%,transparent);mask-image:linear-gradient(180deg,transparent,#000 55%,transparent)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;padding-block:56px 64px}
.hero h1{font-weight:900;font-style:italic;font-size:clamp(40px,6.4vw,82px);line-height:1.05;letter-spacing:-.015em;text-transform:uppercase}
.hero h1 em{font-style:inherit;color:var(--blue);text-shadow:0 0 28px rgba(43,155,255,.45)}
.hero p.lead{color:var(--muted);font-size:18px;max-width:46ch;margin:18px 0 0}
.brandline{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:26px;color:var(--dim);font:600 12px var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.brandline img{height:32px;width:auto;display:block}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-block:36px 40px;gap:28px}
  .hero-bg{height:520px;background-image:url(hero.webp);background-position:center top -10px;background-size:min(720px,140%) auto;opacity:.32;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 60%);mask-image:linear-gradient(180deg,#000 10%,transparent 60%)}
}

/* finder */
.finder{background:rgba(13,17,23,.92);border:1px solid var(--line-hi);border-radius:var(--r-md);padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(43,155,255,.08) inset;align-self:start;min-width:0}
.finder h3{font:800 italic 22px/1.1 var(--f-display);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.finder .sub{color:var(--muted);font-size:14px;margin:6px 0 16px}
.step{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.step-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;font:700 13px var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.step-h i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line-hi);font-size:12px;color:var(--fg)}
.step.done .step-h i{background:var(--blue);border-color:var(--blue);color:#021428}
.step.locked{opacity:.4;pointer-events:none}
.step-h .val{margin-left:auto;color:var(--fg);text-transform:none;letter-spacing:0;font-weight:600}
.step-h .chg{margin-left:8px;background:none;border:0;color:var(--blue-hi);font:600 12px var(--f-display);text-decoration:underline;padding:0}
.makes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.make{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 8px;text-align:center;font:700 italic 15px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;transition:border-color .15s,background .15s}
.make small{display:block;font:500 11px var(--f-body);font-style:normal;text-transform:none;color:var(--dim);margin-top:4px;letter-spacing:0}
.make img{display:block;height:30px;width:auto;max-width:100%;object-fit:contain;margin:2px auto 8px}
.make .mk{display:block;font:600 12px var(--f-display);font-style:normal;color:var(--fg);letter-spacing:.06em}
.make:hover{border-color:var(--blue)}
.make[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-deep)}
.models{display:flex;flex-direction:column;gap:10px;max-height:290px;overflow:auto;padding-right:4px}
.fam-h{font:600 11px var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:2px 0 6px}
.fam-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.model{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--raised);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;min-width:0}
.model b{font:700 14px/1.2 var(--f-display)}
.model span{font-size:12px;color:var(--dim)}
.model:hover{border-color:var(--blue)}
.model[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-deep)}
.years{display:flex;flex-wrap:wrap;gap:6px}
.yr{background:var(--raised);border:1px solid var(--line);border-radius:4px;padding:7px 10px;font:600 14px var(--f-mono);font-variant-numeric:tabular-nums}
.yr:hover{border-color:var(--blue)}
.yr[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#021428}
.yr.other{font-family:var(--f-display);font-size:13px;color:var(--muted)}
.finder-go{margin-top:16px;width:100%}
.finder-note{font-size:12.5px;color:var(--dim);margin-top:10px;text-align:center}
@media (max-width:420px){.makes{grid-template-columns:repeat(2,minmax(0,1fr))}.fam-list{grid-template-columns:1fr}}

/* results band */
.band{padding-block:64px}
.band-h{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;margin-bottom:28px}
.band-h .grow{flex:1 1 380px;min-width:0}
.band-h p{color:var(--muted);margin:10px 0 0;max-width:60ch}
.fitbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;background:linear-gradient(90deg,var(--blue-deep),var(--surface) 70%);border:1px solid var(--line-hi);border-radius:var(--r-md);padding:16px 18px;margin-bottom:24px}
.fitbar .bike{font:800 italic clamp(20px,3vw,28px)/1.05 var(--f-display);text-transform:uppercase}
.fitbar .cnt{color:var(--blue-hi);font:600 14px var(--f-display)}
.fitbar .act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.empty{border:1px dashed var(--line-hi);border-radius:var(--r-md);padding:28px;text-align:center;color:var(--muted)}
.empty b{display:block;color:var(--fg);font:700 20px var(--f-display);margin-bottom:6px}
.empty .btn{margin-top:16px}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.seg{display:flex;border:1px solid var(--line-hi);border-radius:var(--r-sm);overflow:hidden}
.seg button{background:none;border:0;padding:9px 14px;font:700 13px var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seg button+button{border-left:1px solid var(--line-hi)}
.seg button[aria-pressed="true"]{background:var(--fg);color:var(--asphalt)}
.search{flex:1 1 240px;min-width:0;position:relative}
.search input{width:100%;background:var(--surface);border:1px solid var(--line-hi);border-radius:var(--r-sm);padding:10px 12px 10px 38px;color:var(--fg);font:500 15px var(--f-body)}
.search input::placeholder{color:var(--dim)}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--dim)}
.onlyfit{display:flex;align-items:center;gap:8px;font:600 13px var(--f-display);color:var(--muted)}
.onlyfit input{accent-color:var(--blue);width:16px;height:16px}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s,transform .2s;min-width:0}
.card:hover{border-color:var(--line-hi);transform:translateY(-2px)}
.card.nofit{opacity:.55}
.vis{position:relative;aspect-ratio:4/3;max-width:100%;background:radial-gradient(120% 90% at 50% 100%,rgba(43,155,255,.22),transparent 60%),linear-gradient(180deg,#0f141b,#090c10);display:grid;place-items:center;overflow:hidden;border:0;padding:0;width:100%}
.vis::after{content:"";position:absolute;left:12%;right:12%;bottom:14%;height:1px;background:linear-gradient(90deg,transparent,var(--blue),transparent);box-shadow:0 0 14px var(--blue)}
.vis svg.ico{width:46%;height:auto;color:var(--chrome);filter:drop-shadow(0 6px 18px rgba(0,0,0,.6));position:relative;z-index:1}
.vis img.photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;z-index:2}
.vis .wm{position:absolute;right:10px;bottom:6px;font:800 italic 30px var(--f-display);color:rgba(255,255,255,.04);letter-spacing:-.02em}
.vis .brand{position:absolute;left:10px;top:10px;z-index:3;font:900 italic 12px var(--f-display);letter-spacing:.12em;padding:4px 8px;border-radius:3px;text-transform:uppercase}
.brand{background:rgba(6,8,11,.78);backdrop-filter:blur(4px);border:1px solid var(--line);padding:5px 8px!important;line-height:0}
.brand img{height:18px;width:auto;display:block}
.drawer .brand img{height:22px}
.drawer .salebadge{left:auto;right:60px}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font:700 17px/1.2 var(--f-display)}
.card .code{color:var(--dim)}
.fits{font-size:13px;color:var(--muted);line-height:1.4}
.chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;border-radius:4px;padding:4px 8px;font:700 12px/1.2 var(--f-display);letter-spacing:.02em}
.chip.ok{background:var(--ok-bg);color:var(--ok)}
.chip.no{background:var(--no-bg);color:var(--no)}
.card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.price{font:800 19px var(--f-display);font-variant-numeric:tabular-nums}
.stock{font:600 12px var(--f-display);display:flex;align-items:center;gap:6px;color:var(--muted)}
.stock::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.stock.low::before{background:var(--warn)}
.stock.out::before{background:var(--dim)}
.card .acts{display:flex;gap:8px}
.salebadge{position:absolute;right:10px;top:10px;z-index:3;background:var(--blue);color:#021428;font:900 italic 13px var(--f-display);padding:4px 8px;border-radius:3px;letter-spacing:.04em;box-shadow:0 0 18px rgba(43,155,255,.55)}
.pricebox{display:flex;flex-direction:column;line-height:1.1}
.pricebox s{color:var(--muted);font:600 13px var(--f-display);text-decoration-thickness:1.5px;font-variant-numeric:tabular-nums}
.pricebox .price.now{color:var(--blue-hi)}
.card.onsale{border-color:var(--blue-deep)}
.saving{font:600 12px var(--f-display);color:var(--blue-hi)}
.deals{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.seg button[data-b="sale"]{color:var(--blue-hi)}
.seg button[data-b="sale"][aria-pressed="true"]{background:var(--blue);color:#021428}
.card .acts .btn{flex:1}

/* brand showcase */
.brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.bcard{position:relative;border:1px solid var(--line);border-radius:var(--r-md);padding:28px;overflow:hidden;background:var(--surface);min-width:0}
.bcard .big{font:900 italic clamp(56px,9vw,110px)/.8 var(--f-display);letter-spacing:-.03em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--line-hi);position:absolute;right:-6px;bottom:-8px;pointer-events:none}
.bcard h3{margin:0;line-height:0}
.bcard h3 img{height:56px;width:auto;max-width:100%;display:block;margin-bottom:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bcard .org{font:600 12px var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-hi);margin-top:4px}
.bcard p{color:var(--muted);max-width:44ch;margin:14px 0 18px;position:relative}
.bcard ul{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:6px;position:relative}
.bcard li{border:1px solid var(--line-hi);border-radius:4px;padding:4px 8px;font:600 12.5px var(--f-display);color:var(--chrome)}
@media (max-width:760px){.brands{grid-template-columns:1fr}}

/* how */
.how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.how > div{padding:24px;border-right:1px solid var(--line);min-width:0}
.how > div:last-child{border-right:0}
.how .n{font:900 italic 44px/1 var(--f-display);color:var(--blue)}
.how h3{font:700 19px var(--f-display);margin:10px 0 6px}
.how p{margin:0;color:var(--muted);font-size:15px}
@media (max-width:760px){.how{grid-template-columns:1fr}.how > div{border-right:0;border-bottom:1px solid var(--line)}.how > div:last-child{border-bottom:0}}

footer{border-top:1px solid var(--line);padding-block:36px 48px;color:var(--dim);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}
footer .wa-num{font-family:var(--f-mono);color:var(--fg)}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--surface);border-left:1px solid var(--line-hi);z-index:90;transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.drawer.on{transform:none}
.drawer .x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-hi);background:rgba(6,8,11,.8);display:grid;place-items:center}
.drawer .scroll{overflow:auto;flex:1}
.drawer .vis{aspect-ratio:16/10}
.d-body{padding:22px 22px 8px;display:flex;flex-direction:column;gap:14px}
.d-body h2{font-size:clamp(24px,4vw,32px);text-transform:none;font-style:normal;font-weight:800}
.d-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:14px}
.d-meta b{color:var(--fg);font-weight:600}
.verdict{border-radius:var(--r-sm);padding:12px 14px;font:600 15px/1.35 var(--f-display);display:flex;gap:10px;align-items:flex-start}
.verdict.ok{background:var(--ok-bg);color:var(--ok)}
.verdict.no{background:var(--no-bg);color:var(--no)}
.verdict.none{background:var(--raised);color:var(--muted)}
.verdict svg{flex:none;margin-top:1px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm)}
table{border-collapse:collapse;width:100%;font-size:14px}
th{text-align:left;font:600 11px var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--raised)}
td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td.y{font-family:var(--f-mono);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
tr.hit td{background:var(--ok-bg);color:var(--ok)}
.d-desc{color:var(--muted);font-size:15px;margin:0}
.d-foot{border-top:1px solid var(--line);padding:16px 22px;display:flex;align-items:center;gap:14px;background:var(--surface)}
.d-foot .btn{flex:1}
.flag{font-size:12.5px;color:var(--dim)}
.thumbs{display:flex;gap:8px;padding:10px 22px 0;overflow-x:auto}
.thumbs:empty{display:none}
.th{flex:none;width:64px;height:64px;border:1px solid var(--line-hi);border-radius:6px;padding:0;background:#fff;overflow:hidden}
.th.on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.th img{width:100%;height:100%;object-fit:contain}
.flowchip{align-self:flex-start;font:700 12px var(--f-display);color:var(--blue-hi);border:1px solid var(--blue-deep);border-radius:4px;padding:3px 7px}
.flow{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px}
.fbar{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;margin-bottom:8px;font:600 13px var(--f-display);color:var(--muted)}
.fbar i{display:block;height:12px;border-radius:2px;background:var(--line-hi)}
.fbar.dna i{background:linear-gradient(90deg,#8a2a0c,#f47b20);box-shadow:0 0 12px rgba(244,123,32,.45)}
.fbar.dna{color:var(--fg)}
.fbar b{font:700 13px var(--f-mono);font-variant-numeric:tabular-nums;min-width:96px;text-align:right}
.fup{font:800 italic 22px var(--f-display);color:#ff9a4a;margin-top:6px}
table.spec th{background:none;text-transform:none;letter-spacing:0;font:500 13px var(--f-body);color:var(--muted);width:42%;border-bottom:1px solid var(--line)}
@media (max-width:420px){.fbar{grid-template-columns:78px 1fr;}.fbar b{grid-column:2;text-align:left}}

/* ---- multi-page additions ---- */
.vis{text-decoration:none}
.card h3 a{text-decoration:none;color:inherit}
.card h3 a:hover{color:var(--blue-hi)}
.fits b{color:var(--fg);font-weight:600}
.fits .more{color:var(--blue-hi)}
.fitslot:empty{display:none}
.band-h .bh,.band-h h1{font-weight:800;font-style:italic;font-size:clamp(28px,4vw,44px);line-height:1.05;text-transform:uppercase;margin-top:10px}
.pmain{padding-block:24px 64px}
.crumbs{font-size:13px;color:var(--dim);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--fg)}
.crumbs [aria-current]{color:var(--fg)}
.pgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.gal{position:sticky;top:calc(80px + env(safe-area-inset-top,0px))}
.gal .vis{border-radius:var(--r-md);border:1px solid var(--line)}
.gal .thumbs{padding:10px 0 0}
.pinfo{display:flex;flex-direction:column;gap:16px;min-width:0}
.ph1{font:800 clamp(26px,3.4vw,38px)/1.1 var(--f-display)}
.buy{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px}
.buy .btn{flex:1;min-width:200px}
.buy .price{font-size:26px}
.pinfo h2.eyebrow{font-size:12px;font-style:normal;text-transform:uppercase}
td a{color:inherit}
tr.hit td a{color:var(--ok)}
.fitbar .sub{color:var(--muted);margin:8px 0 0;max-width:60ch}
.fitbar h1.bike{font:800 italic clamp(24px,3.6vw,36px)/1.05 var(--f-display);text-transform:uppercase;margin-top:6px}
.fitbar .act img{height:48px;width:auto}
.yrline{margin-top:8px;color:var(--muted);font-size:14px}
.mtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mtile{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px;text-decoration:none}
.mtile:hover{border-color:var(--blue)}
.mtile b{font:700 18px var(--f-display)}.mtile span{color:var(--dim);font-size:13px}
.makelinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.mlink{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;text-decoration:none;font:600 14px var(--f-display)}
.mlink:hover{border-color:var(--blue)}
.mlink img{height:26px;width:auto}
.brandline a{line-height:0}
.empty{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}
footer .fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px;align-items:start}
footer b{color:var(--fg);font:700 13px var(--f-display);letter-spacing:.1em;text-transform:uppercase}
footer p{margin:8px 0 0;line-height:1.8}
footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--fg)}
footer .copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}
.wa-num{font-family:var(--f-mono);color:var(--fg)!important}
a.garage-chip{text-decoration:none}
a.lang{text-decoration:none}
@media (max-width:860px){.pgrid{grid-template-columns:1fr}.gal{position:static}footer .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .fgrid{grid-template-columns:1fr}}

[hidden]{display:none!important}
body{margin:0}
img{max-width:100%}

.hero-copy{display:flex;flex-direction:column;justify-content:center;align-self:start}
@media (min-width:901px){.hero-copy{min-height:530px}}

.wa-foot{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)!important;font:700 18px var(--f-display);letter-spacing:.02em}
.wa-foot .wa-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--wa);color:#04210f}
.wa-foot:hover span:last-child{color:var(--wa)}

.garage-wrap{display:flex;align-items:center;border:1px solid var(--line-hi);background:var(--surface);border-radius:999px;max-width:300px;min-width:0}
.garage-wrap .garage-chip{border:0;background:none;min-width:0;padding-right:4px}
.gx{flex:none;display:grid;place-items:center;border:0;background:none;color:var(--muted);width:26px;height:26px;border-radius:50%;margin-right:5px;padding:0;cursor:pointer}
.gx:hover{color:var(--fg);background:var(--raised)}
@media (max-width:860px){.garage-wrap{max-width:180px}}

/* phones: 2 products per row */
@media (max-width:600px){
  .grid,.deals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card .body{padding:10px 10px 12px;gap:6px}
  .card h3{font-size:14px;line-height:1.25}
  .card .code{font-size:11px}
  .card .fits{display:none}
  .flowchip,.card .chip{font-size:10.5px;padding:3px 6px}
  .card .foot{flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px}
  .card .price{font-size:16px}
  .card .pricebox s{font-size:11px}
  .card .acts .btn-ghost{display:none}
  .card .acts .btn{padding:9px 8px;font-size:13px}
  .card .vis .brand{left:6px;top:6px;padding:3px 5px!important}
  .card .vis .brand img{height:13px}
  .card .salebadge{right:6px;top:6px;font-size:11px;padding:3px 6px}
  .card .vis .wm{display:none}
}

.price.ask{font-size:15px;color:var(--muted);font-weight:700}

/* variants, dyno, videos */
.vchips{display:flex;flex-wrap:wrap;gap:8px}
.vchip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;text-align:left;cursor:pointer;max-width:100%}
.vchip b{font:700 14px var(--f-display)}
.vchip span{font-size:12px;color:var(--dim)}
.vchip:hover{border-color:var(--line-hi)}
.vchip.on{border-color:var(--blue);background:var(--blue-deep)}
.vchip.on span{color:var(--blue-hi)}
.dyno,.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.dyno a{line-height:0}
.dyno img{width:100%;height:auto;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line)}
.yt{position:relative;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r-sm);overflow:hidden;background:#000;cursor:pointer;max-width:100%}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.yt:hover img{opacity:1}
.yt .play{position:absolute;inset:0;margin:auto;width:64px;height:44px;border-radius:12px;background:#e00}
.yt .play::after{content:"";position:absolute;left:26px;top:13px;border-left:16px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
#phom b{color:var(--fg);font-weight:600}

.pinfo .d-desc{margin:0}

/* brandline mobile */
@media (max-width:600px){.brandline{gap:10px 14px}.brandline img{height:22px}}

/* cookie consent */
.consent{position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;max-width:560px;margin:0 auto;background:var(--raised);border:1px solid var(--line-hi);border-radius:var(--r-md);padding:14px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.consent p{margin:0;flex:1 1 260px;font-size:14px;color:var(--muted)}
.consent div{display:flex;gap:8px}
