/* =========================================================================
   DENZA Kazakhstan — styles
   1. Tokens         5. Header & menus     9.  Home page
   2. Base           6. Mobile menu        10. Model page (B8)
   3. Icons          7. Lead form modal    11. Footer
   4. UI components  8. Shared sections    12. Motion & responsive
   ========================================================================= */

/* 1. Tokens ---------------------------------------------------------------- */
:root{
  --pad:clamp(20px,7.3vw,140px);/* page side padding */
  --radius:clamp(12px,1vw,20px);
  --header-offset:88px;

  /* Colours follow the DENZA Brand Identity Guidelines (A1-19 … A1-21) */
  --navy:#003087;/* DENZA Blue — primary brand colour (Pantone 287C) */
  --navy-hover:#2A5099;/* DENZA Blue 85% */
  --blue-70:#536FAC;/* DENZA Blue 70% */
  --blue-50:#8397C3;/* DENZA Blue 50% */
  --blue-20:#CDD6E8;/* DENZA Blue 20% */
  --sky:#EAF0FC;/* very light DENZA Blue for hover backgrounds (as on denza.com) */
  --white:#FFFFFF;/* Glacier White — base colour */
  --midnight:#021349;/* DENZA Dark Blue (Pantone 282C) — dark sections */
  --gold:#FFE3A8;/* Dawning Gold — warm accent on dark backgrounds */
  --silver:#DADBDB;/* Starlight Silver */
  --grey:#565656;/* Meteorite Grey */
  --paper:#F6F0EA;/* warm light background of alternating sections (design choice, not in the brand book) */
  --ink:#1A1D25;/* main text (as on denza.com) */
  --muted:var(--grey);/* secondary text on light */
  --muted-dark:var(--blue-20);/* secondary text on dark */
  --muted-dark-2:var(--blue-50);/* tertiary text on dark */
  --line:rgba(26,29,37,0.14);
  --line-dark:rgba(255,255,255,0.12);
  --field:#8A8F99;
  --error:#B3261E;

  --font:"Roboto Flex","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(0.2,0.7,0.2,1);
  --ease-soft:cubic-bezier(0.48,0.04,0.52,0.96);
  --shadow-card:0 30px 80px rgba(2,19,73,0.08);
  --shadow-pop:0 24px 60px rgba(2,19,73,0.16);
}

/* 2. Base ------------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  min-width:320px;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-stretch:130%;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
h1,h2,h3,dd,.wide{font-stretch:151%;}
h1,h2,h3{text-wrap:balance;}
p{text-wrap:pretty;}
img{max-width:100%;}
button,input,select,textarea{font:inherit;font-stretch:inherit;}
a{color:var(--navy);}
a:hover{color:var(--navy-hover);}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
.on-dark :focus-visible,.on-photo :focus-visible{outline-color:var(--white);}
[hidden]{display:none !important;}
.nowrap{white-space:nowrap;}
.tabular{font-variant-numeric:tabular-nums;}

/* 3. Icons: SVG files recoloured with currentColor ------------------------- */
.icon{
  display:inline-block;
  flex:none;
  width:1em;
  height:1em;
  background-color:currentColor;
  -webkit-mask:center / contain no-repeat;
  mask:center / contain no-repeat;
}
.icon--chevron-down{-webkit-mask-image:url(../img/svg/chevron-down.svg);mask-image:url(../img/svg/chevron-down.svg);}
.icon--chevron-left{-webkit-mask-image:url(../img/svg/chevron-left.svg);mask-image:url(../img/svg/chevron-left.svg);}
.icon--chevron-right{-webkit-mask-image:url(../img/svg/chevron-right.svg);mask-image:url(../img/svg/chevron-right.svg);}
.icon--arrow-right{-webkit-mask-image:url(../img/svg/arrow-right.svg);mask-image:url(../img/svg/arrow-right.svg);}
.icon--close{-webkit-mask-image:url(../img/svg/close.svg);mask-image:url(../img/svg/close.svg);}
.icon--burger{-webkit-mask-image:url(../img/svg/burger.svg);mask-image:url(../img/svg/burger.svg);}
.icon--document{-webkit-mask-image:url(../img/svg/document.svg);mask-image:url(../img/svg/document.svg);}
.icon--check{-webkit-mask-image:url(../img/svg/check.svg);mask-image:url(../img/svg/check.svg);}
.icon--play{-webkit-mask-image:url(../img/svg/play.svg);mask-image:url(../img/svg/play.svg);}
.icon--pause{-webkit-mask-image:url(../img/svg/pause.svg);mask-image:url(../img/svg/pause.svg);}

/* 4. UI components --------------------------------------------------------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 32px;
  border:1px solid transparent;
  border-radius:999px;
  background:none;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:background 0.3s,color 0.3s,border-color 0.3s,box-shadow 0.3s;
}
.btn .icon{font-size:18px;}
.btn--sm{min-height:44px;padding:0 20px;font-size:14px;}
.btn--lg{min-height:56px;padding:0 40px;font-size:16px;}
.btn--primary{background:var(--navy);color:var(--white);}
.btn--primary:hover{background:var(--navy-hover);color:var(--white);}
.btn--outline{border-color:var(--navy);color:var(--navy);}
.btn--outline:hover{background:var(--navy);color:var(--white);}
.btn--light{background:var(--white);border-color:rgba(26,29,37,0.2);color:var(--ink);}
.btn--light:hover{background:var(--ink);border-color:var(--ink);color:var(--white);}
.btn--white{background:var(--white);color:var(--navy);}
.btn--white:hover{background:var(--sky);color:var(--navy);}
.btn--glass{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.75);color:var(--white);}
.btn--glass:hover{background:var(--white);color:var(--ink);}

.round-btn{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,48,135,0.3);
  border-radius:999px;
  background:transparent;
  color:var(--navy);
  cursor:pointer;
  transition:background 0.25s,color 0.25s,border-color 0.25s;
}
.round-btn .icon{font-size:20px;}
.round-btn:hover{background:var(--navy);border-color:var(--navy);color:var(--white);}
.round-btn--frost{width:64px;height:64px;border:0;background:rgba(255,255,255,0.72);color:var(--ink);backdrop-filter:blur(8px);box-shadow:0 2px 14px rgba(0,0,0,0.12);}
.round-btn--frost:hover{background:var(--white);color:var(--ink);}
.round-btn--glass{width:44px;height:44px;border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);color:var(--white);}
.round-btn--glass:hover{background:rgba(255,255,255,0.22);border-color:rgba(255,255,255,0.5);color:var(--white);}
.round-btn--glass .icon{font-size:16px;}

.icon-btn{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  transition:background 0.2s;
}
.icon-btn:hover{background:var(--paper);}
.icon-btn .icon{font-size:22px;}

.link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  font-size:15px;
  font-weight:600;
  color:var(--navy);
  text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px) / 0 1px no-repeat;
  transition:background-size 0.45s var(--ease-soft);
}
.link:hover{background-size:100% 1px;}
.link .icon{font-size:18px;}

.eyebrow{
  margin:0;
  display:flex;
  align-items:center;
  gap:14px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.06em;
  color:var(--navy);
}
.eyebrow::before{content:"";flex:none;width:36px;height:1px;background:var(--blue-50);}
.eyebrow--light{color:var(--white);}
.eyebrow--light::before{background:var(--gold);}
.on-dark .eyebrow{color:var(--gold);}
.on-dark .eyebrow::before{background:var(--gold);}

/* Brand slogan: official artwork (brand book A1-30/31) — white on dark, blue on light */
.slogan{margin:0;line-height:0;}
.slogan img{display:block;width:auto;max-width:100%;height:clamp(11px,0.95vw,15px);}

.title{
  margin:0;
  font-size:clamp(28px,calc(4.8vw + 6px),100px);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-0.02em;
  hyphens:auto;
  overflow-wrap:break-word;
}
.title__line{display:block;}
.title__line--accent{color:var(--navy);}
.on-dark .title__line--accent{color:var(--gold);}

.lead{margin:0;font-size:clamp(16px,1.04vw,20px);line-height:1.6;color:var(--muted);}
.on-dark .lead{color:var(--muted-dark);}
.on-photo .lead{color:rgba(255,255,255,0.92);}

.label{margin:0;font-size:clamp(14px,0.94vw,18px);font-weight:600;color:var(--navy);}

.car-crop{position:relative;display:block;aspect-ratio:872 / 342;overflow:hidden;}
.car-crop img{position:absolute;left:-28.2%;top:-28.1%;width:150.7%;max-width:none;height:auto;}

.mask{display:block;overflow:hidden;padding-bottom:0.08em;margin-bottom:-0.08em;}

.fade-image{opacity:0;transition:opacity 0.7s var(--ease-soft);}
.fade-image.is-active{opacity:1;}

.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Horizontal carousel (native scroll + snap) */
.rail{
  display:grid;
  grid-auto-flow:column;
  align-items:start;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:var(--pad);
  scrollbar-width:none;
  transition:height 0.35s var(--ease-soft);
}
.rail::-webkit-scrollbar{display:none;}
.rail > *{scroll-snap-align:start;}

