/* ═══════════════════════════════════════════════════════
   ТЕРАПИЯ КРАСОТЫ · REDUX v2 · editorial design system
   Референс-режиссура: AVA SRG (нумерация, тонкие линии,
   крупная типографика, контрастные секции, маски).
   Палитра: тёплая SPA — без больничного холода.
   ═══════════════════════════════════════════════════════ */

:root{
  --ink:#211d19;
  --coal:#181512;
  --bone:#ece6da;
  --paper:#f5f0e8;
  --milk:#fbf8f3;
  --line:rgba(33,29,25,.16);
  --line-strong:rgba(33,29,25,.4);
  --wood:#6b5d4c;
  --clay:#b07a63;
  --rose:#c99a86;
  --sage:#7e9483;
  --mineral:#7fa093;
  --gold:#ab8f60;

  --accent:var(--clay);            /* косметология по умолчанию */
  --accent-soft:rgba(176,122,99,.14);

  --font-display:"Prata","Times New Roman",serif;
  --font-body:"Onest",-apple-system,"Segoe UI",sans-serif;

  --ease:cubic-bezier(.19,1,.22,1);
  --gutter:clamp(16px,3.4vw,52px);
  --header-h:64px;
}
body[data-direction="cosmo"]{--accent:var(--clay);--accent-soft:rgba(176,122,99,.14);}
body[data-direction="dent"]{--accent:var(--mineral);--accent-soft:rgba(127,160,147,.16);}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.lock{overflow:hidden;}
/* Атрибут hidden обязан скрывать элемент, даже если авторский
   display:flex перебивает браузерное правило */
[hidden]{display:none !important;}

body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:15px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;color:inherit;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
::selection{background:var(--ink);color:var(--bone);}

h1,h2,h3,h4{margin:0;font-weight:400;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}

/* ── Типографика ── */
.display{
  font-family:var(--font-display);
  font-size:clamp(34px,6.4vw,104px);
  line-height:.98;letter-spacing:-.01em;text-transform:uppercase;
}
.display em{font-style:normal;color:var(--accent);transition:color .6s;}
.h-md{
  font-family:var(--font-display);
  font-size:clamp(24px,3.4vw,46px);line-height:1.08;text-transform:uppercase;
}
.eyebrow{
  display:flex;align-items:center;gap:14px;margin:0 0 clamp(18px,3vh,32px);
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--wood);
}
.eyebrow::before{content:"";width:44px;height:1px;background:var(--line-strong);flex-shrink:0;}
.num{font-size:11px;letter-spacing:.2em;color:var(--wood);white-space:nowrap;}
.tagline{margin:0 0 8px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);}

/* построчный reveal */
.line-mask{display:block;overflow:hidden;}
.line-mask > span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease);}
.is-in .line-mask > span,.line-mask.is-in > span{transform:none;}

/* reveal при скролле */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
[data-reveal].is-in{opacity:1;transform:none;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
  [data-reveal]{opacity:1;transform:none;}
  .line-mask > span{transform:none;}
}

/* ── Зерно плёнки ── */
.grain{
  position:fixed;inset:-60px;z-index:2000;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.31 0 0 0 0 0.25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── Кастомный курсор ── */
.cursor{
  position:fixed;left:0;top:0;z-index:2200;width:12px;height:12px;margin:-6px 0 0 -6px;
  border-radius:50%;background:var(--accent);pointer-events:none;opacity:0;
  transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),opacity .3s,background .5s;
  display:flex;align-items:center;justify-content:center;
}
.cursor.is-on{opacity:.9;}
.cursor.is-big{width:64px;height:64px;margin:-32px 0 0 -32px;background:transparent;border:1px solid var(--accent);}
.cursor.is-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--ink);border:0;}
#cursorLabel{font-size:9px;letter-spacing:.18em;color:var(--bone);text-align:center;line-height:1.5;}
@media(pointer:fine){ body.cursor-custom, body.cursor-custom a, body.cursor-custom button{cursor:none;} }
@media(pointer:coarse){ .cursor{display:none;} }

