/* ═══════════════════════════════════════════
   АйDent — стоматология, Астана
   Палитра построена от зелёного логотипа #1E8B57
   ═══════════════════════════════════════════ */

/* Шкала идёт от светлого к тёмному: g-50…g-200 — подложки,
   g-600…g-900 — акценты и текст. В тёмной теме роли те же,
   меняются только значения, поэтому компоненты переписывать не нужно. */
:root{
  --g-900:#0B3D28;
  --g-800:#114F35;
  --g-700:#16694A;
  --g-600:#1E8B57;      /* цвет логотипа */
  --g-500:#2FA46B;
  --g-400:#6CC49A;
  --g-300:#A5DCC1;
  --g-200:#CFEDDF;
  --g-100:#E6F5EC;
  --g-50:#F3FAF6;

  --ink:#12211A;
  --ink-2:#4A5C53;
  --ink-3:#7C8C84;
  --line:#E3EDE7;
  --white:#fff;         /* основная поверхность: фон страницы и карточек */

  /* то, что нельзя вывести из шкалы */
  --btn-ink:#fff;                     /* текст на зелёной заливке */
  --btn-bg:#1A7A4D;                   /* чуть темнее логотипа — ради контраста с белым */
  --header-bg:rgba(255,255,255,.86);
  --glass:rgba(255,255,255,.94);
  --footer-bg:#0B3D28;
  --appoint-from:#114F35;
  --appoint-to:#1E8B57;
  --sand:#F4F1EE;                     /* колонка «до» в сравнении */
  --sand-ink:#7A5C45;
  --sand-mark:#B0876A;
  --error:#D0503B;
  --error-line:#E5715E;
  --error-bg:#FDF3F1;
  --map-ground:#EDF6F1;
  --map-road:#FFFFFF;
  --map-lane:#DCEDE4;
  --map-thin:#E4F1EA;
  --map-block:#E0EFE7;
  --dim:none;                         /* приглушение светлых SVG-заглушек */
  --shadow-rgb:11,61,40;

  --radius:22px;
  --radius-sm:14px;
  --radius-lg:32px;

  --shadow-sm:0 2px 10px rgba(var(--shadow-rgb),.05);
  --shadow:0 12px 34px rgba(var(--shadow-rgb),.08);
  --shadow-lg:0 26px 70px rgba(var(--shadow-rgb),.13);

  --container:1200px;
  --header-h:78px;

  --font:'Manrope','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.3,1);
}

/* ── Тёмная тема ───────────────────────────
   Сайт всегда открывается светлым, независимо от настроек системы.
   Тёмная включается только кнопкой в шапке и запоминается в браузере. */
:root[data-theme="dark"]{
  --g-900:#F2F8F4;
  --g-800:#CDE9DA;
  --g-700:#7BD6AB;
  --g-600:#40C085;
  --g-500:#4FB37E;
  --g-400:#3E9A6C;
  --g-300:#2E6B4E;
  --g-200:#1E4433;
  --g-100:#173225;
  --g-50:#101C16;

  --ink:#E6EFE9;
  --ink-2:#A6BBB0;
  --ink-3:#7C9187;
  --line:#23342B;
  --white:#131F19;

  --btn-ink:#04120C;
  --btn-bg:#40C085;
  --header-bg:rgba(11,18,15,.84);
  --glass:rgba(19,31,25,.94);
  --footer-bg:#080F0C;
  --appoint-from:#0F2B1E;
  --appoint-to:#1B6A45;
  --sand:#2A241E;
  --sand-ink:#D8C0A6;
  --sand-mark:#C09B77;
  --error:#F08A76;
  --error-line:#B4553F;
  --error-bg:#2A1713;
  --map-ground:#101C16;
  --map-road:#1B2C23;
  --map-lane:#17251E;
  --map-thin:#152219;
  --map-block:#1A2C23;
  --dim:brightness(.78) saturate(.85);
  --shadow-rgb:0,0,0;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.is-locked{overflow:hidden}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
svg{width:100%;height:100%;fill:currentColor}

h1,h2,h3{margin:0;line-height:1.18;letter-spacing:-.02em;font-weight:800}
p{margin:0}

::selection{background:var(--g-300);color:var(--g-900)}

:focus-visible{outline:3px solid var(--g-500);outline-offset:3px;border-radius:6px}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  padding:12px 20px;background:var(--g-600);color:#fff;border-radius:0 0 12px 0;
}
.skip-link:focus{left:0}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}

