@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(/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:#F5F8F7;--bg2:#EEF5F2;--bg3:#E3F1ED;--ink:#102C31;--ink2:#4C6467;--mute:#7B9093;--line:#DCE8E5;
  --p:#087D75;--p2:#06645E;--p3:#1BA79C;--pl:#DFF1EC;--gold:#F4AC21;--rose:#F6D7DD;--rosel:#FBEFF2;
  --r:24px;--r2:16px;--sh:0 18px 52px rgba(14,58,58,.09);--sh2:0 4px 14px rgba(14,58,58,.06);--fs:1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{background:var(--bg) !important;color-scheme:light}
body{font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);font-size:calc(16px*var(--fs));line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:var(--p2);text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{line-height:1.08;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(34px,4.9vw,64px)}
h2{font-size:clamp(26px,3.1vw,40px)}
h3{font-size:clamp(17px,1.6vw,20px);letter-spacing:-.01em}
p{color:var(--ink2)}
.wrap{width:min(var(--maxw),calc(100% - var(--gut)));margin:0 auto}
section{padding:36px 0}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}
.sec-h .kicker,.kicker{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--p);margin-bottom:8px}
.sec-h p{max-width:600px;margin-top:8px}
.sec-h .more{font-weight:800;font-size:14px;white-space:nowrap;color:var(--p)}
.muted{color:var(--mute)}.small{font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;font-weight:800;font-size:15px;transition:.2s;white-space:nowrap;border:1px solid transparent}
.btn-p{background:var(--p);color:#fff;box-shadow:0 10px 22px rgba(8,125,117,.18)}
.btn-p:hover{background:var(--p2);transform:translateY(-1px)}
.btn-o{border-color:#A9D3CC;color:var(--p2);background:#fff}
.btn-o:hover{border-color:var(--p);background:var(--pl)}
.btn-g{border-color:var(--line);color:var(--ink);background:#fff}
.btn-s{min-height:42px;padding:0 16px;font-size:14px}
.btn-w{width:100%}
.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink);transition:.2s}
.chip:hover{border-color:var(--p);color:var(--p2);background:var(--pl)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:800}
.badge-p{background:var(--pl);color:var(--p2)}.badge-r{background:var(--rosel);color:#B24A67}.badge-g{background:#FFF4DD;color:#9A6200}
.tbd{background:#FFF4DD;color:#8A5A00;border-radius:6px;padding:0 6px;font-weight:700;font-size:.92em}
.disc{font-size:12.5px;color:var(--mute);line-height:1.45;padding:14px 16px;border-radius:var(--r2);background:#fff;border:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}
.disc:before{content:'!';flex:none;width:20px;height:20px;border-radius:50%;background:var(--pl);color:var(--p2);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.g6{grid-template-columns:repeat(6,1fr)}
.grid>*{min-width:0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px;transition:.2s;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.card:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.card h3{font-size:17px}
.card .price{font-weight:800;color:var(--p2);margin-top:auto;font-size:17px}
.card.soft{background:var(--bg2);border-color:transparent}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--mute);padding:16px 0 0}
.crumbs a{color:var(--mute)}.crumbs a:hover{color:var(--p2)}
.crumbs span:before{content:'/';margin:0 4px;color:var(--line)}
/* header */
header.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .bar{display:flex;align-items:center;gap:clamp(8px,1.4vw,18px);height:72px;min-width:0}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.02em;font-size:14px;color:var(--ink);text-transform:uppercase;line-height:1}
.logo svg{width:28px;height:40px;flex:none}
.logo small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--mute);margin-top:4px}
nav.main{display:flex;gap:2px;margin-left:auto;min-width:0;flex-wrap:nowrap}
nav.main>a,nav.main>button{padding:9px 10px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:4px;white-space:nowrap}
nav.main>a:hover,nav.main>button:hover,nav.main>a.on{color:var(--p2);background:var(--pl)}
.top .right{display:flex;align-items:center;gap:10px;flex:none}
.top .phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1;white-space:nowrap;color:var(--ink)}
.top .phone b{font-size:14px}.top .phone small{font-size:10px;color:var(--mute);margin-top:3px;font-weight:600}
.msg{display:flex;gap:6px}
.msg a{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
.msg a:hover{transform:translateY(-1px)}
.msg a.max{background:#3D6BF3}.msg a.vk{background:#0077FF}.msg a.tg{background:#2AA4DF}.msg a.wa{background:#25B969}
.msg svg{width:18px;height:18px}
.eye{width:40px;height:40px;border-radius:10px;background:var(--bg2);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex:none;border:1px solid var(--line)}
.mega{position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh);display:none;padding:26px 0 28px}
.mega.open{display:block}
.mega .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.mega h4{font-size:14px;margin-bottom:8px}.mega h4 a{color:var(--ink)}
.mega ul{list-style:none;display:flex;flex-direction:column;gap:5px}
.mega li a{font-size:13.5px;color:var(--ink2)}.mega li a:hover{color:var(--p2)}
.mega .quizcall{grid-column:1/-1;background:var(--bg2);border-radius:var(--r2);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px}
.burger{display:none}.ls{display:none}
.mnav{display:none}
/* hero */
.hero{padding:18px 0 8px}
.hcard{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;box-shadow:var(--sh);min-height:min(560px,78vh)}
.hcopy{padding:54px 24px 44px 54px;display:flex;flex-direction:column;justify-content:center}
.hcopy h1{margin:14px 0 20px;max-width:640px;line-height:.98;letter-spacing:-.04em}
.hcopy h1 em{font-style:normal;color:var(--p)}
.hlead{max-width:600px;font-size:17px;margin-bottom:26px}
.hact{display:flex;gap:12px;flex-wrap:wrap}
.hproof{display:flex;gap:26px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
.hproof>div{display:flex;gap:10px;align-items:center}
.hproof .pi{width:34px;height:34px;border-radius:10px;background:var(--pl);display:flex;align-items:center;justify-content:center;color:var(--p2);font-weight:900;flex:none}
.hproof b{display:block;font-size:14px}.hproof small{color:var(--mute);font-size:11px}
.hmedia{position:relative;background:#E5EFEC;min-height:400px}
.hmedia img{width:100%;height:100%;object-fit:cover;object-position:center}
.hfade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.55) 10%,transparent 34%)}
.hnote{position:absolute;right:40px;top:14%;font-family:Georgia,'Times New Roman',serif;font-size:34px;color:#fff;font-style:italic;line-height:.95;text-align:right;text-shadow:0 2px 18px rgba(0,0,0,.35);transform:rotate(-6deg)}
.acard{position:absolute;right:24px;bottom:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-radius:18px;padding:14px 18px;display:flex;gap:12px;box-shadow:0 16px 40px rgba(20,55,55,.16);color:var(--ink)}
.acard .pin{width:16px;height:16px;border-radius:50% 50% 50% 0;background:var(--p);transform:rotate(-45deg);margin-top:4px;flex:none}
.acard b{display:block;font-size:13.5px}.acard small{display:block;font-size:11.5px;color:var(--mute)}.acard em{display:block;font-style:normal;color:var(--p);font-size:11.5px;font-weight:800;margin-top:6px}
/* shortcuts */
.short{display:grid;grid-template-columns:repeat(9,1fr);gap:10px}
.short a{min-height:112px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:14px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink);transition:.2s;line-height:1.2}
.short a:hover{border-color:var(--p);box-shadow:var(--sh2);color:var(--p2)}
.short a.all{background:var(--pl);border-color:transparent}
.short svg{width:34px;height:34px;stroke:var(--p);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* problems */
.prob{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.prob a{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:.2s}
.prob a:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.prob .pic{aspect-ratio:4/3;position:relative;background:var(--bg2)}
.prob .pic img{width:100%;height:100%;object-fit:cover}
.prob .pic .go{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:var(--sh2)}
.prob .t{padding:14px 16px 16px}.prob b{display:block;font-size:15px;margin-bottom:4px}.prob span{font-size:12.5px;color:var(--mute)}
/* quiz */
.qwrap{display:grid;grid-template-columns:1fr 340px;gap:16px}
.quiz{background:linear-gradient(120deg,#06645E,#0A8C83 55%,#1BA79C);color:#fff;border-radius:28px;padding:38px 40px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;overflow:hidden;position:relative}
.quiz:before{content:'';position:absolute;right:-90px;bottom:-140px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08)}
.quiz h2{color:#fff}.quiz p{color:rgba(255,255,255,.8)}
.quiz .kicker{color:#BDE8E3}
.qbox{background:#fff;color:var(--ink);border-radius:20px;padding:22px;position:relative;box-shadow:var(--sh)}
.qbox .step{font-size:11.5px;color:var(--mute);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.qbox h3{font-size:19px;margin-bottom:14px}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qopts button{padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;text-align:left;font-weight:700;font-size:14px;background:#fff;transition:.15s;color:var(--ink)}
.qopts button:hover,.qopts button.sel{border-color:var(--p);background:var(--pl);color:var(--p2)}
.qres{background:var(--bg2);border-radius:12px;padding:14px;margin-bottom:12px;font-size:14px}
.qres b{display:block;font-size:16px;margin-bottom:2px}
.help{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:12px}
.help h3{font-size:22px}
.help .msg a{width:auto;height:40px;border-radius:12px;padding:0 14px;gap:8px;font-weight:800;font-size:13px}
.inp{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:15px;outline:none;transition:.15s;background:#fff;color:var(--ink)}
.inp:focus{border-color:var(--p)}.inp.err{border-color:#D23B5A}
.ck{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink2);margin-top:9px}
.ck input{margin-top:3px;flex:none;accent-color:var(--p)}.ck a{text-decoration:underline}
.fmsg{font-size:12.5px;color:#D23B5A;margin-top:6px;display:none}
.ok{background:var(--pl);border-radius:14px;padding:22px;text-align:center}.ok b{display:block;font-size:18px;margin-bottom:6px}
/* doctors */
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:.2s}
.doc:hover{box-shadow:var(--sh);transform:translateY(-2px)}
.doc .pic{aspect-ratio:1/1;background:linear-gradient(180deg,#F1F6F4,#E4EFEB);overflow:hidden}
.doc .pic img{width:100%;height:100%;object-fit:cover;object-position:top}
.doc .av{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:800;color:var(--p2);background:var(--pl)}
.doc .b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.doc h3{font-size:16.5px;line-height:1.2}.doc .sp{font-size:13px;color:var(--ink2)}
.doc .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.doc .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:10px;gap:8px}
.doc .foot b{color:var(--p2);font-size:15px}
.rt{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink2)}
.rt svg{width:13px;height:13px;fill:var(--gold)}
/* about */
.about{display:grid;grid-template-columns:1.05fr 1.35fr .7fr;gap:16px}
.about .pic{border-radius:28px;overflow:hidden;min-height:340px}
.about .pic img{width:100%;height:100%;object-fit:cover}
.about .txt{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.about .txt h2{font-size:clamp(22px,2.3vw,30px)}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.feat div{background:var(--bg2);border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px}
.feat svg{width:20px;height:20px;stroke:var(--p);fill:none;stroke-width:1.8;flex:none}
.lic{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.lic .ic{width:54px;height:54px;border-radius:16px;background:var(--pl);display:flex;align-items:center;justify-content:center}
.lic .ic svg{width:28px;height:28px;stroke:var(--p);fill:none;stroke-width:1.7}
.lic h3{font-size:22px}
/* reviews */
.tabs{display:inline-flex;background:var(--bg2);border-radius:12px;padding:4px;gap:2px}
.tabs button{padding:8px 14px;border-radius:9px;font-size:13px;font-weight:800;color:var(--ink2)}
.tabs button.on{background:var(--p);color:#fff}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px;display:flex;flex-direction:column;gap:10px}
.rev .src{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800}
.rev .src span{display:flex;align-items:center;gap:8px}
.rev .src i{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;color:#fff;font-weight:900}
.rev .src i.ya{background:#FC3F1D}.rev .src i.pd{background:#2B5DCB}
.rev .src small{color:var(--mute);font-weight:600}
.rev .stars{color:var(--gold);letter-spacing:2px;font-size:13px}
.rev p{font-size:14.5px;color:var(--ink)}
.rev .who{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mute);margin-top:auto}
.rev .who b{color:var(--ink)}
.rating{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px 26px;flex-wrap:wrap}
.rating .big{font-size:52px;font-weight:800;line-height:1}
/* price mini */
.pmini{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:18px;display:flex;flex-direction:column;gap:10px;min-height:120px;color:var(--ink);transition:.2s}
.pmini:hover{border-color:var(--p);box-shadow:var(--sh2)}
.pmini span{font-size:14px;font-weight:700;line-height:1.25}
.pmini b{margin-top:auto;color:var(--p2);font-size:18px}
/* patients */
.pat{background:#fff;border:1px solid var(--line);border-radius:28px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:end}
.pat h2{font-size:clamp(24px,2.6vw,36px)}
.tree{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;grid-column:1/-1}
.tree a{background:var(--bg2);border-radius:14px;padding:14px 16px;color:var(--ink);font-weight:700;font-size:13.5px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:.2s;min-height:54px}
.tree a:hover{background:var(--pl);color:var(--p2)}
.tree a small{display:block;font-weight:500;color:var(--mute);font-size:12px;margin-top:2px}
.tree a svg{flex:none}
/* contacts */
.cwrap{display:grid;grid-template-columns:.9fr 1.4fr .8fr;gap:16px}
.cbox{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:12px}
.cbox h2{font-size:26px}
.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:14px}
.kv dt{color:var(--mute)}.kv dd{color:var(--ink)}
.map{border-radius:28px;overflow:hidden;border:1px solid var(--line);background:var(--bg2);min-height:380px;position:relative}
.map iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.ccta{border-radius:28px;overflow:hidden;position:relative;min-height:340px;display:flex;align-items:flex-end;padding:28px;color:#fff}
.ccta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ccta:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,44,49,.05),rgba(16,44,49,.75))}
.ccta div{position:relative}
.ccta h3{font-size:24px;color:#fff;margin-bottom:14px;line-height:1.15}
/* page hero */
.phero{padding:16px 0 10px}
.phero>.wrap{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px 42px;box-shadow:var(--sh2)}
.phero>.wrap.split{display:grid;grid-template-columns:1fr 400px;gap:30px;align-items:center;padding:0;overflow:hidden}
.phero>.wrap.split>div:first-child{padding:38px 42px}
.phero>.wrap.split .pic{height:100%;min-height:320px}
.phero>.wrap.split .pic img{width:100%;height:100%;object-fit:cover}
.phero h1{margin:8px 0 12px;font-size:clamp(28px,3.6vw,46px)}
.phero .lead{font-size:17px;max-width:720px}
.phero .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center}
.pcard{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px 42px;box-shadow:var(--sh2)}
.pcard h1{margin:10px 0 12px;font-size:clamp(28px,3.6vw,46px)}
.pcard .lead{font-size:17px;max-width:720px}
.pcard .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center}
.pbox{background:var(--bg2);border-radius:14px;padding:12px 16px;font-size:12.5px;color:var(--mute)}
.pbox b{display:block;color:var(--p2);font-size:20px}
.pcard.split{display:grid;grid-template-columns:1fr 420px;gap:30px;align-items:center;padding-right:0;overflow:hidden}
.pcard.split .pic{height:100%;min-height:300px}
.pcard.split .pic img{width:100%;height:100%;object-fit:cover}
.sticky{position:sticky;top:72px;z-index:20;background:rgba(245,248,247,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);overflow-x:auto}
.sticky .wrap{display:flex;gap:4px;padding:8px 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sticky .wrap::-webkit-scrollbar{display:none}.sticky a{flex:none}
.sticky a{padding:8px 12px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--ink2);white-space:nowrap}
.sticky a:hover{background:#fff;color:var(--p2)}
.two{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start}
.side{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px}
.sidebox{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:22px}
.sidebox h4{margin-bottom:10px}
.sidebox.p{background:var(--p);border-color:transparent;color:#fff}
.sidebox.p h4,.sidebox.p p{color:#fff}
.sidebox.p .btn-p{background:#fff;color:var(--p2);box-shadow:none}
.prose{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px 38px}
.prose h2{font-size:24px;margin:34px 0 12px}.prose h2:first-child{margin-top:0}
.prose h3{margin:22px 0 8px}
.prose p,.prose li{margin-bottom:10px}
.prose ul,.prose ol{padding-left:20px}.prose li{color:var(--ink2)}
.prose,.kv,.docs,.card,.qres{overflow-wrap:anywhere}
.steps{counter-reset:s;display:grid;gap:10px}
.steps div{display:flex;gap:14px;background:var(--bg2);border-radius:14px;padding:14px 16px;align-items:flex-start}
.steps div:before{counter-increment:s;content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--p2);font-weight:800;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:15.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';color:var(--p);font-weight:800;font-size:20px;line-height:1}
.faq details[open] summary:after{content:'–'}
.faq details p{margin-top:10px;font-size:14.5px}
.docs{display:grid;gap:10px}
.docs a,.docs div{display:flex;gap:12px;align-items:center;background:var(--bg2);border-radius:12px;padding:12px 14px;color:var(--ink);font-size:14px;font-weight:700}
.docs .ext{margin-left:auto;font-size:11px;font-weight:800;color:var(--mute);background:#fff;padding:4px 8px;border-radius:6px;white-space:nowrap}
table.pr{width:100%;border-collapse:collapse;font-size:14.5px}
table.pr th{text-align:left;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:10px 12px;border-bottom:1px solid var(--line)}
table.pr td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}
table.pr td.p{font-weight:800;white-space:nowrap;color:var(--p2)}
table.pr tr:hover td{background:#FAFCFB}
.filt{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.filt button{padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);font-weight:700;font-size:13.5px;background:#fff;color:var(--ink)}
.filt button.on{background:var(--p);color:#fff;border-color:var(--p)}
.search{display:flex;gap:10px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:4px 6px 4px 16px;max-width:560px;color:var(--mute)}
.search input{flex:1;border:0;outline:none;font:inherit;font-size:15px;padding:10px 0;min-width:0;color:var(--ink)}
.stat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.stat b{display:block;font-size:28px;font-weight:800;color:var(--p2)}.stat span{font-size:13px;color:var(--mute)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gal>*{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--bg2)}
.gal img{width:100%;height:100%;object-fit:cover;transition:.4s}.gal img:hover{transform:scale(1.03)}
.gal .wide{grid-column:span 2;aspect-ratio:8/3}
.band{background:#fff;border:1px solid var(--line);border-radius:28px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.band img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;width:100%}
.dochero{display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:center}
.dochero .pic{border-radius:22px;overflow:hidden;aspect-ratio:1/1;background:var(--pl)}
.dochero .pic img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ===== Версия для слабовидящих (ГОСТ Р 52872-2019) ===== */
.eye.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.apanel{display:none;position:sticky;top:72px;z-index:49;background:var(--bg);border-bottom:2px solid var(--ink);padding:12px 0}
body.a11y .apanel{display:block}
.apanel .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.agrp{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.agrp>span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-right:4px;color:var(--ink)}
.agrp button{min-width:44px;height:44px;padding:0 12px;border:2px solid var(--ink);border-radius:8px;background:var(--bg);color:var(--ink);font-weight:800;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:6px;letter-spacing:0}
.agrp button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.agrp button:focus-visible{outline:3px solid var(--p);outline-offset:2px}
.agrp .sw{width:28px;height:28px;border-radius:6px;border:2px solid currentColor;display:inline-block}
.agrp button.f1{font-size:14px}.agrp button.f2{font-size:18px}.agrp button.f3{font-size:22px}
.apanel .aoff{margin-left:auto;border:2px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:8px;height:44px;padding:0 16px;font-weight:800;font-size:15px}
.apanel .aoff:focus-visible{outline:3px solid var(--p);outline-offset:2px}
body.a11y{--fs:1.25;--r:8px;--r2:8px;--sh:none;--sh2:none}
body.a11y *{box-shadow:none !important;text-shadow:none !important}
body.a11y a{text-decoration:underline}
body.a11y .btn,body.a11y .chip,body.a11y .badge,body.a11y .filt button,body.a11y .tabs button,body.a11y .qopts button,body.a11y .slots button,body.a11y .short a,body.a11y .card,body.a11y .doc,body.a11y .rev,body.a11y .dir,body.a11y .pmini,body.a11y .tree a,body.a11y .prob a,body.a11y .sidebox,body.a11y .prose,body.a11y .phero>.wrap,body.a11y .hcard,body.a11y .help,body.a11y .cbox,body.a11y .about .txt,body.a11y .lic,body.a11y .pat,body.a11y .rating,body.a11y .qbox,body.a11y .mbox,body.a11y .docs a,body.a11y .docs div,body.a11y .steps div,body.a11y .disc,body.a11y .inp,body.a11y .quick a,body.a11y .band,body.a11y .stat div,body.a11y .cookie{border:2px solid var(--ink) !important;border-radius:8px !important;background:var(--bg) !important;color:var(--ink) !important}
body.a11y .btn-p,body.a11y .btn.btn-p,body.a11y .filt button.on,body.a11y .tabs button.on,body.a11y .qopts button.sel,body.a11y .slots button.sel,body.a11y .sidebox.p,body.a11y .short a.all,body.a11y .agrp button[aria-pressed="true"]{background:var(--ink) !important;color:var(--bg) !important}
body.a11y .sidebox.p h4,body.a11y .sidebox.p p,body.a11y .sidebox.p .btn{color:var(--bg) !important}
body.a11y .sidebox.p .btn{background:var(--bg) !important;color:var(--ink) !important}
body.a11y .quiz,body.a11y footer,body.a11y header.top,body.a11y .sticky,body.a11y .mega,body.a11y .mnav,body.a11y .tabbar,body.a11y .hmedia,body.a11y .ccta,body.a11y .qres,body.a11y .ok,body.a11y .pbox,body.a11y .feat div,body.a11y .kv,body.a11y .card.soft,body.a11y .hproof .pi,body.a11y .quick .ic,body.a11y .dir .ic,body.a11y .lic .ic,body.a11y .doc .pic,body.a11y .doc .av,body.a11y .prob .pic,body.a11y .gal>*,body.a11y .map,body.a11y footer .warn,body.a11y .mega .quizcall{background:var(--bg) !important;color:var(--ink) !important}
body.a11y .quiz h2,body.a11y .quiz p,body.a11y .quiz .kicker,body.a11y footer a,body.a11y footer h4,body.a11y footer p,body.a11y footer .legal,body.a11y .ccta h3,body.a11y .hnote,body.a11y .kicker,body.a11y .sec-h .more,body.a11y p,body.a11y .muted,body.a11y .small,body.a11y .card .price,body.a11y .pmini b,body.a11y .doc .foot b,body.a11y .crumbs a,body.a11y .hcopy h1 em,body.a11y .rev .stars,body.a11y .rating .stars,body.a11y .rt,body.a11y .tbd,body.a11y .apanel .agrp button{color:var(--ink) !important}
body.a11y .quiz{border:2px solid var(--ink);color:var(--ink)}
body.a11y .quiz:before,body.a11y .hfade,body.a11y .ccta:before{display:none}
body.a11y .ccta{border:2px solid var(--ink);color:var(--ink)}
body.a11y .ccta .btn{background:var(--ink) !important;color:var(--bg) !important}
body.a11y .hnote{background:var(--bg);padding:6px 10px;transform:none;font-style:normal;font-family:inherit;font-size:22px;border:2px solid var(--ink)}
body.a11y .acard{background:var(--bg);border:2px solid var(--ink)}
body.a11y footer{border-top:2px solid var(--ink)}
body.a11y header.top{border-bottom:2px solid var(--ink)}
body.a11y .msg a{background:var(--bg) !important;color:var(--ink) !important;border:2px solid var(--ink)}
body.a11y .rev .src i{background:var(--ink) !important;color:var(--bg) !important}
body.a11y .tbd{border:1px dashed var(--ink);background:var(--bg) !important}
body.a11y .badge{border:1px solid var(--ink)}
body.a11y svg:not(.logo svg){stroke:currentColor}
body.a11y .short svg{stroke:var(--ink)}
body.a11y .feat svg,body.a11y .lic svg{stroke:var(--ink)}
body.a11y .reveal{opacity:1;transform:none;transition:none}
body.a11y *{animation:none !important;transition:none !important}
body.a11y .card:hover,body.a11y .doc:hover,body.a11y .dir:hover,body.a11y .prob a:hover{transform:none}
body.a11y h1,body.a11y h2,body.a11y h3,body.a11y h4{letter-spacing:0}
body.a11y :focus-visible{outline:3px solid var(--ink);outline-offset:2px}
body.a11y header .msg{display:none}
body.a11y .agrp button[aria-pressed="true"],body.a11y .apanel .aoff{color:var(--bg) !important;background:var(--ink) !important}
body.a11y .steps div,body.a11y .prose,body.a11y .card,body.a11y .rev,body.a11y .doc .b{overflow-wrap:anywhere;min-width:0}
body.a11y .grid>*,body.a11y .wrap>*{min-width:0}
/* цветовые схемы */
body.sch-bw{--bg:#FFFFFF;--bg2:#FFFFFF;--bg3:#FFFFFF;--ink:#000000;--ink2:#000000;--mute:#000000;--line:#000000;--p:#000000;--p2:#000000;--pl:#FFFFFF}
body.sch-wb{--bg:#000000;--bg2:#000000;--bg3:#000000;--ink:#FFFFFF;--ink2:#FFFFFF;--mute:#FFFFFF;--line:#FFFFFF;--p:#FFFFFF;--p2:#FFFFFF;--pl:#000000}
body.sch-bl{--bg:#9DD1FF;--bg2:#9DD1FF;--bg3:#9DD1FF;--ink:#063462;--ink2:#063462;--mute:#063462;--line:#063462;--p:#063462;--p2:#063462;--pl:#9DD1FF}
body.sch-br{--bg:#F7F3D6;--bg2:#F7F3D6;--bg3:#F7F3D6;--ink:#4D4B43;--ink2:#4D4B43;--mute:#4D4B43;--line:#4D4B43;--p:#4D4B43;--p2:#4D4B43;--pl:#F7F3D6}
body.sch-gn{--bg:#3B2716;--bg2:#3B2716;--bg3:#3B2716;--ink:#A9E44D;--ink2:#A9E44D;--mute:#A9E44D;--line:#A9E44D;--p:#A9E44D;--p2:#A9E44D;--pl:#3B2716}
body.a11y,body.a11y html{background:var(--bg) !important}
/* изображения */
body.img-gray img{filter:grayscale(1) contrast(1.15)}
body.img-off img,body.img-off .hmedia,body.img-off .prob .pic,body.img-off .doc .pic,body.img-off .gal,body.img-off .about .pic,body.img-off .dochero .pic,body.img-off .phero>.wrap.split .pic,body.img-off .map,body.img-off .band img,body.img-off .ccta img{display:none !important}
body.img-off .hcard,body.img-off .about,body.img-off .cwrap,body.img-off .phero>.wrap.split{grid-template-columns:1fr !important}
body.img-off .ccta{min-height:0}
/* интервалы и шрифт */
body.ls1{letter-spacing:.08em}body.ls2{letter-spacing:.16em}
body.lh1{line-height:1.8}body.lh2{line-height:2.1}
body.serif,body.serif h1,body.serif h2,body.serif h3,body.serif h4,body.serif button,body.serif input,body.serif select{font-family:Georgia,'Times New Roman',serif}
@media(max-width:900px){.apanel{top:64px;padding:8px 0}.apanel .wrap{gap:8px 14px}.agrp>span{width:100%;margin:2px 0 0}.apanel .aoff{margin-left:0;width:100%}.agrp button{height:42px;min-width:42px}}

/* footer */
footer{background:#fff;border-top:1px solid var(--line);padding:56px 0 110px;font-size:14px;margin-top:40px;color:var(--ink2)}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:26px}
footer h4{color:var(--ink);font-size:13px;margin-bottom:12px;letter-spacing:.06em;text-transform:uppercase}
footer ul{list-style:none;display:flex;flex-direction:column;gap:7px}
footer a{color:var(--ink2)}footer a:hover{color:var(--p2)}
footer .legal{border-top:1px solid var(--line);margin-top:34px;padding-top:24px;font-size:12.5px;color:var(--mute);display:grid;gap:8px}
footer .warn{background:var(--bg2);border-radius:14px;padding:14px 16px;color:var(--ink);font-weight:800;font-size:13.5px;text-align:center;margin-top:20px;letter-spacing:.02em}
/* modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(16,44,49,.55);backdrop-filter:blur(4px)}
.modal.open{display:flex}
.mbox{background:#fff;border-radius:24px;width:min(520px,100%);max-height:92vh;max-height:92dvh;overflow:auto;padding:26px;position:relative}
.mbox .x{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:50%;background:var(--bg2);font-size:18px}
.mbox h3{font-size:22px;margin-bottom:4px}.mbox .sub{font-size:13.5px;color:var(--mute);margin-bottom:16px}
.fld{margin-bottom:10px}.fld label{display:block;font-size:12.5px;font-weight:800;margin-bottom:5px;color:var(--ink2)}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.slots button{padding:9px 6px;border:1.5px solid var(--line);border-radius:10px;font-size:13px;font-weight:700;background:#fff;color:var(--ink)}
.slots button.sel{border-color:var(--p);background:var(--pl);color:var(--p2)}
select.inp{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237B9093' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);border-radius:16px;padding:14px 16px;display:none;gap:14px;align-items:center;font-size:13px;max-width:760px;margin:0 auto}
.cookie.show{display:flex}
.tabbar{display:none}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
body.a11y{--fs:1.18;--p:#0B5F5B;--p2:#08423F}
body.a11y a{text-decoration:underline}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:200}.skip:focus{left:10px}
.e404{text-align:center;padding:90px 0}.e404 b{font-size:80px;color:var(--pl);display:block;line-height:1}
@media(max-width:1180px){
  .short{grid-template-columns:repeat(5,1fr)}.prob{grid-template-columns:repeat(3,1fr)}.g5{grid-template-columns:repeat(3,1fr)}.g6{grid-template-columns:repeat(3,1fr)}
  .qwrap{grid-template-columns:1fr}.about{grid-template-columns:1fr 1fr}.about .pic{grid-column:1/-1;min-height:280px}
  .cwrap{grid-template-columns:1fr 1fr}.ccta{grid-column:1/-1;min-height:220px}
  .tree{grid-template-columns:repeat(2,1fr)}.pat{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr}.side{position:static}
  .hcard{grid-template-columns:1fr}.hmedia{min-height:320px;order:-1}.hcopy{padding:34px 28px}
  .hfade{background:linear-gradient(180deg,transparent 60%,#fff 100%)}
  .band{grid-template-columns:1fr;padding:26px}.stat{grid-template-columns:repeat(2,1fr)}
  footer .cols{grid-template-columns:1fr 1fr 1fr}.mega .cols{grid-template-columns:repeat(2,1fr)}
  .phero>.wrap.split{grid-template-columns:1fr}.phero>.wrap.split .pic{min-height:220px;order:-1}
  .dochero{grid-template-columns:1fr}.dochero .pic{max-width:300px}
}
@media(max-width:900px){
  nav.main,.top .phone,.top .msg,.mega{display:none}
  .burger{display:flex;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center}
  .top .bar{height:64px;gap:10px}.lf{display:none}.ls{display:inline}.top .right{gap:8px}.top .right{margin-left:auto}.top .right .btn{min-height:42px;padding:0 14px;font-size:14px}
  section{padding:26px 0}
  h1{font-size:32px}
  .hcopy h1{font-size:34px}.hlead{font-size:15.5px}
  .hact .btn{flex:1}
  .hnote{font-size:22px;right:18px;top:12%}.logo small{display:none}.logo{font-size:13px}
  .acard{right:12px;bottom:12px;padding:10px 12px}
  .hproof{gap:14px}
  .short{grid-template-columns:repeat(3,1fr)}.short a{min-height:96px}
  .prob{grid-template-columns:repeat(2,1fr)}
  .quiz{grid-template-columns:1fr;padding:26px 22px}
  .g2,.g3,.g4,.g5,.g6,.stat{grid-template-columns:1fr 1fr}
  .feat{grid-template-columns:1fr 1fr}
  .about{grid-template-columns:1fr}
  .cwrap{grid-template-columns:1fr}.map{min-height:300px}
  .kv{grid-template-columns:1fr}.kv dt{margin-top:8px}
  .gal{grid-template-columns:1fr 1fr}.gal .wide{grid-column:span 2}
  .qopts{grid-template-columns:1fr}
  .sticky{top:64px}
  .phero>.wrap{padding:24px 20px}.phero>.wrap.split>div:first-child{padding:24px 20px}.prose{padding:24px 20px}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:800;color:var(--ink2)}
  .tabbar svg{width:22px;height:22px}.tabbar .on,.tabbar .cta{color:var(--p2)}
  .cookie{bottom:74px;flex-direction:column;align-items:stretch;gap:10px}.cookie span{font-size:12.5px}.cookie .btn{width:100%}
  footer{padding-bottom:120px}footer .cols{grid-template-columns:1fr}
  .mnav{position:fixed;inset:0;z-index:95;background:#fff;overflow:auto;padding:20px;display:none}
  .mnav.open{display:block}
  .mnav .x{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:50%;background:var(--bg2);font-size:20px}
  .mnav h4{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:18px 0 8px}
  .mnav a{display:block;padding:10px 0;font-weight:800;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line)}
  .mnav a.sub{font-weight:500;font-size:15px;padding-left:12px;color:var(--ink2)}
  .mnav .msg{display:flex}
  .sec-h{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:700px){
  table.pr,table.pr tbody{display:block}table.pr tr{display:block;padding:12px 0;border-bottom:1px solid var(--line)}table.pr th{display:none}table.pr td{display:block;border:0;padding:2px 0}table.pr td.p{font-size:16px}table.pr tr:hover td{background:none}
}
@media(max-width:480px){
  .g2,.g3,.g4,.g5,.g6,.tree,.stat,.gal{grid-template-columns:1fr}.gal .wide{grid-column:span 1;aspect-ratio:4/3}
  .short{grid-template-columns:repeat(3,1fr)}.prob{grid-template-columns:1fr 1fr}.prob .t{padding:10px 12px}.prob b{font-size:13.5px}
  .slots{grid-template-columns:repeat(3,1fr)}
  .wrap{width:calc(100% - 28px)}
  .rating .big{font-size:40px}
}
/* ── дополнения серверного рендера ───────────────────────── */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.err-msg{font-size:12.5px;color:#D23B5A;margin:8px 0 0}
.appeal{margin-top:22px;padding:22px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r2);display:flex;flex-direction:column;gap:10px}
.appeal .fld{margin:0}
.appeal textarea.inp{min-height:120px;resize:vertical;font:inherit}
.appeal .btn{align-self:flex-start}
.prose .appeal label.ck{font-size:13.5px}
nav.crumbs{display:flex}

/* ══════════════════════════════════════════════════════════════
   АДАПТАЦИЯ ПОД ЛЮБОЙ ЭКРАН
   Блок идёт последним и переопределяет сетки прототипа.
   Принцип: карточные сетки «текучие» (auto-fit), а брейкпоинты
   остаются только там, где меняется сама структура блока.
   ══════════════════════════════════════════════════════════════ */

:root{ --maxw:1360px; --gut:40px; }

html{ -webkit-text-size-adjust:100%; text-size-adjust:100% }
/* clip (а не hidden) — чтобы не ломать position:sticky у шапки */
body{ overflow-x:clip }
/* длинные слова и ссылки не распирают узкие колонки */
p,li,dd,dt,td,th,h1,h2,h3,h4,a,summary{ overflow-wrap:break-word }

/* ── Ширина контейнера по экрану ─────────────────────────── */
@media(min-width:1600px){ :root{ --maxw:1480px; --gut:56px } }
@media(min-width:1900px){ :root{ --maxw:1560px; --gut:64px } }
@media(max-width:900px) { :root{ --gut:32px } }
@media(max-width:480px) { :root{ --gut:28px } }
@media(max-width:380px) { :root{ --gut:22px } }

/* ── Карточные сетки: подстраиваются под любую ширину ────── */
.g2{ grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)) }
.g3{ grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)) }
.g4{ grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)) }
.g5{ grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)) }
.g6{ grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)) }
.prob{ grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)) }
.tree{ grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)) }
.stat{ grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)) }
.feat{ grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)) }
footer .cols{ grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)) }
.mega .cols{ grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)) }

/* Плитки быстрых ссылок: 9 → 5 → 3 → 2, всегда ровными рядами */
.short{ grid-template-columns:repeat(9,1fr) }
@media(max-width:1180px){ .short{ grid-template-columns:repeat(5,1fr) } }
@media(max-width:820px) { .short{ grid-template-columns:repeat(3,1fr) } }
@media(max-width:380px) { .short{ grid-template-columns:repeat(2,1fr) } }

/* Галерея: широкая плитка занимает 2 колонки только когда их ≥2 */
.gal{ grid-template-columns:repeat(3,1fr) }
@media(max-width:1000px){ .gal{ grid-template-columns:repeat(2,1fr) } .gal .wide{ grid-column:span 2 } }
@media(max-width:560px) { .gal{ grid-template-columns:1fr } .gal .wide{ grid-column:span 1;aspect-ratio:4/3 } }

/* ── Шапка: последовательно упрощается при нехватке места ── */
/* 1420: убираем мессенджеры (они есть в меню, подвале и контактах) */
@media(max-width:1420px){ .top .msg{ display:none } }
/* 1240: телефон без подписи, короткая надпись на кнопке, плотнее меню */
@media(max-width:1240px){
  .top .phone small{ display:none }
  .lf{ display:none } .ls{ display:inline }
  nav.main>a,nav.main>button{ padding:9px 8px;font-size:13px }
}
/* 1100: полноразмерное меню больше не помещается — бургер */
@media(max-width:1100px){
  nav.main,.mega{ display:none }
  .burger{ display:flex;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center;flex:none }
  .top .bar{ height:64px;gap:10px }
  .top .right{ margin-left:auto;gap:8px }
  .top .right .btn{ min-height:42px;padding:0 14px;font-size:14px }
  .apanel{ top:64px } .sticky{ top:64px } .mega{ top:64px }
}
/* 1100–901: бургер уже есть, но нижней панели ещё нет — телефон виден */
@media(min-width:901px) and (max-width:1100px){
  .top .phone{ display:flex } .top .phone small{ display:none }
}
/* Узкие телефоны: уменьшаем управляющие элементы, чтобы строка влезла */
@media(max-width:400px){
  .top .phone{ display:none }
  .top .right{ gap:6px }
  .top .right .btn{ padding:0 12px;font-size:13px;min-height:40px }
  .eye{ width:40px;height:40px }
  .burger{ width:40px;height:40px }
  .logo svg{ width:24px;height:34px } .logo{ font-size:12px;gap:8px }
}
@media(max-width:340px){
  .logo span{ display:none }
  .top .right .btn{ font-size:12px;padding:0 10px }
}

/* ── Мелочи, влияющие на удобство нажатия ────────────────── */
.filt button,.tabs button{ min-height:38px }
.slots button{ min-height:44px }
@media(max-width:380px){ .slots{ grid-template-columns:repeat(3,1fr) } }

/* ── Типографика первого экрана ──────────────────────────── */
@media(max-width:1100px){
  .hcopy h1{ font-size:clamp(28px,5.2vw,42px) }
  .hlead{ font-size:clamp(15px,1.8vw,17px) }
}
@media(max-width:380px){
  .hcopy h1{ font-size:27px } .hcopy{ padding:26px 20px }
  .hnote{ font-size:18px } .acard{ font-size:12px }
}

/* ── Низкие экраны (телефон горизонтально, нетбуки) ──────── */
@media(max-height:560px) and (orientation:landscape){
  .hcard{ min-height:0 } .hmedia{ min-height:240px }
  .mbox{ max-height:94dvh;padding:18px }
  .modal{ padding:10px }
  section{ padding:22px 0 }
}

/* ── Очень большие экраны: больше воздуха, не растягиваем текст ── */
@media(min-width:1600px){
  .hcard{ min-height:min(620px,78vh) }
  .hlead,.phero .lead{ max-width:720px }
  section{ padding:40px 0 }
}

/* ── Печать ──────────────────────────────────────────────── */
@media print{
  header.top,.tabbar,.cookie,.apanel,.mnav,.modal,.sticky,.quiz,.ccta{ display:none !important }
  body{ background:#fff } .wrap{ width:100% } a[href^="http"]:after{ content:" (" attr(href) ")";font-size:10px }
}

/* ══════════════════════════════════════════════════════════════
   ШАПКА: ступенчатое ужимание по факту нехватки места
   Классы hdr-1…hdr-5 вешает скрипт (см. public/js/app.js) — он
   измеряет реальную ширину логотипа, меню и правого блока и
   добавляет следующую ступень, пока строка не перестанет
   переполняться. Это устойчиво к правкам меню в админке.
   Медиазапросы выше остаются запасным вариантом, если JS отключён.
   ══════════════════════════════════════════════════════════════ */

.top .bar{ flex-wrap:nowrap }
.logo{ min-width:0;overflow:hidden }
.logo span{ white-space:nowrap }
/* страховка: даже при промахе скрипта пункты не наедут на соседей */
nav.main{ overflow:hidden }

/* 1 — убираем мессенджеры */
html.hdr-1 .top .msg{ display:none }
/* 2 — телефон без подписи «Заказать звонок» */
html.hdr-2 .top .phone small{ display:none }
/* 3 — логотип без подписи, короткая надпись на кнопке, плотнее меню */
html.hdr-3 .logo small{ display:none }
html.hdr-3 .lf{ display:none } html.hdr-3 .ls{ display:inline }
html.hdr-3 nav.main>a,html.hdr-3 nav.main>button{ padding:9px 7px;font-size:12.8px }
/* 4 — меню уезжает в бургер */
html.hdr-4 nav.main,html.hdr-4 .mega{ display:none }
html.hdr-4 .burger{ display:flex;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);align-items:center;justify-content:center;flex:none }
/* 5 — остаётся только логотип и кнопки */
html.hdr-5 .top .phone{ display:none }

/* Выдвижное меню должно работать и когда бургер включён скриптом
   на широком экране, а не только внутри мобильного медиазапроса. */
html.hdr-4 .mnav{position:fixed;inset:0;z-index:95;background:#fff;overflow:auto;padding:28px 32px;display:none}
html.hdr-4 .mnav.open{display:block}
html.hdr-4 .mnav .x{position:absolute;right:20px;top:18px;width:36px;height:36px;border-radius:50%;background:var(--bg2);font-size:20px}
html.hdr-4 .mnav h4{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:18px 0 8px}
html.hdr-4 .mnav a{display:block;padding:10px 0;font-weight:800;font-size:17px;color:var(--ink);border-bottom:1px solid var(--line)}
html.hdr-4 .mnav .msg{display:flex;border:0}
html.hdr-4 .mnav .msg a{border:0;padding:0}
/* на широком экране список удобнее в две колонки */
@media(min-width:901px){ html.hdr-4 .mnav #mnavin{columns:2;column-gap:40px} html.hdr-4 .mnav h4{break-after:avoid} }

/* Фирменный логотип-бейдж вместо временной SVG-иконки */
.logo img{width:28px;height:40px;object-fit:contain;flex:none}
@media(max-width:400px){ .logo img{ width:24px;height:34px } }
.docs a small{margin-top:2px;font-size:12px}
/* Логотип-надпись в шапке и подвале */
.logo-mark{height:46px;width:auto;flex:none}
.logo .logo-sub{font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;line-height:1.3;display:block}
.logo .logo-sub small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--mute);margin:0}
footer .logo-mark{height:54px}
/* На узких экранах подпись убираем — логотип говорит сам за себя */
@media(max-width:900px){ .logo-mark{height:42px} .logo .logo-sub{display:none} }
@media(max-width:400px){ .logo-mark{height:38px} .logo img{width:auto;height:38px} }
html.hdr-3 .logo-sub{display:none}
