:root{--navy:#07143c;--green:#0cab61;--deep-green:#006746;--cream:#eee8dc;--ink:#10182f;--muted:#606776;--line:#d9ddd9;--white:#fff;--shadow:0 22px 55px rgba(7,20,60,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:86px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(7,20,60,.08)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand img{object-fit:contain}.brand>span{display:flex;flex-direction:column;line-height:1}.brand strong{font:800 22px/1 "Manrope",sans-serif;letter-spacing:.02em;color:var(--navy)}.brand strong span,.brand small{color:var(--green)}.brand small{font-size:8px;letter-spacing:.18em;margin-top:7px}.site-header nav{display:flex;align-items:center;gap:clamp(16px,2vw,32px);font-size:14px;font-weight:600}.site-header nav>a:not(.nav-cta){position:relative}.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green);transition:.25s}.site-header nav>a:hover:after{right:0}.nav-cta{background:var(--navy);color:#fff;padding:12px 19px;border-radius:999px}.menu-toggle{display:none;border:1px solid #d5d9df;background:#fff;color:var(--navy);padding:10px 18px;border-radius:999px;font-weight:700}
.hero{min-height:calc(100vh - 86px);display:grid;place-items:center;text-align:center;color:#fff;position:relative;background:url("assets/residential-parking.png") center/cover no-repeat;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,42,.7),rgba(3,14,42,.46) 55%,rgba(3,14,42,.76))}.hero-content{z-index:1;padding:80px 22px 45px;text-shadow:0 2px 18px rgba(0,0,0,.25)}.hero-brand{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:22px}.hero-brand img{filter:drop-shadow(0 5px 10px rgba(0,0,0,.3))}.hero-brand b{font:800 clamp(22px,3vw,38px)/1 "Manrope";letter-spacing:.02em}.hero-brand b span{color:#22be70}.hero-kicker,.hero-tagline{font-weight:600;letter-spacing:.3em;margin:0}.hero-kicker{font-size:clamp(13px,1.4vw,20px)}.hero h1{font:500 clamp(66px,10vw,150px)/.94 "Manrope",sans-serif;letter-spacing:.14em;margin:18px 0}.hero-subtitle{font-size:clamp(17px,2.2vw,30px);letter-spacing:.25em;margin:0 0 6px}.hero-tagline{font-size:clamp(12px,1.35vw,19px)}.scroll-cue{display:block;font-size:38px;margin-top:46px;animation:bob 1.8s infinite}@keyframes bob{50%{transform:translateY(8px)}}
.section{padding:clamp(72px,8vw,120px) clamp(22px,7vw,110px)}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);gap:clamp(44px,7vw,110px);align-items:center;background:linear-gradient(135deg,#fff 60%,#eefaff)}.pill{display:inline-block;background:linear-gradient(90deg,#087f68,#0bae61);color:#fff;padding:8px 23px;border-radius:999px;font-weight:800}.about h2,.center-heading h2,.section-title h2,.proposal h2{font:800 clamp(38px,5vw,70px)/1.04 "Manrope",sans-serif;letter-spacing:-.045em;margin:20px 0 28px;color:var(--navy)}.about h2 em{font-style:normal;color:var(--green);display:block}.about-copy>p{max-width:710px;font-size:clamp(17px,1.45vw,21px);color:var(--muted)}.value-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.value-row span{border:1px solid #b7d9ca;color:var(--deep-green);padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px}.about-image{position:relative}.about-image>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.eco-badge{position:absolute;right:-18px;bottom:-22px;width:145px;height:145px;display:grid;place-content:center;text-align:center;color:#fff;border-radius:50%;background:var(--green);border:7px solid #fff;box-shadow:0 12px 35px rgba(0,0,0,.15)}.eco-badge b{font:800 27px/1 "Manrope"}.eco-badge span{font-size:12px;margin-top:5px}
.solutions{background:#f7f9f8}.center-heading{text-align:center;margin-bottom:42px}.center-heading>p,.section-title>p,.partnership>div>p,.proposal-copy>p{letter-spacing:.28em;font-weight:700;margin:0;color:var(--green)}.center-heading h2{margin:8px 0 12px}.center-heading>span,.section-title>span{color:var(--muted)}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1400px;margin:auto}.solution-grid article{min-width:0;border-radius:22px;overflow:hidden;background:var(--navy);color:#fff;box-shadow:0 12px 30px rgba(7,20,60,.12);transition:transform .25s}.solution-grid article:hover{transform:translateY(-7px)}.solution-grid article>img{width:100%;aspect-ratio:1/1;object-fit:cover}.solution-grid article>div{min-height:175px;padding:24px;background:linear-gradient(145deg,#007453,#07143c)}.solution-grid article:nth-child(even)>div{background:linear-gradient(145deg,#506795,#07143c)}.solution-grid article b{font-size:30px;font-weight:500}.solution-grid h3{font:800 clamp(18px,1.6vw,25px)/1.1 "Manrope";margin:10px 0 9px}.solution-grid p{margin:0;color:#e2e7ee;font-size:14px}
.method{background:#fff}.method-banner{height:220px;position:relative;overflow:hidden;border-radius:20px;margin-bottom:58px}.method-banner img{width:100%;height:100%;object-fit:cover}.method-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,60,.72),transparent)}.method-banner span{position:absolute;z-index:1;left:34px;bottom:27px;color:#fff;letter-spacing:.3em;font-size:13px;font-weight:700}.section-title{margin-bottom:34px}.section-title h2{font-family:"Playfair Display",serif;font-size:clamp(38px,4vw,58px);letter-spacing:-.02em;margin:6px 0 0}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.method-grid article>div{position:relative}.method-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.method-grid i{position:absolute;top:16px;left:16px;width:45px;height:45px;display:grid;place-items:center;background:rgba(7,20,60,.88);border:2px solid #bf9635;color:#e5c163;font-style:normal}.method-grid h3{font:800 18px "Manrope";margin:18px 0 5px;color:var(--navy)}.method-grid p{margin:0;color:var(--muted)}
.clients{background:#f8fafb;overflow:hidden}.centered{text-align:center}.logo-marquee{overflow:hidden;margin:45px calc(-1 * clamp(22px,7vw,110px));padding:24px 0;background:#fff;border-block:1px solid #e8ebed}.logo-track{display:flex;width:max-content;align-items:center;animation:marquee 28s linear infinite}.logo-track img{height:70px;width:auto;max-width:none;margin-right:90px}@keyframes marquee{to{transform:translateX(-33.333%)}}.project-row{display:flex;gap:22px;max-width:1400px;margin:45px auto 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 3px 22px}.project-row::-webkit-scrollbar{display:none}.project-row figure{flex:0 0 clamp(275px,31vw,410px);scroll-snap-align:start;margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(7,20,60,.09)}.project-row img{width:100%;height:360px;object-fit:cover}.project-row figcaption{padding:20px;display:flex;flex-direction:column}.project-row b{font:800 20px "Manrope";color:var(--navy)}.project-row span{color:var(--muted);font-size:14px;margin-top:3px}.swipe-hint{text-align:center;color:var(--muted);font-size:13px;margin:8px 0 0}
.partnership{padding:clamp(70px,9vw,135px) clamp(22px,9vw,140px);background:linear-gradient(135deg,#068c4e,#16c267);color:#fff;display:flex;justify-content:space-between;align-items:end;gap:50px;position:relative;overflow:hidden}.partnership:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:120px solid rgba(255,255,255,.05);right:-200px;top:-260px}.partnership>div,.partnership>a{z-index:1}.partnership>div>p{color:#fff}.partnership h2{font:700 clamp(44px,6vw,82px)/1.03 "Playfair Display";margin:18px 0 25px;letter-spacing:-.03em}.partnership span{display:block;font-size:clamp(18px,1.8vw,25px);max-width:770px}.partnership>a{flex:none;background:#fff;color:var(--navy);border-radius:999px;padding:20px 30px;font:800 17px "Manrope"}.partnership>a b{margin-left:16px}
.proposal{background:var(--cream);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,7vw,100px);align-items:start}.proposal-copy{position:sticky;top:120px}.proposal-copy>p{color:var(--ink)}.proposal-copy h2{font-family:"Playfair Display",serif;font-size:clamp(45px,5vw,70px)}.proposal-copy>span{display:block;color:#555d68;font-size:clamp(18px,1.6vw,23px);max-width:650px}.proposal dl{margin-top:45px}.proposal dl>div{margin:0 0 24px}.proposal dt{font-weight:800;color:var(--green);font-size:13px;letter-spacing:.08em}.proposal dd{margin:4px 0 0;font:700 clamp(17px,1.5vw,22px)/1.3 "Manrope";color:var(--navy)}.proposal form{background:#fff;padding:clamp(24px,4vw,55px);border-radius:10px;border-top:5px solid #c59d3a;box-shadow:var(--shadow)}.form-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px}.form-head span{font:800 25px "Manrope";color:var(--navy)}.form-head small,.form-note{color:#757b84}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-grid label{display:flex;flex-direction:column;font-weight:700;color:#343945;gap:8px}.field-grid .wide{grid-column:1/-1}.field-grid input,.field-grid select,.field-grid textarea{width:100%;border:1px solid #cfd2d0;background:#f7f4ee;border-radius:3px;padding:15px;color:var(--ink);outline:none}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(12,171,97,.12)}.field-grid textarea{resize:vertical}.form-submit{width:100%;margin-top:25px;padding:18px;border:0;background:var(--navy);color:#fff;font:800 18px "Manrope";cursor:pointer}.form-submit:hover{background:#10245c}.form-submit:disabled{opacity:.65}.form-note{display:block;text-align:center;margin-top:11px}.form-success{background:#e8f7ef;border:1px solid #a9d8bd;color:#075b37;padding:16px;margin-bottom:22px;display:flex;flex-direction:column}.form-success[hidden]{display:none}.honeypot{position:absolute!important;left:-9999px!important}
footer{padding:45px clamp(22px,7vw,110px);background:#050d29;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}footer .brand strong{color:#fff}footer>p{margin:0;color:#b9c0d3;font-size:13px;text-align:center}
@media(max-width:980px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;padding:20px 24px 27px;background:#fff;box-shadow:0 18px 28px rgba(7,20,60,.13);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{text-align:center;padding:8px}.menu-toggle{display:block}.about,.proposal{grid-template-columns:1fr}.proposal-copy{position:static}.solution-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}.project-row{grid-template-columns:1fr 1fr}.project-row figure:last-child{grid-column:1/-1}.partnership{align-items:start;flex-direction:column}.partnership>a{align-self:flex-start}}
@media(max-width:620px){html{scroll-padding-top:74px}.site-header{height:74px;padding-inline:18px}.site-header nav{top:74px}.site-header .brand img{width:41px;height:39px}.brand strong{font-size:18px}.brand small{font-size:6px}.menu-toggle{padding:8px 15px}.hero{min-height:calc(100svh - 74px);background-position:60% center}.hero-content{padding-top:60px}.hero h1{font-size:48px;letter-spacing:.08em}.hero-subtitle{font-size:13px;letter-spacing:.14em}.hero-kicker,.hero-tagline{font-size:10px;letter-spacing:.19em}.hero-brand img{width:50px}.hero-brand b{font-size:23px}.section{padding:65px 20px}.about h2,.center-heading h2,.proposal h2{font-size:39px}.about-image{margin-right:10px}.eco-badge{width:112px;height:112px;right:-8px;bottom:-18px}.solution-grid,.method-grid{grid-template-columns:1fr}.solution-grid article>img{aspect-ratio:16/10}.solution-grid article>div{min-height:145px}.method-banner{height:150px}.method-grid{gap:38px}.project-row{margin-inline:-20px;padding-inline:20px}.project-row figure{flex-basis:82vw}.project-row img{height:330px}.logo-track img{height:52px;margin-right:55px}.partnership{padding:70px 22px}.partnership h2{font-size:46px}.partnership>a{width:100%;text-align:center;padding:17px 20px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.proposal form{padding:24px 18px}.proposal-copy h2{font-size:44px}footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue,.logo-track{animation:none}}
.reference-solution-grid .solution-ref{background:transparent;aspect-ratio:auto}.reference-solution-grid .solution-ref>img{display:block;width:100%;height:auto;aspect-ratio:299/498;object-fit:contain}.reference-projects{justify-content:center}.reference-projects figure{background:transparent}.reference-projects figure>img{display:block;width:100%;height:auto;aspect-ratio:364/404;object-fit:contain}
@media(max-width:620px){.reference-projects{justify-content:flex-start}.reference-projects figure{flex-basis:82vw}}
.swipe-gallery{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 4px 24px;overscroll-behavior-inline:contain}.swipe-gallery::-webkit-scrollbar{display:none}.reference-solution-grid{justify-content:flex-start}.reference-solution-grid .solution-ref{flex:0 0 clamp(245px,24vw,320px);scroll-snap-align:start}.method-grid.swipe-gallery{grid-template-columns:none}.method-grid.swipe-gallery article{flex:0 0 clamp(270px,28vw,360px);scroll-snap-align:start;background:#fff;border-radius:12px;padding:0 0 20px;overflow:hidden;box-shadow:0 10px 28px rgba(7,20,60,.08)}.method-grid.swipe-gallery article h3,.method-grid.swipe-gallery article p{margin-left:18px;margin-right:18px}.reference-projects.swipe-gallery{justify-content:flex-start}
.method-grid.swipe-gallery article>div>img{transform:rotate(180deg)}
@media(max-width:620px){.reference-solution-grid,.method-grid.swipe-gallery{margin-inline:-20px;padding-inline:20px}.reference-solution-grid .solution-ref,.method-grid.swipe-gallery article{flex-basis:82vw}.method-grid.swipe-gallery{gap:22px}}
