/* Heating-page additions; shared service pages retain their existing styles. */
.heating-page { --hp-text: #c6cfd5; }
.heating-page section[id] { scroll-margin-top: 105px; }
.heating-page p { text-wrap: pretty; }
.hp-hero { min-height: 720px; }
.hp-hero .service-hero-copy { padding-bottom: 75px; }
.hp-hero h1 { max-width: 830px; font-size: clamp(3rem, 6.4vw, 5.7rem); }
.hp-hero .service-hero-shade { background: linear-gradient(90deg,rgba(9,14,19,.96),rgba(9,14,19,.75) 48%,rgba(9,14,19,.24)),linear-gradient(0deg,#0f1419,transparent 45%); }
.hp-hero-note { color: #d5dce0; font-size: .88rem; margin-top: 24px; }
.hp-benefits { border-block: 1px solid var(--line); background: #121b21; }
.hp-benefits > div { display:flex; justify-content:space-between; gap:20px; padding-block:22px; flex-wrap:wrap; }
.hp-benefits span { color:#dbe5e9; font-weight:600; font-size:.9rem; }
.hp-benefits span::before { content:'✓'; color:var(--teal-light); margin-right:10px; }
.hp-section { padding-block:90px; }
.hp-alternate { background:#151d24; }
.hp-heading { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; margin-bottom:36px; }
.hp-heading h2 { margin-bottom:0; }
.hp-heading p { color:var(--hp-text); margin:0; }
.hp-package-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.hp-package { display:flex; flex-direction:column; padding:26px 22px; border:1px solid #35414b; background:#182129; text-decoration:none; transition:border-color .2s,transform .2s; }
.hp-package:hover { border-color:var(--teal-light); transform:translateY(-3px); }
.hp-package-featured { border-color:var(--teal); background:linear-gradient(145deg,#17343a,#182129 80%); }
.hp-label { color:var(--teal-light); font-size:.74rem; text-transform:uppercase; letter-spacing:.09em; font-weight:700; margin-bottom:16px; }
.hp-package h3 { font-size:1.28rem; line-height:1.2; min-height:3rem; margin-bottom:20px; }
.hp-package strong { font-size:2.5rem; line-height:1.2; letter-spacing:-.04em; }
.hp-package strong small { display:block; font-size:.83rem; font-weight:400; letter-spacing:0; margin-top:7px; color:var(--hp-text); }
.hp-package strong.hp-quote { font-size:1.5rem; min-height:4.1rem; letter-spacing:-.02em; }
.hp-package p { color:var(--hp-text); font-size:.9rem; }
.hp-link { color:var(--teal-light); font-size:.87rem; font-weight:700; margin-top:auto; padding-top:15px; }
.hp-conditions { font-size:.85rem; color:var(--hp-text); margin:25px 0 0; padding-left:18px; border-left:3px solid var(--teal); }
.hp-conditions strong { color:#e1e8ec; }
.hp-detail-header { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.hp-detail-header h2 { font-size:clamp(2.3rem,4.5vw,4.1rem); }
.hp-intro { font-size:1.17rem; color:#e1e7ec; }
.hp-price { font-size:clamp(3rem,5vw,4.5rem); font-weight:750; letter-spacing:-.05em; white-space:nowrap; }
.hp-price span { display:block; font-size:.95rem; font-weight:400; color:var(--hp-text); letter-spacing:0; text-align:right; }
.hp-description { max-width:890px; color:var(--hp-text); margin:20px 0 35px; }
.hp-scenes { display:grid; grid-template-columns:1fr 1fr; column-gap:42px; }
.hp-scene { padding:24px 0; border-top:1px solid #35414b; }
.hp-scene h4 { margin:0 0 10px; color:#fff; font-size:1.08rem; line-height:1.35; }
.hp-scene h4::before { content:'•'; color:var(--teal-light); margin-right:10px; }
.hp-scene p { margin:0; color:var(--hp-text); font-size:.94rem; }
.hp-kit { border:1px solid #35414b; margin:20px 0; padding:0 22px; background:rgba(0,0,0,.1); }
.hp-kit summary { padding:19px 0; font-weight:650; color:#e5edf2; cursor:pointer; }
.hp-kit p,.hp-kit ul { color:var(--hp-text); font-size:.93rem; }
.hp-kit ul { padding-left:21px; }
.hp-kit li { margin-bottom:7px; }
.hp-small { color:var(--hp-text); font-size:.84rem; }
.hp-small a { text-underline-offset:3px; }
.hp-section > .button,.hp-section > .wrap > .button { margin-top:12px; }
.hp-bespoke-image { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.hp-bespoke-image img { width:100%; height:430px; object-fit:cover; }
.hp-bespoke-image p { color:var(--hp-text); }
.hp-bespoke-image .eyebrow { color:var(--teal-light); }
.hp-bespoke-image strong { color:var(--teal-light); }
.hp-subheading { margin-top:50px; font-size:1.5rem; }
.hp-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.hp-value-grid h2 { font-size:clamp(2.2rem,3.5vw,3.4rem); }
.hp-value-grid p:not(.eyebrow) { color:var(--hp-text); }
.hp-install { background:#19252c; border-left:3px solid var(--teal); padding:30px; }
.hp-install h3 { font-size:1.5rem; }
.hp-install p,.hp-install li { color:var(--hp-text); }
.hp-install strong { color:#f0f4f6; }
.hp-install ul { padding-left:20px; margin-bottom:0; }
.hp-install li { margin-bottom:12px; }
.hp-how { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:50px; }
.hp-how span { display:block; color:var(--teal-light); margin-bottom:18px; font-weight:750; }
.hp-how p { color:var(--hp-text); font-size:.95rem; }
.hp-final { padding:80px 0; background:radial-gradient(ellipse at right bottom,#16414a,#132029 60%); text-align:center; }
.hp-final h2 { font-size:clamp(2.5rem,5vw,4.5rem); }
.hp-final p:not(.eyebrow) { color:var(--hp-text); }
.hp-final .button { margin:12px 0; }
@media(max-width:1100px) { .hp-package-grid { grid-template-columns:repeat(2,1fr); } .hp-package h3 { min-height:0; } }
@media(max-width:700px) { .hp-section { padding-block:58px; } .hp-heading,.hp-value-grid,.hp-bespoke-image { grid-template-columns:1fr; gap:25px; } .hp-detail-header { align-items:flex-start; flex-direction:column; gap:10px; } .hp-price { font-size:3rem; display:flex; gap:12px; align-items:baseline; } .hp-price span { text-align:left; } .hp-scenes { grid-template-columns:1fr; } .hp-how { grid-template-columns:1fr; gap:22px; } .hp-bespoke-image img { height:280px; } .hp-hero { min-height:660px; } .hp-benefits > div { display:grid; grid-template-columns:1fr 1fr; gap:14px; } .hp-install { padding:24px 20px; } }
@media(max-width:420px) { .hp-package-grid { grid-template-columns:1fr; } .hp-benefits span { font-size:.8rem; } .hp-hero h1 { font-size:2.8rem; } }
@media(prefers-reduced-motion:reduce) { .hp-package { transition:none; } }

.heating-page .hp-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heating-page .hp-package h3{min-height:0;font-size:1.6rem}.heating-page .hp-package strong{font-size:2.7rem}.heating-page .hp-package p{margin-bottom:0}.hp-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.hp-content-grid ul,.hp-subscription ul{padding-left:20px;color:#c6cfd5}.hp-content-grid li,.hp-subscription li{margin:9px 0}.hp-subscription{margin:25px 0;padding:24px;background:#192d34;border-left:3px solid #00b5c8}.hp-subscription h3{font-size:1.15rem}.hp-subscription p{color:#d4e1e8}.hp-subscription h4{margin-bottom:10px}.hp-day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0}.hp-day-grid>div{border-top:1px solid #35414b;padding-top:22px}.hp-day-grid span{color:#42d8e6;font-size:.85rem}.hp-day-grid h3{margin-top:12px}.hp-day-grid p{color:#c6cfd5}.hp-kit summary{min-height:54px}.hp-kit p{padding-bottom:12px}.hp-price{font-size:clamp(2.5rem,5vw,4.3rem)}@media(max-width:650px){.heating-page .hp-package-grid,.hp-content-grid,.hp-day-grid{grid-template-columns:1fr}.hp-price{display:block}.hp-price span{text-align:left}.hp-content-grid{gap:20px}}