/* Carousel controls under a rail: progress line + arrows */
.rail-controls{margin-top:24px;display:flex;align-items:center;gap:24px;}
.rail-progress{position:relative;flex:1 1 auto;height:2px;overflow:hidden;border-radius:2px;background:var(--line);}
.rail-progress__thumb{position:absolute;top:0;bottom:0;left:0;width:30%;border-radius:2px;background:var(--navy);transition:transform 0.15s linear;}
.rail-controls__arrows{display:flex;gap:8px;}

/* Card: photo or tile + text */
.card{display:flex;flex-direction:column;}
.card__media{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.card__media img{display:block;width:100%;height:100%;object-fit:cover;}
.card__media--wide{aspect-ratio:960 / 500;}
.card__media--tall{aspect-ratio:3 / 4;}
.card__tile{aspect-ratio:1 / 1;border-radius:var(--radius);background:var(--midnight);color:var(--gold);display:flex;align-items:flex-end;padding:clamp(20px,2.2vw,44px);}
.card__tile--center{align-items:center;justify-content:center;}
.card__tile img{width:44%;}
.card__figure{font-size:clamp(56px,5vw,120px);font-weight:600;line-height:1;font-stretch:151%;}
.card__body{display:flex;flex-direction:column;gap:8px;padding:22px 4px 0;}
.card__title{margin:0;font-size:clamp(20px,1.6vw,32px);font-weight:600;line-height:1.3;}
.card__text{margin:0;font-size:clamp(15px,1vw,19px);line-height:1.55;color:var(--muted);}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .zoom img{transition:transform 1.4s var(--ease);}
  .zoom:hover img{transform:scale(1.045);}
}

/* Small modifiers and image focal points */
.eyebrow--spaced{margin-bottom:20px;}
.eyebrow--gold,.on-photo .eyebrow--gold{color:var(--gold);}
.eyebrow--gold::before{background:var(--gold);}
.title--sm{font-size:clamp(28px,calc(3.8vw + 6px),80px);}
.title--tight{line-height:1.04;}
[data-autoheight]{align-items:start;transition:height 0.35s var(--ease-soft);}
.img-pos--front{object-position:50% 55%;}
.img-pos--side{object-position:50% 55%;}
.img-pos--rear{object-position:50% 60%;}
.img-pos--rear-low{object-position:50% 80%;}
.img-pos--left{object-position:30% 50%;}
.img-pos--desert{object-position:64% 50%;}
.img-pos--mountain{object-position:60% 50%;}
.img-pos--lake{object-position:45% 50%;}
.img-pos--low{object-position:50% 75%;}
.img-pos--elegance{object-position:50% 55%;}
.img-pos--tech{object-position:50% 45%;}
.img-pos--comfort{object-position:50% 45%;}
.img-pos--center{object-position:50% 50%;}
/* Generic focal points (for images chosen in the admin panel) */
.img-pos--top-left{object-position:0 0;}
.img-pos--top{object-position:50% 0;}
.img-pos--top-right{object-position:100% 0;}
.img-pos--left-center{object-position:0 50%;}
.img-pos--right-center{object-position:100% 50%;}
.img-pos--bottom-left{object-position:0 100%;}
.img-pos--bottom{object-position:50% 100%;}
.img-pos--bottom-right{object-position:100% 100%;}

/* 5. Header & menus -------------------------------------------------------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;pointer-events:none;}
.site-header--sticky{position:sticky;height:0;}
.site-header__inner{padding:12px clamp(8px,1.15vw,22px) 0;}
.site-header--sticky .site-header__inner{position:absolute;top:0;left:0;right:0;}
/* Model page: the header stays on screen while the banner is visible and is released
   when the model bar comes 40px below it; then both scroll up together and the model bar
   sticks at the top once the header has left (sticky inside .hero-zone = header + banner).
   Height = 12px top gap + 64px bar + 40px release distance. */
.site-header--hero{position:sticky;top:0;height:116px;}
/* the banner moves up under the header instead of a negative margin on the header:
   a negative margin would make the browser keep the header stuck until the banner's very end */
.site-header--hero + .hero{margin-top:-116px;}
.site-header__bar{
  pointer-events:auto;
  position:relative;
  height:64px;
  padding:0 10px 0 clamp(16px,1.6vw,28px);
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,255,255,0.86);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid rgba(255,255,255,0.7);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(2,19,73,0.08);
}
.logo{align-self:center;display:inline-flex;align-items:center;min-height:44px;overflow:hidden;}
.logo img{display:block;height:34px;width:auto;max-width:none;}

.menu{display:flex;align-items:stretch;}
.menu__list{display:flex;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none;}
.menu__item{display:flex;align-items:center;}
.menu__item--dropdown{position:relative;}
.menu__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--ink);
  font-size:15px;
  font-weight:500;
  text-decoration:none;
  cursor:pointer;
  transition:background 0.25s;
}
.menu__link .icon{font-size:16px;transition:transform 0.25s;}
.menu__link:hover,.menu__item.is-open > .menu__link{background:var(--sky);color:var(--ink);}
.menu__item.is-open > .menu__link .icon{transform:rotate(180deg);}
.menu__panel{display:none;position:absolute;top:100%;padding-top:10px;}
.menu__panel--wide{left:0;right:0;}
.menu__panel--list{left:-6px;min-width:240px;}
.menu__item.is-open > .menu__panel{display:block;}
@media (hover:hover){
  .menu__item:hover > .menu__panel{display:block;}
  .menu__item:hover > .menu__link{background:var(--sky);}
  .menu__item:hover > .menu__link .icon{transform:rotate(180deg);}
}

.mega{display:flex;flex-wrap:wrap;gap:28px 48px;padding:clamp(24px,2.4vw,40px);background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-pop);}
.mega__intro{flex:0 1 220px;display:flex;flex-direction:column;gap:12px;}
.mega__intro .eyebrow::before{width:28px;}
.mega__title{margin:0;font-size:clamp(22px,1.8vw,30px);font-weight:600;line-height:1.2;font-stretch:151%;}
.mega__grid{flex:1 1 520px;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,300px));gap:20px;}

.model-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;border-radius:12px;background:var(--paper);color:var(--ink);text-decoration:none;transition:box-shadow 0.3s;}
.model-card:hover{color:var(--ink);box-shadow:inset 0 0 0 1px rgba(0,48,135,0.35);}
.model-card__name{margin-top:6px;font-size:18px;font-weight:600;font-stretch:151%;transition:color 0.2s;}
.model-card:hover .model-card__name{color:var(--navy);}
.model-card__tag{font-size:14px;line-height:1.45;color:var(--muted);}
.model-card__price{font-size:14px;font-weight:600;color:var(--navy);}

.dropdown{margin:0;padding:8px;list-style:none;background:var(--white);border-radius:12px;box-shadow:0 20px 50px rgba(2,19,73,0.16);}
.dropdown__link{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:8px;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;transition:background 0.2s,color 0.2s;}
.dropdown__link:hover{background:var(--paper);color:var(--navy);}

.site-header__tools{align-self:center;display:flex;align-items:center;gap:4px;}
.lang{display:inline-flex;align-items:center;font-size:13px;font-weight:600;letter-spacing:0.06em;display:none;}
.lang__item{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:44px;color:var(--grey);text-decoration:none;transition:color 0.2s;}
.lang__item:hover{color:var(--navy);}
.lang__item--current{color:var(--ink);}
.lang__sep{width:1px;height:14px;background:rgba(26,29,37,0.2);}
.burger{display:none;}

/* Model sub-navigation (sticky under the hero on model pages) */
.model-bar{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,0.92);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);
  backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid rgba(26,29,37,0.08);
  box-shadow:0 8px 24px rgba(2,19,73,0.05);
}
.model-bar__inner{height:64px;padding:0 var(--pad);display:flex;align-items:center;gap:20px;}
.model-bar__name{flex:none;font-size:16px;font-weight:600;letter-spacing:0.04em;font-stretch:151%;color:var(--ink);text-decoration:none;}
.model-bar__links{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;}
.model-bar__links::-webkit-scrollbar{display:none;}
.model-bar__link{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:10px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background 0.2s,color 0.2s;}
.model-bar__link:hover{background:var(--sky);color:var(--ink);}
.model-bar__link.is-active{background:var(--sky);color:var(--navy);}
.model-bar__actions{flex:none;display:flex;align-items:center;gap:8px;}
.model-bar__toggle{display:none;flex:1 1 auto;min-width:0;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;}
.model-bar__toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.model-bar__toggle .icon{font-size:16px;transition:transform 0.25s;}
.model-bar.is-open .model-bar__toggle .icon{transform:rotate(180deg);}

