/* ═══════════ Стоматология «Олимп» — чистый код WEBCRAFT LAB ═══════════ */
:root{
  --purple:#7d69ac; --purple-d:#6a5896; --purple-dd:#574a7e;
  --teal:#48bcbd; --teal-d:#3aa3a4;
  --lav:#efecf8; --lav-2:#dad8ee;
  --ink:#2b2740; --muted:#6f6a84; --line:#e7e3f2;
  --bg:#fff; --radius:16px;
  --shadow:0 10px 40px rgba(87,74,126,.10);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
/* Ханипот от спам-ботов: скрыт от людей, боты заполняют → отсекаются на сервере */
.hp-guard{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
/* 152-ФЗ: баннер согласия на cookie/ПД */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:2000;max-width:1120px;margin:0 auto;
  background:#2b2740;color:#fff;border-radius:16px;padding:16px 22px;box-shadow:0 16px 48px rgba(20,12,40,.4);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center;
  transform:translateY(140%);opacity:0;transition:transform .35s cubic-bezier(.22,.61,.36,1),opacity .35s}
.cookie-banner.is-shown{transform:none;opacity:1}
.cookie-banner__text{flex:1;min-width:260px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.88);margin:0}
.cookie-banner__text a{color:#8ce6e7;text-decoration:underline;text-underline-offset:2px}
.cookie-banner__actions{flex:0 0 auto;display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner__btn{background:linear-gradient(135deg,#7d69ac,#574a7e);color:#fff;border:1.5px solid transparent;
  border-radius:12px;padding:12px 26px;font-size:14.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .18s,box-shadow .18s,background .18s}
.cookie-banner__btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(125,105,172,.42)}
.cookie-banner__btn--ghost{background:transparent;border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.9)}
.cookie-banner__btn--ghost:hover{background:rgba(255,255,255,.1);box-shadow:none;border-color:rgba(255,255,255,.6)}
@media(max-width:640px){.cookie-banner{padding:14px 16px;gap:12px}.cookie-banner__actions{width:100%}.cookie-banner__btn{flex:1}}
@media(prefers-reduced-motion:reduce){.cookie-banner{transition:opacity .2s;transform:none}}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* ─── Кнопки ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:600;font-size:15px;border-radius:12px;padding:11px 22px;cursor:pointer;
  border:1.5px solid transparent;transition:transform .18s,box-shadow .18s,background .18s,color .18s;white-space:nowrap}
.btn--lg{padding:15px 30px;font-size:16px;border-radius:14px}
.btn--primary{background:linear-gradient(135deg,var(--purple),var(--purple-dd));color:#fff;box-shadow:0 8px 22px rgba(125,105,172,.32)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(125,105,172,.42)}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn--ghost:hover{border-color:var(--purple);color:var(--purple)}
.btn--soft{background:#fff;border-color:var(--line);color:var(--ink)}
.btn--soft:hover{border-color:var(--teal);color:var(--teal-d);transform:translateY(-2px)}

/* ─── Шапка (слепок Тильды: бар 72px #6b5993) ─── */
.hdr{position:sticky;top:0;z-index:1000;background:#6b5993;
  box-shadow:0 1px 3px rgba(0,0,0,.6)}
.hdr.is-scrolled{background:#665488;box-shadow:0 2px 8px rgba(0,0,0,.55)}
.hdr__in{display:flex;align-items:center;gap:26px;height:72px;max-width:1400px;margin:0 auto;padding:0 40px}
.hdr__logo img{height:66px;width:auto;display:block}
.hdr__nav{display:flex;gap:26px;margin-left:12px}
.hdr__nav a{font-size:16px;font-weight:400;color:#fff;position:relative;padding:4px 0;white-space:nowrap;
  text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(255,255,255,.55)}
.hdr__nav a:not(.is-active):not(.has-drop){text-decoration:none}
.hdr__nav a.is-active{font-weight:700}
.hdr__nav a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--teal);transition:width .22s}
.hdr__nav a:hover::after{width:100%}
.hdr__nav a.has-drop{display:inline-flex;align-items:center;gap:6px}
.hdr__nav a.has-drop::before{content:"";width:6px;height:6px;order:2;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.hdr__right{display:flex;align-items:center;gap:12px;margin-left:auto}
.hdr__soc{display:flex;gap:14px}
.hdr__soc a{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .18s,transform .18s}
.hdr__soc a svg{width:15px;height:15px}
.hdr__soc a:hover{background:#fff;color:var(--purple);transform:translateY(-2px)}
/* Кнопки: белые, радиус 14px, 14px/600, тень 0 0 8px */
.hdr__tel,.hdr__cta{background:#fff;color:#7d69ac;font-weight:600;font-size:14px;white-space:nowrap;
  border-radius:14px;padding:10px 28px;box-shadow:0 0 8px rgba(0,0,0,.2);transition:transform .18s,box-shadow .18s}
.hdr__tel:hover,.hdr__cta:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.28)}
.hdr__call{display:none;width:40px;height:40px;border-radius:50%;background:#fff;color:#7d69ac;align-items:center;justify-content:center;flex-shrink:0;transition:transform .18s}
.hdr__call:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.28)}
.hdr__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hdr__burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s}

/* ─── Hero: светлый фон + карточка-«плитка» с градиентом (как оригинал) ─── */
/* Единый градиент под первый экран + плитки (без швов между блоками) */
.top-bg{position:relative;background:
  radial-gradient(120% 80% at 100% 0%,rgba(150,120,190,.34),transparent 55%),
  linear-gradient(180deg,#dcdaef 0%,#d8e6ed 40%,#cfe4ea 60%,#e9edf5 86%,#fff 100%)}
.hero{position:relative;padding:34px 0 40px}
.hero__wrap{position:relative}
.hero__card{position:relative;overflow:hidden;border-radius:30px;color:#fff;
  min-height:592px;padding:54px 56px;
  background:
    linear-gradient(100deg,rgba(38,26,64,.52) 0%,rgba(38,26,64,.20) 32%,rgba(38,26,64,0) 55%),
    url('../img/hero-bg.jpg') center/cover no-repeat #4a4a86;
  box-shadow:0 30px 70px rgba(70,50,120,.28)}
/* Лёгкое мерцание звёзд поверх фирменной текстуры (наш штрих) */
.hero__card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;mix-blend-mode:screen;
  animation:starglow 5.5s ease-in-out infinite;
  background-image:
    radial-gradient(1.8px 1.8px at 62% 16%,rgba(255,255,255,.95),transparent),
    radial-gradient(2px 2px at 78% 48%,rgba(220,245,255,.9),transparent),
    radial-gradient(1.6px 1.6px at 70% 30%,rgba(255,255,255,.85),transparent),
    radial-gradient(1.5px 1.5px at 84% 62%,rgba(210,240,255,.8),transparent),
    radial-gradient(1.7px 1.7px at 55% 40%,rgba(255,255,255,.8),transparent),
    radial-gradient(1.4px 1.4px at 90% 22%,rgba(220,245,255,.75),transparent);}
@keyframes starglow{0%,100%{opacity:.35}50%{opacity:.7}}
@media(prefers-reduced-motion:reduce){.hero__card::before{animation:none}}

/* Плавающие 3D-сердечки внутри плашки (наш штрих: мягкая левитация) */
.deco{position:absolute;inset:0;pointer-events:none;z-index:1}
.deco__i{position:absolute;filter:drop-shadow(0 14px 22px rgba(30,18,55,.28));will-change:transform;
  animation:floaty 7s ease-in-out infinite}
.deco--heart-2{width:116px;left:34%;top:46%;opacity:.9;animation-delay:-4s}
.deco--heart-3{width:92px;left:50%;bottom:3%;opacity:.85;animation-delay:-1.5s}
.deco--heart-4{width:140px;right:5%;bottom:-6%;animation-delay:-2.6s}
.deco--heart-5{width:104px;right:1%;top:10%;opacity:.9;animation-delay:-.5s}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.deco__i,.cross,.top-heart{animation:none}}

