:root{
  --bg:#F4F8F8; --paper:#FFFFFF; --ink:#15303A; --ink-soft:#33505A; --muted:#647C82;
  --teal:#00B1BF; --teal-dark:#0A93A2; --teal-btn:#007C88; --teal-soft:#E7F5F7; --teal-tint:#CBEBEF;
  --deep:#123E44; --deep2:#0C2F35; --green:#19C37D; --green-soft:#E7F8F0;
  --star:#F5A623; --line:#E4EDEC; --line2:#D9E6E4; --spark:#8CEBF1;
  --disp:'Unbounded',system-ui,sans-serif; --body:'Manrope',-apple-system,system-ui,sans-serif;
  --sh:0 24px 50px -30px rgba(18,62,68,.34); --shs:0 12px 28px -18px rgba(18,62,68,.24);
  --shc:0 3px 12px -6px rgba(18,62,68,.14);
  --cw:1440px; --rad:22px; --rad2:16px;
  /* type scale (base 16px) — стандарт, см. docs/DESIGN_SYSTEM.md */
  --fs-2xs:.6875rem; --fs-xs:.75rem; --fs-sm:.8125rem; --fs-base:.875rem; --fs-md:.9375rem; --fs-lg:1rem; --fs-xl:1.125rem; --fs-2xl:1.375rem;
  /* radius scale */
  --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:22px; --r-pill:999px;
}
*{box-sizing:border-box;margin:0;padding:0}

/* ═══════════════════════════════════════════════════════════════════
   СЛОЙ ЗАЩИТЫ ОТ ПЕРЕПОЛНЕНИЯ (responsive safety) — ПРИНЦИПЫ ДЛЯ ВСЕГО САЙТА
   Работает на ЛЮБОЙ странице, включая будущие, собранные в WP-админке без кода:
   1) картинки/видео/iframe не шире контейнера;
   2) текст ПЕРЕНОСИТСЯ, а не вылезает за бокс (бейджи, кнопки, карточки);
   3) дети flex/grid-раскладок СЖИМАЮТСЯ (min-width:0), а не распирают контейнер;
   4) широкие блоки (таблицы/код) скроллятся внутри себя;
   5) на телефоне многоколоночные раскладки схлопываются в одну колонку.
   Любой новый блок ДОЛЖЕН подчиняться этим правилам автоматически. */
img,svg,video,iframe,canvas,picture,object{max-width:100%}
img,video{height:auto}
h1,h2,h3,h4,h5,h6,p,li,a,span,strong,b,em,i,small,label,button,blockquote,figcaption,dd,dt,th,td{overflow-wrap:break-word}
a[href],code,kbd,samp{word-break:break-word}
pre,table{display:block;max-width:100%;overflow-x:auto}
/* канон: дети раскладок сжимаются (иначе длинное слово/число распирает сетку) */
.shell>*,.shero>*,.intro>*,.intro-stat>*,.tariffs>*,.bento>*,.steps>*,.vals>*,.plevels>*,.pnum-band>*,.pflow>*,.svc-grid>*,.bloglist>*,.foot-grid>*,.band-light>*,.seg>*,.chips>*,.addons-grid>*,.trust>*,.artwrap>*,.khero>*,.cta-band>*,.reqbox>*,.statrow>*,.pflow .pf-step,.mm-main>*,.mm-svc>*{min-width:0}
/* раскладки с крупным контентом схлопываются раньше */
@media(max-width:820px){.intro,.intro-stat{grid-template-columns:1fr!important}} /* !important: базовые правила этих сеток объявлены НИЖЕ по файлу */
/* WP-нет: на телефоне любая многоколоночная раскладка → 1 колонка */
@media(max-width:560px){
  .intro,.intro-stat,.band-light,.tariffs,.tariffs.two,.tariffs.four,.bento,.vals,.steps,.plevels,.pnum-band,.svc-grid,.bloglist,.foot-grid,.khero,.shero,.seg,.statrow{grid-template-columns:1fr!important}
}
html{scroll-behavior:smooth}
/* Стандарт якорей: после перехода верх блока полностью виден под липкой шапкой (70px + воздух) */
[id]{scroll-margin-top:92px}
/* цифры из админки: прячем до достоверных данных (кэш/API) — не мелькать неверным */
.hp-boot [data-hp]{visibility:hidden}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h2,h3,h4{font-family:var(--body);letter-spacing:-0.02em;line-height:1.16}
.u{font-family:var(--disp);letter-spacing:-0.01em}
.flag{position:relative}.flag::after{content:"✎";font-size:10px;color:var(--star);vertical-align:super;margin-left:2px;opacity:.75}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15px;padding:13px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .16s,box-shadow .22s,background .22s,color .22s;white-space:nowrap;line-height:1}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:3px solid var(--teal-tint);outline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.btn.p{background:var(--teal-btn);color:#fff;box-shadow:0 14px 26px -12px rgba(0,177,191,.55)}
.btn.p:hover{background:#00636D;color:#fff;transform:translateY(-2px);box-shadow:0 18px 30px -12px rgba(0,177,191,.55)}
.btn.w{background:#fff;color:var(--deep)}.btn.w:hover{transform:translateY(-2px);box-shadow:var(--shs)}
.btn.glass{background:rgba(255,255,255,.16);color:#fff;border:1.5px solid rgba(255,255,255,.4)}.btn.glass:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}
.btn.soft{background:var(--teal-soft);color:var(--teal-dark)}.btn.soft:hover{background:var(--teal-tint)}
.btn.ghost{background:#fff;color:var(--ink-soft);border:1.5px solid var(--line2)}.btn.ghost:hover{border-color:var(--teal);color:var(--teal-dark)}
.btn.lg{padding:15px 28px;font-size:15.5px}

/* ═ HEADER ═ */
.top{position:sticky;top:0;z-index:100;background:rgba(244,248,248,.86);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}
.top-in{max-width:var(--cw);margin:0 auto;padding:0 26px;display:flex;align-items:center;gap:20px;height:70px}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;font-size:18px;white-space:nowrap;flex:0 0 auto}
.brand svg{width:31px;height:31px}
.geo-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line2);padding:8px 14px;border-radius:999px;white-space:nowrap;flex:0 0 auto}
.geo-chip svg{stroke:var(--teal);fill:none;stroke-width:2}
.top nav{display:flex;gap:22px;font-size:14.5px;font-weight:600;color:var(--ink-soft);margin-left:4px;align-items:center}
.top nav>a,.top nav>.navdd,.top nav>.navdd>.nl{white-space:nowrap;flex:0 0 auto}
.top nav a:hover{color:var(--teal-dark)}
.top-r{margin-left:auto;display:flex;align-items:center;gap:16px}
.tel{font-weight:700;font-size:15px;white-space:nowrap}
.cab{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:var(--paper);border:1px solid var(--line2);font-weight:700;font-size:14px;color:var(--deep);transition:border-color .18s,color .18s,background .18s;white-space:nowrap}
.cab svg{width:19px;height:19px;stroke:var(--deep);stroke-width:1.8;fill:none;transition:stroke .18s}
.cab:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-soft)}
.cab:hover svg{stroke:var(--teal-dark)}
.cab{padding:0;width:42px;justify-content:center}
@media(max-width:1160px){.top nav{display:none}}
@media(max-width:780px){.geo-chip,.tel{display:none}.telico{display:flex!important}}
/* мобильная шапка: всё влезает в 375px */
@media(max-width:520px){.top-in{padding:0 12px;gap:8px}.brand{font-size:15px;gap:7px}.brand svg{width:24px;height:24px}.top-r{gap:7px}.top-r .btn.p{padding:11px 12px;font-size:12.5px}.cab{display:none}.mbtn{height:38px;padding:0 10px}.telico{width:38px;height:38px}}
/* иконка телефона в шапке видна на ВСЕХ разрешениях (владелец: не должна пропадать) */
@media(max-width:360px){.top-r .btn.p{padding:10px 11px;font-size:12px}.cab{display:none}}
.telico{display:none;width:42px;height:42px;border-radius:999px;background:var(--paper);border:1px solid var(--line2);align-items:center;justify-content:center}
.telico svg{stroke:var(--deep);stroke-width:1.8;fill:none;width:18px;height:18px}

