/* RJ Sam's source theme: theme/tokens.css, typography.css,
   Button.module.css, ContactForm.module.css and CardGrid.module.css.
   All brand values resolve to the website's copied design tokens. */
@font-face{font-family:Geist;src:url('./assets/Geist-Latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Hornbill;src:url('./assets/Hornbill-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('./assets/Fraunces-Latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--font-body:Geist;--font-heading:Hornbill;--font-display:Hornbill}
html{font-size:var(--size-font);-webkit-text-size-adjust:100%}
[data-theme="rj-sams"]{background:var(--color-cream);color:var(--color-ink);--ink:var(--color-navy);--blue:var(--color-blue);--muted:var(--color-ink);--line:var(--border-subtle);font-family:var(--font-stack-body);font-synthesis:none}
body{font-size:var(--text-body-size);line-height:var(--text-body-line);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--color-orange-tint);color:var(--color-navy)}
main{max-width:calc(var(--rail-standard) + 2 * var(--gutter));padding:24px var(--gutter) 40px}
header{min-height:var(--header-height);padding:0 0 24px;border-color:var(--border-subtle)}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:44px}
.brand-wordmark{display:block;width:128px;aspect-ratio:var(--wordmark-aspect);background:#022148;mask:url('./assets/rj-sams-wordmark.svg') center/contain no-repeat;-webkit-mask:url('./assets/rj-sams-wordmark.svg') center/contain no-repeat}
.brand small{font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:600;color:var(--color-navy)}
.mode{background:var(--color-cream-light);border-color:var(--border-subtle);border-radius:var(--radius-card);padding:5px;gap:4px}
button{font-family:var(--font-stack-body);font-size:max(.9375rem,14px);font-weight:500;line-height:1.1;letter-spacing:.01em;min-height:var(--button-height);padding:var(--button-pad);border:1px solid var(--border-input);border-radius:var(--radius-button);background:var(--color-cream-light);color:var(--color-navy);transition:background-color 140ms ease,color 140ms ease,transform 140ms ease}
button:hover{background:var(--color-cream)}button:active{transform:translateY(1px)}
.mode [aria-pressed="true"],button.primary{background:var(--color-orange);color:var(--color-navy);border-color:transparent}
.mode [aria-pressed="true"]:hover,button.primary:hover{background:var(--color-orange-hover)}
.mode button{padding:12px 18px;border-radius:var(--radius-button)}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-color:var(--color-blue)}
.intro{padding:clamp(32px,4vw,56px) 0 24px;max-width:var(--rail-focus)}
.eyebrow{font-size:var(--text-eyebrow-size);line-height:var(--text-eyebrow-line);font-weight:600;letter-spacing:.14em;color:var(--color-navy)}
h1,h2{font-family:var(--font-stack-heading);font-weight:700;font-variation-settings:normal;color:var(--color-navy);letter-spacing:-.005em}
h1,.intro h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line);margin:12px 0 18px;max-width:22em}
h2{font-size:var(--text-card-size);line-height:1.2}
h3{font-family:var(--font-stack-body);font-size:1.125rem;font-weight:500;color:var(--color-navy)}
.intro>p:last-child{font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);color:var(--color-ink);max-width:var(--rail-reading)}
.demo-note{border-left-color:var(--color-orange);font-size:max(.8125rem,12px);color:var(--color-ink);padding:12px 18px;margin:0 0 28px}
.property,.controls,.results{background:var(--color-white);border:0;border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:clamp(24px,3vw,40px)}
.property{margin-bottom:28px}.workbench{gap:24px;align-items:start}
.property>label{font-size:1rem;font-weight:500;color:var(--color-navy);margin-bottom:12px}
.address-row{align-items:center}.address-row button{min-height:48px}
input[type=number],input[type=text],input[type=email]{min-height:var(--input-height);padding:12px 16px;border-color:var(--border-input);border-radius:var(--radius-input);background:var(--color-cream-light);color:var(--color-ink);font-size:max(1rem,16px)}
input[type=number]:hover,input[type=text]:hover,input[type=email]:hover{border-color:var(--color-navy)}
input[type=range]{accent-color:var(--color-orange);min-height:32px}
.helper{font-size:max(.8125rem,12px);color:var(--color-ink)}
.section-title{margin-bottom:24px;gap:16px}.section-title span{font-size:max(.75rem,11px);color:var(--color-ink)}
.comfort-field{background:var(--color-cream-light);border-radius:var(--radius-card);padding:24px}
.comfort-field label{font-size:max(.875rem,14px);font-weight:500;color:var(--color-navy)}
.comfort-field p{font-size:max(.75rem,12px);color:var(--color-ink);margin:8px 0 18px}
.number-unit input{font-family:var(--font-stack-body);font-size:2.5rem;font-weight:500;line-height:1.2;background:transparent;border:0;border-radius:0;min-height:48px;width:100px;padding:0;color:var(--color-navy);font-variant-numeric:tabular-nums}
.number-unit span{font-size:max(.8125rem,12px);color:var(--color-ink)}
.comfort-field:last-child{grid-template-columns:1fr 160px}
details{border-color:var(--border-subtle);margin-top:24px;padding-top:20px}
summary{font-size:max(.9375rem,14px);font-weight:500;color:var(--color-navy)}
summary span{font-size:max(.75rem,12px);color:var(--color-ink)}
.form-grid{gap:18px}.form-field label{font-size:max(.875rem,13px);font-weight:500;color:var(--color-navy)}
.form-field input{font-size:max(1rem,16px)}
.owner-only{border-color:var(--border-subtle)}.scenario-actions button{font-size:max(.8125rem,12px);padding:12px 16px}
.season-label{font-size:max(.875rem,13px);color:var(--color-navy)}
.load-grid{border-color:var(--border-subtle)}.load-grid p{font-size:max(.875rem,13px);color:var(--color-ink)}
.load-grid strong{font-family:var(--font-stack-body);font-size:2.5rem;font-weight:500;color:var(--color-navy);letter-spacing:-.01em}
.load-grid span,.load-grid small{font-size:max(.75rem,11px);color:var(--color-ink)}
.capacity{font-size:max(.8125rem,12px);color:var(--color-ink)}
.legend{font-size:max(.75rem,11px);color:var(--color-ink)}.before{background:var(--color-navy-tint)}.after{background:var(--color-blue)}
.bar-heading{font-size:max(.8125rem,12px);color:var(--color-navy);flex-wrap:wrap;gap:6px}.bar-track{background:var(--color-cream);border-radius:4px}
.lifetime{background:var(--color-navy);color:var(--color-cream);border-radius:var(--radius-card);padding:28px;margin-top:28px}
.lifetime>p:first-child{font-size:max(.875rem,13px);font-weight:500}.lifetime>strong{font-family:var(--font-stack-display);font-size:3.375rem;line-height:1.1;font-weight:500;font-variation-settings:"opsz" 44,"SOFT" 30,"WONK" 0;letter-spacing:-.005em}
.lifetime>p{font-size:max(.8125rem,12px)}.lifetime .helper{font-size:max(.75rem,11px);color:var(--color-cream)}
.lifetime svg text{fill:var(--color-cream);font-family:var(--font-stack-body)}.lifetime svg line{stroke:var(--cream-sketch)}.lifetime svg polyline{stroke:var(--color-cream)}.lifetime svg circle{fill:var(--color-cream)}
.breakdown-row{border-color:var(--border-subtle);font-size:max(.8125rem,12px)}
#error{background:var(--color-warning);color:var(--color-navy);border-left:4px solid var(--color-orange);border-radius:var(--radius-card);padding:16px 20px}
details p{font-size:max(.8125rem,12px);color:var(--color-ink)}
a{color:var(--color-blue)}footer{font-size:max(.75rem,12px);color:var(--color-ink);padding-top:12px}
.live-dot::before{background:var(--color-blue)}
@media(max-width:900px){main{padding:24px var(--gutter) 32px}.intro h1{font-size:var(--text-h1-size)}.workbench{grid-template-columns:1fr}}
@media(max-width:700px){button{min-height:48px}.property,.controls,.results{padding:24px}.address-row{flex-direction:column;align-items:stretch}}
@media(max-width:520px){main{padding:20px var(--gutter) 32px}.intro h1{font-size:var(--text-h1-size)}.mode button{padding:12px 16px}.property,.controls,.results{padding:22px}.comfort-field{padding:20px}.comfort-field:last-child{display:block}.load-grid{gap:14px}.load-grid strong{font-size:2.25rem}.lifetime{padding:24px}.lifetime>strong{font-size:3rem}.section-title h2{font-size:var(--text-card-size)}}
@media(prefers-reduced-motion:reduce){button,.bar{transition:none}}
@media print{body,[data-theme="rj-sams"]{background:white}.results{box-shadow:none}.lifetime{background:white;color:var(--color-navy)}.lifetime .helper{color:var(--color-navy)}.lifetime svg text{fill:var(--color-navy)}.lifetime svg polyline{stroke:var(--color-navy)}.lifetime svg circle{fill:var(--color-navy)}}