/* ── Прелоадер ── */
.preloader{
  position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;
  background:var(--coal);color:var(--bone);
  transition:clip-path 1s var(--ease);clip-path:inset(0 0 0 0);
}
.preloader.is-done{clip-path:inset(0 0 100% 0);pointer-events:none;}
.preloader__inner{text-align:center;padding:0 20px;}
.preloader__word{
  font-family:var(--font-display);font-size:clamp(22px,4vw,40px);
  letter-spacing:.3em;text-transform:uppercase;margin:0 0 10px;padding-left:.3em;
}
.preloader__sub{margin:0;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);}
.preloader__bar{width:min(320px,60vw);height:1px;background:rgba(236,230,218,.18);margin:30px auto 0;position:relative;overflow:hidden;}
.preloader__bar i{position:absolute;inset:0;background:var(--bone);transform:scaleX(0);transform-origin:left;transition:transform .3s linear;}
.preloader__count{
  position:absolute;right:clamp(18px,4vw,48px);bottom:26px;margin:0;
  font-family:var(--font-display);font-size:clamp(40px,7vw,88px);line-height:1;opacity:.9;
}

/* ── Header ── */
.header{
  position:fixed;top:0;left:0;right:0;z-index:900;height:var(--header-h);
  border-bottom:1px solid transparent;color:var(--ink);
  transition:background .5s,border-color .5s,transform .5s var(--ease);
}
.header.is-scrolled{background:rgba(245,240,232,.86);backdrop-filter:blur(14px);border-color:var(--line);}
.header.is-hidden{transform:translateY(-110%);}
.header__inner{height:100%;display:flex;align-items:center;gap:clamp(14px,2vw,28px);padding:0 var(--gutter);}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo__mark{
  width:34px;height:34px;border-radius:50%;border:1px solid currentColor;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;
  transition:background .4s,color .4s,border-color .4s;
}
.logo:hover .logo__mark{background:var(--ink);color:var(--bone);border-color:var(--ink);}
.logo__text{font-size:11px;letter-spacing:.3em;line-height:1.35;display:flex;flex-direction:column;text-transform:uppercase;}
.logo__text em{font-style:normal;color:var(--accent);transition:color .5s;}

.dir-switch{display:flex;position:relative;border:1px solid var(--line-strong);border-radius:999px;padding:3px;background:rgba(245,240,232,.6);}
.dir-switch__btn{
  background:none;border:0;padding:6px 14px;border-radius:999px;font-size:10px;letter-spacing:.16em;
  color:var(--wood);position:relative;z-index:1;transition:color .45s;text-transform:uppercase;
}
.dir-switch__btn.is-active{color:var(--milk);}
.dir-switch__thumb{
  position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;
  background:var(--accent);transition:left .55s var(--ease),background .55s;
}
.dir-switch.is-dent .dir-switch__thumb{left:50%;}

.nav{display:flex;gap:18px;margin-left:auto;}
.nav a{font-size:12px;letter-spacing:.05em;color:var(--wood);position:relative;padding:4px 0;}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);}
.nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.nav__cta{border:1px solid var(--accent);border-radius:999px;padding:7px 16px !important;color:var(--accent) !important;transition:background .4s,color .4s !important;text-transform:uppercase;font-size:10.5px !important;letter-spacing:.14em !important;}
.nav__cta:hover{background:var(--accent);color:var(--milk) !important;}
.nav__cta::after{display:none;}

.header__right{display:flex;align-items:center;gap:12px;}
.search-toggle,.burger{background:none;border:0;padding:8px;display:flex;color:inherit;}
.header__phone{font-size:13px;letter-spacing:.03em;white-space:nowrap;}
.burger{flex-direction:column;justify-content:center;gap:5px;display:none;}
.burger span{width:22px;height:1.5px;background:currentColor;}

/* полноэкранное меню */
.menu-overlay{
  position:fixed;inset:0;z-index:1500;background:var(--coal);color:var(--bone);
  clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease);
  display:flex;flex-direction:column;padding:calc(var(--header-h) + 20px) var(--gutter) 40px;overflow-y:auto;
}
.menu-overlay.is-open{clip-path:inset(0 0 0 0);}
.menu-overlay nav a{
  font-family:var(--font-display);font-size:clamp(24px,6vw,42px);text-transform:uppercase;
  padding:10px 0;border-bottom:1px solid rgba(236,230,218,.12);display:flex;justify-content:space-between;align-items:baseline;
}
.menu-overlay nav a .num{color:var(--gold);}
.menu-close{
  align-self:flex-end;background:none;border:1px solid rgba(236,230,218,.3);border-radius:999px;
  padding:8px 18px;font-size:11px;letter-spacing:.2em;margin-bottom:20px;text-transform:uppercase;cursor:pointer;
}

