:root {
  --bg: #04070d;
  --bg-soft: #07101e;
  --panel: rgba(10, 18, 32, 0.78);
  --panel-solid: #0b1424;
  --panel-2: #0e1a2e;
  --line: rgba(155, 201, 255, 0.14);
  --line-strong: rgba(100, 183, 255, 0.34);
  --text: #f4f8ff;
  --muted: #91a1b8;
  --blue: #2f9bff;
  --blue-bright: #74c8ff;
  --cyan: #71e5ff;
  --green: #6df2bd;
  --danger: #ff7188;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
  --radius: 22px;
  --radius-sm: 14px;
  --shell: min(1240px, calc(100vw - 40px));
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 80% 4%, rgba(31, 117, 238, 0.14), transparent 27rem),
    radial-gradient(circle at 12% 28%, rgba(49, 211, 255, 0.06), transparent 24rem),
    var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.5;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .19;
  background-image: linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 70%);
  z-index: -2;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

.shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding: 112px 0; position: relative; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 1000; background: white; color: black; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.ambient { position: fixed; width: 380px; height: 380px; border-radius: 50%; filter: blur(110px); opacity: .12; pointer-events: none; z-index: -1; }
.ambient-one { background: var(--blue); right: -150px; top: 25vh; }
.ambient-two { background: var(--cyan); left: -190px; top: 68vh; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(4, 7, 13, .72);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-mark { width: 38px; height: 38px; border: 1px solid rgba(122, 206, 255, .58); border-radius: 10px; display: grid; place-items: center; position: relative; overflow: hidden; box-shadow: inset 0 0 22px rgba(47,155,255,.18), 0 0 24px rgba(47,155,255,.13); }
.brand-mark::before { content: ""; width: 22px; height: 15px; border: 3px solid var(--blue-bright); border-bottom: 0; transform: skewX(-18deg); border-radius: 4px 4px 0 0; }
.brand-mark span:first-child { position: absolute; width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; bottom: 7px; left: 7px; box-shadow: 18px 0 0 var(--cyan); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { letter-spacing: .12em; font-size: 15px; }
.brand-copy small { color: var(--muted); letter-spacing: .2em; font-size: 8px; margin-top: 6px; }
.main-nav { display: flex; align-items: center; gap: 28px; color: #b7c3d5; font-size: 14px; }
.main-nav a { transition: color .2s ease; }
.main-nav a:hover { color: white; }
.nav-cta { padding: 11px 16px; border: 1px solid var(--line-strong); border-radius: 10px; color: white !important; background: rgba(47,155,255,.09); }
.nav-toggle { display: none; border: 1px solid var(--line); background: transparent; border-radius: 10px; padding: 9px 12px; }

.hero { padding-top: 90px; min-height: 800px; display: grid; align-items: center; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(4,7,13,.98) 10%, rgba(4,7,13,.7) 55%, rgba(4,7,13,.2)); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--blue-bright); letter-spacing: .14em; text-transform: uppercase; font-size: 11px; font-weight: 750; }
.pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
.hero h1 { margin: 24px 0 24px; font-size: clamp(50px, 6.4vw, 88px); line-height: .96; letter-spacing: -.055em; max-width: 780px; }
.hero h1 span { color: transparent; background: linear-gradient(90deg, #fff 5%, #7bc8ff 52%, #2b7cff); -webkit-background-clip: text; background-clip: text; }
.hero-lede { color: #a9b7ca; font-size: 18px; line-height: 1.75; max-width: 650px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { appearance: none; border: 0; border-radius: 12px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; font-weight: 720; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: #04101d; background: linear-gradient(135deg, #a1e9ff, #42a6ff 66%, #3981ff); box-shadow: 0 12px 34px rgba(47,155,255,.28); }
.button.primary:hover { box-shadow: 0 16px 40px rgba(47,155,255,.38); }
.button.ghost { border: 1px solid var(--line-strong); background: rgba(12,24,43,.62); color: #e7f4ff; }
.hero-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 56px; padding-top: 26px; border-top: 1px solid var(--line); max-width: 690px; }
.hero-trust div { display: flex; flex-direction: column; gap: 4px; }
.hero-trust strong { font-size: 14px; }
.hero-trust span { color: var(--muted); font-size: 12px; }

.hero-visual { position: relative; min-height: 560px; display: grid; place-items: center; perspective: 1200px; }
.hero-card { position: relative; width: min(680px, 100%); border: 1px solid rgba(115, 197, 255, .25); background: rgba(8,15,27,.8); border-radius: 28px; overflow: hidden; box-shadow: 0 50px 100px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.04); transform: rotateY(-6deg) rotateX(2deg); }
.hero-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(255,255,255,.07), transparent 20%, transparent 70%, rgba(47,155,255,.06)); pointer-events: none; z-index: 2; }
.hero-card-top { position: absolute; z-index: 3; left: 24px; right: 24px; top: 20px; display: flex; justify-content: space-between; color: #cdeeff; font-size: 10px; letter-spacing: .17em; }
.status-dot { color: var(--green); }
.status-dot::before { content: ""; display: inline-block; width: 6px; height: 6px; background: var(--green); border-radius: 50%; margin-right: 7px; box-shadow: 0 0 10px var(--green); }
.hero-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.hero-car-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 18px 24px 23px; border-top: 1px solid var(--line); background: rgba(5,9,18,.9); }
.hero-car-meta div { display: flex; flex-direction: column; gap: 4px; }
.hero-car-meta small { font-size: 9px; letter-spacing: .15em; color: var(--muted); }
.hero-car-meta strong { font-size: 14px; }
.scan-line { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #8be2ff, transparent); box-shadow: 0 0 16px #58c7ff; top: 22%; animation: scan 5.5s ease-in-out infinite; z-index: 3; }
@keyframes scan { 0%,100% { top: 22%; opacity: 0; } 15%,85% { opacity: .7; } 50% { top: 73%; } }
.floating-chip { position: absolute; z-index: 5; display: flex; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid var(--line-strong); background: rgba(7,14,26,.88); backdrop-filter: blur(12px); border-radius: 12px; color: #dbefff; font-size: 11px; box-shadow: 0 16px 34px rgba(0,0,0,.35); }
.floating-chip span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: rgba(47,155,255,.16); color: var(--blue-bright); font-weight: 800; }
.chip-one { left: -25px; top: 120px; }
.chip-two { right: -20px; top: 270px; }
.chip-three { left: 65px; bottom: 40px; }

.brand-rail { overflow: hidden; border-block: 1px solid rgba(255,255,255,.06); background: rgba(9,15,26,.72); padding: 17px 0; }
.brand-track { width: max-content; display: flex; align-items: center; gap: 56px; animation: marquee 42s linear infinite; padding-left: 56px; }
.brand-track:hover { animation-play-state: paused; }
.brand-item { display: flex; align-items: center; gap: 10px; color: #aab9cc; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.brand-item::before { content: ""; width: 6px; height: 6px; background: var(--blue); transform: rotate(45deg); opacity: .72; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-heading { max-width: 720px; margin-bottom: 48px; }
.section-heading.compact { margin-bottom: 0; }
.section-heading h2, .specialty-copy h2, .trust-copy h2 { margin: 16px 0 18px; font-size: clamp(36px, 5vw, 62px); line-height: 1.02; letter-spacing: -.045em; }
.section-heading p, .specialty-copy > p, .trust-copy p { color: var(--muted); font-size: 17px; line-height: 1.7; }
.pathways { background: linear-gradient(180deg, transparent, rgba(11,24,44,.3), transparent); }
.path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.path-card { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: linear-gradient(160deg, rgba(16,28,48,.86), rgba(7,12,22,.92)); box-shadow: var(--shadow); transition: transform .3s ease, border-color .3s ease; }
.path-card:hover { transform: translateY(-6px); border-color: rgba(105,194,255,.35); }
.path-image { aspect-ratio: 16/8.4; overflow: hidden; position: relative; }
.path-image::after { content: ""; position: absolute; inset: auto 0 0; height: 44%; background: linear-gradient(transparent, rgba(6,11,20,.96)); }
.path-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.path-card:hover .path-image img { transform: scale(1.035); }
.path-body { padding: 28px 30px 32px; }
.path-label { color: var(--blue-bright); font-size: 10px; letter-spacing: .18em; font-weight: 800; }
.path-body h3 { font-size: 29px; margin: 13px 0 12px; letter-spacing: -.025em; }
.path-body p { color: var(--muted); line-height: 1.7; }
.path-body ul { list-style: none; padding: 0; margin: 22px 0 25px; display: grid; gap: 10px; }
.path-body li { display: flex; align-items: center; gap: 10px; color: #c9d7e8; font-size: 13px; }
.path-body li::before { content: "✓"; color: var(--cyan); font-weight: 800; }
.text-link { display: inline-flex; gap: 10px; color: #d9f4ff; font-weight: 740; font-size: 14px; }
.text-link span { color: var(--blue-bright); }

.catalog-section { background: #050a13; border-block: 1px solid rgba(255,255,255,.04); }
.catalog-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.catalog-count { display: flex; flex-direction: column; align-items: end; }
.catalog-count strong { font-size: 48px; letter-spacing: -.05em; }
.catalog-count span { color: var(--muted); text-transform: uppercase; font-size: 9px; letter-spacing: .16em; }
.filter-panel { display: grid; grid-template-columns: 1.55fr repeat(4, 1fr) auto; gap: 12px; align-items: end; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(11,20,35,.75); position: sticky; top: 88px; z-index: 15; backdrop-filter: blur(18px); }
.filter-panel label { display: flex; flex-direction: column; gap: 7px; color: #aebcd0; font-size: 11px; font-weight: 700; }
.filter-panel input, .filter-panel select { width: 100%; color: white; border: 1px solid rgba(130,180,240,.17); background: #08111f; border-radius: 10px; min-height: 44px; padding: 0 12px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.filter-panel input:focus, .filter-panel select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,155,255,.1); }
select { color-scheme: dark; }
.filter-reset { min-height: 44px; padding: 0 15px; border: 1px solid var(--line); border-radius: 10px; background: transparent; cursor: pointer; color: #c1cce0; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 26px; }
.vehicle-card { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: linear-gradient(155deg, rgba(14,24,42,.92), rgba(7,12,21,.96)); transition: transform .3s ease, border-color .3s ease; min-width: 0; }
.vehicle-card:hover { transform: translateY(-5px); border-color: rgba(105,194,255,.34); }
.vehicle-image { position: relative; aspect-ratio: 16/9.6; overflow: hidden; background: #08101c; }
.vehicle-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.vehicle-card:hover .vehicle-image img { transform: scale(1.04); }
.vehicle-badges { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; align-items: start; }
.badge { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border: 1px solid rgba(132,202,255,.27); border-radius: 7px; background: rgba(4,9,18,.76); backdrop-filter: blur(10px); color: #cdeeff; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.badge.specialty { color: #a7f0ff; border-color: rgba(76,224,255,.36); }
.vehicle-body { padding: 19px 19px 20px; }
.vehicle-title-row { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.vehicle-title-row h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.vehicle-title-row span { color: var(--muted); font-size: 11px; white-space: nowrap; }
.vehicle-config { color: #8fa1b9; font-size: 12px; margin: 8px 0 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vehicle-price { border-top: 1px solid var(--line); padding-top: 15px; display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.vehicle-price div { display: flex; flex-direction: column; gap: 3px; }
.vehicle-price small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.vehicle-price strong { font-size: 18px; }
.vehicle-price button { border: 0; background: transparent; color: var(--blue-bright); cursor: pointer; font-weight: 780; font-size: 12px; }
.catalog-footer { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-top: 34px; text-align: center; }
.catalog-footer p { max-width: 700px; color: var(--muted); font-size: 12px; }
.empty-state { grid-column: 1 / -1; padding: 60px 20px; text-align: center; border: 1px dashed var(--line-strong); border-radius: 18px; color: var(--muted); }

.specialty-feature { overflow: hidden; }
.specialty-feature::before { content: ""; position: absolute; inset: 10% -20% 5% 44%; background: radial-gradient(circle, rgba(36,133,255,.14), transparent 55%); }
.specialty-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; position: relative; }
.spec-list { display: grid; gap: 18px; margin: 34px 0; }
.spec-list > div { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; }
.spec-list > div > span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line-strong); border-radius: 11px; color: var(--blue-bright); font-size: 11px; font-weight: 800; background: rgba(47,155,255,.06); }
.spec-list p { margin: 0; color: var(--muted); font-size: 14px; }
.spec-list p strong { display: block; color: white; font-size: 15px; margin-bottom: 3px; }
.spec-console { border: 1px solid rgba(112,193,255,.28); background: rgba(7,14,26,.83); border-radius: 22px; padding: 16px; box-shadow: 0 50px 100px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.04); position: relative; }
.spec-console::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; background: linear-gradient(140deg, rgba(114,211,255,.12), transparent 30%, transparent 70%, rgba(43,124,255,.12)); }
.console-top { display: flex; justify-content: space-between; padding: 5px 7px 14px; color: #8bbde2; font-size: 9px; letter-spacing: .14em; }
.console-top span:last-child { color: var(--green); }
.console-vehicle { border-radius: 15px; overflow: hidden; border: 1px solid var(--line); }
.console-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); margin-top: 12px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.console-grid div { display: flex; flex-direction: column; gap: 5px; padding: 15px; background: #091322; }
.console-grid small { color: var(--muted); font-size: 8px; letter-spacing: .14em; }
.console-grid strong { font-size: 12px; }
.console-log { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--line); background: #07101d; border-radius: 12px; display: grid; gap: 8px; }
.console-log p { margin: 0; color: #a8b8cb; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.console-log span { color: var(--green); margin-right: 8px; }

.process { background: linear-gradient(180deg, rgba(10,18,32,.36), transparent); }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.process-grid article { background: #08111f; padding: 30px 26px 34px; min-height: 260px; }
.process-grid article > span { color: var(--blue-bright); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.process-grid h3 { margin: 54px 0 12px; font-size: 21px; }
.process-grid p { color: var(--muted); font-size: 13px; line-height: 1.7; }

.trust-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.trust-cards { display: grid; gap: 12px; }
.trust-cards > div { display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: rgba(9,17,30,.72); }
.trust-cards > div > span { grid-row: span 2; width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; border: 1px solid var(--line-strong); color: var(--blue-bright); font-size: 10px; font-weight: 800; }
.trust-cards strong { font-size: 15px; }
.trust-cards p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.site-footer { padding: 70px 0 28px; border-top: 1px solid rgba(255,255,255,.06); background: #03060b; }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); gap: 55px; }
.footer-grid > div { display: flex; flex-direction: column; align-items: start; gap: 10px; }
.footer-grid > div:first-child p { color: var(--muted); max-width: 310px; font-size: 13px; line-height: 1.7; }
.footer-grid strong { font-size: 12px; margin-bottom: 6px; }
.footer-grid a, .footer-grid span { color: #7f8fa5; font-size: 12px; }
.footer-grid a:hover { color: white; }
.footer-bottom { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 45px; display: flex; justify-content: space-between; color: #64738a; font-size: 10px; }

.vehicle-dialog { width: min(760px, calc(100vw - 30px)); border: 1px solid var(--line-strong); border-radius: 22px; background: #08111f; color: white; padding: 0; box-shadow: 0 50px 120px rgba(0,0,0,.72); }
.vehicle-dialog::backdrop { background: rgba(1,4,8,.82); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: rgba(4,9,17,.74); font-size: 23px; cursor: pointer; z-index: 2; }
.dialog-hero { position: relative; }
.dialog-hero img { width: 100%; aspect-ratio: 16/8.4; object-fit: cover; }
.dialog-body { padding: 28px; }
.dialog-body .eyebrow { margin-bottom: 10px; }
.dialog-body h2 { font-size: 36px; margin: 0 0 7px; }
.dialog-body > p { color: var(--muted); }
.dialog-configs { display: grid; gap: 9px; margin: 22px 0; }
.dialog-configs div { padding: 13px 14px; border: 1px solid var(--line); border-radius: 11px; color: #c8d7ea; background: #07101c; font-size: 12px; }
.dialog-estimate { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.dialog-estimate div { display: flex; flex-direction: column; gap: 3px; }
.dialog-estimate small { color: var(--muted); }
.dialog-estimate strong { font-size: 26px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .16s; }
.delay-3 { transition-delay: .24s; }

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero { padding-top: 70px; }
  .hero-copy { max-width: 850px; }
  .hero-visual { min-height: 500px; }
  .hero-card { max-width: 760px; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-panel { grid-template-columns: repeat(3, 1fr); }
  .search-field { grid-column: span 2; }
  .specialty-grid, .trust-grid { grid-template-columns: 1fr; gap: 45px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 820px) {
  :root { --shell: min(100% - 28px, 720px); }
  .section-pad { padding: 82px 0; }
  .main-nav { position: absolute; left: 14px; right: 14px; top: 70px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(5,10,18,.97); box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav a { padding: 13px 12px; }
  .nav-toggle { display: block; }
  .hero { min-height: auto; padding-top: 60px; }
  .hero h1 { font-size: clamp(47px, 12vw, 72px); }
  .hero-visual { min-height: 390px; }
  .floating-chip { display: none; }
  .hero-card { transform: none; }
  .path-grid { grid-template-columns: 1fr; }
  .filter-panel { position: relative; top: auto; grid-template-columns: 1fr 1fr; }
  .search-field { grid-column: 1 / -1; }
  .catalog-head { align-items: start; }
  .catalog-count strong { font-size: 38px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article { min-height: 210px; }
  .process-grid h3 { margin-top: 34px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  .section-pad { padding: 70px 0; }
  .hero-actions, .hero-actions .button { width: 100%; }
  .hero-trust { grid-template-columns: 1fr; gap: 12px; }
  .hero-trust div { padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.05); }
  .hero-visual { min-height: 310px; }
  .hero-card-top { left: 13px; right: 13px; top: 12px; }
  .hero-car-meta { grid-template-columns: 1fr; }
  .catalog-head { flex-direction: column; }
  .catalog-count { align-items: start; }
  .filter-panel { grid-template-columns: 1fr; }
  .search-field { grid-column: auto; }
  .catalog-grid { grid-template-columns: 1fr; }
  .console-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .dialog-estimate { flex-direction: column; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Consumer-ready model media and trim-aware profile additions */
.hero-card img,
.path-image img,
.console-vehicle img {
  object-position: center 58%;
}

.vehicle-card.reference-only .vehicle-image img {
  object-fit: cover;
  filter: saturate(.82) contrast(.96);
}

.photo-badge {
  margin-left: auto;
  max-width: 185px;
  text-align: center;
  justify-content: center;
}
.photo-badge.trim,
.dialog-photo-badge.trim,
.preview-photo-badge.trim {
  color: #082013;
  border-color: rgba(109,242,189,.72);
  background: rgba(109,242,189,.92);
}
.photo-badge.generation,
.dialog-photo-badge.generation,
.preview-photo-badge.generation {
  color: #dff5ff;
  border-color: rgba(113,229,255,.52);
  background: rgba(6,22,34,.82);
}

.photo-badge.artwork,
.dialog-photo-badge.artwork,
.preview-photo-badge.artwork,
.vehicle-photo-chip.artwork {
  color: #b9ddff;
  border-color: rgba(72, 165, 255, .42);
  background: rgba(26, 103, 182, .3);
}
.photo-badge.reference,
.dialog-photo-badge.reference,
.preview-photo-badge.reference {
  color: #d2d8e1;
  border-color: rgba(180,195,215,.32);
  background: rgba(8,12,20,.8);
}
.inventory-disclosure {
  position: absolute;
  left: 12px;
  bottom: 11px;
  max-width: calc(100% - 24px);
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
  background: rgba(3,7,13,.76);
  backdrop-filter: blur(10px);
  color: rgba(226,237,250,.78);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
}
.photo-line {
  min-height: 30px;
  margin: -7px 0 13px;
  display: flex;
  align-items: start;
}
.photo-credit {
  color: #71849c;
  font-size: 9px;
  line-height: 1.45;
}
a.photo-credit:hover { color: var(--blue-bright); }
.photo-credit.muted { color: #65758a; }

.dialog-photo-badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  border: 1px solid rgba(132,202,255,.27);
  border-radius: 7px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
}
.dialog-photo-badge { left: 17px; bottom: 16px; }
.dialog-config-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 21px 0 14px;
  color: #aebcd0;
  font-size: 11px;
  font-weight: 700;
}
.dialog-config-field select {
  width: 100%;
  min-height: 48px;
  padding: 0 12px;
  color: white;
  border: 1px solid rgba(130,180,240,.24);
  border-radius: 11px;
  background: #07101c;
  outline: none;
}
.dialog-config-field select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(47,155,255,.1);
}
.dialog-media-note {
  min-height: 28px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 9px;
  background: rgba(4,9,17,.58);
}
.dialog-verification-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 18px 0 4px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--line);
  overflow: hidden;
}
.dialog-verification-grid div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 13px;
  background: #07101c;
}
.dialog-verification-grid span {
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.dialog-verification-grid strong { font-size: 11px; }
.dialog-estimate > div > span {
  margin-top: 2px;
  color: #71849c;
  font-size: 9px;
}

.credits-page {
  min-height: 100vh;
  padding: 70px 0 100px;
}
.credits-header { max-width: 820px; margin-bottom: 35px; }
.credits-header h1 { margin: 18px 0; font-size: clamp(44px, 7vw, 76px); line-height: .98; letter-spacing: -.05em; }
.credits-header p { color: var(--muted); line-height: 1.75; }
.credit-list { display: grid; gap: 12px; }
.credit-row {
  display: grid;
  grid-template-columns: 150px 1.2fr .8fr auto;
  gap: 20px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(9,17,30,.78);
}
.credit-row img { width: 150px; aspect-ratio: 16/10; object-fit: cover; border-radius: 9px; }
.credit-row strong { display: block; margin-bottom: 4px; }
.credit-row p, .credit-row span { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.credit-row a { color: var(--blue-bright); font-size: 11px; font-weight: 750; }

@media (max-width: 820px) {
  .dialog-verification-grid { grid-template-columns: 1fr; }
  .credit-row { grid-template-columns: 110px 1fr; }
  .credit-row img { width: 110px; }
  .credit-row > :nth-child(3), .credit-row > :nth-child(4) { grid-column: 2; }
}

@media (max-width: 520px) {
  .credit-row { grid-template-columns: 1fr; }
  .credit-row img { width: 100%; }
  .credit-row > :nth-child(3), .credit-row > :nth-child(4) { grid-column: auto; }
}

/* --------------------------------------------------------------------------
   Farlands Auto marketplace redesign
   -------------------------------------------------------------------------- */
.marketplace-ui {
  --bg: #050b14;
  --bg-soft: #091321;
  --panel: #0b1726;
  --panel-2: #0e1c2d;
  --line: rgba(167, 197, 229, .14);
  --line-strong: rgba(87, 167, 255, .35);
  --blue: #1677ff;
  --blue-bright: #4ca6ff;
  --cyan: #77d8ff;
  --muted: #91a0b4;
  --shell: min(1500px, calc(100% - 42px));
  --radius: 18px;
  --shadow: 0 24px 70px rgba(0, 0, 0, .28);
  background: var(--bg);
  color: #f7fbff;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.marketplace-ui * { box-sizing: border-box; }
.marketplace-ui a { color: inherit; text-decoration: none; }
.marketplace-ui img { display: block; max-width: 100%; }
.marketplace-ui button, .marketplace-ui input, .marketplace-ui select, .marketplace-ui textarea { font: inherit; color: inherit; }
.marketplace-ui .section-pad { padding: 92px 0; }
.marketplace-ui .site-header {
  position: sticky;
  top: 0;
  z-index: 90;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(4, 10, 18, .94);
  backdrop-filter: blur(18px);
}
.marketplace-ui .nav-wrap { min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.marketplace-ui .brand { display: inline-flex; align-items: center; gap: 12px; }
.marketplace-ui .brand-mark {
  width: 38px;
  height: 32px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  position: relative;
  transform: skewX(-8deg);
  overflow: visible;
}
.marketplace-ui .brand-mark::before,
.marketplace-ui .brand-mark::after,
.marketplace-ui .brand-mark i {
  content: "";
  position: absolute;
  display: block;
  border: 0;
  border-radius: 1.5px;
  background: linear-gradient(135deg, #72c7ff 0%, #318fff 52%, #176be0 100%);
  box-shadow: none;
  transform: none;
}
.marketplace-ui .brand-mark::before { left: 1px; top: 1px; width: 36px; height: 7px; }
.marketplace-ui .brand-mark::after { left: 1px; top: 12px; width: 27px; height: 7px; }
.marketplace-ui .brand-mark i:first-child { left: 1px; top: 23px; width: 18px; height: 7px; }
.marketplace-ui .brand-mark i:last-child { display: none; }
.marketplace-ui .brand-copy { display: flex; flex-direction: column; line-height: 1; }
.marketplace-ui .brand-copy strong { font-size: 16px; letter-spacing: .045em; font-style: italic; }
.marketplace-ui .brand-copy em { color: var(--blue-bright); font-style: inherit; }
.marketplace-ui .brand-copy small { margin-top: 6px; color: #6f8299; font-size: 8px; letter-spacing: .18em; }
.marketplace-ui .main-nav { justify-self: center; display: flex; gap: 28px; font-size: 13px; color: #b7c5d5; }
.marketplace-ui .main-nav a { padding: 26px 0; transition: color .2s ease; }
.marketplace-ui .main-nav a:hover { color: white; }
.marketplace-ui .main-nav a[aria-current="page"] { color: #65b4ff; }
.marketplace-ui .nav-meta { display: flex; align-items: center; gap: 16px; }
.marketplace-ui .location-chip { display: flex; flex-direction: column; padding-right: 16px; border-right: 1px solid var(--line); }
.marketplace-ui .location-chip b { font-size: 11px; }
.marketplace-ui .location-chip small { margin-top: 4px; color: #70839a; font-size: 9px; }
.marketplace-ui .nav-cta { min-height: 40px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid rgba(71,160,255,.4); border-radius: 9px; background: #0d5ed7; color: white !important; font-size: 12px; font-weight: 750; }

.marketplace-ui .brand-rail {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #07101b;
  padding: 14px 0;
}
.marketplace-ui .brand-rail::before,
.marketplace-ui .brand-rail::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 110px;
  z-index: 3;
  pointer-events: none;
}
.marketplace-ui .brand-rail::before { left: 0; background: linear-gradient(90deg, #07101b, transparent); }
.marketplace-ui .brand-rail::after { right: 0; background: linear-gradient(-90deg, #07101b, transparent); }
.marketplace-ui .brand-track { width: max-content; display: flex; align-items: center; gap: 12px; padding: 0 12px; animation: marketplaceMarquee 64s linear infinite; }
.marketplace-ui .brand-track:hover { animation-play-state: paused; }
.marketplace-ui .brand-item {
  width: 116px;
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
  color: #aab8c9;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: none;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.marketplace-ui .brand-item::before { display: none; }
.marketplace-ui .brand-item:hover { color: white; border-color: rgba(70,154,255,.3); background: rgba(41,119,213,.09); }
.marketplace-ui .brand-item img { width: 34px; height: 25px; object-fit: contain; filter: brightness(0) invert(1); opacity: .88; }
.marketplace-ui .brand-item[data-brand="Porsche"] img,
.marketplace-ui .brand-item[data-brand="Ferrari"] img,
.marketplace-ui .brand-item[data-brand="Lamborghini"] img { height: 30px; }

.marketplace-ui .search-dock { padding: 12px 0 0; background: var(--bg); }
.marketplace-ui .marketplace-search {
  display: grid;
  grid-template-columns: minmax(260px, 1.65fr) repeat(4, minmax(135px, .75fr)) auto auto;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(113, 165, 220, .2);
  border-radius: 14px;
  background: #091522;
  box-shadow: 0 12px 36px rgba(0,0,0,.22);
}
.marketplace-ui .marketplace-search label { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding: 7px 11px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: #0b1827; }
.marketplace-ui .marketplace-search label > span { color: #75879d; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.marketplace-ui .marketplace-search input,
.marketplace-ui .marketplace-search select { width: 100%; min-height: 26px; border: 0; outline: 0; background: transparent; color: white; font-size: 12px; }
.marketplace-ui .marketplace-search select { cursor: pointer; }
.marketplace-ui .marketplace-search option { color: #08111c; }
.marketplace-ui .search-field { position: relative; padding-left: 38px !important; }
.marketplace-ui .search-field::before { content: "⌕"; position: absolute; left: 13px; top: 17px; color: #71a9dc; font-size: 20px; }
.marketplace-ui .search-submit { min-width: 154px; border: 0; border-radius: 9px; background: linear-gradient(135deg, #2385ff, #0961d7); font-weight: 780; font-size: 11px; cursor: pointer; box-shadow: 0 8px 20px rgba(14,101,215,.3); }
.marketplace-ui .filter-reset { border: 0; border-radius: 9px; background: transparent; color: #6f8399; font-size: 10px; cursor: pointer; }
.marketplace-ui .filter-reset:hover { color: white; }

.marketplace-ui .marketplace-hero { min-height: 0; padding: 14px 0 0; overflow: visible; display: block; }
.marketplace-ui .marketplace-hero::before { display: none; }
.marketplace-ui .hero-banner {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(132,171,214,.16);
  border-radius: 18px;
  background: #0b1724;
  box-shadow: var(--shadow);
}
.marketplace-ui .hero-media { position: absolute; inset: 0; }
.marketplace-ui .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 52%; filter: saturate(.8) contrast(1.02) brightness(.74); }
.marketplace-ui .hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,10,18,.97) 0%, rgba(4,10,18,.88) 31%, rgba(4,10,18,.34) 62%, rgba(4,10,18,.08) 100%), linear-gradient(0deg, rgba(3,8,14,.52), transparent 45%); }
.marketplace-ui .hero-copy { position: relative; z-index: 2; width: min(610px, 58%); padding: 62px 0 78px 62px; }
.marketplace-ui .eyebrow { color: #70b7ff; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.marketplace-ui .hero h1 { margin: 14px 0 17px; font-size: clamp(48px, 5.4vw, 78px); line-height: .96; letter-spacing: -.05em; }
.marketplace-ui .hero h1 span { color: #2c8fff; background: none; -webkit-text-fill-color: initial; }
.marketplace-ui .hero-lede { max-width: 550px; color: #bdc8d6; font-size: 16px; line-height: 1.6; }
.marketplace-ui .hero-actions { margin-top: 26px; display: flex; gap: 11px; }
.marketplace-ui .button { min-height: 46px; border-radius: 9px; padding: 0 18px; font-size: 12px; font-weight: 760; }
.marketplace-ui .button.primary { color: white; background: linear-gradient(135deg, #2385ff, #0961d7); box-shadow: 0 10px 25px rgba(14,101,215,.25); }
.marketplace-ui .button.ghost { color: #e7eff8; border: 1px solid rgba(255,255,255,.18); background: rgba(8,18,30,.7); }
.marketplace-ui .hero-proof {
  position: absolute;
  right: 22px;
  bottom: 18px;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  min-width: 580px;
  border: 1px solid rgba(142,190,241,.22);
  border-radius: 13px;
  overflow: hidden;
  background: rgba(6,16,27,.88);
  backdrop-filter: blur(14px);
}
.marketplace-ui .hero-proof > div { display: flex; align-items: center; gap: 11px; padding: 13px 17px; border-right: 1px solid var(--line); }
.marketplace-ui .hero-proof > div:last-child { border-right: 0; }
.marketplace-ui .proof-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(79,164,255,.38); border-radius: 8px; color: #52aaff; }
.marketplace-ui .hero-proof p { display: flex; flex-direction: column; margin: 0; }
.marketplace-ui .hero-proof strong { font-size: 11px; }
.marketplace-ui .hero-proof small { margin-top: 3px; color: #7e91a8; font-size: 9px; }

.marketplace-ui .catalog-section { padding-top: 54px; background: var(--bg); border: 0; }
.marketplace-ui .catalog-head { align-items: end; margin-bottom: 0; }
.marketplace-ui .catalog-section .search-dock { margin: 30px 0 26px; padding-top: 0; }
.marketplace-ui .section-heading h2,
.marketplace-ui .trust-copy h2 { margin: 13px 0 15px; font-size: clamp(34px, 4vw, 54px); line-height: 1.02; }
.marketplace-ui .section-heading p,
.marketplace-ui .trust-copy p { color: #8fa0b5; font-size: 15px; line-height: 1.65; }
.marketplace-ui .catalog-count strong { font-size: 36px; }
.marketplace-ui .catalog-tabs { display: flex; gap: 22px; margin: 0 0 28px; border-bottom: 1px solid var(--line); }
.marketplace-ui .catalog-tabs button { position: relative; padding: 0 0 12px; border: 0; background: transparent; color: #8c9bae; font-size: 11px; font-weight: 700; cursor: pointer; }
.marketplace-ui .catalog-tabs button.active { color: #58aaff; }
.marketplace-ui .catalog-tabs button.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #2586ff; }
.marketplace-ui .catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.marketplace-ui .vehicle-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(150,183,218,.14);
  border-radius: 13px;
  background: #0a1522;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.marketplace-ui .vehicle-card:hover { transform: translateY(-4px); border-color: rgba(75,157,245,.36); box-shadow: 0 21px 42px rgba(0,0,0,.28); }
.marketplace-ui .vehicle-image { position: relative; aspect-ratio: 16/9.5; overflow: hidden; background: #101c29; }
.marketplace-ui .vehicle-image::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(5,13,22,.76)); pointer-events: none; }
.marketplace-ui .vehicle-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.marketplace-ui .vehicle-card:hover .vehicle-image img { transform: scale(1.025); }
.marketplace-ui .vehicle-badges { position: absolute; z-index: 2; left: 9px; top: 9px; display: flex; gap: 6px; }
.marketplace-ui .badge { padding: 5px 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: rgba(5,12,20,.7); backdrop-filter: blur(9px); color: #d8e5f1; font-size: 8px; letter-spacing: .04em; }
.marketplace-ui .badge.everyday { display: none; }
.marketplace-ui .badge.specialty { color: #9ed3ff; border-color: rgba(74,164,255,.35); }
.marketplace-ui .inventory-disclosure { position: absolute; z-index: 2; left: 10px; bottom: 8px; color: rgba(255,255,255,.68); font-size: 7px; font-weight: 700; letter-spacing: .08em; }
.marketplace-ui .vehicle-body { padding: 14px 14px 15px; }
.marketplace-ui .vehicle-title-row { display: flex; flex-direction: column; align-items: start; gap: 2px; }
.marketplace-ui .vehicle-title-row h3 { margin: 0; font-size: 15px; letter-spacing: -.015em; }
.marketplace-ui .vehicle-title-row span { display: none; }
.marketplace-ui .vehicle-config { margin: 3px 0 0; color: #73aee8; font-size: 11px; }
.marketplace-ui .vehicle-specs { display: flex; flex-wrap: wrap; gap: 8px 12px; min-height: 38px; margin: 12px 0; padding-bottom: 11px; border-bottom: 1px solid var(--line); color: #9aabbe; font-size: 9px; }
.marketplace-ui .vehicle-specs span { display: inline-flex; align-items: center; gap: 5px; }
.marketplace-ui .vehicle-specs span::before { content: "•"; color: #4e9bf0; }
.marketplace-ui .photo-line { display: none; }
.marketplace-ui .vehicle-price { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.marketplace-ui .vehicle-price div { display: flex; flex-direction: column; gap: 3px; }
.marketplace-ui .vehicle-price small { color: #72849a; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.marketplace-ui .vehicle-price strong { color: #4ba0ff; font-size: 15px; letter-spacing: -.02em; }
.marketplace-ui .vehicle-price button { border: 0; background: transparent; color: #d8e8f8; font-size: 10px; cursor: pointer; }
.marketplace-ui .catalog-footer { margin-top: 24px; }
.marketplace-ui .catalog-footer p { color: #6f8095; font-size: 10px; }

.marketplace-ui .pathways { background: #07101a; border-block: 1px solid rgba(255,255,255,.05); }
.marketplace-ui .path-grid { gap: 18px; }
.marketplace-ui .path-card { border-radius: 15px; background: #0a1522; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.marketplace-ui .path-image { aspect-ratio: 16/7.4; }
.marketplace-ui .path-body { padding: 25px 27px 29px; }
.marketplace-ui .path-body h3 { font-size: 25px; }
.marketplace-ui .process { background: var(--bg); }
.marketplace-ui .process-grid { border-radius: 15px; }
.marketplace-ui .process-grid article { background: #0a1522; min-height: 230px; }
.marketplace-ui .process-grid h3 { margin-top: 44px; }

.marketplace-ui .trust-section { background: var(--bg); }
.marketplace-ui .trust-cards > div { border-radius: 12px; background: #0a1522; }
.marketplace-ui .specialist-cta { padding-top: 24px; background: var(--bg); }
.marketplace-ui .specialist-cta-card { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 38px 42px; border: 1px solid rgba(73,161,252,.24); border-radius: 16px; background: linear-gradient(120deg, rgba(22,72,125,.2), rgba(8,20,34,.92)); }
.marketplace-ui .specialist-cta-card h2 { margin: 10px 0 8px; font-size: clamp(28px, 3.2vw, 42px); letter-spacing: -.04em; }
.marketplace-ui .specialist-cta-card p { max-width: 680px; margin: 0; color: #91a4b9; line-height: 1.6; }
.marketplace-ui .specialist-cta-card .button { flex: 0 0 auto; }
.marketplace-ui .site-footer { background: #03070c; }
.marketplace-ui .footer-brand .brand-mark { transform: skewX(-8deg); }

@keyframes marketplaceMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (max-width: 1220px) {
  .marketplace-ui .nav-wrap { grid-template-columns: auto 1fr auto; }
  .marketplace-ui .main-nav { gap: 17px; }
  .marketplace-ui .location-chip { display: none; }
  .marketplace-ui .marketplace-search { grid-template-columns: minmax(240px, 1.6fr) repeat(2, minmax(135px, .8fr)) auto; }
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) { display: none; }
  .marketplace-ui .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .marketplace-ui { --shell: min(100% - 28px, 760px); }
  .marketplace-ui .nav-wrap { grid-template-columns: auto auto; }
  .marketplace-ui .nav-toggle { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; justify-self: end; gap: 9px; padding: 0 14px; border: 1px solid rgba(76,162,250,.34); border-radius: 10px; background: linear-gradient(145deg, #10243a, #0a1726); color: #eaf5ff; font-size: 11px; font-weight: 780; letter-spacing: .04em; box-shadow: inset 0 1px rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.2); cursor: pointer; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
  .marketplace-ui .nav-toggle:hover,
  .marketplace-ui .nav-toggle:focus-visible { border-color: rgba(87,179,255,.62); background: linear-gradient(145deg, #15304d, #0c1c2e); box-shadow: 0 0 0 3px rgba(47,155,255,.1), 0 9px 22px rgba(0,0,0,.24); outline: 0; }
  .marketplace-ui .nav-toggle[aria-expanded="true"] { border-color: rgba(87,179,255,.58); background: #102a46; }
  .marketplace-ui .nav-toggle-icon { width: 16px; height: 12px; position: relative; display: inline-flex; flex-direction: column; justify-content: space-between; }
  .marketplace-ui .nav-toggle-icon i { width: 16px; height: 1.5px; display: block; border-radius: 2px; background: #76bdff; transform-origin: center; transition: transform .2s ease, opacity .2s ease; }
  .marketplace-ui .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:first-child { transform: translateY(5.25px) rotate(45deg); }
  .marketplace-ui .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(2) { opacity: 0; }
  .marketplace-ui .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:last-child { transform: translateY(-5.25px) rotate(-45deg); }
  .marketplace-ui .main-nav { position: absolute; top: 72px; left: 14px; right: 14px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: #07111d; box-shadow: var(--shadow); }
  .marketplace-ui .main-nav.open { display: flex; }
  .marketplace-ui .main-nav a { padding: 13px; border-bottom: 1px solid rgba(255,255,255,.05); }
  .marketplace-ui .nav-meta { display: none; }
  .marketplace-ui .marketplace-search { grid-template-columns: 1fr 1fr; }
  .marketplace-ui .marketplace-search .search-field { grid-column: 1 / -1; }
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) { display: flex; }
  .marketplace-ui .search-submit { min-height: 48px; }
  .marketplace-ui .hero-banner { min-height: 520px; }
  .marketplace-ui .hero-copy { width: 100%; padding: 55px 35px 145px; }
  .marketplace-ui .hero-overlay { background: linear-gradient(90deg, rgba(4,10,18,.96), rgba(4,10,18,.62)), linear-gradient(0deg, rgba(4,10,18,.8), transparent 60%); }
  .marketplace-ui .hero-proof { left: 18px; right: 18px; min-width: 0; grid-template-columns: 1fr; }
  .marketplace-ui .hero-proof > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .marketplace-ui .hero-proof > div:last-child { border-bottom: 0; }
  .marketplace-ui .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marketplace-ui .catalog-head { align-items: start; }
  .marketplace-ui .catalog-count { display: none; }
}
@media (max-width: 620px) {
  .marketplace-ui { --shell: calc(100% - 20px); }
  .marketplace-ui #main { display: flex; flex-direction: column; }
  .marketplace-ui #main > .brand-rail { order: 1; }
  .marketplace-ui #main > .marketplace-hero { order: 2; }
  .marketplace-ui #main > .catalog-section { order: 3; }
  .marketplace-ui #main > .pathways { order: 4; }
  .marketplace-ui #main > .process { order: 5; }
  .marketplace-ui #main > .trust-section { order: 6; }
  .marketplace-ui #main > .specialist-cta { order: 7; }
  .marketplace-ui .section-pad { padding: 66px 0; }
  .marketplace-ui .brand-copy small { display: none; }
  .marketplace-ui .brand-copy strong { font-size: 14px; }
  .marketplace-ui .brand-item { width: 94px; min-height: 56px; }
  .marketplace-ui .brand-item img { width: 29px; height: 21px; }
  .marketplace-ui .marketplace-search { grid-template-columns: 1fr; }
  .marketplace-ui .marketplace-search .search-field { grid-column: auto; }
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) { display: none; }
  .marketplace-ui .filter-reset { min-height: 38px; }
  .marketplace-ui .hero-banner { min-height: 555px; border-radius: 14px; }
  .marketplace-ui .hero-media img { object-position: 64% center; }
  .marketplace-ui .hero-copy { padding: 42px 22px 205px; }
  .marketplace-ui .hero h1 { font-size: 48px; }
  .marketplace-ui .hero-lede { font-size: 14px; }
  .marketplace-ui .hero-actions { flex-direction: column; align-items: stretch; }
  .marketplace-ui .hero-proof { left: 12px; right: 12px; bottom: 12px; }
  .marketplace-ui .catalog-tabs { overflow-x: auto; gap: 18px; }
  .marketplace-ui .catalog-tabs button { white-space: nowrap; }
  .marketplace-ui .catalog-head { gap: 16px; }
  .marketplace-ui .catalog-section .search-dock { margin: 24px 0 22px; }
  .marketplace-ui .catalog-tabs { margin-bottom: 22px; padding-bottom: 2px; }
  .marketplace-ui .catalog-grid { grid-template-columns: 1fr; }
  .marketplace-ui .vehicle-image { aspect-ratio: 16/9; }
  .marketplace-ui .specialist-cta-card { align-items: stretch; flex-direction: column; gap: 24px; padding: 28px 22px; }
  .marketplace-ui .specialist-cta-card .button { width: 100%; }
  .marketplace-ui .path-grid,
  .marketplace-ui .process-grid,
  .marketplace-ui .trust-grid,
  .marketplace-ui .footer-grid { grid-template-columns: 1fr; }
}

.contact-main { padding: 72px 0 100px; }
.contact-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(520px, 1.2fr); gap: clamp(50px, 8vw, 120px); align-items: start; }
.contact-intro { position: sticky; top: 42px; padding-top: 28px; }
.contact-intro h1 { margin: 17px 0 22px; font-size: clamp(46px, 5vw, 70px); line-height: .98; letter-spacing: -.055em; }
.contact-intro h1 span { color: #348fff; }
.contact-intro > p { max-width: 520px; margin: 0; color: #91a3b7; font-size: 15px; line-height: 1.72; }
.contact-card { min-height: 0; }
@media (max-width: 900px) { .contact-layout { grid-template-columns: 1fr; gap: 42px; } .contact-intro { position: static; padding-top: 0; } }
@media (max-width: 620px) { .contact-main { padding: 34px 0 70px; } .contact-intro h1 { font-size: 44px; } }

.info-page main { overflow: hidden; }
.info-hero { padding: 108px 0 96px; border-bottom: 1px solid rgba(255,255,255,.05); background: radial-gradient(circle at 80% 25%, rgba(39,137,240,.11), transparent 30rem); }
.info-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr); gap: clamp(60px, 9vw, 140px); align-items: center; }
.about-simple { min-height: 0; padding: clamp(78px, 9vw, 126px) 0 clamp(96px, 11vw, 150px); }
.about-simple .info-hero-grid { grid-template-columns: minmax(0, 900px); }
.about-simple .info-hero h1 { max-width: 820px; margin-bottom: 34px; font-size: clamp(50px, 5.4vw, 76px); line-height: 1.01; }
.about-simple .info-hero p { max-width: 760px; margin: 0 0 19px; line-height: 1.78; }
.about-status { max-width: 760px; margin-top: 36px; padding: 24px 26px; border: 1px solid rgba(76,162,250,.24); border-radius: 14px; background: linear-gradient(145deg, rgba(18,49,82,.36), rgba(7,17,29,.78)); }
.about-status strong { display: block; margin-bottom: 9px; color: #70b9ff; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.about-simple .info-hero .about-status p { margin: 0; color: #a9bacb; font-size: 14px; line-height: 1.7; }
.about-simple .hero-actions { margin-top: 34px; }
.about-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.investment-button { border-color: rgba(109,242,189,.32); color: #b8f2dc; background: rgba(44,131,98,.08); }
.investment-button:hover { border-color: rgba(109,242,189,.58); background: rgba(44,131,98,.15); }
.investor-main { min-height: calc(100vh - 154px); padding: clamp(72px, 9vw, 128px) 0; }
.investor-card { max-width: 850px; padding: clamp(34px, 5vw, 68px); border: 1px solid rgba(76,162,250,.24); border-radius: 20px; background: radial-gradient(circle at 92% 8%, rgba(47,155,255,.12), transparent 24rem), #091522; box-shadow: var(--shadow); }
.investor-card h1 { max-width: 700px; margin: 17px 0 22px; font-size: clamp(44px, 5vw, 70px); line-height: 1; letter-spacing: -.05em; }
.investor-card h1 span { color: #348fff; }
.investor-card > p { max-width: 680px; margin: 0; color: #99adc1; font-size: 16px; line-height: 1.75; }
.investor-email { display: inline-flex; margin-top: 32px; color: #76bdff; font-size: clamp(20px, 3vw, 30px); font-weight: 750; letter-spacing: -.02em; }
.investor-email:hover { color: #a5d5ff; }
.investor-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.team-recruiting-main { min-height: calc(100vh - 154px); display: grid; align-items: center; padding: clamp(72px, 10vw, 140px) 0; }
.team-recruiting-card { max-width: 850px; }
.team-recruiting-card h1 { margin: 17px 0 18px; font-size: clamp(48px, 6vw, 78px); line-height: 1; letter-spacing: -.055em; }
.team-recruiting-card p { margin: 0 0 30px; color: #97aabd; font-size: 17px; }
.careers-main { overflow: hidden; }
.careers-hero { padding: clamp(82px, 9vw, 132px) 0; border-bottom: 1px solid rgba(255,255,255,.05); background: radial-gradient(circle at 78% 18%, rgba(39,137,240,.13), transparent 31rem); }
.careers-hero h1 { max-width: 930px; margin: 18px 0 24px; font-size: clamp(50px, 6vw, 80px); line-height: .98; letter-spacing: -.055em; }
.careers-hero h1 span { color: #348fff; }
.careers-hero p { max-width: 720px; margin: 0 0 32px; color: #98aabd; font-size: 16px; line-height: 1.75; }
.careers-openings .section-heading a { color: #69b7ff; }
.careers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.careers-grid article { min-height: 290px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 15px; background: #091522; }
.careers-grid article > span { color: #5faeff; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.careers-grid h3 { margin: 34px 0 12px; font-size: 25px; letter-spacing: -.025em; }
.careers-grid p { margin: 0 0 24px; color: #8497ac; font-size: 13px; line-height: 1.7; }
.careers-grid a { margin-top: auto; color: #75bdff; font-size: 12px; font-weight: 750; }
.careers-grid a:hover { color: #a7d7ff; }
@media (max-width: 620px) { .about-actions .button, .investor-actions .button { width: 100%; } .investor-email { font-size: 19px; } }
.info-hero h1 { max-width: 850px; margin: 18px 0 24px; font-size: clamp(52px, 6vw, 82px); line-height: .96; letter-spacing: -.055em; }
.info-hero h1 span { color: #348fff; }
.info-hero p { max-width: 700px; color: #9cafc3; font-size: 17px; line-height: 1.72; }
.info-principle { padding: 32px; border: 1px solid rgba(76,162,250,.25); border-radius: 16px; background: linear-gradient(145deg, rgba(18,49,82,.48), rgba(7,17,29,.9)); }
.info-principle > span { color: #62affb; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.info-principle strong { display: block; margin: 18px 0; font-size: clamp(25px, 2.5vw, 35px); line-height: 1.3; }
.info-principle p { margin: 0; color: #7f93a9; font-size: 13px; }
.info-section .section-heading { max-width: 780px; margin-bottom: 42px; }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--line); }
.values-grid article { min-height: 270px; padding: 30px 25px; background: #091522; }
.values-grid article > span { color: #58aaff; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.values-grid h3 { margin: 54px 0 12px; font-size: 20px; }
.values-grid p { margin: 0; color: #8497ac; font-size: 13px; line-height: 1.65; }
.info-band { padding: 72px 0; border-block: 1px solid rgba(255,255,255,.05); background: #08131f; }
.info-band-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 140px); align-items: center; }
.info-band h2 { margin: 12px 0 0; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.045em; }
.info-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.info-checks p { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; color: #a8b8c9; background: #0a1725; font-size: 12px; }
.info-checks span { margin-right: 9px; color: #6df2bd; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.team-grid article { min-height: 430px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #0a1522; }
.team-photo { position: relative; aspect-ratio: 1 / .86; overflow: hidden; background: #08121e; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 26%; transition: transform .35s ease; }
.team-grid article:hover .team-photo img { transform: scale(1.025); }
.team-photo > span { position: absolute; left: 12px; bottom: 11px; padding: 6px 8px; border: 1px solid rgba(102,181,255,.28); border-radius: 7px; color: #b8dcff; background: rgba(5,13,23,.82); font-size: 7px; font-weight: 850; letter-spacing: .11em; }
.team-card-body { padding: 23px; }
.team-card-body > span { color: #5eaaf5; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.team-grid h3 { margin: 9px 0 12px; font-size: 20px; }
.team-grid small { display: block; margin: -5px 0 14px; color: #6f849b; font-size: 9px; }
.team-grid p,
.info-band-copy { color: #8497ac; font-size: 13px; line-height: 1.7; }
.info-band-copy { max-width: 660px; margin: 0 0 20px; }
.reviews-section { border-block: 1px solid rgba(255,255,255,.05); background: linear-gradient(180deg, #07121e, #050b14); }
.reviews-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.reviews-head > div:first-child { max-width: 780px; }
.reviews-head h2 { margin: 12px 0 13px; font-size: clamp(34px, 4vw, 54px); letter-spacing: -.045em; }
.reviews-head p { margin: 0; color: #7f93a9; font-size: 12px; line-height: 1.65; }
.reviews-controls { display: flex; gap: 8px; }
.reviews-controls button { width: 43px; height: 43px; border: 1px solid rgba(78,163,250,.28); border-radius: 10px; color: #7dc2ff; background: #0b1928; cursor: pointer; }
.reviews-controls button:hover { border-color: rgba(91,178,255,.55); background: #10243a; }
.reviews-viewport { overflow: hidden; border: 1px solid rgba(87,164,240,.2); border-radius: 17px; background: #0a1725; }
.reviews-track { display: flex; transition: transform .5s ease; }
.review-card { min-width: 100%; min-height: 340px; display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 70px); }
.placeholder-label { align-self: flex-start; padding: 6px 9px; border: 1px solid rgba(255,193,86,.25); border-radius: 6px; color: #d7b778; background: rgba(140,97,23,.08); font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.review-stars { margin-top: 24px; color: #58aaff; font-size: 13px; letter-spacing: .16em; }
.review-card blockquote { max-width: 1080px; margin: 17px 0 27px; color: #eef7ff; font-size: clamp(23px, 3vw, 37px); font-weight: 650; line-height: 1.34; letter-spacing: -.025em; }
.review-card footer { display: flex; flex-direction: column; gap: 4px; }
.review-card footer strong { font-size: 12px; }
.review-card footer small { color: #71869c; font-size: 9px; }
.review-dots { display: flex; justify-content: center; gap: 7px; margin-top: 18px; }
.review-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #263b50; cursor: pointer; }
.review-dots button.active { width: 22px; border-radius: 5px; background: #3a96ef; }
.info-page .site-footer { padding: 34px 0; }
.info-page .footer-bottom { margin-top: 0; }
@media (max-width: 1000px) { .info-hero-grid { grid-template-columns: 1fr; gap: 45px; } .values-grid, .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .careers-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .info-hero { padding: 62px 0 65px; } .info-hero h1 { font-size: 46px; } .info-hero p { font-size: 14px; } .info-principle { padding: 24px; } .values-grid, .team-grid, .info-band-grid, .info-checks { grid-template-columns: 1fr; } .values-grid article, .team-grid article { min-height: 0; } .values-grid h3 { margin-top: 32px; } .info-band { padding: 58px 0; } .reviews-head { align-items: start; flex-direction: column; gap: 22px; } .review-card { min-height: 390px; padding: 27px 23px; } .review-card blockquote { font-size: 23px; } .reviews-controls { align-self: flex-end; } }

/* Refined consumer search: Brand → Model → Trim → Year */
.marketplace-ui .marketplace-search {
  grid-template-columns: repeat(4, minmax(150px, 1fr)) minmax(176px, auto);
  align-items: stretch;
}
.marketplace-ui .marketplace-search label,
.marketplace-ui .marketplace-search label:nth-of-type(4),
.marketplace-ui .marketplace-search label:nth-of-type(5) {
  display: flex;
}
.marketplace-ui .marketplace-search select:disabled {
  color: #596a7c;
  cursor: not-allowed;
}
.marketplace-ui .search-submit {
  min-height: 52px;
  padding: 0 21px;
}
.marketplace-ui .hero-media img {
  object-position: center center;
  filter: saturate(.9) contrast(1.05) brightness(.92);
}
.marketplace-ui .hero-overlay {
  background:
    linear-gradient(90deg, rgba(3,9,17,.98) 0%, rgba(3,9,17,.9) 29%, rgba(3,9,17,.38) 55%, rgba(3,9,17,.05) 100%),
    linear-gradient(0deg, rgba(3,8,14,.45), transparent 48%);
}

@media (max-width: 1220px) {
  .marketplace-ui .marketplace-search {
    grid-template-columns: repeat(4, minmax(130px, 1fr)) minmax(160px, auto);
  }
  .marketplace-ui .marketplace-search label,
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) {
    display: flex;
  }
}

@media (max-width: 900px) {
  .marketplace-ui .marketplace-search { grid-template-columns: 1fr 1fr; }
  .marketplace-ui .marketplace-search label,
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) { display: flex; }
  .marketplace-ui .search-submit { grid-column: 1 / -1; }
  .marketplace-ui .hero-media img { object-position: 66% center; }
}

@media (max-width: 620px) {
  .marketplace-ui .marketplace-search { grid-template-columns: 1fr; }
  .marketplace-ui .marketplace-search label,
  .marketplace-ui .marketplace-search label:nth-of-type(4),
  .marketplace-ui .marketplace-search label:nth-of-type(5) { display: flex; }
  .marketplace-ui .search-submit { grid-column: auto; }
  .marketplace-ui .hero-media img { object-position: 69% center; }
}

/* Vehicle availability funnel */
.vehicle-request-button {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-shrink: 0;
  border-radius: 10px;
  color: white;
  background: linear-gradient(135deg, #2587ff, #0961d7);
  font-size: 11px;
  font-weight: 800;
  box-shadow: 0 12px 28px rgba(14,101,215,.25);
}

.funnel-ui {
  min-height: 100vh;
  background:
    radial-gradient(circle at 22% 20%, rgba(24,116,241,.12), transparent 30rem),
    radial-gradient(circle at 82% 78%, rgba(49,180,255,.06), transparent 26rem),
    #050b14;
}
.funnel-ui::before { opacity: .1; }
.funnel-header {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background: rgba(4,10,18,.82);
  backdrop-filter: blur(18px);
}
.funnel-nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.funnel-back { color: #91a3b7; font-size: 11px; font-weight: 700; }
.funnel-back:hover { color: white; }
.funnel-main { padding: 48px 0 90px; }
.funnel-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 740px;
  margin-bottom: 48px;
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
  background: rgba(9,20,34,.72);
}
.funnel-progress > div {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-right: 1px solid var(--line);
  color: #63758a;
}
.funnel-progress > div:last-child { border-right: 0; }
.funnel-progress > div > span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 8px;
  font-weight: 800;
}
.funnel-progress p { display: flex; flex-direction: column; gap: 1px; margin: 0; }
.funnel-progress strong { font-size: 10px; }
.funnel-progress small { font-size: 8px; }
.funnel-progress > div.active { color: white; background: rgba(30,103,187,.1); }
.funnel-progress > div.active > span { border-color: #2b8df5; color: #67b7ff; background: rgba(34,126,227,.14); }
.funnel-progress > div.complete { color: #7d9ab8; }
.funnel-progress > div.complete > span { border-color: rgba(109,242,189,.28); color: #6df2bd; }
.funnel-progress > div.complete > span::after { content: "✓"; }
.funnel-progress > div.complete > span { font-size: 0; }
.funnel-progress > div.complete > span::after { font-size: 10px; }

.funnel-layout {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(580px, 1.28fr);
  gap: clamp(55px, 8vw, 130px);
  align-items: start;
}
.funnel-intro { position: sticky; top: 45px; padding-top: 24px; }
.funnel-intro h1 {
  margin: 17px 0 21px;
  font-size: clamp(45px, 5.2vw, 72px);
  line-height: .98;
  letter-spacing: -.055em;
}
.funnel-intro h1 span { color: #348fff; }
.funnel-intro > p { max-width: 510px; margin: 0; color: #91a3b7; font-size: 15px; line-height: 1.72; }
.funnel-trust { display: grid; gap: 0; margin-top: 36px; border-block: 1px solid var(--line); }
.funnel-trust > div { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.funnel-trust > div:last-child { border-bottom: 0; }
.funnel-help { margin-top: 16px; color: #71869d; font-size: 11px; }
.funnel-help a { color: #79bdff; }
.funnel-trust > div > span { color: #6df2bd; font-size: 11px; }
.funnel-trust p { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.funnel-trust strong { font-size: 12px; }
.funnel-trust small { color: #71849a; font-size: 10px; line-height: 1.5; }

.funnel-card {
  min-height: 590px;
  padding: clamp(25px, 3.5vw, 44px);
  scroll-margin-top: 25px;
  border: 1px solid rgba(131,183,238,.2);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(13,28,46,.98), rgba(7,17,29,.98));
  box-shadow: 0 30px 80px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.025);
}
.funnel-stage { display: none; }
.funnel-stage.active { display: block; animation: funnelStageIn .34s ease both; }
@keyframes funnelStageIn { from { opacity: 0; transform: translateY(8px); } }
.funnel-stage-head { margin-bottom: 26px; }
.funnel-stage-head > span { color: #4ca6ff; font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.funnel-stage-head h2 { margin: 6px 0 7px; font-size: 30px; letter-spacing: -.035em; }
.funnel-stage-head p { margin: 0; color: #7f92a8; font-size: 11px; }

.funnel-type { margin: 0 0 19px; padding: 0; border: 0; }
.funnel-type legend,
.funnel-card label > span { display: block; margin-bottom: 7px; color: #9eafc2; font-size: 10px; font-weight: 750; }
.funnel-card label > span em { color: #60748b; font-style: normal; font-weight: 600; }
.funnel-type > div { display: inline-grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #07121f; }
.funnel-type label { cursor: pointer; }
.funnel-card .funnel-type input { position: absolute; width: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.funnel-type label > span { min-width: 94px; margin: 0; padding: 9px 16px; border-radius: 7px; color: #73859a; text-align: center; }
.funnel-type input:checked + span { color: white; background: #173b65; box-shadow: inset 0 0 0 1px rgba(78,162,250,.2); }
.funnel-fields { display: grid; gap: 13px; margin-bottom: 15px; }
.funnel-fields.two { grid-template-columns: 1fr 1fr; }
.funnel-fields.three { grid-template-columns: .64fr 1fr 1fr; }
.funnel-wide { display: block; margin-bottom: 15px; }
.funnel-card input,
.funnel-card select,
.funnel-card textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 13px;
  border: 1px solid rgba(138,181,227,.17);
  border-radius: 9px;
  outline: 0;
  color: white;
  background: #07131f;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.funnel-card textarea { min-height: 94px; padding-top: 12px; resize: vertical; }
.funnel-card input:focus,
.funnel-card select:focus,
.funnel-card textarea:focus { border-color: rgba(67,153,246,.75); background: #091827; box-shadow: 0 0 0 3px rgba(38,132,235,.1); }
.funnel-card input::placeholder,
.funnel-card textarea::placeholder { color: #53667c; }
.funnel-card .funnel-colour-select { position: relative; display: block; width: 100%; margin-bottom: 0; }
.funnel-card .funnel-colour-select select { padding-left: 47px; }
.funnel-card .funnel-colour-select .vehicle-colour-swatch { position: absolute; z-index: 2; top: 50%; left: 15px; width: 20px; height: 20px; border: 2px solid rgba(255,255,255,.72); border-radius: 50%; background: var(--swatch-fill, transparent); box-shadow: 0 0 0 1px rgba(0,0,0,.68), 0 3px 9px rgba(0,0,0,.28); pointer-events: none; transform: translateY(-50%); }
.funnel-card .funnel-colour-select .vehicle-colour-swatch.no-preference::after { content: ''; position: absolute; left: 1px; right: 1px; top: 7px; height: 2px; border-radius: 2px; background: #8fa3b8; transform: rotate(-45deg); }
.funnel-custom-colour { margin-top: -4px; }
.funnel-used { margin: 1px 0 15px; padding: 15px; border: 1px solid rgba(72,153,240,.13); border-radius: 11px; background: rgba(27,104,194,.045); }
.funnel-primary {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 10px;
  color: white;
  background: linear-gradient(135deg, #278bff, #0b63d8);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 32px rgba(15,103,218,.25);
}
.funnel-primary:hover { filter: brightness(1.06); }
.funnel-primary:disabled { cursor: default; opacity: .75; }
.funnel-text-button { display: block; margin: 14px auto 0; border: 0; color: #74879d; background: transparent; font-size: 10px; cursor: pointer; }
.funnel-home-link { width: max-content; text-decoration: none; }
.funnel-home-link:hover { color: #a9bad0; }
#backToAvailability,
#funnelHomeLink { font: inherit; font-size: 16px; line-height: 1.4; }
#backToAvailability[hidden],
.funnel-home-link[hidden] { display: none !important; }

.funnel-selected {
  display: grid;
  grid-template-columns: 116px 1fr auto;
  gap: 15px;
  align-items: center;
  margin-bottom: 21px;
  padding: 12px;
  border: 1px solid rgba(75,159,247,.27);
  border-radius: 12px;
  background: linear-gradient(115deg, rgba(25,80,137,.22), rgba(6,17,29,.55));
}
.funnel-selected img { width: 116px; aspect-ratio: 16/10; border-radius: 8px; object-fit: cover; background: #07101a; }
.funnel-selected > div { display: flex; flex-direction: column; min-width: 0; }
.funnel-selected > div > span { color: #4ca6ff; font-size: 7px; font-weight: 850; letter-spacing: .14em; }
.funnel-selected strong { margin-top: 5px; font-size: 15px; }
.funnel-selected small { margin-top: 3px; overflow: hidden; color: #899bb0; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.funnel-selected button { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: #91a3b7; background: transparent; font-size: 9px; cursor: pointer; }
.funnel-selected[hidden],
#funnelVehicleFields[hidden],
#funnelConfigField[hidden],
#funnelCustomColorField[hidden],
.funnel-used[hidden],
.availability-scan[hidden],
.availability-result[hidden] { display: none !important; }

.availability-scan { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.scan-orbit { width: 94px; height: 94px; position: relative; display: grid; place-items: center; margin-bottom: 25px; border: 1px solid rgba(69,158,250,.23); border-radius: 50%; background: radial-gradient(circle, rgba(39,137,240,.15), rgba(6,17,29,.2) 65%); }
.scan-orbit::before,
.scan-orbit::after { content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(83,173,255,.15); }
.scan-orbit::before { inset: -10px; }
.scan-orbit::after { inset: 12px; }
.scan-orbit span { position: absolute; inset: -10px; border-radius: 50%; border-top: 2px solid #3c9eff; animation: scanOrbit 1.1s linear infinite; }
.scan-orbit i { color: #66b7ff; font-size: 27px; font-style: normal; font-weight: 850; }
@keyframes scanOrbit { to { transform: rotate(360deg); } }
.availability-scan h2 { margin: 0 0 7px; font-size: 28px; letter-spacing: -.035em; }
.availability-scan > p { margin: 0; color: #8093aa; font-size: 11px; }
.scan-track { width: min(360px, 90%); height: 4px; margin: 26px 0 19px; overflow: hidden; border-radius: 10px; background: #06101b; }
.scan-track span { display: block; width: 45%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, transparent, #3f9eff, #83d5ff, transparent); animation: scanTrack 1s ease-in-out infinite; }
@keyframes scanTrack { from { transform: translateX(-100%); } to { transform: translateX(320%); } }
.scan-steps { display: flex; gap: 14px; color: #586b81; font-size: 8px; }
.scan-steps span::before { content: "○"; margin-right: 5px; }
.scan-steps span.complete { color: #76ad99; }
.scan-steps span.complete::before { content: "✓"; color: #6df2bd; }

.availability-result { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.availability-check { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 20px; border: 1px solid rgba(109,242,189,.34); border-radius: 50%; color: #6df2bd; background: rgba(41,151,109,.1); font-size: 22px; box-shadow: 0 0 32px rgba(65,216,157,.1); }
.availability-result h2 { margin: 9px 0 9px; font-size: clamp(30px, 4vw, 42px); letter-spacing: -.045em; }
.availability-result > p { max-width: 570px; margin: 0; color: #8799ae; font-size: 11px; line-height: 1.65; }
.funnel-price { width: min(480px, 100%); display: flex; flex-direction: column; align-items: center; margin: 28px 0 24px; padding: 22px; border: 1px solid rgba(70,158,249,.23); border-radius: 12px; background: rgba(7,19,32,.7); }
.funnel-price span { color: #71869d; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.funnel-price strong { margin: 6px 0 3px; color: #65b3ff; font-size: clamp(31px, 4vw, 43px); letter-spacing: -.045em; }
.funnel-price small { color: #5f738a; font-size: 8px; }
.funnel-price-note { max-width: 480px; margin: -6px 0 12px !important; color: #71869c !important; font-size: 9px !important; line-height: 1.6 !important; }
.funnel-price-note[hidden] { display: none !important; }
.funnel-price-disclaimer { max-width: 480px; margin: -8px 0 30px !important; color: #566b82 !important; font-size: 8px !important; line-height: 1.5 !important; }
.availability-result .funnel-primary { max-width: 480px; }

.contact-vehicle-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; padding: 14px 15px; border: 1px solid var(--line); border-radius: 10px; background: #07131f; }
.contact-vehicle-summary span { color: #9aacc0; font-size: 10px; }
.contact-vehicle-summary strong { flex-shrink: 0; color: #5caeff; font-size: 13px; }
.funnel-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 19px 0; cursor: pointer; }
.funnel-consent input { width: 17px; min-height: 17px; margin: 2px 0 0; accent-color: #2586f4; }
.funnel-consent > span { margin: 0; color: #8295aa; font-weight: 500; line-height: 1.5; }
.funnel-status { color: #8fa2b8; font-size: 11px; line-height: 1.55; }
.funnel-status:not(:empty) { margin-top: 14px; padding: 12px 14px; border-radius: 9px; }
.funnel-status.success { color: #a9e8d0; border: 1px solid rgba(109,242,189,.2); background: rgba(39,142,105,.09); }
.funnel-status.error { color: #ffc0ca; border: 1px solid rgba(255,113,136,.2); background: rgba(161,43,64,.09); }
.funnel-load-error { padding: 50px 20px; color: #ffb2bf; text-align: center; }

@media (max-width: 1040px) {
  .funnel-layout { grid-template-columns: 1fr; gap: 42px; }
  .funnel-intro { position: relative; top: auto; max-width: 760px; padding-top: 0; }
  .funnel-trust { grid-template-columns: repeat(3, 1fr); }
  .funnel-trust > div { grid-template-columns: 1fr; padding: 15px; border-right: 1px solid var(--line); border-bottom: 0; }
  .funnel-trust > div:last-child { border-right: 0; }
}
@media (max-width: 700px) {
  .vehicle-request-button { width: 100%; }
  .funnel-main { padding: 22px 0 64px; }
  .funnel-progress { margin-bottom: 26px; border-radius: 11px; }
  .funnel-progress > div { min-height: 50px; justify-content: center; padding: 10px 7px; }
  .funnel-progress p { display: none; }
  .funnel-progress > div > span { width: 28px; height: 28px; }
  .funnel-layout { display: flex; flex-direction: column; gap: 0; }
  .funnel-intro { display: contents; }
  .funnel-intro > .eyebrow,
  .funnel-intro > h1,
  .funnel-intro > p:not(.funnel-help) { order: 1; }
  .funnel-layout > .funnel-card { order: 2; margin-top: 27px; }
  .funnel-intro > .funnel-trust { display: none; }
  .funnel-intro > .funnel-help { order: 4; }
  .funnel-intro h1 { margin: 13px 0 17px; font-size: 40px; line-height: 1.01; }
  .funnel-intro > p { font-size: 14px; line-height: 1.65; }
  .funnel-trust { grid-template-columns: 1fr; }
  .funnel-trust > div { grid-template-columns: 22px 1fr; gap: 10px; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .funnel-trust strong { font-size: 11px; }
  .funnel-trust small { font-size: 9px; }
  .funnel-help { margin-top: 13px; padding-bottom: 2px; line-height: 1.55; }
  .funnel-card { min-height: 0; padding: 25px 18px; border-radius: 15px; }
  .funnel-stage-head { margin-bottom: 23px; }
  .funnel-stage-head h2 { margin-top: 8px; font-size: 27px; }
  .funnel-stage-head p { font-size: 10px; line-height: 1.55; }
  .funnel-type { margin-bottom: 21px; }
  .funnel-type > div { width: 100%; }
  .funnel-type label > span { min-width: 0; padding: 10px 12px; }
  .funnel-fields.two,
  .funnel-fields.three { grid-template-columns: 1fr; }
  .funnel-fields { gap: 16px; margin-bottom: 18px; }
  .funnel-wide { margin-bottom: 18px; }
  .funnel-card input,
  .funnel-card select { min-height: 52px; }
  .funnel-card textarea { min-height: 112px; }
  .funnel-used { gap: 15px; margin-bottom: 19px; padding: 14px; }
  .funnel-primary { min-height: 54px; }
  .funnel-selected { grid-template-columns: 82px 1fr; }
  .funnel-selected img { width: 82px; }
  .funnel-selected button { grid-column: 2; justify-self: start; }
  .availability-scan,
  .availability-result { min-height: 430px; padding: 18px 0; }
  .availability-result h2 { font-size: 31px; }
  .availability-result > p { font-size: 10px; }
  .funnel-price { margin: 24px 0; padding: 20px 14px; }
  .funnel-price strong { font-size: clamp(27px, 8.5vw, 36px); }
  .funnel-price-note,
  .funnel-price-disclaimer { width: 100%; }
  .scan-steps { flex-direction: column; align-items: start; }
  .contact-vehicle-summary { align-items: start; flex-direction: column; gap: 5px; }
  .funnel-consent { margin: 21px 0; }
  .funnel-consent > span { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .scan-orbit span,
  .scan-track span { animation-duration: .001ms !important; }
}
/* Bot-trap field: hidden from customers and assistive technology. */
.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

/* Alberta service-area pages */
.location-hero { padding: clamp(76px, 9vw, 126px) 0 76px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 15%, rgba(37,134,255,.15), transparent 30rem); }
.location-hero .breadcrumbs { margin-bottom: 28px; color: #71869d; font-size: 10px; }
.location-hero .breadcrumbs a { color: #73baff; }
.location-hero h1 { max-width: 950px; margin: 16px 0 22px; font-size: clamp(44px, 6vw, 76px); line-height: 1; letter-spacing: -.052em; }
.location-hero h1 span { color: #348fff; }
.location-hero p { max-width: 760px; margin: 0 0 30px; color: #98aabd; font-size: 16px; line-height: 1.75; }
.location-section { padding: 82px 0; }
.location-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 64px; align-items: start; }
.location-copy h2 { margin: 0 0 20px; font-size: clamp(31px, 4vw, 47px); letter-spacing: -.04em; }
.location-copy h3 { margin: 38px 0 12px; font-size: 23px; }
.location-copy p, .location-copy li { color: #8da0b5; font-size: 14px; line-height: 1.8; }
.location-copy ul { padding-left: 20px; }
.location-panel { padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: #091522; }
.location-panel h2 { margin: 0 0 12px; font-size: 24px; }
.location-panel p { margin: 0 0 22px; color: #8497ac; font-size: 13px; line-height: 1.7; }
.location-panel .button { width: 100%; justify-content: center; }
.location-faq { padding: 76px 0; border-top: 1px solid var(--line); background: #07111d; }
.location-faq h2 { margin: 0 0 30px; font-size: clamp(31px, 4vw, 45px); }
.location-faq-grid, .location-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.location-faq article, .location-card { padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: #091522; }
.location-faq h3, .location-card h2 { margin: 0 0 12px; font-size: 19px; }
.location-faq p, .location-card p { margin: 0; color: #8497ac; font-size: 12px; line-height: 1.7; }
.location-card a { display: inline-block; margin-top: 22px; color: #75bdff; font-size: 12px; font-weight: 750; }
.locations-intro { max-width: 760px; margin-bottom: 38px; }
@media (max-width: 820px) {
  .location-layout { grid-template-columns: 1fr; gap: 38px; }
  .location-faq-grid, .location-cards { grid-template-columns: 1fr; }
  .location-hero { padding-top: 60px; }
}
