/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/InterTight-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/InterTight-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/InterTight-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/InterTight-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/InterTight-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/InterTight-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/Manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/Manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/Manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/Manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --bg:#f6f9fb; --card:#ffffff; --soft:#eaf4f8; --line:#e2eaf0;
  --ink:#12283b; --ink-2:#51667a; --ink-3:#8a9aab;
  --c1:#52bcdc; --c2:#4a9fcc; --c3:#2f6394; --cyan-soft:#e3f4fa;
  --coral:#ff7f5c; --coral-2:#ff9474; --coral-soft:#ffece5; --peach:#fff3ec;
  --grad:linear-gradient(135deg,#52bcdc 0%,#4a9fcc 45%,#2f6394 100%);
  --r:28px; --max:1240px;
  --head:"Inter Tight",Manrope,system-ui,sans-serif;
  --shadow:0 18px 40px -20px rgba(47,99,148,.28);
  /* токены для тёмной темы (в светлой — прежние цвета) */
  --pdf-soft:#fff1ec; --sunk:#eef3f6; --hover:#f7fbfd; --text-2:#2a3f52; --glass-rgb:255,255,255;
  --grad-text:linear-gradient(100deg,#2f6394 0%,#4a9fcc 50%,#ff7f5c 100%);
  --hero-bg:linear-gradient(165deg,#e6f5fb 0%,#f5fafc 42%,#fff4ee 100%);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Manrope,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;font-size:16px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
section{scroll-margin-top:90px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
@media(max-width:600px){.wrap{padding:0 16px}}
.hd{font-family:var(--head);font-weight:600;letter-spacing:-.035em;line-height:1.04}
.grad-t{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;border-radius:999px;font-weight:800;font-size:15px;border:0;cursor:pointer;transition:.25s;white-space:nowrap}
.btn-coral{background:var(--coral);color:#fff;box-shadow:0 12px 28px -10px rgba(255,127,92,.7);text-shadow:0 1px 1px rgba(160,60,30,.25)}
.btn-coral:hover{background:#f56d48;transform:translateY(-2px)}
.btn-blue{background:var(--c3);color:#fff}
.btn-blue:hover{background:#264f78}
.btn-line{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line),0 6px 16px -10px rgba(47,99,148,.3)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--c2);color:var(--c3)}
.btn-sm{height:44px;padding:0 20px;font-size:14px}
.btn .arr{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.25);margin-right:-12px;transition:.25s}
.btn:hover .arr{transform:translateX(3px)}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--c3);margin-bottom:14px}
.kicker svg{color:var(--coral)}

/* ============ HEADER ============ */
#hdr{position:fixed;left:0;right:0;top:0;z-index:50;transition:background .35s,box-shadow .35s}
#hdr.sc{background:rgba(var(--glass-rgb),.88);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;gap:22px;height:80px}
.logo{display:flex;transition:transform .2s}
.logo img{height:48px;width:auto}
/* пульсация логотипа убрана */
.menu{display:flex;gap:2px;margin-left:auto}
.menu a{padding:9px 14px;border-radius:999px;font-weight:700;font-size:14.5px;color:var(--ink-2);white-space:nowrap;transition:.2s}
.menu a:hover{color:var(--ink);background:rgba(var(--glass-rgb),.8)}
.tel{font-weight:800;font-size:15.5px;white-space:nowrap;color:var(--c3)}
.icon-btn{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--card);color:var(--c3);cursor:pointer;place-items:center;box-shadow:0 6px 16px -8px rgba(47,99,148,.4)}
.burger{margin-left:auto}
@media(max-width:1080px){.menu,.tel{display:none}.icon-btn{display:grid}.nav .btn{display:none}.nav{gap:10px}.nav .icon-btn:not(.burger){margin-left:auto}.burger{margin-left:0}}
.drawer{display:none;flex-direction:column;gap:2px;padding:10px;margin-bottom:12px;background:var(--card);border-radius:24px;box-shadow:0 20px 50px rgba(47,99,148,.25)}
.drawer a{padding:14px 16px;border-radius:14px;font-weight:700}
.drawer a:hover{background:var(--soft)}
.drawer.open{display:flex}
.drawer .btn{margin-top:10px}
.hprog{position:absolute;left:0;right:0;bottom:-10px;height:20px;width:100%;pointer-events:none;opacity:0;transition:opacity .3s}
#hdr.sc .hprog{opacity:1}
.hprog path{fill:none;stroke:url(#gLine);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}

/* ============ HERO ============ */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--hero-bg);overflow:hidden;display:flex;align-items:center;padding:120px 0 170px}
.dots{position:absolute;inset:0;background-image:radial-gradient(rgba(74,159,204,.16) 1.2px,transparent 1.3px);background-size:26px 26px;mask-image:radial-gradient(ellipse 70% 60% at 72% 45%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 72% 45%,#000 20%,transparent 75%)}
.glow{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.glow.g1{width:540px;height:540px;right:2%;top:4%;background:rgba(82,188,220,.26);animation:drift 14s ease-in-out infinite alternate}
.glow.g2{width:420px;height:420px;right:30%;bottom:-10%;background:rgba(255,150,110,.24);animation:drift 18s ease-in-out infinite alternate-reverse}
.glow.g3{width:320px;height:320px;left:-8%;top:10%;background:rgba(255,200,170,.3);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-60px,40px) scale(1.12)}}
#dna{position:absolute;inset:0;width:100%;height:100%;will-change:transform}
.floats{position:absolute;inset:0;pointer-events:none}
.fl{position:absolute;will-change:transform}
.fi{animation:bob var(--dur,7s) ease-in-out infinite alternate;transform:rotate(var(--r,0deg))}
.fi svg{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 18px rgba(47,99,148,.2))}
.fl.far .fi svg{filter:blur(2px);opacity:.6}
@keyframes bob{to{transform:translateY(-16px) rotate(calc(var(--r,0deg) + 10deg))}}
.fl.mob{display:none}
.ecg{position:absolute;left:0;right:0;bottom:9%;height:160px;width:100%;pointer-events:none}
.ecg path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ecg .base{stroke:rgba(74,159,204,.18);stroke-width:1.5}
.ecg .live{stroke:url(#gLine);stroke-width:3;filter:drop-shadow(0 0 5px rgba(82,188,220,.55))}
.ecg-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--card);box-shadow:0 0 0 4px rgba(82,188,220,.35),0 0 18px 4px rgba(82,188,220,.55);pointer-events:none;left:0;top:0;opacity:0}
.h-content{position:relative;z-index:3;width:100%;will-change:transform,opacity}
.h-inner{max-width:780px}.hero .lead,.hero .tags{max-width:560px}
.live-pill{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;padding:8px 16px 8px 12px;border-radius:999px;background:var(--card);color:var(--ink-2);box-shadow:0 8px 20px -12px rgba(47,99,148,.4)}
.dot{position:relative;width:9px;height:9px;border-radius:50%;background:#3cbf86}
.dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 1.8s ease-out infinite}
.dot.off{background:var(--coral)}
@keyframes ping{to{transform:scale(3);opacity:0}}
.hero h1{font-size:clamp(40px,6.4vw,90px);margin:24px 0 22px}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.w>span{display:inline-block;transform:translateY(110%);animation:rise 1s cubic-bezier(.2,.75,.15,1) forwards;animation-delay:calc(var(--i)*90ms + 150ms)}
@keyframes rise{to{transform:none}}
.fade-in{opacity:0;animation:fin .9s ease forwards;animation-delay:var(--d,.6s)}
@keyframes fin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero .lead{font-size:clamp(16px,1.5vw,19px);color:var(--ink-2);max-width:520px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.tags a{font-size:13px;font-weight:700;padding:7px 13px;border-radius:999px;background:rgba(var(--glass-rgb),.75);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.scroll-hint{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mouse{width:24px;height:36px;border-radius:14px;box-shadow:inset 0 0 0 2px rgba(47,99,148,.3);position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--c2);animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{to{transform:translateY(10px);opacity:0}}

/* ============ AFTER HERO ============ */
.after{position:relative;z-index:5;margin-top:-64px}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.q{background:var(--card);border-radius:22px;padding:20px 22px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow);transition:.25s}
.q:hover{transform:translateY(-4px)}
.q .ic{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;flex:none;background:var(--cyan-soft);color:var(--c3)}
.q:nth-child(1) .ic{background:var(--coral-soft);color:var(--coral)}
.q b{display:block;font-size:15.5px}
.q small{color:var(--ink-3);font-weight:600;font-size:13px}
@media(max-width:980px){.quick{grid-template-columns:1fr 1fr}}

.search{margin-top:14px;background:var(--card);border-radius:var(--r);padding:28px 32px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;box-shadow:var(--shadow)}
.search .h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;font-size:26px;max-width:230px;line-height:1.1}
.search>*{min-width:0}
.s-field{position:relative}
.s-field input{width:100%;height:60px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);padding:0 24px 0 54px;font:600 16px Manrope,sans-serif;color:var(--ink);outline:none;transition:.2s}
.s-field input:focus{border-color:var(--c2);background:var(--card);box-shadow:0 0 0 5px var(--cyan-soft)}
.s-field svg{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--ink-3)}
.s-hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.hint{border:0;background:var(--soft);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.2s;white-space:nowrap}
.hint:hover{background:var(--c3);color:#fff}
.s-res{position:absolute;left:0;right:0;top:66px;background:var(--card);border-radius:22px;box-shadow:0 24px 60px rgba(47,99,148,.2);padding:8px;z-index:20;display:none}
.s-res a{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;font-weight:600}
.s-res a:hover{background:var(--bg)}
.s-res a span{color:var(--ink-3);font-weight:500;font-size:14px;text-align:right}

section.sec{padding:100px 0 0}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.sh h2{font-size:clamp(32px,4.4vw,58px)}
.sh p{max-width:430px;color:var(--ink-2)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:var(--card);padding:30px 26px;border-radius:var(--r);box-shadow:var(--shadow)}
.stat b{display:block;font-family:var(--head);font-weight:600;font-size:clamp(40px,5vw,64px);letter-spacing:-.04em;line-height:1}
.stat span{display:block;margin-top:8px;color:var(--ink-2);font-weight:600}
.stat:nth-child(2) b,.stat:nth-child(4) b{background:linear-gradient(135deg,#ffab8f,#ff7f5c);-webkit-background-clip:text;background-clip:text}

.bens{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.ben{padding:26px 24px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:.25s}
.ben:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ben .ic{width:52px;height:52px;border-radius:16px;background:var(--cyan-soft);color:var(--c3);display:grid;place-items:center}
.ben:nth-child(even) .ic{background:var(--coral-soft);color:var(--coral)}
.ben h3{font-size:17px;margin:18px 0 6px}
.ben p{font-size:14.5px;color:var(--ink-2)}
@media(max-width:900px){.bens{grid-template-columns:1fr 1fr}}

.dirs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-auto-flow:dense}
.dir{background:var(--card);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;min-height:210px;transition:.3s;box-shadow:inset 0 0 0 1px var(--line);position:relative;overflow:hidden}
.dir:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.dir .n{font-weight:800;font-size:13px;color:var(--ink-3)}
.dir h3{font-family:var(--head);font-weight:600;letter-spacing:-.025em;font-size:24px;margin-top:auto;line-height:1.1;overflow-wrap:anywhere;hyphens:auto}
.dir p{font-size:14px;color:var(--ink-2);margin-top:6px}
.dir .meta{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:14px;font-weight:700}
.dir .go{width:42px;height:42px;border-radius:50%;background:var(--bg);display:grid;place-items:center;transition:.25s;flex:none}
.dir:hover .go{background:var(--coral);color:#fff;transform:rotate(-45deg)}
.dir.wide{grid-column:span 2}
.dir.big{grid-column:span 2;grid-row:span 2;background:var(--grad);color:#fff;box-shadow:none}
.dir.big svg.pulse{position:absolute;left:0;right:0;top:30%;width:100%;height:90px}
.dir.big svg.pulse path{fill:none;stroke:#fff;stroke-opacity:.85;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.2s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:-1}}
/* невролог: сеть нейронов — импульс бежит по отросткам, клетка вспыхивает, когда он доходит */
.dir.big svg.neuro{position:absolute;left:4%;top:18%;width:92%;height:44%}
.neuro path{fill:none;stroke-linecap:round}
.neuro .nr-den path{stroke:#fff;stroke-opacity:.28;stroke-width:1.6}
.neuro .nr-ax path{stroke:#fff;stroke-opacity:.45;stroke-width:2.2}
.neuro .nr-sig path{stroke:#fff;stroke-width:3.4;stroke-dasharray:.16 1.2;stroke-dashoffset:.16;filter:drop-shadow(0 0 4px rgba(255,255,255,.9));animation:nrSig 4s linear infinite;animation-delay:var(--d)}
.neuro .nr-sig path:nth-child(n+4){stroke:#ffd2c2}
.neuro .nr-cell circle{fill:#fff;fill-opacity:.9;transform-box:fill-box;transform-origin:center;animation:nrCell 4s ease-out infinite;animation-delay:var(--d)}
@keyframes nrSig{0%{stroke-dashoffset:.16}25%,100%{stroke-dashoffset:-1.05}}
@keyframes nrCell{0%,100%{transform:scale(1);filter:none}5%{transform:scale(1.55);filter:drop-shadow(0 0 8px #fff)}22%{transform:scale(1);filter:none}}
@media(prefers-reduced-motion:reduce){.neuro .nr-sig path,.neuro .nr-cell circle{animation:none}.neuro .nr-sig path{stroke-opacity:0}}
@media(max-width:980px){.dir.big:has(svg.neuro){min-height:0;padding-top:160px}.dir.big svg.neuro{top:18px;left:2%;width:76%;height:130px}.dir.big:has(svg.neuro) .dtop{position:absolute;top:20px;right:20px}}
.dir.big > :not(svg){position:relative}
.dir.big .n,.dir.big p{color:rgba(255,255,255,.82)}
.dir.big h3{font-size:clamp(34px,3.6vw,50px)}
.dir.big .go{background:var(--card);color:var(--c3)}
.dir.cyan{background:var(--cyan-soft);box-shadow:none}
.dir.coral{background:var(--coral-soft);box-shadow:none}
@media(max-width:980px){.dirs{grid-template-columns:1fr 1fr}}

.tabs{display:inline-flex;background:var(--card);border-radius:999px;padding:5px;gap:4px;box-shadow:inset 0 0 0 1px var(--line)}
.tabs button{border:0;background:none;padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer;transition:.2s;white-space:nowrap}
.tabs button.on{background:var(--c3);color:#fff}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/4);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
@media(max-width:1000px){.rail{grid-auto-columns:calc((100% - 28px)/3)}}
.doc{scroll-snap-align:start;background:var(--card);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line)}
.doc .ph{aspect-ratio:1/1.05;overflow:hidden;background:var(--soft);margin:8px;border-radius:22px}
.doc .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:.6s}
.doc:hover .ph img{transform:scale(1.06)}
.doc .bd{padding:8px 20px 20px;display:flex;flex-direction:column;flex:1}
.doc .sp{display:inline-block;align-self:flex-start;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:var(--cyan-soft);color:var(--c3)}
.doc.kids .sp{background:var(--coral-soft);color:#d4502c}
.doc h3{font-size:17.5px;font-weight:800;line-height:1.28;margin:10px 0 16px}
.doc .row{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}
.doc .pr small{display:block;font-size:12px;color:var(--ink-3);font-weight:600}
.doc .pr b{font-size:18px}
.doc .row .btn{height:44px;padding:0 16px;font-size:14px}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:52px;height:52px;border-radius:50%;border:0;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;font-size:18px;transition:.2s}
.rail-nav button:hover{background:var(--c3);color:#fff;box-shadow:none}
.doc-ctrl{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}

.prices{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}
.p-intro{background:linear-gradient(160deg,#dff2fa 0%,#fff1ea 100%);border-radius:var(--r);padding:40px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.p-intro h2{font-size:clamp(32px,3.8vw,50px)}
.p-intro p{color:var(--ink-2);margin:18px 0 28px;max-width:380px}
.p-intro .btn{margin-top:auto;align-self:flex-start}
.p-intro .deco{position:absolute;right:-20px;bottom:-20px;width:160px;opacity:.9}
.p-list{background:var(--card);border-radius:var(--r);padding:12px 32px;box-shadow:inset 0 0 0 1px var(--line)}
.p-row{display:flex;align-items:baseline;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.p-row:last-child{border:0}
.p-row span{font-weight:700}
.p-row i{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-4px)}
.p-row b{font-weight:800;white-space:nowrap;color:var(--c3)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.step{background:var(--card);border-radius:var(--r);padding:30px;box-shadow:inset 0 0 0 1px var(--line)}
.step .num{font-family:var(--head);font-weight:600;font-size:64px;line-height:1;letter-spacing:-.05em}
.step h3{font-size:20px;font-weight:800;margin:18px 0 8px}
.step p{color:var(--ink-2);font-size:15px}

.about{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.a-photo{border-radius:var(--r);overflow:hidden;position:relative;min-height:440px;background:var(--soft)}
.a-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}
.a-photo .cap{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(var(--glass-rgb),.92);backdrop-filter:blur(8px);border-radius:18px;padding:14px 18px;font-size:14px;font-weight:700}
.a-text{background:var(--card);border-radius:var(--r);padding:40px;box-shadow:inset 0 0 0 1px var(--line)}
.a-text h2{font-size:clamp(30px,3.6vw,46px)}
.a-text p{color:var(--ink-2);font-size:16.5px;margin-top:16px}
.a-text p.big{color:var(--ink);font-size:19px;font-weight:600;line-height:1.5}
.rooms{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.rooms span{padding:9px 15px;border-radius:999px;background:var(--bg);font-weight:700;font-size:13.5px;box-shadow:inset 0 0 0 1px var(--line)}

.book{background:linear-gradient(135deg,#dff2fa 0%,#f3f9fc 50%,#ffefe7 100%);border-radius:36px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative;overflow:hidden}
.book h2{font-size:clamp(34px,4.4vw,60px)}
.book > div > p{color:var(--ink-2);margin:18px 0 28px;font-size:17px}
.c-list{display:grid;gap:10px}
.c-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:20px;background:rgba(var(--glass-rgb),.8)}
.c-item .ic{width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
.c-item small{display:block;color:var(--ink-3);font-size:13px;font-weight:600}
.c-item b{font-size:16px}
form{background:var(--card);border-radius:28px;padding:32px;display:grid;gap:14px;align-content:start;min-width:0;box-shadow:var(--shadow)}
form h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;font-size:26px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:999px;padding:4px}
.seg label{text-align:center;padding:11px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink-2)}
.seg input{display:none}
.seg label:has(input:checked){background:var(--c3);color:#fff}
.fld{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink-2);min-width:0}
.fld input,.fld select,.fld textarea{width:100%;min-width:0;font:600 16px Manrope,sans-serif;height:54px;padding:0 18px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);outline:none;transition:.2s}
.fld textarea{height:90px;padding:14px 18px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--c2);background:var(--card);box-shadow:0 0 0 4px var(--cyan-soft)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consent{display:flex;gap:10px;font-size:13px;color:var(--ink-3);align-items:flex-start}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--c3)}
.consent a{text-decoration:underline}
form .btn{height:58px}
.done{display:none;padding:16px;border-radius:16px;background:var(--cyan-soft);color:var(--c3);font-weight:700}
.map{margin-top:14px;height:400px;border-radius:var(--r);overflow:hidden;background:var(--soft)}
.map iframe{width:100%;height:100%;border:0}

footer{background:var(--card);margin-top:100px;padding:60px 0 50px;border-top:1px solid var(--line)}
.f-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:36px;border-bottom:1px solid var(--line)}
.f-big{font-size:clamp(28px,3.6vw,48px)}
.f-cols{display:flex;gap:56px;flex-wrap:wrap}
.f-cols h6{font-size:12px;color:var(--ink-3);margin-bottom:12px;text-transform:uppercase;letter-spacing:.12em}
.f-cols ul{list-style:none;display:grid;gap:8px;font-weight:600;color:var(--ink-2)}
.f-cols a:hover{color:var(--c3)}
.f-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:13px;color:var(--ink-3)}

.m-bar{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:8px;padding:6px;border-radius:999px;background:rgba(var(--glass-rgb),.95);backdrop-filter:blur(14px);box-shadow:0 12px 34px rgba(47,99,148,.28);transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.75,.15,1)}
.m-bar.show{transform:none}
.m-bar .btn{flex:1;height:48px}
.m-bar .btn-line{box-shadow:none;background:var(--soft)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.15,1)}
.reveal.in{opacity:1;transform:none}

/* ============ TABLET ============ */
@media(max-width:900px){
  .prices,.about{grid-template-columns:1fr}
  .book{grid-template-columns:1fr;padding:32px 24px;border-radius:30px;gap:28px}
  .p-intro,.a-text{padding:30px}
  .steps{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
}

/* ============ PHONE: спокойнее и компактнее ============ */
@media(max-width:760px){
  body{font-size:15.5px}
  .nav{height:68px}
  .logo img{height:42px}
  .hero{min-height:0;padding:104px 0 130px;align-items:flex-start}
  #dna,.scroll-hint,.glow.g3,.tags,.fl.dsk{display:none}
  .fl.mob{display:block}
  .hero h1{font-size:40px;margin:18px 0 14px}
  .hero .lead{font-size:16px}
  .hero .cta{margin-top:24px;gap:10px}
  .hero .cta .btn{flex:1 1 100%;height:54px}
  .ecg{bottom:26px;height:80px}
  .ecg .live{stroke-width:2.5}
  .after{margin-top:-44px}
  .quick{display:none}
  .search{margin-top:0;padding:20px;grid-template-columns:1fr;gap:12px}
  .search .h3{font-size:20px;max-width:none}
  .s-field input{height:54px}
  .s-hints{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:12px -20px 0;padding:0 20px}
  .s-hints::-webkit-scrollbar{display:none}
  section.sec{padding-top:64px}
  .sh{margin-bottom:22px}
  .sh h2{font-size:32px}
  .sh h2 br{display:none}
  .sh p{font-size:15px}
  .stat{padding:20px 18px;border-radius:22px}
  .stat b{font-size:40px}
  .stat span{font-size:14px}
  .bens{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:12px -16px 0;padding:0 16px 6px}
  .bens::-webkit-scrollbar{display:none}
  .ben{flex:0 0 76%;scroll-snap-align:start;padding:22px}
  .dirs{grid-template-columns:1fr 1fr;gap:10px}
  .dir{min-height:0;padding:18px;border-radius:22px}
  .dir.wide{grid-column:auto}
  .dir.big{grid-column:span 2;grid-row:auto;min-height:220px;padding:22px}
  .dir:last-child:nth-child(even){grid-column:span 2}
  .dir:not(.big) p{display:none}
  .dir:not(.big) .n{display:none}
  .dir h3{font-size:16.5px;margin-top:0}
  .dir .meta{margin-top:10px;font-size:12.5px}
  .dir:not(.big) .go{display:none}
  .dir.big svg.pulse{top:22%}
  .doc-ctrl{margin-bottom:16px}
  .tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}
  .rail-nav{display:none}
  .rail{grid-auto-columns:70%}
  .doc h3{font-size:16px}
  .doc .row{flex-direction:column;align-items:stretch;gap:10px}
  .p-intro{padding:24px}
  .p-intro .deco{width:110px}
  .p-list{padding:4px 20px}
  .p-row{padding:13px 0;font-size:15px}
  .step{padding:22px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center}
  .step .num{font-size:40px;grid-row:span 2}
  .step h3{margin:0;font-size:17px}
  .step p{font-size:14px}
  .a-photo{min-height:220px}
  .a-text{padding:24px}
  .a-text p.big{font-size:17px}
  .rooms span{font-size:12.5px;padding:7px 12px}
  .book{padding:24px 16px;border-radius:26px}
  .book h2 br{display:none}
  form{padding:20px}
  .two{grid-template-columns:1fr}
  .map{height:280px}
  footer{margin-top:64px;padding:40px 0 100px}
  .f-cols{gap:28px}
  .m-bar{display:flex}
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}
  .w>span,.fade-in{animation:none;transform:none;opacity:1}
  .fi,.glow,.dot::after,.mouse::after,.dir.big svg.pulse path{animation:none}
}

/* ==========================================================================
   Многостраничная версия: общие правки и внутренние страницы
   ========================================================================== */
button.q{border:0;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}
.q span{display:block}
.menu a.on{color:var(--ink);background:rgba(var(--glass-rgb),.9);box-shadow:inset 0 0 0 1px var(--line)}
.tags a{transition:.2s}
.tags a:hover{background:var(--card);color:var(--c3)}
.h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;font-size:22px;line-height:1.15}
.h2s{font-size:clamp(26px,3vw,38px)}
.link{color:var(--c3);font-weight:800;white-space:nowrap}
.link:hover{color:var(--coral)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.doc .exp{font-size:13px;color:var(--ink-3);font-weight:600;margin:-10px 0 14px}
.doc h3 a:hover{color:var(--c3)}
.doc .ph{display:block}
.btn{text-decoration:none}

/* внутренние страницы: шапка сразу непрозрачная */
body.inner #hdr{background:rgba(var(--glass-rgb),.9);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--line)}
body.inner{background:linear-gradient(180deg,#eaf6fb 0,#f6f9fb 420px) no-repeat,var(--bg)}
.crumbs{padding-top:100px;display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink-3)}
.crumbs a:hover{color:var(--c3)}
.page{padding-bottom:20px}
.p-hero{padding:22px 0 36px;max-width:860px}
.p-hero h1{font-size:clamp(34px,5vw,62px);margin-bottom:16px}
.p-hero .lead{font-size:clamp(16px,1.5vw,19px);color:var(--ink-2);max-width:680px}
.p-hero.split{max-width:none;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.p-img{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:848/520;background:var(--soft)}
.p-img img{width:100%;height:100%;object-fit:cover}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.facts span{font-size:13.5px;font-weight:700;padding:7px 13px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips a{padding:9px 15px;border-radius:999px;background:var(--card);font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1px var(--line);transition:.2s}
.chips a:hover{background:var(--c3);color:#fff;box-shadow:none}

.p-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;margin-top:10px}
.p-side{position:sticky;top:100px;display:grid;gap:14px}
.side-card{background:var(--card);border-radius:24px;padding:24px;box-shadow:inset 0 0 0 1px var(--line)}
.side-card .h3{margin-bottom:14px}
.side-card .p-row{padding:10px 0;font-size:14px}
.side-card .p-row span{font-weight:600}
.side-card .link{display:inline-block;margin-top:14px;font-size:14px}
.cta-card{background:linear-gradient(160deg,#dff2fa 0%,#fff1ea 100%);box-shadow:none}
.cta-card p{color:var(--ink-2);font-size:14.5px;margin:-6px 0 16px}
.cta-card .btn{width:100%}
.side-tel{display:block;text-align:center;margin-top:12px;font-weight:800;color:var(--c3)}
.side-links{list-style:none;display:grid;gap:4px}
.side-links a{display:block;padding:9px 12px;border-radius:12px;font-weight:600;font-size:14.5px}
.side-links a:hover{background:var(--soft);color:var(--c3)}

/* текст статей */
.prose{font-size:17px;line-height:1.7;color:var(--text-2);max-width:760px}
.prose.wide{max-width:860px}
.prose > *+*{margin-top:1em}
.prose h2,.prose h3,.prose h4{font-family:var(--head);font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.2;margin-top:1.6em}
.prose h2{font-size:28px}.prose h3{font-size:22px}.prose h4{font-size:19px}
.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:8px}
.prose ul li{position:relative;padding-left:28px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--c1);box-shadow:0 0 0 4px var(--cyan-soft)}
.prose ol{counter-reset:li}
.prose ol li{counter-increment:li;position:relative;padding-left:34px}
.prose ol li::before{content:counter(li);position:absolute;left:0;top:.15em;width:24px;height:24px;border-radius:8px;background:var(--cyan-soft);color:var(--c3);font-size:13px;font-weight:800;display:grid;place-items:center}
.prose a{color:var(--c3);font-weight:700;text-decoration:underline;text-decoration-color:rgba(47,99,148,.3);text-underline-offset:3px}
.prose a:hover{color:var(--coral)}
.prose img{border-radius:18px;max-width:100%;height:auto}
.prose strong{color:var(--ink)}
.prose blockquote{padding:18px 22px;border-radius:18px;background:var(--cyan-soft);color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.prose td,.prose th{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose.sm{font-size:15px}
.about-photo{border-radius:var(--r);overflow:hidden;max-height:420px;margin-bottom:34px}
.about-photo img{width:100%;height:100%;object-fit:cover}

/* каталог услуг */
.cat{margin-top:44px}
.cat .h2s{margin-bottom:18px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.svc{background:var(--card);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 1px var(--line);transition:.25s;min-height:190px}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.svc h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em;font-size:21px;line-height:1.15}
.svc p{font-size:14.5px;color:var(--ink-2);flex:1}
.svc .meta{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;margin-top:6px}
.svc .go{width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;transition:.25s}
.svc:hover .go{background:var(--coral);color:#fff;transform:rotate(-45deg)}
.dir .go svg,.svc .go svg{display:block}

/* врачи */
.doc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.filters button{border:0;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);padding:9px 15px;border-radius:999px;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer;transition:.2s}
.filters button.on,.filters button:hover{background:var(--c3);color:#fff;box-shadow:none}
.doc[hidden]{display:none}
.dr-hero{display:grid;grid-template-columns:380px 1fr;gap:44px;align-items:center;padding:22px 0 44px}
.dr-photo{border-radius:32px;overflow:hidden;aspect-ratio:1/1.1;background:var(--soft);box-shadow:var(--shadow)}
.dr-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.dr-info .sp{display:inline-block;font-size:13px;font-weight:800;padding:6px 12px;border-radius:999px;background:var(--cyan-soft);color:var(--c3)}
.dr-info h1{font-size:clamp(34px,4.6vw,58px);margin:16px 0 22px}
.dr-facts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px}
.dr-facts li{background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}
.dr-facts small{display:block;color:var(--ink-3);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.dr-facts b{font-size:15.5px}
.dr-book{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:26px}
.dr-book .pr small{display:block;font-size:12.5px;color:var(--ink-3);font-weight:700}
.dr-book .pr b{font-family:var(--head);font-size:30px;font-weight:600;letter-spacing:-.02em}

/* прайс */
.price-search{max-width:560px;margin-top:24px}
.price-sec{margin-top:40px;scroll-margin-top:100px}
.price-sec .h2s{margin-bottom:6px}
.price-sec .note{color:var(--ink-3);font-weight:600;margin-bottom:10px}
.p-table{background:var(--card);border-radius:24px;padding:6px 26px;box-shadow:inset 0 0 0 1px var(--line)}
.p-table .p-row{padding:14px 0}
.p-table .p-row span{font-weight:600}
.p-row mark{background:#fff0b3;border-radius:4px;padding:0 2px}
.notes{margin-top:36px;padding:24px 26px;border-radius:24px;background:var(--cyan-soft);color:var(--ink-2);font-size:14.5px;display:grid;gap:8px;max-width:900px}
.empty{margin-top:30px;font-weight:600}

/* акции */
.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.promo{background:linear-gradient(160deg,#fff 0%,#fff4ee 100%);border-radius:var(--r);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.promo img{width:100%;aspect-ratio:16/10;object-fit:cover}
.promo-bd{padding:24px}
.badge{display:inline-block;font-size:12px;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--coral);color:#fff;margin-bottom:12px}
.promo h3{font-family:var(--head);font-weight:600;font-size:22px;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}

/* документы */
.doc-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.doc-link{background:var(--card);border-radius:20px;padding:20px 22px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:4px;transition:.2s}
.doc-link:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.doc-link b{font-size:15.5px}
.doc-link small{color:var(--c3);font-weight:700}

/* блок записи и подвал */
.book .cta-row{margin-top:8px}
.book .c-list{align-content:center}
.f-contacts{display:grid;gap:4px;margin-top:20px;color:var(--ink-2);font-weight:600}
.f-contacts a{font-size:20px;font-weight:800;color:var(--c3)}
.err{text-align:center;padding:140px 0 80px}
.err-num{font-family:var(--head);font-size:clamp(90px,16vw,180px);font-weight:700;letter-spacing:-.06em;line-height:1}
.err h1{font-size:clamp(28px,4vw,44px);margin:10px 0 12px}

@media(max-width:1100px){.doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p-grid{grid-template-columns:1fr}.p-side{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:900px){.svc-grid,.promo-grid,.doc-links{grid-template-columns:1fr 1fr}.p-hero.split{grid-template-columns:1fr}.dr-hero{grid-template-columns:1fr;gap:24px}.dr-photo{max-width:420px}}
@media(max-width:760px){
  .crumbs{padding-top:84px;font-size:12.5px}
  .p-hero{padding:14px 0 24px}
  .p-hero h1{font-size:34px}
  .doc-grid{grid-template-columns:1fr 1fr;gap:10px}
  .doc-grid .doc .row{flex-direction:column;align-items:stretch}
  .doc-grid .doc h3{font-size:15px}
  .svc-grid,.promo-grid,.doc-links{grid-template-columns:1fr}
  .svc{min-height:0;padding:20px}
  .p-side{grid-template-columns:1fr}
  .prose{font-size:16px}
  .prose h2{font-size:23px}.prose h3{font-size:19px}
  .dr-facts{grid-template-columns:1fr 1fr}
  .dr-facts li{padding:12px}
  .dr-book .btn{flex:1 1 100%}
  .p-table{padding:4px 16px}
  .p-table .p-row{font-size:14.5px;gap:8px}
  .filters{flex-wrap:nowrap;overflow-x:auto;margin:20px -16px 0;padding:0 16px 4px;scrollbar-width:none}
  .filters button{white-space:nowrap}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:18px -16px 0;padding:0 16px 4px;scrollbar-width:none}
  .chips a{white-space:nowrap}
  .f-contacts a{font-size:18px}
}

/* уведомление о cookie */
.cookie{position:fixed;left:16px;bottom:16px;z-index:70;max-width:440px;background:var(--card);border-radius:22px;padding:18px 20px;box-shadow:0 20px 50px rgba(18,40,59,.22);font-size:14px;color:var(--ink-2)}
.cookie a{color:var(--c3);font-weight:700;text-decoration:underline}
.cookie-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.cookie-btns .btn{height:42px;padding:0 18px}
@media(max-width:760px){.cookie{left:10px;right:10px;bottom:84px;max-width:none}}

/* ==========================================================================
   Иконки направлений: анимация при наведении (компьютер),
   при нажатии и при появлении на экране (телефон — класс .play)
   ========================================================================== */
.dtop{display:flex;justify-content:flex-end;align-items:flex-start;gap:12px}
.sico{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--cyan-soft);color:var(--c3);flex:none;transition:transform .35s cubic-bezier(.2,.75,.15,1),background .3s}
.sico .ico{width:44px;height:44px;overflow:visible}
.dir.coral .sico{background:var(--card);color:#d4502c}
.dir.cyan .sico{background:var(--card)}
.dir.big .sico{width:88px;height:88px;border-radius:26px;background:rgba(255,255,255,.18);color:#fff}
.dir.big .sico .ico{width:60px;height:60px}
.svc .sico{width:56px;height:56px;border-radius:18px;margin-bottom:6px}
.svc .sico .ico{width:38px;height:38px}
.dir:hover .sico,.svc:hover .sico,.play .sico{transform:rotate(-6deg) scale(1.08)}
.ico *{transform-box:fill-box;transform-origin:center}
.ico .fillc,.ico .hrt,.ico .drp,.ico .lobe,.ico .lng{fill:rgba(255,255,255,.55)}
.dir.big .ico .fillc,.dir.big .ico .hrt,.dir.big .ico .lobe{fill:rgba(255,255,255,.15)}
.ico .ac,.ico .sig,.ico .bolt,.ico .ecgl,.ico .zap,.ico .drop,.ico .dr,.ico .med,.ico .hrt-s,.ico .pl{stroke:var(--coral)}
.ico .med,.ico .hrt-s{fill:var(--coral-soft)}
.ico .drop,.ico .dr{fill:var(--coral)}
.ico .liq{fill:var(--coral-soft);stroke:none}
.ico .bub,.ico .th{fill:currentColor;stroke:none;opacity:0}
.ico .sig{stroke-width:3.4;stroke-dasharray:6 60;stroke-dashoffset:6;opacity:0}
.ico .core{fill:#fff4ef;stroke:currentColor}
.dir.big .ico .core{fill:#5b9fd0;stroke:#fff}
.ico .nd{fill:#fff}
.dir.big .ico .nd{fill:rgba(255,255,255,.3)}
.ico .ecgl{stroke-dasharray:60;stroke-dashoffset:0}
.ico .calm,.ico .ray{opacity:0}
.ico .wv{opacity:.35}
.ico .spl{fill:var(--coral);stroke:none;opacity:0}

/* включатели анимации */
:is(.dir:hover,.svc:hover,.play) .ico .sig{animation:ic-sig 1.3s ease-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .s2{animation-delay:.15s}
:is(.dir:hover,.svc:hover,.play) .ico .s3{animation-delay:.3s}
:is(.dir:hover,.svc:hover,.play) .ico .s4{animation-delay:.45s}
:is(.dir:hover,.svc:hover,.play) .ico .s5{animation-delay:.6s}
:is(.dir:hover,.svc:hover,.play) .ico .core{animation:ic-beat 1.3s ease-in-out infinite}
@keyframes ic-sig{0%{stroke-dashoffset:6;opacity:0}15%{opacity:1}100%{stroke-dashoffset:-40;opacity:0}}
@keyframes ic-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(.95)}45%{transform:scale(1.1)}}

:is(.dir:hover,.svc:hover,.play) .ico .bolt{animation:ic-bolt 1.6s ease-in-out forwards}
:is(.dir:hover,.svc:hover,.play) .ico .calm{animation:ic-fadein .5s 1.1s ease forwards}
:is(.dir:hover,.svc:hover,.play) .ico .ray{animation:ic-ray .6s ease-out 2}
@keyframes ic-bolt{0%,20%,40%{opacity:1}10%,30%{opacity:.2}100%{opacity:0;transform:scale(.6)}}
@keyframes ic-fadein{to{opacity:1}}
@keyframes ic-ray{0%{opacity:0}50%{opacity:1}100%{opacity:0;transform:translateX(2px)}}

:is(.dir:hover,.svc:hover,.play) .ico .bal{animation:ic-float 1.8s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .str{animation:ic-sway 1.8s ease-in-out infinite;transform-origin:top center}
@keyframes ic-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-6deg)}}
@keyframes ic-sway{0%,100%{transform:translateY(0) skewX(0)}50%{transform:translateY(-6px) skewX(8deg)}}

:is(.dir:hover,.svc:hover,.play) .ico .hrt{animation:ic-beat 1s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .ecgl{animation:ic-draw 1.2s linear infinite}
@keyframes ic-draw{from{stroke-dashoffset:60}to{stroke-dashoffset:-60}}

.ico .lobe.l{transform-origin:right center}.ico .lobe.r{transform-origin:left center}
:is(.dir:hover,.svc:hover,.play) .ico .lobe{animation:ic-flap .7s ease-in-out infinite alternate}
@keyframes ic-flap{to{transform:scaleX(.72)}}

:is(.dir:hover,.svc:hover,.play) .ico .drp{animation:ic-drip 1.4s ease-in infinite}
:is(.dir:hover,.svc:hover,.play) .ico .spl{animation:ic-splash 1.4s ease-out infinite}
@keyframes ic-drip{0%{transform:translateY(-4px)}60%{transform:translateY(2px) scaleY(.94)}100%{transform:translateY(-4px)}}
@keyframes ic-splash{0%,55%{opacity:0;transform:translateY(0)}70%{opacity:1}100%{opacity:0;transform:translateY(-6px)}}

.ico .shin{transform-origin:34px 34px;transform-box:view-box}
:is(.dir:hover,.svc:hover,.play) .ico .shin{animation:ic-bend 1.2s ease-in-out infinite alternate}
:is(.dir:hover,.svc:hover,.play) .ico .knee{animation:ic-beat 1.2s ease-in-out infinite}
@keyframes ic-bend{to{transform:rotate(-38deg)}}

:is(.dir:hover,.svc:hover,.play) .ico .bub{animation:ic-bub 1.6s ease-in infinite}
:is(.dir:hover,.svc:hover,.play) .ico .b2{animation-delay:.4s}
:is(.dir:hover,.svc:hover,.play) .ico .b3{animation-delay:.8s}
@keyframes ic-bub{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-18px) scale(1.2)}}

:is(.dir:hover,.svc:hover,.play) .ico .th{animation:ic-pop 1.8s ease-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .t1{animation-delay:.2s}
:is(.dir:hover,.svc:hover,.play) .ico .t2{animation-delay:.5s}
:is(.dir:hover,.svc:hover,.play) .ico .hrt-s{animation:ic-beat 1.8s ease-in-out infinite}
@keyframes ic-pop{0%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1.15)}70%{opacity:1;transform:scale(1)}100%{opacity:0}}

:is(.dir:hover,.svc:hover,.play) .ico .wv{animation:ic-wave 1.4s ease-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .w2{animation-delay:.2s}
:is(.dir:hover,.svc:hover,.play) .ico .w3{animation-delay:.4s}
:is(.dir:hover,.svc:hover,.play) .ico .prb{animation:ic-scan 1.4s ease-in-out infinite alternate}
@keyframes ic-wave{0%{opacity:0;transform:translateX(-4px)}40%{opacity:1}100%{opacity:0;transform:translateX(4px)}}
@keyframes ic-scan{to{transform:translate(2px,-2px) rotate(-6deg)}}

.ico .liq{transform-origin:bottom;transform:scaleY(.35)}
:is(.dir:hover,.svc:hover,.play) .ico .liq{animation:ic-fill 1.6s ease-in-out infinite alternate}
@keyframes ic-fill{to{transform:scaleY(.85)}}

:is(.dir:hover,.svc:hover,.play) .ico .plg{animation:ic-push 1.4s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .med{animation:ic-med 1.4s ease-in-out infinite;transform-origin:right center}
:is(.dir:hover,.svc:hover,.play) .ico .drop{animation:ic-dropfall 1.4s ease-in infinite}
.ico .drop{opacity:0}
@keyframes ic-push{50%{transform:translateX(9px)}}
@keyframes ic-med{50%{transform:scaleX(.35)}}
@keyframes ic-dropfall{0%,45%{opacity:0;transform:translateY(0)}55%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

:is(.dir:hover,.svc:hover,.play) .ico .sine{animation:ic-sine 1.1s linear infinite}
:is(.dir:hover,.svc:hover,.play) .ico .zap{animation:ic-bolt 1.2s ease-in-out infinite}
@keyframes ic-sine{to{transform:translateX(32px)}}

:is(.dir:hover,.svc:hover,.play) .ico .hnd{animation:ic-rub 1.2s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .mo{animation:ic-fadein .6s ease-in-out infinite alternate}
.ico .mo{opacity:.2}
@keyframes ic-rub{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(4px,2px) rotate(4deg)}50%{transform:translate(0,4px)}75%{transform:translate(-4px,2px) rotate(-4deg)}}

:is(.dir:hover,.svc:hover,.play) .ico .vt{animation:ic-spine 1.4s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .v2{animation-delay:.1s}
:is(.dir:hover,.svc:hover,.play) .ico .v3{animation-delay:.2s}
:is(.dir:hover,.svc:hover,.play) .ico .v4{animation-delay:.3s}
:is(.dir:hover,.svc:hover,.play) .ico .v5{animation-delay:.4s}
@keyframes ic-spine{0%,100%{transform:translateX(0)}30%{transform:translateX(5px)}60%{transform:translateX(-3px)}}

:is(.dir:hover,.svc:hover,.play) .ico .dr{animation:ic-dropfall 1.2s ease-in infinite}
.ico .dr{opacity:0}
:is(.dir:hover,.svc:hover,.play) .ico .lvl{animation:ic-lvl 2.4s linear infinite}
@keyframes ic-lvl{to{transform:translateY(8px)}}

:is(.dir:hover,.svc:hover,.play) .ico .lng{animation:ic-breathe 2s ease-in-out infinite}
@keyframes ic-breathe{50%{transform:scale(1.1)}}
:is(.dir:hover,.svc:hover,.play) .ico .bell{animation:ic-beat 1s ease-in-out infinite}
:is(.dir:hover,.svc:hover,.play) .ico .crs{animation:ic-spin 1.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes ic-spin{to{transform:rotate(90deg)}}

@media(prefers-reduced-motion:reduce){.ico *{animation:none !important}.dir:hover .sico,.svc:hover .sico,.play .sico{transform:none}}
@media(max-width:760px){.sico{width:48px;height:48px;border-radius:15px}.sico .ico{width:32px;height:32px}.dir.big .sico{width:64px;height:64px}.dir.big .sico .ico{width:44px;height:44px}.dir:not(.big) .dtop .n{display:none}}

/* ---------- цены: аккордеон ---------- */
.price-page{max-width:980px}
.pr-hero{padding-bottom:22px}
.pr-hero .lead{margin-top:-6px}
.price-search{max-width:none}
.price-search input{height:60px;background:var(--card);box-shadow:var(--shadow)}
.pr-discount{display:flex;align-items:center;gap:16px;background:var(--coral-soft);border-radius:20px;padding:14px 20px;margin-bottom:18px}
.pr-discount .pct{flex:none;font-family:var(--head);font-weight:700;font-size:22px;color:#d4502c}
.pr-discount p{font-weight:600;font-size:15px;color:var(--ink)}
.acc{display:grid;gap:10px}
.acc-item{background:var(--card);border-radius:22px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:box-shadow .2s}
.acc-item[open]{box-shadow:var(--shadow)}
.acc-item summary{list-style:none;display:flex;align-items:center;gap:14px;padding:20px 24px;cursor:pointer;user-select:none}
.acc-item summary::-webkit-details-marker{display:none}
.acc-t{font-family:var(--head);font-weight:600;font-size:21px;letter-spacing:-.02em;flex:1}
.acc-m{color:var(--ink-3);font-weight:700;font-size:14px;white-space:nowrap}
.acc-i{width:34px;height:34px;border-radius:50%;background:var(--bg);flex:none;position:relative;transition:.25s}
.acc-i::before,.acc-i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink);border-radius:2px;transition:.25s}
.acc-i::after{transform:rotate(90deg)}
.acc-item[open] .acc-i{background:var(--c3)}
.acc-item[open] .acc-i::before,.acc-item[open] .acc-i::after{background:var(--card)}
.acc-item[open] .acc-i::after{transform:rotate(0)}
.acc-b{padding:0 24px 14px}
.acc-b .note{color:var(--ink-3);font-weight:600;font-size:14px;margin:-6px 0 6px}
.acc-b .p-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line)}
.acc-b .p-row span{font-weight:500;color:var(--ink)}
.acc-b .p-row b{white-space:nowrap;color:var(--c3)}
.acc-b .p-row[hidden]{display:none}
.pr-notes{margin-top:18px;padding:0 4px;color:var(--ink-3);font-size:14px}
.pr-notes summary{cursor:pointer;font-weight:700;color:var(--ink-2);padding:8px 0}
.pr-notes p{margin:6px 0}
.cta-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:40px;padding:24px 28px;border-radius:26px;background:linear-gradient(135deg,#dff2fa 0%,#fff1ea 100%)}
.cta-strip b{display:block;font-family:var(--head);font-weight:600;font-size:21px;letter-spacing:-.02em}
.cta-strip span{color:var(--ink-2)}
.cta-strip .cta-row{margin:0}

/* ---------- контакты ---------- */
.ct{display:grid;grid-template-columns:400px 1fr;gap:16px;align-items:stretch}
.ct-card{background:var(--card);border-radius:28px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.ct-row{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.ct-row:nth-last-of-type(1){border:0}
.ct-row .ic{width:42px;height:42px;border-radius:14px;background:var(--cyan-soft);color:var(--c3);display:grid;place-items:center;flex:none}
.ct-row small{display:block;color:var(--ink-3);font-weight:700;font-size:12.5px}
.ct-row b{display:block;font-size:16px}
.ct-row a:hover b{color:var(--c3)}
.ct-btns{display:grid;gap:8px;margin-top:10px}
.ct-btns .btn{width:100%}
.ct-vk{margin-top:8px;text-align:center;font-weight:800;color:var(--c3);font-size:14px}
.ct-map{border-radius:28px;overflow:hidden;min-height:520px;background:var(--soft);box-shadow:var(--shadow)}
.ct-map iframe{width:100%;height:100%;border:0;min-height:520px}
@media(max-width:900px){.ct{grid-template-columns:1fr}.ct-map,.ct-map iframe{min-height:340px}}
@media(max-width:760px){
  .acc-item summary{padding:16px 16px;gap:10px;flex-wrap:wrap}
  .acc-t{font-size:18px;flex:1 1 60%}
  .acc-m{order:3;width:100%;font-size:13px;margin-top:-8px}
  .acc-i{width:30px;height:30px}
  .acc-b{padding:0 16px 10px}
  .acc-b .p-row{font-size:14.5px;gap:12px}
  .pr-discount{padding:12px 16px}.pr-discount p{font-size:14px}
  .cta-strip{padding:20px}.cta-strip .cta-row .btn{flex:1 1 100%}
  .ct-card{padding:18px}
}
.acc .price-sec{margin-top:0;scroll-margin-top:100px}
.h-eyebrow{display:block;font-family:Manrope,sans-serif;font-size:clamp(15px,1.5vw,19px);font-weight:700;letter-spacing:0;color:var(--c3);margin-bottom:14px}
.hero .h-eyebrow{margin-top:0}
.faq{margin-top:44px;display:grid;gap:10px;max-width:760px}.faq .h2s{margin-bottom:8px}.faq .acc-t{font-size:18px}.faq .acc-b p{color:var(--ink-2);line-height:1.65;padding-bottom:8px}

/* ---------- всплывающее окно ---------- */
.popup{margin:auto;border:0;padding:0;border-radius:28px;max-width:480px;width:calc(100% - 32px);background:var(--card);color:var(--ink);box-shadow:0 40px 90px -20px rgba(18,40,59,.45);overflow:hidden}
.popup::backdrop{background:rgba(18,40,59,.35);backdrop-filter:blur(4px)}
.popup[open]{animation:pop-in .45s cubic-bezier(.2,.75,.15,1)}
@keyframes pop-in{from{opacity:0;transform:translateY(24px) scale(.97)}}
.popup-img{width:100%;aspect-ratio:16/8;object-fit:cover}
.popup-bd{padding:28px}
.popup h2{font-size:28px;margin:4px 0 12px}
.popup .prose{color:var(--ink-2)}
.popup .cta-row{margin-top:20px}
.popup-x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(var(--glass-rgb),.92);font-size:24px;line-height:1;cursor:pointer;color:var(--ink);box-shadow:0 4px 12px rgba(18,40,59,.15)}
.popup-x:hover{background:var(--coral);color:#fff}
@media(max-width:760px){.popup{margin:auto auto 12px;border-radius:24px}.popup-bd{padding:22px}.popup h2{font-size:23px}.popup .cta-row .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.popup[open]{animation:none}}

/* ---------- статьи ---------- */
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.art-card{background:var(--card);border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;transition:.25s}
.art-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.art-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.art-bd{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.art-bd .sp{align-self:flex-start;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:var(--cyan-soft);color:var(--c3)}
.art-bd b{font-family:var(--head);font-weight:600;font-size:21px;letter-spacing:-.02em;line-height:1.2}
.art-sum{color:var(--ink-2);font-size:14.5px;flex:1}
.art-meta{display:flex;justify-content:space-between;align-items:center;color:var(--ink-3);font-weight:700;font-size:13px;margin-top:6px}
.art-meta .go{width:38px;height:38px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--ink);transition:.25s}
.art-card:hover .go{background:var(--coral);color:#fff;transform:rotate(-45deg)}
.art-hero h1{font-size:clamp(32px,4.4vw,54px)}
.art-info{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:20px;color:var(--ink-3);font-weight:700;font-size:14px}
.art-info .rev{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:999px;padding:5px 16px 5px 5px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.art-info .rev img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.art-info .rev small{display:block;color:var(--ink-3);font-size:11.5px}
.art-body h2{scroll-margin-top:100px}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:2px}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:7px 8px;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink-2)}
.toc a::before{content:counter(t);color:var(--c2);font-weight:800;min-width:16px}
.toc a:hover{background:var(--soft);color:var(--c3)}
.disclaimer{margin-top:30px;padding:16px 18px;border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);font-size:13.5px;max-width:760px}
.related-arts{margin-top:14px}
@media(max-width:900px){.art-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.art-grid{grid-template-columns:1fr}.toc{display:none}}

/* ---------- cookie на компьютере: по центру снизу, в одну строку ---------- */
@media(min-width:761px){
  .cookie{left:50%;right:auto;bottom:18px;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));max-width:none;display:flex;align-items:center;gap:20px;padding:12px 14px 12px 24px;border-radius:999px}
  .cookie p{flex:1;margin:0}
  .cookie-btns{margin:0;flex:none;flex-wrap:nowrap}
}

/* ==========================================================================
   Версия для слабовидящих (ГОСТ Р 52872-2019)
   ========================================================================== */
.a11y-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:rgba(var(--glass-rgb),.85);color:var(--c3);cursor:pointer;flex:none;box-shadow:inset 0 0 0 1px var(--line)}
.a11y-btn:hover{background:var(--c3);color:#fff}
.drawer-a11y{border:0;background:var(--soft);border-radius:14px;padding:14px 16px;font:700 16px Manrope,sans-serif;text-align:left;cursor:pointer;color:var(--ink)}
.a11y-panel{display:none}
@media(max-width:1080px){.nav .a11y-btn{display:none}}

html.a11y .a11y-panel{display:block;background:var(--card);border-bottom:2px solid #000}
.a11y-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;padding-top:10px;padding-bottom:10px}
.a11y-grp{display:flex;align-items:center;gap:6px}
.a11y-grp span{font-weight:800;font-size:15px;margin-right:4px}
.a11y-panel button{min-width:44px;height:44px;padding:0 12px;border:2px solid #000;background:var(--card);color:#000;border-radius:10px;font:800 16px Arial,sans-serif;cursor:pointer}
.a11y-panel button.on{outline:3px solid #000;outline-offset:2px}
.a11y-panel .fs2{font-size:20px}.a11y-panel .fs3{font-size:25px}
.a11y-panel .c-bw{background:var(--card) !important;color:#000 !important}
.a11y-panel .c-wb{background:#000 !important;color:#fff !important}
.a11y-panel .c-blue{background:#9dd1ff !important;color:#063462 !important}
.a11y-panel .c-beige{background:#f7f3d6 !important;color:#4d4b43 !important}
.a11y-panel .c-green{background:#3b2716 !important;color:#a9e44d !important}
.a11y-panel .a11y-off{margin-left:auto;background:#000;color:#fff}

/* общий режим: без анимаций и украшений, крупные элементы, чёткие ссылки */
html.a11y *,html.a11y *::before,html.a11y *::after{animation:none !important;transition:none !important}
html.a11y #dna,html.a11y .floats,html.a11y .ecg,html.a11y .ecg-dot,html.a11y .glow,html.a11y .dots,html.a11y .scroll-hint,html.a11y .hprog,html.a11y .deco,html.a11y .dir.big svg.pulse{display:none !important}
html.a11y .reveal{opacity:1 !important;transform:none !important}
html.a11y .w>span,html.a11y .fade-in{transform:none !important;opacity:1 !important}
html.a11y #hdr{position:sticky;backdrop-filter:none}
html.a11y .crumbs{padding-top:20px}
html.a11y .hero{min-height:0;padding:40px 0 60px}
html.a11y .after{margin-top:0}
html.a11y .grad-t,html.a11y .grad-b{background:none !important;-webkit-background-clip:border-box !important;background-clip:border-box !important;color:inherit !important}
html.a11y a:not(.btn):not(.q):not(.dir):not(.svc):not(.logo):not(.art-card):not(.doc-link){text-decoration:underline}
html.a11y :focus-visible{outline:3px solid currentColor !important;outline-offset:3px}
html.a11y .cookie{border-radius:12px}

/* размер шрифта */
html.a11y-fs-2 body{zoom:1.2}
html.a11y-fs-3 body{zoom:1.45}
html.a11y-fs-2 .a11y-panel,html.a11y-fs-3 .a11y-panel{zoom:1}

/* межбуквенный интервал */
html.a11y-ls-2 body{letter-spacing:.12em;word-spacing:.2em;line-height:1.8}

/* изображения */
html.a11y-noimg img:not(.logo img),html.a11y-noimg .ph,html.a11y-noimg .dr-photo,html.a11y-noimg .a-photo,html.a11y-noimg .p-img,html.a11y-noimg .about-photo,html.a11y-noimg .sico,html.a11y-noimg .map,html.a11y-noimg .ct-map,html.a11y-noimg .popup-img{display:none !important}

/* цветовые схемы: фон, текст и рамки одного цвета, без градиентов и теней */
html.a11y-c-bw{--a-bg:#fff;--a-fg:#000}
html.a11y-c-wb{--a-bg:#000;--a-fg:#fff}
html.a11y-c-blue{--a-bg:#9dd1ff;--a-fg:#063462}
html.a11y-c-beige{--a-bg:#f7f3d6;--a-fg:#4d4b43}
html.a11y-c-green{--a-bg:#3b2716;--a-fg:#a9e44d}
html.a11y body,
html.a11y body *:not(svg):not(svg *):not(img):not(iframe):not(.a11y-panel button){background:var(--a-bg) !important;color:var(--a-fg) !important;border-color:var(--a-fg) !important;box-shadow:none !important;text-shadow:none !important;background-image:none !important}
html.a11y svg{color:var(--a-fg) !important}
html.a11y .btn,html.a11y .q,html.a11y .dir,html.a11y .svc,html.a11y .doc,html.a11y .stat,html.a11y .ben,html.a11y .step,html.a11y .acc-item,html.a11y .side-card,html.a11y .p-list,html.a11y .p-table,html.a11y .search,html.a11y .book,html.a11y .ct-card,html.a11y .art-card,html.a11y .doc-link,html.a11y .promo,html.a11y .cookie,html.a11y .popup,html.a11y .tabs,html.a11y .filters button,html.a11y .chips a,html.a11y .tags a,html.a11y .s-field input,html.a11y .hint{border:2px solid var(--a-fg) !important}
html.a11y .btn-coral,html.a11y .btn-blue,html.a11y .tabs button.on,html.a11y .filters button.on{background:var(--a-fg) !important;color:var(--a-bg) !important}
html.a11y .btn-coral *,html.a11y .btn-blue *{color:var(--a-bg) !important;background:transparent !important}
html.a11y .p-row mark{outline:2px solid var(--a-fg)}
html.a11y .a11y-panel{background:var(--a-bg) !important;border-color:var(--a-fg) !important}
html.a11y .a11y-panel .a11y-grp span{color:var(--a-fg) !important}
html.a11y .logo img{filter:grayscale(1) contrast(1.2)}
html.a11y-c-wb .logo img,html.a11y-c-green .logo img{filter:grayscale(1) invert(1)}
@media(min-width:761px){.cookie p{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(min-width:761px) and (max-width:1000px){.cookie p{white-space:normal}}
.cookie[hidden]{display:none !important}
html.a11y .a11y-panel button{background:var(--a-bg);color:var(--a-fg);border-color:var(--a-fg)}
html.a11y .a11y-panel button.on{outline-color:var(--a-fg)}
html.a11y .a11y-panel .a11y-off{background:var(--a-fg) !important;color:var(--a-bg) !important}
.ct-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px;margin-top:16px}
.ct-about-photo{border-radius:28px;overflow:hidden;min-height:280px;background:var(--soft)}
.ct-about-photo img{width:100%;height:100%;object-fit:cover}
.ct-about-text{background:var(--card);border-radius:28px;padding:30px;box-shadow:inset 0 0 0 1px var(--line)}
.ct-about-text p{color:var(--ink-2);margin-top:12px}
@media(max-width:900px){.ct-about{grid-template-columns:1fr}.ct-about-photo{min-height:200px}.ct-about-text{padding:22px}}
/* меню шире: «Статьи о здоровье» */
@media(max-width:1240px) and (min-width:1081px){.menu a{padding:9px 10px;font-size:14px}.nav{gap:14px}}
/* крупный шрифт в версии для слабовидящих: меню в «бургере» */
html.a11y-fs-2 .menu,html.a11y-fs-3 .menu,html.a11y-fs-2 .tel,html.a11y-fs-3 .tel,html.a11y-fs-3 .nav .btn{display:none}
html.a11y-fs-2 .icon-btn,html.a11y-fs-3 .icon-btn{display:grid;margin-left:auto}
html.a11y-fs-2 .icon-btn~.icon-btn,html.a11y-fs-3 .icon-btn~.icon-btn{margin-left:0}
html.a11y-fs-2 .nav .a11y-btn,html.a11y-fs-3 .nav .a11y-btn{display:none}

/* ---------- адаптация: сетки не растягиваются под картинки ---------- */
.p-grid>*,.dr-hero>*,.about>*,.prices>*,.book>*,.ct>*,.ct-about>*,.p-hero.split>*,.promo-grid>*,.art-grid>*,.svc-grid>*,.doc-grid>*{min-width:0}
.dr-photo img,.p-img img{max-width:100%}
@media(max-width:900px){.dr-photo{width:100%}}

/* ---------- маленькие телефоны (до 380 px): карточка врача горизонтальная ---------- */
@media(max-width:380px){
  .doc-grid{grid-template-columns:1fr}
  .doc-grid .doc{display:grid;grid-template-columns:104px 1fr;align-items:start}
  .doc-grid .doc .ph{aspect-ratio:1/1.15;margin:10px;border-radius:16px}
  .doc-grid .doc .bd{padding:12px 12px 14px 0}
  .doc-grid .doc h3{font-size:15px;margin:6px 0 8px}
  .doc-grid .doc .exp{margin:-4px 0 8px}
  .doc-grid .doc .row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}
  .doc-grid .doc .row .btn{height:38px;padding:0 14px;font-size:13px}
  .doc-grid .doc .pr small{display:none}
  .wrap{padding:0 12px}
  .hero h1{font-size:34px}
  .p-hero h1,.dr-info h1{font-size:28px}
  .sh h2{font-size:28px}
  .btn{padding:0 18px}
  .m-bar .btn{font-size:14px}
  .dr-facts{grid-template-columns:1fr}
  .search{padding:16px}
  .acc-item summary{padding:14px 12px}
  .acc-b{padding:0 12px 8px}
}
/* планшет: линия пульса не перечёркивает заголовок «Невролог» */
@media(max-width:980px){.dir.big{min-height:300px}.dir.big svg.pulse{top:16%;height:70px}}
/* версия для слабовидящих на телефоне: панель сворачивается, шапка не приклеена */
.a11y-more{display:none}
@media(max-width:760px){
  html.a11y #hdr{position:relative}
  html.a11y .crumbs{padding-top:14px}
  .a11y-row{gap:10px;padding-top:8px;padding-bottom:8px}
  .a11y-more{display:inline-flex;align-items:center}
  .a11y-panel .a11y-grp{display:none;width:100%;flex-wrap:wrap}
  .a11y-panel.open .a11y-grp{display:flex}
  .a11y-grp span{width:100%;margin:4px 0 0}
  .a11y-panel .a11y-off{margin-left:auto;padding:0 12px;font-size:14px}
  .a11y-panel button{min-width:42px;height:42px}
  html.a11y .m-bar{position:fixed}
}
/* крупный шрифт на телефоне: без двойного увеличения панели и с переносом длинных слов */
@media(max-width:760px){html.a11y-fs-2 body{zoom:1.15}html.a11y-fs-3 body{zoom:1.3}html.a11y body{overflow-wrap:anywhere}}
@media(max-width:760px){
  .m-bar .btn{min-width:0;flex:1 1 0;padding:0 10px}
  html.a11y .m-bar .btn{white-space:normal;line-height:1.1;text-align:center}
  html.a11y .a11y-more,html.a11y .a11y-panel .a11y-off{flex:1 1 0;margin-left:0;height:auto;min-height:44px;white-space:normal;line-height:1.15;padding:6px 10px}
}
@media(max-width:380px){
  .filters,.chips{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
  .bens{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
}
.a11y-panel button{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:760px){html.a11y .a11y-more,html.a11y .a11y-panel .a11y-off{font-size:14px}}
@media(max-width:760px){
  html.a11y .btn,html.a11y .link{white-space:normal;height:auto;min-height:48px;padding-top:10px;padding-bottom:10px;line-height:1.2;text-align:center;max-width:100%}
  html.a11y .link{min-height:0;padding:0}
  html.a11y .cta-row .btn,html.a11y .ct-btns .btn,html.a11y .side-card .btn{width:100%}
  html.a11y .side-card,html.a11y .ct-card{padding:16px}
}

/* заголовки страниц компактнее, путь «Главная / …» скрыт (остался в разметке для поиска) */
.crumbs{padding-top:92px}
.p-hero{max-width:none}
.p-hero>h1,.p-hero>.kicker{max-width:900px}
.p-hero h1{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.p-hero .kicker{margin-bottom:10px}
.p-hero .lead{font-size:clamp(15.5px,1.3vw,17.5px)}
/* фильтры-плашки по центру на всю ширину (на телефоне — прокрутка) */
.filters,.chips{justify-content:center;gap:10px}
.filters button,.chips a{text-align:center}
@media(max-width:760px){
  .crumbs{padding-top:76px}
  .p-hero h1{font-size:28px}
  .filters,.chips{justify-content:flex-start}
}
html.a11y .crumbs{padding-top:12px}

/* страница врача: разделы, специализация плашками, хронология образования */
.dr-bio h2{font-family:var(--head);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:34px 0 14px;color:var(--ink)}
.dr-bio>p:first-child{font-size:18px;color:var(--ink)}
.dr-bio .spec-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.dr-bio .spec-tags li{margin:0;padding:8px 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.35;color:var(--ink-2)}
.dr-bio .spec-tags li::before{display:none}
.dr-bio .timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line);margin-left:6px}
.dr-bio .timeline li{position:relative;display:grid;grid-template-columns:96px 1fr;gap:14px;padding:0 0 16px 22px;margin:0;font-size:15.5px;line-height:1.55}
.dr-bio .timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 3px var(--c3)}
.dr-bio .timeline b{font-family:var(--head);font-weight:600;color:var(--c3);white-space:nowrap}
.dr-bio .timeline span{color:var(--text-2)}
@media(max-width:600px){.dr-bio .timeline li{grid-template-columns:1fr;gap:2px}.dr-bio h2{font-size:20px}}
html.a11y .dr-bio .spec-tags li{border:2px solid var(--a-fg) !important}

/* «Пациентам»: группы документов */
.info-group{margin:8px 0 44px}
.info-head{margin-bottom:16px}
.info-head h2{font-size:clamp(22px,2.2vw,28px)}
.info-head p{color:var(--ink-3);font-size:15px;margin-top:4px}
.doc-link{flex-direction:row;align-items:center;gap:14px;padding:16px 18px}
.doc-link .dt{display:flex;flex-direction:column;gap:3px;min-width:0}
.doc-link .di{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft,#eef5f8);color:var(--c3);font-weight:800;font-size:17px}
.doc-link.is-file .di{background:var(--pdf-soft);color:var(--coral);font-size:11.5px;letter-spacing:.04em}
.doc-link b{line-height:1.35}
/* документ: скачать бланк */
.doc-download{display:flex;align-items:center;gap:18px;background:var(--card);border-radius:22px;padding:20px 22px;box-shadow:inset 0 0 0 1px var(--line);margin:0 0 28px;max-width:860px}
.doc-download .di{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--pdf-soft);color:var(--coral);font-weight:800;font-size:13px}
.doc-download div{flex:1;display:flex;flex-direction:column;gap:2px}
.doc-download b{font-size:17px}.doc-download small{color:var(--ink-3);font-size:14px}
.doc-download .btn{flex:none}
.info-doc .doc-text{background:var(--card);border-radius:18px;box-shadow:inset 0 0 0 1px var(--line);padding:4px 22px}
.info-doc .doc-text summary{cursor:pointer;font-weight:700;color:var(--c3);padding:14px 0;list-style:none}
.info-doc .doc-text summary::-webkit-details-marker{display:none}
.info-doc .doc-text summary::before{content:"＋ "}
.info-doc .doc-text[open] summary::before{content:"− "}
.info-doc .doc-text>div{font-size:15px;padding-bottom:16px}
.info-doc .blank{display:inline-block;min-width:120px;width:40%;max-width:100%;border-bottom:1px solid var(--ink-3);height:1em;vertical-align:baseline;margin:0 4px}
.info-doc a.file{display:inline-flex;align-items:baseline;gap:8px}
.info-doc a.file::before{content:"PDF";font-size:10.5px;font-weight:800;letter-spacing:.04em;color:var(--coral);background:var(--pdf-soft);border-radius:6px;padding:2px 6px;text-decoration:none;flex:none;transform:translateY(-1px)}
.info-doc ul:has(a.file),.info-doc p:has(>a.file){list-style:none;padding-left:0}
.info-doc hr{border:0;border-top:1px solid var(--line);margin:24px 0}
.info-doc .tbl-wrap{overflow-x:auto;background:var(--card);border-radius:18px;box-shadow:inset 0 0 0 1px var(--line)}
.info-doc table.cards-sm{display:table;font-size:14px}
.info-doc table.cards-sm td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.info-doc table.cards-sm tr.th td{font-weight:800;font-size:12.5px;color:var(--ink-3);text-transform:none;background:var(--soft,#f3f8fa)}
.info-doc table.cards-sm p{margin:0}
.back-info{margin:36px 0 10px}
@media(max-width:760px){
  .doc-download{flex-wrap:wrap}.doc-download .btn{width:100%}
  .info-doc .tbl-wrap{background:none;box-shadow:none;overflow:visible}
  .info-doc table.cards-sm,.info-doc table.cards-sm tbody,.info-doc table.cards-sm tr,.info-doc table.cards-sm td{display:block;width:auto}
  .info-doc table.cards-sm tr.th{display:none}
  .info-doc table.cards-sm tr{background:var(--card);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);padding:6px 16px;margin-bottom:10px}
  .info-doc table.cards-sm td{border-bottom:1px dashed var(--line);padding:10px 0}
  .info-doc table.cards-sm td:last-child{border-bottom:0}
  .info-doc table.cards-sm td[data-label]:not([data-label=""])::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--ink-3);margin-bottom:3px}
  .info-doc table.cards-sm td:first-child{font-weight:800;font-size:15.5px}
  .info-doc table.cards-sm td:first-child::before{display:none !important}
}
html.a11y .doc-download,html.a11y .info-doc .doc-text,html.a11y .info-doc table.cards-sm tr{border:2px solid var(--a-fg) !important}

/* отзывы: оценка звёздами */
.rv{max-width:720px;margin:0 auto;padding:10px 0 40px;text-align:center}
.rv .kicker{justify-content:center}
.rv h1{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.rv .lead{color:var(--ink-2);font-size:clamp(15.5px,1.4vw,18px)}
.rv-stars{display:flex;justify-content:center;gap:6px;margin:30px 0 8px}
.rv-stars button{border:0;background:none;padding:4px;cursor:pointer;border-radius:14px;transition:transform .15s}
.rv-stars button:hover{transform:scale(1.12)}
.rv-stars button:focus-visible{outline:3px solid var(--c3);outline-offset:2px}
.rv-stars svg{width:clamp(44px,8vw,58px);height:auto;fill:#e4ebf0;stroke:#d3dde5;stroke-width:1;stroke-linejoin:round;transition:fill .15s,stroke .15s}
.rv-stars button.on svg{fill:#ffb938;stroke:#f5a623}
.rv-stars.locked{pointer-events:none;opacity:.7}
.rv-hint{min-height:1.5em;font-weight:700;color:var(--ink-3);margin-bottom:26px}
.rv-card{background:var(--card);border-radius:26px;padding:30px 30px 26px;box-shadow:inset 0 0 0 1px var(--line),var(--shadow);text-align:left;display:flex;flex-direction:column;gap:14px;animation:rvIn .35s ease}
.rv-card.good{text-align:center;align-items:center}
.rv-card h2{font-family:var(--head);font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.rv-card p{color:var(--ink-2)}
.rv-card small{color:var(--ink-3);font-size:13px}
.rv-emoji{font-size:44px;line-height:1}
.rv-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;color:var(--ink-2)}
.rv-card label b{color:var(--coral)}
.rv-card textarea,.rv-card input:not([type=checkbox]),.rv-card select{font:inherit;font-weight:500;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px;width:100%;resize:vertical}
.rv-card textarea:focus,.rv-card input:focus,.rv-card select:focus{outline:none;border-color:var(--c3);box-shadow:0 0 0 3px rgba(47,99,148,.15);background:var(--card)}
.rv-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rv-card .rv-consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:500;font-size:13.5px}
.rv-consent input{margin-top:3px;width:18px;height:18px;flex:none}
.rv-card .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-err{color:#c0392b;font-weight:700;font-size:14px}
.rv-card .btn{align-self:flex-start}
.rv-card.good .btn{align-self:center}
.rv-alt{font-size:13.5px;color:var(--ink-3) !important;margin-top:4px}
.rv-alt a{color:var(--ink-3);text-decoration:underline}
@keyframes rvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){.rv-card{padding:22px 18px}.rv-row{grid-template-columns:1fr}.rv-card .btn{align-self:stretch;text-align:center}}
html.a11y .rv-card{border:2px solid var(--a-fg) !important}
html.a11y .rv-stars button.on svg{fill:var(--a-fg);stroke:var(--a-fg)}
.rv-card [hidden],.rv [hidden]{display:none !important}

/* вакансии */
.jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:8px 0 40px}
.job{background:var(--card);border-radius:24px;padding:24px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:14px;transition:.2s}
.job:hover{box-shadow:inset 0 0 0 1px var(--line),var(--shadow);transform:translateY(-2px)}
.job-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--pdf-soft);color:var(--coral)}
.job h2{font-family:var(--head);font-size:22px;font-weight:600;letter-spacing:-.02em}
.job-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.job-tags li{padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--c3);font-weight:700;font-size:13.5px}
.job .btn{align-self:flex-start;margin-top:4px}
.job-empty{background:var(--card);border-radius:22px;padding:24px;box-shadow:inset 0 0 0 1px var(--line);margin:8px 0 40px;font-size:17px}
.job-apply{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#eaf4f8,#fff4ef);border-radius:28px;padding:32px 34px;margin-bottom:30px}
.job-apply h2{font-size:clamp(24px,2.4vw,30px);margin-bottom:14px}
.job-apply ol{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2)}
.job-apply ol a{color:var(--c3);font-weight:700}
.job-contacts{display:flex;flex-direction:column;gap:10px;align-items:stretch;text-align:center}
.job-contacts small{color:var(--ink-3)}
@media(max-width:760px){.job-apply{grid-template-columns:1fr;padding:24px 20px}.job .btn{align-self:stretch;text-align:center}}
html.a11y .job,html.a11y .job-apply,html.a11y .job-empty{border:2px solid var(--a-fg) !important}

/* подвал */
footer.ft{background:var(--card);margin-top:100px;padding:0 0 36px;border-top:0;position:relative}
.ft-cta{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;background:linear-gradient(115deg,var(--c3) 0%,#3f86b8 55%,#4aa3c9 100%);color:#fff;border-radius:28px;padding:28px 34px;margin:-56px 0 44px;position:relative;box-shadow:var(--shadow)}
.ft-cta b{display:block;font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
.ft-cta span{opacity:.85;font-size:15px}
.ft-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.btn-white{background:var(--card);color:var(--c3)}.btn-white:hover{background:var(--hover)}
.ft-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px 40px;padding-bottom:36px}
.ft-logo img{display:block}
.ft-slogan{font-family:var(--head);font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:4px 0 22px;max-width:320px}
.ft-contacts{list-style:none;padding:0;margin:0;display:grid;gap:14px;color:var(--ink-2);font-size:15px}
.ft-contacts li{display:flex;gap:12px;align-items:flex-start}
.ft-contacts svg{flex:none;color:var(--c3);margin-top:2px}
.ft-phone{font-size:20px;font-weight:800;color:var(--c3);line-height:1.1}
.ft-link{color:var(--c3);font-weight:700;font-size:14px}
.ft-hours{display:grid;gap:2px}.ft-hours em{font-style:normal;font-weight:700;color:var(--ink);display:inline-block;min-width:62px}
.ft-contacts a:hover{color:var(--coral)}
.ft-col h6{font-size:12px;color:var(--ink-3);margin:6px 0 14px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.ft-col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-weight:600;color:var(--ink-2);font-size:15px}
.ft-col a{transition:color .2s}.ft-col a:hover{color:var(--c3)}
.ft-bot{border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:10px 20px;align-items:center;font-size:13px;color:var(--ink-3)}
.ft-legal{display:flex;flex-wrap:wrap;gap:6px 24px}
.ft-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.ft-links a,.ft-links button{color:var(--ink-3);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ft-links a:hover,.ft-links button:hover{color:var(--c3)}
.ft-warn{grid-column:1;margin:0;font-size:12.5px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);opacity:.85}
.ft-up{grid-column:2;grid-row:1/span 2;width:46px;height:46px;border-radius:50%;border:0;background:var(--soft);color:var(--c3);cursor:pointer;display:grid;place-items:center;transition:.2s}
.ft-up:hover{background:var(--c3);color:#fff}
@media(max-width:1000px){.ft-grid{grid-template-columns:1fr 1fr 1fr}.ft-about{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:0 32px;align-items:start}.ft-about .ft-contacts{grid-column:2;grid-row:1/span 2}.ft-slogan{margin-bottom:0}}
@media(max-width:760px){
  footer.ft{margin-top:56px;padding-bottom:100px}
  .ft-cta{padding:22px 20px;border-radius:22px;margin:0 0 32px}
  footer.ft{padding-top:24px;background:linear-gradient(#f6f9fb 0 0) top/100% 0 no-repeat,#fff}
  .ft-cta-btns{width:100%}.ft-cta-btns .btn{flex:1 1 100%}
  .ft-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .ft-about{display:block}
  .ft-slogan{font-size:22px;margin-bottom:18px}
  .ft-col:last-child{grid-column:1/-1}
  .ft-bot{grid-template-columns:1fr auto}
}
html.a11y .ft-cta{background:var(--a-bg) !important;color:var(--a-fg) !important;border:2px solid var(--a-fg);margin:30px 0}

/* сведения об образовании специалистов */
.edu-search{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:18px;padding:0 18px;box-shadow:inset 0 0 0 1px var(--line);margin:4px 0 20px;max-width:620px;color:var(--ink-3)}
.edu-search input{flex:1;border:0;background:none;font:inherit;font-size:16px;padding:15px 0;color:var(--ink);outline:none;min-width:0}
.edu-search:focus-within{box-shadow:inset 0 0 0 2px var(--c3)}
.edu-search span{font-weight:800;font-size:13px;background:var(--soft);color:var(--c3);border-radius:999px;padding:3px 10px}
.edu-list{display:grid;gap:16px}
.edu-card{background:var(--card);border-radius:24px;padding:24px 26px;box-shadow:inset 0 0 0 1px var(--line)}
.edu-card[hidden]{display:none}
.edu-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px 20px;flex-wrap:wrap;margin-bottom:18px}
.edu-card h2{font-family:var(--head);font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.edu-card h2 a:hover{color:var(--c3)}
.edu-spec{color:var(--c3);font-weight:700;margin-top:4px}
.edu-cat{background:var(--pdf-soft);color:#d8603f;font-weight:800;font-size:13px;border-radius:999px;padding:6px 12px;white-space:nowrap}
.edu-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.edu-blocks section{background:var(--bg);border-radius:16px;padding:14px 16px}
.edu-blocks h3{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:8px}
.edu-blocks h3 svg{color:var(--c3);flex:none}
.edu-blocks p{font-size:14px;line-height:1.5;color:var(--text-2);margin:0 0 6px;overflow-wrap:anywhere}
.edu-more{display:inline-block;margin-top:14px;color:var(--c3);font-weight:700;font-size:14.5px}
.edu-empty{padding:20px 0;color:var(--ink-3)}
@media(max-width:900px){.edu-blocks{grid-template-columns:1fr}}
@media(max-width:600px){.edu-card{padding:18px 16px}.edu-card h2{font-size:19px}}
html.a11y .edu-card,html.a11y .edu-search{border:2px solid var(--a-fg) !important}

/* о клинике */
.ab-hero{align-items:center}
.ab-hero h1{font-size:clamp(30px,3.4vw,46px)}
.ab-hero .cta-row{margin-top:22px}
.ab-photo{border-radius:28px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.ab-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ab-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 20px}
.ab-facts div{background:var(--card);border-radius:22px;padding:20px 22px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:4px}
.ab-facts b{font-family:var(--head);font-size:clamp(30px,3vw,42px);font-weight:600;letter-spacing:-.03em;color:var(--c3);line-height:1}
.ab-facts span{color:var(--ink-2);font-size:14.5px;line-height:1.35}
.ab-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ab-why article{background:var(--card);border-radius:22px;padding:22px;box-shadow:inset 0 0 0 1px var(--line)}
.ab-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--c3);margin-bottom:14px}
.ab-why h3{font-family:var(--head);font-size:19px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.ab-why p{color:var(--ink-2);font-size:15px;line-height:1.5}
.ab-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.ab-cat{background:var(--card);border-radius:22px;padding:20px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:6px;transition:.2s}
.ab-cat:hover{box-shadow:inset 0 0 0 1px var(--line),var(--shadow);transform:translateY(-2px)}
.ab-cat b{font-size:16.5px}
.ab-cat span{color:var(--ink-3);font-size:14px;line-height:1.45;flex:1}
.ab-cat small{color:var(--c3);font-weight:700;font-size:13.5px}
.ab-more{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.ab-legal{background:var(--card);border-radius:22px;padding:22px;box-shadow:inset 0 0 0 1px var(--line);position:sticky;top:100px}
.ab-legal h3{font-family:var(--head);font-size:18px;font-weight:600;margin-bottom:6px}
.ab-legal p{color:var(--ink-3);font-size:14px;margin-bottom:12px}
.ab-legal ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-weight:700;font-size:14.5px}
.ab-legal a{color:var(--c3)}.ab-legal a:hover{color:var(--coral)}
@media(max-width:1000px){.ab-facts{grid-template-columns:1fr 1fr}.ab-why{grid-template-columns:1fr 1fr}.ab-more{grid-template-columns:1fr}.ab-legal{position:static}}
@media(max-width:600px){.ab-why{grid-template-columns:1fr}.ab-facts div{padding:16px}.ab-hero .cta-row .btn{flex:1 1 100%}}
html.a11y .ab-facts div,html.a11y .ab-why article,html.a11y .ab-cat,html.a11y .ab-legal{border:2px solid var(--a-fg) !important}

/* Заголовки с акцентом — градиентом целиком (раньше выделялось одно-два слова, смотрелось пёстро) */
/* единый стиль заголовков: H1 страницы и H2 разделов — градиентом, разделы одного размера */
h2.hd,.sh h2,.h2s,.book h2{font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-.03em}
@media(max-width:760px){h2.hd,.sh h2,.h2s,.book h2{font-size:26px}}
.rv h1.hd{margin-left:auto;margin-right:auto}
h1.hd,h2.hd,.ft-slogan{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;width:fit-content;max-width:100%}
.hd .grad-t{background:none;color:inherit;-webkit-text-fill-color:inherit}
.hd .h-eyebrow{-webkit-text-fill-color:currentColor}
.hero h1.hd{width:auto;background:none;color:var(--ink);-webkit-text-fill-color:currentColor}
/* первый экран: слова анимируются по отдельности, поэтому градиент кладём на каждое слово со сдвигом — вместе они дают один сплошной переход (сдвиг считает home.js) */
.hero h1 .w>span{background:var(--grad-text);background-size:var(--gw,100%) 100%;background-position:var(--gx,0) 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html.a11y .hero h1 .w>span{background:none !important;-webkit-text-fill-color:currentColor !important}
html.a11y h1.hd,html.a11y h2.hd,html.a11y .ft-slogan{background:none !important;color:inherit !important;-webkit-text-fill-color:currentColor !important}

/* ---------- документы: PDF с предпросмотром и окно просмотра ---------- */
.info-doc{max-width:900px}
.info-doc.doc-card{background:var(--card);border-radius:24px;padding:30px 34px;box-shadow:inset 0 0 0 1px var(--line)}
.info-doc h3{font-family:var(--head);font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:1.6em 0 .5em;line-height:1.3}
.info-doc h3:first-child{margin-top:0}
.info-doc p{margin:0 0 .8em}
.info-doc .doc-lead{color:var(--ink-2);font-size:17px;margin-bottom:18px}
.pdf-list{display:grid;gap:10px}
details.pdf{background:var(--card);border-radius:20px;box-shadow:inset 0 0 0 1px var(--line);margin:0 0 12px;overflow:hidden}
details.pdf>summary{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}
details.pdf>summary::-webkit-details-marker{display:none}
details.pdf>summary:hover{background:var(--hover)}
.pdf-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--pdf-soft);color:var(--coral);font-weight:800;font-size:11.5px;letter-spacing:.04em}
.pdf-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pdf-t b{font-size:15.5px;line-height:1.35;color:var(--ink);font-weight:700}
.pdf-t small{color:var(--ink-3);font-size:13px}
.pdf-hint::after{content:"Нажмите, чтобы посмотреть"}
details.pdf[open] .pdf-hint::after{content:"Предпросмотр ниже"}
details.pdf>summary .btn{flex:none;text-decoration:none}
.pdf-chev{flex:none;width:10px;height:10px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin:0 6px 4px 2px;transition:transform .2s}
details.pdf[open] .pdf-chev{transform:rotate(-135deg);margin-bottom:-4px}
details.pdf .pdf-pages{background:var(--sunk);max-height:78vh;overflow:auto;padding:14px;display:grid;gap:12px;border-top:1px solid var(--line)}
.pdf-page{position:relative;background:var(--card);box-shadow:0 2px 10px rgba(20,40,60,.08);width:100%;max-width:1000px;margin:0 auto;display:grid;place-items:center;color:var(--ink-3);font-size:13px}
.pdf-page canvas{display:block;width:100%;height:auto}
.pdf-msg{padding:18px;color:var(--ink-2);text-align:center;margin:0}
/* окно просмотра */
html.pdf-open{overflow:hidden}
dialog.pdf-dlg{padding:0;border:0;border-radius:22px;width:min(1040px,calc(100vw - 24px));height:calc(100vh - 40px);max-height:none;max-width:none;display:none;flex-direction:column;background:var(--sunk);box-shadow:0 30px 80px rgba(10,30,50,.35)}
dialog.pdf-dlg[open]{display:flex}
dialog.pdf-dlg::backdrop{background:rgba(15,30,45,.55);backdrop-filter:blur(3px)}
.pdf-dlg-head{display:flex;align-items:center;gap:14px;padding:14px 16px 14px 22px;background:var(--card);border-bottom:1px solid var(--line)}
.pdf-dlg-head b{flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdf-dlg-btns{display:flex;align-items:center;gap:8px;flex:none}
.pdf-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--soft);font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}
.pdf-x:hover{background:var(--line)}
.pdf-dlg-body{flex:1;overflow:auto;padding:16px}
.pdf-dlg-body .pdf-pages{display:grid;gap:14px}
@media(max-width:600px){
  details.pdf>summary{flex-wrap:wrap;padding:14px}
  details.pdf>summary .btn{order:3;flex:1 1 100%;text-align:center}
  .pdf-chev{display:none}
  .info-doc.doc-card{padding:20px 18px;border-radius:20px}
  dialog.pdf-dlg{width:100vw;height:100dvh;border-radius:0}
  .pdf-dlg-head{padding:10px 10px 10px 16px;flex-wrap:wrap}
  .pdf-dlg-head b{flex:1 1 calc(100% - 56px)}
  .pdf-newtab{display:none}
  .pdf-dlg-body{padding:8px}
}
html.a11y details.pdf,html.a11y .info-doc.doc-card{border:2px solid var(--a-fg) !important}
/* документ — по центру страницы */
.info-doc{margin-left:auto;margin-right:auto}
.info-doc+.back-info{max-width:900px;margin-left:auto;margin-right:auto}

/* кнопка «Наверх» — плавающая, появляется после прокрутки */
.ft-bot{grid-template-columns:1fr}
.ft-up{position:fixed;right:22px;bottom:22px;z-index:65;width:52px;height:52px;background:var(--card);color:var(--c3);box-shadow:0 10px 28px rgba(47,99,148,.28),inset 0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.ft-up.show{opacity:1;visibility:visible;transform:none}
.ft-up:hover{background:var(--c3);color:#fff}
.ft-up:focus{outline:none}
.ft-up:focus-visible{outline:3px solid var(--c3);outline-offset:3px}
@media(max-width:760px){.ft-up{right:14px;bottom:96px;width:46px;height:46px}}
@media print{.ft-up{display:none}}

/* вторая версия логотипа видна только в тёмной теме */
.logo .lg-dark{display:none}

/* ---------- Тёмная тема (экспериментально): включается в Настройках, следует теме устройства; в версии для слабовидящих не применяется ---------- */
@media (prefers-color-scheme: dark){
  html.dm:not(.a11y){
    color-scheme:dark;
    --bg:#0d1720; --card:#15212c; --soft:#1c2b38; --line:#253645;
    --ink:#e7eef4; --ink-2:#aebccb; --ink-3:#7f90a0; --text-2:#c9d5df;
    --c3:#5b9bd5; --cyan-soft:#152f3b; --coral-soft:#3a2420; --peach:#2c201b;
    --pdf-soft:#3a2521; --sunk:#0f1a24; --hover:#1a2835; --glass-rgb:21,33,44;
    --shadow:0 18px 40px -20px rgba(0,0,0,.75);
    --grad-text:linear-gradient(100deg,#8fd3f2 0%,#6fb3e6 50%,#ff9d7e 100%);
    --hero-bg:linear-gradient(165deg,#0f2330 0%,#0d1720 48%,#221818 100%);
  }
  /* логотип: версия с белой надписью */
  html.dm:not(.a11y) .logo .lg-light{display:none}
  html.dm:not(.a11y) .logo .lg-dark{display:block}
  /* фото чуть приглушаем, чтобы не слепили на тёмном */
  html.dm:not(.a11y) main img:not(.logo img){filter:brightness(.92)}
  /* белые детали на цветных плашках и кнопках остаются белыми */
  html.dm:not(.a11y) .dir.big .go,html.dm:not(.a11y) .ft-cta .btn-white{background:#fff;color:#2f6394}
  html.dm:not(.a11y) .btn-line{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
  html.dm:not(.a11y) .btn-line:hover{background:var(--soft)}
  /* поля ввода */
  html.dm:not(.a11y) input,html.dm:not(.a11y) textarea,html.dm:not(.a11y) select{color:var(--ink)}
  /* PDF-страницы остаются белыми (это бумага) */
  html.dm:not(.a11y) .pdf-page{background:#fff}
  html.dm:not(.a11y) .cookie{background:var(--card);color:var(--ink-2)}
  /* светлые градиентные подложки → тёмные */
  html.dm:not(.a11y) body.inner{background:linear-gradient(180deg,#112431 0,var(--bg) 420px) no-repeat,var(--bg)}
  html.dm:not(.a11y) .p-intro,html.dm:not(.a11y) .cta-card,html.dm:not(.a11y) .cta-strip{background:linear-gradient(160deg,#142c39 0%,#2a1f1b 100%)}
  html.dm:not(.a11y) .book{background:linear-gradient(135deg,#142c39 0%,#15212c 50%,#2a1f1b 100%)}
  html.dm:not(.a11y) .promo{background:linear-gradient(160deg,var(--card) 0%,#2a1f1b 100%)}
  html.dm:not(.a11y) .job-apply{background:linear-gradient(135deg,#142c39,#2a1f1b)}
  html.dm:not(.a11y) footer.ft{background:var(--card)}
  html.dm:not(.a11y) .ft-cta{background:linear-gradient(115deg,#2f6394 0%,#3f86b8 55%,#4aa3c9 100%)}
}

/* мобильное меню на весь экран */
html.menu-open{overflow:hidden}
html.menu-open #hdr{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
html.menu-open .m-bar,html.menu-open .ft-up,html.menu-open .hprog{display:none}
/* под открытым меню — сплошной фон на весь экран (сама карточка меню прежняя) */
html.menu-open #hdr::before{content:"";position:fixed;inset:0;background:var(--bg);z-index:-1}
html.menu-open #hdr{max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain}
.drawer.open{animation:drIn .2s ease}
@keyframes drIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
html.a11y .drawer.open{border:0 !important}

/* «Открываем запись…» — пока догружается виджет SiMed */
.simed-wait{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:12px;background:var(--card);color:var(--ink);padding:14px 22px;border-radius:999px;box-shadow:0 16px 40px rgba(18,40,59,.25),inset 0 0 0 1px var(--line);font-weight:700;font-size:15px;animation:drIn .2s ease}
.simed-wait[hidden]{display:none}
.simed-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--coral);animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.simed-wait{bottom:96px}}
.simed-wait a{color:#fff;background:var(--coral);padding:6px 14px;border-radius:999px;text-decoration:none}
.simed-wait button{border:0;background:none;font-size:22px;line-height:1;color:var(--ink-3);cursor:pointer;padding:0 0 0 4px}

/* первый экран: блок с текстом и кнопками сразу на своём слое — без перестройки посреди анимации появления */
#hContent{will-change:transform,opacity}
.hero .fade-in{will-change:opacity,transform;backface-visibility:hidden}

/* кардиограмма на первом экране: на сенсорных экранах без анимации — только бледная линия фоном */
@media (pointer: coarse){.hero #ecgLive,.hero .ecg-dot{display:none}}

/* реквизиты организации */
.info-doc ul.req{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:0;border-top:1px solid var(--line)}
.info-doc ul.req li{display:grid;grid-template-columns:260px 1fr;gap:6px 24px;padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.info-doc ul.req li::before{display:none}
.info-doc ul.req b{color:var(--ink-3);font-weight:700;font-size:14px}
.info-doc ul.req span{color:var(--ink)}
@media(max-width:700px){.info-doc ul.req li{grid-template-columns:1fr;gap:2px}}
.info-doc .note{margin-top:20px}
/* подпись разработчика */
.ft-dev{grid-column:1;margin:0;font-size:12.5px;color:var(--ink-3)}
.ft-dev a{color:var(--ink-3);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.ft-dev a:hover{color:var(--c3)}
.info-doc .note{background:var(--card);border-radius:22px;padding:22px 26px;box-shadow:inset 0 0 0 1px var(--line)}

/* ---------- 404: доктор с лупой ---------- */
.err404{text-align:center;padding-top:96px;padding-bottom:70px;max-width:900px}
.e4-scene{max-width:560px;margin:0 auto 6px}
.e4-scene svg{width:100%;height:auto;display:block;overflow:visible}
.e4-shadow{fill:var(--ink);opacity:.07}
.e4-paper{fill:var(--card);stroke:var(--line);stroke-width:2.5}
.e4-dot{fill:var(--line)}
.e4-sep{stroke:var(--line);stroke-width:2}
.e4-num{font-family:var(--head);font-size:74px;font-weight:700;letter-spacing:-3px;fill:var(--c3)}
.e4-line{fill:var(--soft)}
.e4-bubble{fill:var(--card);stroke:var(--line);stroke-width:2}
.e4-q{font-family:var(--head);font-size:24px;font-weight:700;fill:var(--coral)}
.err404 h1{font-size:clamp(28px,3.4vw,42px);margin:6px auto 12px}
.err404 .lead{max-width:600px;margin:0 auto;color:var(--ink-2)}
.e4-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 20px;text-align:left}
.e4-links a{background:var(--card);border-radius:18px;padding:16px 18px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:3px;transition:.2s}
.e4-links a:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--line),var(--shadow)}
.e4-links b{color:var(--c3);font-size:16px}
.e4-links span{color:var(--ink-3);font-size:13.5px;line-height:1.35}
.e4-cta{justify-content:center}
@media(max-width:760px){.err404{padding-top:84px;padding-bottom:40px}.e4-links{grid-template-columns:1fr 1fr}.e4-cta .btn{flex:1 1 100%}}

/* доктор — отдельная фигурка поверх страницы; маршрут задаёт assets/js/e404.js */
.err404{position:relative}
.e4-scene{max-width:430px}
.e4-walker{position:absolute;left:0;top:0;height:165px;aspect-ratio:250/336;z-index:5;pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform}
.e4-walker.on{opacity:1}
.e4-walker svg{width:100%;height:100%;display:block;overflow:visible;transform-origin:36% 100%;transition:transform .15s}
.e4-walker.left svg{transform:scaleX(-1)}
.e4-walker .e4-leg,.e4-walker .e4-arm,.e4-walker .e4-head,.e4-walker .e4-eyes,.e4-walker .e4-body,.e4-walker .e4-think{transform-box:view-box}
.e4-walker .e4-leg-f{transform-origin:172px 290px}.e4-walker .e4-leg-b{transform-origin:208px 290px}
.e4-walker .e4-arm{transform-origin:226px 196px;transition:transform .3s}
.e4-walker .e4-head{transform-origin:190px 164px}
.e4-walker .e4-eyes{transform-origin:190px 112px;animation:e4blink 4s linear infinite}
.e4-walker .e4-think{transform-origin:240px 76px;opacity:0;transform:scale(.6);transition:opacity .35s,transform .35s}
/* идёт: ноги шагают, тело покачивается, лупа опущена */
.e4-walker.walk .e4-leg-f{animation:e4step .34s ease-in-out infinite alternate}
.e4-walker.walk .e4-leg-b{animation:e4step .34s ease-in-out infinite alternate-reverse}
.e4-walker.walk .e4-body{animation:e4bob .34s ease-in-out infinite alternate}
.e4-walker.walk .e4-arm{transform:rotate(-16deg)}
/* прыжок: ноги поджаты */
.e4-walker.jump .e4-leg-f{transform:rotate(-24deg)}.e4-walker.jump .e4-leg-b{transform:rotate(18deg)}
.e4-walker.jump .e4-arm{transform:rotate(-30deg)}
/* осматривает лупой */
.e4-walker.scan .e4-arm{animation:e4scan 2.4s ease-in-out infinite}
.e4-walker.scan .e4-head{animation:e4tilt 2.4s ease-in-out infinite}
.e4-walker.think .e4-think{opacity:1;transform:none}
.e4-walker.think .e4-brows{transform:translateY(-5px)}
.e4-walker .e4-brows{transition:transform .3s}
/* толкает слово */
.e4-walker.push .e4-arm{transform:rotate(-8deg) translateX(10px)}
.e4-walker.push .e4-body{transform:rotate(6deg);transform-origin:190px 340px}
@keyframes e4step{from{transform:rotate(-20deg)}to{transform:rotate(20deg)}}
@keyframes e4bob{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@keyframes e4scan{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(18deg)}}
@keyframes e4tilt{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}
@keyframes e4blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}
.e4-title .e4-w{display:inline-block}
@media(max-width:760px){.e4-walker{height:112px}.e4-scene{max-width:320px}}
@media (prefers-reduced-motion:reduce){.e4-walker *{animation:none !important;transition:none !important}}
html.a11y .e4-scene,html.a11y .e4-walker{display:none}
/* пасхалка 404: таблетка из кармана доктора (игра — assets/js/pill-game.js, грузится по клику) */
.e4-pill{position:absolute;left:0;top:0;width:28px;height:12px;padding:0;border:0;background:none;cursor:pointer;z-index:6;-webkit-tap-highlight-color:transparent}
.e4-pill::before{content:"";position:absolute;inset:-14px -10px}
.e4-pill svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px rgba(18,40,59,.18));animation:e4pill 6s 3s ease-in-out infinite}
.e4-pill:hover svg,.e4-pill:focus-visible svg{animation:e4pillh .5s ease-in-out infinite alternate}
.e4-pill:focus-visible{outline:2px solid var(--coral);outline-offset:6px;border-radius:8px}
@keyframes e4pill{0%,86%,100%{transform:none}89%{transform:translateY(-5px) rotate(-12deg)}92%{transform:none}95%{transform:translateY(-2px) rotate(6deg)}}
@keyframes e4pillh{from{transform:rotate(-10deg) scale(1.1)}to{transform:rotate(10deg) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.e4-pill svg{animation:none !important}}
html.a11y .e4-pill{display:none}
/* «Перезвоните мне» — окно на основе .popup */
.cb-dlg{max-width:430px}
.cb-dlg h2{font-size:28px;margin:0 0 8px}
.cb-lead{color:var(--ink-2);margin:0 0 18px}
.cb-form{display:grid;gap:14px}
.cb-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.cb-form input[name=name],.cb-form input[type=tel]{font:inherit;font-size:17px;padding:13px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.cb-form input[name=name]:focus,.cb-form input[type=tel]:focus{outline:none;border-color:#3ea6c9;background:var(--card)}
.cb-form .cb-chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:13.5px;line-height:1.4}
.cb-form .cb-chk input{width:18px;height:18px;margin-top:1px;flex:none}
.cb-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cb-err{margin:0;color:#d4502c;font-size:14px;font-weight:600}
.cb-send{width:100%;justify-content:center}
.cb-done{text-align:center}
.cb-done .cb-msg{color:var(--ink-2);margin:0 0 20px}
.cb-ok{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:var(--coral-soft);color:var(--coral)}
.cb-form .cb-chk a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ===== онлайн-запись (assets/js/booking.js) ===== */
.bk-dlg{max-width:640px;height:min(760px,calc(100vh - 32px));display:none;flex-direction:column}
.bk-dlg[open]{display:flex}
.bk-top{display:flex;align-items:center;gap:10px;padding:14px 62px 10px 18px;border-bottom:1px solid var(--line);min-height:62px;position:relative}
.bk-top .popup-x{top:11px}
.bk-back{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.bk-back svg,.bk-search svg,.bk-near svg,.bk-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.bk-steps{display:flex;gap:6px;list-style:none;margin:0;padding:0;counter-reset:bk;flex:1}
.bk-steps li{counter-increment:bk;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-3)}
.bk-steps li::before{content:counter(bk);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-size:12px}
.bk-steps li+li::after{content:none}
.bk-steps li.st-on{color:var(--ink)} .bk-steps li.st-on::before{background:var(--coral);color:#fff}
.bk-steps li.st-done::before{content:"✓";background:#d6f0e2;color:#1f7a4d}
.bk-body{flex:1;overflow-y:auto;padding:18px 22px 0;display:flex;flex-direction:column}
.bk-h{font-size:24px;margin:0 0 14px;line-height:1.2}
.bk-h3{font-size:15px;margin:18px 0 8px;color:var(--ink-2)}
.bk-load,.bk-fail,.bk-empty{padding:30px 6px;text-align:center;color:var(--ink-2)}
.bk-fail .btn,.bk-empty .btn{margin-top:10px}
.bk-search{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:14px;padding:0 14px;background:var(--bg)}
.bk-search:focus-within{border-color:#3ea6c9;background:var(--card)}
.bk-search svg{color:var(--ink-3)}
.bk-search input{flex:1;border:0;background:none;font:inherit;font-size:16px;padding:13px 0;color:var(--ink);outline:none;min-width:0}
.bk-chips{display:flex;gap:6px;overflow-x:auto;padding:12px 0 6px;scrollbar-width:none}
.bk-chips::-webkit-scrollbar{display:none}
.bk-chips button{flex:none;font:inherit;font-size:13.5px;font-weight:600;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:6px 13px;cursor:pointer}
.bk-chips button.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.bk-list{display:grid;gap:8px;padding:6px 0 4px}
.bk-doc{display:flex;gap:12px;align-items:center;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:10px 14px 10px 10px;cursor:pointer}
.bk-doc:hover{border-color:#3ea6c9;box-shadow:0 10px 24px -16px rgba(47,99,148,.5)}
.bk-ph{width:56px;height:56px;border-radius:16px;overflow:hidden;background:var(--soft);color:var(--c3);display:grid;place-items:center;font-weight:800;flex:none}
.bk-ph.sm{width:44px;height:44px;border-radius:12px}
.bk-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.bk-doc-m{flex:1;min-width:0;display:grid;gap:2px}
.bk-doc-m b{font-size:15.5px;line-height:1.25} .bk-doc-m small{color:var(--ink-2);font-size:13px}
.bk-near{display:inline-flex;gap:5px;align-items:center;font-size:13px;font-weight:600;color:#1f7a4d}
.bk-near.none{color:var(--ink-3);font-weight:500}
.bk-price{font-weight:700;font-size:14px;white-space:nowrap;color:var(--ink-2)}
.bk-help{color:var(--ink-3);font-size:13.5px;text-align:center;margin:12px 0 16px}
.bk-link{font:inherit;border:0;background:none;color:#2f86b4;text-decoration:underline;cursor:pointer;padding:0}
.bk-sel,.bk-card{display:flex;gap:12px;align-items:center;background:var(--soft);border-radius:16px;padding:10px 12px}
.bk-sel > div,.bk-card > div{flex:1;min-width:0} .bk-sel b,.bk-card b{display:block;font-size:15px} .bk-sel small,.bk-card small{display:block;color:var(--ink-2);font-size:13px}
.bk-card.big{background:var(--card);border:1.5px solid var(--line);text-align:left;margin:4px 0 14px}
.bk-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:12px}
.bk-svc label{border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;display:flex}
.bk-svc label.on{border-color:var(--coral);background:var(--coral-soft)}
.bk-svc input{position:absolute;opacity:0} .bk-svc b{display:block;font-size:14.5px} .bk-svc small{color:var(--ink-2)}
.bk-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.bk-days button{flex:none;width:64px;font:inherit;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:16px;padding:8px 4px;cursor:pointer;display:grid;gap:1px;justify-items:center}
.bk-days button small{font-size:12px;color:var(--ink-3)} .bk-days button b{font-size:20px} .bk-days button i{font-style:normal;font-size:11px;color:#1f7a4d}
.bk-days button:disabled{opacity:.4;cursor:default} .bk-days button:disabled i{color:var(--ink-3)}
.bk-days button.on{border-color:var(--coral);background:var(--coral);color:#fff} .bk-days button.on small,.bk-days button.on i{color:#fff}
.bk-part{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;margin-bottom:8px}
.bk-part > span{font-size:13px;color:var(--ink-3);padding-top:9px}
.bk-times{display:flex;flex-wrap:wrap;gap:6px}
.bk-times button{font:inherit;font-size:15px;font-weight:600;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:8px 12px;cursor:pointer;min-width:68px}
.bk-times button:hover{border-color:#3ea6c9} .bk-times button.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.bk-foot{position:sticky;bottom:0;margin:auto -22px 0;padding:12px 22px 16px;background:linear-gradient(transparent,var(--card) 18%);display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);background:var(--card)}
.bk-sum{flex:1;min-width:0} .bk-sum b{display:block} .bk-sum small{color:var(--ink-2);font-size:13px}
.bk-foot .btn:disabled{opacity:.45;cursor:default}
.bk-form{display:grid;gap:12px;margin-top:14px}
.bk-form label{display:grid;gap:5px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.bk-form input:not([type=radio]):not([type=checkbox]),.bk-form textarea{font:inherit;font-size:16px;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);width:100%;min-width:0}
.bk-form input:focus,.bk-form textarea:focus{outline:none;border-color:#3ea6c9;background:var(--card)}
.bk-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px} .bk-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bk-seg{display:grid;grid-template-columns:1fr 1fr;background:var(--soft);border-radius:999px;padding:4px}
.bk-seg label{display:block;text-align:center;border-radius:999px;padding:8px;cursor:pointer;font-size:14px;color:var(--ink-2)}
.bk-seg label.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(18,40,59,.12)}
.bk-seg input{position:absolute;opacity:0}
.bk-cap{margin:2px 0 -4px;font-size:13px;color:var(--ink-3)}
.bk-more summary{cursor:pointer;color:#2f86b4;font-size:14px;font-weight:600}
.bk-more textarea{margin-top:8px}
.bk-chk{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;font-size:13.5px}
.bk-chk input{width:18px;height:18px;margin-top:1px;flex:none}
.bk-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bk-err{background:var(--coral-soft);color:#a8391c;border-radius:12px;padding:10px 13px;margin:12px 0 0;font-size:14px}
.bk-done{text-align:center;padding:10px 0 20px}
.bk-okic{width:64px;height:64px;border-radius:50%;background:#d6f0e2;color:#1f7a4d;display:grid;place-items:center;margin:8px auto 10px}
.bk-okic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.bk-tips{text-align:left;color:var(--ink-2);font-size:14.5px;padding-left:20px;margin:0 0 16px;display:grid;gap:4px}
.bk-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bk-actions .btn{display:inline-flex;gap:8px;align-items:center}
@media(max-width:760px){
  .bk-dlg{width:100%;max-width:none;height:100%;max-height:100%;margin:0;border-radius:0}
  .bk-body{padding:14px 16px 0} .bk-foot{margin:auto -16px 0;padding:10px 16px 14px}
  .bk-h{font-size:21px} .bk-steps li{font-size:0;gap:0} .bk-steps li.st-on{font-size:13.5px;gap:6px}
  .bk-row3{grid-template-columns:1fr 1fr} .bk-row3 label:last-child{grid-column:1/-1}
  .bk-price{display:none} .bk-ph{width:50px;height:50px}
}
.bk-dlg [hidden]{display:none!important}
.bk-body>*{flex-shrink:0}
.bk-done{margin:auto 0}
.bk-mode{margin-top:12px}
.bk-lead{margin:2px 0 0;color:var(--ink-2);font-size:14.5px}
.bk-form .bk-code{font-size:26px!important;letter-spacing:.5em;text-align:center;max-width:220px}
.bk-pats{display:grid;gap:8px}
.bk-pats label{display:flex!important;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:16px;padding:10px 12px;cursor:pointer;color:var(--ink)!important}
.bk-pats label.on{border-color:var(--coral);background:var(--coral-soft)}
.bk-pats input{position:absolute;opacity:0}
.bk-pats b{display:block;font-size:15px} .bk-pats small{display:block;color:var(--ink-2);font-weight:500}
.bk-pav{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#52bcdc,#2f6394);color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
.bk-pnew{font:inherit;font-size:14px;font-weight:600;color:#2f86b4;background:none;border:1.5px dashed var(--line);border-radius:16px;padding:10px;cursor:pointer}
.bk-pre{background:var(--cyan-soft);color:var(--c3);border-radius:12px;padding:10px 13px;font-size:14px;margin:14px 0 0}
.bk-okic.bk-wait{background:var(--cyan-soft);color:var(--c3)} .bk-okic.bk-wait svg{stroke-width:2}
.pay-res{max-width:640px;margin:60px auto;text-align:center;background:var(--card);border-radius:28px;padding:40px 28px;box-shadow:var(--shadow)}
.pay-ic{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-size:34px;font-weight:800;background:var(--cyan-soft);color:var(--c3)}
.pay-res.succeeded .pay-ic{background:#d6f0e2;color:#1f7a4d} .pay-res.canceled .pay-ic,.pay-res.unknown .pay-ic{background:var(--coral-soft);color:#a8391c}
.pay-res .lead{font-size:19px;font-weight:700}
/* ===== страницы специальностей ===== */
.sp-docs{margin-top:8px}
.sp-list{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.sp-list li{position:relative;padding:12px 14px 12px 42px;background:var(--card);border:1px solid var(--line);border-radius:16px;font-size:15.5px;line-height:1.4}
.sp-list li::before{content:"";position:absolute;left:14px;top:14px;width:18px;height:18px;border-radius:50%;background:var(--cyan-soft);
  box-shadow:inset 0 0 0 5px var(--cyan-soft),inset 0 0 0 9px #52bcdc}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chips a{text-decoration:none;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;font-size:15px}
.sp-chips a:hover{border-color:#3ea6c9;color:var(--c3)}
.sp-top{margin:0 0 22px}
.sp-top a{font-size:14px;padding:7px 13px}
.sp-more{margin:44px 0 8px}
.sp-more h2{font-size:22px;margin:0 0 14px}
.sp-more .sp-chips a{font-size:14px;padding:7px 13px}
/* загрузка в виджете записи */
.bk-load{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 6px 20px}
.bk-load.sm{padding:18px 6px 8px}
.bk-ecg{width:150px;height:42px;overflow:visible}
.bk-load.sm .bk-ecg{width:110px;height:30px}
.bk-ecg path{fill:none;stroke:url(#bkg);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;stroke-dashoffset:240;animation:bkEcg 1.6s cubic-bezier(.6,.1,.3,1) infinite;filter:drop-shadow(0 3px 6px rgba(62,166,201,.35))}
@keyframes bkEcg{0%{stroke-dashoffset:240;opacity:1}55%{stroke-dashoffset:0;opacity:1}85%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:240;opacity:0}}
.bk-load span{font-size:14px;font-weight:600;color:var(--ink-2)}
.bk-load span i{font-style:normal;animation:bkDot 1.2s infinite}.bk-load span i:nth-child(2){animation-delay:.2s}.bk-load span i:nth-child(3){animation-delay:.4s}
@keyframes bkDot{0%,60%,100%{opacity:.2}30%{opacity:1}}
.bk-skel{width:100%;display:grid;gap:10px;margin-top:14px}
.bk-skel b{display:block;height:64px;border-radius:16px;background:linear-gradient(90deg,var(--soft) 0%,var(--card) 45%,var(--soft) 90%);background-size:220% 100%;animation:bkShim 1.3s ease-in-out infinite}
.bk-skel b:nth-child(2){animation-delay:.15s;opacity:.75}.bk-skel b:nth-child(3){animation-delay:.3s;opacity:.5}
@keyframes bkShim{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.bk-ecg path{animation:none;stroke-dashoffset:0}.bk-skel b,.bk-load span i{animation:none}}
