@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@800,700,500&f[]=satoshi@400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ============================================================ *
   Elfer Muffler Shop — tokens
 * ============================================================ */
:root{
  --font-display:'Cabinet Grotesk','Segoe UI',sans-serif;
  --font-body:'Satoshi','Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;

  --black:#08090a;
  --pit:#0d0f11;
  --panel:#121517;
  --panel-2:#171b1e;
  --line:#23282c;
  --line-2:#2f353a;
  --smoke:#8b949b;
  --ash:#b8c0c6;
  --white:#f2f4f5;

  --red:#e01f26;
  --red-hot:#ff3a32;
  --red-deep:#8d1116;
  --ember:#ff8a3d;

  --chrome:linear-gradient(175deg,#ffffff 0%,#dbe1e5 26%,#9aa4ab 46%,#eef2f4 58%,#b0b9bf 74%,#f6f8f9 100%);

  --text-xs:.75rem; --text-sm:.875rem; --text-base:1rem; --text-lg:1.125rem;
  --text-xl:1.5rem; --text-2xl:2.25rem; --text-3xl:clamp(2.6rem,6vw,4.5rem);
  --text-hero:clamp(3.2rem,11vw,9.5rem);

  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:3rem; --s6:4.5rem; --s7:7rem;
  --pad:clamp(1.1rem,4vw,3.5rem);
  --maxw:1280px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
body{
  margin:0;background:var(--black);color:var(--ash);
  font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--red-hot);outline-offset:3px;border-radius:2px}
::selection{background:var(--red);color:#fff}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:.94;
  letter-spacing:-.03em;color:var(--white);margin:0;text-wrap:balance}
p{margin:0}

/* grain + vignette over everything */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:900;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:var(--text-xs)}

/* ============================================================ *
   Scroll progress — a tach sweep across the top
 * ============================================================ */
#prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:1000;
  background:linear-gradient(90deg,var(--red-deep),var(--red),var(--red-hot));
  box-shadow:0 0 14px rgba(224,31,38,.85)}

/* ============================================================ *
   Nav
 * ============================================================ */
#nav{position:fixed;top:0;left:0;right:0;z-index:800;
  transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent}
#nav.stuck{background:rgba(8,9,10,.82);backdrop-filter:blur(16px) saturate(1.3);
  border-bottom-color:var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  height:78px;display:flex;align-items:center;gap:var(--s3);
  transition:height .4s var(--ease)}
#nav.stuck .nav-in{height:62px}
.nav-logo img{height:44px;width:auto;transition:height .4s var(--ease)}
#nav.stuck .nav-logo img{height:34px}
.nav-links{display:flex;gap:1.6rem;margin-left:auto;align-items:center}
.nav-links a{font-size:var(--text-sm);font-weight:500;color:var(--ash);
  position:relative;padding:.35rem 0;transition:color .25s}
.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--red);transition:right .35s var(--ease)}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{right:0}

.lang{display:flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden}
.lang button{padding:.3rem .7rem;font-size:var(--text-xs);font-weight:700;
  font-family:var(--font-mono);color:var(--smoke);transition:.25s}
.lang button.on{background:var(--red);color:#fff}

.nav-call{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;
  border:1px solid var(--line-2);border-radius:999px;font-size:var(--text-sm);font-weight:700;
  color:var(--white);transition:.3s var(--ease);white-space:nowrap}
.nav-call:hover{background:var(--red);border-color:var(--red);
  box-shadow:0 0 26px rgba(224,31,38,.5)}

#burger{display:none;width:44px;height:44px;margin-left:auto;position:relative;flex:0 0 44px}
#burger span{position:absolute;left:11px;width:22px;height:2px;background:var(--white);
  transition:.35s var(--ease)}
#burger span:nth-child(1){top:16px}
#burger span:nth-child(2){top:22px}
#burger span:nth-child(3){top:28px}
#burger.open span:nth-child(1){top:22px;transform:rotate(45deg)}
#burger.open span:nth-child(2){opacity:0}
#burger.open span:nth-child(3){top:22px;transform:rotate(-45deg)}

#drawer{position:fixed;inset:0;z-index:790;background:rgba(8,9,10,.97);
  backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;
  gap:.25rem;padding:0 var(--pad);opacity:0;pointer-events:none;transition:opacity .35s}
