/* ============================================================
   FURD KZ — Самоходные виброкатки · Landing CSS
   Style: BMW M motorsport — carbon black, M-tricolor stripe,
   machine-yellow accent, full-bleed engineering.
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  /* base — carbon / jet */
  --jet:        #0a0b0d;   /* near-black page */
  --obs:        #101216;   /* panel */
  --obs-2:      #16191f;   /* raised panel */
  --obs-3:      #1d2128;   /* card hover */
  --line:       rgba(255,255,255,.08);
  --line-2:     rgba(255,255,255,.14);

  /* type */
  --bone:       #f4f5f7;   /* primary text */
  --smoke:      #9aa1ac;   /* secondary text */
  --smoke-x:    #5b626e;   /* muted */

  /* accents */
  --hi:         #ffce00;   /* machine yellow (primary accent) */
  --hi-2:       #ffde4d;
  /* BMW M tricolor */
  --m-blue:     #1b6bd6;
  --m-violet:   #5b2c8f;
  --m-red:      #e2231a;
  --m-grad:     linear-gradient(90deg,var(--m-blue) 0%,var(--m-blue) 33%,var(--m-violet) 33%,var(--m-violet) 66%,var(--m-red) 66%,var(--m-red) 100%);

  /* fonts */
  --font-display: 'Saira Condensed', 'Oswald', sans-serif;
  --font-head:    'Saira', sans-serif;
  --font-sans:    'Sora', sans-serif;
  --font-mono:    'Saira', monospace;

  --maxw: 1320px;
  --pad:  clamp(20px, 5vw, 64px);
  --header-h: 76px;
  --radius: 4px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
body{
  margin:0;
  background:var(--jet);
  color:var(--bone);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.65;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:var(--hi);color:var(--jet)}

h1,h2,h3{
  font-family:var(--font-head);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.01em;
  margin:0;
  /* never break words mid-syllable in headings — wrap only at word boundaries */
  hyphens:none;
  -webkit-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
  text-wrap:balance;
}
p{margin:0;overflow-wrap:break-word}

/* ---------- LAYOUT HELPERS ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad) }
.section{ padding-block:clamp(64px,9vw,140px); position:relative }
.eyebrow{
  font-family:var(--font-mono);
  font-size:13px; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--hi);
  display:inline-flex; align-items:center; gap:16px;
  margin-bottom:22px;
}
.eyebrow::before{ content:""; width:34px; height:2px; background:var(--m-grad); flex-shrink:0 }
.sec-title{
  font-family:var(--font-head);
  font-size:clamp(32px,5.2vw,68px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.02;
  text-transform:uppercase;
}
.sec-title .accent{ color:var(--hi); display:block }
.sec-sub{
  color:var(--smoke);
  font-size:clamp(15px,1.5vw,18px);
  max-width:60ch;
  margin-top:18px;
  line-height:1.6;
}
.sec-head{ margin-bottom:clamp(38px,5vw,64px); max-width:880px }

/* M stripe primitive */
.mstripe{ height:4px; width:64px; background:var(--m-grad); border-radius:2px }

/* ---------- BUTTONS ---------- */
.btn{
  --bg:var(--hi); --fg:var(--jet);
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px;
  background:var(--bg); color:var(--fg);
  font-family:var(--font-head);
  font-weight:700; font-size:14px;
  letter-spacing:.06em; text-transform:uppercase;
  border:1px solid var(--bg); cursor:pointer;
  border-radius:var(--radius);
  transition:transform .18s cubic-bezier(.2,.8,.2,1), background .2s, box-shadow .2s, color .2s, border-color .2s;
  white-space:nowrap; line-height:1;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(255,206,0,.22) }
.btn:active{ transform:translateY(0) }
.btn--ghost{ --bg:transparent; --fg:var(--bone); border-color:var(--line-2) }
.btn--ghost:hover{ border-color:var(--hi); color:var(--hi); box-shadow:none }
.btn--wa{ --bg:#1faf54; --fg:#fff; border-color:#1faf54 }
.btn--wa:hover{ box-shadow:0 12px 30px rgba(31,175,84,.3) }
.btn--lg{ padding:18px 34px; font-size:15px }
.btn svg{ width:18px; height:18px }

/* ============================================================
   HEADER — single, fixed, no duplicates
   ============================================================ */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:90;
  height:var(--header-h);
  display:flex; align-items:center;
  background:rgba(10,11,13,.72);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background .3s, border-color .3s;
}
.site-header.scrolled{ background:rgba(10,11,13,.94); border-bottom-color:var(--line) }
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; gap:18px }