@media(max-width:1120px){
  .nav,.header__phone{display:none;}
  .burger{display:flex;}
  .dir-switch{margin-left:auto;}
}

/* ── Кнопки ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 26px;border-radius:999px;border:1px solid var(--accent);
  background:none;font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;
  transition:background .4s,color .4s,border-color .4s,filter .4s;
}
.btn--solid{background:var(--accent);color:var(--milk);}
.btn--solid:hover{filter:brightness(1.08);}
.btn--ghost:hover{background:var(--accent);color:var(--milk);}
.btn--dark{border-color:var(--ink);}
.btn--light{border-color:var(--bone);color:var(--bone);}
.btn--light:hover{background:var(--bone);color:var(--ink);}
.linklike{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:inherit;cursor:pointer;}

/* ── HERO ── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--coal);}
.hero__split{flex:1;display:flex;position:relative;min-height:520px;}
.hero__half{
  flex:1;position:relative;display:flex;align-items:flex-end;overflow:hidden;
  transition:flex-grow .9s var(--ease),filter .6s;
}
.hero__media{position:absolute;inset:-6% 0;overflow:hidden;}
.hero__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1.2s var(--ease);}
.hero__media-note{
  position:absolute;left:14px;top:14px;margin:0;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bone);opacity:.65;background:rgba(24,21,18,.4);padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px);
}
.hero__half::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,21,18,.74) 0%,rgba(24,21,18,.12) 55%,rgba(24,21,18,.28) 100%);}
.hero__half--cosmo .hero__media img{object-position:70% 30%;}
.hero__half--dent .hero__media img{object-position:30% 30%;}

.hero__half-content{position:relative;z-index:2;padding:clamp(20px,3vw,44px);color:var(--bone);width:100%;}
.hero__kicker{margin:0 0 10px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;opacity:.8;display:flex;gap:12px;align-items:center;}
.hero__kicker::before{content:"";width:36px;height:1px;background:currentColor;opacity:.6;}
.hero__dir-title{
  font-family:var(--font-display);
  font-size:clamp(38px,7.2vh,84px);line-height:.95;text-transform:uppercase;margin:0 0 12px;
}
.hero__dir-sub{max-width:340px;font-size:13.5px;opacity:.85;margin:0;}
.hero__go{
  display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);
  opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.hero__half.is-open .hero__go,.hero__half:focus-visible .hero__go{opacity:1;transform:none;}
.hero__half:not(.is-open){filter:brightness(.82) saturate(.9);}
.hero__half.is-open{filter:none;}
.hero__half.is-open .hero__media img{transform:scale(1.045);}

/* центральный манифест */
.hero__center{
  position:absolute;z-index:5;left:50%;top:clamp(84px,15vh,150px);transform:translateX(-50%);
  text-align:center;width:min(92vw,900px);pointer-events:none;color:var(--bone);
}
.hero__center a,.hero__center button{pointer-events:auto;}
.hero__monogram{display:inline-flex;margin-bottom:14px;}
.hero__monogram svg{display:block;}
.hero__title{
  font-family:var(--font-display);
  font-size:clamp(21px,3.6vw,46px);line-height:1.14;text-transform:uppercase;letter-spacing:.02em;
  text-shadow:0 2px 30px rgba(24,21,18,.55);
}
.hero__lead{margin:14px auto 0;max-width:480px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;}
.hero__actions{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap;}

/* служебная строка hero */
.hero__meta{
  position:relative;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px var(--gutter);border-top:1px solid rgba(236,230,218,.2);
  background:var(--coal);color:var(--bone);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
}
.hero__scroll{display:flex;align-items:center;gap:10px;}
.hero__scroll i{display:block;width:1px;height:24px;background:var(--bone);opacity:.6;animation:scrollPulse 1.8s ease-in-out infinite;transform-origin:top;}
@keyframes scrollPulse{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.hero__seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(245,240,232,.5);z-index:3;pointer-events:none;}

@media(max-width:760px){
  .hero__split{flex-direction:column;}
  .hero__seam{top:50%;bottom:auto;left:0 !important;right:0;width:auto;height:1px;}
  .hero__center{top:70px;width:94vw;}
  .hero__title{font-size:clamp(17px,4.8vw,26px);}
  .hero__actions{margin-top:12px;gap:8px;}
  .hero__actions .btn{padding:11px 18px;font-size:10px;}
}

