/* ==========================================================================
   ЭлитСтом — components.css v2
   ========================================================================== */

/* ---------- HEADER ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(250,247,242,.9); backdrop-filter: saturate(180%) blur(18px);
  border-bottom: 1px solid var(--border); transition: box-shadow .3s var(--ease);
}
.site-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(36,26,20,.25); }
.header__inner { display: flex; align-items: center; gap: var(--sp-5); padding-block: 18px; }
.header__logo img { height: 44px; width: auto; }
.nav { display: flex; flex: 1 1 auto; justify-content: space-evenly; align-items: center; gap: 8px; margin: 0 clamp(16px, 3vw, 48px); }
.nav a { font-size: 15.5px; font-weight: 500; color: var(--text); padding: 6px 0; position: relative; transition: color .25s var(--ease); }
.nav a:hover { color: var(--accent-dk); }
.nav a::after { content:""; position:absolute; left:0; bottom:-3px; width:0; height:1.5px; background:var(--accent); transition:width .3s var(--ease); }
.nav a:hover::after { width:100%; }
/* dropdown (multi-page services menu) */
.nav__item { position:relative; }
.nav__top { display:inline-flex; align-items:center; gap:6px; }
.nav__top svg { opacity:.55; transition:transform .25s var(--ease); }
.nav__item:hover .nav__top svg, .nav__item:focus-within .nav__top svg { transform:rotate(180deg); }
.nav__sub {
  position:absolute; top:calc(100% + 10px); left:-14px; min-width:252px;
  background:#fff; border:1px solid var(--border); border-radius:14px;
  box-shadow:var(--shadow-lg); padding:8px; z-index:60;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
}
.nav__item:hover .nav__sub, .nav__item:focus-within .nav__sub { opacity:1; visibility:visible; transform:none; }
.nav__item::after { content:""; position:absolute; left:0; right:0; top:100%; height:12px; }
.nav__sub a { display:block; padding:11px 14px; border-radius:9px; font-size:14.5px; }
.nav__sub a::after { display:none; }
.nav__sub a:hover { background:var(--bg); color:var(--accent-dk); }
.header__actions { display: flex; align-items: center; gap: var(--sp-4); margin-left: auto; }
.header__phone { font-size: 16px; font-weight: 600; color: var(--text); white-space: nowrap; }
.header__phone:hover { color: var(--accent-dk); }
.header__wa { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border-radius:50%; background:var(--accent-sf); color:var(--accent-dk); transition:.25s var(--ease); }
.header__wa:hover { background:var(--accent); color:#fff; }
.header__wa svg { width:20px; height:20px; }
.header__cta { padding: 15px 32px; font-size: 16px; }
.burger { display:none; width:42px; height:42px; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; align-items:center; justify-content:center; transition:transform .12s var(--ease); }
.burger:active { transform:scale(.9); }
.burger span { width:24px; height:2px; background:var(--espresso); border-radius:2px; transition:.25s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media (max-width: 1000px) {
  .nav { position:fixed; inset:66px 0 auto 0; flex-direction:column; gap:0; background:var(--bg);
    border-bottom:1px solid var(--border); padding:8px var(--pad-x) 22px; transform:translateY(-130%);
    transition:transform .35s var(--ease); margin:0; box-shadow:var(--shadow-lg); }
  .nav.is-open { transform:translateY(0); }
  .nav a { padding:15px 0; border-bottom:1px solid var(--border); font-size:17px; }
  .nav__item { position:static; }
  .nav__sub { position:static; opacity:1; visibility:visible; transform:none; background:transparent;
    box-shadow:none; border:none; border-radius:0; padding:0 0 4px 16px; min-width:0; }
  .nav__sub a { padding:12px 0; font-size:15.5px; border-bottom:1px dashed var(--border); }
  .nav__item::after { display:none; }
  .header__phone, .header__cta { display:none; }
  .burger { display:flex; }
}

/* ---------- WHY CARDS ---------- */
.why-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(16px,1.8vw,28px); margin-top:clamp(40px,4.5vw,64px); }
.wcard { background:var(--surface); border:1px solid var(--border); border-radius:18px; overflow:hidden; }
.wcard__photo { aspect-ratio:2.3/1; overflow:hidden; }
.wcard__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.wcard__body { position:relative; padding:34px 22px 26px; }
.wcard__badge { position:absolute; top:-28px; left:20px; width:56px; height:56px; border-radius:16px; background:var(--surface);
  border:1px solid var(--border); box-shadow:0 6px 18px -8px rgba(36,26,20,.25); display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.wcard__badge::after { content:""; position:absolute; left:2px; bottom:-14px; width:30px; height:2px; background:var(--accent); }
.wcard__badge svg { width:26px; height:26px; }
.wcard__num { position:absolute; top:14px; right:20px; font-family:var(--font-head); font-size:clamp(34px,2.6vw,44px); font-weight:600; color:var(--accent); opacity:.28; line-height:1; }
.wcard h3 { font-size:20px; margin:18px 0 10px; }
.wcard p { font-size:14.5px; color:var(--text-2); line-height:1.6; }
@media (max-width: 1000px) { .why-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .why-grid { grid-template-columns:1fr; } }

/* ---------- PRICING (честные цены) ---------- */
.price-grid { display:grid; grid-template-columns:1.05fr .9fr .75fr; gap:clamp(24px,3vw,48px); align-items:stretch; }
.price-left h2 { margin-top:0; }
.price-guarantee { display:flex; gap:16px; align-items:flex-start; margin-top:28px; background:#fff;
  border:1px solid var(--border); border-radius:16px; padding:20px 22px; max-width:440px; }
.pg__ic { flex:0 0 auto; width:46px; height:46px; border-radius:50%; background:var(--bg);
  border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.pg__ic svg { width:22px; height:22px; }
.price-guarantee b { display:block; font-size:16px; font-weight:600; color:var(--text); }
.price-guarantee span:not(.pg__ic) { display:block; font-size:14px; color:var(--text-2); margin-top:5px; line-height:1.5; }
.price-perks { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; justify-content:center; }
.price-perks li { display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--border);
  border-radius:100px; padding:16px 24px 16px 16px; }
.pp__ic { flex:0 0 auto; width:56px; height:56px; border-radius:50%; background:var(--bg); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.pp__ic svg { width:24px; height:24px; }
.pp__ic--txt { font-family:var(--font-head); font-size:19px; font-weight:600; }
.price-perks b { display:block; font-size:16.5px; font-weight:600; color:var(--text); line-height:1.25; }
.price-perks li span:not(.pp__ic) { display:block; font-size:14px; color:var(--text-2); margin-top:3px; line-height:1.45; }
.price-photo { border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg); min-height:100%; }
.price-photo img { width:100%; height:100%; object-fit:cover; object-position:32% center; display:block; }
.price-quote { margin-top:clamp(28px,3vw,44px); background:#fff; border:1px solid var(--border); border-radius:18px;
  padding:clamp(24px,2.6vw,36px) clamp(24px,3vw,48px); display:flex; align-items:center; gap:clamp(24px,4vw,64px); }
.pq__left { display:flex; align-items:center; gap:18px; flex:1; }
.pq__ic { flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:var(--bg); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.pq__ic svg { width:24px; height:24px; }
.pq__left b { display:block; font-size:17px; font-weight:600; color:var(--text); }
.pq__left span:not(.pq__ic) { display:block; font-size:14px; color:var(--text-2); margin-top:4px; line-height:1.5; }
.pq__quote { flex:1; font-family:var(--font-head); font-style:italic; font-size:clamp(19px,1.6vw,24px); font-weight:600;
  color:var(--text); line-height:1.4; border-left:1px solid var(--border); padding-left:clamp(24px,4vw,64px); }
@media (max-width: 1100px) {
  .price-grid { grid-template-columns:1fr 1fr; }
  .price-photo { display:none; }
}
@media (max-width: 760px) {
  .price-grid { grid-template-columns:1fr; }
  .price-quote { flex-direction:column; align-items:flex-start; }
  .pq__quote { border-left:none; border-top:1px solid var(--border); padding-left:0; padding-top:18px; }
}

/* ---------- TEAM GRID ---------- */
.team-head { margin-top:clamp(56px,6vw,88px); }
.team-head h3 { font-family:var(--font-head); font-size:clamp(26px,2.4vw,34px); font-weight:600; }
.team-head p { margin-top:6px; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,1.8vw,28px); margin-top:32px; }
.tcard { background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; margin:0; }
.tcard img { display:block; width:100%; height:auto; filter:sepia(.1) saturate(.94) brightness(1.02); }
.tcard figcaption { padding:16px 18px 20px; }
.tcard b { display:block; font-size:16px; font-weight:600; color:var(--text); line-height:1.3; }
.tcard span { display:block; font-size:13.5px; color:var(--text-2); margin-top:4px; }
.tcard em { display:block; font-style:normal; font-size:12.5px; color:var(--accent-dk); margin-top:6px; letter-spacing:.02em; }
@media (max-width: 1000px) { .team-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 560px) { .team-grid { grid-template-columns:1fr 1fr; gap:12px; } .tcard figcaption { padding:12px; } .tcard b { font-size:14px; } }

/* ---------- FIRST VISIT ---------- */
.visit-head { display:grid; grid-template-columns:1.25fr .75fr; align-items:start; gap:clamp(28px,4vw,72px); }
.visit-photo { aspect-ratio:1/1; max-width:420px; justify-self:end; width:100%; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg); }
.visit-photo img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width: 1000px) { .visit-head { grid-template-columns:1fr; } .visit-photo { justify-self:start; max-width:340px; } }
.visit-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(24px,2.6vw,44px); margin-top:clamp(40px,4vw,64px); }
.vstep { border-top:1px solid var(--border); padding-top:24px; position:relative; }
.vstep::before { content:""; position:absolute; top:-1px; left:0; width:56px; height:2px; background:var(--accent); }
.vstep__num { display:block; font-family:var(--font-head); font-size:clamp(40px,3.2vw,52px); font-weight:600; color:var(--accent); line-height:1; margin-bottom:16px; }
.vstep h3 { font-size:20px; margin-bottom:10px; }
.vstep p { color:var(--text-2); font-size:15.5px; line-height:1.65; }
.visit-promise { margin-top:clamp(40px,4.5vw,64px); background:#fff; border:1px solid var(--border); border-radius:18px;
  padding:clamp(28px,3vw,44px); display:flex; align-items:center; gap:clamp(28px,4vw,64px); }
.visit-promise__head { flex:0 0 auto; max-width:300px; border-right:1px solid var(--border); padding-right:clamp(28px,4vw,64px); }
.visit-promise__head h3 { font-family:var(--font-head); font-size:26px; margin-bottom:8px; }
.visit-promise__head p { color:var(--text-2); font-size:15px; line-height:1.55; }
.visit-promise__list { display:flex; flex:1; gap:clamp(20px,3vw,44px); list-style:none; margin:0; padding:0; }
.visit-promise__list li { display:flex; align-items:center; gap:12px; font-size:15.5px; font-weight:500; color:var(--text); line-height:1.4; }
.vp__ic { flex:0 0 auto; width:44px; height:44px; border-radius:50%; background:var(--bg); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.vp__ic svg { width:21px; height:21px; }
@media (max-width: 1000px) {
  .visit-steps { grid-template-columns:1fr 1fr; }
  .visit-promise { flex-direction:column; align-items:flex-start; }
  .visit-promise__head { border-right:none; border-bottom:1px solid var(--border); padding-right:0; padding-bottom:20px; max-width:none; }
  .visit-promise__list { flex-direction:column; gap:16px; }
}
@media (max-width: 560px) { .visit-steps { grid-template-columns:1fr; } }

/* hero rating badge */
.hero__rating { display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:14.5px; color:var(--text-2); }
.hero__rating .stars { color:var(--accent); letter-spacing:2px; font-size:15px; }
.hero__rating b { color:var(--text); font-weight:600; }
.hero__rating:hover b { color:var(--accent-dk); }

/* stats license */
.stats__license { text-align:center; margin-top:28px; font-size:13.5px; color:rgba(255,255,255,.45); letter-spacing:.02em; }

/* review source */
.rev-src { font-style:normal; color:var(--text-2); opacity:.75; }

/* ---------- HERO (светлый премиум) ---------- */
.hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(660px, calc(100svh - 90px), 840px);
  padding-block: 0;
  background: var(--bg);
}
.hero::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  background:var(--border);
}
.hero__inner {
  position: relative;
  display:grid;
  grid-template-columns: minmax(680px,.68fr) 1fr;
  gap: clamp(24px,3vw,48px);
  align-items:stretch;
  min-height: clamp(660px, calc(100svh - 90px), 840px);
  padding-block: 0;
}
.hero__text {
  align-self:center;
  max-width: 900px;
  padding-block: clamp(26px,4vw,44px) clamp(24px,3vw,40px);
  position: relative;
  z-index: 2;
}
/* inline-форма в hero (главная CTA + конверсионный триггер) */
.hero__form { margin-top: clamp(18px,2.2vw,28px); max-width: 780px; }
.hero__form-grid { display:grid; grid-template-columns: 1.1fr 1.1fr auto; gap:10px; }
.hero__form input { padding:16px 18px; border:1.5px solid var(--border); border-radius:var(--r-md); background:#fff; font-size:15.5px; font-family:var(--font-text); color:var(--text); transition:border-color .2s var(--ease); min-width:0; }
.hero__form input:focus { outline:none; border-color:var(--accent); }
.hero__form input::placeholder { color:var(--text-2); opacity:.8; }
.hero__form .btn { padding: 16px 26px; font-size: 15px; white-space:nowrap; }
.hero__form-note { margin-top:12px; font-size:13px; color:var(--text-2); line-height:1.5; }
.hero__form-note a { color:var(--accent-dk); text-decoration:underline; text-underline-offset:2px; }
@media (max-width:720px) {
  .hero__form-grid { grid-template-columns:1fr; gap:10px; }
  .hero__form .btn { padding:18px; }
}
/* кнопка «видео о клинике» */
.hero__play { display:inline-flex; align-items:center; gap:13px; background:none; border:none; cursor:pointer; font-family:var(--font-text); font-size:16px; font-weight:500; color:var(--text); }
.hero__play-ic { display:inline-flex; width:52px; height:52px; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--beige-2); color:var(--accent-dk); transition:.3s var(--ease); }
.hero__play-ic svg { width:18px; height:18px; margin-left:2px; }
.hero__play:hover .hero__play-ic { background:var(--accent); border-color:var(--accent); color:#fff; }
/* плашка преимуществ */
.hero__features {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap: clamp(12px,1.4vw,22px);
  margin-top: clamp(18px,2.1vw,26px);
  max-width: 690px;
}
.hf { display:flex; align-items:center; gap:14px; min-width:0; position:relative; }
.hf + .hf::before { content:""; position:absolute; left:calc(-1 * clamp(9px,1vw,17px)); top:8px; bottom:8px; width:1px; background:var(--border); }
.hf__ic {
  display:inline-flex;
  width:48px; height:48px;
  flex-shrink:0;
  align-items:center; justify-content:center;
  border-radius:50%;
  background:rgba(239,228,213,.68);
  color:var(--accent-dk);
}
.hf__ic svg { width:24px; height:24px; }
.hf b { display:block; font-size:16.5px; font-weight:600; color:var(--text); line-height:1.2; }
.hf b + span { display:block; font-size:13.5px; color:var(--text-2); margin-top:4px; line-height:1.35; }
.hero h1 { font-size: clamp(54px, 5.4vw, 92px); line-height: 1; letter-spacing: -.018em; margin-bottom: var(--sp-4); text-wrap: balance; }
.hero h1 em { display:block; font-style: normal; color: var(--accent-dk); font-weight:600; }
.hero__h1sub { display:block; font-family:var(--font-text); font-weight:500; font-size:clamp(17px,1.5vw,22px); color:var(--text-2); letter-spacing:0; margin-top:22px; line-height:1.3; }
.hero .lead { max-width: 35em; color:var(--text-2); font-size:clamp(16px,1.08vw,18px); line-height:1.58; }
.hero__cta { display:flex; gap:24px; flex-wrap:wrap; margin-top: 20px; align-items:center; }
.hero .btn--xl { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 18px 42px -24px rgba(138,106,67,.65); }
.hero .btn--xl:hover { background:var(--accent-dk); border-color:var(--accent-dk); color:#fff; }
.hero__textlink { font-size:16px; font-weight:600; color:var(--accent-dk); position:relative; padding-bottom:3px; }
.hero__textlink::after { content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--accent); transition:width .3s var(--ease); }
.hero__textlink:hover::after { width:100%; }
.hero__photo {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 20px;
  background: var(--accent-sf);
  box-shadow: none;
}

.hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero__photo::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background: linear-gradient(0deg, rgba(20,16,12,.12), rgba(20,16,12,0) 42%);
  pointer-events:none;
}
.hero__photo::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:2; }
.hero__photo picture { display:block; width:100%; height:100%; }
.hero__photo-main { width:100%; height:100%; min-height:inherit; object-fit:cover; object-position: center 48%; filter: sepia(.06) saturate(.92) brightness(1.03) contrast(.98); transform:none; }
.hero__doctor-card {
  position:absolute;
  left:26px;
  bottom:26px;
  z-index:3;
  display:flex;
  align-items:center;
  gap:13px;
  width:min(340px,calc(100% - 52px));
  padding:12px 15px 12px 12px;
  border:1px solid rgba(176,141,91,.28);
  border-radius:var(--r-md);
  background:rgba(250,246,240,.92);
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow);
}
.hero__doctor-card img {
  width:58px;
  height:58px;
  flex-shrink:0;
  border-radius:50%;
  object-fit:cover;
  object-position:center 18%;
  filter:sepia(.08) saturate(.9) brightness(1.03);
}
.hero__doctor-card b { display:block; color:var(--text); font-size:14px; font-weight:600; line-height:1.25; }
.hero__doctor-card span { display:block; color:var(--text-2); font-size:12px; line-height:1.3; margin-top:3px; }
.hero__doctor-card-link { display:inline-block; color:var(--accent-dk); font-size:12px; font-weight:600; margin-top:5px; }
.hero__doctor-card-link:hover { text-decoration:underline; text-underline-offset:2px; }
/* композиция фото: крупный портрет врача + столбик из 3 фото — контейнер вместо full-bleed */
.hero__photo--split { position:relative; inset:auto; grid-column:2; margin-block:clamp(28px,3.6vw,52px); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); }
.hero__photo--split::before, .hero__photo--split::after { content:none; }
.hero__photo-grid { position:relative; z-index:0; width:100%; height:100%; display:grid; grid-template-columns:1.7fr 1fr; gap:14px; }
.hero__photo-main-wrap { position:relative; height:100%; overflow:hidden; }
.hero__photo-main-wrap .hero__photo-main { width:100%; height:100%; }
.hero__photo-stack { display:flex; flex-direction:column; gap:14px; height:100%; }
.hero__photo-stack img { flex:1 1 0; min-height:0; width:100%; object-fit:cover; border-radius:var(--r-md); filter: sepia(.06) saturate(.92) brightness(1.03) contrast(.98); }
/* компактный бейдж рейтинга в углу фото, золотая рамка */
.hero__badge { position:absolute; right:auto; top:26px; bottom:auto; left:min(54%, calc(100% - 320px)); z-index:3; background:rgba(250,246,240,.94);
  backdrop-filter: blur(10px); border:1px solid rgba(176,141,91,.38); border-radius: var(--r-md);
  padding:13px 18px; display:flex; align-items:center; gap:12px; box-shadow: var(--shadow); }