/* Wordmark */
.brand{ display:inline-flex; align-items:center; gap:11px; flex-shrink:0 }
.brand__mark{
  font-family:var(--font-display);
  font-weight:700; font-size:27px; letter-spacing:.02em;
  text-transform:uppercase; line-height:.9;
  color:var(--bone); display:inline-flex; align-items:baseline;
}
.brand__mark b{ color:var(--bone); font-weight:700 }
.brand__kz{
  font-family:var(--font-display);
  font-weight:700; font-size:27px;
  color:var(--jet); background:var(--hi);
  padding:1px 7px 0; margin-left:5px; border-radius:3px;
  letter-spacing:.04em; line-height:1.05;
}
.brand__stripe{ width:4px; align-self:stretch; min-height:26px; background:var(--m-grad); border-radius:2px }

/* Desktop nav */
.nav-desk{ display:flex; align-items:center; gap:clamp(14px,2vw,30px) }
.nav-desk a{
  font-family:var(--font-head);
  font-size:14px; font-weight:600; letter-spacing:.02em;
  color:var(--smoke); text-transform:uppercase;
  transition:color .2s; position:relative; padding:4px 0;
}
.nav-desk a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:var(--hi); transition:width .25s;
}
.nav-desk a:hover{ color:var(--bone) } .nav-desk a:hover::after{ width:100% }

.header-actions{ display:flex; align-items:center; gap:14px }

/* Lang switch */
.lang{ display:inline-flex; border:1px solid var(--line-2); border-radius:var(--radius); overflow:hidden }
.lang button{
  background:transparent; border:0; cursor:pointer;
  color:var(--smoke); font-family:var(--font-mono);
  font-size:12px; font-weight:600; letter-spacing:.08em;
  padding:7px 10px; transition:.2s; text-transform:uppercase;
}
.lang button:hover{ color:var(--bone) }
.lang button.is-active{ background:var(--hi); color:var(--jet) }
.lang button + button{ border-left:1px solid var(--line-2) }

.header-cta{ display:inline-flex }

/* Burger */
.burger{
  display:none; width:44px; height:44px; flex-direction:column; gap:5px;
  align-items:center; justify-content:center; background:transparent;
  border:1px solid var(--line-2); border-radius:var(--radius); cursor:pointer; padding:0;
}
.burger span{ width:20px; height:2px; background:var(--bone); transition:.3s; display:block }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg) }
.burger.open span:nth-child(2){ opacity:0 }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg) }

/* Mobile menu — hidden on desktop */
.nav-mobile{
  display:none;
  position:fixed; inset:var(--header-h) 0 0 0; z-index:80;
  background:rgba(8,9,11,.98);
  backdrop-filter:blur(8px);
  padding:32px var(--pad) 48px;
  flex-direction:column; gap:6px;
  transform:translateY(-12px); opacity:0; pointer-events:none;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .3s;
  overflow-y:auto;
}
.nav-mobile.open{ transform:translateY(0); opacity:1; pointer-events:auto }
.nav-mobile a{
  font-family:var(--font-head); font-weight:700;
  font-size:clamp(22px,7vw,30px); text-transform:uppercase;
  color:var(--bone); padding:14px 0; border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  transition:color .2s, padding-left .2s;
}
.nav-mobile a:hover{ color:var(--hi); padding-left:8px }
.nav-mobile .mob-actions{ margin-top:26px; display:flex; flex-direction:column; gap:12px }
.nav-mobile .btn{ width:100% }