/* 6. Mobile menu ----------------------------------------------------------- */
.mobile-nav{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:var(--white);color:var(--ink);overflow-y:auto;}
.mobile-nav__top{flex:none;height:64px;padding:0 12px 0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(26,29,37,0.08);}
.mobile-nav__top img{display:block;height:26px;width:auto;}
.mobile-nav__body{padding:20px var(--pad) 40px;display:flex;flex-direction:column;}
.mobile-nav__label{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:0.06em;color:var(--navy);}
.mobile-nav__models{margin:0 0 12px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.mobile-nav__link{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid rgba(26,29,37,0.1);color:var(--ink);font-size:20px;font-weight:600;font-stretch:151%;text-decoration:none;cursor:pointer;list-style:none;}
.mobile-nav__link::-webkit-details-marker{display:none;}
.mobile-nav__link .icon{font-size:18px;transition:transform 0.25s;}
.mobile-nav details[open] > summary .icon{transform:rotate(180deg);}
.mobile-nav__sub{margin:0 0 12px;padding:0;list-style:none;}
.mobile-nav__sub .dropdown__link{min-height:48px;padding:0 4px;font-size:16px;}
.mobile-nav__footer{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}

/* 7. Lead form modal ------------------------------------------------------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,0.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.modal__dialog{position:relative;width:100%;max-width:520px;max-height:calc(100% - 32px);overflow-y:auto;padding:clamp(28px,3vw,48px);background:var(--white);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,0.25);}
.modal__close{position:absolute;top:12px;right:12px;}
.modal__head{display:flex;flex-direction:column;gap:10px;padding-right:40px;}
.modal__title{margin:0;font-size:clamp(24px,2vw,34px);font-weight:600;line-height:1.2;}
.modal__text{margin:0;font-size:15px;line-height:1.55;color:var(--muted);}

.form{display:flex;flex-direction:column;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field__label{font-size:14px;font-weight:600;}
.field__input{min-height:52px;padding:0 18px;border:1px solid var(--field);border-radius:12px;background:var(--white);color:var(--ink);font-size:16px;transition:border-color 0.2s;}
.field__input:hover{border-color:var(--ink);}
.field__input::placeholder{color:var(--field);}
.field__input[aria-invalid="true"]{border-color:var(--error);}
.field__select{padding-right:48px;appearance:none;-webkit-appearance:none;background:var(--white) url(../img/svg/chevron-down.svg) no-repeat right 18px center / 16px;cursor:pointer;}
.field__error{margin:0;min-height:18px;font-size:13px;color:var(--error);}
.form__note{margin:0;font-size:12px;line-height:1.5;color:var(--muted);}

.checkbox{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;cursor:pointer;}
.checkbox input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy);}

.captcha{width:304px;max-width:100%;min-height:76px;padding:0 12px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#F9F9F9;border:1px solid #D3D3D3;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.08);}
.captcha.is-invalid{border-color:var(--error);}
.captcha__check{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:500;color:#222222;cursor:pointer;}
.captcha__check input{width:26px;height:26px;margin:0;accent-color:#1A73E8;}
.captcha__brand{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:9px;line-height:1.2;color:#555555;text-align:center;}
.captcha__brand img{width:30px;height:30px;}
.captcha__brand small{font-size:8px;color:#777777;}

.success{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.success--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px 32px;}
.success__icon{flex:none;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--sky);color:var(--navy);}
.success__icon .icon{font-size:28px;}
.success__title{margin:0;font-size:clamp(22px,2vw,34px);font-weight:600;line-height:1.2;}
.success__text{margin:0;font-size:15px;line-height:1.6;color:var(--muted);}

/* 8. Shared sections ------------------------------------------------------- */
.section{padding:clamp(96px,9.5vw,180px) var(--pad);scroll-margin-top:var(--header-offset);}
.section--paper{background:var(--paper);}
.section--white{background:var(--white);}
.section--midnight{background:var(--midnight);color:var(--white);}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px;}
.section-head > .eyebrow{flex:1 1 100%;}
.section-head__desc{flex:0 1 460px;}
.section-head__stack{display:flex;flex-direction:column;gap:20px;}
.section-body{margin-top:clamp(40px,5vw,88px);}

/* Hero (both pages) */
.hero{position:relative;min-height:clamp(620px,100svh,1080px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--midnight);color:var(--white);}
.hero__video{opacity:0;transition:opacity 1.2s ease;pointer-events:none;}
.hero__video.is-playing{opacity:1;}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,19,73,0.36) 0%,rgba(2,19,73,0) 22%,rgba(2,19,73,0) 42%,rgba(2,19,73,0.8) 100%);}
.hero__content{position:relative;padding:116px var(--pad) clamp(36px,6vh,80px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 64px;}
.hero__copy{flex:1 1 560px;max-width:980px;display:flex;flex-direction:column;gap:22px;}
.hero__title{margin:0;display:flex;flex-direction:column;gap:6px;font-weight:600;}
.hero__title-main{display:block;font-size:clamp(48px,6.4vw,124px);line-height:1.06;letter-spacing:0.04em;text-transform:uppercase;}
.hero__title-sub{display:block;max-width:22em;font-size:clamp(20px,2.3vw,44px);font-weight:500;line-height:1.25;}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px;}

/* Hero text position — chosen in the admin panel. Default: text at the bottom.
   .hero--text-top         text at the top on every screen
   .hero--text-top-mobile  text at the top on phones only */
.hero--text-top{justify-content:flex-start;}
.hero--text-top .hero__content{padding-top:104px;}
.hero--text-top .hero__shade{background:linear-gradient(180deg,rgba(2,19,73,0.8) 0%,rgba(2,19,73,0.35) 38%,rgba(2,19,73,0) 62%,rgba(2,19,73,0.25) 100%);}

/* Video frame with play button */
.video-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;background:var(--midnight);}
.video-frame__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;}
.video-frame__poster{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:var(--midnight);color:var(--white);text-align:left;cursor:pointer;}
.video-frame__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,22,0) 45%,rgba(12,16,22,0.6) 100%);}
.video-frame__play{position:absolute;left:50%;top:50%;z-index:1;width:clamp(72px,7vw,120px);height:clamp(72px,7vw,120px);display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,0.86);color:var(--navy);transform:translate(-50%,-50%);transition:transform 0.3s var(--ease);}
.video-frame__play .icon{width:36%;height:36%;margin-left:8%;}
.video-frame.is-playing .video-frame__poster{display:none;}
.video-frame__poster:hover .video-frame__play{transform:translate(-50%,-50%) scale(1.07);}
.video-frame__caption{position:absolute;left:clamp(20px,3vw,48px);bottom:clamp(20px,3vw,44px);z-index:1;display:flex;flex-direction:column;gap:6px;}
.video-frame__caption strong{font-size:clamp(18px,1.6vw,30px);font-weight:600;}
.video-frame__caption span{font-size:14px;font-weight:500;color:rgba(255,255,255,0.88);}

/* 9. Home page ------------------------------------------------------------- */
.home-hero__slide{transform-origin:center;}
.home-hero__title-main{font-size:clamp(52px,7.2vw,140px);letter-spacing:0.06em;text-transform:none;}
.home-hero__title-sub{font-size:clamp(30px,3.8vw,72px);letter-spacing:-0.01em;line-height:1.1;}
.slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;}
.slider-controls__bars{display:flex;align-items:center;gap:6px;}
.slider-bar{position:relative;width:56px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;}
.slider-bar::before,.slider-bar__fill{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;}
.slider-bar::before{background:rgba(255,255,255,0.35);}
.slider-bar__fill{background:var(--white);transform:scaleX(0);transform-origin:left;}
.slider-bar.is-active .slider-bar__fill{transform:scaleX(1);}
.slider-controls .round-btn{margin-left:10px;}

.lineup-section{padding-top:clamp(48px,5vw,96px);padding-bottom:clamp(48px,5vw,96px);}
/* Model line-up: a carousel. One model sits in the centre (the sides stay free);
   with more models the neighbours appear at the sides and the arrows show up. */
.lineup{--lineup-item:min(70vw,1100px);display:flex;gap:clamp(24px,3vw,56px);margin:0 calc(-1 * var(--pad));padding:0 calc((100% + 2 * var(--pad) - var(--lineup-item)) / 2) 8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;}
.lineup::-webkit-scrollbar{display:none;}
#models .rail-controls{justify-content:center;}
.lineup-item{flex:0 0 var(--lineup-item);scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);text-decoration:none;}
.lineup-item:hover{color:var(--ink);}
.lineup-item__name{margin:0;font-size:clamp(34px,4vw,72px);font-weight:600;line-height:1;letter-spacing:0.02em;font-stretch:151%;transition:color 0.3s;}
.lineup-item__tag{margin-top:14px;font-size:clamp(15px,1.1vw,19px);color:var(--muted);}
.lineup-item__car{width:100%;transition:transform 0.9s var(--ease);}
.lineup-item__body{width:100%;margin-top:clamp(16px,2.4vw,40px);display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,56px);}
.lineup-stats{margin:0;display:flex;flex-direction:column;text-align:left;}
.lineup-stats div{padding:16px 0;}
.lineup-stats div + div{border-top:1px solid rgba(26,29,37,0.2);}
.lineup-stats dt{font-size:clamp(13px,0.9vw,15px);color:var(--muted);}
.lineup-stats dd{margin:6px 0 0;font-size:clamp(28px,2.8vw,52px);font-weight:400;line-height:1;letter-spacing:-0.01em;font-variant-numeric:tabular-nums;}
.lineup-stats dd span{margin-left:0.25em;font-size:0.45em;}
.lineup-item__footer{margin-top:clamp(20px,2.4vw,40px);display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 24px;}
.lineup-item__price{font-size:clamp(18px,1.5vw,26px);font-weight:600;color:var(--navy);}
.lineup-item__more{border-color:rgba(0,48,135,0.35);color:var(--navy);}
.lineup-item:hover .lineup-item__name{color:var(--navy);}
.lineup-item:hover .lineup-item__car{transform:scale(1.025);}
.lineup-item:hover .lineup-item__more{background:var(--white);border-color:var(--navy);box-shadow:0 8px 24px rgba(2,19,73,0.1);}

