:root{
    --navy:#2F3942;      /* темно-серый — фирменный */
    --navy-2:#1E1F22;    /* черный — фирменный */
    --gold:#FFD000;      /* желтый — фирменный */
    --gold-dark:#E0BE00;
    --blue:#4A60E9;      /* сине-фиолетовый — фирменный */
    --blue-dark:#3A4DC4;
    --grey-blue:#8C92A3; /* серо-синий — фирменный */
    --bg-light:#EDF0FB;  /* светло-голубой — фирменный */
    --text:#1E1F22;
    --muted:#5B6472;
    --white:#FFFFFF;
    --border:#E1E5F5;
    --radius:16px;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.5;}
  a{text-decoration:none;color:inherit;}
  /* height:auto обязателен: у картинок проставлены width/height ради защиты от CLS,
     и без него браузер растягивает изображение до высоты из атрибута. */
  img{max-width:100%;display:block;height:auto;}
  ul{margin:0;padding:0;list-style:none;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);}
  /* На светлой подложке обычный --blue даёт 4.46:1 — чуть ниже порога AA 4.5:1.
     Текст мелкий (13px) и заглавными, поэтому берём затемнённый вариант. */
  .section-light .eyebrow{color:var(--blue-dark);}
  h1,h2,h3{margin:0;font-weight:700;}
  h2{font-size:34px;letter-spacing:-.01em;}
  .section{padding:88px 0;}
  .section-light{background:var(--bg-light);}
  .section-head{max-width:720px;margin:0 auto 48px;text-align:center;}
  .section-head p{color:var(--muted);font-size:16px;margin-top:14px;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 32px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;border:none;transition:transform .15s ease, box-shadow .15s ease;}
  .btn-gold{background:var(--gold);color:var(--navy-2);box-shadow:0 8px 24px rgba(255,208,0,.35);}
  .btn-gold:hover{background:var(--gold-dark);transform:translateY(-1px);}

  /* LOGO */
  .logo-mark{display:inline-flex;align-items:center;}
  .logo-mark svg{height:34px;width:auto;display:block;}
  footer .logo-mark svg{height:28px;}

  /* HEADER */
  header{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}
  nav.main-nav ul{display:flex;gap:32px;}
  nav.main-nav a{color:rgba(255,255,255,.78);font-size:14.5px;font-weight:500;}
  nav.main-nav a:hover{color:#fff;}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .nav-phone{color:#fff;font-weight:700;font-size:14.5px;}
  /* Бургер показываем только там, где прячется основная навигация. */
  .burger{display:none;}
  @media (max-width:900px){nav.main-nav{display:none;}
    .nav-phone{display:none;}
    .header-cta{display:none;}
    .burger{display:flex;}}

  /* HERO */
  .hero{position:relative;background:
      linear-gradient(135deg, rgba(74,96,233,.38) 0%, transparent 42%),
      linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 75%);
    color:#fff;overflow:hidden;padding:64px 0 0;}
  .hero-dots{position:absolute;top:-40px;right:-40px;width:420px;height:340px;background-image:radial-gradient(rgba(255,208,0,.55) 1.6px, transparent 1.6px);background-size:22px 22px;-webkit-mask-image:radial-gradient(closest-side, rgba(0,0,0,.9), transparent 75%);mask-image:radial-gradient(closest-side, rgba(0,0,0,.9), transparent 75%);pointer-events:none;transform:rotate(-8deg);}
  .hero-slash{position:absolute;left:38%;top:-10%;width:56%;height:130%;background:linear-gradient(180deg, rgba(74,96,233,.28), rgba(74,96,233,0));clip-path:polygon(30% 0, 100% 0, 70% 100%, 0 100%);pointer-events:none;}
  .hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-bottom:56px;}
  @media (max-width:960px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{font-size:30px;line-height:1.28;margin:0 0 18px;letter-spacing:-.01em;font-weight:700;color:#fff;}
  .check-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px;}
  .check-list li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.9);font-size:15px;}
  .check-list li svg{flex:0 0 auto;margin-top:2px;}
  .hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;}

  .hero-visual{position:relative;}

  /* HERO ICON STRIP (mirrors brand banner bottom bar) */
  .hero-strip{position:relative;border-top:1px solid rgba(255,255,255,.14);background:rgba(30,31,34,.35);}
  .hero-strip-row{display:flex;flex-wrap:wrap;gap:28px;padding:26px 0;}
  .hero-strip-item{display:flex;align-items:center;gap:14px;flex:1;min-width:230px;}
  .hero-strip-icon{width:46px;height:46px;border-radius:12px;background:var(--blue);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .hero-strip-item b{display:block;color:#fff;font-size:14.5px;font-weight:700;}
  .hero-strip-item span{display:block;color:rgba(255,255,255,.6);font-size:13px;margin-top:2px;}

  /* CARDS */
  .cards-4{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  @media (max-width:800px){.cards-4{grid-template-columns:1fr;}}
  .card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px;}
  .card .icon{width:48px;height:48px;border-radius:12px;background:var(--bg-light);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--blue);}
  .card h3{font-size:17px;margin-bottom:10px;color:var(--navy);}
  .card p{color:var(--muted);font-size:14.5px;margin:0;}

  /* TOOLS */
  .tool-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;}
  .tool-card h3{font-size:16.5px;color:var(--navy);margin-bottom:8px;}
  .tool-card p{color:var(--muted);font-size:14.5px;margin:0 0 10px;}
  .tag{display:inline-block;background:var(--bg-light);color:var(--blue);font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:8px;}
  .cabinet-card{grid-column:span 2;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:var(--radius);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;}
  @media (max-width:900px){.cabinet-card{grid-template-columns:1fr;grid-column:span 1;}}
  .cabinet-card h3{font-size:20px;margin-bottom:14px;color:#fff;}
  .cabinet-card ul li{display:flex;gap:10px;font-size:14.5px;color:rgba(255,255,255,.85);padding:6px 0;}
  .cabinet-card ul li svg{color:var(--gold);flex:0 0 auto;margin-top:3px;}
  .cabinet-note{margin-top:14px;font-size:13px;color:rgba(255,255,255,.6);}

  /* BENEFITS */
  .benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media (max-width:960px){.benefits{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.benefits{grid-template-columns:1fr;}}
  .benefit{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;}
  .benefit-check{width:32px;height:32px;border-radius:50%;background:rgba(74,96,233,.12);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
  .benefit h4{color:var(--blue);font-size:15px;margin:0 0 8px;}
  .benefit p{margin:0;font-size:13.5px;color:var(--muted);}

  /* FORM SECTION */
  .offer-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;}
  @media (max-width:900px){.offer-grid{grid-template-columns:1fr;}}
  .form-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:36px;}
  .form-card h3{font-size:22px;color:var(--navy);margin-bottom:6px;}
  .form-card p{color:var(--muted);font-size:14.5px;margin:0 0 24px;}
  .form-field{margin-bottom:14px;}
  .form-field input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:10px;font-size:14.5px;font-family:inherit;background:var(--bg-light);}
  .form-field input:focus{outline:2px solid var(--blue);}
  .form-card .btn{width:100%;margin-top:8px;}
  .offer-visual{position:relative;}
  .offer-visual img{width:100%;display:block;border-radius:20px;}

  footer{background:var(--navy);color:rgba(255,255,255,.7);padding:48px 0 28px;}
  .footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:32px;}
  footer nav ul{display:flex;gap:26px;flex-wrap:wrap;}
  footer nav a{font-size:14px;color:rgba(255,255,255,.7);}
  footer nav a:hover{color:#fff;}
  .footer-contacts{display:flex;gap:32px;font-size:14px;flex-wrap:wrap;}
  .footer-contacts b{display:block;color:#fff;font-size:13px;margin-bottom:4px;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:32px;padding-top:20px;font-size:12.5px;color:rgba(255,255,255,.4);}

  .hero-h1{font-size:38px;line-height:1.28;margin:0 0 22px;letter-spacing:-.01em;font-weight:800;color:#fff;}
  .hero-h1-gold{color:var(--gold);}
  .check-list-v2{gap:20px;margin-bottom:30px;}
  .check-list-v2 li{font-size:16px;align-items:flex-start;}
  .check-list-v2 li svg{margin-top:1px;}
  .hero-img-plain{width:100%;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,.45));}

  .incl-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;}
  @media (max-width:900px){.incl-cards-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.incl-cards-grid{grid-template-columns:repeat(2,1fr);}}
  .mini-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 18px;display:flex;flex-direction:column;gap:14px;}
  .mini-card .icon-circle{width:40px;height:40px;border-radius:10px;background:var(--bg-light);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .mini-card span{font-size:14px;font-weight:600;color:var(--navy);line-height:1.35;}
  .addl-panel{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px 26px;margin-bottom:0;}
  .addl-panel-title{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:16px;}
  .addl-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  .chip{display:flex;align-items:center;gap:10px;background:var(--bg-light);color:var(--navy);font-size:13.5px;font-weight:600;padding:14px 16px;border-radius:12px;line-height:1.3;}
  .chip-ico{font-size:17px;flex:0 0 auto;}
  .process-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  @media (max-width:700px){.process-grid{grid-template-columns:1fr;}}
  .process-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;display:flex;gap:16px;align-items:flex-start;}
  .process-card .num-badge{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--navy);color:var(--gold);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;}
  .process-card p{margin:0;font-size:14px;color:var(--muted);}
  .process-card b{color:var(--navy);}

  /* MODAL */
  .modal-overlay{position:fixed;inset:0;background:rgba(30,31,34,.72);display:none;align-items:flex-start;justify-content:center;z-index:200;padding:20px;overflow-y:auto;}
  .modal-overlay.open{display:flex;}
    .modal-box{background:#fff;border-radius:20px;max-width:460px;width:100%;padding:36px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4);margin:32px auto;}
  .modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:var(--bg-light);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);font-size:18px;line-height:1;}
  .modal-close:hover{background:var(--border);}
  .modal-offer-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,208,0,.15);border:1px solid rgba(255,208,0,.5);color:var(--gold-dark);font-weight:700;font-size:13.5px;padding:8px 14px;border-radius:999px;margin:14px 0 0;}
  .modal-box h3{font-size:21px;color:var(--navy);margin-bottom:6px;}
  .modal-box p.modal-sub{color:var(--muted);font-size:14px;margin:14px 0 22px;}
  .modal-box .btn{width:100%;}

  /* MOBILE ADAPTATION */
  @media (max-width:640px){.container{padding:0 18px;}
    .nav-wrap{padding:12px 16px;}
    .header-cta{display:none;}
    .section{padding:52px 0;}
    h2{font-size:25px;}
    .section-head{margin-bottom:32px;}
    .section-head p{font-size:14.5px;}
    .hero{padding-top:32px;}
    .hero-grid{gap:36px;padding-bottom:36px;}
    .hero-dots{display:none;}
    .hero-h1{font-size:25px;line-height:1.32;margin-bottom:14px;}
    .check-list-v2{gap:12px;margin-bottom:22px;}
    .check-list-v2 li{font-size:14px;}
    .hero-cta-row .btn{width:100%;}
    .hero-strip{background:rgba(30,31,34,.5);}
    .hero-strip-row{flex-direction:row;flex-wrap:nowrap;gap:4px;padding:14px 0;justify-content:space-between;}
    .hero-strip-item{flex-direction:column;align-items:center;text-align:center;gap:5px;width:auto;flex:1 1 0;min-width:0;padding:0;border-bottom:none;}
    .hero-strip-icon{width:28px;height:28px;border-radius:8px;}
    .hero-strip-icon svg{width:15px;height:15px;}
    .hero-strip-item b{font-size:10px;line-height:1.15;white-space:normal;}
    .hero-strip-item span{font-size:8.5px;line-height:1.15;margin-top:1px;}
    .cards-4{gap:16px;}
    .card{padding:20px;}
    .incl-cards-grid{gap:8px;}
    .mini-card{padding:12px 10px;gap:8px;border-radius:12px;}
    .mini-card .icon-circle{width:32px;height:32px;border-radius:8px;}
    .mini-card .icon-circle svg{width:16px;height:16px;}
    .mini-card span{font-size:11.5px;line-height:1.25;}
    .addl-panel{padding:16px 14px;}
    .addl-chips{gap:8px;}
    .chip{font-size:11.5px;padding:10px 12px;gap:8px;}
    .chip-ico{font-size:15px;}
    .process-grid{gap:12px;}
    .process-card{padding:16px;}
    .cabinet-card{padding:22px;}
    .tool-card{padding:20px;}
    .benefit{padding:18px;}
    .form-card{padding:22px;}
    .form-card h3{font-size:19px;}
    .offer-grid{gap:28px;}
    .modal-box{padding:22px;}
    .modal-box h3{font-size:18px;}
    .footer-top{gap:16px;}
    .footer-contacts{gap:18px;}
    footer nav ul{gap:14px 20px;}}

  .cabinet-img-wrap{position:relative;}