/* ============================================================
   HERO — full-bleed photo + dark scrim, text always readable
   ============================================================ */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end;
  padding-top:calc(var(--header-h) + 24px);
  padding-bottom:clamp(48px,7vw,90px);
  overflow:hidden; isolation:isolate;
}
.hero__bg{ position:absolute; inset:0; z-index:-2 }
.hero__bg img{ width:100%; height:100%; object-fit:cover; object-position:center 60% }
/* scrim: dark + slight yellow-edge, guarantees contrast */
.hero__scrim{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(10,11,13,.62) 0%, rgba(10,11,13,.28) 30%, rgba(10,11,13,.72) 78%, rgba(10,11,13,.96) 100%),
    linear-gradient(105deg, rgba(10,11,13,.82) 0%, rgba(10,11,13,.34) 52%, rgba(10,11,13,0) 78%);
}
.hero__bg::after{ /* subtle carbon texture vignette */
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 80% at 80% 10%, rgba(255,206,0,.06), transparent 55%);
}
.hero .wrap{ position:relative; z-index:2; width:100% }
.hero__inner{ max-width:920px }
.hero__badge{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:12.5px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--bone);
  background:rgba(0,0,0,.42); border:1px solid var(--line-2);
  padding:9px 16px; border-radius:40px; margin-bottom:26px;
  backdrop-filter:blur(4px);
}
.hero__badge .dot{ width:8px; height:8px; border-radius:50%; background:var(--hi); box-shadow:0 0 12px var(--hi) }
.hero h1{
  font-family:var(--font-head);
  font-size:clamp(40px,8vw,112px);
  font-weight:800; line-height:.92; text-transform:uppercase;
  letter-spacing:-.025em;
  text-shadow:0 6px 40px rgba(0,0,0,.55);
  /* keep whole words intact — no mid-word hyphenation in the display headline */
  hyphens:none; word-break:normal; overflow-wrap:normal;
}
.hero h1 .l1, .hero h1 .l2, .hero h1 .accent{ hyphens:none; word-break:normal; overflow-wrap:normal }
.hero h1 .l1{ display:block }
.hero h1 .l2{ color:var(--bone) }
.hero h1 .accent{ color:var(--hi); display:block }
.hero__sub{
  margin-top:26px; max-width:60ch;
  font-size:clamp(15.5px,1.7vw,20px); color:#e4e7ec; line-height:1.6;
  text-shadow:0 2px 18px rgba(0,0,0,.6);
}
.hero__cta{ margin-top:36px; display:flex; flex-wrap:wrap; gap:14px }
.hero__stats{
  margin-top:clamp(40px,5vw,64px);
  display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,56px);
  border-top:1px solid var(--line-2); padding-top:28px;
}
.hero__stat{ min-width:120px }
.hero__stat .n{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(34px,4.6vw,56px); color:var(--hi); line-height:1;
}
.hero__stat .l{ font-size:13px; color:var(--smoke); margin-top:6px; letter-spacing:.02em }
.hero__scroll{
  position:absolute; left:var(--pad); bottom:22px; z-index:2;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--smoke); display:flex; align-items:center; gap:10px;
}
.hero__scroll .line{ width:46px; height:1px; background:var(--smoke-x); position:relative; overflow:hidden }
.hero__scroll .line::after{ content:""; position:absolute; inset:0; background:var(--hi); animation:scrollLine 2s infinite }
@keyframes scrollLine{ 0%{transform:translateX(-100%)} 60%,100%{transform:translateX(100%)} }

/* ---------- MARQUEE ---------- */
.marquee{
  background:var(--hi); color:var(--jet);
  padding:14px 0; overflow:hidden; white-space:nowrap;
  border-top:2px solid var(--jet); border-bottom:2px solid var(--jet);
}
.marquee__track{ display:inline-flex; gap:0; animation:marq 36s linear infinite; will-change:transform }
.marquee span{
  font-family:var(--font-head); font-weight:800; font-size:14px;
  letter-spacing:.12em; text-transform:uppercase; padding-inline:22px;
  display:inline-flex; align-items:center; gap:22px;
}
.marquee span::after{ content:"●"; font-size:8px; opacity:.5 }
@keyframes marq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ============================================================
   MODELS GRID
   ============================================================ */
