:root {
  --pt: #c6cbd1;
  --ig: #009246;
  --ir: #ce2b37;
  --gold: #c8b278;
  --cream: #f3ede3;
  --ink: #060506;
  --ink2: #0f0f11;
  --ln: rgba(198, 203, 209, 0.16);
  --tx: #e5e2dc;
  --mt: #9a99a0;
  --sf: "Cormorant Garamond", serif;
  --ss: "Montserrat", sans-serif;
  --lb: "Oswald", sans-serif;
  --pd: clamp(1.25rem, 5vw, 4rem);
  --tr: linear-gradient(90deg, var(--ig) 0 33.33%, #ffffff 33.33% 66.66%, var(--ir) 66.66% 100%);
  --ch: linear-gradient(100deg, #5a5f65 0%, #e8ecf0 18%, #a0a8b0 36%, #ffffff 50%, #a0a8b0 64%, #e8ecf0 82%, #5a5f65 100%);
}

* { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior: smooth; min-height:100%; }
body { min-height:100vh; display:flex; flex-direction:column; background: var(--ink); color: var(--tx); font-family: var(--ss); font-weight:300; line-height:1.75; -webkit-font-smoothing: antialiased; overflow-x:hidden; padding-bottom:0; }
body::after { content: ''; pointer-events:none; position:fixed; inset:0; background: radial-gradient(circle at 80% 0%, rgba(200,178,120,.06), transparent 16%), linear-gradient(90deg, rgba(255,255,255,.02), transparent 40%, rgba(255,255,255,.02)); mix-blend-mode:screen; opacity:.14; }
body::before { content:''; position:fixed; inset:0; background:radial-gradient(circle at top left, rgba(0,146,70,.03), transparent 18%), radial-gradient(circle at bottom right, rgba(206,43,55,.03), transparent 14%); pointer-events:none; }
img { max-width:100%; display:block; }
a { color: inherit; text-decoration:none; }

.skip-link { position:absolute; left:-9999px; top:0; z-index:120; background:var(--ink2); color:var(--tx); border:1px solid var(--ln); padding:.5rem .8rem; font-family:var(--lb); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; }
.skip-link:focus { left:1rem; top:1rem; }

#progress { position:fixed; top:0; left:0; width:100%; height:2px; z-index:300; transform-origin:0 0; transform:scaleX(0); background:rgba(198,203,209,.45); transition:transform .18s ease; }

body::before { content:''; position:fixed; inset:0; background:radial-gradient(circle at top left, rgba(0,146,70,.03), transparent 18%), radial-gradient(circle at bottom right, rgba(206,43,55,.03), transparent 14%); pointer-events:none; }

.brand { font-family:var(--sf); letter-spacing:.18em; text-transform:uppercase; display:inline-flex; align-items:center; gap:.16rem; color:var(--tx); font-size:1.25rem; }
.brand-apex { font-weight:600; color:var(--pt); letter-spacing:.22em; }
.brand-sep { display:inline-flex; flex-direction:column; gap:2px; margin:0 .4rem; flex-shrink:0; }
.brand-sep span { display:block; width:3px; height:5px; }
.brand-sep span:nth-child(1) { background: var(--ig); }
.brand-sep span:nth-child(2) { background: #fff; }
.brand-sep span:nth-child(3) { background: var(--ir); }
.brand-excl { font-weight:300; color:rgba(198,203,209,.72); letter-spacing:.22em; }

.value-badge[hidden] { display:none !important; }

header { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem var(--pd); background:rgba(8,8,8,.94); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); border-bottom:none; }
.back-btn { display:inline-flex; align-items:center; gap:.55rem; font-family:var(--lb); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(198,203,209,.4); border:1px solid rgba(198,203,209,.14); padding:.55rem 1.2rem; transition:.25s; }
.back-btn:hover { border-color:rgba(198,203,209,.28); color:var(--pt); }
.back-btn svg { width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; }


.wrap { max-width:980px; margin:0 auto; padding:1.3rem var(--pd) 1.5rem; flex:1; }
.form-card { position:relative; background:rgba(10,10,12,0.97); border:none; padding:1.5rem; border-radius:0; box-shadow:none; backdrop-filter:blur(18px); overflow:visible; }
.form-card::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, var(--ig) 0%, var(--pt) 45%, var(--ir) 100%); }
.form-card::after { display:none; }
.form-inner { max-width:900px; margin:0 auto; }

