/* ============================================================
   Центр протезирования зубов — статическая вёрстка по макету Figma
   Дизайн-токены + все стили + адаптив
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@500;700;900&display=swap');

:root {
  --brand: #016078;
  --brand-d: #014253;
  --brand-dd: #004859;
  --ink: #161616;
  --text: #3f3f3f;
  --text-2: #5a6b78;
  --muted: #8a98a5;
  --muted-2: #7a8794;

  --yellow: #ffb800;
  --yellow-soft: #ffee98;
  --green: #22a05b;
  --green-2: #2e9e5b;

  --surface: #f5f7fa;
  --surface-2: #e6f0f3;
  --border: #e8edf2;
  --border-2: #eef3f6;

  --on-teal: #dee5ff;
  --on-teal-2: #8fb3bf;
  --on-teal-3: #a8c6d2;

  --container: 1200px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 12px;
  --radius-pill: 100px;
  --header-h: 92px;

  --font-head: "Zen Maru Gothic", "Segoe UI", system-ui, sans-serif;
  --font-body: "Montserrat", "Segoe UI", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 12px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-body); color: var(--text-2); background: #fff; line-height: 1.5; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: var(--font-head); color: var(--ink); font-weight: 700; margin: 0; line-height: 1.2; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }
ul { margin: 0; padding: 0; list-style: none; }

.container { max-width: var(--container); margin: 0 auto; padding-inline: 40px; }
.section { padding-block: 84px; }
.section--surface { background: var(--surface); }
.section__title { font-size: clamp(28px, 3.6vw, 42px); text-align: center; }
.section__subtitle { max-width: 760px; margin: 16px auto 0; text-align: center; font-size: 17px; line-height: 1.55; color: var(--text-2); }
.section__head { margin-bottom: 44px; }

/* Кнопки */
.btn { --btn-bg: var(--brand); --btn-fg: #fff; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: none; border-radius: var(--radius-sm); background: var(--btn-bg); color: var(--btn-fg); font-weight: 600; font-size: 16px; padding: 16px 28px; overflow: hidden; transition: transform .15s ease, box-shadow .2s ease; white-space: nowrap; }
.btn::before { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-18deg); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(1,96,120,.28); }
.btn:hover::before { animation: shine .9s ease; }
.btn:active { transform: translateY(0) scale(.98); }
.btn:disabled { background: #c4ccd4; color: #fff; cursor: not-allowed; transform: none; box-shadow: none; }
.btn:disabled::before { display: none; }
@keyframes shine { to { left: 130%; } }
.btn--yellow { --btn-bg: var(--yellow-soft); --btn-fg: var(--brand-d); }
.btn--yellow:hover { box-shadow: 0 12px 26px rgba(0,0,0,.22); }
.btn--lg { font-size: 17px; padding: 20px 36px; }
.btn--block { width: 100%; color: white !important; }
.btn--ghost { background: #eef3f6; color: var(--brand-d); }

/* 01 Header */
.topbar { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); }
.topbar .container { justify-content: space-between; }
.header { display: flex; align-items: center; gap: 28px; height: var(--header-h); }
.logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.logo__mark { width: 38px; height: 38px; object-fit: contain; flex-shrink: 0; }
.logo__text { font-family: var(--font-head); font-weight: 700; color: var(--brand); font-size: 18px; line-height: 1.05; letter-spacing: -.2px; }
.nav { display: none; gap: 26px; margin-inline: auto; }
.nav a { font-size: 15px; font-weight: 500; color: var(--text-2); transition: color .15s ease; }
.nav a:hover { color: var(--brand); }
.header__right { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.header__info { text-align: right; line-height: 1.3; }
.header__status { font-size: 12px; color: var(--green-2); font-weight: 500; display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.header__status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-2); }
.header__note { font-size: 12px; color: var(--muted-2); }
.header__phone { font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--ink); white-space: nowrap; }
.header__call { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 12px; background: var(--brand); color: #fff; flex-shrink: 0; }
.header__cta { display: inline-flex; }
.burger { display: none; width: 46px; height: 46px; border-radius: 12px; background: var(--brand); color: #fff; border: none; align-items: center; justify-content: center; }

.mobile-menu { position: fixed; inset: 0; z-index: 60; background: rgba(10,30,40,.5); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
.mobile-menu.is-open { opacity: 1; pointer-events: auto; }
.mobile-menu__panel { position: absolute; top: 0; right: 0; width: min(84vw, 340px); height: 100%; background: #fff; padding: 22px; display: flex; flex-direction: column; gap: 8px; transform: translateX(100%); transition: transform .25s ease; }
.mobile-menu.is-open .mobile-menu__panel { transform: none; }
.mobile-menu__close { align-self: flex-end; background: none; border: none; color: var(--ink); padding: 6px; }
.mobile-menu a { padding: 12px 6px; font-size: 17px; font-weight: 500; color: var(--ink); border-bottom: 1px solid var(--border); }
.mobile-menu .btn { margin-top: 14px; }

/* 02 Hero */
.hero { background: var(--brand); color: #fff; overflow: hidden; }
.hero__grid { display: grid; grid-template-columns: minmax(0,1fr) 500px; gap: 56px; align-items: center; padding-block: 64px; }
.hero__badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.14); border-radius: var(--radius-pill); padding: 8px 16px 8px 14px; font-size: 13px; font-weight: 500; }
.hero__badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green-2); }
.hero__title { color: #fff; font-size: clamp(30px, 3.4vw, 44px); margin-top: 24px; }
.hero__subtitle { color: var(--on-teal); font-size: 17px; line-height: 1.55; margin-top: 20px; max-width: 640px; }
.hero__benefits { display: flex; flex-direction: column; gap: 14px; margin-top: 26px; }
.hero__benefit { display: flex; align-items: center; gap: 12px; font-weight: 500; font-size: 16px; }
.hero__check { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.hero__cta { display: flex; align-items: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; }
.hero__note { font-size: 13px; color: var(--on-teal-3); line-height: 1.5; }
.hero__card { background: #fff; border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 16px 44px rgba(0,31,46,.28); width: 100%; }
.hero__photo { aspect-ratio: 520/560; background: var(--surface-2) center/cover no-repeat; background-position: top; }
.doc-info { padding: 22px 28px 24px; }
.doc-info__name { font-family: var(--font-head); font-weight: 700; font-size: 22px; color: var(--ink); line-height: 1.2; }
.doc-info__role { font-size: 14.5px; color: var(--text); margin-top: 7px; }
.pill-exp { display: inline-block; margin-top: 12px; background: var(--surface-2); color: var(--brand); font-weight: 600; font-size: 13.5px; padding: 7px 14px; border-radius: var(--radius-pill); }

/* 03 Quiz */
.quiz__grid { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 32px; align-items: stretch; }
.quiz__intro h2 { font-size: clamp(26px, 2.6vw, 38px); }
.quiz__intro p { margin-top: 18px; font-size: 17px; line-height: 1.5; color: var(--text-2); }
.quiz__bonus { margin-top: 26px; background: var(--brand); color: #fff; border-radius: var(--radius-lg); padding: 26px; }
.quiz__bonus h3 { color: #fff; font-size: 22px; }
.quiz__bonus-list { display: flex; flex-direction: column; gap: 16px; margin-top: 18px; }
.quiz__bonus-item { display: flex; gap: 12px; }
.quiz__bonus-item .ico { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.14); display: flex; align-items: center; justify-content: center; color: #fff; }
.quiz__bonus-item b { display: block; font-family: var(--font-body); font-weight: 600; font-size: 14px; color: #fff; }
.quiz__bonus-item span { font-size: 12.5px; color: var(--on-teal-3); line-height: 1.4; }
.quiz__card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 34px; box-shadow: 0 18px 50px rgba(0,31,46,.06); display: flex; flex-direction: column; min-height: 420px; }
.quiz__meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.quiz__step { color: var(--brand); font-weight: 600; font-size: 14px; }
.quiz__time { color: var(--muted); font-size: 13px; }
.quiz__progress { height: 6px; border-radius: 6px; background: var(--border); overflow: hidden; margin-bottom: 26px; }
.quiz__progress i { display: block; height: 100%; background: var(--brand); border-radius: 6px; transition: width .3s ease; }
.quiz__q { font-family: var(--font-head); font-weight: 700; color: var(--ink); font-size: 26px; line-height: 1.3; margin-bottom: 22px; }
.quiz__options { display: grid; gap: 12px; }
.quiz__opt { display: flex; align-items: center; gap: 12px; text-align: left; width: 100%; background: var(--surface); border: 2px solid transparent; border-radius: var(--radius-md); padding: 16px 18px; font-size: 16px; font-weight: 500; color: var(--brand-d); transition: border-color .15s ease, background .15s ease; }
.quiz__opt:hover { border-color: #cfe0e6; }
.quiz__opt.is-active { border-color: var(--brand); background: #fff; }
.quiz__opt .box { width: 22px; height: 22px; border-radius: 6px; border: 2px solid #cfd8de; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; }
.quiz__opt.is-active .box { background: var(--brand); border-color: var(--brand); }
.quiz__foot { margin-top: auto; padding-top: 26px; }
.quiz__row { display: flex; gap: 12px; align-items: stretch; }
.quiz__row .btn { flex: 1 1 auto; min-width: 0; }
.quiz__row .btn--ghost { flex: 0 0 auto; }
.field { display: block; width: 100%; box-sizing: border-box; border: 2px solid var(--border); border-radius: var(--radius-md); padding: 15px 16px; font-size: 16px; font-family: inherit; color: var(--ink); transition: border-color .15s ease; }
.field:focus { outline: none; border-color: var(--brand); }
.field.is-error { border-color: #e23b3b; }
.quiz__hint { margin-top: 10px; font-size: 12.5px; color: var(--muted); }
.quiz__hint.is-error { color: #e23b3b; }
.quiz__done { text-align: center; padding: 30px 10px; margin: auto 0; }
.quiz__done .ok { width: 64px; height: 64px; border-radius: 50%; background: #e8f6ee; color: var(--green); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.quiz__done h3 { font-size: 24px; color: var(--ink); }
.quiz__done p { margin-top: 10px; color: var(--text-2); }

/* 04 Results */
.results__viewport { overflow-x: auto; scroll-snap-type: x mandatory; -ms-overflow-style: none; scrollbar-width: none; }
.results__viewport::-webkit-scrollbar { display: none; }
.results__track { display: flex; gap: 24px; }
.case { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.case__media { position: relative; aspect-ratio: 412/440; background: var(--surface-2) center/cover no-repeat; }
.case__badge { position: absolute; top: 14px; left: 14px; background: rgba(1,66,83,.9); color: #fff; font-size: 12.5px; font-weight: 600; padding: 6px 12px; border-radius: var(--radius-pill); letter-spacing: .3px; }
.case__body { padding: 18px 20px 22px; }
.case__caption { font-family: var(--font-head); font-weight: 700; color: var(--ink); font-size: 18px; line-height: 1.32; }
.case__patient { margin-top: 8px; color: var(--muted-2); font-size: 15px; }
.carousel-ctrl { display: flex; gap: 12px; justify-content: center; margin-top: 30px; }
.carousel-ctrl button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--border); background: #fff; color: var(--brand); display: inline-flex; align-items: center; justify-content: center; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.carousel-ctrl button:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
.center-cta { text-align: center; margin-top: 40px; }

/* 05 Advantages */
.adv__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.adv__card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px 24px; }
.adv__ico { width: 52px; height: 52px; border-radius: 14px; background: var(--surface-2); color: var(--brand); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.adv__card h3 { font-family: var(--font-body); font-weight: 600; font-size: 18px; color: var(--ink); line-height: 1.35; min-height: 49px; }
.adv__card p { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.adv__promo { margin-top: 24px; display: flex; align-items: center; gap: 28px; background: linear-gradient(90deg, #fff3c4, #ffe98a); border-radius: var(--radius-lg); padding: 28px 36px; }
.adv__promo .pct { font-family: var(--font-head); font-weight: 900; font-size: clamp(48px, 6vw, 76px); color: var(--brand); line-height: 1; }
.adv__promo h3 { font-family: var(--font-head); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); color: var(--brand-d); }
.adv__promo p { margin-top: 6px; color: #3d4a2f; font-size: 16px; }
.adv__promo .btn { margin-left: auto; flex-shrink: 0; width: 100%; max-width: 320px; }

/* 06 Doctors */
.doctors__row { display: grid; grid-template-columns: repeat(5,1fr); gap: 20px; }
.doctor { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.doctor__photo { aspect-ratio: 325/380; background: var(--surface-2) center/cover no-repeat; background-position: top; }
.doctor__photo-1 { background-position: 0 -50px; }
.doctor__body {
  padding: 18px 18px 22px;
  height: 205px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.doctor__name { font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--ink); line-height: 1.25; }
.doctor__role { margin-top: 8px; font-size: 13.5px; color: var(--text-2); line-height: 1.4; }
.doctor__exp { max-width: max-content; display: inline-block; margin-top: 12px; background: var(--surface-2); color: var(--brand); font-weight: 600; font-size: 12.5px; padding: 6px 12px; border-radius: var(--radius-pill); }

/* 07 Services */
.services__row { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.service { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.service__media { position: relative; aspect-ratio: 412/202; background: var(--surface-2) center/cover no-repeat; }
.service__tag { position: absolute; top: 14px; left: 14px; font-size: 10.5px; font-weight: 600; letter-spacing: .6px; padding: 5px 10px; border-radius: var(--radius-pill); color: #fff; }
.service__tag--blue { background: #2f3fb7; }
.service__tag--teal { background: var(--brand); }
.service__tag--gold { background: #ffe08a; color: var(--brand-d); }
.service__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.service__body h3 { font-family: var(--font-body); font-weight: 600; font-size: 16px; color: var(--ink); line-height: 1.35; min-height: 44px; margin-bottom: 10px; }
.service__body p { margin-top: auto; font-size: 14px; color: var(--text-2); line-height: 1.5; }
.services__note { margin-top: 28px; font-size: 15px; color: #3f5560; text-align: center; max-width: 720px; margin-inline: auto; }
.brands { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.brands__label { font-weight: 500; font-size: 15.5px; color: var(--text-2); }
.brand-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 9px 14px; }
.brand-chip b { font-weight: 600; font-size: 15px; color: var(--brand); }
.brands__more { color: var(--muted); font-size: 15px; }
.flag { display: inline-flex; line-height: 0; border-radius: 3px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.05); }
.installment { margin-top: 26px; display: flex; align-items: center; gap: 12px; justify-content: center; background: #fff6d8; border: 1px solid #f2e2a2; border-radius: var(--radius-md); padding: 16px 22px; color: #7a5b00; font-weight: 600; font-size: 16px; text-align: center; }

/* 08 Reviews */
.reviews__rating { display: inline-flex; align-items: center; gap: 16px; background: var(--surface); border-radius: var(--radius-lg); padding: 18px 26px; margin: 22px auto 0; }
.reviews__score { font-family: var(--font-head); font-weight: 900; font-size: 28px; color: var(--ink); }
.reviews__stars { display: flex; gap: 3px; color: var(--yellow); }
.reviews__rating-note { font-size: 14.5px; color: var(--text-2); }
.reviews__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 40px; }
.review { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 26px; display: flex; flex-direction: column; }
.review__head { display: flex; align-items: center; gap: 12px; }
.review__avatar { width: 46px; height: 46px; border-radius: 50%; background: #cbd8e0; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1; }
.review__name { font-weight: 600; font-size: 14px; color: var(--ink); }
.review__date { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.review__stars { display: flex; gap: 2px; color: var(--yellow); margin: 14px 0; }
.review__text { font-size: 14px; line-height: 1.6; color: #4a5764; }
.review__verified { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--green); font-size: 13px; font-weight: 500; }
.sources { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 22px; }
.source { display: flex; align-items: center; justify-content: space-between; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 18px 22px; }
.source__left .count { font-size: 14px; color: var(--muted); }
.source__logo { font-family: "Segoe UI", system-ui, sans-serif; font-weight: 700; margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; font-size: 19px; }
.source__logo .dot2gis { width: 16px; height: 16px; border-radius: 50%; background: conic-gradient(#39b54a 0 75%, #e8e8e8 0); display: inline-block; }
.g-2gis { color: #1a1a1a; } .g-ya { color: var(--yellow); } .g-ya-rest { color: #1a1a1a; } .g-pro { color: #e23b3b; } .g-doc { color: #2d9cdb; }
.source__right { text-align: right; }
.source__label { font-size: 12px; color: var(--muted); }
.source__score { font-family: var(--font-head); font-weight: 900; font-size: 22px; margin-top: 4px; }
.source__score--2gis { color: #22a05b; } .source__score--yandex { color: #f8604a; } .source__score--prodoctorov { color: #2d8fd6; }
.src-logo { display: inline-flex; align-items: center; margin-top: 9px; font-family: "Segoe UI", system-ui, sans-serif; font-weight: 700; font-size: 18px; line-height: 1; color: #1a1a1a; }
.src-logo .c-green { color: #1ba345; }
.src-logo .c-red { color: #e23b3b; }
.src-logo .c-blue { color: #2d9cdb; }
.src-logo-2gis {
  display: flex;
  align-items: center;
  gap: 6px;
}
.src-logo-2gis img {
  width: 25px;
}
.ya-tile { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin-right: 3px; color: white; border-radius: 5px; font-weight: 800; }
.ya-tile img { width: 25px; }

/* 09 FAQ */
.faq { max-width: 900px; margin-inline: auto; }
.faq__item { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); margin-bottom: 14px; overflow: hidden; }
.faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left; background: none; border: none; padding: 22px 26px; font-family: var(--font-head); font-weight: 700; color: var(--ink); font-size: 19px; line-height: 1.4; }
.faq__q .chev { flex-shrink: 0; color: var(--brand); transition: transform .25s ease; }
.faq__item.is-open .faq__q .chev { transform: rotate(180deg); }
.faq__a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq__a-inner { padding: 0 26px 24px; font-size: 15.5px; line-height: 1.65; color: var(--text-2); }

/* 10 Footer */
.footer { background: var(--brand-dd); color: #fff; padding-block: 56px 28px; }
.footer__top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 32px; }
.footer__brand-row { display: flex; align-items: center; gap: 10px; }
.footer__mark { width: 38px; height: 38px; background: #fff; border-radius: 9px; padding: 4px; object-fit: contain; flex-shrink: 0; }
.footer__brand-text { font-family: var(--font-head); font-weight: 700; font-size: 20px; }
.footer__about { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--on-teal-2); max-width: 320px; }
.footer__phone { font-family: var(--font-head); font-weight: 700; font-size: 22px; margin-top: 4px; display: inline-block; }
.footer h4 { font-family: var(--font-body); font-weight: 600; color: #fff; font-size: 15px; margin-bottom: 16px; }
.footer__col a, .footer__col li { display: block; color: var(--on-teal-2); font-size: 14px; line-height: 2; }
.footer__col a:hover { color: #fff; }
.footer__contacts .schedule { color: var(--on-teal-2); font-size: 14px; margin-top: 4px; }
.footer__contacts .btn { margin-top: 16px; }
.footer__addr { color: #b9d2db; font-size: 12.5px; line-height: 1.5; margin-top: 14px; }
.footer__legal { margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 12.5px; color: #7fa5b3; }
.footer__legal a { color: #b9d2db; text-decoration: underline; }
.footer__disclaimer { margin-top: 16px; font-size: 11.5px; line-height: 1.6; color: #5e8a99; }
.footer__copy { font-size: 13px; color: var(--on-teal-2); }
.footer__pol {
  color: #7fa5b3;
  margin-top: 10px;
  display: block;
  font-size: 14px;
  text-decoration: revert;
}
.city-switch { position: fixed; right: 16px; bottom: 16px; z-index: 40; display: flex; gap: 6px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 6px; box-shadow: 0 8px 24px rgba(0,31,46,.14); }
.city-switch a { font-size: 13px; font-weight: 600; color: var(--text-2); padding: 8px 14px; border-radius: var(--radius-pill); }
.city-switch a.is-active { background: var(--brand); color: #fff; }

/* Адаптив */
@media (min-width: 1700px) {
  .nav {
    display: flex;
  }

  .topbar .container {
    max-width: max-content;
  }
}

@media (max-width: 1200px) {
  .adv__grid { grid-template-columns: repeat(2,1fr); }
  .doctors__row { grid-template-columns: repeat(3,1fr); }
  .services__row { grid-template-columns: repeat(2,1fr); }
  .case { flex-basis: calc((100% - 48px) / 3); }
}
@media (max-width: 1080px) {
  .nav, .header__info, .header__cta { display: none; }
  .burger { display: inline-flex; }
  .hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .hero__card { max-width: 460px; }
  .quiz__grid { grid-template-columns: 1fr; }
  .reviews__grid { grid-template-columns: repeat(2,1fr); }
  .sources { grid-template-columns: 1fr; }
  .footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .section { padding-block: 60px; }
  .case { flex-basis: calc((100% - 24px) / 2); }
  .doctors__row { grid-template-columns: repeat(2,1fr); }
  .adv__promo { flex-direction: column; align-items: flex-start; gap: 16px; text-align: left; }
  .adv__promo .btn { margin-left: 0; }
}
@media (max-width: 640px) {
  .container { padding-inline: 18px; }
  :root { --header-h: 66px; }
  .header { gap: 12px; }
  .logo__text { font-size: 15px; }
  .header__phone { display: none; }
  .adv__grid, .services__row { grid-template-columns: 1fr; }
  .doctors__row { grid-template-columns: 1fr 1fr; }
  .reviews__grid { grid-template-columns: 1fr; }
  .case { flex-basis: 100%; }
  .hero__cta { flex-direction: column; align-items: stretch; }
  .hero__cta .btn, .center-cta .btn { width: 100%; }
  .hero__note { text-align: center; }
  .quiz__card { padding: 22px; }
  .quiz__q { font-size: 22px; }
  .quiz__row { flex-direction: column; }
  .quiz__row .btn { width: 100%; }
  .footer__top { grid-template-columns: 1fr; }
}

@media (min-width: 576px) {
  .success-form__ul {
    flex-direction: row !important;
  }

  .success-form {
    margin-top: 20px !important;
  }
}

.success-form {
  padding: 25px 30px 30px 30px;
  border-radius: 25px;
  background-color: white;
  max-width: 600px;
  margin: 0 auto;
}

.success-form__title {
  text-align: center;
}

.success-form__svg {
    margin: 0 auto;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.success-form__desc {
  margin-top: 15px;
  text-align: center;
  margin-bottom: 15px;
}

.success-form__ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.success-form__ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #F5F8FA;
  padding: 20px;
  border-radius: 22px;
  overflow: hidden;
  font-size: 15px;
  line-height: normal;
}

.success-form__call {
  margin-bottom: 8px;
  margin-top: 15px;
  text-align: center;
}

.success-form__ul li span:first-child {
  color: white;
  background-color: #016078;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  border-radius: 20px;
}

.success-form__link {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  color: #016078;
}

.success-form__btn {
  display: flex;
  border: none;
  padding: 16px;
  margin: 0 auto;
  margin-top: 18px;
  border-radius: 10px;
  background-color: #016078;
  color: white;
  font-size: 16px;
  max-width: max-content;
  text-align: center;
}

.fancybox__backdrop {
  background-color: rgb(24 24 27 / 47%) !important;
}

.modal-call {
  border-radius: 20px;
  padding: 20px;
  max-width: 500px;
  width: 100%;
}

.modal-call__title {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
}

.modal-call__body {

}

.modal-call input {
  border: none;
  width: 100%;
  display: flex;
  outline: none;
  border: 1px solid #e2e2e2;
  padding: 10px;
  border-radius: 10px;
  margin-top: 16px;
  font-size: 15px;
}

.modal-call__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 15px;
  border: none;
  padding: 11px;
  font-size: 15px;
  background: #016078;
  color: white;
  border-radius: 10px;
  font-weight: bold;
}

.modal-call__desc {
  text-align: center;
}

.modal-call__info {
  font-size: 14px;
  line-height: normal;
  margin-top: 12px;
}

.modal-call__info a {
  text-decoration: underline;
}

.prot {
  text-align: center;
  margin: 0 auto;
  font-size: 17px;
  margin-top: 10px;
}

@media (min-width: 1024px) {
  .prot {
    font-size: 20px;
  }
}

@media (min-width: 1700px) {
  .prot {
    font-size: 24px;
  }
}

.splide__arrows {
  display: flex;
  align-items: center;
  gap: 10px;
  fill: #016078;
  justify-content: center;
  margin-top: 25px;
}

.splide__arrow--prev {
  transform: scale(-1);
}

.splide__arrow {
  border-radius: 50px;
  width: 50px;
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: white;
  border: 1px solid #D9E2E9;
}

.splide__arrow svg {
  width: 20px;
  height: 20px;
}

/* oneclickbtn */
.oneClickBtn {
  background: #43b2c8;
  color: white;
  padding: 14px 0;
}

@media (min-width: 641px) {
  .oneClickBtn {
    padding: 20px;
    width: 100%;
    max-width: 338px;
  }
}

@media (min-width: 1200px) {
  .oneClickBtn {
    display: none;
  }
}