/* Service pages reuse the regional palette; every addition stays in this scope. */
.warm-service-page .warm-service-hero .warm-area-label{font-size:17px;letter-spacing:.035em}
.warm-service-page .warm-service-hero h1{font-size:clamp(34px,3.6vw,48px);line-height:1.5;text-wrap:balance;letter-spacing:.015em}
.warm-service-page .warm-service-hero h1>.warm-service-title-phrase{color:inherit}
.warm-service-page .warm-service-hero .warm-hero-description{font-size:16px;line-height:1.95;max-width:36em;margin-top:22px}
.warm-service-page .warm-service-hero .warm-action-note{font-size:12px;line-height:1.8}
.warm-service-page .warm-service-concerns{padding:46px 0 50px;background:#edf0e5}
.warm-service-page .warm-service-concerns .content-block{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);column-gap:58px;margin:0}
.warm-service-page .warm-service-concerns .content-block>h2{grid-column:1;grid-row:1/span 2;align-self:start}
.warm-service-page .warm-service-concerns .content-block>ul,.warm-service-page .warm-service-concerns .content-block>.text-link{grid-column:2}
.warm-service-page .warm-service-concerns .content-block>ul{list-style:none;margin:0;padding:0}
.warm-service-page .warm-service-concerns .content-block>ul>li{padding:12px 0 12px 22px;margin:0;border-bottom:1px solid #cad3c0;position:relative;font-size:16px;line-height:1.85}
.warm-service-page .warm-service-concerns li:before{content:"";position:absolute;left:0;top:24px;width:7px;height:7px;border-radius:50%;background:#b95325}
.warm-service-page .warm-service-concerns .text-link{margin-top:18px;justify-self:start}
.warm-service-page .warm-service-guidance{padding:64px 0 42px;background:#fffaf1}
.warm-service-page .warm-service-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 56px;align-items:start}
.warm-service-page .warm-service-guide-grid>.content-block{border-top:1px solid #c8d1bd;padding-top:24px;margin:0}
.warm-service-page .content-block>h2{border:0;padding:0;margin:0 0 20px;font-size:25px;font-weight:800;line-height:1.6;letter-spacing:0;text-wrap:balance}
.warm-service-page .content-block p,.warm-service-page .content-block li{font-size:16px;line-height:1.95}
.warm-service-page .content-block p{max-width:48em;margin:0 0 17px}
.warm-service-page .content-block p:last-child{margin-bottom:0}
.warm-service-page .content-block ul{padding-left:1.3em}
.warm-service-page .content-block li{margin-bottom:7px}
.warm-service-page .content-block .text-link{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.warm-service-page .warm-service-story{padding:38px 0 52px;background:#fffaf1}
.warm-service-page .warm-service-story-heading h2{margin:0;font-size:32px;font-weight:800;line-height:1.6;letter-spacing:0}
.warm-service-page .warm-service-story .sorting-story{margin-top:28px}
.warm-service-page .warm-service-cost{background:#f1efe1;padding:58px 0 62px}
.warm-service-page .warm-service-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.warm-service-page .warm-service-cost-grid>.content-block{margin:0}
.warm-service-page .warm-service-cost-grid>.content-block:only-child{grid-column:1/-1;max-width:860px}
.warm-service-page .warm-flow .ds-steps p,.warm-service-page .warm-flow-grid>div>p:not(.eyebrow){font-size:15px;line-height:1.95}
.warm-service-page .warm-service-consultation{padding:64px 0;background:#e7ecdf;scroll-margin-top:105px}
.warm-service-page .warm-service-consultation-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.warm-service-page .warm-service-contact-intro{position:sticky;top:24px;min-width:0}
.warm-service-page .warm-service-contact-intro h2{font-size:30px;line-height:1.55;letter-spacing:0;margin:0 0 21px;font-weight:800}
.warm-service-page .warm-service-contact-intro p{font-size:15px;line-height:1.95}
.warm-service-page .warm-service-contact-intro .content-block{margin:0 0 22px}
.warm-service-page .warm-service-contact-phone{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:19px;font-weight:700;text-decoration:none;line-height:1.6}
.warm-service-page .consultation-form{padding:30px 34px;border:1px solid #d8dece;border-radius:11px;background:var(--white)}
.warm-service-page .warm-service-followup{padding:62px 0 66px;background:var(--paper)}
.warm-service-page .warm-service-detailed-flow{margin-bottom:48px;padding-bottom:8px;border-bottom:1px solid #cbd3c2}
.warm-service-page .warm-service-detailed-flow .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.warm-service-page .warm-service-detailed-flow .steps li{margin:0;padding:45px 0 22px}
.warm-service-page .warm-service-detailed-flow .steps li:before{left:0;top:0}
.warm-service-page .warm-service-detailed-flow .steps h3{font-size:19px;line-height:1.65;margin:0 0 12px;letter-spacing:0}
.warm-service-page .warm-service-faq>.content-block{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:48px;margin:0}
.warm-service-page .warm-service-faq .faq{min-width:0}
.warm-service-page .warm-service-faq summary{font-size:16px;line-height:1.8}
.warm-service-page .warm-service-faq details p{font-size:15px;line-height:1.95}
@media(max-width:960px){
 .warm-service-page .warm-service-hero h1{font-size:35px}
 .warm-service-page .warm-service-concerns .content-block{column-gap:34px}
 .warm-service-page .warm-service-guide-grid,.warm-service-page .warm-service-cost-grid{column-gap:34px}
 .warm-service-page .warm-service-consultation-grid{grid-template-columns:1fr;gap:26px}
 .warm-service-page .warm-service-contact-intro{position:static;max-width:48em}
 .warm-service-page .warm-service-contact-intro h2 br{display:none}
 .warm-service-page .warm-service-faq>.content-block{grid-template-columns:1fr;gap:10px}
 .warm-service-page .warm-service-detailed-flow .steps{grid-template-columns:1fr;gap:20px}
 .warm-service-page .warm-service-detailed-flow .steps li{padding:0 0 20px 46px}
}
@media(max-width:740px){
 .warm-service-page .warm-service-hero .warm-area-label{font-size:14px}
 .warm-service-page .warm-service-hero h1{font-size:clamp(28px,7.8vw,36px);line-height:1.5;margin:12px 0;text-wrap:wrap;overflow-wrap:normal;word-break:normal}
 .warm-service-page .warm-service-hero h1>.warm-service-title-phrase{display:inline-block;white-space:nowrap}
 .warm-service-page .warm-service-hero .warm-hero-description{font-size:14px;line-height:1.9;margin-top:14px}
 .warm-service-page .warm-service-hero .warm-action-note{font-size:11px;margin-top:12px}
 .warm-service-page .warm-service-concerns{padding:34px 0 36px}
 .warm-service-page .warm-service-concerns .content-block{display:block}
 .warm-service-page .warm-service-concerns .content-block>ul>li{font-size:15px;padding-block:11px}
 .warm-service-page .warm-service-concerns li:before{top:23px}
 .warm-service-page .warm-service-concerns .text-link{display:inline-flex}
 .warm-service-page .warm-service-guidance{padding:38px 0 24px}
 .warm-service-page .warm-service-guide-grid,.warm-service-page .warm-service-cost-grid{grid-template-columns:1fr;gap:30px}
 .warm-service-page .warm-service-guide-grid>.content-block{padding-top:20px}
 .warm-service-page .content-block>h2{font-size:23px;margin-bottom:16px}
 .warm-service-page .content-block p,.warm-service-page .content-block li{font-size:15px;line-height:1.95}
 .warm-service-page .warm-service-story{padding:24px 0 34px}
 .warm-service-page .warm-service-story-heading h2{font-size:26px}
 .warm-service-page .warm-service-cost{padding:38px 0 42px}
 .warm-service-page .warm-flow .ds-steps p,.warm-service-page .warm-flow-grid>div>p:not(.eyebrow){font-size:14px}
 .warm-service-page .warm-service-consultation{padding:42px 0;scroll-margin-top:90px}
 .warm-service-page .warm-service-contact-intro h2{font-size:26px}
 .warm-service-page .warm-service-contact-intro p{font-size:14px}
 .warm-service-page .warm-service-contact-phone{font-size:18px}
 .warm-service-page .consultation-form{padding:24px 20px 27px;border-radius:9px}
 .warm-service-page .warm-service-followup{padding:40px 0 44px}
 .warm-service-page .warm-service-detailed-flow{margin-bottom:34px}
 .warm-service-page .warm-service-faq summary{font-size:15px}
 .warm-service-page .warm-service-faq details p{font-size:14px}
}
@media(max-width:359px){
 .warm-service-page .warm-service-hero h1{font-size:27px}
 .warm-service-page .consultation-form{padding-inline:16px}
}
