:root{color-scheme:light}img{max-width:100%}

/* Hallmark · macrostructure: Split Studio · genre: editorial
 * theme: studied-DNA (source: https://esmed.com.ua/) · nav: N12 banner+bar · footer: Ft4 dense colophon
 * paper: #f8f8f8 / #ffffff · hero paper: #d0c8c1 · accent: #a95898 (magenta, flood)
 * тип: Montserrat variable (200–800) — єдина гарнітура брендбуку, три ролі за вагою:
 *      display 275/300 · body 400 · label 620 uppercase. «BodyText» у брендбуці — підпис ролі, не назва шрифту.
 * imagery: клінічні фото ESMED, зняті з живого сайту
 */

:root{
  /* колір */
  --c-bg:#f8f8f8;
  --c-panel:#ffffff;
  --c-greige:#d0c8c1;
  --c-greige-dp:#c2b8b0;
  --c-accent:#a95898;
  --c-accent-dp:#8f4380;
  --c-accent-soft:#efe6ee;
  --c-ink:#2e3141;
  --c-ink-dim:#757575;
  --c-btn:#f0f0f0;
  --c-line:#e6e6e6;
  --c-line-soft:#f0eeed;
  --c-dark:#33384a;
  --c-on-accent:#ffffff;
  --c-pending:#b8879f;
  --c-focus:#2e3141;
  --c-star:#e8b74a;
  --c-ok:#3f7a52;
  --c-ok-bg:#e6f0e9;
  --c-warn:#8a5216;
  --c-warn-bg:#fbeedd;
  --c-neutral:#4d5566;
  --c-neutral-bg:#eceff3;

  /* простір — 4pt */
  --sp-2:8px;  --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px;
  --sp-8:32px; --sp-10:40px; --sp-12:48px; --sp-16:64px; --sp-20:80px;
  --sp-24:96px; --sp-30:120px;

  /* тип — одна гарнітура брендбуку, три ролі за вагою */
  --f:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --w-hero:275;     /* дисплей великого кегля — «дороге» світле накреслення */
  --w-display:300;  /* заголовки секцій */
  --w-sub:400;      /* h3, підзаголовки */
  --w-body:400;     /* основний текст — читабельніше за 300 на 14px */
  --w-med:500;      /* акценти в тексті */
  --w-label:620;    /* капслок-лейбли, ім'я в картці */
  --ls-hero:-.022em;
  --ls-display:-.014em;
  --ls-label:.14em;

  --t-hero:clamp(2.2rem,5.2vw,4.3rem);
  --t-page:clamp(2rem,4.4vw,3.9rem);
  --t-h2:clamp(1.6rem,2.6vw,2.45rem);
  --t-h3:clamp(1.15rem,1.6vw,1.55rem);
  --t-lead:clamp(.97rem,1.1vw,1.1rem);
  --t-body:.875rem;
  --t-sm:.8rem;
  --t-xs:.7rem;
  --t-micro:.64rem;

  /* рух */
  --e-out:cubic-bezier(.16,.84,.44,1);
  --e-in:cubic-bezier(.5,0,.9,.4);
  --e-io:cubic-bezier(.6,0,.2,1);
  --d-1:140ms; --d-2:240ms; --d-3:420ms;

  --z-base:1; --z-raise:10; --z-sticky:40; --z-nav:50; --z-over:60; --z-top:90;
  --wrap:1180px;
  --rule:1px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;overflow-x:clip;}
body{
  background:var(--c-bg);color:var(--c-ink);
  font-family:var(--f);font-weight:var(--w-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{margin:0;font-weight:var(--w-display);font-style:normal;color:var(--c-ink);
  text-wrap:balance;letter-spacing:var(--ls-display);overflow-wrap:anywhere;min-width:0;}
h3{font-weight:var(--w-sub);letter-spacing:-.008em;}
p{margin:0;line-height:1.68;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
img{display:block;max-width:100%;}
::selection{background:var(--c-accent);color:var(--c-on-accent);}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:2px;}
.band :focus-visible,.form-band :focus-visible,.hero :focus-visible,.dark-band :focus-visible{outline-color:var(--c-on-accent);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--sp-6);}

/* ============ панель перегляду (не частина сайту) ============ */
.review-bar{
  position:sticky;top:0;z-index:var(--z-top);background:var(--c-ink);color:var(--c-on-accent);
  padding:var(--sp-2) var(--sp-5);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--t-sm);
}
.review-bar .tag{background:var(--c-accent);padding:4px 10px;border-radius:20px;font-size:var(--t-micro);font-weight:var(--w-label);letter-spacing:var(--ls-label);text-transform:uppercase;}
.review-bar select{background:rgba(255,255,255,.13);color:var(--c-on-accent);border:0;border-radius:20px;padding:7px 14px;font-family:inherit;font-size:var(--t-sm);cursor:pointer;}
.review-bar select option{color:var(--c-ink);}
.review-bar .note{opacity:.6;}

/* ============ шапка: три поверхи ============ */
.topbar{background:var(--c-ink);color:var(--c-on-accent);font-size:var(--t-xs);}
.topbar .in{max-width:var(--wrap);margin:0 auto;padding:7px var(--sp-6);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;}
.topbar .l{display:flex;gap:var(--sp-6);opacity:.8;flex-wrap:wrap;}
.topbar .r{display:flex;gap:var(--sp-5);align-items:center;}
.topbar a{transition:opacity var(--d-1) var(--e-out);}
.topbar a:hover{opacity:.72;}
.topbar .soc{display:flex;gap:10px;}
.topbar .soc svg{width:13px;height:13px;fill:currentColor;}

header.site-head{position:sticky;top:36px;z-index:var(--z-nav);background:var(--c-bg);border-bottom:var(--rule) solid var(--c-line);}
header.site-head.on-hero{background:transparent;border-bottom:0;}
.head-in{max-width:var(--wrap);margin:0 auto;padding:var(--sp-4) var(--sp-6);display:flex;align-items:center;gap:var(--sp-8);}
.logo svg{width:92px;height:auto;}
nav.mainnav{display:flex;gap:2px;flex:1;justify-content:flex-end;}
nav.mainnav .ni{position:relative;}
nav.mainnav .ni>a,nav.mainnav .ni>button{
  display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--c-ink);
  font-size:var(--t-body);font-weight:var(--w-sub);padding:10px 13px;white-space:nowrap;
  transition:color var(--d-1) var(--e-out);
}
nav.mainnav .ni>a:hover,nav.mainnav .ni>button:hover,
nav.mainnav .ni.cur>a,nav.mainnav .ni.cur>button{color:var(--c-accent);}
nav.mainnav .car{font-size:.5rem;opacity:.5;transition:transform var(--d-2) var(--e-out);}
nav.mainnav .ni.open .car{transform:rotate(180deg);}
nav.mainnav .ni.open>button{color:var(--c-accent);}

.mega{
  position:absolute;top:calc(100% + 14px);right:-10px;width:540px;background:var(--c-panel);
  box-shadow:0 30px 70px -24px rgba(46,49,65,.28);padding:var(--sp-6) var(--sp-6) var(--sp-5);
  display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px var(--sp-8);z-index:var(--z-over);
}
.ni.open .mega{display:grid;}
.mega .grp{grid-column:1/-1;font-size:var(--t-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-accent);font-weight:var(--w-label);padding:10px 0 6px;}
.mega .grp+.grp,.mega .grp.s{border-top:var(--rule) solid var(--c-line);margin-top:10px;padding-top:16px;}
.mega a.ml{display:block;padding:8px 0;cursor:pointer;}
.mega a.ml b{display:block;font-size:var(--t-body);font-weight:var(--w-sub);transition:color var(--d-1) var(--e-out);}
.mega a.ml small{display:block;font-size:var(--t-xs);color:var(--c-ink-dim);margin-top:2px;}
.mega a.ml:hover b{color:var(--c-accent);}

/* ============ кнопки ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;background:var(--c-btn);color:var(--c-ink);
  font-size:var(--t-body);font-weight:var(--w-sub);padding:17px 34px;border-radius:40px;border:0;white-space:nowrap;
  transition:background var(--d-2) var(--e-out),color var(--d-2) var(--e-out);
}
.btn:hover{background:var(--c-accent);color:var(--c-on-accent);}
.btn-w{background:var(--c-on-accent);}
.btn-w:hover{background:var(--c-ink);color:var(--c-on-accent);}
.btn-o{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);color:var(--c-on-accent);}
.btn-o:hover{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px var(--c-on-accent);color:var(--c-on-accent);}
.btn-s{padding:13px 26px;font-size:var(--t-sm);}

/* ============ дуга ============ */
.arc{position:absolute;pointer-events:none;z-index:var(--z-base);}
.arc svg{width:100%;height:100%;overflow:visible;}
.arc path{fill:none;stroke:var(--c-accent);stroke-width:74;}
.arc.thin path{stroke-width:52;}
.arc.pale path{stroke:rgba(255,255,255,.16);}

/* ============ герой ============ */
.hero{position:relative;background:var(--c-greige);overflow:clip;padding:var(--sp-24) 0 var(--sp-30);margin-top:-70px;padding-top:150px;}
.hero .wrap{position:relative;z-index:var(--z-raise);}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--sp-8);align-items:end;}
.hero h1{font-size:var(--t-hero);font-weight:var(--w-hero);letter-spacing:var(--ls-hero);
  color:var(--c-on-accent);line-height:1.1;max-width:12ch;}
.hero .sub{color:var(--c-on-accent);opacity:.92;font-size:var(--t-lead);max-width:42ch;margin-top:var(--sp-6);line-height:1.68;}
.hero .acts{display:flex;gap:var(--sp-3);margin-top:var(--sp-10);flex-wrap:wrap;}
.hero-model{position:relative;justify-self:end;width:100%;max-width:430px;margin-bottom:calc(var(--sp-30) * -1);}
.hero-model img{width:100%;height:auto;}
.hero .arc-a{left:-6%;bottom:-16%;width:640px;height:640px;}
.hero .arc-b{right:-14%;bottom:-40%;width:560px;height:560px;}

/* ============ секції ============ */
section{padding:var(--sp-20) 0;}
section.pad-s{padding:var(--sp-12) 0;}
section.pad-l{padding:var(--sp-24) 0;}
.panel{background:var(--c-panel);}
.sec-h{font-size:var(--t-h2);}
.sec-p{font-size:var(--t-body);color:var(--c-ink-dim);max-width:58ch;margin-top:var(--sp-3);}
.sec-head{margin-bottom:var(--sp-10);}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.split .copy{padding:var(--sp-16) var(--sp-16);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-4);}
.split .copy h2{font-size:var(--t-h2);}
.split .copy p{font-size:var(--t-body);color:var(--c-ink-dim);}
.split .copy .btn{align-self:flex-start;margin-top:var(--sp-3);}
.split .media{position:relative;overflow:clip;min-height:340px;background:var(--c-greige);}
.split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

.page-head{padding:var(--sp-20) 0 var(--sp-12);}
.page-head h1{font-size:var(--t-page);font-weight:var(--w-hero);letter-spacing:var(--ls-hero);line-height:1.08;}
.page-head .lead{font-size:var(--t-lead);color:var(--c-ink-dim);max-width:60ch;margin-top:var(--sp-5);}