.brand{position:relative;height:clamp(620px,56vw,1000px);overflow:hidden;background:var(--midnight);color:var(--white);}
.brand__image{object-position:70% 50%;}
.brand__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,24,0.82) 0%,rgba(5,10,24,0.45) 45%,rgba(5,10,24,0) 75%);}
.brand__content{position:relative;height:100%;max-width:1100px;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;}
.brand__title{margin:0;font-size:clamp(56px,9vw,180px);font-weight:600;line-height:1;letter-spacing:0.06em;}
.brand__slogan{margin:0;max-width:30ch;font-size:clamp(20px,2vw,34px);font-weight:500;line-height:1.35;}
.brand__video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000000;opacity:0;pointer-events:none;transition:opacity 0.5s ease;}
.is-playing > .brand__video{opacity:1;pointer-events:auto;}
.brand__close{position:absolute;top:20px;right:20px;z-index:2;background:rgba(0,0,0,0.5);}

.panels{display:flex;gap:clamp(12px,1.2vw,20px);height:clamp(520px,44vw,720px);}
.panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:var(--radius);background:var(--midnight);color:var(--white);transition:flex-grow 0.8s var(--ease);}
.panel.is-active{flex-grow:2.3;}
.panel img{transition:transform 1.4s var(--ease);}
.panel.is-active img{transform:scale(1.05);}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,19,73,0) 30%,rgba(2,19,73,0.9) 100%);}
.panel__body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(22px,2.2vw,36px);display:flex;flex-direction:column;gap:12px;}
.panel__num{margin:0;font-size:13px;font-weight:600;letter-spacing:0.08em;color:var(--gold);}
.panel__title{margin:0;font-size:clamp(21px,1.7vw,30px);font-weight:600;line-height:1.2;}
.panel__text{margin:0;max-width:40ch;max-height:0;opacity:0;overflow:hidden;font-size:clamp(15px,1vw,18px);line-height:1.6;color:rgba(255,255,255,0.88);transition:opacity 0.5s ease 0.15s,max-height 0.6s ease;}
.panel.is-active .panel__text{max-height:240px;opacity:1;}
.panel__toggle{display:inline-flex;align-items:center;gap:10px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.panel__toggle .icon{display:none;font-size:18px;transition:transform 0.3s;}
.news-grid{margin:clamp(32px,4vw,64px) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,28px);}
.news-head__actions{display:flex;align-items:center;gap:20px;}
.news-head__arrows{display:none;align-items:center;gap:8px;}
.news-card{display:flex;flex-direction:column;gap:18px;color:var(--ink);text-decoration:none;}
.news-card:hover{color:var(--ink);}
.news-card__image{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.news-card__image img{transition:transform 1.2s var(--ease);}
.news-card:hover .news-card__image img{transform:scale(1.04);}
.news-card__meta{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:0.04em;color:var(--muted);}
.news-card__meta span:first-child{color:var(--navy);}
.news-card__meta span + span::before{content:"";display:inline-block;width:4px;height:4px;margin:0 12px 2px 0;border-radius:999px;background:var(--blue-50);vertical-align:middle;}
.news-card__title{font-size:clamp(19px,1.5vw,26px);font-weight:600;line-height:1.3;transition:color 0.25s;}
.news-card:hover .news-card__title{color:var(--navy);}
.news-card__text{font-size:15px;line-height:1.6;color:var(--muted);}

/* 10. Model page (B8) ------------------------------------------------------ */
.hero__poster--b8{object-position:50% 50%;}
.film{padding:clamp(12px,1.7vw,24px) clamp(12px,1.7vw,24px) clamp(24px,3vw,48px);background:var(--paper);}
@media (min-width:1025px){
  /* Desktop: the film grows exactly to the content width (same edges as the text) */
  .film{padding-left:var(--pad);padding-right:var(--pad);}
}
.film__frame{transform:scale(var(--film-scale,1));transform-origin:50% 0;will-change:transform;}
.film.is-playing .video-frame__poster{display:none;}

/* Exterior: colour picker */
.exterior{padding-bottom:clamp(56px,5vw,96px);}
.exterior__row{margin-top:clamp(32px,4vw,72px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(36px,4vw,80px);}
.stats{margin:0;flex:0 1 260px;display:flex;flex-direction:column;gap:clamp(24px,2.6vw,44px);}
.stats__item{display:flex;flex-direction:column;gap:6px;}
.stats__item dt{font-size:15px;font-weight:500;color:var(--muted);}
.stats__item dd{margin:0;font-size:clamp(40px,4vw,76px);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;}
.stats__unit{margin-left:8px;font-size:0.36em;color:var(--navy);}
.configurator{flex:1 1 640px;display:flex;flex-direction:column;align-items:center;gap:clamp(16px,2vw,32px);}
.configurator__frame{position:relative;width:100%;aspect-ratio:872 / 342;overflow:hidden;}
.configurator__frame img{position:absolute;left:-28.2%;top:-28.1%;width:150.7%;max-width:none;height:auto;}
.configurator__picker{display:flex;flex-direction:column;align-items:center;gap:8px;}
.swatches{display:flex;align-items:center;gap:4px;}
.swatch{min-width:44px;height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;}
.swatch__dot{display:block;width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,var(--swatch-from,#FFFFFF),var(--swatch-to,#D9D9D9));box-shadow:inset 0 0 0 1px rgba(26,29,37,0.2);transition:width 0.35s var(--ease-soft),box-shadow 0.2s;}
.swatch:hover .swatch__dot{box-shadow:inset 0 0 0 1px rgba(26,29,37,0.45);}
.swatch.is-active .swatch__dot{width:64px;box-shadow:inset 0 0 0 1px rgba(26,29,37,0.2),0 0 0 2px var(--white),0 0 0 3px var(--navy);}
.swatch__dot--white{--swatch-from:#FFFFFF;--swatch-to:#E6E6E6;}
.swatch__dot--green{--swatch-from:#35886A;--swatch-to:#245B46;}
.swatch__dot--silver{--swatch-from:#E8E8E8;--swatch-to:#AAB6BB;}
.swatch__dot--gold{--swatch-from:#EBE1C2;--swatch-to:#D0C19C;}
.swatch__dot--black{--swatch-from:#3B3B3B;--swatch-to:#000000;}
.configurator__name{margin:0;font-size:15px;font-weight:600;}

/* Design: photo stage with angle tabs */
.design{padding-left:0;padding-right:0;}
.design .section-head,.design .split{padding:0 var(--pad);}
.stage{position:relative;margin-top:clamp(40px,5vw,88px);}
.stage__media{position:relative;height:clamp(480px,calc(100svh - 96px),56.25vw);overflow:hidden;background:var(--silver);}
.stage__images{position:absolute;inset:0;}
.stage__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,22,0) 62%,rgba(12,16,22,0.7) 100%);}
.stage__arrows{position:absolute;left:0;right:0;top:50%;z-index:1;display:flex;justify-content:space-between;padding:0 clamp(12px,2vw,40px);transform:translateY(-50%);pointer-events:none;}
.stage__arrows .round-btn{pointer-events:auto;}
.stage__tabs{position:absolute;left:0;right:0;bottom:0;padding:0 var(--pad) clamp(16px,1.8vw,32px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px 16px;}
.tab{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 16px 14px;border:0;border-top:2px solid rgba(255,255,255,0.35);border-radius:0 0 12px 12px;background:transparent;color:var(--white);text-align:left;cursor:pointer;opacity:0.72;transition:border-color 0.4s var(--ease-soft),background 0.4s var(--ease-soft),opacity 0.3s;}
.tab:hover{opacity:1;border-top-color:rgba(255,255,255,0.75);}
.tab.is-active{opacity:1;border-top-color:var(--white);background:rgba(255,255,255,0.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.tab__num{font-size:12px;font-weight:600;letter-spacing:0.08em;color:var(--gold);}
.tab__title{font-size:clamp(15px,1.05vw,19px);font-weight:600;line-height:1.3;}
.tab__text{max-width:40ch;max-height:0;overflow:hidden;opacity:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,0.86);transition:max-height 0.5s var(--ease-soft),opacity 0.4s ease;}
.tab.is-active .tab__text{max-height:7.5em;opacity:1;}
.split{margin-top:clamp(64px,7vw,128px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:44px clamp(16px,1.6vw,32px);}

/* Energy slider */
.slides{position:relative;height:clamp(600px,52vw,1000px);overflow:hidden;background:var(--midnight);color:var(--white);scroll-margin-top:var(--header-offset);}
.slides__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,22,0) 35%,rgba(12,16,22,0.72) 100%);}
.slides__bottom{position:absolute;left:0;right:0;bottom:0;padding:0 var(--pad) clamp(36px,5vw,88px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px;}
.slides__copy{flex:1 1 520px;max-width:900px;}
.slide-text{flex-direction:column;gap:16px;display:none;}
.slide-text.is-active{display:flex;}
.slide-text h2{margin:0;font-size:clamp(26px,3vw,58px);font-weight:600;line-height:1.2;}
.slide-text p{margin:0;max-width:60ch;font-size:clamp(16px,1.04vw,20px);line-height:1.55;color:rgba(255,255,255,0.92);}
.slides__nav{display:flex;align-items:center;gap:12px;}
.slides__counter{margin:0 8px 0 0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:rgba(255,255,255,0.92);}
.slides__nav .round-btn{width:56px;height:56px;border:0;background:rgba(255,255,255,0.78);color:var(--ink);}
.slides__nav .round-btn:hover{background:var(--white);color:var(--ink);}

/* DMO platform */
.dmo__card{margin-top:clamp(40px,5vw,88px);padding:clamp(20px,3vw,56px);display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:stretch;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);}
.dmo__schema{position:relative;flex:3 1 460px;display:grid;align-items:center;}
.dmo__schema img{grid-area:1 / 1;width:100%;height:auto;}
.dmo__side{flex:2 1 320px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;}
.dmo__info{min-height:230px;flex-direction:column;gap:10px;display:none;}
.dmo__info.is-active{display:flex;}
.dmo__name{margin:0;font-size:14px;font-weight:600;letter-spacing:0.04em;color:var(--gold);}
.dmo__value{margin:0;font-size:clamp(34px,3.2vw,58px);font-weight:500;line-height:1.05;letter-spacing:-0.015em;font-stretch:151%;}
.dmo__sub{margin:0;font-size:15px;color:var(--muted-dark);}
.dmo__text{margin:8px 0 0;font-size:16px;line-height:1.65;color:var(--blue-20);}
.dmo__parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.part-btn{min-height:72px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:1px solid rgba(255,255,255,0.18);border-radius:12px;background:transparent;color:var(--white);text-align:left;cursor:pointer;transition:border-color 0.2s,background 0.2s,color 0.2s;}
.part-btn:hover{border-color:var(--gold);}
.part-btn strong{font-size:14px;font-weight:600;}
.part-btn span{font-size:13px;color:var(--muted-dark);}
.part-btn.is-active{background:var(--white);border-color:var(--white);color:var(--midnight);}
.part-btn.is-active span{color:var(--muted);}

/* Off-road */
.offroad{background:var(--paper);scroll-margin-top:var(--header-offset);}
.offroad__hero{position:relative;height:clamp(560px,56.25vw,1080px);overflow:hidden;background:var(--grey);color:var(--white);}
.offroad__hero img{object-position:55% 60%;}
.offroad__hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,16,22,0) 38%,rgba(12,16,22,0.68) 100%);}
.offroad__head{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 var(--pad) clamp(36px,5vw,96px);}
.offroad__head .section-head__desc{flex-basis:420px;}
.offroad__cards{padding:clamp(56px,6vw,110px) var(--pad) 0;}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:44px clamp(16px,1.6vw,32px);}
.marquee{padding:clamp(72px,7vw,130px) 0;overflow:hidden;}
.marquee__label{margin:0 0 18px;padding:0 var(--pad);font-size:15px;font-weight:600;color:var(--muted);}
.marquee__track{display:flex;width:max-content;}
.marquee__list{display:flex;gap:clamp(32px,4vw,72px);margin:0;padding:0 clamp(32px,4vw,72px) 0 0;list-style:none;font-size:clamp(44px,6.4vw,124px);font-weight:600;line-height:1.15;white-space:nowrap;font-stretch:151%;}
.marquee__list li:nth-child(even){color:var(--navy);}

/* Interior */
.interior{padding-left:0;padding-right:0;}
.interior .section-head,.interior .colors,.interior .seats-head{padding:0 var(--pad);}
.colors{margin-top:clamp(40px,5vw,88px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:36px clamp(16px,1.6vw,32px);}
.colors figure{margin:0;}
.colors figcaption{display:flex;flex-direction:column;gap:6px;padding:20px 4px 0;}
.colors figcaption strong{font-size:clamp(20px,1.6vw,32px);font-weight:600;line-height:1.3;}
.seats-head{margin-top:clamp(72px,7vw,130px);display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px clamp(28px,4vw,64px);scroll-margin-top:var(--header-offset);}
.seats-head h3{flex:3 1 420px;margin:0;font-size:clamp(26px,2.6vw,50px);font-weight:600;line-height:1.2;}
.seats-head .lead{flex:2 1 320px;}
.seats{margin:clamp(32px,4vw,64px) var(--pad) 0;display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:center;}
.seats__plan{flex:3 1 420px;display:grid;overflow:hidden;background:var(--grey);border-radius:var(--radius);}
.seats__plan img{grid-area:1 / 1;display:block;width:100%;height:auto;opacity:0;transition:opacity 0.5s var(--ease-soft);}
.seats__plan img.is-active{opacity:1;}
.seats__side{flex:2 1 320px;display:flex;flex-direction:column;gap:22px;}
.segmented{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;background:var(--paper);border-radius:999px;}
.segmented__btn{min-height:44px;padding:0 24px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s,color 0.2s;}
.segmented__btn.is-active{background:var(--navy);color:var(--white);}
.seat-info{flex-direction:column;gap:12px;display:none;}
.seat-info.is-active{display:flex;}
.seat-info h3{margin:0;font-size:clamp(26px,2.2vw,42px);font-weight:600;line-height:1.2;}
.cabin{position:relative;margin-top:clamp(64px,7vw,130px);}
.cabin__rail{grid-auto-columns:clamp(260px,31.5vw,600px);gap:clamp(16px,1.6vw,32px);padding:0 var(--pad) 8px;}
.cabin__nav{position:absolute;left:0;right:0;top:calc(clamp(260px,31.5vw,600px) / 2 - 32px);padding:0 clamp(12px,2vw,40px);display:flex;justify-content:space-between;pointer-events:none;}
.cabin__nav .round-btn{pointer-events:auto;}
.cabin > .rail-controls{display:none;padding:0 var(--pad);}

/* Safety */
.safety__head{gap:24px clamp(36px,5vw,96px);}
.safety__head .section-head__stack{flex:1 1 380px;max-width:760px;}
.safety__head .lead{flex:1 1 380px;}
.safety__row{margin-top:clamp(40px,5vw,88px);display:flex;flex-wrap:wrap;gap:clamp(36px,5vw,96px);align-items:flex-start;}
.safety__media{flex:1 1 380px;max-width:760px;position:sticky;top:88px;aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.safety__list{flex:1 1 380px;display:flex;flex-direction:column;gap:clamp(36px,4vw,64px);}
.big-number{margin:0;font-size:clamp(96px,10vw,200px);font-weight:600;line-height:0.9;letter-spacing:-0.02em;font-stretch:151%;}
.big-number span{margin-left:14px;font-size:0.22em;letter-spacing:0;color:var(--navy);}
.big-number + .lead{max-width:34ch;}
.feature{padding:22px 0;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);}
.feature:last-child{border-bottom:1px solid var(--line);}
.feature__title{font-size:clamp(19px,1.4vw,26px);font-weight:600;line-height:1.3;transition:color 0.3s;}
.feature__text{font-size:clamp(15px,1vw,19px);line-height:1.55;color:var(--muted);}
.feature.is-active .feature__title{color:var(--navy);}

/* Specs */
/* Both drawings share one scale: widths follow their artwork (1300 and 460 units), so heights match */
.blueprints{margin-top:clamp(40px,5vw,88px);display:flex;flex-wrap:nowrap;gap:clamp(24px,4vw,64px);align-items:flex-end;}
.blueprints__side{flex:1300 1 0;}
.blueprints__front{flex:460 1 0;}
.blueprints img{display:block;width:100%;height:auto;overflow:visible;}
.spec-list{margin:clamp(40px,5vw,80px) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));column-gap:64px;}
.spec-list div{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line-dark);}
.spec-list dt{font-size:15px;color:var(--muted-dark);}
.spec-list dd{margin:0;font-size:15px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums;}