#drawer.open{opacity:1;pointer-events:auto}
#drawer > a{font-family:var(--font-display);font-size:clamp(1.9rem,8vw,2.8rem);
  font-weight:800;color:var(--white);padding:.28rem 0;
  transform:translateY(18px);opacity:0;transition:.5s var(--ease)}
#drawer.open > a{transform:none;opacity:1}
#drawer .drawer-foot{margin-top:var(--s4);display:flex;flex-direction:column;gap:.7rem;
  opacity:0;transform:translateY(18px);transition:.5s var(--ease) .34s}
#drawer.open .drawer-foot{opacity:1;transform:none}
#drawer .drawer-foot .btn{font-size:var(--text-sm);padding:.95rem 1.4rem;justify-content:center;
  font-family:var(--font-body);font-weight:700;letter-spacing:.02em}

/* ============================================================ *
   Buttons
 * ============================================================ */
.btn{position:relative;display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 1.9rem;font-weight:700;font-size:var(--text-sm);letter-spacing:.02em;
  border:1px solid var(--line-2);color:var(--white);overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  transition:color .3s,border-color .3s,transform .25s var(--ease)}
.btn span{position:relative;z-index:2}
.btn::before{content:'';position:absolute;inset:0;background:var(--red);z-index:1;
  transform:translateY(101%);transition:transform .42s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn:hover{border-color:var(--red);transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn.solid{background:var(--red);border-color:var(--red);color:#fff}
.btn.solid::before{background:#fff}
.btn.solid:hover{color:var(--black)}

/* ============================================================ *
   Section furniture
 * ============================================================ */
section{position:relative}
.sec{padding-block:clamp(4.5rem,11vw,var(--s7))}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--red-hot);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.24em;
  text-transform:uppercase;margin-bottom:var(--s2)}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--red)}
.sec-h{font-size:var(--text-3xl);text-transform:uppercase;letter-spacing:-.035em}
.sec-h em{font-style:normal;background:var(--chrome);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.sec-sub{max-width:56ch;margin-top:var(--s2);color:var(--smoke);font-size:var(--text-lg)}
.ghost-num{position:absolute;right:var(--pad);top:clamp(2rem,6vw,3.4rem);
  font-family:var(--font-display);font-weight:800;font-size:clamp(6rem,18vw,15rem);
  line-height:1;color:#fff;opacity:.028;pointer-events:none;user-select:none;letter-spacing:-.06em}

.rule{height:1px;background:linear-gradient(90deg,var(--line),transparent)}

/* reveal */
[data-rv]{opacity:0;transform:translateY(30px);
  transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-rv].in{opacity:1;transform:none}

/* ============================================================ *
   Hero
 * ============================================================ */
#hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;
  padding-bottom:clamp(2.5rem,7vw,5rem);padding-top:120px;overflow:hidden}
#heroCv{position:absolute;inset:0;width:100%;height:100%;z-index:0}
#hero::before{content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(120% 85% at 50% 105%,rgba(224,31,38,.22),transparent 62%),
    radial-gradient(80% 60% at 50% 0%,rgba(255,255,255,.05),transparent 70%),
    linear-gradient(180deg,rgba(8,9,10,.75) 0%,rgba(8,9,10,.25) 40%,var(--black) 96%)}
#hero .wrap{position:relative;z-index:2;width:100%}

.hero-mark{width:min(420px,72vw);margin-bottom:var(--s3);
  filter:drop-shadow(0 0 40px rgba(224,31,38,.35))}
.hero-h{font-size:var(--text-hero);text-transform:uppercase;line-height:.86;
  letter-spacing:-.045em}
.hero-h .ln{display:block;overflow:hidden}
.hero-h .ln i{display:block;font-style:normal;transform:translateY(105%);
  animation:riseIn 1.05s var(--ease) forwards}
.hero-h .ln:nth-child(2) i{animation-delay:.12s}
.hero-h .heard{background:var(--chrome);-webkit-background-clip:text;background-clip:text;
  color:transparent;position:relative}
@keyframes riseIn{to{transform:translateY(0)}}

