/* ============================================================
   DRIVE UNION — светлый «технологичный» (синий + серебро/хром)
   ============================================================ */
:root{
  --bg:#ffffff;
  --bg-alt:#f2f6fc;
  --bg-tint:#eaf1fb;
  --panel:#ffffff;
  --ink:#0f1a2e;
  --ink-2:#33425a;
  --muted:#64748b;
  --muted-2:#8a98ac;
  --line:#e5eaf3;
  --line-2:#d6ddea;
  --blue:#1f4fd0;
  --blue-d:#163bab;
  --blue-deep:#13307e;
  --blue-soft:#e9f0fe;
  --silver:#c6d0df;
  --silver-l:#eef2f8;
  --chrome:#9fb0c6;
  --gold:#e3b140;
  --tg:#229ED9;
  --radius:14px;
  --shadow-sm:0 1px 2px rgba(16,32,64,.06), 0 2px 8px rgba(16,32,64,.05);
  --shadow-md:0 8px 30px -12px rgba(18,38,78,.22);
  --shadow-lg:0 24px 60px -24px rgba(18,38,78,.35);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg); color:var(--ink);
  font-family:'Montserrat', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; line-height:1.6;
}
img { display:block; }
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:var(--bg-alt); }
::-webkit-scrollbar-thumb { background:var(--silver); border-radius:6px; border:2px solid var(--bg-alt); }

/* ── HEADER ── */
header {
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background .3s, box-shadow .3s, border-color .3s;
}
header.scrolled {
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 30px -16px rgba(18,38,78,.25);
}
.header-inner {
  max-width:1240px; margin:0 auto;
  height:70px; display:flex; align-items:center; justify-content:space-between;
  padding:0 40px;
}
.logo { display:flex; align-items:center; gap:11px; text-decoration:none; }
.logo-text {
  font-size:21px; font-weight:800; color:var(--ink);
  letter-spacing:-.01em; line-height:1;
}
header:not(.scrolled) .logo-text { color:var(--ink); }
.logo-sub {
  font-size:9px; color:var(--blue); font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; display:block; margin-top:3px;
}
nav { display:flex; align-items:center; gap:30px; }
nav a { color:var(--ink-2); font-size:13.5px; font-weight:600; text-decoration:none; letter-spacing:.01em; transition:color .2s; }
nav a:hover { color:var(--blue); }
.nav-cta {
  background:var(--blue); color:#fff !important; font-weight:700 !important;
  padding:10px 22px; border-radius:10px; box-shadow:var(--shadow-sm);
  transition:background .2s, transform .15s, box-shadow .2s !important;
}
.nav-cta:hover { background:var(--blue-d) !important; transform:translateY(-1px); }

/* ── HERO (светлый, авто справа) ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden;
  background:
    radial-gradient(55% 55% at 82% 26%, rgba(31,79,208,.12), transparent 60%),
    radial-gradient(48% 50% at 14% 88%, rgba(198,208,223,.45), transparent 60%),
    linear-gradient(180deg, #f2f7fc 0%, #ffffff 62%);
}
.hero-bg { position:absolute; inset:0; pointer-events:none; }
.hero-content { position:relative; max-width:1240px; margin:0 auto; padding:128px 40px 88px; width:100%;
  display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.hero-copy { min-width:0; }
.hero-emblem { position:relative; display:flex; justify-content:center; align-items:center; }
.hero-emblem::before { content:''; position:absolute; width:84%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(31,79,208,.30), rgba(198,208,223,.22) 55%, transparent 72%); filter:blur(30px); z-index:0; }
.hero-emblem img { position:relative; z-index:1; width:100%; height:auto; max-width:440px; aspect-ratio:1; object-fit:cover; border-radius:50%;
  box-shadow:0 28px 64px -22px rgba(18,38,78,.5), 0 0 0 1px rgba(255,255,255,.55); }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:9px;
  padding:0; margin-bottom:24px;
  font-size:12px; font-weight:800; color:var(--blue); letter-spacing:.14em; text-transform:uppercase;
}
.hero-eyebrow-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(227,177,64,.18); }
h1.hero-title {
  font-size:clamp(44px, 6.4vw, 86px);
  font-weight:800; letter-spacing:-.03em; line-height:.98;
  color:var(--ink); margin-bottom:26px; max-width:680px;
}
h1.hero-title span { color:var(--blue); display:block; }
.hero-desc { font-size:17px; color:var(--muted); line-height:1.7; max-width:470px; margin-bottom:40px; font-weight:500; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:60px; }
.btn-gold {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--blue); color:#fff;
  font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; text-decoration:none;
  padding:16px 34px; border-radius:12px; border:none; cursor:pointer;
  box-shadow:0 14px 30px -12px rgba(31,79,208,.55);
  transition:background .2s, box-shadow .2s, transform .15s;
}
.btn-gold:hover { background:var(--blue-d); transform:translateY(-2px); box-shadow:0 18px 38px -12px rgba(31,79,208,.6); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--ink);
  font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; text-decoration:none;
  padding:16px 34px; border-radius:12px; border:1px solid var(--line-2); cursor:pointer;
  transition:border-color .2s, color .2s, background .2s;
}
.btn-ghost:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-soft); }
.hero-stats { display:flex; gap:52px; }
.stat-num { font-size:38px; font-weight:800; color:var(--blue); line-height:1; letter-spacing:-.02em; }
.stat-label { font-size:12.5px; color:var(--muted); margin-top:6px; font-weight:600; }

/* ── SECTION SHARED ── */
section { padding:104px 40px; }
.section-inner { max-width:1240px; margin:0 auto; }
.section-eyebrow { font-size:12px; font-weight:800; color:var(--blue); letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; }
h2.section-title {
  font-size:clamp(30px, 4vw, 52px);
  font-weight:800; letter-spacing:-.03em; line-height:1.04; color:var(--ink); margin-bottom:54px;
}
h2.section-title span { color:var(--blue); }