.address-row #email{flex:0 1 260px;width:260px;min-width:0}
@media(max-width:700px){.address-row #email{flex:auto;width:100%}}

/* Current reference: New RJ Sam's Site / rjsams-market-preview/app/site.css. */
[data-theme="rj-sams"]{--color-navy:#0f204d;--color-orange:#f26a21;--color-orange-hover:#fc813f;--color-cream:#f7f2e8;--color-cream-light:#fcfaf5;--color-ink:#17213a;--border-subtle:#d8d9d3;--border-input:#9aabc1;background:#fcfaf5}
body{font-size:17px;line-height:1.6}
main{max-width:1392px;padding-inline:56px}
.brand-wordmark{width:215px;height:43px;background:#0f204d;aspect-ratio:auto}
button{font-size:16px;font-weight:700;min-height:54px;padding:13px 23px;border-radius:12px;letter-spacing:0}
.address-row button{min-height:54px}
h1,h2{letter-spacing:-.025em}
h1,.intro h1{font-size:clamp(48px,5.4vw,82px);line-height:1.05}
h2{font-size:32px;line-height:1.12}
h3{font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.02em}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em}
.intro{max-width:960px}.intro>p:last-child{font-size:21px;line-height:1.55}
.property,.controls,.results{border:1px solid #d8d9d3;border-radius:22px;box-shadow:none;padding:35px}
.property>label,.comfort-field label,.form-field label{font-weight:700}
input[type=number],input[type=text],input[type=email]{min-height:54px;border-radius:12px;background:#fcfaf5;padding:13px 14px;font-size:16px}
.comfort-field{background:#f7f2e8;border-radius:16px}
.number-unit input{font-size:40px;background:transparent;padding:0;border-radius:0}
.lifetime>strong{font-family:Hornbill,Georgia,serif;font-weight:700;font-variation-settings:normal}
@media(max-width:900px){main{padding-inline:36px}}
@media(max-width:700px){main{padding-inline:20px}.intro h1{font-size:47px}.intro>p:last-child{font-size:18px}.property,.controls,.results{padding:24px}.section-title h2{font-size:28px}}
@media(max-width:359px){main{padding-inline:16px}.intro h1{font-size:42px}.property,.controls,.results{padding:20px}.brand-wordmark{width:180px;height:36px}.mode button{font-size:14px;padding-inline:16px}}

.load-charts{display:grid;gap:28px;margin-top:32px}.chart-card{padding-top:28px;border-top:1px solid var(--border-subtle);min-width:0}.chart-card h3{font-family:Hornbill,Georgia,serif;font-size:28px;margin-bottom:12px}.chart-card svg{display:block;width:100%;height:auto}.chart-grid line{stroke:#d8d9d3;stroke-width:1}.chart-grid text{font-family:Geist,Arial,sans-serif;font-size:11px;fill:#526079}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:20px 0 8px}.chart-key{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;padding:6px 0;min-height:44px;font-size:12px;font-weight:500}.chart-key:hover{background:transparent;text-decoration:underline}.chart-key[aria-pressed=false]{opacity:.5;text-decoration:line-through}.chart-key i,.pie-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;flex-shrink:0}.chart-data{margin-top:8px;padding-top:12px;border-top:0}.chart-data summary{font-size:12px}.chart-table-scroll{overflow:auto}.chart-data table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.chart-data th,.chart-data td{padding:8px;border-bottom:1px solid var(--border-subtle);text-align:right;white-space:nowrap}.chart-data th:first-child{text-align:left}.chart-data caption{text-align:left;color:#526079;margin-bottom:10px}.chart-card svg.pie{max-width:320px;margin:12px auto 20px}.pie-legend{list-style:none;padding:0;display:grid;gap:9px;margin:0}.pie-legend li{display:flex;justify-content:space-between;gap:16px;font-size:13px}.pie-legend li>span:first-child{display:flex;gap:8px;align-items:center}.pie-legend li>span:last-child{font-variant-numeric:tabular-nums;color:#526079}

.area-details{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-subtle)}.area-details>label{display:block;font-size:16px;font-weight:700;color:var(--color-navy);margin-bottom:12px}.area-entry{display:flex;align-items:center;gap:12px}.area-entry input{width:180px;max-width:75%;font-variant-numeric:tabular-nums}.area-entry span{font-size:14px;color:#526079}.area-details .demo-note{margin:16px 0 0;padding:10px 14px;font-size:12px}

#result-content>.lifetime{margin-top:0;margin-bottom:28px}

.estimator-tools-link{display:flex;justify-content:flex-end;padding-top:18px;font-size:14px}.estimator-tools-link a{color:#0f204d;font-weight:600;text-underline-offset:4px}

.control-column{display:grid;gap:24px;min-width:0}.assumptions-card{background:white;border:1px solid #d8d9d3;border-radius:22px;padding:35px;min-width:0}.assumptions-card>details:first-of-type{border-top:0;padding-top:0;margin-top:0}.assumptions-card .weather-heading{font-size:18px;margin:26px 0 0}.assumptions-card .owner-only h2{font-size:26px}@media(max-width:700px){.assumptions-card{padding:24px}}@media(max-width:359px){.assumptions-card{padding:20px}}@media print{.control-column{display:none}}

.load-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;background:white;border:1px solid #d8d9d3;border-radius:22px;padding:35px;margin-top:24px;align-items:start}.load-overview>.chart-card{padding-top:0;border-top:0;min-width:0}.load-overview .chart-grid text{font-size:18px}.load-overview .chart-legend{gap:6px 12px}.load-overview .chart-key{font-size:12px}.load-overview .pie{max-width:300px}@media(max-width:900px){.load-overview{grid-template-columns:1fr;gap:28px}.load-overview>.chart-card+.chart-card{border-top:1px solid #d8d9d3;padding-top:28px}.load-overview .chart-grid text{font-size:13px}}@media(max-width:700px){.load-overview{padding:24px}.load-overview .chart-grid text{font-size:18px}}@media(max-width:359px){.load-overview{padding:20px}}@media print{.load-overview{padding:20px;gap:20px}.load-overview>.chart-card{break-inside:avoid}}

.load-explanation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;background:white;border:1px solid #d8d9d3;border-radius:22px;padding:35px;margin-top:24px}.load-explanation>*{min-width:0}.load-explanation .compare{padding-top:0}.load-explanation .compare h3,.load-explanation>details>summary{font-family:Hornbill,Georgia,serif;font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.2;color:#0f204d}.load-explanation>details{margin:0;padding:0;border-top:0}.load-explanation>details>summary{padding:0 0 16px}.load-explanation .breakdown-row{grid-template-columns:minmax(0,1fr) 64px 64px;font-size:12px}.load-explanation .legend{flex-wrap:wrap;gap:10px}.load-explanation .bar-heading{display:block}.load-explanation .bar-heading span{display:block}.load-explanation .bar-heading span+span{margin-top:4px}@media(max-width:900px){.load-explanation{grid-template-columns:1fr;gap:28px}.load-explanation>details{border-top:1px solid #d8d9d3;padding-top:24px}}@media(max-width:700px){.load-explanation{padding:24px}}@media(max-width:359px){.load-explanation{padding:20px}}@media print{.load-explanation{padding:20px;gap:20px}.load-explanation>details{display:block}.load-explanation>*{break-inside:avoid}}

.load-explanation{grid-template-columns:1fr}.load-explanation>details{border-top:1px solid #d8d9d3;padding-top:24px}.load-explanation .bar-heading{display:flex;justify-content:space-between}.load-explanation .bar-heading span+span{margin-top:0}.load-explanation .breakdown-row{grid-template-columns:minmax(0,1fr) 85px 85px}@media(max-width:520px){.load-explanation .bar-heading{display:block}.load-explanation .bar-heading span+span{margin-top:4px}.load-explanation .breakdown-row{grid-template-columns:minmax(0,1fr) 64px 64px}}

.bottom-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;align-items:start}.bottom-card-row>*{min-width:0;margin-top:0}.bottom-card-row .load-explanation{margin-top:0}@media(max-width:900px){.bottom-card-row{grid-template-columns:1fr}}@media print{.bottom-card-row{display:block}.bottom-card-row>.assumptions-card{display:none}}

.area-load-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px;background:white;border:1px solid #d8d9d3;border-radius:22px;padding:35px;margin-top:24px;align-items:start;min-width:0}.area-load-card .area-details{margin:0;padding:0;border:0;min-width:0}.area-load-card .load-grid{display:contents}.area-load-card .load-grid>div{min-width:0}.area-load-card .load-grid p{font-size:16px;font-weight:700;color:#0f204d;margin-bottom:20px}.area-load-card .load-grid strong{font-size:40px}.area-load-card>.capacity{grid-column:1/-1;border-top:1px solid #d8d9d3;padding-top:18px;margin:0}.area-load-card .area-entry input{max-width:75%}@media(max-width:900px){.area-load-card{grid-template-columns:1fr}.area-load-card .load-grid>div{border-top:1px solid #d8d9d3;padding-top:24px}}@media(max-width:700px){.area-load-card{padding:24px}}@media(max-width:359px){.area-load-card{padding:20px}}@media print{.area-load-card{padding:20px;break-inside:avoid}}

.area-load-card .area-entry.number-unit{gap:8px}.area-load-card .area-entry.number-unit input{font-family:var(--font-stack-body);font-size:40px;font-weight:500;line-height:1.2;letter-spacing:-1px;color:#0f204d;background:transparent;border:0;border-radius:0;padding:0;width:150px;min-height:48px;font-variant-numeric:tabular-nums}.area-load-card .area-entry.number-unit span{font-size:13px;color:#17213a}.area-load-card .area-details input[type=range]{width:100%;min-height:32px;margin:10px 0;accent-color:#f26a21}

.results #capacity{border-top:1px solid #d8d9d3;padding-top:20px;margin:28px 0 0}

@media(min-width:901px){.workbench{align-items:stretch}.workbench>.control-column{align-items:stretch}.workbench .controls,.workbench>.results{height:100%}}

.number-unit span,.area-load-card .area-entry.number-unit span,.area-load-card .load-grid>div>span{font-family:var(--font-stack-body);font-size:40px;font-weight:500;line-height:1.2;letter-spacing:-1px;color:#0f204d}
.number-unit{align-items:baseline;gap:8px}
.comfort-field .number-unit input{width:72px;min-width:0;flex:1}
.number-unit span{flex-shrink:0}
.area-load-card .load-grid>div>span{display:block;margin-top:8px;overflow-wrap:normal}

.lifetime #savings-label{font-size:22px;line-height:1.35;margin:0 0 16px}
.lifetime #lifetime-total{display:block;font-size:clamp(48px,6vw,76px);line-height:1.05;overflow-wrap:anywhere}
.lifetime #annual-savings{font-size:22px;line-height:1.4;margin:18px 0}
.lifetime svg path{stroke:var(--color-cream)}
@media print{.lifetime svg path{stroke:var(--color-navy)}}

.area-load-card .load-grid #capacity{font-size:13px;font-weight:400;line-height:1.6;color:#17213a;border-top:1px solid #d8d9d3;margin:20px 0 0;padding-top:16px}
.area-load-card .load-period{margin-top:8px}

.comfort-field .number-unit input{text-align:right}
.area-load-card .load-value{display:flex;align-items:baseline;gap:10px;min-height:48px}
.area-load-card .load-value strong,.area-load-card .load-value span{font-family:var(--font-stack-body);font-size:40px;font-weight:500;line-height:1.2;letter-spacing:-1px;color:#0f204d;margin:0}
.area-load-card .area-details>label,.area-load-card .load-grid>div>p:first-child{display:block;line-height:1.5;margin:0 0 20px;min-height:24px}
.area-load-card .area-entry{margin:0;min-height:48px}
@media(min-width:901px){.area-load-card{grid-template-columns:minmax(0,1.12fr) repeat(2,minmax(0,1fr))}}

.pie-wedge{cursor:pointer;outline:none}.pie-wedge:hover,.pie-wedge:focus{filter:brightness(1.12);stroke:#0f204d;stroke-width:3}
.pie-label{min-height:54px;font-size:14px;line-height:1.5;text-align:center;color:#0f204d;padding:0 8px}

.tool-switcher{position:relative;border:0;margin:0;padding:0;z-index:20;max-width:100%}
.tool-switcher>summary{list-style:none;display:flex;align-items:center;gap:16px;border:1px solid #d8d9d3;border-radius:22px;background:#fcfaf5;color:#0f204d;padding:20px 24px;font-size:16px;font-weight:700;cursor:pointer}
.tool-switcher>summary::-webkit-details-marker{display:none}
.tool-switcher>summary:hover{background:#f7f2e8}
#tool-menu{position:absolute;right:0;top:calc(100% + 12px);width:360px;max-width:calc(100vw - 40px);max-height:70vh;overflow:auto;padding:20px;background:#fcfaf5;border:1px solid #d8d9d3;border-radius:22px;box-shadow:0 12px 32px #0f204d18}
#tool-menu a{display:block;padding:10px 8px;border-radius:8px;text-decoration:none;font-size:14px;line-height:1.4}
#tool-menu a:hover,#tool-menu a:focus-visible{background:#f7f2e8}
#tool-menu .all-tools{font-weight:700;border-bottom:1px solid #d8d9d3;padding-bottom:16px}
.tool-menu-group p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:20px 8px 6px}
.intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr);gap:24px;align-items:center;max-width:none}
.intro-copy>p:last-child{font-size:21px;line-height:1.55;max-width:var(--rail-reading)}
.intro-art{width:100%;max-width:none;height:auto;display:block;justify-self:end}
@media(max-width:700px){.intro{grid-template-columns:1fr}.intro-art{width:100%;max-width:460px;margin:auto;justify-self:center}.intro-copy>p:last-child{font-size:18px}#tool-menu{right:auto;left:0}}
@media print{.tool-switcher{display:none}}

/* White service navbar, using the existing RJ Sam’s brand styling. */
:is(#estimator,#tools-main)>header{background:#fff;border:0;padding:20px var(--gutter);margin:-24px calc(-1 * var(--gutter)) 0;position:relative;min-height:104px;gap:24px}
:is(#estimator,#tools-main)>header::before{content:"";position:absolute;inset:0 calc((100% - 100vw) / 2);background:#fff;z-index:-1}
.service-nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.service-nav a{color:var(--color-navy);font-size:16px;font-weight:600;text-decoration:none;padding:12px 0}
.service-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.header-actions{display:flex;align-items:center;gap:16px;min-width:0}
.nav-call{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:16px 22px;border-radius:12px;background:var(--color-orange);color:var(--color-navy);font-weight:700;text-decoration:none;white-space:nowrap}
.nav-call:hover{background:#e95f16}
.tool-switcher>summary{background:#fff;padding:16px 20px;border-radius:16px;white-space:nowrap}
@media(max-width:1000px){:is(#estimator,#tools-main)>header{flex-wrap:wrap}.header-actions{margin-left:auto}.service-nav{gap:20px}.brand-wordmark{width:180px}}
@media(max-width:700px){:is(#estimator,#tools-main)>header{gap:16px;flex-direction:row;align-items:center}.service-nav{margin-left:auto}.header-actions{width:100%;margin-left:0;justify-content:space-between}.tool-switcher>summary{font-size:14px;padding:14px}.nav-call{padding:14px 18px;font-size:14px}.service-nav a{font-size:14px}}
@media(max-width:359px){:is(#estimator,#tools-main)>header{gap:12px}.brand-wordmark{width:140px}.service-nav{gap:14px}.header-actions{gap:8px}.tool-switcher>summary{gap:8px;padding:12px 10px;font-size:12px}.nav-call{padding:12px;font-size:12px}}
:is(#estimator,#tools-main)>header{padding:20px 0;margin:-24px 0 0;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);overflow:visible}
:is(#estimator,#tools-main)>header:has(.tool-switcher[open]){clip-path:none;box-shadow:none}
:is(#estimator,#tools-main)>header::before{display:none}
@media(max-width:1000px){.header-actions{width:100%;justify-content:flex-end}.service-nav{margin-left:auto}}
@media(max-width:700px){.header-actions{justify-content:space-between}}
:is(#estimator,#tools-main)>header,:is(#estimator,#tools-main)>header:has(.tool-switcher[open]){box-shadow:none;clip-path:none;isolation:isolate}
:is(#estimator,#tools-main)>header::before{display:block;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:#fff;z-index:-1}

/* Guided address entry and a separate two-column notes row. */
:is(#estimator,#tools-main)>header::before{border-bottom:1px solid #d8d9d3}
.intro{position:relative;padding-bottom:82px}
.start-here{color:var(--color-navy);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.start-arrow{position:absolute;left:8%;bottom:-4px;width:180px;height:100px;color:var(--color-orange);pointer-events:none}
.address-explanation{font-size:14px;line-height:1.6;max-width:760px;margin:0 0 20px;color:var(--color-ink)}
#home-address{scroll-margin-top:24px}
.area-notes{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border-top:1px solid #d8d9d3;padding-top:20px;align-items:start}
.area-notes #data-status{margin:0;font-size:13px;line-height:1.6;padding:10px 15px}
.area-notes #capacity{margin:0;padding:10px 0;border:0;font-size:13px;line-height:1.6;font-weight:400;color:var(--color-ink)}
@media(max-width:700px){.area-notes{grid-template-columns:1fr;gap:16px}.intro{padding-bottom:98px}.start-arrow{left:20px}}

/* Twelve visible month cards span the full load overview. */
.load-overview>.chart-card:nth-child(2)>h3,.load-overview>.chart-card:nth-child(3)>h3{text-align:center}
.monthly-calendar{grid-column:1/-1;border-top:1px solid #d8d9d3;padding-top:28px;min-width:0}
.monthly-calendar>h3{font-family:Hornbill,Georgia,serif;font-size:28px;margin:0 0 8px}
.monthly-calendar>.helper{margin:0 0 20px;font-size:13px}
.monthly-calendar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.calendar-month{border:1px solid #d8d9d3;border-radius:12px;background:#fcfaf5;padding:18px 14px;min-width:0}
.calendar-month h4{font-size:17px;color:#0f204d;margin:0 0 16px;font-weight:700}
.calendar-month dl{margin:0;display:grid;gap:10px}
.calendar-month dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5}
.calendar-month dt{display:flex;align-items:center;gap:6px}
.calendar-month dt i{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.calendar-month dd{margin:0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#0f204d}
@media(max-width:1000px){.monthly-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.monthly-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-month dl>div{flex-wrap:wrap;gap:0 8px}.calendar-month dt{width:100%}.calendar-month dd{margin-left:14px}.calendar-month{padding:16px 12px}}
@media(max-width:359px){.monthly-calendar-grid{grid-template-columns:1fr}.calendar-month dl>div{flex-wrap:nowrap}.calendar-month dt{width:auto}.calendar-month dd{margin-left:0}}
@media print{.calendar-month{break-inside:avoid}.monthly-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.button-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;stroke-width:2.25}
.tool-chevron{display:block;width:22px;height:22px;flex-shrink:0}
.tool-switcher[open] .tool-chevron{transform:rotate(180deg)}
#lookup{display:inline-flex;align-items:center;justify-content:center;gap:12px}
/* Two tinted regions retain the shared card and separate notes row. */
.area-load-card{position:relative;isolation:isolate;overflow:hidden;background:#eef3f8}
.area-load-card::before{content:"";position:absolute;inset:0 auto 0 0;width:calc((100% - 70px - 56px) * 1.12 / 3.12 + 49px);background:#f7f2e8;border-right:1px solid #d8d9d3;z-index:-1}
.area-notes{position:relative;background:white;margin:0 -35px -35px;padding:20px 35px 35px;gap:28px}
@media(max-width:900px){.area-load-card::before{display:none}.area-load-card .area-details{background:#f7f2e8;margin:-35px -35px 0;padding:35px;border-bottom:1px solid #d8d9d3}.area-load-card .load-grid>div:first-child{border-top:0;padding-top:0}}
@media(max-width:700px){.area-load-card .area-details{margin:-24px -24px 0;padding:24px}.area-notes{margin:0 -24px -24px;padding:20px 24px 24px}}
@media(max-width:359px){.area-load-card .area-details{margin:-20px -20px 0;padding:20px}.area-notes{margin:0 -20px -20px;padding:20px}}

/* Familiar calendar leaves: binding rings, colored month bar, operating values. */
.monthly-calendar-grid{gap:24px 18px;padding-top:8px}
.calendar-month{position:relative;padding:0;background:#fff;border:1px solid #d8d9d3;border-radius:12px;box-shadow:0 3px 0 #f0eee8}
.calendar-month::before,.calendar-month::after{content:"";position:absolute;top:-9px;width:8px;height:20px;border:2px solid #0f204d;border-radius:5px;background:#fcfaf5;z-index:1}
.calendar-month::before{left:24px}.calendar-month::after{right:24px}
.calendar-month h4{margin:0;padding:22px 12px 14px;border-radius:11px 11px 0 0;color:white;text-align:center;font-size:18px;line-height:1.4}
.calendar-month dl{padding:20px 16px 8px;gap:14px}
.calendar-month dl>div{font-size:13px;flex-wrap:nowrap}
.calendar-month dt{width:auto;gap:8px}
.calendar-month dd{font-size:22px;font-weight:600;margin:0;letter-spacing:-.4px}
.calendar-unit{margin:0;padding:4px 16px 16px;font-size:11px;color:#526079;text-align:right}
@media(max-width:600px){.calendar-month dl{padding:16px 12px 8px}.calendar-month dl>div{font-size:11px}.calendar-month dd{font-size:18px}.calendar-month h4{font-size:16px}.calendar-unit{padding-right:12px}}
.calendar-month::before,.calendar-month::after{display:none}

.start-arrow{width:108px;height:60px;bottom:-2px}
.intro{padding-bottom:62px}
@media(max-width:700px){.intro{padding-bottom:68px}}
/* Home size, cooling and heating each have their own color field. */
.area-load-card{background:linear-gradient(to right,#eef3f8 0 calc(35.897436% + 3.769px),#2777c7 calc(35.897436% + 3.769px) calc(67.948718% - 8.615px),#c43b3b calc(67.948718% - 8.615px) 100%)}
.area-load-card::before{display:none}
.area-load-card #area-load-results>div,.area-load-card #area-load-results>div *{color:#fff}
@media(max-width:900px){
 .area-load-card{background:#eef3f8}
 .area-load-card .area-details{background:#eef3f8}
 .area-load-card #area-load-results>div{margin:-24px -35px 0;padding:35px;border:0}
 .area-load-card #area-load-results>div:first-child{background:#2777c7;padding-top:35px}
 .area-load-card #area-load-results>div:last-child{background:#c43b3b}
}
@media(max-width:700px){.area-load-card #area-load-results>div{margin-inline:-24px;padding:24px}.area-load-card #area-load-results>div:first-child{padding-top:24px}}
@media(max-width:359px){.area-load-card #area-load-results>div{margin-inline:-20px;padding:20px}.area-load-card #area-load-results>div:first-child{padding-top:20px}}

.area-load-card{background:linear-gradient(to right,#eef3f8 0 calc(35.897436% + 3.769px),var(--color-cooling) calc(35.897436% + 3.769px) calc(67.948718% - 8.615px),var(--color-heating) calc(67.948718% - 8.615px) 100%)}
#load-bars .bar.after{background:var(--thermal-color)}
#load-bars .bar.before{background:var(--thermal-color);opacity:.3}
.chart-key i.design-key{background:transparent!important;border-top:2px dashed currentColor;height:0;border-radius:0}
@media(max-width:900px){.area-load-card{background:#eef3f8}.area-load-card #area-load-results>div:first-child{background:var(--color-cooling)}.area-load-card #area-load-results>div:last-child{background:var(--color-heating)}}
@media(min-width:901px){.area-load-card .area-details{padding-right:24px}}

#heating-pie-total,#cooling-pie-total{text-align:center}
.pie-label{text-align:center;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.pie-label strong{display:block;font-size:20px;font-weight:600;line-height:1.3;color:var(--color-navy)}
.pie-label span{display:block;font-size:13px;line-height:1.5;color:var(--color-ink)}
@media(min-width:901px){.area-load-card #area-load-results>div{padding-left:20px}}
/* Keep related assumptions and load insights together in their new columns. */
.area-notes #data-status{border-left:0;padding-left:0}
.load-insights-card .compare{padding-top:0}
.load-insights-card .compare h3{font-family:Hornbill,Georgia,serif;font-size:28px;letter-spacing:-.025em;line-height:1.2}
.load-insights-card .legend{flex-wrap:wrap;gap:10px}
.assumptions-group>details:first-of-type{border-top:0;padding-top:0;margin-top:0}
.assumptions-group .weather-heading{font-size:18px;margin:26px 0 0}
.assumptions-group .owner-only h2{font-size:26px}
#monthly-chart .chart-legend{margin-top:10px;margin-bottom:0}
.estimate-request{margin-top:24px;padding:35px;background:white;border:1px solid #d8d9d3;border-radius:22px}
.estimate-request-heading{max-width:720px;margin-bottom:30px}
.estimate-request-heading h2{margin:8px 0 16px}
.estimate-request-heading>p:last-child{margin-bottom:0}
.estimate-request-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.estimate-request-columns>*{min-width:0}
.estimate-request h3{font-family:Hornbill,Georgia,serif;font-size:26px;line-height:1.2}
.request-summary{background:#edf3f7;border-radius:16px;padding:28px}
.request-summary dl{margin:24px 0}
.request-summary dl>div{padding:14px 0;border-bottom:1px solid #d3dce5;display:flex;justify-content:space-between;gap:20px;align-items:baseline}
.request-summary dt{font-size:13px;line-height:1.5}
.request-summary dd{margin:0;text-align:right;font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.request-summary .cooling dd{color:var(--color-cooling)}
.request-summary .heating dd{color:var(--color-heating)}
.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
.request-fields label{display:block;font-size:13px;font-weight:600;line-height:1.5}
.request-fields label>span{font-weight:400}
.request-fields input,.request-fields select,.request-fields textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:8px;padding:12px 14px;border:1px solid #9aacbf;background:#fbfaf5;border-radius:10px;color:#0f204d;font:400 15px Geist,Arial,sans-serif;min-height:48px}
.request-fields textarea{resize:vertical;line-height:1.6}
.request-fields .full-width{grid-column:1/-1}
#request-submit{margin-top:10px;background:var(--color-heating);color:white;padding:16px 24px}
#request-status:empty{display:none}
@media(max-width:900px){.estimate-request-columns{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.estimate-request{padding:24px}.request-summary{padding:22px}}
@media(max-width:520px){.request-fields{grid-template-columns:1fr}.request-summary dl>div{display:block}.request-summary dd{text-align:left;margin-top:5px}.load-insights-card .bar-heading{display:block}.load-insights-card .bar-heading span{display:block}.load-insights-card .bar-heading span+span{margin-top:4px}}
@media print{.bottom-card-row>.load-insights-card{display:block}.assumptions-group,#estimate-form,.estimate-request-heading{display:none}.estimate-request-columns{display:block}.estimate-request{break-inside:avoid}}

#home-address>label{font-family:var(--font-stack-heading);font-size:32px;font-weight:700;letter-spacing:-.025em;line-height:1.12;margin-bottom:16px}
@media(max-width:700px){#home-address>label{font-size:28px}}

/* Balance the two-line window-load heading with a more compact legend. */
#glass-exposure .chart-card>h3+.helper{margin-bottom:4px}
#glass-chart .chart-legend{margin:0}


/* Superior’s solid curved arrow, rotated toward the address form. */
.start-arrow{left:auto;bottom:auto;transform:rotate(180deg);transform-origin:center;color:var(--color-orange);z-index:1}
@media(max-width:700px){.intro-copy{display:contents}.intro-copy>.eyebrow{grid-row:1;margin-bottom:0}.intro-copy>h1{grid-row:2;margin-top:0;margin-bottom:0}.intro-art{grid-row:3}.intro-copy>p:last-child{grid-row:4;margin:0}.intro{padding-bottom:82px}}
/* Compact adaptation of the main-site footer, shared by every tools page. */
#estimator,#tools-main{padding-bottom:0}
.estimate-end-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;font-size:12px;color:var(--color-navy)}
.tools-footer{display:block;position:relative;isolation:isolate;background:var(--color-navy);color:#fff;margin-top:48px;padding:40px 0 20px;font-size:13px;border:0}
.tools-footer::before{content:"";position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:var(--color-navy);z-index:-1}
.tools-footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:48px;align-items:start}
.tools-footer .brand-wordmark{background-color:#fff;width:200px;height:44px;max-width:100%}
.tools-footer-brand>a{display:inline-block}
.tools-footer p{font-size:13px;line-height:1.6;color:#d0d6e3;margin:12px 0 0;max-width:340px}
.tools-footer .tools-footer-tagline{font-weight:600;font-size:16px;color:#fff}
.tools-footer h3{font-family:Geist,Arial,sans-serif;font-size:14px;font-weight:600;margin:0 0 12px;color:#fff}
.tools-footer a{color:#fff;text-decoration:none;text-underline-offset:4px}
.tools-footer a:hover{text-decoration:underline}
.tools-footer-top nav a{display:block;padding:6px 0;font-size:13px;line-height:1.5}
.tools-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #ffffff30;margin-top:30px;padding-top:18px}
.tools-footer-bottom p{margin:0;font-size:12px}
.tools-footer-bottom nav{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px}
@media(max-width:700px){.tools-footer-top{grid-template-columns:1fr 1fr;gap:28px}.tools-footer-brand{grid-column:1/-1}.tools-footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.estimate-end-actions{align-items:flex-start;flex-direction:column}}
@media print{.tools-footer,.estimate-end-actions button{display:none!important}}

.request-copy-note{margin-top:16px;padding:18px 22px;border:1px solid #d3dce5;border-radius:12px;color:var(--color-navy)}
.request-copy-note .helper{margin:0}
@media print{.request-copy-note{display:none}}

.request-extra-details{margin:0;padding:16px 0;border-top:1px solid #d3dce5;border-bottom:1px solid #d3dce5}
.request-extra-details>summary{cursor:pointer;font-size:15px;font-weight:600;line-height:1.5}
.request-extra-details>summary span{font-weight:400}
.request-extra-details>.request-fields{margin-top:20px}

.request-extra-details>summary span{display:inline;margin:0 0 0 4px;font-size:inherit;white-space:nowrap}

.tool-switcher-label{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tool-switcher{min-width:0}
.header-actions .tool-switcher{max-width:440px}
@media(max-width:1000px){.header-actions .tool-switcher{max-width:calc(100% - 130px)}}
@media(max-width:700px){.header-actions .tool-switcher{flex:1}.tool-switcher>summary{gap:12px}}