.hero-p{max-width:50ch;margin-top:var(--s3);font-size:var(--text-lg);color:var(--ash);
  opacity:0;animation:fadeUp .9s var(--ease) .5s forwards}
.hero-p b{color:var(--white);font-weight:700}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--s4);
  opacity:0;animation:fadeUp .9s var(--ease) .65s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.hero-meta{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-top:var(--s5);
  padding-top:var(--s3);border-top:1px solid var(--line);
  opacity:0;animation:fadeUp .9s var(--ease) .8s forwards}
.hero-meta div{display:flex;flex-direction:column;gap:.15rem}
.hero-meta b{font-family:var(--font-display);font-size:var(--text-xl);color:var(--white);
  font-weight:800;line-height:1}
.hero-meta span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--smoke);
  letter-spacing:.14em;text-transform:uppercase}

.scroll-cue{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--smoke)}
.scroll-cue i{display:block;width:1px;height:42px;background:linear-gradient(var(--red),transparent);
  animation:cue 1.9s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.35);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* ============================================================ *
   Sound Lab
 * ============================================================ */
#lab{background:
  radial-gradient(90% 60% at 50% 0%,rgba(224,31,38,.09),transparent 60%),
  linear-gradient(180deg,#0a0b0c,#101315 45%,#0a0b0c);
  border-block:1px solid var(--line)}
.lab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.2rem,3vw,2.6rem);
  margin-top:var(--s4);align-items:start}

.rig{position:relative;border:1px solid var(--line);background:
  linear-gradient(180deg,var(--panel-2),var(--panel));
  padding:clamp(1.1rem,3vw,2rem);overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.rig::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 4px)}
.rig-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);
  margin-bottom:var(--s2);position:relative}
.rig-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.26em;
  color:var(--smoke);text-transform:uppercase}
.led{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);
  font-size:10px;letter-spacing:.2em;color:var(--smoke);text-transform:uppercase}
.led i{width:7px;height:7px;border-radius:50%;background:#2b3236;transition:.3s}
.led.live i{background:var(--red-hot);box-shadow:0 0 10px var(--red-hot);
  animation:pulse 1.1s infinite}
@keyframes pulse{50%{opacity:.35}}

/* gauge */
.gauge-wrap{position:relative;display:grid;place-items:center}
#gaugeSvg{width:100%;max-width:430px;height:auto;overflow:visible}
#rpmVal{font-family:var(--font-mono);font-weight:700;font-size:38px;fill:var(--white);
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;transition:fill .12s}
#rpmVal.lim{fill:var(--red-hot)}
#rpmUnit{font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;fill:var(--smoke)}
#gearBox{transition:opacity .3s var(--ease)}
#gearLbl,#mphLbl{font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;fill:var(--smoke)}
#gearVal,#mphVal{font-family:var(--font-mono);font-weight:700;font-size:26px;fill:var(--white)}
#gearVal.shift{fill:var(--red-hot)}
#limWarn{position:absolute;top:8%;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;color:var(--red-hot);
  opacity:0;transition:.15s;text-transform:uppercase}
#limWarn.on{opacity:1}

#wave{width:100%;height:82px;display:block;margin-top:var(--s2);
  border:1px solid var(--line);background:#08090a}

.pedal{position:relative;width:100%;margin-top:var(--s2);padding:1.5rem 1rem;
  border:1px solid var(--line-2);background:linear-gradient(180deg,#191d20,#101315);
  font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);
  text-transform:uppercase;letter-spacing:.02em;color:var(--white);
  display:flex;align-items:center;justify-content:center;gap:.7rem;
  touch-action:none;user-select:none;-webkit-user-select:none;
  transition:transform .12s var(--ease),box-shadow .2s,border-color .2s;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
.pedal:disabled{opacity:.35;cursor:not-allowed}
.pedal.down{transform:scale(.985) translateY(2px);border-color:var(--red);
  background:linear-gradient(180deg,#2a1113,#170b0c);
  box-shadow:inset 0 0 40px rgba(224,31,38,.4),0 0 30px rgba(224,31,38,.25)}
.pedal-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--smoke);
  text-align:center;margin-top:.7rem;letter-spacing:.1em}

.lab-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--s2)}
.mini{padding:.6rem 1rem;border:1px solid var(--line-2);font-size:var(--text-xs);
  font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ash);transition:.25s}