/* ── Секция: редакционная сетка ── */
.section{padding:clamp(70px,12vh,150px) var(--gutter);position:relative;}
.section__head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  padding-bottom:clamp(24px,4vh,44px);border-bottom:1px solid var(--line-strong);margin-bottom:clamp(30px,5vh,64px);
}
.section__head .num{font-family:var(--font-display);font-size:clamp(16px,2vw,24px);color:var(--wood);}
.section--dark{background:var(--coal);color:var(--bone);}
.section--dark .eyebrow{color:var(--gold);}
.section--dark .eyebrow::before{background:rgba(236,230,218,.4);}
.section--dark .section__head{border-color:rgba(236,230,218,.25);}
.section--dark .section__head .num{color:var(--gold);}

/* бегущая строка */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;background:var(--milk);}
.marquee--dark{background:transparent;border-color:rgba(236,230,218,.15);}
.marquee__track{display:flex;width:max-content;animation:marquee 36s linear infinite;}
.marquee__track span{
  font-family:var(--font-display);font-size:clamp(20px,3vw,36px);text-transform:uppercase;
  white-space:nowrap;padding-right:24px;
}
.marquee__track i{font-style:normal;color:var(--accent);padding:0 18px;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ── О клинике ── */
.about__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,5vw,80px);align-items:start;}
.about__col p{font-size:clamp(16px,1.6vw,21px);line-height:1.6;max-width:56ch;}
.stats{display:grid;border-top:1px solid var(--line-strong);}
.stat{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-strong);}
.stat strong{font-family:var(--font-display);font-size:clamp(30px,3.4vw,52px);line-height:1;font-weight:400;}
.stat span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--wood);text-align:right;max-width:190px;}
.about__values{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(30px,5vh,56px);}
.chip{border:1px solid var(--line-strong);border-radius:999px;padding:9px 18px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--wood);}
@media(max-width:900px){.about__grid{grid-template-columns:1fr;}}

/* ── Направления (интерактивные строки) ── */
.directions__grid{border-top:1px solid var(--line-strong);}
.dir-card{
  display:grid;grid-template-columns:64px minmax(0,5fr) minmax(0,4fr) 40px;gap:20px;align-items:center;
  padding:clamp(20px,3vh,34px) 6px;border-bottom:1px solid var(--line-strong);
  transition:background .45s,padding-left .45s var(--ease);position:relative;
}
.dir-card:hover,.dir-card:focus-visible{background:var(--accent-soft);padding-left:20px;}
.dir-card__num{font-family:var(--font-display);font-size:clamp(18px,2vw,26px);color:var(--wood);}
.dir-card h3{font-family:var(--font-display);font-size:clamp(20px,2.6vw,36px);text-transform:uppercase;line-height:1.05;}
.dir-card p{margin:4px 0 0;font-size:13px;color:var(--wood);max-width:44ch;}
.dir-card__arrow{font-size:20px;justify-self:end;transition:transform .45s var(--ease);color:var(--accent);}
.dir-card:hover .dir-card__arrow{transform:translateX(8px);}
.soon-badge{
  display:inline-block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid currentColor;border-radius:999px;padding:4px 12px;margin-bottom:8px;color:var(--gold);
}
@media(max-width:760px){
  .dir-card{grid-template-columns:44px 1fr 24px;row-gap:6px;}
  .dir-card p{grid-column:2/3;}
}

/* ── Детали направления ── */
.dir-detail__intro{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,90px);margin-bottom:clamp(36px,6vh,72px);align-items:start;}
.dir-detail__intro p{font-size:clamp(15px,1.5vw,19px);line-height:1.65;}
.dir-media{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:16/10;background:var(--milk);}
.dir-media img{width:100%;height:100%;object-fit:cover;}
@media(max-width:900px){.dir-detail__intro{grid-template-columns:1fr;}}

/* услуги — раскрывающиеся строки */
.svc-row{border-bottom:1px solid var(--line-strong);}
.svc-row:first-of-type{border-top:1px solid var(--line-strong);}
.svc-row__head{
  width:100%;background:none;border:0;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 4px;text-align:left;cursor:pointer;
}
.svc-row__head h4{font-family:var(--font-display);font-size:clamp(17px,2vw,26px);text-transform:uppercase;}
.svc-count{font-size:11px;letter-spacing:.14em;color:var(--wood);white-space:nowrap;}
.svc-row__head i{font-style:normal;font-size:20px;color:var(--accent);transition:transform .5s var(--ease);}
.svc-row.is-open .svc-row__head i{transform:rotate(45deg);}
.svc-row__body{max-height:0;overflow:hidden;transition:max-height .7s var(--ease);}
.svc-row__tags{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px 22px;}
.svc-row__tags span{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12px;color:var(--wood);}