.hero__badge div { min-width:0; }
.hero__badge .stars { color:#C9A24B; font-size:14px; letter-spacing:1px; }
.hero__badge b { font-family:var(--font-head); font-size:20px; font-weight:600; color:var(--text); line-height:1; }
.hero__badge span { display:block; font-size:12px; color:var(--text-2); margin-top:3px; white-space:nowrap; }
/* метрики-блок — иконка + цифра serif золотом + подпись (растянуты по ширине) */
.hero__mini { display:flex; margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--border); }
.hero__mini > div { flex:1; padding: 0 30px; position: relative; display:flex; flex-direction:column; align-items:flex-start; }
.hero__mini > div:first-child { padding-left: 0; }
.hero__mini > div + div::before { content:""; position:absolute; left:0; top:0; bottom:8px; width:1px; background:var(--border); }
.hero__mini svg { width:26px; height:26px; color:var(--accent); margin-bottom:14px; }
.hero__mini b { display:block; font-family:var(--font-head); font-weight:600; font-size:clamp(32px,3.4vw,46px); line-height:1; color:var(--accent-dk); }
.hero__mini span { display:block; font-size:14.5px; color:var(--text); margin-top:10px; max-width:140px; }
@media (max-width: 860px) {
  .hero { min-height:auto; }
  .hero__inner { grid-template-columns:1fr; min-height:auto; padding-block: clamp(38px,8vw,72px) clamp(36px,7vw,64px); }
  .hero__text { padding-block: 0; }
  .hero h1 { font-size: clamp(38px, 10vw, 46px); }
  .hero__photo { position:relative; inset:auto; width:100%; min-height:0; aspect-ratio:4/3.45; border-radius:22px; margin-top:24px; }
  .hero__photo::before { background:linear-gradient(0deg, rgba(36,26,20,.08), rgba(36,26,20,0) 46%); }
  .hero__photo-main { object-position:68% center; transform:none; }
  .hero__photo--split { grid-column:auto; margin-block:0; }
  .hero__photo-grid { grid-template-columns:1fr; }
  .hero__photo-stack { display:none; }
  .hero__doctor-card { display:none; }
  .hero__badge { right:auto; top:14px; bottom:auto; left:14px; width:auto; padding:9px 12px; gap:8px; }
  .hero__badge .stars { font-size:12px; letter-spacing:.5px; }
  .hero__badge b { font-size:18px; }
  .hero__badge span { font-size:11px; }
  .hero__features { display:grid; grid-template-columns: 1fr; gap:10px; margin-top:18px; max-width:none; }
  .hf + .hf::before { display:none; }
  .hf { padding:10px 0; border-top:1px solid var(--border); }
  .hf + .hf::before { display:none; }
  .hf + .hf { padding-top:16px; border-top:1px solid var(--border); }
  .hero__mini > div { padding: 0 18px; }
  .hero__mini b { font-size: 32px; }
}
@media (max-width: 600px) {
  .hero__inner { padding-block: 34px 30px; }
  .hero h1 { font-size: clamp(36px, 9.6vw, 42px); margin-bottom: 14px; }
  .hero .lead { font-size: 16.5px; line-height: 1.55; }
  .hero__cta { display:grid; grid-template-columns:1fr; gap:12px; margin-top:18px; }
  .hero .btn--xl { width:100%; padding:16px 20px; font-size:15.5px; }
  .hero__textlink { justify-self:center; font-size:15px; }
  .hero__photo { margin-top:20px; aspect-ratio:4/3.25; border-radius:20px; }
  /* три факта не помещались в строку и выталкивали страницу вбок */
  .hero__mini { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:18px 14px; margin-top:32px; padding-top:26px; }
  .hero__mini > div { padding:0; }
  .hero__mini > div + div::before { display:none; }
  .hero__mini b { font-size:30px; }
  .hero__mini span { max-width:none; }
}

/* ---------- TRUST-полоса ---------- */
.trust { display:flex; flex-wrap:wrap; gap:var(--sp-5) var(--sp-7); justify-content:center; align-items:center; padding: clamp(24px,3vw,40px) 0; border-block:1px solid var(--border); }
.trust__item { display:flex; align-items:center; gap:12px; font-size:15.5px; color:var(--text-2); }
.trust__item svg { width:26px; height:26px; color:var(--accent); flex-shrink:0; }
.trust__item b { color:var(--text); font-weight:600; }
.trust__sep { width:1px; height:34px; background:var(--border); }
.rating { display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--text); }
.rating .stars { color:#C9A24B; letter-spacing:2px; }

/* Сразу после hero должен виднеться следующий смысловой слой, как в референсе. */
#services { padding-top: clamp(16px, 2vw, 32px); }

/* ---------- Блок статистики (на espresso) ---------- */
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap: var(--sp-6); }
.stats__item { text-align:center; padding: 0 12px; position:relative; }
.stats__item + .stats__item::before { content:""; position:absolute; left:0; top:10%; bottom:10%; width:1px; background:var(--border-dk); }
.stats__num { font-family:var(--font-head); font-weight:500; font-size:clamp(46px,5vw,76px); line-height:1; color:var(--gold-br); }
.stats__label { font-size:13px; letter-spacing:.06em; color:rgba(244,236,224,.65); margin-top:12px; text-transform:uppercase; }
@media (max-width:740px) { .stats{ grid-template-columns:repeat(2,1fr); gap:var(--sp-7) var(--sp-4);} .stats__item:nth-child(3)::before,.stats__item:nth-child(odd)::before{display:none;} }

/* ---------- Карточки услуг (фото + список под-услуг, плотные) ---------- */
.svc-card { position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg);
  display:flex; flex-direction:column; overflow:hidden;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease); }
@media (hover:hover) and (pointer:fine) { .svc-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; } }
.svc-card__media { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--accent-sf); }
.svc-card__media img { width:100%; height:100%; object-fit:cover; filter: sepia(.14) saturate(.9) brightness(1.02) contrast(.97); transition:transform .6s var(--ease); }
.svc-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(160deg, transparent 55%, rgba(74,60,51,.12)); pointer-events:none; }
@media (hover:hover) and (pointer:fine) { .svc-card:hover .svc-card__media img { transform:scale(1.05); } }
.svc-card__num { position:absolute; top:14px; left:16px; font-family:var(--font-head); font-weight:600; font-size:30px; color:#fff; line-height:1; text-shadow:0 2px 12px rgba(36,26,20,.5); }
.svc-card__body { padding:26px 28px 28px; display:flex; flex-direction:column; flex:1; }
.svc-card h3 { font-size:25px; margin-bottom:14px; }
.svc-card__list { display:flex; flex-direction:column; gap:9px; padding-top:16px; border-top:1px solid var(--border); margin-bottom:18px; }
.svc-card__list li { font-size:16px; color:var(--text-2); padding-left:20px; position:relative; }
.svc-card__list li::before { content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--accent); }
.svc-card__foot { margin-top:auto; display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-top:16px; border-top:1px solid var(--border); }
.svc-card__price { display:flex; align-items:baseline; gap:6px; white-space:nowrap; }
.svc-card__price span { font-size:14px; color:var(--text-2); }
.svc-card__price b { font-family:var(--font-text); font-size:24px; font-weight:700; color:var(--text); white-space:nowrap; letter-spacing:-.01em; }
/* ₽ — рендерится в Cormorant как латинская P, делаем Inter везде */
.rub { font-family: var(--font-text); font-weight: inherit; font-size: .8em; margin-left:.05em; }
.svc-card__more { display:inline-flex; align-items:center; gap:7px; font-size:16px; font-weight:500; color:var(--accent-dk); transition:gap .3s var(--ease); white-space:nowrap; }
.svc-card:hover .svc-card__more { gap:12px; }
/* CTA-карточка без фото */
.svc-card--cta { background:var(--accent-sf); border:none; justify-content:center; padding:36px 30px; }
.svc-card--cta h3 { color:var(--accent-dk); }
.svc-card--cta p { font-size:16px; color:var(--text-2); margin-bottom:24px; }
/* Мобильное сокращение списка услуг */
.svc-all { display:none; margin-top:24px; }
@media (max-width:600px) {
  .svc-grid .svc-card:nth-child(n+5) { display:none; }
  .svc-all { display:block; }
}

/* ---------- Преимущества (иконка в подложке) ---------- */
.feat { position:relative; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); padding:34px 32px; box-shadow:var(--shadow); overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.feat::after { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
@media (hover:hover) and (pointer:fine) {
  .feat:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); }
  .feat:hover::after { transform:scaleX(1); }
}
.feat__ic { display:inline-flex; width:60px; height:60px; align-items:center; justify-content:center; border-radius:15px; background:var(--accent-sf); color:var(--accent-dk); margin-bottom:22px; }
.feat__ic svg { width:30px; height:30px; }
.feat h3 { font-size:23px; margin-bottom:10px; }
.feat h4 { font-size:21px; margin-bottom:10px; }
.feat--simple h3 { font-size:21px; margin-bottom:10px; }
.feat p { font-size:16.5px; color:var(--text-2); line-height:1.55; }
.section--dark .feat { background:var(--espresso-2); border-color:var(--border-dk); }
.section--dark .feat p { color:rgba(244,236,224,.7); }
.section--dark .feat__ic { background:rgba(203,168,118,.14); color:var(--gold-br); }
/* автор отзыва — аватар-инициал */
.rev-author { display:flex; align-items:center; gap:13px; margin-top:22px; }
.rev-ava { width:46px; height:46px; border-radius:50%; background:var(--accent-sf); color:var(--accent-dk); font-family:var(--font-head); font-weight:600; font-size:21px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rev-author > span:last-child { font-weight:600; color:var(--text); }

/* ---------- Список с галочками ---------- */
.checklist { display:grid; gap:14px; }
.checklist li { position:relative; padding-left:36px; color:inherit; }
.checklist li::before { content:""; position:absolute; left:0; top:1px; width:24px; height:24px; border-radius:50%;
  background:var(--accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/15px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/15px no-repeat; }
.section--dark .checklist li::before { background:var(--gold-br); }

/* ---------- Карточка характеристик врача ---------- */
.doc-spec { display:grid; gap:12px; max-width:480px; margin-top:24px; }
.doc-spec__row { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--border); padding:11px 0; }
.doc-spec__row b { text-align:right; }
@media (max-width:560px) { .doc-spec__row { flex-direction:column; gap:3px; } .doc-spec__row b, .doc-spec__row span:last-child { text-align:left; } }

/* ---------- Врачи ---------- */
.doc-feature { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,4vw,64px); align-items:center; }
.doc-feature__photo { position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/4.2; }
.doc-feature__photo img { width:100%; height:100%; object-fit:cover; object-position:center 16%; filter:sepia(.1) saturate(.94) brightness(1.02); }
.doc-feature__cap { position:absolute; left:0; right:0; bottom:0; padding:26px 26px 22px;
  background:linear-gradient(180deg, transparent, rgba(36,26,20,.82)); color:#fff; }
.doc-feature__cap b { font-family:var(--font-head); font-size:23px; font-weight:600; }
.doc-feature__cap b::after { content:""; display:block; width:42px; height:2px; background:var(--gold-br); margin:10px 0 8px; }
.doc-feature__cap span { display:block; font-size:13px; color:rgba(244,236,224,.82); letter-spacing:.04em; }
@media (max-width:780px) { .doc-feature{ grid-template-columns:1fr; } .doc-feature__photo{ aspect-ratio:4/3.4; } }

/* ---------- FAQ ---------- */
.faq { max-width:840px; margin:0 auto; }
.faq details { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); margin-bottom:12px; overflow:hidden; transition:box-shadow .3s var(--ease); }
.faq details[open] { box-shadow:var(--shadow); }
.faq summary { list-style:none; cursor:pointer; padding:22px 26px; font-weight:600; font-size:18px; color:var(--text); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:var(--font-head); font-size:28px; color:var(--accent); font-weight:400; transition:transform .3s var(--ease); }
.faq details[open] summary { color:var(--accent-dk); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details > div { padding:0 26px 24px; color:var(--text-2); line-height:1.65; }

/* ---------- Слайдер до/после (для будущих реальных фото) ---------- */
.ba { position:relative; max-width:600px; margin:0 auto; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/3; user-select:none; }
.ba img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ba__after { clip-path: inset(0 0 0 50%); }
.ba__range { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.ba__line { position:absolute; top:0; bottom:0; left:50%; width:2px; background:#fff; pointer-events:none; box-shadow:0 0 8px rgba(0,0,0,.35); }
.ba__line::after { content:"⇔"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--espresso); }
.ba__tag { position:absolute; bottom:14px; padding:5px 14px; border-radius:var(--r-pill); font-size:13px; background:rgba(36,26,20,.72); color:#fff; }
.ba__tag--before { left:14px; } .ba__tag--after { right:14px; }
.ba__line::after { box-shadow:0 2px 10px rgba(0,0,0,.3); font-size:18px; }
/* Кейсы до/после на тёмной секции */
.ba-grid { margin-top:clamp(40px,5vw,60px); align-items:start; grid-template-columns:repeat(3, minmax(0,1fr)); }
@media (max-width: 900px) { .ba-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .ba-grid { grid-template-columns:minmax(0,1fr); } }
.ba-case { margin:0; }
.ba-case .ba { width:100%; }
.ba-case__cap { margin-top:18px; text-align:center; }
.ba-case__cap b { display:block; font-family:var(--font-head); font-size:clamp(20px,1.5vw,23px); font-weight:600; color:var(--text); }
.ba-case__cap span { display:block; margin-top:5px; font-size:14.5px; line-height:1.45; color:var(--text-2); max-width:30em; margin-inline:auto; }
.ba-cta { align-self:stretch; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center;
  background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:32px 28px; aspect-ratio:4/3; max-width:600px; margin:0 auto; width:100%; }
.ba-cta b { font-family:var(--font-head); font-size:clamp(22px,1.7vw,26px); font-weight:600; color:var(--text); }
.ba-cta p { margin:12px 0 24px; font-size:15px; color:var(--text-2); line-height:1.55; max-width:26em; }
.ba-note { margin-top:clamp(34px,4vw,46px); font-size:13.5px; color:var(--text-2); opacity:.8; }

/* ---------- Quiz ---------- */
/* quiz section v2 */
.quiz-sec { position:relative; overflow:hidden; }
.quiz-sec::before { content:""; position:absolute; inset:0; background:url('/images/why/calm.jpg') center/cover no-repeat; filter:blur(4px) saturate(.95); opacity:.35; transform:scale(1.04); }
.quiz-sec::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(251,249,247,.92) 0%, rgba(251,249,247,.72) 100%); }
.quiz-sec .container { position:relative; z-index:1; }
.quiz-head { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(28px,4vw,64px); align-items:start; margin-bottom:clamp(32px,3.5vw,52px); }
.quiz-privacy { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:16px; padding:20px 22px; max-width:400px; justify-self:end; box-shadow:var(--shadow-lg); }
.qp__ic { flex:0 0 auto; width:46px; height:46px; border-radius:50%; background:var(--bg); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.qp__ic svg { width:22px; height:22px; }
.quiz-privacy b { display:block; font-size:15.5px; font-weight:600; color:var(--text); }
.quiz-privacy span:not(.qp__ic) { display:block; font-size:13.5px; color:var(--text-2); margin-top:4px; line-height:1.5; }
.qprogress { position:relative; display:flex; justify-content:space-between; align-items:center; margin-bottom:clamp(28px,3vw,40px); }
.qprogress__line { position:absolute; left:18px; right:18px; top:50%; height:2px; background:var(--border); }
.qprogress__line b { display:block; height:100%; width:0; background:var(--accent); transition:width .4s var(--ease); }
.qdot { position:relative; z-index:1; width:36px; height:36px; border-radius:50%; background:#fff; border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; color:var(--text-2); transition:.3s var(--ease); }
.qdot.is-current { background:var(--accent); border-color:var(--accent); color:#fff; }
.qdot.is-done { border-color:var(--accent); color:var(--accent-dk); }
.qstep__ic { display:flex; width:56px; height:56px; border-radius:50%; background:var(--accent-sf); border:1px solid var(--border);
  align-items:center; justify-content:center; color:var(--accent-dk); margin-bottom:16px; }
.qstep__ic svg { width:26px; height:26px; }
.quiz-vals { margin-top:clamp(36px,4vw,56px); }
.quiz-vals__title { text-align:center; font-family:var(--font-head); font-style:italic; font-size:clamp(19px,1.6vw,23px); font-weight:600; color:var(--text); }
.quiz-vals__title::before, .quiz-vals__title::after { content:"—"; color:var(--accent); margin:0 14px; }
.quiz-vals ul { list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.quiz-vals li { display:flex; align-items:center; gap:12px; font-size:14.5px; font-weight:500; color:var(--text); line-height:1.4; }
.qv__ic { flex:0 0 auto; width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--accent-dk); }
.qv__ic svg { width:20px; height:20px; }
@media (max-width: 1000px) {
  .quiz-head { grid-template-columns:1fr; }
  .quiz-privacy { justify-self:start; }
  .quiz-vals ul { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) { .quiz-vals ul { grid-template-columns:1fr; } }
.quiz { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); padding:clamp(28px,4vw,52px); text-align:left; }
.quiz__bar { height:5px; background:var(--accent-sf); border-radius:var(--r-pill); margin-bottom:28px; overflow:hidden; }
.quiz__bar i { display:block; height:100%; background:var(--accent); width:33%; transition:width .4s var(--ease); }
.quiz__step { display:none; } .quiz__step.is-active { display:block; }
.quiz__opts { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 16px; margin-top:22px; }
@media (max-width: 700px) { .quiz__opts { grid-template-columns:1fr; } }
.quiz__opt { text-align:left; padding:17px 22px; border:1.5px solid var(--border); border-radius:var(--r-md); background:var(--surface); cursor:pointer; font-size:16px; transition:.2s var(--ease); }
.quiz__opt:hover { border-color:var(--accent); background:var(--accent-sf); }
@media (hover:hover) and (pointer:fine) { .quiz__opt:hover { transform:translateX(3px); } }
.quiz__opt:active { transform:scale(.97); transition-duration:.12s; }
.quiz__nav { display:flex; justify-content:flex-start; margin-top:22px; }

/* ---------- Формы ---------- */
.form { display:grid; gap:14px; }
.field input, .field textarea { width:100%; padding:15px 18px; border:1.5px solid var(--border); border-radius:var(--r-md); background:var(--surface); font-size:16px; transition:border-color .25s var(--ease); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--accent); }
.form__consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--text-2); }
.form__consent a { color:var(--accent-dk); text-decoration:underline; }

/* ---------- Модалка ---------- */
.modal {
  position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s var(--ease), visibility .25s;
}
.modal.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.modal__overlay { position:absolute; inset:0; background:rgba(36,26,20,.6); backdrop-filter:blur(4px); }
.modal__box {
  position:relative; background:var(--bg); border-radius:var(--r-lg); padding:clamp(28px,4vw,46px); max-width:460px; width:100%; box-shadow:var(--shadow-lg); z-index:1;
  transform:scale(.96); transition:transform .25s var(--ease);
}
.modal.is-open .modal__box { transform:scale(1); }
.modal__close { position:absolute; top:16px; right:16px; width:48px; height:48px; border:none; background:var(--accent-sf); border-radius:50%; font-size:22px; color:var(--espresso); cursor:pointer; line-height:1; transition:background .2s var(--ease), color .2s var(--ease), transform .12s var(--ease); }
.modal__close:hover { background:var(--accent); color:#fff; }
.modal__close:active { transform:scale(.9); }
@media (prefers-reduced-motion: reduce) { .modal, .modal__box { transition:none !important; transform:none !important; } }

/* ---------- Контакты ---------- */
.contacts__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-7); align-items:stretch; }
.contacts__map { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow); min-height:380px; }
.contacts__map iframe { width:100%; height:100%; min-height:380px; border:0; display:block; }
@media (max-width:820px) { .contacts__grid{ grid-template-columns:1fr; } }