.mini:hover{border-color:var(--red);color:var(--white)}
.mini.on{background:var(--red);border-color:var(--red);color:#fff}

/* controls */
.ctl{margin-bottom:var(--s3)}
.ctl-lab{display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;color:var(--smoke);
  text-transform:uppercase;margin-bottom:.6rem}
.ctl-lab b{color:var(--white);font-weight:500;letter-spacing:.08em;font-size:var(--text-xs)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{padding:.5rem .8rem;border:1px solid var(--line);background:var(--panel);
  font-size:var(--text-xs);font-weight:500;color:var(--ash);transition:.22s var(--ease);
  line-height:1.25;text-align:left}
.chip small{display:block;font-family:var(--font-mono);font-size:9px;color:var(--smoke);
  letter-spacing:.08em;margin-top:2px;text-transform:uppercase}
.chip:hover{border-color:var(--line-2);color:var(--white);transform:translateY(-1px)}
.chip.on{background:var(--red);border-color:var(--red);color:#fff}
.chip.on small{color:rgba(255,255,255,.78)}

.spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:var(--s2);
  background:var(--line);border:1px solid var(--line)}
.spec>div{background:var(--panel);padding:.7rem .85rem;display:flex;
  flex-direction:column;gap:.3rem;min-width:0}
.spec span{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--smoke)}
.spec b{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;
  color:var(--white);letter-spacing:.01em;overflow-wrap:anywhere}

.aggro{display:flex;align-items:center;gap:.7rem;padding-top:var(--s2);
  border-top:1px solid var(--line);margin-top:var(--s2)}
.aggro-dots{display:flex;gap:5px}
.aggro-dots i{width:26px;height:5px;background:var(--line-2);transition:.35s var(--ease);
  transform-origin:left}
.aggro-dots i.on{background:var(--red);box-shadow:0 0 12px rgba(224,31,38,.7)}
.aggro-lab{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;
  color:var(--white);text-transform:uppercase;margin-left:auto}

.lab-note{margin-top:var(--s3);padding:var(--s2);border-left:2px solid var(--red);
  background:rgba(224,31,38,.05);font-size:var(--text-sm);color:var(--smoke)}

/* ============================================================ *
   Stats
 * ============================================================ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.stat{padding:clamp(1.4rem,4vw,2.4rem) var(--s2);text-align:center;
  border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:var(--font-display);font-weight:800;
  font-size:clamp(2rem,5.5vw,3.4rem);color:var(--white);line-height:1;letter-spacing:-.04em}
.stat b .r{color:var(--red)}
.stat span{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;
  color:var(--smoke);text-transform:uppercase;margin-top:.55rem}

/* ============================================================ *
   About + Services
 * ============================================================ */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);align-items:center}
.about-p{font-size:var(--text-lg);color:var(--ash);margin-top:var(--s3)}
.about-p b{color:var(--white)}
.pillars{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:var(--s4)}
.pillar{background:var(--pit);padding:var(--s3);transition:background .3s}
.pillar:hover{background:var(--panel)}
.pillar h4{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;
  letter-spacing:0;margin-bottom:.3rem}
.pillar p{font-size:var(--text-sm);color:var(--smoke)}
.pillar i{display:block;width:22px;height:2px;background:var(--red);margin-bottom:.9rem}

.about-img{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line)}
.about-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.1);
  transition:transform 1.1s var(--ease),filter .6s}
.about-img:hover img{transform:scale(1.05);filter:grayscale(0) contrast(1.05)}
.about-img::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(8,9,10,.75))}
.about-tag{position:absolute;left:0;bottom:0;z-index:2;padding:var(--s2) var(--s3);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;
  color:var(--white);text-transform:uppercase}

.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:var(--s4)}
.svc-card{background:var(--pit);padding:clamp(1.3rem,3vw,2rem);position:relative;
  overflow:hidden;transition:background .35s}
.svc-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--red);transform:scaleY(0);transform-origin:bottom;
  transition:transform .45s var(--ease)}
.svc-card:hover{background:var(--panel)}
.svc-card:hover::before{transform:scaleY(1)}
.svc-ico{width:34px;height:34px;color:var(--red);margin-bottom:var(--s2)}
.svc-card h3{font-size:var(--text-lg);font-family:var(--font-body);font-weight:700;
  letter-spacing:0;margin-bottom:.45rem}
