@charset "UTF-8";
:root{--green:#006361;--mint:#a4e5cb;--dark:#071b1b;--paper:#f7faf8;--panel:#fff;--line:#d4e3dc;--muted:#4e6760;--ink:#133a33;--accent:#006361;--width:1260px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #cc921c;outline-offset:5px}h1,h2,h3{font-weight:500;letter-spacing:-.045em;line-height:1.1;text-wrap:balance}h2{font-size:clamp(2.35rem,4vw,3.65rem)}h3{font-size:clamp(1.9rem,2.8vw,2.8rem)}p{color:var(--muted)}em{font-style:normal;color:var(--accent)}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.1em;line-height:1.6;color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:14px 23px;background:var(--green);color:#fff;font-size:1rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#004c4a;transform:translateY(-2px)}.button span{font-size:1.25rem;font-weight:400}.quiet-link,.text-link{font-size:1rem;line-height:1.65;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#789a90}.quiet-link:hover,.text-link:hover{color:var(--accent)}.text-link{display:inline-flex;gap:20px;justify-content:space-between;align-items:center;max-width:100%}.skip-link{position:absolute;top:-100px;left:20px;z-index:20;background:white;color:#006361;padding:15px}.skip-link:focus{top:10px}
.concept-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:7px 28px;font-size:.75rem;background:#e4ece7;color:#426057}.concept-bar>span{flex:1}.concept-note{text-align:right}.concept-bar nav{display:flex;gap:5px}.concept-bar nav a{display:block;padding:6px 18px;min-height:32px}.concept-bar [aria-current]{background:#fff;color:#006361}.concept-bar a:hover{text-decoration:underline}.topline{border-bottom:1px solid var(--line);font-size:.875rem}.topline>.container{display:flex;justify-content:space-between;gap:20px;padding-block:9px}.topline a:hover{text-decoration:underline}.site-header{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:18px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:.9375rem}.desktop-nav a{padding-block:12px}.desktop-nav a:hover{color:var(--accent)}.header-cta{font-size:.9375rem;min-height:46px;padding:11px 18px;gap:20px}.menu-button{display:none;background:none;border:0;color:inherit;align-items:center;gap:12px;min-height:44px;padding:8px 0}.mobile-menu[hidden]{display:none}.mobile-menu{display:grid;gap:6px;padding:8px 0 25px}.mobile-menu a{padding:10px 0;border-bottom:1px solid var(--line)}
.hero{position:relative;isolation:isolate}.hero h1{font-size:clamp(3.4rem,5.7vw,5.5rem);line-height:1.02;letter-spacing:-.055em;margin-top:24px}.hero-description{font-size:1.125rem;line-height:1.7;max-width:465px;margin-top:27px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px}.hero-local{font-size:.875rem;margin-top:30px}.image-credit{position:absolute;right:20px;bottom:18px;font-size:.75rem;color:#f4f8f5;background:#041c1abb;padding:4px 9px}.solution-nav{border-block:1px solid var(--line)}.solution-nav>.container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.solution-nav a{padding:25px 22px;display:flex;align-items:center;gap:22px;border-right:1px solid var(--line);font-size:1rem}.solution-nav a:first-child{padding-left:0}.solution-nav a:last-child{border-right:0}.solution-nav a:hover{color:var(--accent)}.solution-nav a>span{font-size:.875rem;color:var(--accent)}
.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:44px}.section-heading h2{margin-top:20px}.section-heading>p{max-width:410px;font-size:1.0625rem;justify-self:end}.photo-frame{position:relative;isolation:isolate;min-width:0;overflow:hidden;background:#193532}.photo-frame>img{width:100%;height:100%;object-fit:cover}.photo-frame figcaption{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);font-size:.75rem;line-height:1.5;padding:6px 10px;background:#071b1bdb;color:#eff7f3}.service-label{display:flex;align-items:center;gap:16px;color:var(--accent);font-size:.875rem;font-weight:500;line-height:1.6}.icon{width:31px;height:31px;flex-shrink:0;display:block;color:var(--accent)}.icon>svg{width:100%;height:100%}.service-grid{display:grid;gap:24px}.service-card{padding:36px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;align-items:flex-start;min-width:0}.service-card h3{margin-top:28px;font-size:clamp(1.8rem,2.5vw,2.4rem)}.service-card>p{margin-top:22px;max-width:500px}.service-card .service-note{font-size:.875rem;color:var(--muted);margin-top:18px}.service-card .text-link{margin-top:auto;padding-top:28px}.feature-copy{padding:45px}.feature-copy h3{margin-top:29px}.feature-copy>p{margin-top:23px;line-height:1.75}.feature-list{list-style:none;padding:0;margin:24px 0 32px;font-size:.9375rem}.feature-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.approach-heading h2{margin-top:20px}.approach-heading>p:not(.eyebrow){font-size:1.0625rem;margin-top:24px;max-width:500px}.steps{padding:0;margin:0;list-style:none}.steps h3{font-size:1.5rem}.steps p{margin-top:15px}.step-number{font-size:2.625rem;line-height:1;color:var(--green);letter-spacing:-.04em}.region{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.region-copy h2{margin-top:22px}.region-copy>p:not(.eyebrow){margin-top:26px;max-width:455px;font-size:1.0625rem}.region-photo{aspect-ratio:1/1}.towns{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}.towns>span{padding:6px 13px;border:1px solid var(--line);font-size:.9375rem}.contact-section{background:#005552;color:#f5f8f5}.contact-section .eyebrow,.contact-section em{color:var(--mint)}.contact-section .button{background:var(--mint);color:#092c29}.contact-section .button:hover{background:#c3f4e1}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}.contact-layout h2{margin-top:20px;font-size:clamp(2.4rem,4.3vw,4rem)}.contact-intro{max-width:500px;margin-top:25px;color:#d3e5df;font-size:1.0625rem}.contact-layout .button{margin-top:30px}.contact-card{font-style:normal;padding:34px 36px;background:#034542;border:1px solid #3b8479;min-width:0}.contact-card>div{margin-top:22px}.contact-label{display:block;font-size:.875rem;color:#b4d5cb;margin-bottom:3px}.contact-card a{display:inline-block;font-size:1.125rem;overflow-wrap:anywhere;max-width:100%;padding-block:3px}.contact-card a:hover{text-decoration:underline}.contact-card .contact-phone{font-size:clamp(1.6rem,2.8vw,2.15rem);letter-spacing:-.025em}.contact-card>p{margin-top:25px;padding-top:22px;border-top:1px solid #3b766d;color:#c7e2d9;font-size:.9375rem}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:42px;min-width:0}.site-footer>p{color:var(--ink);font-size:1rem}.site-footer>p>span{color:var(--muted);font-size:.875rem}.site-footer nav{display:flex;flex-direction:column;gap:8px;font-size:.875rem}.site-footer nav a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-block:22px 28px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:.75rem;line-height:1.6}.footer-bottom>span:last-child{text-align:right;max-width:530px}
/* Horizon: daylight, split compositions and rounded image corners. */
.horizon .button{border-radius:4px}.horizon .hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding-block:30px 60px;align-items:center}.horizon .hero-visual{position:relative;height:100%;min-height:595px;overflow:hidden;isolation:isolate;border-radius:130px 8px 8px 8px;background:#d5e3dc}.horizon .hero-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:58% center;z-index:-2}.horizon .hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0b261dde);z-index:-1}.horizon .hero-visual figcaption{position:absolute;left:28px;right:28px;bottom:68px;color:#fff;font-size:1.0625rem;line-height:1.5}.horizon .hero-visual figcaption>span{display:block;font-size:1.75rem;letter-spacing:-.035em}.horizon .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.horizon .service-card{border-radius:7px;padding:30px}.horizon .service-card h3{font-size:1.55rem}.horizon .service-card:nth-child(2){background:#e7f1ed;border-color:#b4d0c4}.horizon .service-card .text-link{font-size:.9375rem;gap:12px}.horizon .solar-story{margin-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.horizon .solar-story>.photo-frame{aspect-ratio:1.25/1;border-radius:7px}.horizon .solar-story h3{margin-top:22px}.horizon .solar-story p:not(.eyebrow){margin-top:22px;max-width:460px}.horizon .solar-story .text-link{margin-top:25px}.horizon .approach{background:#eaf1ed}.horizon .approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.horizon .steps li{display:flex;gap:28px;border-top:1px solid #afc7bb;padding-block:26px}.horizon .steps li:last-child{padding-bottom:0}.horizon .step-number{font-size:1.25rem;padding-top:3px}.horizon .steps p{margin-top:10px}.horizon .region-photo{grid-column:1;grid-row:1;border-radius:8px 100px 8px 8px}.horizon .region-copy{grid-column:2;grid-row:1}.horizon .contact-card{border-radius:6px}
/* Signature: cinematic hero, editorial service feature and a contrasting process band. */
.signature{--panel:#0d2727;--line:#284544;--muted:#b5c8c5;--ink:#f5f8f5;--accent:#a4e5cb;color:var(--ink);background:var(--dark)}.signature .concept-bar{background:#122e2a;color:#b8d0c6}.signature .concept-bar [aria-current]{background:#3a6152;color:white}.signature .topline{background:#092323;color:#cededb}.signature .button{background:var(--mint);color:#092c29}.signature .button:hover{background:#c3f4e1}.signature .hero{min-height:690px;display:flex;align-items:center;overflow:hidden;background:#122725}.signature .hero-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 58%}.signature .hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#031615eb 0%,#031615b8 34%,#03161540 68%,#03161512 100%),linear-gradient(0deg,#071b1b9c,transparent 40%)}.signature .hero-content{padding-block:72px 83px}.signature .hero h1{max-width:760px}.signature .hero-description{color:#e0ece6}.signature .hero-local{color:#c6d8d3}.signature .solution-nav{background:#0d2928}.signature .solar-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line)}.signature .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.signature .service-card{background:#0a2222;padding:40px 44px}.signature .feature-list{color:#d7e6df}.signature .approach{background:#eaf0ed;color:#0b302e}.signature .approach .eyebrow{color:var(--green)}.signature .approach p{color:#45645e}.signature .approach-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:80px;align-items:end;margin-bottom:44px}.signature .approach-heading .eyebrow{grid-column:1}.signature .approach-heading h2{grid-column:1;margin-top:20px}.signature .approach-heading>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0;max-width:400px;justify-self:end}.signature .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.signature .steps li{border-top:1px solid #9bb6ad;padding-top:26px}.signature .steps h3{margin-top:24px}.signature .steps p{max-width:325px}
@media(min-width:1600px){.signature .hero{min-height:770px}.signature .hero-photo{object-position:center 60%}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.site-header{gap:20px}.desktop-nav{gap:18px!important}.hero h1{font-size:4.45rem}.section-heading{gap:50px}.feature-copy{padding:32px}.signature .service-card{padding:33px}.region,.contact-layout{gap:45px}.contact-card{padding:28px}.solution-nav a{gap:15px;padding-inline:18px}.horizon .hero{gap:36px}.horizon .hero-visual{min-height:590px}.horizon .service-card{padding:26px}.horizon .solar-story{gap:40px}.horizon .approach-layout{gap:50px}}
@media(min-width:701px) and (max-width:950px){.header-cta{display:none}.site-header .desktop-nav{margin-left:auto}.hero h1{font-size:3.7rem}.section{padding-block:75px}.horizon .hero{gap:28px}.horizon .hero-visual{min-height:610px;border-top-left-radius:95px}.horizon .service-grid{gap:14px}.horizon .service-card{padding:24px 20px}.horizon .service-label{flex-direction:column;align-items:flex-start;gap:14px}.horizon .service-card h3{font-size:1.4rem}.horizon .solar-story{gap:32px}.signature .hero{min-height:650px}.signature .hero-shade{background:linear-gradient(90deg,#031615e8,#031615a6 45%,#03161535)}.signature .solar-feature{grid-template-columns:.9fr 1.1fr}.feature-copy{padding:27px}.feature-copy h3{font-size:2rem}.signature .steps{gap:28px}.region{gap:30px}.contact-layout{gap:30px;grid-template-columns:1fr 1fr}.contact-card{padding:22px}.contact-card .eyebrow{font-size:.75rem}.site-footer{gap:22px}.site-footer>p{max-width:240px}.solution-nav a{font-size:.9375rem}}
@media(max-width:700px){html{scroll-padding-top:20px}.container{width:calc(100% - 40px)}.section{padding-block:60px}.concept-bar{padding:7px 14px;gap:10px}.concept-bar>span:first-child{max-width:110px;line-height:1.3}.concept-note{display:none}.concept-bar nav a{padding:6px 10px;white-space:nowrap}.topline{font-size:.8125rem}.topline>.container{padding-block:8px;gap:10px}.site-header{min-height:86px;padding-block:15px;gap:18px}.desktop-nav,.header-cta{display:none}.menu-button{display:flex;font-size:.9375rem;flex-shrink:0}.hero .eyebrow{font-size:.8125rem;letter-spacing:.075em}.hero h1{font-size:clamp(2.85rem,10vw,4rem);margin-top:22px;line-height:1.07}.hero-description{font-size:1.0625rem;max-width:430px;margin-top:24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px;margin-top:26px}.button{font-size:.9375rem;min-height:54px;padding:14px 19px;gap:20px}.hero-local{font-size:.8125rem;line-height:1.6;margin-top:23px}.image-credit{right:16px;bottom:16px}.solution-nav>.container{display:flex;flex-direction:column}.solution-nav a,.solution-nav a:first-child{padding:14px 0;gap:20px;border-right:0;border-bottom:1px solid var(--line);font-size:.9375rem}.solution-nav a:last-child{border-bottom:0}.solution-nav a>span{font-size:.8125rem}.section-heading{display:block;margin-bottom:30px}.eyebrow{font-size:.8125rem;letter-spacing:.075em}.section-heading h2{margin-top:16px}.section-heading>p{margin-top:22px;max-width:100%;font-size:1rem}.feature-copy{padding:28px 24px}.feature-copy h3{font-size:2rem;margin-top:23px}.feature-copy>p{margin-top:18px}.service-label{font-size:.8125rem;gap:12px}.service-card h3{font-size:1.95rem;margin-top:24px}.service-card>p{margin-top:18px}.service-card .text-link{padding-top:25px}.text-link{font-size:.9375rem;gap:12px}.region{grid-template-columns:1fr;gap:32px}.region-copy h2{margin-top:16px}.region-copy>p:not(.eyebrow){font-size:1rem;margin-top:22px}.region-photo{aspect-ratio:1.1/1}.towns{gap:8px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout h2{font-size:2.7rem}.contact-intro{font-size:1rem}.contact-card{padding:28px 24px}.contact-card .contact-phone{font-size:2rem}.contact-card a{font-size:1.125rem}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:26px}.site-footer>p{font-size:.9375rem}.site-footer>p>span{font-size:.875rem}.site-footer nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:18px 25px;padding-top:18px;border-top:1px solid var(--line)}.footer-bottom{flex-direction:column;gap:10px;padding-bottom:25px}.footer-bottom>span:last-child{text-align:left}
.horizon .hero{display:flex;flex-direction:column;gap:30px;padding-block:28px 35px;align-items:stretch}.horizon .hero h1{font-size:clamp(3.2rem,11vw,4.2rem)}.horizon .hero-visual{min-height:0;height:400px;border-radius:90px 6px 6px 6px}.horizon .hero-photo{object-position:58% center}.horizon .hero-visual figcaption{left:23px;right:23px;bottom:63px}.horizon .hero-visual figcaption>span{font-size:1.6rem}.horizon .service-grid{grid-template-columns:1fr;gap:18px}.horizon .service-card{padding:28px 25px}.horizon .service-card h3{font-size:1.65rem;margin-top:22px}.horizon .service-card .service-label{flex-direction:row;align-items:center}.horizon .solar-story{grid-template-columns:1fr;gap:28px;margin-top:42px}.horizon .solar-story .photo-frame{aspect-ratio:1.1/1}.horizon .solar-story h3{font-size:2rem}.horizon .approach-layout{grid-template-columns:1fr;gap:30px}.horizon .steps li{gap:22px;padding-block:24px}.horizon .region-copy,.horizon .region-photo{grid-column:auto;grid-row:auto}.horizon .region-photo{border-radius:6px 65px 6px 6px}
.signature .hero{min-height:740px;align-items:flex-start}.signature .hero-photo{object-position:61% center}.signature .hero-shade{background:linear-gradient(180deg,#031615eb 0%,#031615c9 30%,#03161573 60%,#03161520 85%,#0316158c 100%)}.signature .hero-content{padding-top:44px;padding-bottom:115px}.signature .solar-feature{grid-template-columns:1fr}.signature .solar-feature>.photo-frame{aspect-ratio:1.12/1}.signature .service-grid{grid-template-columns:1fr;gap:18px;margin-top:18px}.signature .service-card{padding:28px 24px}.signature .approach-heading{display:block;margin-bottom:30px}.signature .approach-heading>p:not(.eyebrow){margin-top:22px;max-width:none}.signature .steps{grid-template-columns:1fr;gap:28px}.signature .steps li{padding-top:22px;display:grid;grid-template-columns:50px 1fr;gap:13px 20px}.signature .step-number{font-size:2.15rem}.signature .steps h3{margin:0;font-size:1.5rem}.signature .steps p{margin-top:12px;max-width:none}}
@media(max-width:374px){.container{width:calc(100% - 32px)}.hero h1{font-size:2.65rem}.hero .eyebrow{font-size:.75rem}.feature-copy,.signature .service-card{padding:25px 20px}.contact-layout h2{font-size:2.35rem}.contact-card{padding:25px 20px}.contact-card a{font-size:1rem}.contact-card .contact-phone{font-size:1.8rem}.topline{font-size:.75rem}.concept-bar{gap:8px;padding-inline:12px}.concept-bar>span:first-child{max-width:85px}.concept-bar nav{gap:2px}.concept-bar nav a{padding-inline:8px}.site-footer{grid-template-columns:1fr}.site-footer>p{max-width:none!important}.site-footer nav{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Professional credentials, shared by both models. */
.credentials{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-top:1px solid var(--line)}
.credential-license{display:grid;gap:6px}.credential-license strong{font-size:21px;letter-spacing:.04em;color:var(--ink)}
.credential-member{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:14px}
.apchq-logo{display:flex;background:#fff;border-radius:6px;padding:20px 24px;flex-shrink:0}
.apchq-logo img{display:block;width:174px;height:auto;max-width:100%;filter:none}
.contact-card .contact-license{padding-top:18px;border-top:1px solid var(--line);font-style:normal}
@media(max-width:700px){.credentials{align-items:flex-start;flex-direction:column}.credential-member{flex-wrap:wrap;gap:14px}.apchq-logo{padding:18px 20px}}

/* Keep the supplied lakeside array visible across screen sizes. */
.region-photo{aspect-ratio:3/2}.region-photo>img{object-position:center center}
