/* Hallmark · macrostructure: Conversational FAQ (approved continuation) · tone: playful-reassuring-local · anchor hue: teal / coral
 * pre-emit critique: P5 H5 E5 S5 R5 V4 · genre: playful · theme: studied-DNA (source: タイトルなし.png) · enrichment: user-guided generated stills
 * contrast: pass (40–41) · nav: preserved project chrome · footer: preserved · slop: pass (43–45) · mobile: pass (34, 49, 50–57)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30)
 */
.water-heater-page,
.water-heater-page main{background:var(--color-page);color:var(--color-ink)}
.water-heater-page{padding-bottom:0}
.water-heater-page .masthead{position:relative;z-index:var(--z-sticky)}
.water-heater-page .nav-links a[aria-current="page"]{color:var(--color-teal);text-decoration:underline;text-decoration-thickness:.15em;text-underline-offset:.45em}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.heater-breadcrumb-section{border-bottom:var(--rule);background:var(--color-page);color:var(--color-ink)}
.heater-breadcrumb{display:flex;align-items:center;min-height:3.5rem}
.heater-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;font-size:var(--text-sm);font-weight:700;color:var(--color-teal-dark)}
.heater-breadcrumb li{display:inline-flex;align-items:center;white-space:nowrap}
.heater-breadcrumb li+li::before{content:"／";margin-inline-end:var(--space-2);color:var(--color-muted);font-weight:400}
.heater-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}

