/* ============================================================
   СЭС v2 — редизайн под уровень топ-СЭС (dez-delo.ru как ориентир).
   Два тональных режима через body-класс:
   .mode-energetic  (дезинсекция/дератизация/дезинфекция/участок)
   .mode-empathetic (клининг после смерти)
   ============================================================ */
:root{
  --bg:#0b1120; --panel:#131c31; --panel2:#1b2740; --line:#26324d;
  --txt:#e6edf7; --muted:#93a1bd;
  --accent:#22c55e; --accent2:#16a34a; --on-accent:#04140a;
  --wa:#25d366; --tg:#2aabee;
  --radius:14px; --maxw:1200px;   /* №8: шире контейнер под большие экраны */
}
.mode-empathetic{
  --bg:#0e1420; --panel:#161e2c; --panel2:#1d2736; --line:#2a3444;
  --txt:#e8ecf3; --muted:#9aa6b8;
  --accent:#7c9cc4; --accent2:#6a8ab3; --on-accent:#0b1220;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;
     background:var(--bg);color:var(--txt);line-height:1.55}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
img{max-width:100%}

/* ---- ТОПБАР (акция + мессенджеры) ---- */
.topbar{background:linear-gradient(90deg,var(--accent2),var(--accent));color:var(--on-accent);
        font-size:13px;font-weight:700}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 24px;flex-wrap:wrap}
.topbar .promo{display:flex;align-items:center;gap:8px}
.topbar .mgr{display:flex;gap:8px;align-items:center}
.topbar a.im{display:inline-flex;align-items:center;gap:6px;background:rgba(0,0,0,.16);
     color:#fff;text-decoration:none;padding:4px 10px;border-radius:20px;font-weight:700}
.topbar a.im.wa{background:var(--wa)} .topbar a.im.tg{background:var(--tg)}

/* ---- HEADER / NAV ---- */
header{position:sticky;top:0;z-index:20;background:rgba(11,17,32,.9);
       backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.mode-empathetic header{background:rgba(14,20,32,.92)}
.nav{display:flex;align-items:center;gap:20px;justify-content:space-between;
     padding:14px 24px;max-width:var(--maxw);margin:0 auto}
.brand{font-weight:800;font-size:19px;letter-spacing:.3px;text-decoration:none;white-space:nowrap}
.brand span{color:var(--accent)}
.menu{display:flex;gap:20px;flex-wrap:wrap}
.menu a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:600}
.menu a:hover,.menu a.active{color:var(--txt)}
.nav .phone{font-weight:700;text-decoration:none;white-space:nowrap}
.nav .phone small{display:block;color:var(--muted);font-weight:500;font-size:11px}
.burger{display:none;background:none;border:0;color:var(--txt);font-size:24px;cursor:pointer;padding:4px 8px;width:auto;margin:0}

/* ---- HERO ---- */
.hero{padding:56px 0 40px;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.hero h1{font-size:44px;line-height:1.08;margin:0 0 16px;font-weight:800}
.hero h1 span{color:var(--accent)}
.hero p.lead{font-size:18px;color:var(--muted);margin:0 0 22px;max-width:560px}
.mode-empathetic .hero h1{font-weight:700;font-size:34px}

/* ---- PEST SELECTOR (с ценами-плитками) ---- */
.selector{margin:18px 0 6px}
.selector .st{font-size:13px;color:var(--muted);margin-bottom:12px}
.pests{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pest{background:var(--panel2);border:1px solid var(--line);border-radius:12px;
      padding:14px;font-size:15px;color:var(--txt);cursor:pointer;text-align:left;
      display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .1s}
.pest .pi{font-size:26px}
.pest .pn{font-weight:700}
.pest .pp{font-size:13px;color:var(--accent);font-weight:700}
.pest:hover{border-color:var(--accent);transform:translateY(-2px)}
.pest.active{border-color:var(--accent);background:rgba(34,197,94,.12)}

/* ---- FORM CARD ---- */
.formcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
          padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.35);position:sticky;top:88px}
.formcard h3{margin:0 0 4px;font-size:20px}
.formcard .sub{color:var(--muted);font-size:14px;margin:0 0 18px}
label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--line);
     color:var(--txt);border-radius:10px;padding:12px 14px;font-size:15px;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
