/* РОССТАЛ — новая главная (отопление). Все классы с префиксом .rh- */
.rh{
  --rh-navy:#0d2740; --rh-navy2:#143a5e; --rh-blue:#1b6ec2; --rh-blue-d:#14548f;
  --rh-flame:#ff6a1f; --rh-flame-d:#e4540b; --rh-amber:#ffb020;
  --rh-ink:#14202e; --rh-muted:#5a6a7c; --rh-line:#e3e9f0;
  --rh-soft:#f3f7fb; --rh-warm:#fff4ea; --rh-white:#fff;
  --rh-r:20px; --rh-r-sm:12px;
  --rh-shadow:0 10px 30px rgba(13,39,64,.08);
  color:var(--rh-ink); font-size:16px; line-height:1.55;
  max-width:1440px; margin:0 auto; padding:8px 20px 40px; box-sizing:border-box;
}
.rh *,.rh *::before,.rh *::after{box-sizing:border-box}
.rh a{color:var(--rh-blue); text-decoration:none}
.rh a:hover{text-decoration:underline}
.rh img{max-width:100%; height:auto; display:block}
.rh-ic{width:1.15em; height:1.15em; flex:none; vertical-align:-.2em}
.rh-hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; opacity:0}

/* заголовки */
.rh-h1{font-size:clamp(26px,3.3vw,44px); line-height:1.1; font-weight:800; margin:12px 0 12px; letter-spacing:-.02em; color:#fff}
.rh-h2{font-size:clamp(24px,3vw,36px); line-height:1.15; font-weight:800; margin:0 0 8px; letter-spacing:-.015em; color:var(--rh-navy)}
.rh-h2--light{color:#fff}
.rh-sub{margin:0; color:var(--rh-muted); font-size:17px; max-width:720px}
.rh-sub--light{color:rgba(255,255,255,.85)}
.rh-sub--light a{color:#fff; font-weight:700; text-decoration:underline}

/* кнопки */
.rh-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 24px; border-radius:14px; font-weight:700; font-size:16px; line-height:1.2; cursor:pointer; border:2px solid transparent; transition:transform .15s,box-shadow .15s,background .15s; text-decoration:none!important; font-family:inherit}
.rh-btn--primary{background:var(--rh-flame); color:#fff!important; box-shadow:0 8px 22px rgba(255,106,31,.35)}
.rh-btn--primary:hover{background:var(--rh-flame-d); transform:translateY(-1px)}
.rh-btn--ghost{background:rgba(255,255,255,.08); color:#fff!important; border-color:rgba(255,255,255,.35)}
.rh-btn--ghost:hover{background:rgba(255,255,255,.16)}
.rh-btn--ghost-dark{background:#fff; color:var(--rh-navy)!important; border-color:var(--rh-line)}
.rh-btn--ghost-dark:hover{border-color:var(--rh-blue)}
.rh-btn--block{width:100%}
.rh-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}

/* первый экран */
.rh-hero{display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center;
  background:radial-gradient(900px 420px at 88% 8%, rgba(255,106,31,.32), transparent 60%),
             radial-gradient(700px 380px at 0% 100%, rgba(27,110,194,.45), transparent 60%),
             linear-gradient(135deg,var(--rh-navy) 0%, var(--rh-navy2) 100%);
  border-radius:28px; padding:clamp(24px,4vw,52px); color:#fff; position:relative; overflow:hidden}
.rh-kicker{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); padding:7px 14px; border-radius:999px; font-size:14px; font-weight:600; color:#ffd9bf}
.rh-kicker .rh-ic{color:var(--rh-flame)}
.rh-lead{font-size:17px; color:rgba(255,255,255,.88); margin:0 0 14px; max-width:640px}
.rh-checks{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.rh-checks li{display:flex; gap:10px; align-items:flex-start; color:#fff; font-weight:500}
.rh-checks .rh-ic{color:var(--rh-amber); margin-top:3px}
.rh-ratings{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px}
.rh-rating{display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:16px; padding:10px 16px; color:#fff!important; text-decoration:none!important}
.rh-rating:hover{background:rgba(255,255,255,.18)}
.rh-rating__score{font-size:28px; font-weight:800; line-height:1}
.rh-rating__meta{display:flex; flex-direction:column; font-size:13px; line-height:1.3; color:rgba(255,255,255,.85)}
.rh-stars{color:var(--rh-amber); letter-spacing:2px; font-size:14px}

/* форма */
.rh-form{background:#fff; color:var(--rh-ink); border-radius:var(--rh-r); padding:26px; box-shadow:0 20px 50px rgba(0,0,0,.25)}
.rh-form__title{font-size:22px; font-weight:800; color:var(--rh-navy); margin-bottom:4px}
.rh-form__sub{font-size:14px; color:var(--rh-muted); margin-bottom:16px}
.rh-field{display:block; margin-bottom:12px}
.rh-field>span{display:block; font-size:13px; font-weight:600; color:var(--rh-muted); margin-bottom:5px}
.rh-field input,.rh-field select{width:100%; height:48px; padding:0 14px; border:1.5px solid var(--rh-line); border-radius:12px; font-size:16px; font-family:inherit; background:#fff; color:var(--rh-ink); outline:none; transition:border-color .15s, box-shadow .15s}
.rh-field input:focus,.rh-field select:focus{border-color:var(--rh-blue); box-shadow:0 0 0 4px rgba(27,110,194,.15)}
.rh-field.is-error input{border-color:#d33}
.rh-consent{display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--rh-muted); margin:6px 0 14px; line-height:1.4}
.rh-consent input{margin-top:2px; flex:none; width:16px; height:16px}
.rh-consent--light{color:rgba(255,255,255,.8)}
.rh-consent--light a{color:#fff; text-decoration:underline}
.rh-form__msg{margin-top:10px; font-size:14px; font-weight:600; min-height:1em}
.rh-form__msg.is-ok{color:#168a4a}
.rh-form__msg.is-err{color:#d33}
.rh-final .rh-form__msg.is-ok{color:#9be8b8}
.rh-final .rh-form__msg.is-err{color:#ffb3b3}

/* цифры */
.rh-facts{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:18px 0 0}
.rh-fact{background:var(--rh-soft); border-radius:var(--rh-r-sm); padding:18px 20px}
.rh-fact b{display:block; font-size:24px; font-weight:800; color:var(--rh-navy); line-height:1.15}
.rh-fact span{display:block; font-size:14px; color:var(--rh-muted); margin-top:4px; line-height:1.35}

/* секции */
.rh-sec{padding:clamp(34px,5vw,64px) 0}
.rh-sec--soft{background:var(--rh-soft); border-radius:28px; padding:clamp(28px,4vw,52px); margin:10px 0}
.rh-sec__head{margin-bottom:26px}
.rh-sec__head--row{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap}

/* услуги */
.rh-services{display:flex; flex-wrap:wrap; justify-content:center; gap:18px}
.rh-services>.rh-service{flex:0 1 calc((100% - 36px)/3); min-width:0}
.rh-service{display:flex; flex-direction:column; background:#fff; border:1px solid var(--rh-line); border-radius:var(--rh-r); overflow:hidden; color:inherit!important; text-decoration:none!important; transition:transform .2s, box-shadow .2s, border-color .2s}
.rh-service:hover{transform:translateY(-3px); box-shadow:var(--rh-shadow); border-color:#cbd8e6}
.rh-service__img{display:block; background:var(--rh-soft); aspect-ratio:16/10; overflow:hidden}
.rh-service__img img{width:100%; height:100%; object-fit:contain; padding:10px}
.rh-service__body{display:flex; flex-direction:column; gap:6px; padding:18px 20px 20px; flex:1}
.rh-service__title{font-size:19px; font-weight:800; color:var(--rh-navy); line-height:1.25}
.rh-service__text{font-size:14.5px; color:var(--rh-muted)}
.rh-service__price{margin-top:auto; padding-top:8px; font-size:20px; font-weight:800; color:var(--rh-flame-d)}
.rh-service__price small{font-size:12.5px; font-weight:500; color:var(--rh-muted); margin-left:4px}
.rh-services>.rh-service--main{flex:1 1 100%; flex-direction:row; background:linear-gradient(135deg,var(--rh-warm),#fff 70%); border-color:#ffd9bf}
.rh-service--main .rh-service__img{flex:0 0 42%; aspect-ratio:auto; min-height:260px; background:transparent}
.rh-service--main .rh-service__img img{padding:18px}
.rh-service--main .rh-service__body{padding:28px 32px; justify-content:center}
.rh-service--main .rh-service__title{font-size:clamp(24px,2.6vw,32px)}
.rh-service--main .rh-service__text{font-size:16px}
.rh-service--main .rh-service__price{font-size:28px; margin-top:12px}
.rh-badge{align-self:flex-start; background:var(--rh-flame); color:#fff; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; padding:5px 11px; border-radius:999px}
.rh-note{margin:18px 0 0; font-size:13px; color:var(--rh-muted)}

/* шаги */
.rh-steps{list-style:none; counter-reset:rhs; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:16px}
.rh-steps li{counter-increment:rhs; background:#fff; border-radius:var(--rh-r-sm); padding:20px 18px 18px; position:relative; box-shadow:0 2px 0 rgba(13,39,64,.04)}
.rh-steps li::before{content:counter(rhs); display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--rh-navy); color:#fff; font-weight:800; margin-bottom:12px}
.rh-steps li:first-child::before{background:var(--rh-flame)}
.rh-steps b{display:block; font-size:16.5px; color:var(--rh-navy); margin-bottom:4px; line-height:1.25}
.rh-steps span{display:block; font-size:14px; color:var(--rh-muted); line-height:1.4}

/* каталог */
.rh-search{display:flex; gap:8px; width:min(420px,100%)}
.rh-search input{flex:1; min-width:0; height:48px; padding:0 16px; border:1.5px solid var(--rh-line); border-radius:12px; font-size:16px; font-family:inherit; outline:none}
.rh-search input:focus{border-color:var(--rh-blue); box-shadow:0 0 0 4px rgba(27,110,194,.15)}
.rh-search button{height:48px; padding:0 20px; border:0; border-radius:12px; background:var(--rh-navy); color:#fff; font-weight:700; cursor:pointer; font-family:inherit}
.rh-search button:hover{background:var(--rh-blue-d)}
.rh-cats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.rh-cat{display:flex; flex-direction:column; background:#fff; border:1px solid var(--rh-line); border-radius:var(--rh-r); overflow:hidden; color:inherit!important; text-decoration:none!important; transition:transform .2s, box-shadow .2s, border-color .2s}
.rh-cat:hover{transform:translateY(-3px); box-shadow:var(--rh-shadow); border-color:var(--rh-flame)}
.rh-cat__img{display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; padding:14px; background:#fff}
.rh-cat__img img{max-height:100%; width:auto; max-width:100%; object-fit:contain}
.rh-cat__title{padding:14px 16px 16px; font-weight:800; color:var(--rh-navy); border-top:1px solid var(--rh-line); font-size:16px; line-height:1.25}
.rh-more{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:20px; font-size:15px}
.rh-more>span{color:var(--rh-muted)}
.rh-more a{font-weight:600}
.rh-more__all{margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-weight:800!important; color:var(--rh-flame-d)!important}

/* преимущества */
.rh-why{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.rh-why__item{background:#fff; border-radius:var(--rh-r-sm); padding:22px 20px; display:flex; flex-direction:column; gap:6px}
.rh-why__n{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; background:var(--rh-warm); color:var(--rh-flame-d); font-weight:800; margin-bottom:6px}
.rh-why__item b{font-size:17px; color:var(--rh-navy); line-height:1.25}
.rh-why__item span:last-child{font-size:14.5px; color:var(--rh-muted)}

/* галерея */
.rh-gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.rh-gallery__item{display:block; border-radius:var(--rh-r-sm); overflow:hidden; aspect-ratio:4/3; background:var(--rh-soft)}
.rh-gallery__item img{width:100%; height:100%; object-fit:cover; transition:transform .3s}
.rh-gallery__item:hover img{transform:scale(1.05)}

/* магазин */
.rh-shop{display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:stretch}
.rh-contacts{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:14px}
.rh-contacts li{display:flex; gap:12px; align-items:flex-start}
.rh-contacts .rh-ic{color:var(--rh-flame); width:22px; height:22px; margin-top:2px}
.rh-contacts a{font-weight:800; color:var(--rh-navy); font-size:18px}
.rh-reviews{background:var(--rh-soft); border-radius:var(--rh-r); padding:24px; display:flex; flex-direction:column; gap:12px; height:100%; justify-content:center}
.rh-reviews__title{font-size:20px; font-weight:800; color:var(--rh-navy)}
.rh-review{display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--rh-line); border-radius:var(--rh-r-sm); padding:14px 16px; color:inherit!important; text-decoration:none!important}
.rh-review:hover{border-color:var(--rh-blue)}
.rh-review__score{font-size:30px; font-weight:800; color:var(--rh-flame-d); line-height:1}
.rh-review__text{display:flex; flex-direction:column; flex:1; line-height:1.3}
.rh-review__text span{font-size:13.5px; color:var(--rh-muted)}
.rh-review .rh-ic{color:var(--rh-blue)}

/* вопросы */
.rh-faq{display:grid; gap:10px; max-width:900px}
.rh-faq details{background:#fff; border:1px solid var(--rh-line); border-radius:var(--rh-r-sm); padding:0 20px}
.rh-faq summary{cursor:pointer; padding:17px 0; font-weight:700; color:var(--rh-navy); list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center}
.rh-faq summary::-webkit-details-marker{display:none}
.rh-faq summary::after{content:"+"; font-size:24px; color:var(--rh-flame); font-weight:600; line-height:1}
.rh-faq details[open] summary::after{content:"–"}
.rh-faq details p{margin:0 0 18px; color:var(--rh-muted)}

/* финальная заявка */
.rh-final{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; margin-top:18px;
  background:radial-gradient(700px 320px at 100% 0%, rgba(255,106,31,.35), transparent 60%), linear-gradient(135deg,var(--rh-navy),var(--rh-navy2));
  border-radius:28px; padding:clamp(26px,4vw,48px); color:#fff}
.rh-form--inline{background:transparent; box-shadow:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 12px; align-items:end}
.rh-form--inline .rh-field>span{color:rgba(255,255,255,.8)}
.rh-form--inline .rh-btn{grid-column:1/-1}
.rh-form--inline .rh-consent,.rh-form--inline .rh-form__msg{grid-column:1/-1}
.rh-form--inline .rh-consent{margin-top:10px}

/* нижняя панель на телефоне */
.rh-mbar{display:none}

/* адаптив */
@media (max-width:1000px){
  .rh-hero{grid-template-columns:1fr}
  .rh-facts{grid-template-columns:repeat(2,1fr)}
  .rh-services>.rh-service{flex-basis:calc((100% - 18px)/2)}
  .rh-services>.rh-service--main{flex-direction:column; flex-basis:100%}
  .rh-service--main .rh-service__img{flex:none; min-height:0; aspect-ratio:16/9}
  .rh-steps{grid-template-columns:repeat(2,1fr)}
  .rh-cats{grid-template-columns:repeat(3,1fr)}
  .rh-why{grid-template-columns:repeat(2,1fr)}
  .rh-gallery{grid-template-columns:repeat(2,1fr)}
  .rh-shop,.rh-final{grid-template-columns:1fr}
}
@media (max-width:640px){
  .rh{padding:4px 12px 90px}
  .rh-hero{border-radius:22px; padding:22px 18px; gap:24px}
  .rh-lead{font-size:16px}
  .rh-actions .rh-btn{width:100%}
  .rh-services>.rh-service{flex-basis:100%}
  .rh-cats{grid-template-columns:repeat(2,1fr); gap:12px}
  .rh-cat__title{font-size:14.5px; padding:12px}
  .rh-steps,.rh-why{grid-template-columns:1fr}
  .rh-form--inline{grid-template-columns:1fr}
  .rh-sec--soft{border-radius:22px; padding:24px 16px}
  .rh-more__all{margin-left:0}
  .rh-fact b{font-size:20px}
  .rh-mbar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:9999; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -6px 20px rgba(13,39,64,.15)}
  .rh-mbar a{flex:1; display:flex; align-items:center; justify-content:center; gap:8px; height:46px; border-radius:12px; background:var(--rh-soft); color:var(--rh-navy)!important; font-weight:700; text-decoration:none!important; font-size:15px}
  .rh-mbar .rh-mbar__main{flex:1.4; background:var(--rh-flame); color:#fff!important}
}
@media (prefers-reduced-motion:reduce){.rh *{transition:none!important}}

/* магазин: значок MAX, карта, тёмный вариант */
.rh-contacts__max{align-items:center}
.rh-contacts .rh-maxbtn{display:inline-flex; width:46px; height:46px; flex:none; border-radius:13px; box-shadow:0 8px 20px rgba(74,92,255,.35); transition:transform .15s, box-shadow .15s}
.rh-contacts .rh-maxbtn:hover{transform:translateY(-2px); box-shadow:0 12px 24px rgba(74,92,255,.45)}
.rh-contacts .rh-maxbtn .rh-ic{width:46px; height:46px; margin:0; color:inherit}
.rh-contacts__max>span{font-size:15px; color:var(--rh-muted)}
.rh-map{border-radius:var(--rh-r); overflow:hidden; border:1px solid var(--rh-line); min-height:300px; flex:1 1 auto; background:var(--rh-soft)}
.rh-map iframe{width:100%; height:100%; min-height:300px; border:0; display:block}
.rh-shop--map .rh-shop__side{display:flex; flex-direction:column; gap:14px}
.rh-shop--map .rh-reviews{height:auto; padding:14px; flex-direction:row; flex-wrap:wrap; gap:10px}
.rh-shop--map .rh-reviews__title{display:none}
.rh-shop--map .rh-review{flex:1 1 200px}
.rh-shop--dark{padding:clamp(24px,4vw,44px); border-radius:28px; color:#fff; position:relative; overflow:hidden;
  background:radial-gradient(620px 300px at 100% 0%, rgba(255,106,31,.32), transparent 62%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 26px),
    linear-gradient(135deg,var(--rh-navy),var(--rh-navy2))}
.rh-shop--dark .rh-h2{color:#fff}
.rh-shop--dark .rh-sub,.rh-shop--dark .rh-contacts li,.rh-shop--dark .rh-contacts__max>span{color:#c9d8e8}
.rh-shop--dark .rh-contacts a:not(.rh-maxbtn){color:#fff}
.rh-shop--dark .rh-reviews{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(4px)}
.rh-shop--dark .rh-reviews__title{color:#fff}
.rh-shop--dark .rh-review{background:rgba(255,255,255,.95)}
.rh-shop--dark .rh-btn--ghost-dark{color:#fff!important; border-color:rgba(255,255,255,.45); background:transparent}
.rh-shop--dark .rh-review,.rh-shop--dark .rh-review b{color:#0d2740!important}
.rh-shop--dark .rh-review__text span{color:#5a6a7c!important}
.rh-map,.rh-map iframe{min-height:360px}

.rh-contacts__phone{align-items:center}
.rh-contacts__phone .rh-maxbtn{margin-left:6px}
.rh-shop--dark .rh-map{border:1px solid rgba(255,255,255,.18); box-shadow:0 10px 30px rgba(0,0,0,.25)}
.rh-shop--dark.rh-shop--map .rh-reviews{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14)}
.rh-shop--dark .rh-h2{margin-bottom:0}

.rh-shop--map .rh-shop__info .rh-reviews{margin-top:22px; padding:0; background:transparent; border:0!important; flex-direction:row; flex-wrap:wrap; gap:12px; height:auto; backdrop-filter:none}
.rh-shop--map .rh-shop__info .rh-reviews .rh-review{flex:1 1 210px}
.rh-shop--map .rh-shop__side{display:flex; flex-direction:column}
.rh-shop--map .rh-shop__side .rh-map{flex:1 1 auto; height:100%; min-height:420px}
.rh-shop--map .rh-shop__side .rh-map iframe{height:100%; min-height:420px}

/* шире и ниже первый экран */
.rh-hero{grid-template-columns:1.25fr .75fr!important; gap:32px!important; padding:34px 44px!important}
.rh-hero .rh-ratings{margin-top:16px}
.rh-hero .rh-checks{gap:6px}
@media (max-width:1000px){.rh-hero{grid-template-columns:1fr!important}}
@media (max-width:640px){
  .rh{padding:4px 10px 90px!important}
  .rh-hero{padding:20px 16px!important; gap:18px!important}
  .rh-h1{font-size:26px!important; margin:10px 0!important}
  .rh-lead{font-size:15px!important; margin:0 0 10px!important}
  .rh-hero .rh-ratings,.rh-hero .rh-kicker+*+*+.rh-checks li:nth-child(n+3){display:none}
  .rh-hero .rh-actions .rh-btn--ghost{display:none}
  .rh-hero .rh-form__sub{display:none}
  .rh-hero .rh-form{padding:16px!important}
  /* магазин: карта, затем отзывы */
  .rh-shop{display:flex!important; flex-direction:column}
  .rh-shop__info{display:contents!important}
  .rh-shop__info>.rh-h2{order:1}
  .rh-shop__info>.rh-contacts{order:2}
  .rh-shop__info>.rh-actions{order:3}
  .rh-shop__side{order:4; margin-top:6px}
  .rh-shop__info>.rh-reviews{order:5; margin-top:2px!important}
  .rh-map,.rh-map iframe{min-height:300px!important}
}
/* ширина как у шапки + компактная форма первого экрана */
.rh{max-width:1480px!important; padding-left:20px!important; padding-right:20px!important}
.rh-hero .rh-form__sub{display:none}
.rh-hero .rh-form{padding:22px 24px!important}
.rh-hero .rh-form .rh-field{margin-bottom:10px!important}
.rh-hero .rh-form .rh-field input,.rh-hero .rh-form .rh-field select{height:44px!important}
.rh-hero{padding:28px 44px!important}
@media (max-width:640px){.rh-contacts__phone>span a{white-space:nowrap; font-size:17px!important}.rh-contacts__phone{gap:8px}}

/* ---- плотнее: минимальные отступы между блоками ---- */
.rh-sec{padding:clamp(16px,2vw,26px) 0!important}
.rh-sec--soft{padding:clamp(18px,2.4vw,30px)!important; margin:6px 0!important; border-radius:24px!important}
.rh-sec__head{margin-bottom:14px!important}
.rh-facts{margin:10px 0 0!important}
.rh-final{margin-top:6px!important}
.rh-services{gap:14px!important}
.rh-quick,.rh-mob-only{display:none}
@media (max-width:640px){
  .rh-sec{padding:12px 0!important}
  .rh-sec--soft{padding:16px 12px!important; border-radius:20px!important}
  .rh-sec__head{margin-bottom:10px!important}
  .rh-h2{font-size:22px!important}
  /* первый экран: сразу суть — цены и две кнопки */
  .rh-hero{padding:16px 14px 18px!important; gap:0!important}
  .rh-hero .rh-kicker{font-size:12px!important; padding:5px 10px!important}
  .rh-h1{font-size:24px!important; line-height:1.15!important; margin:10px 0 8px!important}
  .rh-lead{font-size:14px!important; margin:0 0 12px!important; line-height:1.45}
  .rh-hero .rh-checks{display:none}
  .rh-quick{display:grid!important; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 12px}
  .rh-quick a{display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); text-decoration:none!important; color:#fff!important}
  .rh-quick b{font-size:13px; font-weight:700; color:#fff; line-height:1.2}
  .rh-quick span{font-size:17px; font-weight:800; color:#ffb020; line-height:1.2}
  .rh-hero .rh-actions{display:grid!important; gap:8px; margin:0}
  .rh-hero .rh-actions .rh-btn{width:100%; justify-content:center; height:48px}
  .rh-hero .rh-actions .rh-btn--ghost:not(.rh-mob-only){display:none!important}
  .rh-mob-only{display:inline-flex!important}
  .rh-hero .rh-ratings{display:flex!important; gap:8px; margin-top:12px}
  .rh-hero .rh-rating{flex:1; padding:8px 10px!important}
  .rh-hero .rh-rating__meta{font-size:11px!important}
  .rh-hero .rh-form--hero{display:none!important}
  .rh-facts{margin:8px 0 0!important; gap:8px!important}
}
@media (max-width:640px){
  .rh-hero .rh-actions .rh-btn{font-size:15px!important; padding:0 12px!important; white-space:nowrap}
  .rh-hero .rh-ratings{flex-direction:row!important; flex-wrap:nowrap!important; gap:8px!important}
  .rh-hero .rh-rating{flex:1 1 0!important; min-width:0; gap:8px!important}
  .rh-hero .rh-rating__score{font-size:22px!important}
  .rh-hero .rh-stars{display:none!important}
  .rh-hero .rh-rating__meta{white-space:normal; line-height:1.2}
}

/* ---- ещё плотнее ---- */
.rh-sec{padding:clamp(8px,1vw,14px) 0!important}
.rh-sec--soft{padding:clamp(14px,1.8vw,22px)!important; margin:4px 0!important}
.rh-sec__head{margin-bottom:10px!important}
.rh-sub{margin-bottom:0!important}
.rh-facts{margin:8px 0 0!important}
.rh-services{gap:12px!important}
.rh-services>.rh-service{flex:0 1 calc((100% - 24px)/3)!important}
.rh-final{margin-top:4px!important}
.rh{padding-top:4px!important; padding-bottom:20px!important}
@media (max-width:1000px){.rh-services>.rh-service{flex-basis:calc((100% - 12px)/2)!important}}
@media (max-width:640px){
  .rh-sec{padding:6px 0!important}
  .rh-sec--soft{padding:12px 10px!important; margin:3px 0!important}
  .rh-sec__head{margin-bottom:8px!important}
  .rh-services{gap:8px!important}
  .rh-services>.rh-service{flex-basis:100%!important}
}
@media (max-width:640px){
.rh-hero{grid-template-columns:minmax(0,1fr)!important}
.rh-hero__text{min-width:0}
.rh-hero .rh-actions .rh-btn{white-space:normal!important; font-size:14.5px!important; line-height:1.2; min-width:0}
.rh-quick a{min-width:0}
.rh-contacts__phone>span a{white-space:nowrap; font-size:17px!important}
}
.rh-services>.rh-service--main{flex:1 1 100%!important}

.rh-service__body{display:flex; flex-direction:column}
.rh-service__cta{display:inline-flex; align-items:center; justify-content:center; gap:8px; align-self:flex-start; margin-top:14px; height:42px; padding:0 20px; border-radius:12px; background:var(--rh-flame); color:#fff; font-weight:700; font-size:14.5px; box-shadow:0 6px 16px rgba(255,106,31,.28); transition:background .15s, transform .15s}
.rh-service:hover .rh-service__cta{background:var(--rh-flame-d); transform:translateY(-1px)}
.rh-service__cta .rh-ic{width:16px; height:16px}
.rh-service:not(.rh-service--main) .rh-service__body{flex:1}
.rh-service:not(.rh-service--main) .rh-service__cta{align-self:stretch; margin-top:auto}
.rh-service:not(.rh-service--main) .rh-service__price{margin-bottom:12px}
@media (max-width:640px){.rh-service__cta{align-self:stretch}}

/* кнопка в одной строке с ценой, справа */
.rh-service__foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:6px}
.rh-service__foot .rh-service__price{margin:0!important; min-width:0}
.rh-service__cta,.rh-service:not(.rh-service--main) .rh-service__cta{align-self:center!important; margin:0!important; flex:none; height:34px!important; padding:0 14px!important; font-size:13.5px!important; border-radius:10px!important; white-space:nowrap; box-shadow:0 4px 12px rgba(255,106,31,.25)!important}
.rh-service:not(.rh-service--main) .rh-service__price{margin-bottom:0!important}
@media (max-width:640px){.rh-service__cta{align-self:center!important}}

/* rhcalc: окно калькулятора отопления (главная) */
.rhc .rhc__box{width:min(620px,100%)}
.rhc__tabs{display:flex;gap:6px;background:#f3f7fb;padding:5px;border-radius:14px;margin:0 0 16px}
.rhc__tab{flex:1;height:42px;border:0;border-radius:10px;background:transparent;font:700 14.5px/1 inherit;font-family:inherit;color:#5a6a7c;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.rhc__tab:hover{color:#0d2740}
.rhc__tab.is-active{background:#fff;color:#0d2740;box-shadow:0 2px 10px rgba(13,39,64,.12)}
.rhc__pane{display:none}
.rhc__pane.is-active{display:block}
.rhc__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.rhc__grid--one{grid-template-columns:1fr}
.rhc .rh-modal label.rh-mf,.rhc label.rh-mf{display:block;margin-bottom:12px}
.rhc input[type=number],.rhc select{width:100%;height:48px;padding:0 14px;border:1.5px solid #e3e9f0;border-radius:12px;font-size:16px;font-family:inherit;color:#14202e;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.rhc select{appearance:none;-webkit-appearance:none;padding-right:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235a6a7c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center}
.rhc input[type=number]:focus,.rhc select:focus{border-color:#1b6ec2;box-shadow:0 0 0 4px rgba(27,110,194,.15)}
.rhc__total{margin:4px 0 12px;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#0d2740 0%,#143a5e 100%);color:#fff}
.rhc__total-l{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a9bdd3}
.rhc__total-v{display:block;margin:4px 0 2px;font-size:clamp(28px,6vw,36px);font-weight:800;line-height:1.1;color:#ffb020;letter-spacing:-.01em}
.rhc__total small{display:block;font-size:13px;color:#a9bdd3}
.rhc .rh-modal__box,.rhc__box{padding:26px}
.rhc__det{margin:0 0 18px;border:1.5px solid #e3e9f0;border-radius:14px;background:#fff}
.rhc__det>summary{cursor:pointer;list-style:none;padding:12px 16px;font-weight:700;font-size:14.5px;color:#0d2740;display:flex;justify-content:space-between;align-items:center}
.rhc__det>summary::-webkit-details-marker{display:none}
.rhc__det>summary::after{content:"";width:9px;height:9px;border-right:2px solid #5a6a7c;border-bottom:2px solid #5a6a7c;transform:rotate(45deg);margin-top:-4px;transition:transform .15s}
.rhc__det[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.rhc__rows{list-style:none;margin:0;padding:0 16px 8px}
.rhc__rows li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #eef2f6;font-size:14px;line-height:1.35}
.rhc__rows li b{white-space:nowrap;color:#0d2740;font-weight:800}
.rhc__rl{min-width:0}
.rhc__rt{display:block;font-weight:700;color:#14202e}
.rhc__nm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;color:#5a6a7c!important;text-decoration:none;margin-top:2px}
.rhc__nm:hover{color:#1b6ec2!important}
.rhc__q{display:block;font-size:12.5px;color:#5a6a7c;margin-top:2px}
.rhc__rows li.rhc__err{color:#b45309;font-weight:600;display:block}
.rhc__rows li.rhc__hint{color:#5a6a7c;display:block}
@media (max-width:560px){
  .rhc__grid{grid-template-columns:1fr}
  .rhc__box{padding:22px 18px}
  .rhc__tab{font-size:13.5px}
  .rhc__rows li{font-size:13.5px}
}
