:root{
  --black:#0a0a0a; --ink:#111; --panel:#151413; --line:#2a2723;
  --gold:#c9a04e; --gold-hi:#e2bf72; --tan:#c2b49a; --tan-dim:#9c917d;
  --white:#f6f3ee; --muted:#b7afa2;
  --display:"Unbounded",system-ui,sans-serif;
  --logo:"Audiowide","Unbounded",system-ui,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--white);font:400 16px/1.65 var(--sans);
  padding-bottom:calc(76px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:var(--gold)}
h1,h2,h3{margin:0}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  min-height:52px;padding:0 26px;border-radius:999px;font:700 15px/1 var(--sans);
  letter-spacing:.02em;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s,color .2s;white-space:nowrap}
.btn svg{width:19px;height:19px}
.btn--gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#140f05;
  box-shadow:0 8px 24px -10px rgba(201,160,78,.8)}
.btn--gold:hover{transform:translateY(-1px);box-shadow:0 12px 30px -10px rgba(201,160,78,.95)}
.btn--outline{border:1.5px solid var(--tan);color:var(--tan)}
.btn--outline:hover{background:var(--tan);color:var(--black)}
.btn--sm{min-height:40px;padding:0 18px;font-size:13.5px}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}

/* Nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(194,180,154,.12)}
.nav__inner{display:flex;align-items:center;gap:24px;height:62px}
.nav__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);
  font:400 14px/1 var(--logo);letter-spacing:.06em;text-transform:uppercase}
.nav__brand img{width:60px;height:auto}
.nav__cta{margin-left:auto}

/* Hero */
.hero{position:relative;overflow:hidden;padding:44px 0 70px;text-align:center;
  background:radial-gradient(120% 70% at 50% 0%,#1b1814 0%,var(--black) 60%)}
.hero__glow{position:absolute;inset:-20% -10% auto;height:70%;
  background:radial-gradient(40% 50% at 50% 50%,rgba(201,160,78,.16),transparent 70%);pointer-events:none}
.hero__inner{position:relative;z-index:2}
.emblem{display:flex;flex-direction:column;align-items:center;margin:0 auto;max-width:680px;color:var(--tan)}
.emblem__chev{width:62%;height:auto;display:block}
.emblem__chev--top{margin-bottom:2px;width:54%}
.emblem__chev--bottom{margin-top:6px;width:54%}
.emblem__car{width:96%;max-width:640px;height:auto;position:relative;z-index:1;margin:2px 0 -2px;
  filter:drop-shadow(0 4px 22px rgba(201,160,78,.38));animation:drive 1.1s cubic-bezier(.2,.8,.2,1) both}
.emblem__bar{display:block;width:84%;height:4px;background:var(--tan);margin:10px 0 14px;border-radius:2px}
.emblem__bar--short{width:62%;margin:12px 0 0}
.emblem__name{font:400 clamp(19px,5.5vw,42px)/1.05 var(--logo);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;color:var(--white)}
.emblem__tag{margin:10px 0 0;font:600 clamp(11px,3.1vw,15px)/1 var(--sans);letter-spacing:.42em;
  text-transform:uppercase;color:var(--tan);padding-left:.42em}
@keyframes drive{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.hero__lead{max-width:520px;margin:30px auto 24px;font-size:18px;color:var(--muted)}
.hero__lead strong{color:var(--white);font-weight:600}
.hero__ctas{display:flex;flex-direction:column;gap:12px;max-width:340px;margin:0 auto}
.hero__ctas--center{margin-top:40px}
.hero__phone{margin:22px 0 0;font:600 15px/1 var(--sans);color:var(--tan);letter-spacing:.04em}
.hero__phone a{color:var(--white);text-decoration:none}
.hero__stripes{position:absolute;left:0;right:0;bottom:0;height:22px;z-index:1}
.hero__stripes span{position:absolute;left:-5%;right:-5%;transform:skewX(-35deg)}
.hero__stripes span:first-child{bottom:10px;height:8px;background:var(--gold);right:30%}
.hero__stripes span:last-child{bottom:0;height:6px;background:var(--tan);left:25%}

/* Sections */
.section{padding:72px 0}
.section--alt{background:linear-gradient(180deg,#121110,#0d0c0b)}
.eyebrow{margin:0 0 10px;font:700 12px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";display:inline-block;width:26px;height:2px;background:var(--gold);vertical-align:middle;margin-right:10px;transform:translateY(-2px)}
.h2{font:700 clamp(28px,7vw,44px)/1.1 var(--display);letter-spacing:-.01em;text-transform:uppercase}
.section__intro{max-width:620px;color:var(--muted);margin:16px 0 0;font-size:17px}

/* Services blurb */
.section--tight{padding:48px 0}
.blurb{border:1px solid rgba(201,160,78,.35);background:rgba(201,160,78,.06);border-radius:var(--r);padding:24px 22px;position:relative;overflow:hidden}
.blurb::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--tan))}
.blurb__h{font:700 clamp(20px,5.2vw,28px)/1.15 var(--display);text-transform:uppercase}
.blurb__cols{display:grid;gap:10px;margin-top:14px}
.blurb__cols p{margin:0;color:var(--muted)}
.blurb__cols strong{display:block;color:var(--gold);font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:2px}

/* Whatever the mess */
.mess{display:grid;gap:14px;margin-top:28px}
.mess__card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 20px 74px;min-height:92px}
.mess__icon{position:absolute;left:20px;top:20px;width:38px;height:38px;padding:8px;border-radius:10px;
  background:rgba(201,160,78,.12);border:1px solid rgba(201,160,78,.35);fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mess__card h3{font:600 17px/1.3 var(--sans);color:var(--white)}
.mess__card p{margin:6px 0 0;color:var(--muted);font-size:15.5px;line-height:1.55}
.mess__cta{margin-top:28px;text-align:center}
.mess__cta p{margin:0 0 16px;color:var(--tan);font-size:16.5px}
@media (min-width:640px){.mess{grid-template-columns:1fr 1fr;gap:18px}}
@media (min-width:1000px){
  .mess{grid-template-columns:repeat(4,1fr)}
  .mess__card{padding:24px 22px;min-height:0}
  .mess__icon{position:static;width:44px;height:44px;margin-bottom:16px}
}

/* Before & after pairs */
.pairs{display:grid;gap:30px;margin-top:28px}
.pair{margin:0}
.pair__photos{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pair__shot{position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#1a1816;border:1px solid var(--line)}
.pair__shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.badge{position:absolute;left:8px;top:8px;font:800 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  padding:8px 11px;border-radius:7px;box-shadow:0 4px 14px rgba(0,0,0,.55)}
.badge--before{background:#0a0a0a;color:#fff;border:1.5px solid #fff}
.badge--after{background:var(--gold);color:#140f05;border:1.5px solid var(--gold-hi)}
.pair figcaption{margin-top:10px;font-weight:600;color:var(--tan);font-size:15px;text-align:center}

/* Reviews band (inside gallery) */
.reviews{grid-column:1/-1;padding:22px 0;border-top:1px solid rgba(201,160,78,.25);border-bottom:1px solid rgba(201,160,78,.25)}
.reviews__track{display:grid;gap:14px}
.review{margin:0;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r);padding:18px 20px}
.review__stars{display:flex;gap:3px}
.review__stars svg{width:18px;height:18px;fill:var(--gold)}
.review__stars svg.off{fill:#3a352d}
.review blockquote{margin:10px 0 0;font:500 17px/1.5 var(--sans);color:var(--white);overflow-wrap:anywhere}
.review figcaption{margin-top:10px;font:700 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tan)}
.review figcaption::before{content:"—";letter-spacing:0;margin-right:.45em}
.reviews__more{margin:16px 0 0;text-align:center;font-size:15px}
.reviews__more a,.footer__review{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (min-width:640px){.reviews__track{grid-template-columns:1fr 1fr;gap:18px}}
/* rotating mode (added by reviews.js) */
.reviews--rotating .reviews__track{grid-template-columns:1fr;max-width:720px;margin:0 auto}
.reviews--rotating .review{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}
.reviews--rotating .review.is-active{opacity:1;visibility:visible;transition:opacity .6s ease}
.reviews__nav{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px}
.reviews__arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--gold);font:700 16px/1 var(--sans);cursor:pointer;display:grid;place-items:center}
.reviews__arrow:hover{border-color:var(--gold)}
.reviews__dots{display:flex;gap:4px}
.reviews__dot{width:24px;height:24px;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center}
.reviews__dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#4a443a;transition:background .2s,transform .2s}
.reviews__dot[aria-current="true"]::before{background:var(--gold);transform:scale(1.25)}
.reviews__arrow:focus-visible,.reviews__dot:focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.reviews--rotating .review,.reviews--rotating .review.is-active{transition:none}}

/* Leave a review form */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rform{margin-top:26px;max-width:620px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);padding:22px 20px;display:grid;gap:18px}
.rform__field{margin:0;padding:0;border:0;min-width:0}
.rform label,.rform legend{display:block;margin:0 0 8px;padding:0;font:700 12.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--tan)}
.rform input[type=text],.rform textarea{width:100%;background:#0d0c0b;border:1px solid #3a352d;border-radius:10px;color:var(--white);font:400 16px/1.5 var(--sans);padding:12px 14px}
.rform textarea{resize:vertical;min-height:110px}
.rform input[type=text]:focus,.rform textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,160,78,.2)}
.rform ::placeholder{color:#6f685c}
.rform__count{margin:6px 0 0;text-align:right;font-size:13px;color:var(--tan-dim)}
.stars-input{display:inline-flex;flex-direction:row-reverse;gap:4px}
.stars-input input{position:absolute;opacity:0;width:1px;height:1px}
.stars-input label{margin:0;cursor:pointer;padding:2px}
.stars-input svg{width:36px;height:36px;fill:#3a352d;transition:fill .15s,transform .15s}
.stars-input input:checked ~ label svg,.stars-input label:hover svg,.stars-input label:hover ~ label svg{fill:var(--gold)}
.stars-input input:focus-visible + label{outline:2px solid var(--gold-hi);outline-offset:2px;border-radius:6px}
.rform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rform__submit{justify-self:start;border:0;cursor:pointer}
.rform__submit[disabled]{opacity:.6;cursor:wait}
.rform__status{margin:0;font-size:15.5px;min-height:1px}
.rform__status.ok{color:var(--gold-hi);font-weight:600}
.rform__status.err{color:#e79a8a}
.rform--done .rform__field,.rform--done .rform__submit{display:none}
.rform--done .rform__status{font-size:17px;text-align:center;padding:10px 0}
.rform{position:relative}

/* One-line about/booking */
.book{text-align:center}
.book p{margin:0 auto;max-width:620px;font-size:17px;color:var(--white)}
.book__ctas{display:flex;flex-direction:column;gap:12px;max-width:340px;margin:22px auto 0}

/* Footer */
.footer{position:relative;background:#070707;padding:44px 0 24px;border-top:1px solid var(--line);text-align:center}
.footer__stripe{position:absolute;top:-1px;left:0;width:55%;height:4px;background:linear-gradient(90deg,var(--gold),var(--tan))}
.footer__inner img{width:160px;height:auto;margin:0 auto}
.footer__name{margin:12px 0 0;font:400 20px/1.1 var(--logo);text-transform:uppercase;letter-spacing:.04em}
.footer__tag{margin:8px 0 16px;color:var(--tan);font-size:12px;font-weight:600;letter-spacing:.38em;text-transform:uppercase}
.footer__line{margin:0 0 6px;color:var(--muted)}
.footer__phone{font:700 20px/1.3 var(--display);color:var(--white)!important;text-decoration:none}
.footer__copy{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:#7d766b;text-align:center}

/* Sticky mobile CTA */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1.25fr 1fr;gap:10px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(10,10,10,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(201,160,78,.3)}
.mobile-cta__btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:12px;
  font:700 15px/1 var(--sans);text-decoration:none;color:var(--tan);border:1.5px solid var(--tan)}
.mobile-cta__btn svg{width:18px;height:18px}
.mobile-cta__btn--gold{background:linear-gradient(180deg,var(--gold-hi),var(--gold));color:#140f05;border-color:transparent}

@media (min-width:640px){
  .hero__ctas,.book__ctas{flex-direction:row;max-width:none;justify-content:center}
  .blurb{padding:28px 30px}
  .blurb__cols{grid-template-columns:1fr 1fr;gap:28px}
  .pair__photos{gap:10px}
  .badge{font-size:15px;padding:9px 13px;left:12px;top:12px}
}
@media (min-width:860px){
  body{padding-bottom:0}
  .mobile-cta{display:none}
  .nav__cta{display:flex;margin-left:auto}
  .hero{padding:64px 0 96px}
  .nav__brand img{width:76px}
  .section{padding:80px 0}
  .section--tight{padding:56px 0}
  .pairs{grid-template-columns:1fr 1fr;gap:40px 32px;margin-top:36px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