/* ── Кнопки ───────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:100px;
  font-weight:700;font-size:16px;letter-spacing:-.01em;
  cursor:pointer;white-space:nowrap;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);
}
.btn svg{width:19px;height:19px;flex:none}
.btn--primary{background:var(--btn-bg);color:var(--btn-ink);box-shadow:0 10px 24px rgba(30,139,87,.26)}
.btn--primary:hover{background:var(--g-700);transform:translateY(-2px);box-shadow:0 16px 32px rgba(30,139,87,.32)}
.btn--ghost{background:var(--white);color:var(--g-700);box-shadow:inset 0 0 0 2px var(--g-200)}
.btn--ghost:hover{background:var(--g-50);box-shadow:inset 0 0 0 2px var(--g-400);transform:translateY(-2px)}
.btn--sm{padding:11px 22px;font-size:15px}
.btn--lg{padding:17px 34px;font-size:17px}
.btn--block{display:flex;width:100%}

.chip{
  display:inline-block;padding:7px 16px;border-radius:100px;
  background:var(--g-100);color:var(--g-700);
  font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.chip--sm{padding:5px 13px;font-size:11.5px}

/* ── Шапка ────────────────────────────────── */
.header{
  position:sticky;top:0;z-index:100;
  background:var(--header-bg);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.header.is-stuck{border-bottom-color:var(--line);box-shadow:0 6px 26px rgba(11,61,40,.06)}

.header__inner{display:flex;align-items:center;gap:28px;height:var(--header-h)}

.logo{display:flex;align-items:center;gap:13px;flex:none}
.logo__mark{width:50px;height:50px;border-radius:14px;object-fit:cover;box-shadow:0 4px 12px rgba(30,139,87,.22)}
.logo__text{
  display:flex;flex-direction:column;line-height:1.05;
  font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--g-800);
}
.logo__text b{color:var(--g-600);font-weight:800}
.logo__text small{
  font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-3);margin-top:3px;
}
.logo--light .logo__text{color:#fff}
.logo--light .logo__text b{color:var(--g-300)}
.logo--light .logo__text small{color:rgba(255,255,255,.55)}

.nav{display:flex;gap:4px;margin-left:auto}
.nav a{
  position:relative;padding:9px 15px;border-radius:100px;
  font-size:15.5px;font-weight:600;color:var(--ink-2);
  white-space:nowrap;                 /* пункт не должен ломаться на две строки */
  transition:color .2s var(--ease),background .2s var(--ease);
}
.nav a:hover{color:var(--g-700);background:var(--g-50)}
.nav a.is-active{color:var(--g-700);background:var(--g-100)}

.header__actions{display:flex;align-items:center;gap:14px;flex:none}
.header__phone{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15.5px;color:var(--g-800);white-space:nowrap}
.header__phone svg{width:17px;height:17px;color:var(--g-600)}
.header__phone:hover{color:var(--g-600)}

/* переключатель языка */
.lang-switch{
  flex:none;display:flex;align-items:center;justify-content:center;
  height:42px;padding:0 14px;border-radius:100px;
  background:var(--g-50);color:var(--g-700);
  font-size:13px;font-weight:800;letter-spacing:.06em;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.lang-switch:hover{background:var(--g-100);transform:translateY(-2px)}

/* переключатель темы: показываем ту иконку, на которую переключимся */
.theme-toggle{
  position:relative;flex:none;
  width:42px;height:42px;padding:10px;border-radius:50%;
  background:var(--g-50);color:var(--g-700);
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.theme-toggle:hover{background:var(--g-100);transform:rotate(12deg)}
.theme-toggle svg{
  position:absolute;inset:10px;width:22px;height:22px;
  transition:opacity .25s var(--ease),transform .35s var(--ease);
}
/* по умолчанию тема светлая — показываем луну («включить тёмную») */
.theme-toggle__sun{opacity:0;transform:rotate(-70deg) scale(.5)}
.theme-toggle__moon{opacity:1;transform:none}
:root[data-theme="dark"] .theme-toggle__sun{opacity:1;transform:none}
:root[data-theme="dark"] .theme-toggle__moon{opacity:0;transform:rotate(70deg) scale(.5)}

.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border-radius:12px}
.burger span{display:block;height:2.5px;width:22px;margin:0 auto;background:var(--g-800);border-radius:3px;transition:transform .3s var(--ease),opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ── Hero ─────────────────────────────────── */
.hero{position:relative;overflow:hidden;padding:80px 0 96px;background:linear-gradient(170deg,var(--g-50) 0%,var(--white) 62%)}
.hero__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none}
.hero__blob--1{width:520px;height:520px;background:var(--g-200);top:-190px;right:-130px}
.hero__blob--2{width:380px;height:380px;background:var(--g-100);bottom:-160px;left:-120px}

.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}

.tagline{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:100px;
  background:var(--white);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--g-200);
  font-size:14px;font-weight:700;color:var(--g-700);
}
.tagline svg{width:15px;height:15px;color:var(--g-500)}

.hero__title{
  margin:24px 0 20px;
  font-size:clamp(38px,5.2vw,62px);
  letter-spacing:-.035em;color:var(--g-900);
}
.hero__title span{
  position:relative;color:var(--g-600);white-space:nowrap;
}
.hero__title span::after{
  content:'';position:absolute;left:0;right:0;bottom:.08em;height:.16em;
  background:var(--g-200);border-radius:100px;z-index:-1;
}

.hero__lead{max-width:530px;font-size:18.5px;color:var(--ink-2);line-height:1.7}

.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 40px}

.hero__facts{display:flex;flex-wrap:wrap;gap:14px}
.hero__facts li{
  flex:1 1 150px;padding:16px 20px;border-radius:var(--radius-sm);
  background:var(--white);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line);
}
.hero__facts b{display:block;font-size:15px;color:var(--g-700);font-weight:800}
.hero__facts span{display:block;margin-top:3px;font-size:14px;color:var(--ink-3);font-weight:600}