/* ── WHY US ── */
.why-bg { background:var(--bg); }
.why-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.why-card {
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:32px 28px; box-shadow:var(--shadow-sm);
  transition:border-color .25s, transform .25s, box-shadow .25s;
}
.why-card:hover { border-color:rgba(31,79,208,.35); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.why-icon {
  margin-bottom:18px; width:52px; height:52px; border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  background:var(--blue-soft); border:1px solid rgba(31,79,208,.14);
  color:var(--blue);
}
.why-icon svg { width:25px; height:25px; }
.why-title { font-size:19px; font-weight:800; color:var(--ink); margin-bottom:10px; letter-spacing:-.01em; }
.why-desc { font-size:14px; color:var(--muted); line-height:1.7; }

/* ── STEPS ── */
.steps-bg { background:var(--bg-alt); }
.steps-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); }
.step-cell { background:var(--panel); padding:38px 30px; transition:background .2s; }
.step-cell:hover { background:var(--blue-soft); }
.step-num { font-size:46px; font-weight:800; color:var(--blue); opacity:.28; line-height:1; margin-bottom:12px; letter-spacing:-.02em; }
.step-title { font-size:18px; font-weight:800; color:var(--ink); margin-bottom:10px; letter-spacing:-.01em; }
.step-desc { font-size:13.5px; color:var(--muted); line-height:1.7; }

/* ── CATALOG ── */
.catalog-bg { background:var(--bg); }
.cars-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.car-card {
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  transition:border-color .25s, transform .25s, box-shadow .25s; cursor:default;
}
.car-card:hover { border-color:rgba(31,79,208,.35); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.car-img { height:150px; background:var(--bg-tint); position:relative; }
.car-img img { width:100%; height:100%; object-fit:cover; }
.car-badge {
  position:absolute; top:10px; left:10px;
  background:var(--blue); color:#fff;
  font-size:9.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; padding:4px 9px; border-radius:6px; box-shadow:var(--shadow-sm);
}
.car-body { padding:16px 16px 18px; }
.car-name { font-size:17px; font-weight:800; color:var(--ink); letter-spacing:-.01em; line-height:1.2; }
.car-meta { font-size:12px; color:var(--muted); margin-top:5px; }
.car-price { font-size:18px; font-weight:800; color:var(--blue); margin-top:12px; letter-spacing:-.01em; }

/* ── TEXT REVIEWS ── */
.reviews-bg { background:var(--bg-alt); }
.reviews-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.review-card {
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm);
  transition:border-color .25s, box-shadow .25s;
}
.review-card:hover { border-color:rgba(31,79,208,.25); box-shadow:var(--shadow-md); }
.review-stars { color:var(--gold); font-size:14px; letter-spacing:2px; margin-bottom:14px; }
.review-text { font-size:14px; color:var(--ink-2); line-height:1.75; margin-bottom:18px; }
.review-author { font-size:13px; font-weight:700; color:var(--ink); }
.review-city { font-size:11.5px; color:var(--muted-2); margin-top:3px; }

/* ── PHOTO REVIEWS ── */
.photo-reviews-bg { background:var(--bg); }
.photo-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:10px; }
.photo-item { border-radius:12px; overflow:hidden; aspect-ratio:3/4; box-shadow:var(--shadow-sm); }
.photo-item img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.photo-item:hover img { transform:scale(1.04); }