textarea{resize:vertical;min-height:64px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row2 label{margin-top:12px}
.suffix-area{position:relative}
.suffix-area::after{content:'м²';position:absolute;right:14px;top:38px;color:var(--muted);font-size:14px;pointer-events:none}
button{margin-top:18px;width:100%;background:var(--accent);color:var(--on-accent);border:0;
       border-radius:10px;padding:14px;font-size:16px;font-weight:800;cursor:pointer;transition:background .15s}
button:hover{background:var(--accent2)}
button:disabled{opacity:.6;cursor:default}
.im-row{display:flex;gap:10px;margin-top:12px}
.im-row a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
     text-decoration:none;color:#fff;font-weight:700;padding:12px;border-radius:10px;font-size:14px}
.im-row a.wa{background:var(--wa)} .im-row a.tg{background:var(--tg)}
.formnote{color:var(--muted);font-size:12px;margin-top:10px;text-align:center}
.msg{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:14px;display:none}
.msg.ok{display:block;background:#e8f5ec;border:1px solid #8fcea6;color:#12643a}
.msg.err{display:block;background:#3a1414;border:1px solid #a23b3b;color:#fbc9c9}

/* ---- SECTIONS ---- */
section{padding:52px 0}
h2{font-size:30px;margin:0 0 8px;font-weight:800}
.sec-sub{color:var(--muted);font-size:16px;margin:0 0 28px;max-width:680px}
.mode-empathetic h2{font-weight:700}

/* ---- КАЛЬКУЛЯТОР ---- */
.calc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
      display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.calc .fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc .fields .full{grid-column:1/-1}
.calc-out{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:24px;text-align:center;min-height:120px;
          display:flex;flex-direction:column;justify-content:center;gap:8px}
.calc-out b{font-size:30px;color:var(--accent);display:block}
.calc-out .c-note{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.calc-out .c-hint{color:var(--muted);font-size:14px}
.calc-out button{margin-top:14px}

/* ---- УСЛУГИ ---- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;
     text-decoration:none;color:inherit;display:block;transition:border-color .15s,transform .1s}
a.svc:hover{border-color:var(--accent);transform:translateY(-2px)}
/* R5 §7: service cards react as a whole (shadow + accent + heading colour), no underline. */
a.svc:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 28px #1e273314}
a.svc:hover h4{color:var(--accent)}
.svc h4,.svc p,.svc .price{text-decoration:none}

.svc .ic{font-size:28px}
.svc h4{margin:10px 0 6px;font-size:18px}
.svc p{margin:0 0 10px;color:var(--muted);font-size:14px}
.svc .price{color:var(--accent);font-weight:800;font-size:15px}

/* ---- ЦИФРЫ ДОВЕРИЯ ---- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust>div{background:none;border:0;border-radius:0;padding:14px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.trust .v{font-size:18px;font-weight:800;color:var(--txt)}
.trust .l{color:var(--muted);font-size:14px;margin-top:4px}

/* ---- ДЛЯ КОГО ---- */
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.audience span{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px}

/* ---- КАК РАБОТАЕМ ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--on-accent);
         font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:18px}

/* ---- ОТЗЫВЫ ---- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.review .stars{color:#f5b301;font-size:15px;margin-bottom:8px}
.review p{margin:0 0 12px;font-size:14px}
.review .who{color:var(--muted);font-size:13px;font-weight:700}

/* ---- ЛИЦЕНЗИИ / СЕРТИФИКАТЫ (плейсхолдеры) ---- */
.certs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cert{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);
      aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;
      color:var(--muted);font-size:13px;text-align:center;padding:16px;gap:8px}
.cert .ci{font-size:34px;opacity:.6}

/* ---- FAQ АККОРДЕОН ---- */
.faq{max-width:none;width:100%}

.faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--panel)}
.faq-q{padding:18px 20px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:16px}
.faq-q::after{content:'\2039';display:inline-block;color:var(--accent);font-size:22px;transform:rotate(-90deg);transition:transform .2s}
.faq-item.open .faq-q{background:#eef3fd;color:var(--txt)}
.faq-item.open .faq-q::after{transform:rotate(90deg);color:var(--accent)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--muted);font-size:15px;padding:0 20px}
.faq-item.open .faq-a{max-height:400px;padding:0 20px 18px}

/* ---- SEO ПОЛОТНО ---- */
.seo{max-width:900px;color:var(--muted);font-size:15px;line-height:1.7}
.seo h3{color:var(--txt);font-size:19px;margin:24px 0 10px}
.seo p{margin:0 0 14px}
.seo ul{padding-left:20px} .seo li{margin:6px 0}

/* ---- CTA / FOOTER ---- */
.footcta{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);
         padding:32px;text-align:center;margin-top:12px}
.footcta a.btn{display:inline-block;margin-top:14px;background:var(--accent);color:var(--on-accent);
     text-decoration:none;font-weight:800;padding:13px 28px;border-radius:10px}
footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:14px}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;margin-bottom:20px}
.footgrid h5{color:var(--txt);font-size:15px;margin:0 0 10px}
.footgrid a{display:block;color:var(--muted);text-decoration:none;font-size:14px;margin:6px 0}

/* ---- АДАПТИВ ---- */
@media(max-width:980px){
  .hero{grid-template-columns:1fr;padding:36px 0 20px}
  .hero h1{font-size:32px}
  .formcard{position:static}
  .calc{grid-template-columns:1fr}
  .grid,.trust,.reviews,.certs{grid-template-columns:1fr 1fr}
  .audience{grid-template-columns:1fr 1fr}
  .footgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--panel);
        flex-direction:column;gap:0;padding:8px 0;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .menu a{padding:12px 20px}
  .burger{display:block}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .pests{grid-template-columns:1fr 1fr}
  .grid,.trust,.reviews,.certs,.steps,.audience{grid-template-columns:1fr}
  .calc .fields{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr}
  .topbar .promo{display:none}
}


/* ---- Совместимость со страницами услуг и клинингом (из v1) ---- */
.prose{max-width:820px}
.prose p{color:var(--muted);font-size:16px}
.prose ul{color:var(--muted);font-size:16px;padding-left:20px}
.prose li{margin:8px 0}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.why .v{font-size:24px;font-weight:800;color:var(--accent)}
.why .l{color:var(--muted);font-size:14px}
.hotline{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
         padding:20px 22px;margin:20px 0 8px;max-width:520px}
.hotline .ht-label{font-size:13px;color:var(--muted);margin-bottom:4px}
.hotline .ht-num{display:inline-block;font-size:26px;font-weight:800;color:var(--accent);
         text-decoration:none;letter-spacing:.3px}
.hotline .ht-note{font-size:13px;color:var(--muted);margin-top:6px}
@media(max-width:860px){.why{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.why{grid-template-columns:1fr}}

/* ---- ИНЛАЙН-ИКОНКИ (замена эмодзи) ---- */
.ico{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;flex:none;stroke-width:1.7}
.burger .ico{width:26px;height:26px;vertical-align:middle}
.pest .pi{display:inline-flex;align-items:center;color:var(--accent)}
.pest .pi .ico{width:28px;height:28px}
.svc .ic{display:inline-flex;align-items:center;color:var(--accent)}
.svc .ic .ico{width:30px;height:30px;stroke-width:1.6}
.cert .ci{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}
.cert .ci .ico{width:34px;height:34px;stroke-width:1.5}
.promo .ico{width:16px;height:16px;color:var(--on-accent);margin-right:2px}
.im-row a .ico{width:18px;height:18px;color:#fff}
.mode-empathetic .badge .ico,
.mode-empathetic .pest .pi,
.mode-empathetic .svc .ic,
.mode-empathetic .cert .ci{color:var(--accent)}

/* geo internal-linking block */
.geo{padding:48px 0;border-top:1px solid var(--border)}
.geo .geogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.geo .geogrid a{display:block;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--fg);font-size:14px;text-decoration:none;transition:.15s}
.geo .geogrid a:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:900px){.geo .geogrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.geo .geogrid{grid-template-columns:1fr}}