/* ── Добавлено при переносе макета в шаблон ─────────────────────────────── */

/* Модалка скрыта, пока JS её не откроет. */
.modal-overlay[hidden]{display:none;}

/* Подпись только для скринридеров. */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}

/* Кнопка закрытия модалки — теперь <button>, сбрасываем браузерные стили. */
.modal-close{background:none;border:0;padding:0;cursor:pointer;font-family:inherit;}

/* Статус отправки формы. */
.form-status{margin:12px 0 0;font-size:14px;line-height:1.4;min-height:1.4em;}
.form-status[data-state="error"]{color:#D64545;}
.form-status[data-state="success"]{color:#1F9D55;}

/* Переключатель языков. */
.lang-switcher{margin-top:24px;}
.lang-switcher ul{display:flex;flex-wrap:wrap;gap:8px 18px;}
.lang-switcher a{font-size:13.5px;color:rgba(255,255,255,.6);}
.lang-switcher a:hover{color:#fff;}
.lang-switcher a[aria-current]{color:var(--gold);font-weight:700;}

/* Видимый фокус — обязателен для клавиатурной навигации. */
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px;}
.hero :focus-visible,header :focus-visible,footer :focus-visible{outline-color:var(--gold);}

/* ── FAQ ────────────────────────────────────────────────────────────────── */

.faq-list{display:flex;flex-direction:column;gap:12px;max-width:860px;margin:0 auto;}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;font-weight:700;font-size:16.5px;cursor:pointer;list-style:none;}
.faq-question::-webkit-details-marker{display:none;}
.faq-question:hover{color:var(--blue);}
.faq-chevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease;}
.faq-item[open] .faq-chevron{transform:rotate(180deg);}
.faq-answer{padding:0 22px 20px;color:var(--muted);font-size:15px;line-height:1.6;}
.faq-answer p{margin:0;}

