/* ===========================================================
   КлиматСервіс v2 — editorial-navy
   Все компоненты вынесены из DC-макетов (design-ref/*.dc.html)
   =========================================================== */
:root{
  --navy:#0c2340; --ink:#0c2340; --blue:#1763d6; --blue-2:#0f49a6;
  --sky:#e7eef9; --paper:#ffffff; --paper-2:#f3f6fb; --muted:#5a6b85; --line:#d6e0ee;
  /* CTA = тёплый акцент только для кнопок-действий; синий остаётся для ссылок/акцентов текста */
  --cta:#f97316; --cta-d:#e8620f;
  --radius:8px;  /* мягкие углы: карточки, поля, кнопки, чипсы */
  /* SELF-HOSTED FONT SLOT: положить woff2 в assets/fonts и переопределить --sans */
  --sans:'Inter',-apple-system,'Segoe UI',system-ui,Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','SFMono-Regular','Menlo','Consolas',monospace;
}
/* SELF-HOSTED Inter — положить файлы в assets/fonts/ (inter-400/500/700.woff2). Пока файлов нет — системный фолбэк. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:local('Inter'),url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:local('Inter Medium'),url('fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:local('Inter Bold'),url('fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:local('Inter ExtraBold'),url('fonts/inter-800.woff2') format('woff2')}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* отступ под липкой шапкой (header.site sticky ~139px) при переходе по якорям */
#services,#brands,#breakdowns,#cities{scroll-margin-top:150px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.mono{font-family:var(--mono)}

