/* Test-site design pass: a deliberate hierarchy, with centred introductions retained. */
.design-review h1.section-title { font-size:clamp(2.15rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.035em; }
.design-review .section-header .section-title,
.design-review h2.section-title { font-size:clamp(1.65rem,2.6vw,2.1rem); line-height:1.2; letter-spacing:-.025em; }
.design-review h2 .gradient-text { color:inherit; background:none; -webkit-text-fill-color:currentColor; }
.design-review .section-header { text-align:center; }
.design-review .section-header .section-subtitle { margin-left:auto; margin-right:auto; max-width:680px; }
.design-review .section-tag { padding:0; background:none; border:0; border-radius:0; font-size:.75rem; letter-spacing:.06em; margin-bottom:12px; color:var(--color-text-secondary); }
.design-review .agri-band svg { height:120px; min-height:90px; max-height:120px; object-fit:cover; }
.design-review.home-page .agri-band svg { height:140px; max-height:140px; }
.design-review .theme-toggle { transform:scale(.85); transform-origin:center; }
/* One hero, rather than a series of equally large opening statements. */
.design-review.home-page .home-intro .section-title { font-size:clamp(2.3rem,4.6vw,4rem); line-height:1.08; max-width:950px; margin-bottom:24px; }
.design-review.home-page .home-intro .section-subtitle { font-size:1.12rem; max-width:740px; line-height:1.65; }
.design-review.home-page .home-intro { padding-bottom:56px; }
.design-review.home-page .services { padding:64px 0 80px; }
.design-review .home-capabilities .solution-item { padding:24px 20px; background:var(--surface-1); border-color:var(--color-border-light); }
.design-review .home-capabilities h2 { font-size:1.1rem; line-height:1.35; }
.design-review.home-page .service-card { background:var(--surface-1); }
.design-review.home-page .split-content .section-title { font-size:clamp(1.65rem,2.6vw,2.1rem); }
.home-process { list-style:none; margin:32px 0 24px; padding:0; }
.home-process li { display:flex; gap:20px; padding:20px 0; border-top:1px solid var(--color-border-light); }
.home-process li > span { font-family:var(--font-mono); font-size:.85rem; color:var(--color-primary-light); padding-top:3px; }
.home-process h3 { font-size:1.15rem; color:var(--color-text-bright); margin-bottom:7px; line-height:1.3; }
.home-process p { color:var(--color-text-secondary); font-size:1rem; line-height:1.65; }
.home-proof { font-size:.85rem; line-height:1.8; color:var(--color-text-secondary); }
.home-proof a { text-decoration:underline; text-underline-offset:3px; }
.design-review .home-tools { background:none; border:0; border-left:1px solid var(--color-border-light); border-radius:0; padding:0 0 0 40px; }
.design-review .home-tools h3 { font-size:1.5rem; }
.design-review .home-finance-card { background:none; border:0; border-top:1px solid var(--color-border-light); border-bottom:1px solid var(--color-border-light); border-radius:0; padding:32px 0; }
.design-review .home-finance { padding:24px 0; }
.design-review.home-page .testimonial-card { background:none; border:0; border-top:2px solid var(--color-border-light); border-radius:0; padding:24px 0; box-shadow:none; }
.design-review.home-page .testimonial-card:hover { transform:none; }
.home-more-reviews, .home-registration { border-top:1px solid var(--color-border-light); padding:24px 0; }
.home-more-reviews summary, .home-registration summary { cursor:pointer; color:var(--color-text-bright); font-weight:600; }
.home-more-reviews .testimonials-grid, .home-registration .compliance-grid { margin-top:28px; }
.design-review.home-page .mcs-compliance { padding:24px 0; }
.design-review.home-page .compliance-card { background:none; border:0; border-radius:0; padding:12px 0; }
/* Service pages: an early action, smaller supporting headings and fewer nested panels. */
.design-review :is(.hp-page,.rs-page) h1 { font-size:clamp(2.15rem,3.9vw,3.4rem); line-height:1.1; }
.design-review :is(.hp-section,.rs-section) > h2 { font-size:clamp(1.65rem,2.6vw,2.1rem); }
.design-review :is(.hp-hero,.rs-hero) { padding:32px 0 48px; }
.design-review :is(.hp-hero,.rs-hero) > div > .section-tag { margin-bottom:0; }
.design-review :is(.hp-card,.rs-card) { background:none; border:0; border-top:1px solid var(--color-border-light); border-radius:0; padding:24px 0; }
.design-review :is(.hp-system,.rs-system) { background:var(--surface-1); padding:24px; }
.design-review :is(.hp-system,.rs-system) h2 { font-size:1.15rem; }
.design-review .page-header { padding-bottom:40px; }
/* Tools are workspaces: a compact title and useful controls first. */
.design-review .calc-hero { padding:28px 0 24px !important; }
.design-review .calc-hero .section-tag { display:none; }
.design-review .calc-hero h1 { font-size:clamp(1.85rem,3vw,2.6rem); margin-bottom:14px; }
.design-review .calc-hero .section-subtitle { font-size:1rem; line-height:1.6; max-width:700px; }
.design-review .ec-planner { padding-top:28px; }
.design-review .ec-planner > h2 { font-size:clamp(1.45rem,2.2vw,1.75rem); }
.design-review .ec-card { border-radius:8px; background:var(--surface-1); }
.design-review .ec-headline { border:0; border-left:3px solid var(--color-primary); border-radius:0; margin:0 0 24px; padding:0 0 0 20px; background:none; }
.design-review .ec-saving-number { color:var(--color-text-bright); font-size:clamp(2rem,3.5vw,2.75rem); }
.design-review .ec-mobile-summary { border-color:var(--color-primary); background:var(--surface-1); }
.design-review .calculator-section { padding-top:24px; }
.design-review .calc-tile { border-radius:8px; }
/* Compare published lender routes, then open the complete evidence. */
.design-review .finance-page .hp-hero { max-width:900px; }
.design-review .finance-directory { display:block; }
.finance-comparison { margin:28px 0; }
.finance-comparison table { width:100%; border-collapse:collapse; font-size:.93rem; }
.finance-comparison caption { text-align:left; color:var(--color-text-secondary); margin-bottom:12px; }
.finance-comparison :is(th,td) { text-align:left; vertical-align:top; padding:18px 14px; border-bottom:1px solid var(--color-border-light); line-height:1.6; }
.finance-comparison th { color:var(--color-text-bright); }
.finance-comparison th:first-child { padding-left:0; min-width:210px; }
.finance-comparison small { display:block; font-size:.8rem; color:var(--color-text-secondary); font-weight:400; margin-top:5px; }
.finance-method { margin:24px 0 40px; border-top:1px solid var(--color-border-light); border-bottom:1px solid var(--color-border-light); padding:20px 0; }
.finance-method > summary { font-weight:600; color:var(--color-text-bright); cursor:pointer; }
.finance-method > p:first-of-type { margin-top:20px; }
.design-review .finance-ranking { background:none; border:0; padding:0; }
.design-review details.finance-lender { border:0; border-top:1px solid var(--color-border-light); border-radius:0; padding:0; background:none; }
.finance-lender > summary { padding:22px 0; cursor:pointer; color:var(--color-text-bright); font-weight:600; }
.finance-lender > summary small { display:block; font-size:.85rem; font-weight:400; color:var(--color-text-secondary); margin-top:6px; }
.finance-lender-body { max-width:840px; padding:0 0 24px; }
.finance-detail-title { margin-top:40px; }
@media(max-width:780px) {
 .design-review .agri-band svg, .design-review.home-page .agri-band svg { height:90px; min-height:90px; max-height:90px; }
 .design-review.home-page .home-intro .section-title { font-size:clamp(2.25rem,7.8vw,2.5rem); }
 .design-review.home-page .home-intro .section-subtitle { font-size:1.05rem; }
 .design-review .home-tools { border-left:0; border-top:1px solid var(--color-border-light); padding:28px 0 0; }
 .design-review :is(.hp-hero,.rs-hero) { padding-top:20px; gap:32px; }
 .design-review :is(.hp-hero,.rs-hero) h1 { font-size:2.15rem; margin-top:8px; margin-bottom:20px; }
 .design-review :is(.hp-hero,.rs-hero) .section-tag { display:none; }
 .design-review :is(.hp-lead,.rs-lead) { font-size:1.08rem; line-height:1.6; }
 .design-review :is(.hp-actions,.rs-actions) { margin-top:20px; margin-bottom:20px; gap:16px; }
 .design-review .calc-hero { padding-top:24px !important; padding-bottom:12px !important; }
 .design-review .ec-planner { padding-top:24px; }
 .finance-comparison table, .finance-comparison tbody, .finance-comparison tr, .finance-comparison th, .finance-comparison td { display:block; }
 .finance-comparison thead { display:none; }
 .finance-comparison tr { padding:16px 0; border-bottom:1px solid var(--color-border-light); }
 .finance-comparison :is(th,td) { padding:5px 0; border:0; }
 .finance-comparison th:first-child { padding:0 0 10px; }
 .finance-comparison td::before { content:attr(data-label) ': '; color:var(--color-text-bright); font-weight:600; }
}
.design-review :is(.hp-page,.rs-page) { font-size:1.0625rem; }
.service-routes { display:flex; flex-wrap:wrap; justify-content:center; gap:18px 32px; padding-top:20px; padding-bottom:28px; }
.service-routes a { font-weight:600; text-decoration:underline; text-underline-offset:5px; color:var(--color-text-bright); }
.design-review .services-section .service-card { background:none; border:0; border-bottom:1px solid var(--color-border-light); border-radius:0; }
/* Corrections raised by the fresh visual reviewer. */
.design-review .footer :is(h3,h4) { color:var(--color-text-bright); }
.design-review.home-page .home-intro h1 .gradient-text { display:block; }
.design-review .services-section .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; align-items:start; }
.design-review .services-section .service-card { padding:0; min-height:0; }
.design-review .services-section .service-card-header { width:100%; min-height:88px; padding:22px 0; text-align:left; font:inherit; background:none; border:0; color:var(--color-text-bright); }
.design-review .services-section .service-card-header h3 { font-size:1.2rem; line-height:1.4; margin:0; }
.design-review .services-section .service-card-content { padding:8px 0 24px; }
[data-theme="light"] .design-review .ec-bar-track { background:#cbd5e1; }
@media(max-width:780px) {
 .design-review.home-page .home-intro .section-title { font-size:clamp(2rem,8.5vw,2.15rem); }
 .design-review .services-section .services-grid { grid-template-columns:1fr; }
 .design-review .services-section .service-card-header { min-height:76px; padding:18px 0; }
 .design-review .services-section .service-card-header h3 { font-size:1.1rem; }
}
@media(max-width:780px) { .finance-comparison caption { display:block; width:100%; text-align:left; } }
.service-finance-details { margin-top:20px; }
.service-finance-details > summary { cursor:pointer; font-weight:600; color:var(--color-text-bright); padding:12px 0; }
.service-finance-details > p:first-of-type { margin-top:16px; }
/* KISS: everyday controls first; optional assumptions remain explicit and available. */
.kiss-details { min-width:0; grid-column:1/-1; margin:18px 0; padding:16px 0; border-top:1px solid var(--color-border-light); border-bottom:1px solid var(--color-border-light); }
.kiss-details > summary { cursor:pointer; font-weight:600; color:var(--color-text-bright); line-height:1.5; }
.kiss-details > summary small { display:block; font-weight:400; font-size:.82rem; color:var(--color-text-secondary); margin:6px 0 0; }
.kiss-assumption-note,.kiss-mode-note,.kiss-current-note { font-size:.88rem; line-height:1.6; color:var(--color-text-secondary); margin:12px 0; }
.kiss-assumption-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.kiss-deep-tool { max-width:1200px; margin:40px auto; padding:24px; }
.kiss-deep-tool .hp-layout { padding:20px 0 0; }
.kiss-capability > summary { cursor:pointer; list-style:none; }
.kiss-capability > summary::-webkit-details-marker { display:none; }
.kiss-capability > summary h2 { margin-top:12px; }
.kiss-capability > summary::after { content:'−'; color:var(--color-text-secondary); font-size:.9rem; }
.kiss-capability:not([open]) > summary::after { content:'+'; }
.kiss-capability > p { margin-top:12px; }
.kiss-current-fuel { margin-top:4px; margin-bottom:0; }
.kiss-goal { max-width:600px; margin:20px 0 12px; }
.kiss-goal label { display:block; font-weight:600; color:var(--color-text-bright); margin-bottom:8px; }
.kiss-goal select { width:100%; padding:12px; font:inherit; color:var(--color-text-bright); background:var(--color-dark); border:1px solid var(--color-border-light); border-radius:6px; }
.design-review .battery-hero { padding:24px 0; }
.design-review .battery-hero h1 { font-size:clamp(1.85rem,3.1vw,2.7rem); }
.design-review .battery-hero .section-tag,.design-review .battery-modes > p { display:none; }
.design-review .battery-hero .battery-lead { font-size:1.05rem; }
.design-review .battery-grid .kiss-details { margin:0; padding:18px 0; }
.kiss-details > fieldset { margin-top:16px; }
#battery-results .kiss-details { margin:12px 0 0; }
.kiss-fin-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:start; gap:32px; }
.kiss-fin-columns .fin-grid { display:block; }
.kiss-fin-columns .fin-grid > .kiss-details { margin:20px 0; }
.kiss-fin-columns .fin-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kiss-fin-columns .fin-result-grid > :last-child { grid-column:1/-1; }
.kiss-fin-columns .fin-value { font-size:clamp(1.5rem,2.2vw,2rem); }
@media(max-width:780px) {
 .design-review .home-capabilities .solution-item { padding:18px 12px; }
 .kiss-capability h2 { font-size:1rem !important; margin-bottom:0; }
 .kiss-capability > p { text-align:center; }
 .design-review.home-page .service-card { padding:20px; }
 .design-review.home-page .service-icon { margin-bottom:12px; }
 .design-review.home-page .service-card p { margin-bottom:12px; }
 .kiss-fin-columns { grid-template-columns:1fr; gap:20px; }
 .kiss-assumption-grid { grid-template-columns:1fr; }
 .kiss-deep-tool { margin:24px 16px; padding:18px 0; }
 .design-review .battery-hero { padding:20px 0; }
}
.design-review .battery-grid > .kiss-primary-settings { grid-column:auto; }
@media(max-width:780px) { .design-review .battery-grid > .kiss-primary-settings { grid-column:1/-1; } }
@media(min-width:781px) { .kiss-capability > summary::after { display:none; } }
.design-review .battery-field > label:has(+.battery-help) { display:inline-block; max-width:calc(100% - 38px); margin-right:6px; vertical-align:middle; }
.kiss-solar-balance { margin-top:28px; border:0 !important; background:none !important; padding:24px 0; }
.kiss-energy-ledger { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 20px; line-height:1.6; margin:20px 0; }
.kiss-energy-ledger dt { color:var(--color-text-secondary); }
.kiss-energy-ledger dd { color:var(--color-text-bright); font-weight:600; text-align:right; }
.kiss-solar-balance .kiss-details { line-height:1.65; }
@media(max-width:540px) { .kiss-energy-ledger { font-size:.9rem; gap:10px; } }
/* Visible information: no accordion or disclosure controls. */
.open-content { margin:24px 0; }
.open-content > .open-content-title { color:var(--color-text-bright); font-size:1.12rem; line-height:1.4; margin:0 0 16px; cursor:default; }
.open-content-title small { display:block; color:var(--color-text-secondary); font-size:.85rem; line-height:1.5; font-weight:400; margin-top:8px; }
.design-review .services-section .service-card-body,.design-review .faq-answer { max-height:none !important; overflow:visible; }
.design-review .services-section .service-card-header,.design-review .faq-question { cursor:default; }
.design-review .faq-question .icon,.design-review .expand-icon { display:none; }
.design-review section.finance-lender { border:0; border-top:1px solid var(--color-border-light); border-radius:0; padding:24px 0; background:none; }
.design-review section.finance-lender > .open-content-title { font-size:1.3rem; }
.design-review .home-registration,.design-review .home-more-reviews { padding:24px 0; }
.design-review .home-registration .compliance-grid { margin-top:20px; }
.fin-visible-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:36px; align-items:start; }
.fin-visible-grid .fin-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fin-visible-grid .fin-result-grid > :last-child { grid-column:1/-1; }
.fin-visible-grid .fin-value { font-size:clamp(1.6rem,2.5vw,2.1rem); }
.fin-bank-section { margin:48px 0 0; padding:32px 0; border-top:2px solid var(--color-border-light); }
.fin-bank-inputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:800px; }
.fin-small { font-size:.88rem; color:var(--color-text-secondary); line-height:1.6; }
.fin-method { margin-top:36px; padding-top:28px; border-top:1px solid var(--color-border-light); }
.fin-method li { margin:12px 0 12px 24px; }
.fin-bank-section > p { max-width:850px; }
#fin-error:not([hidden]) { margin-top:20px; }
@media(max-width:780px) {
 .fin-visible-grid { grid-template-columns:1fr; gap:24px; }
 .fin-bank-inputs { grid-template-columns:1fr; gap:0; }
 .fin-visible-grid .fin-result-grid { grid-template-columns:1fr; }
}
.calc-jumps { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 28px; padding-top:12px; padding-bottom:20px; }
.calc-jumps a { display:inline-flex; align-items:center; min-height:44px; color:var(--color-text-bright); font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.calc-facts { padding-left:22px; max-width:78ch; }
.calc-facts li { margin:14px 0; line-height:1.65; }
.battery-method > p,.battery-method .open-content > p { max-width:78ch; }
/* Red-team fixes: contrast, direct routes and deliberate phone composition. */
[data-theme="light"] .design-review :is(.solar-result-card,.hp-result-card,.buffer-result-card) .value.green,
[data-theme="light"] .design-review #co2Offset,
[data-theme="light"] .design-review .upgrade-row .impact { color:var(--color-primary-dark) !important; }
.design-review .kiss-deep-tool { width:calc(100% - 48px); max-width:1200px; margin:40px auto; padding:24px 0; }
.design-review .kiss-deep-tool .hp-layout { width:100%; max-width:none; margin:0; padding:20px 0 0; }
.finance-hero-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:16px 24px; margin:24px 0; }
.finance-hero-actions a { min-width:0; }
.finance-record-nav { display:flex; flex-wrap:wrap; gap:12px 28px; padding:18px 0 8px; margin-top:24px; border-top:1px solid var(--color-border-light); }
.finance-record-nav a { display:inline-flex; align-items:center; min-height:44px; }
.hp-estimate-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.hp-estimate-links a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.home-service-shortcuts { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; margin:0 0 20px; }
.home-service-shortcuts a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; color:var(--color-text-bright); text-decoration:underline; text-underline-offset:5px; }
.solar-array-illustration { margin:28px 0; }
.solar-array-illustration figcaption { font-size:.9rem; color:var(--color-text-secondary); margin-bottom:12px; }
.design-review .solar-array-illustration .panel-cell { background:var(--surface-2); border:1px solid var(--color-border-light); color:var(--color-text-bright); border-radius:3px; height:36px; font-size:.85rem; cursor:default; box-shadow:none; }
@media(max-width:780px) {
 .design-review .kiss-deep-tool { width:calc(100% - 32px); margin:24px auto; padding:18px 0; }
 .finance-hero-actions { flex-direction:column; align-items:stretch; gap:12px; }
 .finance-hero-actions a { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; text-align:center; padding:12px 16px; }
 .finance-record-nav { flex-direction:column; align-items:flex-start; gap:4px; }
 .home-service-shortcuts { gap:4px 20px; margin-bottom:16px; }
 .design-review.home-page .home-intro .section-subtitle { font-size:1rem; line-height:1.55; margin-bottom:16px; }
 .design-review.home-page .home-capabilities .solution-item { padding:14px 12px; }
 .design-review.home-page .home-capabilities p { line-height:1.5; }
 .design-review.home-page .home-hero-actions .btn { padding:12px 20px; font-size:1rem; }
}

