:root {
  --ink: #090d0f;
  --ink-soft: #11181b;
  --steel: #1b2427;
  --paper: #ecefeb;
  --paper-soft: #dfe4e1;
  --accent: #48c8c2;
  --accent-dark: #1f7776;
  --muted-dark: #829093;
  --muted-light: #536164;
  --line-dark: rgba(236,239,235,.16);
  --line-light: rgba(9,13,15,.17);
  --display: "Barlow Condensed", sans-serif;
  --body: "Barlow", sans-serif;
  --gutter: clamp(1.25rem, 4.5vw, 5.5rem);
  --section: clamp(5.5rem, 10vw, 10rem);
  --ease: cubic-bezier(.16,1,.3,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; overflow-x: hidden; background: var(--ink); color: var(--paper); font-family: var(--body); font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
::selection { background: var(--accent); color: var(--ink); }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: #425154; border: 3px solid var(--ink); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .28em; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
svg { display: block; width: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: square; stroke-linejoin: miter; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { margin-bottom: 0; font-family: var(--display); font-weight: 500; letter-spacing: -.025em; line-height: .9; text-transform: uppercase; }
h2 { font-size: clamp(3.7rem, 7vw, 6.5rem); }
.skip-link { position: fixed; z-index: 1000; top: 0; left: 1rem; padding: .7rem 1rem; background: var(--accent); color: var(--ink); font-weight: 600; visibility: hidden; transform: translateY(-120%); }
.skip-link:focus { visibility: visible; transform: translateY(0); }

.site-header { position:fixed; z-index:20; top:0; left:0; width:100%; min-height:6rem; display:grid; grid-template-columns:minmax(10rem,1fr) auto minmax(9rem,1fr) auto; align-items:center; gap:2rem; padding:1rem var(--gutter); border-bottom:1px solid rgba(236,239,235,.14); background:rgba(9,13,15,.94); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 12px 32px rgba(0,0,0,.18); }
.brand { width: min(15rem,22vw); text-decoration: none; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; gap: clamp(1.2rem,2.4vw,2.8rem); align-items: center; }
.desktop-nav a,.header-contact,.menu-button { font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.desktop-nav a { color: #cbd2d1; transition: color 180ms ease; }
.desktop-nav a:hover { color: var(--accent); }
.header-contact { justify-self: end; padding-bottom: .3rem; border-bottom: 1px solid var(--accent); }
.menu-button { display: inline-flex; align-items: center; gap: .7rem; min-height: 2.75rem; padding: 0; border: 0; background: transparent; color: inherit; }
.menu-button i,.menu-button i::before { content:""; display:block; width:1.5rem; height:1px; background:currentColor; }
.menu-button i::before { transform: translateY(-6px); }

.menu-overlay { position:fixed; z-index:100; inset:0; display:grid; grid-template-rows:auto 1fr auto; padding:clamp(1.25rem,4vw,4rem) var(--gutter); background:#dce4e1; color:var(--ink); visibility:hidden; clip-path:inset(0 0 100% 0); transition:clip-path 520ms var(--ease),visibility 0s 520ms; }
.menu-overlay[data-open="true"] { visibility:visible; clip-path:inset(0); transition:clip-path 520ms var(--ease); }
.menu-top { display:flex; align-items:flex-start; justify-content:space-between; }
.menu-top img { width:min(18rem,45vw); filter:brightness(.17); }
.menu-close { width:3.1rem; height:3.1rem; display:grid; place-items:center; padding:.8rem; border:1px solid rgba(9,13,15,.35); background:transparent; color:var(--ink); }
.menu-close svg { width:100%; }
.menu-overlay nav { align-self:center; display:grid; grid-template-columns:1fr 1fr; column-gap:7vw; }
.menu-overlay nav a { display:flex; align-items:baseline; justify-content:space-between; gap:1.4rem; padding:.62rem 0; border-bottom:1px solid rgba(9,13,15,.22); text-decoration:none; }
.menu-overlay nav span { font-family:var(--display); font-size:clamp(2rem,4.2vw,3.8rem); font-weight:500; line-height:.94; text-transform:uppercase; }
.menu-overlay nav small { max-width:11rem; color:#405053; font-size:.7rem; text-align:right; }
.menu-contact { display:flex; justify-content:space-between; gap:2rem; font-size:.8rem; font-weight:600; text-transform:uppercase; }

.hero { position:relative; min-height:max(48rem,100svh); isolation:isolate; overflow:hidden; background:var(--ink); }
.hero-photo { position:absolute; z-index:-4; inset:0; width:100%; height:100%; object-fit:cover; object-position:66% center; filter:grayscale(.12) saturate(.78) contrast(1.04); }
.hero-wash { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,rgba(9,13,15,.96) 0%,rgba(9,13,15,.74) 45%,rgba(9,13,15,.3) 78%),linear-gradient(0deg,rgba(9,13,15,.94),transparent 55%); }
.hero-copy { position:absolute; left:var(--gutter); top:50%; width:min(62rem,72vw); transform:translateY(-43%); }
.hero-copy > p { margin-bottom:1.5rem; color:#b9c4c3; font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.hero h1 { font-size:clamp(5rem,9.2vw,8.3rem); }
.hero-summary { display:flex; align-items:center; gap:clamp(2rem,5vw,5rem); margin-top:2.2rem; }
.hero-summary > span { max-width:27rem; color:#b8c2c2; }
.hero-summary a,.service-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; min-height:3.25rem; padding:.3rem 0; border-bottom:1px solid var(--accent); color:var(--paper); font-size:.75rem; font-weight:600; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; transition:color 180ms ease; }
.hero-summary a:hover,.service-cta:hover { color:var(--accent); }
.hero-service-nav { position:absolute; left:var(--gutter); right:var(--gutter); bottom:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(236,239,235,.22); }
.hero-service-nav a { min-height:7rem; display:flex; flex-direction:column; justify-content:center; padding:1rem clamp(.8rem,2vw,2rem); border-right:1px solid rgba(236,239,235,.16); text-decoration:none; transition:background 220ms ease; }
.hero-service-nav a:first-child { padding-left:0; }
.hero-service-nav a:last-child { border-right:0; }
.hero-service-nav a:hover { background:rgba(72,200,194,.08); }
.hero-service-nav b { font-family:var(--display); font-size:1.75rem; font-weight:500; text-transform:uppercase; }
.hero-service-nav span { color:#8f9b9d; font-size:.72rem; }

.positioning { display:grid; grid-template-columns:3fr 8fr; gap:clamp(3rem,8vw,9rem); padding:var(--section) var(--gutter); background:var(--paper); color:var(--ink); }
.positioning-label { min-height:20rem; display:flex; flex-direction:column; justify-content:space-between; padding-top:.7rem; border-top:1px solid var(--line-light); }
.positioning-label span { font-family:var(--display); font-size:1.7rem; font-weight:500; text-transform:uppercase; }
.positioning-label small { color:var(--muted-light); font-size:.78rem; text-transform:uppercase; }
.positioning-copy h2 { margin-bottom:2.5rem; }
.positioning-copy > p { max-width:55ch; margin:0; color:#354246; font-size:clamp(1.1rem,1.7vw,1.45rem); }
.about-lead { max-width:62ch !important; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line-light); }
.about-grid p { max-width:58ch; margin:0; color:#465356; }
.experience-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; padding-top:1.6rem; border-top:1px solid var(--line-light); }
.experience-strip span { display:grid; gap:.25rem; color:var(--muted-light); font-size:.78rem; }
.experience-strip b { color:var(--ink); font-family:var(--display); font-size:1.8rem; font-weight:500; text-transform:uppercase; }

.service-detail { position:relative; display:grid; grid-template-columns:2fr 6fr 4fr; gap:clamp(2rem,5vw,6rem); min-height:48rem; padding:var(--section) var(--gutter); overflow:hidden; }
.service-number { align-self:start; padding-top:.7rem; border-top:1px solid currentColor; font-size:.7rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; opacity:.65; }
.service-story { position:relative; z-index:2; }
.service-story h2 { margin-bottom:2.4rem; }
.lead { max-width:41rem; margin-bottom:3rem; font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.45; }
.story-columns { display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(2rem,5vw,5rem); padding-top:2rem; border-top:1px solid currentColor; }
.story-columns > p { max-width:55ch; margin:0; opacity:.76; }
.story-columns ul { margin:0; padding:0; list-style:none; }
.story-columns li { padding:.42rem 0; border-bottom:1px solid currentColor; font-size:.82rem; font-weight:500; opacity:.8; }
.service-cta { margin-top:3rem; color:inherit; }
.service-detail figure { position:relative; align-self:stretch; min-height:32rem; margin:0; overflow:hidden; }
.service-detail figure img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) contrast(1.06); }
.service-dark { background:var(--ink-soft); color:var(--paper); }
.service-dark .story-columns { border-color:var(--line-dark); }
.service-no-media .service-story { grid-column:2 / 4; max-width:76rem; }
.maintenance-intro { max-width:62ch; color:#aab5b5; }
.maintenance-services { display:grid; grid-template-columns:1fr 1fr; margin-top:3rem; border-top:1px solid var(--line-dark); }
.maintenance-services article { min-height:12rem; padding:1.5rem 2rem 1.5rem 0; border-bottom:1px solid var(--line-dark); }
.maintenance-services article:nth-child(odd) { border-right:1px solid var(--line-dark); }
.maintenance-services article:nth-child(even) { padding-left:2rem; }
.maintenance-services span { color:var(--accent); font-size:.66rem; font-weight:600; }
.maintenance-services h3 { margin:.7rem 0 .8rem; font-size:2rem; }
.maintenance-services p { max-width:44ch; margin:0; color:#9eaaab; font-size:.86rem; }
.vag-note { display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:baseline; margin-top:2rem; padding:1rem 0; border-bottom:1px solid var(--line-dark); }
.vag-note span { color:var(--accent); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.vag-note p { max-width:42rem; margin:0; color:#9eaaab; font-size:.82rem; }
.service-light { background:var(--paper-soft); color:var(--ink); }
.service-light .story-columns { border-color:var(--line-light); }
.service-quote { align-self:end; padding:2.5rem 0 0; border-top:1px solid var(--line-light); }
.service-quote strong { display:block; margin-bottom:1.5rem; font-family:var(--display); font-size:clamp(2.2rem,4vw,3.8rem); font-weight:500; line-height:1; text-transform:uppercase; }
.service-quote span { color:var(--muted-light); font-size:.75rem; }
.service-steel { grid-template-columns:2fr 7fr 3fr; background:var(--steel); color:var(--paper); }
.service-steel .story-columns { border-color:var(--line-dark); }
.diagnosis-agreement,.damage-note { display:grid; grid-template-columns:minmax(10rem,.7fr) 1.3fr; gap:2rem; margin-top:2.2rem; padding:1.2rem 0; border-block:1px solid var(--line-dark); }
.diagnosis-agreement strong,.damage-note strong { font-family:var(--display); font-size:1.5rem; font-weight:500; line-height:1; text-transform:uppercase; }
.diagnosis-agreement p,.damage-note p { max-width:48rem; margin:0; color:#aab5b5; font-size:.86rem; }
.diagnosis-photo { position:relative; min-height:36rem !important; }
.diagnosis-photo img { object-position:center 42%; }
.service-import { background:#cfd8d5; color:var(--ink); }
.service-import .story-columns { border-color:var(--line-light); }
.service-import figure img { object-position:52% center; }
.service-import-process .service-story { grid-column:2 / 4; max-width:76rem; }
.import-process { grid-column:1 / -1; margin-top:2rem; padding-top:3rem; border-top:1px solid var(--line-light); }
.process-heading { display:grid; grid-template-columns:2fr 5fr 3fr; gap:clamp(2rem,5vw,6rem); align-items:end; margin-bottom:3rem; }
.process-heading > span { color:var(--accent-dark); font-size:.68rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.process-heading h3 { font-size:clamp(2.6rem,4.5vw,4.4rem); }
.process-heading p { margin:0; color:#4b595c; }
.import-process ol { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:2.5rem 1.5rem; margin:0; padding:0; counter-reset:import-step; }
.import-process li { position:relative; min-height:9.5rem; padding-right:1rem; }
.import-process li::after { content:""; position:absolute; z-index:0; top:1.65rem; left:3.3rem; width:calc(100% - 2rem); height:1px; background:rgba(9,13,15,.28); }
.import-process li:nth-child(4n)::after { display:none; }
.import-process li > span { position:relative; z-index:1; width:3.3rem; height:3.3rem; display:grid; place-items:center; border:1px solid var(--accent-dark); border-radius:50%; background:#cfd8d5; color:var(--accent-dark); font-family:var(--display); font-size:1.3rem; font-weight:600; }
.import-process li p { max-width:18ch; margin:1rem 0 0; color:#263235; font-size:.84rem; line-height:1.4; }
.import-explainers { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2.5rem; }
.import-explainers article { padding-top:1.2rem; border-top:1px solid var(--line-light); }
.import-explainers span { display:block; margin-bottom:.7rem; color:var(--accent-dark); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.import-explainers p { margin:0; color:#435154; font-size:.86rem; }
.service-damage { background:#151a1c; color:var(--paper); }
.service-damage .story-columns { border-color:var(--line-dark); }
.service-damage .service-quote { color:#c8d0d0; }
.damage-note { border-color:var(--line-dark); }

.digital-service { padding:var(--section) var(--gutter); background:var(--paper); color:var(--ink); }
.digital-intro { display:grid; grid-template-columns:6fr 4fr; gap:clamp(3rem,9vw,10rem); align-items:end; margin-bottom:clamp(4rem,7vw,7rem); }
.digital-intro h2,.marketplace h2 { max-width:12ch; font-size:clamp(3.7rem,6.5vw,6rem); }
.digital-intro > p { max-width:54ch; margin:0; color:#354246; font-size:1.08rem; }
.workshop-planner { display:grid; grid-template-columns:3fr 7fr; gap:0 clamp(3rem,7vw,8rem); padding-top:2rem; border-top:1px solid var(--line-light); }
.planner-progress { grid-column:1/-1; display:flex; align-items:center; margin-bottom:3.5rem; color:#4e5d60; font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.planner-progress i { flex:1; height:1px; margin:0 1.2rem; background:rgba(9,13,15,.22); }
.vehicle-lookup > label,.planner-fields label,.trade-form label { display:grid; gap:.45rem; color:#354246; font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.plate-control { display:grid; grid-template-columns:2.8rem minmax(0,1fr) auto; min-height:4.1rem; margin-top:.4rem; border:1px solid rgba(9,13,15,.38); background:#f7f8f5; }
.plate-control > span { display:grid; place-items:center; background:#174f9b; color:#fff; font-size:.65rem; letter-spacing:.08em; }
.plate-control input { min-width:0; padding:0 1rem; border:0; outline:0; background:#f4c625; color:#111; font-family:var(--display); font-size:1.65rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.plate-control button { padding:0 1.1rem; border:0; border-inline-start:1px solid rgba(9,13,15,.25); background:var(--ink); color:var(--paper); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.vehicle-lookup > small { display:block; margin-top:.8rem; color:#5b696c; font-size:.75rem; line-height:1.45; }
.inline-status { min-height:1.5rem; margin:.8rem 0 0; color:#4c5c5f; font-size:.78rem; }
.inline-status[data-state="error"],.form-status[data-state="error"] { color:#a52d2d; }
.inline-status[data-state="success"],.form-status[data-state="success"] { color:var(--accent-dark); }
.vehicle-result { display:grid; grid-template-columns:1fr 1fr; gap:.7rem 1.5rem; margin-top:1.2rem; padding:1.2rem 0; border-block:1px solid var(--line-light); }
.vehicle-result div { min-width:0; }
.vehicle-result span { display:block; color:#647174; font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.vehicle-result strong { display:block; overflow-wrap:anywhere; font-family:var(--display); font-size:1.35rem; font-weight:500; line-height:1.15; text-transform:uppercase; }
.planner-fields { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem 1.8rem; }
.planner-wide { grid-column:1/-1; }
.planner-fields input,.planner-fields select,.planner-fields textarea,.trade-form input,.trade-form select,.trade-form textarea { width:100%; min-height:3.4rem; padding:.8rem 0; border:0; border-bottom:1px solid rgba(9,13,15,.34); border-radius:0; outline:0; background:transparent; color:var(--ink); font-size:1rem; font-weight:400; text-transform:none; }
.planner-fields input:focus,.planner-fields select:focus,.planner-fields textarea:focus,.trade-form input:focus,.trade-form select:focus,.trade-form textarea:focus { border-bottom-color:var(--accent-dark); box-shadow:0 1px 0 var(--accent-dark); }
.planner-fields textarea,.trade-form textarea { min-height:6rem; resize:vertical; }
.planner-submit { grid-column:2; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line-light); }
.planner-submit p { max-width:45ch; margin:0; color:#5a676a; font-size:.77rem; }
.planner-submit button,.trade-form button { min-height:3.8rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:0 1.2rem; border:1px solid var(--ink); background:var(--ink); color:var(--paper); font-size:.7rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase; transition:background 180ms ease,color 180ms ease; }
.planner-submit button:hover,.trade-form button:hover { background:var(--accent); color:var(--ink); }
.workshop-planner > .form-status { grid-column:2; }

.marketplace { display:grid; grid-template-columns:6fr 4fr; gap:clamp(4rem,9vw,10rem); padding:var(--section) var(--gutter); background:var(--steel); color:var(--paper); }
.marketplace-copy > p { max-width:62ch; margin:2.5rem 0 0; color:#a8b4b5; font-size:1.05rem; }
.inventory-state { display:grid; gap:1rem; margin-top:4rem; padding-block:1.7rem; border-block:1px solid var(--line-dark); }
.inventory-state strong { font-family:var(--display); font-size:1.65rem; font-weight:500; text-transform:uppercase; }
.inventory-state span { max-width:56ch; color:#a8b4b5; }
.inventory-state a { width:max-content; max-width:100%; margin-top:.4rem; padding-bottom:.25rem; border-bottom:1px solid var(--accent); color:var(--paper); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.trade-form { display:grid; grid-template-columns:1fr 1fr; gap:1.35rem 1.6rem; align-self:start; padding-top:1.2rem; border-top:1px solid var(--line-dark); }
.trade-form h3,.trade-form > p,.trade-form label:nth-of-type(1),.trade-form label:nth-of-type(2),.trade-form label:nth-of-type(3),.trade-form label:nth-of-type(6),.trade-form button,.trade-form .form-status { grid-column:1/-1; }
.trade-form h3 { font-size:clamp(2.5rem,4vw,4rem); line-height:.95; }
.trade-form > p { margin:.3rem 0 1rem; color:#9eaaab; }
.trade-form label { color:#b4bfc0; }
.trade-form input,.trade-form select,.trade-form textarea { border-bottom-color:rgba(236,239,235,.35); color:var(--paper); color-scheme:dark; }
.trade-form input:focus,.trade-form select:focus,.trade-form textarea:focus { border-bottom-color:var(--accent); box-shadow:0 1px 0 var(--accent); }
.trade-form button { margin-top:.5rem; border-color:var(--accent); background:transparent; }

.contact { display:grid; grid-template-columns:5fr 5fr; gap:clamp(4rem,9vw,10rem); padding:var(--section) var(--gutter); background:#0a1012; color:var(--paper); }
.contact-copy > span { color:var(--accent); font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.contact-copy h2 { margin:1.2rem 0 2.2rem; }
.contact-copy > p { max-width:33rem; color:#9ba8a9; }
.contact-copy address { display:grid; gap:.35rem; margin-top:4rem; font-size:.85rem; font-style:normal; }
.contact-copy address a { width:max-content; max-width:100%; }
.contact-form { align-self:start; display:grid; grid-template-columns:1fr 1fr; gap:1.4rem 1.6rem; }
.contact-form label { display:grid; gap:.45rem; font-size:.67rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.contact-form label:nth-child(n+3),.contact-form button,.form-status { grid-column:1/-1; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; min-height:3.3rem; padding:.85rem 0; border:0; border-bottom:1px solid rgba(236,239,235,.35); border-radius:0; outline:0; background:transparent; color:var(--paper); font-size:.95rem; font-weight:400; text-transform:none; }
.contact-form select { color-scheme:dark; }
.contact-form textarea { min-height:7rem; resize:vertical; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#7e8b8d; opacity:1; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-bottom-color:var(--accent); box-shadow:0 1px 0 var(--accent); }
.contact-form button { min-height:4rem; display:flex; align-items:center; justify-content:space-between; margin-top:1rem; padding:0 1.2rem; border:1px solid var(--accent); background:transparent; color:var(--paper); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:background 180ms ease,color 180ms ease; }
.contact-form button:hover { background:var(--accent); color:var(--ink); }
.form-status { min-height:1.5rem; margin:0; color:#a8b5b5; font-size:.8rem; }

.contact-page { background:var(--ink); }
.contact-page-header { min-height:6rem; display:flex; align-items:center; justify-content:space-between; gap:3rem; padding:1rem var(--gutter); border-bottom:1px solid var(--line-dark); }
.contact-page-header nav { display:flex; gap:clamp(1rem,2.5vw,2.5rem); }
.contact-page-header nav a { color:#b6c0c0; font-size:.72rem; font-weight:600; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.contact-page-header nav a:hover { color:var(--accent); }
.contact-page-main { display:grid; grid-template-columns:1fr 1fr; gap:clamp(4rem,9vw,10rem); min-height:calc(100svh - 6rem); padding:var(--section) var(--gutter); background:linear-gradient(90deg,#0b1113 0 50%,#101719 50%); }
.contact-page-intro > span { color:var(--accent); font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.contact-page-intro h1 { margin:1.2rem 0 2.3rem; font-size:clamp(4.8rem,8vw,7.6rem); }
.contact-page-intro > p { max-width:38rem; color:#9aa7a8; }
.contact-page-intro address { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:4rem; border-top:1px solid var(--line-dark); font-style:normal; }
.contact-page-intro address a { display:grid; gap:.3rem; min-height:6rem; padding:1.2rem 1.2rem 1.2rem 0; border-bottom:1px solid var(--line-dark); text-decoration:none; }
.contact-page-intro address a:nth-child(even) { padding-left:1.2rem; border-left:1px solid var(--line-dark); }
.contact-page-intro address b { color:var(--accent); font-size:.65rem; letter-spacing:.09em; text-transform:uppercase; }
.contact-page-intro address span { color:#c8d0cf; font-size:.86rem; }
.contact-page-form-wrap h2 { margin-bottom:3rem; font-size:clamp(3rem,5vw,4.6rem); }
.contact-page-form-wrap .contact-form { grid-template-columns:1fr 1fr; }
.contact-page-form-wrap .contact-form label:nth-child(3),.contact-page-form-wrap .contact-form label:nth-child(4) { grid-column:auto; }
.contact-email-option { margin-top:1.5rem; color:#899697; font-size:.82rem; }
.contact-email-option a { color:var(--paper); }

footer { min-height:8rem; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; padding:2rem var(--gutter); border-top:1px solid var(--line-dark); background:var(--ink); color:#899698; font-size:.78rem; }
footer > img { width:min(14rem,26vw); }
footer p { margin:0; text-align:center; }
footer > div { justify-self:end; display:flex; gap:1.5rem; }

.review-section { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,3fr); gap:clamp(2rem,6vw,7rem); min-height:clamp(38rem,70vh,48rem); padding:clamp(7rem,11vw,12rem) var(--gutter); background:#eef1f1; color:var(--ink); }
.review-heading > span { color:#338e8a; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.review-heading h2 { margin:1.2rem 0 0; font-size:clamp(3.2rem,6vw,6.2rem); line-height:.88; letter-spacing:-.04em; }
.review-card { display:grid; grid-template-columns:minmax(14rem,.9fr) minmax(0,1.3fr); gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.review-card[hidden] { display:none; }
.review-controls { display:flex; align-items:center; gap:.7rem; margin-top:2.5rem; color:#617071; font-size:.72rem; letter-spacing:.08em; }
.review-controls button { display:grid; place-items:center; width:2.7rem; height:2.7rem; border:1px solid #b6c3c2; background:transparent; color:var(--ink); cursor:pointer; font-size:1.1rem; }
.review-controls button:hover,.review-controls button:focus-visible { background:var(--ink); color:var(--paper); }
.review-photo { margin:0; min-height:26rem; overflow:hidden; background:#d6dddd; }
.review-photo img { display:block; width:100%; height:100%; min-height:26rem; object-fit:cover; }
.review-content { max-width:42rem; }
.review-stars { color:#168f88; font-size:1.2rem; letter-spacing:.18em; }
.review-content blockquote { margin:1.2rem 0 1.5rem; font-size:clamp(1.1rem,1.8vw,1.55rem); line-height:1.45; }
.review-caption { margin:0; color:#617071; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:1050px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .desktop-nav { display:none; }
  .service-detail { grid-template-columns:1.2fr 5fr 3fr; }
  .story-columns { grid-template-columns:1fr; gap:1.5rem; }
  .digital-intro,.marketplace { grid-template-columns:1fr; }
  .workshop-planner { grid-template-columns:1fr 2fr; }
}
@media (max-width:760px) {
  :root { --gutter:1.25rem; --section:5rem; }
  html { scroll-padding-top:4rem; }
  .site-header { min-height:5.2rem; grid-template-columns:1fr auto; gap:1rem; padding-block:.9rem; }
  .brand { width:11.7rem; }
  .header-contact { display:none; }
  .menu-overlay { padding:1.25rem; }
  .menu-top img { width:12rem; }
  .menu-overlay nav { grid-template-columns:1fr; align-content:center; }
  .menu-overlay nav a { padding:.45rem 0; }
  .menu-overlay nav span { font-size:clamp(2rem,9vw,3.15rem); }
  .menu-overlay nav small { display:none; }
  .menu-contact { flex-direction:column; gap:.25rem; }
  .hero { min-height:max(48rem,100svh); }
  .hero-photo { object-position:64% center; }
  .hero-wash { background:linear-gradient(0deg,rgba(9,13,15,.98) 0%,rgba(9,13,15,.68) 65%,rgba(9,13,15,.38) 100%); }
  .hero-copy { left:var(--gutter); right:var(--gutter); top:34%; width:auto; transform:none; }
  .hero-copy > p { margin-bottom:1rem; font-size:.64rem; letter-spacing:.09em; }
  .hero h1 { font-size:clamp(4.2rem,20vw,5.8rem); }
  .hero-summary { align-items:flex-start; flex-direction:column; gap:1.2rem; margin-top:1.5rem; }
  .hero-summary > span { font-size:.92rem; }
  .hero-service-nav { left:var(--gutter); right:var(--gutter); grid-template-columns:1fr 1fr; }
  .hero-service-nav a { min-height:4.7rem; padding:.7rem 0; border-right:0; border-bottom:1px solid rgba(236,239,235,.16); }
  .hero-service-nav a:nth-child(odd) { border-right:1px solid rgba(236,239,235,.16); }
  .hero-service-nav a:nth-child(even) { padding-left:1rem; }
  .hero-service-nav a:nth-child(n+3) { border-bottom:0; }
  .hero-service-nav b { font-size:1.4rem; }
  .hero-service-nav span { font-size:.64rem; }
  .positioning { grid-template-columns:1fr; gap:3.5rem; }
  .positioning-label { min-height:7rem; flex-direction:row; align-items:flex-end; }
  .positioning-copy h2,.service-story h2,.contact-copy h2 { font-size:clamp(3.6rem,16vw,5rem); }
  .about-grid,.experience-strip { grid-template-columns:1fr; gap:1.5rem; }
  .experience-strip { margin-top:2.5rem; }
  .service-detail,.service-steel { grid-template-columns:1fr; gap:3rem; min-height:0; }
  .service-no-media .service-story,.service-import-process .service-story { grid-column:1; }
  .maintenance-services { grid-template-columns:1fr; }
  .maintenance-services article,.maintenance-services article:nth-child(even) { min-height:0; padding:1.4rem 0; border-right:0; }
  .service-number { width:100%; }
  .lead { margin-bottom:2.2rem; font-size:1.1rem; }
  .story-columns { grid-template-columns:1fr; gap:1.5rem; }
  .diagnosis-agreement,.damage-note,.import-explainers { grid-template-columns:1fr; gap:1rem; }
  .process-heading { grid-template-columns:1fr; gap:1rem; }
  .import-process { margin-top:0; padding-top:2rem; }
  .import-process ol { grid-template-columns:1fr; gap:0; }
  .import-process li { min-height:6.8rem; display:grid; grid-template-columns:3.3rem 1fr; gap:1rem; padding:0; }
  .import-process li::after { display:block !important; top:3.3rem; bottom:0; left:1.62rem; width:1px; height:auto; }
  .import-process li:last-child::after { display:none !important; }
  .import-process li p { max-width:26ch; margin:.8rem 0 0; }
  .vag-note { grid-template-columns:1fr; gap:.5rem; }
  .service-detail figure { min-height:24rem; order:3; }
  .service-quote { padding-top:0; }
  .diagnostic-line { height:6rem; }
  .digital-intro { grid-template-columns:1fr; gap:2rem; margin-bottom:3.5rem; }
  .digital-intro h2,.marketplace h2 { font-size:clamp(3.5rem,15vw,5rem); }
  .workshop-planner { grid-template-columns:1fr; }
  .planner-progress { margin-bottom:2.5rem; }
  .planner-progress i { margin-inline:.65rem; }
  .vehicle-lookup { margin-bottom:2.5rem; }
  .plate-control { grid-template-columns:2.5rem minmax(0,1fr); }
  .plate-control button { grid-column:1/-1; min-height:3rem; border-inline-start:0; border-top:1px solid rgba(9,13,15,.25); }
  .planner-fields { grid-template-columns:1fr; }
  .planner-wide { grid-column:1; }
  .planner-submit,.workshop-planner > .form-status { grid-column:1; }
  .planner-submit { grid-template-columns:1fr; }
  .marketplace { grid-template-columns:1fr; gap:4rem; }
  .inventory-state { margin-top:2.5rem; }
  .trade-form { grid-template-columns:1fr; }
  .trade-form h3,.trade-form > p,.trade-form label,.trade-form button,.trade-form .form-status { grid-column:1; }
  .contact { grid-template-columns:1fr; }
  .contact-form { grid-template-columns:1fr; }
  .contact-form label { grid-column:1; }
  .contact-page-header { align-items:flex-start; flex-direction:column; gap:1rem; padding-block:1.2rem; }
  .contact-page-header nav { width:100%; flex-wrap:wrap; gap:.7rem 1.2rem; }
  .contact-page-main { grid-template-columns:1fr; gap:4rem; padding-top:4rem; background:var(--ink); }
  .contact-page-intro h1 { font-size:clamp(4rem,18vw,5.7rem); }
  .contact-page-intro address { grid-template-columns:1fr; }
  .contact-page-intro address a,.contact-page-intro address a:nth-child(even) { min-height:0; padding:1rem 0; border-left:0; }
  .contact-page-form-wrap .contact-form { grid-template-columns:1fr; }
  .contact-page-form-wrap .contact-form label:nth-child(3),.contact-page-form-wrap .contact-form label:nth-child(4) { grid-column:1; }
  footer { grid-template-columns:1fr; gap:1.2rem; padding-block:3rem; }
  footer > img { width:13rem; }
  footer p { text-align:left; }
  footer > div { justify-self:start; flex-wrap:wrap; }
  .review-section { grid-template-columns:1fr; gap:2.5rem; }
  .review-heading h2 { font-size:clamp(3.6rem,16vw,5rem); }
  .review-card { grid-template-columns:1fr; gap:1.5rem; }
  .review-photo,.review-photo img { min-height:15rem; max-height:24rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Digitale assistent */
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.assistant-shell { position:fixed; right:1.5rem; bottom:1.5rem; z-index:90; font-family:Manrope,sans-serif; color:var(--paper); }
.assistant-launcher { display:flex; align-items:center; gap:.75rem; padding:0 0 0 1.1rem; border:0; border-radius:999px; background:#11191b; color:#fff; box-shadow:0 14px 42px rgba(0,0,0,.34); cursor:pointer; font:700 .8rem/1 Manrope,sans-serif; letter-spacing:.01em; }
.assistant-launcher > i { display:grid; width:4.25rem; height:4.25rem; place-items:center; overflow:hidden; border:2px solid var(--signal); border-radius:50%; background:#070d0e; box-shadow:0 0 0 5px rgba(26,229,191,.12); }
.assistant-launcher img { width:3.55rem; height:auto; }
.assistant-launcher:hover > i,.assistant-launcher:focus-visible > i { box-shadow:0 0 0 7px rgba(26,229,191,.2); }
.assistant-launcher[hidden],.assistant-panel[hidden],.assistant-input[hidden] { display:none !important; }
.assistant-panel { display:grid; grid-template-rows:auto minmax(12rem,1fr) auto auto auto; width:min(25rem,calc(100vw - 2rem)); height:min(38rem,calc(100svh - 3rem)); overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:1.35rem; background:#f3f4f1; color:#11191b; box-shadow:0 24px 70px rgba(0,0,0,.44); }
.assistant-panel > header { display:grid; grid-template-columns:6.6rem 1fr 2.5rem; align-items:center; gap:.75rem; padding:1.1rem; background:#0b1214; color:#fff; }
.assistant-panel > header > img { width:6.4rem; height:auto; }
.assistant-panel > header > div { display:grid; gap:.25rem; }
.assistant-panel > header strong { font:700 .84rem/1.2 Manrope,sans-serif; }
.assistant-panel > header span { display:flex; align-items:center; gap:.4rem; color:#afbbb7; font-size:.66rem; }
.assistant-panel > header span i { width:.45rem; height:.45rem; border-radius:50%; background:var(--signal); box-shadow:0 0 0 3px rgba(26,229,191,.14); }
.assistant-panel > header button { display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid rgba(255,255,255,.14); border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.assistant-panel > header svg,.assistant-input svg { width:1.2rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.assistant-messages { display:flex; flex-direction:column; gap:.7rem; overflow-y:auto; padding:1rem; scroll-behavior:smooth; }
.assistant-message { width:fit-content; max-width:88%; padding:.78rem .9rem; border-radius:1rem; font-size:.78rem; line-height:1.55; }
.assistant-message.is-assistant { align-self:flex-start; border-bottom-left-radius:.25rem; background:#fff; box-shadow:0 5px 18px rgba(9,13,15,.07); }
.assistant-message.is-user { align-self:flex-end; border-bottom-right-radius:.25rem; background:#152226; color:#fff; }
.assistant-suggestions { display:flex; flex-wrap:wrap; gap:.45rem; padding:.2rem 1rem .8rem; }
.assistant-suggestions button,.assistant-whatsapp { min-height:2.25rem; padding:.55rem .72rem; border:1px solid rgba(9,13,15,.16); border-radius:999px; background:transparent; color:#11191b; cursor:pointer; font:700 .65rem/1.1 Manrope,sans-serif; text-decoration:none; }
.assistant-suggestions button:hover,.assistant-suggestions button:focus-visible { border-color:#11191b; background:#11191b; color:#fff; }
.assistant-whatsapp { display:flex; width:100%; min-height:2.8rem; align-items:center; justify-content:center; border-color:#0c7b49; background:#0f9156; color:#fff; }
.assistant-input { display:grid; grid-template-columns:1fr 3rem; gap:.5rem; margin:0 .8rem; padding:.5rem; border:1px solid rgba(9,13,15,.14); border-radius:1rem; background:#fff; }
.assistant-input input { min-width:0; border:0; outline:0; background:transparent; color:#11191b; font:500 .78rem/1.3 Manrope,sans-serif; }
.assistant-input button { display:grid; width:3rem; height:3rem; place-items:center; border:0; border-radius:.75rem; background:var(--signal); color:#09100f; cursor:pointer; }
.assistant-panel > small { padding:.7rem 1rem .9rem; color:#69716e; font-size:.56rem; line-height:1.4; text-align:center; }

@media (max-width:760px) {
  :root { --gutter:max(1.1rem,env(safe-area-inset-left)); --section:4.25rem; }
  body { line-height:1.7; }
  .site-header { min-height:4.65rem; gap:.75rem; padding:.75rem max(1.1rem,env(safe-area-inset-right)) .75rem max(1.1rem,env(safe-area-inset-left)); }
  .brand { width:9.4rem; }
  .menu-button { min-width:3.4rem; min-height:3rem; justify-content:flex-end; }
  .menu-overlay { padding:max(1rem,env(safe-area-inset-top)) max(1.1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1.1rem,env(safe-area-inset-left)); }
  .menu-top img { width:9.5rem; }
  .menu-close { width:2.8rem; height:2.8rem; }
  .menu-overlay nav { align-content:center; gap:0; min-height:0; overflow-y:auto; padding:1rem 0; }
  .menu-overlay nav a { min-height:3.15rem; align-items:center; padding:.38rem 0; }
  .menu-overlay nav span { font-size:clamp(1.65rem,7.5vw,2.25rem); line-height:1; }
  .menu-contact { display:grid; grid-template-columns:1fr 1fr; gap:.45rem 1rem; font-size:.7rem; }
  .hero { min-height:max(43rem,100svh); }
  .hero-copy { top:29%; }
  .hero-copy > p { font-size:.62rem; line-height:1.45; }
  .hero h1 { max-width:8.6ch; font-size:clamp(3.55rem,17vw,4.7rem); line-height:.88; }
  .hero-summary { gap:.85rem; margin-top:1.15rem; }
  .hero-summary > span { max-width:29ch; font-size:.94rem; line-height:1.55; }
  .hero-summary a { min-height:2.9rem; font-size:.69rem; }
  .hero-service-nav a { min-height:4.25rem; padding:.55rem 0; }
  .hero-service-nav a:nth-child(even) { padding-left:.8rem; }
  .hero-service-nav b { font-size:1.16rem; line-height:1; }
  .hero-service-nav span { margin-top:.22rem; font-size:.61rem; line-height:1.3; }
  .positioning { gap:2.1rem; }
  .positioning-label { min-height:0; display:grid; grid-template-columns:1fr auto; align-items:end; gap:1rem; padding-top:.75rem; }
  .positioning-label span { font-size:1.35rem; }
  .positioning-label small { font-size:.67rem; text-align:right; }
  .positioning-copy h2,.service-story h2,.contact-copy h2 { margin-bottom:1.6rem; font-size:clamp(3rem,13vw,4rem); line-height:.92; }
  .positioning-copy > p,.about-grid p,.service-story p,.contact-copy p { font-size:1rem; line-height:1.72; }
  .about-grid { gap:1.25rem; margin-top:2.2rem; padding-top:1.5rem; }
  .experience-strip { gap:.9rem; margin-top:2rem; padding-top:1.2rem; }
  .service-detail,.service-steel { gap:2.2rem; }
  .service-number { min-height:0; }
  .lead { margin-bottom:1.6rem; font-size:1.03rem; }
  .maintenance-services article,.maintenance-services article:nth-child(even) { padding:1.15rem 0; }
  .maintenance-services h3 { font-size:1.55rem; }
  .diagnosis-agreement,.damage-note,.import-explainers { margin-top:1.8rem; }
  .service-detail figure,.diagnosis-photo { min-height:18rem !important; }
  .digital-intro,.marketplace { gap:1.65rem; margin-bottom:2.8rem; }
  .digital-intro h2,.marketplace h2 { font-size:clamp(3rem,13vw,4rem); line-height:.92; }
  .planner-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin-bottom:1.8rem; }
  .planner-progress i { display:none; }
  .planner-progress span { font-size:.63rem; line-height:1.35; text-align:center; }
  .plate-control { grid-template-columns:2.4rem minmax(0,1fr); }
  .planner-fields input,.planner-fields select,.planner-fields textarea,.trade-form input,.trade-form select,.trade-form textarea,.contact-form input,.contact-form select,.contact-form textarea { font-size:1rem; }
  .planner-submit { gap:.8rem; }
  .contact-page-header { gap:.8rem; padding:1rem var(--gutter); }
  .contact-page-header nav { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
  .contact-page-header nav a { min-height:2.75rem; display:flex; align-items:center; }
  .contact-page-main { gap:3rem; padding-top:3.25rem; }
  .contact-page-intro h1 { font-size:clamp(3.4rem,15vw,4.5rem); }
  footer > div { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:.35rem 1rem; }
  footer > div a { min-height:2.75rem; display:flex; align-items:center; }
  .assistant-shell { right:max(.65rem,env(safe-area-inset-right)); bottom:max(.65rem,env(safe-area-inset-bottom)); }
  .assistant-launcher { width:3.7rem; height:3.7rem; padding:0; justify-content:center; }
  .assistant-launcher > span { display:none; }
  .assistant-launcher > i { width:3.7rem; height:3.7rem; box-shadow:0 8px 28px rgba(0,0,0,.3); }
  .assistant-launcher img { width:3.05rem; }
  .assistant-panel { width:calc(100vw - 1rem); height:calc(100svh - 1rem); max-height:none; border-radius:1rem; }
  .assistant-panel > header { grid-template-columns:5.4rem 1fr 2.75rem; min-height:4.8rem; padding:.85rem 1rem; }
  .assistant-panel > header > img { width:5.2rem; }
  .assistant-panel > header button { width:2.75rem; height:2.75rem; }
  .assistant-messages { gap:.65rem; padding:.9rem; }
  .assistant-message { max-width:92%; padding:.72rem .82rem; font-size:.88rem; line-height:1.55; }
  .assistant-suggestions { gap:.5rem; padding:.25rem .9rem .7rem; }
  .assistant-suggestions button,.assistant-whatsapp { min-height:2.75rem; padding:.65rem .8rem; font-size:.76rem; }
  .assistant-input { grid-template-columns:minmax(0,1fr) 3rem; margin:0 .65rem; }
  .assistant-input input { width:100%; font-size:1rem; }
  .assistant-panel > small { padding:.55rem .85rem max(.7rem,env(safe-area-inset-bottom)); font-size:.65rem; }
  .assistant-shell.is-complete .assistant-panel { grid-template-rows:auto minmax(12rem,1fr) auto; }
  .assistant-shell.is-complete .assistant-panel > small { display:none; }
}