/* --- photos + contact buttons (MAX/Avito), session 23 --- */
:root{--max:#3b5bff;--avito:#00aaff}
.svc img{width:100%;height:150px;object-fit:cover;border-radius:10px;margin:0 0 14px;border:1px solid var(--line)}
.herobanner{position:relative;margin:34px 0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:280px;display:flex;align-items:center}
.herobanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.herobanner::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,20,14,.88) 0%,rgba(6,20,14,.55) 45%,rgba(6,20,14,.15) 100%)}
.herobanner .hb-in{position:relative;z-index:2;padding:38px 40px;max-width:560px;color:#fff}
.herobanner .hb-in h2{margin:0 0 12px;font-size:28px;line-height:1.2;color:#fff}
.herobanner .hb-in .lead{margin:0 0 18px;color:#dfeee6;font-size:16px}
.herobanner .hb-in .btn{display:inline-block;background:var(--accent);color:var(--on-accent,#fff);font-weight:800;padding:13px 26px;border-radius:10px;text-decoration:none}
.contact-btns{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.contact-btns a{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none;color:#fff}
.contact-btns .max{background:var(--max)}
.contact-btns .avito{background:var(--avito)}
.avito-link{color:var(--avito);font-weight:700;text-decoration:none}
.avito-link:hover{text-decoration:underline}
.im.max{color:var(--max)}
a.max{color:var(--max)}
@media(max-width:640px){
  .herobanner::before{background:linear-gradient(180deg,rgba(6,20,14,.35) 0%,rgba(6,20,14,.85) 100%)}
  .herobanner .hb-in{padding:26px 22px;max-width:100%}
  .herobanner .hb-in h2{font-size:22px}
}



button.faq-q{width:100%;margin:0;text-align:left;background:transparent;color:var(--txt);border-radius:0}.faq-a[hidden]{display:none}.faq-item.open .faq-a{max-height:none}
/* Native lead dialog, same tokens as every page. */
.hero-contact{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.hero-contact h2{font-size:24px}.hero-contact p{color:var(--muted)}
.order-dialog{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:18px;width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:20px;overflow:auto;box-shadow:0 24px 90px #0005;overscroll-behavior:contain}
.order-dialog::backdrop{background:#06130db3;backdrop-filter:blur(4px)}.order-dialog .formcard{position:static;padding:8px;border:0;box-shadow:none}.dialog-close{display:block;width:auto;margin:0 0 12px auto;padding:8px 12px;background:var(--panel2);color:var(--txt);font-size:14px}
@media(max-width:600px){.order-dialog{padding:12px}.hero-contact{padding:20px}}


/* Compact illustrations share one rhythm; the approved yard picture is retained. */
.service-photo{margin:20px 0;max-width:480px}.service-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.service-photo figcaption,.image-disclosure{font-size:11px;line-height:1.5;color:var(--muted);margin-top:7px}
#services .svc img,#services .svc .ses-yard-photo img{height:150px;aspect-ratio:auto;width:100%;object-fit:cover;border:0;border-radius:10px;margin:0 0 14px}
#services .svc .ses-yard-photo{margin:0;max-width:none}#services .svc .ses-yard-photo picture{background:transparent;overflow:visible}#services .svc h4{min-height:2.8em;line-height:1.4}
@media(max-width:560px){#services .svc img,#services .svc .ses-yard-photo img{height:180px}}

/* Shared accessible shell: light default, explicit persisted dark. */
:root{color-scheme:light;--bg:#f6f6f3;--panel:#fdfdfb;--panel2:#eceef0;--line:#d9dde2;--txt:#1e2733;--muted:#5c6672;--accent:#2b5cd6;--accent2:#1b3fa0;--on-accent:#fff;--border:var(--line);--fg:var(--txt)}
.mode-empathetic{--bg:#f5f7fa;--panel:#fff;--panel2:#edf1f6;--line:#cad3df;--txt:#243348;--muted:#53657b;--accent:#466991;--accent2:#365575;--on-accent:#fff}
html[data-theme="dark"]{color-scheme:dark;--bg:#0b1120;--panel:#131c31;--panel2:#1b2740;--line:#344361;--txt:#e6edf7;--muted:#adbad1;--accent:#4ade80;--accent2:#22c55e;--on-accent:#04140a}
html[data-theme="dark"] .mode-empathetic{--bg:#0e1420;--panel:#161e2c;--panel2:#1d2736;--line:#39465b;--txt:#e8ecf3;--muted:#b0bdd0;--accent:#9cb9dc;--accent2:#7c9cc4;--on-accent:#0b1220}
.mode-energetic,.mode-empathetic{background:var(--bg);color:var(--txt)}
.site-header,.mode-empathetic .site-header{background:var(--panel)}
/* Neutralize Hello header layout and Canvas column padding for our own shell. */
.mode-energetic > .site-header,.mode-empathetic > .site-header{display:block;padding:0;min-width:0}
.site-header > .nav{width:100%;min-width:0}
.elementor-widget-wrap:has(> .elementor-widget-html > .mode-energetic),.elementor-widget-wrap:has(> .elementor-widget-html > .mode-empathetic){padding:0}
.nav{flex-wrap:wrap;gap:14px}.menu{order:3;width:100%;justify-content:center;gap:12px 24px}.nav-actions{display:flex;align-items:center;gap:18px}
.theme-switch{display:inline-flex;width:auto;align-items:center;gap:8px;background:transparent;color:var(--txt);font-size:12px;padding:8px;margin:0;font-weight:600;white-space:nowrap}
.theme-switch:hover{background:var(--panel2)}.switch-track{width:40px;height:24px;border-radius:20px;background:var(--muted);padding:3px;display:inline-flex;flex:none}.switch-thumb{width:18px;height:18px;background:var(--panel);border-radius:50%;transition:transform .15s}.theme-switch[aria-checked="true"] .switch-track{background:var(--accent)}.theme-switch[aria-checked="true"] .switch-thumb{transform:translateX(16px)}
.nav-max{font-weight:700;color:var(--max)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:var(--panel);padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.hero>*,.row2>*,.calc>*,.fields>*{min-width:0} .hero h1{overflow-wrap:break-word} .pest{margin:0}.formcard{box-shadow:0 12px 36px #10251a14}.im-row a.max{background:var(--max);color:#fff}
@media(max-width:860px){.menu{width:auto;max-height:70vh;overflow:auto;order:initial}.nav{gap:12px}.nav-actions{gap:10px}.nav .phone{font-size:14px}}
@media(max-width:600px){.nav{padding:12px 16px}.nav>.brand{width:100%}.nav-actions{width:100%;justify-content:space-between;gap:4px}.theme-switch{padding:6px}.theme-switch>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wrap{padding:0 16px}.row2{grid-template-columns:1fr}.formcard,.calc{padding:20px}.hero h1,.mode-empathetic .hero h1{font-size:30px}.brand{font-size:18px}.hotline .ht-num{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Explicit controls beat Hello's attribute selectors, without leaking to WP admin. */
:is(.mode-energetic,.mode-empathetic) button{width:100%;margin-top:18px;padding:14px;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:16px;font-weight:700;line-height:1.4}
:is(.mode-energetic,.mode-empathetic) button:hover{background:var(--accent2)}
:is(.mode-energetic,.mode-empathetic) input:not([type=checkbox]):not([type=radio]),:is(.mode-energetic,.mode-empathetic) select,:is(.mode-energetic,.mode-empathetic) textarea{width:100%;min-height:46px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--txt);font-family:inherit;font-size:15px;line-height:1.4}
:is(.mode-energetic,.mode-empathetic) .pest{min-width:0;margin:0;background:var(--panel2);color:var(--txt);border:1px solid var(--line);text-align:left;font-size:15px;white-space:normal;overflow-wrap:anywhere}
:is(.mode-energetic,.mode-empathetic) .pest:hover,:is(.mode-energetic,.mode-empathetic) .pest.active{background:var(--panel2);border-color:var(--accent)}
:is(.mode-energetic,.mode-empathetic) .theme-switch{display:inline-flex;width:auto;margin:0;padding:8px;background:transparent;color:var(--txt);font-size:12px;font-weight:600;line-height:1.4}
:is(.mode-energetic,.mode-empathetic) .theme-switch:hover{background:var(--panel2)}
:is(.mode-energetic,.mode-empathetic) .burger{width:auto;margin:0;padding:4px 8px;background:transparent;color:var(--txt)}
:is(.mode-energetic,.mode-empathetic) .dialog-close{width:auto;margin:0 0 12px auto;padding:8px 12px;background:var(--panel2);color:var(--txt);font-size:14px}
:is(.mode-energetic,.mode-empathetic) .faq-q{margin:0;background:transparent;color:var(--txt);border-radius:0;text-align:left;padding:18px 20px}
#services .svc .ic{height:32px;align-items:center}
@media(max-width:600px){:is(.mode-energetic,.mode-empathetic) .theme-switch{padding:6px}}

/* Compact service-selection homepage and shared editorial footer. */
.home-hero{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:24px 36px;padding:32px 0 24px;align-items:center}
.home-hero h1{font-size:38px;line-height:1.13;max-width:24ch;text-wrap:balance}
.home-hero p.lead{font-size:16px;line-height:1.65;margin-bottom:0;max-width:62ch}
.home-hero .hero-contact{padding:24px}.home-hero .hero-contact h2{font-size:22px;line-height:1.3}.home-hero .hero-contact p{font-size:14px;line-height:1.65}
.home-hero>.selector{grid-column:1/-1;margin:0;border-top:1px solid var(--line);padding-top:18px}
.home-hero .pests{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
:is(.mode-energetic,.mode-empathetic) .home-hero .pest{padding:12px;gap:4px;font-size:13px}
.home-hero .pest .pi .ico{width:22px;height:22px}.home-hero .pest .pp{font-size:12px}
main:has(.home-hero)>section:not(.hero){padding:30px 0}main:has(.home-hero) .sec-sub{margin-bottom:20px;font-size:15px}
#services .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}#services .svc{min-width:0;padding:14px;display:flex;flex-direction:column}
#services .svc h4{font-size:17px;margin:0 0 8px;min-height:2.8em;overflow-wrap:break-word}
#services .svc p{line-height:1.6;font-size:13px}#services .svc .price{margin-top:auto;font-size:14px}
#services .svc img,#services .svc .ses-yard-photo img{height:136px;margin-bottom:14px}
.trust>div,.why>div{padding:18px}.trust>div>div,.why>div>div{padding:0;border:0;background:none;border-radius:0}
.trust .v{font-size:24px}.document-note{display:flex;gap:24px;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:24px 0}
.document-note h2{font-size:24px}.document-note p{color:var(--muted);margin:8px 0 0}.document-note a{flex:none;color:var(--accent);font-weight:600;padding:12px 0}
:is(.mode-energetic,.mode-empathetic) .faq-q{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.5}.faq-q::after{flex:none}
:is(.mode-energetic,.mode-empathetic) button.faq-q:is(:hover,:focus-visible){background:#eef3fd;color:var(--txt)}
:is(.mode-energetic,.mode-empathetic) button.faq-q:is(:hover,:focus-visible)::after{color:var(--accent)}
.mode-energetic>.site-footer,.mode-empathetic>.site-footer{display:block;width:100%;padding:44px 0 16px;background:var(--panel2);color:var(--txt);border-top:1px solid var(--line)}
.site-footer .wrap{width:100%}.site-footer a{color:var(--txt);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.footer-intro{display:flex;justify-content:space-between;align-items:start;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.site-footer .brand{display:inline-flex;align-items:center;min-height:44px;font-size:23px;white-space:normal}.footer-intro p{color:var(--muted);font-size:14px;margin:4px 0 10px;line-height:1.7}
.footer-contact{text-align:right}.site-footer .footer-phone{display:inline-flex;align-items:center;min-height:44px;font-size:24px;font-weight:750;white-space:nowrap}
.site-footer .footer-message{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:600}
.footer-links{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;padding:28px 0}.site-footer h2{font-size:15px;font-weight:750;margin:0 0 12px;line-height:1.5}
.footer-links a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}.footer-coverage>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.footer-guide p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 8px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
.site-footer *{min-width:0}.site-footer nav{position:static;background:none;padding:0;border:0}.site-footer p{max-width:38ch}
.topbar{background:var(--accent)}.topbar a.im.tg,.im-row a.tg{background:#11658d;color:#fff}.contact-btns a.avito{background:#006da3;color:#fff}
.nav-max{color:var(--accent);display:inline-flex;align-items:center;min-height:44px}.avito-link{color:var(--accent)}


/* Intentional wrapping, never blanket nowrap on body text. */
main p,main li{hyphens:none;word-break:normal;text-wrap:pretty}
main h1,main h2,main h3{hyphens:none;word-break:normal;text-wrap:balance}
.home-hero h1{max-width:none;font-size:36px;text-wrap:pretty}.home-hero h1 span{display:block}
.menu a,.price,.pp,.footer-phone{white-space:nowrap}
a.avito-link,.contact-btns a.avito{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;line-height:1.5}
html[data-theme="dark"] a .avito-logo{content:url("img/avito-official-dark.svg")}
a .avito-logo{display:block;flex:0 0 88px;width:88px;height:32px;object-fit:contain;background:transparent;padding:0;border-radius:0;border:0;margin:0}
.footer-contact>a.avito-link{display:flex;justify-content:flex-end;font-size:14px}
.review-source{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:28px}
.review-source h2{margin:0 0 8px}.review-source p{color:var(--muted);margin:0}.review-source-link{flex:none;padding:12px 18px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 2px 8px #25332114;text-decoration:none;font-weight:600;color:var(--txt);cursor:pointer;transition:box-shadow .15s,background .15s,transform .1s}.review-source-link:hover{background:#f6f9ff;box-shadow:0 4px 12px #25332120;transform:translateY(-1px)}.review-source-link:active{transform:translateY(0);box-shadow:0 2px 6px #25332114}.review-source-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:980px){.home-hero{grid-template-columns:1fr}.home-hero h1{font-size:34px}.home-hero .hero-contact{max-width:none}.home-hero h1 span{display:inline}}
@media(max-width:760px){.footer-contact>a.avito-link{justify-content:flex-start}.review-source{flex-direction:column;align-items:start;padding:20px}}
@media(max-width:420px){.home-hero h1{font-size:29px}.contact-btns a{width:100%;justify-content:center;font-size:13px}.review-source-link{font-size:13px;padding:10px}}

/* Official brand artwork stays unmodified; label contrast is independent. */
a[data-max],a[href^="https://t.me/"]{display:inline-flex;align-items:center;gap:8px}
a .messenger-logo{display:block;flex:0 0 24px;width:24px;height:24px;min-width:24px;object-fit:contain;margin:0;border:0;border-radius:0;vertical-align:middle}
.topbar a.im.max{background:#283e98;color:#fff}
.contact-btns a.max{background:#3b5bff;color:#fff}
.contact-btns a.tg{background:#11658d;color:#fff}

:is(.mode-energetic,.mode-empathetic) .theme-switch,:is(.mode-energetic,.mode-empathetic) .burger,:is(.mode-energetic,.mode-empathetic) .dialog-close{min-height:44px}
.menu a{display:inline-flex;align-items:center;min-height:44px}.nav{padding-block:8px;gap:4px 16px}
@media(max-width:1180px){#services .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-hero .pests{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.home-hero{grid-template-columns:1fr 1fr;gap:24px}.home-hero h1{font-size:32px}.footer-links{gap:24px}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr;gap:20px;padding:24px 0}.home-hero h1{font-size:32px;max-width:100%}.home-hero .hero-contact{padding:18px}.home-hero .hero-contact h2{font-size:20px}.home-hero .hero-contact .formnote{margin-bottom:0}.home-hero .pests{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-links{grid-template-columns:1fr 1fr}.footer-guide{grid-column:1/-1}.footer-guide p{max-width:60ch}.footer-intro{flex-direction:column;gap:16px}.footer-contact{text-align:left}.document-note{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:560px){#services .grid{grid-template-columns:1fr}.home-hero .pests{grid-template-columns:repeat(2,minmax(0,1fr))}#services .svc{padding:16px}#services .svc h4{min-height:0;font-size:19px}#services .svc img,#services .svc .ses-yard-photo img{height:180px}.home-hero h1{font-size:30px}main:has(.home-hero)>section:not(.hero){padding:24px 0}.footer-links{grid-template-columns:1fr;gap:20px}.footer-guide{grid-column:auto}.site-footer .brand{font-size:21px}.site-footer .footer-phone{font-size:22px}.mode-energetic>.site-footer,.mode-empathetic>.site-footer{padding-top:28px}.footer-bottom{display:grid;gap:8px}.nav-actions{flex-wrap:wrap}}




/* Original editorial process and consistent neutral labels. */
:is(.mode-energetic,.mode-empathetic) a:not(.btn){color:var(--txt)}
:is(.mode-energetic,.mode-empathetic) a:not(.btn):hover{color:var(--txt);text-decoration:underline;text-underline-offset:4px}
:is(.mode-energetic,.mode-empathetic) :is(.topbar a.im,.im-row a,.contact-btns a){background:var(--panel);color:var(--txt);border:1px solid var(--line)}
.sc-safety-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sc-safety-step{min-width:0;border-top:2px solid var(--accent);padding:18px 0 0;text-align:left}
.sc-safety-step>span{font-size:13px;font-weight:700;color:var(--accent2);letter-spacing:.02em}
.sc-safety-step h3{font-size:20px;line-height:1.4;margin:10px 0}
.sc-safety-step p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.review-source{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:28px 0}
#reviews.review-source{border-top:0}
@media(max-width:700px){.sc-safety-grid{grid-template-columns:1fr}}
/* Wide editorial hero; one inline native order action. */
.home-hero{grid-template-columns:minmax(0,1fr)}
.home-hero h1{max-width:none}.home-hero h1 span{display:inline}
.home-hero p.lead{max-width:70ch}
.home-hero .hero-copy>.btn{width:auto;margin-top:22px}
/* Process: three readable stages, then one full-width reminder. */
#how .sec-sub{max-width:80ch;font-size:16px;line-height:1.6;margin-bottom:32px;text-wrap:pretty}
#how .sc-safety-grid{gap:40px}
#how .sc-safety-step{padding-top:20px}
#how .sc-safety-step h3{font-size:20px;line-height:1.4;margin:12px 0}
#how .sc-safety-step p{font-size:16px;line-height:1.6;margin:0;text-wrap:pretty}
#how #ses-preparation{margin-top:32px}
#how #ses-preparation .sc-note{margin:0;font-size:15px;line-height:1.6;max-width:90ch;color:var(--muted);background:#eef3fd;padding:14px 16px;border-radius:10px}
@media(max-width:700px){#how .sc-safety-grid{grid-template-columns:1fr;gap:28px}#how .sc-safety-step h3{font-size:19px}#how .sec-sub{margin-bottom:28px}#how #ses-preparation{margin-top:28px}}

/* ===== CTA «Заказать звонок» в шапке ===== */
/* Спецификация выше базового :is(.mode-energetic,...) button (0,2,1) — перебиваем его без !important. */
.mode-energetic .cta-call,.mode-empathetic .cta-call,.cta-call{display:inline-flex;align-items:center;gap:8px;width:auto;min-height:44px;height:auto;margin-top:0;padding:0 18px;border:0;border-radius:10px;background:var(--cta);color:var(--on-cta);font:inherit;font-size:15px;font-weight:700;line-height:1.1;cursor:pointer;white-space:nowrap;box-shadow:0 2px 10px #f5a01f33;transition:background .15s,transform .15s}
.cta-call svg{width:19px;height:19px;flex:none}
.mode-energetic .cta-call:hover,.cta-call:hover{background:var(--cta2);transform:translateY(-1px)}
.cta-call:focus-visible{outline:2px solid var(--cta2);outline-offset:3px}
@media(max-width:767px){.cta-call{order:2;font-size:14px;padding:0 14px}}
@media(max-width:400px){.cta-call{padding:0 12px}}

/* ===== Плавающая «кнопка паники» — компактный сигнальный элемент ===== */
.mode-energetic .panic-btn,.mode-empathetic .panic-btn,.panic-btn{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;height:48px;min-height:48px;margin-top:0;padding:0 18px 0 15px;border:0;border-radius:26px;background:var(--panic);color:var(--on-panic);font:inherit;font-size:14px;font-weight:700;line-height:1.1;cursor:pointer;box-shadow:0 6px 18px #e5482d55,0 1px 4px #0003}
.panic-btn svg{width:20px;height:20px;flex:none;position:relative;z-index:2}
.panic-btn .panic-txt{position:relative;z-index:2;white-space:nowrap}
.panic-btn .panic-txt br{display:none}
.mode-energetic .panic-btn:hover,.panic-btn:hover{background:var(--panic2)}
.panic-btn:focus-visible{outline:3px solid var(--panic2);outline-offset:3px}
@media(max-width:560px){
.panic-btn{width:52px;min-width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;gap:0}
.panic-btn .panic-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.panic-btn svg{width:22px;height:22px}
}

.panic-pulse{position:absolute;left:9px;top:50%;width:22px;height:22px;transform:translateY(-50%);border-radius:50%;background:var(--panic);z-index:0;animation:panic-pulse 2.4s ease-out infinite}
@keyframes panic-pulse{0%{transform:translateY(-50%) scale(1);opacity:.5}70%{transform:translateY(-50%) scale(2.1);opacity:0}100%{opacity:0}}
@media(max-width:560px){.panic-btn{right:12px;bottom:12px;height:46px;min-height:46px;padding:0 15px 0 13px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.panic-pulse{animation:none;opacity:0}}

/* ===== Модалка отзывов ===== */
.reviews-cta{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 22px;border:1.5px solid var(--accent);border-radius:10px;background:var(--panel);color:var(--accent);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.reviews-cta svg{width:19px;height:19px}
.reviews-cta:hover{background:var(--accent);color:var(--on-accent)}
.reviews-cta:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.reviews-dialog{width:min(640px,calc(100% - 32px));max-height:88dvh;padding:0;border:0;border-radius:16px;background:var(--panel);color:var(--txt);box-shadow:0 24px 60px #0000003d;overflow:hidden}
.reviews-dialog::backdrop{background:#1e273399;backdrop-filter:blur(2px)}
.reviews-dialog .rv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
.reviews-dialog .rv-head h3{margin:0;font-size:20px}
.reviews-dialog .rv-close{width:40px;height:40px;flex:none;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--txt);font-size:20px;line-height:1;cursor:pointer}
.reviews-dialog .rv-close:hover{background:var(--panel2)}
.reviews-dialog .rv-body{padding:22px;overflow-y:auto;max-height:calc(88dvh - 132px)}
.reviews-dialog .rv-shot{margin:0}
.reviews-dialog .rv-shot img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line);background:#fff}
.reviews-dialog .rv-cap{margin:12px 2px 0;font-size:14px;color:var(--muted)}
.reviews-dialog .rv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:14px;color:var(--muted)}
.reviews-dialog .rv-foot{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 22px;border-top:1px solid var(--line);background:var(--panel2)}
.reviews-dialog .rv-foot button{width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--txt);font-size:20px;cursor:pointer}
.reviews-dialog .rv-foot button:not(:disabled):hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.reviews-dialog .rv-foot button:disabled{opacity:.35;cursor:default}
.reviews-dialog .rv-count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:56px;text-align:center}
.reviews-dialog:focus-visible{outline:none}
@media(max-width:560px){.reviews-dialog .rv-body{padding:16px}}

/* ===== Деликатные услуги под раскрытием ===== */
.svc-delicate{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}
.svc-delicate>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;list-style:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--muted);user-select:none;padding:6px 10px;margin:0 -10px;border-radius:10px;transition:background .15s,color .15s}
.svc-delicate>summary::-webkit-details-marker{display:none}
.svc-delicate>summary:hover{background:#eef3fd;color:var(--txt)}
.svc-delicate>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.svc-delicate-toggle-text{flex:none;font-size:13px;font-weight:600;color:var(--accent2)}
.svc-delicate-toggle-text::before{content:'Показать услуги'}
.svc-delicate[open]>summary .svc-delicate-toggle-text::before{content:'Скрыть услуги'}
.svc-delicate-chevron{width:20px;height:20px;flex:none;transition:transform .2s}
.svc-delicate[open]>summary .svc-delicate-chevron{transform:rotate(180deg)}
@media(max-width:560px){.svc-delicate-toggle-text{display:none}}
.svc-delicate-body{padding-top:16px;max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.svc-delicate-body .svc{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:14px}
.svc-delicate-body .svc img{height:150px;width:100%;border-radius:10px;object-fit:cover;margin:0 0 14px}
.svc-delicate-body .svc h4{margin:0 0 6px}
.svc-delicate-body .svc p{margin:0 0 8px;font-size:14px;line-height:1.6;color:var(--muted)}
@media(max-width:560px){.svc-delicate-body .svc{grid-template-columns:1fr}.svc-delicate-body .svc img{width:100%;height:150px}}

/* ===== Killer-фича: баннер «Определи вредителя по фото» ===== */
.identify-cta{margin:0 0 44px}
.identify-in{display:flex;align-items:center;gap:28px;background:linear-gradient(120deg,#eef3fd,#f4f0e6);border:1px solid var(--line);border-radius:16px;padding:26px 30px}
.identify-copy{flex:1;min-width:0}
.identify-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--accent2);background:#dbe6fa;padding:4px 12px;border-radius:20px;margin-bottom:12px}
.identify-copy h2{margin:0 0 8px;font-size:26px}
.identify-copy p{margin:0 0 18px;font-size:16px;line-height:1.6;color:var(--muted);max-width:62ch}
.identify-open{display:inline-flex;align-items:center;gap:9px}
.identify-open svg{width:20px;height:20px}
.identify-slot{flex-basis:100%}
.identify-slot:not([hidden]){margin-top:20px}
@media(max-width:700px){.identify-in{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 20px}.identify-copy h2{font-size:22px}}

/* ===== Hero: действия + полоса фактов (вариант A) ===== */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.hero-facts{display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.hero-fact{display:flex;flex-direction:column;gap:2px}
.hero-fact b{font-size:16px;color:var(--txt)}
.hero-fact span{font-size:13px;color:var(--muted)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 22px;border:1.5px solid var(--line);border-radius:10px;background:var(--panel);color:var(--txt);font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}
.btn-ghost svg{width:19px;height:19px;color:var(--accent)}
.mode-energetic .btn-ghost:hover,.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:560px){.hero-facts{gap:12px 24px}}

/* ===== Identify: иллюстрация специалиста справа ===== */
.identify-figure{flex:0 0 300px;max-width:300px;position:relative}
.identify-figure img{display:block;width:100%;height:auto;border-radius:14px}
.identify-figure-note{display:block;margin:6px 0 0;color:var(--muted);font-size:10px;letter-spacing:.03em;text-align:right;opacity:.65}
@media(max-width:700px){.identify-figure{flex-basis:auto;max-width:100%;width:100%;order:-1}}

/* ===== B2B band (вход + компактный блок; контент отдельным ТЗ) ===== */
.b2b-band{border-block:1px solid var(--line)}
.b2b-in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.b2b-copy{flex:1;min-width:260px}
.b2b-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--accent2);background:#dbe6fa;padding:4px 12px;border-radius:20px;margin-bottom:12px}
.b2b-copy h2{margin:0 0 8px;font-size:26px}
.b2b-copy p{margin:0;font-size:16px;line-height:1.6;color:var(--muted);max-width:70ch}
.b2b-cta{flex:none;white-space:nowrap}
.nav-b2b{color:var(--accent2)!important}
/* R5 fix: equalise delicate cards vertically (heading top-aligned, price bottom). */
.svc-delicate-body .svc{justify-content:flex-start}
.svc-delicate-body .svc>div{display:flex;flex-direction:column;flex:1 1 auto}
.svc-delicate-body .svc h4{margin:0 0 6px}
.svc-delicate-body .svc .price{margin-top:auto;padding-top:8px}

/* R5 fix: equalise delicate card media height (klining photo vs placeholders). */
.svc-delicate-body .svc picture{display:block;width:100%}
.svc-delicate-body .svc picture img{height:150px;width:100%;object-fit:cover;border-radius:10px;margin:0 0 14px}

/* R5 fix: delicate services in a row like main services after expand. */
.svc-delicate-new .svc-photo-ph{width:100%;height:150px;margin:0 0 14px}
@media(max-width:1180px){.svc-delicate-body{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.svc-delicate-body{grid-template-columns:1fr}}

/* R5 §9: delicate summary head + subtitle; compact horizontal cards; image placeholders (owner will generate). */
.svc-delicate-head{display:flex;flex-direction:column;gap:2px;text-align:left}
.svc-delicate-label{font-size:16px;font-weight:700;color:var(--txt)}
.svc-delicate-sub{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5;max-width:60ch}
.svc-delicate-body .svc{margin:0}
.svc-delicate-new .svc-photo-ph{display:flex;align-items:center;justify-content:center;width:132px;height:100px;border-radius:8px;background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 8px,#e6eaf0 8px,#e6eaf0 16px);color:var(--muted);font-size:12px;text-align:center;border:1px dashed var(--line)}
@media(max-width:560px){.svc-delicate-new .svc-photo-ph{width:100%;height:120px}}

/* R5 §2: phone joins the top contact zone; readable, not micro on mobile. */
.topbar a.im.phone-top{background:rgba(255,255,255,.14);font-weight:800;flex-direction:row;gap:8px}
.topbar a.im.phone-top small{font-weight:600;opacity:.85;font-size:11px;margin-left:2px}
@media(max-width:700px){.topbar .wrap{justify-content:flex-end;gap:8px}.topbar a.im.phone-top{font-size:13px;padding:5px 10px}.topbar a.im.phone-top small{display:none}}

/* R5 §4: specialist figure + button as one block; button under the lupa (left), gap, no overlap. */
.identify-figure-col{flex:0 0 48%;max-width:48%;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.identify-figure-col .identify-figure-wide{flex:none;max-width:100%;width:100%}
.identify-figure-col .btn.identify-open{width:auto;margin:0;margin-left:6%}
@media(max-width:700px){.identify-figure-col{flex-basis:auto;max-width:100%;width:100%;align-items:center}.identify-figure-col .btn.identify-open{margin-left:0;width:100%;justify-content:center}}

/* R5 §8: trust icons — larger, quality, no recolor, no circle backdrop. */
.trust-ico{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 2px}
.trust .l{max-width:22ch}
/* R5 §1: badge/UI icons on one optical axis with text. */
.badge img.ui-ico{width:20px;height:20px;object-fit:contain;vertical-align:middle}
@media(max-width:700px){.trust-ico{width:60px;height:60px}}

/* Reset stays a quiet text button; no size shift on hover. */
.reset{width:auto;margin-top:10px;padding:8px 0;background:transparent;color:var(--muted);font:inherit;font-weight:600;border:0;cursor:pointer}
.reset:hover{background:transparent;color:var(--txt);padding:8px 0}
/* Estimate area holds height so the button doesn't jump per keystroke. */
#estimate{min-height:1.4em;display:block}
.transfer-hint{margin:6px 0 0;font-size:12px;color:var(--muted);min-height:1em}

/* B2B card sits in the services row; keep it visually a service card. */
.svc-b2b .price-cta{color:var(--accent);font-weight:800}
.svc-b2b h4{color:var(--txt)}

/* ENTOMA temp imagery: wide specialist banner (~3:1), keep whole figure, no square crop. */
.identify-figure-wide{flex:0 0 44%;max-width:44%;margin:0;position:relative}
.identify-figure-wide img{width:100%;height:auto;object-fit:contain;border-radius:14px;aspect-ratio:3/1}
@media(max-width:700px){.identify-figure-wide{flex-basis:auto;max-width:100%;width:100%;order:0}}
/* B2B compact photo slot inside existing band. */
.b2b-in-photo .b2b-figure{flex:0 0 260px;max-width:260px}
.b2b-in-photo .b2b-figure img{width:100%;height:170px;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}
@media(max-width:700px){.b2b-in-photo .b2b-figure{flex-basis:auto;max-width:100%;width:100%}.b2b-in-photo .b2b-figure img{height:200px}}

@media(max-width:700px){.b2b-in{flex-direction:column;align-items:flex-start;gap:16px}.b2b-copy h2{font-size:22px}}

/* ===== Помощник (демо-диалог) ===== */
.ast-dialog{width:min(560px,calc(100% - 32px));max-height:88dvh;padding:0;border:0;border-radius:16px;background:var(--panel);color:var(--txt);box-shadow:0 24px 60px #0000003d;overflow:hidden}
.ast-dialog::backdrop{background:#1e273399;backdrop-filter:blur(2px)}
.ast-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.ast-head strong{font-size:17px}
.ast-demo{font-size:11px;font-weight:600;color:var(--accent2);background:#dbe6fa;padding:2px 8px;border-radius:10px;letter-spacing:.02em}
.ast-close{margin-left:auto;width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--txt);font-size:19px;cursor:pointer}
.ast-close:hover{background:var(--panel2)}
.ast-body{padding:20px;overflow-y:auto;max-height:calc(88dvh - 150px)}
.ast-intro h3{margin:0 0 8px;font-size:19px}
.ast-intro p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--muted)}
.ast-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ast-choice{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;border:1.5px solid var(--line);border-radius:12px;background:var(--panel);color:var(--txt);font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-align:left}
.ast-choice svg{width:26px;height:26px;color:var(--accent)}
.ast-choice:hover{border-color:var(--accent);background:var(--panel2)}
.ast-back{border:0;background:transparent;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:0 0 12px}
.ast-back:hover{color:var(--txt)}
.ast-drop{display:flex;align-items:center;justify-content:center;min-height:120px;border:2px dashed var(--line);border-radius:12px;cursor:pointer;color:var(--muted);font-size:15px;text-align:center;padding:16px}
.ast-drop:hover{border-color:var(--accent);color:var(--accent)}
.ast-preview{margin-top:14px}
.ast-preview img{display:block;max-width:100%;max-height:260px;margin:0 auto;border-radius:10px;border:1px solid var(--line)}
.ast-preview-actions{display:flex;gap:10px;justify-content:center;margin-top:12px}
.ast-replace{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--txt);font:inherit;padding:8px 16px;cursor:pointer}
.ast-wait,.ast-err{font-size:14px;color:var(--muted);text-align:center;margin:14px 0}
.ast-err{color:var(--panic2)}
.ast-result .ast-demo{display:inline-block;margin-bottom:10px}
.ast-result h3{margin:0 0 8px;font-size:20px}
.ast-result p{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--muted)}
.ast-result .ast-q{color:var(--txt);font-weight:600}
.ast-chat .ast-bot{background:var(--panel2);padding:12px 14px;border-radius:12px;font-size:15px;line-height:1.55;margin:0 0 12px}
.ast-chat .ast-user{background:var(--accent);color:var(--on-accent);padding:10px 14px;border-radius:12px;font-size:15px;margin:0 0 12px;margin-left:auto;max-width:80%}
.ast-input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit;font-size:15px;background:var(--panel);resize:vertical}
.ast-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel2)}
.ast-restart{border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--txt);font:inherit;font-weight:600;padding:0 18px;min-height:44px;cursor:pointer}
.ast-foot .btn{min-height:44px}
@media(max-width:560px){.ast-choices{grid-template-columns:1fr}.ast-body{padding:16px}}

/* Вход в помощника внутри конфигуратора */
.calc-identify{display:inline-flex;align-items:center;gap:7px;margin:0 0 18px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.calc-identify svg{width:17px;height:17px}
.calc-identify:hover{border-color:var(--accent);background:var(--panel2)}
/* Recognition entry buttons: secondary weight, not full-width on desktop. */
.mode-energetic .btn.identify-open,.mode-empathetic .btn.identify-open,.btn.identify-open{width:auto;margin-top:4px;padding:12px 20px}
.btn.identify-open img.ui-ico{filter:brightness(0) invert(1)}
.calc-identify img.ui-ico{filter:none}
@media(max-width:560px){.mode-energetic .btn.identify-open,.mode-empathetic .btn.identify-open,.btn.identify-open{width:100%;justify-content:center}}

/* Raster UI icons: explicit dimensions override generic image rules. */
.mode-energetic img.ui-ico,.mode-empathetic img.ui-ico{width:18px;height:18px;object-fit:contain;flex:0 0 auto;vertical-align:middle}
.mode-energetic :is(.cta-call,.btn,.btn-ghost,.tg) img.ui-ico,.mode-empathetic :is(.cta-call,.btn,.btn-ghost,.tg) img.ui-ico{width:19px;height:19px}
#burger img.ui-ico{width:22px;height:22px}
.mode-energetic .calc-identify img.ui-ico,.mode-empathetic .calc-identify img.ui-ico{width:17px;height:17px}




/* Input boundaries are functional, unlike decorative --line dividers. */
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){--line:#748196;border-color:#748196}
body :is(input,textarea)::placeholder{color:#536174;opacity:1}