@media (max-width:600px){.faq-question{padding:16px 18px;font-size:15.5px;}
  .faq-answer{padding:0 18px 18px;font-size:14.5px;}}

/* Пользователь просил не анимировать — уважаем. */
@media (prefers-reduced-motion: reduce){.faq-chevron,.btn{transition:none;}}

/* ── Мобильное меню ─────────────────────────────────────────────────────── */

.burger{flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:none;border:0;cursor:pointer;}
.burger-bar{display:block;width:24px;height:2px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
.burger[aria-expanded="true"] .burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] .burger-bar:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] .burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{display:flex;flex-direction:column;gap:6px;padding:16px 24px 28px;background:var(--navy);border-top:1px solid rgba(255,255,255,.08);}
.mobile-menu[hidden]{display:none;}
.mobile-menu nav ul{display:flex;flex-direction:column;}
.mobile-menu nav a{display:block;padding:14px 0;color:rgba(255,255,255,.85);font-size:16px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-menu nav a:hover{color:#fff;}
.mobile-menu-phone{display:block;padding:18px 0 6px;color:#fff;font-weight:700;font-size:17px;}
.mobile-menu-cta{width:100%;margin-top:10px;}

.menu-backdrop{position:fixed;inset:0;background:rgba(30,31,34,.5);z-index:40;}
.menu-backdrop[hidden]{display:none;}
/* Фон под открытым меню не должен прокручиваться. */
body.menu-open{overflow:hidden;}

/* Меню — часть липкой шапки, поэтому на низких экранах ему нужен свой скролл. */
@media (max-width:900px){.mobile-menu{max-height:calc(100vh - 74px);overflow-y:auto;}}

@media (prefers-reduced-motion: reduce){.burger-bar{transition:none;}}

/* ── Замена инлайновых стилей из макета ────────────────────────────────── */

/* Отступ между надзаголовком .eyebrow и h2 — был инлайном в каждой секции. */
.section-head .eyebrow + h2{margin-top:12px;}
.form-card .eyebrow + h3{margin-top:10px;}

/* Блок «Особистий кабінет дилера». */
.cabinet-lead{color:rgba(255,255,255,.7);font-size:14.5px;margin:0 0 16px;}
.cabinet-img-wrap img{border-radius:14px;width:100%;}

/* Отступ между сеткой этапов и панелью «Додатково». */
.process-grid{margin-bottom:28px;}
/* Карточка кабинета отделяется от сетки инструментов отступом,
   а не пустым div-распоркой, как было в макете. */
.cabinet-card{margin-top:24px;}

/* Ловушка для ботов. Не display:none — часть ботов такие поля пропускает;
   уводим за пределы экрана, оставляя поле «настоящим». */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* ── Арабская версия (RTL) ──────────────────────────────────────────────── */

/*
 * Вёрстка построена на flex и grid, поэтому направление большинства блоков
 * браузер зеркалит сам по атрибуту dir="rtl". Здесь только то, что задано
 * физическими координатами и само не перевернётся.
 */

/* Кнопка закрытия модалки обязана уйти в противоположный угол,
   иначе она окажется поверх заголовка. */
[dir="rtl"] .modal-close{right:auto;left:16px;}

/* Декоративные фигуры hero — зеркалим, чтобы композиция не «съехала» в одну сторону. */
[dir="rtl"] .hero-dots{right:auto;left:-40px;transform:rotate(8deg) scaleX(-1);}
[dir="rtl"] .hero-slash{left:auto;right:38%;transform:scaleX(-1);}

/* Ловушка для ботов: уводим за противоположный край, иначе при RTL
   элемент может попасть в область прокрутки. */
[dir="rtl"] .hp-field{left:auto;right:-9999px;}

/*
 * Roboto не покрывает арабское письмо — текст набирается системным шрифтом.
 * У арабской вязи выше надстрочные и подстрочные элементы, поэтому межстрочный
 * интервал приходится увеличивать, иначе строки наезжают друг на друга.
 */
[dir="rtl"] body{
  font-family:'Noto Naskh Arabic','Geeza Pro','Segoe UI',Tahoma,sans-serif;
  line-height:1.7;
}
[dir="rtl"] .hero-h1{line-height:1.45;}
[dir="rtl"] h2{line-height:1.35;}
[dir="rtl"] .card h3,[dir="rtl"] .tool-card h3{line-height:1.4;}

/* Латиница внутри арабского текста (Copart, IAAI, Stat.VIN, $100) не должна
   перескакивать — изолируем её направление. */
[dir="rtl"] .tag,[dir="rtl"] .chip{unicode-bidi:isolate;}

/* Телефон и email всегда читаются слева направо, даже в RTL-контексте. */
[dir="rtl"] .nav-phone,
[dir="rtl"] .mobile-menu-phone,
[dir="rtl"] .footer-contacts a{direction:ltr;unicode-bidi:embed;display:inline-block;}

/* ── Надписи, вынесенные из картинок в вёрстку ──────────────────────────── */
/*
 * В макете «$500 на баланс» и «Перші 5 авто — безкоштовно» были вшиты в растр
 * и оставались украинскими на всех девяти локалях. Теперь это текст: переводится,
 * читается скринридером и масштабируется без потери резкости.
 */

.hero-badge{margin:0 0 4px;text-align:center;line-height:1;}
.hero-badge-amount{display:block;font-size:clamp(56px,7.5vw,104px);font-weight:900;color:var(--gold);letter-spacing:-.02em;}
.hero-badge-label{display:block;font-size:clamp(18px,2.2vw,30px);font-weight:700;color:#fff;text-transform:uppercase;margin-top:4px;}
.hero-badge-sub{display:block;font-size:clamp(14px,1.5vw,20px);font-weight:500;color:rgba(255,255,255,.75);margin-top:8px;}

/* Подпись стоит вплотную над скобкой, которая осталась на картинке. */
.hero-bracket-note{margin:22px 0 0;text-align:center;font-size:clamp(13px,1.35vw,17px);font-weight:700;color:var(--gold);}
.hero-visual .hero-img-plain{margin-top:2px;}

/* Круглый бейдж поверх картинки блока заявки — там же, где он был в макете. */
.offer-visual{position:relative;}
.offer-badge{
  position:absolute;left:2%;top:46%;width:34%;aspect-ratio:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:6%;border-radius:50%;
  background:var(--white);border:2px dashed var(--blue);
  text-align:center;line-height:1.15;
}
.offer-badge-prefix{font-size:clamp(11px,1.25vw,15px);font-weight:500;color:var(--navy);}
.offer-badge-amount{font-size:clamp(26px,3.6vw,44px);font-weight:900;color:var(--blue);letter-spacing:-.02em;}
.offer-badge-label{font-size:clamp(11px,1.3vw,16px);font-weight:700;color:var(--navy);}
.offer-badge-sub{font-size:clamp(10px,1.1vw,13px);font-weight:500;color:var(--blue);}
.offer-badge-gift{
  position:absolute;top:6%;right:2%;width:22%;aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--blue);color:var(--white);
}
.offer-badge-gift svg{width:52%;height:auto;}

@media (max-width:600px){
  .offer-badge{width:40%;left:1%;top:44%;}
}

/* В RTL бейдж уходит к противоположному краю вместе со всей композицией. */
[dir="rtl"] .offer-badge{left:auto;right:2%;}
[dir="rtl"] .offer-badge-gift{right:auto;left:2%;}

/* ── Баннер согласия на куки ────────────────────────────────────────────── */

.consent{
  position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:var(--navy-2);border-top:1px solid rgba(255,255,255,.12);
  box-shadow:0 -8px 32px rgba(0,0,0,.35);
}
.consent[hidden]{display:none;}
.consent-inner{
  max-width:1180px;margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.consent-text{flex:1 1 380px;min-width:0;}
.consent-title{margin:0 0 4px;font-size:15px;font-weight:700;color:#fff;}
.consent-body{margin:0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72);}
.consent-actions{display:flex;gap:12px;flex:0 0 auto;}
.consent-btn{padding:12px 26px;font-size:14.5px;}
/* Отказ выглядит равнозначно согласию: по GDPR отказаться должно быть
   не сложнее, чем согласиться, поэтому не делаем его блёклой ссылкой. */
.consent-reject{
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.45);
}
.consent-reject:hover{border-color:#fff;background:rgba(255,255,255,.06);}

/* Пока баннер висит, поднимаем низ страницы, чтобы он не перекрывал подвал. */
.has-consent-banner body{padding-bottom:120px;}

@media (max-width:700px){
  .consent-inner{padding:16px 20px;gap:14px;}
  .consent-actions{width:100%;}
  .consent-btn{flex:1;padding:13px 16px;}
  .has-consent-banner body{padding-bottom:190px;}
}

/* Блоки для отдельных стран скрыты, пока geo.js не подтвердит страну. */
[data-geo-only][hidden]{display:none;}

/* ── Переключатель языка в шапке ────────────────────────────────────────── */

.lang-select{position:relative;}

.lang-select-toggle{
  display:flex;align-items:center;gap:7px;
  padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:10px;
  background:transparent;color:rgba(255,255,255,.85);
  font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;
  transition:border-color .15s ease, background .15s ease;
}
.lang-select-toggle:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);}
.lang-select-globe{flex-shrink:0;opacity:.75;}
.lang-select-chevron{flex-shrink:0;opacity:.65;transition:transform .18s ease;}
.lang-select-toggle[aria-expanded="true"] .lang-select-chevron{transform:rotate(180deg);}

/* Название языка на грузинском и арабском заметно шире — не даём разъехаться шапке. */
.lang-select-current{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.lang-select-menu{
  position:absolute;top:calc(100% + 8px);right:0;z-index:60;
  min-width:190px;padding:6px;
  background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,.45);
}
.lang-select-menu[hidden]{display:none;}
.lang-select-menu a{
  display:block;padding:9px 12px;border-radius:8px;
  color:rgba(255,255,255,.8);font-size:14.5px;
}
.lang-select-menu a:hover{background:rgba(255,255,255,.08);color:#fff;}
.lang-select-menu a[aria-current]{color:var(--gold);font-weight:700;background:rgba(255,208,0,.1);}

/* В шапке дропдаун только на широких экранах: на узких язык выбирается
   в мобильном меню, где для списка есть место. */
@media (max-width:900px){
  .lang-select{display:none;}
}

/* Список языков в мобильном меню. */
.mobile-menu-lang{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);}
.mobile-menu-lang ul{display:flex;flex-wrap:wrap;gap:6px 10px;}
.mobile-menu-lang a{
  display:block;padding:8px 12px;border-radius:8px;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.75);font-size:14px;
}
.mobile-menu-lang a:hover{color:#fff;background:rgba(255,255,255,.1);}
.mobile-menu-lang a[aria-current]{color:var(--gold);font-weight:700;background:rgba(255,208,0,.12);}

/* В RTL дропдаун раскрывается от противоположного края. */
[dir="rtl"] .lang-select-menu{right:auto;left:0;}

@media (prefers-reduced-motion: reduce){
  .lang-select-toggle,.lang-select-chevron{transition:none;}
}