/* ---- ТОПБАР ---- */
.topbar{background:#081627;color:rgba(255,255,255,.7);font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;padding:8px 0}
.topbar .tb-phone{margin-left:auto;color:#fff;text-decoration:none;font-weight:600}
.topbar .tb-msg{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:2px 10px}
.topbar .tb-msg:hover,.topbar .tb-phone:hover{border-color:rgba(255,255,255,.6)}

/* ---- ШАПКА ---- */
header.site{position:sticky;top:0;z-index:50;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
header.site .nav{display:flex;align-items:stretch;gap:clamp(10px,2vw,24px);flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#fff;padding:13px 0}
.logo-badge{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;flex:none;background:#fff;box-shadow:0 6px 16px -7px rgba(23,99,214,.55)}.logo-badge img{width:34px;height:34px;display:block}
.logo-badge svg{width:22px;height:22px;color:#fff}
.logo-wm{display:flex;flex-direction:column;line-height:1.05}
.logo-name{font-weight:800;font-size:19px;letter-spacing:-.02em;color:#fff}
.logo-name span{color:#7fb0ff}
.logo-desc{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:2px}
header.site nav{display:flex;align-items:center;flex-wrap:wrap;margin-left:auto;font-weight:600;font-size:14px}
header.site nav a{text-decoration:none;color:rgba(255,255,255,.72);padding:8px 14px;border-bottom:2px solid transparent}
header.site nav a:hover{color:#fff}
header.site nav a.active{color:#fff;border-bottom-color:#fff}
.h-phone{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#fff;font-family:var(--mono);font-weight:600;font-size:14px;padding:16px 0;margin-left:8px}
.h-cta{display:inline-flex;align-items:center;text-decoration:none;background:var(--cta);color:#fff;font-weight:700;font-size:14px;padding:0 20px;align-self:center;height:38px;line-height:38px}
.h-cta:hover{background:var(--cta-d)}
.burger{display:none;align-items:center;justify-content:center;width:42px;height:38px;align-self:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;cursor:pointer}
.burger svg{width:22px;height:22px}
/* выбор города + язык в шапке */
.h-city{position:relative;align-self:center}
.h-city button{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;height:38px;padding:0 12px;font:600 14px var(--sans);cursor:pointer}
.h-city button.h-city-empty{font-weight:500;color:rgba(255,255,255,.82)}
.h-citymenu{display:none;position:absolute;top:44px;right:0;width:240px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 40px -18px rgba(12,35,64,.35);padding:10px;z-index:60}
.h-citymenu.open{display:block}
.h-citymenu input{width:100%;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);padding:9px 12px;font:500 14px var(--sans);outline:none;margin-bottom:6px}
.h-citylist{max-height:240px;overflow:auto}
.h-citylist a{display:block;padding:8px 10px;text-decoration:none;color:var(--ink);font-size:14px}
.h-citylist a:hover{background:var(--sky)}
.lang{display:inline-flex;align-self:center;border:1px solid rgba(255,255,255,.25);overflow:hidden}
.lang a{display:flex;align-items:center;padding:0 11px;height:38px;font-weight:700;font-size:13px;color:rgba(255,255,255,.7);text-decoration:none}
.lang a.on{background:#fff;color:var(--navy)}

/* ---- ХЛЕБНЫЕ КРОШКИ ---- */
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--blue)}
.crumbs .sep{color:var(--line)}
.crumbs .cur{color:var(--ink)}

/* ---- HERO ---- */
.hero{position:relative;overflow:hidden;border-bottom:2px solid var(--navy)}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:30px 30px;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000,transparent 65%);mask-image:linear-gradient(180deg,#000,transparent 65%)}
.hero-inner{position:relative;padding:clamp(34px,4.5vw,60px) 0 clamp(40px,5vw,64px)}
.hero-grid{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(320px,.85fr);gap:clamp(28px,4vw,60px);align-items:stretch}
/* split-hero (главная): на десктопе форма справа на 2 ряда, на мобиле форма сразу после заголовка */
.hero-grid--split{row-gap:0;grid-template-areas:"main form" "extra form"}
.hero-grid--split .hero-main{grid-area:main}
.hero-grid--split .hero-extra{grid-area:extra}
.hero-grid--split .hero-right{grid-area:form}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";display:inline-block;width:28px;height:2px;background:var(--blue)}
.hero h1{font-size:clamp(32px,5vw,58px);font-weight:800;line-height:1.03;letter-spacing:-.03em;color:var(--navy);margin:18px 0 0;text-wrap:balance}
.hero h1 span{color:var(--blue)}
.hero .lead{font-size:clamp(16px,1.6vw,19px);color:var(--muted);max-width:52ch;margin:18px 0 0}
.stats{display:flex;flex-wrap:wrap;align-items:center;margin-top:30px;border:1px solid var(--line);width:fit-content;max-width:100%;border-radius:var(--radius);overflow:hidden}
.stats .st{padding:12px 20px;border-right:1px solid var(--line)}
.stats .st:last-child{border-right:none}
.stats .st b{display:block;font-family:var(--mono);font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.02em}
.stats .st span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
/* селектор города в hero */
.cityselect{margin-top:24px;border:2px solid var(--navy);border-radius:var(--radius);background:var(--paper);max-width:460px;overflow:hidden}
.cityselect .cs-head{background:var(--navy);color:#fff;padding:11px 16px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:9px}
.cityselect .cs-body{padding:16px}
.cityselect select{width:100%;border:1.5px solid var(--line);background:transparent;color:var(--ink);padding:12px;font:600 16px var(--sans);outline:none;border-radius:var(--radius);cursor:pointer}
.cityselect select:focus{border-color:var(--blue)}
/* hero trust-бейджи под CTA (заполняют низ левой колонки) */
.hbadges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hbadge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--navy);background:var(--paper);border:1px solid var(--line);padding:9px 14px;border-radius:var(--radius)}
.hbadge svg{width:14px;height:14px;color:var(--cta);flex:none}
/* правая колонка hero: форма сверху + инфо-блок прижат к низу (заполняет пустоту) */
.hero-right{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
/* фото под формой (заполняет правую колонку на странице города) */
.hero-photo{margin:0;position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;flex:1;min-height:180px}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;min-height:180px}
.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(12,35,64,.88),rgba(12,35,64,0));color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding:24px 14px 10px}
.hero-aside{border:1px solid var(--line);background:var(--paper-2);padding:16px 18px;border-radius:var(--radius)}
.ha-msg{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ha-label{font-size:13px;color:var(--muted)}
.ha-btns{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.ha-msg .msg{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:700;font-size:13px;color:var(--navy);background:var(--paper);border:1px solid var(--line);padding:8px 14px;border-radius:var(--radius)}
.ha-msg .msg svg{width:16px;height:16px;flex:none}
.msg-viber svg{color:#7360f2}
.msg-tg svg{color:#26a5e4}
.ha-msg .msg:hover{border-color:var(--navy)}
.ha-info{display:flex;flex-direction:column;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.ha-row{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--navy);font-weight:500}
.ha-row svg{width:16px;height:16px;color:var(--cta);flex:none}

/* ---- КНОПКИ ---- */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:16px;padding:15px 26px;border-radius:var(--radius);cursor:pointer;border:1px solid transparent}
.btn svg{width:18px;height:18px}
/* primary CTA («Викликати майстра» тощо) — тёплый акцент */
.btn-navy{background:var(--cta);color:#fff}
.btn-navy:hover{background:var(--cta-d)}
.btn-ghost{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-blue{background:var(--cta);color:#fff;border:none}
.btn-blue:hover{background:var(--cta-d)}

/* ---- ФОРМА-КАРТОЧКА ---- */
.leadcard{position:relative;background:var(--paper);border:2px solid var(--navy);border-radius:var(--radius);overflow:hidden}
.leadcard-head{background:linear-gradient(135deg,#0c2340 0%,#15407e 55%,#1763d6 100%);color:#fff;padding:15px 20px;display:flex;align-items:center;gap:12px}
.leadcard-head .lc-ico{width:30px;height:30px;color:#fff;opacity:.92;flex:none}
.leadcard-head h3{font-size:17px;font-weight:700;margin:0;letter-spacing:-.01em;flex:1}
.leadcard-head span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#fff;background:rgba(255,255,255,.16);padding:4px 9px;border-radius:999px;white-space:nowrap}
.leadcard form{padding:22px;display:flex;flex-direction:column}
.field-u{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.field-u+input,.field-u+select{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);color:var(--ink);padding:11px 13px;font:500 16px var(--sans);outline:none;margin:6px 0 15px;width:100%}
.field-u+input:focus,.field-u+select:focus{border-color:var(--blue);background:var(--paper);box-shadow:0 0 0 3px rgba(23,99,214,.12)}
.leadcard .submit{margin-top:4px}
.leadcard .note{color:var(--muted);font-size:12px;text-align:center;margin:12px 0 0}

/* ---- СЕКЦИИ + ЗАГОЛОВОК "01 …" ---- */
.sec{padding:clamp(44px,5.5vw,76px) 0 0}
.sec-head{border-top:2px solid var(--navy);padding-top:14px;display:flex;gap:clamp(16px,4vw,56px);flex-wrap:wrap;align-items:baseline;justify-content:space-between}
.sec-head .left{display:flex;gap:clamp(16px,4vw,56px);align-items:baseline;flex:1;min-width:240px}
.sec-num{display:none} /* нумерация секций убрана по запросу (вернуть — убрать display:none) */
.sec-head h2{font-size:clamp(23px,2.8vw,32px);font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:0}
.sec-intro{color:var(--muted);font-size:16.5px;margin:14px 0 0;max-width:66ch}
.sec-meta{font-family:var(--mono);font-size:12px;color:var(--muted)}

/* ---- ЧТО ВХОДИТ (чек-карточки) ---- */
.inc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:20px}
.inc-item{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);padding:18px;border-radius:var(--radius)}
.inc-item svg{width:20px;height:20px;color:var(--blue);flex:none;margin-top:2px}
.inc-item b{font-weight:700;color:var(--ink);font-size:15.5px}
.inc-item p{margin:4px 0 0;color:var(--muted);font-size:14.5px}

/* ---- ФОТО-СЛОТЫ ---- */
.photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:20px}
.ph{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;
  background:repeating-linear-gradient(135deg,var(--paper-2),var(--paper-2) 11px,#eef3fa 11px,#eef3fa 22px);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--mono);font-size:12px}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---- ПРАЙС ---- */
.pricelist{margin-top:14px}
.pl-row{display:flex;align-items:baseline;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.pl-row .pl-name{font-weight:500;color:var(--ink);font-size:16px}
.pl-row .pl-lead{flex:1;align-self:center;border-bottom:1px dotted var(--line);min-width:24px}
.pl-row .pl-price{font-family:var(--mono);font-weight:700;color:var(--navy);font-size:17px;white-space:nowrap}
.pl-row.pl-base{align-items:center;flex-wrap:wrap;gap:12px;padding:16px 18px;background:var(--sky);border-left:3px solid var(--blue)}
.pl-base .pl-name{font-weight:700;color:var(--navy)}
.pl-base .pl-lead{border-bottom-color:var(--blue)}
.pl-base .pl-price{color:var(--blue-2);font-size:18px}
.pl-hit{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:#fff;background:var(--blue);padding:3px 7px}
.pl-soft{color:var(--muted)!important}
.pl-note{font-family:var(--mono);font-size:12px;color:var(--muted);margin:16px 0 0}

/* ---- коди помилок (таблиця бренду) ---- */
.codes{margin-top:8px}
.code-row{display:flex;gap:18px;padding:13px 0;border-top:1px solid var(--line);align-items:baseline}
.code-k{font-family:var(--mono);font-weight:700;color:var(--blue);min-width:70px;flex:none;font-size:15px}
.code-d{color:var(--ink);font-size:15.5px}

/* ---- ЭТАПЫ ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:6px}
.step{border-top:1px solid var(--line);padding:24px clamp(18px,2vw,28px) 24px 0}
.step .nn{font-family:var(--mono);font-size:34px;font-weight:700;color:var(--sky);line-height:1;letter-spacing:-.02em}
.step h3{font-size:18px;font-weight:700;color:var(--navy);margin:18px 0 6px}
.step p{color:var(--muted);font-size:15px;margin:0}

/* ---- SEO-БЛОК ---- */
.seo{background:var(--navy);color:#fff;margin-top:clamp(48px,6vw,84px);position:relative;overflow:hidden;border-top:3px solid var(--cta);border-bottom:3px solid var(--cta)}
.seo .grid-bg{-webkit-mask-image:none;mask-image:none;opacity:1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:30px 30px}
.seo-inner{position:relative;max-width:1000px;margin:0 auto;padding:clamp(48px,6vw,84px) clamp(16px,4vw,40px)}
.seo-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#7fb0ff}
.seo h2{font-size:clamp(23px,2.8vw,32px);font-weight:800;letter-spacing:-.02em;margin:12px 0 18px;max-width:26ch}
.seo-intro p{color:rgba(255,255,255,.82);font-size:16.5px;margin:0 0 16px;max-width:68ch}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 48px;margin-top:18px}
.seo-block{border-top:1px solid rgba(255,255,255,.18);padding:22px 0}
.seo-block h3{font-size:17px;font-weight:700;color:#fff;margin:0 0 8px}
.seo-block p{color:rgba(255,255,255,.72);font-size:15px;margin:0}
.seo-districts{margin-top:26px}
.seo-districts .t{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7fb0ff;margin-bottom:12px}
.seo-districts .row{display:flex;flex-wrap:wrap;gap:8px}
.seo-districts span,.seo-districts a{border:1px solid rgba(255,255,255,.28);padding:7px 13px;font-family:var(--mono);font-size:13px;color:#fff;text-decoration:none;display:inline-block}
.seo-districts a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55)}
/* локальный абзац (районы+бренды+город) — закрывающая заметка с акцентом */
.seo-local{margin-top:26px;padding-left:16px;border-left:3px solid var(--cta);color:rgba(255,255,255,.72);font-size:14px;line-height:1.65;max-width:76ch}

/* ---- КОМАНДА МАЙСТРІВ (city) ---- */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:12px;margin-top:18px}
.tcard{border:1px solid var(--line);background:var(--paper);padding:18px;border-radius:var(--radius);display:flex;flex-direction:column}
.tname{font-weight:700;color:var(--navy);font-size:16px;letter-spacing:-.01em}
.tspec{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-top:5px}
.tbio{font-size:13.5px;color:var(--muted);line-height:1.55;margin:12px 0 14px;flex:1}
.tmeta{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:12px}
.texp{font-weight:600;font-size:13px;color:var(--navy)}
.tbadge{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}
.tbadge svg{width:13px;height:13px;color:var(--cta);flex:none}

/* ---- ГОЛОВНИЙ МАЙСТЕР (home) ---- */
.hm{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;gap:clamp(20px,4vw,48px);border:2px solid var(--navy);padding:clamp(24px,3.5vw,40px);align-items:center;border-radius:var(--radius)}
.hm-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.hm-name{font-size:clamp(22px,2.4vw,28px);font-weight:800;color:var(--navy);letter-spacing:-.02em;margin-top:8px}
.hm-exp{color:var(--muted);font-size:14px;margin-top:5px}
.hm-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hm-badges span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--navy);border:1px solid var(--line);padding:6px 11px;border-radius:var(--radius)}
.hm-badges svg{width:13px;height:13px;color:var(--cta);flex:none}
.hm-quote{margin:0;font-size:clamp(17px,1.8vw,21px);line-height:1.5;color:var(--navy);font-weight:500;border-left:3px solid var(--cta);padding-left:clamp(16px,2vw,24px)}
@media(max-width:760px){.hm{grid-template-columns:1fr}}

/* ---- ПИСЬМОВА ГАРАНТІЯ (home) ---- */
.guar{display:grid;grid-template-columns:1.2fr .9fr;gap:clamp(20px,4vw,48px);border:1px solid var(--line);background:var(--paper-2);padding:clamp(24px,3.5vw,40px);align-items:center;border-radius:var(--radius)}
.guar-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.guar-l h2{font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:8px 0 12px}
.guar-l p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0;max-width:60ch}
.guar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.guar-list li{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:14.5px;color:var(--navy)}
.guar-list svg{width:18px;height:18px;color:var(--cta);flex:none;margin-top:1px}
@media(max-width:760px){.guar{grid-template-columns:1fr}}

/* ---- СТАТИЧНІ СТОРІНКИ (про нас / оферта / політика) ---- */
.legal h2{font-size:clamp(18px,2vw,22px);font-weight:800;color:var(--navy);letter-spacing:-.01em;margin:28px 0 10px}
.legal h2:first-child{margin-top:0}
.legal p{font-size:16px;line-height:1.7;color:var(--ink);margin:0 0 12px;max-width:74ch}

/* ---- ОТЗЫВЫ ---- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 clamp(24px,4vw,56px);margin-top:6px}
.quote{border-top:1px solid var(--line);padding:26px 0}
.quote .q{font-family:var(--mono);font-size:40px;line-height:.6;color:var(--sky)}
.quote p{font-size:16.5px;color:var(--ink);margin:14px 0 18px}
.quote .who{font-family:var(--mono);font-size:13px;color:var(--navy);font-weight:700}
.quote .city{font-family:var(--mono);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}

/* ---- FAQ ---- */
.faq{margin-top:6px}
.faq details{border-top:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:17.5px;font-weight:700;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{flex:none;font-family:var(--mono);font-size:24px;font-weight:400;color:var(--blue);transition:transform .25s;line-height:1}
.faq details[open] .pm{transform:rotate(45deg)}
.faq details p{margin:14px 0 0;color:var(--muted);font-size:16px;max-width:74ch}

/* ---- LINK-ЛИСТЫ + ЧИПСЫ ---- */
.linklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 clamp(24px,4vw,56px);margin-top:8px}
.linkcol{border-top:1px solid var(--line);padding-top:18px}
.linkcol .t{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ll{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15.5px;padding:11px 0;border-bottom:1px solid var(--line)}
.ll:hover{color:var(--blue)}
.ll .meta{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap;font-weight:400}
.ll svg{width:16px;height:16px;color:var(--blue);flex:none}
.ll .r{display:flex;align-items:center;gap:14px;flex:none}
.ll-thumb{width:76px;height:50px;object-fit:cover;border:1px solid var(--line);flex:none;display:block}
/* строка услуги с описанием (название + краткий текст) */
.ll-left{display:flex;align-items:center;gap:14px;min-width:0}
.ll-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ll-name{display:flex;align-items:baseline;gap:10px;font-weight:600;color:var(--ink);font-size:15.5px}
.ll-idx{display:none} /* номера перед услугами убраны по запросу */
.ll-desc{font-size:13.5px;color:var(--muted);font-weight:400;line-height:1.4}
.ll:hover .ll-name{color:var(--blue)}
@media(max-width:560px){.ll-desc{display:none}}
@media(max-width:560px){.ll-thumb{width:60px;height:42px}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none;border:1px solid var(--line);color:var(--ink);padding:10px 16px;font-weight:600;font-size:15px;border-radius:var(--radius)}
.chip:hover{border-color:var(--blue);color:var(--blue)}
.chip .meta{font-family:var(--mono);font-size:11px;color:var(--muted)}
.chip-brand{border-color:var(--navy);color:var(--navy)}
.chip-brand:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
/* группировка городов по регионам / брендов по сегменту */
.cgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px clamp(20px,3vw,44px);margin-top:12px}
.cg-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);padding-bottom:9px;border-bottom:1px solid var(--line);margin-bottom:13px}
.cgroup .chips{margin-top:0}

/* ---- БРЕНДИ ЛОГО-СІТКА (/brendy/) ---- */
/* бренды: вариант У5 — низкие плитки, крупные лого, цветной кант сегмента снизу */
.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}
.brand-card{display:flex;align-items:center;justify-content:center;min-height:64px;border:none;border-bottom:3px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:var(--paper-2);padding:9px 12px;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s}
.brand-card:hover{background:var(--paper);box-shadow:0 10px 24px -12px rgba(12,35,64,.28);transform:translateY(-2px)}
.brand-card.tier-premium{border-bottom-color:var(--navy)}
.brand-card.tier-middle{border-bottom-color:var(--blue)}
.brand-card.tier-budget{border-bottom-color:var(--cta)}
/* крупные лого (вариант У) + нормализация визуального веса */
.brand-card img{max-height:36px;max-width:78%;object-fit:contain;mix-blend-mode:multiply}
.brand-card img[src*="mitsubishi-electric"]{max-height:46px}
.brand-card img[src*="hitachi"],.brand-card img[src*="carrier"]{max-height:44px}
.brand-card img[src*="gree"]{max-height:42px}
.brand-card img[src*="lg"],.brand-card img[src*="bosch"]{max-height:38px}
.brand-card-txt{display:flex;flex-direction:column;align-items:center;gap:5px;font-weight:700;color:var(--navy);font-size:14.5px;text-align:center;letter-spacing:-.01em}
.brand-mark{width:18px;height:18px;color:var(--blue);opacity:.8}
.brand-card:hover .brand-mark{opacity:1}
/* легенда сегментов */
.brand-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;font-size:13px;color:var(--muted)}
.brand-legend i{display:inline-block;width:16px;height:3px;margin-right:7px;vertical-align:middle;border-radius:2px}
.brand-legend .lg-p{background:var(--navy)}
.brand-legend .lg-m{background:var(--blue)}
.brand-legend .lg-b{background:var(--cta)}
/* CTA-плитка: закрывает хвост сетки (21 лого) и даёт действие */
.brand-cta{grid-column:span 4;background:var(--navy);flex-direction:column;gap:3px;text-align:center;padding:10px 18px;border-bottom:none;border-radius:var(--radius)}
.brand-cta:hover{background:#0e2a4d;box-shadow:0 10px 24px -12px rgba(12,35,64,.45)}
.brand-cta .bc-t{color:#fff;font-weight:700;font-size:14.5px}
.brand-cta .bc-s{color:rgba(255,255,255,.65);font-size:12px}
@media(max-width:1000px){.brand-grid{grid-template-columns:repeat(4,1fr)}.brand-cta{grid-column:span 3}}
@media(max-width:760px){.brand-grid{grid-template-columns:repeat(3,1fr)}.brand-cta{grid-column:span 3}}
@media(max-width:520px){.brand-grid{grid-template-columns:repeat(2,1fr)}.brand-cta{grid-column:span 2}
  .brand-grid .brand-card:nth-last-child(2){grid-column:span 2}}

/* ---- ІНТЕРАКТИВНА КАРТА МІСТ (/goroda/) ---- */
.uamap-wrap{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(16px,3vw,32px);margin-top:18px;align-items:start}
.uamap-svg{border:1px solid var(--line);border-radius:var(--radius);background:
  radial-gradient(120% 90% at 50% 0%,var(--paper) 0%,var(--paper-2) 70%);padding:18px}
.uamap-svg svg{width:100%;height:auto;display:block;overflow:visible}
.ua-outline{fill:url(#uaGrad);stroke:var(--blue);stroke-width:2;stroke-linejoin:round;
  filter:drop-shadow(0 8px 16px rgba(12,35,64,.14))}
.ua-pt{cursor:pointer}
.ua-pt circle{fill:var(--cta);stroke:#fff;stroke-width:2;transition:r .12s ease,fill .12s ease}
.ua-pt text{font:600 12.5px var(--sans);fill:var(--navy);
  paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;transition:fill .12s ease}
.ua-pt:hover circle{fill:var(--blue);r:8.5}
.ua-pt:hover text{fill:var(--blue);font-weight:800}
.ua-pt:focus-visible circle{r:8.5}
.ua-pt:focus-visible text{fill:var(--blue)}
.uamap-side input{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;font:500 15px var(--sans);background:var(--paper);margin-bottom:12px;outline:none}
.uamap-side input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,99,214,.12)}
.uamap-list{display:flex;flex-wrap:wrap;gap:8px;max-height:430px;overflow:auto}
@media(max-width:760px){.uamap-wrap{grid-template-columns:1fr}}

/* ---- ФУТЕР ---- */
footer.site{background:var(--navy);color:#fff;position:relative;overflow:hidden;margin-top:clamp(44px,5.5vw,76px)}
footer.site .grid-bg{-webkit-mask-image:none;mask-image:none;opacity:1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px}
.foot-inner{position:relative;max-width:1240px;margin:0 auto;padding:clamp(40px,5vw,60px) clamp(16px,4vw,40px) 26px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px}
.foot-brand{min-width:210px}
.foot-brand p{color:rgba(255,255,255,.65);font-size:14px;margin:14px 0 0;max-width:30ch}
.foot-col h5{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7fb0ff;margin:0 0 13px}
.foot-col a{display:block;color:#fff;text-decoration:none;font-size:14.5px;opacity:.82;margin-bottom:10px}
.foot-col a:hover{opacity:1}
.foot-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:17px;font-weight:700;opacity:1!important;margin-bottom:6px!important}
.foot-phone svg{color:var(--cta);flex:none}
.foot-hours{display:block;color:rgba(255,255,255,.6);font-size:13px;margin-bottom:14px}
.foot-cta{display:inline-flex!important;opacity:1!important;font-size:14px;padding:11px 18px;margin-bottom:0!important}
.foot-cta svg{width:16px;height:16px}

/* видимый фокус с клавиатуры (доступность) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cta);outline-offset:2px;border-radius:2px}

/* чередование фона соседних секций-«шагов», чтобы не выглядели одинаково */
.sec-alt{background:var(--paper-2)}

/* ---- УСЛУГИ КАРТОЧКАМИ ---- */
.scards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px}
.scard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);transition:border-color .15s,transform .15s,box-shadow .15s}
.scard:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(12,35,64,.4)}
.scard-photo{aspect-ratio:16/10;overflow:hidden;background:var(--sky)}
.scard-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.scard:hover .scard-photo img{transform:scale(1.04)}
.scard-body{padding:18px;display:flex;flex-direction:column;flex:1}
.scard-body h3{font-size:17px;font-weight:700;color:var(--navy);margin:0;letter-spacing:-.01em}
.scard-body p{font-size:14px;color:var(--muted);line-height:1.5;margin:7px 0 0}
.scard-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);margin-top:16px}
.scard-price{font-family:var(--mono);font-weight:700;color:var(--navy);font-size:14px}
.scard-cta{background:var(--navy);border-color:var(--navy);align-items:center;justify-content:center;text-align:center}
.scard-cta-in{padding:24px}
.scard-cta-in h3{color:#fff;font-size:18px;font-weight:800;margin:0;letter-spacing:-.01em}
.scard-cta-in p{color:rgba(255,255,255,.7);font-size:14px;margin:8px 0 16px;line-height:1.5}
.foot-bot{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.55);font-family:var(--mono);font-size:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* ---- STICKY CALL-ПАНЕЛЬ ---- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);display:none;gap:1px}
.callbar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--navy);color:#fff;font-weight:700;font-size:15px;padding:15px}
.callbar a.main{flex:1.3;background:var(--cta)}
.callbar svg{width:18px;height:18px}

/* ---- АДАПТИВ ---- */
@media(max-width:880px){
  .hero-grid{grid-template-columns:1fr}
  .hero-grid--split{grid-template-areas:"main" "form" "extra"}
  .hero-grid--split .hero-extra{margin-top:6px}
  .burger{display:inline-flex}
  .lang{margin-left:auto}
  .h-cta{display:none}
  .h-city{display:none}
  .callbar{display:flex}
  body{padding-bottom:66px}
  header.site nav{display:none}
  header.site nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;
    background:var(--navy);border-top:1px solid rgba(255,255,255,.12);padding:6px 0;margin-left:0}
  header.site nav.open a{padding:13px clamp(16px,4vw,40px);border-bottom:none;color:#fff}
}
@media(max-width:560px){
  .h-phone{display:none}
  .logo{font-size:17px}
  /* stats: на мобиле — столбец во всю ширину с горизонтальными разделителями (без кривого переноса) */
  .stats{flex-direction:column;width:100%}
  .stats .st{border-right:none;border-bottom:1px solid var(--line);padding:13px 18px}
  .stats .st:last-child{border-bottom:none}
}

/* ---- СТРАНИЦА РАЙОНА: 3 направления editorial-строками (фото + номер + цена) ---- */
.dirlist{margin-top:18px;border-top:1px solid var(--line)}
.drow{display:flex;align-items:center;gap:18px;padding:14px 10px 14px 0;border-bottom:1px solid var(--line);border-left:3px solid var(--cta);text-decoration:none;color:var(--ink);transition:background .15s}
.drow:hover{background:var(--paper-2)}
.drow:hover .arr{transform:translateX(3px)}
.drow-photo{width:132px;height:88px;flex:0 0 auto;border-radius:var(--radius);overflow:hidden;margin-left:14px;background:var(--sky)}
.drow-photo img{width:100%;height:100%;object-fit:cover;display:block}
.drow-num{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--blue);flex:0 0 auto}
.drow-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.drow-body h3{font-size:17px;font-weight:800;color:var(--navy);margin:0}
.drow-pts{font-size:13.5px;color:var(--muted);line-height:1.5}
.drow-price{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--navy);white-space:nowrap}
.drow .arr{width:16px;height:16px;color:var(--blue);flex:0 0 auto;margin-right:4px;transition:transform .15s}
@media(max-width:720px){
  .drow{flex-wrap:wrap;gap:8px 12px}
  .drow-photo{width:84px;height:60px;margin-left:10px}
  .drow-num{display:none}
  .drow-body{flex:1 1 0;min-width:180px}
  .drow-pts{font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .drow-price{font-size:13.5px;margin-left:106px}
  .drow .arr{margin-right:10px}
}

/* ---- ПРИЧИНЫ ПОЛОМКИ: строки с фото узла (авто-подхват cause-*.webp) ---- */
.cause-row{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:center}
.cause-photo{width:118px;height:78px;flex:0 0 auto;border-radius:var(--radius);overflow:hidden;background:var(--sky)}
.cause-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cause-num{font-size:22px;font-weight:700;color:var(--sky);flex:0 0 auto}
.cause-row:has(.cause-photo) .cause-num{color:var(--blue)}
.cause-body h3{font-size:18px;font-weight:700;color:var(--navy);margin:0 0 5px}
.cause-body p{color:var(--muted);font-size:15.5px;margin:0;max-width:70ch}
@media(max-width:640px){
  .cause-row{gap:12px}
  .cause-photo{width:86px;height:60px}
  .cause-num{display:none}
  .cause-body h3{font-size:16.5px}
  .cause-body p{font-size:14.5px}
}

/* ---- симптом-фото в navy SEO-блоке поломки (заполняет пустоту справа от вводки) ---- */
.seo-open{display:grid;grid-template-columns:1fr minmax(280px,400px);gap:clamp(24px,4vw,52px);align-items:center}
.sym-photo{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.22)}
.sym-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.sym-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(8,22,39,.92),rgba(8,22,39,0));color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding:22px 14px 10px}
@media(max-width:860px){.seo-open{grid-template-columns:1fr}.sym-photo{max-width:520px}}