.svc-card p{font-size:var(--text-sm);color:var(--smoke)}
.tag{display:inline-block;margin-top:var(--s2);padding:.25rem .6rem;border:1px solid var(--line-2);
  font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;color:var(--smoke);
  text-transform:uppercase}
.tag.fw{border-color:var(--red-deep);color:var(--red-hot)}

/* ============================================================ *
   Brands marquee
 * ============================================================ */
.marq{overflow:hidden;position:relative;padding-block:var(--s3);
  border-block:1px solid var(--line);margin-top:var(--s4)}
.marq::before,.marq::after{content:'';position:absolute;top:0;bottom:0;width:14%;z-index:2;
  pointer-events:none}
.marq::before{left:0;background:linear-gradient(90deg,var(--black),transparent)}
.marq::after{right:0;background:linear-gradient(270deg,var(--black),transparent)}
.marq-track{--mgap:clamp(2rem,6vw,5rem);display:flex;gap:var(--mgap);width:max-content;
  padding-right:var(--mgap);animation:slide 42s linear infinite}
.marq:hover .marq-track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(calc(-50% - var(--mgap) / 2))}}
.marq-track img{height:clamp(26px,4vw,40px);width:auto;object-fit:contain;
  filter:grayscale(1) brightness(2.4) opacity(.5);transition:.35s}
.marq-track img:hover{filter:none;transform:scale(1.08)}

/* ============================================================ *
   Specials
 * ============================================================ */
#specials{background:linear-gradient(180deg,var(--black),#0e0708 55%,var(--black))}
.deal-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-top:var(--s3)}
.countdown{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;
  border:1px solid var(--red-deep);background:rgba(224,31,38,.08);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.14em;
  color:var(--red-hot);text-transform:uppercase}
.countdown b{font-size:var(--text-sm);color:#fff;white-space:nowrap}
.deals{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s4)}
.deal{position:relative;border:1px solid var(--line-2);padding:clamp(1.4rem,3.5vw,2.2rem);
  background:linear-gradient(155deg,var(--panel-2),var(--pit));overflow:hidden;
  transition:transform .4s var(--ease),border-color .4s;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}
.deal:hover{transform:translateY(-5px);border-color:var(--red)}
.deal-badge{display:inline-block;padding:.28rem .7rem;background:var(--red);color:#fff;
  font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:var(--s2)}
.deal h3{font-size:clamp(1.5rem,3.4vw,2.1rem);text-transform:uppercase;letter-spacing:-.03em}
.deal .sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--smoke);
  letter-spacing:.1em;margin-top:.4rem;text-transform:uppercase}
.price{display:flex;align-items:baseline;gap:.5rem;margin-block:var(--s3) var(--s2)}
.price em{font-style:normal;font-family:var(--font-mono);font-size:var(--text-xs);
  color:var(--smoke);letter-spacing:.16em;text-transform:uppercase}
.price b{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,6vw,3.6rem);
  color:var(--white);line-height:1;letter-spacing:-.04em}
.price b s{text-decoration:none;color:var(--red)}
.deal p{font-size:var(--text-sm);color:var(--smoke)}
.disc{margin-top:var(--s3);font-size:var(--text-xs);color:#5f676d;max-width:70ch}

/* ============================================================ *
   Gallery
 * ============================================================ */
.gal-filter{display:flex;gap:.4rem;overflow-x:auto;padding-block:.4rem;margin-top:var(--s3);
  scrollbar-width:none}
.gal-filter::-webkit-scrollbar{display:none}
.gal-filter button{flex:0 0 auto;padding:.45rem .85rem;border:1px solid var(--line);
  font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--smoke);transition:.25s;white-space:nowrap}