.models-grid{
  display:grid; gap:clamp(16px,1.8vw,24px);
  grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
}
.mcard{
  position:relative; background:var(--obs); border:1px solid var(--line);
  border-radius:8px; overflow:hidden; display:flex; flex-direction:column;
  transition:border-color .3s, transform .3s, box-shadow .3s;
  min-width:0;
}
.mcard:hover{ border-color:var(--line-2); transform:translateY(-5px); box-shadow:0 24px 50px rgba(0,0,0,.5) }
.mcard__media{
  position:relative; aspect-ratio:4/3; background:#0c0d10 radial-gradient(120% 120% at 50% 0%, #181b21, #0c0d10);
  overflow:hidden;
}
.mcard__media img{ width:100%; height:100%; object-fit:contain; padding:14px; transition:transform .5s cubic-bezier(.2,.8,.2,1) }
.mcard:hover .mcard__media img{ transform:scale(1.05) }
.mcard__flag{
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:var(--font-mono); font-size:10.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  background:var(--hi); color:var(--jet); padding:5px 11px; border-radius:3px;
}
.mcard__flag.pop{ background:var(--bone) }
.mcard__media::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--m-grad); opacity:0; transition:opacity .3s }
.mcard:hover .mcard__media::after{ opacity:1 }
.mcard__body{ padding:22px clamp(18px,2vw,26px) 24px; display:flex; flex-direction:column; flex:1 }
.mcard__name{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(26px,3vw,34px); text-transform:uppercase; line-height:1; color:var(--bone);
}
.mcard__class{ font-size:13px; color:var(--hi); margin-top:6px; font-weight:600; letter-spacing:.02em }
.mcard__specs{ margin:18px 0 20px; display:flex; flex-direction:column; gap:9px; border-top:1px solid var(--line); padding-top:16px }
.mcard__spec{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; align-items:baseline }
.mcard__spec .k{ color:var(--smoke); flex-shrink:0 }
.mcard__spec .v{ color:var(--bone); font-weight:600; text-align:right; font-family:var(--font-mono); font-size:13px }
.mcard__use{ font-size:13px; color:var(--smoke); margin-bottom:18px; line-height:1.5 }
.mcard__foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap }
.mcard__price{ font-family:var(--font-mono); font-size:12px; color:var(--smoke-x); letter-spacing:.04em; text-transform:uppercase }
.mcard .btn{ padding:11px 18px; font-size:12.5px }

/* ============================================================
   WHY — feature cards
   ============================================================ */
.why-grid{ display:grid; gap:clamp(14px,1.6vw,20px); grid-template-columns:repeat(auto-fit, minmax(280px,1fr)) }
.fcard{
  background:linear-gradient(180deg, var(--obs-2), var(--obs));
  border:1px solid var(--line); border-radius:8px; padding:30px clamp(22px,2.4vw,32px);
  position:relative; overflow:hidden; transition:border-color .3s, transform .3s; min-width:0;
}
.fcard::before{ content:""; position:absolute; top:0; left:0; width:0; height:3px; background:var(--m-grad); transition:width .35s }
.fcard:hover{ border-color:var(--line-2); transform:translateY(-4px) }
.fcard:hover::before{ width:100% }
.fcard__ico{
  width:50px; height:50px; border-radius:8px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,206,0,.1); border:1px solid rgba(255,206,0,.25);
}
.fcard__ico svg{ width:24px; height:24px; stroke:var(--hi); fill:none; stroke-width:1.7 }
.fcard__t{ font-family:var(--font-head); font-weight:700; font-size:20px; text-transform:uppercase; letter-spacing:-.01em; color:var(--bone) }
.fcard__d{ color:var(--smoke); font-size:14.5px; margin-top:11px; line-height:1.6 }

/* ============================================================
   SPECS TABLE
   ============================================================ */
.specs-wrap{ border:1px solid var(--line); border-radius:8px; overflow:hidden; background:var(--obs) }
.specs-scroll{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch }
table.specs{ width:100%; border-collapse:collapse; min-width:680px }
table.specs th, table.specs td{ padding:15px clamp(12px,1.4vw,20px); text-align:left; border-bottom:1px solid var(--line); white-space:nowrap }
table.specs thead th{
  font-family:var(--font-mono); font-size:11.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--smoke);
  background:var(--obs-2); position:sticky; top:0;
}
table.specs tbody td{ font-size:14px; color:var(--bone) }
table.specs tbody td:first-child{
  font-family:var(--font-display); font-weight:700; font-size:19px; text-transform:uppercase; color:var(--hi); letter-spacing:.02em;
}
table.specs tbody tr{ transition:background .2s }
table.specs tbody tr:hover{ background:var(--obs-3) }
table.specs tbody tr:last-child td{ border-bottom:0 }
.specs-note{ margin-top:16px; font-size:13px; color:var(--smoke-x); display:flex; gap:14px; align-items:flex-start }
.specs-note::before{ content:"※"; color:var(--hi) }