.heater-hero{position:relative;min-height:46rem;isolation:isolate;overflow:hidden;border-bottom:var(--rule);background:var(--color-aqua-soft);color:var(--color-teal-dark)}
.heater-hero-media{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.heater-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,color-mix(in oklch,var(--color-page) 74%,transparent) 0%,color-mix(in oklch,var(--color-page) 20%,transparent) 45%,color-mix(in oklch,var(--color-teal-dark) 12%,transparent) 100%)}
.heater-hero-inner{position:relative;min-height:46rem;padding-block:var(--space-6) var(--space-10)}
.heater-hero-copy{width:min(47rem,76%);margin-inline:auto;text-align:center}
.heater-area-label{display:inline-flex;align-items:center;min-height:2.25rem;margin:0 0 var(--space-3);padding-inline:var(--space-4);border:1px solid var(--color-teal);border-radius:99rem;background:color-mix(in oklch,var(--color-page) 82%,transparent);color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:800;letter-spacing:.04em}
.heater-hero h1{font-family:var(--font-body);font-size:clamp(2.4rem,5.2vw,4.7rem);font-weight:900;line-height:1.18;letter-spacing:-.055em;text-shadow:0 2px 0 var(--color-page),0 0 22px var(--color-page)}
.heater-hero h1 span{white-space:nowrap}
.heater-hero-prefectures{display:block;margin:0 0 .15em;font-size:1rem;font-weight:800;letter-spacing:0;line-height:1.4;white-space:normal}
.heater-hero-lede{display:table;margin:var(--space-3) auto 0;background:linear-gradient(180deg,transparent 38%,var(--color-sun) 38%,var(--color-sun) 88%,transparent 88%);font-size:clamp(1.35rem,2.8vw,2.25rem);font-weight:900;line-height:1.8}
.heater-primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;margin-top:var(--space-6);padding:var(--space-3) var(--space-8);border:1px solid var(--color-coral-dark);border-radius:99rem;background:var(--color-coral);color:var(--color-accent-ink);box-shadow:0 5px 0 var(--color-coral-dark);font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform 100ms var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.heater-primary-cta:active{transform:translateY(3px);box-shadow:0 2px 0 var(--color-coral-dark)}
.heater-primary-cta:disabled,.heater-primary-cta[aria-disabled="true"]{cursor:not-allowed;opacity:.55}
.heater-primary-cta[data-state="loading"]{cursor:wait;opacity:.72}
.heater-primary-cta[data-state="error"]{border-color:var(--color-warning);background:var(--color-warning)}
.heater-primary-cta[data-state="success"]{border-color:var(--color-safe);background:var(--color-safe)}
.heater-area-card{position:absolute;right:0;bottom:var(--space-6);z-index:var(--z-raised);width:clamp(10.5rem,18vw,14rem);margin:0;padding:var(--space-3);border:1px solid var(--color-aqua);border-radius:var(--radius-xl);background:color-mix(in oklch,var(--color-page) 94%,transparent);color:var(--color-teal-dark);box-shadow:var(--shadow-soft)}
.heater-area-card img{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--radius-lg)}
.heater-area-card div{display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-2) 0;text-align:center}
.heater-area-card b{font-size:var(--text-lg)}
.heater-area-card span{font-size:.75rem;font-weight:700}
.heater-assurance-rail{position:absolute;left:0;right:clamp(11.5rem,20vw,15.5rem);bottom:var(--space-6);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.95fr);gap:var(--space-3)}
.heater-assurance-item{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:7.5rem;padding:var(--space-4);border:1px solid color-mix(in oklch,var(--color-teal) 30%,var(--color-rule));border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-page) 94%,transparent);color:var(--color-teal-dark);box-shadow:var(--shadow-soft)}
.heater-assurance-item svg{width:3rem;height:3rem;padding:var(--space-3);border-radius:50%;background:var(--color-aqua-soft);fill:none;stroke:var(--color-teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.heater-assurance-item strong,.heater-assurance-item small{display:block}
.heater-assurance-item strong{font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.35}
.heater-assurance-item strong::after{content:"";display:block;width:4.5rem;height:.35rem;margin-top:-.25rem;background:var(--color-sun);opacity:.8}
.heater-assurance-item small{margin-top:var(--space-2);font-size:.68rem;line-height:1.4;color:var(--color-muted)}

.heater-reviews{padding-block:var(--space-10);border-bottom:var(--rule);background:var(--color-aqua-soft);color:var(--color-ink)}
.heater-review-heading{display:flex;flex-direction:column;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);text-align:center}
.heater-review-heading>div{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%}
.heater-review-heading h2{margin:0;font-family:var(--font-body);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:900}
.google-wordmark{font-size:clamp(1.55rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-.08em}
.google-wordmark i{font-style:normal}
.google-wordmark i:nth-child(4n+1){color:var(--color-teal)}
.google-wordmark i:nth-child(4n+2){color:var(--color-coral)}
.google-wordmark i:nth-child(4n+3){color:var(--color-sun)}
.google-wordmark i:nth-child(4n){color:var(--color-safe)}
.heater-review-heading p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font-size:var(--text-sm)}
.heater-review-heading p span,.review-stars{color:var(--color-star);letter-spacing:.06em}
.heater-review-carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:var(--space-3);align-items:center;margin-top:var(--space-8)}
.heater-review-window{min-width:0;overflow:hidden}
.heater-review-track{display:flex;align-items:flex-start;gap:var(--space-4);transition:transform var(--dur-base) var(--ease-out);will-change:transform}
.heater-review-card{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:var(--space-3);align-content:start;flex:0 0 calc((100% - 2rem)/3);width:calc((100% - 2rem)/3);max-width:calc((100% - 2rem)/3);min-width:0;box-sizing:border-box;padding:var(--space-5);border:1px solid var(--color-aqua);border-radius:var(--radius-md);background:var(--color-page);color:var(--color-ink);box-shadow:0 5px 0 color-mix(in oklch,var(--color-teal) 20%,transparent)}
.heater-review-card .review-body,.heater-review-card .review-body-text{text-align:left}
.review-person{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--color-wash-deep);color:var(--color-teal-dark);font-weight:900}
.heater-review-card b{display:block;margin-top:var(--space-2);font-size:var(--text-sm)}
.heater-review-card p,.heater-review-card .review-body-text{margin:var(--space-2) 0 0;font-size:.78rem;line-height:1.65;color:var(--color-muted)}
.heater-review-card .review-body{min-width:0}
.heater-review-card .review-body-toggle{font-size:.78rem}
.heater-circle-control,.heater-slider-controls>button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--color-teal);border-radius:50%;background:var(--color-page);color:var(--color-teal-dark);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform 100ms var(--ease-out)}
.heater-circle-control:active,.heater-slider-controls>button:active{transform:translateY(1px)}
.heater-circle-control:disabled,.heater-slider-controls>button:disabled{cursor:not-allowed;opacity:.55}
.heater-review-dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-5)}
.heater-review-dots span{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-aqua)}
.heater-review-dots span:first-child{background:var(--color-teal)}
.heater-reviews-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4)}
.heater-review-toggle{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:.22em;cursor:pointer;white-space:nowrap}
.heater-reviews-meta .text-link{margin-left:auto}
.heater-review-heading .review-summary{text-align:center}
.heater-review-heading .review-rating-line{margin:0;justify-content:center;text-align:center}
.heater-review-heading .review-updated{margin-top:var(--space-1);text-align:center}
.heater-review-toggle:active{color:var(--color-ink)}
.heater-review-toggle:disabled{cursor:not-allowed;opacity:.55}
.heater-review-toggle[data-state="loading"]{cursor:wait;opacity:.72}
.heater-review-toggle[data-state="error"]{color:var(--color-warning)}
.heater-review-toggle[data-state="success"]{color:var(--color-safe)}

