@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Onest:wght@300;400;500;600;700&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{
 --brand:#002E5D;--brand2:#0F4275;--on-brand:#fff;--on-brand-dim:rgba(255,255,255,.62);--on-brand-faint:rgba(255,255,255,.14);
 --label:#2E6DA8;--sky:#6CACE4;--brand-ink:#002E5D;--accent-soft:#EAF3FB;--accent-soft2:#D6E8F7;
 --dark:#002E5D;--text:#20303F;--text-dim:#5E7186;--bg:#F5F9FD;--white:#fff;--border:#DBE6F1;
 --head:'Manrope',sans-serif;--body:'Onest',sans-serif;
}
:root[data-theme="sky"]{
 --brand:#6CACE4;--brand2:#57A0DE;--on-brand:#002E5D;--on-brand-dim:rgba(0,46,93,.62);--on-brand-faint:rgba(0,46,93,.12);
 --label:#0F4275;--sky:#002E5D;--brand-ink:#2E6DA8;--accent-soft:#EAF3FB;--accent-soft2:#D6E8F7;
 --dark:#002E5D;--text:#20303F;--text-dim:#5E7186;--bg:#F6FAFE;--white:#fff;--border:#D6E8F7;
}
html{scroll-behavior:smooth;}
body{font-family:var(--body);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;}
::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:var(--accent-soft);}::-webkit-scrollbar-thumb{background:var(--accent-soft2);}::-webkit-scrollbar-thumb:hover{background:var(--brand);}
img{max-width:100%;height:auto;}

/* Кнопка звонка в шапке — видна только на узких экранах */
.nav-call{display:none;align-items:center;justify-content:center;width:42px;height:42px;
border-radius:8px;background:var(--brand);color:var(--on-brand);flex:0 0 auto;}
.nav-call:active{opacity:.85;}