/* ============================================================
   USECASE
   ============================================================ */
.use-grid{ display:grid; gap:clamp(14px,1.6vw,20px); grid-template-columns:repeat(auto-fit, minmax(250px,1fr)) }
.ucard{
  border:1px solid var(--line); border-radius:8px; padding:28px clamp(20px,2.2vw,28px);
  background:var(--obs); transition:.3s; position:relative; min-width:0;
}
.ucard:hover{ border-color:var(--hi); background:var(--obs-2) }
.ucard__n{ font-family:var(--font-mono); font-size:13px; color:var(--hi); font-weight:700; letter-spacing:.1em }
.ucard__t{ font-family:var(--font-head); font-weight:700; font-size:21px; text-transform:uppercase; margin-top:14px; color:var(--bone) }
.ucard__d{ color:var(--smoke); font-size:14px; margin-top:10px; line-height:1.6 }

/* ============================================================
   GALLERY
   ============================================================ */
/* even, structured grid — equal tiles, aligned rows, nothing cropped (contain) */
.gallery-grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(4,1fr);
}
.gphoto{
  position:relative; overflow:hidden; border-radius:6px; border:1px solid var(--line);
  aspect-ratio:4/3;
  background:#0c0d10 radial-gradient(120% 120% at 50% 0%, #16191f, #0c0d10);
}
.gphoto img{
  width:100%; height:100%; object-fit:contain; padding:8px;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.gphoto::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.5)); opacity:0; transition:opacity .3s; pointer-events:none }
.gphoto:hover img{ transform:scale(1.05) }
.gphoto:hover::after{ opacity:1 }
/* M-stripe sweep on hover for brand consistency */
.gphoto::before{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--m-grad); opacity:0; transition:opacity .3s; z-index:2 }
.gphoto:hover::before{ opacity:1 }
.gphoto button{ all:unset; display:block; width:100%; height:100%; cursor:zoom-in }
.gphoto button:focus-visible{ outline:2px solid var(--hi); outline-offset:-2px }

/* lightbox */
.lightbox{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  padding:clamp(16px,4vw,48px); background:rgba(6,7,9,.94); backdrop-filter:blur(6px);
  opacity:0; pointer-events:none; transition:opacity .28s ease;
}
.lightbox.open{ opacity:1; pointer-events:auto }
.lightbox img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  border:1px solid var(--line-2); border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.6);
  object-fit:contain;
}
.lightbox__close{
  position:absolute; top:clamp(14px,3vw,26px); right:clamp(14px,3vw,26px);
  width:48px; height:48px; border-radius:50%; cursor:pointer;
  background:var(--obs-2); border:1px solid var(--line-2); color:var(--bone);
  font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center;
  transition:border-color .2s, color .2s, transform .2s;
}
.lightbox__close:hover{ border-color:var(--hi); color:var(--hi); transform:rotate(90deg) }
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%; cursor:pointer;
  background:var(--obs-2); border:1px solid var(--line-2); color:var(--bone);
  font-family:var(--font-head); font-size:24px; display:flex; align-items:center; justify-content:center;
  transition:border-color .2s, color .2s;
}
.lightbox__nav:hover{ border-color:var(--hi); color:var(--hi) }
.lightbox__nav--prev{ left:clamp(10px,2vw,24px) }
.lightbox__nav--next{ right:clamp(10px,2vw,24px) }
@media (max-width:560px){ .lightbox__nav{ width:42px; height:42px; font-size:20px } }

/* ============================================================
   VIDEO — adaptive 16:9 embed (FURD at work)
   ============================================================ */