/* ============ плитки напрямків ============ */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;}
.tile{position:relative;aspect-ratio:1/.9;display:flex;flex-direction:column;justify-content:flex-end;
  padding:var(--sp-5);overflow:clip;cursor:pointer;background:var(--c-greige);color:var(--c-on-accent);border:0;text-align:left;}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--d-3) var(--e-out);}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(46,49,65,.72),rgba(46,49,65,.12) 62%);}
.tile.solid{background:var(--c-accent);}
.tile.solid::after{background:none;}
.tile b,.tile small{position:relative;z-index:var(--z-raise);}
.tile b{font-size:1.02rem;font-weight:var(--w-sub);}
.tile small{font-size:var(--t-micro);opacity:.8;margin-top:5px;}
.tile:hover img{transform:scale(1.045);}

/* ============ довіра ============ */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;}
.trust .it{background:var(--c-panel);padding:var(--sp-10) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4);}
.trust .it:first-child{grid-column:span 2;background:var(--c-accent-soft);}
.trust .it svg{width:30px;height:30px;stroke:var(--c-accent);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
.trust .it b{font-size:var(--t-lead);font-weight:var(--w-sub);line-height:1.35;}
.trust .it p{font-size:var(--t-sm);color:var(--c-ink-dim);}

/* ============ смуги ============ */
.band{position:relative;background:var(--c-accent);color:var(--c-on-accent);overflow:clip;padding:var(--sp-16) var(--sp-16);}
.band h2{color:var(--c-on-accent);font-size:var(--t-h2);max-width:20ch;position:relative;z-index:var(--z-raise);}
.band p{color:rgba(255,255,255,.86);font-size:var(--t-body);margin-top:var(--sp-4);max-width:50ch;position:relative;z-index:var(--z-raise);}
.band .acts{margin-top:var(--sp-8);display:flex;gap:var(--sp-3);flex-wrap:wrap;position:relative;z-index:var(--z-raise);}
.band .arc-c{right:-90px;bottom:-230px;width:560px;height:560px;}
.band.with-img{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--sp-12);align-items:center;padding-right:0;}
.band.with-img .ph{position:relative;z-index:var(--z-raise);align-self:stretch;min-height:280px;overflow:clip;}
.band.with-img .ph img{width:100%;height:100%;object-fit:cover;}

.dark-band{position:relative;overflow:clip;padding:var(--sp-20) 0;background:var(--c-dark);}
.dark-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;}
.dark-band::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(46,49,65,.86),rgba(169,88,152,.42));}
.dark-band .wrap{position:relative;z-index:var(--z-raise);}
.dark-band h2{color:var(--c-on-accent);text-align:center;font-size:var(--t-h2);}

/* ============ лікарі ============ */
.doc-row{background:var(--c-panel);display:grid;grid-template-columns:300px minmax(0,1fr);margin-bottom:var(--sp-5);}
.doc-row .por{position:relative;background:var(--c-greige);overflow:clip;min-height:250px;display:flex;align-items:flex-end;justify-content:center;}
.doc-row .por img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.doc-row .por.pending{background:linear-gradient(165deg,#e7e1dd,var(--c-greige));align-items:center;}
.doc-row .por.pending span{font-family:inherit;font-weight:var(--w-hero);font-size:2.9rem;color:rgba(169,88,152,.42);letter-spacing:.04em;}
.doc-row .por.pending em{position:absolute;bottom:14px;font-style:normal;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:#8a7f78;}
.doc-row .info{padding:var(--sp-10) var(--sp-12);display:flex;flex-direction:column;justify-content:center;gap:2px;}
.doc-row .info h3{font-size:var(--t-h3);line-height:1.25;}
.doc-row .info .role{font-size:var(--t-sm);color:var(--c-accent);margin-top:10px;font-weight:var(--w-med);}
.doc-row .info .meta{display:flex;gap:var(--sp-8);margin-top:var(--sp-5);flex-wrap:wrap;}
.doc-row .info .meta div b{display:block;font-size:1.15rem;font-weight:var(--w-sub);font-variant-numeric:tabular-nums;}
.doc-row .info .meta div span{font-size:var(--t-xs);color:var(--c-ink-dim);}
.doc-row .info .desc{font-size:var(--t-sm);color:var(--c-ink-dim);margin-top:var(--sp-4);max-width:62ch;line-height:1.7;}
.doc-row .info .btn{align-self:flex-start;margin-top:var(--sp-6);}
.grp-title{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent);font-weight:var(--w-label);margin:var(--sp-10) 0 var(--sp-4);}
.grp-title:first-of-type{margin-top:0;}

/* ============ відгуки ============ */
.rev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);margin-top:var(--sp-10);}
.rev{background:var(--c-panel);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);}
.rev .who{display:flex;gap:var(--sp-3);align-items:center;}
.rev .who .av{width:42px;height:42px;border-radius:50%;background:var(--c-greige);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--t-sm);color:var(--c-accent-dp);}
.rev .who b{font-size:var(--t-body);font-weight:var(--w-label);display:block;}
.rev .who span{font-size:var(--t-xs);color:var(--c-ink-dim);}
.rev p{font-size:var(--t-sm);color:var(--c-ink);}
.stars{color:var(--c-star);font-size:var(--t-sm);letter-spacing:2px;}
.rev .src{font-size:var(--t-micro);color:var(--c-ink-dim);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;}

/* ============ форма / футер ============ */
.form-band{position:relative;background:var(--c-accent);color:var(--c-on-accent);overflow:clip;padding:var(--sp-20) 0 var(--sp-10);}
.form-band .arc-f{right:-140px;top:0;width:640px;height:640px;}
.form-band .wrap{position:relative;z-index:var(--z-raise);}
.form-band h2{color:var(--c-on-accent);font-size:clamp(1.7rem,3.2vw,2.8rem);line-height:1.25;max-width:17ch;}
.form-band .note{display:flex;gap:var(--sp-16);margin-top:var(--sp-8);flex-wrap:wrap;align-items:center;}
.form-band .note p{font-size:var(--t-body);color:rgba(255,255,255,.88);max-width:38ch;}
.form-band .priv{display:flex;align-items:center;gap:10px;font-size:var(--t-sm);color:rgba(255,255,255,.88);}
.form-band .priv svg{width:26px;height:18px;stroke:currentColor;fill:none;stroke-width:1.3;}
.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:var(--sp-8);align-items:end;margin-top:var(--sp-10);}
.fld label{display:block;font-size:var(--t-xs);color:rgba(255,255,255,.75);margin-bottom:7px;}
.fld select,.fld input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.5);color:var(--c-on-accent);font-family:inherit;font-size:1.02rem;font-weight:var(--w-body);padding:6px 0 10px;transition:border-color var(--d-1) var(--e-out);}
.fld select option{color:var(--c-ink);}
.fld input::placeholder{color:rgba(255,255,255,.55);}
.fld select:hover,.fld input:hover{border-bottom-color:rgba(255,255,255,.8);}
.fld select:focus-visible,.fld input:focus-visible{outline:2px solid var(--c-on-accent);outline-offset:4px;border-bottom-color:var(--c-on-accent);}
.foot{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;gap:var(--sp-8);align-items:center;margin-top:var(--sp-16);padding-top:var(--sp-8);border-top:1px solid rgba(255,255,255,.3);font-size:var(--t-body);color:rgba(255,255,255,.92);}
.foot svg.lg{width:76px;height:auto;}
.foot .s{display:flex;gap:var(--sp-3);}
.foot .s svg{width:15px;height:15px;fill:currentColor;}
.copy-line{display:flex;gap:var(--sp-16);margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.25);font-size:var(--t-xs);color:rgba(255,255,255,.75);flex-wrap:wrap;}

/* ============ вкладки / списки ============ */
.tabs{display:flex;gap:var(--sp-2);flex-wrap:wrap;}
.tab{border:1px solid var(--c-line);background:var(--c-panel);color:var(--c-ink);font-size:var(--t-sm);padding:12px 22px;border-radius:40px;white-space:nowrap;
  transition:border-color var(--d-1) var(--e-out),color var(--d-1) var(--e-out),background var(--d-1) var(--e-out);}
.tab:hover{border-color:var(--c-accent);color:var(--c-accent);}
.tab.on{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent);}
.zones{display:flex;gap:6px;flex-wrap:wrap;margin-top:var(--sp-5);}
.zone{border:0;background:var(--c-accent-soft);color:var(--c-accent-dp);font-size:var(--t-xs);font-weight:var(--w-med);padding:10px 18px;border-radius:40px;white-space:nowrap;
  transition:background var(--d-1) var(--e-out),color var(--d-1) var(--e-out);}
.zone.on{background:var(--c-accent);color:var(--c-on-accent);}

.rows{background:var(--c-panel);margin-top:var(--sp-6);}
.row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-5) var(--sp-10);border-bottom:var(--rule) solid var(--c-line-soft);
  transition:background var(--d-1) var(--e-out);}
.row:last-child{border-bottom:0;}
.row:hover{background:var(--c-bg);}
.row b{font-size:var(--t-lead);font-weight:var(--w-sub);display:block;}
.row .sub{font-size:var(--t-xs);color:var(--c-ink-dim);display:block;margin-top:5px;}
.row .rt{display:flex;align-items:center;gap:var(--sp-6);white-space:nowrap;}
.row .price{font-size:1rem;font-variant-numeric:tabular-nums;}
.row .price small{display:block;font-size:var(--t-micro);color:var(--c-ink-dim);}
.row a.ask{font-size:var(--t-sm);color:var(--c-accent);white-space:nowrap;}
.row a.ask:hover{text-decoration:underline;}

.hint{display:flex;gap:var(--sp-3);align-items:flex-start;margin-top:var(--sp-6);background:var(--c-accent-soft);padding:var(--sp-5) var(--sp-6);font-size:var(--t-sm);color:var(--c-accent-dp);line-height:1.65;}
.hint svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;flex-shrink:0;margin-top:2px;}
.pill{font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:20px;font-weight:var(--w-label);white-space:nowrap;}
.pill.new{background:var(--c-ok-bg);color:var(--c-ok);}
.pill.fix{background:var(--c-warn-bg);color:var(--c-warn);}
.pill.ok{background:var(--c-neutral-bg);color:var(--c-neutral);}

/* ============ карта структури ============ */
.map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);}
.map-col{background:var(--c-panel);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);}
.map-col h3{font-size:var(--t-h3);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;}
.map-col ul{display:flex;flex-direction:column;gap:9px;}
.map-col li{font-size:var(--t-sm);color:var(--c-ink-dim);padding-left:14px;position:relative;line-height:1.5;}
.map-col li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:var(--c-accent);border-radius:50%;}
.map-col li ul{margin-top:8px;}
.map-col li li::before{background:var(--c-greige);}
.map-open{font-size:var(--t-sm);color:var(--c-accent);margin-top:auto;padding-top:var(--sp-2);cursor:pointer;}
.map-open:hover{text-decoration:underline;}
.legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-8);align-items:center;font-size:var(--t-sm);color:var(--c-ink-dim);}