.gal-filter button:hover{color:var(--white);border-color:var(--line-2)}
.gal-filter button.on{background:var(--white);color:var(--black);border-color:var(--white)}
#galGrid{columns:4;column-gap:10px;margin-top:var(--s3)}
.gitem{break-inside:avoid;margin:0 0 10px;position:relative;overflow:hidden;
  background:var(--panel);cursor:zoom-in;display:block;width:100%;
  opacity:0;transform:translateY(24px) scale(.98);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.gitem.in{opacity:1;transform:none}
.gitem img{width:100%;height:auto;display:block;transition:transform .8s var(--ease),filter .5s;
  filter:grayscale(.2)}
.gitem:hover img{transform:scale(1.06);filter:none}
.gitem::after{content:attr(data-c);position:absolute;left:0;bottom:0;right:0;
  padding:1.6rem .8rem .6rem;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;
  color:#fff;text-transform:uppercase;
  background:linear-gradient(transparent,rgba(8,9,10,.9));
  opacity:0;transform:translateY(8px);transition:.35s var(--ease)}
.gitem:hover::after{opacity:1;transform:none}
#galMore{display:block;margin:var(--s4) auto 0}

#lightbox{position:fixed;inset:0;z-index:1100;background:rgba(5,6,7,.96);
  backdrop-filter:blur(10px);display:grid;place-items:center;padding:var(--pad);
  opacity:0;pointer-events:none;transition:opacity .3s}
#lightbox.open{opacity:1;pointer-events:auto}
#lightbox img{max-width:100%;max-height:84vh;object-fit:contain;
  border:1px solid var(--line-2);transform:scale(.96);transition:transform .35s var(--ease)}
#lightbox.open img{transform:none}
.lb-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;
  border:1px solid var(--line-2);color:var(--white);font-size:20px;line-height:1}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;
  border:1px solid var(--line-2);color:#fff;background:rgba(8,9,10,.6);font-size:20px}
.lb-nav.prev{left:.6rem}.lb-nav.next{right:.6rem}
.lb-cap{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);
  font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;color:var(--smoke);
  text-transform:uppercase}

/* ============================================================ *
   Locations
 * ============================================================ */
.locs{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s4)}
.loc{border:1px solid var(--line);background:var(--pit);padding:clamp(1.4rem,3.5vw,2.2rem);
  position:relative;overflow:hidden;transition:border-color .4s,transform .4s var(--ease)}
.loc:hover{border-color:var(--line-2);transform:translateY(-4px)}
.loc::after{content:'';position:absolute;right:-40px;top:-40px;width:150px;height:150px;
  border:1px solid var(--line);border-radius:50%;opacity:.5;transition:.6s var(--ease)}
.loc:hover::after{transform:scale(1.15);border-color:var(--red-deep)}
.loc-kick{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--red-hot);
  text-transform:uppercase}
.loc h3{font-size:clamp(1.6rem,3.6vw,2.2rem);text-transform:uppercase;margin-top:.5rem;
  letter-spacing:-.03em}
.loc address{font-style:normal;color:var(--ash);margin-top:.8rem;font-size:var(--text-base)}
.loc .hrs{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--smoke);
  margin-top:var(--s2);letter-spacing:.08em}
.loc-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--s3)}
.loc-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:var(--s2)}

/* ============================================================ *
   Reviews
 * ============================================================ */
.rev-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3);
  justify-content:space-between}
.big-score{display:flex;align-items:center;gap:var(--s2)}
.big-score b{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,8vw,4.6rem);
  color:var(--white);line-height:1;letter-spacing:-.05em}
.stars{color:var(--red);letter-spacing:.1em;font-size:var(--text-lg)}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-top:var(--s4)}
.rev{border:1px solid var(--line);background:var(--pit);padding:var(--s3);position:relative;
  transition:.4s var(--ease)}
.rev:hover{border-color:var(--line-2);background:var(--panel)}
.rev p{font-size:var(--text-base);color:var(--ash);margin-block:.8rem var(--s3)}
.rev-who{display:flex;align-items:center;gap:.7rem;padding-top:var(--s2);
  border-top:1px solid var(--line)}
.av{width:38px;height:38px;display:grid;place-items:center;background:var(--red);
  color:#fff;font-family:var(--font-display);font-weight:800;font-size:var(--text-base);
  border-radius:50%;flex:0 0 38px}
.rev-who b{display:block;color:var(--white);font-size:var(--text-sm);font-weight:700}
.rev-who span{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;
  color:var(--smoke);text-transform:uppercase}

/* ============================================================ *
   CTA + footer
 * ============================================================ */