.hero__media{position:relative;margin:0}
.hero__media img{
  width:100%;aspect-ratio:4/3.4;object-fit:cover;
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
}
.hero__badge{
  position:absolute;left:-26px;bottom:36px;
  display:flex;align-items:center;gap:13px;
  padding:15px 22px;border-radius:18px;
  background:var(--white);box-shadow:var(--shadow);
}
.hero__badge svg{width:26px;height:26px;flex:none;padding:5px;border-radius:50%;background:var(--g-100);color:var(--g-600)}
.hero__badge span{font-size:13.5px;color:var(--ink-2);line-height:1.4}
.hero__badge b{display:block;font-size:15px;color:var(--g-900);font-weight:800;line-height:1.35}

/* ── Секции ───────────────────────────────── */
.section{padding:104px 0}
.section--tight{padding:64px 0}
.section--mint{background:var(--g-50)}

.section__head{max-width:720px;margin:0 auto 56px;text-align:center}
.eyebrow{
  display:inline-block;margin-bottom:14px;
  font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--g-500);
}
.eyebrow--light{color:var(--g-300)}
.section__title{font-size:clamp(30px,3.6vw,44px);letter-spacing:-.03em;color:var(--g-900)}
.section__lead{margin-top:16px;font-size:17.5px;color:var(--ink-2);line-height:1.68}

/* ── Преимущества ─────────────────────────── */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.adv{padding:32px 28px;border-radius:var(--radius);background:var(--white);box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.adv:hover{transform:translateY(-5px);box-shadow:var(--shadow),inset 0 0 0 1px transparent}
.adv__icon{width:52px;height:52px;padding:13px;margin-bottom:20px;border-radius:16px;background:var(--g-100);color:var(--g-600)}
.adv h3{font-size:18.5px;margin-bottom:10px;color:var(--g-900)}
.adv p{font-size:15.5px;color:var(--ink-2);line-height:1.6}

/* ── Острая боль ──────────────────────────── */
.urgent{
  display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding:30px 34px;border-radius:var(--radius);
  background:linear-gradient(140deg,var(--appoint-from),var(--appoint-to) 95%);
  box-shadow:var(--shadow);
}
.urgent__icon{
  width:54px;height:54px;flex:none;padding:13px;border-radius:16px;
  background:rgba(255,255,255,.14);color:#fff;
}
.urgent__text{flex:1 1 300px}
.urgent__text h2{font-size:24px;color:#fff;letter-spacing:-.025em;margin-bottom:7px}
.urgent__text p{font-size:15.5px;color:rgba(255,255,255,.8);line-height:1.55}
.urgent__actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.urgent__hours{font-size:13px;color:rgba(255,255,255,.65);white-space:nowrap}
/* фон этой кнопки всегда белый, поэтому текст задаём literal-ом:
   токен --g-800 в тёмной теме светлеет и кнопка становится нечитаемой */
.btn--white{background:#fff;color:#114F35}
.btn--white:hover{background:#E6F5EC;transform:translateY(-2px)}

/* ── Цены ─────────────────────────────────── */
.prices{display:grid;grid-template-columns:1.4fr .9fr;gap:26px;align-items:start}
.prices__table{
  width:100%;border-collapse:collapse;
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line);
}
.prices__caption{
  padding:22px 28px 14px;text-align:left;
  font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g-500);
}
.prices__table td{padding:15px 28px;border-top:1px solid var(--line);font-size:16px;color:var(--ink-2)}
.prices__table tr:first-child td{border-top:0}
.prices__table td:first-child{color:var(--g-900);font-weight:600}
.prices__table td:last-child{text-align:right;white-space:nowrap;font-weight:700;color:var(--g-700)}
.prices__note{
  padding:28px 30px;border-radius:var(--radius);
  background:var(--g-50);box-shadow:inset 0 0 0 1px var(--line);
}
.prices__note h3{font-size:18px;color:var(--g-900);margin-bottom:14px}
.prices__note ul{display:grid;gap:10px;margin-bottom:16px}
.prices__note li{position:relative;padding-left:24px;font-size:15px;color:var(--ink-2);line-height:1.5}
.prices__note li::before{
  content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;
  background:var(--g-300);box-shadow:0 0 0 3px var(--g-100);
}
.prices__note p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-bottom:20px}

/* ── Отзывы ───────────────────────────────── */
.reviews-cta{
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  padding:34px 38px;border-radius:var(--radius);
  background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
}
.reviews-cta__body{flex:1 1 320px}
.reviews-cta__body h3{font-size:22px;color:var(--g-900);margin-bottom:9px;letter-spacing:-.02em}
.reviews-cta__body p{font-size:16px;color:var(--ink-2);line-height:1.6}
.reviews-cta__actions{display:flex;gap:12px;flex-wrap:wrap}

/* ── Услуги ───────────────────────────────── */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service{
  position:relative;padding:34px 30px;border-radius:var(--radius);
  background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.service::after{
  content:'';position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;border-radius:50%;
  background:var(--g-50);transition:transform .45s var(--ease);z-index:0;
}
.service:hover{transform:translateY(-6px);box-shadow:var(--shadow),inset 0 0 0 1px transparent}
.service:hover::after{transform:scale(1.9)}
.service > *{position:relative;z-index:1}
.service__icon{width:50px;height:50px;padding:12px;margin-bottom:20px;border-radius:15px;background:var(--g-600);color:var(--btn-ink);box-shadow:0 8px 18px rgba(30,139,87,.24)}
.service h3{font-size:19.5px;margin-bottom:10px;color:var(--g-900)}
.service p{font-size:15.5px;color:var(--ink-2);line-height:1.6}

/* ═══ ДО / ПОСЛЕ ═══════════════════════════ */
.ba-feature{
  display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;
  padding:34px;margin-bottom:56px;
  background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);
}

.ba-slider{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--radius);background:var(--g-100);
  cursor:ew-resize;user-select:none;-webkit-user-select:none;touch-action:pan-y;
}
.ba-slider__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  pointer-events:none;-webkit-user-drag:none;
}
.ba-slider__img--before{
  clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0);
  will-change:clip-path;
}
/* пока настоящих снимков нет, подставляются светлые SVG-заглушки —
   в тёмной теме их нужно приглушить, иначе они бьют по глазам */