/* ============ кроки «Пацієнту» ============ */
.steps{display:flex;flex-direction:column;gap:2px;}
.step{background:var(--c-panel);display:grid;grid-template-columns:110px minmax(0,1fr);}
.step .n{background:var(--c-accent-soft);color:var(--c-accent-dp);display:flex;align-items:flex-start;justify-content:center;padding-top:var(--sp-8);font-size:1.9rem;font-weight:var(--w-hero);font-variant-numeric:tabular-nums;}
.step .c{padding:var(--sp-8) var(--sp-10);}
.step .c h3{font-size:var(--t-h3);}
.step .c p{font-size:var(--t-body);color:var(--c-ink-dim);margin-top:10px;line-height:1.75;max-width:74ch;}
.step.with-img{grid-template-columns:110px minmax(0,1fr) 280px;}
.step.with-img .im{position:relative;overflow:clip;min-height:220px;}
.step.with-img .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

.faq{background:var(--c-panel);}
.faq details{border-bottom:var(--rule) solid var(--c-line-soft);}
.faq details:last-child{border-bottom:0;}
.faq summary{padding:var(--sp-5) var(--sp-10);font-size:var(--t-lead);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--sp-5);align-items:center;
  transition:color var(--d-1) var(--e-out);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--c-accent);font-size:1.35rem;flex-shrink:0;}
.faq details[open] summary::after{content:"−";}
.faq details[open] summary{color:var(--c-accent);}
.faq .a{padding:0 var(--sp-10) var(--sp-6);font-size:var(--t-body);color:var(--c-ink-dim);line-height:1.8;max-width:80ch;}

/* ============ до/після ============ */
.ba-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5);}
.ba{background:var(--c-panel);}
.ba .pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;position:relative;}
.ba .pair figure{margin:0;position:relative;aspect-ratio:3/4;overflow:clip;background:var(--c-greige);}
.ba .pair figure img{width:100%;height:100%;object-fit:cover;}
.ba .pair figure figcaption{position:absolute;top:10px;left:10px;z-index:var(--z-raise);font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.9);color:var(--c-ink);padding:4px 9px;border-radius:20px;}
.ba .m{padding:var(--sp-5) var(--sp-6);}
.ba .m b{font-size:var(--t-body);font-weight:var(--w-sub);display:block;}
.ba .m span{font-size:var(--t-xs);color:var(--c-ink-dim);display:block;margin-top:5px;}

/* ============ ціни ============ */
.note3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-bottom:var(--sp-8);}
.note3 div{background:var(--c-panel);padding:var(--sp-8);}
.note3 b{display:block;font-size:var(--t-lead);font-weight:var(--w-sub);margin-bottom:10px;}
.note3 p{font-size:var(--t-sm);color:var(--c-ink-dim);}

/* ============ клініка / контакти ============ */
.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;}
.stat-row div{background:var(--c-panel);padding:var(--sp-10) var(--sp-6);}
.stat-row b{display:block;font-size:2.3rem;font-weight:var(--w-hero);letter-spacing:var(--ls-hero);color:var(--c-accent);font-variant-numeric:tabular-nums;}
.stat-row span{font-size:var(--t-sm);color:var(--c-ink-dim);display:block;margin-top:8px;}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:2px;}
.contact-grid .info{background:var(--c-panel);padding:var(--sp-12);display:flex;flex-direction:column;gap:var(--sp-8);}
.contact-grid .rw b{display:block;font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent);margin-bottom:8px;font-weight:var(--w-label);}
.contact-grid .rw p,.contact-grid .rw a{font-size:var(--t-lead);display:block;line-height:1.65;}
.contact-grid .rw a{transition:color var(--d-1) var(--e-out);}
.contact-grid .rw a:hover{color:var(--c-accent);}
.contact-grid .map{background:var(--c-greige);min-height:440px;position:relative;overflow:clip;}
.contact-grid .map img{width:100%;height:100%;object-fit:cover;opacity:.5;}
.contact-grid .map em{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:#6d635d;}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;}
.gal figure{margin:0;position:relative;aspect-ratio:4/3;overflow:clip;background:var(--c-greige);}
.gal figure img{width:100%;height:100%;object-fit:cover;}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--c-on-accent);
  background:linear-gradient(to top,rgba(46,49,65,.7),transparent);}

/* ============ детальні сторінки ============ */
.crumbs{font-size:var(--t-sm);color:var(--c-ink-dim);padding-top:var(--sp-8);}
.crumbs a{cursor:pointer;transition:color var(--d-1) var(--e-out);}
.crumbs a:hover{color:var(--c-accent);}
.dhero{display:grid;grid-template-columns:420px minmax(0,1fr);background:var(--c-panel);margin-top:var(--sp-5);}
.dhero .im{position:relative;overflow:clip;min-height:440px;background:var(--c-greige);}
.dhero .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;}
.dhero .im.pending{display:flex;align-items:center;justify-content:center;background:linear-gradient(165deg,#e7e1dd,var(--c-greige));}
.dhero .im.pending span{font-size:3.4rem;color:rgba(169,88,152,.4);}
.dhero .c{padding:var(--sp-12);display:flex;flex-direction:column;justify-content:center;gap:var(--sp-2);}
.dhero .c h1{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.18;}
.dhero .c .role{color:var(--c-accent);font-size:var(--t-body);font-weight:var(--w-med);margin-top:12px;}
.dhero .c .meta{display:flex;gap:var(--sp-10);margin-top:var(--sp-8);flex-wrap:wrap;}
.dhero .c .meta div b{display:block;font-size:1.55rem;font-weight:var(--w-hero);font-variant-numeric:tabular-nums;}
.dhero .c .meta div span{font-size:var(--t-xs);color:var(--c-ink-dim);}
.dhero .c .btn{align-self:flex-start;margin-top:var(--sp-8);}
.dl{background:var(--c-panel);padding:var(--sp-10) var(--sp-12);margin-bottom:2px;}
.dl h3{font-size:var(--t-h3);margin-bottom:var(--sp-5);}
.dl ul{display:flex;flex-direction:column;gap:11px;}
.dl li{font-size:var(--t-body);color:var(--c-ink-dim);padding-left:17px;position:relative;line-height:1.65;}
.dl li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:var(--c-accent);border-radius:50%;}
.dl p{font-size:var(--t-body);color:var(--c-ink-dim);line-height:1.8;max-width:78ch;}
.dl p.pending{color:var(--c-pending);}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px;}

.page{display:none;}
.page.on{display:block;}

@media (max-width:1040px){
  nav.mainnav{display:none;}
  .hero{padding:110px 0 var(--sp-16);}
  .hero-grid{grid-template-columns:minmax(0,1fr);}
  .hero-model{max-width:280px;margin-bottom:0;justify-self:start;}
  .split,.two,.contact-grid,.doc-row,.dhero,.band.with-img{grid-template-columns:minmax(0,1fr);}
  .split .copy{padding:var(--sp-8) var(--sp-6);}
  .tiles,.trust,.stat-row,.gal,.note3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trust .it:first-child{grid-column:span 2;}
  .rev-grid,.ba-grid,.map-grid{grid-template-columns:minmax(0,1fr);}
  .form-row,.foot{grid-template-columns:minmax(0,1fr);gap:var(--sp-6);}
  .doc-row .por{min-height:280px;}
  .doc-row .info,.dl,.dhero .c{padding:var(--sp-8) var(--sp-6);}
  .band{padding:var(--sp-10) var(--sp-6);}
  .step,.step.with-img{grid-template-columns:72px minmax(0,1fr);}
  .step.with-img .im{display:none;}
  .step .c{padding:var(--sp-6) var(--sp-5);}
  .row{flex-direction:column;align-items:flex-start;padding:var(--sp-5) var(--sp-6);}
  .faq summary,.faq .a{padding-left:var(--sp-6);padding-right:var(--sp-6);}
  .contact-grid .info{padding:var(--sp-8) var(--sp-6);}
  .arc{display:none;}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;}
  .tile img{transition:none;}
  *{transition-duration:120ms !important;}
}


/* ============ правки: справжні сторінки замість одного файлу ============ */
.review-bar{display:none!important;}
.page{display:block;}
.site-head{top:0;}

/* ============ порівняння «до / після» з перетягуванням ============ */
.cmp{
  position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--c-greige);
  touch-action:none; -webkit-user-select:none; user-select:none; cursor:ew-resize;
}
.cmp img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; pointer-events:none;}
.cmp-before{position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--p,50%)) 0 0); will-change:clip-path;}
.cmp-lab{
  position:absolute; top:var(--sp-3); z-index:2; pointer-events:none;
  font-size:var(--t-micro); font-weight:var(--w-label); letter-spacing:var(--ls-label); text-transform:uppercase;
  background:rgba(21,22,22,.62); color:#fff; padding:.28em .6em; backdrop-filter:blur(2px);
}
.cmp-lab.l{left:var(--sp-3);} .cmp-lab.r{right:var(--sp-3);}
.cmp-h{
  position:absolute; top:0; bottom:0; left:var(--p,50%); transform:translateX(-50%);
  width:46px; padding:0; border:0; background:transparent; cursor:ew-resize; z-index:3;
}
.cmp-h i{position:absolute; top:0; bottom:0; left:50%; width:2px; margin-left:-1px; background:#fff; box-shadow:0 0 0 1px rgba(21,22,22,.28);}
.cmp-h::after{
  content:''; position:absolute; top:50%; left:50%; width:42px; height:42px; margin:-21px 0 0 -21px;
  border-radius:50%; background:#fff; box-shadow:0 2px 12px rgba(21,22,22,.34);
}
.cmp-h::before{
  content:'‹ ›'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:1; font-size:15px; letter-spacing:.18em; color:var(--c-accent); font-weight:700;
}
.cmp-h:focus-visible{outline:none;}
.cmp-h:focus-visible::after{box-shadow:0 0 0 3px var(--c-focus), 0 2px 12px rgba(21,22,22,.34);}
.cmp-hint{
  position:absolute; left:50%; bottom:var(--sp-4); transform:translateX(-50%); z-index:2; pointer-events:none;
  font-size:var(--t-micro); background:rgba(21,22,22,.62); color:#fff; padding:.3em .7em; white-space:nowrap;
  transition:opacity .25s var(--e-out);
}
.cmp.touched .cmp-hint{opacity:0;}
.ba-soon{aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--c-greige); color:var(--c-ink-dim); font-size:var(--t-sm); padding:var(--sp-6); line-height:1.6;}
@media (prefers-reduced-motion:reduce){ .cmp-hint{transition:none;} }

/* ============ підвал ============ */
.site-foot{background:var(--c-ink); color:var(--c-on-accent); margin-top:var(--sp-16); padding:var(--sp-12) 0 var(--sp-6);}
.foot-in{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--sp-8); align-items:start;}
.site-foot .fcol{display:flex; flex-direction:column; gap:var(--sp-2); font-size:var(--t-sm);}
.site-foot .fcol b{font-size:var(--t-body); font-weight:var(--w-label); letter-spacing:var(--ls-label); margin-bottom:var(--sp-2);}
.site-foot p{margin:0; opacity:.78; line-height:1.7;}
.site-foot a{color:inherit; text-decoration:none; opacity:.78;}
.site-foot a:hover{opacity:1; text-decoration:underline;}
.foot-b{display:flex; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap;
  margin-top:var(--sp-10); padding-top:var(--sp-5); border-top:1px solid rgba(255,255,255,.16);
  font-size:var(--t-xs); opacity:.6;}