/* ---------- Sticky-CTA (моб.) ---------- */
.sticky-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:40; gap:10px; padding:10px 14px; background:rgba(250,246,240,.96); border-top:1px solid var(--border); backdrop-filter:blur(8px); align-items:stretch; }
.sticky-cta > a.btn--ghost { flex:0 0 56px; width:56px; padding:0; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:0; background:var(--accent-sf); border-color:var(--border); color:var(--accent-dk); }
.sticky-cta > a.btn--ghost::before { content:""; width:22px; height:22px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 17.5c-2.5 0-4.9-.4-7.1-1.2-.7-.2-1.5 0-2 .5l-3.1 3.1C3.7 18 .5 14.8.5 11c0-1.1.9-2 2-2H6c1.1 0 2 .9 2 2 0 1.4.2 2.8.6 4.1.1.4 0 .9-.3 1.2L6 18c2.5 4 6 7.5 10 10l1.7-2.4c.3-.3.8-.4 1.2-.3 1.3.4 2.7.6 4.1.6 1.1 0 2 .9 2 2v3.6c0 1.1-.9 2-2 2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 17.5c-2.5 0-4.9-.4-7.1-1.2-.7-.2-1.5 0-2 .5l-3.1 3.1C3.7 18 .5 14.8.5 11c0-1.1.9-2 2-2H6c1.1 0 2 .9 2 2 0 1.4.2 2.8.6 4.1.1.4 0 .9-.3 1.2L6 18c2.5 4 6 7.5 10 10l1.7-2.4c.3-.3.8-.4 1.2-.3 1.3.4 2.7.6 4.1.6 1.1 0 2 .9 2 2v3.6c0 1.1-.9 2-2 2z'/%3E%3C/svg%3E") center/contain no-repeat; }
.sticky-cta > .btn:not(.btn--ghost) { flex:1; padding:14px; background:var(--btn-gold); border-color:var(--btn-gold); color:var(--btn-ink); }
@media (max-width:1000px) { .sticky-cta{ display:flex; } body{ padding-bottom:76px; } }

/* ---------- Крошки ---------- */
.crumbs { font-size:14px; color:var(--text-2); padding-top:22px; }
.crumbs a:hover { color:var(--accent-dk); }
.crumbs span { color:var(--accent); margin:0 8px; }

/* ---------- Прайс-таблица ---------- */
.price-table { width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow); }
.price-table th { text-align:left; background:var(--espresso); color:var(--cream); padding:16px 22px; font-family:var(--font-text); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.price-table td { padding:15px 22px; border-top:1px solid var(--border); font-size:15px; }
.price-table td:last-child { text-align:right; font-weight:600; color:var(--text); white-space:nowrap; }
.price-table tr:hover td { background:var(--accent-sf); }

/* ---------- Политика: список статей (заголовки статей — h2 в разметке) ---------- */
.policy-list h2 { font-size: clamp(23px, 2.4vw, 31px); font-weight: 600; line-height: 1.18; }

/* ---------- FOOTER ---------- */
.footer { background:var(--espresso); color:rgba(244,236,224,.82); padding-block:var(--sp-9) var(--sp-6); font-size:15px; }

/* ==========================================================================
   ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ
   Панель настроек: кегль, цветовая схема, интервал, изображения.
   Состояние хранится в атрибутах html и в localStorage (см. main.js).
   ========================================================================== */

html[data-a11y] {
  --av-bg: #FFFFFF;
  --av-fg: #000000;
  --av-line: #000000;
  --av-soft: #F2F2F2;
  --av-fs: 18px;
  --av-ls: 0;
  --av-lh: 1.6;
}

html[data-a11y="bw"] { --av-bg: #000000; --av-fg: #FFFFFF; --av-line: #FFFFFF; --av-soft: #1A1A1A; }
html[data-a11y="bb"] { --av-bg: #9DD1FF; --av-fg: #063462; --av-line: #063462; --av-soft: #B9DEFF; }
html[data-a11y="be"] { --av-bg: #F7F3D6; --av-fg: #4D4B43; --av-line: #4D4B43; --av-soft: #EFE9C4; }

html[data-a11y-font="2"] { --av-fs: 22px; }
html[data-a11y-font="3"] { --av-fs: 26px; }
html[data-a11y-kern="mid"] { --av-ls: .08em; --av-lh: 1.75; }
html[data-a11y-kern="big"] { --av-ls: .16em; --av-lh: 1.9; }

html[data-a11y] body {
  background: var(--av-bg) !important;
  color: var(--av-fg) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: var(--av-fs) !important;
  line-height: var(--av-lh) !important;
  letter-spacing: var(--av-ls) !important;
  padding-top: var(--av-panel, 0px);
}

/* убираем декор: фоны, тени, скругления, градиенты, анимации */
html[data-a11y] body *:not(.av-panel):not(.av-panel *) {
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border-radius: 0 !important;
  color: var(--av-fg) !important;
  letter-spacing: var(--av-ls) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
  filter: none !important;
  text-transform: none !important;
  min-height: 0 !important;
  visibility: visible !important;
  /* ничего не наложено друг на друга: ни подписи на фото, ни карта поверх страницы */
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
}

/* декоративные псевдоэлементы: круги, полосы, кавычки — всё лишнее */
html[data-a11y] body *:not(.av-panel):not(.av-panel *)::before,
html[data-a11y] body *:not(.av-panel):not(.av-panel *)::after {
  content: none !important;
  background: none !important;
  box-shadow: none !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
}

/* единый кегль: заголовки крупнее основного текста, остальное — как основной */
html[data-a11y] body :is(p, li, a, span, b, strong, em, td, th, label, input, textarea, button, div, figcaption, time, address) {
  font-size: inherit !important;
}

html[data-a11y] body h1 { font-size: 1.9em !important; line-height: 1.25 !important; }
html[data-a11y] body h2 { font-size: 1.5em !important; line-height: 1.3 !important; }
html[data-a11y] body h3 { font-size: 1.2em !important; line-height: 1.35 !important; }
html[data-a11y] body :is(h1, h2, h3, h4) { margin: 1em 0 .5em !important; font-weight: 700 !important; }

html[data-a11y] body a {
  color: var(--av-fg) !important;
  text-decoration: underline !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin-right: 8px !important;
}
html[data-a11y] body a:hover { text-decoration: none !important; }

html[data-a11y] body :is(button, .btn, input, textarea, select) {
  border: 2px solid var(--av-line) !important;
  background: var(--av-bg) !important;
  color: var(--av-fg) !important;
  padding: 10px 16px !important;
}

html[data-a11y] body :is(button, .btn):hover { background: var(--av-soft) !important; }
html[data-a11y] body :is(a, button, input, select):focus-visible { outline: 3px solid var(--av-fg) !important; outline-offset: 2px !important; }

/* блоки-карточки отделяем рамкой, раз фона больше нет */
html[data-a11y] body :is(.svc-tile, .doc-card, .fear-card, .rev-card, .price-table, .cont__card, .page-head__facts > div, .doc__toc, .doc__card, .ind__items li):not(.av-panel):not(.av-panel *) {
  border: 2px solid var(--av-line) !important;
  padding: 16px !important;
  margin-bottom: 16px !important;
}

html[data-a11y] body :is(table, th, td) { border: 1px solid var(--av-line) !important; }

/* фиксированные и плавающие элементы мешают чтению */
html[data-a11y] body :is(.site-header, .header, .v3-header) { position: static !important; }
html[data-a11y] body :is(.mobile-cta, .mob-bar, .modal, .v3-topline) { display: none !important; }

/* линейный порядок чтения: никаких колонок, наложений и фиксированных высот */
html[data-a11y] body :is(div, section, article, aside, nav, main, header, footer, form, ul, ol, figure, picture, label, fieldset):not(.av-panel):not(.av-panel *) {
  display: block !important;
  position: static !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  float: none !important;
  inset: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  gap: 0 !important;
  columns: auto !important;
  clip-path: none !important;
  mask-image: none !important;
}

html[data-a11y] body li { display: list-item !important; margin-bottom: .4em !important; }
html[data-a11y] body ul { list-style: disc !important; padding-left: 1.4em !important; }

/* фото не должны занимать экран целиком — текст важнее */
html[data-a11y] body :is(img, video) {
  width: auto !important;
  max-width: min(100%, 420px) !important;
  max-height: 300px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 10px 0 !important;
}

html[data-a11y] body iframe { width: 100% !important; min-height: 320px !important; }
html[data-a11y] body .foot__logo, html[data-a11y] body .header__logo img { max-height: 44px !important; }

/* слои и дубли каруселей в линейном режиме не нужны */
html[data-a11y] body :is(.hero-slide:not(:first-child), .case-ba__after, .case-ba__line, .case-ba__range,
  .cases__arrows, .rev__arrows, .hero-slider__arrows, .hero-slider__dots, [data-marquee-clone]) { display: none !important; }

/* иконки и декоративная графика в упрощённой версии не нужны */
html[data-a11y] body svg { display: none !important; }
html[data-a11y] body .header__wa:not(.av-panel)::after,
html[data-a11y] body .cont__wa:not(.av-panel)::after,
html[data-a11y] body .foot__wa:not(.av-panel)::after { content: "MAX" !important; }

/* меню и так развёрнуто — кнопка-бургер не нужна */
html[data-a11y] body .burger { display: none !important; }
html[data-a11y] body .burger span { display: block !important; height: 3px !important; background: var(--av-fg) !important; margin: 4px 0 !important; }

/* лишние отступы старого оформления убираем, свои задаём ниже */
html[data-a11y] body *:not(.av-panel):not(.av-panel *) { padding: 0 !important; }

html[data-a11y] body :is(.container, [class*="__inner"]):not(.av-panel):not(.av-panel *) { padding-inline: 20px !important; margin-inline: auto !important; max-width: 1100px !important; }
html[data-a11y] body :is(section, .cta-dark, footer, .page-head):not(.av-panel):not(.av-panel *) { padding-block: 26px !important; }
html[data-a11y] body :is(button, .btn):not(.av-panel):not(.av-panel *) { padding: 10px 16px !important; }
html[data-a11y] body :is(input, textarea, select):not(.av-panel):not(.av-panel *) { padding: 10px 14px !important; }
html[data-a11y] body ul:not(.av-panel):not(.av-panel *) { padding-left: 1.6em !important; }

html[data-a11y] body :is(.container, [class*="__inner"]) {
  max-width: 1100px !important;
  margin-inline: auto !important;
  padding-inline: 20px !important;
}

html[data-a11y] body :is(section, .cta-dark, footer) { padding-block: 26px !important; }

/* кнопки и ссылки остаются строчными */
html[data-a11y] body :is(button, .btn, .av-btn) { display: inline-block !important; }
html[data-a11y] body :is(input, select, textarea) { display: block !important; width: 100% !important; max-width: 420px !important; margin-bottom: 12px !important; }

/* изображения */
html[data-a11y-img="gray"] body :is(img, picture, video, iframe) { filter: grayscale(1) !important; }
html[data-a11y-img="off"] body :is(img, picture, video, iframe, svg:not(.av-panel svg)) { display: none !important; }
html[data-a11y-img="off"] body :is(.hero__photo, .svc-tile__media, .doc-card__photo, .case-ba, .cont__map) { display: none !important; }

/* ---------- сама панель ---------- */

.av-panel {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 3000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 26px;
  padding: 12px clamp(14px, 3vw, 28px);
  border-bottom: 3px solid var(--av-fg);
  background: var(--av-bg);
  color: var(--av-fg);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.3;
}

.av-group { display: flex; align-items: center; gap: 8px; }
.av-group__label { font-weight: 700; }

.av-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 6px 12px;
  border: 2px solid var(--av-fg);
  background: var(--av-bg);
  color: var(--av-fg);
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.av-btn:hover { background: var(--av-soft); }
.av-btn[aria-pressed="true"] { background: var(--av-fg); color: var(--av-bg); }
.av-btn:focus-visible { outline: 3px solid var(--av-fg); outline-offset: 2px; }

.av-btn--a1 { font-size: 15px; }
.av-btn--a2 { font-size: 19px; }
.av-btn--a3 { font-size: 24px; }

.av-btn--wb { background: #fff; color: #000; }
.av-btn--bw { background: #000; color: #fff; }
.av-btn--bb { background: #9DD1FF; color: #063462; }
.av-btn--be { background: #F7F3D6; color: #4D4B43; }
.av-btn--wb[aria-pressed="true"], .av-btn--bw[aria-pressed="true"],
.av-btn--bb[aria-pressed="true"], .av-btn--be[aria-pressed="true"] { outline: 3px solid var(--av-fg); outline-offset: 2px; }

.av-panel__spacer { flex: 1 1 auto; }
.av-exit { text-decoration: underline; }

@media (max-width: 720px) {
  /* на телефоне панель не висит поверх экрана, а прокручивается вместе со страницей */
  .av-panel { position: absolute; gap: 8px 10px; font-size: 14px; padding: 10px 14px; }
  .av-group { flex-wrap: wrap; width: 100%; }
  .av-group__label { width: 100%; margin-bottom: 2px; }
  .av-btn { min-width: 40px; min-height: 40px; padding: 5px 10px; font-size: 14px; }
  .av-panel__spacer { display: none; }
}

/* ---------- VISUAL REFRESH 2026-09 ---------- */
h1, h2, h3, h4 { letter-spacing: 0 !important; }
h1 { font-size: clamp(34px, 3.4vw, 55px); }
h2 { font-size: clamp(30px, 3.2vw, 50px); }
h3 { font-size: clamp(21px, 1.9vw, 27px); }

body {
  background:
    linear-gradient(180deg, #fbf8f3 0, var(--bg) 560px, #f8f5ef 100%);
}

section {
  position: relative;
}

section[id] {
  scroll-margin-top: 92px;
}

.site-header {
  background: rgba(253,250,245,.86);
  box-shadow: 0 1px 0 rgba(36,26,20,.04);
}

.header__inner {
  padding-block: 14px;
}

.header__logo img {
  height: 40px;
}

.header__wa {
  background: #fff;
  border: 1px solid rgba(176,141,91,.25);
  box-shadow: 0 10px 26px -20px rgba(36,26,20,.45);
}

.btn {
  min-height: 52px;
  box-shadow: 0 14px 34px -28px rgba(36,26,20,.72);
}

.btn--ghost {
  background: rgba(255,255,255,.68);
  border-color: rgba(36,26,20,.13);
}

.section--soft {
  background:
    linear-gradient(180deg, rgba(255,255,255,.44), rgba(255,255,255,0) 180px),
    var(--surface-2);
}

.section--accent {
  background:
    linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0) 180px),
    var(--surface-3);
}

.section--dark {
  background:
    linear-gradient(135deg, var(--espresso) 0%, #2f241d 52%, #21342d 100%);
}

.hero {
  min-height: 600px;
  background:
    linear-gradient(90deg, rgba(251,248,243,.98) 0%, rgba(251,248,243,.96) 42%, rgba(239,244,239,.9) 100%);
}

.hero__inner {
  grid-template-columns: minmax(590px, 1fr) minmax(460px, .78fr);
  gap: 28px;
  min-height: 600px;
}

.hero__text {
  max-width: 760px;
}

.hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--mint-dk);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hero__kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: var(--mint-dk);
}

.hero h1 {
  font-size: 66px;
  line-height: 1.02;
  margin-bottom: 20px;
}

.hero h1 em {
  color: #7e613e;
}

.hero .lead {
  max-width: 610px;
  color: #4f463f;
}

.hero__cta {
  gap: 16px;
  margin-top: 24px;
}

.hero .btn--xl {
  background: linear-gradient(180deg, #b99866, #967344);
  border-color: #9d7a4c;
  box-shadow: 0 18px 38px -22px rgba(86,59,31,.82);
}

.hero__rating {
  margin-top: 18px;
  padding: 8px 12px 8px 0;
}

.hero__micro-gallery {
  display: none;
}

.hero__features {
  max-width: 720px;
  gap: 12px;
  margin-top: 22px;
}

.hf {
  align-items: flex-start;
  gap: 12px;
  min-height: 92px;
  padding: 16px 14px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(74,60,51,.1);
  border-radius: var(--r-lg);
  box-shadow: 0 18px 45px -36px rgba(36,26,20,.42);
}

.hf + .hf::before {
  content: none;
}

.hf__ic {
  width: 42px;
  height: 42px;
  background: var(--mint);
  color: var(--mint-dk);
}

.hf__ic svg {
  width: 22px;
  height: 22px;
}

.hero__photo--split {
  align-self: center;
  height: 496px;
  margin-block: 28px;
  border: 1px solid rgba(176,141,91,.22);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 32px 70px -42px rgba(36,26,20,.46);
}

.hero__photo-grid {
  gap: 12px;
  padding: 12px;
}

.hero__photo-main-wrap,
.hero__photo-stack img {
  border-radius: 8px;
}

.hero__photo-main-wrap {
  background:
    linear-gradient(180deg, #fff 0%, #f4efe8 100%);
}

.hero__photo-main-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0) 58%, rgba(36,26,20,.1));
  pointer-events: none;
}

.hero__photo-main {
  object-position: center 18%;
  filter: sepia(.04) saturate(.98) brightness(1.02) contrast(1.01);
}

.hero__photo-stack img {
  filter: sepia(.03) saturate(.96) brightness(1.03) contrast(1.01);
}

.hero__doctor-card {
  left: 20px;
  bottom: 20px;
  background: rgba(255,255,255,.93);
  border-color: rgba(176,141,91,.34);
}

.stats {
  gap: 16px;
}

.stats__item {
  padding: 26px 18px;
  border: 1px solid rgba(244,236,224,.12);
  background: rgba(255,255,255,.045);
  border-radius: var(--r-lg);
}

.stats__item + .stats__item::before {
  content: none;
}

.stats__label {
  color: rgba(244,236,224,.76);
}

.services-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.svc-grid {
  align-items: stretch;
}

.svc-grid .svc-card:first-child {
  grid-column: span 2;
}

.svc-card {
  border-color: rgba(74,60,51,.11);
  box-shadow: 0 18px 48px -42px rgba(36,26,20,.45);
}

.svc-card__media {
  aspect-ratio: 16/9;
}

.svc-grid .svc-card:first-child .svc-card__media {
  aspect-ratio: 2.05/1;
}

.svc-card__media::after {
  background:
    linear-gradient(180deg, rgba(36,26,20,.18), rgba(36,26,20,0) 34%),
    linear-gradient(160deg, transparent 52%, rgba(74,60,51,.18));
}

.svc-card__num {
  padding: 5px 9px;
  background: rgba(36,26,20,.44);
  border-radius: var(--r-sm);
  font-size: 22px;
}

.svc-card__foot {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
}

.svc-card__more {
  font-size: 14.5px;
}

.svc-card--cta {
  background:
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,0)),
    var(--mint);
}

.price-guarantee,
.price-perks li,
.price-quote,
.quiz,
.quiz-privacy,
.feat,
.wcard,
.faq details {
  border-color: rgba(74,60,51,.1);
  box-shadow: 0 18px 48px -42px rgba(36,26,20,.48);
}

.price-perks li,
.visit-promise,
.quiz-privacy {
  background: rgba(255,255,255,.76);
}

.pp__ic,
.pg__ic,
.pq__ic,
.vp__ic,
.qv__ic,
.qstep__ic,
.feat__ic,
.wcard__badge {
  background: var(--mint);
  color: var(--mint-dk);
}

.doc-feature__photo {
  border: 1px solid rgba(176,141,91,.2);
}

.tcard,
.wcard {
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}

@media (hover:hover) and (pointer:fine) {
  .tcard:hover,
  .wcard:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(176,141,91,.26);
  }
}

.quiz-sec::before {
  filter: saturate(.92);
  opacity: .24;
  transform: none;
}

.quiz-sec::after {
  background:
    linear-gradient(180deg, rgba(248,251,247,.94) 0%, rgba(248,251,247,.84) 100%);
}

.contacts__map {
  border: 1px solid rgba(74,60,51,.1);
}

@media (max-width: 1100px) {
  .hero h1 { font-size: 62px; }
  .hero__inner {
    grid-template-columns: minmax(500px, .95fr) minmax(390px, .75fr);
    gap: 24px;
  }
  .hero__photo--split {
    height: 470px;
  }
}

@media (max-width: 900px) {
  .svc-grid .svc-card:first-child {
    grid-column: auto;
  }
  .svc-grid .svc-card:first-child .svc-card__media {
    aspect-ratio: 16/9;
  }
}

@media (max-width: 860px) {
  .hero {
    background:
      linear-gradient(180deg, #fbf8f3 0%, #f6f0e7 66%, #edf5f1 100%);
  }
  .hero__inner {
    grid-template-columns: 1fr;
    gap: 22px;
    padding-block: 34px 28px;
  }
  .hero h1 {
    font-size: 44px;
    line-height: 1.03;
  }
  .hero__photo {
    border-radius: var(--r-lg);
  }
  .hero__photo--split {
    height: auto;
    margin-top: 0;
  }
  .hero__features {
    grid-template-columns: 1fr;
  }
  .hf {
    min-height: 0;
    padding: 14px;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 16px;
  }
  .header__inner {
    padding-block: 12px;
  }
  .header__logo img {
    height: 36px;
  }
  .hero__inner {
    padding-block: 32px 26px;
  }
  .hero__kicker {
    margin-bottom: 14px;
    font-size: 11px;
  }
  .hero__kicker::before {
    width: 24px;
  }
  .hero h1 {
    font-size: 39px;
  }
  .hero .lead {
    font-size: 16px;
  }
  .hero__rating {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13.5px;
    line-height: 1.35;
  }
  .hero__micro-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 16px;
  }
  .hero__micro-gallery img {
    width: 100%;
    aspect-ratio: 1.08/1;
    object-fit: cover;
    border-radius: var(--r-lg);
    border: 1px solid rgba(74,60,51,.1);
    box-shadow: 0 14px 32px -28px rgba(36,26,20,.55);
  }
  .hero__features {
    margin-top: 16px;
  }
  .hero__photo--split {
    display: none;
  }
  .stats {
    gap: 10px;
  }
  .stats__item {
    padding: 20px 10px;
  }
  .stats__num {
    font-size: 42px;
  }
  .services-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .svc-card__body {
    padding: 22px 20px 24px;
  }
}

/* ---------- FINAL SEO VISUAL PASS ---------- */
main > section:not(.hero) {
  padding-block: clamp(42px, 4.6vw, 76px);
}

.stats-band {
  overflow: hidden;
  padding-block: clamp(22px, 2.4vw, 34px);
  background:
    linear-gradient(90deg, rgba(220,235,228,.72), rgba(255,255,255,.88) 44%, rgba(239,228,213,.7)),
    #f8f5ef;
  border-block: 1px solid rgba(74,60,51,.1);
}

.stats-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.34), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, rgba(73,122,103,.08) 0 1px, transparent 1px 120px);
  pointer-events: none;
}

