/* Architectural editorial treatment: generous rhythm, quiet navigation. */
:root{--paper:#f7f6f2;--ink:#282826;--muted:#64645e;--line:#d6d5ce;--surface:#fffefa}
body{background:var(--paper);color:var(--ink)}
header,.tab-shell{background:#f7f6f2f5;border-color:var(--line);box-shadow:none}
h1,h2,h3{letter-spacing:.01em}
.panel-heading{background:none;border:0;border-bottom:1px solid var(--line);padding:34px 0 28px;margin:18px 0 24px}
.panel-heading h1{font-family:var(--brand-sans);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:500;line-height:1.45;letter-spacing:-.02em}
.panel-heading>p{max-width:40rem;color:#66655e;line-height:1.85;margin-top:16px}
.topic-intent{padding-bottom:18px}.topic-intent>span{color:#68665f}
.contents-caption{font-size:.875rem;letter-spacing:.03em;color:#6b685f}
.topic-jumps{gap:0 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.topic-jumps>a{background:transparent;border:0;border-bottom:1px solid #b8b4aa;border-radius:0;box-shadow:none;padding:12px 0;gap:12px;font-size:.9375rem}
.topic-jumps>a:hover{background:transparent;border-color:#292925;color:#292925}
.tabs button{border-right:0;font-size:.875rem;min-height:76px}
.tabs button[aria-selected=true]{background:transparent;color:#262623;border-bottom:2px solid #323b34}
.tabs .nav-index{color:#76736b}
.section,.completion-section,.electrical-section{margin-bottom:40px}
.section h2,.completion-section>h2,.electrical-section h2{font-family:var(--brand-sans);font-weight:500;letter-spacing:-.01em}
.ebook-question{border-color:var(--line)}.ebook-question[open]{border-left:0;background:#fffefa}
.ebook-question summary{padding-top:20px;padding-bottom:20px}
.calc-item,.policy-card,.check-card,.newhome-cards article{border-color:var(--line);border-radius:0;background:#fffefa}
.section-kicker{color:#73716a;letter-spacing:.1em}.callout,.sources{border-radius:0;background:#eeede7}
.consultation{border-top:1px solid #bbb9af;background:#efeee8;box-shadow:none;border-radius:0;padding:40px 32px;margin-top:48px}
.consult-copy h2{font-family:var(--brand-sans);font-weight:500;line-height:1.6}
.consult-button{border-radius:0;box-shadow:none}
.reading-next a{border-radius:0;border-color:#d1cec4}.reading-next .reading-forward{background:#303932;border-color:#303932}
.welcome-copy{border-radius:0;box-shadow:none;background:#faf9f5f7;padding:40px}
.welcome-copy h1{font-family:var(--brand-sans);font-weight:500;letter-spacing:-.02em}
.welcome-overline{font-family:var(--brand-sans);font-weight:400;color:#6c685e}
.line-primary{background:transparent;color:#344b3f;border:1px solid #9aab9e;box-shadow:none;border-radius:0}
#enter-platform{background:#303c33;border:1px solid #303c33;color:#fff;border-radius:0;box-shadow:none}
#enter-platform:hover{background:#223027}.welcome-copy .ai-note{color:#777269}
#reading-menu{width:min(100% - 48px,900px);max-width:900px;margin:auto;border:0;border-radius:4px;background:#f7f6f2;box-shadow:0 24px 100px #151a1838;max-height:88dvh}
#reading-menu::backdrop{background:#1d242255;backdrop-filter:blur(5px)}
.reading-menu-heading{padding:28px 32px 20px;gap:18px}.reading-menu-heading h2{font:500 clamp(1.25rem,2.8vw,1.75rem)/1.5 var(--brand-sans);letter-spacing:-.02em}
.reading-menu-heading button{border:1px solid #d2cfc4;border-radius:0;white-space:nowrap;font-size:.875rem;padding:8px 12px}
.reading-menu-switch{margin:0 32px;padding:0;gap:24px;background:transparent;border-bottom:1px solid var(--line);display:flex}
.reading-menu-switch button{font-size:.9375rem;padding:8px 0;border-bottom:2px solid transparent}
.reading-menu-switch button[aria-pressed=true]{background:transparent;box-shadow:none;border-bottom-color:#354438}
.reading-menu-body{padding:0 32px 32px}.reading-menu-lead{margin:20px 0;color:#706b62;max-width:42rem}
#reading-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#reading-topics a{padding:20px 16px;min-height:120px;border:1px solid #dedbd2;background:#fffefa;gap:12px;transition:background .15s,border-color .15s}
#reading-topics a>span:last-child{font-size:1.0625rem;font-weight:500;line-height:1.7}
#reading-topics small{font-size:.875rem;font-weight:400;line-height:1.75;margin-top:8px;color:#6b675f}
#reading-topics .reading-link-number{font-size:.875rem;color:#837b6c}
#reading-menu #reading-topics a[aria-current]{padding:20px 16px;border:1px solid #718275;background:#eaf0e9;color:#293e2e}
#reading-topics a:hover{background:#eeeee7;border-color:#8c9489}
#reading-chapters a{border:0;border-bottom:1px solid var(--line);background:transparent;padding:16px 8px}
#reading-menu #reading-chapters a[aria-current]{border:0;border-bottom:2px solid #6c806f;background:#eaf0e9;padding:16px 8px}
@media(max-width:900px){
 .panel-heading{padding:20px 0 24px;margin:20px 0}.panel-heading h1{font-size:1.8rem}.panel-heading>p{font-size:1rem;margin-top:12px}
 .reading-ready .mobile-reading-header button{background:transparent;color:#323d34;border:1px solid #bdc4ba;border-radius:0}
 .topic-jumps{gap:4px 22px}.topic-jumps>a{padding:12px 0;font-size:.9375rem;background:transparent}
 .reading-ready .mobile-reading-dock{background:#f7f6f2f5;box-shadow:none;border-color:#d4d3ca;gap:10px}
 .mobile-reading-dock button{border:0;background:transparent}.mobile-reading-dock a{border-radius:2px;background:#34483b;border-color:#34483b}
 .consultation{padding:28px 20px}.welcome-copy{padding:28px 24px}
 #reading-menu{width:calc(100% - 24px);max-height:90dvh;margin:auto;border-radius:4px}
 .reading-menu-heading{padding:20px 18px 14px}.reading-menu-heading h2{font-size:1.25rem}
 .reading-menu-switch{margin:0 18px;gap:24px}.reading-menu-body{padding:0 18px 24px}
 #reading-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #reading-topics a,#reading-menu #reading-topics a[aria-current]{padding:16px 12px;gap:8px;min-height:116px}
 #reading-topics a>span:last-child{font-size:1rem}#reading-topics small{font-size:.875rem}
}
@media(max-width:360px){#reading-topics{grid-template-columns:minmax(0,1fr)}#reading-topics a,#reading-menu #reading-topics a[aria-current]{min-height:76px}.reading-menu-heading{gap:8px}.reading-menu-heading h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){#reading-topics a{transition:none}}
@media print{body{background:white}.panel-heading{background:white}.consultation{display:none}}

.unified-budget{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:1px solid #d6d5ce;background:#fffefa;margin:24px 0}
.unified-budget #estimate-form{padding:30px;min-width:0}.unified-budget h2{font:500 1.6rem/1.6 var(--brand-sans);margin:8px 0 12px}
.unified-budget .fields{margin:20px 0}.unified-extras{padding-top:20px;border-top:1px solid #d6d5ce;margin:24px 0}
.unified-extras h3,.unified-summary>h3{font:500 1.125rem/1.6 var(--brand-sans);margin:0 0 16px}
.unified-extras .calc-fields{margin:0}.unified-extras .fine{margin-bottom:0}
.unified-summary{padding:30px;background:#eeeee7;border-left:1px solid #d6d5ce;min-width:0}
.unified-summary #quick-total{border:0;padding:0;margin:0}.unified-summary #quick-total p{padding:12px 0;margin:0;border-bottom:1px solid #d0d1c6;font-size:1rem}
.unified-summary #quick-total strong{display:block;font-size:1.5rem;line-height:1.65;color:#304435;padding:24px 0}
.unified-comparison{border-top:1px solid #c9ccbf}.unified-comparison>summary{padding:16px 0;cursor:pointer;min-height:48px;font-size:.9375rem}
.unified-comparison .estimate-result{padding:20px;background:#fffefa;color:#383e35;border:1px solid #d6d5ce}
.unified-comparison .estimate-result :is(h3,p,span,strong){color:#414b3d}.unified-comparison .estimate-result>strong{font-size:1.7rem}
@media(max-width:900px){.unified-budget{grid-template-columns:minmax(0,1fr)}.unified-budget #estimate-form{padding:22px 18px}.unified-summary{padding:24px 18px;border-left:0;border-top:1px solid #d6d5ce}.unified-budget h2{font-size:1.4rem}.unified-summary #quick-total strong{font-size:1.35rem}.unified-budget .calc-fields{grid-template-columns:minmax(0,1fr)}}

.budget-estimator{margin-top:12px}.budget-estimator #estimate-form{display:flex;flex-direction:column;gap:0}.budget-estimator .muted{margin:0 0 24px}.budget-type-choice{border:0;padding:0;margin:0 0 24px;min-width:0}.budget-type-choice legend,.budget-area-field>span{display:block;font-size:.9375rem;font-weight:600;letter-spacing:.02em;margin-bottom:12px}.budget-type-choice legend span,.budget-area-field b{font:500 .75rem/1 var(--brand-sans);letter-spacing:.08em;color:#887456;margin-right:8px}.budget-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-type-option{display:block;position:relative;cursor:pointer}.budget-type-option input{position:absolute;opacity:0;pointer-events:none}.budget-type-option span{display:flex;flex-direction:column;gap:5px;min-height:80px;padding:15px 16px;border:1px solid #c8c1b4;background:#fffefa;transition:background .15s,border-color .15s,box-shadow .15s}.budget-type-option strong{font-size:.9375rem;line-height:1.45;color:#3f3a32}.budget-type-option small{font-size:.8125rem;color:#736550}.budget-type-option:hover span{background:#f4efe5}.budget-type-option input:checked+span{background:#ebe3d4;border-color:#7a6343;box-shadow:inset 0 0 0 1px #7a6343}.budget-type-option input:focus-visible+span{outline:2px solid #8d795e;outline-offset:2px}.budget-type-option:last-child{grid-column:span 2}.budget-area-field{display:block;max-width:270px;margin:0 0 24px}.budget-area-field input{width:100%;font-size:1.125rem;padding:13px 14px;border:1px solid #c8c1b4;background:#fffefa}.budget-area-field small{display:block;color:#71695d;font-size:.8125rem;line-height:1.65;margin-top:8px}.budget-estimator .primary{align-self:flex-start;min-height:48px;padding:12px 24px}.budget-estimator .fine{margin:14px 0 0;font-size:.8125rem;line-height:1.75}.unified-summary .summary-kicker{font-size:.75rem;letter-spacing:.11em;color:#7e705d;margin:0 0 7px}.unified-summary .summary-note{font-size:.8125rem;line-height:1.75;color:#686257;margin:18px 0 0}.budget-estimator .unified-summary #quick-total{margin-top:20px}.budget-estimator .unified-summary #quick-total p{font-size:.9375rem;line-height:1.7}.budget-estimator .unified-summary #quick-total strong{font-size:1.6rem;line-height:1.45;color:#304435}
@media(max-width:600px){.budget-type-grid{grid-template-columns:1fr}.budget-type-option:last-child{grid-column:auto}.budget-type-option span{min-height:68px;padding:13px 14px}.budget-area-field{max-width:none}.budget-estimator .primary{width:100%;justify-content:center}.budget-estimator .fine{font-size:.8125rem}.budget-estimator .unified-summary #quick-total strong{font-size:1.45rem}}

.voltage-form{padding:24px;border:1px solid var(--line);background:#fffefa;max-width:720px}.voltage-form button{margin-top:18px}.voltage-form output{display:block;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:1.125rem;color:#304435}@media(max-width:600px){.voltage-form{padding:20px 16px}.voltage-form .calc-fields{grid-template-columns:minmax(0,1fr)}}

.newhome-assessment{border:1px solid var(--line);background:var(--surface);margin-top:24px}.assessment-status{padding:24px 26px;background:#eeeee7;border-bottom:1px solid var(--line);display:grid;gap:8px}.assessment-status .eyebrow{color:#676359}.assessment-status strong{font:500 1.25rem/1.5 var(--brand-sans);color:#304435}.assessment-status output{display:block;max-width:44rem;color:#5e5d57;line-height:1.75}.assessment-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-groups fieldset{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 26px;margin:0;min-width:0}.assessment-groups fieldset:nth-child(even){border-right:0}.assessment-groups fieldset:last-child{grid-column:1/-1;border-bottom:0}.assessment-groups legend{padding:0;font:500 1rem/1.6 var(--brand-sans);color:#343431}.assessment-groups label{display:flex;align-items:flex-start;gap:10px;margin-top:14px;color:#4c4b46;line-height:1.65;cursor:pointer}.assessment-groups input{width:18px;height:18px;margin:3px 0 0;accent-color:#34483b;flex:0 0 auto}.assessment-groups label:has(input:focus-visible){outline:2px solid #718275;outline-offset:4px}
.newhome-stages{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.newhome-stages li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:20px 20px 18px 0;border-right:1px solid var(--line);margin-right:20px}.newhome-stages li:last-child{border-right:0;margin-right:0}.newhome-stages span{font-size:.8125rem;color:#7b786f}.newhome-stages strong{font:500 1rem/1.6 var(--brand-sans);color:#323b34}.newhome-stages p{margin:7px 0 0;color:#65635d;font-size:.9375rem;line-height:1.7}.newhome-change-flow{border:1px solid var(--line);background:var(--surface);margin-top:24px}.newhome-change-flow .newhome-cards{margin:0}.newhome-submit-check{padding:24px 26px;background:#eeeee7;border-top:1px solid var(--line)}.newhome-submit-check h3{margin:0 0 14px;font:500 1.0625rem/1.6 var(--brand-sans);color:#323b34}.newhome-submit-check .newhome-checks{margin:0}
@media(max-width:700px){.assessment-status{padding:20px 18px}.assessment-groups{grid-template-columns:minmax(0,1fr)}.assessment-groups fieldset,.assessment-groups fieldset:nth-child(even){border-right:0;padding:20px 18px}.assessment-groups fieldset:last-child{grid-column:auto;border-bottom:0}.assessment-groups label{font-size:1rem}.newhome-stages{grid-template-columns:minmax(0,1fr)}.newhome-stages li{padding:18px 0;margin:0;border-right:0;border-bottom:1px solid var(--line)}.newhome-stages li:last-child{border-bottom:0}.newhome-submit-check{padding:20px 18px}}

/* Customer-change self assessment: grouped like a practical form, not a long checklist. */
.assessment-groups{display:block}.customer-change-group{border:0;border-bottom:1px solid var(--line);margin:0;background:var(--surface)}.customer-change-group:last-child{border-bottom:0}.customer-change-group summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px 26px;cursor:pointer;list-style:none}.customer-change-group summary::-webkit-details-marker{display:none}.customer-change-group summary>span{font-size:.8125rem;color:#7b786f}.customer-change-group summary strong{display:block;font:500 1rem/1.5 var(--brand-sans);color:#30312e}.customer-change-group summary small{display:block;margin-top:3px;color:#706d65;font-size:.875rem;line-height:1.55}.customer-change-group summary b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #b6b7af;color:#445346;font-size:.875rem;font-weight:500}.customer-change-group[open] summary{background:#f3f3ed;border-bottom:1px solid var(--line)}.customer-change-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:4px 26px 22px}.customer-change-options label{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid #e0dfd8;color:#4c4b46;line-height:1.65;cursor:pointer}.customer-change-options label:nth-last-child(-n+2){border-bottom:0}.customer-change-options input{width:18px;height:18px;margin:3px 0 0;accent-color:#34483b;flex:0 0 auto}.customer-change-options label:has(input:focus-visible){outline:2px solid #718275;outline-offset:3px}
@media(max-width:700px){.customer-change-group summary{grid-template-columns:30px minmax(0,1fr) auto;padding:18px}.customer-change-options{grid-template-columns:minmax(0,1fr);padding:2px 18px 16px}.customer-change-options label,.customer-change-options label:nth-last-child(-n+2){border-bottom:1px solid #e0dfd8}.customer-change-options label:last-child{border-bottom:0}.customer-change-group summary small{font-size:.8125rem}.customer-change-options label{font-size:1rem}}

.customer-change-wizard{border:1px solid var(--line);background:var(--surface);margin-top:28px}.wizard-intro{padding:34px 32px 28px;background:#eeeee7;border-bottom:1px solid var(--line)}.wizard-intro h2{font:500 clamp(1.55rem,3vw,2.1rem)/1.45 var(--brand-sans);margin:8px 0}.wizard-intro p{margin:0;font-size:1.125rem;color:#34483b}.wizard-intro small{display:block;max-width:42rem;margin-top:14px;color:#65635d;font-size:.9375rem;line-height:1.7}.wizard-progress{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto}.wizard-progress span{flex:1 0 max-content;padding:14px 18px;color:#76736b;text-align:center;font-size:.875rem;white-space:nowrap}.wizard-progress span[aria-current=step]{background:#34483b;color:#fff}.wizard-note{margin:0;padding:17px 32px;border-bottom:1px solid var(--line);color:#5e5c55;line-height:1.75}.customer-change-step{padding:34px 32px}.customer-change-step>header{padding-bottom:22px;border-bottom:1px solid var(--line)}.customer-change-step>header span{font-size:.8125rem;letter-spacing:.08em;color:#76736b}.customer-change-step>header h2{font:500 1.55rem/1.5 var(--brand-sans);margin:6px 0}.customer-change-step>header p{margin:0;color:#66635d;line-height:1.75}.customer-question{padding:28px 0;border-bottom:1px solid var(--line);position:relative}.question-number{display:block;color:#77736a;font-size:.8125rem;margin-bottom:5px}.customer-question h3{font:500 1.125rem/1.6 var(--brand-sans);margin:0}.customer-question>p{margin:5px 0 13px;color:#66635d;line-height:1.7}.customer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.customer-option{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid #e1e0d9;color:#484742;line-height:1.65;cursor:pointer}.customer-option input{width:18px;height:18px;margin:3px 0 0;accent-color:#34483b;flex:0 0 auto}.customer-option:has(input:focus-visible){outline:2px solid #718275;outline-offset:3px}.customer-question details{margin-top:16px}.customer-question details summary{color:#4d6253;cursor:pointer;font-size:.9375rem}.customer-question details p{max-width:48rem;margin:10px 0 0;color:#66635d;line-height:1.75}.wizard-controls{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.wizard-controls>*{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #a7a79f;background:transparent;color:#30312e;font:500 1rem/1 var(--brand-sans);text-decoration:none;cursor:pointer}.wizard-controls .wizard-next{border-color:#34483b;background:#34483b;color:#fff}.customer-change-result{padding:34px 32px}.customer-change-result>#customer-change-score{display:block;margin-top:8px;color:#34483b;font:500 2.5rem/1.2 var(--brand-sans)}.customer-change-result h2{font:500 1.6rem/1.5 var(--brand-sans);margin:8px 0}.customer-change-result>p{max-width:42rem;color:#626059;line-height:1.75}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}.result-grid article,.result-summary{border:1px solid var(--line);padding:22px;background:#fffefa}.result-grid h3,.result-summary h3{font:500 1.0625rem/1.6 var(--brand-sans);margin:0 0 12px}.result-grid ul{margin:0;padding-left:1.25rem;color:#4f4e49;line-height:1.75}.result-summary{margin-top:16px;background:#eeeee7}.result-summary p{margin:0;color:#4f4e49;line-height:1.8}
@media(max-width:700px){.wizard-intro,.customer-change-step,.customer-change-result{padding:24px 18px}.wizard-intro p{font-size:1.0625rem}.wizard-progress{scroll-snap-type:x mandatory}.wizard-progress span{scroll-snap-align:start;flex-basis:112px;padding:13px 14px}.wizard-note{padding:16px 18px;font-size:.9375rem}.customer-change-step>header h2{font-size:1.4rem}.customer-options,.result-grid{grid-template-columns:minmax(0,1fr)}.customer-option{font-size:1rem}.wizard-controls>*{flex:1;padding:0 12px}.result-grid{gap:12px}.result-grid article,.result-summary{padding:18px}}