@media (max-width:820px){ .foot-in{grid-template-columns:1fr 1fr;} .site-foot .fcol:first-child{grid-column:1/-1;} }
@media (max-width:560px){ .foot-in{grid-template-columns:1fr;} }

/* плитки стали посиланнями — знімаємо кнопкові дефолти */
a.tile{display:block; text-decoration:none; color:inherit; -webkit-appearance:none; appearance:none;}

/* ═══════════ 1. РОЗДІЛИ: зміст + секції, нічого не сховано ═══════════ */
.dir{display:grid; grid-template-columns:minmax(0,1fr); gap:var(--sp-8); margin-top:var(--sp-8);}
@media (min-width:980px){
  .dir{grid-template-columns:238px minmax(0,1fr); gap:var(--sp-12); align-items:start;}
  .dir-nav{position:sticky; top:96px;}
  .dir-list{display:flex; flex-direction:column; gap:1px; grid-template-columns:none;}
}
.dir-lab{
  font-size:var(--t-micro); font-weight:var(--w-label); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-ink-dim); display:block; margin-bottom:var(--sp-3);
}
.dir-list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;}
@media (max-width:520px){ .dir-list{grid-template-columns:minmax(0,1fr);} }
.dn{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3);
  padding:.62em .8em; text-decoration:none; color:var(--c-ink-dim); font-size:var(--t-sm); line-height:1.35;
  border-left:2px solid transparent; background:var(--c-panel);
  transition:color var(--d-1) var(--e-out), background var(--d-1) var(--e-out), border-color var(--d-1) var(--e-out);
}
.dn:hover{color:var(--c-ink); background:var(--c-greige);}
.dn.cur{color:var(--c-accent-dp); background:var(--c-accent-soft); border-left-color:var(--c-accent); font-weight:var(--w-med);}
.dn em{font-style:normal; font-size:var(--t-micro); color:var(--c-ink-dim); font-variant-numeric:tabular-nums; flex:none;}
.dn.cur em{color:var(--c-accent);}
.dn:focus-visible{outline:2px solid var(--c-focus); outline-offset:-2px;}

.dir-sec{scroll-margin-top:104px;}
.dir-sec + .dir-sec{margin-top:var(--sp-12);}
.dir-h{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap;
  padding-bottom:var(--sp-3); border-bottom:2px solid var(--c-ink);
}
.dir-h h2{font-size:var(--t-h3); margin:0;}
.dir-h .cnt{
  font-size:var(--t-micro); letter-spacing:var(--ls-label); text-transform:uppercase;
  color:var(--c-ink-dim); font-variant-numeric:tabular-nums; flex:none;
}
.dir-sub{
  margin:var(--sp-8) 0 calc(var(--sp-3) * -1); font-size:var(--t-sm); font-weight:var(--w-label);
  letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-accent-dp);
}
.dir-sec .rows{margin-top:var(--sp-5);}
.dir-more{
  display:block; margin-top:var(--sp-4); font-size:var(--t-sm); color:var(--c-ink-dim);
  border-left:2px solid var(--c-line); padding-left:var(--sp-4);
}

/* ═══════════ 2. ФІЛЬТР: тихий рядок замість ряду «пігулок» ═══════════ */
.filt{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--sp-3) var(--sp-6);
  margin-top:var(--sp-6); padding-bottom:var(--sp-4); border-bottom:var(--rule) solid var(--c-line);
}
.filt-l{
  font-size:var(--t-micro); font-weight:var(--w-label); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-ink-dim); flex:none;
}
.fb{
  position:relative; border:0; background:none; padding:.15em 0; cursor:pointer;
  font-family:inherit; font-size:var(--t-sm); line-height:1.4; color:var(--c-ink-dim);
  transition:color var(--d-1) var(--e-out);
}
.fb::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--c-accent);
  transform:scaleX(0); transform-origin:left; transition:transform var(--d-2) var(--e-out);
}
.fb:hover{color:var(--c-ink);}
.fb.on{color:var(--c-accent-dp); font-weight:var(--w-med);}
.fb.on::after{transform:scaleX(1);}
.fb em{font-style:normal; font-size:var(--t-micro); color:var(--c-ink-dim); margin-left:.3em; font-variant-numeric:tabular-nums;}
.fb.on em{color:var(--c-accent);}
.fb:focus-visible{outline:2px solid var(--c-focus); outline-offset:3px;}
.filt-none{display:none; margin-top:var(--sp-8); color:var(--c-ink-dim); font-size:var(--t-sm);}
.filt-none.on{display:block;}
@media (prefers-reduced-motion:reduce){ .fb::after{transition:none;} }

/* старі «пігулки» більше не використовуються */
.tabs, .zones{display:none;}

/* ═══════════ шапка: фон при прокрутці, компактність, мобільне меню ═══════════ */
header.site-head{
  top:0;
  background:var(--c-bg);
  border-bottom:var(--rule) solid var(--c-line);
  transition:background var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out),
             box-shadow var(--d-2) var(--e-out);
}
header.site-head.on-hero{background:transparent; border-bottom-color:transparent;}
header.site-head.stuck,
header.site-head.on-hero.stuck{
  background:var(--c-bg);
  border-bottom-color:var(--c-line);
  box-shadow:0 10px 30px -18px rgba(46,49,65,.45);
}
.head-in{transition:padding var(--d-2) var(--e-out);}
.site-head.stuck .head-in{padding-top:10px; padding-bottom:10px;}
.logo svg{transition:width var(--d-2) var(--e-out);}
.site-head.stuck .logo svg{width:78px;}
.site-head.mopen{background:var(--c-bg); border-bottom-color:var(--c-line);}

/* бургер */
.burger{
  display:none; width:44px; height:44px; margin-left:auto; padding:0;
  border:0; background:transparent; cursor:pointer; position:relative; flex:none;
}
.burger i{
  position:absolute; left:11px; right:11px; height:2px; background:var(--c-ink);
  transition:transform var(--d-2) var(--e-out), opacity var(--d-1) var(--e-out), top var(--d-2) var(--e-out);
}
.burger i:nth-child(1){top:15px;} .burger i:nth-child(2){top:21px;} .burger i:nth-child(3){top:27px;}
.burger[aria-expanded="true"] i:nth-child(1){top:21px; transform:rotate(45deg);}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] i:nth-child(3){top:21px; transform:rotate(-45deg);}
.burger:focus-visible{outline:2px solid var(--c-focus); outline-offset:-4px;}

/* панель мобільного меню */
.mnav{
  position:absolute; left:0; right:0; top:100%; background:var(--c-bg);
  border-bottom:var(--rule) solid var(--c-line); box-shadow:0 24px 40px -26px rgba(46,49,65,.5);
  max-height:calc(100vh - 100%); overflow-y:auto; overscroll-behavior:contain;
}
.mnav[hidden]{display:none;}
.mnav-in{max-width:var(--wrap); margin:0 auto; padding:var(--sp-4) var(--sp-6) var(--sp-8); display:flex; flex-direction:column;}
.mnav a{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-4);
  padding:14px 2px; text-decoration:none; color:var(--c-ink); font-size:1.05rem;
  border-bottom:var(--rule) solid var(--c-line-soft);
}
.mnav a.sub{padding-left:var(--sp-5); font-size:var(--t-sm); color:var(--c-ink-dim);}
.mnav a.cur{color:var(--c-accent-dp); font-weight:var(--w-med);}
.mnav .grp{
  font-size:var(--t-micro); font-weight:var(--w-label); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-ink-dim); padding:var(--sp-5) 2px var(--sp-2);
}
.mnav .btn{margin-top:var(--sp-6); justify-content:center; border-bottom:0;}
.mnav-c{display:flex; flex-direction:column; gap:6px; margin-top:var(--sp-5); font-size:var(--t-sm); color:var(--c-ink-dim);}
.mnav-c a{border-bottom:0; padding:2px; color:var(--c-ink); display:inline;}

@media (max-width:1040px){
  .burger{display:block;}
  .head-in{gap:var(--sp-4);}
}
@media (min-width:1041px){ .mnav{display:none!important;} }
@media (prefers-reduced-motion:reduce){
  header.site-head, .head-in, .logo svg, .burger i{transition:none;}
}

/* ═══════════ блок заявки: світла картка на фірмовому фоні ═══════════ */
.cta{position:relative; background:var(--c-accent); color:var(--c-on-accent); overflow:clip;
  padding:var(--sp-20) 0;}
.cta .arc-f{right:-140px; top:0; width:640px; height:640px;}
.cta-in{position:relative; z-index:var(--z-raise);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:var(--sp-16); align-items:start;}
.cta-l{display:flex; flex-direction:column; gap:var(--sp-5);}
.cta-l h2{color:var(--c-on-accent); font-size:clamp(1.6rem,3vw,2.5rem); line-height:1.22; max-width:16ch; margin:0;}
.cta-l p{margin:0; color:rgba(255,255,255,.86); max-width:42ch; line-height:1.7;}
.cta-tel{color:var(--c-on-accent); text-decoration:none; font-size:clamp(1.3rem,2.4vw,1.75rem);
  font-weight:var(--w-med); letter-spacing:.01em; font-variant-numeric:tabular-nums;}
.cta-tel:hover{text-decoration:underline;}
.cta-hours{font-size:var(--t-sm); color:rgba(255,255,255,.7);}
.cta .priv{color:rgba(255,255,255,.88);}

.cta-card{background:var(--c-bg); color:var(--c-ink); padding:var(--sp-8);
  display:flex; flex-direction:column; gap:var(--sp-5);
  box-shadow:0 30px 60px -30px rgba(46,49,65,.5);}
.cta-card h3{margin:0; font-size:var(--t-h3);}
.fld2{display:flex; flex-direction:column; gap:6px;}
.fld2 label{font-size:var(--t-xs); color:var(--c-ink-dim);}
.fld2 input, .fld2 select{
  width:100%; font-family:inherit; font-size:1rem; color:var(--c-ink); background:var(--c-panel);
  border:1px solid var(--c-line); padding:12px 14px; border-radius:0;
  transition:border-color var(--d-1) var(--e-out);
}
.fld2 input:focus, .fld2 select:focus{outline:none; border-color:var(--c-accent);}
.fld2 input::placeholder{color:var(--c-ink-dim);}
.cta-go{width:100%; justify-content:center; border:0; cursor:pointer; font-family:inherit;
  background:var(--c-accent); color:var(--c-on-accent); padding:15px 20px; font-size:1rem;
  transition:background var(--d-1) var(--e-out);}
.cta-go:hover{background:var(--c-ink);}
.cta-fine{margin:0; font-size:var(--t-xs); color:var(--c-ink-dim); line-height:1.6;}
.cta-fine a{color:var(--c-ink-dim);}
.cta-ok{display:flex; flex-direction:column; gap:var(--sp-3); text-align:left;}
.cta-ok b{font-size:var(--t-h3); font-family:var(--f);}
.cta-ok span{color:var(--c-ink-dim); font-size:var(--t-sm); line-height:1.7;}

@media (max-width:900px){
  .cta-in{grid-template-columns:minmax(0,1fr); gap:var(--sp-10);}
  .cta{padding:var(--sp-16) 0;}
}

/* блок заявки стикується з підвалом без розриву */
.cta + .site-foot, .form-band + .site-foot{margin-top:0;}