.video-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.2vw,28px); max-width:1040px; margin-inline:auto;
}
.video-wrap{
  position:relative; min-width:0;
  border:1px solid var(--line-2); border-radius:10px; overflow:hidden;
  background:var(--obs);
}
.video-wrap::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--m-grad); z-index:3; border-radius:10px 10px 0 0 }
.video-frame{ position:relative; width:100%; padding-bottom:56.25%; height:0; background:#0c0d10 }
.video-frame iframe,
.video-frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; object-fit:cover }
.video-cap{
  display:flex; align-items:center; gap:16px;
  padding:16px clamp(18px,2.4vw,28px);
  border-top:1px solid var(--line);
  font-family:var(--font-mono); font-size:13px; letter-spacing:.04em;
  color:var(--smoke); text-transform:uppercase;
}
.video-cap::before{ content:""; flex-shrink:0; width:30px; height:3px; background:var(--m-grad); border-radius:2px }

/* ============================================================
   DELIVERY STEPS
   ============================================================ */
.steps{ display:grid; gap:clamp(14px,1.6vw,22px); grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); counter-reset:step }
.step{ position:relative; padding:32px clamp(20px,2.2vw,28px); border:1px solid var(--line); border-radius:8px; background:var(--obs); min-width:0 }
.step__n{
  counter-increment:step; font-family:var(--font-display); font-weight:700;
  font-size:54px; line-height:.8; color:transparent; -webkit-text-stroke:1.5px var(--line-2);
  margin-bottom:18px;
}
.step__n::before{ content:"0" counter(step) }
.step:hover .step__n{ -webkit-text-stroke-color:var(--hi); color:rgba(255,206,0,.08) }
.step__t{ font-family:var(--font-head); font-weight:700; font-size:19px; text-transform:uppercase; color:var(--bone) }
.step__d{ color:var(--smoke); font-size:14px; margin-top:10px; line-height:1.6 }

/* ============================================================
   FAQ
   ============================================================ */
.faq-list{ max-width:880px }
.faq-item{ border-bottom:1px solid var(--line) }
.faq-q{
  width:100%; text-align:left; background:transparent; border:0; cursor:pointer;
  padding:26px 50px 26px 0; position:relative;
  font-family:var(--font-head); font-weight:600; font-size:clamp(17px,2.2vw,22px);
  color:var(--bone); transition:color .2s; line-height:1.3;
}
.faq-q:hover{ color:var(--hi) }
.faq-q::after{
  content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:26px; color:var(--hi); font-family:var(--font-head); transition:transform .3s; line-height:1;
}
.faq-item.open .faq-q::after{ transform:translateY(-50%) rotate(45deg) }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.2,.8,.2,1) }
.faq-a__inner{ padding:0 50px 26px 0; color:var(--smoke); font-size:15.5px; line-height:1.7 }

/* ============================================================
   CTA / FORM
   ============================================================ */
