/* Pilot release: shared spacing and interaction polish, not a new design theme. */
body.site-v2{--pilot-space:clamp(2.75rem,5vw,4.5rem);--pilot-radius:14px}
.site-v2 :is(.section,.hp-section){padding-block:var(--pilot-space)}
.site-v2 :is(h1,h2,h3,h4){letter-spacing:normal;overflow-wrap:anywhere}
.site-v2 :is(.process-line,.service-option-grid)>*{min-width:0}
.site-v2 :is(.section-head,.hp-section-head,.split-heading){margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.site-v2 :is(.section-head,.hp-section-head,.split-heading) h2{margin-top:0}
.site-v2 :is(.section-head,.hp-section-head,.split-heading)>p{max-width:58ch}
/* Match the core landing pages: one reading rhythm, not a full section gap per paragraph group. */
.site-v2 .section.service-editorial{padding-block:36px;background:#f6f8f7}
/* Core editorial owns its grid per subsection, not on the outer container. */
.site-v2 .section.service-editorial:not(.core-editorial)>.container{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:clamp(24px,4vw,64px)}
.site-v2 .section.service-editorial+.service-editorial{padding-top:0}
.site-v2 .section.service-editorial+.service-editorial>.container{border-top:1px solid #d3dfdc;padding-top:36px}
.site-v2 .service-editorial h2{margin:0;max-width:30ch;line-height:1.3;text-wrap:balance}
.site-v2 .service-editorial .lead{margin:0;min-width:0}
.site-v2 .service-editorial :is(p,li){line-height:1.75;color:#34474b}
.site-v2 .service-editorial p{margin:0 0 18px}
.site-v2 .service-editorial :is(ul,ol){margin:20px 0;padding-left:1.3em}
.site-v2 .service-editorial li{margin-block:12px;padding-left:.3em}
.site-v2 .service-editorial li::marker{color:#007773}
.site-v2 .service-editorial .lead>:last-child{margin-bottom:0}
@media(max-width:760px){
  .site-v2 .section.service-editorial{padding-block:28px}
  .site-v2 .section.service-editorial:not(.core-editorial)>.container{grid-template-columns:minmax(0,1fr);gap:20px}
  .site-v2 .section.service-editorial+.service-editorial{padding-top:0}
  .site-v2 .section.service-editorial+.service-editorial>.container{padding-top:28px}
}
.site-v2 :is(.catalog-tools,.price-tools,.directory-search) input{font-size:1rem}
.site-v2 .catalog-group{border-radius:var(--pilot-radius);overflow:hidden}
.site-v2 .catalog-group>summary{padding:20px 24px;gap:16px;min-height:78px}
.site-v2 .catalog-group>summary strong{font-size:1.0625rem;line-height:1.45;margin-top:4px}
.site-v2 .catalog-group[open]{border-color:#7ca7a3}
.site-v2 .catalog-group[open]>summary{background:#f2f7f6;border-bottom:1px solid var(--line)}
.site-v2 .catalog-group .catalog-row{padding:18px 24px;min-height:72px;align-items:start}
.site-v2 .catalog-group .catalog-row strong{line-height:1.55;font-weight:600}
.site-v2 .catalog-group .catalog-row b{font-variant-numeric:tabular-nums;line-height:1.55}
.site-v2 .catalog-group .catalog-row:nth-child(even){background:#f8fafb}
.site-v2 .catalog-group [data-geo-price-links]{margin:0;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line)}
.site-v2 .catalog-group [data-geo-price-links] p{margin:0 0 6px;font-size:.875rem;color:var(--muted)}
.site-v2 .catalog-group [data-geo-price-links] .actions{margin:0;gap:4px 24px;align-items:center}
.site-v2 .catalog-group [data-geo-price-links] a{margin:0;padding:8px 0;min-height:44px;line-height:1.5;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}
.site-v2 .catalog-group :is(a,summary):focus-visible{outline-offset:-4px}
.site-v2 .catalog-note{max-width:90ch}
.site-v2 [data-geo-appliance-links]{margin-block:32px}
.site-v2 [data-geo-appliance-links] h3{margin:0 0 12px}
.site-v2 [data-geo-appliance-links] p{max-width:70ch;margin:0 0 16px}
.site-v2 [data-geo-appliance-links] .actions{margin:0;gap:4px 24px;align-items:center}
.site-v2 [data-geo-appliance-links] a{margin:0;padding:8px 0;min-height:44px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.site-v2 :is(.catalog-tools button,.catalog-tools input){min-height:48px}

/* Service, object and geographic entry points share the core-page language. */
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero){background:linear-gradient(112deg,#111f28 10%,#18373d 100%);color:#fff;padding-block:40px 48px}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) h1{font-size:clamp(2.2rem,3.7vw,3.45rem);line-height:1.18;color:#fff}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) h1 em{color:var(--signal);font-style:normal}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) :is(.hero-copy,.breadcrumbs,.breadcrumbs a,.geo-hero__facts span,.service-detail-hero__facts span){color:#c9d7da}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) :is(.geo-hero__facts b,.service-detail-hero__facts b){color:#fff}
.site-v2 :is(.geo-hero__grid,.commercial-hero__grid,.service-detail-hero__grid)>div>.eyebrow{color:#fff}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) .button--glass{background:transparent;border-color:#8da5ad;color:#fff}
.site-v2 :is(.commercial-hero,.service-detail-hero) .hero-request-link{color:#b7e7df;text-decoration:underline;text-underline-offset:4px}
.site-v2 .geo-hero .geo-hero__facts{border-top:1px solid #456068;padding-top:20px}
.site-v2 .geo-hero .geo-console{background:#fff;color:var(--ink);border-radius:20px;box-shadow:0 18px 44px #07121925}
.site-v2 .geo-hero .geo-console .design-art{border-radius:12px}
.site-v2 .geo-hero .geo-console .design-art img{aspect-ratio:2.1/1;object-fit:cover}
.site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) :is(a,button):focus-visible{outline-color:var(--signal)}
.site-v2 .geo-hero .geo-console :is(a,button):focus-visible{outline-color:var(--brand-dark)}
.site-v2 .geo-hero .pulse-dot{animation:none;box-shadow:none;background:var(--signal)}

/* Keep anchor destinations above the fixed header and the mobile dock clear. */
.site-v2 :is(section[id],main[id],div[id],details[id],h2[id],h3[id]){scroll-margin-top:112px}
.site-v2 :is(a,button,input,textarea,summary){scroll-margin-bottom:100px}
.site-v2 .site-footer{padding-bottom:32px}
.site-v2 .mobile-action-bar{padding-bottom:max(6px,env(safe-area-inset-bottom))}
@media(max-width:980px){
  .site-v2 .geo-hero .geo-hero__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .site-v2 .geo-hero .geo-console{max-width:760px;width:100%;justify-self:start}
}
@media(max-width:640px){
  body.site-v2{--pilot-space:2.75rem;padding-bottom:calc(88px + env(safe-area-inset-bottom));scroll-padding-bottom:100px}
  .site-v2 :is(.section-head,.hp-section-head,.split-heading){gap:18px}
  .site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero){padding-block:28px 32px}
  .site-v2 :is(.geo-hero,.commercial-hero,.service-detail-hero) h1{font-size:clamp(2rem,8.2vw,2.6rem);line-height:1.22;margin-block:18px 22px}
  .site-v2 .geo-hero .geo-console{padding:20px}
  .site-v2 .geo-hero .actions{align-items:stretch}
  .site-v2 .geo-hero .actions .button{width:100%;white-space:normal;justify-content:center;text-align:center}
  .site-v2 .catalog-group>summary{padding:18px 20px;gap:4px 12px;min-height:78px}
  .site-v2 .catalog-group .catalog-row{padding:16px 20px;gap:8px}
  .site-v2 .catalog-group [data-geo-price-links]{padding:12px 20px}
  .site-v2 .catalog-group [data-geo-price-links] .actions{gap:0 18px;align-items:flex-start}
  .site-v2 .service-option-grid{grid-template-columns:minmax(0,1fr)}
  .site-v2 :is(section[id],main[id],div[id],details[id],h2[id],h3[id]){scroll-margin-top:88px}
}
@media(max-width:380px){.site-v2 .process-line{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  .site-v2 *,.site-v2 *::before,.site-v2 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Supporting safety information must remain readable, not become a second hero. */
.site-v2.template-emergencypage .safety-section{padding:16px 0;background:#f5f7f7;color:#354850;border-block:1px solid var(--line)}
.site-v2.template-emergencypage .safety-section .container{display:block}
.site-v2.template-emergencypage .safety-section :is(.safety-section__mark,.eyebrow){display:none}
.site-v2.template-emergencypage .safety-section .container>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center}
.site-v2.template-emergencypage .safety-section h2{grid-column:1;max-width:none;margin:0;font-size:1rem;line-height:1.5;color:var(--ink)}
.site-v2.template-emergencypage .safety-section p:not(.eyebrow){grid-column:1;max-width:90ch;margin:4px 0 0;font-size:.875rem;line-height:1.6}
.site-v2.template-emergencypage .safety-section a{grid-column:2;grid-row:1/span 2;min-height:44px;color:var(--brand-dark);font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
  .site-v2.template-emergencypage .safety-section{padding:14px 0}
  .site-v2.template-emergencypage .safety-section .container>div:last-child{display:block}
  .site-v2.template-emergencypage .safety-section a{margin-top:4px}
}

/* Читаемость текста и иерархия действий в существующих шаблонах. */
.site-v2 :is(.service-detail-hero,.geo-hero,.commercial-hero) h1,
.site-v2.editorial-layout .article-hero h1{text-wrap:balance}
.site-v2 :is(.service-detail-hero,.geo-hero,.commercial-hero) .hero-copy{max-width:56ch;line-height:1.65}
.site-v2 .core-editorial__copy{max-width:76ch}
.site-v2 .core-editorial__section h2{max-width:30ch;text-wrap:balance}
.site-v2 :is(.service-detail-hero__facts,.geo-hero__facts) span{text-transform:none;letter-spacing:normal;line-height:1.45}
.site-v2 :is(.service-detail-hero__facts,.geo-hero__facts) b{line-height:1.3;margin-bottom:3px}

@media(max-width:640px){
  /* Название страницы уже повторяется ниже в H1. */
  .site-v2 :is(.service-detail-hero,.template-articlepage .article-hero) .breadcrumbs>span:nth-last-child(-n+2){display:none}
  .site-v2 :is(.service-detail-hero,.template-articlepage .article-hero) .breadcrumbs{margin-bottom:16px}
  .site-v2.editorial-layout .article-hero h1{margin:12px 0 18px}
  .site-v2.template-homepage .hp-hero .home-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin-top:8px}
  .site-v2.template-homepage .hp-hero .home-contact-links a{line-height:1.45;align-items:center}
  .site-v2 .geo-hero__facts{gap:14px 18px;margin-top:24px}
  .site-v2 .geo-hero__facts span:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
}

/* On narrow screens the hero stacks two useful columns; trim card chrome, not actions. */
@media(max-width:640px){
  .site-v2.template-homepage .hp-hero .hp-hero__grid,
  .site-v2 .service-detail-hero .service-detail-hero__grid,
  .site-v2 .geo-hero .geo-hero__grid{gap:20px}
  .site-v2.template-homepage .hp-hero .hp-dispatch{padding:18px}
  .site-v2.template-homepage .hp-hero .hp-dispatch .design-art{margin:-10px -10px 12px}
  .site-v2 .service-detail-hero .service-selector .design-art,
  .site-v2 .geo-hero .geo-console .design-art{margin:-10px -10px 12px}
  .site-v2.template-homepage .hp-hero .hp-dispatch .design-art img,
  .site-v2 .service-detail-hero .service-selector .design-art img,
  .site-v2 .geo-hero .geo-console .design-art img{height:clamp(110px,31vw,130px);aspect-ratio:auto;object-fit:cover}
  .site-v2.template-homepage .hp-hero .hp-dispatch .hp-dispatch__top{margin:8px 0}
  .site-v2.template-homepage .hp-hero .hp-dispatch h2{margin:10px 0 12px}
  .site-v2.template-homepage .hp-hero .hp-task-choice{padding:12px 34px 12px 14px}
  .site-v2.template-homepage .hp-hero .hp-dispatch .hp-task-choices{gap:8px}
  .site-v2.template-homepage .hp-hero .hp-dispatch>p{margin-top:12px;padding-top:12px}
  .site-v2 .service-detail-hero .service-selector{padding:18px}
  .site-v2 .service-detail-hero .service-selector__top{margin-bottom:14px}
  .site-v2 .service-detail-hero .service-selector h2{margin:12px 0 10px}
  .site-v2 .service-detail-hero .service-selector>.service-selector__urgent{margin-top:12px}
  .site-v2 .service-detail-hero .service-selector>p{margin-top:12px}
  .site-v2 .geo-hero .geo-console{padding:18px}
  .site-v2 .geo-hero .geo-console__urgent{margin:18px 0 12px}
  .site-v2 .geo-hero .geo-console>p{margin-top:14px;padding-top:12px}
}

/* The equipment itself identifies the service: keep the whole subject visible. */
.site-v2 .service-detail-hero .service-selector .design-art--subject img{
  height:auto;aspect-ratio:3/2;max-height:none;object-fit:contain;object-position:center;
}

/* The footer needs a light caption; the header's muted colour loses contrast here. */
.site-v2 .messenger-contact{position:fixed;z-index:39;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 16px;border-radius:12px;background:#075e5b;color:#fff;font-size:.9375rem;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:0 6px 18px #14252d26}
.site-v2 .messenger-contact svg{flex:none}
.site-v2 .messenger-contact:hover{background:#064b48}
.site-v2 .messenger-contact:focus-visible{outline:3px solid var(--signal);outline-offset:4px}
/* Leave the existing phone/request dock and the focused field usable. */
@media(max-width:980px){.site-v2 .messenger-contact{right:12px;bottom:calc(108px + env(safe-area-inset-bottom));padding:10px 14px}.site-v2:has(input:focus,textarea:focus,select:focus,.site-nav--open) .messenger-contact{visibility:hidden}}
@media print{.site-v2 .messenger-contact{display:none}}
.site-v2 .brand--footer small{color:#b7c8cd}
/* Let table columns accommodate appliance names instead of splitting words. */
.site-v2.editorial-layout .article-comparison :is(th,td){overflow-wrap:normal;word-break:normal}
@media(max-width:480px){
  /* Two padded columns split ordinary labels into single-letter lines on narrow phones. */
  .site-v2 .geo-index-panel{grid-template-columns:minmax(0,1fr)}
  .site-v2 .geo-index-panel>div{min-height:0;padding:12px 0;flex-direction:row;align-items:center;gap:16px}
  .site-v2 .geo-index-panel span{text-transform:none;font-weight:600}
  .site-v2 .geo-index-panel strong{flex-shrink:0}
  .site-v2 .geo-index-panel>p{grid-column:1/-1}
}