.stats-band .container {
  position: relative;
  z-index: 1;
}

.stats-band .stats {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
}

.stats-band .stats__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  min-height: 104px;
  text-align: left;
  padding: 20px 22px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(74,60,51,.11);
  border-radius: var(--r-lg);
  box-shadow: 0 18px 46px -38px rgba(36,26,20,.36);
}

.stats-band .stats__item + .stats__item::before {
  content: none;
}

.stats-band .stats__num {
  font-family: var(--font-text);
  font-size: clamp(28px, 2.6vw, 42px);
  font-weight: 800;
  color: var(--mint-dk);
  letter-spacing: -.02em;
}

.stats-band .stats__label {
  margin-top: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.stats-band .stats__license {
  margin-top: 14px;
  color: var(--text-2);
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}

.visit-head .lead,
.doc-feature .lead,
.price-left .lead,
.quiz-head .lead {
  font-size: 17px !important;
  line-height: 1.5 !important;
}

.visit-steps {
  gap: 14px;
  margin-top: 28px;
}

.vstep {
  min-height: 224px;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid rgba(74,60,51,.1);
  border-radius: var(--r-lg);
  box-shadow: 0 14px 40px -34px rgba(36,26,20,.4);
}

.vstep h3,
.svc-card h3,
.wcard h3,
.ba-case__cap b {
  font-family: var(--font-text);
}

.vstep h3 {
  font-size: 18px;
}

.vstep p,
.svc-card__list li,
.wcard p,
.faq details > div,
#reviews .feat p {
  line-height: 1.52;
}

.doc-feature {
  grid-template-columns: 470px minmax(0, 1fr);
  gap: 42px;
  align-items: stretch;
  padding: 24px;
  background:
    linear-gradient(90deg, #fff, rgba(255,255,255,.76)),
    var(--surface-3);
  border: 1px solid rgba(74,60,51,.1);
  border-radius: var(--r-lg);
}

.doc-feature__photo {
  aspect-ratio: 4/3.45;
  box-shadow: none;
}

.team-head {
  margin-top: 34px;
}

.team-grid,
.svc-grid,
.ba-grid,
.why-grid,
#reviews .grid-3 {
  gap: 16px;
}

.team-grid {
  margin-top: 20px;
}

.tcard img {
  aspect-ratio: 1/1.16;
  object-fit: cover;
  object-position: center 18%;
}

.services-head {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(74,60,51,.12);
}

.svc-card__body {
  padding: 22px 22px 24px;
}

.svc-card h3 {
  font-size: 20px;
}

.svc-card__list {
  gap: 7px;
  padding-top: 12px;
  margin-bottom: 14px;
}

.svc-card__list li {
  font-size: 14.5px;
}

#pricing {
  background:
    linear-gradient(90deg, rgba(220,235,228,.52), rgba(255,255,255,.5) 48%, rgba(239,228,213,.52)),
    #f8f5ef;
}

.price-grid {
  grid-template-columns: minmax(0, .95fr) minmax(320px, .9fr) minmax(260px, .65fr);
  gap: 24px;
}

.price-guarantee {
  max-width: none;
  margin-top: 18px;
}

.price-perks {
  gap: 10px;
}

.price-perks li,
.faq details {
  border-radius: var(--r-lg);
}

.price-perks li {
  padding: 14px 16px;
}

.price-quote {
  margin-top: 22px;
  padding: 22px 28px;
}

.quiz-head {
  grid-template-columns: minmax(0, .92fr) 360px;
  gap: 28px;
  margin-bottom: 24px;
}

.quiz {
  padding: clamp(22px, 2.8vw, 36px);
}

.quiz__opts {
  grid-template-columns: repeat(4, minmax(0,1fr));
}

.quiz__opt {
  min-height: 74px;
  padding: 15px 16px;
  font-size: 14.5px;
  line-height: 1.35;
}

.quiz-vals {
  margin-top: 22px;
}

.quiz-vals ul {
  margin-top: 16px;
  gap: 12px;
}

#about {
  background: #f8fbf7;
}

.wcard__body {
  padding: 28px 18px 20px;
}

.wcard h3 {
  font-size: 18px;
}

.wcard p {
  font-size: 14px;
}

.faq {
  max-width: 980px;
}

.faq details {
  margin-bottom: 8px;
}

.faq summary {
  padding: 18px 22px;
  font-size: 16px;
}

.faq details > div {
  padding: 0 22px 18px;
  font-size: 15px;
}

.contacts__grid {
  grid-template-columns: minmax(340px, .72fr) minmax(0, 1fr);
  gap: 28px;
}

.contacts__grid > div:first-child {
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(74,60,51,.1);
  border-radius: var(--r-lg);
}