.cta-section{ position:relative; overflow:hidden }
.cta-section::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(180deg, rgba(10,11,13,.86), rgba(10,11,13,.95)),
    radial-gradient(80% 120% at 80% 0%, rgba(255,206,0,.1), transparent 60%);
}
.cta-grid{ position:relative; z-index:1; display:grid; gap:clamp(34px,5vw,72px); grid-template-columns:1.05fr .95fr; align-items:start }
.cta-copy .sec-title{ font-size:clamp(34px,5.4vw,72px) }
.cta-points{ margin-top:30px; display:flex; flex-direction:column; gap:14px }
.cta-point{ display:flex; gap:14px; align-items:flex-start; color:#d6dae1; font-size:15.5px }
.cta-point svg{ width:22px; height:22px; stroke:var(--hi); fill:none; stroke-width:2; flex-shrink:0; margin-top:1px }
.cta-or{ margin-top:30px; display:flex; align-items:center; gap:16px; color:var(--smoke); font-size:13px; text-transform:uppercase; letter-spacing:.1em; font-family:var(--font-mono) }
.cta-or::before,.cta-or::after{ content:""; height:1px; background:var(--line); flex:1 }

/* form card */
.form-card{
  background:var(--obs); border:1px solid var(--line-2); border-radius:10px;
  padding:clamp(26px,3vw,42px); position:relative;
}
.form-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--m-grad); border-radius:10px 10px 0 0 }
.form-card .ftag{ font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--hi); font-weight:600 }
.form-card h3{ font-family:var(--font-head); font-weight:800; text-transform:uppercase; font-size:clamp(24px,3vw,34px); margin-top:10px; line-height:1.05 }
.form-card h3 .accent{ color:var(--hi) }
.form-card .fsub{ color:var(--smoke); font-size:14.5px; margin-top:12px; line-height:1.6 }
.lead-form{ margin-top:24px; display:flex; flex-direction:column; gap:13px }
.lead-form .hp{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0 }
.field label{ display:block; font-size:12px; color:var(--smoke); margin-bottom:7px; font-family:var(--font-mono); letter-spacing:.06em; text-transform:uppercase }
.field input, .field textarea{
  width:100%; background:var(--jet); border:1px solid var(--line-2); border-radius:var(--radius);
  color:var(--bone); padding:13px 15px; font-family:var(--font-sans); font-size:15px;
  outline:0; transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field textarea:focus{ border-color:var(--hi); box-shadow:0 0 0 3px rgba(255,206,0,.14) }
.field textarea{ resize:vertical; min-height:74px }
.lead-form .btn{ width:100%; margin-top:6px }
.lead-status{ font-size:13.5px; line-height:1.5; min-height:0; margin-top:2px }
.lead-status.ok{ color:#5cd685 }
.lead-status.err{ color:#ffb27a }
.form-privacy{ font-size:11.5px; color:var(--smoke-x); margin-top:6px; line-height:1.5 }

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid{ display:grid; gap:clamp(14px,1.6vw,20px); grid-template-columns:repeat(auto-fit, minmax(230px,1fr)) }
.ccard{ border:1px solid var(--line); border-radius:8px; padding:26px clamp(20px,2.2vw,28px); background:var(--obs); transition:.3s; min-width:0 }
.ccard:hover{ border-color:var(--hi); transform:translateY(-3px) }
.ccard__l{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--smoke) }
.ccard__v{ font-family:var(--font-head); font-weight:700; font-size:clamp(17px,2vw,21px); margin-top:10px; color:var(--bone); overflow-wrap:anywhere }
.ccard__v a{ transition:color .2s } .ccard__v a:hover{ color:var(--hi) }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{ border-top:1px solid var(--line); background:#08090b; padding-block:clamp(48px,6vw,72px) 30px }
.footer-top{ display:grid; gap:clamp(28px,4vw,56px); grid-template-columns:1.4fr 1fr 1fr; margin-bottom:40px }
.footer-brand .brand{ margin-bottom:18px }
.footer-tagline{ color:var(--smoke); font-size:14.5px; max-width:42ch; line-height:1.6 }
.footer-col h4{ font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--smoke-x); margin:0 0 16px; font-weight:600 }
.footer-col a, .footer-col p{ display:block; color:var(--smoke); font-size:14.5px; padding:5px 0; transition:color .2s }
.footer-col a:hover{ color:var(--hi) }
.footer-bottom{ border-top:1px solid var(--line); padding-top:26px; display:flex; flex-wrap:wrap; gap:14px 26px; justify-content:space-between; align-items:flex-start }
.footer-disclaimer{ color:var(--smoke-x); font-size:11.5px; max-width:72ch; line-height:1.6 }
.footer-rights{ color:var(--smoke-x); font-size:12px; white-space:nowrap; font-family:var(--font-mono) }

/* ============================================================
   FLOATING WHATSAPP + AI launcher
   ============================================================ */
.fab-stack{ position:fixed; right:clamp(16px,3vw,28px); bottom:clamp(16px,3vw,28px); z-index:70; display:flex; flex-direction:column; gap:12px }
.fab{
  width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  cursor:pointer; border:0; box-shadow:0 10px 30px rgba(0,0,0,.4); transition:transform .2s, box-shadow .2s;
  position:relative;
}
.fab:hover{ transform:scale(1.08) }
.fab--wa{ background:#1faf54 } .fab--wa svg{ width:30px; height:30px; fill:#fff }
.fab--ai{ background:var(--hi); color:var(--jet); font-family:var(--font-head); font-weight:800; font-size:15px; letter-spacing:.02em }
.fab--wa::after{
  content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #1faf54; animation:pulse 2.2s infinite;
}
@keyframes pulse{ 0%{transform:scale(1);opacity:.7} 100%{transform:scale(1.6);opacity:0} }

/* ============================================================
   SCROLL-TO-TOP  (bottom-LEFT, never overlaps WhatsApp/AI on right)
   ============================================================ */
.to-top{
  position:fixed; left:clamp(16px,3vw,28px); bottom:clamp(16px,3vw,28px); z-index:75;
  width:54px; height:54px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; padding:0;
  background:var(--hi); color:var(--jet);
  border:2px solid var(--jet);
  box-shadow:0 10px 28px rgba(0,0,0,.5), 0 0 0 3px rgba(255,206,0,.16);
  /* hidden until scrolled */
  opacity:0; visibility:hidden; transform:translateY(14px) scale(.9);
  transition:opacity .3s ease, transform .3s cubic-bezier(.2,.8,.2,1), visibility .3s, box-shadow .2s;
}
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0) scale(1) }
.to-top:hover{ transform:translateY(-3px) scale(1.06); box-shadow:0 16px 34px rgba(255,206,0,.32), 0 0 0 3px rgba(255,206,0,.28) }
.to-top:active{ transform:translateY(0) scale(1) }
.to-top:focus-visible{ outline:2px solid #fff; outline-offset:2px }
.to-top svg{ width:24px; height:24px; stroke:var(--jet); fill:none; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round }
/* tiny M-tricolor tab for brand identity */
.to-top::after{
  content:""; position:absolute; top:-2px; left:50%; transform:translateX(-50%);
  width:22px; height:3px; border-radius:2px; background:var(--m-grad);
}
@media (max-width:560px){ .to-top{ width:48px; height:48px } .to-top svg{ width:21px; height:21px } }

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  [data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1) }
  [data-reveal].in{ opacity:1; transform:none }
  [data-reveal][data-d="1"]{ transition-delay:.08s }
  [data-reveal][data-d="2"]{ transition-delay:.16s }
  [data-reveal][data-d="3"]{ transition-delay:.24s }
  [data-reveal][data-d="4"]{ transition-delay:.32s }
  [data-reveal][data-d="5"]{ transition-delay:.4s }
  /* hero orchestrated load */
  .hero [data-load]{ opacity:0; transform:translateY(30px); animation:heroIn .9s cubic-bezier(.2,.8,.2,1) forwards }
  .hero [data-load="1"]{ animation-delay:.15s }
  .hero [data-load="2"]{ animation-delay:.32s }
  .hero [data-load="3"]{ animation-delay:.49s }
  .hero [data-load="4"]{ animation-delay:.66s }
  .hero [data-load="5"]{ animation-delay:.83s }
}
@keyframes heroIn{ to{ opacity:1; transform:none } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* large desktop fluid fill — widen maxw on 2K+ so no empty rails */
@media (min-width:1700px){ :root{ --maxw:1520px } }
@media (min-width:2200px){
  :root{ --maxw:1760px; --pad:80px }
  body{ font-size:17px }
}

@media (max-width:1080px){
  .cta-grid{ grid-template-columns:1fr }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1 / -1 }
}

@media (max-width:900px){
  .nav-desk{ display:none }
  .header-cta{ display:none }
  .burger{ display:flex }
  .nav-mobile{ display:flex }
  .gallery-grid{ grid-template-columns:repeat(3,1fr) }
  .video-grid{ grid-template-columns:1fr; max-width:560px }
}

@media (max-width:560px){
  :root{ --header-h:64px }
  .hero h1{ font-size:clamp(40px,13vw,60px) }
  .hero__stats{ gap:22px 30px }
  .footer-top{ grid-template-columns:1fr }
  .footer-bottom{ flex-direction:column }
  .gallery-grid{ grid-template-columns:1fr 1fr }
  .lang{ order:2 }
  .brand__mark, .brand__kz{ font-size:23px }
  .marquee span{ font-size:12.5px }
}

@media (max-width:380px){
  .hero h1{ font-size:38px }
  .models-grid{ grid-template-columns:1fr }
}