/* ═══════════ поява блоків при прокрутці ═══════════ */
[data-rv]{opacity:0; transform:translateY(26px); transition:opacity .75s var(--e-out), transform .75s var(--e-out);
  transition-delay:var(--rvd,0ms);}
[data-rv].rv-in{opacity:1; transform:none;}
[data-rv="left"]{transform:translateX(-28px);} [data-rv="right"]{transform:translateX(28px);}
[data-rv="scale"]{transform:scale(.965);}
@media (prefers-reduced-motion:reduce){
  [data-rv]{opacity:1!important; transform:none!important; transition:none!important;}
}

/* ═══════════ перший екран з відео ═══════════ */
.vhero{position:relative; min-height:min(92vh,860px); display:flex; align-items:flex-end;
  overflow:clip; background:var(--c-ink);
  margin-top:calc(var(--head-h, 97px) * -1);
  padding:calc(var(--head-h, 97px) + var(--sp-16)) 0 var(--sp-16);}
.vhero-bg{position:absolute; inset:0; z-index:0;}
.vhero-bg video, .vhero-bg img{width:100%; height:100%; object-fit:cover; display:block;}
.vhero-bg::after{content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(21,22,22,.62) 0%, rgba(21,22,22,.28) 34%, rgba(21,22,22,.86) 100%);}
.vhero .wrap{position:relative; z-index:2; color:#fff;}
.vhero-eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:var(--t-micro);
  font-weight:var(--w-label); letter-spacing:var(--ls-label); text-transform:uppercase; color:rgba(255,255,255,.82);}
.vhero-eyebrow::before{content:''; width:34px; height:1px; background:var(--c-accent);}
.vhero h1{color:#fff; font-size:clamp(2.1rem,6.4vw,4.4rem); line-height:1.04; letter-spacing:var(--ls-hero);
  margin:var(--sp-5) 0 0; max-width:15ch; text-wrap:balance;}
.vhero h1 em{font-style:normal; color:var(--c-accent);}
.vhero-sub{margin:var(--sp-5) 0 0; max-width:46ch; color:rgba(255,255,255,.86); font-size:var(--t-lead); line-height:1.65;}
.vhero-acts{display:flex; flex-wrap:wrap; gap:var(--sp-4); margin-top:var(--sp-8); align-items:center;}
.vhero-acts .btn{border:0;}
.vplay{display:inline-flex; align-items:center; gap:13px; background:none; border:0; padding:8px 0;
  color:#fff; font-family:inherit; font-size:var(--t-sm); font-weight:var(--w-label);
  letter-spacing:var(--ls-label); text-transform:uppercase; cursor:pointer;}
.vplay i{width:46px; height:46px; border:1px solid rgba(255,255,255,.55); border-radius:50%;
  display:grid; place-items:center; transition:background var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out);}
.vplay i::before{content:''; border-left:9px solid #fff; border-top:6px solid transparent;
  border-bottom:6px solid transparent; margin-left:3px;}
.vplay.paused i::before{border:0; width:9px; height:11px; margin:0;
  border-left:3px solid #fff; border-right:3px solid #fff;}
.vplay:hover i{background:var(--c-accent); border-color:var(--c-accent);}
.vhero-facts{display:flex; flex-wrap:wrap; gap:var(--sp-5) var(--sp-12); margin-top:var(--sp-16);
  padding-top:var(--sp-6); border-top:1px solid rgba(255,255,255,.22);}
.vhero-facts div{display:flex; flex-direction:column; gap:3px;}
.vhero-facts b{font-size:clamp(1.4rem,3vw,2rem); font-weight:var(--w-display); font-family:var(--f); line-height:1;}
.vhero-facts span{font-size:var(--t-xs); color:rgba(255,255,255,.7);}
@media (max-width:760px){ .vhero{min-height:auto; padding:calc(var(--head-h, 97px) + var(--sp-10)) 0 var(--sp-10);} .vhero-facts{gap:var(--sp-5) var(--sp-8);} }

/* світла навігація поверх темного відео */
.site-head.on-hero:not(.stuck) .ni>a, .site-head.on-hero:not(.stuck) nav.mainnav .ni>button{color:#fff;}
.site-head.on-hero:not(.stuck) .burger i{background:#fff;}
.site-head.on-hero:not(.stuck) .logo svg path[fill="#151616"]{fill:#fff;}

/* ═══════════ напрямки клініки ═══════════ */
.dirs{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; margin-top:var(--sp-8);}
@media (max-width:900px){ .dirs{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:480px){ .dirs{grid-template-columns:minmax(0,1fr);} }
.dcard{position:relative; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:210px; padding:var(--sp-6); text-decoration:none; color:var(--c-ink);
  background:var(--c-panel); overflow:clip; isolation:isolate;}
.dcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;
  transition:transform 1.1s var(--e-out);}
.dcard::after{content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(21,22,22,.82), rgba(21,22,22,.18) 62%);}
.dcard.has-img{color:#fff;}
.dcard.plain{background:var(--c-greige);}
.dcard.plain::after{display:none;}
.dcard.accent{background:var(--c-accent); color:var(--c-on-accent);}
.dcard.accent::after{display:none;}
.dcard b{font-size:1.12rem; font-weight:var(--w-med); line-height:1.25;}
.dcard span{font-size:var(--t-xs); opacity:.78; margin-top:5px;}
.dcard em{font-style:normal; margin-top:var(--sp-4); font-size:var(--t-micro); letter-spacing:var(--ls-label);
  text-transform:uppercase; opacity:.85; transition:transform var(--d-2) var(--e-out);}
.dcard:hover img{transform:scale(1.06);}
.dcard:hover em{transform:translateX(5px);}

/* ═══════════ топ-послуги за зонами ═══════════ */
.tops{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-6); margin-top:var(--sp-8);}
@media (max-width:1000px){ .tops{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .tops{grid-template-columns:minmax(0,1fr);} }
.top{background:var(--c-panel); display:flex; flex-direction:column;}
.top-img{position:relative; aspect-ratio:4/3; overflow:clip; background:var(--c-greige);}
.top-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--e-out);}
.top:hover .top-img img{transform:scale(1.05);}
.top-img b{position:absolute; left:var(--sp-6); bottom:var(--sp-5); z-index:2; color:#fff;
  font-size:1.28rem; font-family:var(--f); font-weight:var(--w-display); letter-spacing:.01em;}
.top-img::after{content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(21,22,22,.8), rgba(21,22,22,0) 58%);}
.top-list{list-style:none; margin:0; padding:var(--sp-6); display:flex; flex-direction:column; flex:1;}
.top-list li{border-bottom:var(--rule) solid var(--c-line-soft);}
.top-list li:last-of-type{border-bottom:0;}
.top-list a{display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-4);
  padding:11px 0; text-decoration:none; color:var(--c-ink); font-size:var(--t-sm); line-height:1.4;
  transition:color var(--d-1) var(--e-out);}
.top-list a:hover{color:var(--c-accent-dp);}
.top-list .pr{color:var(--c-ink-dim); font-variant-numeric:tabular-nums; white-space:nowrap; font-size:var(--t-xs);}
.top-all{margin-top:auto; padding-top:var(--sp-5); font-size:var(--t-micro); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-accent-dp); text-decoration:none; display:inline-flex; gap:8px;}
.top-all:hover{text-decoration:underline;}

/* ═══════════ цифри ═══════════ */
.nums{background:var(--c-ink); color:var(--c-on-accent); padding:var(--sp-16) 0;}
.nums-in{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--sp-8);}
@media (max-width:820px){ .nums-in{grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-10);} }
.num{display:flex; flex-direction:column; gap:6px;}
.num b{font-family:var(--f); font-size:clamp(2rem,5vw,3.2rem); font-weight:var(--w-display); line-height:1;
  color:#fff; font-variant-numeric:tabular-nums;}
.num b i{font-style:normal; color:var(--c-accent); font-size:.5em; vertical-align:super; margin-left:2px;}
.num span{font-size:var(--t-sm); color:rgba(255,255,255,.72); line-height:1.5;}

/* ═══════════ відгуки ═══════════ */
.rev-head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-8); flex-wrap:wrap;}
.gscore{display:flex; align-items:center; gap:var(--sp-5); background:var(--c-panel); padding:var(--sp-5) var(--sp-6);}
.gscore b{font-family:var(--f); font-size:2.4rem; line-height:1; font-weight:var(--w-display);}
.gscore .st{color:var(--c-star); letter-spacing:2px; font-size:1.05rem;}
.gscore span{font-size:var(--t-xs); color:var(--c-ink-dim); display:block; margin-top:3px;}
.revs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-5); margin-top:var(--sp-8);}
@media (max-width:1000px){ .revs{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .revs{grid-template-columns:minmax(0,1fr);} }
.rv{background:var(--c-panel); padding:var(--sp-6); display:flex; flex-direction:column; gap:var(--sp-4);
  position:relative; border-top:2px solid var(--c-accent);}
.rv .q{font-family:var(--f); font-size:2.6rem; line-height:.7; color:var(--c-accent-soft); height:.5em;}
.rv p{margin:0; line-height:1.72; color:var(--c-ink); font-size:var(--t-sm); flex:1;}
.rv-b{display:flex; align-items:center; gap:12px; padding-top:var(--sp-4); border-top:var(--rule) solid var(--c-line-soft);}
.rv-av{width:40px; height:40px; flex:none; border-radius:50%; background:var(--c-accent-soft);
  color:var(--c-accent-dp); display:grid; place-items:center; font-size:var(--t-xs); font-weight:var(--w-label);}
.rv-n{display:flex; flex-direction:column; gap:2px; min-width:0;}
.rv-n b{font-size:var(--t-sm); font-weight:var(--w-med);}
.rv-n span{font-size:var(--t-micro); color:var(--c-ink-dim);}
.rv-st{margin-left:auto; color:var(--c-star); letter-spacing:1px; font-size:var(--t-sm); white-space:nowrap;}

/* ═══════════ контакти з картою ═══════════ */
.cmap{position:relative; background:var(--c-greige); margin-top:var(--sp-20);}
.cmap-frame{width:100%; height:min(62vh,560px); border:0; display:block; filter:grayscale(.28) contrast(1.02);}
.cmap-in{max-width:var(--wrap); margin:0 auto; padding:0 var(--sp-6); position:relative;}
.cmap-card{background:var(--c-bg); padding:var(--sp-10); max-width:430px;
  box-shadow:0 34px 70px -34px rgba(46,49,65,.5); position:relative; z-index:2;}
@media (min-width:901px){
  .cmap-in{position:absolute; inset:0; display:flex; align-items:center; pointer-events:none;}
  .cmap-card{pointer-events:auto;}
}
@media (max-width:900px){
  .cmap-card{max-width:none; margin-top:calc(var(--sp-10) * -1);}
  .cmap-frame{height:340px;}
}
.cmap-card h2{margin:0 0 var(--sp-5); font-size:var(--t-h3);}
.crow{display:flex; gap:var(--sp-4); padding:var(--sp-4) 0; border-bottom:var(--rule) solid var(--c-line-soft);}
.crow:last-of-type{border-bottom:0;}
.crow svg{width:19px; height:19px; flex:none; margin-top:2px; fill:none; stroke:var(--c-accent); stroke-width:1.5;}
.crow div{display:flex; flex-direction:column; gap:3px; min-width:0;}
.crow b{font-size:var(--t-xs); font-weight:var(--w-label); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-ink-dim);}
.crow a, .crow span{color:var(--c-ink); text-decoration:none; font-size:1rem; line-height:1.5;}
.crow a:hover{color:var(--c-accent-dp); text-decoration:underline;}
.cmap-card .btn{margin-top:var(--sp-6); width:100%; justify-content:center;}