/* Test-drive block with inline form */
.contact{padding-bottom:clamp(56px,6vw,110px);background:var(--paper);scroll-margin-top:0;}
.contact__stage{display:grid;min-height:clamp(640px,56vw,900px);overflow:hidden;}
.contact__media{grid-area:1 / 1;position:relative;overflow:hidden;background:var(--silver);}
.contact__media img{object-position:50% 100%;}
.contact__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,240,234,0.78) 0%,rgba(246,240,234,0.4) 36%,rgba(246,240,234,0) 58%);}
.contact__copy{grid-area:1 / 1;position:relative;align-self:start;padding:clamp(112px,9vw,170px) var(--pad) 0;display:flex;flex-direction:column;gap:24px;}
.contact__title{display:flex;flex-wrap:wrap;column-gap:0.28em;}
.contact__title .title__line{white-space:nowrap;}
.contact__copy .lead{max-width:46ch;color:var(--ink);}
.form-panel{position:relative;z-index:2;margin:-150px var(--pad) 0;padding:clamp(24px,3vw,48px);background:var(--white);border-radius:var(--radius);box-shadow:0 24px 60px rgba(2,19,73,0.12);}
.form-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 32px;}
.form-panel__title{margin:0;font-size:clamp(22px,1.8vw,32px);font-weight:600;line-height:1.2;}
.form-panel__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 20px;}
.form-panel__bottom{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 32px;}
.form-panel__consent{flex:1 1 280px;padding-top:10px;display:flex;flex-direction:column;gap:6px;}
.form-panel__consent .field__error{margin-left:32px;}
.form-panel__actions{display:flex;flex-wrap:wrap;gap:12px;}