.ba-slider__img[src$=".svg"],.ba-card__side img[src$=".svg"],
.ba-slider__img[src*="svg+xml"],.ba-card__side img[src*="svg+xml"]{filter:var(--dim)}
.ba-slider__tag{
  position:absolute;top:16px;z-index:3;
  padding:6px 15px;border-radius:100px;
  font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  backdrop-filter:blur(6px);
}
.ba-slider__tag--before{left:16px;background:rgba(18,33,26,.62);color:#fff}
.ba-slider__tag--after{right:16px;background:rgba(30,139,87,.88);color:#fff}

.ba-slider__handle{
  position:absolute;top:0;bottom:0;left:var(--pos,50%);z-index:4;
  width:3px;margin-left:-1.5px;background:#fff;
  box-shadow:0 0 0 1px rgba(11,61,40,.12);
  pointer-events:none;
}
.ba-slider__handle svg{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;padding:11px;border-radius:50%;
  background:#fff;color:var(--g-600);
  box-shadow:0 6px 20px rgba(11,61,40,.25);
}
.ba-slider:focus-visible{outline:3px solid var(--g-500);outline-offset:4px}

.ba-feature__info h3{font-size:26px;margin:16px 0 14px;color:var(--g-900);letter-spacing:-.025em}
.ba-feature__info p{font-size:16px;color:var(--ink-2);line-height:1.68}
.ba-feature__list{margin:24px 0 28px;display:grid;gap:12px}
.ba-feature__list li{
  display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:baseline;
  padding-bottom:12px;border-bottom:1px solid var(--line);
  font-size:15px;color:var(--ink-2);
}
.ba-feature__list li:last-child{border-bottom:0;padding-bottom:0}
.ba-feature__list b{font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--g-500)}

.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:56px}
.ba-card{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.ba-card:hover{transform:translateY(-5px);box-shadow:var(--shadow),inset 0 0 0 1px transparent}
.ba-card__pair{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--line)}
.ba-card__side{position:relative;margin:0;overflow:hidden;background:var(--g-100)}
.ba-card__side img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s var(--ease)}
.ba-card:hover .ba-card__side img{transform:scale(1.05)}
.ba-card__side figcaption{
  position:absolute;left:12px;bottom:12px;
  padding:5px 13px;border-radius:100px;
  font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(18,33,26,.62);color:#fff;backdrop-filter:blur(6px);
}
.ba-card__side--after figcaption{background:rgba(30,139,87,.9)}
.ba-card__body{padding:24px 26px 28px}
.ba-card__body h3{font-size:19px;margin:12px 0 9px;color:var(--g-900)}
.ba-card__body p{font-size:15px;color:var(--ink-2);line-height:1.6}

/* Сравнительная таблица */
.compare{
  padding:36px 38px 32px;background:var(--white);
  border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px var(--line);
}
.compare__title{font-size:24px;text-align:center;margin-bottom:28px;color:var(--g-900)}
.compare__table{display:grid;gap:0}
.compare__head,.compare__row{display:grid;grid-template-columns:1fr 1.35fr 1.35fr;gap:16px;align-items:center}
.compare__head{padding-bottom:14px;border-bottom:2px solid var(--line)}
.compare__label{
  padding:9px 18px;border-radius:100px;text-align:center;
  font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
}
.compare__label--before{background:var(--sand);color:var(--sand-ink)}
.compare__label--after{background:var(--g-100);color:var(--g-700)}
.compare__row{padding:16px 0;border-bottom:1px solid var(--line)}
.compare__row:last-child{border-bottom:0}
.compare__key{font-size:14.5px;font-weight:800;color:var(--g-900)}
.compare__cell{position:relative;padding-left:28px;font-size:15px;color:var(--ink-2);line-height:1.5}
.compare__cell::before{
  position:absolute;left:0;top:1px;
  width:19px;height:19px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;
}
.compare__cell--before::before{content:'−';background:var(--sand);color:var(--sand-mark)}
.compare__cell--after::before{content:'✓';background:var(--g-100);color:var(--g-600);font-size:10.5px}