/* ═══════════ картинка в акцентних блоках, що розчиняється вліво ═══════════ */
.band{overflow:clip;}
.band>h2, .band>p, .band>.acts{position:relative; z-index:var(--z-raise);}
.band>p{max-width:36ch;}
.band-media{position:absolute; right:0; top:0; bottom:0; width:min(58%,660px); z-index:0; pointer-events:none;}
.band-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.band-media .bm-blur{filter:blur(16px) saturate(.92); transform:scale(1.1);
  -webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 46%,transparent 82%);
          mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 46%,transparent 82%);}
.band-media .bm-sharp{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 28%,rgba(0,0,0,.8) 60%,#000 100%);
          mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.2) 28%,rgba(0,0,0,.8) 60%,#000 100%);}
.band-media::after{content:''; position:absolute; inset:0;
  background:linear-gradient(to right, var(--c-accent) 0%,
    color-mix(in srgb, var(--c-accent) 62%, transparent) 30%,
    color-mix(in srgb, var(--c-accent) 0%, transparent) 68%);}
.dark-band .band-media::after{background:linear-gradient(to right, var(--c-dark) 0%,
    color-mix(in srgb, var(--c-dark) 62%, transparent) 30%, transparent 68%);}
@media (max-width:720px){ .band-media{width:100%; opacity:.36;} .band>p{max-width:none;} }

/* ═══════════ форма заявки: спокійніша й акуратніша ═══════════ */
.cta-card{background:var(--c-bg); padding:var(--sp-10) var(--sp-8) var(--sp-8);
  gap:var(--sp-6); border-top:3px solid var(--c-accent);
  box-shadow:0 40px 80px -40px rgba(46,49,65,.55);}
.cta-card .eyebrow{font-family:inherit; font-size:var(--t-micro); font-weight:var(--w-label);
  letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-accent-dp); margin:0;}
.cta-card h3{margin:-.35rem 0 0; font-size:clamp(1.15rem,2vw,1.45rem); line-height:1.28;}
.cta-card .lead-s{margin:0; font-size:var(--t-sm); color:var(--c-ink-dim); line-height:1.6;}
.fld2{position:relative; display:flex; flex-direction:column; gap:0;}
.fld2 label{font-size:var(--t-micro); letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-ink-dim); margin-bottom:7px; transition:color var(--d-1) var(--e-out);}
.fld2 input, .fld2 select{
  width:100%; font-family:inherit; font-size:1.04rem; color:var(--c-ink);
  background:transparent; border:0; border-bottom:1px solid var(--c-line-soft);
  padding:6px 0 11px; border-radius:0; appearance:none; -webkit-appearance:none;
  transition:border-color var(--d-2) var(--e-out);
}
.fld2 select{background-image:linear-gradient(45deg,transparent 50%,var(--c-ink-dim) 50%),linear-gradient(135deg,var(--c-ink-dim) 50%,transparent 50%);
  background-position:calc(100% - 11px) calc(50% - 1px),calc(100% - 6px) calc(50% - 1px);
  background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:26px;}
.fld2 input:focus, .fld2 select:focus{outline:none; border-bottom-color:var(--c-accent); border-bottom-width:2px; padding-bottom:10px;}
.fld2:focus-within label{color:var(--c-accent-dp);}
.fld2 input::placeholder{color:var(--c-ink-dim); opacity:.62;}
.cta-go{width:100%; display:inline-flex; align-items:center; justify-content:center; gap:12px;
  border:0; cursor:pointer; font-family:inherit; font-size:1.02rem; font-weight:var(--w-sub);
  background:var(--c-accent); color:var(--c-on-accent); padding:18px 24px; border-radius:40px;
  margin-top:var(--sp-2); transition:background var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);}
.cta-go::after{content:'→'; transition:transform var(--d-2) var(--e-out);}
.cta-go:hover{background:var(--c-ink);} .cta-go:hover::after{transform:translateX(4px);}
.cta-go:active{transform:translateY(1px);}
.cta-fine{margin:0; font-size:var(--t-xs); color:var(--c-ink-dim); line-height:1.65; text-align:center;}
.priv{display:none;}

/* ═══════════ логотип у підвалі ═══════════ */
.foot-lg{display:block; width:104px; height:auto; margin-bottom:var(--sp-3);}
.foot-lg path{fill:#fff;}
.site-foot .fcol:first-child p:first-of-type{margin-top:0;}

/* ═══════════ прайс: пошук і акордеони ═══════════ */
.psearch{position:relative; margin-top:var(--sp-8);}
.psearch input{
  width:100%; font-family:inherit; font-size:1.06rem; color:var(--c-ink);
  background:var(--c-panel); border:1px solid var(--c-line); border-radius:0;
  padding:19px 54px 19px 54px; transition:border-color var(--d-2) var(--e-out);
}
.psearch input:focus{outline:none; border-color:var(--c-accent);}
.psearch svg{position:absolute; left:19px; top:50%; transform:translateY(-50%);
  width:20px; height:20px; fill:none; stroke:var(--c-ink-dim); stroke-width:1.6; pointer-events:none;}
.psearch .clr{position:absolute; right:12px; top:50%; transform:translateY(-50%);
  border:0; background:none; cursor:pointer; font-size:1.5rem; line-height:1; color:var(--c-ink-dim);
  padding:6px 10px; display:none;}
.psearch.has .clr{display:block;}
.pfound{margin-top:var(--sp-4); font-size:var(--t-sm); color:var(--c-ink-dim); min-height:1.4em;}
.pfound b{color:var(--c-accent-dp); font-weight:var(--w-med);}

.acc{margin-top:var(--sp-6); border-top:var(--rule) solid var(--c-line);}
.acc details{border-bottom:var(--rule) solid var(--c-line);}
.acc summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:var(--sp-5);
  padding:var(--sp-6) 0; font-family:var(--f); font-size:1.12rem; font-weight:var(--w-display);
  transition:color var(--d-1) var(--e-out);
}
.acc summary::-webkit-details-marker{display:none;}
.acc summary:hover{color:var(--c-accent-dp);}
.acc summary .cnt{margin-left:auto; font-family:"Golos Text",sans-serif; font-size:var(--t-micro);
  letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--c-ink-dim); font-variant-numeric:tabular-nums;}
.acc summary .chev{width:22px; height:22px; flex:none; position:relative;}
.acc summary .chev::before,.acc summary .chev::after{
  content:''; position:absolute; background:var(--c-accent); transition:transform var(--d-2) var(--e-out);}
.acc summary .chev::before{left:0; right:0; top:10px; height:2px;}
.acc summary .chev::after{top:0; bottom:0; left:10px; width:2px;}
.acc details[open] summary .chev::after{transform:scaleY(0);}
.acc details[open] summary{color:var(--c-accent-dp);}
.acc .rows{margin:0 0 var(--sp-6); background:var(--c-panel);}
.acc mark{background:var(--c-accent-soft); color:var(--c-accent-dp); padding:0 2px;}
.acc details[hidden]{display:none;}
.pnone{display:none; padding:var(--sp-10) 0; color:var(--c-ink-dim);}
.pnone.on{display:block;}
@media (prefers-reduced-motion:reduce){ .acc summary .chev::before,.acc summary .chev::after{transition:none;} }

/* картинка не має диктувати висоту картки — інакше ряди різної висоти */
.top-img{flex:none; min-height:0;}
.top-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}

/* ═══════════ послуги плитками замість довгих списків ═══════════ */
.dir{display:block;}                 /* бокового змісту більше немає */
.dir-nav{display:none;}
.scards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2px; margin-top:var(--sp-6);}
@media (max-width:1000px){ .scards{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px){ .scards{grid-template-columns:minmax(0,1fr);} }
.scards .dcard{min-height:236px; padding:var(--sp-6) var(--sp-6) var(--sp-5);}
.scards .dcard b{font-size:1.2rem; line-height:1.22; max-width:15ch;}
.scards .dcard span{font-size:var(--t-xs); margin-top:7px; line-height:1.5;}
.scards .dcard em{margin-top:var(--sp-5);}
.dir-sub{margin:var(--sp-10) 0 0;}
.dir-sec .dir-h{position:sticky; top:calc(var(--head-h,97px) + 0px); background:var(--c-bg); z-index:var(--z-raise);
  padding-top:var(--sp-4);}
@media (max-width:700px){ .dir-sec .dir-h{position:static;} }

/* розчинення картинки в блоці: один шар з мʼякою маскою — без шва на стику */
.band-media{position:absolute; inset:0; width:auto; z-index:0; overflow:clip; opacity:1;}
.band-media .bm-blur{display:none;}
.band-media::after{display:none;}
.band-media .bm-sharp{
  position:absolute; inset:0 0 0 auto; width:min(64%,780px); height:100%;
  object-fit:cover; transform:none; filter:none;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.22) 20%, rgba(0,0,0,.72) 46%, #000 74%);
          mask-image:linear-gradient(to right, transparent 0%, rgba(0,0,0,.22) 20%, rgba(0,0,0,.72) 46%, #000 74%);
}
@media (max-width:720px){
  .band-media .bm-sharp{width:100%;
    -webkit-mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.75) 100%);
            mask-image:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.75) 100%);}
}

/* позначка, що відео тимчасове */
.vdemo{
  position:absolute; right:var(--sp-6); bottom:var(--sp-6); z-index:3; pointer-events:none;
  display:inline-flex; align-items:center; gap:8px;
  font-size:var(--t-micro); font-weight:var(--w-label); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:rgba(255,255,255,.9);
  background:rgba(21,22,22,.42); backdrop-filter:blur(3px);
  padding:.5em .85em; border:1px solid rgba(255,255,255,.28);
}
.vdemo::before{content:''; width:7px; height:7px; border-radius:50%; background:var(--c-accent); flex:none;}
@media (max-width:600px){ .vdemo{right:var(--sp-4); bottom:var(--sp-4); font-size:9px;} }

/* підвал стикується з попереднім блоком без розриву */
.site-foot{margin-top:0;}