/* About page ------------------------------------------------------------- */
.dna{margin-top:clamp(32px,4vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,5vw,96px);align-items:center;}
.dna__copy{display:flex;flex-direction:column;gap:24px;}
.dna__emblem{position:relative;aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:#05070D;}
.dna__video{opacity:0;transition:opacity 0.8s ease;}
.dna__video.is-playing{opacity:1;}
.emblem-meaning{margin:8px 0 0;padding:0;list-style:none;border-bottom:1px solid var(--line);}
.emblem-meaning li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;padding:18px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--muted);}
.emblem-meaning span{grid-row:span 2;font-size:13px;font-weight:600;letter-spacing:0.08em;color:var(--navy);}
.emblem-meaning strong{font-size:17px;font-weight:600;color:var(--ink);}

.timeline{position:relative;margin:clamp(40px,5vw,88px) 0 0;padding:0;list-style:none;}
.timeline::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:rgba(26,29,37,0.2);}
.timeline__item{position:relative;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr) minmax(0,1.2fr);gap:20px clamp(24px,4vw,72px);align-items:start;padding:0 0 clamp(40px,5vw,72px) 52px;}
.timeline__item:last-child{padding-bottom:0;}
.timeline__item::before{content:"";position:absolute;left:0;top:10px;width:15px;height:15px;border:2px solid var(--navy);border-radius:999px;background:var(--paper);transition:background 0.4s;}
.timeline__item.is-visible::before{background:var(--navy);}
.timeline__year{margin:0;font-size:clamp(30px,3vw,52px);font-weight:600;line-height:1;font-stretch:151%;color:var(--navy);}
.timeline__text{margin:0;font-size:clamp(16px,1.2vw,22px);line-height:1.5;}
.timeline__photo{position:relative;aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--silver);}

.closing{position:relative;min-height:clamp(560px,52vw,900px);display:flex;align-items:flex-end;overflow:hidden;background:var(--grey);color:var(--white);}
.closing__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,19,73,0.15) 0%,rgba(2,19,73,0) 30%,rgba(2,19,73,0.78) 100%);}
.video-toggle{position:absolute;right:var(--pad);bottom:clamp(36px,6vh,80px);z-index:2;}
.dna__emblem .video-toggle{right:16px;bottom:16px;}
.closing__title{hyphens:manual;}
.closing__content{position:relative;max-width:1100px;padding:0 var(--pad) clamp(40px,6vw,110px);display:flex;flex-direction:column;gap:22px;}

/* 11. Footer --------------------------------------------------------------- */
.site-footer{padding:0 var(--pad) 32px;background:var(--midnight);color:var(--white);}
.site-footer__top{padding-top:clamp(48px,4.5vw,80px);border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:40px 64px;justify-content:space-between;}
.site-footer__brand{flex:1 1 220px;display:flex;flex-direction:column;gap:14px;}
.site-footer__brand img{display:block;align-self:flex-start;height:36px;width:auto;}
.site-footer__tagline img{height:8px;}
@media (max-width:1024px){.site-footer__tagline img{height:11px;}}
.site-footer__nav{flex:3 1 620px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px 40px;font-size:14px;}
.site-footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.site-footer__heading{margin:0 0 6px;font-weight:600;}
.site-footer a{min-height:32px;font-size:14px;font-weight:400;color:var(--blue-20);}
.site-footer__legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:13px;color:var(--muted-dark-2);}
.site-footer__legal a{font-size:13px;color:var(--muted-dark-2);}

/* 12. Motion & responsive -------------------------------------------------- */
@keyframes rise-in{from{transform:translateY(105%);}}
@keyframes fade-in{from{opacity:0;}}
@keyframes fade-up{from{opacity:0;transform:translateY(14px);}}
@keyframes settle{from{transform:scale(1.08);}}
@keyframes line-up{from{opacity:0;transform:translateY(0.4em);}}
@keyframes marquee{to{transform:translateX(-50%);}}
@keyframes slider-progress{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes ken-burns{from{transform:scale(1.08);}}

@media screen and (prefers-reduced-motion:no-preference){
  .rise-in{animation:rise-in 1s var(--ease) both;}
  .rise-in--1{animation-delay:0.15s;}
  .rise-in--2{animation-delay:0.32s;}
  .fade-in{animation:fade-in 0.9s ease 0.55s both;}
  .hero__poster{animation:settle 2.6s var(--ease) both;}
  .marquee__track{animation:marquee 60s linear infinite;}
  .marquee:hover .marquee__track{animation-play-state:paused;}
  .seat-info.is-active,.slide-text.is-active,.dmo__info.is-active{animation:fade-up 0.45s ease-out both;}
  .modal__dialog{animation:fade-up 0.35s var(--ease) both;}
  .modal,.mobile-nav{animation:fade-in 0.22s ease both;}
  .menu__panel > *{animation:fade-up 0.22s ease-out both;}
  .slider-bar.is-active .slider-bar__fill{animation:slider-progress 7s linear forwards;}
  .js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
  .js [data-reveal].is-visible{opacity:1;transform:none;}
  .home-hero__slide.is-active{animation:ken-burns 9s ease-out both;}
  .home-hero.is-paused .slider-bar__fill,.home-hero.is-paused .home-hero__slide{animation-play-state:paused;}

  @supports (animation-timeline:view()){
    .title__line{animation:line-up linear both;animation-timeline:view();animation-range:entry 0% entry 80%;}
    .title__line + .title__line{animation-range:entry 15% entry 95%;}
    .parallax{animation:settle linear both;animation-timeline:view();animation-range:entry 0% cover 50%;}
}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}

/* Laptops and tablets */
@media (min-width:761px){
  .closing__title .title__line{white-space:nowrap;}
}

@media (max-width:1100px){
  .menu{display:none;}
  .burger{display:inline-flex;}
  .model-bar__name{display:none;}
}

/* Tablets */
@media (max-width:1024px){
  :root{--pad:24px;}
  
  /* Design: tabs go under the photo */
  .stage__media{height:clamp(300px,64vw,560px);}
  .stage__shade{display:none;}
  .stage__tabs{position:static;padding-top:24px;padding-bottom:0;align-items:stretch;}
  .tab__text{max-height:none;opacity:1;}
  .tab{color:var(--ink);border-top-color:var(--line);opacity:0.8;}
  .tab__text{color:var(--muted);}
  .tab__num{color:var(--navy);}
  .tab:hover{border-top-color:rgba(0,48,135,0.5);}
  .tab.is-active{border-top-color:var(--navy);background:var(--white);box-shadow:0 12px 30px rgba(2,19,73,0.08);-webkit-backdrop-filter:none;backdrop-filter:none;}
  .tab.is-active .tab__title{color:var(--navy);}
  .stage__tabs :focus-visible{outline-color:var(--navy);}

  /* Exterior: stats in a row, cropped render */
  .exterior__row{margin-top:28px;gap:24px;}
  .stats{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .stats__item{flex-direction:column-reverse;justify-content:flex-end;}
  .stats__item dt{font-size:13px;line-height:1.35;hyphens:auto;overflow-wrap:break-word;}
  .stats__item dd{font-size:clamp(28px,7vw,48px);}
  .configurator{flex:1 1 100%;gap:10px;}

  /* Off-road cards and news become carousels */
  .cards-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(260px,31.5vw,600px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--pad));padding:0 var(--pad) 8px;scroll-padding-inline:var(--pad);scrollbar-width:none;}
  .cards-grid::-webkit-scrollbar{display:none;}
  .cards-grid > *{scroll-snap-align:start;}
  .news-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:44%;align-items:start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));padding:0 var(--pad) 8px;scrollbar-width:none;}
  .news-grid::-webkit-scrollbar{display:none;}
  .news-grid > li{scroll-snap-align:start;}
  .news-head__arrows{display:flex;}
}

/* Phones */
@media (max-width:900px){
  .dna{grid-template-columns:minmax(0,1fr);}
  .timeline__item{grid-template-columns:minmax(0,1fr);padding-left:40px;}
  .panels{flex-direction:column;height:auto;}
  .panel{flex:none;height:clamp(380px,100vw,520px);}
  /* Phones: description opens on tap, no "more" link */
  .panel{cursor:pointer;}
  .panel .panel__text,.panel.is-active .panel__text{max-height:0;opacity:0;}
  .panel.is-open .panel__text{max-height:240px;opacity:1;}
  .panel__toggle .icon{display:inline-block;}
  .panel.is-open .panel__toggle .icon{transform:rotate(180deg);}
}