.heater-products{padding-block:var(--space-12);border-bottom:var(--rule);background:var(--color-wash);color:var(--color-ink)}
.heater-section-heading{max-width:48rem;margin:0 auto var(--space-8);text-align:center}
.heater-section-heading h2{margin-bottom:var(--space-3);font-family:var(--font-body);font-weight:900;line-height:1.4}
.heater-section-heading p{margin:0;color:var(--color-muted)}
.heater-section-heading--compact{margin-bottom:var(--space-6)}
.heater-section-heading--compact h2{margin:0}
.heater-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.heater-product{position:relative;display:grid;grid-template-rows:10.5rem auto;min-width:0;overflow:hidden;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-page);color:var(--color-ink);box-shadow:0 5px 0 var(--color-wash-deep)}
.heater-product-art{display:block;overflow:hidden;background-color:var(--color-page)}
.heater-product-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.heater-product>span:nth-child(2){display:grid;gap:var(--space-1);padding:var(--space-4) var(--space-4) var(--space-5)}
.heater-product b{font-size:var(--text-lg);line-height:1.4}
.heater-product small{font-size:.75rem;color:var(--color-muted)}

.heater-symptoms{padding-block:var(--space-10);border-bottom:var(--rule);background:var(--color-wash-deep);color:var(--color-ink)}
.heater-symptoms .heater-section-heading h2{font-size:clamp(1.15rem,3.6vw,1.85rem);line-height:1.35;letter-spacing:-.02em}
.heater-symptom-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-3)}
.heater-symptom-grid a,.heater-symptom-card{position:relative;display:grid;grid-template-rows:4.25rem auto;place-items:center;min-width:0;min-height:10.5rem;padding:var(--space-4) var(--space-3);border:2px solid var(--color-teal);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-teal-dark);text-align:center;text-decoration:none}
.heater-symptom-grid svg{width:3.75rem;height:3.75rem;fill:none;stroke:var(--color-teal);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.heater-symptom-grid b{font-size:.9rem;line-height:1.5}

.heater-estimate{padding-block:var(--space-12);border-bottom:var(--rule);background:var(--color-aqua-soft);color:var(--color-ink)}
.heater-estimate-layout{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);gap:var(--space-10);align-items:center}
.heater-estimate-copy h2{margin-bottom:var(--space-4);font-family:var(--font-body);font-weight:900;color:var(--color-teal-dark)}
.heater-estimate-copy>p{max-width:58ch;color:var(--color-muted)}
.heater-estimate-note{padding-top:var(--space-4);border-top:1px solid var(--color-aqua);font-size:var(--text-sm);font-weight:700;color:var(--color-teal-dark)!important}
.heater-estimate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-6)}
.heater-estimate-actions .heater-primary-cta{margin-top:0}
.heater-estimate-guide{grid-column:1/-1;margin:var(--space-6) 0 0;padding-top:var(--space-5);border-top:1px solid var(--color-aqua)}
.heater-estimate-guide a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;min-height:44px;color:var(--color-teal-dark);font-weight:800;line-height:1.45;text-decoration:none}
.heater-estimate-guide a span:first-of-type{color:var(--color-muted);font-weight:700}
.heater-phone-link{display:grid;align-content:center;min-height:56px;color:var(--color-coral-dark);font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:900;line-height:1.25;text-decoration:none;white-space:nowrap}
.heater-phone-link small{font-size:.7rem;color:var(--color-muted)}
.heater-estimate-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}
.heater-estimate-steps li{position:relative;display:grid;grid-template-columns:4rem minmax(0,1fr);gap:var(--space-3);align-items:center;min-height:9.5rem;padding:var(--space-5);border:1px solid var(--color-aqua);border-radius:var(--radius-md);background:var(--color-page);color:var(--color-ink)}
.heater-estimate-steps li>span{position:absolute;top:var(--space-2);left:var(--space-2);display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--color-coral);color:var(--color-accent-ink);font-size:.8rem;font-weight:900}
.heater-estimate-steps svg{width:4rem;height:4rem;padding:var(--space-3);border-radius:50%;background:var(--color-wash-deep);fill:none;stroke:var(--color-teal);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.heater-estimate-steps h3{margin:0;font-size:var(--text-base)}
.heater-estimate-steps p{margin:var(--space-1) 0 0;font-size:.75rem;color:var(--color-muted)}

.heater-case-section{padding-block:var(--space-12);border-bottom:var(--rule);color:var(--color-ink)}
.heater-case-section--install{background:var(--color-wash)}
.heater-case-section--repair{background:var(--color-aqua-soft)}
.heater-case-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}
.heater-case-heading h2{margin-bottom:var(--space-2);font-family:var(--font-body);font-weight:900;color:var(--color-teal-dark)}
.heater-case-heading p{margin:0;color:var(--color-muted);font-size:var(--text-sm)}
.heater-case-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.heater-case-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-5);border:1px solid var(--color-teal);border-radius:99rem;background:var(--color-page);color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:800;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform 100ms var(--ease-out)}
.heater-case-tabs button[aria-selected="true"]{background:var(--color-teal);color:var(--color-accent-ink)}
.heater-case-tabs button[aria-selected="true"]::before{content:"✓";margin-inline-end:var(--space-2)}
.heater-case-tabs button:active{transform:translateY(1px)}
.heater-case-tabs button:disabled{cursor:not-allowed;opacity:.55}
.heater-case-tabs button[data-state="loading"]{cursor:wait;opacity:.72}
.heater-case-tabs button[data-state="error"]{border-color:var(--color-warning);color:var(--color-warning)}
.heater-case-tabs button[data-state="success"]{border-color:var(--color-safe);color:var(--color-safe)}
.heater-case-panel[hidden]{display:none}
.heater-case-panel:not([hidden]){animation:heater-tab-fade var(--dur-base) var(--ease-out)}
.heater-case-slider{min-width:0}
.heater-case-viewport{min-width:0;overflow:hidden;border:1px solid var(--color-aqua);border-radius:var(--radius-lg);background:var(--color-page);color:var(--color-ink);box-shadow:var(--shadow-soft)}
.heater-case-track{display:flex;will-change:transform;transition:transform var(--dur-dialog) var(--ease-out)}
.heater-case-slide{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);flex:0 0 100%;min-width:0;align-items:stretch}
.heater-case-image{position:relative;min-width:0;width:100%;aspect-ratio:4/3;margin:0;overflow:hidden;background-image:url("../assets/water-heater-cases.webp");background-repeat:no-repeat;background-size:200% 100%;background-position:center;background-color:var(--color-paper-2)}
.heater-case-image--installation{background-position:0 0}
.heater-case-image--installation-alt{background-position:8% 0}
.heater-case-image--repair{background-position:100% 0}
.heater-case-image--repair-alt{background-position:92% 0}
.heater-case-image.has-photo{background-image:none}
.heater-case-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.heater-case-image span{position:absolute;z-index:1;left:var(--space-4);bottom:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:99rem;background:color-mix(in oklch,var(--color-page) 90%,transparent);color:var(--color-teal-dark);font-size:.7rem;font-weight:700}
.heater-case-sheet{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:var(--space-8)}
.heater-case-label{align-self:flex-start;margin-bottom:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:99rem;background:var(--color-aqua-soft);color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:800}
.heater-case-sheet h3{margin-bottom:var(--space-5);font-size:clamp(1.4rem,2.5vw,2rem);color:var(--color-teal-dark)}
.heater-case-sheet dl{margin:0;border-top:1px solid var(--color-aqua)}
.heater-case-sheet dl>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-aqua)}
.heater-case-sheet dt{font-weight:800}
.heater-case-sheet dd{margin:0;color:var(--color-muted)}
.heater-case-link{margin:var(--space-5) 0 0}
.heater-case-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-teal-dark);font-weight:700;text-decoration-color:var(--color-teal)}
.heater-slider-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-5)}
.heater-slider-controls>div{display:flex;align-items:center;gap:var(--space-2)}
.heater-slider-controls>div button{width:.65rem;height:.65rem;padding:0;border:1px solid var(--color-teal);border-radius:50%;background:var(--color-page);cursor:pointer}
.heater-slider-controls>div button[aria-current="true"]{background:var(--color-teal)}
.heater-slider-controls>div button:active{background:var(--color-teal-dark)}
.heater-slider-controls>div button:disabled{cursor:not-allowed;opacity:.55}