/* модальне вікно з відео */
.vmodal{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  background:rgba(21,22,22,.9); padding:var(--sp-8); backdrop-filter:blur(6px);}
.vmodal[hidden]{display:none;}
.vmodal-in{width:min(1100px,100%); max-height:100%; display:flex;}
.vmodal video{width:100%; height:auto; max-height:82vh; background:#000; display:block;}
.vmodal-x{position:absolute; top:18px; right:22px; width:46px; height:46px; border:1px solid rgba(255,255,255,.4);
  background:transparent; color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; border-radius:50%;
  transition:background var(--d-1) var(--e-out);}
.vmodal-x:hover{background:rgba(255,255,255,.16);}
.vmodal-x:focus-visible{outline:2px solid var(--c-focus); outline-offset:3px;}
.vmodal-note{position:absolute; left:0; right:0; bottom:18px; text-align:center; color:rgba(255,255,255,.68);
  font-size:var(--t-xs); letter-spacing:var(--ls-label); text-transform:uppercase;}
@media (max-width:600px){ .vmodal{padding:var(--sp-4);} .vmodal-x{top:10px; right:10px;} }

/* затемнення першого екрана: сильне там, де текст, слабке праворуч — щоб відео лишалось видимим */
.vhero-bg::after{
  background:
    linear-gradient(90deg,
      rgba(21,22,22,.60) 0%,
      rgba(21,22,22,.52) 30%,
      rgba(21,22,22,.14) 62%,
      rgba(21,22,22,0)   84%),
    linear-gradient(180deg,
      rgba(21,22,22,.58) 0%,
      rgba(21,22,22,.34) 26%,
      rgba(21,22,22,.40) 52%,
      rgba(21,22,22,.66) 100%);
}
/* на вузькому екрані текст іде на всю ширину — затемнюємо рівномірно */
@media (max-width:760px){
  .vhero-bg::after{
    background:linear-gradient(180deg,
      rgba(21,22,22,.62) 0%,
      rgba(21,22,22,.52) 30%,
      rgba(21,22,22,.68) 62%,
      rgba(21,22,22,.80) 100%);
  }
}

/* позначка про демо — прихована на прохання */
.vdemo{display:none;}

/* ═══════════ спільний відступ від краю: логотип, меню і герой на одній вертикалі ═══════════ */
:root{--edge:clamp(20px,5.2vw,104px);}
.topbar .in, .head-in{max-width:none; padding-left:var(--edge); padding-right:var(--edge);}
.vhero .wrap{max-width:none; padding-left:var(--edge); padding-right:var(--edge);}

/* ═══════════ перший екран: дві третини висоти, контент від лівого краю ═══════════ */
.vhero{
  min-height:min(68vh,660px);
  padding:calc(var(--head-h,97px) + var(--sp-10)) 0 var(--sp-12);
}
.vhero h1{font-size:clamp(1.9rem,4.6vw,3.5rem); max-width:17ch; letter-spacing:-.015em;}
.vhero-sub{font-size:clamp(.95rem,1.15vw,1.06rem); max-width:44ch; margin-top:var(--sp-4);}
.vhero-acts{margin-top:var(--sp-6);}
.vhero-facts{margin-top:var(--sp-10); padding-top:var(--sp-5); gap:var(--sp-4) var(--sp-10);}
.vhero-facts b{font-size:clamp(1.2rem,2.2vw,1.6rem);}
@media (max-width:760px){
  .vhero{min-height:auto; padding:calc(var(--head-h,97px) + var(--sp-8)) 0 var(--sp-10);}
  .vhero-facts{margin-top:var(--sp-8);}
}

/* ═══════════ меню в шапці ═══════════ */
.mainnav{gap:0;}
.ni>a, nav.mainnav .ni>button{
  position:relative;
  font-family:var(--f);
  font-size:.95rem;
  font-weight:560;
  letter-spacing:.004em;
  padding:12px 16px;
  color:var(--c-ink);
  transition:color var(--d-2) var(--e-out);
}
.ni>a::after, nav.mainnav .ni>button::after{
  content:''; position:absolute; left:16px; right:16px; bottom:4px; height:2px;
  background:var(--c-accent); transform:scaleX(0); transform-origin:left;
  transition:transform var(--d-2) var(--e-out);
}
.ni:hover>a, nav.mainnav .ni:hover>button{color:var(--c-accent-dp);}
.ni:hover>a::after, nav.mainnav .ni:hover>button::after{transform:scaleX(1);}
.ni.cur>a, nav.mainnav .ni.cur>button{color:var(--c-accent-dp); font-weight:620;}
.ni.cur>a::after, nav.mainnav .ni.cur>button::after{transform:scaleX(1);}
.ni>a:focus-visible, nav.mainnav .ni>button:focus-visible{outline:2px solid var(--c-focus); outline-offset:-2px;}
nav.mainnav .ni>button .car{font-size:.7em; opacity:.6; transition:transform var(--d-2) var(--e-out);}
nav.mainnav .ni.open>button .car, nav.mainnav #nsvc.open>button .car{transform:rotate(180deg);}

/* поверх темного відео меню світле і трохи щільніше */
.site-head.on-hero:not(.stuck) .ni>a,
.site-head.on-hero:not(.stuck) nav.mainnav .ni>button{color:rgba(255,255,255,.94); font-weight:540;}
.site-head.on-hero:not(.stuck) .ni:hover>a,
.site-head.on-hero:not(.stuck) nav.mainnav .ni:hover>button{color:#fff;}
.site-head.on-hero:not(.stuck) .ni>a::after,
.site-head.on-hero:not(.stuck) nav.mainnav .ni>button::after{background:#fff;}

/* випадаюче меню послуг */
.mega .ml b{font-weight:600; letter-spacing:-.002em;}
.mega .grp{font-weight:620; letter-spacing:var(--ls-label);}

/* мобільне меню тим самим шрифтом */
.mnav a{font-family:var(--f); font-weight:540;}
.mnav a.sub{font-weight:450;}

/* прибираємо випадковий шрифт, якого на сайті немає */
.acc summary .cnt{font-family:var(--f);}

/* герой: блок має займати всю ширину, інакше margin:0 auto центрує його як флекс-елемент */
.vhero .wrap{width:100%; margin:0; max-width:none;}
/* трохи щільніше по вертикалі, щоб укластися у дві третини екрана */
.vhero{padding:calc(var(--head-h,97px) + var(--sp-8)) 0 var(--sp-10);}
.vhero h1{max-width:22ch; font-size:clamp(1.8rem,4vw,3.1rem); line-height:1.08;}
.vhero-facts{margin-top:var(--sp-8); padding-top:var(--sp-4);}

/* заголовок героя: вага 300 над відео зникає — робимо щільніше і відриваємо тінню */
.vhero h1{font-weight:500; text-shadow:0 2px 28px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.35);}
.vhero h1 em{font-weight:600;}
.vhero-sub{text-shadow:0 1px 14px rgba(0,0,0,.45);}
.vhero-eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.5);}
.vhero-facts b{font-weight:600; text-shadow:0 1px 14px rgba(0,0,0,.45);}
.vhero-facts span{text-shadow:0 1px 10px rgba(0,0,0,.45);}

/* добираємо висоту до двох третин екрана */
.vhero{min-height:min(64vh,600px); padding:calc(var(--head-h,97px) + var(--sp-5)) 0 var(--sp-8);}
.vhero h1{margin-top:var(--sp-3);}
.vhero-sub{margin-top:var(--sp-3);}
.vhero-acts{margin-top:var(--sp-5);}
.vhero-facts{margin-top:var(--sp-6); padding-top:var(--sp-4);}
/* розмір пунктів меню — явно, бо .95rem перебивалося базовим var(--t-body) */
.ni>a, nav.mainnav .ni>button{font-size:15.5px;}
nav.mainnav .ni>a{font-size:15.5px; font-weight:540;}
nav.mainnav .ni.cur>a{font-weight:620;}

/* блок напрямків має потрапляти в перший екран одразу після завантаження */
.vhero + section{padding-top:var(--sp-6);}
.vhero + section .page-head{padding-top:0; padding-bottom:var(--sp-8);}
@media (max-width:760px){
  .vhero + section{padding-top:var(--sp-8);}
  .vhero + section .page-head{padding-bottom:var(--sp-6);}
}

/* ═══════════ верхня смуга: непомітна, але охайна ═══════════ */
.topbar{background:var(--c-ink); color:var(--c-on-accent); font-size:12.5px;
  font-weight:450; letter-spacing:.015em;}
.topbar .in{padding:9px var(--edge); gap:var(--sp-5);}
.topbar .l{gap:0; opacity:1; color:rgba(255,255,255,.62);}
.topbar .l span{display:inline-flex; align-items:center;}
.topbar .l span + span::before{
  content:''; width:1px; height:11px; background:rgba(255,255,255,.22);
  margin:0 14px; display:inline-block;
}
.topbar .r{gap:var(--sp-4); align-items:center; color:rgba(255,255,255,.72);}
.topbar a{color:inherit; text-decoration:none; transition:color var(--d-1) var(--e-out);}
.topbar .r>a:hover{color:#fff;}
.topbar .r>a[href^="tel:"]{color:rgba(255,255,255,.92); font-weight:560; font-variant-numeric:tabular-nums;}
.topbar .r>a[href^="tel:"]:hover{color:#fff;}
.soc{gap:2px; margin-left:6px;}
.soc a{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; color:rgba(255,255,255,.6); transition:color var(--d-1) var(--e-out), background var(--d-1) var(--e-out);}
.soc a:hover{color:#fff; background:rgba(255,255,255,.13);}
.soc svg{width:14px; height:14px;}
@media (max-width:820px){
  .topbar .l span + span::before{margin:0 10px;}
  .topbar .r>a[href^="mailto:"]{display:none;}
}
@media (max-width:520px){ .topbar .l span:first-child{display:none;} }

/* ═══════════ кнопка заявки в шапці ═══════════ */
.head-cta{
  display:inline-flex; align-items:center; gap:9px; flex:none; margin-left:var(--sp-5);
  background:var(--c-accent); color:var(--c-on-accent); text-decoration:none;
  font-family:var(--f); font-size:14.5px; font-weight:560; letter-spacing:.005em;
  padding:12px 24px; border-radius:40px; white-space:nowrap;
  transition:background var(--d-2) var(--e-out), transform var(--d-1) var(--e-out), box-shadow var(--d-2) var(--e-out);
}
.head-cta::after{content:'→'; font-size:1.05em; transition:transform var(--d-2) var(--e-out);}
.head-cta:hover{background:var(--c-ink); box-shadow:0 10px 24px -12px rgba(21,22,22,.6);}
.head-cta:hover::after{transform:translateX(4px);}
.head-cta:active{transform:translateY(1px);}
.head-cta:focus-visible{outline:2px solid var(--c-focus); outline-offset:3px;}
.site-head.stuck .head-cta{padding:10px 20px; font-size:14px;}
/* поверх темного відео — світла, щоб не зливалася з фіолетовим затемненням */
.site-head.on-hero:not(.stuck) .head-cta{background:#fff; color:var(--c-ink);}
.site-head.on-hero:not(.stuck) .head-cta:hover{background:var(--c-accent); color:var(--c-on-accent);}
@media (max-width:1040px){ .head-cta{display:none;} }   /* на вузьких є кнопка в меню */

/* відступ над плитками напрямків складався з двох джерел — прибираємо зайве */
.vhero + section .page-head{padding-bottom:var(--sp-4);}
.dirs{margin-top:var(--sp-4);}
@media (max-width:760px){ .vhero + section .page-head{padding-bottom:var(--sp-3);} .dirs{margin-top:var(--sp-3);} }

/* ═══════════ єдина вертикаль: шапка, герой і весь контент по одному лівому краю ═══════════ */
.wrap, .head-in, .topbar .in, .cmap-in{
  max-width:none;
  margin-left:0; margin-right:0;
  padding-left:max(var(--edge), calc((100% - 1600px) / 2));
  padding-right:max(var(--edge), calc((100% - 1600px) / 2));
}
/* картка на карті — по тій самій вертикалі, що й решта контенту */
@media (min-width:901px){
  .cmap-in{display:flex; align-items:center; justify-content:flex-start;}
  .cmap-card{margin:0; flex:0 0 auto; width:min(430px,100%);}
}

/* ═══════════ перший екран не анімуємо ═══════════
   він має бути видимий одразу після завантаження, без залежності від скрипта,
   інакше знизу біла смуга доти, доки користувач не прокрутить */
.vhero [data-rv],
.vhero + section [data-rv]{opacity:1 !important; transform:none !important; transition:none !important;}

/* ═══════════ кнопка в шапці — показуємо на більшій кількості екранів ═══════════ */
@media (max-width:1040px){ .head-cta{display:inline-flex;} }
@media (max-width:900px){ .head-cta{padding:10px 18px; font-size:13.5px; margin-left:var(--sp-3);} }
@media (max-width:680px){ .head-cta{display:none;} }

/* ═══════════ сторінка лікаря ═══════════ */
/* кнопка запису в героі */
.dhero .btn-s{
  align-self:flex-start; margin-top:var(--sp-6);
  display:inline-flex; align-items:center; gap:11px;
  background:var(--c-accent); color:var(--c-on-accent); border:0;
  font-size:15px; font-weight:560; padding:16px 30px; border-radius:40px;
  transition:background var(--d-2) var(--e-out), box-shadow var(--d-2) var(--e-out), transform var(--d-1) var(--e-out);
}
.dhero .btn-s::after{content:'→'; transition:transform var(--d-2) var(--e-out);}
.dhero .btn-s:hover{background:var(--c-ink); box-shadow:0 14px 30px -14px rgba(21,22,22,.55);}
.dhero .btn-s:hover::after{transform:translateX(4px);}
.dhero .btn-s:active{transform:translateY(1px);}

/* картки асоціацій */
.assoc{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:2px; margin-top:var(--sp-5);}
.assoc div{
  background:var(--c-bg); padding:var(--sp-5) var(--sp-6);
  display:flex; gap:14px; align-items:flex-start; border:1px solid var(--c-line-soft);
}
.assoc .ab{
  flex:none; width:46px; height:46px; border-radius:50%; display:grid; place-items:center;
  background:var(--c-accent-soft); color:var(--c-accent-dp);
  font-size:11px; font-weight:620; letter-spacing:.03em;
}
.assoc .ab svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6;}
.assoc span{font-size:var(--t-sm); line-height:1.5; color:var(--c-ink); padding-top:3px;}

/* напрямки як чипси */
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:var(--sp-5);}
.chips span{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--c-accent-soft); color:var(--c-accent-dp);
  font-size:var(--t-sm); font-weight:var(--w-med);
  padding:10px 18px; border-radius:40px;
}
.chips span::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--c-accent); flex:none;}