/* ── Врачи ── */
.doc-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:clamp(24px,4vh,44px);}
.doc-filters button{
  background:none;border:1px solid var(--line-strong);border-radius:999px;padding:8px 18px;
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--wood);cursor:pointer;transition:all .35s;
}
.doc-filters button.is-active{background:var(--ink);border-color:var(--ink);color:var(--bone);}
.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);}
.doc-card{
  background:var(--paper);border:0;text-align:left;padding:26px 22px 22px;cursor:pointer;
  display:flex;flex-direction:column;gap:14px;transition:background .4s;
}
.doc-card:hover{background:var(--accent-soft);}
.doc-card__photo{
  width:64px;height:64px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:20px;
}
.doc-card__spec{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--wood);}
.doc-card h3{font-size:17px;line-height:1.3;}
.doc-card p{margin:0;font-size:12.5px;color:var(--wood);}
.doc-card__more{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:auto;}

/* ── Технологии / sticky ── */
.tech-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,90px);align-items:start;}
.tech-sticky{position:sticky;top:calc(var(--header-h) + 30px);}
.tech-list{border-top:1px solid rgba(236,230,218,.2);}
.tech-item{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(236,230,218,.2);}
.tech-item strong{font-family:var(--font-display);font-size:clamp(20px,2.4vw,30px);line-height:1.15;display:block;}
.tech-item p{margin:6px 0 0;font-size:13px;opacity:.75;max-width:52ch;}
@media(max-width:900px){.tech-grid{grid-template-columns:1fr;}.tech-sticky{position:static;}}

/* ── Подбор специалиста / квиз ── */
.quiz{max-width:760px;}
.quiz__step{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--wood);margin:0 0 14px;}
.quiz__q{font-family:var(--font-display);font-size:clamp(20px,2.6vw,32px);text-transform:uppercase;margin:0 0 22px;}
.quiz__opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}
.quiz__opts button{
  background:none;border:1px solid var(--line-strong);border-radius:2px;padding:18px;text-align:left;
  font-size:13.5px;cursor:pointer;transition:all .35s;line-height:1.45;
}
.quiz__opts button:hover{background:var(--accent-soft);border-color:var(--accent);}
.quiz__result{border:1px solid var(--line-strong);padding:clamp(22px,3vw,36px);background:var(--milk);}
.quiz__result h3{font-family:var(--font-display);font-size:clamp(20px,2.6vw,30px);text-transform:uppercase;margin-bottom:12px;}

/* ── Отзывы ── */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);}
.review-card{background:var(--paper);padding:26px 22px;margin:0;}
.review-card p{margin:0 0 12px;}
.review-card__meta{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.review-card__foot{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:var(--wood);}

/* ── Цены ── */
.prices__blocks{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);}
.price-block{border:1px solid var(--line-strong);padding:clamp(22px,3vw,40px);background:var(--milk);}
.price-block h3{font-family:var(--font-display);font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;margin-bottom:8px;}
.price-block__date{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--wood);}
.price-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13.5px;}
.price-table th{text-align:left;font-weight:400;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--wood);}
.price-table th,.price-table td{padding:12px 4px;border-bottom:1px solid var(--line);}
.price-table__empty{color:var(--wood);font-style:italic;}
.price-block__actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
@media(max-width:900px){.prices__blocks{grid-template-columns:1fr;}}

/* ── Документы (тёмная секция) ── */
.docs__grid{border-top:1px solid rgba(236,230,218,.25);}
.doc-item{
  width:100%;background:none;border:0;border-bottom:1px solid rgba(236,230,218,.25);
  display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;
  font-size:14.5px;text-align:left;cursor:pointer;transition:padding-left .4s var(--ease),color .3s;
}
.doc-item:hover{padding-left:16px;color:var(--gold);}
.doc-item span:last-child{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.55;white-space:nowrap;}
.doc-license{margin-top:clamp(28px,4vh,48px);border:1px solid rgba(236,230,218,.25);padding:clamp(20px,3vw,34px);}
.doc-license h3{font-family:var(--font-display);font-size:clamp(18px,2.2vw,26px);letter-spacing:.06em;margin-bottom:8px;}
.disclaimer{font-size:12px;opacity:.65;max-width:70ch;margin-top:22px;}