/* ---- ПОПАП ЗАЯВКИ + СТАНИ ВІДПРАВКИ ---- */
.lmodal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}
.lmodal[hidden]{display:none}
.lmodal-bg{position:absolute;inset:0;background:rgba(7,20,38,.62);backdrop-filter:blur(3px)}
.lmodal-card{position:relative;z-index:1;width:100%;max-width:420px;max-height:92vh;overflow:auto;animation:lm-in .22s ease}
@keyframes lm-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.lmodal-x{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:0;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;font-size:15px;cursor:pointer;line-height:1}
.lmodal-x:hover{background:rgba(255,255,255,.32)}
.lmodal-sub{font-size:13.5px;color:var(--muted,#5b6b82);line-height:1.5;margin:0 0 6px}
body.modal-open{overflow:hidden}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.field-bad{border-color:#e11d48!important;box-shadow:0 0 0 3px rgba(225,29,72,.15)!important}
.sent-ok{text-align:center;padding:26px 8px}
.sent-ok .sent-ico{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#16a34a;color:#fff;font-size:26px;line-height:52px}
.sent-ok b{display:block;font-size:18px;margin-bottom:6px}
.sent-ok p{font-size:14px;color:var(--muted,#5b6b82);line-height:1.55;margin:0}
.sent-err{margin:10px 0 0;font-size:13.5px;color:#e11d48;line-height:1.5}
.sent-err a{color:inherit;font-weight:700;white-space:nowrap}
.lmodal-card .leadcard-head span{margin-right:36px}
