@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap";:root{--color-primary:#0a1f33;--color-primary-light:#1a3d5c;--color-accent:#e8a317;--color-accent-dark:#c9890f;--color-green:#1e7a46;--color-gray-900:#0a1f33;--color-gray-700:#3d4a56;--color-gray-500:#6b7785;--color-gray-400:#9aa5b1;--color-gray-100:#f7f4ef;--color-white:#fff;--font-display:"Outfit", system-ui, sans-serif;--font-body:"Outfit", system-ui, sans-serif;--container:1180px;--radius:4px;--shadow-sm:0 1px 2px #0a1f330f;--shadow-md:0 12px 40px #0a1f331f;--header-h:72px;--sticky-h:64px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-gray-900);background:var(--color-gray-100);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary-light);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-primary)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-primary);letter-spacing:-.02em;margin:0 0 .65em;font-weight:600;line-height:1.15}h1{font-size:clamp(2.35rem,5.5vw,4rem)}h2{font-size:clamp(1.75rem,3.5vw,2.65rem)}h3{font-size:1.35rem}p{margin:0 0 1em}ul{padding-left:1.2em}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius);min-height:52px;font-family:var(--font-body);letter-spacing:.01em;cursor:pointer;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.6rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .25s,background .25s,border-color .25s,color .25s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary{background:var(--color-accent);color:var(--color-primary)}.btn-primary:hover{background:var(--color-accent-dark);color:var(--color-primary);transform:translateY(-2px)}.btn-secondary{color:var(--color-white);background:0 0;border-color:#ffffffd9}.btn-secondary:hover{color:var(--color-white);background:#ffffff1f}.btn-outline{border-color:var(--color-primary);color:var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary);color:var(--color-white)}.cta-group{flex-wrap:wrap;gap:.85rem;display:flex}.site-header{z-index:100;backdrop-filter:blur(14px);height:var(--header-h);background:#f7f4efe0;border-bottom:1px solid #0a1f330f;transition:background .3s,box-shadow .3s;position:sticky;top:0}.site-header.is-scrolled{background:#f7f4eff5;box-shadow:0 8px 30px #0a1f330f}.header-inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;width:auto;height:56px;display:block}@media (width>=960px){.brand-logo{height:64px}}.footer-brand{margin-bottom:1rem;text-decoration:none;display:inline-block}.footer-brand img{object-fit:contain;width:auto;height:88px}.nav-desktop{align-items:center;gap:.35rem;display:none}.nav-desktop>a,.nav-dropdown>summary{color:var(--color-primary);border-radius:var(--radius);cursor:pointer;padding:.45rem .65rem;font-size:.9rem;font-weight:550;text-decoration:none;list-style:none}.nav-desktop>a:hover,.nav-dropdown>summary:hover{background:#0a1f330d}.nav-dropdown{position:relative}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown-menu{background:var(--color-white);min-width:200px;box-shadow:var(--shadow-md);z-index:20;border:1px solid #0a1f3314;border-radius:8px;gap:.15rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0}.nav-dropdown-menu a{color:var(--color-primary);border-radius:6px;padding:.55rem .75rem;font-size:.9rem;text-decoration:none}.nav-dropdown-menu a:hover{background:var(--color-gray-100)}.header-actions{align-items:center;gap:.5rem;display:flex}.header-phone{color:var(--color-primary);font-size:.9rem;font-weight:600;text-decoration:none;display:none}.menu-toggle{border-radius:var(--radius);background:var(--color-white);cursor:pointer;border:1px solid #0a1f3326;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.nav-mobile{inset:var(--header-h) 0 auto 0;background:var(--color-white);box-shadow:var(--shadow-md);border-bottom:1px solid #0a1f331a;padding:1rem;display:none;position:absolute}.nav-mobile.is-open{gap:.5rem;display:grid}.nav-mobile a{color:var(--color-primary);border-radius:6px;padding:.75rem;font-weight:500;text-decoration:none}.nav-mobile a:hover{background:var(--color-gray-100)}@media (width>=960px){.nav-desktop{display:flex}.menu-toggle{display:none}.header-phone{display:inline}.header-actions .btn{display:inline-flex}.header-actions [data-desktop-sim]{display:inline-flex!important}}.hero{min-height:calc(100svh - var(--header-h));color:var(--color-white);background:#0a1f33;align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{will-change:transform;background:url(/images/hero-rooftop.jpg) 50%/cover no-repeat;transition:transform .1s linear;position:absolute;inset:-8% -4%;transform:translate(0,0)scale(1.08)}.hero-shade{pointer-events:none;background:linear-gradient(105deg,#0a1f33b8 0%,#0a1f336b 38%,#0a1f332e 68%,#0a1f3347 100%),linear-gradient(#0000 58%,#0a1f338c 100%);position:absolute;inset:0}.hero-inner{z-index:1;max-width:640px;padding:5rem 0 4.5rem;position:relative}.hero-brand{opacity:0;align-items:center;margin:0 0 1.25rem;animation:.9s 80ms forwards fadeUp;display:flex}.hero-logo{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 12px 32px #0006);width:clamp(140px,28vw,220px);height:auto}.hero h1{color:var(--color-white);opacity:0;margin-bottom:1rem;font-size:clamp(1.85rem,4vw,2.85rem);font-weight:550;animation:.9s .22s forwards fadeUp}.hero-lead{color:#ffffffe0;opacity:0;max-width:32rem;margin-bottom:0;font-size:1.08rem;animation:.9s .36s forwards fadeUp}.hero .cta-group{opacity:0;margin-top:1.85rem;animation:.9s .5s forwards fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-brand,.hero h1,.hero-lead,.hero .cta-group,.reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.hero-media{transform:none!important}}.trust-bar{background:var(--color-white);border-bottom:1px solid #0a1f330f;padding:1.15rem 0}.trust-bar-inner{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-700);flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem .35rem;font-size:.82rem;font-weight:650;display:flex}.trust-sep{background:var(--color-accent);border-radius:50%;flex-shrink:0;width:4px;height:4px;margin:0 .65rem}.section{padding:5rem 0}.section-tight{padding:2.5rem 0 0}.section-alt{background:var(--color-white)}.section-dark{background:var(--color-primary);color:#ffffffeb}.section-dark h2,.section-dark h3{color:var(--color-white)}.section-intro{max-width:38rem;margin-bottom:2.75rem}.section-intro p{color:var(--color-gray-700)}.section-dark .section-intro p{color:#ffffffc7}.eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-dark);margin:0 0 .85rem;font-size:.75rem;font-weight:700}.page-hero .eyebrow{color:var(--color-accent)}.center{text-align:center;margin-inline:auto}.reveal{opacity:0;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.funnel-strip{background:radial-gradient(ellipse at 20% 0%, #e8a3171a, transparent 50%), var(--color-gray-100)}.funnel-rail{border-top:1px solid #0a1f331f;gap:0;margin:0 0 2.5rem;padding:0;list-style:none;display:grid}.funnel-rail li{border-bottom:1px solid #0a1f331f;padding:1.35rem 0}.funnel-rail a{color:inherit;text-decoration:none;transition:padding-left .3s;display:block}.funnel-rail a:hover{padding-left:.65rem}.funnel-rail strong{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.35rem;font-size:1.35rem;font-weight:600;display:block}.funnel-rail span{color:var(--color-gray-700);font-size:.98rem}@media (width>=800px){.funnel-rail{border-top:none;grid-template-columns:repeat(3,1fr);gap:0}.funnel-rail li{border-bottom:none;border-left:1px solid #0a1f331f;padding:0 1.5rem}.funnel-rail li:first-child{border-left:none;padding-left:0}}.funnel-visual{border-radius:2px;margin:0;overflow:hidden}.funnel-visual img{aspect-ratio:16/9;object-fit:cover;width:100%;transition:transform 1.2s cubic-bezier(.22,1,.36,1);transform:scale(1.02)}.funnel-visual:hover img{transform:scale(1.06)}.band{min-height:min(72vh,640px);color:var(--color-white);margin-bottom:.65rem;text-decoration:none;display:block;position:relative;overflow:hidden}.band-bg{background-position:50%;background-size:cover;transition:transform 1.1s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(1.04)}.band:hover .band-bg{transform:scale(1.1)}.band-shade{background:linear-gradient(100deg,#0a1f33c7 0%,#0a1f3359 48%,#0a1f3326 100%);position:absolute;inset:0}.band--pac .band-shade{background:linear-gradient(260deg,#0a1f33c7 0%,#0a1f3359 48%,#0a1f3326 100%)}.band-inner{z-index:1;flex-direction:column;justify-content:flex-end;max-width:520px;min-height:min(72vh,640px);padding:3.5rem 0;display:flex;position:relative}.band-inner--right{text-align:right;align-items:flex-end;margin-left:auto}.band h3{color:var(--color-white);margin-bottom:.5rem;font-size:clamp(2rem,4vw,3rem)}.band p{color:#ffffffe0;margin:0 0 1.25rem;font-size:1.05rem}.band-cta{letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid var(--color-accent);color:var(--color-white);padding-bottom:.2rem;font-size:.92rem;font-weight:700;display:inline-flex}.split-feature{align-items:center;gap:2.5rem;display:grid}@media (width>=900px){.split-feature--photo{grid-template-columns:1.05fr .95fr;gap:3.5rem}}.split-copy .plain-list{margin:0 0 1.75rem;padding:0;list-style:none}.split-copy .plain-list li{color:var(--color-gray-700);border-bottom:1px solid #0a1f331a;padding:.7rem 0 .7rem 1.15rem;position:relative}.split-copy .plain-list li:before{content:"";background:var(--color-accent);width:.45rem;height:.45rem;position:absolute;top:1.15rem;left:0}.split-photo{margin:0;overflow:hidden}.split-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform 1s}.split-photo:hover img{transform:scale(1.04)}.process-rail{counter-reset:proc;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=800px){.process-rail{grid-template-columns:repeat(5,1fr);gap:1.25rem}}.process-rail li{counter-increment:proc}.process-rail li:before{content:counter(proc, decimal-leading-zero);font-family:var(--font-display);letter-spacing:.08em;color:var(--color-accent-dark);margin-bottom:.65rem;font-size:.85rem;font-weight:600;display:block}.process-rail strong{font-family:var(--font-display);color:var(--color-primary);margin-bottom:.35rem;font-size:1.15rem;display:block}.process-rail span{color:var(--color-gray-700);font-size:.92rem}.grid-3{gap:1.5rem;display:grid}@media (width>=768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-2{gap:1.5rem;display:grid}@media (width>=768px){.grid-2{grid-template-columns:repeat(2,1fr)}}.media-tile{color:inherit;background:var(--color-white);text-decoration:none;transition:transform .35s;display:block;overflow:hidden}.media-tile:hover{transform:translateY(-4px)}.media-tile-img{aspect-ratio:4/3;background-position:50%;background-size:cover;transition:transform .7s}.media-tile:hover .media-tile-img{transform:scale(1.05)}.media-tile-body{padding:1.15rem 0 .35rem}.media-tile-body h3{margin-bottom:.35em;font-size:1.2rem}.media-tile-body p{color:var(--color-gray-700);margin:0;font-size:.95rem}.media-tile .more{color:var(--color-primary);margin-top:.75rem;font-weight:700;display:inline-block}.service-link{color:inherit;border-top:1px solid #0a1f331f;padding:1.5rem 0;text-decoration:none;transition:padding-left .25s;display:block}.service-link:hover{padding-left:.5rem}.service-link h3{margin-bottom:.4em}.service-link p{color:var(--color-gray-700);margin:0}.service-link .more{color:var(--color-primary-light);margin-top:.75rem;font-weight:600;display:inline-block}.steps{counter-reset:step;gap:1.25rem;display:grid}@media (width>=768px){.steps{grid-template-columns:repeat(5,1fr)}}.step{padding-top:.5rem;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--color-accent);width:2rem;height:2rem;color:var(--color-primary);font-family:var(--font-display);border-radius:2px;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.9rem;font-weight:700;display:flex}.step h3{margin-bottom:.35em;font-size:1rem}.step p{color:var(--color-gray-700);margin:0;font-size:.92rem}.badge-row{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.badge{color:var(--color-green);letter-spacing:.04em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:.4rem;padding:0;font-size:.85rem;font-weight:700;display:inline-flex}.prose{max-width:46rem}.prose h2{margin-top:2rem}.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.95rem}.prose th,.prose td{text-align:left;border:1px solid #0a1f331f;padding:.75rem}.prose th{background:var(--color-white)}.faq details{border-bottom:1px solid #0a1f331f;padding:1rem 0}.faq summary{cursor:pointer;font-family:var(--font-display);color:var(--color-primary);font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";float:right;color:var(--color-accent-dark)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--color-gray-700);margin:.75rem 0 0}.form{gap:1rem;max-width:32rem;display:grid}.form label{color:var(--color-white);gap:.35rem;font-size:.92rem;font-weight:600;display:grid}.section:not(.section-dark) .form label{color:var(--color-primary)}.form input,.form select,.form textarea{font:inherit;border-radius:var(--radius);color:var(--color-white);background:#ffffff14;border:1px solid #ffffff40;padding:.75rem .9rem}.section:not(.section-dark) .form input,.section:not(.section-dark) .form select,.section:not(.section-dark) .form textarea{border-color:var(--color-gray-500);background:var(--color-white);color:var(--color-gray-900)}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.form .check{color:#fffc;align-items:flex-start;gap:.65rem;font-size:.88rem;font-weight:400;display:flex}.section:not(.section-dark) .form .check{color:var(--color-gray-700)}.form .check input{margin-top:.25rem}.form-note{color:#ffffffa6;font-size:.85rem}.section:not(.section-dark) .form-note{color:var(--color-gray-500)}.site-footer{background:var(--color-primary);color:#ffffffd9;padding:3.5rem 0 2rem}.footer-grid{gap:2rem;display:grid}@media (width>=768px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}.site-footer h3{color:var(--color-white);margin-bottom:1rem;font-size:.95rem}.site-footer a{color:#ffffffd9;text-decoration:none}.site-footer a:hover{color:var(--color-accent)}.footer-links{gap:.45rem;display:grid}.footer-bottom{border-top:1px solid #ffffff26;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.85rem;display:flex}.sticky-cta{z-index:90;padding:.65rem .75rem calc(.65rem + env(safe-area-inset-bottom));backdrop-filter:blur(10px);background:#0a1f33f5;grid-template-columns:1fr 1fr;gap:.5rem;display:grid;position:fixed;bottom:0;left:0;right:0}.sticky-cta .btn{width:100%;min-height:48px}@media (width>=960px){.sticky-cta{display:none}}body.has-sticky{padding-bottom:calc(var(--sticky-h) + .5rem)}@media (width>=960px){body.has-sticky{padding-bottom:0}}.page-hero{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);color:var(--color-white);padding:3.5rem 0 2.5rem}.page-hero h1{color:var(--color-white);font-size:clamp(2rem,4vw,3rem)}.page-hero p{color:#ffffffe6;max-width:40rem;margin-bottom:0}.legal-todo{background:#fff3cd;border-radius:3px;padding:.1em .35em}.funnel-track{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.funnel-track li{color:var(--color-gray-500);flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.82rem;font-weight:600;display:flex}.funnel-track li span{width:1.75rem;height:1.75rem;color:var(--color-primary);font-family:var(--font-display);background:#0a1f3314;border-radius:2px;justify-content:center;align-items:center;display:inline-flex}.funnel-track li.is-active{color:var(--color-primary)}.funnel-track li.is-active span{background:var(--color-accent)}.funnel-track li.is-done{color:var(--color-green)}.funnel-track li.is-done span{color:var(--color-green);background:#1e7a4626}@media (width<=640px){.funnel-track{grid-template-columns:1fr 1fr}}.solar-app{gap:1.5rem;display:grid}@media (width>=960px){.solar-app{grid-template-columns:340px 1fr;align-items:start}}.solar-form{gap:.85rem;padding:1.25rem 0;display:grid}.solar-form.is-loading{opacity:.7;pointer-events:none}.solar-stage{background:#0a1f33;min-height:360px;position:relative;overflow:hidden}.solar-map{width:100%;min-height:420px}.solar-map--demo{width:100%;height:auto;display:block}.solar-stage-caption{color:var(--color-gray-500);margin:.65rem 0 0;font-size:.85rem}.solar-status{background:#0a1f330a;padding:.75rem 1rem;font-size:.92rem}.solar-status[data-type=ok]{color:var(--color-green);background:#1e7a461a}.solar-status[data-type=warn]{color:var(--color-accent-dark);background:#e8a31726}.solar-status[data-type=loading]{background:#0a1f330f}.metric-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.25rem 0;display:grid}.metric-card{border-top:1px solid #0a1f331a;padding:1rem 0}.metric-card strong{font-family:var(--font-display);color:var(--color-primary);font-size:1.65rem;display:block}.metric-card span{color:var(--color-gray-500);font-size:.85rem}.solar-cta-block{border-top:1px solid #0a1f331a;margin-top:1.5rem;padding-top:1.5rem}.solar-cta-block h2{font-size:1.35rem}.btn-glow{box-shadow:none;animation:none}.btn-ghost{color:var(--color-white);background:0 0;border-color:#ffffff73}.btn-ghost:hover{color:var(--color-white);background:#ffffff1a}.glass-panel{box-shadow:none;backdrop-filter:none;background:0 0;border:none;border-radius:0}.depth-card{padding:0}.check-list{margin:0 0 1.5rem;padding:0;list-style:none}.check-list li{border-bottom:1px solid #0a1f3314;padding:.55rem 0 .55rem 1.15rem;position:relative}.check-list li:before{content:"";background:var(--color-accent);width:.45rem;height:.45rem;position:absolute;top:.95rem;left:0}
