@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{--ink:#111e24;--paper:#f3f2ec;--orange:#f5ad62;--muted:#9ba8aa;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ink);color:var(--paper);font:16px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:3;top:0;width:100%}.logo{width:205px;max-height:65px;object-fit:contain}nav{display:flex;gap:36px;align-items:center;font-size:13px}nav a:hover{color:var(--orange)}.nav-contact{margin-left:12px;border-bottom:1px solid var(--orange);padding:12px 0}.nav-contact span{margin-left:40px}.menu{display:none}.hero{height:min(890px,95vh);min-height:720px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,29,.91),rgba(8,22,29,.2)),linear-gradient(0deg,#111e24 0%,transparent 40%,#111e2480 100%)}.hero-content{position:relative;padding:190px 5% 100px;max-width:1100px}.eyebrow{font-size:11px;letter-spacing:1.9px;line-height:1.7;font-weight:600}.eyebrow i{display:inline-block;background:var(--orange);width:6px;height:6px;border-radius:100%;margin-right:9px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500}h1{font-size:clamp(64px,7.1vw,112px);letter-spacing:-6px;line-height:1.04;margin:35px 0 24px}h1 em{font-style:normal;color:var(--orange)}.hero-copy{font-size:18px;line-height:1.65;color:#d5ddde}.button{display:inline-flex;background:var(--orange);color:var(--ink);padding:19px 23px;gap:48px;font-size:13px;font-weight:700;align-items:center;transition:background .2s}.button:hover{background:#ffd09d}.hero-content .button{margin-top:16px}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.hero-bottom a{letter-spacing:.2px;font-size:12px}.hero-bottom a span{margin-left:30px}.recognition{padding:36px 5%;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;border-bottom:1px solid var(--line);align-items:center}.recognition>div{border-left:1px solid var(--line);padding-left:40px}.recognition b{display:block;font:500 43px Manrope,Arial,sans-serif;letter-spacing:-2px}.recognition span{font-size:11px;color:#b8c3c5}.inc{display:flex;gap:18px;align-items:center}.inc strong{font:bold 48px Georgia,serif;letter-spacing:-4px}.inc span{font-size:9px;line-height:1.7;letter-spacing:1px}.section{padding:95px 5%}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:32px}.small-intro{font-size:14px;color:var(--muted);line-height:1.6}h2{font-size:clamp(36px,4vw,62px);line-height:1.13;letter-spacing:-2.7px}.platform h2{margin-bottom:56px}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.platform-item{border-top:1px solid #70838b;padding-top:22px;position:relative}.number{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.icon{font-size:50px;color:var(--orange);height:95px;padding-top:14px}.platform h3{font-size:23px;letter-spacing:-.6px;margin:20px 0}.platform h3 span{float:right;color:var(--orange)}.platform-item p{color:#b7c1c3;font-size:14px;line-height:1.8;max-width:350px;min-height:80px}.text-link{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}.platform-item:hover .text-link{color:var(--orange)}.emerging{opacity:.82}.portfolio{background:var(--paper);color:var(--ink)}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.portfolio-heading p{font-size:14px;line-height:1.8;color:#506167;margin-bottom:40px}.market-tabs{display:flex;border-bottom:1px solid #bec6c5;margin:20px 0 32px}.market-tabs button{cursor:pointer;border:0;background:transparent;padding:20px 30px 20px 0;margin-right:40px;font-size:18px;color:#637174;border-bottom:3px solid transparent}.market-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.market-tabs span{font-size:10px;margin-left:35px}.project-feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:435px}.project-photo{position:relative;min-height:360px;overflow:hidden}.project-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.project-photo span{position:absolute;bottom:18px;left:22px;font-size:9px;letter-spacing:1px;background:#111e24dc;padding:9px;color:white}.project-info{padding:25px 0 15px 55px}.project-info h3{font-size:39px;line-height:1.15;letter-spacing:-1.5px;margin:28px 0 20px}.project-info>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#506167}.project-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0 32px}.project-metrics b{font:500 36px Manrope,Arial,sans-serif;letter-spacing:-1px}.project-metrics small{font-size:12px;letter-spacing:0}.project-metrics span{display:block;font-size:10px;line-height:1.6;margin-top:8px;color:#506167;max-width:190px}.portfolio-note{font-size:10px;color:#647176;margin:20px 0 0}.process-title{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:10%;margin-top:40px}.process-title p{color:#b7c1c3;font-size:15px;line-height:1.8;margin-bottom:42px}.process h2{font-size:42px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:32px}.steps>div{border-top:1px solid var(--line);padding-top:24px}.steps span{font-size:11px;color:var(--orange)}.steps h3{font-size:20px;margin:25px 0 12px}.steps p{font-size:13px;line-height:1.7;color:#a6b3b6}.people{display:grid;grid-template-columns:1fr 1fr;background:#21353b}.people>img{width:100%;height:100%;min-height:480px;object-fit:cover;object-position:center}.people>div{padding:70px 11%}.people h2{font-size:42px;margin:35px 0 25px}.people p:not(.eyebrow){color:#c0caca;font-size:14px;line-height:1.8;margin-bottom:32px}.news{padding-top:75px;padding-bottom:75px}.news-row{display:grid;grid-template-columns:1fr 2fr 50px;align-items:start;padding:34px 0 0;border-top:1px solid var(--line);gap:25px}.news-row>span{font-size:10px;letter-spacing:1px;color:var(--muted);padding-top:8px}.news-row h3{font-size:27px;line-height:1.35;letter-spacing:-.8px}.news-row b{font-size:32px;color:var(--orange);font-weight:400}.contact{background:var(--orange);color:var(--ink);padding-top:75px;padding-bottom:80px}.contact h2{margin:28px 0 38px}.contact .button{background:var(--ink);color:var(--paper)}.contact-links{display:flex;gap:34px;align-items:center}footer{padding:55px 5%;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;font-size:12px}footer p{color:var(--muted);line-height:1.7;margin-top:24px}footer>div{display:flex;flex-direction:column;align-items:start;gap:12px}footer>div>span{color:var(--muted);font-size:9px;letter-spacing:1px}.concept{margin-top:18px;line-height:1.7}.skip{position:absolute;top:-100px;background:white;color:black;padding:20px;z-index:10}.skip:focus{top:0}@media(min-width:1600px){header,.section,.recognition,footer{padding-left:max(5%,calc((100% - 1440px)/2));padding-right:max(5%,calc((100% - 1440px)/2))}}@media(max-width:850px){header{height:80px}.logo{width:165px}nav{gap:20px;font-size:11px}.nav-contact{margin-left:0}.nav-contact span{margin-left:10px}.hero{min-height:680px;height:85vh}h1{letter-spacing:-3px}.hero-content{padding-top:170px}.recognition{grid-template-columns:repeat(3,1fr);gap:25px}.recognition .inc{grid-column:1/-1}.recognition>div{padding-left:16px}.recognition b{font-size:36px}.section{padding-top:70px;padding-bottom:70px}.platform-grid{gap:25px}.platform h3{font-size:19px}.platform-item p{min-height:125px}.portfolio-heading{display:block}.project-info{padding:15px 0 10px 30px}.project-info h3{font-size:30px}.process-title{gap:35px}.process h2{font-size:34px}.people>div{padding:45px 9%}.people h2{font-size:32px}.people>img{min-height:430px}.news-row{grid-template-columns:1fr 2fr 25px}.news-row h3{font-size:23px}}
@media(max-width:600px){header{padding:0 6%}.menu{display:block;color:white;background:transparent;border:1px solid #ffffff55;padding:10px 14px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--ink);padding:25px 6%;font-size:16px;flex-direction:column;align-items:start}nav.open{display:flex}.hero{height:790px;min-height:0;max-height:950px}.hero-content{padding:165px 6% 90px}.hero h1{font-size:64px;line-height:1.06;margin-top:30px;letter-spacing:-3px}.hero .eyebrow{font-size:9px;max-width:250px}.hero-copy{font-size:16px;margin-top:28px}.hero-bottom{left:6%;right:6%;font-size:8px;gap:20px;align-items:center}.hero-bottom>span{max-width:150px;line-height:1.8}.hero-bottom a{font-size:10px}.hero-bottom a span{margin-left:10px}.hero-photo{object-position:65%}.recognition{padding:30px 6%;gap:24px 10px}.recognition>div{padding-left:11px}.recognition b{font-size:32px}.recognition span{font-size:9px;line-height:1.5;display:block}.inc strong{font-size:40px}.section{padding:58px 6%}.section-top{margin-bottom:25px}.small-intro{display:none}h2{font-size:36px;letter-spacing:-1.6px}.platform h2{margin-bottom:36px}.platform-grid{grid-template-columns:1fr}.platform-item{padding-top:16px;padding-bottom:20px}.icon{position:absolute;right:5px;top:16px;height:auto;font-size:32px;padding:0}.platform h3{font-size:24px;margin:25px 0 15px}.platform h3 span{display:none}.platform-item p{min-height:0;max-width:100%;margin-bottom:20px}.portfolio-heading p{font-size:13px;margin-bottom:18px}.portfolio .section-top .text-link{font-size:10px}.market-tabs button{font-size:17px;margin-right:22px}.market-tabs span{margin-left:22px}.project-feature{grid-template-columns:1fr}.project-photo{min-height:290px}.project-info{padding:28px 0 0}.project-info h3{font-size:34px}.project-metrics{margin:22px 0 28px}.process-title{grid-template-columns:1fr;gap:0;margin-top:30px}.process-title p{margin-bottom:10px}.steps{grid-template-columns:1fr;gap:24px}.steps h3{margin-top:15px}.steps p{margin-bottom:0}.people{grid-template-columns:1fr}.people>img{height:350px;min-height:0}.people>div{padding:45px 6%}.people h2{font-size:36px}.news-row{grid-template-columns:1fr 25px;gap:20px}.news-row>span{grid-column:1/-1}.news-row h3{font-size:24px;margin-bottom:0}.contact h2{font-size:35px}.contact-links{flex-direction:column;align-items:start;gap:25px}footer{padding:45px 6%;grid-template-columns:1fr;gap:30px}footer>div:first-child{gap:0}footer p{margin-bottom:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Enterprise energy illustrations: solar capture, storage, connected grid. */
.motion-toolbar{display:flex;justify-content:flex-end;margin:-25px 0 22px}.motion-toggle{border:0;background:transparent;color:#c0c8e2;font-size:10px;letter-spacing:.5px;padding:8px 0;cursor:pointer}.motion-toggle span{margin-left:9px;color:var(--orange)}.energy-animation{height:130px;margin-top:14px;color:var(--orange);overflow:hidden}.energy-animation svg{width:220px;max-width:100%;height:120px;display:block}.sun-rays{transform-origin:174px 28px;animation:sun-turn 24s linear infinite}.sun-core{animation:sun-breathe 4s ease-in-out infinite}.panel-sheen{animation:panel-light 4.8s ease-in-out infinite}.light-ray{animation:light-travel 2s linear infinite}.ray-two{animation-delay:-1s}.charge-cell{opacity:.13;animation:charge-cycle 8s ease-in-out infinite}.cell-2{animation-delay:.7s}.cell-3{animation-delay:1.4s}.cell-4{animation-delay:2.1s}.energy-in{animation:flow-in 8s linear infinite}.energy-out{animation:flow-out 8s linear infinite}.grid-streams{animation:grid-flow 4s linear infinite}.hub-ring{transform-origin:109px 60px;animation:hub-pulse 4s ease-out infinite}#platform:not(.motion-running) .energy-animation *{animation-play-state:paused!important}@keyframes sun-turn{to{transform:rotate(360deg)}}@keyframes sun-breathe{50%{fill-opacity:.4}}@keyframes panel-light{0%,15%{transform:translateX(0)}70%,100%{transform:translateX(260px)}}@keyframes light-travel{to{stroke-dashoffset:-22}}@keyframes charge-cycle{0%,12%,95%,100%{opacity:.13}35%,65%{opacity:.85}}@keyframes flow-in{0%{stroke-dashoffset:60;opacity:1}44%{stroke-dashoffset:-180;opacity:1}45%,100%{opacity:0}}@keyframes flow-out{0%,49%{opacity:0;stroke-dashoffset:75}50%{opacity:1;stroke-dashoffset:75}98%{opacity:1;stroke-dashoffset:-225}100%{opacity:0}}@keyframes grid-flow{to{stroke-dashoffset:-109}}@keyframes hub-pulse{0%{transform:scale(.7);opacity:.7}80%,100%{transform:scale(1.6);opacity:0}}@media(max-width:850px) and (min-width:601px){nav{gap:16px}.energy-animation{height:120px}.energy-animation svg{width:100%}}@media(max-width:600px){.motion-toolbar{margin:-12px 0 20px;justify-content:flex-start}.energy-animation{height:125px;margin-top:16px}.platform h3{margin-top:12px}}@media(prefers-reduced-motion:reduce){.energy-animation *{animation:none!important}.charge-cell{opacity:.7}.hub-ring{opacity:.3}.panel-sheen,.energy-in,.energy-out{display:none}.motion-toolbar{display:none}}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7);opacity:0;transition:opacity .6s ease}.hero-video.is-playing{opacity:1}.hero-video-toggle{position:absolute;right:5%;bottom:96px;z-index:2;border:1px solid #ffffff55;border-radius:0;padding:10px 14px;background:#111e248c;color:var(--paper);font-size:11px;cursor:pointer}.hero-video-toggle:hover{background:#111e24}.hero-video-toggle[hidden]{display:none}@media(max-width:600px){.hero-video-toggle{right:6%;bottom:91px}.hero-video{object-position:65%}}

@media(min-width:601px) and (max-width:1050px){header{height:80px}.logo{width:170px}.menu{display:block;color:white;background:transparent;border:1px solid #ffffff55;padding:10px 14px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--ink);padding:25px 6%;font-size:16px;flex-direction:column;align-items:start}nav.open{display:flex}}
@media(min-width:1051px){header nav{gap:20px;font-size:12px}header .nav-contact{margin-left:0}header .nav-contact span{margin-left:12px}header .logo{width:180px}}

/* Preserve logo proportions with explicit image dimensions. */
.logo{height:auto}