.heater-process{padding-block:var(--space-10);border-bottom:var(--rule);background:var(--color-wash);color:var(--color-ink)}
.heater-process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-page);overflow:hidden}
.heater-process li{position:relative;min-width:0;min-height:11rem;padding:var(--space-6)}
.heater-process li+li{border-left:var(--rule)}
.heater-process li>span{display:grid;place-items:center;width:2rem;height:2rem;margin-bottom:var(--space-4);border-radius:50%;background:var(--color-sun);color:var(--color-teal-dark);font-weight:900}
.heater-process h3{font-size:var(--text-base)}
.heater-process p{margin:0;font-size:.78rem;color:var(--color-muted)}

.heater-area-strip{padding-block:var(--space-5);border-bottom:var(--rule);background:var(--color-aqua-soft);color:var(--color-ink)}
.heater-area-strip-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-6);align-items:center}
.heater-area-strip h2{margin:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:900;color:var(--color-teal-dark);white-space:nowrap}
.heater-area-strip ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;text-align:center;font-weight:800;color:var(--color-teal-dark)}
.heater-area-strip li+li{border-left:1px solid var(--color-aqua)}
.heater-area-strip a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-teal-dark);font-size:var(--text-sm);font-weight:800;white-space:nowrap}

.heater-faq{padding-block:var(--space-12);border-bottom:var(--rule);background:var(--color-page);color:var(--color-ink)}
.heater-faq .faq summary{position:relative;padding-inline:var(--space-4) var(--space-12)}
.heater-faq .faq summary::before{content:"Q.";margin-inline-end:var(--space-3);color:var(--color-teal);font-weight:900}
.heater-faq .faq summary::after{content:"＋";position:absolute;right:var(--space-4);color:var(--color-teal);font-size:var(--text-lg)}
.heater-faq .faq details[open] summary::after{content:"−"}
.heater-faq .faq p{margin:0;padding-inline:var(--space-12) var(--space-4);color:var(--color-muted)}
.heater-consult{background:var(--color-wash)}
.heater-consult .consult-panel{border-color:var(--color-coral);background:var(--color-page);color:var(--color-ink)}

