/* ============================================================
   Creative canvas — deterministic render styles.
   All dimensions in calc(var(--u) * N) so every ratio scales.
   ============================================================ */

.cv, .cv * { margin: 0; padding: 0; box-sizing: border-box; }
/* isolate the canvas from app-level element colors */
.cv h1, .cv h2, .cv h3, .cv p, .cv span, .cv li, .cv b, .cv em, .cv figure { color: inherit; font-family: inherit; }
.cv {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: 'Archivo', 'Hanken Grotesk', 'Noto Sans Devanagari', sans-serif;
  color: var(--txt, #fff);
  --acc: #F5B723;
  --accLight: #FFD867;
  --accSoft: rgba(245,183,35,0.55);
  --accText: #2A1D02;
  --footBlue: #16337E;
  flex-shrink: 0;
}
.cv[lang="hi"] .cv-headline,
.cv[lang="hi"] .cv-kicker,
.cv[lang="hi"] .cv-subline,
.cv[lang="hi"] .cv-cta,
.cv[lang="hi"] .cv-offer-label { font-family: 'Noto Sans Devanagari', 'Archivo', sans-serif; }

/* ---------- background scenes ---------- */
.cv-bg { position: absolute; inset: 0; z-index: 0; }
.cv-bg-glow { position: absolute; inset: 0; }
.cv-skyline { position: absolute; left: 0; right: 0; width: 100%; bottom: calc(var(--u) * 16); height: calc(var(--u) * 22); opacity: 0.55; }
.cv > *:not(.cv-bg) { position: relative; z-index: 1; }

.v-midnight { background: linear-gradient(165deg, #0C1D49 0%, #122A66 48%, #060F2E 100%); }
.v-midnight .cv-bg-glow { background: radial-gradient(ellipse 70% 45% at 78% 18%, rgba(245,183,35,0.28), transparent 65%); }
.v-midnight .cv-skyline path { fill: #1D3373; }

.v-sunrise { background: linear-gradient(168deg, #33122E 0%, #6E2414 55%, #1E0A18 100%); }
.v-sunrise .cv-bg-glow { background: radial-gradient(ellipse 75% 50% at 30% 12%, rgba(255,158,54,0.35), transparent 62%); }
.v-sunrise .cv-skyline path { fill: #4A1D33; }

.v-alert { background: linear-gradient(170deg, #26090F 0%, #47101A 52%, #14040A 100%); --hot: #FF4D4F; }
.v-alert .cv-bg-glow { background: radial-gradient(ellipse 70% 45% at 72% 15%, rgba(255,77,79,0.30), transparent 60%); }
.v-alert .cv-skyline path { fill: #4E1622; }

.v-steel { background: linear-gradient(170deg, #0D1B31 0%, #14304E 55%, #06101F 100%); --hot: #4DA3FF; }
.v-steel .cv-bg-glow { background: radial-gradient(ellipse 70% 45% at 72% 15%, rgba(77,163,255,0.25), transparent 60%); }
.v-steel .cv-skyline path { fill: #1C3A5E; }

.bg-emerald { background: linear-gradient(170deg, #03150E 0%, #0B3323 55%, #020D08 100%); --acc: #38E1A4; --accLight: #86EFCB; --accSoft: rgba(56,225,164,0.55); --accText: #032117; }
.bg-emerald .cv-bg-glow { background: radial-gradient(ellipse 60% 42% at 50% 20%, rgba(56,225,164,0.24), transparent 62%); }
.bg-emerald .cv-skyline path { fill: #0E4030; }

.bg-onyx { background: linear-gradient(170deg, #0C0C0F 0%, #1C1710 55%, #070604 100%); --acc: #E8C15A; --accLight: #F4DC9C; --accSoft: rgba(232,193,90,0.55); --accText: #241B04; }
.bg-onyx .cv-bg-glow { background: radial-gradient(ellipse 60% 42% at 50% 20%, rgba(232,193,90,0.26), transparent 62%); }
.bg-onyx .cv-skyline path { fill: #262014; }

.bg-electric { background: linear-gradient(170deg, #070D24 0%, #10245C 55%, #04081A 100%); --acc: #6D96FF; --accLight: #A7C0FF; --accSoft: rgba(109,150,255,0.55); --accText: #0A1230; }
.bg-electric .cv-bg-glow { background: radial-gradient(ellipse 60% 42% at 50% 20%, rgba(109,150,255,0.28), transparent 62%); }
.bg-electric .cv-skyline path { fill: #1A2E66; }

.v-royal { background: linear-gradient(165deg, #0A1633 0%, #1E3B7E 52%, #050B1F 100%); }
.v-royal .cv-bg-glow { background: radial-gradient(ellipse 65% 45% at 25% 15%, rgba(232,193,90,0.30), transparent 62%); }
.v-royal .cv-skyline path { fill: #27447F; }

.v-festive { background: linear-gradient(168deg, #2B0F3A 0%, #7A1E3C 55%, #160722 100%); }
.v-festive .cv-bg-glow { background: radial-gradient(ellipse 70% 48% at 50% 12%, rgba(255,184,77,0.34), transparent 62%); }
.v-festive .cv-skyline path { fill: #4A1B52; }

.v-graphite { background: linear-gradient(165deg, #17191E 0%, #262B34 55%, #0C0D10 100%); }
.v-graphite .cv-bg-glow { background: radial-gradient(ellipse 62% 44% at 70% 16%, rgba(120,150,200,0.22), transparent 62%); }
.v-graphite .cv-skyline path { fill: #2C323D; }

.v-celebrate { background: linear-gradient(165deg, #2E1330 0%, #8A3B12 60%, #1D0B26 100%); }
.v-celebrate .cv-bg-glow { background: radial-gradient(ellipse 70% 48% at 50% 14%, rgba(255,178,74,0.36), transparent 64%); }
.v-celebrate .cv-skyline path { fill: #4C2140; }

.v-fleet { background: linear-gradient(165deg, #081A38 0%, #10386E 55%, #04101F 100%); }
.v-fleet .cv-bg-glow { background: radial-gradient(ellipse 68% 45% at 72% 15%, rgba(77,159,255,0.28), transparent 62%); }
.v-fleet .cv-skyline path { fill: #1B3F72; }

.v-trust { background: linear-gradient(165deg, #0F1C2E 0%, #17465A 55%, #081018 100%); --acc: #38E1A4; --accLight: #86EFCB; --accSoft: rgba(56,225,164,0.55); --accText: #032117; }
.v-trust .cv-bg-glow { background: radial-gradient(ellipse 62% 44% at 30% 15%, rgba(56,225,164,0.24), transparent 62%); }
.v-trust .cv-skyline path { fill: #1C4A5E; }

/* ---------- uploaded / AI-generated background image ---------- */
.cv-bgimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cv-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,9,22,0.66) 0%, rgba(5,9,22,0.30) 42%, rgba(5,9,22,0.68) 88%); }
.cv-bg.has-img .cv-skyline, .cv-bg.has-img .cv-bg-glow { display: none; }

/* ---------- brand chrome (locked) ---------- */
.cv-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: calc(var(--u) * 2);
  background: rgba(255,255,255,0.96);
  color: #1A1D23;
  padding: calc(var(--u) * 1.5) calc(var(--u) * 3.2);
  min-height: calc(var(--u) * 6.4);
}
.cv-brand { display: flex; flex-direction: column; line-height: 1.12; }
.cv-brand-name { font-weight: 800; font-size: calc(var(--u) * 2.3); letter-spacing: 0.06em; }
.cv-brand-tag { font-size: calc(var(--u) * 1.35); color: #5A6472; font-weight: 500; }
.cv-badge {
  display: flex; align-items: center; gap: calc(var(--u) * 0.9);
  font-size: calc(var(--u) * 1.55); font-weight: 700; color: #7A5A00;
  background: #FFF7E0; border: 1px solid #EED9A0;
  padding: calc(var(--u) * 0.8) calc(var(--u) * 1.8);
  border-radius: calc(var(--u) * 10);
  max-width: 42%; text-align: center; line-height: 1.2;
}
.cv-badge svg { width: calc(var(--u) * 2.4); height: calc(var(--u) * 2.4); flex-shrink: 0; color: #C79A1E; }
.cv-dealerlogo { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.cv-dealerlogo-name { font-weight: 900; font-style: italic; font-size: calc(var(--u) * 2.5); letter-spacing: 0.03em; color: #10254E; }
.cv-dealerlogo-tag { font-size: calc(var(--u) * 1.3); font-style: italic; color: #5A6472; }

/* ---------- body ---------- */
.cv-body { flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: space-evenly; padding: calc(var(--u) * 2) calc(var(--u) * 4) 0; }
.cv-copy { text-align: center; }
.cv-kicker {
  display: inline-block;
  font-size: calc(var(--u) * 2.05); font-weight: 800; letter-spacing: 0.32em;
  color: var(--acc);
  padding-bottom: calc(var(--u) * 1.2);
}
.cv-headline {
  font-size: calc(var(--u) * 5.9); font-weight: 900; font-style: italic;
  text-transform: uppercase; line-height: 1.06; letter-spacing: 0.005em;
  text-wrap: balance;
}
.cv[lang="hi"] .cv-headline { font-style: normal; text-transform: none; line-height: 1.22; font-size: calc(var(--u) * 5.4); }
.cv-subline { margin-top: calc(var(--u) * 1.4); font-size: calc(var(--u) * 2.5); font-weight: 500; color: var(--txt, #fff); opacity: 0.85; }
.cv-chips { display: flex; align-items: stretch; justify-content: center; gap: calc(var(--u) * 2); margin-top: calc(var(--u) * 2.6); flex-wrap: wrap; }

.cv-offer {
  display: flex; flex-direction: column; justify-content: center;
  background: linear-gradient(180deg, var(--accLight, #FFD867), var(--acc));
  color: var(--accText);
  padding: calc(var(--u) * 1.3) calc(var(--u) * 3);
  border-radius: calc(var(--u) * 1);
  transform: skew(-4deg);
  box-shadow: 0 calc(var(--u) * 0.8) calc(var(--u) * 2.4) rgba(0,0,0,0.35);
  text-align: center;
}
.cv-offer > * { transform: skew(4deg); }
.cv-offer-label { font-size: calc(var(--u) * 2); font-weight: 800; letter-spacing: 0.08em; }
.cv-offer-value { font-size: calc(var(--u) * 4.6); font-weight: 900; line-height: 1.05; }

.cv-countdown {
  display: flex; align-items: center; gap: calc(var(--u) * 1.2);
  border: calc(var(--u) * 0.22) solid rgba(255,255,255,0.55);
  border-radius: calc(var(--u) * 1);
  padding: calc(var(--u) * 1) calc(var(--u) * 2.2);
  background: rgba(0,0,0,0.32);
  text-align: left;
}
.cv-countdown svg { width: calc(var(--u) * 3.4); height: calc(var(--u) * 3.4); color: var(--acc); }
.cv-countdown b { display: block; font-size: calc(var(--u) * 2.5); font-weight: 900; letter-spacing: 0.04em; }
.cv-countdown span { display: block; font-size: calc(var(--u) * 1.6); color: var(--txt, #fff); opacity: 0.78; }

/* ---------- heroes ---------- */
.cv-hero { display: flex; align-items: center; justify-content: center; }
.hero-exchange { gap: calc(var(--u) * 1.5); }
.hero-exchange .car-old { width: calc(var(--u) * 33); }
.hero-exchange .car-new { width: calc(var(--u) * 50); }
.cv-car { line-height: 0; transform-origin: 50% 100%; }
.cv-carrig { display: flex; flex-direction: column; align-items: center; transform-origin: 50% 100%; }
.cv-lineup { transform-origin: 50% 100%; }
.cv-car svg { width: 100%; height: auto; }

/* official PNG cut-outs (brand-supplied): tighter aspect than vector art (~1.9 vs 2.5 w/h) */
.cv-car.has-img { position: relative; }
.cv-car.has-img img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.cv-car-shadow {
  position: absolute; bottom: -3%; left: 5%; right: 5%; height: 14%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0.42), transparent 68%);
}
.hero-exchange .car-old.has-img { width: calc(var(--u) * 28); }
.hero-exchange .car-new.has-img { width: calc(var(--u) * 42); }
.cv-lineup .car-line.has-img { width: calc(var(--u) * 23); }
.car-single.has-img { width: calc(var(--u) * 42); }
.car-review.has-img { width: calc(var(--u) * 29); }
.car-delivery.has-img { width: calc(var(--u) * 23); }
.cv[data-ratio="1:1"] .hero-exchange .car-old.has-img { width: calc(var(--u) * 21); }
.cv[data-ratio="1:1"] .hero-exchange .car-new.has-img { width: calc(var(--u) * 30); }
.cv[data-ratio="1:1"] .cv-lineup .car-line.has-img { width: calc(var(--u) * 17); }
.cv[data-ratio="1:1"] .car-single.has-img { width: calc(var(--u) * 32); }
.cv[data-ratio="1:1"] .car-review.has-img { width: calc(var(--u) * 22); }
.cv[data-ratio="1:1"] .car-delivery.has-img { width: calc(var(--u) * 18); }
.cv[data-ratio="9:16"] .hero-exchange .car-old.has-img { width: calc(var(--u) * 29); }
.cv[data-ratio="9:16"] .hero-exchange .car-new.has-img { width: calc(var(--u) * 47); }
.cv[data-ratio="9:16"] .car-single.has-img { width: calc(var(--u) * 48); }
.cv[data-land="1"] .hero-exchange .car-old.has-img { width: calc(var(--u) * 22); }
.cv[data-land="1"] .hero-exchange .car-new.has-img { width: calc(var(--u) * 32); }
.cv[data-land="1"] .cv-lineup .car-line.has-img { width: calc(var(--u) * 18); }
.cv[data-land="1"] .car-single.has-img { width: calc(var(--u) * 34); }
.cv[data-land="1"] .car-review.has-img { width: calc(var(--u) * 22); }
.cv-xchg {
  width: calc(var(--u) * 7); height: calc(var(--u) * 7);
  border-radius: 50%;
  background: var(--acc); color: var(--accText);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 0 0 calc(var(--u) * 0.7) rgba(255,255,255,0.15);
}
.cv-xchg svg { width: 55%; height: 55%; }

.hero-pricehike { gap: calc(var(--u) * 3); flex-direction: column; }
.cv-bignum { text-align: center; line-height: 1; }
.cv-bignum-n {
  font-size: calc(var(--u) * 15); font-weight: 900; font-style: italic;
  color: var(--hot, var(--acc));
  text-shadow: 0 calc(var(--u) * 0.6) calc(var(--u) * 3) rgba(0,0,0,0.5);
}
.cv-bignum-cap { display: block; font-size: calc(var(--u) * 3.4); font-weight: 900; letter-spacing: 0.22em; margin-top: calc(var(--u) * 0.8); }
.cv-bignum-sub { display: block; font-size: calc(var(--u) * 1.9); color: var(--txt, #fff); opacity: 0.78; margin-top: calc(var(--u) * 0.8); font-weight: 500; }
.cv-lineup { display: flex; align-items: flex-end; justify-content: center; }
.cv-lineup .car-line { width: calc(var(--u) * 27); }
.cv-lineup .car-line + .car-line { margin-left: calc(var(--u) * -3.5); }

.hero-launch { }
.cv-stage { position: relative; display: flex; flex-direction: column; align-items: center; }
.car-veiled { width: calc(var(--u) * 52); position: relative; z-index: 1; }
.cv-spot {
  position: absolute; top: calc(var(--u) * -14); left: 50%; transform: translateX(-50%);
  width: calc(var(--u) * 60); height: calc(var(--u) * 30);
  background: radial-gradient(ellipse 50% 100% at 50% 0%, rgba(255,255,255,0.20), transparent 70%);
  pointer-events: none;
}
.cv-podium {
  width: calc(var(--u) * 60); height: calc(var(--u) * 3);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.22), rgba(255,255,255,0.04) 70%);
  margin-top: calc(var(--u) * -1.4);
}

/* ---------- single-car hero (corporate / festival / showcase / delivery) ---------- */
.hero-single { position: relative; }
.cv-stage2 { position: relative; display: flex; flex-direction: column; align-items: center; }
.car-single { width: calc(var(--u) * 50); position: relative; z-index: 1; }
.cv-giftbadge {
  position: absolute; top: calc(var(--u) * -2); right: calc(var(--u) * -4); z-index: 2;
  width: calc(var(--u) * 9); height: calc(var(--u) * 9); border-radius: 50%;
  background: var(--acc); color: var(--accText);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 calc(var(--u) * 0.6) calc(var(--u) * 2.4) rgba(0,0,0,0.45), 0 0 0 calc(var(--u) * 0.7) rgba(255,255,255,0.16);
}
.cv-giftbadge svg { width: 52%; height: 52%; }
.cv-sparks {
  position: absolute; left: 4%; right: 4%; top: calc(var(--u) * -6);
  height: calc(var(--u) * 12); width: 92%;
  color: var(--acc); pointer-events: none;
}
/* delivery hero — large framed customer photo, car tucked at the corner */
.hero-delivery { position: relative; width: 100%; justify-content: center; padding-bottom: calc(var(--u) * 3); }
.cv-photobig {
  width: 74%; max-width: calc(var(--u) * 66);
  aspect-ratio: 4 / 3;
  border-radius: calc(var(--u) * 1.6);
  border: calc(var(--u) * 0.9) solid #fff;
  box-shadow: 0 calc(var(--u) * 1.2) calc(var(--u) * 4) rgba(0,0,0,0.5), 0 0 0 calc(var(--u) * 0.3) var(--acc);
  overflow: hidden; position: relative; z-index: 1;
  background: rgba(255,255,255,0.08);
}
.cv-photobig img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-photoph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: rgba(255,255,255,0.55); }
.cv-photoph.big { flex-direction: column; gap: calc(var(--u) * 0.8); text-align: center; }
.cv-photoph.big svg { width: calc(var(--u) * 7); height: calc(var(--u) * 7); }
.cv-photoph.big b { font-size: calc(var(--u) * 2.2); font-weight: 800; color: rgba(255,255,255,0.85); }
.cv-photoph.big span { font-size: calc(var(--u) * 1.7); color: rgba(255,255,255,0.55); }
.car-delivery {
  position: absolute; left: calc(var(--u) * 0.5); bottom: calc(var(--u) * -2);
  width: calc(var(--u) * 27); z-index: 2;
}
.cv[data-ratio="9:16"] .cv-photobig { width: 84%; aspect-ratio: 4 / 4.6; }
.cv[data-ratio="9:16"] .car-delivery { width: calc(var(--u) * 32); }
.cv[data-land="1"] .cv-photobig { width: auto; height: calc(var(--u) * 36); aspect-ratio: 3 / 2; max-width: none; }
.cv[data-land="1"] .car-delivery { width: calc(var(--u) * 20); bottom: 0; }
.cv[data-ratio="2:1"] .cv-photobig { height: calc(var(--u) * 32); }

/* ---------- review hero ---------- */
.hero-review { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 1); }
.cv-review {
  background: #fff; color: #1C2430;
  border-radius: calc(var(--u) * 1.6);
  padding: calc(var(--u) * 2.4) calc(var(--u) * 3);
  max-width: calc(var(--u) * 62);
  box-shadow: 0 calc(var(--u) * 1) calc(var(--u) * 3.5) rgba(0,0,0,0.4);
  text-align: left;
}
.cv-review-top { display: flex; align-items: center; gap: calc(var(--u) * 1.2); margin-bottom: calc(var(--u) * 1); }
.cv-review-g {
  width: calc(var(--u) * 3.6); height: calc(var(--u) * 3.6); border-radius: 50%;
  background: #fff; border: 1px solid #DADCE0;
  color: #1A73E8; font-weight: 900; font-size: calc(var(--u) * 2.3);
  display: flex; align-items: center; justify-content: center; font-style: normal;
}
.cv-review-stars { display: flex; gap: calc(var(--u) * 0.4); }
.cv-review-stars svg { width: calc(var(--u) * 2.6); height: calc(var(--u) * 2.6); color: #F5B723; }
.cv-review-stars svg, .cv-review-stars svg path, .cv-review-stars svg polygon { fill: #F5B723 !important; }
.cv-review-quote { font-size: calc(var(--u) * 2.35); font-weight: 600; line-height: 1.4; color: #1C2430; font-style: normal; }
.cv-review-by { margin-top: calc(var(--u) * 1.4); display: flex; flex-direction: column; }
.cv-review-by b { font-size: calc(var(--u) * 1.95); color: #10254E; }
.cv-review-by span { font-size: calc(var(--u) * 1.55); color: #5A6472; }
.car-review { width: calc(var(--u) * 34); margin-top: calc(var(--u) * -1); }

/* ---------- range hero ---------- */
.hero-range .cv-lineup .car-line { width: calc(var(--u) * 30); }

/* ---------- event row ---------- */
.cv-event {
  display: flex; justify-content: center; gap: calc(var(--u) * 2);
  padding: 0 calc(var(--u) * 4) calc(var(--u) * 2);
}
.cv-event-cell {
  flex: 1; max-width: calc(var(--u) * 30);
  display: flex; gap: calc(var(--u) * 1.2); align-items: flex-start;
  border: 1px solid var(--accSoft, rgba(245,183,35,0.55));
  background: rgba(0,0,0,0.30);
  border-radius: calc(var(--u) * 1.2);
  padding: calc(var(--u) * 1.6) calc(var(--u) * 1.8);
}
.cv-event-cell svg { width: calc(var(--u) * 3); height: calc(var(--u) * 3); color: var(--acc); flex-shrink: 0; margin-top: calc(var(--u) * 0.3); }
.cv-event-cell span { display: block; font-size: calc(var(--u) * 1.5); letter-spacing: 0.18em; text-transform: uppercase; color: var(--acc); font-weight: 700; }
.cv-event-cell b { display: block; font-size: calc(var(--u) * 2.2); font-weight: 800; line-height: 1.15; margin-top: calc(var(--u) * 0.3); }
.cv-event-cell em { display: block; font-style: normal; font-size: calc(var(--u) * 1.6); color: var(--txt, #fff); opacity: 0.72; margin-top: calc(var(--u) * 0.2); }

/* ---------- benefits ---------- */
.cv-benefits {
  display: flex; justify-content: center; gap: calc(var(--u) * 1.6);
  padding: 0 calc(var(--u) * 4) calc(var(--u) * 2);
}
.cv-benefit {
  flex: 1; max-width: calc(var(--u) * 22);
  display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 1);
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: calc(var(--u) * 1.2);
  padding: calc(var(--u) * 1.6) calc(var(--u) * 1);
  text-align: center;
}
.cv-benefit-ic {
  width: calc(var(--u) * 5.4); height: calc(var(--u) * 5.4);
  border-radius: 50%; background: var(--acc); color: var(--accText);
  display: flex; align-items: center; justify-content: center;
}
.cv-benefit-ic svg { width: 52%; height: 52%; }
.cv-benefit > span:last-child { font-size: calc(var(--u) * 1.85); font-weight: 700; line-height: 1.2; }

/* ---------- CTA + T&C ---------- */
.cv-ctarow { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 1); padding: 0 calc(var(--u) * 4) calc(var(--u) * 1.8); }
.cv-cta {
  display: inline-flex; align-items: center; gap: calc(var(--u) * 1.2);
  background: #fff; color: #111827;
  font-size: calc(var(--u) * 2.6); font-weight: 800;
  padding: calc(var(--u) * 1.4) calc(var(--u) * 4);
  border-radius: calc(var(--u) * 10);
}
.cv-cta svg { width: calc(var(--u) * 2.8); height: calc(var(--u) * 2.8); }
.cv-tnc { font-size: calc(var(--u) * 1.5); color: var(--txt, #fff); opacity: 0.58; text-align: center; max-width: 92%; line-height: 1.35; }

/* ---------- dealer footer (auto) ---------- */
.cv-foot { background: #fff; color: #1A1D23; padding: calc(var(--u) * 1.6) calc(var(--u) * 3.2) calc(var(--u) * 1.8); }
.cv-foot-name {
  text-align: center; font-size: calc(var(--u) * 3.2); font-weight: 900; font-style: italic;
  color: var(--footBlue); line-height: 1.1; margin-bottom: calc(var(--u) * 1);
}
.cv-outlets { display: flex; justify-content: center; gap: calc(var(--u) * 3); }
.cv-outlet { display: flex; flex-direction: column; gap: calc(var(--u) * 0.5); align-items: center; text-align: center; flex: 1; max-width: calc(var(--u) * 44); }
.cv-outlet-line { display: flex; align-items: flex-start; gap: calc(var(--u) * 0.7); font-size: calc(var(--u) * 1.7); font-weight: 600; color: #2A3342; line-height: 1.3; }
.cv-outlet-line svg { width: calc(var(--u) * 2); height: calc(var(--u) * 2); color: var(--footBlue); flex-shrink: 0; margin-top: calc(var(--u) * 0.15); }

/* ============================================================
   Ratio adaptations
   ============================================================ */

/* square 1:1 — least vertical room: tighter type, smaller heroes */
.cv[data-ratio="1:1"] .cv-body { padding-top: calc(var(--u) * 1); }
.cv[data-ratio="1:1"] .cv-kicker { padding-bottom: calc(var(--u) * 0.7); font-size: calc(var(--u) * 1.85); }
.cv[data-ratio="1:1"] .cv-headline { font-size: calc(var(--u) * 5); }
.cv[data-ratio="1:1"] .cv-subline { margin-top: calc(var(--u) * 1); font-size: calc(var(--u) * 2.3); }
.cv[data-ratio="1:1"] .cv-chips { margin-top: calc(var(--u) * 1.8); }
.cv[data-ratio="1:1"] .cv-offer-value { font-size: calc(var(--u) * 4); }
.cv[data-ratio="1:1"] .hero-exchange .car-old { width: calc(var(--u) * 25); }
.cv[data-ratio="1:1"] .hero-exchange .car-new { width: calc(var(--u) * 36); }
.cv[data-ratio="1:1"] .cv-xchg { width: calc(var(--u) * 5.5); height: calc(var(--u) * 5.5); }
.cv[data-ratio="1:1"] .hero-pricehike { flex-direction: row; gap: calc(var(--u) * 4); }
.cv[data-ratio="1:1"] .cv-bignum-n { font-size: calc(var(--u) * 11); }
.cv[data-ratio="1:1"] .cv-bignum-cap { font-size: calc(var(--u) * 2.6); }
.cv[data-ratio="1:1"] .cv-lineup .car-line { width: calc(var(--u) * 20); }
.cv[data-ratio="1:1"] .car-single { width: calc(var(--u) * 38); }
.cv[data-ratio="1:1"] .car-veiled { width: calc(var(--u) * 40); }
.cv[data-ratio="1:1"] .cv-spot { top: calc(var(--u) * -9); }
.cv[data-ratio="1:1"] .cv-photobig { width: 56%; }
.cv[data-ratio="1:1"] .car-delivery { width: calc(var(--u) * 21); }
.cv[data-ratio="1:1"] .cv-review { max-width: calc(var(--u) * 56); padding: calc(var(--u) * 1.8) calc(var(--u) * 2.4); }
.cv[data-ratio="1:1"] .car-review { width: calc(var(--u) * 26); }
.cv[data-ratio="1:1"] .cv-benefits { padding-bottom: calc(var(--u) * 1.6); }
.cv[data-ratio="1:1"] .cv-benefit { padding: calc(var(--u) * 1.2) calc(var(--u) * 0.8); }
.cv[data-ratio="1:1"] .cv-benefit-ic { width: calc(var(--u) * 4.4); height: calc(var(--u) * 4.4); }
.cv[data-ratio="1:1"] .cv-event-cell { padding: calc(var(--u) * 1.2) calc(var(--u) * 1.4); }
.cv[data-ratio="1:1"] .cv-giftbadge { width: calc(var(--u) * 7); height: calc(var(--u) * 7); }

.cv[data-ratio="9:16"] .cv-body { padding-top: calc(var(--u) * 4); }
.cv[data-ratio="9:16"] .cv-headline { font-size: calc(var(--u) * 6.6); }
.cv[data-ratio="9:16"] .hero-exchange { flex-direction: column; gap: calc(var(--u) * 0); }
.cv[data-ratio="9:16"] .hero-exchange .car-old { width: calc(var(--u) * 34); }
.cv[data-ratio="9:16"] .hero-exchange .car-new { width: calc(var(--u) * 56); }
.cv[data-ratio="9:16"] .cv-xchg { margin: calc(var(--u) * -1) 0; }
.cv[data-ratio="9:16"] .car-veiled { width: calc(var(--u) * 62); }
.cv[data-ratio="9:16"] .car-single { width: calc(var(--u) * 58); }
.cv[data-ratio="9:16"] .cv-review { max-width: calc(var(--u) * 70); }
.cv[data-ratio="9:16"] .hero-range .cv-lineup { flex-wrap: wrap; row-gap: calc(var(--u) * 2); }
.cv[data-ratio="9:16"] .cv-benefits { flex-wrap: wrap; padding-bottom: calc(var(--u) * 3); }
.cv[data-ratio="9:16"] .cv-benefit { flex: 0 0 calc(42% - var(--u) * 1.6); max-width: none; flex-direction: row; text-align: left; padding: calc(var(--u) * 1.4) calc(var(--u) * 1.8); }
.cv[data-ratio="9:16"] .cv-event { flex-direction: column; align-items: center; }
.cv[data-ratio="9:16"] .cv-event-cell { max-width: none; width: 72%; }
.cv[data-ratio="9:16"] .cv-outlets { flex-direction: column; align-items: center; gap: calc(var(--u) * 1.4); }
.cv[data-ratio="9:16"] .cv-outlet { max-width: none; }

.cv[data-land="1"] .cv-body { flex-direction: row; align-items: center; gap: calc(var(--u) * 3); padding: calc(var(--u) * 1) calc(var(--u) * 4); }
.cv[data-land="1"] .cv-copy { flex: 0 0 46%; text-align: left; }
.cv[data-land="1"] .cv-chips { justify-content: flex-start; }
.cv[data-land="1"] .cv-hero { flex: 1; min-width: 0; }
.cv[data-land="1"] .cv-headline { font-size: calc(var(--u) * 5.2); }
.cv[data-land="1"] .hero-exchange .car-old { width: calc(var(--u) * 26); }
.cv[data-land="1"] .hero-exchange .car-new { width: calc(var(--u) * 38); }
.cv[data-land="1"] .hero-pricehike { flex-direction: row; gap: calc(var(--u) * 4); }
.cv[data-land="1"] .cv-lineup .car-line { width: calc(var(--u) * 22); }
.cv[data-land="1"] .car-veiled { width: calc(var(--u) * 44); }
.cv[data-land="1"] .cv-spot { top: calc(var(--u) * -10); }
.cv[data-land="1"] .car-single { width: calc(var(--u) * 42); }
.cv[data-land="1"] .hero-review { flex-direction: row; align-items: center; gap: calc(var(--u) * 2); }
.cv[data-land="1"] .cv-review { max-width: calc(var(--u) * 46); }
.cv[data-land="1"] .car-review { width: calc(var(--u) * 26); }
.cv[data-land="1"] .hero-range .cv-lineup .car-line { width: calc(var(--u) * 24); }
.cv[data-land="1"] .cv-benefits { position: absolute; right: calc(var(--u) * 4); bottom: calc(var(--u) * 15); width: 50%; padding: 0; }
.cv[data-land="1"] .cv-benefit { flex-direction: row; padding: calc(var(--u) * 1) calc(var(--u) * 1.4); text-align: left; gap: calc(var(--u) * 1); }
.cv[data-land="1"] .cv-benefit-ic { width: calc(var(--u) * 4); height: calc(var(--u) * 4); flex-shrink: 0; }
.cv[data-land="1"] .cv-benefit > span:last-child { font-size: calc(var(--u) * 1.55); }
.cv[data-land="1"] .cv-ctarow { flex-direction: row; justify-content: space-between; align-items: center; padding-bottom: calc(var(--u) * 1.4); }
.cv[data-land="1"] .cv-tnc { text-align: right; max-width: 55%; }
.cv[data-land="1"] .cv-foot { display: flex; align-items: center; gap: calc(var(--u) * 3); padding-top: calc(var(--u) * 1.2); padding-bottom: calc(var(--u) * 1.2); }
.cv[data-land="1"] .cv-foot-name { margin-bottom: 0; }
.cv[data-land="1"] .cv-outlets { flex: 1; justify-content: space-evenly; }
.cv[data-land="1"] .cv-outlet { align-items: flex-start; text-align: left; }
.cv[data-land="1"] .cv-event { position: absolute; right: calc(var(--u) * 4); bottom: calc(var(--u) * 15); width: 52%; padding: 0; }

.cv[data-ratio="2:1"] .cv-benefits { display: none; }
.cv[data-ratio="2:1"] .cv-subline { display: none; }
.cv[data-ratio="2:1"] .cv-headline { font-size: calc(var(--u) * 4.8); }
.cv[data-ratio="2:1"] .cv-event { position: static; width: auto; padding: 0 calc(var(--u) * 4) calc(var(--u) * 1.5); }

/* ============================================================
   Governance x-ray overlay
   ============================================================ */
.cv.xray [data-zone] { outline-style: dashed; outline-width: calc(var(--u) * 0.35); outline-offset: calc(var(--u) * -0.35); position: relative; }
.cv.xray [data-zone][data-tier="locked"]   { outline-color: #94A3B8; }
.cv.xray [data-zone][data-tier="editable"] { outline-color: #2DD4BF; }
.cv.xray [data-zone][data-tier="auto"]     { outline-color: #FBBF24; }
.cv.xray [data-zone]::before {
  content: attr(data-tier);
  position: absolute; top: 0; left: 0;
  font-family: 'Hanken Grotesk', sans-serif;
  font-size: calc(var(--u) * 1.4); font-weight: 700; font-style: normal;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding: calc(var(--u) * 0.25) calc(var(--u) * 0.9);
  border-radius: 0 0 calc(var(--u) * 0.6) 0;
  z-index: 5; line-height: 1.4;
}
.cv.xray [data-zone][data-tier="locked"]::before   { background: #94A3B8; color: #101623; }
.cv.xray [data-zone][data-tier="editable"]::before { background: #2DD4BF; color: #04241F; }
.cv.xray [data-zone][data-tier="auto"]::before     { background: #FBBF24; color: #2A1D02; }
.cv.xray .cv-bg::before { top: auto; bottom: 0; border-radius: 0 calc(var(--u) * 0.6) 0 0; }

/* live price plate — fed by the nameplate sync */
.cv-price {
  display: flex; flex-direction: column; justify-content: center;
  padding: calc(var(--u) * 1.2) calc(var(--u) * 2.4);
  border-radius: calc(var(--u) * 1.4);
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.09);
  color: var(--txt, #fff); text-align: left; line-height: 1.25;
}
.cv-price span { font-size: calc(var(--u) * 1.5); font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; opacity: 0.8; }
.cv-price b { font-size: calc(var(--u) * 2.7); font-weight: 900; }
.cv-price i { font-style: normal; font-size: calc(var(--u) * 1.2); opacity: 0.65; }
.cv[data-ratio="1:1"] .cv-price b { font-size: calc(var(--u) * 2.3); }
.cv[data-ratio="2:1"] .cv-price { display: none; }
