/* Stirashka — общие стили всех страниц.
   Шкалы (Refactoring UI):
   отступы  4 8 12 16 24 32 48 64 96
   шрифт    12 14 16 18 20 24 30 36 48 60
   радиусы  8 12 16 24 + pill
   тени     только у элементов поверх других (плашка на фото, нижняя панель)
   исключение: 40px у маленьких кнопок и аватаров — минимальная зона нажатия */
:root{
  /* серые с синим оттенком: 900 → 100 */
  --g900:#0B2545;--g800:#23364F;--g700:#3C4F67;--g600:#586A80;--g500:#7A8A9D;--g400:#94A9BB;--g300:#AFC9D7;--g200:#D3E3EC;--g100:#EEF6FA;
  /* бренд: голубой */
  --b900:#003E50;--b700:#006B88;--b500:#00ABD1;--b300:#7FD4E8;--b100:#DFF3F9;
  /* действие: коралловый */
  --r700:#B92F15;--r600:#D93A1C;--r400:#FF6A4D;--r100:#FDE6E0;
  /* статусы */
  --ok:#0E6E4F;--ok-bg:#E1F3EC;--star:#9A6114;
  /* тёмная шапка и подвал */
  --navy:#0B2545;--navy-text:#A9BCD3;--navy-line:#23405F;

  --ink:var(--g900);--text:var(--g800);--muted:var(--g600);
  --f-display:"Manrope",-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;
  --f-body:var(--f-display);

  /* цвета шаблонов web-templates (меню, нижняя панель) — из палитры сайта */
  --wt-primary:var(--g900);--wt-primary-2:var(--g800);--wt-on-primary:#fff;
  --wt-accent:var(--r600);--wt-accent-2:var(--r700);--wt-on-accent:#fff;
  --wt-ink:var(--g900);--wt-muted:var(--g600);--wt-line:var(--g200);--wt-field:var(--g300);--wt-paper:var(--g100);
  --wt-font:var(--f-body);--wt-radius-sm:12px;

  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:#fff;color:var(--text);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
  font-kerning:normal;text-rendering:optimizeLegibility;font-synthesis:none;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
a{color:inherit}
button{font:inherit;color:inherit}
img{max-width:100%;display:block}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--b500);outline-offset:3px;border-radius:8px}
p{margin:0;text-wrap:pretty}
b,strong{font-weight:700}
.num{font-variant-numeric:tabular-nums lining-nums}
a[href^="tel:"]{white-space:nowrap}
.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}

/* ---------- заголовки: мобильный размер меньше, растёт ступенями шкалы ---------- */
h1,h2,h3{color:var(--ink);margin:0;text-wrap:balance}
h1,h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1.1}
h1{font-size:36px}
h2{font-size:30px}
h3{font-size:18px;font-weight:700;line-height:1.25}