/* ── FAQ ── */
.faq-list{max-width:860px;border-top:1px solid var(--line-strong);}
.faq-item{border-bottom:1px solid var(--line-strong);}
.faq-item__q{
  width:100%;background:none;border:0;display:flex;gap:18px;align-items:baseline;justify-content:space-between;
  padding:22px 4px;text-align:left;cursor:pointer;font-size:clamp(15px,1.7vw,19px);line-height:1.45;
}
.faq-item__q i{font-style:normal;color:var(--accent);font-size:20px;transition:transform .5s var(--ease);flex-shrink:0;}
.faq-item.is-open .faq-item__q i{transform:rotate(45deg);}
.faq-item__a{max-height:0;overflow:hidden;transition:max-height .6s var(--ease);}
.faq-item__a div{padding:0 4px 24px;color:var(--wood);max-width:64ch;}

/* ── Будущие направления / операционная ── */
.future-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.future-card{background:var(--paper);padding:clamp(24px,3vw,40px);}
.future-card h3{font-family:var(--font-display);font-size:clamp(18px,2vw,26px);text-transform:uppercase;margin:10px 0;}
.future-card p{margin:0;font-size:13px;color:var(--wood);}
.subscribe-form{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;}
.subscribe-form input{
  flex:1;min-width:180px;background:none;border:0;border-bottom:1px solid var(--line-strong);
  padding:10px 2px;font-family:inherit;font-size:14px;outline:none;color:inherit;
}
.subscribe-form button{flex-shrink:0;}

/* ── Контакты ── */
.contacts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);margin-bottom:clamp(36px,6vh,72px);}
.clinic-card{background:var(--paper);padding:clamp(24px,3vw,40px);font-style:normal;margin:0;}
.clinic-card h3{font-family:var(--font-display);font-size:clamp(18px,2vw,26px);text-transform:uppercase;margin-bottom:12px;}
.clinic-card a{text-decoration:underline;text-underline-offset:3px;}
.clinic-card__map{margin-top:18px;}
.map-link{font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px;}
.map-link--disabled{opacity:.45;border:0;}
.placeholder-slot{color:var(--wood);font-style:italic;}
.uao{border:1px solid var(--line-strong);padding:clamp(26px,4vw,52px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:24px;align-items:center;background:var(--milk);}
.uao h3{font-family:var(--font-display);font-size:clamp(22px,3vw,40px);text-transform:uppercase;margin:8px 0 12px;}
.uao__text p{max-width:56ch;}
.uao .btn{justify-self:start;}
@media(max-width:800px){.uao{grid-template-columns:1fr;}}
.contacts__final{text-align:center;margin-top:clamp(50px,9vh,110px);}
.contacts__final .display{margin-bottom:30px;}
.disclaimer-final{font-size:11.5px;color:var(--wood);margin-top:40px;}
.footer-nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:14px;}
.footer-nav a{color:var(--wood);border-bottom:1px solid transparent;}
.footer-nav a:hover{border-color:currentColor;}

/* ── Модалка записи ── */
.modal{position:fixed;inset:0;z-index:2500;display:flex;align-items:center;justify-content:center;padding:18px;}
.modal__backdrop{position:absolute;inset:0;background:rgba(24,21,18,.66);backdrop-filter:blur(6px);}
.modal__panel{
  position:relative;z-index:2;background:var(--paper);width:min(560px,100%);
  max-height:88vh;overflow-y:auto;padding:clamp(24px,4vw,44px);border-radius:2px;
  animation:modalIn .5s var(--ease);
}
@keyframes modalIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.modal__close{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line-strong);background:none;font-size:18px;line-height:1;cursor:pointer;color:inherit;
}
.modal__panel h3{font-family:var(--font-display);font-size:clamp(19px,2.2vw,26px);text-transform:uppercase;margin:0 0 16px;padding-right:40px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--wood);margin-bottom:6px;}
.field input{
  width:100%;background:none;border:0;border-bottom:1px solid var(--line-strong);
  padding:10px 2px;font-family:inherit;font-size:15px;outline:none;color:inherit;border-radius:0;
}
.field input:focus{border-color:var(--accent);}
.form-note{font-size:11.5px;color:var(--wood);margin-top:12px;}
.form-note a{text-decoration:underline;}
.mis-note,.muted{font-size:12px;color:var(--wood);}
.booking-steps{font-size:12.5px;color:var(--wood);padding-left:18px;margin:0 0 16px;}