/* ── Врачи ────────────────────────────────── */
.doctors{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.doctor{
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.doctor:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg),inset 0 0 0 1px transparent}
.doctor__photo{position:relative;overflow:hidden;background:var(--g-100)}
.doctor__photo img{width:100%;aspect-ratio:3/3.2;object-fit:cover;object-position:center 22%;transition:transform .55s var(--ease)}
.doctor:hover .doctor__photo img{transform:scale(1.045)}
.doctor__photo::after{
  content:'';position:absolute;inset:auto 0 0 0;height:38%;
  background:linear-gradient(to top,rgba(11,61,40,.34),transparent);
}
.doctor__body{padding:26px 28px 30px}
.doctor__body h3{font-size:20px;color:var(--g-900);letter-spacing:-.02em}
.doctor__role{margin:8px 0 18px;font-size:14px;font-weight:700;color:var(--g-700);line-height:1.45}
.doctor__skills{display:grid;gap:9px}
.doctor__skills li{position:relative;padding-left:24px;font-size:14.8px;color:var(--ink-2);line-height:1.5}
.doctor__skills li::before{
  content:'';position:absolute;left:0;top:8px;width:8px;height:8px;
  border-radius:50%;background:var(--g-300);box-shadow:0 0 0 3px var(--g-100);
}

/* ── Шаги ─────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;counter-reset:s}
.step{
  position:relative;padding:30px 24px;border-radius:var(--radius);
  background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.step:hover{transform:translateY(-5px);box-shadow:var(--shadow),inset 0 0 0 1px transparent}
.step__num{
  display:inline-block;margin-bottom:16px;
  font-size:32px;font-weight:800;letter-spacing:-.04em;
  color:var(--g-300);
}
.step h3{font-size:17.5px;margin-bottom:9px;color:var(--g-900)}
.step p{font-size:14.8px;color:var(--ink-2);line-height:1.55}

/* ── Галерея ──────────────────────────────── */
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}
.gallery__item{
  position:relative;padding:0;overflow:hidden;
  border-radius:var(--radius);background:var(--g-100);
  box-shadow:var(--shadow-sm);
}
.gallery__item img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s var(--ease)}
.gallery__item:hover img{transform:scale(1.06)}
.gallery__item::after{
  content:'';position:absolute;inset:0;background:rgba(11,61,40,0);transition:background .3s var(--ease);
}
.gallery__item:hover::after{background:rgba(11,61,40,.12)}
.gallery__item--wide img{aspect-ratio:16/10.4}