button, .btn, .back-btn, .chat-contact-input, .chat-inp, .plate, .plate-eu, .value-summary-card, .compare-card, .compare-advice, .vehicle-card, .value-badge, .vehicle-total { border-radius:0 !important; }
.ey { font-family:var(--lb); font-size:.65rem; letter-spacing:.38em; text-transform:uppercase; color:var(--pt); font-weight:400; margin-bottom:1rem; display:flex; align-items:center; gap:.85rem; }
.ey-tri, .ey-tri-r { display:flex; gap:0; height:11px; width:42px; overflow:hidden; }
.ey-tri span, .ey-tri-r span { display:block; flex:1; }
.ey-tri span:nth-child(1), .ey-tri-r span:nth-child(3) { background:var(--ig); }
.ey-tri span:nth-child(2), .ey-tri-r span:nth-child(2) { background:#fff; }
.ey-tri span:nth-child(3), .ey-tri-r span:nth-child(1) { background:var(--ir); }
.intro-copy { color:rgba(198,203,209,.74); margin-bottom:1.4rem; max-width:780px; }
.top-strip { max-width:760px; margin-bottom:1.5rem; padding:1.4rem 0 .6rem; }
.top-strip h1 { font-family:var(--sf); font-size:clamp(2rem, 4vw, 3rem); line-height:1.05; color:#f8f3e7; margin:0 0 .7rem; letter-spacing:.04em; }
.lead-copy { color:rgba(229,226,220,.84); max-width:720px; font-size:1rem; line-height:1.85; }

.page-hero {
  position: relative;
  text-align: center;
  padding: 2.4rem var(--pd) 1.8rem;
  overflow: hidden;
}

.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(0,146,70,.04) 0%, transparent 55%), radial-gradient(ellipse at 70% 60%, rgba(206,43,55,.04) 0%, transparent 55%);
}

.page-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--tr);
  opacity: .55;
}

.page-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.page-hero h1 {
  font-family: var(--sf);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: .01em;
  margin-bottom: .65rem;
}

.page-hero h1 em {
  font-style: italic;
  background: var(--ch);
  background-size: 220% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: csh 7s ease-in-out infinite;
}

.hero-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.1rem;
}

.hero-points {
  display: flex;
  justify-content: center;
  gap: .45rem;
  flex-wrap: wrap;
  margin-top: .9rem;
}

.hero-points span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .95rem;
  border: 1px solid rgba(198,203,209,.14);
  background: rgba(255,255,255,.04);
  font-family: var(--lb);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(198,203,209,.55);
  border-radius: 0;
}

.hero-points span::before {
  content: "";
  width: 4px;
  height: 4px;
  background: rgba(198,203,209,.25);
  display: inline-block;
}

@keyframes csh {
  0% { background-position: 0% center; }
  50% { background-position: 100% center; }
  100% { background-position: 0% center; }
}
.section-copy { color:rgba(229,226,220,.78); font-size:.95rem; margin-top:.4rem; letter-spacing:.01em; }

