:root {
    --home-orange: #f57c00;
    --home-fire: #ff7a00;
    --home-ink: #111111;
    --home-muted: #656565;
    --home-line: #d9d9d9;
    --home-soft: #f5f5f5;
}

.home-service-selector,
.home-services-suite,
.home-cases-suite,
.home-pricing-suite,
.home-conditions-suite,
.home-faq-suite,
.home-geo-suite {
    padding: clamp(40px, 4vw, 56px) 0;
    color: var(--home-ink);
    background: #fff;
}

.home-suite-head { max-width: 790px; }
.home-suite-head h2 { margin: 7px 0 14px; max-width: 820px; font-size: clamp(34px, 4.4vw, 68px); line-height: .98; letter-spacing: 0; }
.home-suite-head > p:last-child { color: var(--home-muted); font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; }
.home-suite-head--row { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); gap: 48px; max-width: none; align-items: end; }
.home-suite-link { display: inline-flex; margin-top: 22px; color: var(--home-orange); font-weight: 800; text-decoration: none; }

.home-service-selector { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(112deg, #f3f2f0 0%, #fff 58%, #edf1f2 100%); }
.home-service-selector .wrap.home-service-selector__grid { width: min(1440px, calc(100% - 48px)); }
.home-service-selector__grid { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(700px, 1.35fr); gap: clamp(32px, 3.5vw, 56px); align-items: center; min-height: 560px; }
.home-service-selector__grid > * { min-width: 0; }
.home-service-selector .home-suite-head h2 { max-width: 470px; font-size: clamp(46px, 4vw, 62px); line-height: 1.03; }
.home-service-selector .home-suite-head > p:last-child { max-width: 450px; }
.home-service-selector__panel { position: relative; z-index: 1; min-width: 0; min-height: 480px; padding: clamp(22px, 2.2vw, 30px); border: 1px solid rgba(17,17,17,.1); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 20px 44px rgba(17,17,17,.1); }
.home-service-selector__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home-service-selector__steps article { position: relative; display: grid; min-width: 0; min-height: 230px; grid-template-rows: 60px auto 1fr; align-items: start; justify-items: center; padding: 20px 16px 17px; border-radius: 18px; background: linear-gradient(145deg, #fff 0%, #fff6ed 100%); }
.home-service-selector__steps article::before { display: block; width: 60px; height: 60px; grid-row: 1; content: ''; background: url('/assets/trubochist-blocks/home-block-icons/choose-service.svg') center / contain no-repeat; }
.home-service-selector__steps article:nth-child(2)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/calculator.svg'); }
.home-service-selector__steps article:nth-child(3)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/house-shield.svg'); }
.home-service-selector__steps article:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: -23px; color: #7c8797; content: '→'; font-size: 35px; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.home-service-selector__steps article > div { display: contents; min-width: 0; }
.home-service-selector__steps h3 { grid-row: 2; margin: 12px 0 7px; font-size: 18px; line-height: 1.23; text-align: center; }
.home-service-selector__steps p { grid-row: 3; margin: 0; color: var(--home-muted); font-size: 14px; line-height: 1.42; text-align: center; }
.home-service-selector__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.home-service-selector__links a { display: flex; min-width: 0; min-height: 54px; align-items: center; justify-content: center; gap: 8px; padding: 9px 10px; border: 1px solid #e1e3e5; border-radius: 999px; color: var(--home-ink); background: rgba(255,255,255,.82); font-size: 14px; font-weight: 800; text-align: center; text-decoration: none; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
.home-service-selector__links a::before { width: 27px; height: 27px; flex: 0 0 27px; content: ''; background: url('/assets/trubochist-blocks/home-block-icons/service-cleaning.svg') center / contain no-repeat; }
.home-service-selector__links a:nth-child(2)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-install.svg'); }
.home-service-selector__links a:nth-child(3)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-repair.svg'); }
.home-service-selector__links a:nth-child(4)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-boiler.svg'); }
.home-service-selector__links a:nth-child(5)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-chimney.svg'); }
.home-service-selector__links a:nth-child(6)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-bath-stove.svg'); }
.home-service-selector__links a:hover { transform: translateY(-2px); border-color: var(--home-orange); color: var(--home-orange); }
.home-service-selector__media { align-self: stretch; min-height: 560px; overflow: hidden; border-radius: 0 20px 20px 0; background: #d9d9d9; box-shadow: 0 20px 42px rgba(17,17,17,.1); }
.home-service-selector__media img { width: 100%; height: 100%; object-fit: cover; }

.home-services-suite { padding: clamp(32px, 3vw, 44px) 0; background: #fff; }
.home-services-suite .home-suite-head { max-width: none; margin-bottom: 18px; }
.home-services-suite .home-suite-head h2 { max-width: 720px; font-size: clamp(34px, 3.6vw, 54px); line-height: 1.04; text-wrap: balance; }
.home-services-suite .home-suite-head--row { grid-template-columns: minmax(0, 1.12fr) minmax(280px, .54fr); gap: clamp(24px, 3vw, 42px); }
.home-services-suite .home-suite-head--row > p { max-width: 365px; margin: 0 0 3px; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.45; }
.home-services-suite__popular-shell, .home-services-suite__catalog, .home-services-suite__process-wrap { border: 1px solid #e7e8e8; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(17,17,17,.035); }
.home-services-suite__popular-shell { padding: 16px; }
.home-services-suite__section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.home-services-suite__section-head h3 { margin: 0; font-size: clamp(18px, 1.6vw, 22px); }
.home-services-suite__section-head a { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; padding: 0 12px; border: 1px solid #f0a15b; border-radius: 7px; color: var(--home-orange); font-size: 13px; font-weight: 800; text-decoration: none; }
.home-services-suite__section-head a:hover { color: #fff; background: var(--home-orange); }
.home-services-suite__popular-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.home-services-suite__popular { position: relative; display: grid; grid-template-columns: 58px minmax(0, 1fr); min-height: 180px; overflow: hidden; border: 1px solid #eaebec; border-radius: 9px; color: var(--home-ink); background: linear-gradient(135deg, #fffdfb 0%, #fff 72%); text-decoration: none; }
.home-services-suite__popular:hover { border-color: rgba(245,124,0,.65); box-shadow: 0 12px 30px rgba(17,17,17,.08); }
.home-services-suite__popular img { position: absolute; z-index: 0; right: 0; bottom: 0; width: 57%; height: 68%; object-fit: cover; border-radius: 48% 0 0 0; opacity: .92; transition: transform .35s ease; }
.home-services-suite__popular:hover img { transform: scale(1.04); }
.home-services-suite__popular::after { position: absolute; z-index: 1; right: 0; bottom: 0; width: 66%; height: 70%; content: ''; background: linear-gradient(135deg, rgba(255,255,255,.95) 0 26%, transparent 27%); pointer-events: none; }
.home-services-suite__popular-icon { position: relative; z-index: 2; width: 38px; height: 38px; align-self: start; margin: 15px 0 0 12px; background: url('/assets/trubochist-blocks/home-block-icons/service-bath-stove.svg') center / contain no-repeat; }
.home-services-suite__popular:nth-child(2) .home-services-suite__popular-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-boiler.svg'); }
.home-services-suite__popular:nth-child(3) .home-services-suite__popular-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-chimney.svg'); }
.home-services-suite__popular-copy { position: relative; z-index: 2; display: flex; flex-direction: column; min-width: 0; padding: 14px 12px 14px 0; }
.home-services-suite__popular strong { font-size: 16px; line-height: 1.2; }
.home-services-suite__popular em { max-width: 158px; margin-top: 7px; color: var(--home-muted); font-size: 12px; font-style: normal; line-height: 1.35; }
.home-services-suite__popular b { margin-top: auto; color: var(--home-orange); font-size: 12px; }
.home-services-suite__popular b i { margin-left: 5px; font-style: normal; }
.home-services-suite__catalog { margin-top: 12px; overflow: hidden; }
.home-services-suite__catalog summary { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; cursor: pointer; font-size: 16px; font-weight: 900; list-style: none; }
.home-services-suite__catalog summary::-webkit-details-marker { display: none; }
.home-services-suite__catalog summary b { color: var(--home-orange); }
.home-services-suite__catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e7e8e8; }
.home-services-suite__catalog-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 62px; padding: 11px 20px; border-bottom: 1px solid #ececec; color: var(--home-ink); text-decoration: none; }
.home-services-suite__catalog-row:nth-child(odd) { border-right: 1px solid #ececec; }
.home-services-suite__catalog-row i { width: 24px; height: 24px; background: url('/assets/trubochist-blocks/home-block-icons/service-cleaning.svg') center / contain no-repeat; }
.home-services-suite__catalog-row:nth-child(3n + 2) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-install.svg'); }
.home-services-suite__catalog-row:nth-child(3n) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-repair.svg'); }
.home-services-suite__catalog-row strong, .home-services-suite__catalog-row small { display: block; }
.home-services-suite__catalog-row strong { font-size: 14px; line-height: 1.28; }
.home-services-suite__catalog-row small { display: none; }
.home-services-suite__catalog-row b { color: var(--home-orange); font-size: 19px; }
.home-services-suite__catalog-row:hover { color: var(--home-orange); background: #fff8f1; }
.home-services-suite__groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.home-services-suite__group { padding: 20px; border-radius: 12px; background: linear-gradient(135deg, #fff7f0, #fffdfb); }
.home-services-suite__group:nth-child(2) { background: linear-gradient(135deg, #f3f8fc, #fbfdff); }
.home-services-suite__group h3 { margin: 0 0 15px; font-size: 18px; }
.home-services-suite__group .home-services-suite__catalog-row { margin-top: 10px; border: 0; border-radius: 8px; background: rgba(255,255,255,.88); box-shadow: 0 3px 12px rgba(17,17,17,.025); }
.home-services-suite__group .home-services-suite__catalog-row:first-child { margin-top: 0; }
.home-services-suite__process-wrap { margin-top: 18px; padding: 20px 24px; }
.home-services-suite__process-wrap .eyebrow { margin-bottom: 16px; }
.home-services-suite__process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.home-services-suite__process li { position: relative; padding: 10px 18px 0; text-align: center; }
.home-services-suite__process li:not(:last-child)::after { position: absolute; top: 34px; right: -13px; width: 26px; border-top: 1px dashed #d8dde1; content: ''; }
.home-services-suite__process i { display: block; width: 46px; height: 46px; margin: 0 auto 12px; border: 1px solid #f0a15b; border-radius: 50%; background: #fff url('/assets/trubochist-blocks/home-block-icons/choose-service.svg') center / 26px no-repeat; }
.home-services-suite__process li:nth-child(2) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-chimney.svg'); }
.home-services-suite__process li:nth-child(3) i { background-image: url('/assets/trubochist-blocks/home-block-icons/house-shield.svg'); }
.home-services-suite__process li:nth-child(4) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-install.svg'); }
.home-services-suite__process li:nth-child(5) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-cleaning.svg'); }
.home-services-suite__process strong, .home-services-suite__process span { display: block; }
.home-services-suite__process strong { font-size: 14px; }
.home-services-suite__process span { margin-top: 7px; color: var(--home-muted); font-size: 12px; line-height: 1.42; }
.home-services-suite__trust { margin-top: 20px; padding: 0; color: #fff; background: transparent; }
.home-services-suite__trust-shell { padding: 27px; border-radius: 12px; background: radial-gradient(circle at 100% 100%, rgba(255,122,0,.16), transparent 35%), #14212c; }
.home-services-suite__trust h3 { margin: 0 0 22px; color: #fff; font-size: 19px; }
.home-services-suite__trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-services-suite__trust-grid > div { position: relative; min-height: 82px; padding: 0 22px 0 52px; border-left: 1px solid rgba(255,255,255,.16); }
.home-services-suite__trust-grid > div:nth-child(3n + 1) { border-left: 0; }
.home-services-suite__trust-grid > div:nth-child(n + 4) { margin-top: 20px; }
.home-services-suite__trust-grid i { position: absolute; top: 1px; left: 18px; width: 24px; height: 24px; background: url('/assets/trubochist-blocks/home-block-icons/house-shield.svg') center / contain no-repeat; filter: sepia(1) saturate(8) hue-rotate(350deg); }
.home-services-suite__trust-grid strong, .home-services-suite__trust-grid span { display: block; }
.home-services-suite__trust-grid strong { color: #fff; font-size: 15px; line-height: 1.3; }
.home-services-suite__trust-grid span { margin-top: 6px; color: #c9d0d5; font-size: 12px; line-height: 1.4; }
.home-services-suite__cta { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 22px; align-items: center; margin: 18px auto 0; padding: 18px 24px; border: 1px solid #f0e4d7; border-radius: 12px; background: linear-gradient(105deg, #fff4e8, #fffdf9); }
.home-services-suite__cta-avatar { width: 78px; height: 78px; border-radius: 50%; background: #fff7ef url('/assets/trubochist-blocks/home-block-icons/service-install.svg') center / 42px no-repeat; box-shadow: 0 8px 20px rgba(17,17,17,.14); }
.home-services-suite__cta span { display: block; color: var(--home-ink); font-size: 21px; font-weight: 900; }
.home-services-suite__cta h3 { margin: 5px 0; color: var(--home-ink); font-size: 15px; font-weight: 500; }
.home-services-suite__cta p { margin: 0; color: var(--home-muted); font-size: 12px; }
.home-services-suite__cta-actions { display: flex; gap: 12px; }
.home-services-suite__cta-actions .btn { white-space: nowrap; }

.home-cases-suite { padding: clamp(40px, 4vw, 56px) 0; background: linear-gradient(180deg, #fff 0%, var(--home-soft) 100%); }
.home-cases-suite .home-suite-head { max-width: 1220px; }
.home-cases-suite .home-suite-head h2 { max-width: 1200px; margin-bottom: 10px; font-size: clamp(38px, 3.1vw, 54px); line-height: 1.08; text-wrap: balance; }
.home-cases-suite .home-suite-head > p:last-child { max-width: 820px; font-size: 18px; }
.home-cases-suite__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.home-cases-suite__card { display: grid; grid-template-rows: 238px minmax(0, 1fr); min-width: 0; min-height: 474px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 12px; background: #fff; color: var(--home-ink); text-decoration: none; box-shadow: 0 16px 38px rgba(17,17,17,.06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.home-cases-suite__card:hover { border-color: rgba(245,124,0,.55); box-shadow: 0 22px 44px rgba(17,17,17,.11); transform: translateY(-4px); }
.home-cases-suite__card img { width: 100%; height: 238px; object-fit: cover; }
.home-cases-suite__card-copy { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 0 16px; min-height: 0; padding: 20px 22px 16px; }
.home-cases-suite__card-icon { width: 60px; height: 60px; border: 1px solid #e5e5e5; border-radius: 14px; background: #fffaf5 url('/assets/trubochist-blocks/home-block-icons/service-bath-stove.svg') center / 34px no-repeat; }
.home-cases-suite__card:nth-child(2) .home-cases-suite__card-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-boiler.svg'); }
.home-cases-suite__card:nth-child(3) .home-cases-suite__card-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-cleaning.svg'); }
.home-cases-suite__card h3 { margin: 2px 0 9px; font-size: clamp(21px, 1.48vw, 25px); line-height: 1.2; }
.home-cases-suite__card p { margin: 0; color: var(--home-muted); font-size: 15px; line-height: 1.45; }
.home-cases-suite__chips { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px 16px; align-self: end; margin-top: 12px; padding-top: 12px; border-top: 1px solid #ededed; }
.home-cases-suite__chips span { position: relative; display: inline-flex; align-items: center; gap: 7px; color: #5d5d5d; font-size: 13px; line-height: 1.3; }
.home-cases-suite__chips span::before { width: 17px; height: 17px; border: 1px solid var(--home-fire); border-radius: 50%; color: var(--home-fire); content: '✓'; font-size: 12px; font-weight: 900; line-height: 15px; text-align: center; }
.home-cases-suite__facts, .home-conditions-suite__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 22px; border: 1px solid #f0e7dd; border-radius: 12px; overflow: hidden; }
.home-cases-suite__facts { background: linear-gradient(105deg, #fff9f3 0%, #fffdf9 100%); }
.home-cases-suite__facts > div, .home-conditions-suite__facts > div { min-height: 88px; padding: 16px 20px; border-left: 1px solid #f0e7dd; background: transparent; }
.home-cases-suite__facts > div:first-child { border-left: 0; }
.home-cases-suite__facts strong, .home-cases-suite__facts span, .home-conditions-suite__facts strong, .home-conditions-suite__facts span { display: block; }
.home-cases-suite__facts strong { color: var(--home-ink); font-size: 16px; }
.home-cases-suite__facts span, .home-conditions-suite__facts span { margin-top: 4px; color: var(--home-muted); font-size: 13px; line-height: 1.35; }
.home-cases-suite .home-suite-link { display: none; }

.home-safety-suite { padding: clamp(24px, 3vw, 48px) 0; color: #fff; background: #0f1010; }
.home-safety-suite .wrap.home-safety-suite__shell { padding: clamp(24px, 3vw, 38px); border: 1px solid #2f3232; border-radius: 16px; background: radial-gradient(circle at 18% 0%, rgba(255,122,0,.08), transparent 34%), linear-gradient(135deg, #171919 0%, #0e0f0f 72%); box-shadow: 0 24px 64px rgba(0,0,0,.26); }
.home-safety-suite__top { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.5fr); gap: clamp(26px, 3vw, 44px); align-items: stretch; }
.home-safety-suite__copy { display: flex; flex-direction: column; align-items: flex-start; }
.home-safety-suite .home-suite-head h2 { max-width: 440px; color: #fff; font-size: clamp(40px, 3.25vw, 60px); line-height: 1.06; text-wrap: balance; }
.home-safety-suite .home-suite-head > p:last-child { max-width: 430px; color: #c9c9c9; }
.home-safety-suite .home-suite-head > p:first-child { margin-bottom: 12px; }
.home-safety-suite .home-suite-head h2 { font-size: clamp(36px, 2.9vw, 52px); line-height: 1.04; }
.home-safety-suite .home-suite-head > p:last-child { font-size: 16px; line-height: 1.45; }
.home-safety-suite__panels { display: grid; gap: 8px; margin: 16px 0 14px; }
.home-safety-suite__panels article { padding: 12px 14px; border: 1px solid #343737; border-radius: 8px; background: rgba(31,33,33,.9); }
.home-safety-suite__panels h3 { margin: 0 0 3px; font-size: 16px; }
.home-safety-suite__panels p { margin: 0; color: #c0c0c0; font-size: 14px; line-height: 1.35; }
.home-safety-suite__copy .btn { margin-top: auto; }
.home-safety-suite__risks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 260px 220px; gap: 14px; }
.home-safety-suite__risks article { position: relative; display: grid; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #353838; border-radius: 12px; background: #171919; isolation: isolate; }
.home-safety-suite__risks article:nth-child(-n + 3) { grid-column: auto; min-height: 0; }
.home-safety-suite__risks article:nth-child(n + 4) { grid-column: auto; min-height: 0; }
.home-safety-suite__risks img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; transform: scale(1.015); transition: transform .35s ease, opacity .35s ease; }
.home-safety-suite__risks article::after { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8,10,10,.03) 13%, rgba(8,10,10,.18) 42%, rgba(8,10,10,.96) 100%); content: ''; }
.home-safety-suite__risks article:hover img { opacity: .86; transform: scale(1.05); }
.home-safety-suite__risks article > div { z-index: 1; align-self: end; padding: 16px; }
.home-safety-suite__risks h3 { margin: 0; font-size: clamp(20px, 1.35vw, 24px); }
.home-safety-suite__risks h3::before { display: block; width: 30px; height: 3px; margin-bottom: 10px; border-radius: 99px; background: var(--home-fire); content: ''; }
.home-safety-suite__risks p { margin: 7px 0 0; color: #ddd; font-size: 15px; line-height: 1.42; }
.home-safety-suite__facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-top: 20px; padding-top: 18px; border-top: 1px solid #343737; }
.home-safety-suite__facts > div { min-height: 60px; padding: 0 clamp(12px, 1.4vw, 20px); border-left: 1px solid #343737; }
.home-safety-suite__facts > div:first-child { padding-left: 0; border-left: 0; }
.home-safety-suite__facts strong, .home-safety-suite__facts span { display: block; }
.home-safety-suite__facts strong { color: #fff; font-size: 16px; }
.home-safety-suite__facts span { margin-top: 6px; color: #aaa; font-size: 13px; line-height: 1.4; }

.home-pricing-suite { background: #f5f5f4; }
.home-pricing-suite__shell { padding: clamp(24px, 2.8vw, 38px); border: 1px solid #e9e7e2; border-radius: 18px; background: #fff; box-shadow: 0 14px 36px rgba(23, 22, 18, .055); }
.home-pricing-suite__grid { display: grid; grid-template-columns: minmax(480px, .96fr) minmax(520px, 1.04fr); gap: clamp(26px, 3vw, 42px); align-items: start; }
.home-pricing-suite__copy { display: grid; gap: 14px; }
.home-pricing-suite .home-suite-head { max-width: 610px; }
.home-pricing-suite .home-suite-head h2 { max-width: 620px; font-size: clamp(36px, 3vw, 48px); line-height: 1.04; }
.home-pricing-suite .home-suite-head > p:last-child { max-width: 590px; font-size: 17px; line-height: 1.45; }
.home-pricing-suite__benefits { display: grid; padding: 0; list-style: none; }
.home-pricing-suite__benefits li { position: relative; padding-left: 50px; }
.home-pricing-suite__benefits li::before { position: absolute; top: 0; left: 0; display: block; width: 34px; height: 34px; border-radius: 11px; background: #fff6ed url('/assets/trubochist-blocks/home-block-icons/choose-service.svg') center / 21px no-repeat; content: ''; }
.home-pricing-suite__benefits li:nth-child(2)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/calculator.svg'); }
.home-pricing-suite__benefits li:nth-child(3)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/house-shield.svg'); }
.home-pricing-suite__benefits li:nth-child(4)::before { background-image: url('/assets/trubochist-blocks/home-block-icons/service-install.svg'); }
.home-pricing-suite__benefits strong, .home-pricing-suite__benefits span { display: block; }
.home-pricing-suite__benefits span { margin-top: 5px; color: var(--home-muted); }
.home-pricing-suite__benefits--showcase { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.home-pricing-suite__benefits--showcase li { min-height: 82px; padding: 34px 7px 6px; text-align: center; }
.home-pricing-suite__benefits--showcase li::before { top: 0; left: 50%; width: 30px; height: 30px; transform: translateX(-50%); }
.home-pricing-suite__benefits--showcase strong { font-size: 14px; line-height: 1.22; }
.home-pricing-suite__benefits--showcase span { font-size: 12px; line-height: 1.35; }
.home-pricing-suite__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.home-pricing-suite__chips span { padding: 8px 12px; border: 1px solid #e6e2dc; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 700; }
.home-pricing-suite__price-link { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 72px; padding: 13px 17px; border: 1px solid #e6e2dc; border-radius: 14px; color: var(--home-ink); background: #fff; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease; }
.home-pricing-suite__price-link:hover { border-color: var(--home-orange); box-shadow: 0 10px 20px rgba(245, 124, 0, .1); }
.home-pricing-suite__price-link i, .home-pricing-suite__guarantee > i, .home-pricing-suite__cta-icon { display: block; width: 42px; height: 42px; border-radius: 50%; background: #fff2e4 url('/assets/trubochist-blocks/home-block-icons/calculator.svg') center / 24px no-repeat; }
.home-pricing-suite__price-link small, .home-pricing-suite__price-link strong { display: block; }
.home-pricing-suite__price-link small { color: #69645e; font-size: 12px; }
.home-pricing-suite__price-link strong { margin-top: 3px; color: var(--home-orange); font-size: 16px; }
.home-pricing-suite__price-link b, .home-pricing-suite__cta b { color: var(--home-fire); font-size: 26px; font-weight: 400; }
.home-pricing-suite__panel { align-self: start; display: grid; gap: 14px; padding: 0; color: var(--home-ink); background: transparent; }
.home-pricing-suite__rows { display: grid; gap: 10px; }
.home-pricing-suite__rows a { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 84px; padding: 14px 20px; border: 1px solid #e4e1db; border-radius: 16px; color: var(--home-ink); background: #fff; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-pricing-suite__rows a:hover { border-color: #f3a65f; box-shadow: 0 12px 24px rgba(75, 49, 25, .08); transform: translateY(-2px); }
.home-pricing-suite__rows i { width: 56px; height: 56px; border-radius: 50%; background: #fff5ea url('/assets/trubochist-blocks/home-block-icons/choose-service.svg') center / 30px no-repeat; }
.home-pricing-suite__rows a:nth-child(2) i { background-image: url('/assets/trubochist-blocks/home-block-icons/calculator.svg'); }
.home-pricing-suite__rows a:nth-child(3) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-bath-stove.svg'); }
.home-pricing-suite__rows a:nth-child(4) i { background-image: url('/assets/trubochist-blocks/home-block-icons/service-chimney.svg'); }
.home-pricing-suite__rows strong, .home-pricing-suite__rows small { display: block; }
.home-pricing-suite__rows strong { font-size: clamp(17px, 1.3vw, 21px); line-height: 1.28; }
.home-pricing-suite__rows small { margin-top: 5px; color: var(--home-orange); font-size: 15px; font-weight: 800; }
.home-pricing-suite__rows b { color: var(--home-ink); font-size: 29px; font-weight: 400; }
.home-pricing-suite__guarantee { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: center; padding: 17px 22px; border-radius: 15px; background: linear-gradient(100deg, #fff8f0, #fff); }
.home-pricing-suite__guarantee > i { width: 48px; height: 48px; background-image: url('/assets/trubochist-blocks/home-block-icons/house-shield.svg'); background-size: 29px; }
.home-pricing-suite__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.home-pricing-suite__facts strong, .home-pricing-suite__facts span { display: block; }
.home-pricing-suite__facts strong { font-size: 16px; }
.home-pricing-suite__facts span { margin-top: 4px; color: #6f6962; font-size: 13px; line-height: 1.4; }
.home-pricing-suite__cta { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 18px; align-items: center; margin-top: 18px; padding: 14px 20px; border: 1px solid #f5a560; border-radius: 14px; color: var(--home-ink); background: #fff; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.home-pricing-suite__cta:hover { background: #fff8f0; transform: translateY(-1px); }
.home-pricing-suite__cta-icon { width: 46px; height: 46px; background-image: url('/assets/trubochist-blocks/home-block-icons/service-cleaning.svg'); background-size: 27px; }
.home-pricing-suite__cta strong, .home-pricing-suite__cta em { display: block; }
.home-pricing-suite__cta strong { font-size: 19px; font-style: normal; }
.home-pricing-suite__cta em { margin-top: 5px; color: #6f6962; font-size: 15px; font-style: normal; }

.home-conditions-suite__head { display: grid; grid-template-columns: 1fr 360px; gap: 36px; align-items: end; }
.home-conditions-suite__head img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; }
.home-conditions-suite__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.home-conditions-suite__cards article { min-height: 176px; padding: 22px; border-radius: 8px; }
.home-conditions-suite__cards article:nth-child(1) { background: #f7e9da; }
.home-conditions-suite__cards article:nth-child(2) { background: #e4eff5; }
.home-conditions-suite__cards article:nth-child(3) { background: #e5f1e7; }
.home-conditions-suite__cards span { color: var(--home-orange); font-weight: 900; text-transform: uppercase; }
.home-conditions-suite__cards h3 { margin: 12px 0 8px; font-size: 22px; }
.home-conditions-suite__cards p { margin: 0; color: #555; font-size: 15px; line-height: 1.45; }

.home-faq-suite { background: #f7f7f6; }
.home-faq-suite__grid { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(330px, .68fr); gap: clamp(28px, 3.4vw, 48px); align-items: start; }
.home-faq-suite .home-suite-head { max-width: 720px; }
.home-faq-suite .home-suite-head h2 { max-width: 700px; font-size: clamp(38px, 3.45vw, 54px); line-height: 1.06; }
.home-faq-suite .home-suite-head > p:last-child { max-width: 650px; font-size: 19px; line-height: 1.55; }
.home-faq-suite__list { display: grid; gap: 10px; margin-top: 22px; }
.home-faq-suite__list details { overflow: hidden; border: 1px solid #e6e2dc; border-radius: 15px; background: #fff; box-shadow: 0 10px 24px rgba(17, 17, 17, .035); }
.home-faq-suite__list summary { display: grid; grid-template-columns: 26px minmax(0, 1fr) 18px; gap: 14px; align-items: center; min-height: 64px; padding: 14px 20px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 850; line-height: 1.32; }
.home-faq-suite__list summary::-webkit-details-marker { display: none; }
.home-faq-suite__question-icon { width: 26px; height: 26px; border: 1px solid #f0c79e; border-radius: 8px; background: #fff6ed url('/assets/trubochist-blocks/home-block-icons/choose-service.svg') center / 15px no-repeat; }
.home-faq-suite__list details:nth-child(2) .home-faq-suite__question-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-install.svg'); }
.home-faq-suite__list details:nth-child(3) .home-faq-suite__question-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-repair.svg'); }
.home-faq-suite__list details:nth-child(4) .home-faq-suite__question-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-boiler.svg'); }
.home-faq-suite__list details:nth-child(5) .home-faq-suite__question-icon { background-image: url('/assets/trubochist-blocks/home-block-icons/service-chimney.svg'); }
.home-faq-suite__list summary b { width: 10px; height: 10px; justify-self: end; border-right: 2px solid var(--home-orange); border-bottom: 2px solid var(--home-orange); transform: rotate(45deg) translateY(-3px); transition: transform .22s ease; }
.home-faq-suite__list details[open] summary b { transform: rotate(225deg) translate(-2px, -1px); }
.home-faq-suite__list details p { margin: -2px 0 0; padding: 0 28px 17px 60px; color: var(--home-muted); font-size: 15px; line-height: 1.55; }
.home-faq-suite__aside { position: sticky; top: 24px; padding: 24px; border: 1px solid #efe2d4; border-radius: 18px; color: var(--home-ink); background: linear-gradient(145deg, #fff, #fff7ef); box-shadow: 0 16px 32px rgba(81, 51, 23, .08); text-align: center; }
.home-faq-suite__badge { display: grid; width: 48px; height: 48px; margin: 0 auto 14px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #ff9f36, var(--home-orange)); box-shadow: 0 8px 14px rgba(245, 124, 0, .24); font-size: 29px; font-weight: 900; line-height: 1; }
.home-faq-suite__aside h3 { margin: 0 0 10px; font-size: clamp(24px, 1.8vw, 29px); line-height: 1.15; }
.home-faq-suite__aside > p { margin: 0 auto; max-width: 330px; color: #6e6a65; line-height: 1.55; }
.home-faq-suite__buttons { display: grid; gap: 9px; margin-top: 18px; }
.home-faq-suite__aside .btn { display: inline-flex; width: 100%; min-height: 48px; align-items: center; justify-content: center; }
.home-faq-suite__aside .btn--outline { border-color: #f3a55f; color: var(--home-orange); background: #fff; }
.home-faq-suite__facts { display: grid; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #eddcc9; text-align: left; }
.home-faq-suite__facts > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); column-gap: 11px; align-items: center; }
.home-faq-suite__facts > div::before { display: grid; width: 38px; height: 38px; grid-row: span 2; place-items: center; border-radius: 50%; color: var(--home-orange); background: #fff0e1; content: '+'; font-size: 22px; font-weight: 900; }
.home-faq-suite__facts > div:nth-child(2)::before { content: 'o'; }
.home-faq-suite__facts > div:nth-child(3)::before { content: '='; }
.home-faq-suite__facts strong, .home-faq-suite__facts span { display: block; }
.home-faq-suite__facts strong { color: var(--home-ink); font-size: 15px; }
.home-faq-suite__facts span { color: #76716b; font-size: 13px; line-height: 1.35; }

.home-geo-suite__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(500px, 1.15fr); gap: clamp(28px, 3.2vw, 42px); align-items: start; }
.home-geo-suite__content { display: grid; align-content: start; }
.home-geo-suite__content .home-suite-head h2 { max-width: 670px; font-size: clamp(34px, 2.3vw, 42px); line-height: 1.08; text-wrap: balance; }
.home-geo-suite__title-line { white-space: nowrap; }
.home-geo-suite__cities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 20px 0; }
.home-geo-suite__cities span { display: grid; min-height: 40px; align-items: center; padding: 8px 11px; border: 1px solid var(--home-line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 750; text-align: center; }
.home-geo-suite__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 18px; }
.home-geo-suite__facts > div { padding: 12px; background: var(--home-soft); border-radius: 5px; }
.home-geo-suite__facts strong, .home-geo-suite__facts span { display: block; }
.home-geo-suite__facts span { margin-top: 4px; color: var(--home-muted); font-size: 12px; }
.home-geo-suite__map-wrap { padding-top: clamp(70px, 5vw, 88px); }
.home-geo-suite__map { position: relative; min-height: 420px; overflow: hidden; border: 1px solid #b7c9b9; border-radius: 8px; background: #dff0df; }
.home-geo-suite__map-fallback { position: absolute; inset: 0; background-color: #dff0df; background-image: linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)), url('/assets/trubochist-blocks/home-block-assets/07-geo-map-preview.png'); background-position: center; background-size: cover; transition: opacity .2s ease; }
.home-geo-suite__area { position: absolute; inset: 13% 10% 12% 12%; border: 5px solid var(--home-orange); border-radius: 43% 57% 48% 52% / 54% 40% 60% 46%; background: rgba(245,124,0,.12); transform: rotate(-3deg); }
.home-geo-suite__map i { position: absolute; left: calc(10% + (var(--city-index) * 8%)); top: calc(12% + (var(--city-index) * 7%)); display: flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.94); box-shadow: 0 4px 14px rgba(0,0,0,.12); font-style: normal; font-size: 12px; white-space: nowrap; }
.home-geo-suite__map i:nth-of-type(2n) { left: calc(60% - (var(--city-index) * 3%)); }
.home-geo-suite__map i:nth-of-type(3n) { top: calc(70% - (var(--city-index) * 4%)); }
.home-geo-suite__map i b { width: 11px; height: 11px; border: 3px solid var(--home-orange); border-radius: 50%; background: #fff; }
.home-geo-suite__map > script { display: none; }
.home-geo-suite__map > ymaps,
.home-geo-suite__map > iframe { position: absolute !important; inset: 0 !important; z-index: 1; display: block !important; width: 100% !important; height: 100% !important; border: 0 !important; }
.home-geo-suite__map.is-map-ready .home-geo-suite__map-fallback { opacity: 0; pointer-events: none; }
.home-geo-suite__map-link { position: absolute; right: 16px; bottom: 16px; z-index: 3; display: inline-flex; min-height: 42px; align-items: center; padding: 0 15px; border: 1px solid rgba(17,17,17,.16); border-radius: 5px; color: var(--home-ink); background: rgba(255,255,255,.96); font-weight: 850; text-decoration: none; box-shadow: 0 8px 18px rgba(17,17,17,.16); }
.home-geo-suite__map-link:hover { color: #fff; background: var(--home-orange); border-color: var(--home-orange); }

@media (max-width: 1300px) {
    .home-service-selector .wrap.home-service-selector__grid { width: min(1180px, calc(100% - 56px)); }
    .home-service-selector__grid { grid-template-columns: minmax(330px, .8fr) minmax(520px, 1.2fr); min-height: 0; }
    .home-service-selector__media { display: none; }
}

@media (max-width: 1120px) {
    .home-safety-suite__top { grid-template-columns: 1fr; }
    .home-safety-suite__copy { max-width: 660px; }
    .home-services-suite__trust .wrap { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
    .home-suite-head--row, .home-pricing-suite__grid, .home-faq-suite__grid, .home-geo-suite__grid, .home-conditions-suite__head { grid-template-columns: 1fr; }
    .home-service-selector__grid { grid-template-columns: 1fr; }
    .home-services-suite__popular-grid, .home-cases-suite__grid, .home-conditions-suite__cards { grid-template-columns: 1fr 1fr; }
    .home-cases-suite__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-cases-suite__facts > div:nth-child(odd) { border-left: 0; }
    .home-cases-suite__facts > div:nth-child(n + 3) { border-top: 1px solid #f0e7dd; }
    .home-services-suite__popular:first-child { grid-column: auto; }
    .home-services-suite__groups { grid-template-columns: 1fr; }
    .home-services-suite__trust-grid > div:nth-child(3n + 1) { border-left: 1px solid rgba(255,255,255,.16); }
    .home-services-suite__trust-grid > div:nth-child(2n + 1) { border-left: 0; }
    .home-services-suite__process { grid-template-columns: repeat(3, 1fr); }
    .home-services-suite__catalog-grid { grid-template-columns: 1fr; }
    .home-safety-suite__risks { grid-template-columns: 1fr 1fr; }
    .home-safety-suite__risks article:nth-child(n) { grid-column: auto; }
    .home-safety-suite__facts { grid-template-columns: repeat(3, 1fr); }
    .home-faq-suite aside { position: static; }
    .home-geo-suite__title-line { white-space: normal; }
    .home-geo-suite__map { min-height: 420px; }
    .home-geo-suite__map-wrap { padding-top: 0; }
}

@media (max-width: 720px) {
    .home-service-selector, .home-services-suite, .home-cases-suite, .home-pricing-suite, .home-conditions-suite, .home-faq-suite, .home-geo-suite { padding: 48px 0; }
    .home-suite-head h2 { font-size: clamp(32px, 10vw, 46px); line-height: 1.02; }
    .home-service-selector .wrap.home-service-selector__grid { width: calc(100% - 32px); }
    .home-service-selector__panel { min-height: 0; padding: 16px; border-radius: 12px; }
    .home-service-selector__steps, .home-service-selector__links, .home-services-suite__popular-grid, .home-cases-suite__grid, .home-conditions-suite__cards, .home-safety-suite__risks { grid-template-columns: 1fr; }
    .home-cases-suite .home-suite-head h2 { font-size: clamp(34px, 9vw, 46px); }
    .home-cases-suite__card { grid-template-rows: 240px auto; }
    .home-cases-suite__card-copy { min-height: 0; padding: 20px; grid-template-columns: 66px minmax(0, 1fr); gap: 0 14px; }
    .home-cases-suite__card-icon { width: 54px; height: 54px; background-size: 30px; }
    .home-cases-suite__card h3 { margin-top: 0; font-size: 22px; }
    .home-cases-suite__facts { grid-template-columns: 1fr; }
    .home-cases-suite__facts > div, .home-cases-suite__facts > div:first-child { min-height: 0; padding: 18px 20px; border-top: 1px solid #f0e7dd; border-left: 0; }
    .home-cases-suite__facts > div:first-child { border-top: 0; }
    .home-service-selector__steps article { min-height: 0; border-radius: 14px; }
    .home-service-selector__steps article:not(:last-child)::after { display: none; }
    .home-service-selector__links a { justify-content: flex-start; border-radius: 10px; }
    .home-services-suite__popular:first-child { grid-column: auto; }
    .home-services-suite__popular { min-height: 210px; }
    .home-services-suite__groups { grid-template-columns: 1fr; }
    .home-services-suite__process { grid-template-columns: 1fr; }
    .home-services-suite__process li { padding: 14px 0; border: 0; }
    .home-services-suite__process li:not(:last-child)::after { display: none; }
    .home-services-suite__trust-grid { grid-template-columns: 1fr; }
    .home-services-suite__trust-grid > div, .home-services-suite__trust-grid > div:nth-child(n + 4) { min-height: 0; margin-top: 0; padding: 12px 0 12px 46px; border: 0; border-top: 1px solid rgba(255,255,255,.16); }
    .home-services-suite__trust-grid > div:first-child { border-top: 0; }
    .home-services-suite__trust-grid i { left: 8px; }
    .home-services-suite__trust .wrap, .home-safety-suite__facts, .home-cases-suite__facts, .home-conditions-suite__facts { grid-template-columns: 1fr 1fr; }
    .home-services-suite__cta { grid-template-columns: 1fr; align-items: stretch; }
    .home-services-suite__cta { flex-direction: column; align-items: stretch; }
    .home-services-suite__cta-avatar { display: none; }
    .home-services-suite__cta-actions { flex-direction: column; }
    .home-services-suite__cta .btn { width: 100%; }
    .home-safety-suite .wrap.home-safety-suite__shell { padding: 22px 16px; border-radius: 12px; }
    .home-safety-suite__top { gap: 28px; }
    .home-safety-suite__risks article, .home-safety-suite__risks article:nth-child(n) { min-height: 280px; grid-column: auto; }
    .home-safety-suite__facts > div, .home-safety-suite__facts > div:first-child { min-height: 0; padding: 14px 12px; border-top: 1px solid #343737; border-left: 0; }
    .home-safety-suite__facts > div:nth-child(-n + 2) { border-top: 0; }
    .home-pricing-suite__shell { padding: 22px 16px; }
    .home-pricing-suite__benefits--showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-pricing-suite__rows a { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 14px; min-height: 0; padding: 16px; }
    .home-pricing-suite__rows i { width: 50px; height: 50px; background-size: 28px; }
    .home-pricing-suite__rows strong { font-size: 17px; }
    .home-pricing-suite__guarantee, .home-pricing-suite__facts { grid-template-columns: 1fr; }
    .home-pricing-suite__guarantee > i { display: none; }
    .home-pricing-suite__cta { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 12px; padding: 17px; }
    .home-pricing-suite__cta strong { font-size: 17px; }
    .home-pricing-suite__cta em { font-size: 13px; }
    .home-conditions-suite__head img { height: 210px; }
    .home-geo-suite__facts { grid-template-columns: 1fr; }
    .home-geo-suite__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-geo-suite__map { min-height: 360px; }
    .home-geo-suite__map i { font-size: 10px; }
    .home-geo-suite__map-link { right: 12px; bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-service-selector *, .home-services-suite *, .home-cases-suite * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