/* ── Полезное ─────────────────────────────── */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{
  display:flex;flex-direction:column;
  padding:30px 28px;border-radius:var(--radius);
  background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.post:hover{transform:translateY(-5px);box-shadow:var(--shadow),inset 0 0 0 1px transparent}
.post__tag{
  align-self:flex-start;margin-bottom:16px;
  padding:5px 13px;border-radius:100px;background:var(--g-100);color:var(--g-700);
  font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
}
.post h3{font-size:19px;margin-bottom:11px;color:var(--g-900);line-height:1.32}
.post p{font-size:15px;color:var(--ink-2);line-height:1.6;flex:1}
.post__more{
  display:inline-flex;align-items:center;gap:7px;margin-top:20px;
  font-size:15px;font-weight:700;color:var(--g-700);
}
.post__more svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.post:hover .post__more svg{transform:translateX(4px)}

/* ── Запись ───────────────────────────────── */
.appoint{
  display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;
  padding:56px;border-radius:var(--radius-lg);
  background:linear-gradient(150deg,var(--appoint-from),var(--appoint-to) 92%);
  box-shadow:var(--shadow-lg);
}
.appoint__text h2{font-size:clamp(26px,3vw,36px);color:#fff;letter-spacing:-.03em;margin-bottom:16px}
.appoint__text > p{font-size:16.5px;color:rgba(255,255,255,.78);line-height:1.68}
.appoint__contacts{display:grid;gap:14px;margin-top:34px}
.appoint__contact{
  display:flex;align-items:center;gap:15px;
  padding:17px 20px;border-radius:var(--radius-sm);
  background:rgba(255,255,255,.09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.appoint__contact:hover{background:rgba(255,255,255,.16);transform:translateX(4px)}
.appoint__contact svg{width:22px;height:22px;flex:none;color:var(--g-300)}
.appoint__contact span{font-size:13.5px;color:rgba(255,255,255,.7);line-height:1.4}
.appoint__contact b{display:block;font-size:16px;color:#fff;font-weight:700;margin-bottom:2px}

.appoint__form{
  padding:34px;border-radius:var(--radius);
  background:var(--white);box-shadow:var(--shadow);
}
.field{margin-bottom:18px}
.field label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;color:var(--g-900)}
.field label span{color:var(--ink-3);font-weight:600}
.field input,.field select,.field textarea{
  width:100%;padding:14px 17px;
  font-family:inherit;font-size:16px;color:var(--ink);
  background:var(--g-50);border:2px solid transparent;border-radius:var(--radius-sm);
  transition:border-color .2s var(--ease),background .2s var(--ease);
  resize:vertical;
}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;background:var(--white);border-color:var(--g-400);
}
.field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C8C84' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px;
  padding-right:46px;
}
.field.has-error input{border-color:var(--error-line);background:var(--error-bg)}
.field__error{display:none;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--error)}
.field.has-error .field__error{display:block}
.appoint__note{margin-top:16px;font-size:12.5px;color:var(--ink-3);line-height:1.5;text-align:center}

/* ── Контакты ─────────────────────────────── */
.contacts{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.contacts__info{display:grid;gap:24px}
.contact-item{display:flex;gap:17px;align-items:flex-start}
.contact-item__icon{
  width:46px;height:46px;flex:none;padding:12px;border-radius:14px;
  background:var(--white);color:var(--g-600);box-shadow:var(--shadow-sm);
}
.contact-item b{display:block;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--g-500);margin-bottom:6px}
.contact-item p{font-size:17px;color:var(--g-900);font-weight:600;line-height:1.5}
.contact-item a:hover{color:var(--g-600)}

.hours{width:100%;border-collapse:collapse;font-size:15.5px}
.hours td{padding:5px 0;color:var(--ink-2)}
.hours td:last-child{text-align:right;font-weight:700;color:var(--g-900);white-space:nowrap}
.hours__off{color:var(--ink-3)!important;font-weight:600!important}

.socials{display:flex;flex-wrap:wrap;gap:11px;margin-top:6px}
.social{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:100px;
  background:var(--white);color:var(--g-800);
  font-size:14.5px;font-weight:700;
  box-shadow:var(--shadow-sm);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),color .25s var(--ease);
}
.social svg{width:18px;height:18px;color:var(--g-600)}
.social:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--g-600)}
.social--wa svg{color:#25D366}

.contacts__map{display:grid;gap:14px}
.contacts__map .mapframe{
  width:100%;height:430px;border:0;
  border-radius:var(--radius);box-shadow:var(--shadow);
}

/* блок-карта (работает без интернета и при открытии с диска) */
.mapcard{
  position:relative;display:block;overflow:hidden;
  height:430px;border-radius:var(--radius);
  box-shadow:var(--shadow);background:var(--g-100);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.mapcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.mapcard__bg{position:absolute;inset:0;width:100%;height:100%}
.mapcard__bg .map-ground{fill:var(--map-ground)}
.mapcard__bg .map-block{fill:var(--map-block)}
.mapcard__bg .map-lane{stroke:var(--map-lane);fill:none}
.mapcard__bg .map-road{stroke:var(--map-road);fill:none}
.mapcard__bg .map-thin{stroke:var(--map-thin);fill:none}
.mapcard__pin{
  position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;padding:13px;border-radius:50%;
  background:var(--g-600);color:var(--btn-ink);
  box-shadow:0 10px 26px rgba(30,139,87,.42);
}
.mapcard__pin::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--g-600);animation:pulse 2.8s infinite;
}
.mapcard__label{
  position:absolute;left:22px;right:22px;bottom:22px;
  padding:16px 20px;border-radius:16px;
  background:var(--glass);backdrop-filter:blur(8px);
  font-size:14.5px;color:var(--ink-2);line-height:1.45;
  box-shadow:var(--shadow-sm);
}
.mapcard__label b{display:block;font-size:16.5px;color:var(--g-900);margin-bottom:3px}
.mapcard__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── Подвал ───────────────────────────────── */
.footer{background:var(--footer-bg);color:rgba(255,255,255,.68);padding:64px 0 28px}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:48px}
.footer__brand p{margin-top:20px;font-size:15px;line-height:1.65;max-width:340px}
.footer__nav,.footer__contacts{display:flex;flex-direction:column;gap:11px}
.footer b{
  margin-bottom:8px;font-size:12.5px;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:#fff;
}
.footer__nav a,.footer__contacts a{font-size:15.5px;transition:color .2s var(--ease)}
.footer__nav a:hover,.footer__contacts a:hover{color:var(--g-300)}
.footer__contacts span{font-size:15px;line-height:1.5}
.footer__contacts a{font-size:18px;font-weight:700;color:#fff}

.footer__bottom{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
  margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
  font-size:13px;
}
.footer__disclaimer{max-width:620px;color:rgba(255,255,255,.45);line-height:1.5}

/* ── FAB ──────────────────────────────────── */
.fab{
  position:fixed;right:26px;bottom:26px;z-index:90;
  display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;padding:14px;border-radius:50%;
  background:#25D366;color:#fff;
  box-shadow:0 10px 28px rgba(37,211,102,.42);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.fab:hover{transform:scale(1.09)}
.fab::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  border:2px solid #25D366;animation:pulse 2.6s infinite;
}
@keyframes pulse{0%{transform:scale(1);opacity:.65}70%{transform:scale(1.55);opacity:0}100%{opacity:0}}

/* ── Модалка ──────────────────────────────── */
/* важно: правило .modal{display:flex} перебивает браузерное [hidden]{display:none},
   поэтому скрытое состояние задаём явно */
.modal[hidden],.lightbox[hidden]{display:none}

.modal{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px}
.modal__backdrop{position:absolute;inset:0;background:rgba(11,61,40,.55);backdrop-filter:blur(5px);animation:fade .3s var(--ease)}
.modal__box{
  position:relative;width:100%;max-width:720px;max-height:86vh;overflow-y:auto;
  padding:48px;border-radius:var(--radius-lg);background:var(--white);
  box-shadow:var(--shadow-lg);animation:pop .35s var(--ease);
}
.modal__close{
  position:absolute;top:20px;right:20px;z-index:2;
  width:42px;height:42px;padding:10px;border-radius:50%;
  background:var(--g-50);color:var(--g-800);transition:background .2s,transform .2s
}
.modal__close:hover{background:var(--g-100);transform:rotate(90deg)}
.modal__content h2{font-size:29px;margin-bottom:8px;color:var(--g-900);padding-right:44px;letter-spacing:-.028em}
.modal__content .modal__tag{
  display:inline-block;margin-bottom:18px;padding:5px 13px;border-radius:100px;
  background:var(--g-100);color:var(--g-700);
  font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
}
.modal__content p{margin-bottom:15px;font-size:16.5px;color:var(--ink-2);line-height:1.72}
.modal__content h3{font-size:19px;margin:26px 0 12px;color:var(--g-900)}
.modal__content ul{display:grid;gap:10px;margin-bottom:18px}
.modal__content ul li{position:relative;padding-left:26px;font-size:16px;color:var(--ink-2);line-height:1.6}
.modal__content ul li::before{
  content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;
  background:var(--g-400);box-shadow:0 0 0 3px var(--g-100);
}
.rda{display:grid;gap:10px;margin:18px 0 22px}
.rda__row{
  display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;
  padding:13px 18px;border-radius:var(--radius-sm);background:var(--g-50);
}
.rda__val{font-size:15px;font-weight:800;color:var(--g-700)}
.rda__txt{font-size:15px;color:var(--ink-2);line-height:1.45}
.myth{display:grid;gap:14px;margin:18px 0 8px}
.myth__item{
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
  border-radius:var(--radius-sm);overflow:hidden;background:var(--line);
}
.myth__side{padding:16px 18px;background:var(--white)}
.myth__side b{
  display:block;margin-bottom:7px;font-size:11.5px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
}
.myth__side--myth{background:var(--sand)}
.myth__side--myth b{color:var(--sand-mark)}
.myth__side--fact{background:var(--g-50)}
.myth__side--fact b{color:var(--g-600)}
.myth__side p{margin:0;font-size:14.8px;line-height:1.55}

@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}

