@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap');
.ab{--ink:#0B1F3A;--ink2:#132C50;--volt:#5DBB3F;--volt2:#7ccf5f;--text:#16263d;--muted:#4A5B70;--bg:#F4F7FA;--line:#D6E2EC;--ev:#3E8F27;--test:#2563eb;--solar:#f08c00;--build:#7048e8;font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
.ab *,.ab *::before,.ab *::after{box-sizing:border-box}
.ab h1,.ab h2,.ab h3,.ab h4{font-family:'Outfit',sans-serif;line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;color:inherit;font-weight:700;text-transform:none}
.ab p{margin:0 0 1em}
.ab a{text-decoration:none}
.ab ul,.ab ol{margin:0;padding:0;list-style:none}
.ab-in{max-width:1200px;margin:0 auto;padding:0 20px}
.ab-sec{padding:84px 0;scroll-margin-top:90px}
.ab-kick{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3E8F27;margin-bottom:14px}
.ab-kick::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--volt)}
.ab-dark .ab-kick{color:var(--volt)}
.ab-head{max-width:780px;margin:0 auto 46px;text-align:center}
.ab-head h2{font-size:clamp(1.75rem,3.1vw,2.5rem);color:var(--ink)}
.ab-head p{color:var(--muted);font-size:1.08rem;margin:0}
.ab-dark .ab-head h2{color:#fff}
.ab-dark .ab-head p{color:#b8bfcc}
.ab-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:10px;font-weight:700;font-size:1rem;transition:transform .15s,background .15s,box-shadow .15s;min-height:52px;cursor:pointer;border:0;font-family:inherit}
.ab-btn:hover{transform:translateY(-2px)}
.ab-btn-volt{background:var(--volt);color:var(--ink)!important;box-shadow:0 8px 22px rgba(93,187,63,.28)}
.ab-btn-volt:hover{background:var(--volt2)}
.ab-btn-line{border:2px solid rgba(255,255,255,.3);color:#fff!important;background:transparent}
.ab-btn-line:hover{border-color:#fff}
.ab-btn-ink{background:var(--ink);color:#fff!important}
.ab-btn-ink:hover{background:#262b36}
.ab-btn-out{border:2px solid var(--ink);color:var(--ink)!important;background:transparent}
.ab-btn-out:hover{background:var(--ink);color:#fff!important}
.ab-chk{display:flex;gap:10px;align-items:flex-start;padding:4px 0}
.ab-chk::before{content:"";flex:0 0 20px;height:20px;margin-top:3px;border-radius:6px;background:var(--volt) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230f1115' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.ab-small{font-size:.82rem;color:var(--muted)}
@media(max-width:600px){.ab-sec{padding:58px 0}}
/* ---- from homepage w1 ---- */
/* HERO */
.ab-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:84px 0 70px}
.ab-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 480px at 88% 10%,rgba(93,187,63,.16),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 22px);pointer-events:none}
.ab-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.ab-hero h1{font-size:clamp(2.05rem,4.3vw,3.35rem);margin-bottom:20px}
.ab-hero h1 em{font-style:normal;color:var(--volt)}
.ab-hero-lead{font-size:1.15rem;color:#c7cdd8;max-width:620px;margin-bottom:28px}
.ab-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.ab-hero-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:#dde2ea;font-size:.95rem}
.ab-hero-meta .ab-chk::before{background-color:var(--volt)}
.ab-grant-flag{display:inline-flex;align-items:center;gap:10px;background:rgba(93,187,63,.12);border:1px solid rgba(93,187,63,.4);color:#bfe8ae;border-radius:40px;padding:7px 14px 7px 8px;font-size:.85rem;font-weight:700;margin-bottom:18px}
.ab-grant-flag b{background:var(--volt);color:var(--ink);border-radius:30px;padding:3px 10px;font-size:.75rem;letter-spacing:.04em}
.ab-grant-flag:hover{border-color:var(--volt)}
.ab-pick{background:#fff;color:var(--text);border-radius:18px;padding:26px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.ab-pick h2{font-size:1.2rem;color:var(--ink);margin-bottom:4px}
.ab-pick>p{color:var(--muted);font-size:.92rem;margin-bottom:16px}
.ab-pick-list{display:grid;gap:10px}
.ab-pick-list a{display:flex;align-items:center;gap:14px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;color:var(--ink);font-weight:700;transition:border-color .15s,background .15s,transform .15s}
.ab-pick-list a:hover{border-color:var(--volt);background:#eef8ea;transform:translateX(3px)}
.ab-pick-list a>span:not(.ab-ico){flex:1;line-height:1.3}
.ab-pick-list a small{display:block;font-weight:500;color:var(--muted);font-size:.82rem}
.ab-pick-list a::after{content:"→";color:var(--muted)}
.ab-ico{flex:0 0 42px;height:42px;border-radius:11px;display:grid;place-items:center}
.ab-pick-call{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.ab-pick-call a{font-family:'Outfit',sans-serif;font-weight:700;color:var(--ink);font-size:1.1rem}

/* TRUST BAR */
.ab-trust{background:#fff;border-bottom:1px solid var(--line)}
.ab-trust ul{display:flex;flex-wrap:wrap;justify-content:center}
.ab-trust li{flex:1 1 150px;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 8px;font-size:.88rem;font-weight:700;color:var(--ink);text-align:left;line-height:1.25}
.ab-trust li .ab-rate{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.15rem;color:var(--ink)}
.ab-trust li small{display:block;font-weight:500;color:var(--muted);font-size:.75rem}
.ab-stars{color:#f5a400;letter-spacing:1px;font-size:.95rem}

/* SERVICES */
.ab-svc{background:var(--bg)}
.ab-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ab-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ab-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,17,21,.1)}
.ab-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--c)}
.ab-card-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ab-card-top .ab-ico{flex-basis:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--c) 12%,#fff)}
.ab-card h3{font-size:1.3rem;color:var(--ink);margin:0}
.ab-card-tag{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.ab-card>p{color:var(--muted)}
.ab .ab-card ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:0 0 20px;font-size:.93rem}
.ab-card-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line)}
.ab-card-foot a.ab-more{font-weight:700;color:var(--ink);border-bottom:2px solid var(--volt)}
.ab-card-note{font-size:.82rem;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:20px;padding:5px 11px}
.ab-dom{margin-top:22px;background:var(--ink);color:#fff;border-radius:18px;padding:26px 30px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.ab-dom h3{font-size:1.15rem;margin-bottom:4px}
.ab-dom p{margin:0;color:#b8bfcc;max-width:720px}

/* SECTORS */
.ab-sectors{background:#fff}
.ab-sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ab-sector{border:1px solid var(--line);border-radius:14px;padding:22px 20px;background:#fff}
.ab-sector h3{font-size:1.02rem;color:var(--ink);margin-bottom:6px}
.ab-sector p{font-size:.9rem;color:var(--muted);margin:0}
.ab-sector .ab-ico{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;background:#fff6dc;margin-bottom:12px}
.ab-clients{margin-top:34px;text-align:center}
.ab-clients p{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ab-clients ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.ab-clients li{font-family:'Outfit',sans-serif;font-weight:700;font-size:.95rem;color:#3a404c;padding:10px 18px;border-radius:40px;background:var(--bg);border:1px solid var(--line)}

/* MOBILE BAR */
.ab-mbar{display:none}
@media(max-width:767px){
 .ab-mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(15,17,21,.96);backdrop-filter:blur(6px);box-shadow:0 -6px 20px rgba(0,0,0,.25)}
 .ab-mbar a{min-height:48px;font-size:.95rem;padding:12px}
 body{padding-bottom:72px}
}

@media(max-width:1024px){
 .ab-hero-grid{grid-template-columns:1fr;gap:40px}
 .ab-pick{max-width:560px}
 .ab-trust li{flex-basis:24%}
 .ab-sec-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .ab-svc-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 .ab-hero{padding:56px 0 48px}
 .ab-hero-cta .ab-btn{width:100%}
 .ab-trust li{flex-basis:45%;justify-content:flex-start;padding:12px 6px}
 .ab-card{padding:24px 20px}
 .ab .ab-card ul{grid-template-columns:1fr}
 .ab-sec-grid{grid-template-columns:1fr}
 .ab-dom{padding:22px}
 .ab-dom .ab-btn{width:100%}
}
/* ---- from homepage w2 ---- */
.ab-grants{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.ab-grants::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 420px at 10% 0%,rgba(12,166,120,.18),transparent 60%),radial-gradient(700px 400px at 100% 100%,rgba(93,187,63,.12),transparent 60%);pointer-events:none}
.ab-grants .ab-in{position:relative;z-index:1}
.ab-deadline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;margin:0 auto 40px;max-width:820px;background:rgba(93,187,63,.1);border:1px solid rgba(93,187,63,.45);border-radius:14px;padding:14px 20px;text-align:center;color:#bfe8ae;font-weight:700}
.ab-deadline b{background:var(--volt);color:var(--ink);border-radius:8px;padding:4px 10px;font-size:.8rem;letter-spacing:.06em}
.ab-g-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ab-g{background:#fff;color:var(--text);border-radius:16px;padding:24px 22px;display:flex;flex-direction:column;border-top:5px solid var(--ev)}
.ab-g.edu{border-top-color:var(--volt)}
.ab-g-who{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ab-g h3{font-size:1.08rem;color:var(--ink);margin-bottom:12px}
.ab-g-amt{font-family:'Outfit',sans-serif;font-weight:800;font-size:2rem;line-height:1;color:var(--ink);margin-bottom:4px}
.ab-g-amt small{font-size:.85rem;font-weight:600;color:var(--muted);margin-left:4px}
.ab-g-cap{font-size:.86rem;color:var(--muted);margin-bottom:14px}
.ab-g p{font-size:.9rem;color:var(--muted);margin:0 0 16px;flex:1}
.ab-g a{font-weight:700;color:var(--ink);border-bottom:2px solid var(--volt);align-self:flex-start}
.ab-g-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.ab-g2{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:24px;display:flex;gap:16px;align-items:flex-start}
.ab-g2 .ab-ico{flex:0 0 48px;height:48px;border-radius:12px;display:grid;place-items:center;background:rgba(240,140,0,.18)}
.ab-g2 h3{font-size:1.08rem;margin-bottom:6px}
.ab-g2 p{color:#b8bfcc;font-size:.92rem;margin:0}
.ab-g2 strong{color:#fff}
.ab .ab-g-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px;counter-reset:g}
.ab-g-steps li{counter-increment:g;padding:18px;border-radius:14px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);font-size:.92rem;color:#c7cdd8}
.ab-g-steps li::before{content:counter(g);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--volt);color:var(--ink);font-family:'Outfit',sans-serif;font-weight:800;margin-bottom:10px}
.ab-g-steps b{display:block;color:#fff;margin-bottom:2px}
.ab-g-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:34px}
.ab .ab-g-small{text-align:center;color:#8c94a3;font-size:.8rem;margin:22px auto 0;max-width:760px}
.ab-g-small a{color:#c7cdd8;text-decoration:underline}
@media(max-width:1024px){.ab-g-grid,.ab-g-steps{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ab-g-row2{grid-template-columns:1fr}}
@media(max-width:560px){.ab-g-grid,.ab-g-steps{grid-template-columns:1fr}.ab-g-cta .ab-btn{width:100%}.ab-g2{padding:20px}}
/* ---- from homepage w3 ---- */
.ab-rev{background:#fff}
.ab-rev-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.ab-score{background:var(--ink);color:#fff;border-radius:20px;padding:32px;position:relative;overflow:hidden}
.ab-score::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:36px solid rgba(93,187,63,.1)}
.ab-score h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:10px}
.ab-score>p{color:#b8bfcc}
.ab-score-row{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;margin-top:14px;position:relative;z-index:1}
.ab-score-row .ab-big{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.9rem;color:var(--volt);line-height:1}
.ab-score-row .ab-stars{display:block;font-size:1.15rem;color:#5DBB3F;letter-spacing:2px}
.ab-score-row span small{display:block;color:#b8bfcc;font-size:.85rem}
.ab-score-row a{margin-left:auto;font-weight:700;color:#fff;border-bottom:2px solid var(--volt);white-space:nowrap;font-size:.92rem}
.ab-score .ab-btn{margin-top:22px;width:100%;position:relative;z-index:1}
.ab-prom h3{font-size:1.4rem;color:var(--ink);margin-bottom:6px}
.ab-prom>p{color:var(--muted)}
.ab .ab-prom-list{display:grid;gap:12px;margin-top:18px}
.ab-prom-list li{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
.ab-num{flex:0 0 38px;height:38px;border-radius:10px;background:var(--volt);color:var(--ink);display:grid;place-items:center;font-family:'Outfit',sans-serif;font-weight:800}
.ab-prom-list b{display:block;color:var(--ink);font-size:1.02rem}
.ab-prom-list span{color:var(--muted);font-size:.93rem}
@media(max-width:900px){.ab-rev-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ab-score{padding:24px}.ab-score-row{flex-wrap:wrap}.ab-score-row a{margin-left:0}}
/* ---- from homepage w4 ---- */
/* WHY */
.ab-why{background:var(--bg)}
.ab-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ab-why-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.ab-why-card .ab-ico{width:48px;height:48px;border-radius:12px;background:#fff6dc;display:grid;place-items:center;margin-bottom:14px}
.ab-why-card h3{font-size:1.1rem;color:var(--ink)}
.ab-why-card p{font-size:.94rem;color:var(--muted);margin:0}

/* PROCESS */
.ab-proc{background:#fff}
.ab-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s;position:relative}
.ab-step{counter-increment:s;padding:26px 22px;border-radius:16px;background:var(--bg);position:relative}
.ab-step::before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--ink);color:var(--volt);font-family:'Outfit',sans-serif;font-weight:800;font-size:1.2rem;margin-bottom:14px}
.ab-step h3{font-size:1.08rem;color:var(--ink)}
.ab-step p{font-size:.93rem;color:var(--muted);margin:0}

/* AREAS */
.ab-areas{background:var(--bg)}
.ab-area-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ab-area-wrap h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink)}
.ab-area-wrap>div>p{color:var(--muted)}
.ab-chips{display:flex;flex-wrap:wrap;gap:8px}
.ab-chips li{font-weight:700;font-size:.9rem;color:var(--ink);padding:9px 15px;border-radius:30px;background:#fff;border:1px solid var(--line)}
.ab-base{background:var(--ink);color:#fff;border-radius:18px;padding:30px}
.ab-base h3{font-size:1.25rem;margin-bottom:8px}
.ab-base p{color:#b8bfcc;margin:0 0 18px}
.ab-base dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:0;font-size:.95rem}
.ab-base dt{color:var(--volt);font-weight:700}
.ab-base dd{margin:0;color:#dde2ea}
.ab-base dd a{color:#fff;text-decoration:underline}

/* FAQ */
.ab-faq{background:#fff}
.ab-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}
.ab-faq-side{position:sticky;top:110px}
.ab-faq-side h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink)}
.ab-faq-side>p{color:var(--muted)}
.ab-faq-card{background:var(--ink);color:#fff;border-radius:16px;padding:24px;margin-top:22px}
.ab-faq-card small{display:block;color:#8c94a3;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.ab-faq-card a.ab-tel{display:block;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.65rem;color:var(--volt)!important;margin:4px 0 2px}
.ab-faq-card span{display:block;font-size:.9rem;color:#b8bfcc;margin-bottom:16px}
.ab-faq-card .ab-btn{width:100%}
.ab-faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--bg);transition:background .2s,box-shadow .2s}
.ab-faq details[open]{background:#fff;box-shadow:0 10px 26px rgba(15,17,21,.08)}
.ab-faq summary{cursor:pointer;list-style:none;padding:18px 58px 18px 20px;font-family:'Outfit',sans-serif;font-weight:700;font-size:1rem;line-height:1.35;color:var(--ink);position:relative}
.ab-faq summary::-webkit-details-marker{display:none}
.ab-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:8px;background:#fff1c4;display:grid;place-items:center;font-size:1.15rem;line-height:1}
.ab-faq details[open] summary::after{content:"–";background:var(--volt)}
.ab-faq-a{padding:0 20px 18px;color:var(--muted)}
.ab-faq-a p:last-child{margin:0}
.ab-faq-a a{color:var(--ink);font-weight:700;text-decoration:underline}

/* QUOTE */
.ab-quote{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.ab-quote::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 460px at 0% 0%,rgba(93,187,63,.14),transparent 60%);pointer-events:none}
.ab-q-grid{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.ab-q-info h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.ab-q-info>p{color:#b8bfcc;font-size:1.06rem}
.ab .ab-q-list{display:grid;gap:12px;margin:24px 0}
.ab-q-list li{display:flex;gap:12px;color:#dde2ea;font-size:.95rem}
.ab-q-list b{flex:0 0 30px;height:30px;border-radius:8px;background:var(--volt);color:var(--ink);display:grid;place-items:center;font-family:'Outfit',sans-serif}
.ab-q-call{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:20px;color:#fff!important}
.ab-q-call small{display:block;color:#8c94a3;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.ab-q-call strong{display:block;font-family:'Outfit',sans-serif;font-size:1.65rem;color:var(--volt);margin:4px 0}
.ab-q-call span{font-size:.9rem;color:#b8bfcc}
.ab-form{background:#fff;color:var(--text);border-radius:20px;padding:32px;box-shadow:0 30px 60px rgba(0,0,0,.35);margin:0}
.ab-form fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}
.ab-form legend{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.02rem;color:var(--ink);padding:0;margin-bottom:12px}
.ab-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ab-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ab-field label{font-size:.88rem;font-weight:700;color:var(--ink)}
.ab-field label em{font-style:normal;color:#c0392b}
.ab-field label small{font-weight:400;color:var(--muted)}
.ab .ab-form input[type=text],.ab .ab-form input[type=email],.ab .ab-form input[type=tel],.ab .ab-form select,.ab .ab-form textarea{width:100%;min-height:50px;padding:12px 14px;font:inherit;font-size:16px;color:var(--text);background:#fff;border:1.5px solid #cfd5df;border-radius:10px;box-shadow:none;-webkit-appearance:none;appearance:none;margin:0}
.ab .ab-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%235b6270' stroke-width='2'/%3E%3C/svg%3E") right 12px center/18px no-repeat;padding-right:40px}
.ab .ab-form textarea{min-height:104px;resize:vertical}
.ab .ab-form input:focus,.ab .ab-form select:focus,.ab .ab-form textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(93,187,63,.45)}
.ab-pills{display:flex;flex-wrap:wrap;gap:8px}
.ab-pill{position:relative;cursor:pointer;margin:0}
.ab-pill input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ab-pill span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 15px;border:1.5px solid #cfd5df;border-radius:10px;font-size:.9rem;font-weight:700;color:var(--ink);background:#fff;transition:all .15s;user-select:none}
.ab-pill:hover span{border-color:var(--volt)}
.ab-pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.ab-pill input:checked+span::before{content:"✓";color:var(--volt);font-weight:800}
.ab-pill input:focus-visible+span{box-shadow:0 0 0 3px rgba(93,187,63,.55)}
.ab-check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--muted);margin:0 0 14px;cursor:pointer}
.ab .ab-check input{width:20px;height:20px;margin:2px 0 0;flex:0 0 20px;accent-color:var(--ink)}
.ab-check strong{color:var(--ink)}
.ab-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ab-submit{width:100%;font-size:1.05rem;min-height:56px}
.ab-msg{font-size:.82rem;color:#c0392b;font-weight:700;display:none}
.ab-bad .ab-msg{display:block}
.ab .ab-form .ab-bad input,.ab .ab-form .ab-bad select{border-color:#c0392b}
.ab-bad .ab-pill span{border-color:#e6a49c}
.ab-status{display:none;margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.92rem;background:#fdecea;color:#8e2a1f}
.ab-status.show{display:block}
.ab-status a{color:#8e2a1f;font-weight:700}
.ab-done{display:none;text-align:center;padding:30px 10px}
.ab-done.show{display:block}
.ab-done-ico{width:72px;height:72px;border-radius:50%;background:#e3f8f1;display:grid;place-items:center;margin:0 auto 18px}
.ab-done h3{font-size:1.45rem;color:var(--ink)}
.ab-done p{color:var(--muted)}
.ab-done a{color:var(--ink);font-weight:700}

@media(max-width:1024px){
 .ab-why-grid,.ab-steps{grid-template-columns:1fr 1fr}
 .ab-area-wrap,.ab-faq-grid,.ab-q-grid{grid-template-columns:1fr;gap:32px}
 .ab-faq-side{position:static}
 .ab-faq-card{max-width:520px}
}
@media(max-width:600px){
 .ab-why-grid,.ab-steps,.ab-row{grid-template-columns:1fr}
 .ab-row{gap:0}
 .ab-form{padding:22px 18px}
 .ab-faq summary{font-size:.96rem;padding:16px 54px 16px 16px}
 .ab-faq-a{padding:0 16px 16px}
 .ab-base{padding:24px}
}
/* ---- local page additions ---- */
.ab-lp{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip}
html,body{overflow-x:clip}
.ab-hero .ab-kick{display:flex}
.ab-lp-local{background:#fff}
.ab-lp-local-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.ab-lp-local-grid h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink)}
.ab-lp-local-grid>div>p{color:var(--muted)}
.ab-lp-local-grid>div>p strong{color:var(--ink)}
.ab .ab-lp-local .ab-chips{display:flex;flex-wrap:wrap;gap:8px}
.ab-lp-local .ab-chips li{font-weight:700;font-size:.88rem;color:var(--ink);padding:8px 14px;border-radius:30px;background:var(--bg);border:1px solid var(--line)}
.ab-lp-side{background:var(--ink);color:#fff;border-radius:18px;padding:28px;position:sticky;top:110px}
.ab-lp-side h3{font-size:1.15rem;margin-bottom:14px}
.ab .ab-lp-side ul{display:grid;gap:10px;margin:0 0 20px}
.ab-lp-side li{font-size:.92rem;color:#c7cdd8}
.ab-lp-side b{color:#fff}
.ab-lp-side .ab-btn{width:100%}
.ab-ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ab-ev{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;border-top:4px solid var(--ev)}
.ab-ev h3{font-size:1.1rem;color:var(--ink);margin:8px 0 8px}
.ab-ev p{font-size:.93rem;color:var(--muted);margin:0}
.ab-ev-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#087f5b;background:#e3f8f1;border-radius:20px;padding:4px 10px}
.ab-ev-tag-home{color:#a85d00;background:#fff1dc}
.ab-ev-tag-solar{color:#5f3dc4;background:#efeafe}
.ab-brands{margin-top:30px;text-align:center}
.ab-brands p{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ab .ab-brands ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:12px}
.ab-brands li{font-family:'Outfit',sans-serif;font-weight:700;color:var(--ink);padding:10px 18px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.ab-brands small{color:var(--muted);font-size:.84rem}
.ab-lp-near{margin-top:22px;border:1px solid var(--line);border-radius:16px;padding:20px}
.ab-lp-near h3{font-size:1rem;color:var(--ink);margin-bottom:10px}
.ab .ab-lp-near ul{display:grid;gap:6px}
.ab-lp-near a{color:var(--ink);font-weight:600;font-size:.92rem;border-bottom:1px solid var(--volt)}
.ab-lp-near a:hover{color:#3E8F27}
@media(max-width:1024px){
 .ab-lp-local-grid{grid-template-columns:1fr;gap:30px}
 .ab-lp-side{position:static;max-width:560px}
 .ab-ev-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .ab-ev-grid{grid-template-columns:1fr}
 .ab-lp-side{padding:22px}
}
/* ---- v1.0.1: stop theme link underlines leaking in ---- */
.ab.ab-lp a,.ab.ab-lp a:hover,.ab.ab-lp a:focus{text-decoration:none}
.ab.ab-lp .ab-faq-a a,.ab.ab-lp .ab-g-small a,.ab.ab-lp .ab-base dd a{text-decoration:underline}
.ab.ab-lp .ab-btn,.ab.ab-lp .ab-btn:hover{text-decoration:none}
.ab.ab-lp h1,.ab.ab-lp h2,.ab.ab-lp h3{font-family:'Outfit',sans-serif}
.ab.ab-lp{font-family:'Inter',system-ui,-apple-system,sans-serif}
/* v1.3.0 testing pages */
.ab-lp-test .ab-ev{border-top-color:var(--test)}
.ab-ev-tag-test{color:#1d4ed8;background:#e6efff}
.ab-often{background:#fff}
.ab-often-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.ab-often-grid h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink)}
.ab-often-grid>div>p{color:var(--muted)}
.ab-often-grid>div>p strong{color:var(--ink)}
.ab-often-grid .ab-btn{margin-top:8px}
.ab-often-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ab-often-row{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;padding:13px 20px;font-size:.94rem;color:var(--text);border-top:1px solid var(--line)}
.ab-often-row:nth-child(odd){background:var(--bg)}
.ab-often-row b{color:var(--ink)}
.ab-often-h{border-top:0;background:var(--ink)!important;color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.ab-codes-sec{background:var(--bg)}
.ab-codes{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ab-code{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;border-top:4px solid var(--c,#999)}
.ab-code b{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:34px;padding:0 10px;border-radius:9px;background:var(--c);color:#fff;font-family:'Outfit',sans-serif;font-weight:800}
.ab-code h3{font-size:1.05rem;color:var(--ink);margin:12px 0 6px}
.ab-code p{font-size:.92rem;color:var(--muted);margin:0}
.ab-code-c1{--c:#c92a2a}.ab-code-c2{--c:#e8590c}.ab-code-fi{--c:#2563eb}.ab-code-c3{--c:#2b8a3e}
.ab-codes-note{max-width:820px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:.95rem}
@media(max-width:1024px){
 .ab-often-grid{grid-template-columns:1fr;gap:28px}
 .ab-codes{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .ab-codes{grid-template-columns:1fr}
 .ab-often-row{padding:12px 14px;font-size:.88rem}
}
/* v1.4.0 electrician pages */
.ab-lp-elec .ab-ev{border-top-color:var(--build)}
.ab-ev-tag-build{color:#5f3dc4;background:#efeafe}
.ab-lp-elec .ab-proc{background:var(--bg)}
/* v1.5.0 general pages */
.ab .ab-gsec-bg{background:var(--bg)}
.ab .ab-gsec-white{background:#fff}
.ab-lp-solar .ab-ev{border-top-color:var(--solar)}
.ab-lp-cu .ab-ev{border-top-color:var(--build)}
.ab-ev-tag-sun{color:#a85d00;background:#fff1dc}
.ab-prose-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:start}
.ab-prose-grid:not(:has(aside)){grid-template-columns:1fr;max-width:820px}
.ab-prose h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink);margin-bottom:14px}
.ab-prose h3{font-size:1.2rem;color:var(--ink);margin:26px 0 8px}
.ab-prose p{color:var(--muted);margin:0 0 14px}
.ab-prose p strong{color:var(--ink)}
.ab .ab-prose ul{margin:0 0 16px;display:grid;gap:8px}
.ab-prose li{color:var(--muted)}
.ab-prose li b{color:var(--ink)}
.ab-prose-side{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:24px;position:sticky;top:110px}
.ab-prose-side h3{font-size:1.05rem;color:var(--ink);margin-bottom:10px}
.ab .ab-prose-side ul{display:grid;gap:8px;margin:0 0 18px}
.ab-prose-side li{font-size:.92rem;color:var(--text)}
.ab-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ab-hub-g{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.ab-hub-g h3{font-size:1rem;color:var(--ink);margin-bottom:10px}
.ab .ab-hub-g ul{display:grid;gap:6px}
.ab-hub-g a{color:var(--ink);font-weight:600;font-size:.92rem;border-bottom:1px solid var(--volt)}
.ab-hub-g a:hover{color:#3E8F27}
@media(max-width:1024px){
 .ab-prose-grid{grid-template-columns:1fr;gap:28px}
 .ab-prose-side{position:static}
 .ab-hub{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.ab-hub{grid-template-columns:1fr}}
/* v1.9.0 photos */
.ab-gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ab-gal-f{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.ab-gal-f img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.ab-gal-f figcaption{padding:12px 16px;font-size:.9rem;font-weight:700;color:var(--ink)}
@media(max-width:900px){.ab-gal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ab-gal-grid{grid-template-columns:1fr}}
.ab-gal-f video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#0B1F3A}
/* CCC reviews */
.ccc-revs h3{font-size:1.3rem;color:var(--ink);margin:6px 0 16px}
.ccc-rev{margin:0 0 14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.ccc-rev-stars{color:#f5a623;letter-spacing:2px;font-size:1rem;margin-bottom:6px}
.ccc-rev blockquote{margin:0 0 10px;color:var(--text);font-size:.98rem;line-height:1.6}
.ccc-rev figcaption{font-weight:700;color:var(--ink);font-size:.9rem}
.ab .ccc-rev-points{display:grid;gap:8px;margin-top:6px}
.ccc-rev-points li{font-weight:600;color:var(--ink);font-size:.95rem}
.ccc-elfsight{min-height:260px;margin-bottom:14px}
