/* Gearline Autos: industrial, graphite and safety orange */
:root {
  --g: #1D2024; --g-2: #272B30; --g-3: #33383F; --orange: #FF7A00; --orange-d: #C25700; --concrete: #E9E8E4; --concrete-2: #DCDAD4; --white: #FFFFFF;
  --text: #1D2024; --muted: #55595F; --muted-d: #B9BDC3; --line: #CFCDC6; --line-d: #3A3F46;
  --head: 'Rajdhani', 'Arial Narrow', sans-serif; --body: 'Inter', system-ui, sans-serif;
  --wrap: 1240px;
  --hazard: repeating-linear-gradient(-45deg, var(--orange) 0 14px, var(--g) 14px 28px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 140px; }
body { margin: 0; background: var(--concrete); color: var(--text); font: 400 1rem/1.65 var(--body); overflow-x: hidden; }
img { max-width: 100%; display: block; color: transparent; }
a { color: var(--orange-d); text-underline-offset: 3px; }
h1, h2, h3 { font-family: var(--head); font-weight: 700; line-height: 1.02; margin: 0 0 1rem; letter-spacing: .01em; }
h1 { font-size: clamp(2.6rem, 6.6vw, 5.4rem); text-transform: uppercase; }
h2 { font-size: clamp(2rem, 4vw, 3.1rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.55rem); font-weight: 700; }
p { margin: 0 0 1rem; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.skip { position: absolute; left: 16px; top: -100px; z-index: 100; background: var(--orange); color: var(--g); padding: 12px 18px; font-weight: 700; }
.skip:focus { top: 60px; }
main:focus { outline: none; }
.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.narrow { max-width: 880px; }
.ic { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 50px; padding: 0 1.5rem; font: 700 1.08rem/1 var(--head); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; border: 2px solid transparent; cursor: pointer; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); transition: background .15s, color .15s; }
.btn .ic { width: 18px; height: 18px; }
.btn-orange { background: var(--orange); color: var(--g); }
.btn-orange:hover { background: #FF9433; color: var(--g); }
.btn-dark { background: var(--g); color: #fff; }
.btn-dark:hover { background: var(--g-3); color: #fff; }
.btn-line-w { border-color: rgba(255, 255, 255, .6); color: #fff; clip-path: none; }
.btn-line-w:hover { background: #fff; color: var(--g); }
.btn-line-d { border-color: var(--g); color: var(--g); clip-path: none; }
.btn-line-d:hover { background: var(--g); color: #fff; }
.btn-lg { min-height: 58px; font-size: 1.2rem; }
.btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.6rem; }

/* Header */
.hdr { position: sticky; top: 0; z-index: 50; background: var(--g); color: #fff; }
.hdr-in { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; height: 78px; display: flex; align-items: center; gap: 18px; transition: height .25s; }
.hdr.is-condensed .hdr-in { height: 60px; }
.hazard { height: 6px; background: var(--hazard); }
.logo { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; margin-right: auto; font: 700 1.7rem/1 var(--head); text-transform: uppercase; letter-spacing: .04em; }
.logo span { display: flex; flex-direction: column; gap: 3px; }
.logo small { font: 600 .66rem/1 var(--body); letter-spacing: .22em; color: var(--orange); }
.gear { width: 40px; height: 40px; flex: none; }
.nav ul { list-style: none; display: flex; margin: 0; padding: 0; }
.nav a { display: block; padding: 10px 12px; color: #E4E6E9; text-decoration: none; font: 600 1.02rem/1 var(--head); text-transform: uppercase; letter-spacing: .08em; border-bottom: 2px solid transparent; }
.nav a:hover { color: #fff; border-bottom-color: var(--orange); }
.nav a[aria-current=page] { color: var(--orange); border-bottom-color: var(--orange); }
.nav-foot { display: none; }
.hdr-phone { display: flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font: 600 1rem/1 var(--head); letter-spacing: .04em; }
.hdr-phone .ic { color: var(--orange); }
.burger { display: none; width: 50px; height: 50px; border: 2px solid var(--line-d); background: transparent; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.burger span { width: 22px; height: 2px; background: #fff; transition: transform .2s, opacity .2s; }
.burger[aria-expanded=true] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded=true] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded=true] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1180px) { .hdr-phone span { display: none; } }
@media (max-width: 1060px) {
  .burger { display: flex; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--g-2); padding: 10px 24px 28px; max-height: calc(100vh - 130px); overflow-y: auto; border-top: 2px solid var(--orange); }
  .nav.is-open { display: block; }
  .nav ul { flex-direction: column; }
  .nav a { font-size: 1.6rem; padding: 14px 0; border-bottom: 1px solid var(--line-d); }
  .nav-foot { display: block; margin-top: 20px; }
  .nav-foot .btn { width: 100%; }
  .nav-foot p { color: var(--muted-d); font-size: .9rem; margin-top: 12px; }
}
@media (max-width: 560px) { .hdr-cta { display: none; } .hdr-in { height: 66px; padding: 0 16px; } .logo { font-size: 1.45rem; } .logo small { display: none; } }

.tag { display: inline-flex; align-items: center; gap: 10px; font: 700 .9rem/1 var(--head); letter-spacing: .2em; text-transform: uppercase; color: var(--orange-d); margin-bottom: 1rem; }
.tag::before { content: ""; width: 22px; height: 10px; background: var(--hazard); background-size: 20px 20px; }
.sec-dark .tag, .hero .tag, .phero .tag, .dhero .tag { color: var(--orange); }
.lede { font-size: clamp(1.05rem, 1.5vw, 1.18rem); color: var(--muted); max-width: 62ch; }
.sec { padding: clamp(64px, 8vw, 110px) 0; }
.sec-dark { background: var(--g); color: #fff; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 40px 40px; }
.sec-dark h2, .sec-dark h3 { color: #fff; }
.sec-dark p, .sec-dark .lede { color: var(--muted-d); }
.sec-dark a:not(.btn) { color: #FFB066; }
.sec-concrete { background: var(--concrete-2); }
.sec-head { margin-bottom: 2.6rem; max-width: 760px; }
.row-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 2.6rem; }
.row-head .sec-head { margin-bottom: 0; }
.link { display: inline-flex; align-items: center; gap: 8px; font: 700 1.05rem/1 var(--head); text-transform: uppercase; letter-spacing: .08em; color: var(--g); text-decoration: none; min-height: 44px; border-bottom: 3px solid var(--orange); }
.demo-note { font-size: .82rem; color: var(--muted); margin-top: 1rem; }
.sec-dark .demo-note, .hero .demo-note { color: #9EA3AA; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.split-top { align-items: start; }
.split > *, .hero-in > *, .dhero-in > *, .book > * { min-width: 0; }
.checks { list-style: none; padding: 0; margin: 1.2rem 0; display: grid; gap: 10px; }
.checks li { display: flex; gap: 10px; }
.checks .ic { color: var(--orange); }

/* Photos */
.ph { margin: 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #3A3F46, #23272C); }
.ph::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .03) 0 2px, transparent 2px 10px); }
.ph img { position: relative; width: 100%; height: 100%; object-fit: cover; }

/* Hero */
.hero { position: relative; background: var(--g); color: #fff; overflow: hidden; isolation: isolate; }
.hero-bg { position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, #23272C, #1D2024); }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .32; }
.hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--g) 20%, rgba(29, 32, 36, .7) 60%, rgba(29, 32, 36, .55)); }
.hero-in { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px); }
.hero h1 span { color: var(--orange); display: block; }
.hero .lede { color: #CDD1D6; }
.cluster { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; background: rgba(39, 43, 48, .85); border: 1px solid var(--line-d); padding: 22px; }
.cluster .gauge:first-child { grid-column: span 2; }
.cluster .demo-note { grid-column: span 2; margin: 0; }
.cluster-row { grid-template-columns: repeat(4, 1fr); background: transparent; border: 0; padding: 0; }
.cluster-row .gauge:first-child { grid-column: auto; }
.gauge { background: #15171A; border: 1px solid var(--line-d); padding: 16px 16px 14px; text-align: center; position: relative; }
.gauge svg { width: 100%; max-width: 200px; height: auto; display: block; margin: 0 auto; overflow: visible; }
.g-track { fill: none; stroke: #2E3238; stroke-width: 9; }
.g-fill { fill: none; stroke: var(--orange); stroke-width: 9; stroke-dasharray: calc(var(--v) * 100) 100; transition: stroke-dasharray 1.4s cubic-bezier(.2, .8, .2, 1); }
.g-tick { stroke: #6B7078; stroke-width: 1.5; }
.g-needle { transform-origin: 60px 62px; transform: rotate(calc(-90deg + var(--v) * 180deg)); transition: transform 1.4s cubic-bezier(.3, 1.4, .4, 1); }
.g-needle line { stroke: #fff; stroke-width: 2.5; stroke-linecap: round; }
.g-needle circle { fill: var(--orange); }
.js-reveal .gauge:not(.is-in) .g-needle { transform: rotate(-90deg); }
.js-reveal .gauge:not(.is-in) .g-fill { stroke-dasharray: 0 100; }
.g-val { font: 700 2.4rem/1 var(--head); color: #fff; margin: 6px 0 4px; }
.g-val small { font-size: 1rem; color: var(--muted-d); margin-left: 2px; }
.g-lab { font: 600 .82rem/1.2 var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--orange); margin: 0; }
.ticker { background: var(--orange); color: var(--g); }
.ticker-in { display: flex; justify-content: space-between; gap: 12px 28px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; }
.ticker p { margin: 0; display: flex; align-items: center; gap: 8px; font: 700 1.02rem/1 var(--head); text-transform: uppercase; letter-spacing: .06em; }

/* Service cards */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.svc-3 { grid-template-columns: repeat(3, 1fr); }
.svc { position: relative; background: #fff; padding: 28px 26px 22px; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.svc:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -18px rgba(29, 32, 36, .5); }
.svc[hidden] { display: none; }
.bolt { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #D8D6D0, #8E8C86); box-shadow: inset 0 0 0 1px rgba(0,0,0,.15); }
.b-tl { top: 9px; left: 9px; } .b-tr { top: 9px; right: 9px; } .b-bl { bottom: 9px; left: 9px; } .b-br { bottom: 9px; right: 9px; }
.svc-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 18px; }
.svc-ic { width: 56px; height: 56px; display: grid; place-items: center; background: var(--g); color: var(--orange); }
.svc-ic .ic { width: 28px; height: 28px; }
.svc-ic.big { width: 72px; height: 72px; margin-bottom: 20px; } .svc-ic.big .ic { width: 36px; height: 36px; }
.svc-no { font: 700 2.4rem/1 var(--head); color: var(--concrete-2); }
.svc h3 a { color: var(--g); text-decoration: none; }
.svc h3 a::after { content: ""; position: absolute; inset: 0; }
.svc h3 a:hover { color: var(--orange-d); }
.svc > p { color: var(--muted); flex: 1; }
.svc-meta { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 2px solid var(--g); }
.svc-meta div { padding: 12px 0 0; }
.svc-meta div + div { padding-left: 14px; border-left: 1px solid var(--line); }
.svc-meta dt { display: flex; align-items: center; gap: 6px; font: 600 .78rem/1 var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.svc-meta dt .ic { width: 14px; height: 14px; color: var(--orange-d); }
.svc-meta dd { margin: 0; font: 700 1.2rem/1.1 var(--head); }

/* Steps */
.steps { list-style: none; padding: 0; margin: 1.4rem 0 0; }
.steps li { display: grid; grid-template-columns: 62px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line-d); }
.steps li > span { font: 700 2rem/1 var(--head); color: var(--orange); }
.steps h3 { margin-bottom: 4px; }
.steps p { margin: 0; }
.split-m { position: relative; }
.badge-plate { position: absolute; left: -14px; bottom: -18px; background: var(--orange); color: var(--g); padding: 16px 22px; display: flex; align-items: center; gap: 12px; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
.badge-plate strong { font: 700 3rem/1 var(--head); }
.badge-plate span { font: 700 .95rem/1.1 var(--head); text-transform: uppercase; letter-spacing: .06em; max-width: 12ch; }

/* Wash mini */
.wash-mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.wm { background: #fff; padding: 28px; border-top: 6px solid var(--g); position: relative; }
.wm-hot { background: var(--g); color: #fff; border-top-color: var(--orange); }
.wm-hot h3 { color: #fff; } .wm-hot p { color: var(--muted-d); }
.wm-tag { position: absolute; top: 18px; right: 18px; background: var(--orange); color: var(--g) !important; font: 700 .8rem/1 var(--head); text-transform: uppercase; letter-spacing: .1em; padding: 6px 10px; margin: 0; }
.wm-p { font: 700 2.4rem/1 var(--head); color: var(--orange-d); margin: 4px 0 10px; }
.wm-hot .wm-p { color: var(--orange) !important; }
.wm p:last-child { color: var(--muted); margin: 0; }
.wm-hot p:last-child { color: var(--muted-d); }

/* Quotes */
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.quote { margin: 0; background: var(--g-2); border-left: 4px solid var(--orange); padding: 26px; }
.quote blockquote { margin: 0 0 16px; }
.quote blockquote p { color: #fff !important; font-size: 1.05rem; }
.quote figcaption { font: 700 .9rem/1 var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--orange); }
.quote-lg blockquote p { font: 600 1.7rem/1.25 var(--head); }

/* Fleet strip, CTA */
.fleet-strip { display: flex; align-items: center; gap: 24px; background: #fff; padding: 28px 32px; border: 1px solid var(--line); border-left: 8px solid var(--orange); }
.fleet-strip > div { flex: 1; }
.fleet-strip h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 4px; }
.fleet-strip p { margin: 0; color: var(--muted); }
.fs-ic { width: 72px; height: 72px; display: grid; place-items: center; background: var(--g); color: var(--orange); flex: none; }
.fs-ic .ic { width: 36px; height: 36px; }
.cta { background: var(--orange); position: relative; }
.cta::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: repeating-linear-gradient(-45deg, var(--g) 0 14px, var(--orange) 14px 28px); }
.cta-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 56px; padding-bottom: 48px; }
.cta-in h2 { margin-bottom: 6px; text-transform: uppercase; }
.cta-in p { margin: 0; color: #3A2410; font-weight: 500; }
.cta-in .btns { margin: 0; }

/* Page hero */
.phero { position: relative; background: var(--g); color: #fff; overflow: hidden; isolation: isolate; }
.phero-bg { position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, #2B3036, #1D2024); }
.phero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.phero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--g) 25%, rgba(29, 32, 36, .55)); }
.phero-in { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }
.phero h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem); max-width: 18ch; }
.phero .lede { color: #CDD1D6; }

/* Detail hero */
.dhero { background: var(--g); color: #fff; }
.dhero-in { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(32px, 5vw, 64px); align-items: center; padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px); }
.dhero h1 { font-size: clamp(2.4rem, 5.4vw, 4.2rem); }
.dhero .lede { color: #CDD1D6; }
.crumbs { font-size: .9rem; color: var(--muted-d); margin-bottom: 20px; }
.crumbs a { color: var(--orange); }
.dfacts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 1.6rem 0 0; border: 1px solid var(--line-d); }
.dfacts div { padding: 14px 16px; border-right: 1px solid var(--line-d); }
.dfacts div:last-child { border-right: 0; }
.dfacts dt { font: 600 .76rem/1 var(--head); letter-spacing: .16em; text-transform: uppercase; color: var(--orange); margin-bottom: 6px; }
.dfacts dd { margin: 0; font: 700 1.1rem/1.2 var(--head); }
.dhero-m .ph { border: 1px solid var(--line-d); }
.signs { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: 0; border-top: 2px solid var(--g); }
.signs li { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); font-weight: 500; }
.signs .ic { color: var(--orange-d); }
.warn-box { background: #fff; padding: 28px; border: 2px solid var(--g); position: relative; }
.warn-box::before { content: ""; position: absolute; left: -2px; right: -2px; top: -10px; height: 8px; background: var(--hazard); }
.warn-box h3 { display: flex; align-items: center; gap: 10px; }
.warn-box h3 .ic { color: var(--orange-d); }
.proc { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line-d); }
.proc li { padding: 28px 24px; border-right: 1px solid var(--line-d); }
.proc li:last-child { border-right: 0; }
.proc span { font: 700 3rem/1 var(--head); color: var(--orange); display: block; margin-bottom: 14px; }
.gal3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gbtn { padding: 0; border: 0; background: none; cursor: zoom-in; display: block; width: 100%; }
.gbtn .ph { transition: opacity .2s; }
.gbtn:hover .ph { opacity: .85; }

/* Tables */
.tbl-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); }
.tbl { width: 100%; border-collapse: collapse; min-width: 600px; }
.tbl th, .tbl td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.tbl thead th { background: var(--g); color: #fff; font: 700 .95rem/1.2 var(--head); letter-spacing: .1em; text-transform: uppercase; }
.tbl tbody th { font: 700 1.1rem/1.2 var(--head); }
.tbl td { color: var(--muted); font-weight: 500; }
.tbl tr:last-child th, .tbl tr:last-child td { border-bottom: 0; }
.tbl .ic { color: var(--orange-d); }
.tbl-c td { text-align: center; } .tbl-c thead th:not(:first-child) { text-align: center; }
.tbl-wash td { text-align: center; }
.tbl-wash thead th:not(:first-child) { text-align: center; }
.tbl-wash thead th.hot { background: var(--orange); color: var(--g); }
.pk { display: block; font-size: 1.15rem; }
.pk-p { display: block; font-size: 1.8rem; margin: 6px 0 2px; letter-spacing: 0; }
.pk-t { display: block; font-size: .8rem; opacity: .8; }
.no { font-size: .82rem; color: #8A8E94; }
.vtoggle { display: inline-flex; border: 2px solid var(--g); }
.vtoggle button { min-height: 48px; padding: 0 18px; border: 0; background: #fff; font: 700 1rem/1 var(--head); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; color: var(--g); }
.vtoggle button[aria-pressed=true] { background: var(--g); color: var(--orange); }
.addons { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ao { background: #fff; padding: 22px; border-bottom: 4px solid var(--orange); }
.ao p { color: var(--muted); }
.ao-p { font: 700 1.5rem/1 var(--head); color: var(--g) !important; margin: 0; }

/* Plans */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.plan { position: relative; background: #fff; padding: 34px 28px; border: 1px solid var(--line); display: flex; flex-direction: column; }
.plan-hot { background: var(--g); color: #fff; border-color: var(--g); }
.plan-hot h3 { color: #fff; }
.plan-tag { position: absolute; top: 0; right: 24px; background: var(--orange); color: var(--g); font: 700 .82rem/1 var(--head); text-transform: uppercase; letter-spacing: .1em; padding: 8px 12px; margin: 0; }
.plan h3 { font-size: 2rem; text-transform: uppercase; }
.plan-p { font: 700 2.8rem/1 var(--head); margin: 0 0 20px; }
.plan-p small { font-size: 1rem; color: var(--muted); margin-left: 4px; }
.plan-hot .plan-p { color: var(--orange); } .plan-hot .plan-p small { color: var(--muted-d); }
.plan ul { list-style: none; padding: 0; margin: 0 0 24px; display: grid; gap: 10px; flex: 1; }
.plan li { display: flex; gap: 10px; }
.plan li .ic { color: var(--orange); }
.plan-hot .btn-line-d { border-color: #fff; color: #fff; }
.planner { display: grid; gap: 20px; margin-top: 1.4rem; background: var(--g-2); padding: 22px; border: 1px solid var(--line-d); }
.planner label { color: #fff; }
.planner-out { background: #15171A; border: 1px solid var(--line-d); padding: 28px; }
.odo { display: flex; align-items: baseline; gap: 8px; margin-bottom: 18px; }
.odo span { font: 700 3rem/1 var(--head); letter-spacing: .18em; color: #fff; background: #000; padding: 8px 14px; border: 1px solid var(--line-d); font-variant-numeric: tabular-nums; }
.odo small { color: var(--muted-d); font-family: var(--head); font-size: 1.1rem; }
.due { list-style: none; padding: 0; margin: 0; }
.due li { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line-d); }
.due strong { display: block; color: #fff; font: 700 1.1rem/1.2 var(--head); }
.due small { color: var(--muted-d); }
.due em { font-style: normal; font: 700 .95rem/1.2 var(--head); color: var(--orange); text-align: right; text-transform: uppercase; letter-spacing: .04em; }
.due li.soon em { background: var(--orange); color: var(--g); padding: 4px 8px; }
.po-l { margin: 0; }
.po-total { font: 700 clamp(2.6rem, 5vw, 3.6rem)/1.05 var(--head); color: var(--orange) !important; margin: 4px 0 14px; }
.feat4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.f4 { background: #fff; padding: 26px; border-top: 4px solid var(--g); }
.sec-dark .f4 { background: var(--g-2); border-top-color: var(--orange); }
.f4 .ic { width: 34px; height: 34px; color: var(--orange-d); margin-bottom: 14px; }
.sec-dark .f4 .ic { color: var(--orange); }
.f4 p { color: var(--muted); margin: 0; }
.kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 1.4rem; }
.kpis div { background: var(--g); color: #fff; padding: 18px; }
.kpis strong { display: block; font: 700 2rem/1 var(--head); color: var(--orange); }
.kpis span { color: var(--muted-d); font-size: .9rem; }

/* Booking */
.book { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; align-items: start; }
.card-form { display: grid; gap: 18px; background: #fff; padding: clamp(22px, 4vw, 40px); border: 1px solid var(--line); border-top: 6px solid var(--g); }
.fh { display: flex; align-items: center; gap: 12px; font-size: 1.6rem; text-transform: uppercase; margin: 10px 0 0; padding-top: 18px; border-top: 1px dashed var(--line); }
.fh:first-child { margin: 0; padding: 0; border: 0; }
.fh span { width: 38px; height: 38px; display: grid; place-items: center; background: var(--orange); color: var(--g); font-size: 1.1rem; }
.field { display: flex; flex-direction: column; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.field label, .field legend { font: 700 .98rem/1.2 var(--head); text-transform: uppercase; letter-spacing: .06em; }
.field legend { padding: 0; margin-bottom: 10px; }
input, select, textarea { font: inherit; color: var(--g); background: #F6F5F2; border: 2px solid var(--line); border-radius: 0; padding: 12px 14px; min-height: 50px; width: 100%; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255, 122, 0, .25); }
input[type=range] { padding: 0; min-height: 44px; border: 0; background: transparent; accent-color: var(--orange); box-shadow: none; }
input[aria-invalid=true], select[aria-invalid=true], textarea[aria-invalid=true] { border-color: #C0262D; }
output { font: 700 1.3rem/1 var(--head); color: var(--orange); }
.err { color: #B3202A; font-weight: 600; font-size: .9rem; margin: 4px 0 0; }
.err:empty { display: none; }
.sec-dark .err, .ftr .err { color: #FF9C9C; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-row-3 { grid-template-columns: 1fr 1fr 1fr; }
.seg { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.seg legend { width: 100%; }
.seg label { position: relative; }
.seg input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.seg span { display: inline-flex; align-items: center; min-height: 46px; padding: 0 16px; border: 2px solid var(--line); background: #F6F5F2; font: 700 1rem/1 var(--head); text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.seg input:checked + span { background: var(--g); border-color: var(--g); color: var(--orange); }
.seg input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 2px; }
.opts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.opt { position: relative; }
.opt input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.opt span { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 14px; border: 2px solid var(--line); background: #F6F5F2; cursor: pointer; min-height: 72px; }
.opt span .ic { grid-row: span 2; width: 28px; height: 28px; color: var(--orange-d); }
.opt strong { font: 700 1.08rem/1.15 var(--head); }
.opt small { color: var(--muted); }
.opt input:checked + span { border-color: var(--orange); background: #FFF1E3; box-shadow: inset 6px 0 0 var(--orange); }
.opt input:focus-visible + span { outline: 3px solid var(--g); outline-offset: 2px; }
.opts .err { grid-column: 1 / -1; }
.ticket { position: sticky; top: 130px; background: #fff; border: 2px solid var(--g); font-family: var(--head); }
.ticket-h { display: flex; justify-content: space-between; background: var(--g); color: #fff; padding: 14px 20px; font-size: 1.1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.ticket-h span:last-child { color: var(--orange); }
.ticket dl { margin: 0; padding: 8px 20px; }
.ticket dl div { display: grid; grid-template-columns: 100px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--line); }
.ticket dt { font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; color: var(--muted); }
.ticket dd { margin: 0; font-family: var(--body); font-weight: 600; font-size: .95rem; }
.jc-est { margin: 0; padding: 16px 20px 4px; display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.jc-est strong { font-size: 2.2rem; color: var(--orange-d); letter-spacing: 0; }
.jc-note { padding: 0 20px; margin: 0; font-family: var(--body); color: var(--muted); font-size: .9rem; }
.ticket .demo-note { padding: 0 20px 16px; font-family: var(--body); }
.thanks { background: #fff; padding: 36px; border: 2px solid var(--g); border-left: 10px solid var(--orange); }
.thanks:focus { outline: none; }
.thanks-sm { padding: 16px; background: var(--g-3); border: 0; border-left: 4px solid var(--orange); color: #fff; }
.thanks-sm p { margin: 0; }

/* Filters */
.filters { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-bottom: 2rem; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips button { min-height: 46px; padding: 0 18px; border: 2px solid var(--g); background: transparent; color: var(--g); font: 700 1rem/1 var(--head); text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.chips button[aria-pressed=true] { background: var(--g); color: var(--orange); }
.count { margin: 0; color: var(--muted); }

/* Team */
.mechs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.mech { background: #fff; border: 1px solid var(--line); }
.mech-m { position: relative; }
.mech-m .ph img { filter: grayscale(.4) contrast(1.05); }
.mech-id { position: absolute; left: 0; bottom: 0; background: var(--orange); color: var(--g); font: 700 .85rem/1 var(--head); letter-spacing: .14em; padding: 8px 12px; }
.mech-t { padding: 18px 20px 22px; }
.mech-t h3 { margin-bottom: 4px; }
.mech-r { font: 700 .9rem/1.2 var(--head); text-transform: uppercase; letter-spacing: .1em; color: var(--orange-d); }
.mech-t p:last-child { color: var(--muted); margin: 0; font-size: .94rem; }
.miles { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border: 1px solid var(--line-d); }
.miles li { padding: 24px 20px; border-right: 1px solid var(--line-d); position: relative; }
.miles li:last-child { border-right: 0; }
.miles span { font: 700 2.2rem/1 var(--head); color: var(--orange); display: block; margin-bottom: 12px; }
.miles p { margin: 0; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: #fff; border: 1px solid var(--line); }
.stat { padding: 28px 24px; border-right: 1px solid var(--line); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font: 700 clamp(2.2rem, 4.4vw, 3.2rem)/1 var(--head); color: var(--g); margin-bottom: 6px; }
.stat span { color: var(--muted); }

/* Contact */
.ccards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cc { background: #fff; padding: 26px; border: 1px solid var(--line); }
.cc .ic { width: 30px; height: 30px; color: var(--orange-d); margin-bottom: 12px; }
.cc h2 { font-size: 1.4rem; text-transform: uppercase; }
.cc p { margin: 0; }
.cc-hot { background: var(--orange); border-color: var(--orange); }
.cc-hot .ic { color: var(--g); }
.cc-hot a { color: var(--g); font-weight: 700; }
.hours { margin: 1.2rem 0 0; border-top: 2px solid var(--orange); }
.hours div { display: flex; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line-d); }
.hours dt { color: var(--muted-d); }
.hours dd { margin: 0; font: 700 1.1rem/1 var(--head); color: #fff; }
.dir { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; gap: 16px; }
.dir li { padding-left: 16px; border-left: 4px solid var(--orange); color: var(--muted-d); }
.dir strong { display: block; color: #fff; font: 700 1.15rem/1.3 var(--head); }
.map { position: relative; aspect-ratio: 16/10; background: #C8C6BF; overflow: hidden; margin-top: 1.4rem; border: 2px solid var(--g); background-image: linear-gradient(rgba(29,32,36,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(29,32,36,.08) 1px, transparent 1px); background-size: 30px 30px; }
.mr { position: absolute; background: var(--g); }
.mr1 { left: 46%; width: 16px; top: -10%; bottom: -10%; transform: rotate(8deg); }
.mr2 { left: -10%; right: -10%; top: 30%; height: 10px; transform: rotate(-12deg); }
.mr3 { left: -10%; right: -10%; top: 72%; height: 8px; background: #6B7078; }
.mpin { position: absolute; left: calc(46% + 30px); top: 44%; }
.mpin .gear { width: 44px; height: 44px; box-shadow: 0 0 0 6px rgba(255, 122, 0, .3); }
.mlab { position: absolute; left: calc(46% + 84px); top: calc(44% + 10px); background: var(--g); color: #fff; font: 700 .95rem/1 var(--head); text-transform: uppercase; letter-spacing: .08em; padding: 6px 10px; }

/* Accordion */
.acc { border-top: 2px solid currentColor; }
.acc-item { border-bottom: 1px solid var(--line); }
.sec-dark .acc-item { border-color: var(--line-d); }
.acc-item h3 { margin: 0; font-size: 1.2rem; }
.acc-btn { width: 100%; min-height: 62px; display: flex; align-items: center; gap: 16px; padding: 14px 0; background: none; border: 0; color: inherit; font: 700 1.2rem/1.3 var(--head); text-align: left; cursor: pointer; }
.acc-n { color: var(--orange-d); font-size: 1rem; }
.sec-dark .acc-n { color: var(--orange); }
.acc-q { flex: 1; }
.acc-ic { width: 30px; height: 30px; background: var(--g); position: relative; flex: none; }
.sec-dark .acc-ic { background: var(--orange); }
.acc-ic::before, .acc-ic::after { content: ""; position: absolute; left: 8px; right: 8px; top: 14px; height: 2px; background: var(--orange); transition: transform .2s; }
.sec-dark .acc-ic::before, .sec-dark .acc-ic::after { background: var(--g); }
.acc-ic::after { transform: rotate(90deg); }
.acc-btn[aria-expanded=true] .acc-ic::after { transform: rotate(0); }
.acc-panel p { color: var(--muted); padding: 0 0 18px 40px; margin: 0; }
.sec-dark .acc-panel p { color: var(--muted-d); }

/* Lightbox */
.lb { position: fixed; inset: 0; z-index: 2147483646; background: rgba(20, 22, 25, .96); display: grid; place-items: center; padding: 70px 16px 24px; }
.lb[hidden] { display: none; }
.lb-inner img { max-height: 76vh; width: auto; margin: 0 auto; background: var(--g-3); min-width: min(600px, 90vw); min-height: 300px; object-fit: contain; }
.lb-cap { text-align: center; color: var(--muted-d); margin-top: 14px; }
.lb-btn { position: absolute; width: 52px; height: 52px; border: 0; background: var(--orange); color: var(--g); cursor: pointer; display: grid; place-items: center; }
.lb-btn svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.4; }
.lb-prev { left: 16px; top: 50%; } .lb-next { right: 16px; top: 50%; } .lb-close { right: 16px; top: 64px; }
body.lb-open { overflow: hidden; }

/* Footer */
.ftr { background: #141619; color: var(--muted-d); padding: 0 0 26px; }
.ftr-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.2fr; gap: 36px; padding-top: 56px; padding-bottom: 36px; }
.ftr .logo { margin-bottom: 16px; }
.ftr-h { font: 700 1rem/1 var(--head); letter-spacing: .18em; text-transform: uppercase; color: var(--orange); margin-bottom: 16px; }
.ftr p { font-size: .95rem; }
.ftr a { color: #fff; }
.ftr .demo-note { color: #8D9299; }
.ftr-hours { margin: 0; }
.ftr-hours div { padding: 8px 0; border-bottom: 1px solid var(--line-d); }
.ftr-hours dt { font: 700 .95rem/1.2 var(--head); text-transform: uppercase; letter-spacing: .08em; color: #fff; }
.ftr-hours dd { margin: 2px 0 0; font-size: .92rem; }
.nl { display: grid; gap: 10px; }
.nl label { color: var(--muted-d); font-size: .85rem; }
.nl input { background: var(--g-2); color: #fff; border-color: var(--line-d); }
.ftr-links ul { list-style: none; margin: 0; padding: 18px 0; display: flex; flex-wrap: wrap; gap: 6px 22px; border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); }
.ftr-links a { color: var(--muted-d); text-decoration: none; font: 600 .98rem/1 var(--head); text-transform: uppercase; letter-spacing: .06em; display: inline-block; padding: 8px 0; }
.ftr-links a:hover { color: var(--orange); }
.ftr-base { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; }
.ftr-base p { margin: 0; font-size: .86rem; color: #8D9299; }

/* Reveal */
.js-reveal .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.js-reveal .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Responsive */
@media (max-width: 1080px) {
  .svc-grid, .svc-3 { grid-template-columns: 1fr 1fr; }
  .feat4, .addons, .mechs, .ccards { grid-template-columns: 1fr 1fr; }
  .book { grid-template-columns: 1fr; }
  .ticket { position: static; }
  .proc { grid-template-columns: 1fr 1fr; }
  .proc li:nth-child(2) { border-right: 0; }
  .proc li:nth-child(-n+2) { border-bottom: 1px solid var(--line-d); }
  .miles { grid-template-columns: 1fr 1fr 1fr; }
  .miles li { border-bottom: 1px solid var(--line-d); }
  .ftr-grid { grid-template-columns: 1fr 1fr; }
  .cluster-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  .hero-in, .split, .dhero-in { grid-template-columns: 1fr; }
  .dhero-m { order: -1; max-width: 420px; }
  .quotes, .wash-mini, .plans { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dfacts { grid-template-columns: 1fr 1fr; }
  .dfacts div:nth-child(2) { border-right: 0; }
  .dfacts div:nth-child(-n+2) { border-bottom: 1px solid var(--line-d); }
  .fleet-strip { flex-direction: column; align-items: flex-start; }
  .badge-plate { left: 12px; bottom: 12px; }
}
@media (max-width: 560px) {
  .wrap { padding-left: 16px; padding-right: 16px; }
  .svc-grid, .svc-3, .feat4, .addons, .mechs, .ccards, .field-row, .field-row-3, .opts, .gal3, .kpis, .ftr-grid, .proc, .miles { grid-template-columns: 1fr; }
  .proc li, .miles li { border-right: 0 !important; border-bottom: 1px solid var(--line-d); }
  .cluster { padding: 14px; gap: 10px; }
  .g-val { font-size: 1.9rem; }
  .cluster-row { grid-template-columns: 1fr 1fr; }
  .cta-in .btns, .cta-in .btn { width: 100%; }
  .vtoggle { width: 100%; } .vtoggle button { flex: 1; padding: 0 8px; font-size: .9rem; }
  .ticket dl div { grid-template-columns: 1fr; gap: 2px; }
  .lb-prev, .lb-next { top: auto; bottom: 20px; }
  .lb-prev { left: calc(50% - 64px); } .lb-next { right: calc(50% - 64px); }
  .acc-panel p { padding-left: 0; }
  .odo span { font-size: 2.2rem; letter-spacing: .1em; }
}
.gal4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 860px) { .gal4 { grid-template-columns: 1fr 1fr; } }
.nav a, .hdr-cta, .hdr-phone { white-space: nowrap; }
@media (max-width: 1440px) { .hdr-phone span { display: none; } .nav a { padding: 10px 9px; font-size: .98rem; } }
.hdr-in > * { flex-shrink: 0; }
.hdr-in .nav { flex-shrink: 1; min-width: 0; }
@media (max-width: 1060px) { .nav a { padding: 14px 0; font-size: 1.6rem; } }
@media (max-width: 560px) { .hero-in { padding-top: 40px; padding-bottom: 48px; } }