.heater-sticky-cta{position:fixed;z-index:var(--z-sticky);left:50%;bottom:0;display:grid;grid-template-columns:auto minmax(18rem,1fr) auto;align-items:stretch;width:min(100%,68rem);min-height:4.75rem;border:1px solid var(--color-coral);border-bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-page);color:var(--color-ink);box-shadow:0 -8px 30px color-mix(in oklch,var(--color-teal-dark) 14%,transparent);transform:translateX(-50%)}
.heater-sticky-cta>p{align-self:center;margin:0;padding-inline:var(--space-5);font-size:var(--text-sm);font-weight:800;line-height:1.35}
.heater-sticky-cta>p small{color:var(--color-muted)}
.heater-sticky-cta>a{display:flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;white-space:nowrap}
.heater-sticky-cta>a:nth-of-type(1){gap:var(--space-2);padding-inline:var(--space-5);color:var(--color-coral-dark);font-size:clamp(1.25rem,2.5vw,1.8rem);font-weight:900}
.heater-sticky-cta>a:nth-of-type(1)>span{font-size:var(--text-sm)}
.heater-sticky-cta>a:nth-of-type(1)>small{font-size:.65rem;color:var(--color-muted)}
.heater-sticky-cta>a:nth-of-type(2){padding-inline:var(--space-8);background:var(--color-coral);color:var(--color-accent-ink);font-weight:800;transition:background-color var(--dur-fast) var(--ease-out),transform 100ms var(--ease-out)}
.heater-sticky-cta>a:nth-of-type(2):active{transform:translateY(1px)}