#cta{position:relative;overflow:hidden;text-align:center;
  background:linear-gradient(180deg,var(--black),#150808 60%,var(--black))}
#ctaCv{position:absolute;inset:0;width:100%;height:100%;opacity:.6}
#cta .wrap{position:relative;z-index:2}
#cta h2{font-size:var(--text-3xl);text-transform:uppercase;letter-spacing:-.04em}
.cta-btns{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:var(--s4)}

footer{border-top:1px solid var(--line);padding-block:var(--s5) var(--s3);
  background:#060708}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s4)}
.foot-logo{width:210px;margin-bottom:var(--s2)}
footer h5{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--red-hot);
  text-transform:uppercase;margin:0 0 var(--s2)}
footer p,footer address{font-size:var(--text-sm);color:var(--smoke);font-style:normal}
footer a:hover{color:var(--white)}
.foot-bot{display:flex;flex-wrap:wrap;gap:var(--s2);justify-content:space-between;
  margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);
  font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#5f676d;
  text-transform:uppercase}

/* ============================================================ *
   Responsive
 * ============================================================ */
@media (max-width:1080px){
  #galGrid{columns:3}
  .svc,.revs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .nav-links,.nav-call.desk{display:none}
  #burger{display:block}
  .lab-grid,.two,.deals,.locs{grid-template-columns:1fr}
  .about-img{aspect-ratio:16/10}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  #galGrid{columns:2}
  .gal-filter{flex-wrap:wrap;overflow-x:visible}
  .svc,.revs,.foot-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
  .hero-meta{gap:var(--s3) var(--s4)}
  .btn{padding:.9rem 1.4rem}
  #cta .cta-btns .btn{width:100%;justify-content:center}
}

/* ============================================================ *
   Additions — service numerals, nav active, lab tweaks
 * ============================================================ */
.svc-n{position:absolute;top:1rem;right:1.1rem;font-family:var(--font-mono);font-size:10px;
  letter-spacing:.18em;color:#3b4348;transition:color .35s}
.svc-card:hover .svc-n{color:var(--red)}

.nav-links a.here{color:var(--white)}
.nav-links a.here::after{right:0}

.gauge-wrap{margin-top:var(--s2)}
.lab-note{line-height:1.55}
.aggro-dots i.on{animation:aggroPop .45s var(--ease)}
@keyframes aggroPop{from{transform:scaleX(.3)}to{transform:scaleX(1)}}

/* pedal focus affordance */
.pedal:focus-visible{border-color:var(--red-hot)}

/* countdown pulse */
.countdown b{animation:cdPulse 2.4s ease-in-out infinite}
@keyframes cdPulse{50%{opacity:.55}}

/* logo shine on hover */
.nav-logo{position:relative;display:block}
.nav-logo img{transition:height .4s var(--ease),filter .4s}
.nav-logo:hover img{filter:drop-shadow(0 0 14px rgba(224,31,38,.6))}

/* drawer link stagger */
#drawer.open > a:nth-child(1){transition-delay:.05s}
#drawer.open > a:nth-child(2){transition-delay:.1s}
#drawer.open > a:nth-child(3){transition-delay:.15s}
#drawer.open > a:nth-child(4){transition-delay:.2s}
#drawer.open > a:nth-child(5){transition-delay:.25s}
#drawer.open > a:nth-child(6){transition-delay:.3s}

/* stats hover */
.stat{transition:background .35s}
.stat:hover{background:var(--pit)}

/* review stars glow */
.rev:hover .stars{text-shadow:0 0 14px rgba(224,31,38,.55)}

@media (max-width:900px){
  .rig{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
  .hero-h{line-height:.9}
  #rpmVal{font-size:34px}
  .scroll-cue{display:none}
}
@media (max-width:420px){
  .lab-btns .mini{flex:1 1 46%;text-align:center}
  .hero-meta div{min-width:42%}
}

/* ====================================================================
   Shop uploader — hidden. Type the code on any page to bring it up.
   ==================================================================== */
#shopWrap{position:fixed;inset:0;z-index:400;display:none;background:rgba(4,5,6,.88);
  backdrop-filter:blur(14px);overflow-y:auto;padding:clamp(1rem,4vw,3rem);
  padding-top:max(clamp(1rem,4vw,3rem),5.75rem)}
#shopWrap.open{display:block}
.shop-panel{max-width:460px;transition:max-width .35s var(--ease);margin:0 auto;background:var(--panel);border:1px solid var(--line);
  clip-path:polygon(0 14px,14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);
  padding:clamp(1.25rem,3vw,2.25rem)}
.shop-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}
.shop-head h3{font-family:var(--font-display);font-weight:800;font-size:clamp(1.15rem,4vw,1.5rem);
  text-transform:uppercase;letter-spacing:-.01em;margin:0}
