/* Lead capture: one clear next step, with an optional solar estimate. */
.lead-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:start; background:radial-gradient(ellipse at 0 0,#21634a55,transparent 55%),#062f23; color:#fff; }
.lead-intro { padding-top:20px; position:sticky; top:110px; }
.lead-intro .eyebrow { color:#b9d8c6; }
.lead-intro h2 { font-size:clamp(34px,3.5vw,50px); letter-spacing:-.05em; line-height:1.12; }
.lead-intro h2 em { color:#d9f2a9; }
.lead-intro>p { color:#d4e4da; font-size:17px; max-width:470px; margin-top:22px; }
.lead-benefits { list-style:none; padding:0; margin:28px 0; display:grid; gap:16px; font-size:15px; color:#e2ece5; }
.lead-benefits li { display:flex; gap:12px; align-items:center; }
.lead-benefits li>span { display:grid; place-items:center; width:26px; height:26px; flex-shrink:0; border-radius:50%; background:#ffffff12; color:#d9f2a9; }
.lead-calc-invite { display:flex; gap:18px; padding:24px; border:1px solid #ffffff2a; border-radius:16px; background:#ffffff09; max-width:490px; }
.lead-sun { font-size:35px; color:#ead778; line-height:1.1; }
.lead-calc-invite strong { font-size:17px; }
.lead-calc-invite p { font-size:14px; color:#c6dace; margin:8px 0; }
.lead-inline { border:0; background:none; padding:8px 0; min-height:44px; color:inherit; font:inherit; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.lead-card { min-width:0; background:#fff; color:var(--ink); border:1px solid #dde7df; border-radius:22px; padding:28px; box-shadow:0 24px 60px #00180c33; }
.lead-switch { display:flex; gap:4px; background:#eef3ee; border-radius:10px; padding:4px; margin-bottom:26px; }
.lead-switch button { flex:1; min-height:46px; border:0; border-radius:8px; background:transparent; color:#506359; font-size:14px; font-weight:650; padding:9px 10px; cursor:pointer; }
.lead-switch button[aria-pressed=true] { background:var(--green); color:#fff; box-shadow:0 3px 8px #0c492522; }
.lead-kicker { display:block; font-size:10px; letter-spacing:.11em; font-weight:700; color:#54725e; }
.lead-card-heading h3 { margin:10px 0; font-size:27px; letter-spacing:-.035em; }
.lead-card-heading p { font-size:15px; color:var(--muted); }
.lead-card-heading { margin-bottom:22px; }
.lead-form { display:flex; flex-direction:column; gap:16px; }
.lead-form label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:600; min-width:0; }
.lead-form input,.lead-form select,.lead-form textarea { width:100%; min-width:0; font:inherit; font-size:16px; font-weight:400; color:var(--ink); background:#f9fbf8; border:1px solid #cedbd2; border-radius:8px; padding:12px; min-height:48px; }
.lead-form input:focus-visible,.lead-form select:focus-visible,.lead-form textarea:focus-visible { outline:2px solid #3c865b; outline-offset:2px; }
.lead-form textarea { resize:vertical; }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#77877c; font-size:14px; }
.lead-field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lead-extra summary,.lead-assumptions summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:14px; color:#4e6858; }
.lead-extra summary span { color:#78857c; font-size:12px; }
.lead-submit { width:100%; justify-content:space-between; text-align:left; cursor:pointer; min-height:50px; gap:14px; }
.lead-privacy { color:#6c7b71; font-size:12px; line-height:1.6; margin:0; }
.lead-unit { display:flex; gap:20px; border-bottom:1px solid #dce5dd; }
.lead-unit button { border:0; padding:10px 0; min-height:44px; background:none; font-size:14px; color:#68786c; cursor:pointer; }
.lead-unit button[aria-pressed=true] { color:var(--green); font-weight:700; box-shadow:0 2px var(--green); }
.lead-amount { display:flex; align-items:center; gap:12px; padding:14px 16px; background:#f1f7ec; border:1px solid #c9dcc2; border-radius:12px; }
.lead-amount>span { color:#4f7352; font-size:16px; flex-shrink:0; }
.lead-amount input { font-family:var(--display); font-size:36px; font-weight:650; letter-spacing:-.04em; line-height:1.2; padding:0; min-height:44px; border:0; background:none; color:var(--green); }
.lead-hint { font-size:12px; line-height:1.6; color:#67776c; }
.lead-presets { display:flex; gap:8px; }
.lead-presets button { flex:1; padding:8px; min-height:44px; background:#fff; border:1px solid #d7e2d9; border-radius:8px; font-size:13px; color:#42674c; cursor:pointer; }
.lead-presets button:hover { background:#edf6e9; border-color:#93b593; }
.lead-assumptions { border-top:1px solid #e3eae3; }
.lead-assumptions p { font-size:12px; color:#6c7b71; line-height:1.6; margin-bottom:12px; }
.lead-assumptions label { margin-bottom:8px; }
.lead-assumptions input { margin-bottom:10px; }
.lead-result { margin-top:24px; padding:24px; border-radius:14px; background:linear-gradient(140deg,#eef7e4,#f8faf3); border:1px solid #d6e5c7; }
.lead-result>strong { display:block; font-family:var(--display); font-size:clamp(30px,3.5vw,44px); line-height:1.15; letter-spacing:-.04em; color:var(--green); margin:12px 0; }
.lead-result>p { font-size:15px; color:#486149; margin-bottom:14px; }
.lead-result>p.lead-hint { font-size:12px; }
.lead-result-next { display:block; text-align:center; font-size:12px; color:#62795e; margin-top:12px; }
.lead-simulation-summary { padding:14px 16px; margin-bottom:20px; background:#edf5e7; border-left:3px solid #709b59; border-radius:6px; }
.lead-simulation-summary>span { display:block; font-size:12px; color:#4e6c48; }
.lead-simulation-summary>strong { display:block; font-size:16px; margin-top:5px; }
.lead-section [hidden] { display:none!important; }
@media(max-width:1000px) {
 .lead-section { gap:28px; }
 .lead-card { padding:22px; }
 .lead-field-row { grid-template-columns:1fr; }
 .lead-intro h2 { font-size:36px; }
}
@media(max-width:760px) {
 .lead-section { grid-template-columns:minmax(0,1fr); gap:28px; }
 .lead-intro { position:static; padding:0; }
 .lead-intro h2 { font-size:34px; }
 .lead-intro>p { font-size:16px; margin-top:18px; }
 .lead-benefits { margin:22px 0; gap:12px; font-size:14px; }
 .lead-calc-invite { padding:18px; gap:12px; }
 .lead-calc-invite strong { font-size:16px; }
 .lead-card { padding:20px 16px; border-radius:16px; }
 .lead-switch { margin-bottom:22px; }
 .lead-switch button { font-size:13px; padding:9px 8px; }
 .lead-card-heading h3 { font-size:24px; }
 .lead-amount { padding:12px; gap:10px; }
 .lead-amount input { font-size:32px; }
 .lead-amount>span { font-size:14px; }
 .lead-result { padding:18px 16px; }
}