/* ── Поиск ── */
.search-panel{position:fixed;inset:0;z-index:2400;background:rgba(245,240,232,.97);backdrop-filter:blur(10px);opacity:0;transition:opacity .4s;}
.search-panel.is-open{opacity:1;}
.search-panel__inner{max-width:760px;margin:0 auto;padding:calc(var(--header-h) + 6vh) var(--gutter);}
.search-panel__input{
  width:100%;background:none;border:0;border-bottom:1px solid var(--ink);border-radius:0;
  font-family:var(--font-display);font-size:clamp(22px,3.4vw,40px);padding:10px 2px;outline:none;color:var(--ink);
}
.search-panel__hint{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wood);margin:14px 0 30px;}
.search-hit{border:1px solid var(--line-strong);padding:20px 22px;margin-bottom:12px;background:var(--paper);}
.request-pill{
  background:none;border:1px solid var(--line-strong);border-radius:999px;padding:9px 18px;
  font-size:13px;color:var(--wood);cursor:pointer;transition:all .35s;
}
.request-pill:hover{border-color:var(--accent);color:var(--ink);}
.requests__list{display:flex;flex-wrap:wrap;gap:10px;}
.requests__note{margin-top:24px;font-size:14px;color:var(--wood);}

/* ── Ассистент ── */
.assistant-fab{
  position:fixed;right:18px;bottom:18px;z-index:1300;display:flex;align-items:center;gap:8px;
  background:var(--ink);color:var(--bone);border:0;border-radius:999px;padding:13px 20px;
  font-size:11px;letter-spacing:.18em;cursor:pointer;box-shadow:0 10px 30px rgba(24,21,18,.3);
  transition:transform .4s var(--ease);
}
.assistant-fab:hover{transform:translateY(-3px);}
.assistant{
  position:fixed;right:18px;bottom:18px;z-index:2400;width:min(380px,calc(100vw - 36px));
  height:min(560px,calc(100vh - 60px));background:var(--paper);border:1px solid var(--line-strong);
  display:flex;flex-direction:column;border-radius:2px;overflow:hidden;
  animation:modalIn .45s var(--ease);box-shadow:0 24px 60px rgba(24,21,18,.28);
}
.assistant__head{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:16px 18px;border-bottom:1px solid var(--line);background:var(--coal);color:var(--bone);
}
.assistant__head h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;}
.assistant__log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;}
.msg{max-width:86%;padding:11px 14px;font-size:13.5px;line-height:1.55;border-radius:12px;white-space:pre-line;margin:0;}
.msg--bot{background:var(--accent-soft);align-self:flex-start;}
.msg--user{background:var(--ink);color:var(--bone);align-self:flex-end;}
.msg-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.msg-actions button{background:none;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:6px 12px;font-size:11px;cursor:pointer;}
.assistant__quick{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;border-top:1px solid var(--line);}
.assistant__quick button{flex-shrink:0;background:none;border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;font-size:11.5px;cursor:pointer;color:var(--wood);}
.assistant__input{display:flex;border-top:1px solid var(--line);}
.assistant__input input{flex:1;border:0;background:none;padding:14px;font-family:inherit;font-size:14px;outline:none;color:inherit;}
.assistant__input button{background:none;border:0;font-size:20px;padding:0 18px;cursor:pointer;color:var(--accent);}
.assistant__limits{font-size:10px;color:var(--wood);padding:8px 14px;border-top:1px solid var(--line);margin:0;}

/* ── Toast ── */
.toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:2600;
  background:var(--coal);color:var(--bone);padding:14px 22px;border-radius:999px;
  font-size:13px;max-width:min(90vw,520px);text-align:center;opacity:0;transition:all .4s var(--ease);
}
.toast.is-on{opacity:1;transform:translate(-50%,0);}

/* юридические шаблонные страницы */
.legal-pages{padding:60px var(--gutter);border-top:1px dashed var(--line-strong);}
.legal-pages h2{font-family:var(--font-display);font-size:clamp(20px,2.6vw,32px);text-transform:uppercase;margin-bottom:14px;}
.legal-placeholder{color:var(--wood);font-style:italic;}