.compare-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1.5rem; }
.vehicle-card { background:transparent; border:none; padding:0; display:flex; flex-direction:column; gap:0; border-radius:0; box-shadow:none; transition:opacity .45s ease, transform .45s ease; opacity:0; transform:translateY(14px); animation:cardEntrance .6s ease forwards; }
.vehicle-card:nth-child(1) { animation-delay:.12s; }
.vehicle-card:nth-child(2) { animation-delay:.16s; }
.vehicle-card:hover { transform:none; box-shadow:none; }
.vehicle-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding-bottom:.8rem; }
.vehicle-card-brand { display:flex; align-items:center; gap:.9rem; }
.brand-icon { display:inline-flex; align-items:center; justify-content:center; width:0; min-width:0; height:auto; padding:0; border:none; background:transparent; color:transparent; box-shadow:none; font-size:.76rem; text-transform:none; letter-spacing:.02em; font-family:var(--lb); overflow:hidden; }
.brand-icon.has-logo { width:2.4rem; min-width:2.4rem; height:2.4rem; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:var(--cream); }
.brand-icon.has-logo svg { width:1.2rem; height:1.2rem; }
.vehicle-card-title { font-size:1.05rem; line-height:1.2; }
.vehicle-card-title:empty { display:none; }
.vehicle-status { font-size:.82rem; color:rgba(198,203,209,.72); }
.field { display:flex; flex-direction:column; gap:.35rem; }
.field-lbl { color:var(--mt); font-size:.88rem; }
.vehicle-card-body {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
  transition: max-height .45s ease, opacity .35s ease, transform .35s ease;
}
.vehicle-card-body.expanded {
  max-height: 1000px;
  opacity: 1;
  transform: translateY(0);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  padding: 1.4rem;
  margin-top: 1rem;
}
.fi-inline { display:flex; align-items:center; gap:.75rem; width:100%; justify-content:center; }
.plate {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  background: linear-gradient(180deg, #fff15f 0%, #ffdb00 42%, #f5bf04 100%);
  border: none;
  padding: 0 1rem 0 0;
  border-radius: 0;
  box-shadow: none;
  max-width: 100%;
  width: min(100%, 286px);
  position: relative;
  overflow: hidden;
  min-height: 3.6rem;
  animation: plateEntrance .7s ease-out;
  transition: border-color .35s ease, box-shadow .35s ease, transform .25s ease;
}
.plate.empty {
  border: none;
  box-shadow: 0 0 0 0 rgba(255,255,255,0);
  animation: plateGlow 3.4s ease-in-out infinite;
}
.plate.ready {
  border: 1px solid rgba(0,0,0,.16);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), 0 18px 34px rgba(0,0,0,.14);
  transform: translateY(-1px);
}
.plate.filled {
  animation: plateFilledGlow 3.2s ease-in-out infinite;
}
.plate.filled::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.14), transparent 20%), radial-gradient(circle at 70% 40%, rgba(255,255,255,0.08), transparent 18%);
  opacity: 0.55;
  mix-blend-mode: screen;
}
@keyframes plateFilledGlow {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 0 0 0 rgba(255,255,255,0); }
  50% { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1), 0 0 32px rgba(255,255,255,0.12); }
}
.plate.ready .plate-hint,
.plate:not(.empty) .plate-hint {
  opacity: 0;
  animation: none;
  transform: translateY(-6px);
}
.plate::after {
  content: '';
  position: absolute;
  top: -120%;
  left: -30%;
  width: 160%;
  height: 240%;
  background: linear-gradient(150deg, transparent 42%, rgba(255,255,255,.05) 52%, transparent 62%);
  transform: translateX(-100%) rotate(-12deg);
  animation: plateSheen 3.2s ease-in-out infinite;
  pointer-events: none;
}
.plate.empty::before {
  content: none;
}
.plate::after {
  transition: opacity .35s ease;
}
.plate-hint {
  position: absolute;
  left: calc(3.8rem + 1rem);
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  text-align: left;
  color: rgba(0,0,0,.34);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem);
  font-weight: 700;
  opacity: 0.9;
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, color .25s ease;
  animation: platePrompt 4s ease-in-out infinite;
  white-space: nowrap;
}
.plate-hint::after {
  content: '|';
  display: inline-block;
  margin-left: 0.25ch;
  color: rgba(0,0,0,.34);
  animation: blinkCursor 1.1s steps(1) infinite;
}

@keyframes blinkCursor {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes platePrompt {
  0%,100% { opacity: .45; transform: translateY(-50%); }
  50% { opacity: .9; transform: translateY(calc(-50% - 2px)); }
}
@keyframes plate-hint {
  0%,100% { opacity: .26; transform: translateY(0); }
  20% { opacity: .52; transform: translateY(-1px); }
  40% { opacity: .38; transform: translateY(0); }
  60% { opacity: .44; transform: translateY(0); }
  80% { opacity: .30; transform: translateY(1px); }
}

@keyframes plate-sheen {
  0% { transform: translateX(-100%) rotate(-12deg); opacity: .12; }
  45% { transform: translateX(100%) rotate(-12deg); opacity: .28; }
  100% { transform: translateX(-100%) rotate(-12deg); opacity: .12; }
}

@keyframes plateGlow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
  40% { box-shadow: 0 0 28px 0 rgba(255,255,255,0.06); }
  60% { box-shadow: 0 0 18px 0 rgba(255,255,255,0.04); }
}