/* блоки, що чекають на дані */
.dl .pending{
  display:flex; gap:13px; align-items:flex-start;
  background:var(--c-greige); color:var(--c-ink);
  padding:var(--sp-5) var(--sp-6); font-size:var(--t-sm); line-height:1.6;
  border-left:3px solid var(--c-accent);
}
.dl .pending::before{
  content:''; flex:none; width:18px; height:18px; margin-top:2px; border-radius:50%;
  border:1.5px solid var(--c-accent); background:
    linear-gradient(var(--c-accent),var(--c-accent)) center/1.5px 7px no-repeat,
    radial-gradient(circle at 50% 76%, var(--c-accent) 1px, transparent 1.2px);
}

/* ═══════════ галерея сертифікатів ═══════════ */
.certs{display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:var(--sp-3); margin-top:var(--sp-5);}
.cert{position:relative; display:block; aspect-ratio:3/4.2; overflow:clip; background:var(--c-greige);
  border:1px solid var(--c-line); cursor:zoom-in;}
.cert img{width:100%; height:100%; object-fit:cover; object-position:top center;
  transition:transform .7s var(--e-out), filter var(--d-2) var(--e-out);}
.cert::after{content:''; position:absolute; inset:0; background:var(--c-accent);
  opacity:0; transition:opacity var(--d-2) var(--e-out); mix-blend-mode:multiply;}
.cert span{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:9px 10px;
  font-size:var(--t-micro); letter-spacing:var(--ls-label); text-transform:uppercase;
  color:#fff; background:linear-gradient(to top, rgba(21,22,22,.82), rgba(21,22,22,0));
  opacity:0; transform:translateY(6px); transition:opacity var(--d-2) var(--e-out), transform var(--d-2) var(--e-out);
}
.cert:hover img{transform:scale(1.05);}
.cert:hover::after{opacity:.12;}
.cert:hover span, .cert:focus-visible span{opacity:1; transform:none;}
.cert:focus-visible{outline:2px solid var(--c-focus); outline-offset:2px;}
.cert-note{margin-top:var(--sp-4); font-size:var(--t-xs); color:var(--c-ink-dim);}

/* всплывне вікно */
.lb{position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
  background:rgba(21,22,22,.93); padding:var(--sp-10) var(--sp-16); backdrop-filter:blur(6px);}
.lb[hidden]{display:none;}
.lb img{max-width:100%; max-height:86vh; object-fit:contain; display:block;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9);}
.lb-x, .lb-p, .lb-n{
  position:absolute; border:1px solid rgba(255,255,255,.34); background:transparent; color:#fff;
  cursor:pointer; border-radius:50%; width:48px; height:48px; display:grid; place-items:center;
  font-size:1.4rem; line-height:1; transition:background var(--d-1) var(--e-out);
}
.lb-x:hover, .lb-p:hover, .lb-n:hover{background:rgba(255,255,255,.16);}
.lb-x{top:20px; right:24px;}
.lb-p{left:20px; top:50%; margin-top:-24px;}
.lb-n{right:20px; top:50%; margin-top:-24px;}
.lb-c{position:absolute; left:0; right:0; bottom:20px; text-align:center; color:rgba(255,255,255,.66);
  font-size:var(--t-xs); letter-spacing:var(--ls-label);}
@media (max-width:680px){
  .lb{padding:var(--sp-12) var(--sp-4);}
  .lb-p{left:8px} .lb-n{right:8px} .lb-x{top:12px; right:12px}
}

/* цифри в героі лікаря */
.dhero .meta{display:flex; gap:0; margin-top:var(--sp-6);
  border-top:1px solid var(--c-line); padding-top:var(--sp-5); flex-wrap:wrap;}
.dhero .meta div{flex:1 1 0; min-width:120px; padding-right:var(--sp-5); position:relative;}
.dhero .meta div + div{padding-left:var(--sp-5);}
.dhero .meta div + div::before{content:''; position:absolute; left:0; top:3px; bottom:3px;
  width:1px; background:var(--c-line);}
.dhero .meta b{display:block; font-family:var(--f); font-size:clamp(1.7rem,2.6vw,2.15rem);
  font-weight:600; color:var(--c-accent-dp); line-height:1; letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;}
.dhero .meta span{display:block; margin-top:9px; font-size:var(--t-xs); color:var(--c-ink-dim); line-height:1.45;}
@media (max-width:520px){
  .dhero .meta div{flex:1 1 100%; padding:0 0 var(--sp-4);}
  .dhero .meta div + div{padding-left:0; padding-top:var(--sp-4); border-top:1px solid var(--c-line);}
  .dhero .meta div + div::before{display:none;}
}

/* карта у сітці контактів */
.contact-grid .map iframe{width:100%; height:100%; min-height:440px; border:0; display:block;
  filter:grayscale(.28) contrast(1.02);}
.contact-grid .map{padding:0;}
.map-route{
  position:absolute; right:14px; bottom:14px; z-index:2;
  background:var(--c-bg); color:var(--c-ink); text-decoration:none;
  font-size:var(--t-sm); font-weight:var(--w-med); padding:11px 18px; border-radius:40px;
  box-shadow:0 8px 22px -10px rgba(46,49,65,.5);
  transition:background var(--d-1) var(--e-out), color var(--d-1) var(--e-out);
}
.map-route:hover{background:var(--c-accent); color:var(--c-on-accent);}

/* ═══════════ нижня панель навігації, як у мобільному застосунку ═══════════ */
.tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:var(--z-top);
  display:none; grid-template-columns:repeat(5,1fr); align-items:end;
  background:var(--c-bg); border-top:1px solid var(--c-line);
  box-shadow:0 -10px 30px -18px rgba(46,49,65,.45);
  padding-bottom:env(safe-area-inset-bottom, 0px);
}
.tabbar a{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  padding:11px 4px 10px; text-decoration:none; color:var(--c-ink-dim);
  font-size:10.5px; font-weight:520; letter-spacing:.01em; line-height:1.2; text-align:center;
  transition:color var(--d-1) var(--e-out);
  -webkit-tap-highlight-color:transparent;
}
.tabbar svg{width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;}
.tabbar a.cur{color:var(--c-accent-dp);}
.tabbar a:active{color:var(--c-accent);}

/* центральний пункт — піднятий кружок */
.tabbar .tb-mid{padding-top:0; color:var(--c-ink);}
.tabbar .tb-mid i{
  display:grid; place-items:center; width:56px; height:56px; border-radius:50%;
  background:var(--c-accent); color:var(--c-on-accent); margin-top:-24px; margin-bottom:2px;
  box-shadow:0 10px 24px -8px rgba(166,69,154,.6), 0 0 0 5px var(--c-bg);
  transition:transform var(--d-2) var(--e-out), background var(--d-2) var(--e-out);
}
.tabbar .tb-mid svg{width:26px; height:26px; stroke-width:1.7;}
.tabbar .tb-mid:active i{transform:scale(.94);}
.tabbar .tb-mid.cur i{background:var(--c-ink);}
.tabbar .tb-mid.cur{color:var(--c-accent-dp);}

@media (max-width:900px){
  .tabbar{display:grid;}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom, 0px));}
  .site-foot{margin-bottom:0;}
}
/* коли відкрите повне меню — панель ховаємо, щоб не дублювати */
.site-head.mopen ~ .tabbar, body:has(.site-head.mopen) .tabbar{display:none;}
@media (prefers-reduced-motion:reduce){ .tabbar .tb-mid i{transition:none;} }

/* освіта — часова шкала */
.edu{list-style:none; margin:var(--sp-5) 0 0; padding:0; display:flex; flex-direction:column; gap:0;}
.edu li{display:grid; grid-template-columns:112px minmax(0,1fr); gap:var(--sp-5);
  padding:var(--sp-4) 0; border-bottom:1px solid var(--c-line-soft);}
.edu li:last-child{border-bottom:0;}
.edu b{font-size:var(--t-sm); font-weight:600; color:var(--c-accent-dp);
  font-variant-numeric:tabular-nums; white-space:nowrap;}
.edu span{font-size:var(--t-body); color:var(--c-ink); line-height:1.6;}
@media (max-width:560px){
  .edu li{grid-template-columns:minmax(0,1fr); gap:4px;}
}

/* пряма мова лікаря */
.quote{margin:var(--sp-5) 0 0; padding:0 0 0 var(--sp-6); border-left:3px solid var(--c-accent);}
.quote p{margin:0; font-size:1.02rem; line-height:1.72; color:var(--c-ink);}
.quote p + p{margin-top:var(--sp-4);}
.quote footer{margin-top:var(--sp-4); font-size:var(--t-xs); letter-spacing:var(--ls-label);
  text-transform:uppercase; color:var(--c-ink-dim);}
