/* SolarIQ presentation: spacious, restrained and responsive. */
:root { color-scheme:light; --ink:#142535; --muted:#526477; --surface:#fff; --line:#d9e1e9; --gold:#1859b7; --mint:#17734f; }
body { background:#f5f7fa; color:var(--ink); align-items:flex-start; line-height:1.5; }
button,input,select { font-family:inherit; }
button:disabled { opacity:.55; cursor:wait; }
button:focus-visible,a:focus-visible,[role=button]:focus-visible,summary:focus-visible,select:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.scene { height:auto; min-height:100dvh; max-width:1280px; padding:32px; perspective:none; display:block; }
.card { height:auto; min-height:0; box-shadow:none; border-radius:0; transform:none; transform-style:flat; }
.card.flipped { transform:none; }
.card__face { position:relative; height:auto; border-radius:0; overflow:visible; backface-visibility:visible; }
.card__face--front { display:flex; flex-direction:column; align-items:stretch; }
.card__face--back { display:none; transform:none; background:#09131e; padding:24px 0; }
.card.flipped .card__face--front { display:none; }
.card.flipped .card__face--back { display:flex; }
.card__face--back::after { display:none; }
.brand-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:12px 0 28px; border-bottom:1px solid var(--line); }
.wordmark { font-size:27px; font-weight:800; letter-spacing:-1.3px; text-decoration:none; color:var(--ink); }
.wordmark span { color:var(--gold); }
.wordmark small { font-size:18px; font-weight:400; color:var(--muted); }
.header-note { font-size:12px; color:var(--muted); }
.hero-content { width:100%; max-width:880px; margin:0 auto; padding:80px 0 64px; }
.eyebrow { color:var(--gold); text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:2px; margin:0 0 20px; }
.hero-content h1 { font-size:clamp(44px,6.5vw,80px); line-height:1.06; letter-spacing:-3px; font-weight:600; margin:0 0 24px; }
.hero-description { font-size:18px; line-height:1.7; color:var(--muted); max-width:540px; margin:0 0 40px; }
.interactive-widget { position:relative; top:auto; left:auto; transform:none; width:100%; max-width:760px; border-radius:0; overflow:visible; z-index:3; }
.interactive-widget label { display:block; font-size:13px; margin-bottom:10px; color:var(--ink); }
.address-entry { display:flex; gap:12px; align-items:stretch; }
.search-bar-container { flex:1; border:1px solid #405265; border-radius:10px; box-shadow:none; clip-path:none; background:#111f2d; overflow:hidden; z-index:auto; }
.search-bar-container::before { display:none; }
.search-bar-container input { width:100%; min-width:0; padding:19px; border:0; outline:0; background:transparent; box-shadow:none; color:var(--ink); font-size:16px; border-radius:10px; }
.search-bar-container:focus-within { outline:2px solid var(--gold); outline-offset:2px; }
.search-bar-container input::placeholder { color:#99adbf; }
#analyzeBtn { position:static; width:auto; height:auto; opacity:1; flex-shrink:0; font-size:14px; }
#analyzeBtn span { margin-left:20px; }
.primary-cta-btn { background:var(--gold); color:#17202a; border-radius:10px; box-shadow:none; font-size:14px; font-weight:600; text-transform:none; padding:17px 24px; min-height:48px; }
.primary-cta-btn:hover { transform:none; background:#ffdb92; box-shadow:none; }
.secondary-btn,.q-btn { text-transform:none; font-size:14px; font-weight:600; border:1px solid #42576a; border-radius:10px; color:#dce6ee; min-height:46px; background:transparent; box-shadow:none; }
.secondary-btn:hover,.q-btn:hover { background:#1b2e40; border-color:#8197aa; color:#fff; }
.journey { display:flex; gap:32px; padding-top:32px; margin-top:32px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.journey b { margin-right:8px; color:var(--gold); font-weight:400; }
.hero-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:24px 0 8px; font-size:11px; color:var(--muted); }
.report-header { text-align:left; margin-bottom:28px; }
.report-title { font-size:clamp(24px,3vw,36px); font-weight:600; letter-spacing:-1px; margin:0; }
.visual-section { max-width:none; justify-content:flex-start; gap:32px; margin-bottom:24px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:16px; }
.satellite-container { width:160px; height:140px; border:1px solid #415366; box-shadow:none; border-radius:10px; }
.satellite-container:hover { box-shadow:none; transform:none; }
#roofCapacity { font-size:32px; color:var(--gold); letter-spacing:-1px; }
.explanation-box { max-width:none; border:0; border-left:2px solid var(--gold); background:transparent; box-shadow:none; padding:0 0 0 20px; margin-bottom:36px; border-radius:0; }
.explanation-box p { font-size:13px; color:var(--muted); margin-bottom:8px; }
.variants-title { max-width:none; font-size:18px; font-weight:600; text-transform:none; padding:0; border:0; margin-bottom:16px; }
.variants-container { max-width:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.variant-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:28px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:14px; min-height:190px; backdrop-filter:none; }
.variant-card:hover { background:#182b3d; border-color:#70869a; box-shadow:none; transform:translateY(-2px); }
.variant-card.optimal { border-color:#9b804c; background:#202622; box-shadow:none; }
.v-title { font-size:17px; text-transform:none; font-weight:600; color:var(--ink); }
.v-desc { font-size:12px; color:var(--muted); margin-top:6px; }
.v-data { text-align:left; }
.v-energy { font-size:18px; font-weight:600; color:var(--mint); }
.variant-card.optimal .v-title { color:var(--ink); }
.variant-card.optimal .v-energy { color:var(--gold); }
.v-panels { font-size:12px; color:#c4d0da; letter-spacing:0; margin-top:8px; }
.action-buttons-container { max-width:none; flex-direction:row; gap:12px; }
.action-buttons-container .primary-cta-btn { flex:1; }
.modal-overlay { background:rgba(4,10,17,.84); backdrop-filter:blur(5px); padding:20px 0; }
.modal-box,.lead-modal-box { background:#101d2b; border:1px solid #3a4c5d; box-shadow:0 28px 90px #0007; border-radius:20px; padding:40px; width:calc(100% - 40px); max-width:600px; max-height:calc(100dvh - 40px); }
.modal-box.dashboard-expanded { max-width:1000px; }
.modal-close { top:12px; right:12px; width:44px; height:44px; font-size:24px; color:var(--muted); }
.modal-title,.lead-modal-title,#b2cStepDashboard .report-title { text-transform:none; text-align:left; color:var(--ink); font-size:30px; line-height:1.2; letter-spacing:-.7px; border:0; padding:0; margin:8px 24px 16px 0; }
.quote-subtitle { text-align:left; color:var(--muted); line-height:1.6; margin-bottom:28px; }
#b2cStepForm>.eyebrow,#b2cStepDashboard>.eyebrow { text-align:left; }
.input-group { margin-bottom:22px; }
#b2cStepForm label,.energy-settings label { font-size:13px; margin-bottom:8px; color:#dce6ee; }
.input-group input,#energyInputMode { padding:15px; background:#0b1723; border:1px solid #3a4e60; border-radius:9px; font-size:16px; }
.input-group input:focus { border-color:var(--gold); background:#0b1723; box-shadow:0 0 0 2px #f2c66d33; }
.field-help { font-size:12px; line-height:1.65; color:var(--muted); }
.energy-settings { background:transparent; border:1px solid var(--line); border-radius:10px; padding:18px; margin:24px 0; }
.energy-settings summary { font-size:13px; color:#d8e2eb; min-height:24px; }
#forecastDetails { font-size:12px; }
#b2cStepDashboard { text-align:left !important; }
.dash-grid { gap:14px; margin:0 0 24px; }
.dash-card { padding:24px 20px; text-align:left; border:1px solid var(--line); background:#152535; border-radius:12px; min-width:0; }
.dash-card.highlight-card { background:#203a31; border-color:#47785f; box-shadow:none; }
.d-label { text-transform:none; font-size:12px; font-weight:400; color:#c1ced9; min-height:36px; }
.d-value { font-size:clamp(26px,3.4vw,38px); color:var(--ink); font-weight:600; letter-spacing:-1px; overflow-wrap:anywhere; }
.highlight-card .d-value { color:#a8eccb; }
.metric-note { font-size:11px; color:#a8b8c7; margin:12px 0 0; line-height:1.6; }
#b2cStepDashboard>h3 { font-size:17px !important; font-weight:600; border:0 !important; margin:32px 0 12px !important; }
#b2cStepDashboard>.q-btn { width:auto; }
.chart-container { height:300px; padding:20px 12px; border:1px solid var(--line); background:#0c1925; box-shadow:none; border-radius:12px; margin-bottom:24px; }
#emailEstimateForm { margin-top:32px; background:#152535; padding:24px; }
#emailEstimateForm h3 { font-size:18px; font-weight:600; margin:0 0 20px; }
#emailEstimateForm .input-group { max-width:520px; }
#emailEstimateBtn { width:auto; }
#deliveryStatus { font-size:13px; }
#b2cStepDashboard .primary-cta-btn { font-size:14px; box-shadow:none; }
.centered-action-btn-container { justify-content:flex-start; margin:24px 0 0; }
.custom-dropdown { border-color:#405265; background:#152535; box-shadow:0 18px 40px #0008; border-radius:10px; }
#addressStatus { color:var(--muted); }
@media(max-width:700px) {
 .scene { padding:20px; height:auto; min-height:100dvh; }
 .brand-header { padding-top:4px; }
 .header-note { max-width:125px; text-align:right; font-size:10px; }
 .hero-content { padding:52px 0 40px; }
 .hero-content h1 { letter-spacing:-1.8px; }
 .hero-description { font-size:16px; margin-bottom:28px; }
 .address-entry { flex-direction:column; }
 #analyzeBtn { width:100%; }
 .journey { flex-direction:column; gap:14px; margin-top:24px; padding-top:24px; }
 .hero-footer { flex-direction:column; gap:8px; }
 .variants-container { grid-template-columns:1fr; }
 .variant-card { min-height:0; gap:20px; padding:22px; }
 .action-buttons-container { flex-direction:column; }
 .visual-section { padding:18px; gap:20px; }
 .satellite-container { width:120px; height:120px; }
 #roofCapacity { font-size:26px; }
 .card__face--back { padding:16px 0; }
 .modal-box,.lead-modal-box { padding:32px 20px 24px; width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:14px; }
 .modal-overlay { padding:10px 0; }
 .dash-grid { grid-template-columns:1fr; gap:10px; }
 .dash-card { padding:20px; }
 .d-label { min-height:0; }
 .d-value { font-size:34px; }
 .metric-note { margin-top:4px; }
 .chart-container { height:280px; padding:12px 4px; }
 #emailEstimateForm { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition:none !important; }
}
.card__face--back { border:0; align-items:stretch; overflow:visible; }
.card__face--back.back-shared-building { background-image:none; }
.search-bar-container::after { display:none; }
.search-bar-container input,.search-bar-container input:focus,.search-bar-container input:focus-visible,.search-bar-container input:active { padding:19px; text-align:left; text-transform:none; font-size:16px; font-weight:400; }

.property-summary { padding:24px; border:1px solid var(--line); border-radius:12px; margin:24px 0; background:#142535; }
.property-summary .eyebrow { margin-bottom:8px; }
#estimateAddress { font-size:17px; margin:0 0 20px; overflow-wrap:anywhere; }
.property-summary label { display:block; font-size:13px; margin-bottom:8px; }
#systemChoice { width:100%; padding:14px; border:1px solid #52697e; background:#0c1925; color:var(--ink); border-radius:8px; font:inherit; font-size:16px; }
#systemSpecification { margin-bottom:0; }
.comparison-scroll { overflow-x:auto; }
.system-comparison { border-collapse:collapse; width:100%; min-width:540px; text-align:left; font-size:12px; }
.system-comparison caption { text-align:left; color:var(--muted); padding:10px 0 16px; font-size:11px; }
.system-comparison th,.system-comparison td { padding:14px 12px; border-bottom:1px solid var(--line); }
.system-comparison thead th { color:var(--muted); font-weight:400; }
.system-comparison button { color:var(--ink); background:transparent; border:0; padding:6px 0; text-align:left; font:inherit; font-weight:600; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.selected-system { background:#263b34; }
.selected-system button { color:var(--gold); }
.net-summary { border-left:2px solid var(--gold); padding:4px 0 4px 20px; margin:24px 0; }
.net-summary span { display:block; font-size:13px; color:var(--muted); }
.net-summary strong { display:block; font-size:26px; margin:8px 0; }
.net-summary p { font-size:12px; color:var(--muted); margin:0; line-height:1.6; }
@media(max-width:700px) { .property-summary { padding:18px; } .comparison-panel { padding:12px; } }

/* Consistent light surfaces throughout the address-to-estimate journey. */
.card__face--back,.modal-box,.sub-modal-box {
 color-scheme:light; --ink:#142535; --muted:#526477; --surface:#fff; --line:#d9e1e9; --gold:#1859b7; --mint:#17734f;
 color:var(--ink); background:#f5f7fa;
}
.card__face--back .report-title,.variants-title,.explanation-box p strong,.q-title,.modal-body h4 { color:var(--ink); }
.modal-box,.sub-modal-box { border-color:#d9e1e9; box-shadow:0 24px 80px #09131e30; }
.primary-cta-btn { background:#1859b7; color:#fff; }
.primary-cta-btn:hover { background:#10448f; }
.search-bar-container,.custom-dropdown { background:#fff; border-color:#b9c7d5; }
.search-bar-container input,.search-bar-container input:focus { color:#142535; -webkit-text-fill-color:#142535; caret-color:#142535; }
.search-bar-container input::placeholder { color:#526477; -webkit-text-fill-color:#526477; }
.dropdown-item { color:#142535; border-color:#e1e7ee; }
.dropdown-item:hover,.dropdown-item.active { background:#edf3fd; color:#142535; border-left-color:#1859b7; }
.dropdown-item.is-error { color:#b42332; }
.variant-card:hover { background:#f1f6fd; border-color:#1859b7; }
.variant-card.optimal { background:#edf3fd; border-color:#1859b7; }
.v-panels,.d-label,.metric-note,.modal-body,.q-desc { color:var(--muted); }
.highlight-text,.highlight-gold,.modal-body strong { color:#1859b7; text-shadow:none; }
.secondary-btn,.q-btn { color:var(--ink); border-color:#879aaf; }
.secondary-btn:hover,.q-btn:hover { background:#e7eef8; border-color:#1859b7; color:#142535; }
.input-group input,#energyInputMode,#systemChoice { background:#fff; color:#142535; border-color:#879aaf; }
.input-group input::placeholder { color:#607184; opacity:1; }
.input-group input:focus { background:#fff; border-color:#1859b7; box-shadow:0 0 0 3px #1859b71f; }
#b2cStepForm label,.energy-settings label,.energy-settings,.energy-settings summary { color:var(--ink); }
.dash-card,.chart-container,.property-summary { background:#fff; }
.dash-card.highlight-card { background:#edf8f2; border-color:#92c4aa; }
.highlight-card .d-value { color:#17734f; }
#emailEstimateForm { background:#edf1f6; }
.selected-system { background:#edf3fd; }
.selected-system button { color:#1859b7; }
#forecastDetails { color:var(--muted); }
#deliveryStatus { color:#1859b7; }
#leadError,#smartSyncError { color:#b42332; }
#b2cStepDashboard>h3 { color:var(--ink); }
.visual-section small { color:var(--muted); }

.custom-dropdown { box-shadow:0 12px 36px #1425351a; }
#addressStatus { background:#fff; color:#526477; border-color:#b9c7d5; box-shadow:0 6px 24px #14253514; }
#addressStatus.is-error { background:#fff5f5; color:#a42635; border-color:#dba0a7; }
.search-bar-container input:-webkit-autofill,
.search-bar-container input:-webkit-autofill:hover,
.search-bar-container input:-webkit-autofill:focus {
 -webkit-text-fill-color:#142535; caret-color:#142535; box-shadow:0 0 0 1000px #fff inset;
}

/* Results stay readable as the modal and viewport change size. */
#b2cModalBox { transition:none; scrollbar-color:#8b9caf #edf1f6; }
body:has(.modal-overlay.active),body:has(.sub-modal-overlay.active) { overflow-y:hidden; }
.chart-container { height:auto; padding:20px 16px; }
.chart-plot { position:relative; width:100%; height:320px; min-width:0; }
.chart-plot canvas { display:block; }
.mobile-comparison-label { display:none; }
.system-comparison button { min-height:44px; }
.system-comparison { font-size:13px; }
.system-comparison caption { font-size:12px; }
.energy-settings summary { min-height:44px; align-content:center; }
.modal-box .field-help,.d-label,.metric-note { font-size:13px; }
.dash-grid { margin-top:24px; }
@media(max-width:700px) {
 .scene { padding:20px 16px; }
 .hero-content h1 { font-size:clamp(36px,10vw,60px); }
 .visual-section { gap:16px; }
 .satellite-container { flex-shrink:0; }
 .chart-container { padding:16px 8px; }
 .chart-plot { height:280px; }
 .system-comparison { min-width:0; display:block; }
 .system-comparison caption { display:block; padding:0 0 16px; line-height:1.6; }
 .system-comparison thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .system-comparison tbody { display:grid; gap:12px; }
 .system-comparison tbody tr { display:block; border:1px solid var(--line); border-radius:10px; padding:12px 16px; background:#fff; }
 .system-comparison tbody tr.selected-system { background:#edf3fd; border-color:#1859b7; }
 .system-comparison tbody th { display:block; border:0; padding:0 0 8px; }
 .system-comparison td { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:10px 0; border:0; border-top:1px solid var(--line); }
 .system-comparison td>span:last-child { text-align:right; font-weight:600; flex:0 1 48%; overflow-wrap:anywhere; }
 .mobile-comparison-label { display:block; color:var(--muted); font-size:12px; flex:1; }
 .comparison-panel { padding:16px; }
 .comparison-scroll { overflow:visible; }
 .dash-card { padding:18px; }
 .dash-grid .dash-card:first-child .d-value { font-size:38px; }
 #emailEstimateBtn,#b2cStepDashboard>.q-btn { width:100%; }
}
@media(max-width:600px) {
 #quoteModalB2C { padding:0; align-items:stretch; }
 #b2cModalBox { width:100%; max-width:none; height:100dvh; max-height:100dvh; border:0; border-radius:0; padding:calc(12px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom)); transform:none; }
 #b2cModalBox>.modal-close { position:sticky; display:block; top:0; right:auto; margin:0 0 0 auto; z-index:5; border:1px solid var(--line); background:#fff; border-radius:50%; }
 #b2cModalBox .modal-title,#b2cStepDashboard .report-title { font-size:28px; }
 #b2cModalBox .eyebrow { margin-bottom:12px; }
 .property-summary { padding:16px; }
}
/* All consumption methods share the electricity step and tariff controls. */
.energy-methods { border:0; padding:0; margin:0 0 12px; min-width:0; text-align:left; }
.energy-methods legend { padding:0; margin-bottom:12px; font-size:14px; font-weight:600; color:var(--ink); }
.energy-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#b2cStepForm .energy-method { display:flex; gap:8px; align-items:flex-start; margin:0; padding:14px 10px; border:1px solid #a6b6c7; border-radius:10px; background:#fff; cursor:pointer; min-width:0; }
.energy-method input { flex:0 0 auto; width:17px; height:17px; margin:3px 0 0; accent-color:#1859b7; }
.energy-method strong { display:block; font-size:14px; line-height:1.5; }
.energy-method small { display:block; font-size:12px; line-height:1.5; margin-top:5px; color:#526477; }
#b2cStepForm .energy-method:has(input:checked) { border-color:#1859b7; background:#edf3fd; box-shadow:0 0 0 1px #1859b7; }
#b2cStepForm .energy-method:has(input:focus-visible) { outline:3px solid #1859b7; outline-offset:3px; }
#b2cStepForm .energy-method:has(input:disabled) { background:#f4f6f9; border-style:dashed; cursor:default; }
.method-badge { display:inline-block; font-size:10px; font-weight:600; line-height:1.5; color:#526477; margin-top:7px; }
.method-availability { margin:0 0 24px; }
.backup-request { margin:26px 0; padding:20px; border:1px solid #bdcfe5; background:#f0f5fc; border-radius:12px; }
.backup-request .eyebrow { margin-bottom:10px; }
.backup-request h3 { margin:0 0 18px; font-size:20px; line-height:1.4; }
#b2cStepForm .backup-checkbox { display:flex; align-items:flex-start; gap:10px; font-size:15px; line-height:1.5; cursor:pointer; min-height:44px; margin:0; }
.backup-checkbox input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:#1859b7; }
.backup-checkbox input:focus-visible { outline:3px solid #1859b7; outline-offset:3px; }
.backup-request .field-help { margin:10px 0 0; }
.backup-summary { padding:18px; margin-top:18px; background:#edf3fd; border-left:3px solid #1859b7; border-radius:8px; }
.backup-summary h3 { font-size:17px; line-height:1.4; margin:0 0 10px; }
.backup-summary p { font-size:13px; line-height:1.7; margin:10px 0; }
.backup-summary .text-button { min-height:44px; }
.battery-comparison { margin:24px 0; padding:24px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.battery-comparison .eyebrow { margin-bottom:10px; }
.battery-comparison h3 { font-size:23px; line-height:1.3; margin:0 0 10px; letter-spacing:-.4px; }
.battery-choices { border:0; padding:0; margin:22px 0; min-width:0; }
.battery-choices legend { font-size:13px; margin-bottom:12px; color:var(--muted); }
.battery-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.battery-choice { display:flex; align-items:flex-start; gap:10px; padding:20px 16px; border:1px solid #a6b6c7; border-radius:10px; cursor:pointer; }
.battery-choice input { flex:0 0 auto; width:18px; height:18px; margin:2px 0 0; accent-color:#1859b7; }
.battery-choice>span { min-width:0; }
.battery-choice strong { display:block; font-size:16px; line-height:1.4; }
.battery-choice-detail { display:block; font-size:13px; color:var(--muted); line-height:1.6; margin-top:10px; }
.battery-choice-saving { display:block; font-size:16px; color:#17734f; font-weight:600; line-height:1.5; margin-top:6px; }
.battery-choice:has(input:checked) { background:#edf3fd; border-color:#1859b7; box-shadow:0 0 0 1px #1859b7; }
.battery-choice:has(input:focus-visible) { outline:3px solid #1859b7; outline-offset:3px; }
.battery-difference { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:22px 0 0; border-top:1px solid var(--line); margin:0; }
.battery-difference dt { font-size:12px; line-height:1.6; color:var(--muted); }
.battery-difference dd { margin:8px 0 0; font-size:20px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.battery-difference .negative-benefit { color:#b42332; }
.battery-insight { font-size:14px; line-height:1.7; margin:20px 0 8px; }
@media(max-width:700px) {
 .battery-comparison { padding:18px 16px; }
 .battery-choice-grid { grid-template-columns:1fr; gap:10px; }
 .battery-choice { padding:16px; }
 .battery-difference { grid-template-columns:1fr; gap:0; padding-top:8px; }
 .battery-difference>div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:12px 0; }
 .battery-difference dd { margin:0; text-align:right; font-size:18px; }
}
.meter-form-title { margin:20px 0 8px; font-size:18px; color:var(--ink); }
#b2cStepForm .meter-check { display:flex; font-size:14px; }
#b2cStepSmartForm .text-button { display:block; text-align:left; }
@media(max-width:600px) {
 .energy-method-grid { grid-template-columns:1fr; gap:8px; }
 #b2cStepForm .energy-method { align-items:center; padding:12px 14px; }
 .energy-method input { margin:0; }
 .energy-method strong { font-size:15px; }
 .energy-method small { margin-top:2px; }
 .method-badge { margin-top:3px; }
}
.tariff-choice select { width:100%; min-height:48px; padding:13px; font:inherit; color:#142535; background:#fff; border:1px solid #879aaf; border-radius:9px; }
.tariff-choice select:focus-visible { outline:3px solid #1859b7; outline-offset:3px; }
.tariff-time-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tariff-time-grid input { min-width:0; width:100%; box-sizing:border-box; }
.tariff-summary { text-align:left; padding:24px; margin:24px 0; border:1px solid #bdcfe0; background:#f0f6fc; border-radius:14px; }
.tariff-summary h3 { margin:8px 0; color:#142535; }
#gridChargingInsight { font-size:14px; line-height:1.65; }
@media(max-width:420px) { .tariff-time-grid { grid-template-columns:1fr; gap:0; } .tariff-summary { padding:18px; } }

.battery-alternatives { margin:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.battery-alternatives summary { min-height:48px; padding:14px 0; box-sizing:border-box; cursor:pointer; font-size:14px; color:#1859b7; }
.battery-alternatives summary:focus-visible { outline:3px solid #1859b7; outline-offset:3px; border-radius:4px; }
.battery-alternatives .battery-choices { margin:8px 0 20px; }

/* Public release information stays available before and after a roof search. */
body { flex-direction:column; justify-content:flex-start; align-items:center; }
.site-footer { width:100%; max-width:1280px; padding:24px 32px 32px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:13px; color:var(--muted); }
.site-footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.site-footer a,.field-help a,.information-shell a { color:#1859b7; text-underline-offset:4px; }
.information-shell { width:100%; max-width:900px; padding:32px; }
.information-shell main { padding:40px 0; }
.information-shell h1 { font-size:clamp(32px,5vw,52px); line-height:1.15; letter-spacing:-1.5px; margin:12px 0 24px; }
.information-shell h2 { font-size:24px; line-height:1.3; margin:0 0 16px; }
.information-shell h3 { font-size:17px; margin:24px 0 10px; }
.information-shell p,.information-shell li { color:var(--muted); line-height:1.75; }
.information-shell section { margin:28px 0; padding:28px; background:#fff; border:1px solid var(--line); border-radius:14px; scroll-margin-top:24px; }
.information-shell ul { padding-left:22px; }
.information-shell .primary-cta-btn { display:inline-block; text-decoration:none; color:#fff; }
@media(max-width:600px) { .site-footer { padding:24px 16px; } .information-shell { padding:20px 16px; } .information-shell section { padding:20px; } }
