/* Palette from @EV_Agnostic X chart graphics: bg #0e0f13, panel #1a1b20, accent #f97c09, label gray #8c8d93 */
:root{--bg:#0e0f13;--panel:#15161b;--ink:#f2f2f0;--soft:#c3c4c8;--muted:#8c8d93;--line:#3a3c44;--rule:#24262c;--acc:#f97c09;
--disp:Anton,Impact,"Arial Narrow Bold",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;
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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--ink);text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:4px}
a:hover{color:var(--acc)}
a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--acc);color:#000;padding:6px 10px;z-index:99}
.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.tag{color:var(--acc);margin:0 0 20px}

/* top bar */
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(20px,4vw,48px);border-bottom:1px solid var(--rule);flex-wrap:wrap}
.wordmark{font:400 26px/1 var(--disp);letter-spacing:.01em;text-decoration:none}
.wordmark:hover{color:var(--ink)}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{font:500 12.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-decoration:none}
nav a:hover{color:var(--ink)}
nav .nav-contact{color:var(--acc)}

/* hero: blueprint grid, oversized type, wheel drawing bleeding off the right edge */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;min-height:min(86vh,820px);padding:56px 0 40px clamp(20px,4vw,48px);overflow:hidden;
background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px}
.hero-copy{position:relative;z-index:2;max-width:760px}
h1{font:400 clamp(52px,8.2vw,124px)/.92 var(--disp);text-transform:uppercase;letter-spacing:.003em;margin:0 0 30px}
.hero-sub{font-size:19px;color:var(--soft);max-width:31em;margin:0 0 24px}
.hero-mail{margin:0;font:500 15px/1 var(--mono)}
.hero-art{margin:0;padding-right:clamp(12px,3vw,40px);position:relative;z-index:1}
.hero-art svg{width:100%;height:auto;display:block}
.hero-art figcaption{margin:6px 0 0 6%}