section{padding-block:48px}
.tint{background:var(--g100)}
/* две белые секции подряд: не удваивать отступ */
section:not(.tint)+section:not(.tint){padding-top:0;scroll-margin-top:48px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 48px;margin-bottom:24px}
.head p{color:var(--muted);max-width:28em}
.card{background:#fff;border-radius:16px}
/* верх внутренней страницы: заголовок + одна строка, без баннера */
.ptop{padding-block:32px 24px}
.ptop h1{margin-bottom:8px}
.ptop p{color:var(--muted);max-width:28em}
.ptop+section{padding-top:0}

/* ---------- кнопки: 1 основная (заливка), вторичная (контур), третичная (ссылка) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:12px;font-weight:700;font-size:16px;
  text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,color .18s;white-space:nowrap}
.btn-cta{background:var(--r600);color:#fff}
.btn-cta:hover,.btn-cta:active{background:var(--r700)}
.btn-line{background:#fff;border-color:var(--g900);color:var(--g900)}
.btn-line:hover{background:var(--g900);color:#fff}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}
.btn:active,.ctl-add:active{transform:translateY(1px)}
.btn svg{width:16px;height:16px;flex:none}
.link{font-weight:700;color:var(--b700);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.link:hover{color:var(--g900)}
.head .link{display:inline-block;padding-block:8px}

/* ---------- шапка ---------- */
header{position:sticky;top:0;z-index:30;background:var(--navy)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:56px;width:auto}
.hdr__nav{display:none;gap:32px;font-size:16px;margin-inline:auto}
.hdr__nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;color:var(--navy-text);border-bottom:2px solid transparent}
.hdr__nav a:hover,.hdr__nav a[aria-current="page"]{color:#fff;border-color:var(--b500)}
.hdr .wt-mmenu-btn{background:transparent;color:#fff;border-color:var(--navy-text)}
.hdr .wt-mmenu-btn[aria-expanded="true"]{border-color:#fff}
.bar-right{display:flex;align-items:center;gap:16px}
.bar-addr{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-weight:700;font-size:14px;line-height:1.25;white-space:nowrap;padding-block:4px}
.bar-addr svg{width:24px;height:24px;color:var(--r400);flex:none}
.bar-addr b{display:block}
.bar-addr:hover{color:var(--b500)}
.bar-phone,.bar .btn{display:none}
.bar-right{margin-left:auto}
.bar-phone{text-decoration:none;font-weight:700;color:#fff;white-space:nowrap;line-height:1.25;text-align:right}
.bar-phone small{display:block;font-weight:400;color:var(--navy-text);font-size:12px}

/* ---------- статус «открыто» ---------- */
.chip{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:var(--g100)}
.chip:has(.status.open){background:var(--ok-bg)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--muted)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.status.open{color:var(--ok)}
.status.open .dot{background:var(--ok);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.badge{display:inline-flex;align-items:center;gap:8px;padding:0 8px;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:700}
.badge.open{background:var(--ok-bg);color:var(--ok)}
.badge.open .dot{background:var(--ok)}

/* ---------- hero ---------- */
.hero{padding-block:32px 48px}
.hero-grid{display:grid;gap:32px;align-items:center}
.hero .chip{margin-bottom:16px}
.hero h1{margin-bottom:16px}
.hero h1 span{color:var(--b700)}
.lead{font-size:18px;color:var(--muted);max-width:28em;margin-bottom:24px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.actions .btn-cta{flex:2 1 auto}
.actions .btn-line{flex:1 1 auto}
.photo{margin:0}
.photo>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%;border-radius:24px}

/* преимущества первого экрана: иконка + 2–3 слова + фраза, 2 × 2 */
.bens{list-style:none;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--g200);display:grid;gap:16px 24px}
.bens li{display:flex;gap:12px;align-items:flex-start}
.ben-ico{width:40px;height:40px;border-radius:12px;background:var(--b100);color:var(--b700);display:grid;place-items:center;flex:none}
.ben-ico svg{width:24px;height:24px}
.bens b{display:block;color:var(--ink);line-height:1.25}
.bens li>span:last-child{color:var(--muted);line-height:1.35}
@media (min-width:480px){.bens{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- что стираем: направления → цены ---------- */
.svc-grid{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.svc{display:flex;flex-direction:column;padding:24px}
.svc-ico{width:48px;height:48px;border-radius:12px;background:var(--b100);color:var(--b700);display:grid;place-items:center;margin-bottom:16px}
.svc-ico svg{width:24px;height:24px}
.svc h3{margin-bottom:8px}
.svc p{color:var(--muted);margin-bottom:16px}
.svc-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--g200);display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;font-weight:700;color:var(--ink)}
.svc-foot .num{font-size:18px}
.svc-more{color:var(--b700)}
.svc-foot:hover .svc-more{color:var(--g900)}

/* ---------- план из трёх шагов ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.steps li{position:relative;padding-left:64px;min-height:48px}
.step-n{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;background:var(--g900);color:#fff;font-weight:700;font-size:18px;display:grid;place-items:center}
.steps h3{margin:4px 0 4px}
.steps p{color:var(--muted)}
.steps-cta{margin-top:32px}

/* ---------- что входит: плитки с иконкой ---------- */
.tiles{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.tiles li{display:flex;gap:16px;align-items:flex-start}
.tile-ico{width:48px;height:48px;border-radius:12px;background:var(--b100);color:var(--b700);display:grid;place-items:center;flex:none}
.tile-ico svg{width:24px;height:24px}
.tiles h3{margin:4px 0}
.tiles p{color:var(--muted)}

/* ---------- контакты: строгий блок, телефон крупно ---------- */
.cinfo{margin-top:24px;max-width:560px}
.cl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.cphone{display:inline-block;font-size:30px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.2;margin-bottom:4px}
.cphone:hover{color:var(--b700)}
.cinfo-main>p:last-child{color:var(--muted)}
.cinfo-row{margin-top:24px;padding-top:24px;border-top:1px solid var(--g200)}

/* ---------- отзывы: 6-я карточка — все отзывы на Яндекс Картах ---------- */
.rev-more-n{font-family:var(--f-display);font-size:30px;font-weight:700;color:var(--ink);line-height:1.1}
.rev-more p:not(.rev-more-n){color:var(--muted)}
.rev-more-acts{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:16px}

/* ---------- контакты: слева связь и адреса, справа карта ---------- */
.kgrid{display:grid;gap:24px}
.kcol .pl-list{margin-top:32px}
.cinfo-hours{color:var(--muted)}

/* ---------- оформление заказа ---------- */
.co{display:grid;gap:16px;align-items:start}
.co-main{padding:24px}
.co-main h2,.co-empty h2{font-size:24px;margin-bottom:16px}
.co-set{border:0;padding:0;margin:16px 0;display:grid;gap:8px;min-width:0}
.co-set legend{padding:0;margin-bottom:8px;font-weight:700;color:var(--ink)}
.co-opt{display:flex;gap:12px;align-items:flex-start;padding:16px;border:2px solid var(--g200);border-radius:12px;cursor:pointer}
.co-opt:has(input:checked){border-color:var(--b700);background:var(--b100)}
.co-opt input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--b700);flex:none}
.co-opt b{display:block;color:var(--ink)}
.co-opt small{display:block;margin-top:4px;color:var(--muted);font-size:16px}
.co-opt--off{cursor:default;background:var(--g100)}
.co-opt--off b{color:var(--muted)}
.soon{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;background:var(--g900);color:#fff;font-size:12px;font-weight:700;vertical-align:2px}
.co .wt-form__submit{width:100%;margin-top:8px}
.co-pay{margin-top:12px;color:var(--muted)}
.co-empty p{color:var(--muted);margin-bottom:24px}
.co .summary .link{align-self:flex-start}

/* ---------- калькулятор: категории → вещи → итог справа (на телефоне — ещё панель внизу) ---------- */
.calc{display:grid;gap:16px;align-items:start}
.plist{padding:16px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--g100);border-radius:12px}
.tab{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--muted);font-weight:700;font-size:14px;min-height:48px;padding:8px;border-radius:8px;cursor:pointer;text-align:left;line-height:1.2}
.tab svg{width:20px;height:20px;flex:none}
.tab:hover{color:var(--ink);background:#fff}
.tab[aria-selected="true"]{background:var(--g900);color:#fff}
.tab .cnt{min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:var(--r600);color:#fff;font-size:12px;display:inline-grid;place-items:center;flex:none}
.tnote{display:flex;align-items:center;gap:8px;margin:16px 0 8px;color:var(--muted)}
.tnote svg{width:20px;height:20px;flex:none;color:var(--ok)}
.rows{list-style:none;margin:0;padding:0}
/* строка: название и подсказка | цена | управление одной ширины — «Добавить» и «− 1 +» не сдвигают строку */
.prow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"ico info ctl" "ico pr ctl";align-items:center;gap:4px 12px;padding:16px 12px;margin-inline:-12px;border-bottom:1px solid var(--g200)}
/* иконка вещи в светлой плашке; у выбранной строки плашка тёмная */
.p-ico{grid-area:ico;align-self:start;width:40px;height:40px;border-radius:12px;background:var(--b100);color:var(--b700);display:grid;place-items:center}
.p-ico svg{width:24px;height:24px}
.prow.on .p-ico{background:var(--b700);color:#fff}
/* размер — заметной меткой: похожие строки различаются сразу */
.sz{display:inline-block;margin-left:4px;padding:0 8px;border-radius:999px;border:1px solid var(--g300);background:#fff;color:var(--ink);font-size:14px;font-weight:700;line-height:22px;vertical-align:1px;white-space:nowrap}
.prow:last-child{border-bottom:0}
.prow.on{background:var(--b100);border-color:transparent;border-radius:12px}
.prow>div:first-child{grid-area:info;min-width:0}
.prow strong{display:block;color:var(--ink);font-size:18px;line-height:1.35}
.prow small{display:block;color:var(--muted);font-size:14px;line-height:1.25;margin-top:4px}
.prow .hit{display:inline-block;margin-left:4px;padding:0 8px;border-radius:999px;background:var(--g900);color:#fff;font-size:12px;font-weight:700;vertical-align:2px}
.prow .pr{grid-area:pr;font-weight:700;font-size:18px;color:var(--ink);white-space:nowrap}
.ctl{grid-area:ctl;width:128px;justify-self:end}
.ctl-add{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:44px;padding:0 12px;border:2px solid var(--b700);border-radius:12px;background:#fff;color:var(--b700);font-weight:700;cursor:pointer}
.ctl-add:hover{background:var(--b700);color:#fff}
.ctl-add svg{width:18px;height:18px}
.stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;height:44px;border:2px solid var(--b700);border-radius:12px;background:#fff;overflow:hidden}
.stepper button{border:0;padding:0;background:transparent;color:var(--b700);font-size:22px;font-weight:700;line-height:1;cursor:pointer}
.stepper button:hover{background:var(--b100)}
.stepper button:active{background:var(--g200)}
.stepper output{display:grid;place-items:center;font-weight:700;color:var(--ink)}
.note{margin-top:16px;padding-top:16px;border-top:1px solid var(--g200);color:var(--muted)}
.note a{color:var(--ink);font-weight:700}

/* итог: тот же блок на «Цены» и «Оформление» */
.summary{padding:24px;display:flex;flex-direction:column;gap:16px;border-top:4px solid var(--b500)}
.summary h2{font-family:var(--f-display);font-size:24px;font-weight:700}
.sum-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sum-n{color:var(--muted);font-weight:700;white-space:nowrap}
.lines{list-style:none;margin:0;padding:0}
.lines:empty{display:none}
.lines li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--g200)}
.lines li span{min-width:0}
.lines li em{font-style:normal;color:var(--muted);white-space:nowrap}
.lines li b{color:var(--ink);white-space:nowrap;margin-left:auto}
.ln-x{flex:none;width:40px;height:40px;margin-right:-8px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
.ln-x:hover{background:var(--g100);color:var(--r700)}
.empty{color:var(--muted)}
.sum-empty{display:flex;gap:12px;align-items:center;padding:16px;border-radius:12px;background:var(--g100);color:var(--muted)}
.sum-empty svg{width:24px;height:24px;flex:none;color:var(--b700)}
.total{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.total span{color:var(--muted);font-weight:700}
.total strong{font-size:30px;font-weight:700;color:var(--ink);line-height:1;white-space:nowrap}
.fine{color:var(--muted);margin-top:-8px}
.sum-call{color:var(--muted);text-align:center}
.sum-call a{color:var(--ink);font-weight:700;text-decoration:none}
#go-order{width:100%}

/* ---------- до и после ---------- */
.ba{display:grid;gap:16px}
.ba-col{display:grid;gap:16px}
.ba figure{margin:0;display:flex;flex-direction:column;gap:8px}
.ba img{width:100%;height:auto;border-radius:16px;background:var(--g100)}
.ba .tall img{aspect-ratio:9/16;max-height:640px;object-fit:cover}
.ba figcaption{display:flex;justify-content:space-between;gap:12px;font-weight:700;color:var(--ink)}
.ba figcaption span{white-space:nowrap}

/* ---------- отзывы ---------- */
.revs{display:grid;gap:16px}
.rev{padding:24px;display:flex;flex-direction:column;gap:16px;margin:0}
.rev .stars{color:var(--star);letter-spacing:2px}
.rev blockquote{margin:0;color:var(--ink)}
.rev figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}
.ava{width:40px;height:40px;border-radius:50%;background:var(--b100);color:var(--b700);display:grid;place-items:center;font-weight:700;flex:none}
.rev figcaption b{display:block;color:var(--ink)}

/* ---------- вопросы ---------- */
.faq-grid{display:grid;gap:24px 48px;align-items:start}
.faq-grid .head{margin:0;flex-direction:column;align-items:start}
.faq{padding:4px 16px;background:var(--g100)}
.faq details{border-bottom:1px solid var(--g200)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-weight:700;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--b700);display:grid;place-items:center;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 16px;color:var(--muted);max-width:35em}

/* ---------- адреса ---------- */
.pl-grid{display:grid;gap:16px;align-items:stretch}
.pl-list{display:flex;flex-direction:column;gap:16px}
.place{padding:24px;display:flex;flex-direction:column;gap:16px;flex:1;background:var(--g100)}
.place-h{display:flex;align-items:center;gap:12px}
.pin-n{width:40px;height:40px;border-radius:50%;background:var(--g900);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.place h3{font-family:var(--f-display);font-size:24px;font-weight:700;line-height:1.1}
.place h3 small{display:block;font-family:var(--f-body);font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:4px}
.pl-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pl-rows li{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700}
.pl-rows svg{width:24px;height:24px;flex:none;color:var(--b700)}
.pl-rows .muted{color:var(--muted);font-weight:400}
.place .btn{align-self:stretch;margin-top:4px}
.door{margin:0;display:flex;flex-direction:column;gap:8px}
.door img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:30% 60%;border-radius:12px}
.door figcaption{font-weight:700;color:var(--ink)}
.map{position:relative;overflow:hidden;min-height:320px;background:var(--g100)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;opacity:0;transition:opacity .4s ease}
.map.is-loaded iframe{opacity:1}
.map.is-loading .map-ph .btn,.map.is-loading .map-ph .link,.map.is-loading .map-ph p{visibility:hidden}
.map-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:var(--muted)}
.map-ph b{color:var(--ink);font-size:18px}
.map-ph p{margin:0}

/* ---------- подвал (pages/RULES.md → подвал): суть | разделы группами | контакты; ниже ©, политика, подпись разработчика ---------- */
footer{background:var(--navy);color:var(--navy-text);padding-block:48px 32px}
footer a{color:#fff;text-decoration:none}
footer a:hover{color:var(--b300)}
footer p{margin:0}
.ftr__top{display:grid;gap:32px}
.ftr__brand img{width:96px;height:auto}
.ftr__about p{margin-top:16px;max-width:22em}
.ftr__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ftr__h{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ftr__nav{display:grid;gap:4px;justify-items:start;align-content:start}
.ftr__nav a{display:inline-flex;align-items:center;min-height:40px}
.ftr__contact{display:grid;gap:8px;justify-items:start}
.ftr__phone{font-size:20px;font-weight:700}
.ftr__msgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ftr__msgs a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--navy-text);border-radius:12px;font-weight:700}
.ftr__msgs a:hover{border-color:var(--b300)}
.ftr__bottom{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:32px;padding-top:16px;border-top:1px solid var(--navy-line);font-size:14px}
.ftr__bottom a{color:var(--navy-text)}
.ftr__bottom a:hover{color:#fff}
.ftr__dev{flex-basis:100%}
footer{padding-bottom:calc(32px + var(--wt-dock-h,0px))}

/* ---------- полоса «приходите» в конце страницы ---------- */
.visit{display:grid;gap:24px;padding:24px;align-items:center}
section:not(.tint) .visit{background:var(--g100)}
.visit h2{margin-bottom:8px}
.visit p{color:var(--muted)}
.visit .actions{margin:0}

/* ================= планшет ================= */
@media (min-width:680px){
  .wrap{padding-inline:32px}
  section{padding-block:64px}
  h1{font-size:48px}
  h2{font-size:36px}
  .head{margin-bottom:32px}
  .bar-addr{font-size:16px;padding-right:16px;border-right:1px solid var(--navy-line)}
  .bar-phone{display:block}
  .hero{padding-block:48px 64px}
  .actions .btn{flex:0 0 auto}
  .faq{padding:4px 24px}
  .plist{padding:24px}
  .prow{grid-template-columns:40px minmax(0,1fr) auto auto;grid-template-areas:"ico info pr ctl";gap:8px 16px}
  .p-ico{align-self:center}
  .prow .pr{text-align:right}
  .photo>img{aspect-ratio:16/9}
  .ba{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .ba .tall img{aspect-ratio:auto;max-height:none;flex:1;min-height:0}
  .map{min-height:448px}
  .ptop{padding-block:48px 32px}
  .ftr__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ftr__about{grid-column:1/-1}
  .ftr__dev{flex-basis:auto;margin-left:auto}
  footer{padding-bottom:32px}
  .visit{grid-template-columns:minmax(0,1fr) auto;padding:32px}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .cphone{font-size:36px}
  .kpage{padding-bottom:64px}
}
/* ================= десктоп ================= */
@media (min-width:1060px){
  section{padding-block:96px}
  h1{font-size:60px}
  .hero{padding-block:64px 96px}
  .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px}
  .photo>img{aspect-ratio:8/9}
  .calc{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
  .calc .summary{position:sticky;top:88px}
  .tabs{display:flex;flex-wrap:wrap}
  .tab{flex:1 1 auto;padding:8px 16px;font-size:16px;white-space:nowrap}
  .revs{grid-template-columns:repeat(3,1fr)}
  .svc-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .faq-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .pl-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px}
  .kgrid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start}
  .kgrid .map{position:sticky;top:88px;height:calc(100vh - 112px);min-height:448px}
  .co{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}
  .place .btn{align-self:flex-start}
}
@media (min-width:1025px){
  .bar{gap:48px}
  .hdr__nav{display:flex}
  .bar-right{margin-left:0;gap:24px}
  .bar .btn{display:inline-flex}
  .ftr__top{grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) minmax(0,1.2fr);gap:48px}
  .ftr__about{grid-column:auto}
}
@media (max-width:400px){.bar{gap:8px}.bar-right{gap:8px}.logo img{height:48px}.bar-addr svg{width:20px;height:20px}.hdr .wt-mmenu-btn{padding:0 12px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.nf-acts{margin-block:24px}
/* политика: обычный документ */
.doc{max-width:46em}
.doc h2{font-size:24px;margin:32px 0 8px}
.doc ul{margin:8px 0;padding-left:24px}
.doc li+li{margin-top:4px}
.doc a{color:var(--b700);font-weight:700}
.doc-note{margin-top:32px;color:var(--muted)}