@keyframes plateEntrance {
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes cardEntrance {
  from { opacity:0; transform:translateY(18px); }
  to { opacity:1; transform:translateY(0); }
}
.plate-eu {
  background: linear-gradient(180deg, #002a66 0%, #0c3d8d 100%);
  color: #fff;
  font-weight: 900;
  min-width: 3rem;
  width: 3rem;
  padding: .24rem 0 .24rem 0;
  border-radius: 0;
  margin-right: .45rem;
  font-size: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  border-right:1px solid rgba(255,255,255,.06);
}
.plate-eu-logo {
  width: 1rem;
  height: 1rem;
}
.plate-eu-country {
  font-family: var(--lb), sans-serif;
  font-size: .82rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #ffffff;
  margin-top: auto;
  padding-bottom: .15rem;
}
.plate-eu::before {
  content: '';
}
.plate .fi {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.plate-input {
  background: transparent !important;
  border: none !important;
  font-family: var(--lb), sans-serif;
  font-size: clamp(1.8rem, 4.4vw, 2.6rem);
  letter-spacing: 0.18rem;
  text-transform: uppercase;
  color: rgba(7,16,10,.95);
  font-weight: 900;
  -webkit-text-stroke: .5px rgba(0,0,0,.58);
  text-shadow: 0 1px 0 rgba(255,255,255,.45), 0 1px 8px rgba(0,0,0,.18);
  padding: .03rem 0;
  line-height: 1;
  outline: none;
  width: 100%;
  text-align: center;
  flex: 1 1 auto;
  min-width: 6ch;
  -webkit-font-smoothing: antialiased;
  caret-color: rgba(0,0,0,0.9);
  transition: color .25s ease, transform .25s ease, text-shadow .25s ease;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none !important;
}
.plate-input:focus,
.plate-input:focus-visible {
  color: rgba(7,16,10,1);
  transform: translateY(-1px);
  text-shadow: 0 1px 0 rgba(255,255,255,.55), 0 2px 10px rgba(0,0,0,.22);
}
.plate-input:focus,
.plate-input:focus-visible,
.plate-input.fi:focus,
.plate-input.fi:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
.field-help { color:rgba(198,203,209,.68); font-size:.88rem; line-height:1.55; }
.value-summary-row { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.value-summary-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); padding:.95rem .95rem .9rem; display:flex; flex-direction:column; gap:.45rem; border-radius:0; }
.value-summary-card span { color:rgba(198,203,209,.7); font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; }
.value-summary-card strong { font-size:1rem; }
.vehicle-details, .cost-breakdown { display:grid; gap:.9rem; }
.detail-item, .cost-row { display:flex; justify-content:space-between; gap:.75rem; border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:.55rem; }
.detail-item span, .cost-row span { color:rgba(198,203,209,.75); position:relative; }
.cost-row { padding:.95rem 1rem .85rem; border-radius:0; }
.detail-item strong, .cost-row strong { color:var(--tx); }
.cost-row span::before { content:''; width:7px; height:7px; border-radius:0; display:inline-block; margin-right:.5rem; background:rgba(255,255,255,.16); vertical-align:middle; }
.cost-row.metric-best { background:rgba(13,136,55,.1); border-color:rgba(13,136,55,.25); }
.cost-row.metric-best span { color:#b8f2c0; }
.cost-row.metric-best strong { color:#dff9e0; }
.cost-row.metric-best span::before { background:#7de4a6; }
.cost-row.metric-best span::after { content:none; }
.cost-row.metric-worst { background:rgba(206,43,55,.1); border-color:rgba(206,43,55,.25); }
.cost-row.metric-worst span { color:#ffc4c0; }
.cost-row.metric-worst strong { color:#ffd6ce; }
.cost-row.metric-worst span::before { background:#ff8271; }
.cost-row.metric-worst span::after { content:none; }
.vehicle-total { display:flex; justify-content:space-between; align-items:center; padding:.95rem 1rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); }
.vehicle-total.best { background:rgba(13,136,55,.14); border-color:rgba(13,136,55,.3); }
.vehicle-total.worst { background:rgba(206,43,55,.14); border-color:rgba(206,43,55,.3); }
.vehicle-total strong { font-size:1.12rem; }
.vehicle-total.best strong { color:#c8f2c0; }
.vehicle-total.worst strong { color:#ffc4c0; }

.compare-summary { margin-top:1.4rem; background:linear-gradient(180deg, rgba(22,24,36,.98) 0%, rgba(12,12,18,.98) 100%); border:1px solid rgba(255,255,255,.12); padding:1.3rem 1.3rem 1.35rem; box-shadow:0 28px 56px rgba(0,0,0,.24); border-radius:0; position:relative; opacity:0; transform:translateY(16px); animation:cardEntrance .55s ease forwards .18s; }
.compare-summary-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-end; flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:.95rem; }
.compare-note { margin-top:1rem; color: rgba(198,203,209,.58); font-family: var(--sf); font-size: .95rem; letter-spacing: .16em; text-transform: uppercase; line-height: 1.7; max-width: 560px; }
.section-lbl { font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--pt); }
.compare-winner { color:var(--cream); font-weight:500; font-size:1rem; max-width:420px; line-height:1.55; }
.compare-grid-small { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.compare-card { padding:1.2rem 1.15rem; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.12); min-height:118px; display:flex; flex-direction:column; justify-content:center; box-shadow:0 18px 42px rgba(0,0,0,.14); border-radius:0; }
.compare-card span { display:block; color:rgba(198,203,209,.72); margin-bottom:.65rem; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.compare-card strong { font-size:1.35rem; }
.compare-card.best { border-color:rgba(13,136,55,.5); background:rgba(13,136,55,.14); box-shadow:0 18px 56px rgba(13,136,55,.12); }
.compare-card.worst { border-color:rgba(206,43,55,.5); background:rgba(206,43,55,.14); box-shadow:0 18px 56px rgba(206,43,55,.12); }
.compare-card.best span { color:#b8f2c0; }
.compare-card.worst span { color:#ffc4c0; }
.compare-difference { margin-top:1rem; color:var(--tx); font-size:1rem; line-height:1.7; letter-spacing:.01em; padding-top:.9rem; border-top:1px solid rgba(255,255,255,.08); }

.compare-advice { margin-top:1.75rem; padding:1.35rem 1.2rem; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); border-radius:0; }
.compare-advice .advice-label { display:inline-block; margin-bottom:.65rem; color:var(--pt); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; }
.compare-advice h2 { margin:0 0 .75rem; font-size:1.18rem; line-height:1.3; }
.compare-advice p { margin:0; color:rgba(198,203,209,.78); line-height:1.75; }

.value-badge { display:inline-flex; align-items:center; gap:.4rem; margin-top:.5rem; background:rgba(0,146,70,.12); color:#e6f5e8; padding:.28rem .75rem; border-radius:0; font-size:.82rem; font-weight:700; border:1px solid rgba(0,146,70,.28); }
.value-badge::before { content:'✔'; display:inline-flex; align-items:center; justify-content:center; width:1rem; height:1rem; border-radius:0; background:rgba(0,146,70,.22); color:#fff; font-size:.8rem; }
.value-badge[hidden] { display:none !important; }
.apex-bubble { position:fixed; right:1.25rem; bottom:1.25rem; z-index:200; display:inline-flex; align-items:center; gap:.55rem; padding:.95rem 1.15rem; border:1px solid rgba(255,255,255,.12); background:linear-gradient(90deg, rgba(255,255,255,.98), rgba(246,240,220,.95)); color:var(--ink); cursor:pointer; font-family:var(--lb); font-size:.92rem; letter-spacing:.01em; border-radius:0; box-shadow:0 18px 40px rgba(0,0,0,.18); }
.apex-bubble:hover { transform: translateY(-1px); }
.apex-bubble-dot { width:8px; height:8px; border-radius:0; background:#0d0d0d; box-shadow:none; }
.apex-chat-win { display:none; position:fixed; right:1.25rem; bottom:5.5rem; width:min(360px,calc(100vw - 2.5rem)); max-height:72vh; background:var(--ink2); border:1px solid rgba(255,255,255,.08); box-shadow:0 22px 60px rgba(0,0,0,.55); flex-direction:column; overflow:hidden; z-index:210; }
.apex-chat-win.open { display:flex; }
.chat-hdr { display:flex; align-items:center; justify-content:space-between; gap:.85rem; padding:1rem 1rem .75rem; border-bottom:1px solid rgba(255,255,255,.08); }
.chat-hdr-av { width:2.5rem; height:2.5rem; display:grid; place-items:center; background:linear-gradient(135deg,var(--ig),var(--ir)); color:#fff; font-weight:700; font-size:1.1rem; }
.chat-hdr-info { flex:1; }
.chat-hdr-name { font-weight:700; }
.chat-hdr-sub, .chat-online { color:rgba(198,203,209,.7); font-size:.82rem; line-height:1.4; }
.chat-x { border:none; background:transparent; color:var(--tx); font-size:1.1rem; cursor:pointer; }
.chat-msgs { min-height:180px; max-height:260px; overflow:auto; padding:1rem; gap:.85rem; display:flex; flex-direction:column; }
.chat-toast { padding:0 1rem 1rem; color:rgba(198,203,209,.72); font-size:.84rem; }
.chat-contact-form { display:grid; gap:.65rem; padding:0 1rem 1rem; }
.chat-contact-input { width:100%; padding:.8rem 1rem; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:var(--tx); }
.chat-contact-btn { width:100%; border:none; background:linear-gradient(90deg,var(--ig),var(--ir)); color:var(--ink); padding:.85rem; cursor:pointer; }
.chat-quick { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; padding:0 1rem 1rem; }
.chat-qbtn { padding:.75rem .85rem; border:none; background:rgba(255,255,255,.05); color:var(--tx); cursor:pointer; }
.chat-inp-row { display:flex; gap:.5rem; padding:0 1rem 1rem; }
.chat-inp { flex:1; padding:.8rem 1rem; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.04); color:var(--tx); }
.chat-send-btn { border:none; background:var(--ig); color:#fff; padding:.8rem 1rem; cursor:pointer; }
.chat-foot { padding:0 1rem 1rem; color:rgba(198,203,209,.62); font-size:.78rem; }

footer {
  text-align: center;
  padding: 1.5rem var(--pd) 1.25rem;
  border-top: 1px solid var(--hr);
  background: var(--ink);
  position: relative;
}
footer::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: var(--tf);
  opacity: .3;
}
.ft-copy {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
  justify-content: center;
  color: rgba(198,203,209,.72);
  font-size:.88rem;
  line-height:1.8;
}
.ft-copy a.brand {
  display: inline-flex;
  align-items: center;
  gap:.3rem;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap:.3rem;
}
.footer-brand .brand-apex,
.footer-brand .brand-excl {
  font-family: var(--sf);
  text-transform: uppercase;
}
.footer-brand .brand-apex {
  font-weight: 600;
  color: var(--pt);
}
.footer-brand .brand-excl {
  font-weight: 300;
  color: rgba(198,203,209,.72);
}
.footer-brand .brand-sep {
  margin: 0 .25rem;
}
.ft-copy a { color: inherit; text-decoration: none; }

@media (max-width:900px) {
  .compare-grid,
  .compare-grid-small {
    grid-template-columns:1fr;
  }
  .vehicle-card { min-width:0; }
}

@media (max-width:640px) {
  header { flex-direction:column; align-items:flex-start; gap:.95rem; }
  .compare-grid { gap:.85rem; }
  .compare-summary { padding:.95rem; }
  .compare-card { min-height:100px; }
  .apex-chat-win { right:.75rem; bottom:calc(4rem + 1.25rem); }
}