.navdd{position:relative}
.navdd>.nl{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.navdd>.nl .car{font-size:10px;color:var(--teal);transition:transform .2s}
.navdd:hover>.nl .car,.navdd.open>.nl .car{transform:rotate(180deg)}
.navdd .panel{position:absolute;top:calc(100% + 15px);left:-18px;width:min(860px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh);padding:28px 30px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px 34px;opacity:0;transform:translateY(9px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:120}
.navdd .panel::before{content:"";position:absolute;top:-15px;left:0;right:0;height:15px}
.navdd:hover .panel,.navdd:focus-within .panel,.navdd.open .panel{opacity:1;transform:none;pointer-events:auto}
.navdd h6{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:13px}
.navdd .panel .il{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;margin:0 -12px;border-radius:11px;font-size:15px;font-weight:600;color:var(--ink);transition:background .15s}
.navdd .panel .il:hover{background:var(--teal-soft);color:var(--teal-dark)}
.navdd .panel .il small{font-size:12.5px;font-weight:700;color:var(--teal-dark);white-space:nowrap}
.navdd .dd-promo{background:linear-gradient(150deg,var(--teal-soft),#EFFAFA);border:1px solid var(--teal-tint);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:9px;justify-content:center;align-self:start}
.navdd .dd-promo b{font-size:15px;color:var(--deep)}
.navdd .dd-promo span{font-size:13px;color:var(--muted)}
.navdd .panel h6{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.navdd .panel .dd-note{font-size:12.5px;line-height:1.5;color:var(--muted);margin:8px 0 0;padding:0 12px}
/* футер выпадающего — на всю ширину, как нижняя полоса полноэкранного меню */
.navdd .panel .dd-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:4px;padding-top:18px}
.navdd .panel .dd-foot .dd-tel{font-family:var(--disp);font-weight:800;font-size:19px;color:var(--deep)}
.navdd .panel .dd-foot .dd-tel:hover{color:var(--teal-dark)}
.navdd .panel .dd-foot .dd-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.navdd .panel .dd-foot .btn.p{padding:12px 22px;font-size:14px;flex:0 0 auto}

/* ═ SHELL ═ */
.shell{max-width:var(--cw);margin:22px auto 0;padding:0 26px;display:grid;grid-template-columns:296px minmax(0,1fr);gap:24px;align-items:start}
.shell>main{min-width:0}
.side{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}
.menu{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad2);padding:9px;box-shadow:var(--shc)}
.menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-radius:12px;font-size:15px;font-weight:600;color:var(--ink-soft);transition:background .15s,color .15s}
.menu a:hover{background:var(--bg);color:var(--teal-dark)}
.menu a.act{background:var(--teal-btn);color:#fff}
.menu a.act:hover{color:#fff}
.menu a .ar{color:#B4C9C7;font-weight:400;transition:transform .18s}
.menu a:hover .ar{transform:translateX(3px)}
.menu a.act .ar{color:#D5F4F1}
.menu a .soon{font-size:10.5px;font-weight:700;color:var(--muted);background:var(--bg);padding:3px 8px;border-radius:999px}
.pcard{border-radius:var(--rad2);padding:18px;position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shc)}
.pcard h4{font-weight:700;font-size:15px;margin-bottom:5px}
.pcard p{font-size:12.5px;line-height:1.5;color:var(--muted)}
.pcard .lnk{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:transform .18s,background .18s}
.pcard{transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .22s}
a.pcard{text-decoration:none;color:inherit;display:block}
a.pcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -18px rgba(18,62,68,.45)}
a.pcard:active{transform:translateY(-1px)}
.pcard:hover .lnk{transform:translate(2px,-2px)}
.pcard.tg:hover .tgi,.pcard.app:hover .app-ic{transform:rotate(-6deg) scale(1.05)}
.tgi,.app-ic{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.pcard .lnk svg{stroke:var(--teal)}
.pcard.tg{background:radial-gradient(140% 120% at 108% 115%,rgba(56,178,240,.55),transparent 52%),linear-gradient(150deg,#123E44,#0A1E24);border:0;color:#fff;padding-right:74px}
.pcard.tg h4{color:#fff;font-size:15px;margin-bottom:4px}
.pcard.tg p{color:#B9D6D3;font-size:12px;line-height:1.45}
.pcard.tg .lnk{background:rgba(255,255,255,.16)}
.pcard.tg .lnk svg{stroke:#fff}
.pcard.tg .go{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--spark)}
.pcard.tg .tgi{position:absolute;right:-10px;bottom:-12px;width:80px;height:80px;border-radius:22px;background:linear-gradient(160deg,#45B6F3,#1E92D6);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 30px -10px rgba(30,146,214,.8);transform:rotate(-9deg);overflow:hidden}
.pcard.tg .tgi::after{content:"";position:absolute;top:0;left:0;right:0;height:52%;background:linear-gradient(180deg,rgba(255,255,255,.42),transparent);pointer-events:none}
.pcard.tg .tgi svg{position:relative;z-index:1;width:36px;height:36px;transform:rotate(9deg)}
.pcard.disc{background:linear-gradient(140deg,#2AC6D3,#00A0AF);border:0;color:#fff;box-shadow:0 16px 32px -18px rgba(0,177,191,.6);display:flex;align-items:center;gap:14px}
.pcard.disc .dtext{flex:1;min-width:0}
.pcard.disc h4{color:#fff;font-size:15px;margin-bottom:4px}
.pcard.disc p{color:#E4F9F8;font-size:12px;line-height:1.4}
.pcard.disc .big{flex:0 0 auto;font-family:var(--disp);font-weight:800;font-size:25px;line-height:1;margin:0;color:#fff}
.pcard.app{background:linear-gradient(150deg,#F5FBFB,#E7F5F7);padding-right:70px}
.pcard.app h4{font-size:15px;margin-bottom:4px}
.pcard.app p{font-size:12px;line-height:1.45;color:var(--muted)}
.pcard.app .app-ic{position:absolute;right:-8px;bottom:-10px;width:74px;height:74px;border-radius:20px;background:#fff;border:1px solid var(--teal-tint);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 26px -12px rgba(18,62,68,.25);transform:rotate(-9deg)}
.pcard.app .app-ic svg{stroke:var(--teal);stroke-width:1.8;fill:none;width:32px;height:32px;transform:rotate(9deg)}
.pcard.app .go{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--teal-dark)}
@media(max-width:1160px){.shell{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1160px){.side{display:none}}

/* ═ HERO ═ */
.hero{position:relative;border-radius:var(--rad);overflow:hidden;box-shadow:var(--sh);background:var(--deep2)}
.slides{display:flex;transition:transform .6s cubic-bezier(.3,.7,.2,1);height:440px}
.slide{flex:0 0 100%;position:relative;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 46px 58px}
@media(min-width:821px){.slide{padding-right:300px}}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(102deg,rgba(9,38,42,.84) 26%,rgba(9,38,42,.34) 58%,transparent 82%)}
.slide>*{position:relative;z-index:2}
/* без gap: flex-gap вставлял фантомные зазоры вокруг <span data-hp> внутри текста («диван от  5 810  ₽») */
.slide .tag{display:inline-block;align-self:flex-start;font-size:13px;font-weight:700;background:rgba(255,255,255,.94);color:var(--deep);padding:9px 15px;border-radius:999px;margin-bottom:16px;line-height:1.2}
.slide .tag svg{vertical-align:-3px;margin-right:7px}
.slide .h1{font-family:var(--disp);font-weight:800;font-size:clamp(28px,3vw,42px);line-height:1.08;max-width:16ch;margin-bottom:12px;color:#fff}
.slide h2{font-family:var(--disp);font-weight:800;letter-spacing:-0.01em;font-size:clamp(26px,2.8vw,38px);line-height:1.1;max-width:18ch;margin-bottom:12px;color:#fff}
.slide p.d{font-size:16px;color:#DDEFEC;max-width:46ch;margin-bottom:20px;font-weight:500}
.slide .row{display:flex;gap:12px;flex-wrap:wrap;max-width:520px}
.hprice{display:none;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-bottom:16px}
.hprice b{font-family:var(--disp);font-weight:800;font-size:21px;color:#fff}
.hprice > span{font-size:12.5px;color:#EAF6F4;font-weight:600;white-space:nowrap}
@media(max-width:820px){.hprice{display:flex}}
/* floating price card — richness */
.hcard{position:absolute;right:34px;bottom:34px;z-index:3;width:250px;background:rgba(12,42,46,.5);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.24);border-radius:18px;padding:18px 20px;color:#fff}
.hcard .cp{font-size:12.5px;color:#A9DCD6}
.hcard .pp{font-family:var(--disp);font-weight:800;font-size:28px;line-height:1.1}
.hcard .pp small{font-family:var(--body);font-weight:600;font-size:13px;color:#A9DCD6}
.hcard .rr{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.hcard .rr .s{color:#FFD36B;font-size:13px;letter-spacing:1px}
.hcard .rr b{font-family:var(--disp);font-weight:800;font-size:16px}
.hcard .rr span{font-size:11.5px;color:#BFE5E0}
.dots{position:absolute;left:46px;bottom:24px;z-index:4;display:flex;gap:7px}
.dots button{width:9px;height:9px;border-radius:999px;border:0;background:rgba(255,255,255,.45);cursor:pointer;transition:width .25s,background .25s;padding:0}
.dots button.on{width:26px;background:#fff}
@media(max-width:820px){.slides{height:auto;min-height:400px}.slide{min-height:400px;padding:28px 24px 40px}.hcard{display:none}
/* на мобильном текст внизу — скрим вертикальный, читается вся строка цены/рейтинга */
.slide::after{background:linear-gradient(180deg,rgba(9,38,42,.32) 0%,rgba(9,38,42,.5) 42%,rgba(9,38,42,.9) 100%)}}

/* trust strip — slim, not icon-tiles */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}
.trust .t{display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:13px 16px;box-shadow:var(--shc);min-width:0}
.trust .t .ic{width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.trust .t .ic svg{width:19px;height:19px;stroke:var(--teal);stroke-width:1.9;fill:none}
.trust .t .ic.star{background:#FFF3DF}
.trust .t .ic.star svg{fill:#F5A623;stroke:none}
.trust .t .tx{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.18}
.trust .t .tx b{font-family:var(--disp);font-weight:800;color:var(--deep);font-size:15px;white-space:nowrap;margin-bottom:2px}
.trust .t .tx i{font-style:normal;font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.25}
@media(max-width:820px){.trust{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.trust{grid-template-columns:1fr}}

/* sections */
section.s{margin-top:48px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.kick{font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-dark);margin-bottom:10px;display:inline-flex;align-items:center;gap:8px}
.kick svg{width:13px;height:13px}
h2.st{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.5vw,31px);letter-spacing:-0.02em;line-height:1.12;text-wrap:balance}
.sub{color:var(--muted);font-size:15.5px;margin-top:7px;max-width:56ch}

/* service cards — rich, photo-forward */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;transition:transform .18s,box-shadow .22s,border-color .2s;display:flex;flex-direction:column;box-shadow:var(--shc)}
.svc:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--teal-tint)}
.svc .ph{position:relative;aspect-ratio:16/9;overflow:hidden}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.svc:hover .ph img{transform:scale(1.07)}
.svc .badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);color:var(--deep);font-family:var(--disp);font-weight:800;font-size:13px;padding:6px 13px;border-radius:999px;box-shadow:var(--shc)}
.svc .body{padding:16px 20px 18px;display:flex;flex-direction:column;flex:1}
.svc h3{font-weight:700;font-size:16.5px;margin-bottom:9px}
.svc ul{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.svc li{font-size:13.5px;color:var(--ink-soft);padding-left:23px;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:5px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2319C37D' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat}
.svc .acts{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.svc .acts .btn{padding:11px 8px;font-size:14px;min-width:0;width:100%}
.svc .more::after{content:"";position:absolute;inset:0;z-index:1}
.svc .order{position:relative;z-index:2}
.svc:hover .more{border-color:var(--teal);color:var(--teal-dark)}
@media(max-width:980px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* why — bento with photo (texture back, less icon-mono) */
.bento{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:1fr;gap:20px}
.b-big{grid-row:span 2;position:relative;border-radius:var(--rad);overflow:hidden;min-height:400px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;box-shadow:var(--shs)}
.b-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.b-big::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,38,42,.1) 34%,rgba(9,38,42,.9))}
.b-big>*{position:relative;z-index:2}
.b-big .tt{display:inline-flex;align-self:flex-start;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:700;margin-bottom:12px;backdrop-filter:blur(4px)}
.b-big h3{font-weight:700;font-size:22px;margin-bottom:9px}
.b-big p{font-size:14.5px;color:#DBEEEB;max-width:34ch}
.bf{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;transition:transform .18s,box-shadow .2s;box-shadow:var(--shc);display:flex;flex-direction:column}
.bf:hover{transform:translateY(-4px);box-shadow:var(--shs)}
.bf .g{width:48px;height:48px;border-radius:14px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.bf .g svg{stroke:var(--teal);stroke-width:1.7;fill:none}
.bf.gr .g{background:var(--green-soft)}.bf.gr .g svg{stroke:var(--green)}
.bf h3{font-weight:700;font-size:17px;margin-bottom:7px}
.bf p{font-size:14px;color:var(--ink-soft)}
@media(max-width:900px){.bento{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.b-big{grid-row:auto;grid-column:1/-1;min-height:260px}}
@media(max-width:560px){.bento{grid-template-columns:1fr}}

/* tabs */
.tabs-bar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
.tab-b{font-weight:700;font-size:14px;padding:11px 20px;border-radius:999px;border:1.5px solid var(--line2);background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:all .15s}
.tab-b:hover{border-color:var(--teal-tint)}
.tab-b.on{background:var(--teal-btn);border-color:var(--teal-btn);color:#fff}
.tab-pane{display:none;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;box-shadow:var(--shc)}
.tab-pane.on{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center}
.tab-pane .tp-ph{border-radius:var(--rad2);overflow:hidden;aspect-ratio:1;align-self:start}
.tab-pane .tp-ph img{width:100%;height:100%;object-fit:cover}
.tab-pane ul{list-style:none;columns:2;column-gap:30px}
.tab-pane li{font-size:14.5px;color:var(--ink-soft);padding-left:24px;position:relative;margin-bottom:10px;break-inside:avoid}
.tab-pane li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:5px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2319C37D' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat}
.tab-pane .meta{grid-column:1/-1;display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;font-size:13.5px;color:var(--muted)}
.tab-pane .meta b{color:var(--deep);font-family:var(--disp);font-weight:800;font-size:14px}
@media(max-width:780px){.tab-pane.on{grid-template-columns:1fr}.tab-pane ul{columns:1}}

/* price + request */
.band-light{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:30px;display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:start;box-shadow:var(--shc)}
.band-light .nums{display:flex;gap:28px;flex-wrap:wrap;margin:16px 0 18px}
.band-light .n b{display:block;font-family:var(--disp);font-weight:800;font-size:22px;color:var(--deep)}
.band-light .n span{font-size:13px;color:var(--muted)}
.band-light h2{font-weight:800;font-size:26px;margin-bottom:6px}
.band-light .lead2{font-size:15px;color:var(--muted)}
.chan{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px}
.chan a{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:var(--ink-soft)}
.chan a .ci{width:38px;height:38px;border-radius:11px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.chan a .ci svg{stroke:var(--teal);stroke-width:1.7;fill:none}
.chan a:hover{color:var(--teal-dark)}
.reqbox{background:linear-gradient(155deg,var(--deep),var(--deep2));border-radius:var(--rad2);padding:26px;color:#fff}
.reqbox h3{font-weight:700;font-size:19px;margin-bottom:4px}
.reqbox p.d{font-size:13.5px;color:#A9DCD6;margin-bottom:16px}
.reqbox .frow{display:flex;flex-direction:column;gap:10px}
.reqbox input{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:14px 20px;font-family:var(--body);font-size:15px;color:#fff;outline:none}
.reqbox input::placeholder{color:#8FC4BD}.reqbox input:focus{border-color:var(--spark)}
.reqbox .cons{font-size:11.5px;color:#7FB0AA;margin-top:12px}
.reqbox .cons a{text-decoration:underline}
.req-tel{display:block;margin-top:14px;font-size:13px;font-weight:700;color:#8FC4BD;text-align:center}
.req-tel:hover{color:#fff}
/* calculator */
.cfield{margin-top:18px}
.clab{display:block;font-size:13.5px;font-weight:700;color:var(--ink-soft);margin-bottom:10px}
.clab b{font-family:var(--disp);color:var(--deep);font-size:14px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg button{font-family:var(--body);font-weight:700;font-size:13px;padding:12px 6px;border-radius:12px;border:1.5px solid var(--line2);background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.seg button:hover{border-color:var(--teal-tint)}
.seg button.on{background:var(--teal-btn);border-color:var(--teal-btn);color:#fff}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--teal-soft);cursor:pointer}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--teal-btn);border:3px solid #fff;box-shadow:var(--shc)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--teal-btn);border:3px solid #fff}
.cscale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:7px}
.cresult{margin-top:20px;padding:18px 20px;border-radius:var(--rad2);background:var(--teal-soft);border:1px solid var(--teal-tint)}
.cr-row{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap}
.cr-lab{font-size:13.5px;font-weight:700;color:var(--ink-soft);flex:1 1 auto;min-width:0}
.cr-price{font-family:var(--disp);font-weight:800;font-size:29px;color:var(--deep);line-height:1;white-space:nowrap;flex:0 0 auto}
.cr-sub{font-size:12.5px;color:var(--ink-soft);margin-top:8px;font-weight:600}
.cr-note{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.45}
.calc-link{display:inline-block;margin-top:15px;font-size:13.5px;font-weight:700;color:var(--teal-dark)}
.calc-link:hover{color:var(--teal-btn)}
@media(max-width:880px){.band-light{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.band-light{padding:20px}}

/* ecosystem — «мы на связи там, где удобно вам» */
.eco{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eco-c{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;box-shadow:var(--shc);display:flex;flex-direction:column;transition:transform .18s,box-shadow .2s;overflow:hidden}
.eco-c:hover{transform:translateY(-4px);box-shadow:var(--shs)}
.eco-c .ei{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;overflow:hidden}
.eco-c .ei::after{content:"";position:absolute;top:0;left:0;right:0;height:52%;background:linear-gradient(180deg,rgba(255,255,255,.38),transparent)}
.eco-c .ei.app{background:linear-gradient(160deg,#2AC6D3,#007C88)}
.eco-c .ei.tg{background:linear-gradient(160deg,#45B6F3,#1E92D6)}
.eco-c .ei.mx{background:linear-gradient(160deg,#5B8DFF,#2B5FE0)}
/* оригинальный логотип MAX в плитке-иконке: белая плитка (форма как у соседей) + сам логотип */
.mxlogo{display:block;width:82%;height:82%;object-fit:contain;margin:auto}
.eco-c .ei.mx,.mm-chan.mx .ci,.chan a .ci:has(.mxlogo),.ci.mx{background:#fff!important;border:1px solid var(--line2)}
.eco-c .ei.mx::after{content:none}
.eco-c h3{font-weight:700;font-size:17px;margin-bottom:6px}
.eco-c p{font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:14px;flex:1}
.eco-c .go{font-weight:800;font-size:13.5px;color:var(--teal-dark)}
.eco-c:hover .go{color:var(--teal-btn)}
.eco-common{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font-size:13px;color:var(--muted)}
.eco-common b{color:var(--ink-soft);font-weight:700}
.eco-common .dot{opacity:.45}
@media(max-width:820px){.eco{grid-template-columns:1fr}}

/* reviews */
.rev-wrap{display:grid;grid-template-columns:300px 1fr;gap:20px}
.yw{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shc)}
.yw .num{font-family:var(--disp);font-weight:800;font-size:44px;line-height:1;color:var(--deep)}
.yw .stars{color:var(--star);font-size:17px;letter-spacing:2px}
.yw .cap{font-size:13px;color:var(--muted)}
.yw .plats{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.yw .plats a{font-size:13.5px;font-weight:700;color:var(--teal-dark)}
.rev-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rv{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:22px 24px;box-shadow:var(--shc)}
.rv .st{color:var(--star);letter-spacing:1.5px;font-size:13px;margin-bottom:9px}
.rv p{font-size:14.5px;color:var(--ink-soft);margin-bottom:12px;line-height:1.55}
.rv .who{font-size:12.5px;color:var(--muted);font-weight:700}
@media(max-width:880px){.rev-wrap{grid-template-columns:1fr}.rev-list{grid-template-columns:1fr}}

/* seo + faq */
.seofaq{display:grid;grid-template-columns:1.05fr 1fr;gap:36px}
.seo-txt p{font-size:15px;color:var(--ink-soft);max-width:64ch;margin-bottom:12px}
.seo-txt h3{font-weight:700;font-size:16px;color:var(--deep);margin:18px 0 7px}
.seo-txt a{color:var(--teal-dark);font-weight:700;border-bottom:1px solid var(--teal-tint)}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:2px 22px;margin-bottom:10px;box-shadow:var(--shc)}
.faq details[open]{border-color:var(--teal-tint)}
.faq summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--teal);font-weight:700;font-size:21px;flex:0 0 auto}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-bottom:16px;color:var(--ink-soft);font-size:14.5px}
@media(max-width:880px){.seofaq{grid-template-columns:1fr}}

/* ═ FOOTER — light with contour ═ */
footer{margin-top:60px;background:linear-gradient(180deg,var(--teal-soft),#EFF8F8);border-top:1px solid var(--teal-tint)}
.foot{max-width:var(--cw);margin:0 auto;padding:44px 26px 26px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:28px;border-bottom:1px solid var(--teal-tint)}
.fbrand{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:800;color:var(--ink);font-size:18px;margin-bottom:12px}
.fbrand svg{width:28px;height:28px}
.fcol b{color:var(--ink);display:block;margin-bottom:13px;font-size:12px;font-weight:800;letter-spacing:.05em}
.fcol a{color:var(--ink-soft);display:block;padding:4px 0;font-size:14px;font-weight:500}
.fcol a:hover{color:var(--teal-dark)}
.fdesc{color:var(--ink-soft);font-size:14px;max-width:32ch;margin-bottom:14px}
.fcontact a{color:var(--ink);display:block;padding:2px 0;font-weight:700;font-size:15px}
.socs{display:flex;gap:9px;margin-top:14px}
.socs a{width:38px;height:38px;border-radius:11px;background:var(--paper);border:1px solid var(--teal-tint);display:flex;align-items:center;justify-content:center;transition:transform .16s}
.socs a:hover{transform:translateY(-2px)}
.socs a svg{display:block}
.foot-bot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:18px;font-size:12.5px;color:var(--muted)}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ═ MENU OVERLAY (recmos-стиль): кнопка «Меню» → крупная панель ═
   В WordPress пункты рендерятся модулем «Меню» (wp_nav_menu), разметка — этот шаблон */
.mbtn{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border-radius:999px;background:var(--deep);color:#fff;font-weight:700;font-size:14px;border:0;cursor:pointer;transition:background .18s,transform .16s}
.mbtn:hover{background:var(--deep2);transform:translateY(-1px)}
.mbtn .bars{display:flex;flex-direction:column;gap:4px}
.mbtn .bars i{display:block;width:16px;height:2px;border-radius:2px;background:#fff;transition:transform .2s}
.mmenu{position:fixed;inset:0;z-index:300;background:rgba(8,30,33,.44);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s}
.mmenu.open{opacity:1;pointer-events:auto}
.mm-panel{position:absolute;top:14px;left:14px;right:14px;max-width:1080px;margin:0 auto;background:var(--paper);border-radius:26px;box-shadow:var(--sh);padding:30px 34px 26px;max-height:calc(100dvh - 28px);overflow:auto;transform:translateY(-14px);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.mmenu.open .mm-panel{transform:none}
.mm-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.mm-close{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line2);background:var(--paper);cursor:pointer;font-size:18px;color:var(--ink);transition:border-color .18s,color .18s}
.mm-close:hover{border-color:var(--teal);color:var(--teal-dark)}
.mm-panel{max-width:1120px}
.mm-main{display:grid;grid-template-columns:1.7fr 1fr 1.05fr;gap:16px 34px}
.mm-main h6{font-size:11.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
/* услуги — карточки с превью */
.mm-svc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm-svc a{display:flex;align-items:center;gap:12px;padding:9px;margin:-1px;border-radius:14px;transition:background .15s}
.mm-svc a:hover{background:var(--teal-soft)}
.mm-svc .th{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.mm-svc .txt{display:flex;flex-direction:column;min-width:0}
.mm-svc .nm{font-weight:700;font-size:14.5px;color:var(--ink);white-space:nowrap}
.mm-svc a:hover .nm{color:var(--teal-dark)}
.mm-svc .pr{font-size:12.5px;font-weight:700;color:var(--teal-dark)}
/* колонка ссылок */
.mm-col a,.mm-col .soon-l{display:block;padding:7px 0;font-size:15px;font-weight:600;color:var(--ink-soft)}
.mm-col a:hover{color:var(--teal-dark)}
.mm-col .soon-l{color:var(--muted);font-weight:500}
/* промо-стек */
.mm-promo{display:flex;flex-direction:column;gap:12px}
.mm-banner{position:relative;overflow:hidden;border-radius:16px;padding:20px;background:radial-gradient(120% 120% at 100% 0,rgba(140,235,241,.5),transparent 55%),linear-gradient(150deg,var(--teal-btn),#005A64);color:#fff;display:flex;flex-direction:column;gap:5px}
.mm-banner .mb-k{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--spark)}
.mm-banner b{font-family:var(--disp);font-weight:800;font-size:18px;line-height:1.12}
.mm-banner .mb-go{font-size:13px;font-weight:800;margin-top:6px}
.mm-chan{display:flex;align-items:center;gap:13px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--paper);transition:transform .16s,box-shadow .18s}
.mm-chan:hover{transform:translateY(-2px);box-shadow:var(--shc)}
.mm-chan .ci{width:44px;height:44px;border-radius:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.mm-chan .ci::after{content:"";position:absolute;top:0;left:0;right:0;height:52%;background:linear-gradient(180deg,rgba(255,255,255,.38),transparent)}
.mm-chan.tg .ci{background:linear-gradient(160deg,#45B6F3,#1E92D6)}
.mm-chan.mx .ci{background:linear-gradient(155deg,#2B7FFF,#7B4DFF)}
.mm-chan .ci svg{position:relative;z-index:1}
.mm-chan b{display:block;font-size:14.5px;color:var(--ink)}
.mm-chan i{font-style:normal;font-size:12.5px;color:var(--muted)}
@media(max-width:980px){.mm-main{grid-template-columns:1fr 1fr}.mm-promo{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.mm-promo>*{flex:1 1 220px}}
@media(max-width:620px){.mm-main{grid-template-columns:1fr}.mm-svc{grid-template-columns:1fr}}
.mm-bot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:8px;padding-top:20px}
.mm-bot .tel2{font-family:var(--disp);font-weight:800;font-size:18px;color:var(--deep)}
.mm-bot .tel2:hover{color:var(--teal-dark)}
.mm-bot .row2{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:860px){.mm-grid{grid-template-columns:1fr}.mm-panel{padding:22px}}
@media(max-width:780px){.mbtn span.lbl{display:none}.mbtn{padding:0 13px}}

/* ═ CONSENT — обязательное согласие в лид-формах (152-ФЗ) ═ */
.consent{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:12px;line-height:1.5;color:var(--muted);cursor:pointer}
.consent input{flex:0 0 auto;width:17px;height:17px;margin-top:1px;accent-color:var(--teal-btn);cursor:pointer}
.consent>span a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.consent>span a:hover{color:var(--teal-btn)}
.consent.warn>span{color:#C0453A}
.consent.warn input{outline:2px solid #E4736A;outline-offset:2px;border-radius:5px}
/* тот же чекбокс на тёмной карточке заявки */
.reqbox .consent{color:#93C4BE;margin-top:12px}
.reqbox .consent input{accent-color:var(--spark)}
.reqbox .consent>span a{color:#CFEEEA}
.reqbox .consent>span a:hover{color:#fff}
.reqbox .consent.warn>span{color:#FFB4A9}
.reqbox .consent.warn input{outline-color:#FFB4A9}

/* ссылки на юр-документы в подвале */
.foot-bot .legal-links{display:inline-flex;gap:12px;flex-wrap:wrap;align-items:center}
.foot-bot .legal-links a{color:var(--ink-soft);font-weight:600}
.foot-bot .legal-links a:hover{color:var(--teal-dark)}
.foot-bot .legal-links .sep{opacity:.5}

/* ═ LEGAL — страницы /policy и /terms ═ */
.legalwrap{max-width:920px;margin:0 auto;padding:0 26px}
.legal-hd{margin:24px 0 26px}
.legal-hd h1{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3vw,38px);letter-spacing:-0.02em;line-height:1.1;margin-bottom:12px;text-wrap:balance}
.legal-hd .meta{font-size:13.5px;color:var(--muted)}
.legal-hd .meta b{color:var(--ink-soft);font-weight:700}
.legal-toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad2);padding:20px 24px;margin-bottom:30px;box-shadow:var(--shc)}
.legal-toc b{font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:12px}
.legal-toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:34px}
.legal-toc li{counter-increment:toc;margin-bottom:9px;break-inside:avoid}
.legal-toc a{font-size:14px;color:var(--ink-soft);font-weight:600}
.legal-toc a:hover{color:var(--teal-dark)}
.legal-toc a::before{content:counter(toc) ". ";color:var(--teal);font-weight:800}
.legal-sec{margin-bottom:28px}
.legal-sec h2{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-0.01em;line-height:1.2;margin-bottom:12px}
.legal-sec h2 .no{color:var(--teal);margin-right:9px}
.legal-sec h3{font-weight:700;font-size:15.5px;color:var(--deep);margin:16px 0 7px}
.legal-sec p{font-size:15px;color:var(--ink-soft);line-height:1.66;margin-bottom:12px}
.legal-sec ul,.legal-sec ol.lst{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.legal-sec li{font-size:15px;color:var(--ink-soft);line-height:1.55;padding-left:26px;position:relative}
.legal-sec ul li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.legal-sec ol.lst{counter-reset:lst}
.legal-sec ol.lst li{counter-increment:lst}
.legal-sec ol.lst li::before{content:counter(lst);position:absolute;left:0;top:1px;width:20px;height:20px;font-size:11px;font-weight:800;color:var(--teal-dark);background:var(--teal-soft);border-radius:6px;display:flex;align-items:center;justify-content:center}
.legal-sec a.inl{color:var(--teal-dark);font-weight:700;border-bottom:1px solid var(--teal-tint)}
.legal-req{background:var(--teal-soft);border:1px solid var(--teal-tint);border-radius:var(--rad2);padding:20px 24px;margin:6px 0 14px}
.legal-req p{margin-bottom:5px;font-size:14.5px;color:var(--ink-soft)}
.legal-req b{color:var(--ink)}
.needs{background:#FFF3DF;color:#8A6D1A;padding:0 6px;border-radius:5px;font-weight:600;font-size:.94em;box-shadow:inset 0 0 0 1px #EFD9A6}
@media(max-width:640px){.legal-toc ol{columns:1}}

html.anim .rvl{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
html.anim .rvl.in{opacity:1;transform:none}

/* ═══ SERVICE PAGES (страницы услуг: /uborka-kvartir, /moyka-okon, /himchistka-* и т.д.) ═══
   Общие компоненты страниц-услуг. Раньше жили inline в uborka-kvartir.html — вынесены сюда
   (DRY: одна правка меняет все страницы услуг; на WP это шаблон single-service). */
.wrap{max-width:var(--cw);margin:0 auto;padding:0 26px}
.crumbs{max-width:var(--cw);margin:0 auto;padding:16px 26px 0;font-size:13px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--teal-dark)}
.crumbs .sep{opacity:.5}
.crumbs .cur{color:var(--ink-soft);font-weight:600}
/* service hero */
.shero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin-top:20px}
.shero .h1{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.4vw,46px);line-height:1.05;letter-spacing:-0.02em;margin:12px 0 14px;text-wrap:balance;hyphens:auto}
.shero .lead{font-size:17px;color:var(--ink-soft);max-width:46ch;line-height:1.55;margin-bottom:22px}
.shero .price-row{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.shero .price-row b{font-family:var(--disp);font-weight:800;font-size:34px;color:var(--deep);line-height:1}
.shero .price-row > span{font-size:14px;color:var(--muted);font-weight:600}
.shero .chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.shero .chips span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;box-shadow:var(--shc)}
.shero .chips svg{width:15px;height:15px;stroke:var(--teal);stroke-width:2;fill:none}
.shero .chips .st{color:var(--star);font-size:14px}
.shero .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.shero .cta .tel-l{font-weight:700;font-size:15px;color:var(--deep)}
.shero .cta .tel-l:hover{color:var(--teal-dark)}
.shero-img{position:relative;border-radius:var(--rad);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sh)}
.shero-img img{width:100%;height:100%;object-fit:cover}
.shero-img .float{position:absolute;left:20px;bottom:20px;background:rgba(12,42,46,.52);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.24);border-radius:16px;padding:14px 18px;color:#fff;display:flex;align-items:center;gap:13px}
.shero-img .float .n{font-family:var(--disp);font-weight:800;font-size:24px;line-height:1}
.shero-img .float .s{color:#FFD36B;font-size:13px;letter-spacing:1px}
.shero-img .float small{display:block;font-size:11.5px;color:#BFE5E0;margin-top:3px}
@media(max-width:900px){.shero{grid-template-columns:1fr;gap:26px}.shero-img{aspect-ratio:16/10}}
/* intro */
.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.intro .txt p{font-size:16px;color:var(--ink-soft);line-height:1.62;margin-bottom:14px}
.intro .txt p b{color:var(--deep)}
.intro-stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 28px;box-shadow:var(--shc);display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}
.intro-stat .s b{display:block;font-family:var(--disp);font-weight:800;font-size:27px;color:var(--deep);line-height:1}
.intro-stat .s > span{font-size:12.5px;color:var(--muted);margin-top:5px;display:block;line-height:1.35}
@media(max-width:820px){.intro{grid-template-columns:1fr;gap:26px}}
/* tariffs / price cards */
.tariffs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.tariffs.two{grid-template-columns:repeat(2,1fr)}
.tariffs.four{grid-template-columns:repeat(4,1fr)}
.tariff{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shc);transition:transform .18s,box-shadow .22s,border-color .2s}
.tariff:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--teal-tint)}
.tariff.hot{border:1.5px solid var(--teal)}
.tariff .ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.tariff .ph img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.tariff:hover .ph img{transform:scale(1.06)}
.tariff .hot-badge{position:absolute;top:14px;right:14px;background:var(--teal-btn);color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.tariff .body{padding:22px;display:flex;flex-direction:column;flex:1}
.tariff h3{font-family:var(--disp);font-weight:700;font-size:19px;letter-spacing:-0.01em;margin-bottom:6px}
.tariff .pr{font-family:var(--disp);font-weight:800;font-size:25px;color:var(--deep);line-height:1;margin-bottom:3px}
.tariff .pr small{font-family:var(--body);font-weight:600;font-size:13px;color:var(--muted)}
.tariff .tmeta{font-size:12.5px;color:var(--muted);margin:8px 0 16px;display:flex;gap:8px 14px;flex-wrap:wrap}
.tariff .tmeta b{color:var(--ink-soft);font-weight:700}
.tariff ul{list-style:none;display:flex;flex-direction:column;gap:9px;margin-bottom:20px;flex:1}
.tariff li{font-size:14px;color:var(--ink-soft);padding-left:26px;position:relative;line-height:1.4}
.tariff li::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:6px;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2319C37D' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat}
.tariff .t-cta{display:flex;gap:10px}
.tariff .t-cta .btn{flex:1;padding:11px 10px;font-size:14px}
@media(max-width:980px){.tariffs,.tariffs.two,.tariffs.four{grid-template-columns:1fr}}
/* pricelist — простая таблица цен для поштучных услуг (окна, мебель, ковры) */
.pricelist{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--shc);overflow:hidden}
.pricelist .pl-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;border-top:1px solid var(--line)}
.pricelist .pl-row:first-child{border-top:0}
.pricelist .pl-row .pl-n{font-weight:600;font-size:15px;color:var(--ink)}
.pricelist .pl-row .pl-n small{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:2px}
.pricelist .pl-row .pl-p{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--deep);white-space:nowrap}
.pricelist .pl-row .pl-p small{font-family:var(--body);font-weight:600;font-size:12.5px;color:var(--muted)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;box-shadow:var(--shc)}
.step .num{font-family:var(--disp);font-weight:800;font-size:16px;color:#fff;background:var(--teal-btn);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.step h3{font-weight:700;font-size:16px;margin-bottom:6px}
.step p{font-size:13.5px;color:var(--ink-soft);line-height:1.45}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.steps{grid-template-columns:1fr}}
/* districts */
.districts{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:28px 30px;box-shadow:var(--shc)}
.districts p{font-size:15px;color:var(--ink-soft);max-width:70ch;margin-bottom:16px}
.dchips{display:flex;flex-wrap:wrap;gap:9px}
.dchips span{font-size:13.5px;font-weight:600;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 15px}
.dchips span.lo{background:var(--teal-soft);color:var(--teal-dark);border-color:var(--teal-tint)}
/* cross-sell */
.xsell{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.xs{position:relative;border-radius:var(--rad);overflow:hidden;padding:30px;min-height:158px;display:flex;flex-direction:column;justify-content:center;color:#fff;box-shadow:var(--shs)}
.xs.a{background:linear-gradient(140deg,#2AC6D3,#00A0AF)}
.xs.b{background:radial-gradient(130% 120% at 100% 110%,rgba(56,178,240,.5),transparent 55%),linear-gradient(150deg,#123E44,#0A1E24)}
.xs h3{font-family:var(--disp);font-weight:800;font-size:22px;margin-bottom:7px}
.xs p{font-size:14px;color:rgba(255,255,255,.86);max-width:32ch;margin-bottom:15px;line-height:1.45}
.xs .go{font-weight:800;font-size:13.5px;display:inline-flex;align-items:center;gap:6px}
.xs .big{position:absolute;right:24px;top:22px;font-family:var(--disp);font-weight:800;font-size:40px;opacity:.92;line-height:1}
@media(max-width:700px){.xsell{grid-template-columns:1fr}}
/* cta band */
.cta-band{background:linear-gradient(150deg,var(--deep),var(--deep2));border-radius:var(--rad);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;color:#fff;box-shadow:var(--sh)}
.cta-band .cb-t h2{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.6vw,32px);letter-spacing:-0.02em;line-height:1.12;max-width:20ch}
.cta-band .cb-t p{font-size:15px;color:#A9DCD6;margin-top:9px}
.cta-band .cb-act{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:700px){.cta-band{padding:30px;flex-direction:column;align-items:flex-start}}
/* faq: 2 колонки + sticky-карточка связи */
.faqwrap{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.faqwrap:has(.askcard){grid-template-columns:minmax(0,1fr) 340px}
/* ссылки «Оставить отзыв» на карты (значения URL — из админки, параметры review_url_*) */
.plats-links{display:inline-flex;gap:6px 16px;flex-wrap:wrap;align-items:center}
.plats-links i{font-style:normal;font-size:13.5px;color:var(--muted)}
.plats-links a{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--deep)}
.plats-links a:hover{color:var(--teal-dark)}
.plats-links img{width:18px;height:18px;border-radius:4px;display:block}
.askcard{position:sticky;top:92px;background:linear-gradient(150deg,var(--deep),var(--deep2));border-radius:var(--rad);padding:26px;color:#fff;box-shadow:var(--shs)}
.askcard h3{font-weight:700;font-size:18px;margin-bottom:7px}
.askcard p{font-size:13.5px;color:#A9DCD6;line-height:1.5;margin-bottom:16px}
.askcard .ch{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);font-weight:700;font-size:14px;color:#fff}
.askcard .ch:hover{color:var(--spark)}
.askcard .ch .ci{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.askcard .ch .ci.tg{background:linear-gradient(160deg,#45B6F3,#1E92D6)}
.askcard .ch .ci.mx{background:linear-gradient(160deg,#5B8DFF,#2B5FE0)}
.askcard .ch .ci.ph{background:rgba(255,255,255,.14)}
.askcard .note{font-size:12px;color:#7FB0AA;margin-top:12px}
@media(max-width:900px){.faqwrap{grid-template-columns:1fr}.askcard{position:static}}
main{padding-top:2px}

/* ═══ COMPANY / CONTENT PAGES (контакты, о компании, блог, статья) ═══ */
.phero{margin:24px 0 34px;max-width:64ch}
.phero .h1{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.2vw,44px);line-height:1.06;letter-spacing:-0.02em;margin:12px 0 14px;text-wrap:balance;hyphens:auto}
.phero .lead{font-size:17px;color:var(--ink-soft);line-height:1.55}
/* «дозаказать» — доп-услуги из админки (data-addons, наполняет data.js) */
.addons-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 30px 28px;box-shadow:var(--shc)}
.addons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:12px}
.ad-chip{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:13px;background:var(--paper);border:1px solid var(--line2);border-radius:14px;padding:13px 16px;transition:border-color .16s,box-shadow .18s,transform .16s}
.ad-chip::before{content:"+";grid-row:1/3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:var(--teal-tint);color:var(--teal-dark);font-size:24px;font-weight:400}
.ad-chip:hover{border-color:var(--teal);box-shadow:var(--shc);transform:translateY(-2px)}
.ad-chip b{grid-column:2;grid-row:1;font-size:14px;font-weight:700;color:var(--ink);line-height:1.22;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-chip i{grid-column:2;grid-row:2;font-style:normal;font-size:12.5px;font-weight:700;color:var(--teal-dark);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addons-note{font-size:13.5px;color:var(--muted);margin-top:18px;line-height:1.55}
.addons-note a{color:var(--teal-dark);font-weight:700}

/* ── Партнёрская программа ── */
.pnum-band{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pnum{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;box-shadow:var(--shc)}
.pnum b{display:block;font-family:var(--disp);font-weight:800;font-size:44px;line-height:1;color:var(--teal-dark);letter-spacing:-.02em}
.pnum b i{font-style:normal;font-size:18px;font-weight:700;margin-left:5px;color:var(--teal)}
.pnum span{display:block;margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.pflow{display:flex;align-items:stretch;gap:14px;flex-wrap:wrap}
.pf-step{flex:1;min-width:210px;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:22px 24px;box-shadow:var(--shc)}
.pf-step .pf-i{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--teal-tint);color:var(--teal-dark);font-size:19px;font-weight:800;margin-bottom:14px}
.pf-step b{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.pf-step span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:var(--muted)}
.pf-step.done{border-color:var(--teal);background:linear-gradient(135deg,rgba(0,177,191,.09),var(--paper))}
.pf-step.done .pf-i{background:var(--teal);color:#fff}
.pf-arr{display:flex;align-items:center;color:var(--teal);flex:0 0 auto}
.pf-arr svg{stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.plevels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ptier{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 26px 24px;box-shadow:var(--shc)}
.ptier.hot{border-color:var(--teal);box-shadow:0 12px 34px rgba(0,177,191,.16)}
.ptier.hot::after{content:"растёт";position:absolute;top:18px;right:18px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-dark);background:var(--teal-tint);padding:4px 10px;border-radius:999px}
.pt-k{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.pt-pct{font-family:var(--disp);font-weight:800;font-size:32px;color:var(--ink);margin:10px 0 12px;letter-spacing:-.01em;line-height:1}
.pt-pct small{font-size:14px;font-weight:700;color:var(--teal-dark);margin-left:6px}
.ptier p{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}
.pprog{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 30px 24px;box-shadow:var(--shc)}
.pp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pp-head b{font-size:16px;font-weight:800;color:var(--ink)}
.pp-head span{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.pp-row{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.pp-l{font-size:14px;font-weight:700;color:var(--ink-soft)}
.pbar{height:9px;border-radius:999px;background:var(--bg);overflow:hidden;border:1px solid var(--line)}
.pbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--teal-dark))}
.pp-v{font-size:13.5px;font-weight:800;color:var(--teal-dark);white-space:nowrap}
.pp-note{margin-top:16px;font-size:13.5px;line-height:1.6;color:var(--muted)}
@media(max-width:900px){.pnum-band{grid-template-columns:repeat(2,1fr)}.plevels{grid-template-columns:1fr}.pflow{flex-direction:column}.pf-arr{justify-content:center;transform:rotate(90deg)}.pp-row{grid-template-columns:1fr auto;gap:6px 12px}.pp-l{grid-column:1/-1}.pbar{grid-column:1}}

/* ── Инфо-панель «метод/оборудование» (не услуга) ── */
.methodcard{display:flex;flex-direction:column;background:linear-gradient(158deg,var(--teal-tint),var(--paper) 60%);border:1px solid var(--line);border-radius:var(--rad);padding:28px 30px;box-shadow:var(--shc)}
/* рядом с высокой тариф-картой methodcard тянется на высоту ряда и центрирует контент — без провала снизу */
.tariffs .methodcard{align-self:stretch;justify-content:center}
.methodcard .mc-k{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--teal-dark)}
.methodcard h3{font-family:var(--disp);font-weight:800;font-size:22px;color:var(--ink);margin:9px 0 5px;letter-spacing:-.01em}
.methodcard .mc-note{font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:18px}
.methodcard ul{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0;padding:0}
.methodcard li{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.methodcard li::before{content:"✓";display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--teal-btn);color:#fff;font-size:13px;font-weight:800;flex:0 0 auto;margin-top:1px}

/* ── Слим-полоса партнёрки (интеграция на страницах) ── */
.pstrip{display:flex;align-items:center;gap:22px;background:radial-gradient(120% 140% at 100% 0,rgba(0,177,191,.28),transparent 55%),linear-gradient(135deg,#0E3B42,#0A2A30);border-radius:var(--rad);padding:22px 28px;box-shadow:var(--shc);color:#fff;transition:transform .18s,box-shadow .22s}
.pstrip:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.ps-ic{flex:0 0 auto;width:52px;height:52px;border-radius:15px;background:linear-gradient(150deg,var(--teal),var(--teal-dark));display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:26px;color:#fff;box-shadow:0 12px 26px -10px rgba(0,177,191,.7)}
.ps-tx{flex:1;min-width:0}
.ps-tx b{display:block;font-size:17px;font-weight:800;color:#fff;line-height:1.3}
.ps-tx span{display:block;margin-top:4px;font-size:13.5px;line-height:1.5;color:#B9D6D3}
.ps-go{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:var(--spark);white-space:nowrap}
.ps-go svg{width:18px;height:18px}
@media(max-width:720px){.pstrip{flex-direction:column;align-items:flex-start;gap:15px}}
/* контакты: 2-колоночный герой (заголовок слева + форма справа) */
.khero{display:grid;grid-template-columns:minmax(0,1.06fr) 400px;gap:40px;align-items:center;margin:26px 0 12px}
.khero .phero{margin:0;max-width:none}
.khero-quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.khero-quick a{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--deep);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 16px;box-shadow:var(--shc)}
.khero-quick a:hover{border-color:var(--teal);color:var(--teal-dark)}
.khero-quick a svg{width:15px;height:15px;stroke:var(--teal);stroke-width:1.9;fill:none}
@media(max-width:900px){.khero{grid-template-columns:1fr;gap:24px}}
/* stat row (о компании — a101 крупные цифры) */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:8px 0}
.statm{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;box-shadow:var(--shc)}
.statm b{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(27px,3vw,38px);color:var(--deep);line-height:1}
.statm span{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.4}
@media(max-width:820px){.statrow{grid-template-columns:1fr 1fr}}
/* values (опоры доверия) */
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.val{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;box-shadow:var(--shc);display:flex;flex-direction:column}
.val .vn{font-family:var(--disp);font-weight:800;font-size:15px;color:var(--teal-dark);width:38px;height:38px;border-radius:11px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.val h3{font-weight:700;font-size:16.5px;margin-bottom:7px}
.val p{font-size:14px;color:var(--ink-soft);line-height:1.5}
@media(max-width:820px){.vals{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vals{grid-template-columns:1fr}}
/* audience split (B2C / B2B / партнёры) */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.aud-c{position:relative;border-radius:var(--rad);overflow:hidden;padding:28px;min-height:210px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:var(--shs)}
.aud-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.aud-c::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,38,42,.12) 28%,rgba(9,38,42,.9))}
.aud-c>*{position:relative;z-index:2}
.aud-c h3{font-family:var(--disp);font-weight:800;font-size:20px;margin-bottom:6px}
.aud-c p{font-size:13.5px;color:#DBEEEB;margin-bottom:13px;line-height:1.45}
.aud-c .go{font-weight:800;font-size:13.5px;color:#fff}
.aud-c:hover .go{color:var(--spark)}
@media(max-width:780px){.aud{grid-template-columns:1fr}}
/* contact channel cards */
.cinfo{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cc{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:24px;box-shadow:var(--shc);display:flex;gap:16px;align-items:flex-start}
.cc .ci{width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center}
.cc .ci svg{width:22px;height:22px;stroke:var(--teal);stroke-width:1.8;fill:none}
.cc .cx{min-width:0}
.cc h3{font-weight:700;font-size:16px;margin-bottom:4px}
.cc .big{font-family:var(--disp);font-weight:800;font-size:clamp(15px,4.3vw,19px);color:var(--deep);display:inline-block;max-width:100%}
.cc a.big:hover{color:var(--teal-dark)}
.cc p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}
@media(max-width:700px){.cinfo{grid-template-columns:1fr}}
/* blog listing (a101-style карточки новостей) */
.bloglist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shc);display:flex;flex-direction:column;transition:transform .18s,box-shadow .22s}
.bcard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.bcard .ph{aspect-ratio:16/10;overflow:hidden}
.bcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.bcard:hover .ph img{transform:scale(1.05)}
.bcard .bc-b{padding:20px;display:flex;flex-direction:column;flex:1}
.bcard .tagd{font-size:11.5px;font-weight:800;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.04em;margin-bottom:9px}
.bcard h3{font-weight:700;font-size:17px;line-height:1.25;margin-bottom:8px}
.bcard p{font-size:14px;color:var(--ink-soft);line-height:1.5;flex:1}
.bcard .rd{margin-top:14px;font-weight:800;font-size:13.5px;color:var(--teal-dark)}
.bcard.soon{opacity:.72}
.bcard.soon .tagd{color:var(--muted)}
@media(max-width:900px){.bloglist{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bloglist{grid-template-columns:1fr}}
/* article (шаблон статьи) */
.article{max-width:760px;margin:0 auto}
.article .a-meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.article .a-meta .tagd{font-weight:800;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.04em}
.article .a-hero{border-radius:var(--rad);overflow:hidden;aspect-ratio:21/9;margin:6px 0 26px;box-shadow:var(--sh)}
.article .a-hero img{width:100%;height:100%;object-fit:cover}
.article .a-lead{font-size:18px;color:var(--ink);line-height:1.6;margin-bottom:20px;font-weight:500}
.article h2{font-family:var(--disp);font-weight:700;font-size:23px;letter-spacing:-0.01em;line-height:1.2;margin:30px 0 12px}
.article h3{font-weight:700;font-size:17px;color:var(--deep);margin:22px 0 8px}
.article p{font-size:16px;color:var(--ink-soft);line-height:1.72;margin-bottom:15px}
.article ul,.article ol{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.article li{font-size:16px;color:var(--ink-soft);line-height:1.55;padding-left:26px;position:relative}
.article ul li::before{content:"";position:absolute;left:3px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.article ol{counter-reset:art}
.article ol li{counter-increment:art}
.article ol li::before{content:counter(art);position:absolute;left:0;top:1px;width:20px;height:20px;font-size:11px;font-weight:800;color:var(--teal-dark);background:var(--teal-soft);border-radius:6px;display:flex;align-items:center;justify-content:center}
.article a.inl{color:var(--teal-dark);font-weight:700;border-bottom:1px solid var(--teal-tint)}
.article blockquote{border-left:3px solid var(--teal);background:var(--teal-soft);border-radius:0 var(--rad2) var(--rad2) 0;padding:16px 22px;margin:20px 0;font-size:16px;color:var(--deep);line-height:1.6}
.article .a-cta{background:linear-gradient(150deg,var(--deep),var(--deep2));color:#fff;border-radius:var(--rad);padding:26px 28px;margin:28px 0 8px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:var(--sh)}
.article .a-cta b{font-family:var(--disp);font-weight:700;font-size:19px;display:block;margin-bottom:4px}
.article .a-cta span{font-size:14px;color:#A9DCD6}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.related{grid-template-columns:1fr}}
/* blog: featured-карточка + подписка (recmos-обогащение ленты) */
.bfeat{display:grid;grid-template-columns:1.15fr .85fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;box-shadow:var(--shc);margin-bottom:26px;transition:transform .18s,box-shadow .22s}
.bfeat:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.bfeat .ph{position:relative;overflow:hidden;min-height:300px}
.bfeat .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.bfeat:hover .ph img{transform:scale(1.04)}
.fbadge{position:absolute;top:18px;left:18px;z-index:1;background:var(--teal-btn);color:#fff;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.03em;padding:7px 14px;border-radius:999px}
.bfeat .bf-b{padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.bfeat .tagd{font-size:11.5px;font-weight:800;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:11px}
.bfeat h2{font-family:var(--disp);font-weight:800;font-size:clamp(22px,2.3vw,28px);line-height:1.16;letter-spacing:-0.01em;margin-bottom:12px;text-wrap:balance}
.bfeat p{font-size:15px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px;max-width:46ch}
.bfeat .rd{font-weight:800;font-size:14px;color:var(--teal-dark);display:inline-flex;align-items:center;gap:7px}
.bfeat:hover .rd{color:var(--teal-btn)}
@media(max-width:820px){.bfeat{grid-template-columns:1fr}.bfeat .ph{min-height:210px}.bfeat .bf-b{padding:26px}}
.bsub{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:radial-gradient(130% 140% at 100% 0,rgba(56,178,240,.5),transparent 55%),linear-gradient(150deg,#123E44,#0A1E24);border-radius:var(--rad);padding:30px 34px;color:#fff;box-shadow:var(--shs);margin-top:26px}
.bsub .bs-t b{font-family:var(--disp);font-weight:800;font-size:21px;display:block;margin-bottom:5px}
.bsub .bs-t span{font-size:14px;color:#B9D6D3}
/* article magazine layout (recmos): sidebar + article + правый рельс + услуги по теме */
.artwrap{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:start;margin-top:4px}
.artwrap .article{max-width:none;margin:0}
.artrail{position:sticky;top:88px;display:flex;flex-direction:column;gap:18px}
.rail-c{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);padding:22px 24px;box-shadow:var(--shc)}
.rail-c h3{font-weight:800;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.rail-c .ra{display:flex;gap:13px;padding:12px 0;border-top:1px solid var(--line);align-items:center}
.rail-c .ra:first-of-type{border-top:0;padding-top:2px}
.rail-c .ra img{width:66px;height:50px;border-radius:9px;object-fit:cover;flex:0 0 auto}
.rail-c .ra .rt{font-weight:700;font-size:13.5px;line-height:1.28;color:var(--ink)}
.rail-c .ra .rp{font-size:12px;color:var(--teal-dark);font-weight:700;margin-top:3px}
.rail-c .ra:hover .rt{color:var(--teal-dark)}
.a-back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink-soft);margin:16px 0 22px}
.a-back:hover{color:var(--teal-dark)}
.a-share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:26px;padding-top:20px;font-size:13.5px;color:var(--muted)}
.a-share a{width:38px;height:38px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:transform .16s,border-color .18s}
.a-share a:hover{transform:translateY(-2px);border-color:var(--teal-tint)}
@media(max-width:980px){.artwrap{grid-template-columns:1fr}.artrail{position:static;flex-direction:row;flex-wrap:wrap}.artrail>*{flex:1 1 280px}}
/* 404 */
.e404{position:relative;text-align:center;padding:52px 0 20px;max-width:760px;margin:0 auto}
.e404 .big{font-family:var(--disp);font-weight:800;font-size:clamp(78px,20vw,210px);line-height:.86;letter-spacing:-0.04em;background:linear-gradient(140deg,var(--deep) 8%,var(--teal) 60%,var(--spark));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;position:relative}
.e404 .big .sp{position:absolute;color:var(--teal)}
.e404 .big .sp.s1{top:-6px;right:-30px;width:44px}.e404 .big .sp.s2{bottom:8px;left:-34px;width:30px;opacity:.7}.e404 .big .sp.s3{top:38%;left:47%;width:22px;opacity:.6}
@media(max-width:560px){.e404 .big .sp.s1,.e404 .big .sp.s2{display:none}}
.e404 .ttl{font-family:var(--disp);font-weight:800;font-size:clamp(23px,3vw,32px);letter-spacing:-0.02em;line-height:1.12;margin:16px 0 12px;text-wrap:balance}
.e404 .sub{font-size:16px;color:var(--ink-soft);line-height:1.62;max-width:48ch;margin:0 auto 26px}
.e404 .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.e404-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:var(--cw);margin:8px auto 0}
.e404-links a{display:flex;align-items:center;gap:13px;background:var(--paper);border:1px solid var(--line);border-radius:var(--rad2);padding:16px 18px;box-shadow:var(--shc);transition:transform .16s,box-shadow .2s,border-color .18s}
.e404-links a:hover{transform:translateY(-3px);box-shadow:var(--shs);border-color:var(--teal-tint)}
.e404-links a img{width:52px;height:52px;border-radius:11px;object-fit:cover;flex:0 0 auto}
.e404-links a>span{display:flex;flex-direction:column;min-width:0}
.e404-links a .n{font-weight:700;font-size:15px;color:var(--ink);display:block}
.e404-links a .p{font-size:12.5px;color:var(--teal-dark);font-weight:700;margin-top:3px;display:block}
.e404-links a:hover .n{color:var(--teal-dark)}
@media(max-width:820px){.e404-links{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.e404-links{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════════
   ТИПОГРАФИКА: ФЛЮИД-РАЗМЕРЫ + РИТМ + ФИКСЫ ПЕРЕНОСОВ/НАЛОЖЕНИЙ
   ПРИНЦИП: крупные дисплей-числа и заголовки МАСШТАБИРУЮТСЯ через clamp() —
   на телефоне мельче, чтобы не было уродливых переносов и наложений.
   Заголовки — text-wrap:balance. На телефоне — плотнее ритм (меньше пустоты).
   Любое новое крупное число/заголовок задавать через clamp(min, vw, max). */
h1,h2,h3,h4,.h1,.st{text-wrap:balance}
h1,h2,h3,.h1,.st,.slide .h1{hyphens:auto}
/* красивые переносы: без «висячего» короткого слова на последней строке (прогрессивно, Chrome 117+) */
p,li,.sub,.d,.mc-note,.lead2{text-wrap:pretty}
/* дисплей-числа приведены к единому флюид-масштабу (были fixed → ломались) */
.intro-stat .s b{font-size:clamp(18px,4.7vw,27px);line-height:1.08}
.statm b{font-size:clamp(21px,4.4vw,34px)}
.pnum b{font-size:clamp(32px,8.4vw,44px)}
.pt-pct{font-size:clamp(24px,6.4vw,32px)}
.cr-price{font-size:clamp(22px,6vw,29px)}
/* #4 .xs: заголовок не заезжает под абсолютное число (наложение) */
.xs h3{padding-right:84px}
.xs .big{font-size:clamp(26px,6.4vw,40px)}
/* #7 рейтинг-флоат не касается правого края картинки */
.shero-img .float{max-width:calc(100% - 40px)}
/* #1 рельс «По теме» в статьях: название над ценой, не вплотную */
.rail-c .ra > span{display:flex;flex-direction:column;min-width:0}
/* #3 сегм. переключатель: не рвать слово посередине, шрифт компактнее */
.seg button{overflow-wrap:normal;word-break:normal;hyphens:none;font-size:clamp(11.5px,2.9vw,13px);padding:11px 5px;line-height:1.15}
@media(max-width:560px){
  /* #5 плотнее ритм — меньше пустоты и лишнего скролла */
  section.s{margin-top:28px}
  .band-light{padding:22px 18px}
  .methodcard,.addons-wrap,.pprog,.districts,.reqbox{padding:22px 20px}
  .xs{padding:22px;min-height:0}
  .xs .big{top:16px;right:16px}
  .pnum,.pf-step,.ptier,.pcard,.statm{padding:18px 16px}
  .bento .bf,.bento .b-big,.bf,.b-big,.vals .val,.steps .step,.svc .body{padding:22px 18px}
  /* #10 районы: компактные чипы */
  .districts .dchips span{font-size:12px;padding:5px 9px}
}