@media(hover:hover) and (pointer:fine){
  .heater-primary-cta:hover{background:var(--color-coral-dark);transform:translateY(-1px)}
  .heater-circle-control:hover,.heater-slider-controls>button:hover{background:var(--color-aqua-soft)}
  .heater-review-toggle:hover{color:var(--color-coral-dark)}

  .heater-case-tabs button:hover{background:var(--color-aqua-soft)}
  .heater-case-tabs button[aria-selected="true"]:hover{background:var(--color-teal-dark)}
  .heater-phone-link:hover,.heater-area-strip a:hover,.heater-estimate-guide a:hover{text-decoration:underline;text-underline-offset:.18em}
  .heater-sticky-cta>a:nth-of-type(2):hover{background:var(--color-coral-dark)}
}

@media(max-width:64rem){
  .heater-hero{min-height:52rem}
  .heater-hero-inner{min-height:52rem}
  .heater-assurance-rail{right:0;bottom:var(--space-5)}
  .heater-area-card{right:var(--space-4);bottom:13rem;width:10.5rem}
  .heater-assurance-item{grid-template-columns:2.6rem minmax(0,1fr);padding:var(--space-3)}
  .heater-assurance-item svg{width:2.6rem;height:2.6rem}
  .heater-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heater-symptom-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .heater-case-heading{display:grid}
}

@media(max-width:52rem){
  .heater-hero{min-height:56rem}
  .heater-symptoms .heater-section-heading h2{font-size:clamp(.95rem,4.2vw,1.25rem);line-height:1.3;letter-spacing:-.03em;white-space:nowrap}
  .heater-hero-inner{min-height:56rem}
  .heater-hero-copy{width:min(40rem,100%)}
  .heater-hero-media{object-position:center}
  .heater-area-card{bottom:15rem}
  .heater-assurance-rail{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.95fr)}
  .heater-assurance-item{display:block;text-align:center}
  .heater-assurance-item svg{margin-inline:auto}
  .heater-assurance-item small{display:none}
  .heater-review-card{flex-basis:calc((100% - 1rem)/2);width:calc((100% - 1rem)/2);max-width:calc((100% - 1rem)/2)}
  .heater-estimate-layout{grid-template-columns:minmax(0,1fr)}
  .heater-case-slide{grid-template-columns:minmax(0,1fr)}
  .heater-case-image{aspect-ratio:4/3;background-size:200% 100%}
  .heater-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .heater-process li:nth-child(3){border-left:0;border-top:var(--rule)}
  .heater-process li:nth-child(4){border-top:var(--rule)}
  .heater-area-strip-inner{grid-template-columns:minmax(0,1fr) auto}
  .heater-area-strip ul{grid-column:1/-1;grid-row:2}
  .heater-sticky-cta{grid-template-columns:minmax(0,1fr) auto;min-height:4.5rem;border-radius:0}
  .heater-sticky-cta>p{display:none}
  .heater-sticky-cta>a:nth-of-type(1){font-size:clamp(1.05rem,4vw,1.4rem)}
  .heater-sticky-cta>a:nth-of-type(1)>small{display:none}
}