/* Keep the heat-loss heading visible below the fixed navigation on direct arrival. */
.design-review #heat-loss { scroll-margin-top:140px; }

/* Homeowner journey: readable title and visible routes, with every section retained. */
.design-review.home-page .home-intro h1 .gradient-text { background:none; color:var(--color-primary); -webkit-text-fill-color:currentColor; padding-bottom:.14em; margin-bottom:-.14em; }
.planner-route, .planner-next { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin:24px 0; }
.planner-route a, .planner-next a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.planner-next { border-top:1px solid var(--color-border-light); padding-top:20px; }
.planner-next p { flex-basis:100%; margin:0; }
#ec-results, #solarResults, #solar-inputs, #battery-results, #battery-form, #heat-cost, #heat-loss-results { scroll-margin-top:110px; }
.contact-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.contact-field label { color:var(--color-text-bright); font-size:.95rem; font-weight:600; }
@media(max-width:600px) {
 .design-review .solar-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .design-review .solar-result-card { padding:16px 8px; }
 .design-review .solar-result-card h4 { font-size:.8rem; line-height:1.4; }
 .design-review .solar-result-card .value { font-size:1.35rem; }
}
/* Narrow phones: fit real content instead of allowing a wider layout viewport. */
.design-review .compliance-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr)); }
@media(max-width:380px) {
 .design-review .nav-container { padding-left:16px; padding-right:16px; }
 .design-review .nav-logo .logo-word { font-size:.9rem; letter-spacing:.23em; }
 .design-review .theme-toggle { margin:0; gap:2px; transform:none; }
 .design-review .theme-btn { width:32px; height:32px; }
}
/* Anchor battery help to its whole field so a right-hand help button cannot spill off-screen. */
.design-review .battery-field { position:relative; }
.design-review .battery-field .battery-help { position:static; }
.design-review .battery-field .battery-help [role="tooltip"] { left:0; right:auto; width:100%; }

.contact-field-wide { grid-column:1 / -1; text-align:left; }
.contact-field-wide textarea { width:100%; min-height:160px; }
.form-response-note { margin:12px 0 20px; color:var(--color-text-secondary); line-height:1.6; }
.form-status { margin:20px 0 0; padding:20px; border:1px solid var(--color-primary); border-radius:8px; color:var(--color-text-bright); background:var(--surface-2); line-height:1.7; text-align:left; scroll-margin-top:100px; }