/* ── VIDEO REVIEWS ── */
.video-reviews-bg { background:var(--bg-alt); }
.video-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.video-card {
  position:relative; aspect-ratio:9/16; border-radius:var(--radius); overflow:hidden;
  background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow-sm);
  cursor:pointer; transition:border-color .25s, transform .25s, box-shadow .25s;
}
.video-card:hover { border-color:rgba(31,79,208,.35); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.video-card img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.video-card:hover img { transform:scale(1.04); }
.video-card::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,22,46,0) 55%, rgba(10,22,46,.78) 100%);
}
.video-play-btn {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:58px; height:58px; border-radius:50%; z-index:2;
  background:var(--blue); border:3px solid rgba(255,255,255,.9); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px -6px rgba(31,79,208,.7);
  transition:background .2s, transform .2s;
}
.video-play-btn svg { width:18px; height:18px; margin-left:3px; fill:#fff; }
.video-card:hover .video-play-btn { background:var(--blue-d); transform:translate(-50%,-50%) scale(1.08); }
.video-label {
  position:absolute; left:12px; bottom:12px; z-index:2;
  font-size:12px; font-weight:700; color:#fff; letter-spacing:.02em;
}
.video-card.is-playing { cursor:default; }
.video-card.is-playing:hover { transform:none; border-color:var(--line); }
.video-card.is-playing::after,
.video-card.is-playing .video-play-btn,
.video-card.is-playing .video-label { display:none; }
.video-card video { width:100%; height:100%; object-fit:cover; display:block; background:#000; }

/* ── OUR MANAGERS ── */
.managers-bg { background:var(--bg); }
.managers-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; max-width:760px; }
.mgr-card { background:var(--panel); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); transition:transform .25s, box-shadow .25s; }
.mgr-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.mgr-photo { position:relative; aspect-ratio:4/5; background:var(--bg-tint); }
.mgr-photo img { width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.mgr-body { padding:20px 24px 24px; }
.mgr-role { font-size:12px; color:var(--blue); letter-spacing:.06em; text-transform:uppercase; font-weight:800; }
.mgr-name { font-size:26px; font-weight:800; color:var(--ink); line-height:1.1; margin-top:5px; letter-spacing:-.01em; }
.mgr-btns { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.mgr-btns a { display:inline-flex; align-items:center; justify-content:center; gap:7px; font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; padding:12px 18px; border-radius:10px; color:#fff; transition:background .2s, transform .15s; }
.mgr-btns a:hover { transform:translateY(-1px); }
.mgr-max { background:var(--blue); } .mgr-max:hover { background:var(--blue-d); }
.mgr-tg { background:var(--tg); } .mgr-tg:hover { background:#1b86ba; }

/* ── CTA BANNER ── */
.cta-banner { position:relative; overflow:hidden; padding:0; background:var(--blue-deep); }
.cta-banner-img { position:absolute; inset:0; }
.cta-banner-img img { width:100%; height:100%; object-fit:cover; object-position:center 40%; opacity:.28; }
.cta-banner-img::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(19,48,126,.95), rgba(31,79,208,.72)); }
.cta-content { position:relative; max-width:1240px; margin:0 auto; padding:104px 40px; text-align:center; }
.cta-content h2 { font-size:clamp(32px,5vw,64px); font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.04; margin-bottom:20px; }
.cta-content h2 span { color:#fff; opacity:.72; }
.cta-content p { font-size:17px; color:rgba(255,255,255,.82); margin-bottom:40px; }
.wa-btn {
  display:inline-flex; align-items:center; gap:12px;
  background:#fff; color:var(--blue-deep);
  font-size:14px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; text-decoration:none;
  padding:18px 46px; border-radius:12px;
  box-shadow:0 18px 44px -14px rgba(0,0,0,.4);
  transition:transform .15s, box-shadow .2s;
}
.wa-btn:hover { transform:translateY(-2px) scale(1.02); }
.wa-icon { width:22px; height:22px; fill:var(--blue); flex-shrink:0; }

/* ── MANAGER MODAL ── */
.manager-modal { position:fixed; inset:0; background:rgba(15,26,46,.55); backdrop-filter:blur(5px); display:none; align-items:center; justify-content:center; z-index:200; padding:20px; }
.manager-modal.open { display:flex; }
.manager-modal-card { width:100%; max-width:520px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:var(--shadow-lg); }
.manager-modal-title { font-size:26px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin-bottom:8px; }
.manager-modal-desc { color:var(--muted); font-size:14px; margin-bottom:18px; line-height:1.6; }
.manager-modal-grid { display:grid; gap:10px; }
.manager-modal-link { display:flex; align-items:center; justify-content:space-between; gap:10px; text-decoration:none; padding:15px 18px; border-radius:12px; background:var(--bg-alt); border:1px solid var(--line); color:var(--ink); font-weight:700; transition:border-color .2s, transform .15s, background .2s; }
.manager-modal-link:hover { border-color:var(--blue); background:var(--blue-soft); transform:translateY(-1px); }
.manager-modal-close { margin-top:14px; width:100%; border:1px solid var(--line-2); background:#fff; color:var(--ink-2); border-radius:10px; padding:11px; cursor:pointer; font-weight:700; }
.manager-modal-close:hover { background:var(--bg-alt); }

/* ── CONTACTS ── */
.contacts-bg { background:var(--bg-alt); padding-bottom:0; }
.contacts-inner { max-width:1240px; margin:0 auto; padding:0 40px; }
.contacts-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; padding-bottom:88px; }
.contact-info > p { font-size:15px; color:var(--muted); line-height:1.75; }
/* менеджер-строка */
.ct-mgr { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; box-shadow:var(--shadow-sm); }
.ct-mgr + .ct-mgr { margin-top:10px; }
.ct-mgr-id { display:flex; align-items:center; gap:14px; }
.ct-mgr-av { width:44px; height:44px; border-radius:50%; background:var(--blue-soft); border:1px solid rgba(31,79,208,.2); display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800; color:var(--blue); flex-shrink:0; position:relative; overflow:hidden; }
.ct-mgr-av img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ct-mgr-name { font-size:14.5px; font-weight:700; color:var(--ink); }
.ct-mgr-sub { font-size:11.5px; color:var(--muted); margin-top:2px; }
.ct-mgr-btns { display:flex; align-items:center; gap:8px; }
.ct-btn-max, .ct-btn-tg { display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; text-decoration:none; padding:10px 16px; border-radius:9px; white-space:nowrap; transition:background .2s; }
.ct-btn-max { background:var(--blue); } .ct-btn-max:hover { background:var(--blue-d); }
.ct-btn-tg { background:var(--tg); } .ct-btn-tg:hover { background:#1b86ba; }
.ct-channel { margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; background:#fff; border-radius:12px; border:1px solid var(--line); box-shadow:var(--shadow-sm); flex-wrap:wrap; }
.ct-channel a { display:inline-flex; align-items:center; gap:9px; color:var(--blue); text-decoration:none; font-size:13.5px; font-weight:700; }
.ct-channel a:hover { color:var(--blue-d); }
.ct-hours { font-size:12px; color:var(--muted); white-space:nowrap; font-weight:600; }
/* форма заявки */
.lead-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:32px; box-shadow:var(--shadow-md); }
.lead-title { font-size:22px; font-weight:800; color:var(--ink); letter-spacing:-.01em; margin-bottom:22px; }
.lead-form { display:flex; flex-direction:column; gap:16px; }
.lead-label { font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.07em; text-transform:uppercase; margin-bottom:7px; display:block; }
.lead-input { width:100%; background:var(--bg-alt); border:1px solid var(--line-2); border-radius:10px; padding:12px 15px; font-family:inherit; font-size:14px; color:var(--ink); outline:none; transition:border-color .2s, background .2s; }
.lead-input::placeholder { color:var(--muted-2); }
.lead-input:focus { border-color:var(--blue); background:#fff; }
textarea.lead-input { resize:none; }
.lead-btn { background:var(--blue); color:#fff; border:none; border-radius:11px; padding:15px; font-family:inherit; font-size:13px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; box-shadow:0 14px 30px -12px rgba(31,79,208,.55); transition:background .2s, transform .15s; }
.lead-btn:hover { background:var(--blue-d); transform:translateY(-1px); }
.lead-btn:disabled { opacity:.6; cursor:default; }
.lead-success { display:none; text-align:center; padding:16px; background:rgba(34,176,120,.1); border:1px solid rgba(34,176,120,.3); border-radius:10px; color:#1a9b66; font-size:13px; font-weight:700; }

/* ── FOOTER ── */
footer { background:var(--ink); border-top:1px solid rgba(255,255,255,.06); padding:30px 40px; }
.footer-inner { max-width:1240px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.footer-brand { display:flex; align-items:center; gap:11px; }
.footer-brand-name { font-size:15px; font-weight:800; color:#fff; letter-spacing:-.01em; }
.footer-copy { font-size:12.5px; color:rgba(255,255,255,.5); }

/* ── БУРГЕР / МОБ-МЕНЮ ── */
.burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.burger span { display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:transform .3s, opacity .3s; }
.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-nav {
  display:none; position:fixed; top:70px; left:0; right:0; z-index:99;
  background:rgba(255,255,255,.98); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line); box-shadow:var(--shadow-md);
  flex-direction:column; padding:14px 0 22px;
}
.mobile-nav.open { display:flex; }
.mobile-nav a { color:var(--ink); font-size:15px; font-weight:600; text-decoration:none; padding:14px 24px; border-bottom:1px solid var(--line); }
.mobile-nav a:last-child { border-bottom:none; }
.mobile-nav .nav-cta { margin:16px 24px 0; display:block; text-align:center; background:var(--blue); color:#fff !important; font-weight:800 !important; border-radius:10px; padding:14px 20px !important; border-bottom:none !important; }

/* ── ЛОГОТИП (круг; меняется на аватарку, когда будет) ── */
.km-logo {
  display:inline-block; border-radius:50%; flex-shrink:0;
  background:#fff center/cover no-repeat;
  background-image:url("/assets/driveunion-avatar.webp");
  box-shadow:0 2px 8px rgba(18,38,78,.18);
}

/* ── TABLET ── */
@media (max-width:1024px) {
  .header-inner { padding:0 24px; }
  nav { gap:18px; }
  .hero-content { padding:128px 24px 84px; }
  section { padding:76px 24px; }
  .contacts-inner { padding:0 24px; }
  .why-grid { grid-template-columns:repeat(2, 1fr); }
  .steps-grid { grid-template-columns:repeat(2, 1fr); }
  .cars-grid { grid-template-columns:repeat(2, 1fr); }
  .reviews-grid { grid-template-columns:repeat(2, 1fr); }
  .photo-grid { grid-template-columns:repeat(4, 1fr); }
  .video-grid { grid-template-columns:repeat(3, 1fr); gap:12px; }
  .contacts-grid { gap:36px; }
  footer { padding:26px 24px; }
}

/* ── MOBILE ── */
@media (max-width:768px) {
  .header-inner { height:62px; padding:0 16px; }
  nav { display:none; }
  .burger { display:flex; }
  .mobile-nav { top:62px; }

  .hero-content { padding:96px 16px 60px; grid-template-columns:1fr; gap:26px; }
  .hero-emblem { order:-1; }
  .hero-emblem img { max-width:230px; }
  .hero-emblem::before { width:66%; }
  .hero-desc { font-size:15px; }
  .hero-btns { flex-direction:column; gap:10px; }
  .btn-gold, .btn-ghost { width:100%; justify-content:center; padding:15px 20px; }
  .hero-stats { gap:22px; flex-wrap:wrap; }
  .stat-num { font-size:30px; }

  section { padding:58px 16px; }
  h2.section-title { margin-bottom:32px; }
  .why-grid { grid-template-columns:1fr; gap:12px; }
  .why-card { padding:24px 20px; }
  .steps-grid { grid-template-columns:1fr; }
  .step-cell { padding:26px 20px; }
  .cars-grid { grid-template-columns:1fr; gap:12px; }
  .car-img { height:200px; }
  .reviews-grid { grid-template-columns:1fr; gap:12px; }
  .photo-grid { grid-template-columns:repeat(2, 1fr); gap:8px; }
  .video-grid { grid-template-columns:repeat(2, 1fr); gap:10px; }
  .video-play-btn { width:48px; height:48px; }
  .video-play-btn svg { width:15px; height:15px; }
  .cta-content { padding:68px 16px; }
  .cta-content h2 { font-size:clamp(26px, 8vw, 44px); }
  .wa-btn { padding:16px 30px; font-size:13px; width:100%; justify-content:center; }

  .contacts-inner { padding:0 16px; }
  .contacts-grid { grid-template-columns:1fr; gap:24px; }
  .ct-mgr { flex-wrap:wrap; }
  .ct-mgr-btns { width:100%; }
  .ct-channel { flex-direction:column; align-items:flex-start; }
  .lead-card { padding:24px; }
  .manager-modal-card { padding:22px 18px; }
  .manager-modal-title { font-size:22px; }

  footer { padding:22px 16px; }
  .footer-inner { flex-direction:column; text-align:center; }
}

@media (max-width:400px) {
  .hero-stats { gap:16px; }
  .stat-num { font-size:26px; }
}

/* ── АНИМАЦИИ (reveal) ── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none;} }