@media(max-width:40rem){
  .heater-hero{min-height:51rem}
  .heater-hero-inner{min-height:51rem;padding-top:var(--space-6)}
  .heater-hero h1{font-size:clamp(1.65rem,6.8vw,2rem);letter-spacing:-.045em}
  .heater-area-label{margin-bottom:var(--space-2)}
  .heater-hero h1{font-size:clamp(2rem,10.5vw,3.1rem);letter-spacing:-.05em}
  .heater-hero-lede{font-size:clamp(1.2rem,6vw,1.65rem)}
  .heater-primary-cta{padding-inline:var(--space-5)}
  .heater-area-card{right:var(--space-2);bottom:13.5rem;width:9rem;padding:var(--space-2)}
  .heater-area-card div{display:none}
  .heater-assurance-rail{grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr) minmax(0,.95fr);gap:var(--space-2)}
  .heater-assurance-item{min-height:0;padding:var(--space-3) var(--space-2)}
  .heater-assurance-item strong{font-size:.82rem}
  .heater-assurance-item strong::after{width:3rem;margin-inline:auto}
  .heater-review-carousel{grid-template-columns:44px minmax(0,1fr) 44px;gap:var(--space-2)}
  .heater-circle-control{width:44px;height:44px}
  .heater-review-card{flex-basis:100%;width:100%;max-width:100%}
  .heater-product-grid{gap:var(--space-2)}
  .heater-product{grid-template-rows:8.5rem auto}
  .heater-product>span:nth-child(2){padding:var(--space-3) var(--space-4) var(--space-5) var(--space-3)}
  .heater-product b{font-size:.95rem}
  .heater-product small{font-size:.68rem}
  .heater-symptom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
  .heater-estimate-actions{align-items:stretch;flex-direction:column}
  .heater-estimate-actions .heater-primary-cta{width:100%}
  .heater-phone-link{align-self:center;text-align:center}
  .heater-estimate-steps{grid-template-columns:minmax(0,1fr)}
  .heater-estimate-steps li{min-height:8rem}
  .heater-case-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .heater-case-tabs button{padding-inline:var(--space-2);font-size:.75rem}
  .heater-case-image{aspect-ratio:4/3}
  .heater-case-sheet{padding:var(--space-5)}
  .heater-case-sheet dl>div{grid-template-columns:minmax(6rem,.7fr) minmax(0,1fr);gap:var(--space-2);font-size:var(--text-sm)}
  .heater-process ol{grid-template-columns:minmax(0,1fr)}
  .heater-process li+li,.heater-process li:nth-child(3),.heater-process li:nth-child(4){border-left:0;border-top:var(--rule)}
  .heater-area-strip-inner{grid-template-columns:minmax(0,1fr)}
  .heater-area-strip h2{white-space:normal}
  .heater-area-strip a{justify-self:start}
  .heater-area-strip ul{grid-column:auto;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);text-align:left}
  .heater-area-strip li{padding:var(--space-2);border:1px solid var(--color-aqua)!important;background:var(--color-page);color:var(--color-teal-dark)}
  .heater-sticky-cta>a:nth-of-type(1){display:grid;gap:0;padding-inline:var(--space-3);font-size:1.05rem;line-height:1.2}
  .heater-sticky-cta>a:nth-of-type(1)>span{font-size:.65rem}
  .heater-sticky-cta>a:nth-of-type(2){padding-inline:var(--space-4);font-size:.82rem}
}

@media(max-width:22rem){
  .heater-primary-cta{font-size:.82rem}
  .heater-product-grid{grid-template-columns:minmax(0,1fr)}
  .heater-sticky-cta>a:nth-of-type(1)>span{display:none}
}

@media(prefers-reduced-motion:reduce){
  .heater-case-panel:not([hidden]){animation:none}
  .heater-case-track,.heater-review-track{transition-duration:0ms}
}

@keyframes heater-tab-fade{from{opacity:0}to{opacity:1}}