/* Кресты — поверх карточки, в углах, выходят за край (не обрезаются) */
.cross{position:absolute;z-index:6;pointer-events:none;
  filter:drop-shadow(0 16px 26px rgba(30,18,55,.35));will-change:transform;
  animation:floaty 8s ease-in-out infinite}
.cross--tl{width:104px;left:-30px;top:-30px;animation-delay:-1.2s}
.cross--bl{width:126px;left:-40px;bottom:-38px;animation-delay:-3.6s}
/* Верхнее сердце — тоже поверх, выходит за верхний край плашки */
.top-heart{position:absolute;z-index:6;width:78px;left:43%;top:-34px;pointer-events:none;
  filter:drop-shadow(0 14px 22px rgba(30,18,55,.28));will-change:transform;
  animation:floaty 7.5s ease-in-out infinite;animation-delay:-2.2s}

/* Утилита: скрыто визуально, доступно для SEO/скринридеров */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Элементы первого экрана позиционируются по слепку оригинала (карточка 1160×550) */
/* Плашка заголовка «СТОМАТОЛОГИЯ ОЛИМП» */
.hero__plate{position:absolute;left:60px;top:106px;z-index:3;margin:0;white-space:nowrap;
  background:#7a64a9;border-radius:12px;padding:7px 22px;box-shadow:0 3px 10px 1px rgba(0,0,0,.3);
  color:#fff;text-transform:uppercase;font-weight:800;font-size:47px;letter-spacing:.5px;line-height:1.12}
/* Оффер: ценность + доверие под плашкой */
.hero__offer{position:absolute;left:60px;top:186px;z-index:3;width:420px;margin:0;
  color:#fff;font-size:17px;line-height:1.4;font-weight:500;text-shadow:0 1px 10px rgba(20,12,40,.55)}
.hero__offer b{color:#ffdd80;font-weight:700;white-space:nowrap}
/* Рамка адрес + телефоны */
.hero__addr{position:absolute;left:60px;top:252px;z-index:3;width:300px;
  border:2px solid #dad8ee;border-radius:10px;padding:14px 18px;
  background:linear-gradient(0deg,rgba(119,94,166,.18),rgba(119,94,166,.05));
  display:flex;flex-direction:column;gap:9px;color:#fff}
.hero__addr-row{display:flex;align-items:flex-start;gap:11px;font-size:19px;font-weight:500;line-height:1.25}
.hero__addr-row svg{flex-shrink:0;color:#dad8ee;margin-top:2px}
.hero__phones{display:flex;flex-direction:column;gap:1px}
.hero__phones a{color:#fff;white-space:nowrap;transition:color .15s}
.hero__phones a:hover{color:#c9f2f2}
/* Кнопка «Записаться» — анимированный многоцветный градиент (как в оригинале) */
.hero__cta-row{position:absolute;left:60px;top:394px;z-index:3;display:flex;align-items:center;gap:16px}
.hero__cta{display:inline-flex;align-items:center;justify-content:center;width:200px;height:55px;
  border-radius:16px;color:#fff;font-size:18px;font-weight:500;letter-spacing:.5px;
  background:linear-gradient(to right,#3d3d61 0%,#7f6bad 25%,#4fbbc1 50%,#7a6bae 55%,#4e4661 100%);
  background-size:200% 100%;background-position:0% 50%;box-shadow:0 0 6px 1px rgba(27,64,115,.4);
  animation:btnshine 4s ease-in-out infinite;transition:transform .2s,box-shadow .2s}
.hero__cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px 1px rgba(27,64,115,.55);animation-duration:1.6s}
@keyframes btnshine{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* «Онлайн сервисы →» — у нижнего края */
.hero__online{position:absolute;left:60px;top:533px;z-index:3;
  color:#fff;font-weight:400;font-size:20px;opacity:.95;transition:opacity .18s,transform .18s}
.hero__online:hover{opacity:1;transform:translateX(3px)}
/* Белый 3D-зуб у кнопки (анимированный) */
.tooth{width:44px;height:auto;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(30,18,55,.32));
  animation:floaty 5s ease-in-out infinite;animation-delay:-2s}
@media(prefers-reduced-motion:reduce){.tooth{animation:none}.hero__cta{animation:none}}
/* Девушка справа: прижата к низу карточки, макушка слегка подрезана — как в оригинале */
.hero__media{position:absolute;right:4%;bottom:0;top:0;width:44%;z-index:2;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:center}
.hero__media img{width:auto;height:97%;max-height:none;filter:drop-shadow(0 24px 40px rgba(30,18,55,.4))}

/* ═══ Три плитки преимуществ (слепок: 3×360×200, gap 40, радиус 20) ═══ */
.tiles{padding:26px 0 66px;background:transparent}
.tiles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.tile{position:relative;overflow:hidden;border-radius:20px;min-height:200px;padding:26px 28px 22px;color:#fff;
  display:flex;flex-direction:column;box-shadow:0 16px 40px rgba(70,50,120,.16)}
.tile--1{background:radial-gradient(135% 135% at 82% 12%,#9a83cd 0%,#6f5ba0 52%,#5b4a8b 100%)}
.tile--2{background:radial-gradient(135% 135% at 82% 12%,#575074 0%,#332f4d 58%,#2b2743 100%)}
.tile--3{background:radial-gradient(135% 135% at 82% 12%,#514c72 0%,#302c48 58%,#262239 100%)}
.tile__title{font-size:24px;font-weight:600;line-height:1.25;margin-bottom:8px}
.tile__desc{font-size:19px;font-weight:300;line-height:1.32;max-width:255px;margin-bottom:auto}
.tile__link{margin-top:16px;font-size:20px;font-weight:400;color:#dad8ee;align-self:flex-start;
  transition:color .18s,transform .18s}
.tile__link:hover{color:#fff;transform:translateX(3px)}
.tile__ico{position:absolute;right:18px;bottom:16px;width:80px;height:80px;pointer-events:none}

/* ═══ Баннер «НАШИ УСЛУГИ» (слепок: карточка 1160×388, космос-фон) ═══ */
.uslugi{padding:14px 0 44px}
.uslugi__card{position:relative;overflow:hidden;border-radius:30px;min-height:388px;color:#fff;
  background:linear-gradient(100deg,rgba(40,28,66,.34) 0%,rgba(40,28,66,.10) 34%,rgba(40,28,66,0) 55%),
    url('../img/banner-bg.jpg') center/cover no-repeat #4a4a80;
  box-shadow:0 24px 60px rgba(70,50,120,.22)}
.uslugi__content{position:relative;z-index:3;padding:46px 56px;max-width:700px}
.uslugi__plate{display:inline-block;background:#48bcbd;border-radius:12px;padding:5px 22px;margin:0;
  font-size:38px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;
  box-shadow:0 3px 10px 1px rgba(0,0,0,.25)}
.uslugi__sub{font-size:19px;font-weight:400;margin:26px 0 0;min-height:26px}
.uslugi__type{color:#bff0f1}
.uslugi__caret{display:inline-block;width:2px;height:20px;background:#bff0f1;margin-left:2px;vertical-align:-3px;
  animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.uslugi__desc{font-size:21px;font-weight:300;line-height:1.4;margin:18px 0 30px;max-width:640px}
.uslugi__cta{display:inline-flex;align-items:center;justify-content:center;width:200px;height:55px;
  border-radius:16px;color:#fff;font-size:19px;letter-spacing:.3px;
  background:linear-gradient(to right,#3d3d61 0%,#7f6bad 25%,#4fbbc1 50%,#7a6bae 55%,#4e4661 100%);
  background-size:200% 100%;box-shadow:0 0 6px 1px rgba(27,64,115,.4);
  animation:btnshine 4s ease-in-out infinite;transition:transform .2s,box-shadow .2s}
.uslugi__cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px 1px rgba(27,64,115,.55);animation-duration:1.6s}
.uslugi__media{position:absolute;right:34px;bottom:0;width:440px;height:100%;z-index:2;pointer-events:none;overflow:hidden;border-radius:0 30px 30px 0}
.uslugi__ring{position:absolute;right:26px;bottom:8px;width:300px;animation:spin 26s linear infinite}
.uslugi__donut{position:absolute;right:82px;bottom:44px;width:170px;opacity:.92}
.uslugi__doc{position:absolute;right:58px;bottom:0;height:100%;width:auto;filter:drop-shadow(0 14px 26px rgba(30,18,55,.35))}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.uslugi__ring{animation:none}.uslugi__cta{animation:none}.uslugi__caret{animation:none}}

/* ═══ Прайс «Основные услуги» (слепок: шапка #7a64a9, строки бел/#dad8ee) ═══ */
.prices{padding:22px 0}
.price{border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(70,50,120,.12)}
.price__head{background:#7a64a9;color:#fff;font-size:30px;font-weight:600;padding:30px}
.price__table{width:100%;border-collapse:collapse;font-size:20px}
.price__table td{padding:14px 30px;color:#7a64a9;line-height:1.3}
.price__table tr:nth-child(odd){background:#fff}
.price__table tr:nth-child(even){background:#dad8ee}
.price__val{text-align:right;white-space:nowrap;font-weight:500}
.price__tabs{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px;background:#fff;border-bottom:1px solid #e7e3f2}
.price__tab{border:1.5px solid #dad8ee;background:#fff;color:#6a5896;font-family:inherit;font-size:15px;font-weight:600;
  padding:9px 18px;border-radius:11px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.price__tab:hover{border-color:#8b7cb7}
.price__tab.is-active{background:#6a5896;border-color:#6a5896;color:#fff}
@media(max-width:640px){.price__tabs{padding:12px 14px;gap:6px}.price__tab{font-size:13.5px;padding:8px 13px}}

/* ═══ Категории услуг (8 карточек: фото + фиол. тело #7d69ac, радиус 24) ═══ */
.cats{padding:22px 0 40px}
.cats__carousel{position:relative;margin-top:4px}
.cats__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*24px)/4.3);gap:24px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:16px 4px 40px;scrollbar-width:none}
.cats__track::-webkit-scrollbar{display:none}
.cats__track .cat{scroll-snap-align:center}
.cat{position:relative;overflow:hidden;border-radius:20px;background:#7d69ac;color:#fff;
  display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(70,50,120,.16)}
.cat__photo{height:122px;overflow:hidden}
.cat__photo img{width:100%;height:100%;object-fit:cover;display:block}
.cat__body{display:flex;flex-direction:column;flex:1;padding:14px 18px 18px;
  background:linear-gradient(180deg,#7d69ac 0%,#6a5896 100%)}
.cat__title{font-size:20px;font-weight:600;color:#48bcbd;margin-bottom:6px}
.cat__desc{font-size:15px;font-weight:300;line-height:1.3;margin-bottom:auto;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat__link{align-self:flex-start;margin-top:14px;font-size:14px;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:11px;padding:8px 20px;
  transition:background .18s,transform .18s}
.cat__link:hover{background:rgba(255,255,255,.28);transform:translateY(-2px)}

/* ═══ Заголовки секций (тёмный центр) ═══ */
.sec-title{text-align:center;font-size:36px;font-weight:600;color:#2b2740}
.sec-sub{text-align:center;font-size:18px;color:#8a86a0;margin-top:6px}

/* ═══ Акции (2 белые карточки) ═══ */
.akcii{padding:44px 0;background:#f4f3f9}
.akcii__carousel{position:relative;max-width:880px;margin:34px auto 0}
.akcii__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 26px)/2);gap:26px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 8px;scrollbar-width:none}
.akcii__track::-webkit-scrollbar{display:none}
.akcii__track .akcii__card{scroll-snap-align:center}
.akcii__card{position:relative;background:#fff;border-radius:16px;padding:30px 32px;
  box-shadow:0 14px 40px rgba(70,50,120,.10);min-height:210px}
.akcii__title{font-size:22px;font-weight:700;color:#2b2740;margin-bottom:10px}
.akcii__desc{font-size:16px;color:#6f6a84;line-height:1.42;margin-bottom:22px}
.akcii__price{display:flex;align-items:baseline;gap:12px}
.akcii__old{font-size:18px;color:#9a96ad;text-decoration:line-through}
.akcii__new{font-size:26px;font-weight:700;color:#7a64a9}
.akcii__badge{display:inline-block;margin-top:16px;background:#e8f6f6;color:#48bcbd;
  border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500}

/* ═══ Зуботехническая лаборатория ═══ */
.lab{padding:14px 0 46px;background:#f4f3f9}
.lab__card{position:relative;overflow:hidden;border-radius:30px;min-height:250px;
  background:linear-gradient(115deg,#e4f3f2 0%,#eef1f8 46%,#efe9f7 100%);
  display:flex;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 18px 50px rgba(70,50,120,.12)}
.lab__mold{position:absolute;left:-6px;bottom:8px;width:300px;height:auto;z-index:2;
  filter:drop-shadow(0 12px 20px rgba(40,40,60,.22))}
.lab__tech{position:absolute;right:0;top:0;height:100%;width:250px;object-fit:cover;z-index:1}
.lab__content{position:relative;z-index:3;max-width:640px;padding:36px 40px}
.lab__title{font-size:30px;font-weight:600;color:#48bcbd;margin-bottom:14px}
.lab__text{font-size:20px;color:#7a64a9;line-height:1.42;margin-bottom:16px}
.lab__link{font-size:20px;color:#7a64a9;font-weight:500;transition:color .18s,transform .18s;display:inline-block}
.lab__link:hover{color:#48bcbd;transform:translateX(3px)}

/* ═══ НАШИ ВРАЧИ (баннер + карусель) ═══ */
.docs{padding:22px 0 48px;background:#f4f3f9}
.docs__banner{position:relative;overflow:hidden;border-radius:24px;padding:24px 40px;color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;
  background:radial-gradient(120% 120% at 90% 10%,rgba(110,90,165,.5),transparent 55%),linear-gradient(115deg,#403a63 0%,#2f2b4d 60%,#28243f 100%)}
.docs__banner::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(1.6px 1.6px at 30% 30%,rgba(255,255,255,.8),transparent),radial-gradient(1.4px 1.4px at 70% 60%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 85% 25%,rgba(255,255,255,.7),transparent),radial-gradient(1.3px 1.3px at 15% 70%,rgba(255,255,255,.6),transparent)}
.docs__plate{position:relative;z-index:2;display:inline-block;background:#7a64a9;border-radius:12px;padding:8px 30px;margin:0;
  font-size:38px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 10px 1px rgba(0,0,0,.3)}
.docs__intro{position:relative;z-index:2;text-align:center;max-width:620px}
.docs__intro-text{font-size:17px;line-height:1.4;margin:0;color:rgba(255,255,255,.92)}
.docs__badge{display:inline-block;background:#7a64a9;color:#fff;font-size:14px;font-weight:600;letter-spacing:.5px;
  border-radius:12px;padding:12px 22px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.docs__carousel{position:relative;margin-top:30px}
.docs__track{display:grid;grid-auto-flow:column;grid-auto-columns:min(80vw,300px);gap:28px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:16px 2px 20px;
  scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}
.docs__track.is-cards{grid-auto-columns:min(78vw,320px)}
/* Карточки-изображения не тянем вертикальной reveal-анимацией (дёргались при снапе) */
.doc--card.reveal{transform:none;opacity:1}
.docs__track::-webkit-scrollbar{display:none}
.doc{scroll-snap-align:center;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;color:#fff;
  background:linear-gradient(160deg,#8574b8 0%,#6a5896 100%);box-shadow:0 16px 40px rgba(70,50,120,.18)}
/* ─── Фирменные карточки врачей (готовые изображения из PDF клиники) ─── */
.doc--card{scroll-snap-align:center;display:block;background:#fff;border-radius:22px;overflow:hidden;
  border:1px solid #e4def4;
  box-shadow:0 10px 30px rgba(70,50,120,.14),0 2px 8px rgba(70,50,120,.08);
  transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,border-color .3s ease}
.doc--card img{width:100%;height:auto;display:block;aspect-ratio:900/1272}
.doc--card{cursor:zoom-in}
.doc--card:hover{transform:translateY(-6px) scale(1.012);border-color:#b9a6e6;
  box-shadow:0 20px 44px rgba(107,89,147,.30),0 0 0 3px rgba(139,124,183,.22)}
.doc__photo{margin:10px 10px 0;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#efeafb,#dcd6f2);aspect-ratio:264/400}
.doc__photo img,.doc__photo video{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
/* ─── Видео click-to-play (карусель врачей + FAQ) ─── */
.vidwrap{position:relative}
.vidwrap video{width:100%;height:100%;display:block;object-fit:cover}
.vidplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(0,0,0,.55);box-shadow:0 6px 18px rgba(0,0,0,.35);transition:background .2s,transform .2s}
.vidplay::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.vidplay:hover{background:rgba(0,0,0,.74);transform:translate(-50%,-50%) scale(1.08)}
.vidwrap.is-playing .vidplay{opacity:0;pointer-events:none}
.doc__name{text-align:center;color:#8ce6e7;font-size:20px;font-weight:600;margin:14px 16px 12px}
.doc__row{display:flex;align-items:center;gap:9px;margin:0 14px 8px;padding:8px 14px;font-size:14px;
  background:rgba(255,255,255,.12);border-radius:10px}
.doc__row svg{flex-shrink:0;color:#8ce6e7}
.doc__link{text-align:center;padding:14px;font-size:16px;color:#fff;background:rgba(0,0,0,.12);
  margin-top:auto;transition:background .18s}
.doc__link:hover{background:rgba(0,0,0,.22)}

/* ─── Видео-клипы ВК (динамическая карусель, см. api/sync_clips.php) ─── */
.clips{padding:22px 0 40px}
.clips__carousel{position:relative;margin-top:4px}
.clips__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*24px)/4.5);gap:24px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 12px;scrollbar-width:none;min-height:120px}
.clips__track::-webkit-scrollbar{display:none}
.clip{scroll-snap-align:center;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;color:#fff;
  background:linear-gradient(160deg,#7d69ac 0%,#48bcbd 100%);box-shadow:0 14px 34px rgba(70,50,120,.18)}
.clip__media{aspect-ratio:9/16;background:#000}
.clip__media video{width:100%;height:100%;display:block;object-fit:cover}
.clip__text{font-size:13px;line-height:1.35;color:rgba(255,255,255,.92);margin:0;padding:10px 12px 12px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.docs__arrow,.cats__arrow,.akcii__arrow,.clips__arrow,.reviews__arrow,.faq__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;
  border:none;cursor:pointer;background:#7a64a9;color:#fff;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(70,50,120,.35);transition:transform .18s,background .18s}
.docs__arrow:hover,.cats__arrow:hover,.akcii__arrow:hover,.clips__arrow:hover,.reviews__arrow:hover,.faq__arrow:hover{background:#6a5896;transform:translateY(-50%) scale(1.08)}
.docs__arrow--prev,.cats__arrow--prev,.akcii__arrow--prev,.clips__arrow--prev,.reviews__arrow--prev,.faq__arrow--prev{left:-22px}
.docs__arrow--next,.cats__arrow--next,.akcii__arrow--next,.clips__arrow--next,.reviews__arrow--next,.faq__arrow--next{right:-22px}

/* ═══ Записаться на приём (форма) ═══ */
.booking{padding:14px 0 40px;background:#f4f3f9}
.booking__card{position:relative;overflow:hidden;border-radius:30px;min-height:440px;color:#fff;
  background:linear-gradient(100deg,rgba(40,28,66,.30),rgba(40,28,66,0) 55%),url('../img/banner-bg.jpg') center/cover no-repeat #4a4a80;
  box-shadow:0 24px 60px rgba(70,50,120,.22)}
.booking__content{position:relative;z-index:3;padding:44px 52px;max-width:600px}
.booking__plate{display:inline-block;background:#7a64a9;border-radius:12px;padding:6px 24px;margin:0;
  font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 10px 1px rgba(0,0,0,.25)}
.booking__sub{font-size:18px;font-weight:300;line-height:1.45;margin:22px 0 26px;max-width:470px}
.booking__input{display:block;width:100%;max-width:420px;height:56px;border-radius:14px;border:none;
  background:rgba(255,255,255,.92);color:#2b2740;font-size:17px;padding:0 22px;margin-bottom:16px;outline:none;
  box-shadow:0 8px 22px rgba(30,18,55,.18)}
.booking__input::placeholder{color:#9a96ad}
.booking__input:focus{background:#fff;box-shadow:0 8px 26px rgba(30,18,55,.28)}
.booking__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.booking__btn{border:none;cursor:pointer;height:52px;padding:0 28px;border-radius:14px;color:#fff;font-size:17px;font-weight:500;
  background:linear-gradient(to right,#3d3d61 0%,#7f6bad 25%,#4fbbc1 50%,#7a6bae 55%,#4e4661 100%);
  background-size:200% 100%;box-shadow:0 0 6px 1px rgba(27,64,115,.4);animation:btnshine 4s ease-in-out infinite;
  transition:transform .2s,box-shadow .2s}
.booking__btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px 1px rgba(27,64,115,.55);animation-duration:1.6s}
.booking__tooth{width:38px;margin:0 -4px}
.booking__or{font-size:15px;line-height:1.3;font-weight:600}
.booking__or a{color:#fff}
.booking__consent{font-size:12px;color:rgba(255,255,255,.72);margin-top:18px;max-width:440px}
.booking__ok{font-size:16px;font-weight:600;color:#bff0f1;margin-top:14px}
.booking__media{position:absolute;right:0;bottom:0;top:0;width:52%;z-index:2;pointer-events:none;
  display:flex;align-items:flex-end;justify-content:flex-end}
.booking__media img{height:98%;width:auto;max-width:100%;object-fit:contain;object-position:bottom right}

/* ═══ Рассрочка от банка ═══ */
.rass{padding:14px 0 48px;background:#f4f3f9}
.rass__card{position:relative;overflow:hidden;border-radius:30px;min-height:270px;color:#fff;
  background:radial-gradient(120% 120% at 88% 12%,rgba(140,110,190,.45),transparent 55%),linear-gradient(115deg,#8574b8 0%,#6a5896 55%,#5b4a8b 100%);
  display:flex;align-items:center;box-shadow:0 20px 54px rgba(70,50,120,.2)}
.rass__woman{position:absolute;left:20px;bottom:0;width:250px;height:auto;z-index:2}
.rass__content{position:relative;z-index:3;flex:1;text-align:center;padding:36px 20px 36px 300px}
.rass__plate{display:inline-block;background:#7a64a9;border-radius:12px;padding:6px 26px;margin:0 0 16px;
  font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 10px 1px rgba(0,0,0,.25)}
.rass__text{font-size:18px;font-weight:300;line-height:1.45;max-width:480px;margin:0 auto 14px}
.rass__link{font-size:18px;color:#8ce6e7;font-weight:500;transition:transform .18s;display:inline-block}
.rass__link:hover{transform:translateX(3px)}
.rass__list{position:relative;z-index:3;list-style:none;padding:0 44px 0 20px;display:flex;flex-direction:column;gap:20px;flex-shrink:0}
.rass__list li{display:flex;align-items:center;gap:14px;font-size:19px;font-weight:600;white-space:nowrap}
.rass__ico{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#efecf8;color:#7a64a9;
  display:flex;align-items:center;justify-content:center}

/* ═══ Отзывы (виджет Яндекс.Карт) ═══ */
.reviews{position:relative;padding:34px 0 48px;background:#f4f3f9;overflow:hidden}
.reviews__head{position:relative;z-index:3;width:max-content;max-width:100%;margin:0 auto 26px;
  display:flex;align-items:center;gap:14px;padding:14px 46px;border-radius:16px;
  color:#7a64a9;font-size:32px;font-weight:700;letter-spacing:.5px;
  background:linear-gradient(120deg,#e7f6f5,#eef0f8 55%,#efe9f7);box-shadow:0 8px 24px rgba(70,50,120,.12)}
.reviews__head svg{color:#48bcbd}
/* декоративные шевроны по бокам */
.reviews__deco{position:absolute;top:300px;width:260px;height:260px;opacity:.5;z-index:1;
  background:var(--teal);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%)}
.reviews__deco--l{left:-40px}
.reviews__deco--r{right:-40px;transform:scaleX(-1)}
.reviews__stats{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;
  flex-wrap:wrap;margin-bottom:22px}
.reviews__score{font-size:40px;font-weight:800;color:#2b2740;line-height:1}
.reviews__stats-stars{color:#f5b83d;font-size:20px;letter-spacing:3px}
.reviews__stats-count{font-size:15px;color:#6f6a84}
.reviews__carousel{position:relative;z-index:2;margin-top:4px}
.reviews__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*26px)/3);gap:26px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 12px;scrollbar-width:none}
.reviews__track::-webkit-scrollbar{display:none}
.rev{scroll-snap-align:center;background:#fff;border-radius:20px;padding:24px 26px;display:flex;flex-direction:column;
  box-shadow:0 14px 36px rgba(70,50,120,.10);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}
.rev:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(70,50,120,.20)}
.rev__top{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-width:0}
.rev__ava{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:16px;flex-shrink:0}
.rev__who{min-width:0}
.rev__name{display:block;font-size:15px;font-weight:600;color:#2b2740;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rev__date{display:block;font-size:12px;color:#9a96ad}
.rev__stars{color:#f5b83d;font-size:13px;letter-spacing:2px;margin-bottom:10px}
.rev__text{font-size:14.5px;line-height:1.5;color:#57536b;margin:0;
  display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.reviews__more{position:relative;z-index:2;display:block;width:max-content;margin:26px auto 0;text-align:center;
  font-size:14px;font-weight:600;color:#7a64a9;background:#fff;border:1.5px solid var(--line);border-radius:12px;
  padding:11px 24px;transition:border-color .18s,color .18s,transform .18s}
.reviews__more:hover{border-color:#7a64a9;color:#48bcbd;transform:translateY(-2px)}

/* ═══ Вопросы от пациентов (видео + FAQ-аккордеон) ═══ */
.faq{padding:20px 0 50px;background:#f4f3f9}
.faq__banner{position:relative;overflow:hidden;border-radius:26px;min-height:96px;padding:22px 40px;
  display:flex;align-items:center;justify-content:center;gap:16px;color:#fff;
  background:radial-gradient(120% 120% at 90% 10%,rgba(110,90,165,.5),transparent 55%),linear-gradient(115deg,#403a63 0%,#2f2b4d 60%,#28243f 100%)}
.faq__ico{width:56px;height:56px;border-radius:50%;background:#48bcbd;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.faq__title{font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.faq__carousel{position:relative;margin-top:30px}
.faq__videos{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/2.5);gap:28px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 34px;scrollbar-width:none;margin:0}
.faq__videos::-webkit-scrollbar{display:none}
.qa{scroll-snap-align:center;background:linear-gradient(160deg,#5a5280,#332f4d);
  border-radius:22px;padding:18px;color:#fff;display:grid;grid-template-columns:1fr 200px;gap:14px 18px;align-items:center}
.qa__media{grid-row:1/3;grid-column:2;position:relative;border-radius:14px;overflow:hidden;align-self:stretch}
.qa__media img,.qa__media video{width:100%;height:100%;object-fit:cover;display:block}
.qa__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;
  background:rgba(0,0,0,.6)}
.qa__play::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.qa__bubbles{grid-column:1;display:flex;flex-direction:column;gap:12px}
.qa__q{background:#fff;color:#4a4570;border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.35}
.qa__ans{background:#fff;color:#4a4570;border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.35}
.qa__ans b{color:#2b2740}
.qa__spec{grid-column:1/3;background:#fff;color:#7a64a9;border-radius:12px;padding:12px 18px;font-size:16px;text-align:center;font-weight:500}
.faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-top:26px}
.faq__item{background:#e4e0f2;border-radius:14px;overflow:hidden}
.faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 24px;font-size:18px;font-weight:600;color:#4a4570}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#c9c2e6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a64a9' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center;transition:transform .25s}
.faq__item[open] summary::after{transform:rotate(180deg)}
.faq__ans{padding:0 24px 22px;font-size:16px;line-height:1.5;color:#5a5578}

/* ═══ Наши контакты ═══ */
.contacts{padding:20px 0 40px;background:#f4f3f9}
.contacts__card{position:relative;overflow:hidden;border-radius:28px;min-height:300px;color:#fff;
  display:grid;grid-template-columns:1fr 1fr;
  background:radial-gradient(120% 120% at 88% 12%,rgba(110,90,165,.45),transparent 55%),linear-gradient(115deg,#403a63 0%,#2f2b4d 60%,#28243f 100%)}
.contacts__info{position:relative;z-index:2;padding:36px 44px}
.contacts__plate{display:inline-block;background:#7a64a9;border-radius:12px;padding:6px 26px;margin:0 0 22px;
  font-size:32px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 10px 1px rgba(0,0,0,.3)}
.contacts__box{border:2px solid #dad8ee;border-radius:12px;padding:14px 18px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px;width:max-content;max-width:100%}
.contacts__row,.contacts__line{display:flex;align-items:center;gap:12px;color:#fff;font-size:18px}
.contacts__line{margin-bottom:14px}
.contacts__row svg,.contacts__line svg{flex-shrink:0;color:#8ce6e7}
.contacts__row:hover,.contacts__line:hover{color:#bff0f1}
.contacts__photo{position:relative}
.contacts__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contacts__map{margin-top:22px;border-radius:18px;overflow:hidden;box-shadow:0 16px 44px rgba(70,50,120,.14)}
.contacts__map iframe{width:100%;height:440px;border:0;display:block}
.contacts__about{text-align:center;max-width:760px;margin:30px auto 0;font-size:18px;font-weight:600;color:#4a4570;line-height:1.5}

/* ═══ Подвал ═══ */
.foot{background:linear-gradient(160deg,#6a5896 0%,#4a3f72 55%,#241f3a 100%);color:#fff;padding:40px 0 0}
.foot__in{display:grid;grid-template-columns:1.05fr 0.75fr 1.55fr 1.15fr;gap:30px;align-items:start}
.foot__services{column-count:2;column-gap:22px}
.foot__h{font-weight:700;font-size:15px;margin-bottom:13px;color:#fff;column-span:all}
.foot__services a{display:block;color:rgba(255,255,255,.82);font-size:13.5px;margin-bottom:9px;line-height:1.3;break-inside:avoid}
.foot__services a:hover{color:#fff}
.foot__logo{height:58px;width:auto;margin-bottom:16px;display:block}
.foot__row{display:flex;align-items:center;gap:10px;color:#fff;font-size:16px;margin-bottom:10px}
.foot__row svg{color:#8ce6e7;flex-shrink:0}
.foot__cta{display:inline-block;margin-top:8px;background:#fff;color:#7a64a9;font-weight:700;border-radius:14px;padding:11px 34px;
  box-shadow:0 0 8px rgba(0,0,0,.2);transition:transform .18s}
.foot__cta:hover{transform:translateY(-2px)}
.foot__nav{display:flex;flex-direction:column;align-items:center;gap:12px}
.foot__nav a{color:rgba(255,255,255,.92);font-size:16px}
.foot__nav a:hover{color:#fff}
.foot__soc{display:flex;gap:12px;margin-top:8px}
.foot__soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .18s}
.foot__soc a:hover{background:#fff;color:#7a64a9}
.foot__docs{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right}
.foot__docs a{color:rgba(255,255,255,.85);font-size:15px}
.foot__docs a:hover{color:#fff}
.foot__copy{text-align:center;font-size:13px;color:rgba(255,255,255,.6);padding:26px 0;margin-top:30px;
  border-top:1px solid rgba(255,255,255,.12)}

/* ─── Анимация появления (родной fade-in-up) ─── */
.reveal{opacity:0;transform:translateY(30px);will-change:opacity,transform}
.reveal.is-in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
/* строки таблицы цен — не трогаем transform (ломает верстку), только прозрачность */
.price__table tr.reveal{transform:none}
.price__table tr.reveal.is-in{transition:opacity .5s ease}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}

/* ─── Адаптив ─── */
@media(max-width:980px){
  .hdr__nav,.hdr__tel,.hdr__soc{display:none}
  .hdr__call{display:inline-flex}
  .hdr__burger{display:flex}
  /* Лого не сжимать и не терять пропорции (глобальный img{max-width:100%} ломал высоту) */
  .hdr__logo{flex-shrink:0}
  .hdr__logo img{max-width:none}
  /* На узких экранах — из абсолютной раскладки в поток */
  .hero__card{min-height:0;padding:34px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
  .hero__plate,.hero__offer,.hero__addr,.hero__cta-row,.hero__online,.hero__media{position:static;left:auto;top:auto;right:auto;bottom:auto}
  .hero__offer{width:auto;max-width:420px;font-size:16px}
  .hero__plate{white-space:normal;font-size:32px}
  .hero__addr{width:auto;max-width:340px}
  .hero__online{order:6}
  .hero__media{order:5;width:100%;align-items:flex-end;justify-content:center}
  .hero__media img{height:auto;max-height:400px}
  .deco--heart-2,.deco--heart-3,.cross--bl{display:none}
  .tiles__grid{grid-template-columns:1fr;gap:20px}
  .tiles{padding:20px 0 48px}
  /* Баннер: врач вниз, контент в поток */
  .uslugi__card{min-height:0;padding-bottom:300px}
  .uslugi__content{padding:34px 26px;max-width:none}
  .uslugi__media{right:0;left:0;width:100%;height:300px;top:auto;bottom:0}
  .uslugi__doc{right:50%;transform:translateX(50%);height:300px}
  .uslugi__ring{right:50%;transform:translateX(46%);width:240px;bottom:0}
  .uslugi__donut{right:50%;transform:translateX(52%);width:130px;bottom:40px}
  .uslugi__plate{font-size:30px}
  .price__head{font-size:24px;padding:22px}
  .price__table{font-size:16px}
  .price__table td{padding:12px 18px}
  .cats__track{grid-auto-columns:82%}
  .cats__arrow{display:none}
  .cat__title{font-size:23px}
  .cat__desc{font-size:18px}
  .sec-title{font-size:28px}
  .akcii__track{grid-auto-columns:88%}
  .akcii__arrow{display:none}
  .lab__card{flex-direction:column;text-align:center}
  .lab__mold{position:static;width:200px;margin:18px auto 0;order:3}
  .lab__tech{display:none}
  .lab__content{padding:26px 22px 6px}
  .lab__title{font-size:24px}
  .docs__banner{flex-direction:column;text-align:center;gap:16px;padding:26px 22px}
  .docs__intro{text-align:center}
  .docs__plate{font-size:28px}
  .docs__track{grid-auto-columns:78%}
  .docs__arrow{display:none}
  .clips__track{grid-auto-columns:52%}
  .clips__arrow{display:none}
  .reviews__track{grid-auto-columns:84%}
  .reviews__arrow{display:none}
  .reviews__score{font-size:32px}
  .booking__card{min-height:0;padding-bottom:0}
  .booking__content{max-width:none;padding:32px 24px}
  .booking__media{position:static;width:100%;justify-content:center;margin-top:10px}
  .booking__media img{height:auto;max-height:320px}
  .booking__plate{font-size:26px}
  .rass__card{flex-direction:column;text-align:center}
  .rass__woman{position:static;width:180px;margin:14px auto 0;order:3}
  .rass__content{padding:28px 22px 8px}
  .rass__plate{font-size:26px}
  .rass__list{padding:8px 22px 24px;align-items:flex-start}
  .rass__list li{font-size:16px;white-space:normal}
  .faq__title{font-size:22px}
  .faq__videos{grid-auto-columns:85%;gap:18px}
  .faq__arrow{display:none}
  .qa{grid-template-columns:1fr}
  .qa__media{grid-row:auto;grid-column:1;height:220px}
  .qa__bubbles{grid-column:1}
  .qa__spec{grid-column:1}
  .faq__grid{grid-template-columns:1fr;gap:14px}
  .reviews__deco{display:none}
  .contacts__card{grid-template-columns:1fr}
  .contacts__photo{height:240px}
  .contacts__photo img{position:static}
  .contacts__plate{font-size:26px}
  .contacts__map iframe{height:320px}
  .foot__in{grid-template-columns:1fr;gap:26px;text-align:center;justify-items:center}
  .foot__docs{align-items:center;text-align:center}
  .foot__row{justify-content:center}
  .foot__services{column-count:2;text-align:left;max-width:360px}
  .foot__h{text-align:center}
}
@media(max-width:760px) and (min-width:561px){
  .cats__track{grid-auto-columns:calc((100% - 28px)/2)}
  .reviews__track{grid-auto-columns:calc((100% - 26px)/2)}
}
@media(max-width:560px){
  .wrap{padding:0 16px}
  /* Компактная шапка: лого меньше, паддинги уже — чтобы лого+кнопка+бургер помещались */
  .hdr__in{padding:0 14px;gap:12px;height:64px}
  .hdr__logo img{height:46px}
  .hdr__cta{padding:9px 16px;font-size:13px}
  .hero{padding:16px 0 24px}
  .hero__card{border-radius:22px;padding:26px 20px;gap:16px}
  .hero__plate{font-size:26px;padding:8px 16px}
  .hero__cta-row{gap:10px}
  .hero__media img{max-height:340px}
  .top-heart,.deco--heart-5{display:none}
  .tile__title{font-size:22px}
  .tile__desc{font-size:18px}
}

/* ═══════════ Анимация карточек: появление на скролле + ховер ═══════════ */
/* Появление: выезд снизу + лёгкий зум; стаггер по соседям — из main.js. */
.tile.reveal,.cat.reveal,.doc.reveal,.akcii__card.reveal{transform:translateY(44px) scale(.94)}
.tile.reveal.is-in,.cat.reveal.is-in,.doc.reveal.is-in,.akcii__card.reveal.is-in{transform:none}
/* Единый транзишн (перебивает .reveal.is-in по порядку): opacity+transform для появления, box-shadow для ховера */
.cat.reveal,.tile.reveal,.akcii__card.reveal,.doc.reveal{
  transition:opacity .6s ease,transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}
/* Ховер: карточка приподнимается (перебивает is-in→none), тень растёт, фото мягко зумится */
.cat.reveal.is-in:hover,.tile.reveal.is-in:hover,.akcii__card.reveal.is-in:hover{transform:translateY(-8px)}
.cat:hover,.tile:hover,.akcii__card:hover{box-shadow:0 26px 56px rgba(70,50,120,.28)}
.cat__photo img{transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.cat:hover .cat__photo img{transform:scale(1.07)}
@media(prefers-reduced-motion:reduce){
  .tile.reveal,.cat.reveal,.doc.reveal,.akcii__card.reveal,
  .cat.reveal.is-in:hover,.tile.reveal.is-in:hover,.akcii__card.reveal.is-in:hover{transform:none}
  .cat:hover .cat__photo img{transform:none}
}

/* ─── Поп-ап «Обратный звонок» (модалка по центру) ─── */
.cbpop{position:fixed;inset:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(30,20,55,0);opacity:0;pointer-events:none;
  transition:opacity .32s ease,background .32s ease}
.cbpop.is-in{opacity:1;background:rgba(30,20,55,.58);pointer-events:auto}
.cbpop__box{position:relative;width:460px;max-width:100%;background:#fff;border-radius:24px;
  padding:38px 34px 30px;text-align:center;box-shadow:0 40px 100px rgba(20,12,45,.5);
  transform:translateY(34px) scale(.92);transition:transform .42s cubic-bezier(.22,.61,.36,1)}
.cbpop.is-in .cbpop__box{transform:none}
.cbpop__x{position:absolute;top:12px;right:16px;border:none;background:none;font-size:32px;line-height:1;
  color:#a49dbf;cursor:pointer;padding:2px 8px}
.cbpop__x:hover{color:#6a5896}
.cbpop__ic{font-size:48px;line-height:1;display:block;margin-bottom:10px}
.cbpop__title{margin:0;font-size:25px;font-weight:800;color:#2e2650;line-height:1.15}
.cbpop__sub{margin:11px 0 22px;font-size:15px;line-height:1.5;color:#6f6a84}
.cbpop__form{display:flex;flex-direction:column;gap:11px;text-align:left}
.cbpop__inp{border:1.5px solid #e0dbf0;border-radius:13px;padding:14px 16px;font-size:16px;font-family:inherit;
  color:#2e2650;outline:none;transition:border-color .2s}
.cbpop__inp:focus{border-color:#8b7cb7}
.cbpop__consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:#6f6a84;cursor:pointer;margin-top:3px}
.cbpop__consent input{margin-top:1px;width:18px;height:18px;flex:0 0 auto;accent-color:#6a5896;cursor:pointer}
.cbpop__consent a{color:#6a5896;text-decoration:underline}
.cbpop__consent.is-req{color:#e04b5a}
.cbpop__consent.is-req input{outline:2px solid #e04b5a;outline-offset:2px;border-radius:3px}
.cbpop__btn{margin-top:8px;border:none;border-radius:13px;padding:15px;font-size:16px;font-weight:700;color:#fff;
  cursor:pointer;background:linear-gradient(135deg,#8574b8,#6a5896);box-shadow:0 10px 24px rgba(106,88,150,.4);
  transition:transform .15s ease,box-shadow .2s ease}
.cbpop__btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(106,88,150,.5)}
.cbpop__btn:disabled{opacity:.7;cursor:default;transform:none}
.cbpop__ok{margin:10px 0;font-size:17px;font-weight:700;color:#2e8a5a;line-height:1.4}
@media(max-width:520px){.cbpop__box{padding:30px 22px 24px;border-radius:20px}.cbpop__title{font-size:22px}.cbpop__ic{font-size:42px}}

/* ─── Плавающая кнопка связи (звонок / MAX / Telegram) ─── */
.fab{position:fixed;right:18px;bottom:18px;z-index:1150;display:flex;flex-direction:column;align-items:center;gap:12px;transition:bottom .25s ease}
body.cookie-open .fab{bottom:calc(var(--cookie-h,80px) + 30px)}
.fab__toggle{width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;color:#fff;order:4;
  background:linear-gradient(135deg,#8574b8,#6a5896);box-shadow:0 10px 26px rgba(70,50,120,.42);
  display:flex;align-items:center;justify-content:center;position:relative;transition:transform .2s ease}
.fab__toggle::before{content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(133,116,184,.55);animation:fabpulse 2.4s ease-out infinite}
@keyframes fabpulse{0%{box-shadow:0 0 0 0 rgba(133,116,184,.5)}70%{box-shadow:0 0 0 16px rgba(133,116,184,0)}100%{box-shadow:0 0 0 0 rgba(133,116,184,0)}}
.fab__toggle:hover{transform:scale(1.06)}
.fab.is-open .fab__toggle{transform:rotate(90deg)}
.fab.is-open .fab__toggle::before{animation:none}
.fab__i-close{display:none}
.fab.is-open .fab__i-open{display:none}
.fab.is-open .fab__i-close{display:block}
.fab__opt{width:50px;height:50px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(30,20,60,.32);opacity:0;transform:translateY(14px) scale(.6);pointer-events:none;
  transition:opacity .25s ease,transform .25s cubic-bezier(.22,1.2,.5,1)}
.fab.is-open .fab__opt{opacity:1;transform:none;pointer-events:auto}
.fab.is-open .fab__opt--tel{transition-delay:.02s}
.fab.is-open .fab__opt--max{transition-delay:.07s}
.fab.is-open .fab__opt--tg{transition-delay:.12s}
.fab__opt--tel{background:#2ea6a7}
.fab__opt--max{background:#1c7fff}
.fab__opt--tg{background:#2aabee}
.fab__opt:hover{filter:brightness(1.08);transform:scale(1.08)}
@media(max-width:560px){.fab{right:14px;bottom:14px}.fab__toggle{width:56px;height:56px}}

/* ─── Лайтбокс карточки врача (крупно по клику) ─── */
.dlb{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:24px 16px;
  background:rgba(18,10,36,0);opacity:0;pointer-events:none;transition:opacity .3s ease,background .3s ease}
.dlb.is-in{opacity:1;background:rgba(18,10,36,.82);pointer-events:auto}
.dlb__box{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;max-height:100%;
  transform:scale(.93);transition:transform .34s cubic-bezier(.22,.61,.36,1)}
.dlb.is-in .dlb__box{transform:none}
.dlb__img{max-height:80vh;max-width:100%;width:auto;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.55);background:#fff}
.dlb__cta{background:linear-gradient(135deg,#8574b8,#6a5896);color:#fff;font-weight:700;font-size:16px;
  padding:13px 30px;border-radius:13px;box-shadow:0 10px 26px rgba(106,88,150,.45);transition:transform .15s ease}
.dlb__cta:hover{transform:translateY(-2px)}
.dlb__x{position:fixed;top:14px;right:16px;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.16);color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .18s ease}
.dlb__x:hover{background:rgba(255,255,255,.3)}
@media(max-width:560px){.dlb__img{max-height:74vh}.dlb__cta{width:100%;text-align:center}}