@media (max-width:760px){
  .cabin > .rail-controls{display:flex;}
  .lineup{--lineup-item:calc(100vw - 2 * var(--pad));}
  .lineup-item__body{grid-template-columns:minmax(0,1fr);gap:16px;}
  .lineup-item__car{order:-1;}
  .lineup-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  .lineup-stats div{padding:0 12px;}
  .lineup-stats div + div{border-top:0;border-left:1px solid rgba(26,29,37,0.2);}
  .lineup-stats div:first-child{padding-left:0;}
  .lineup-stats dt{font-size:12px;line-height:1.35;hyphens:auto;overflow-wrap:break-word;}
  .lineup-stats dd{font-size:clamp(22px,6.5vw,28px);}
  /* Model menu becomes a dropdown list */
  .model-bar__inner{position:relative;}
  .model-bar__toggle{display:inline-flex;justify-content:flex-start;gap:6px;padding:0;border:0;background:transparent;font-size:14px;}
  .model-bar__actions{gap:6px;}
  .model-bar__actions .btn{min-height:40px;padding:0 16px;font-size:13px;}
  .model-bar__links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 16px;overflow:visible;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(2,19,73,0.12);}
  .model-bar.is-open .model-bar__links{display:flex;}
  .model-bar__link{min-height:48px;font-size:16px;}
  .news-grid{grid-auto-columns:82%;}
  .cabin__nav{display:none;}
  .stage__tabs{grid-template-columns:minmax(0,1fr);}
  /* Sticky photo while its texts scroll by */
  .stage__media{position:sticky;top:64px;z-index:2;height:60vw;}
  .safety__media{position:sticky;top:64px;z-index:2;}
  .stats{grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr) minmax(0,1fr);gap:12px;}
  .contact__stage{min-height:0;}
  .contact__media{grid-area:2 / 1;aspect-ratio:4 / 3;}
  .contact__media::after{display:none;}
  .contact__copy{padding-bottom:40px;}
  .form-panel{margin-top:24px;}
  .form-panel__fields{grid-template-columns:minmax(0,1fr);}
  .hero > .video-toggle{top:96px;bottom:auto;}
  .hero--text-top-mobile{justify-content:flex-start;}
  .hero--text-top-mobile .hero__content{padding-top:104px;}
  .hero--text-top-mobile .hero__shade{background:linear-gradient(180deg,rgba(2,19,73,0.8) 0%,rgba(2,19,73,0.35) 38%,rgba(2,19,73,0) 62%,rgba(2,19,73,0.25) 100%);}
  .hero.hero--text-top > .video-toggle,.hero.hero--text-top-mobile > .video-toggle{top:auto;bottom:24px;}

  /* Hero on phones: smaller headings that never overflow, compact spacing,
     home buttons always in one row */
  .hero__title-main,.home-hero__title-main{font-size:clamp(36px,11vw,48px);}
  .hero__title-sub,.home-hero__title-sub{font-size:clamp(20px,6vw,26px);}
  .hero__title .mask > span{overflow-wrap:break-word;hyphens:auto;}
  .hero__content{row-gap:16px;padding-bottom:24px;}
  .hero__copy{gap:16px;}
  .home-hero .hero__actions{flex-wrap:nowrap;}
  .home-hero .hero__actions .btn{flex:1 1 0;min-width:0;padding:0 12px;font-size:14px;line-height:1.2;white-space:normal;text-align:center;}

  /* Phones: text goes under the photo instead of over it */
  .offroad__hero{height:auto;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);}
  .offroad__hero > img{position:static;width:100%;height:auto;aspect-ratio:4 / 3;}
  .offroad__hero::after{display:none;}
  .offroad__head{position:static;padding:28px var(--pad) 0;}
  .offroad__head .eyebrow{color:var(--navy);}
  .offroad__head .eyebrow::before{background:var(--blue-50);}
  .offroad__head .lead{color:var(--muted);}
  .slides{height:auto;display:grid;background:var(--midnight);}
  .slides > img{position:relative;grid-area:1 / 1;width:100%;height:auto;aspect-ratio:4 / 3;}
  .slides__shade{display:none;}
  .slides__bottom{position:static;grid-area:2 / 1;padding:28px var(--pad) 40px;}

  /* Phones: smaller vertical spacing between and inside sections */
  .section{padding-top:56px;padding-bottom:56px;}
  .lineup-section{padding-top:40px;padding-bottom:40px;}
  .section-body,.stage,.colors,.dna,.timeline,.blueprints{margin-top:32px;}
  .split,.cabin{margin-top:40px;}
  .seats-head{margin-top:48px;}
  .seats{margin-top:24px;}
  .blueprints{flex-direction:column;align-items:flex-start;}
  .blueprints__side{flex:none;width:100%;}
  .blueprints__front{flex:none;width:calc(100% * 460 / 1300);}
  .offroad__cards{padding-top:32px;}
  .marquee{padding:40px 0 48px;}
  .contact__copy{padding-top:56px;}
  .contact{padding-bottom:48px;}
  .rail-controls{margin-top:16px;}
  .slider-controls{width:100%;justify-content:flex-start;}
}

@media (max-width:600px){
  .hide-mobile{display:none;}
  .logo img{height:26px;}
  .model-bar__inner{height:56px;gap:10px;}
  .model-bar__actions .btn--icon-mobile{width:40px;padding:0;}
}

@media (max-width:380px){
  .logo{width:26px;}
}

/* ==========================================================================
   News: rubric page (news.html) and article page (news-article.html)
   ========================================================================== */
/* Pages without a photo banner: room for the floating header */
.page-top{padding-top:calc(76px + clamp(32px,4vw,72px));}

.breadcrumbs ol{margin:0 0 clamp(20px,2.4vw,36px);padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 8px;font-size:14px;line-height:1.5;color:var(--muted);}
.breadcrumbs li{min-width:0;}
.breadcrumbs li + li::before{content:"/";margin-right:8px;color:var(--blue-50);}
.breadcrumbs a{color:var(--navy);text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline;}
.breadcrumbs [aria-current]{color:var(--muted);}

/* Rubric filter */
.chips{margin-top:clamp(28px,3vw,48px);display:flex;flex-wrap:wrap;gap:8px;}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;transition:border-color 0.2s,color 0.2s,background 0.2s;}
.chip:hover{border-color:var(--navy);color:var(--navy);}
.chip.is-active{background:var(--navy);border-color:var(--navy);color:var(--white);}

/* Featured news + list */
.news-featured{margin-top:clamp(32px,4vw,64px);}
.news-card--featured{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,72px);}
.news-card--featured .news-card__image{aspect-ratio:16 / 10;}
.news-card__body{display:flex;flex-direction:column;gap:18px;}
.news-card--featured .news-card__title{font-size:clamp(26px,2.4vw,42px);line-height:1.2;}
.news-card--featured .news-card__text{font-size:17px;}
.news-card__more{align-self:flex-start;}
.news-list{margin:clamp(48px,5vw,88px) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4vw,64px) clamp(16px,1.6vw,28px);}

/* Pagination */
.pagination{margin-top:clamp(48px,5vw,88px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;}
.pagination__link,.pagination__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;transition:border-color 0.2s,color 0.2s,background 0.2s;}
.pagination__arrow{border-color:var(--line);}
.pagination__link:hover,.pagination__arrow:hover{border-color:var(--navy);color:var(--navy);}
.pagination__link.is-active{background:var(--navy);border-color:var(--navy);color:var(--white);}
.pagination__arrow.is-disabled{opacity:0.35;pointer-events:none;}
.pagination__arrow .icon{font-size:18px;}
.pagination__gap{min-width:24px;text-align:center;color:var(--muted);}

/* Article page */
.article-head,.article,.article-foot{max-width:820px;margin-left:auto;margin-right:auto;}
.article-head__meta{margin:0 0 18px;}
.article-head__title{margin:0;font-size:clamp(32px,3.4vw,58px);font-weight:600;font-stretch:151%;line-height:1.1;letter-spacing:-0.01em;color:var(--ink);}
.article-head__lead{margin:24px 0 0;font-size:clamp(18px,1.3vw,22px);line-height:1.6;color:var(--muted);}
.article-cover{position:relative;max-width:1100px;aspect-ratio:16 / 9;margin:clamp(32px,4vw,64px) auto 0;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.article-foot{margin-top:clamp(40px,4vw,64px);padding-top:16px;border-top:1px solid var(--line);}

/* Text from the editor: everything inside .article is styled here */
.article{margin-top:clamp(40px,4vw,72px);font-size:clamp(17px,1.05vw,19px);line-height:1.7;color:var(--ink);}
.article > :first-child{margin-top:0;}
.article p,.article ul,.article ol,.article blockquote,.article figure,.article .table-scroll,.article hr{margin:1.1em 0 0;}
.article h1,.article h2,.article h3,.article h4,.article h5,.article h6{margin:1.9em 0 0;font-weight:600;line-height:1.2;color:var(--ink);}
.article h1,.article h2,.article h3{font-stretch:151%;}
.article h1{font-size:clamp(32px,2.8vw,46px);}
.article h2{font-size:clamp(27px,2.2vw,36px);}
.article h3{font-size:clamp(23px,1.7vw,28px);}
.article h4{font-size:clamp(20px,1.3vw,23px);}
.article h5{font-size:19px;}
.article h6{font-size:14px;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);}
.article :is(h1,h2,h3,h4,h5,h6) + *{margin-top:0.6em;}
.article a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.article a:hover{text-decoration-thickness:2px;}
.article strong,.article b{font-weight:600;}
.article ul,.article ol{padding-left:1.5em;}
.article li + li,.article li > ul,.article li > ol{margin-top:0.45em;}
.article li::marker{color:var(--navy);}
.article ol > li::marker{font-weight:600;}
.article blockquote{margin-top:1.8em;padding:6px 0 6px clamp(20px,2vw,32px);border-left:3px solid var(--navy);font-size:clamp(20px,1.5vw,26px);font-weight:500;line-height:1.45;}
.article blockquote p{margin:0;}
.article blockquote cite{display:block;margin-top:14px;font-size:15px;font-style:normal;font-weight:600;color:var(--muted);}
.article blockquote cite::before{content:"— ";}
.article .table-scroll{overflow-x:auto;}
.article table{width:100%;min-width:520px;border-collapse:collapse;font-size:16px;line-height:1.5;}
.article caption{caption-side:bottom;padding-top:12px;text-align:left;font-size:14px;color:var(--muted);}
.article th,.article td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
.article thead th{background:var(--paper);border-bottom:2px solid var(--navy);}
.article tbody th{font-weight:600;}
.article figure img{display:block;width:100%;height:auto;border-radius:var(--radius);}
.article figcaption{margin-top:10px;font-size:14px;color:var(--muted);}
.article hr{margin-top:2.4em;border:0;border-top:1px solid var(--line);}