@media (max-width: 1100px) {
  .stats-band .stats {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .doc-feature {
    grid-template-columns: 390px minmax(0, 1fr);
  }
  .quiz__opts {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 860px) {
  main > section:not(.hero) {
    padding-block: 38px;
  }
  .stats-band .stats {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
  }
  .stats-band .stats__item {
    min-height: 88px;
    padding: 14px;
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .visit-head,
  .doc-feature,
  .price-grid,
  .quiz-head,
  .contacts__grid {
    grid-template-columns: 1fr;
  }
  .visit-photo,
  .price-photo {
    display: none;
  }
  .doc-feature {
    padding: 16px;
  }
  .quiz__opts {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  main > section:not(.hero) {
    padding-block: 34px;
  }
  .hero h1 {
    font-size: 38px;
  }
  .stats-band .stats__num {
    font-size: 26px;
  }
  .stats-band .stats__label {
    font-size: 12.5px;
  }
  .visit-steps {
    gap: 10px;
    margin-top: 20px;
  }
  .vstep,
  .visit-promise,
  .contacts__grid > div:first-child {
    padding: 18px;
  }
  .team-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

/* ==========================================================================
   ПОДВАЛ
   Цвета задаются явно: базовое правило p { color: var(--text) } иначе
   красит текст тёмным по тёмному.
   ========================================================================== */

.foot {
  --f-bg: #221D18;
  --f-txt: #D9D1C6;
  --f-dim: #9A9186;
  --f-gold: #C9A46A;
  --f-line: rgba(217, 209, 198, .16);

  background: var(--f-bg);
  color: var(--f-txt);
  padding-block: clamp(40px, 4.4vw, 76px) clamp(26px, 2.6vw, 40px);
}

/* ---------- страница документа: оглавление слева, текст справа ---------- */

.doc { padding-block: clamp(30px, 3.4vw, 56px) clamp(56px, 6vw, 96px); }

.doc__inner {
  display: grid;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 3.6vw, 64px);
}

.doc__aside { position: sticky; top: calc(var(--hdr, 101px) + 20px); display: grid; gap: 16px; }

.doc__toc {
  display: grid;
  gap: 2px;
  padding: clamp(18px, 1.8vw, 24px);
  border: 1px solid var(--in-line);
  border-radius: 20px;
  background: #fff;
}

.doc__toc-title {
  margin-bottom: 10px;
  color: var(--in-muted);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.doc__toc a {
  padding: 7px 10px;
  border-radius: 10px;
  color: var(--in-ink);
  font-size: 14.5px;
  line-height: 1.35;
  transition: background .2s var(--ease), color .2s var(--ease);
}

.doc__toc a:hover { background: var(--in-gold-sf); color: var(--in-gold-dk); }
.doc__toc-accent { margin-top: 8px; color: var(--in-gold-dk) !important; font-weight: 600; }

.doc__card {
  display: grid;
  gap: 6px;
  padding: clamp(18px, 1.8vw, 24px);
  border-radius: 20px;
  background: #221D18;
  color: #D9D1C6;
  font-size: 14.5px;
  line-height: 1.5;
}

.doc__card-title { margin-bottom: 6px; color: #9A9186; font-size: 12.5px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; }
.doc__card a { color: #fff; font-weight: 600; }
.doc__card a:hover { color: var(--in-gold); }

.doc__body { max-width: 860px; color: var(--in-ink); font-size: 16.5px; line-height: 1.68; }
.doc__body p { margin-bottom: 14px; color: #3D3932; }
.doc__body p:last-child { margin-bottom: 0; }

.doc__body h2 {
  margin: clamp(30px, 3vw, 46px) 0 14px;
  font-size: clamp(21px, 1.7vw, 27px);
  font-weight: 700;
  letter-spacing: -.01em;
  scroll-margin-top: calc(var(--hdr, 101px) + 24px);
}

.doc__body h2:first-of-type { margin-top: 0; }

.doc__list { margin: 0 0 16px; padding-left: 22px; list-style: disc; color: #3D3932; }
.doc__list li { margin-bottom: 8px; }

.doc__body a { color: var(--in-gold-dk); text-decoration: underline; text-underline-offset: 3px; }

.doc__warn {
  margin-bottom: clamp(26px, 2.6vw, 38px);
  padding: clamp(16px, 1.6vw, 22px) clamp(18px, 1.8vw, 26px);
  border: 1px solid #EBD5D5;
  border-radius: 18px;
  background: #FCF2F2;
  color: #7E4A45;
  font-size: 15px;
  line-height: 1.55;
}

.doc__warn b { color: #9A4B4B; }

.doc__note {
  padding: 14px 18px;
  border-left: 3px solid var(--in-gold);
  border-radius: 0 12px 12px 0;
  background: var(--in-gold-sf);
  color: #5A4B34 !important;
  font-size: 15px;
}

.doc__hr { height: 1px; margin: clamp(38px, 4vw, 60px) 0; border: 0; background: var(--in-line); }

@media (max-width: 960px) {
  .doc__inner { grid-template-columns: minmax(0, 1fr); }
  .doc__aside { position: static; }
  .doc__toc { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
  .doc__toc-title { grid-column: 1 / -1; }
}

.foot__inner {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--pad-x);
}

/* ---------- верх ---------- */

.foot__top {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
  gap: clamp(26px, 3vw, 54px);
  padding-bottom: clamp(28px, 3vw, 46px);
  border-bottom: 1px solid var(--f-line);
}

.foot__logo {
  width: clamp(130px, 11vw, 158px);
  height: auto;
  filter: brightness(0) invert(1);
  opacity: .92;
}

.foot__brand p {
  max-width: 34em;
  margin-top: 18px;
  color: var(--f-dim);
  font-size: 15px;
  line-height: 1.55;
}

.foot__a11y {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 22px;
  padding-inline: 20px;
  border: 1px solid var(--f-line);
  border-radius: 999px;
  background: transparent;
  color: var(--f-txt);
  font-family: var(--font-text);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .25s var(--ease), background .25s var(--ease);
}

.foot__a11y svg { width: 19px; height: 19px; }
.foot__a11y:hover { border-color: var(--f-gold); background: rgba(201, 164, 106, .12); }
.foot__a11y:focus-visible { outline: 2px solid var(--f-gold); outline-offset: 3px; }

/* колонки ссылок */

.foot__col { display: flex; flex-direction: column; align-items: flex-start; }

.foot__col h3 {
  margin-bottom: 18px;
  color: #fff;
  font-family: var(--font-text);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.foot__col a {
  display: inline-block;
  padding-block: 7px;
  color: var(--f-txt);
  font-size: 15.5px;
  line-height: 1.35;
  transition: color .2s var(--ease);
}

.foot__col a:hover { color: var(--f-gold); }
.foot__col a:focus-visible { outline: 2px solid var(--f-gold); outline-offset: 3px; border-radius: 4px; }

.foot__phone {
  font-size: 19px !important;
  font-weight: 700;
  letter-spacing: -.01em;
  color: #fff !important;
}

.foot__phone:hover { color: var(--f-gold) !important; }

.foot__addr,
.foot__hours {
  margin-top: 14px;
  color: var(--f-dim);
  font-size: 14.5px;
  line-height: 1.45;
}

.foot__hours { margin-top: 8px; }

/* ---------- низ ---------- */

.foot__legal { padding-top: clamp(20px, 2.2vw, 30px); }

.foot__warn {
  max-width: 78em;
  color: var(--f-dim);
  font-size: 13.5px;
  line-height: 1.5;
}

.foot__legal-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.foot__legal-row p,
.foot__copy {
  color: var(--f-dim);
  font-size: 13.5px;
  line-height: 1.5;
}

.foot__docs {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.foot__docs a {
  color: var(--f-txt);
  font-size: 13.5px;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: rgba(217, 209, 198, .35);
  transition: color .2s var(--ease);
}

.foot__docs a:hover { color: var(--f-gold); }
.foot__docs a:focus-visible { outline: 2px solid var(--f-gold); outline-offset: 3px; border-radius: 4px; }

/* ---------- адаптив ---------- */

@media (max-width: 1000px) {
  .foot__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .foot__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .foot__top { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .foot__a11y { width: 100%; justify-content: center; }
  .foot__legal-row { flex-direction: column; gap: 6px; }
  .foot__docs { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .foot__a11y, .foot__col a, .foot__docs a { transition: none; }
}

/* ==========================================================================
   ФИНАЛЬНЫЙ CTA НА ВНУТРЕННИХ СТРАНИЦАХ
   ========================================================================== */

.cta-dark {
  position: relative;
  /* clip вместо hidden: hidden делает блок прокручиваемым, и при фокусе
     в поле телефона браузер утягивал содержимое вверх — заголовок липнул к краю */
  overflow: clip;
  background: #221D18;
  color: #E9E2D8;
  text-align: center;
}

.cta-dark::before,
.cta-dark::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(201, 164, 106, .16);
  pointer-events: none;
}

.cta-dark::before { width: 920px; height: 920px; top: -600px; left: -160px; }
.cta-dark::after  { width: 700px;  height: 700px;  bottom: -480px; right: -140px; }

.cta-dark__inner {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4.7vw, 76px);
}

.cta-dark h2 {
  color: #fff;
  letter-spacing: -.02em;
  text-wrap: balance;   /* заголовок ложится в две ровные строки */
}

.cta-dark__lead {
  margin: 16px auto 0;
  max-width: 34em;
  color: #C4BBAF;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.5;
}

.cta-dark__btn {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-height: 70px;
  margin-top: clamp(24px, 2.4vw, 34px);
  padding: 7px 7px 7px 30px;
  border: 0;
  border-radius: 999px;
  /* блок тёмный — кнопка белая */
  background: #fff;
  color: #1B1713;
  font-family: var(--font-text);
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.15;
  cursor: pointer;
  transition: background .25s var(--ease);
}

.cta-dark__btn i {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 50%;
  background: #F4EFE7;
  color: #1B1713;
  transition: transform .25s var(--ease);
}

.cta-dark__btn i svg { width: 20px; height: 20px; }
.cta-dark__btn:hover { background: #F2ECE2; }
.cta-dark__btn:hover i { transform: translateX(4px); }
.cta-dark__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* открытая форма вместо кнопки, которая открывала модалку */
.cta-form { margin-top: clamp(24px, 2.4vw, 34px); }

.cta-form__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.cta-form input[type="text"],
.cta-form input[type="tel"] {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 290px;
  height: 70px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #FBF8F3;
  color: #16150F;
  font-family: var(--font-text);
  font-size: 17px;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
}

.cta-form input::placeholder { color: #857C71; }

.cta-form input:focus {
  outline: none;
  border-color: #C9A46A;
  box-shadow: 0 0 0 3px rgba(201, 164, 106, .3);
}

.cta-form .cta-dark__btn { margin-top: 0; }

.cta-form__consent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  color: #A79C90;
  font-size: 13.5px;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
}

.cta-form__consent input { accent-color: #C9A46A; flex: none; width: 16px; height: 16px; }
.cta-form__consent a { color: #C9A46A; text-decoration: underline; }

.cta-form .form__msg { color: #C4BBAF; }
.cta-form .form__msg.is-err { color: #E0A197; }
.cta-form .form__done { color: #fff; }

@media (max-width: 720px) {
  .cta-form__row { flex-direction: column; }
  /* в колонке flex-basis считается по высоте — поля нельзя тянуть */
  .cta-form input[type="text"],
  .cta-form input[type="tel"] { flex: none; width: 100%; max-width: none; height: 62px; }
  .cta-form .cta-dark__btn { width: 100%; }
  .cta-form__consent { align-items: flex-start; }
  .cta-form__consent input { margin-top: 2px; }
}

.cta-dark__note {
  margin-top: clamp(20px, 2vw, 28px);
  color: #958B80;
  font-size: 13.5px;
  line-height: 1.5;
}

@media (max-width: 620px) {
  .cta-dark__btn { width: 100%; justify-content: space-between; min-height: 62px; font-size: 16.5px; padding-left: 22px; }
  .cta-dark__btn i { width: 48px; height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .cta-dark__btn, .cta-dark__btn i { transition: none; }
}

/* ==========================================================================
   ЕДИНЫЕ КНОПКИ — та же логика, что в блоках главной
   ========================================================================== */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  padding: 14px 32px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--font-text);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
  cursor: pointer;
  transition: background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}

.btn:hover,
.btn:active { transform: none; }

/* основная — золотая */
.btn,
.btn--gold {
  background: var(--btn-gold);
  border-color: var(--btn-gold);
  color: var(--btn-ink);
}

.btn:hover,
.btn--gold:hover { background: var(--btn-gold-dk); border-color: var(--btn-gold-dk); color: var(--btn-ink); }
.btn:active,
.btn--gold:active { background: #8B7257; border-color: #8B7257; color: var(--btn-ink); }

/* вторичная — контурная */
.btn--ghost {
  background: transparent;
  border-color: rgba(22, 21, 15, .18);
  color: #16150F;
  box-shadow: none;
}

.btn--ghost:hover {
  background: rgba(182, 138, 75, .1);
  border-color: rgba(182, 138, 75, .55);
  color: #16150F;
}

/* на тёмном фоне */
.btn--light {
  background: #C9A46A;
  border-color: #C9A46A;
  color: #221D18;
}

.btn--light:hover { background: #DCBB86; border-color: #DCBB86; color: #221D18; }

.btn--lg { min-height: 70px; padding: 16px 38px; font-size: 18px; }
.btn--xl { min-height: 76px; padding: 18px 42px; font-size: 19px; }
.btn--block { width: 100%; }

.btn:focus-visible,
.btn--ghost:focus-visible { outline: 2px solid #946F3A; outline-offset: 3px; }

/* ==========================================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — приводим к языку главной
   ========================================================================== */

:root {
  --in-gold: #B68A4B;
  --in-gold-dk: #946F3A;
  --in-gold-sf: #F4ECE0;
  --in-green: #3E7259;
  --in-green-dk: #2F6551;
  --in-ink: #16150F;
  --in-muted: #5E5A55;
  --in-line: #E8E2D9;
}

main > section.section--soft   { background: #FAF7F2; }
main > section.section--accent { background: #F4F7F4; }

/* надзаголовок */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  color: var(--in-green);
  font-family: var(--font-text);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 32px;
  height: 2px;
  background: var(--in-green);
  flex: none;
}

/* хлебные крошки */
.crumbs { color: var(--in-muted); font-size: 14.5px; }
.crumbs a { color: var(--in-muted); }
.crumbs a:hover { color: var(--in-gold-dk); }

/* карточки этапов */
.feat {
  padding: clamp(20px, 1.9vw, 28px);
  border: 1px solid var(--in-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: none;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

.feat:hover { transform: translateY(-3px); box-shadow: 0 22px 46px -38px rgba(45,40,35,.5); }

.feat h3 {
  margin-bottom: 12px;
  color: var(--in-gold) !important;
  font-family: var(--font-text) !important;
  font-size: clamp(26px, 2vw, 32px);
  font-weight: 700;
  line-height: 1;
}

.feat h4 {
  margin-bottom: 8px;
  color: var(--in-ink);
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 700;
  line-height: 1.25;
}

.feat p { color: var(--in-muted); font-size: 15.5px; line-height: 1.5; }

/* списки с галочками */
.checklist li { color: var(--in-ink); }
.checklist li::before { background: var(--in-gold) !important; }

/* таблица цен */
.price-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 26px 60px -50px rgba(45,40,35,.5);
}

.price-table thead th {
  padding: 24px clamp(18px, 2vw, 30px);
  background: #2D2823;
  color: #F3EEE6;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: left;
}

.price-table thead th:last-child { text-align: right; }

.price-table tbody td {
  padding: clamp(15px, 1.4vw, 20px) clamp(18px, 2vw, 30px);
  border-bottom: 1px solid #F0ECE4;
  color: var(--in-ink);
  font-size: clamp(15.5px, 1.2vw, 17px);
  font-weight: 500;
  background: #fff;
}

.price-table tbody tr:last-child td { border-bottom: 0; }

.price-table tbody td:last-child {
  color: var(--in-green);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
}

/* на телефоне таблица не влезала по ширине — ужимаем поля и кегль */
@media (max-width: 560px) {
  .price-table thead th { padding: 16px 14px; font-size: 12.5px; letter-spacing: 1.4px; }
  .price-table tbody td { padding: 13px 14px; font-size: 14.5px; }
}

/* карточки смежных услуг */
.svc-card {
  display: block;
  border: 1px solid var(--in-line);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

.svc-card:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -36px rgba(45,40,35,.5); }
.svc-card__media { height: 180px; overflow: hidden; }
.svc-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--ease); }
.svc-card:hover .svc-card__media img { transform: scale(1.03); }
.svc-card__body { padding: 18px 20px 20px; }

.svc-card__body h3 {
  margin-bottom: 14px;
  color: var(--in-ink);
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 700;
  line-height: 1.25;
}

.svc-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.svc-card__price {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--in-green);
  font-size: 13px;
}

.svc-card__price b { font-size: 17px; font-weight: 700; }
.svc-card__more { color: var(--in-gold-dk); font-size: 14px; font-weight: 600; }

/* аккордеон вопросов */
.faq details {
  border: 1px solid var(--in-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
  margin-bottom: 12px;
}

.faq details[open] { border-color: rgba(182,138,75,.45); box-shadow: 0 18px 44px -38px rgba(45,40,35,.5); }
.faq summary { padding: clamp(18px, 1.8vw, 26px) clamp(20px, 2vw, 28px); font-size: clamp(16.5px, 1.25vw, 18.5px); }
.faq summary::after { color: var(--in-gold) !important; }
.faq details[open] summary { color: var(--in-gold-dk); }
.faq details > div { padding: 0 clamp(20px, 2vw, 28px) clamp(20px, 1.8vw, 26px); color: var(--in-muted); }

@media (prefers-reduced-motion: reduce) {
  .feat, .svc-card, .svc-card__media img { transition: none; }
  .feat:hover, .svc-card:hover { transform: none; }
}

/* заголовки секций на внутренних страницах — по левому краю, как на главной */
main .center { text-align: left; }
main .center .eyebrow { justify-content: flex-start; }
main .center > .lead,
main .center > p { margin-left: 0; margin-right: 0; max-width: 62ch; }

/* ---------- шапка внутренней страницы ---------- */

.page-head { padding-block: clamp(26px, 3vw, 48px) clamp(20px, 2.4vw, 36px); }
.page-head h1 {
  max-width: 22ch;
  color: var(--in-ink);
  letter-spacing: -.02em;
  text-wrap: balance;
}
.page-head .lead {
  max-width: 62ch;
  margin: 16px 0 0;
  color: var(--in-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
}

/* кнопка и телефон в одну строку */
.page-head__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px clamp(20px, 2vw, 30px);
  margin-top: clamp(22px, 2.4vw, 32px);
}

.page-head__phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--in-ink);
  font-size: clamp(19px, 1.5vw, 23px);
  font-weight: 700;
  letter-spacing: -.01em;
  transition: color .25s var(--ease);
}

.page-head__phone::before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--in-gold);
}

.page-head__phone:hover { color: var(--in-gold-dk); }

/* три факта — карточками, как на главной */
.page-head__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(28px, 3vw, 44px);
}

.page-head__facts > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: clamp(16px, 1.6vw, 22px) clamp(18px, 1.8vw, 26px);
  border: 1px solid var(--in-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 40px -38px rgba(45, 40, 35, .55);
}

.page-head__facts b {
  color: var(--in-gold-dk);
  font-size: clamp(24px, 2.1vw, 30px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
}

.page-head__facts span {
  color: var(--in-muted);
  font-size: 15px;
  line-height: 1.45;
}

/* ---------- шапка в две колонки: текст слева, навигатор справа ---------- */

.page-head--split .page-head__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  column-gap: clamp(32px, 4vw, 76px);
  row-gap: clamp(28px, 3vw, 44px);
  align-items: center;
}

/* в колонке ограничения по ширине строки уже не нужны */
.page-head--split .page-head__text h1,
.page-head--split .page-head__text .lead { max-width: none; }

.page-head--split .page-head__facts {
  grid-column: 1 / -1;
  margin-top: 0;
}

/* карточка со списком разделов прайса */
.price-nav {
  padding: clamp(22px, 2.2vw, 32px) clamp(22px, 2.2vw, 34px);
  border: 1px solid var(--in-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 34px 64px -48px rgba(45, 40, 35, .62);
}

.price-nav__title {
  margin: 0 0 4px;
  color: var(--in-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.price-nav ul { margin: 0; padding: 0; list-style: none; }
.price-nav li + li { border-top: 1px solid var(--in-line); }

.price-nav a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  color: var(--in-ink);
  font-size: clamp(16px, 1.1vw, 18px);
  font-weight: 600;
  line-height: 1.35;
  transition: color .25s var(--ease);
}

.price-nav em {
  flex: none;
  color: var(--in-muted);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
}

.price-nav a:hover,
.price-nav a:hover em,
.price-nav a:focus-visible { color: var(--in-gold-dk); }

.price-nav__note {
  margin: 16px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--in-line);
  color: var(--in-muted);
  font-size: 15px;
  line-height: 1.45;
}

.price-nav__note b { color: var(--in-gold-dk); font-weight: 700; }

/* якорь не должен уезжать под липкую шапку */
.price-cols > [id] { scroll-margin-top: calc(var(--hdr, 101px) + 24px); }

@media (max-width: 980px) {
  .page-head--split .page-head__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- прайс в две колонки ---------- */

.price-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(28px, 3vw, 48px);
}

.price-cols > div > h2 {
  margin-bottom: 18px;
  font-size: clamp(24px, 2.1vw, 34px);
  letter-spacing: -.01em;
}

@media (max-width: 1000px) {
  .price-cols { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- хабы услуг и врачей ---------- */

.hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(16px, 1.6vw, 24px); }
.hub-grid .svc-card__media { height: 210px; }
.hub-grid .svc-card__body h2 { margin-bottom: 8px; font-size: clamp(18px, 1.4vw, 22px); font-weight: 700; letter-spacing: -.01em; }
.svc-card__desc { margin-bottom: 16px; color: var(--in-muted); font-size: 15px; line-height: 1.45; }
.hub-grid .svc-card__price b { font-size: 18px; }

.hub-docs { grid-template-columns: repeat(4, minmax(0,1fr)); }
.hub-docs .doc-card { width: 100%; }

.hub-note {
  margin-top: clamp(18px, 2vw, 28px);
  color: var(--in-muted);
  font-size: 14.5px;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .hub-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hub-docs { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .hub-grid, .hub-docs { grid-template-columns: minmax(0,1fr); }
}

.price-note {
  margin-top: 14px;
  color: #6F6A63;
  font-size: 13.5px;
  line-height: 1.5;
}

/* ---------- состояния формы заявки ---------- */

.form__msg {
  margin-top: 12px;
  color: #6F6A63;
  font-size: 14.5px;
  line-height: 1.45;
  min-height: 0;
}

.form__msg:empty { margin-top: 0; }
.form__msg.is-err { color: #B4443A; }

.form__done {
  padding: 26px 0;
  text-align: center;
  color: var(--in-ink, #16150F);
  font-size: 18px;
  line-height: 1.5;
}

.form button[disabled] { opacity: .7; cursor: default; }

/* ---------- форма заявки на странице ---------- */

.lead-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 480px);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.lead-form h2 { color: var(--in-ink); letter-spacing: -.02em; }
.lead-form .lead { max-width: 46ch; margin-top: 14px; color: var(--in-muted); font-size: clamp(16px, 1.25vw, 19px); line-height: 1.5; }

.lead-form .form {
  padding: clamp(24px, 2.4vw, 36px);
  border: 1px solid var(--in-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 56px -46px rgba(45,40,35,.5);
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  .lead-form { grid-template-columns: minmax(0, 1fr); }
}

/* стаж на карточке врача */
.doc-card__staj {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 7px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  color: #6F6A63;
  font-size: 11px;
  line-height: 1.1;
  letter-spacing: .04em;
  box-shadow: 0 6px 18px -12px rgba(30,27,24,.5);
}

.doc-card__staj b { color: #16150F; font-size: 14px; font-weight: 700; }

/* ---------- страница врача ---------- */

.doc-hero { padding-block: clamp(24px, 3vw, 46px) clamp(30px, 3.4vw, 56px); }

.doc-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-items: center;
  gap: clamp(26px, 3.6vw, 60px);
}

.doc-hero__photo {
  position: relative;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #EDF1EE;
}

.doc-hero__photo img { width: 100%; height: clamp(360px, 40vw, 580px); object-fit: cover; object-position: 50% 15%; display: block; }

.doc-hero__photo figcaption {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 15px;
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  color: #6F6A63;
  font-size: 12px;
  letter-spacing: .04em;
  box-shadow: 0 8px 22px -14px rgba(30,27,24,.5);
}

.doc-hero__photo figcaption b { color: #16150F; font-size: 16px; font-weight: 700; }

.doc-hero__body h1 { color: var(--in-ink); letter-spacing: -.02em; }

.doc-hero__role {
  margin-top: 10px;
  color: var(--in-gold-dk);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 600;
}

.doc-hero__body .lead {
  max-width: 56ch;
  margin-top: 16px;
  color: var(--in-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
}

.doc-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(18px, 2.4vw, 40px);
  margin-top: clamp(20px, 2.2vw, 30px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--in-line);
}

.doc-hero__facts dt { color: var(--in-muted); font-size: 13.5px; margin-bottom: 4px; }
.doc-hero__facts dd { margin: 0; color: var(--in-ink); font-size: clamp(18px, 1.5vw, 22px); font-weight: 700; }

.doc-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 2.4vw, 32px); }

@media (max-width: 900px) {
  .doc-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .doc-hero__photo img { height: clamp(300px, 62vw, 420px); }
  .doc-hero__cta .btn { width: 100%; }
}

/* лид и крупные числа — по эталону главной */
main .lead {
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
  color: var(--in-muted);
}

.hero__mini b { font-weight: 700 !important; letter-spacing: -.02em; }

/* ---------- правила переноса строк ---------- */

h1, h2, h3, h4 {
  text-wrap: balance;           /* строки заголовка выравниваются по длине */
  hyphens: none;
}

p, li, dd, figcaption, summary {
  text-wrap: pretty;            /* не оставляет одиночное слово на последней строке */
}

/* в узких колонках переносим длинные слова, а не ломаем сетку */
.price-table td, .price-table th,
.svc-tile__title, .doc-card__name b { overflow-wrap: break-word; }

/* ---------- вводный блок услуги ---------- */

.svc-intro {
  position: relative;
  overflow: hidden;
  background: #FBFAF7;
}

.svc-intro::before {
  content: "";
  position: absolute;
  width: 900px; height: 900px;
  top: -560px; right: -200px;
  border-radius: 50%;
  border: 1px solid rgba(182, 138, 75, .13);
  pointer-events: none;
}

.svc-intro__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 50fr) minmax(0, 50fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.svc-intro__kicker {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 16px;
  color: var(--in-gold-dk);
  font-size: 14px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase;
}

.svc-intro__kicker::before { content: ""; width: 34px; height: 2px; background: var(--in-gold); flex: none; }

.svc-intro h2 {
  font-size: clamp(30px, 3.1vw, 48px);
  line-height: 1.04; letter-spacing: -.02em; color: var(--in-ink);
}

.svc-intro__accent { color: var(--in-gold); }

.svc-intro__lead {
  max-width: 46ch; margin-top: 16px;
  color: var(--in-muted); font-size: clamp(16.5px, 1.25vw, 19px); line-height: 1.5;
}

/* пункты — компактной лентой, а не списком на всю колонку */

.svc-intro__actions {
  display: flex; align-items: center; gap: clamp(14px, 1.8vw, 24px); flex-wrap: wrap;
  margin-top: clamp(20px, 2.2vw, 30px);
}

.svc-intro__cta {
  display: inline-flex; align-items: center; gap: 16px;
  min-height: 66px; padding: 7px 7px 7px 26px;
  border: 0; border-radius: 999px;
  background: var(--in-gold); color: #fff;
  font-family: var(--font-text); font-size: 17px; font-weight: 700; line-height: 1.15;
  cursor: pointer; transition: background .25s var(--ease);
}

.svc-intro__cta i {
  display: grid; place-items: center;
  width: 52px; height: 52px; flex: none;
  border-radius: 50%; background: #fff; color: var(--in-gold-dk);
  transition: transform .25s var(--ease);
}

.svc-intro__cta i svg { width: 19px; height: 19px; }
.svc-intro__cta:hover { background: var(--in-gold-dk); }
.svc-intro__cta:hover i { transform: translateX(4px); }
.svc-intro__cta:focus-visible { outline: 2px solid var(--in-ink); outline-offset: 3px; }

.svc-intro__note {
  margin-top: clamp(18px, 2vw, 26px);
  color: var(--in-muted);
  font-size: 15.5px;
  line-height: 1.5;
}

/* визуал справа */
.svc-intro__visual { margin: 0; }

.svc-intro__visual .case-ba,
.svc-intro__visual--photo img {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 70px -50px rgba(45, 40, 35, .55);
}

.svc-intro__visual .case-ba { aspect-ratio: 4 / 3.2; max-width: 560px; margin-left: auto; }
.svc-intro__visual--photo img { display: block; max-width: 560px; margin-left: auto; height: clamp(280px, 26vw, 400px); object-fit: cover; }

.svc-intro__visual figcaption {
  margin-top: 14px;
  color: var(--in-muted);
  font-size: 14.5px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .svc-intro__inner { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .svc-intro__cta { width: 100%; justify-content: space-between; padding-left: 22px; }
}

/* ---------- страница врача ---------- */

.doc-hero { padding-block: clamp(24px, 3vw, 46px) clamp(30px, 3.4vw, 56px); }

.doc-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-items: center;
  gap: clamp(26px, 3.6vw, 60px);
}

.doc-hero__photo {
  position: relative;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #EDF1EE;
}

.doc-hero__photo img { width: 100%; height: clamp(360px, 40vw, 580px); object-fit: cover; object-position: 50% 15%; display: block; }

.doc-hero__photo figcaption {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 15px;
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  color: #6F6A63;
  font-size: 12px;
  letter-spacing: .04em;
  box-shadow: 0 8px 22px -14px rgba(30,27,24,.5);
}

.doc-hero__photo figcaption b { color: #16150F; font-size: 16px; font-weight: 700; }

.doc-hero__body h1 { color: var(--in-ink); letter-spacing: -.02em; }

.doc-hero__role {
  margin-top: 10px;
  color: var(--in-gold-dk);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 600;
}

.doc-hero__body .lead {
  max-width: 56ch;
  margin-top: 16px;
  color: var(--in-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
}

.doc-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(18px, 2.4vw, 40px);
  margin-top: clamp(20px, 2.2vw, 30px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--in-line);
}

.doc-hero__facts dt { color: var(--in-muted); font-size: 13.5px; margin-bottom: 4px; }
.doc-hero__facts dd { margin: 0; color: var(--in-ink); font-size: clamp(18px, 1.5vw, 22px); font-weight: 700; }

.doc-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 2.4vw, 32px); }

@media (max-width: 900px) {
  .doc-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .doc-hero__photo img { height: clamp(300px, 62vw, 420px); }
  .doc-hero__cta .btn { width: 100%; }
}

/* лид и крупные числа — по эталону главной */
main .lead {
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
  color: var(--in-muted);
}

.hero__mini b { font-weight: 700 !important; letter-spacing: -.02em; }

/* ---------- правила переноса строк ---------- */

h1, h2, h3, h4 {
  text-wrap: balance;           /* строки заголовка выравниваются по длине */
  hyphens: none;
}

p, li, dd, figcaption, summary {
  text-wrap: pretty;            /* не оставляет одиночное слово на последней строке */
}

/* в узких колонках переносим длинные слова, а не ломаем сетку */
.price-table td, .price-table th,
.svc-tile__title, .doc-card__name b { overflow-wrap: break-word; }

/* ---------- вводный блок услуги (по образцу главной) ---------- */

.svc-intro {
  position: relative;
  overflow: clip;
  border-top: 1px solid var(--in-line);
  background: #fff;
  padding-block: clamp(36px, 4vw, 68px);
}

.svc-intro::before {
  content: "";
  position: absolute;
  width: 900px;
  height: 900px;
  top: -560px;
  right: -200px;
  border-radius: 50%;
  border: 1px solid rgba(182, 138, 75, .13);
  pointer-events: none;
}

.svc-intro__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.svc-intro__kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  color: var(--in-gold-dk);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.svc-intro__kicker::before {
  content: "";
  width: 34px;
  height: 2px;
  background: var(--in-gold);
  flex: none;
}

/* h2 заметно меньше h1 первого экрана — иначе блоки читаются как два главных */
.svc-intro h2 {
  font-size: clamp(25px, 2.3vw, 36px);
  line-height: 1.12;
  letter-spacing: -.015em;
  color: var(--in-ink);
}

.svc-intro__accent { color: var(--in-gold); }

.svc-intro__lead {
  max-width: 48ch;
  margin-top: 14px;
  color: var(--in-muted);
  font-size: clamp(15.5px, 1.1vw, 17px);
  line-height: 1.55;
}

.svc-intro__cta {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 68px;
  margin-top: clamp(22px, 2.4vw, 32px);
  padding: 7px 7px 7px 28px;
  border: 0;
  border-radius: 999px;
  background: var(--in-gold);
  color: #fff;
  font-family: var(--font-text);
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.15;
  cursor: pointer;
  transition: background .25s var(--ease);
}

.svc-intro__cta i {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  flex: none;
  border-radius: 50%;
  background: #fff;
  color: var(--in-gold-dk);
  transition: transform .25s var(--ease);
}

.svc-intro__cta i svg { width: 20px; height: 20px; }
.svc-intro__cta:hover { background: var(--in-gold-dk); }
.svc-intro__cta:hover i { transform: translateX(4px); }
.svc-intro__cta:focus-visible { outline: 2px solid var(--in-ink); outline-offset: 3px; }

.svc-intro__points { list-style: none; margin-top: clamp(20px, 2.2vw, 30px); }

.svc-intro__points li {
  display: flex;
  align-items: flex-start;
  gap: clamp(16px, 1.6vw, 24px);
  padding-block: clamp(16px, 1.5vw, 22px);
  border-top: 1px solid var(--in-line);
}

.svc-intro__points li:first-child { border-top: 0; padding-top: 0; }

.svc-intro__num {
  flex: none;
  min-width: 46px;
  color: var(--in-gold);
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.svc-intro__txt b {
  display: block;
  margin-bottom: 5px;
  color: var(--in-ink);
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 700;
  line-height: 1.22;
}

.svc-intro__txt > span {
  display: block;
  color: var(--in-muted);
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.45;
}

@media (max-width: 900px) {
  .svc-intro__inner { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .svc-intro__cta { width: 100%; justify-content: space-between; padding-left: 22px; font-size: 16px; }
}

/* ---------- страница врача ---------- */

.doc-hero { padding-block: clamp(24px, 3vw, 46px) clamp(30px, 3.4vw, 56px); }

.doc-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  align-items: center;
  gap: clamp(26px, 3.6vw, 60px);
}

.doc-hero__photo {
  position: relative;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #EDF1EE;
}

.doc-hero__photo img { width: 100%; height: clamp(360px, 40vw, 580px); object-fit: cover; object-position: 50% 15%; display: block; }

.doc-hero__photo figcaption {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 15px;
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  color: #6F6A63;
  font-size: 12px;
  letter-spacing: .04em;
  box-shadow: 0 8px 22px -14px rgba(30,27,24,.5);
}

.doc-hero__photo figcaption b { color: #16150F; font-size: 16px; font-weight: 700; }

.doc-hero__body h1 { color: var(--in-ink); letter-spacing: -.02em; }

.doc-hero__role {
  margin-top: 10px;
  color: var(--in-gold-dk);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 600;
}

.doc-hero__body .lead {
  max-width: 56ch;
  margin-top: 16px;
  color: var(--in-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
}

.doc-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(18px, 2.4vw, 40px);
  margin-top: clamp(20px, 2.2vw, 30px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--in-line);
}

.doc-hero__facts dt { color: var(--in-muted); font-size: 13.5px; margin-bottom: 4px; }
.doc-hero__facts dd { margin: 0; color: var(--in-ink); font-size: clamp(18px, 1.5vw, 22px); font-weight: 700; }

.doc-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(22px, 2.4vw, 32px); }

@media (max-width: 900px) {
  .doc-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .doc-hero__photo img { height: clamp(300px, 62vw, 420px); }
  .doc-hero__cta .btn { width: 100%; }
}

/* лид и крупные числа — по эталону главной */
main .lead {
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.5;
  color: var(--in-muted);
}

.hero__mini b { font-weight: 700 !important; letter-spacing: -.02em; }

/* ---------- правила переноса строк ---------- */

h1, h2, h3, h4 {
  text-wrap: balance;           /* строки заголовка выравниваются по длине */
  hyphens: none;
}

p, li, dd, figcaption, summary {
  text-wrap: pretty;            /* не оставляет одиночное слово на последней строке */
}

/* в узких колонках переносим длинные слова, а не ломаем сетку */
.price-table td, .price-table th,
.svc-tile__title, .doc-card__name b { overflow-wrap: break-word; }

/* ---------- вводный блок услуги ---------- */

.intro { background: #FAF7F2; }

.intro__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
  align-items: start;
  gap: clamp(24px, 3.4vw, 56px);
  padding: clamp(28px, 3.4vw, 56px);
  border: 1px solid var(--in-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 26px 60px -50px rgba(45, 40, 35, .5);
  overflow: hidden;
}

/* мягкая дуга в углу карточки */
.intro__card::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -180px;
  top: -220px;
  border-radius: 50%;
  border: 1px solid rgba(182, 138, 75, .16);
  pointer-events: none;
}

.intro__mark {
  position: absolute;
  top: clamp(22px, 2.4vw, 34px);
  right: clamp(24px, 2.6vw, 42px);
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--in-gold-sf);
  color: var(--in-gold-dk);
}

.intro__mark svg { width: 26px; height: 26px; }

.intro__head h2 {
  margin-top: 6px;
  letter-spacing: -.02em;
  max-width: 14ch;
}

.intro__head::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: clamp(16px, 1.8vw, 24px);
  border-radius: 2px;
  background: var(--in-gold);
}

.intro__body { padding-right: clamp(0px, 6vw, 90px); }

.intro__body p {
  max-width: 62ch;
  color: var(--in-muted);
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.6;
}

.intro__body p + p { margin-top: 14px; }

@media (max-width: 900px) {
  .intro__card { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .intro__mark { width: 46px; height: 46px; }
  .intro__body { padding-right: 0; }
  .intro__head h2 { max-width: none; }
}


/* ---------- блок показаний: на фотографии клиники ---------- */

.ind {
  position: relative;
  overflow: clip;
  /* светлый фон-визуал клиники, текст по нему читается без затемнения */
  /* кадр от верхнего края: зуб с подставкой уходит ниже текста */
  background: #F7F1E8 url('/images/ind-bg.jpg') center top / cover no-repeat;
  color: var(--in-ink);
}

/* лёгкая вуаль слева — чтобы заголовок не ложился на блики */
.ind::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(252, 248, 242, .9) 0%, rgba(252, 248, 242, .55) 40%, rgba(252, 248, 242, 0) 66%);
}

.ind__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.ind__kicker {
  display: flex; align-items: center; gap: 14px; margin-bottom: 16px;
  color: #A98455;
  font-size: 14px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase;
}

.ind__kicker::before { content: ""; width: 34px; height: 2px; background: #C2A071; flex: none; }

.ind h2 { color: #2A211A; letter-spacing: -.02em; }

.ind__lead {
  max-width: 40ch; margin-top: 16px;
  color: #5E5349; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.5;
}

.ind__cta {
  display: inline-flex; align-items: center; gap: 16px;
  min-height: 66px; margin-top: clamp(22px, 2.4vw, 32px);
  padding: 7px 7px 7px 28px;
  border: 0; border-radius: 999px;
  /* блок на тёмном фото — кнопка белая */
  background: var(--btn-gold); color: var(--btn-ink);
  font-family: var(--font-text); font-size: 17.5px; font-weight: 700; line-height: 1.15;
  cursor: pointer; transition: background .25s var(--ease);
}

.ind__cta i {
  display: grid; place-items: center;
  width: 52px; height: 52px; flex: none;
  border-radius: 50%; background: #fff; color: #A98455;
  transition: transform .25s var(--ease);
}

.ind__cta i svg { width: 19px; height: 19px; }
.ind__cta:hover { background: var(--btn-gold-dk); }
.ind__cta:hover i { transform: translateX(4px); }
.ind__cta:focus-visible { outline: 2px solid #2A211A; outline-offset: 3px; }

.ind__note { margin-top: 14px; color: #7A6E61; font-size: 14.5px; }

/* пункты — белые плашки, максимальная читаемость поверх фото */
/* карточки показаний: сетка 2×2, номер и иконка сверху */
.ind__items {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
}

.ind__items li {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 1.8vw, 26px);
  padding: clamp(18px, 1.9vw, 26px);
  border-radius: 22px;
  background: rgba(255, 253, 250, .96);
  box-shadow: 0 26px 52px -40px rgba(92, 72, 45, .55);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

.ind__items li:hover { transform: translateY(-4px); box-shadow: 0 30px 56px -36px rgba(92, 72, 45, .55); }

.ind__head { display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; height: auto; background: none; border-radius: 0; }

.ind__items span {
  display: grid; place-items: center;
  width: 48px; height: 48px; flex: none;
  border-radius: 50%;
  background: #F2E6D4;
  color: #946F3A;
  font-size: 16px; font-weight: 700; letter-spacing: .04em;
}

.ind__ic {
  display: grid; place-items: center;
  width: 60px; height: 60px; flex: none;
  border-radius: 50%;
  border: 1px solid rgba(182, 138, 75, .32);
  color: #A98455;
}

.ind__ic svg { width: 30px; height: 30px; }

.ind__items p {
  color: #16150F;
  font-size: clamp(16px, 1.25vw, 18.5px);
  font-weight: 500;
  line-height: 1.42;
}

@media (max-width: 900px) {
  .ind__inner { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ind::before { background: linear-gradient(180deg, rgba(252,248,242,.86), rgba(252,248,242,.62)); }
  .ind__items { grid-template-columns: minmax(0, 1fr); }
  .ind__cta { width: 100%; justify-content: space-between; padding-left: 22px; }
}

/* ---------- наполнение блоков вместо пустоты ---------- */

.svc-intro__note {
  max-width: 44ch;
  margin-top: clamp(16px, 1.8vw, 24px);
  color: var(--in-muted);
  font-size: 15.5px;
  line-height: 1.5;
}

.ind__lead {
  max-width: 62ch;
  margin-top: 14px;
  color: var(--in-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.5;
}

.ind__foot {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  flex-wrap: wrap;
  margin-top: clamp(22px, 2.4vw, 34px);
}

.ind__foot span { color: var(--in-muted); font-size: 15.5px; }

.stages__lead {
  max-width: 62ch;
  margin-top: 14px;
  color: var(--in-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.5;
}

.cta-dark__contacts {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 40px);
  flex-wrap: wrap;
  margin-top: clamp(24px, 2.6vw, 36px);
  padding-top: clamp(20px, 2.2vw, 30px);
  border-top: 1px solid rgba(201, 164, 106, .22);
}

.cta-dark__contacts a { color: #fff; font-size: clamp(17px, 1.4vw, 21px); font-weight: 700; letter-spacing: -.01em; }
.cta-dark__contacts a:hover { color: #C9A46A; }
.cta-dark__contacts span { color: #A79C90; font-size: 15.5px; }

@media (max-width: 620px) {
  .ind__foot .btn { width: 100%; }
  .cta-dark__contacts { flex-direction: column; gap: 10px; }
}

.block__lead {
  max-width: 64ch;
  margin-top: 14px;
  color: var(--in-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.5;
}

.price-foot {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.8vw, 26px);
  flex-wrap: wrap;
  margin-top: clamp(22px, 2.4vw, 32px);
}

.price-foot span { color: var(--in-muted); font-size: 15.5px; }

@media (max-width: 620px) { .price-foot .btn { width: 100%; } }

.svc-intro__facts {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 24px);
  margin-top: clamp(26px, 3vw, 44px);
  padding-top: clamp(22px, 2.4vw, 34px);
  border-top: 1px solid var(--in-line);
}

.svc-intro__facts b {
  display: block;
  margin-bottom: 6px;
  color: var(--in-gold-dk);
  font-size: clamp(22px, 2vw, 32px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.02em;
}

.svc-intro__facts span { color: var(--in-muted); font-size: clamp(14px, 1.05vw, 16px); line-height: 1.4; }

.stages-foot {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  flex-wrap: wrap;
  margin-top: clamp(24px, 2.6vw, 38px);
}

.stages-foot span { color: var(--in-muted); font-size: 15.5px; max-width: 46ch; }

@media (max-width: 900px) { .svc-intro__facts { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .stages-foot .btn { width: 100%; } }

/* ---------- этапы: тёмный блок с крупными номерами ---------- */

.stages--soft {
  position: relative;
  overflow: clip;
  /* светлый блок: тёмных подряд быть не должно, иначе страница тяжелеет */
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .6), rgba(255, 255, 255, 0) 220px),
    var(--surface-2, #F7F3ED);
  color: var(--in-ink);
}

.stages--soft::before {
  content: "";
  position: absolute;
  width: 980px;
  height: 980px;
  top: -620px;
  right: -200px;
  border-radius: 50%;
  border: 1px solid rgba(182, 138, 75, .18);
  pointer-events: none;
}

.stages--soft .container { position: relative; z-index: 1; }
.stages--soft h2 { color: var(--in-ink); }
.stages--soft .eyebrow { color: var(--in-green); }
.stages--soft .eyebrow::before { background: var(--in-green); }
.stages--soft .block__lead { color: var(--in-muted); }

.stages--soft .feat {
  min-height: 0;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--in-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 26px 52px -46px rgba(45, 40, 35, .5);
}

.stages--soft .feat:hover { transform: none; box-shadow: 0 26px 52px -40px rgba(45, 40, 35, .5); border-color: var(--in-gold); }

.stages--soft .feat h3 {
  color: var(--in-gold-dk) !important;
  font-family: var(--font-text) !important;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
  margin-bottom: 16px;
}

.stages--soft .feat h4 { color: var(--in-ink); }
.stages--soft .feat p { color: var(--in-muted); }

/* блок этапов занимает экран целиком — соседние блоки не видны */
@media (min-width: 1000px) {
  main > section.stages--soft {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100svh - var(--hdr, 101px));
  }

  main > section.stages--soft > * { width: 100%; }

  .stages--soft .feat {
    min-height: clamp(250px, 32vh, 380px);
    display: flex;
    flex-direction: column;
  }

  .stages--soft .feat p { margin-top: auto; }
}

/* показания занимают экран целиком — плашки растут вместе с ним */
@media (min-width: 1000px) {
  main > section.ind {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100svh - var(--hdr, 101px));
  }

  main > section.ind > * { width: 100%; }

  .ind__items { gap: clamp(12px, 2.2vh, 24px); }
  .ind__items li { padding-block: clamp(20px, 3.6vh, 44px); }
}

/* прайс и вопросы — во всю ширину контейнера */

.price-wrap { margin-top: clamp(26px, 3vw, 44px); }

.faq--wide {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(12px, 1.2vw, 18px);
  margin-top: clamp(26px, 3vw, 44px);
}

.faq--wide details { margin-bottom: 0; }

@media (max-width: 900px) { .faq--wide { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   БЛОКИ СТРАНИЦ «О КЛИНИКЕ», «ГАРАНТИИ», «АКЦИИ»
   ========================================================================== */

/* ---------- разворот: текст и фотомозаика ---------- */

.split { padding-block: clamp(44px, 5vw, 86px); }

.split__inner {
  display: grid;
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.split--rev .split__media { order: -1; }

.split__kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  color: var(--in-green);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}

.split__kicker::before { content: ""; width: 32px; height: 2px; background: var(--in-green); flex: none; }

.split h2 { margin-bottom: 16px; letter-spacing: -.02em; text-wrap: balance; }
.split__accent { color: var(--in-gold-dk); }

.split__lead {
  max-width: 46ch;
  color: var(--in-muted);
  font-size: clamp(16.5px, 1.25vw, 19px);
  line-height: 1.6;
}

.split__list { list-style: none; display: grid; gap: 12px; margin-top: clamp(22px, 2.4vw, 32px); }

.split__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: var(--in-ink);
  font-size: 16px;
  line-height: 1.5;
}

.split__list li::before {
  content: "";
  flex: none;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--in-gold-sf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23946F3A' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 13px no-repeat;
}

.split__media {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(10px, 1.1vw, 16px);
}

.split__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
}

.split__media img:first-child { grid-row: span 2; height: clamp(330px, 36vw, 540px); }
.split__media img + img { height: clamp(158px, 17.4vw, 262px); }

/* ---------- полоса цифр ---------- */

.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(12px, 1.4vw, 20px); }

.stats > div {
  padding: clamp(20px, 2.1vw, 30px);
  border: 1px solid var(--in-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 48px -44px rgba(45, 40, 35, .55);
}

.stats b {
  display: block;
  margin-bottom: 8px;
  color: var(--in-gold-dk);
  font-size: clamp(28px, 2.7vw, 40px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
}

.stats span { color: var(--in-muted); font-size: 15px; line-height: 1.45; }

/* ---------- принципы: нумерованные карточки ---------- */

.pillars { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 24px); }

.pillars li {
  display: flex;
  gap: clamp(16px, 1.6vw, 22px);
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--in-line);
  border-radius: 24px;
  background: #fff;
}

.pillars i {
  flex: none;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--in-gold-sf);
  color: var(--in-gold-dk);
  font-style: normal;
  font-size: 16px;
  font-weight: 700;
}

.pillars b { display: block; margin-bottom: 8px; font-size: clamp(17px, 1.4vw, 20px); letter-spacing: -.01em; }
.pillars p { color: var(--in-muted); font-size: 15.5px; line-height: 1.55; }

/* ---------- промо-карта ---------- */

.promo-hero {
  position: relative;
  overflow: clip;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
  align-items: center;
  gap: clamp(24px, 3vw, 56px);
  padding: clamp(28px, 3.6vw, 60px);
  border-radius: 30px;
  background: linear-gradient(118deg, #241E18 0%, #3B2E22 52%, #5A452C 100%);
  color: #F2ECE2;
}

.promo-hero::after {
  content: "";
  position: absolute;
  right: -180px;
  bottom: -220px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  border: 1px solid rgba(233, 205, 158, .18);
  pointer-events: none;
}

.promo-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding: 7px 16px;
  border-radius: 999px;
  background: rgba(233, 205, 158, .16);
  color: #E8CFA3;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.promo-hero h2 { margin-bottom: 14px; color: #fff; letter-spacing: -.02em; }
.promo-hero p { max-width: 48ch; color: #C9BEAF; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.55; }
.promo-hero .btn { margin-top: clamp(22px, 2.4vw, 32px); }

.promo-hero p.promo-hero__big {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #E8CFA3;
  font-size: clamp(64px, 8vw, 128px);
  font-weight: 800;
  line-height: .86;
  letter-spacing: -.04em;
}

.promo-hero p.promo-hero__big span { display: block; margin-top: 10px; font-size: 15px; font-weight: 500; letter-spacing: 1.4px; text-transform: uppercase; color: #B8A88F; }

/* ---------- карточки предложений ---------- */

.offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(14px, 1.5vw, 22px); }

.offer {
  display: flex;
  flex-direction: column;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--in-line);
  border-radius: 24px;
  background: #fff;
}

.offer__val {
  margin-bottom: 12px;
  color: var(--in-gold-dk);
  font-size: clamp(30px, 2.8vw, 40px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
}

.offer b { display: block; margin-bottom: 8px; font-size: 17.5px; letter-spacing: -.01em; }
.offer p { color: var(--in-muted); font-size: 15.5px; line-height: 1.55; }
.offer__note { margin-top: auto; padding-top: 16px; color: #8A8177; font-size: 13.5px; }

/* ---------- документы: лицензия и реквизиты ---------- */

.lic {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
  gap: clamp(26px, 3.6vw, 64px);
  padding: clamp(26px, 3.2vw, 52px);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  background:
    radial-gradient(118% 150% at 0% 0%, rgba(176, 141, 91, .09), rgba(176, 141, 91, 0) 56%),
    linear-gradient(180deg, #FFFDF9, var(--surface));
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* гильоширная розетка — тиснение на бумаге, не эмблема */
.lic__rosette {
  position: absolute;
  top: clamp(-150px, -9vw, -96px);
  right: clamp(-150px, -9vw, -96px);
  width: clamp(230px, 24vw, 330px);
  height: clamp(230px, 24vw, 330px);
  color: var(--accent);
  opacity: .085;
  pointer-events: none;
}

.lic__label {
  margin: 0 0 14px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1.9px;
  text-transform: uppercase;
  color: var(--accent-dk);
}

.lic__num {
  margin: 0;
  font-family: var(--font-head);
  font-size: clamp(24px, min(6.6vw, 3.5vw + 12px), 50px);
  font-weight: 600;
  line-height: 1.04;
  white-space: nowrap;
  letter-spacing: -.025em;
  font-variant-numeric: tabular-nums;
  color: var(--text);
}

.lic__rule {
  margin: clamp(18px, 1.8vw, 26px) 0 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--accent) 0%, rgba(176, 141, 91, .22) 100%);
  transform-origin: 0 50%;
}

html.js .reveal .lic__rule { transform: scaleX(0); }
html.js .reveal.is-in .lic__rule { transform: scaleX(1); transition: transform 1.1s cubic-bezier(.16, .84, .32, 1) .14s; }

.lic__for {
  margin: 16px 0 0;
  max-width: 34ch;
  color: var(--text-2);
  font-size: 16.5px;
  line-height: 1.55;
}

.lic__dl {
  margin: 0;
  display: grid;
  align-content: start;
  padding-left: clamp(18px, 2.2vw, 40px);
  border-left: 1px solid var(--border);
}

.lic__dl > div {
  display: grid;
  grid-template-columns: minmax(118px, .42fr) minmax(0, 1fr);
  gap: 8px clamp(14px, 1.6vw, 28px);
  padding: 15px 0;
  border-top: 1px solid var(--border);
}

.lic__dl > div:first-child { padding-top: 0; border-top: 0; }
.lic__dl > div:last-child { padding-bottom: 0; }

.lic__dl dt {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--accent-dk);
  padding-top: 3px;
}

.lic__dl dd {
  margin: 0;
  color: var(--text);
  font-size: 16.5px;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .lic { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .lic__rosette { width: 200px; height: 200px; top: -78px; right: -78px; }
  .lic__for { max-width: none; }
  .lic__dl { padding-left: 0; padding-top: 22px; border-left: 0; border-top: 1px solid var(--border); }
  .lic__dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 13px 0; }
  .lic__dl > div:first-child { padding-top: 0; }
  .lic__dl dt { padding-top: 0; }
}

@media (max-width: 1000px) {
  .split__inner { grid-template-columns: minmax(0, 1fr); }
  .split--rev .split__media { order: 0; }
  .pillars { grid-template-columns: minmax(0, 1fr); }
  .promo-hero { grid-template-columns: minmax(0, 1fr); text-align: left; }
  .promo-hero p.promo-hero__big { text-align: left; margin-top: 8px; }
}

@media (max-width: 620px) {
  .split__media { grid-template-columns: 1fr 1fr; }
  .split__media img:first-child { grid-row: auto; grid-column: span 2; height: 240px; }
  .split__media img + img { height: 140px; }
}

/* ---------- первый экран страниц-разделов ---------- */

.pg-hero { padding-block: clamp(22px, 2.6vw, 40px) clamp(38px, 4.4vw, 74px); }

.pg-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
}

.pg-hero h1 { max-width: 21ch; letter-spacing: -.02em; text-wrap: balance; }

.pg-hero__lead {
  max-width: 46ch;
  margin-top: 16px;
  color: var(--in-muted);
  font-size: clamp(16.5px, 1.25vw, 19px);
  line-height: 1.6;
}

.pg-hero__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px clamp(20px, 2vw, 30px);
  margin-top: clamp(24px, 2.6vw, 34px);
}

.pg-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 2.6vw, 44px);
  margin-top: clamp(26px, 3vw, 40px);
  padding-top: clamp(20px, 2.2vw, 28px);
  border-top: 1px solid var(--in-line);
}

.pg-hero__facts b {
  display: block;
  margin-bottom: 4px;
  color: var(--in-gold-dk);
  font-size: clamp(21px, 1.9vw, 27px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.01em;
}

.pg-hero__facts span { color: var(--in-muted); font-size: 14.5px; line-height: 1.4; }

/* правая колонка — фото или мозаика */
.pg-hero__media { position: relative; }

.pg-hero__media > img {
  display: block;
  width: 100%;
  height: clamp(380px, 39vw, 560px);
  object-fit: cover;
  border-radius: 28px;
}

.pg-hero__mosaic { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(10px, 1.1vw, 16px); }
.pg-hero__mosaic img { display: block; width: 100%; object-fit: cover; border-radius: 24px; }
.pg-hero__mosaic img:first-child { grid-row: span 2; height: clamp(380px, 39vw, 560px); }
.pg-hero__mosaic img + img { height: clamp(183px, 19vw, 272px); }

.pg-hero__badge {
  position: absolute;
  left: clamp(-24px, -1.4vw, -14px);
  bottom: clamp(20px, 2.4vw, 34px);
  display: grid;
  gap: 3px;
  padding: clamp(16px, 1.6vw, 22px) clamp(20px, 2vw, 28px);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 34px 64px -42px rgba(45, 40, 35, .7);
}

.pg-hero__badge b { font-size: clamp(19px, 1.6vw, 23px); font-weight: 700; letter-spacing: -.01em; }
.pg-hero__badge span { color: var(--in-muted); font-size: 14px; }

/* тёмная карточка-оффер вместо фото */
.pg-hero__offer {
  position: relative;
  overflow: clip;
  display: grid;
  align-content: center;
  gap: 10px;
  min-height: clamp(380px, 39vw, 560px);
  padding: clamp(28px, 3vw, 48px);
  border-radius: 28px;
  background: linear-gradient(126deg, #241E18 0%, #3B2E22 54%, #5A452C 100%);
  color: #F2ECE2;
  text-align: center;
}

.pg-hero__offer::after {
  content: "";
  position: absolute;
  right: -160px;
  bottom: -200px;
  width: 470px;
  height: 470px;
  border-radius: 50%;
  border: 1px solid rgba(233, 205, 158, .2);
  pointer-events: none;
}

.pg-hero__offer i {
  position: relative;
  z-index: 1;
  font-style: normal;
  color: #E8CFA3;
  font-size: clamp(64px, 7.4vw, 124px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.04em;
}

.pg-hero__offer b { position: relative; z-index: 1; color: #fff; font-size: clamp(18px, 1.5vw, 22px); }
.pg-hero__offer span { position: relative; z-index: 1; color: #C1B5A5; font-size: 15px; line-height: 1.5; }

@media (max-width: 1000px) {
  .pg-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .pg-hero h1 { max-width: none; }
  .pg-hero__badge { left: 14px; }
}

@media (max-width: 620px) {
  .pg-hero__mosaic { grid-template-columns: 1fr 1fr; }
  .pg-hero__mosaic img:first-child { grid-row: auto; grid-column: span 2; height: 250px; }
  .pg-hero__mosaic img + img { height: 140px; }
  .pg-hero__media > img { height: 280px; }
  .pg-hero__facts { gap: 18px 26px; }
}

/* ---------- страница 404 ---------- */

.nf__links { display: flex; flex-wrap: wrap; gap: 10px 12px; margin-top: clamp(26px, 3vw, 40px); }

.nf__links a {
  padding: 10px 18px;
  border: 1px solid var(--in-line);
  border-radius: 999px;
  background: #fff;
  color: var(--in-ink);
  font-size: 15px;
  transition: border-color .25s var(--ease), color .25s var(--ease);
}

.nf__links a:hover { border-color: var(--in-gold); color: var(--in-gold-dk); }

.nf__code {
  display: grid;
  place-content: center;
  gap: 8px;
  min-height: clamp(320px, 34vw, 480px);
  border-radius: 28px;
  background: linear-gradient(126deg, #241E18 0%, #3B2E22 54%, #5A452C 100%);
  text-align: center;
}

.nf__code i {
  font-style: normal;
  color: #E8CFA3;
  font-size: clamp(88px, 11vw, 190px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.05em;
}

.nf__code span { color: #C1B5A5; font-size: 15px; letter-spacing: 1.6px; text-transform: uppercase; }

/* ==========================================================================
   ТАРИФНЫЕ КАРТОЧКИ ВМЕСТО ТАБЛИЦЫ ЦЕН
   ========================================================================== */

.tariffs {
  /* бейдж «выбирают чаще» выходит за верх карточки — нужен отступ от заголовка */
  margin-top: clamp(32px, 3.2vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: clamp(14px, 1.5vw, 22px);
  align-items: stretch;
}

.tariff {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid var(--in-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 28px 56px -48px rgba(45, 40, 35, .6);
}

/* рекомендуемый вариант выделяем рамкой и бейджем */
.tariff--pick { border: 2px solid var(--in-gold); box-shadow: 0 32px 60px -40px rgba(148, 111, 58, .45); }

.tariff__badge {
  position: absolute;
  top: -13px;
  left: clamp(24px, 2.4vw, 34px);
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--in-gold-dk);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.tariff__top { color: var(--in-muted); font-size: 13px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; }
.tariff h3 { margin: 10px 0 0; font-size: clamp(20px, 1.7vw, 25px); font-weight: 700; letter-spacing: -.01em; }

.tariff__price {
  margin-top: clamp(14px, 1.4vw, 20px);
  color: var(--in-ink);
  font-size: clamp(30px, 2.9vw, 40px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
}

.tariff__price span { display: block; margin-top: 7px; color: var(--in-muted); font-size: 14.5px; font-weight: 400; letter-spacing: 0; }

.tariff__sum {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--in-gold-sf);
  color: #5A4B34;
  font-size: 14.5px;
  line-height: 1.45;
}

.tariff__sum b { color: var(--in-gold-dk); }

.tariff__list { list-style: none; display: grid; gap: 10px; margin: clamp(16px, 1.8vw, 22px) 0 clamp(20px, 2vw, 26px); }

.tariff__list li {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: var(--in-ink);
  font-size: 15.5px;
  line-height: 1.45;
}

.tariff__list li::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--in-gold-sf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23946F3A' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.tariff .btn { margin-top: auto; width: 100%; }

/* дополнительные позиции — одной строкой под карточками */
.tariffs-extra {
  margin-top: clamp(18px, 2vw, 28px);
  padding: clamp(20px, 2vw, 28px) clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--in-line);
  border-radius: 22px;
  background: var(--surface-2, #F7F3ED);
}

.tariffs-extra h4 { margin-bottom: 14px; font-size: 13px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; color: var(--in-muted); }

.tariffs-extra ul { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px clamp(20px, 2.4vw, 40px); }

.tariffs-extra li {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 15.5px;
  color: var(--in-ink);
}

.tariffs-extra li::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  margin: 0 2px;
  background: repeating-linear-gradient(90deg, var(--in-line) 0 3px, transparent 3px 7px);
}

.tariffs-extra b { flex: none; font-weight: 700; color: var(--in-green-dk); white-space: nowrap; }

@media (max-width: 620px) {
  .tariffs-extra li::after { display: none; }
  .tariffs-extra li { justify-content: space-between; }
}

/* ==========================================================================
   ДОКУМЕНТЫ: ДИПЛОМЫ, СЕРТИФИКАТЫ, ЛИЦЕНЗИЯ
   ========================================================================== */

.docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(14px, 1.5vw, 22px);
  margin-top: clamp(30px, 3vw, 44px);
}

.doc-tile {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(20px, 2vw, 28px);
  border: 1px solid var(--in-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 26px 52px -48px rgba(45, 40, 35, .6);
}

/* документ, скан которого клиника ещё не прислала */
.doc-tile--empty { border-style: dashed; background: var(--surface-2, #F7F3ED); box-shadow: none; }

.doc-tile__ic {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: var(--in-gold-sf);
  color: var(--in-gold-dk);
}

.doc-tile__ic svg { width: 26px; height: 26px; }
.doc-tile b { font-size: 17px; letter-spacing: -.01em; }
.doc-tile p { color: var(--in-muted); font-size: 15px; line-height: 1.5; }

.doc-tile__state {
  margin-top: auto;
  padding-top: 12px;
  color: #8A8177;
  font-size: 13.5px;
}

.doc-tile--empty .doc-tile__state { color: #9A4B4B; }

/* ---------- выпадающий список врачей в меню ---------- */

.nav__sub--docs { min-width: 320px; }

.nav__sub--docs a { display: grid; gap: 2px; padding: 9px 14px; line-height: 1.3; }
.nav__sub--docs a b { font-size: 14.5px; font-weight: 600; color: var(--text); }
.nav__sub--docs a span { color: var(--text-2); font-size: 12.5px; }
.nav__sub--docs a:hover b { color: var(--accent-dk); }

.nav__sub-all {
  margin-top: 6px;
  padding-top: 12px !important;
  border-top: 1px solid var(--border);
  color: var(--accent-dk) !important;
  font-weight: 600;
  font-size: 14px !important;
}

@media (max-width: 1000px) {
  .nav__sub--docs { min-width: 0; }
  .nav__sub--docs a { padding: 10px 0; }
  .nav__sub-all { border-top: 0; }
}

/* ==========================================================================
   ОТЗЫВЫ И СТАТЬИ — ОТДЕЛЬНЫЕ РАЗДЕЛЫ
   ========================================================================== */

/* ---------- список отзывов: карточки как на главной ---------- */

.rev-list {
  --r-gold: #B68A4B;
  --r-gold-dk: #946F3A;
  --r-ink: #16150F;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
  margin-top: clamp(32px, 3.2vw, 46px);
  align-items: start;
}

.rev-list .rev-card header { flex-wrap: wrap; }

.rev-card__tag {
  padding: 5px 13px;
  border-radius: 999px;
  background: var(--in-gold-sf);
  color: var(--in-gold-dk);
  font-size: 12.5px;
  font-weight: 600;
}

/* ---------- витрина статей ---------- */

.art-grid {
  display: grid;
  /* три колонки на десктопе: четыре делали карточки узкими и рваными */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 26px);
}

@media (max-width: 1100px) { .art-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px)  { .art-grid { grid-template-columns: minmax(0, 1fr); } }

.art-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid var(--in-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 26px 52px -48px rgba(45, 40, 35, .6);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}

.art-card:hover { transform: translateY(-4px); border-color: var(--in-gold); box-shadow: 0 30px 56px -40px rgba(45, 40, 35, .5); }
.art-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-height: 26px; }
.art-card__meta time { white-space: nowrap; }
.art-card__tag { padding: 5px 13px; border-radius: 999px; background: var(--in-gold-sf); color: var(--in-gold-dk); font-size: 12.5px; font-weight: 600; }
.art-card__meta time { color: var(--in-muted); font-size: 13.5px; }
.art-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(3 * 1.25em);
  font-size: clamp(19px, 1.5vw, 22px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.art-card p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(3 * 1.5em);
  color: var(--in-muted);
  font-size: 15.5px;
  line-height: 1.5;
}
.art-card__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; color: var(--in-gold-dk); font-size: 15px; font-weight: 600; }
.art-card__more svg { width: 18px; height: 18px; }

/* ---------- страница статьи ---------- */

.art { padding-block: clamp(26px, 3vw, 48px) clamp(44px, 5vw, 84px); }

/* статья читается в одну колонку: боковая панель мешала чтению */
.art__inner { display: block; }

.art__body { max-width: 760px; margin-inline: auto; }
.art__meta { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; color: var(--in-muted); font-size: 13.5px; }
.art__body h1 { font-size: clamp(28px, 3vw, 44px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.art__lead { margin-top: 18px; color: var(--in-ink); font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; }
.art__body h2 { margin: clamp(30px, 3vw, 46px) 0 14px; font-size: clamp(21px, 1.8vw, 28px); letter-spacing: -.01em; }
.art__body p { margin-bottom: 14px; color: #3D3932; font-size: 16.5px; line-height: 1.68; }

.art__links { display: flex; flex-wrap: wrap; gap: 12px; margin: clamp(26px, 2.8vw, 40px) 0 0; }

.art__note {
  margin-top: clamp(22px, 2.4vw, 32px);
  padding-top: 18px;
  border-top: 1px solid var(--in-line);
  color: #8A8177;
  font-size: 13.5px;
  line-height: 1.5;
}

.art__aside { position: sticky; top: calc(var(--hdr, 101px) + 20px); display: grid; gap: 16px; }

.art__card { padding: clamp(22px, 2.2vw, 30px); border: 1px solid var(--in-line); border-radius: 22px; background: #fff; }
.art__card--soft { background: var(--surface-2, #F7F3ED); }
.art__card-kicker { margin-bottom: 10px; color: var(--in-muted); font-size: 12.5px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; }
.art__card-lead { margin-bottom: 18px; color: var(--in-ink); font-size: 15.5px; line-height: 1.5; }
.art__card-phone { display: block; margin-top: 14px; text-align: center; color: var(--in-ink); font-size: 17px; font-weight: 700; }
.art__card-phone:hover { color: var(--in-gold-dk); }
.art__rel { display: grid; gap: 12px; }
.art__rel a { color: var(--in-ink); font-size: 15.5px; line-height: 1.4; }
.art__rel a:hover { color: var(--in-gold-dk); }

@media (max-width: 1000px) {
  .art__inner { grid-template-columns: minmax(0, 1fr); }
  .art__aside { position: static; }
}

/* ---------- содержимое статьи: фото, списки, таблицы, выноски ---------- */

.art__cover { margin: clamp(24px, 2.6vw, 36px) 0 clamp(26px, 2.8vw, 40px); }

.art__cover img,
.art__fig img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
  object-fit: cover;
}

.art__cover img { max-height: 420px; }

.art__fig { margin: clamp(26px, 2.8vw, 40px) 0; }
.art__fig img { max-height: 380px; }

.art__fig figcaption {
  margin-top: 12px;
  color: var(--in-muted);
  font-size: 14.5px;
  line-height: 1.45;
}

.art__list { list-style: none; display: grid; gap: 12px; margin: 4px 0 20px; }

/* текст в пункте должен течь одним абзацем, поэтому маркер — абсолютный */
.art__list li {
  position: relative;
  padding-left: 22px;
  color: #3D3932;
  font-size: 16.5px;
  line-height: 1.6;
}

.art__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--in-gold);
}

.art__list li b { color: var(--in-ink); }

.art__note-box {
  margin: clamp(24px, 2.6vw, 34px) 0;
  padding: clamp(18px, 1.9vw, 26px) clamp(20px, 2.1vw, 30px);
  border-left: 3px solid var(--in-gold);
  border-radius: 0 16px 16px 0;
  background: var(--in-gold-sf);
  color: #53452F;
  font-size: 16px;
  line-height: 1.6;
}

.art__table-wrap { margin: clamp(24px, 2.6vw, 34px) 0; overflow-x: auto; }

.art__table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 48px -46px rgba(45, 40, 35, .6);
  font-size: 16px;
}

.art__table th {
  padding: 14px 18px;
  background: #2D2823;
  color: #F3EEE6;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  text-align: left;
}

.art__table td { padding: 13px 18px; border-bottom: 1px solid #F0ECE4; color: #3D3932; }
.art__table tbody tr:last-child td { border-bottom: 0; background: var(--in-gold-sf); }
.art__table td:not(:first-child) { white-space: nowrap; color: var(--in-green-dk); font-weight: 600; }

/* ---------- карточка статьи с обложкой ---------- */

.art-card { padding: 0; overflow: hidden; }
.art-card__cover { display: block; height: 210px; overflow: hidden; }
.art-card__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--ease); }
.art-card:hover .art-card__cover img { transform: scale(1.03); }

.art-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 auto;
  padding: clamp(22px, 2.2vw, 30px);
}

@media (max-width: 620px) {
  .art__table { font-size: 15px; }
  .art__table th, .art__table td { padding: 11px 14px; }
  .art-card__cover { height: 180px; }
}

/* ---------- блок вопросов внутри статьи ---------- */

.art__faq { margin-top: clamp(32px, 3.4vw, 50px); }
.art__faq h2 { margin-bottom: 18px; }

.art__faq details {
  border: 1px solid var(--in-line);
  border-radius: 16px;
  background: #fff;
  margin-bottom: 10px;
  overflow: hidden;
}

.art__faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  cursor: pointer;
  color: var(--in-ink);
  font-size: 16.5px;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
}

.art__faq summary::-webkit-details-marker { display: none; }

.art__faq summary::after {
  content: "+";
  flex: none;
  color: var(--in-gold-dk);
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.art__faq details[open] summary { color: var(--in-gold-dk); }
.art__faq details[open] summary::after { content: "×"; }
.art__faq details > div { padding: 0 20px 18px; color: #3D3932; font-size: 16px; line-height: 1.6; }

/* ---------- ссылки на статьи со страниц услуг ---------- */

.svc-reads { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(12px, 1.4vw, 18px); margin-top: clamp(28px, 3vw, 40px); }

.svc-reads__item {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: clamp(18px, 1.9vw, 24px) clamp(20px, 2vw, 26px);
  border: 1px solid var(--in-line); border-radius: 20px; background: #fff;
  color: var(--in-ink); font-size: 16.5px; font-weight: 600; line-height: 1.35;
  transition: border-color .25s var(--ease), transform .25s var(--ease);
}

.svc-reads__item svg { width: 20px; height: 20px; flex: none; color: var(--in-gold-dk); }
.svc-reads__item:hover { border-color: var(--in-gold); transform: translateY(-3px); }
.svc-reads__item--all { background: var(--in-gold-sf); border-color: transparent; color: var(--in-gold-dk); }

/* ==========================================================================
   КОНТАКТЫ: ПЕРВЫЙ ЭКРАН С КАРТОЙ
   ========================================================================== */

.kont-hero { padding-block: clamp(24px, 2.8vw, 44px) clamp(36px, 4vw, 64px); }

.kont-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 47fr) minmax(0, 53fr);
  align-items: stretch;
  gap: clamp(28px, 3.6vw, 60px);
}

.kont-hero h1 { letter-spacing: -.02em; text-wrap: balance; }

.kont-hero__lead {
  max-width: 46ch;
  margin-top: 16px;
  color: var(--in-muted);
  font-size: clamp(16.5px, 1.25vw, 19px);
  line-height: 1.6;
}

.kont-hero__list {
  list-style: none;
  display: grid;
  gap: clamp(12px, 1.3vw, 18px);
  margin-top: clamp(24px, 2.6vw, 34px);
  padding-top: clamp(22px, 2.4vw, 30px);
  border-top: 1px solid var(--in-line);
}

.kont-hero__list li { display: flex; align-items: flex-start; gap: 16px; }

.kont-hero__ic {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: none;
  border-radius: 14px;
  background: var(--in-gold-sf);
  color: var(--in-gold-dk);
}

.kont-hero__ic svg { width: 22px; height: 22px; }
.kont-hero__txt { display: grid; gap: 4px; }
.kont-hero__txt b { color: var(--in-ink); font-size: 16.5px; font-weight: 600; line-height: 1.35; }
.kont-hero__txt b a { color: inherit; }
.kont-hero__txt b a:hover { color: var(--in-gold-dk); }
.kont-hero__txt > span { color: var(--in-muted); font-size: 14.5px; line-height: 1.4; }

.kont-hero__phone {
  display: inline-block;
  margin-top: clamp(22px, 2.4vw, 32px);
  color: var(--in-ink);
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 700;
  letter-spacing: -.02em;
}

.kont-hero__phone:hover { color: var(--in-gold-dk); }

.kont-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(18px, 2vw, 26px); }

/* карта во всю высоту колонки */
.kont-hero__map {
  position: relative;
  min-height: clamp(380px, 42vw, 580px);
  border-radius: 28px;
  overflow: clip;
  background: var(--surface-2, #F7F3ED);
  box-shadow: 0 34px 70px -52px rgba(45, 40, 35, .75);
}

.kont-hero__map iframe { width: 100%; height: 100%; min-height: inherit; border: 0; display: block; filter: saturate(.92); }

.kont-hero__badge {
  position: absolute;
  left: clamp(16px, 1.8vw, 24px);
  bottom: clamp(16px, 1.8vw, 24px);
  display: grid;
  gap: 3px;
  padding: clamp(14px, 1.5vw, 20px) clamp(18px, 1.9vw, 26px);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 26px 50px -36px rgba(45, 40, 35, .8);
}

.kont-hero__badge b { font-size: 18px; font-weight: 700; letter-spacing: -.01em; }
.kont-hero__badge span { color: var(--in-muted); font-size: 14px; }

.kont-hero__maplink {
  position: absolute;
  right: clamp(16px, 1.8vw, 24px);
  top: clamp(16px, 1.8vw, 24px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  color: var(--in-ink);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 16px 34px -24px rgba(45, 40, 35, .8);
}

.kont-hero__maplink svg { width: 15px; height: 15px; color: var(--in-gold-dk); }
.kont-hero__maplink:hover { color: var(--in-gold-dk); }

/* полоса фактов под картой */
.kont-strip { padding-block: clamp(20px, 2.2vw, 30px); background: var(--surface-2, #F7F3ED); }

.kont-strip__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 32px);
}

.kont-strip__inner > div { display: grid; gap: 6px; }
.kont-strip b { color: var(--in-gold-dk); font-size: clamp(22px, 2vw, 28px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.kont-strip span { color: var(--in-muted); font-size: 14.5px; line-height: 1.4; }

@media (max-width: 1000px) {
  .kont-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .kont-strip__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .kont-strip__inner { grid-template-columns: minmax(0, 1fr); }
  .kont-hero__cta .btn { width: 100%; }
}

/* ---------- уведомление о cookie ---------- */

.cookie {
  position: fixed;
  left: clamp(14px, 2vw, 28px);
  right: clamp(14px, 2vw, 28px);
  bottom: clamp(14px, 2vw, 28px);
  z-index: 2500;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px clamp(20px, 2.4vw, 36px);
  max-width: 1100px;
  margin-inline: auto;
  padding: clamp(18px, 1.9vw, 24px) clamp(20px, 2.1vw, 30px);
  border: 1px solid var(--in-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 34px 70px -40px rgba(45, 40, 35, .7);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}

.cookie.is-in { opacity: 1; transform: none; }
.cookie__text { flex: 1 1 420px; color: var(--in-ink); font-size: 15px; line-height: 1.5; }
.cookie__text a { color: var(--in-gold-dk); text-decoration: underline; text-underline-offset: 3px; }
.cookie__actions { display: flex; align-items: center; gap: 16px; }
.cookie__more { color: var(--in-muted); font-size: 14.5px; text-decoration: underline; text-underline-offset: 3px; }
.cookie__more:hover { color: var(--in-gold-dk); }

/* необязательная галочка — тише обязательной */
.cta-form__consent--opt span, .form__consent--opt span { opacity: .92; }
.form__consent--opt { margin-top: 10px; }

@media (max-width: 620px) {
  .cookie { flex-direction: column; align-items: stretch; text-align: left; }
  .cookie__actions { justify-content: space-between; }
  .cookie .btn { flex: 1; }
}

/* в режиме для слабовидящих баннер не висит поверх текста */
html[data-a11y] body .cookie { position: static !important; max-width: none !important; margin: 20px 0 !important; }

/* ---------- компактная шапка раздела: без визуала справа ---------- */

.page-head--tight { padding-block: clamp(22px, 2.4vw, 36px) clamp(18px, 2vw, 28px); }
.page-head--tight h1 { max-width: 20ch; }
.page-head--tight .lead { max-width: 58ch; }

/* факты — компактной строкой, а не крупными карточками */
.page-head--tight .page-head__facts {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 2.6vw, 44px);
  margin-top: clamp(24px, 2.6vw, 34px);
  padding-top: clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--in-line);
}

.page-head--tight .page-head__facts > div {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

.page-head--tight .page-head__facts b { margin-bottom: 2px; font-size: clamp(20px, 1.7vw, 25px); }
.page-head--tight .page-head__facts span { font-size: 14.5px; }

/* ---------- строка фильтров над карточками ---------- */

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: clamp(22px, 2.4vw, 32px);
}

.chip {
  padding: 10px 18px;
  border: 1px solid var(--in-line);
  border-radius: 999px;
  background: #fff;
  color: var(--in-ink);
  font-family: var(--font-text);
  font-size: 15px;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
}

.chip:hover { border-color: var(--in-gold); color: var(--in-gold-dk); }
.chip.is-on { background: var(--in-gold-sf); border-color: transparent; color: var(--in-gold-dk); font-weight: 600; }

/* ---------- декоративный снимок справа в шапке раздела ---------- */

.page-head--tight .page-head__inner {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  align-items: center;
  gap: clamp(20px, 2.6vw, 48px);
}

.page-head--tight .page-head__copy { grid-column: 1; }
.page-head--tight .page-head__facts { grid-column: 1; }

.page-head__art {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
}

.page-head__art img {
  display: block;
  width: 100%;
  max-width: clamp(320px, 34vw, 520px);
  height: auto;
}

@media (max-width: 1000px) {
  .page-head--tight .page-head__inner { grid-template-columns: minmax(0, 1fr); }
  .page-head--tight .page-head__copy,
  .page-head--tight .page-head__facts { grid-column: 1; }
  .page-head__art { grid-column: 1; grid-row: auto; justify-self: center; margin-top: 20px; }
  .page-head__art img { max-width: 320px; }
}

/* Общее фото команды (страница «О клинике») */
.team-shot {
  margin: clamp(24px, 3.4vw, 44px) auto 0;
  max-width: clamp(420px, 52vw, 760px);
  text-align: center;
}

.team-shot img {
  display: block;
  width: 100%;
  height: auto;
}

.team-shot figcaption {
  margin-top: 10px;
  color: var(--in-muted);
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.5;
}

/* страница отзывов: в ленте карточка несёт ещё и тег направления */
.rev__list .rev-card header { flex-wrap: wrap; }

/* ---------- статья: блок консультации внутри текста ---------- */

.art__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
  margin: clamp(30px, 3vw, 46px) 0;
  padding: clamp(22px, 2.2vw, 30px) clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--in-line);
  border-radius: 22px;
  background: var(--surface-2, #F7F3ED);
}

.art__cta-kicker {
  margin-bottom: 8px;
  color: var(--in-muted);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.art__body .art__cta p { margin-bottom: 0; color: var(--in-ink); font-size: 16px; line-height: 1.55; }

.art__cta-act { display: grid; justify-items: center; gap: 10px; }
.art__cta-phone { color: var(--in-ink); font-size: 17px; font-weight: 700; white-space: nowrap; }
.art__cta-phone:hover { color: var(--in-gold-dk); }

@media (max-width: 720px) {
  .art__cta { grid-template-columns: minmax(0, 1fr); }
  .art__cta-act { justify-items: stretch; }
  .art__cta-act .btn { width: 100%; }
}

/* ---------- статья: «читайте также» внизу ---------- */

.art__also {
  max-width: 760px;
  margin: clamp(38px, 4vw, 60px) auto 0;
  padding-top: clamp(26px, 2.8vw, 40px);
  border-top: 1px solid var(--in-line);
}

.art__also h2 { font-size: clamp(20px, 1.7vw, 26px); letter-spacing: -.01em; }

.art__also-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.4vw, 18px);
  margin-top: 20px;
}

.art__also-grid a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  min-height: 140px;
  padding: 18px 20px;
  border: 1px solid var(--in-line);
  border-radius: 18px;
  background: #fff;
  color: var(--in-ink);
  font-size: 15.5px;
  line-height: 1.4;
  font-weight: 600;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.art__also-grid a:hover {
  border-color: var(--in-gold-dk);
  transform: translateY(-2px);
  box-shadow: 0 18px 36px -30px rgba(45, 40, 35, .5);
}

.art__also-grid svg { width: 20px; height: 20px; color: var(--in-gold-dk); flex: none; }

.art__also-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  color: var(--in-gold-dk);
  font-size: 15px;
  font-weight: 600;
}

.art__also-all svg { width: 18px; height: 18px; }

@media (max-width: 720px) {
  .art__also-grid { grid-template-columns: minmax(0, 1fr); }
  .art__also-grid a { min-height: 0; flex-direction: row; align-items: center; }
}

/* карточка статьи должна читаться как кликабельная ещё до наведения */
.art-card__more {
  align-self: flex-start;
  padding: 8px 16px;
  border: 1px solid var(--in-gold);
  border-radius: 999px;
  background: #fff;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.art-card__more svg { transition: transform .18s ease; }
.art-card:hover .art-card__more { background: var(--in-gold-sf); border-color: var(--in-gold-dk); }
.art-card:hover .art-card__more svg { transform: translateX(3px); }
.art-card:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