/* ---- loader ---- */
#loader{position:fixed;inset:0;background:var(--white);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;}
.logo-anim{width:min(340px,66vw);height:auto;display:block;}
.l-sub{font-family:var(--head);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);opacity:0;animation:fadeUp 0.6s 1.6s forwards;}
.l-bar{width:130px;height:2px;background:var(--border);border-radius:2px;overflow:hidden;}
.l-fill{height:2px;background:var(--sky);width:0;animation:lbar 1.9s 0.3s ease forwards;}
@keyframes lbar{to{width:100%;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
#prog{position:fixed;top:0;left:0;height:3px;background:var(--brand);z-index:200;width:0;transition:width 0.1s;}
/* ---- theme switch ---- */
.theme-switch{position:fixed;right:18px;bottom:18px;z-index:150;display:flex;background:var(--white);border:1px solid var(--border);border-radius:20px;padding:4px;box-shadow:0 8px 30px rgba(0,46,93,.12);gap:2px;}
.theme-switch button{font-family:var(--head);border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 14px;border-radius:20px;cursor:pointer;transition:.25s;}
.theme-switch button.on{background:var(--brand);color:var(--on-brand);}
/* ---- nav ---- */
nav{position:fixed;top:0;width:100%;z-index:100;padding:14px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,0.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all 0.3s;}
nav.scrolled{padding:10px 44px;box-shadow:0 2px 18px rgba(0,46,93,0.07);}
.logo{display:inline-flex;align-items:center;flex-shrink:0;}
.logo img{height:27px;width:auto;display:block;transition:height 0.3s;flex-shrink:0;}
nav.scrolled .logo img{height:24px;}
nav ul{list-style:none;display:flex;gap:22px;flex-wrap:nowrap;}
nav ul a{white-space:nowrap;}
nav ul a{font-family:var(--head);color:var(--text-dim);text-decoration:none;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;transition:color 0.3s;position:relative;}
nav ul a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--brand);transition:width 0.3s;border-radius:1px;}
nav ul a:hover{color:var(--brand-ink);}nav ul a:hover::after{width:100%;}
nav ul a.active{color:var(--brand-ink);}nav ul a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:18px;}
.nav-phone{font-family:var(--head);font-size:14px;font-weight:700;color:var(--brand-ink);text-decoration:none;}
.nav-btn{font-family:var(--head);background:var(--brand);border:none;color:var(--on-brand);padding:10px 22px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;font-weight:700;border-radius:4px;text-decoration:none;display:inline-block;}
.nav-btn:hover{background:var(--brand2);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,46,93,.2);}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px;}
.burger span{width:24px;height:2px;background:var(--brand);display:block;border-radius:2px;transition:.3s;}
/* ---- hero ---- */
.first-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
/* Для тех, кто боится лечиться, врачи и отзывы важнее остальных блоков */
.doctors,.reviews{padding-top:120px;}
.doctors .stitle,.reviews .stitle{font-size:44px;}
.first-screen .hero{flex:1;min-height:0;}
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(88px,11vh,116px) 60px clamp(24px,3vh,40px);background:var(--white);}
.hero-img{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:clamp(290px,50vh,540px);margin-bottom:34px;overflow:hidden;flex:0 0 auto;}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;}
/* карусель фона: кадры лежат друг на друге, виден тот, что с классом on */
.hero-img img.hs{position:absolute;left:0;top:0;opacity:0;transition:opacity 1.4s ease;}
.hero-img img.hs.on{opacity:1;}
@media(prefers-reduced-motion:reduce){.hero-img img.hs{transition:none;}}
.hero-img::before{display:none;}
.hero-img::after{content:'';position:absolute;left:0;right:0;bottom:0;height:30%;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.4) 58%,var(--white) 100%);}
.hero-content{position:relative;z-index:2;max-width:none;display:flex;align-items:flex-start;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.hero-col-l{flex:1 1 520px;min-width:0;}
.hero-col-r{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
.hero-rating{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);padding:8px 15px;font-family:var(--head);font-size:12px;font-weight:600;color:var(--brand-ink);margin-bottom:24px;border-radius:4px;border:1px solid var(--accent-soft2);}
.hero-rating .star{color:var(--sky);}.hero-rating b{font-weight:800;}
.hero h1{font-family:var(--head);font-size:56px;line-height:1.06;font-weight:800;margin-bottom:22px;color:var(--brand);letter-spacing:-1.4px;}
.hero h1 b{color:var(--sky);font-weight:800;}
.hero p{font-size:16px;line-height:1.8;color:var(--text-dim);margin-bottom:0;font-weight:400;max-width:520px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.btn-ink{font-family:var(--head);background:var(--brand);border:none;color:var(--on-brand);padding:15px 34px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;border-radius:4px;text-decoration:none;display:inline-block;}
.btn-ink:hover{background:var(--brand2);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,46,93,0.22);}
.btn-out{font-family:var(--head);background:transparent;border:2px solid var(--border);color:var(--text-dim);padding:13px 26px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;font-weight:600;border-radius:4px;text-decoration:none;display:inline-block;}
.btn-out:hover{border-color:var(--brand-ink);color:var(--brand-ink);}
.hero-stats{display:flex;gap:14px;margin-top:0;flex-wrap:wrap;}
.hero-stats>div{background:var(--white);padding:16px 24px;border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 18px rgba(0,46,93,0.06);border-top:3px solid var(--brand);text-align:center;}
.stat-num{position:relative;font-family:var(--head);font-size:40px;font-weight:800;color:var(--brand-ink);line-height:1;}
.stat-ghost{visibility:hidden;}
.stat-live{position:absolute;left:0;top:0;}
.stat-lbl{font-family:var(--head);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-top:6px;font-weight:600;}
/* ---- reveal ---- */
.rv,.rv-l,.rv-r{opacity:1;}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.js .rv.on{opacity:1;transform:none;}
.js .rv-l{opacity:0;transform:translateX(-26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.js .rv-l.on{opacity:1;transform:none;}
.js .rv-r{opacity:0;transform:translateX(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.js .rv-r.on{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){.g-track{animation:none!important;}.logo-anim *{animation:none!important;}.l-fill{animation:none!important;width:100%!important;}.rv,.rv-l,.rv-r,.js .rv,.js .rv-l,.js .rv-r{opacity:1!important;transform:none!important;transition:none!important;}*{transition-duration:.001s!important;}}
a.svc{text-decoration:none;color:inherit;display:block;}
/* ---- sections ---- */
section{padding:96px 60px;}
section:not(.hero)>*{max-width:1360px;margin-left:auto;margin-right:auto;}
.hero>.hero-content{max-width:none;}
.stag{font-family:var(--head);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--label);font-weight:700;margin-bottom:10px;}
.stitle{font-family:var(--head);font-size:40px;font-weight:800;line-height:1.14;margin-bottom:0;color:var(--dark);letter-spacing:-0.8px;}
.stitle b{color:var(--brand-ink);font-weight:800;}
.ssub{color:var(--text-dim);font-size:16px;line-height:1.8;max-width:480px;font-weight:400;}
.bline{width:44px;height:3px;background:var(--brand);margin:14px 0;border-radius:2px;}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px;}
.more-link{font-family:var(--head);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand-ink);text-decoration:none;font-weight:700;border-bottom:2px solid var(--accent-soft2);padding-bottom:5px;transition:border-color .3s;white-space:nowrap;}
.more-link:hover{border-color:var(--brand-ink);}
/* ---- page hero ---- */
.page-hero{padding:140px 60px 54px;background:var(--white);border-bottom:1px solid var(--border);}
.crumbs{font-family:var(--head);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:20px;font-weight:600;}
.crumbs a{color:var(--text-dim);text-decoration:none;}.crumbs a:hover{color:var(--brand-ink);}
.crumbs span{margin:0 8px;opacity:.5;}
.page-hero + section{padding-top:44px;}
.page-hero + section > *:first-child{margin-top:0;}
.page-hero h1{font-family:var(--head);font-size:56px;font-weight:800;color:var(--dark);letter-spacing:-1.2px;line-height:1.08;}
.page-hero h1 b{color:var(--brand-ink);}
.h1-logo{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.32em;}
.h1-logo img{height:.84em;width:auto;position:relative;top:.13em;}
.page-hero p{color:var(--text-dim);font-size:16px;max-width:580px;margin-top:16px;font-weight:400;line-height:1.8;}
.page-hero p a{color:var(--brand-ink);text-decoration:none;border-bottom:1px solid var(--accent-soft2);transition:border-color .3s;}
.page-hero p a:hover{border-bottom-color:var(--brand-ink);}
/* ---- trust ---- */
.trust{background:var(--brand);padding:18px 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px 20px;align-items:start;}
.trust .ti{padding:0;}
.trust .ti:first-child{padding-left:0;}
.trust .ti:last-child{padding-right:0;}


.ti{display:flex;align-items:center;gap:12px;}
.ti-ico{width:40px;height:40px;background:var(--on-brand-faint);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--on-brand);flex-shrink:0;}
.ti-lbl{font-family:var(--head);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--on-brand-dim);margin-bottom:3px;font-weight:600;}
.ti-val{font-size:14px;color:var(--on-brand);font-weight:500;}
.tdiv,.adiv{display:none;}
/* ---- services ---- */
.services{background:var(--bg);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px;}
.svc{background:var(--white);padding:34px 30px;position:relative;overflow:hidden;transition:all 0.3s;border:1px solid var(--border);border-radius:8px;border-top:3px solid transparent;}
.svc:hover{border-top-color:var(--brand-ink);transform:translateY(-4px);box-shadow:0 14px 38px rgba(0,46,93,0.1);}
.svc-n{font-family:var(--head);font-size:40px;font-weight:800;color:var(--accent-soft);position:absolute;top:14px;right:20px;}
.svc-ico{width:46px;height:46px;background:var(--accent-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--brand-ink);margin-bottom:18px;}
.svc h3{font-family:var(--head);font-size:18px;font-weight:700;margin-bottom:9px;color:var(--dark);}
.svc p{color:var(--text-dim);font-size:14px;line-height:1.7;margin-bottom:16px;font-weight:400;}
.svc-price{font-family:var(--head);color:var(--brand-ink);font-size:14px;font-weight:700;}
/* ---- doctors ---- */
.doctors{background:var(--white);}
.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:52px;}
.doc-sep{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:16px 0 0;}
.doc-sep.first{margin-top:0;}
.doc-sep span{font-family:var(--head);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--label);font-weight:700;white-space:nowrap;}
.doc-sep::after{content:"";flex:1;height:1px;background:var(--border);}
.doc-card{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;transition:all 0.3s;}
.doc-card:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(0,46,93,0.1);border-color:var(--sky);}
.doc-side{position:relative;}
.doc-ph{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:3/3.6;background:var(--accent-soft);}
.doc-ph img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.doc-lbl{position:absolute;left:8px;bottom:8px;background:rgba(0,46,93,.9);color:#fff;font-family:var(--head);font-size:10px;font-weight:700;letter-spacing:.6px;padding:5px 10px;border-radius:20px;}
.doc-in{display:flex;flex-direction:column;gap:8px;padding:4px 2px;}
.doc-name{font-family:var(--head);font-size:16px;font-weight:800;color:var(--dark);line-height:1.2;}
.doc-meta{display:flex;gap:6px;flex-wrap:wrap;}
.doc-chip{font-family:var(--head);background:var(--accent-soft);color:var(--brand-ink);font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;}
.doc-chip.green{background:#E6F7ED;color:#127A46;}
.doc-rev{margin-top:auto;}
.doc-rev-stars{color:var(--label);font-size:12px;letter-spacing:2px;margin-bottom:6px;}
.doc-rev-text{font-size:12px;color:var(--text-dim);line-height:1.6;font-style:italic;}
.doc-rev-date{font-family:var(--head);font-size:12px;color:var(--brand-ink);margin-top:7px;font-weight:600;}
/* ---- doctor profile ---- */
.profile{display:grid;grid-template-columns:340px 1fr;gap:52px;align-items:start;}
.profile-photo{border-radius:8px;overflow:hidden;border:1px solid var(--border);position:sticky;top:100px;box-shadow:0 14px 40px rgba(0,46,93,.08);}
.profile-photo img{width:100%;display:block;aspect-ratio:3/3.4;object-fit:cover;object-position:top;}
.profile h2{font-family:var(--head);font-size:24px;color:var(--dark);font-weight:800;margin:28px 0 12px;letter-spacing:-.4px;}
.profile p{color:var(--text-dim);font-size:16px;line-height:1.9;font-weight:400;margin-bottom:12px;}
.profile ul{list-style:none;margin:6px 0 18px;}
.profile li{position:relative;padding-left:22px;color:var(--text);font-size:14px;line-height:1.9;font-weight:400;}
.profile li::before{content:'';position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:var(--sky);}
.pf-meta{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 22px;}
/* ---- gallery ---- */
.gallery{background:var(--bg);padding:96px 0;}
.gallery-hdr{padding:0 60px;margin-bottom:44px;}
.g-wrap{overflow:hidden;position:relative;}
.g-wrap::before,.g-wrap::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;}
.g-wrap::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
.g-wrap::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent);}
.g-track{display:flex;gap:0;padding:0!important;animation:marquee 34s linear infinite;width:max-content;}
@media (hover:hover) and (pointer:fine){.g-track:hover{animation-play-state:paused;}}
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.g-photo{flex:0 0 300px;height:210px;overflow:hidden;position:relative;border-radius:8px;margin-right:12px;background:#E4ECF4;}
.g-photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s;}
.g-photo:hover img{transform:scale(1.06);}
.g-lbl{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,26,56,0.85));padding:18px 14px 12px;font-family:var(--head);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:white;font-weight:600;transform:translateY(100%);transition:transform 0.35s;}
.g-photo:hover .g-lbl{transform:translateY(0);}
/* ---- reviews ---- */
.reviews{background:var(--white);}
.rev-slider{position:relative;margin-top:52px;}
.rev-track{display:flex;align-items:stretch;gap:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:14px 4px;margin:-14px -4px;scrollbar-width:none;}
.rev-track::-webkit-scrollbar{display:none;}
.rev-track>.rev{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start;margin-top:0;}
.rev-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--brand-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(0,46,93,.12);transition:all .25s;display:flex;align-items:center;justify-content:center;padding-bottom:3px;}
.rev-nav:hover{background:var(--brand);color:var(--on-brand);border-color:var(--brand);}
.rev-nav:focus-visible{outline:3px solid var(--sky);outline-offset:2px;}
.rev-nav[disabled]{opacity:0;pointer-events:none;}
.rev-nav.prev{left:-22px;}
.rev-nav.next{right:-22px;}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px;}
.rev{background:var(--bg);padding:28px;border:1px solid var(--border);border-radius:8px;transition:all 0.3s;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.rev::before{content:'\201C';position:absolute;top:-6px;right:14px;font-family:var(--head);font-size:78px;font-weight:800;color:var(--accent-soft);line-height:1;}
.rev:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,46,93,0.08);}
.rev-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.rev-stars{color:var(--sky);font-size:14px;letter-spacing:2px;}
.rev-ya{font-family:var(--head);font-size:10px;font-weight:700;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;}
.rev-text{color:var(--text-dim);font-size:14px;line-height:1.8;margin-bottom:18px;font-style:italic;position:relative;z-index:1;}
.rev-person{margin-top:auto;}
.rev-person{display:flex;align-items:center;gap:11px;padding-top:16px;border-top:1px solid var(--border);}
.rev-ava{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);border:2px solid var(--accent-soft2);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--brand-ink);font-family:var(--head);flex-shrink:0;}
.rev-name{font-family:var(--head);font-size:14px;font-weight:700;color:var(--dark);}
.rev-date{font-size:12px;color:var(--text-dim);margin-top:1px;}
/* ---- cases ---- */
.cases{background:var(--bg);}
.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:52px;}
.case-card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .3s;}
.case-card:hover{border-color:var(--sky);box-shadow:0 14px 38px rgba(0,46,93,.09);transform:translateY(-3px);}
.ba{position:relative;aspect-ratio:16/11;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:none;background:var(--accent-soft);}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ba .before{filter:grayscale(1) brightness(.82) contrast(1.04);clip-path:inset(0 calc(100% - var(--x,50%)) 0 0);}
.ba-line{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.12);}
.ba-handle{position:absolute;top:50%;left:var(--x,50%);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--brand-ink);box-shadow:0 6px 20px rgba(0,46,93,.2);pointer-events:none;}
.ba-tag{position:absolute;top:14px;font-family:var(--head);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#fff;background:rgba(0,26,56,.55);padding:5px 11px;border-radius:3px;}
.ba-tag.b{left:14px;}.ba-tag.a{right:14px;}
.case-body{padding:22px 24px;}
.case-name{font-family:var(--head);font-size:18px;font-weight:800;color:var(--dark);letter-spacing:-.3px;}
.case-meta{font-size:12px;color:var(--text-dim);margin-top:5px;}
.case-note{font-size:12px;color:var(--text-dim);margin-top:14px;font-style:italic;opacity:.75;}
/* ---- about ---- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.about-grid img{width:100%;height:auto;border-radius:8px;box-shadow:0 16px 44px rgba(0,46,93,.1);}
.about-text p{color:var(--text-dim);font-size:16px;line-height:1.95;font-weight:400;margin-bottom:16px;}
.about-text p b{color:var(--brand-ink);font-weight:600;}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px;}
.val{background:var(--white);padding:32px 28px;border:1px solid var(--border);border-radius:8px;transition:.3s;}
.val:hover{transform:translateY(-4px);box-shadow:0 14px 38px rgba(0,46,93,.09);}
.val-ico{width:48px;height:48px;background:var(--accent-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--brand-ink);margin-bottom:18px;}
.val h3{font-family:var(--head);font-size:18px;font-weight:700;color:var(--dark);margin-bottom:10px;}
.val p{color:var(--text-dim);font-size:14px;line-height:1.75;font-weight:400;}
/* ---- price ---- */
section .price-block,section .price-note{max-width:1000px;margin-left:auto;margin-right:auto;}
.price-cat{font-family:var(--head);font-size:24px;color:var(--dark);font-weight:800;margin:44px 0 4px;letter-spacing:-.4px;}
.price-table{width:100%;border-collapse:collapse;}
.price-table td{padding:15px 4px;border-bottom:1px solid var(--border);font-weight:400;font-size:14px;vertical-align:top;}
.price-table td.p{text-align:right;color:var(--brand-ink);font-family:var(--head);font-weight:700;white-space:nowrap;font-size:14px;}
.ceny-top{padding-top:34px;}
.price-note{background:var(--accent-soft);border:1px solid var(--accent-soft2);border-radius:8px;padding:26px 30px;margin:0 0 18px;color:var(--text-dim);font-size:14px;line-height:1.85;font-weight:400;}
.price-note b{color:var(--brand-ink);font-weight:600;}
/* ---- booking ---- */
.booking{padding:56px 60px;position:relative;color:var(--on-brand);background:radial-gradient(circle 240px at 120px 120px,var(--on-brand-faint) 0 240px,transparent 240px),var(--brand);}
.bk-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.bk-left .stag{color:rgba(255,255,255,.88);font-size:12px;letter-spacing:2.6px;}
.bk-left .stitle{color:var(--on-brand);}
.bk-left .stitle b{color:var(--sky);}
.bk-left .bline{background:var(--on-brand);opacity:.5;}
.bk-left>p{color:var(--on-brand-dim);font-size:16px;line-height:1.8;margin-top:12px;font-weight:400;}
.perks{margin-top:24px;display:flex;flex-direction:column;gap:12px;}
.perk{display:flex;align-items:center;gap:11px;color:var(--on-brand);font-size:14px;font-weight:400;}
.perk-dot{width:20px;height:20px;border-radius:50%;background:var(--on-brand-faint);display:flex;align-items:center;justify-content:center;color:var(--on-brand);flex-shrink:0;}
.bk-form{background:white;padding:32px;border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,0.2);display:flex;flex-direction:column;gap:12px;}
.bk-title{font-family:var(--head);font-size:24px;font-weight:800;color:var(--dark);margin-bottom:2px;letter-spacing:-.3px;}
.bk-sub{font-size:12px;color:var(--text-dim);margin-bottom:6px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fi.bad{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12);}
.fi-err{display:block;color:#B03A2E;font-size:13px;margin:6px 0 0 2px;}
.fi-lab{display:block;font-family:var(--head);font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);font-weight:600;margin:0 0 6px 2px;}
.f-cell{display:flex;flex-direction:column;}
.fi{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:13px 15px;font-size:14px;outline:none;transition:border-color 0.3s,box-shadow 0.3s;font-family:var(--body);border-radius:4px;width:100%;font-weight:400;}
.fi:focus{border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--accent-soft);}
.fi::placeholder{color:#9AAABC;}
.dp{position:relative;}
.dp-btn{width:100%;text-align:left;cursor:pointer;color:var(--text-dim);font-weight:400;}
.dp-btn.filled{color:var(--text);}
.dp-pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:300px;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 50px rgba(0,46,93,.16);padding:14px;}
.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.dp-title{font-family:var(--head);font-size:14px;font-weight:700;color:var(--dark);}
.dp-arr{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--brand-ink);font-size:18px;line-height:1;cursor:pointer;}
.dp-arr:hover{background:var(--accent-soft);}
.dp-arr[disabled]{opacity:.35;cursor:default;}
.dp-dows,.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.dp-dows span{font-family:var(--head);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);text-align:center;padding-bottom:4px;}
.dp-day{height:36px;border:0;border-radius:8px;background:transparent;font-family:var(--body);font-size:14px;color:var(--text);cursor:pointer;}
.dp-day:hover:not([disabled]){background:var(--accent-soft);}
.dp-day[disabled]{color:#C2CEDB;cursor:default;}
.dp-day.sel{background:var(--brand);color:var(--on-brand);font-weight:600;}
.dp-day.empty{visibility:hidden;}
.dp-note{font-size:12px;color:var(--text-dim);margin-top:10px;line-height:1.5;}
.f-hint{font-size:12px;line-height:1.55;color:var(--brand-ink);background:var(--accent-soft);border-radius:8px;padding:10px 12px;margin-top:-4px;display:none;}
.f-hint.on{display:block;}
.f-hint.warn{background:#FDF0E7;color:#9A4A16;}
.f-msg{display:none;margin:2px 0 4px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5;}
.f-msg.on{display:block;}
.f-msg.warn{background:var(--accent-soft);border:1px solid var(--accent-soft2);color:var(--brand);}
.f-msg.err{background:#FDF0E7;border:1px solid #F0D2C0;color:#8F3A12;}
/* ловушка для ботов: человек её не видит */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.f-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--text-dim);line-height:1.6;margin-top:2px;font-weight:400;}
.f-consent input{margin-top:2px;accent-color:var(--brand-ink);}
.f-consent a{color:var(--brand-ink);}
.fi-submit{font-family:var(--head);background:var(--brand);color:var(--on-brand);border:none;padding:15px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;font-weight:700;transition:all 0.3s;border-radius:4px;margin-top:4px;}
.fi-submit:hover{background:var(--brand2);box-shadow:0 8px 22px rgba(0,46,93,.28);}
.fi-note{font-size:12px;color:var(--text-dim);text-align:center;font-weight:400;}
.fi-note a{color:var(--brand-ink);text-decoration:none;font-weight:600;}
.f-ok{display:none;background:var(--accent-soft);color:var(--brand-ink);padding:16px;font-size:14px;text-align:center;font-weight:500;border-radius:4px;}
/* ---- address / footer ---- */
.address{background:var(--dark);border-top:1px solid rgba(255,255,255,.14);padding:28px 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px 20px;align-items:start;}
.address .ai{padding:0;}
.address .ai:first-child{padding-left:0;}
.address .ai:last-child{padding-right:0;}


.ai{display:flex;align-items:flex-start;gap:12px;}
.a-cta{margin-left:auto;font-family:var(--head);background:var(--white);color:var(--brand);padding:16px 30px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;border-radius:4px;text-decoration:none;white-space:nowrap;transition:background 0.3s,transform 0.3s;flex-shrink:0;}
.a-cta:hover{background:var(--sky);transform:translateY(-2px);}
.a-cta:focus-visible{outline:3px solid var(--sky);outline-offset:3px;}
.ai-ico{width:42px;height:42px;background:rgba(255,255,255,0.07);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.72);flex-shrink:0;}
.ai-lbl{font-family:var(--head);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:2px;font-weight:600;}
.ai-val{font-size:14px;color:rgba(255,255,255,0.85);font-weight:400;}
.ai-val a{color:rgba(255,255,255,0.85);text-decoration:none;transition:color 0.3s;}
.ai-val a:hover{color:white;}
.msgs{display:flex;gap:7px;margin-top:6px;}
.msg{font-family:var(--head);padding:5px 13px;border:1px solid rgba(255,255,255,0.18);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.7);text-decoration:none;transition:all 0.3s;border-radius:20px;font-weight:600;}
.msg:hover,.msg:focus,.msg:active,.msg:focus-visible{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.55);outline:none;}
.adiv{width:1px;height:32px;background:rgba(255,255,255,0.1);}
.ck{position:fixed;left:20px;right:20px;bottom:20px;z-index:180;background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 50px rgba(0,46,93,.18);padding:18px 22px;display:flex;align-items:center;gap:22px;max-width:920px;margin:0 auto;}
.ck[hidden]{display:none;}
.ck-text{font-size:13px;line-height:1.6;color:var(--text-dim);}
.ck-text a{color:var(--brand-ink);}
.ck-btns{display:flex;gap:10px;margin-left:auto;flex-shrink:0;}
.ck-btn{font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:12px 18px;border-radius:4px;cursor:pointer;transition:all .25s;min-height:44px;}
.ck-min{background:transparent;border:1px solid var(--border);color:var(--text-dim);}
.ck-min:hover{border-color:var(--brand);color:var(--brand);}
.ck-all{background:var(--brand);border:1px solid var(--brand);color:var(--on-brand);}
.ck-all:hover{background:var(--brand2);}
.ck-btn:focus-visible{outline:3px solid var(--sky);outline-offset:2px;}
@media(max-width:720px){.ck{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch;gap:14px;padding:16px;}
.ck-btns{margin-left:0;}.ck-btn{flex:1;}}
.lic-sub{margin-top:8px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.32);}
.lic-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.25);transition:color .3s,border-color .3s;}
.lic-btn:hover{color:rgba(255,255,255,.85);border-bottom-color:rgba(255,255,255,.6);}
.lic-btn:focus-visible{outline:2px solid var(--sky);outline-offset:3px;}
.lic-eye{display:inline-flex;flex-shrink:0;}
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,12,28,.92);display:flex;align-items:center;justify-content:center;padding:60px 20px;}
.lb[hidden]{display:none;}
.lb-stage{max-width:min(90vw,760px);max-height:86vh;display:flex;align-items:center;justify-content:center;}
.lb-img{max-width:100%;max-height:86vh;width:auto;height:auto;border-radius:4px;box-shadow:0 24px 70px rgba(0,0,0,.5);background:#fff;}
.lb-img[hidden]{display:none;}
.lb-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:background .25s;}
.lb-close:hover{background:rgba(255,255,255,.24);}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .25s;}
.lb-nav:hover{background:rgba(255,255,255,.24);}
.lb-nav.prev{left:16px;}
.lb-nav.next{right:16px;}
.lb-close:focus-visible,.lb-nav:focus-visible,.lb-dot:focus-visible{outline:2px solid var(--sky);outline-offset:3px;}
.lb-dots{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:10px;}
.lb-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.32);cursor:pointer;transition:background .25s,transform .25s;}
.lb-dot.on{background:#fff;transform:scale(1.25);}
@media(max-width:720px){.lb{padding:56px 12px;}.lb-nav{width:44px;height:44px;font-size:24px;}.lb-nav.prev{left:6px;}.lb-nav.next{right:6px;}}
.lic{background:var(--dark);color:rgba(255,255,255,0.4);font-size:12px;padding:28px 60px;text-align:center;line-height:1.7;border-top:1px solid rgba(255,255,255,0.07);font-weight:400;}
.lic>span{display:block;max-width:900px;}
.map-s{position:relative;}
.cmap{width:100%;height:360px;background:#EEF3F8;}
.cmap canvas,.cmap .maplibregl-marker{opacity:0;transition:opacity .4s;}
.cmap.ready canvas,.cmap.ready .maplibregl-marker{opacity:1;}
.cmap-route{position:absolute;left:18px;bottom:18px;z-index:5;font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:1.1px;text-transform:uppercase;text-decoration:none;padding:13px 18px;border-radius:6px;background:var(--brand);color:#fff;box-shadow:0 6px 20px rgba(0,46,93,.16);}
.cmap-route:hover{background:var(--brand2);}
.cmap-pin{display:flex;align-items:flex-end;gap:8px;transform:translateY(-6px);}
.cmap-pin svg{width:34px;height:44px;flex:0 0 auto;}
.cmap-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 12px;box-shadow:0 6px 20px rgba(0,46,93,.14);margin-bottom:18px;}
.cmap-card img{display:block;height:17px;width:auto;margin-bottom:5px;}
.cmap-card small{color:var(--text-dim);font-size:12px;}
.cmap-metro{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:#41556A;}
.cmap-metro i{width:22px;height:22px;border-radius:50%;background:#D6322F;color:#fff;font-family:var(--head);font-weight:800;font-size:13px;font-style:normal;display:grid;place-items:center;}
@media(max-width:640px){
 .cmap{height:340px;}
 .cmap-route{position:static;display:block;text-align:center;border-radius:0;box-shadow:none;}
 .cmap-pin{flex-direction:column-reverse;align-items:center;transform:none;}
 .cmap-card{margin:0 0 4px;text-align:center;white-space:nowrap;}
}
footer{background:var(--white);border-top:1px solid var(--border);padding:28px 60px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.f-logo img{height:24px;width:auto;display:block;}
.f-copy{color:var(--text-dim);font-size:12px;font-weight:400;}
.f-links{display:flex;gap:20px;}
.f-links a{font-family:var(--head);color:var(--text-dim);text-decoration:none;font-size:10px;letter-spacing:1px;text-transform:uppercase;transition:color 0.3s;font-weight:600;}
.f-links a:hover{color:var(--brand-ink);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
.stat-num,.svc-price,.hero-rating b{font-variant-numeric:tabular-nums;}
/* ---- responsive ---- */
@media(max-width:1280px){.hero h1{font-size:48px;}}
@media(max-width:1200px){.nav-phone{display:none;}nav ul{gap:18px;}}
@media(max-width:1024px){
 nav{padding:14px 30px;}nav.scrolled{padding:10px 30px;}
 section,.trust,.address,.lic,footer,.gallery-hdr,.g-track,.page-hero{padding-left:30px;padding-right:30px;}
 .hero{padding:110px 30px 60px;}.hero h1{font-size:40px;}
 .hero-img::before{width:64%;}
 .svc-grid,.rev-grid,.vals{grid-template-columns:repeat(2,1fr);}

 .rev-track>.rev{flex-basis:calc((100% - 16px)/2);}
 .rev-nav.prev{left:-14px;}.rev-nav.next{right:-14px;}
 .doc-grid{grid-template-columns:1fr;}
 .stitle{font-size:32px;}section{padding:72px 30px;}
 .page-hero h1{font-size:40px;}
 .about-grid{grid-template-columns:1fr;gap:32px;}
 .profile{grid-template-columns:1fr;gap:28px;}.profile-photo{position:static;max-width:320px;}
}
@media(max-width:720px){
 html{overflow-x:clip;}
 nav ul{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:76%;max-width:300px;background:var(--white);flex-direction:column;justify-content:center;gap:26px;padding:40px;transform:translateX(100%);transition:transform .35s;box-shadow:-20px 0 60px rgba(0,46,93,.12);z-index:120;}
 nav ul.open{transform:translateX(0);}
 .nav-phone,.nav-btn{display:none;}.nav-call{display:flex;}
 .burger{display:flex;}
 .hero{padding:100px 20px 50px;display:block;}
 nav ul a{display:block;padding:14px 0;font-size:16px;}
 .svc p,.rev-text,.doc-rev-text{font-size:16px;}
 .hero p,.page-hero p,.about-text p,.pf-body p{font-size:16px;}
 .perk{font-size:16px;}
 .hero-content,.hero>.hero-content{max-width:none;display:block;}
 .hero-col-r{margin-top:26px;gap:22px;}
 .hero-img{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:250px;margin-bottom:26px;border-radius:0;}
 .hero-img::before{display:none;}
 /* на телефоне кадр показываем целиком, без растяжки по высоте, и держим правую часть,
    где инструменты и врач: иначе виден только пустой левый край */
 .hero-img img{height:100%;margin-top:0;object-position:50% 18%;}
 .hero h1{font-size:40px;}.hero-stats{gap:10px;}
 section{padding:56px 20px;}
 .trust,.address,.lic,footer,.gallery-hdr,.g-track,.page-hero{padding-left:20px;padding-right:20px;}
 /* На телефоне лента листается пальцем: бегущая строка через проценты
    на iPhone (Safari, Telegram, Chrome — у всех один движок) уезжала за экран */
 .g-wrap{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
 .g-wrap::-webkit-scrollbar{display:none;}
 .g-wrap::before,.g-wrap::after{display:none;}
 .g-track{animation:none!important;transform:none!important;padding:0 20px!important;}
 .g-photo{flex:0 0 78vw;height:56vw;max-height:260px;scroll-snap-align:center;}
 .g-photo[aria-hidden="true"]{display:none;}
 .svc-grid,.doc-grid,.rev-grid,.vals,.cases-grid{grid-template-columns:1fr;}
 .doc-card{grid-template-columns:112px 1fr;gap:14px;padding:14px;}
 .doc-name{font-size:15px;}
 .doc-lbl{position:static;display:inline-block;margin-top:8px;font-size:10px;padding:5px 10px;}
 .rev-track{scroll-snap-type:x proximity;}
 .rev-track>.rev{flex-basis:90%;}
 .rev-nav{display:none;}
 .bk-wrap{grid-template-columns:1fr;gap:40px;}
 .booking{padding-left:20px;padding-right:20px;}
 .bk-form{border-radius:8px;}
 .f-row{grid-template-columns:1fr;}
 .stitle{font-size:32px;}.page-hero h1{font-size:32px;}
 .trust .ti-lbl{font-size:10px;}
 .tdiv,.adiv{display:none;}
 .ti,.ai{width:100%;}
 .tdiv,.adiv{display:none;}
 .a-cta{margin-left:0;width:100%;text-align:center;padding:18px 24px;}
 footer{flex-direction:column;text-align:center;}
 .sec-head{flex-direction:column;align-items:flex-start;}
 .theme-switch{right:12px;bottom:12px;}
}
.w{display:inline-block;}

@media (max-height:780px) and (min-width:721px){
 .hero h1{font-size:44px;margin-bottom:16px;}
 .hero p{font-size:16px;line-height:1.7;margin-bottom:24px;}
 .hero-stats{margin-top:26px;}
 .stat-num{font-size:32px;}
 .hero-btns{gap:10px;}
}


@media(max-width:720px){
 /* блоки въезжали сбоку на 26 px: на узком экране форма во всю ширину съезжала за край */
 .js .rv-l,.js .rv-r{transform:translateY(20px);}
 .js .rv-l.on,.js .rv-r.on{transform:none;}
}

@media(max-width:720px){
 .lic{text-align:left;padding:24px 20px;}
 .lic-btn{align-items:flex-start;}
 .lic-sub{margin-top:10px;}
}

/* заголовок героя: первая фраза держится в одну строку, цветная часть — во вторую.
   Ниже 1024 работает прежний кегль 44px, колонку тоже возвращаем к прежней ширине */
@media(max-width:1024px){ .hero-content{max-width:680px;} }

/* ---- первый экран: фото врачей на весь экран, тёмная подложка снизу (вариант 6) ---- */
.hero h1{color:#fff;}.hero h1 b{color:#8EC5F0;}
.hero p{color:rgba(255,255,255,.82);}
.hero .btn-ink{background:#8EC5F0;color:var(--brand);}
.hero .btn-ink:hover{background:#a6d2f4;color:var(--brand);}
.hero .btn-out{color:#fff;border-color:rgba(255,255,255,.5);}
.hero .btn-out:hover{border-color:#fff;color:#fff;}
.hero-stats>div{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);border-top-color:#8EC5F0;box-shadow:none;}
.hero .stat-num{color:#fff;}.hero .stat-lbl{color:rgba(255,255,255,.7);}
@media(min-width:721px){
 .hero{display:flex;flex-direction:column;justify-content:flex-end;padding:0 60px clamp(14px,2.2vh,28px);background:var(--brand);}
 .hero-img{position:absolute;inset:0;width:100%;height:100%;margin:0;}
 /* над головами воздух, лишнее срезается снизу под градиентом */
 .hero-img img{object-position:center 8%;}
 .hero-content{flex-wrap:nowrap;}
 .hero-img::after{top:auto;height:50%;background:linear-gradient(180deg,rgba(0,46,93,0) 0%,rgba(0,46,93,.66) 40%,rgba(0,46,93,.95) 76%,var(--brand) 100%);}
}
@media(max-width:720px){
 .hero{background:var(--brand);padding:64px 20px 40px;}
 .hero-img{height:300px;margin-bottom:24px;}
 .hero-img img{object-position:center 30%;}
 .hero-img::after{height:45%;background:linear-gradient(180deg,rgba(0,46,93,0) 0%,var(--brand) 100%);}
}

/* узкий экран, но ещё не телефон: колонки не помещаются в строку, текст залезает
   на лица — оставляем только заголовок и описание, кнопки и счётчики прячем */
@media(min-width:721px) and (max-width:1199px){
 .hero-col-r{display:none;}
 .hero h1{font-size:40px;}
 .hero p{font-size:15px;line-height:1.65;}
}

/* Композиция первого экрана зафиксирована: макушки всегда сразу под шапкой,
   независимо от ширины и высоты окна. Лица на снимке — от 16,5% до 40% высоты кадра,
   кадр 1.163:1, поэтому смещение вверх = 16,5% высоты = 14,19% ширины.
   На очень широких окнах фото не растёт шире 240vh — иначе лица съезжают на текст. */
@media(min-width:721px){
 .hero-img img.hs{position:absolute;left:0;top:calc(clamp(110px, 16vh, 170px) - 0.1419 * 100vw);
  width:100%;height:auto;max-width:none;transform:none;object-fit:fill;}
 /* первый экран не ниже, чем нужно, чтобы под лицами поместился весь текст:
    подбородки на 20,2% ширины ниже макушек, плюс текстовый блок */
 .first-screen .hero{min-height:calc(clamp(110px, 16vh, 170px) + 0.202 * 100vw + 270px);}
}
/* Низкое окно: текстовый блок занимает большую долю высоты — убираем лишнее */

/* фото нельзя перетащить мышью, а на телефоне долгое нажатие не предлагает «Сохранить» */
img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;}
.hero-img img,.g-photo img,.doc-ph img,.profile-photo img,.lic img{user-select:none;-webkit-user-select:none;}