/* shared drawing styles */
svg .ln{fill:none;stroke:#9a9ca4;stroke-width:1.4;vector-effect:non-scaling-stroke}
svg .ln .hid,svg .hid{stroke-dasharray:6 5;stroke:#5c5e66}
svg .cl line{stroke:#4a4c54;stroke-width:1;stroke-dasharray:22 5 3 5;vector-effect:non-scaling-stroke}
svg .callout line,svg .callout path{stroke:var(--acc);stroke-width:1.2;fill:none;vector-effect:non-scaling-stroke}
svg .callout text,svg .dim text{font:500 13px var(--mono);letter-spacing:.06em;fill:var(--acc)}
svg .dim line,svg .dim path{stroke:var(--soft);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}
svg .dim text{fill:var(--soft)}
.hero-art .callout text{font-size:15px}
.spin{transform-origin:0 0;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* sections */
.sec{padding:96px clamp(20px,4vw,48px);border-top:1px solid var(--rule)}
.sec-head{display:flex;align-items:flex-end;gap:18px;margin:0 0 28px}
.num{font:400 clamp(72px,11vw,150px)/.8 var(--disp);color:transparent;-webkit-text-stroke:1.5px var(--acc)}
h2{font:400 clamp(40px,5.4vw,72px)/.9 var(--disp);text-transform:uppercase;margin:0}
.big{font-size:clamp(22px,2.4vw,30px);line-height:1.3;font-weight:500;max-width:22em;margin:0 0 18px}
.sec-copy p:not(.big):not(.note){color:var(--soft);max-width:34em}
.note{margin-top:28px}

.susp-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(32px,6vw,96px);align-items:center;max-width:1180px}
.coil{width:100%;height:auto}

.sec-wheels{background:var(--panel)}
.wheels-grid{display:grid;grid-template-columns:1fr minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center;max-width:1280px;margin-left:auto}
.fit{margin:0}.fit svg{width:100%;height:auto;display:block}

.sec-tires{border-top:1px solid var(--rule)}
.tread{height:74px;opacity:.9;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='74'%3E%3Cg fill='none' stroke='%233a3c44' stroke-width='2'%3E%3Cpath d='M2 6 L22 36 L2 68'/%3E%3Cpath d='M34 6 L54 36 L34 68'/%3E%3Cpath d='M0 36 H64' stroke='%23f97c09' stroke-width='1.2' stroke-dasharray='4 6'/%3E%3C/g%3E%3C/svg%3E") repeat-x;background-size:64px 74px;animation:roll 14s linear infinite}
@keyframes roll{to{background-position:640px 0}}
.tires-inner{padding:64px clamp(20px,4vw,48px);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,80px);align-items:end}
.tires-inner .sec-head{margin:0}
.tires-inner .big{margin:0;max-width:24em}

.nvh-lede{margin-bottom:40px}
.scope{margin:0;max-width:1100px;border:1px solid var(--line);padding:18px 18px 10px;background:#0b0c0f}
.scope svg{width:100%;height:auto;display:block}
.scope .grid line{stroke:var(--rule);stroke-width:1;vector-effect:non-scaling-stroke}
.scope .noisy{fill:none;stroke:#8c8d93;stroke-width:1.3;vector-effect:non-scaling-stroke}
.scope .calm{fill:none;stroke:var(--acc);stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-dasharray:2000;stroke-dashoffset:2000;animation:draw 3.2s ease-out .4s forwards}
.scope .callout text{fill:var(--muted)}.scope .callout .acc{fill:var(--acc)}
@keyframes draw{to{stroke-dashoffset:0}}

.contact{background:var(--acc);color:#0e0f13;border-top:0}
.contact .tag{color:#0e0f13}
.contact-line{font-size:clamp(20px,2.2vw,26px);font-weight:500;max-width:28em;margin:0 0 20px}
.mail-big{display:inline-block;font:400 clamp(40px,8.4vw,128px)/1 var(--disp);color:#0e0f13;text-decoration:none;word-break:break-all;border-bottom:4px solid #0e0f13}
.mail-big:hover{color:#fff;border-color:#fff}
.addr{font-style:normal;font-size:clamp(18px,1.8vw,22px);font-weight:500;line-height:1.45;margin:32px 0 0}
.addr .k{display:block;color:#2a1a08;margin-bottom:4px}
.channels{margin:28px 0 0;color:#2a1a08}
.channels a{color:#0e0f13;text-decoration-color:#0e0f13}

/* footer as a drawing title block */
.titleblock{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;border-top:1px solid var(--line);font-size:15px}
.tb-cell{padding:14px clamp(20px,4vw,48px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.tb-cell:last-of-type{border-right:0}
.k{font-size:11px}
.tb-addr{grid-column:1/-1;font-style:normal;padding:14px clamp(20px,4vw,48px);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.tb-disc{grid-column:1/-1;margin:0;padding:14px clamp(20px,4vw,48px) 28px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);max-width:60em}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-right:clamp(20px,4vw,48px);min-height:0}
  .hero-art{margin:28px auto 0;padding:0;width:100%;max-width:560px}
  .susp-grid,.wheels-grid{grid-template-columns:1fr}
  .coil{max-width:320px}
  .tires-inner{grid-template-columns:1fr}
}
@media (max-width:600px){
  body{font-size:16px}
  .bar{padding:14px 20px}
  nav{gap:14px}
  nav a:not(.nav-contact){display:none}
  .hero{padding-top:36px}
  .scope{overflow-x:auto}.scope svg{min-width:620px}
  .mail-big{font-size:clamp(26px,8.3vw,44px);white-space:nowrap;word-break:normal}
  .sec{padding:64px 20px}
  .titleblock{grid-template-columns:1fr 1fr}
  .tb-cell:nth-child(2){border-right:0}
  .tb-cell{border-bottom:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){.spin,.tread{animation:none}.scope .calm{animation:none;stroke-dashoffset:0}html{scroll-behavior:auto}}
