:root{
  --canvas:#ffffff;--surface:#f3f4f6;--surface-2:#e9ebef;--ink:#0d0f14;--muted:#4a505c;
  --line:rgba(13,15,20,.12);--accent:#b3122e;--accent-ink:#ffffff;
  --serif:"Newsreader",ui-serif,Georgia,serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --gutter:clamp(16px,4.2vw,60px);--gap:16px;--section:clamp(72px,9vw,128px);--r:18px;--max:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 17px/1.6 var(--sans);letter-spacing:-.005em;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

/* nav on a solid surface */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.nav-in{display:flex;align-items:center;gap:28px;height:72px;max-width:none;padding:0 var(--gutter)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 27px/1 var(--serif);letter-spacing:-.01em;white-space:nowrap}
.brand-mark{width:26px;height:26px;border-radius:50%;background:conic-gradient(from 200deg,var(--accent),#ff4d6a,var(--accent));box-shadow:inset 0 0 0 5px #fff,0 0 0 1px var(--line)}
.nav-links{display:flex;gap:26px;margin-left:auto;list-style:none;padding:0}
.nav-links a{text-decoration:none;font-size:15px;color:var(--muted);font-weight:500}
.nav-links a:hover{color:var(--ink)}
.nav-call{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;padding:11px 18px;border-radius:999px;background:var(--ink);color:#fff;white-space:nowrap}
.nav-call svg{width:16px;height:16px}
@media (max-width:980px){.nav-links{display:none}.nav-call{margin-left:auto}.nav-in{height:64px}.brand{font-size:24px}}
@media (max-width:400px){.nav-call span{display:none}.nav-call{padding:11px 13px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 16px/1 var(--sans);text-decoration:none;border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.btn-loud{position:relative;color:#fff;background:linear-gradient(180deg,#c8173a,#9e0f28);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 18px 36px -16px rgba(179,18,46,.75)}
.btn-loud::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,0) 35%,rgba(0,0,0,.25) 60%,rgba(255,255,255,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.btn-loud:hover{transform:translateY(-2px)}
.btn-quiet{color:var(--ink);padding:0 6px;min-height:52px;border-radius:0;font-weight:500;background:linear-gradient(currentColor,currentColor) 6px calc(50% + 15px)/calc(100% - 12px) 1.5px no-repeat}
.btn-quiet:hover{background-image:linear-gradient(var(--accent),var(--accent))}
.btn-dark{background:var(--ink);color:#fff}

/* hero, a rounded frame filled edge to edge with our own job photos */
.hero{padding:10px clamp(8px,1vw,14px) 0;background:var(--canvas)}
.frame{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;min-height:min(calc(100svh - 92px),880px);background:#0d0f14;color:#fff;display:flex;align-items:flex-end}
.slides{position:absolute;top:0;bottom:0;right:0;left:26%;z-index:0}
.frame{background:radial-gradient(80% 110% at 0% 100%,#5a1024 0%,#2a0a14 45%,#12080c 100%)}
.slides img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform-origin:65% 55%}
.slides img:first-child{opacity:1}
.frame.live .slides img{animation:slide 21s infinite;opacity:0;animation-delay:-1.05s}
.frame.live .slides img:nth-child(2){animation-delay:5.95s}
.frame.live .slides img:nth-child(3){animation-delay:12.95s}
@keyframes slide{0%{opacity:0;transform:scale(1.07)}5%{opacity:1}33%{opacity:1}39%{opacity:0;transform:scale(1)}100%{opacity:0}}
.s-a{object-position:50% 62%}.s-b{object-position:60% 55%}.s-c{object-position:50% 55%}
.frame::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(26,5,12,.86) 0%,rgba(34,6,15,.74) 22%,rgba(40,7,18,.5) 36%,rgba(40,7,18,.22) 48%,rgba(40,7,18,.06) 58%,rgba(9,10,14,0) 66%),linear-gradient(0deg,rgba(9,10,14,.45) 0%,rgba(9,10,14,0) 26%)}
.frame::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.06;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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-copy{position:relative;z-index:3;width:100%;margin:0;padding:clamp(48px,6vw,96px) clamp(24px,4.4vw,64px) clamp(110px,9vw,140px)}
.hero-copy>*{max-width:620px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;font:600 14.5px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#eceef1}
.eyebrow::before{content:"";width:28px;height:1.5px;background:#ff5a74}
h1,.h1{margin:0 0 22px;font:400 clamp(44px,5.2vw,82px)/1 var(--serif);letter-spacing:-.03em}
h1 em{font-style:italic;color:#ff8a9c}
.frame h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero-offer{margin:0;max-width:40ch;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--muted)}
.hero-offer b{color:var(--ink);font-weight:600}
.frame .hero-offer{color:#e1e3e8}
.frame .hero-offer b{color:#fff}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.frame .actions{margin-top:32px}
.frame .btn-quiet{color:#fff}
.frame .btn-quiet:hover{background-image:linear-gradient(#ff8a9c,#ff8a9c)}
/* glass report card, names the car on screen */
.report{position:absolute;z-index:4;right:clamp(16px,2.4vw,36px);bottom:clamp(76px,7vw,96px);width:min(290px,26vw);padding:16px 18px 14px;border-radius:18px;color:#fff;background:rgba(16,18,24,.45);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 30px 60px -30px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.22)}
.report-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}
.report-k{font:600 14.5px/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#e6e8ec}
.report-n{font:600 14.5px/1 var(--sans);font-variant-numeric:tabular-nums;color:#ff8a9c}
.report-car{margin:0 0 4px;font:400 22px/1.15 var(--serif);letter-spacing:-.01em;transition:opacity .4s}
.doc-meta{margin:0 0 12px;font-size:15px;color:#d6d9df;transition:opacity .4s}
.report ol{display:none}
.report li{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.3;color:#f2f3f5}
.report li b{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#0d0f14;font-size:12px;transition:background .3s,transform .3s,color .3s}
.report li b::before{content:"\2713"}
.report.run li b{background:rgba(255,255,255,.22);color:rgba(255,255,255,.6)}
.report.run li.on b{background:var(--accent);color:#fff;transform:scale(1.08)}
.report-bar{height:4px;margin-top:14px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.report-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff5a74,#ff8a9c);transition:width .6s ease}

/* sections */
.section{padding:var(--section) 0}
.lift{position:relative;z-index:5;margin-top:-56px}
.card{background:#fff;border-radius:calc(var(--r) + 6px);box-shadow:0 40px 80px -48px rgba(13,15,20,.45),0 0 0 1px var(--line)}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.promise>div{padding:30px 30px 32px}
.promise>div+div{border-left:1px solid var(--line)}
.promise h2,.promise h3{margin:0 0 8px;font:400 28px/1.15 var(--serif)}
.promise p{margin:0;color:var(--muted)}
.kicker{margin:0 0 14px;font:600 14.5px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
h2{margin:0 0 18px;font:400 clamp(36px,4.4vw,62px)/1.02 var(--serif);letter-spacing:-.015em}
h2 em{font-style:italic}
h3{margin:0 0 8px;font:600 19px/1.3 var(--sans)}
.lede{max-width:56ch;font-size:clamp(17px,1.3vw,19px);color:var(--muted);margin:0 0 40px}
.two-tone{font:400 clamp(26px,2.9vw,40px)/1.25 var(--serif);color:#8a8f99;max-width:30ch;margin:0}
.two-tone b{font-weight:400;color:var(--ink)}

/* photo grid, wraps, never scrolls sideways */
.shots{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.shot{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--surface)}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.shot:hover img{transform:scale(1.03)}
.shot figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.92);font-size:14.5px;line-height:1.35;color:var(--ink)}
.s-a{grid-column:span 7;aspect-ratio:7/5}.s-b{grid-column:span 5;aspect-ratio:5/5}
.s-c{grid-column:span 4;aspect-ratio:4/5}.s-d{grid-column:span 4;aspect-ratio:4/5}.s-e{grid-column:span 4;aspect-ratio:4/5}
.note{margin:18px 0 0;font-size:15px;color:var(--muted)}
@media (max-width:820px){.shots{grid-template-columns:1fr 1fr}.s-a{grid-column:span 2;aspect-ratio:4/3}.s-b,.s-c,.s-d,.s-e{grid-column:span 1;aspect-ratio:3/4}.s-b{grid-column:span 2;aspect-ratio:4/3}.shot figcaption{left:8px;right:8px;bottom:8px;padding:8px 10px}}

/* checks */
.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.check{display:flex;flex-direction:column;border-radius:var(--r);background:#fff;box-shadow:0 0 0 1px var(--line);overflow:hidden}
.check img{aspect-ratio:4/3;object-fit:cover;width:100%}
.check div{padding:20px 22px 24px}
.check p{margin:0;color:var(--muted);font-size:16px}
@media (max-width:900px){.checks{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.checks{grid-template-columns:1fr}}

.band{background:var(--surface)}
.why{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,90px);align-items:start}
.why ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.why li{padding:20px 0;border-top:1px solid var(--line)}
.why li:last-child{border-bottom:1px solid var(--line)}
.why li p{margin:0;color:var(--muted)}
@media (max-width:900px){.why{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.step{padding:28px;border-radius:var(--r);background:#fff;box-shadow:0 0 0 1px var(--line);counter-increment:s}
.step::before{content:counter(s,decimal-leading-zero);display:block;margin-bottom:18px;font:400 44px/1 var(--serif);color:var(--accent)}
.step p{margin:0;color:var(--muted)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

.makes{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.makes li a,.makes li span{display:inline-block;padding:12px 18px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);text-decoration:none;font-size:16px;font-weight:500}
.makes li a{box-shadow:0 0 0 1.5px var(--ink)}
.makes li a:hover{background:var(--ink);color:#fff}

.faq{max-width:860px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:600 18px/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 28px/1 var(--serif);color:var(--accent);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--muted);max-width:70ch}

/* booking */
.book{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.book-side img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%;margin-top:28px}
form.lead{padding:clamp(22px,3vw,36px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:15px;font-weight:600}
.field input,.field select,.field textarea{font:400 16px/1.4 var(--sans);color:var(--ink);padding:14px 14px;border-radius:12px;border:1px solid rgba(13,15,20,.22);background:#fff;min-height:50px;width:100%}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--muted);margin:6px 0 12px}
.consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--accent)}
.form-note{font-size:14.5px;color:var(--muted);margin:12px 0 0}
.form-msg{display:none;margin:14px 0 0;padding:14px;border-radius:12px;font-size:15px}
.form-msg.err{display:block;background:#fdecef;color:#7d0a1f}
.hp{position:absolute;left:-5000px}

/* closing band */
.close{position:relative;overflow:hidden;border-radius:calc(var(--r) + 10px);color:#fff;background:#0d0f14}
.close img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.close-in{position:relative;padding:clamp(40px,7vw,96px) clamp(24px,5vw,72px)}
.close h2{color:#fff;max-width:16ch}
.close p{color:#e4e6ea;max-width:44ch;margin:0 0 28px}
.close .btn-quiet{color:#fff}

/* page head for inner pages */
.phead{position:relative;padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,72px);background:linear-gradient(180deg,#fbfbfc,var(--surface))}
.phead-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.phead img{border-radius:calc(var(--r) + 6px);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:0 40px 80px -40px rgba(13,15,20,.5)}
.phead h1{font-size:clamp(42px,5.6vw,84px)}
@media (max-width:860px){.phead-grid{grid-template-columns:1fr}.phead img{aspect-ratio:4/3}}
.prose{max-width:760px}
.prose h2{font-size:clamp(32px,3.6vw,48px);margin-top:56px}
.prose p,.prose li{color:#2c313b}
.prose li{margin-bottom:10px}
.split-img{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:36px 0}
.split-img img{border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;width:100%}

/* footer */
.foot{padding:64px 0 120px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.foot a{color:var(--ink)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot h2{font:400 26px/1.1 var(--serif);margin:0 0 12px;color:var(--ink)}
.foot h3{font:600 15px/1.3 var(--sans);margin:0 0 12px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase}
.foot-base{margin-top:40px;display:flex;flex-wrap:wrap;gap:8px 24px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}

/* phone foot bar */
.footbar{display:none}
@media (max-width:760px){
  .footbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line)}
  .footbar svg{width:18px;height:18px;flex:none}
  .footbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px}
  .footbar .fb-call{background:var(--ink);color:#fff}
  .footbar .fb-book{background:var(--accent);color:#fff}
}

/* phone hero */
@media (max-width:860px){
  .hero{padding:8px 8px 0}
  .frame{min-height:calc(100svh - 64px - 8px - 76px);border-radius:20px}
  .slides{left:0;bottom:auto;height:50%}
  .slides img{-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%)}
  .frame::before{background:none}
  .s-a{object-position:38% 72%}.s-b{object-position:40% 60%}.s-c{object-position:50% 50%}
  .hero-copy{padding:24px 20px 76px}
  .report{display:none}
  h1{font-size:clamp(40px,11vw,58px);margin-bottom:14px}
  .eyebrow{margin-bottom:12px}
  .frame .actions{margin-top:22px}
  .frame .btn-quiet{display:none}
  .lift{margin-top:-36px}
  .promise{grid-template-columns:1fr}.promise>div+div{border-left:0;border-top:1px solid var(--line)}
}
}

@media (prefers-reduced-motion:reduce){.frame.live .slides img{animation:none}.frame.live .slides img:first-child{opacity:1}}
.btn svg{width:18px;height:18px;flex:none}
.gmap{padding:var(--section) var(--gutter) 0}
.gmap .gmap-card{max-width:var(--max);margin:0 auto;border-radius:calc(var(--r) + 6px);overflow:hidden}
.gmap h2{font:400 clamp(32px,3.6vw,48px)/1.05 var(--serif)}
.gmap .section-eyebrow{font:600 14.5px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.gmap{--green-ink:var(--accent);--ink-muted:var(--muted);--ink-soft:var(--muted);--line-bright:rgba(13,15,20,.2);--line-soft:var(--line);--paper:#fff;--paper-2:var(--surface);--r-lg:24px;--sc-green-dim:rgba(179,18,46,.12);--sc-green-glow:rgba(179,18,46,.25)}
.gmap .gmap-btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.report .report-n{display:none}

.btn-xl{min-height:60px;padding:0 34px;font-size:17px}
.hero-copy h1 br{display:block}
@media (max-width:860px){.hero-copy h1 br{display:none}}
.frame .hero-offer{max-width:47ch}
.report{width:min(320px,27vw)}