/* Model page: downloads under the specs */
.specs__downloads{margin-top:clamp(32px,4vw,56px);display:flex;flex-wrap:wrap;gap:12px;}
.btn__note{font-size:13px;font-weight:500;opacity:0.7;}

@media (max-width:1024px){
  .news-list{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .news-list{grid-template-columns:minmax(0,1fr);}
  .news-card--featured{grid-template-columns:minmax(0,1fr);gap:20px;}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:24px calc(-1 * var(--pad)) 0;padding:0 var(--pad);scrollbar-width:none;}
  .chips::-webkit-scrollbar{display:none;}
  .article figure{margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad));}
  .article figure img{border-radius:0;}
  .article figcaption{padding:0 var(--pad);}
}

/* Text pages (privacy policy, terms): contents built from h2 headings */
.article-head__date{margin:16px 0 0;font-size:14px;color:var(--muted);}
.toc{max-width:820px;margin:clamp(32px,3vw,48px) auto 0;padding:clamp(20px,2vw,32px);border-radius:var(--radius);background:var(--paper);}
.toc__title{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy);}
.toc ol{margin:0;padding-left:1.4em;columns:2;column-gap:40px;font-size:15px;line-height:1.5;}
.toc li{margin-bottom:8px;break-inside:avoid;}
.toc li::marker{color:var(--navy);font-weight:600;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{color:var(--navy);text-decoration:underline;}
.article [id]{scroll-margin-top:110px;}
/* <mark> = text still to be filled in (legal entity, e-mail, dates) */
.article mark,.article-head mark{padding:0 4px;border-radius:4px;background:var(--gold);color:var(--ink);}
.form__note a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
@media (max-width:760px){
  .toc ol{columns:1;}
}

/* Dealers page */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.icon--pin{-webkit-mask-image:url(../img/svg/pin.svg);mask-image:url(../img/svg/pin.svg);}
.icon--phone{-webkit-mask-image:url(../img/svg/phone.svg);mask-image:url(../img/svg/phone.svg);}
.icon--clock{-webkit-mask-image:url(../img/svg/clock.svg);mask-image:url(../img/svg/clock.svg);}
.dealers{margin-top:clamp(32px,4vw,64px);display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);align-items:start;gap:clamp(20px,2.4vw,40px);}
.dealers__list{min-width:0;display:flex;flex-direction:column;gap:16px;}
.dealers__search .field__input{width:100%;}
.dealers__empty{margin:0;padding:20px 24px;border-radius:var(--radius);background:var(--white);color:var(--muted);}
.dealers__city{border-radius:var(--radius);background:var(--white);overflow:hidden;}
.dealers__city > summary{display:flex;align-items:center;gap:12px;padding:20px 24px;list-style:none;cursor:pointer;}
.dealers__city > summary::-webkit-details-marker{display:none;}
.dealers__city > summary .icon{margin-left:auto;transition:transform 0.25s;}
.dealers__city[open] > summary .icon{transform:rotate(180deg);}
.dealers__city-name{margin:0;font-size:20px;font-weight:600;font-stretch:151%;}
.dealers__count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:var(--sky);font-size:13px;font-weight:600;color:var(--navy);}
.dealer{padding:20px 24px 24px;border-top:1px solid var(--line);transition:background 0.25s;}
.dealer.is-active{background:var(--sky);}
.dealer__name{margin:0;font-size:18px;font-weight:600;}
.dealer__info{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.45;color:var(--muted);}
.dealer__info li{display:flex;align-items:flex-start;gap:10px;}
.dealer__info .icon{margin-top:1px;font-size:18px;color:var(--navy);}
.dealer__info a{font-weight:600;color:var(--ink);text-decoration:none;}
.dealer__info a:hover{color:var(--navy);}
.dealer__actions{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;}
.dealer mark{padding:0 4px;border-radius:4px;background:var(--gold);color:var(--ink);}
.dealers__map{position:sticky;top:96px;height:calc(100vh - 136px);min-height:420px;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.dealers__map iframe{display:block;width:100%;height:100%;border:0;}
.become-dealer{padding:24px;border-radius:var(--radius);background:var(--midnight);color:var(--white);}
.become-dealer__title{margin:0;font-size:20px;font-weight:600;font-stretch:151%;}
.become-dealer__text{margin:8px 0 18px;font-size:15px;line-height:1.5;color:var(--muted-dark);}
@media (max-width:900px){
  .dealers{grid-template-columns:minmax(0,1fr);}
  .dealers__map{order:-1;position:relative;top:auto;height:min(56vh,480px);min-height:320px;}
}

/* Become a dealer */
.become-hero__actions,.become-apply__actions{margin-top:clamp(28px,3vw,40px);display:flex;flex-wrap:wrap;gap:12px;}
.page-photo{position:relative;margin-top:clamp(40px,5vw,80px);aspect-ratio:21 / 9;border-radius:var(--radius);overflow:hidden;background:var(--silver);}
.requirements{margin:clamp(40px,4vw,64px) 0 0;padding:0;list-style:none;counter-reset:req;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px;}
.requirements li{counter-increment:req;display:flex;flex-direction:column;gap:28px;padding:clamp(20px,2vw,28px);border-radius:var(--radius);background:var(--paper);font-size:17px;font-weight:500;line-height:1.45;}
.requirements li::before{content:counter(req,decimal-leading-zero);font-size:clamp(34px,2.8vw,48px);font-weight:600;font-stretch:151%;line-height:1;color:var(--navy);}
.steps{margin:clamp(32px,4vw,56px) 0 0;padding:0;list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.steps li{counter-increment:step;padding:24px;border:1px solid var(--line-dark);border-radius:var(--radius);font-size:17px;line-height:1.5;color:var(--muted-dark);}
.steps li::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:18px;border-radius:999px;background:var(--gold);font-weight:600;color:var(--midnight);}
.steps mark{padding:0 4px;border-radius:4px;background:var(--gold);color:var(--midnight);}
.section-head mark{padding:0 4px;border-radius:4px;background:var(--gold);color:var(--ink);}
@media (max-width:760px){
  .page-photo{aspect-ratio:4 / 3;}
  .steps{grid-template-columns:minmax(0,1fr);}
}

/* Icon cards («Три направления работы») */
.icon--car{-webkit-mask-image:url(../img/svg/car.svg);mask-image:url(../img/svg/car.svg);}
.icon--wrench{-webkit-mask-image:url(../img/svg/wrench.svg);mask-image:url(../img/svg/wrench.svg);}
.icon--gear{-webkit-mask-image:url(../img/svg/gear.svg);mask-image:url(../img/svg/gear.svg);}
.icon-cards{margin-top:clamp(40px,4vw,64px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.icon-card{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.4vw,36px);border-radius:var(--radius);background:var(--white);}
.icon-card__icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:clamp(12px,2vw,28px);border-radius:999px;background:var(--sky);color:var(--navy);}
.icon-card__icon .icon{font-size:34px;}
.icon-card .label{margin:0;}
.icon-card__title{margin:0;font-size:clamp(22px,1.8vw,28px);font-weight:600;font-stretch:151%;line-height:1.2;}
.icon-card__text{margin:0;font-size:16px;line-height:1.55;color:var(--muted);}
@media (max-width:760px){
  .icon-cards{grid-template-columns:minmax(0,1fr);}
}

/* "до" before a stat value: small, like the unit */
.lineup-stats dd .lineup-stats__prefix{margin:0 0.25em 0 0;}
.stats__unit--prefix{margin-left:0;margin-right:8px;}

@media (max-width:760px){
  /* model card stats on phones: values on one line even when a label wraps */
  .lineup-stats div{display:flex;flex-direction:column;justify-content:space-between;}
  .lineup-stats dt{hyphens:auto;}
}

/* Owner's manual under the body colour picker */
.configurator__manual{margin-top:clamp(4px,1vw,12px);}

/* Form sending to the server */
.form__status{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:rgba(179,38,30,0.08);font-size:14px;line-height:1.45;color:var(--error);}
.form.is-sending [type="submit"]{opacity:0.7;cursor:progress;}

.icon--mail{-webkit-mask-image:url(../img/svg/mail.svg);mask-image:url(../img/svg/mail.svg);}


/*********** hidden elements***********/
.menu__list .menu__item:nth-child(2),
.menu__list .menu__item:nth-child(4){display:none;}

.model-card__price{display:none;}
.lineup-item__price{display:none;}

.model-bar__actions .btn--outline{display:none;}

#news{display:none;}

.site-footer__col:nth-child(2) .link:nth-child(n+3){display:none;}
.site-footer__col:nth-child(3){display:none;}
.site-footer__legal .link:nth-child(n+3){display:none;}