.shop-head .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;
  color:var(--red);text-transform:uppercase;display:block;margin-bottom:.35rem}
.shop-x{background:none;border:1px solid var(--line-2);color:var(--ash);width:38px;height:38px;
  font-size:18px;cursor:pointer;transition:.18s var(--ease);flex:none}
.shop-x:hover{border-color:var(--red);color:var(--white)}
.shop-panel.wide{max-width:1080px}
.shop-gate{max-width:320px;margin:1.5rem auto .5rem;text-align:center}
.shop-btn{display:block;width:100%;box-sizing:border-box;margin-top:1rem;background:var(--red);
  border:1px solid var(--red);color:#fff;font-family:var(--font-display);font-weight:700;
  font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;padding:.9rem 1rem;cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));
  transition:background .2s,color .2s}
.shop-btn:hover{background:#fff;color:var(--black);border-color:#fff}
.shop-gate p{color:var(--smoke);font-size:.9rem;margin:0 0 1rem}
.shop-in{width:100%;background:var(--pit);border:1px solid var(--line-2);color:var(--white);
  font-family:var(--font-mono);font-size:1rem;padding:.85rem 1rem;text-align:center;
  letter-spacing:.18em;transition:.18s}
.shop-in:focus{outline:none;border-color:var(--red)}
.shop-err{color:var(--red-hot);font-family:var(--font-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;min-height:1.2em;margin-top:.75rem}
.shop-body{display:none}
.shop-body.on{display:block}
.drop{border:1.5px dashed var(--line-2);padding:clamp(1.5rem,5vw,3rem);text-align:center;
  cursor:pointer;transition:.2s var(--ease);background:var(--pit)}
.drop:hover,.drop.over{border-color:var(--red);background:#141719}
.drop b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.15rem;
  text-transform:uppercase;margin-bottom:.4rem}
.drop span{color:var(--smoke);font-size:.85rem}
.shop-stat{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--smoke);
  text-transform:uppercase;margin:1.25rem 0 .5rem;min-height:1.2em}
.shop-stat.busy{color:var(--ember)}
.shop-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));margin-top:1rem}
.pcard{background:var(--pit);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.pcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#0a0b0c}
.pcard .meta{padding:.7rem .8rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.pcard .lab{font-family:var(--font-display);font-weight:700;font-size:.95rem;line-height:1.2}
.pcard .lab.none{color:var(--smoke);font-style:italic;font-weight:500}
.pcard .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--smoke);
  text-transform:uppercase;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.conf{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none}
.conf.high,.conf.confirmed{background:#37c26a}
.conf.medium{background:var(--ember)}
.conf.low{background:var(--red-hot)}
.pcard .row{display:flex;gap:.35rem;margin-top:auto;padding-top:.45rem}
.pcard .row button{flex:1;background:none;border:1px solid var(--line-2);color:var(--ash);
  font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  padding:.45rem .15rem;cursor:pointer;transition:.16s;white-space:nowrap}
.pcard .row button:hover{border-color:var(--red);color:var(--white)}
.pcard .row button.del:hover{border-color:var(--red-hot);color:var(--red-hot)}
.pedit{display:grid;gap:.35rem;margin-top:.5rem}
.pedit[hidden]{display:none}
.pedit input,.pedit select{background:var(--panel-2);border:1px solid var(--line-2);
  color:var(--white);font-family:var(--font-mono);font-size:11px;padding:.4rem .5rem;width:100%}
.pedit input:focus,.pedit select:focus{outline:none;border-color:var(--red)}
@media(max-width:640px){
  .shop-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .pcard .row button{font-size:8px;letter-spacing:.04em}
  .pcard .meta{padding:.6rem .6rem}
  .pcard .lab{font-size:.85rem}
}