/* ── Лайтбокс ─────────────────────────────── */
.lightbox{
  position:fixed;inset:0;z-index:160;
  display:flex;align-items:center;justify-content:center;padding:32px;
  background:rgba(11,61,40,.9);backdrop-filter:blur(6px);animation:fade .3s var(--ease);
}
.lightbox img{max-width:100%;max-height:88vh;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.lightbox__close{
  position:absolute;top:24px;right:24px;
  width:46px;height:46px;padding:11px;border-radius:50%;
  background:rgba(255,255,255,.15);color:#fff;transition:background .2s,transform .2s;
}
.lightbox__close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg)}

/* ── Reveal ───────────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

/* ═══ АДАПТИВ ═══════════════════════════════ */

/* Пункты меню не переносятся, поэтому на узких десктопах
   поджимаем отступы, чтобы шапка осталась одной полосой. */
@media (min-width:961px) and (max-width:1240px){
  .header__inner{gap:14px}
  .nav a{padding:9px 10px;font-size:14.5px}
  .header__phone{font-size:14.5px}
  .btn--sm{padding:11px 18px;font-size:14.5px}
}

@media (max-width:1080px){
  .adv-grid{grid-template-columns:repeat(2,1fr)}
  .services,.posts{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .doctors{grid-template-columns:1fr}
  .doctor{display:grid;grid-template-columns:230px 1fr}
  .doctor__photo img{height:100%;aspect-ratio:auto;min-height:280px}
  .ba-feature{grid-template-columns:1fr;gap:30px}
  .contacts{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr;gap:36px}
}

@media (max-width:960px){
  .nav{
    position:fixed;inset:var(--header-h) 0 auto 0;
    flex-direction:column;gap:2px;
    padding:18px 24px 26px;
    background:var(--white);border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);
    transform:translateY(-130%);transition:transform .38s var(--ease);
    margin-left:0;
  }
  .nav.is-open{transform:none}
  .nav a{padding:14px 16px;font-size:17px;border-radius:12px}
  .burger{display:flex}
  /* меню стало position:fixed и выпало из потока — теперь вправо
     кнопки отодвигает сам блок действий, иначе справа остаётся пустота */
  .header__actions{margin-left:auto}
  .header__phone span{display:none}
  .header__phone{padding:10px;border-radius:50%;background:var(--g-50)}
  .header__phone svg{width:19px;height:19px}
  .header__inner{gap:14px}
  .hero__inner{grid-template-columns:1fr;gap:44px}
  .hero__media{order:-1}
  .hero__media img{aspect-ratio:16/10}
  .hero__badge{left:16px;bottom:16px}
  /* на узких экранах плашка не должна выходить за фото */
  .hero__badge{padding:12px 16px;gap:10px}
  .hero__badge b{font-size:13.5px}
  .hero__badge svg{width:22px;height:22px}
  .hero__lead{max-width:none}
  .section{padding:76px 0}
  .appoint{grid-template-columns:1fr;gap:36px;padding:38px}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery__item--wide{grid-column:1/-1}
  .compare__head,.compare__row{grid-template-columns:1fr;gap:8px}
  .compare__head{display:none}
  .compare__row{padding:18px 0}
  .compare__key{margin-bottom:6px}
  .compare__cell{padding:10px 14px 10px 40px;border-radius:12px}
  .compare__cell::before{left:14px;top:11px}
  .compare__cell--before{background:#FAF7F4}
  .compare__cell--after{background:var(--g-50)}
}

/* на узких экранах в шапке остаются только логотип, звонок, тема и меню:
   кнопка записи дублируется первым экраном и плавающей кнопкой WhatsApp */
@media (max-width:560px){
  .header .btn--primary{display:none}
  .header .logo__mark{width:42px;height:42px;border-radius:12px}
  .header .logo__text{font-size:21px}
  .header__inner{gap:12px}

  /* три кнопки приводим к одной сетке: одинаковый размер, форма и фон */
  .header__actions{gap:10px}
  .header__phone,
  .theme-toggle,
  .lang-switch,
  .burger{
    width:42px;height:42px;flex:none;
    display:flex;align-items:center;justify-content:center;
    padding:0;border-radius:50%;background:var(--g-50);
  }
  .lang-switch{font-size:11.5px;letter-spacing:.02em}
  .header__phone svg{width:19px;height:19px}
  .burger{flex-direction:column;gap:5px}
  .burger span{width:18px}
}

/* совсем узкие экраны (iPhone SE и подобные) — поджимаем логотип,
   чтобы кнопки не упирались в него */
/* очень узкие экраны (320px): четыре кнопки помещаются только так */
@media (max-width:340px){
  .header .container{padding-left:12px;padding-right:12px}
  .header .logo__mark{width:34px;height:34px;border-radius:10px}
  .header .logo__text{font-size:18px}
  .header .logo{gap:8px}
  .header__actions{gap:5px}
  .header__phone,
  .theme-toggle,
  .lang-switch,
  .burger{width:36px;height:36px}
  .lang-switch{font-size:10px}
}

@media (max-width:380px){
  .header .logo__text{font-size:19px}
  .header .logo{gap:9px}
  .header .logo__mark{width:38px;height:38px}
  .header__actions{gap:6px}
  .header__phone,
  .theme-toggle,
  .lang-switch,
  .burger{width:38px;height:38px}
  .lang-switch{font-size:10.5px}
  .header__phone svg,
  .theme-toggle svg{width:17px;height:17px}
  .theme-toggle svg{inset:10.5px}
}

@media (max-width:760px){
  body{font-size:16px}
  .container{padding:0 18px}
  .section{padding:62px 0}
  .section--tight{padding:44px 0}
  .section__head{margin-bottom:38px}
  .adv-grid,.services,.posts,.ba-grid,.steps,.prices{grid-template-columns:1fr}
  .urgent{padding:24px 22px;gap:18px}
  .urgent__text h2{font-size:21px}
  .urgent__actions{align-items:stretch;width:100%}
  .urgent__hours{text-align:center;white-space:normal}
  .prices__table td{padding:13px 20px;font-size:15px}
  .prices__caption{padding:18px 20px 12px}
  .prices__note{padding:22px 20px}
  .reviews-cta{padding:24px 22px}
  .reviews-cta__actions{width:100%}
  .reviews-cta__actions .btn{flex:1 1 100%}
  .doctor{grid-template-columns:1fr}
  .doctor__photo img{aspect-ratio:3/2.6;min-height:0;object-position:center 20%}
  .ba-feature{padding:18px}
  .ba-slider{aspect-ratio:4/3}
  .ba-feature__info h3{font-size:22px}
  .ba-feature__list li{grid-template-columns:1fr;gap:4px}
  .compare{padding:26px 22px}
  .gallery{grid-template-columns:1fr}
  .appoint{padding:26px 22px}
  .appoint__form{padding:24px 20px}
  .contacts__map .mapframe,.mapcard{height:320px}
  .mapcard__actions{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr;gap:32px}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .modal__box{padding:32px 22px;max-height:90vh}
  .modal__content h2{font-size:24px}
  .myth__item{grid-template-columns:1fr}
  .rda__row{grid-template-columns:1fr;gap:4px}
  .fab{right:16px;bottom:16px;width:54px;height:54px}
  .hero{padding:48px 0 68px}
  .hero__facts li{flex:1 1 100%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
