:root{--red:#d0002b;--carbon:#252628;--ink:#252628;--muted:#656565;--paper:#faf9f6;--line:#deded9;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.6 Arial,Helvetica,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.07}h2{font-size:clamp(35px,3.6vw,54px)}h3{font-weight:500;line-height:1.3}p{color:var(--muted)}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}.section{padding-top:98px;padding-bottom:98px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.18em;line-height:1.6;margin-bottom:20px}.red{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--red);color:white;border:1px solid var(--red);padding:15px 23px;font-size:13px;font-weight:600;line-height:1.3;min-height:50px;transition:background .2s}.button:hover{background:#a50022;border-color:#a50022}.button.small{min-height:43px;padding:12px 16px;font-size:12px;gap:16px}.text-link{display:inline-flex;align-items:center;gap:30px;border:0;border-bottom:1px solid var(--ink);padding:9px 0;background:none;font-size:13px;line-height:1.4}.text-link:hover{color:var(--red);border-color:var(--red)}.text-link.light{color:white;border-color:#888}.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.header-inner{height:88px;max-width:1440px;padding:0 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{flex:none}.brand img{width:195px;height:auto}.header nav{display:flex;align-items:center;gap:27px;font-size:12px}.header nav>a:not(.button):hover{color:var(--red)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:46% 54%;max-width:1600px;margin:auto;background:var(--carbon);color:#fff}.hero-copy{padding:72px 55px 25px max(48px,calc((100vw - 1280px)/2));display:flex;flex-direction:column;align-items:flex-start}.hero .eyebrow{font-size:10px;color:#eee}.hero h1{font-size:clamp(42px,4.5vw,68px);margin:5px 0 25px}.hero h1 em{font-weight:400;font-style:normal;color:#f0e8dc}.hero-description{font-size:17px;line-height:1.6;color:#d8d8d8;max-width:360px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin:34px 0 50px}.hero-bottom{margin-top:auto;padding-top:25px;width:100%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff26;font-size:10px;letter-spacing:.03em;color:#c7c7c7}.hero-photo{position:relative;min-height:590px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:56% center}.hero-photo figcaption{position:absolute;bottom:14px;right:18px;background:#252628a6;color:#fff;padding:3px 8px;font-size:9px;letter-spacing:.05em}.service-intro{padding:40px 0 43px;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;border-bottom:1px solid var(--line);gap:24px}.service-intro h2{font-size:28px;line-height:1.2;padding-right:25px}.service-intro>a{display:flex;gap:17px;border-left:1px solid var(--line);padding-left:22px}.number{font-family:Georgia,serif;color:var(--red);font-size:31px;line-height:1}.service-intro h3{font-size:15px;margin:0 0 10px}.service-intro p{font-size:12px;line-height:1.65}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:43px}.section-heading>p{max-width:345px;font-size:14px;line-height:1.8}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--line);background:transparent;padding:10px 17px;font-size:12px;min-height:42px;color:var(--ink)}.filters button[aria-pressed=true]{background:var(--carbon);border-color:var(--carbon);color:white}.filters span{opacity:.65;padding-left:7px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}.project[hidden]{display:none}.project-photo{display:block;position:relative;overflow:hidden;background:#e7e5e0}.project-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .4s}.project-photo:hover img{transform:scale(1.025)}.photo-open{position:absolute;right:12px;bottom:12px;background:#fff;color:#222;width:34px;height:34px;display:grid;place-items:center}.project-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin:17px 0 8px}.project h3{font-size:16px}.show-projects{margin:35px auto 0;display:flex}.show-projects[hidden]{display:none}.contact-band{background:var(--carbon);color:#fff;padding:48px 0}.contact-band>.wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-band h2{font-size:37px}.contact-band p{color:#ccc;font-size:12px;border-left:1px solid #666;padding-left:30px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px}.service-detail figure>img{width:100%;height:auto;aspect-ratio:1.28;object-fit:cover}.service-detail figcaption{font-size:10px;color:var(--muted);margin-top:8px}.service-detail figure>p{font-size:14px;max-width:450px;line-height:1.8;margin-top:23px}.service-list details{border-bottom:1px solid var(--line)}.service-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-size:16px}summary::-webkit-details-marker{display:none}summary>span{color:var(--red);font-size:21px}details[open]>summary>span{transform:rotate(45deg)}details p{padding-bottom:22px;font-size:14px}.about-section{padding:85px 0;background:#efeee9}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:110px}.about-grid .large-copy{color:var(--ink);font-size:20px;margin:28px 0 18px;max-width:420px}.about-grid p{font-size:14px;line-height:1.9}.about-grid .text-link{margin-top:23px}.about-values article{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid #d4d2cb}.about-values article:first-child{padding-top:4px}.about-values h3{font-family:Georgia,serif;font-size:24px;margin-bottom:13px}.energy-benefits{display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:24px;font-size:13px;color:var(--red)}.energy-steps{list-style:none;padding:0;margin:35px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.energy-steps li{display:flex;gap:20px}.step-number{font:23px Georgia,serif;color:var(--red)}.energy-steps h3{font-size:16px;margin-bottom:10px}.energy-steps p{font-size:13px}.energy-results{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.energy-results>div{max-width:900px;padding:8px 0 25px}.energy-results h3{margin-bottom:20px}.clients-section{background:#fff;padding:70px 0}.clients-section h2{font-size:40px}.client-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:15px}.client-logo{height:90px;display:grid;place-items:center;border:1px solid #eeede8;padding:12px}.client-logo img{width:100%;height:100%;max-height:65px;object-fit:contain;filter:grayscale(1);opacity:.8;transition:filter .2s}.client-logo:hover img{filter:none;opacity:1}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact-main .eyebrow{display:block;margin-bottom:16px}.email{font-family:Georgia,serif;font-size:clamp(23px,2.9vw,40px);line-height:1.4;letter-spacing:-.04em;display:block;border-bottom:1px solid var(--line);padding-bottom:22px}.email span{font:24px Arial;color:var(--red)}.contact-main>p{font-size:14px;margin:25px 0;max-width:370px}.offices{display:grid;grid-template-columns:1fr 1fr;gap:30px}.offices h3{font-family:Georgia,serif;font-size:25px;margin-bottom:16px}.offices h3>span{font:12px Arial;color:var(--muted)}address{font-style:normal;color:var(--muted);font-size:13px;margin-bottom:14px}.offices a,.offices p{font-size:13px}.offices .text-link{margin-top:12px;display:table}.footer{background:var(--carbon);color:#fff;padding:50px 0 25px}.footer-top{display:flex;align-items:center;gap:35px;padding-bottom:40px}.footer-brand{font-size:23px;letter-spacing:-.04em;font-weight:600;margin-right:auto}.footer-brand span{display:block;font-size:10px;letter-spacing:.04em;color:#aaa;font-weight:400;margin-top:8px}.footer-top>a:not(.footer-brand){font-size:12px}.footer-bottom{border-top:1px solid #ffffff26;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#aaa}.mobile-contact{display:none}.lightbox{padding:55px 18px 15px;background:#1b1c1e;color:white;border:0;width:min(1100px,94vw);max-height:94vh;overflow:auto}.lightbox::backdrop{background:#000d}.lightbox img{max-height:75vh;max-width:100%;margin:auto;object-fit:contain}.lightbox p{color:#ddd;text-align:center;margin-top:12px;font-size:13px}.lightbox-close{position:absolute;right:18px;top:10px;background:transparent;color:white;border:1px solid #777;padding:7px 14px;min-height:35px}.skip{position:fixed;left:15px;top:-70px;padding:12px;background:#fff;color:#111;z-index:99}.skip:focus{top:10px}.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.mobile-contact a{min-height:56px}
@media(min-width:1600px){.hero-copy{padding-left:80px}}@media(max-width:1100px){.header-inner{padding:0 28px;gap:20px}.header nav{gap:17px;font-size:11px}.brand img{width:170px}.wrap{width:calc(100% - 64px)}.hero-copy{padding:55px 32px 23px}.hero h1{font-size:49px}.hero-photo{min-height:580px}.hero-actions{gap:18px}.hero-actions .button{padding:14px 17px}.service-intro{grid-template-columns:1fr 1fr 1fr}.service-intro>h2{grid-column:1/-1;font-size:30px}.service-intro>a:first-of-type{border-left:0;padding-left:0}.about-grid{gap:55px}.service-detail{gap:40px}.contact-layout{gap:40px}.contact-band p{display:none}.client-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:900px){.header-inner{height:75px}.header nav{gap:15px}.header nav>a[href="#plan"]{display:none}.hero h1{font-size:42px}.hero-copy .eyebrow{font-size:9px}.hero-description{font-size:15px}.hero-photo{min-height:540px}.hero-bottom{font-size:9px;flex-wrap:wrap}.project-grid{grid-template-columns:repeat(2,1fr)}.energy-steps{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr}.contact-main{max-width:650px}.offices{max-width:650px}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.section{padding-top:60px;padding-bottom:60px}.header-inner{height:72px;padding:0 20px}.brand img{width:168px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:center;width:44px;height:44px;background:transparent;border:1px solid #ddd}.menu-toggle span{width:19px;height:1px;background:var(--ink)}.header nav{display:none;position:absolute;top:72px;left:0;width:100%;background:white;box-shadow:0 15px 20px #0001;padding:15px 20px 23px;flex-direction:column;align-items:stretch;gap:0;font-size:15px}.header nav.is-open{display:flex}.header nav>a{padding:12px 5px}.header nav>a[href="#plan"]{display:block}.header nav>.button{margin-top:10px;padding:15px}.hero{display:flex;flex-direction:column}.hero-photo{order:-1;min-height:0;height:245px}.hero-photo img{object-position:50% 49%}.hero-photo figcaption{bottom:9px;right:12px;font-size:8px}.hero-copy{padding:30px 24px 23px}.hero .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:15px}.hero h1{font-size:clamp(36px,9.7vw,53px);margin:0 0 20px;max-width:520px}.hero-description{font-size:15px;max-width:360px}.hero-actions{margin:25px 0 25px;gap:20px}.hero-actions .button{padding:14px 19px}.hero-bottom{font-size:9px;gap:12px;padding-top:18px}.service-intro{display:block;padding:35px 0 10px}.service-intro h2{font-size:29px;margin-bottom:23px}.service-intro>a,.service-intro>a:first-of-type{padding:20px 0;border-left:0;border-top:1px solid var(--line);gap:20px}.service-intro h3{font-size:17px;margin-bottom:7px}.service-intro p{font-size:13px;max-width:320px}.number{font-size:30px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;max-width:450px;font-size:14px}h2{font-size:38px}.eyebrow{font-size:10px;margin-bottom:13px}.filters{gap:7px}.filters button{font-size:11px;padding:9px 12px}.project-grid{grid-template-columns:1fr;gap:30px}.project-photo img{aspect-ratio:1.55}.project-meta{margin-top:12px}.project h3{font-size:17px}.contact-band{padding:36px 0}.contact-band>.wrap{display:block}.contact-band h2{font-size:35px;margin-bottom:25px}.service-detail{grid-template-columns:1fr;gap:28px}.service-detail figure>img{aspect-ratio:1.4}.service-detail figure>p{font-size:13px}.service-list summary{font-size:16px;min-height:57px}.about-section{padding:55px 0}.about-grid{grid-template-columns:1fr;gap:40px}.about-values h3{font-size:23px}.about-grid .large-copy{font-size:20px}.about-values article{gap:22px}.energy-benefits{gap:15px;font-size:12px}.energy-steps{grid-template-columns:1fr;gap:27px;margin:30px 0}.energy-steps li{gap:22px}.energy-steps h3{font-size:17px}.energy-results summary{font-size:14px}.clients-section{padding:50px 0}.clients-section h2{font-size:35px}.client-grid{grid-template-columns:repeat(3,1fr);gap:8px}.client-logo{height:75px;min-height:70px;max-height:75px;padding:9px}.client-logo img{max-height:53px}.contact-layout{gap:40px}.email{font-size:clamp(22px,6.7vw,35px)}.offices{gap:22px}.offices h3{font-size:24px}.offices h3>span{display:block;margin-top:6px}.offices article>p>a{display:block}.offices article>p{font-size:0}.footer{padding:35px 0 90px}.footer-top{gap:24px;flex-wrap:wrap;padding-bottom:25px}.footer-brand{width:100%;font-size:23px}.footer-bottom{flex-direction:column;gap:10px}.mobile-contact{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--carbon);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #0002}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:13px}.mobile-contact a:last-child{background:var(--red)}.lightbox{padding:55px 10px 15px}.lightbox img{max-height:67vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
