*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--white:#fff;--off-white:#f4f4f4;--surface:#e8e8e8;--rule:#d4d4d4;--gray-300:#b0b0b0;--gray-400:#767676;--gray-600:#444;--black:#161616;--accent:#5b5f63;--accent-lt:rgba(91,95,99,.1);--accent-2:#d4c000;--accent-2-lt:rgba(212,192,0,.13);--radius:3px;--col:1160px}html{scroll-behavior:smooth}body{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;background:var(--white);color:var(--black);overflow-x:hidden;-webkit-font-smoothing:antialiased}.container{max-width:var(--col);margin:0 auto}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent-2);margin-bottom:20px;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";display:block;width:24px;height:1px;background:var(--accent-2)}h1,h2,h3{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal}.lang-toggle{display:flex;align-items:center;border:1.5px solid var(--rule);border-radius:var(--radius);overflow:hidden;margin-left:16px}.lang-btn{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;letter-spacing:1.5px;padding:6px 12px;background:transparent;border:none;color:var(--gray-400);cursor:pointer;transition:all .15s}.lang-btn.active{background:var(--accent);color:var(--white)}.lang-btn:hover:not(.active){background:var(--off-white);color:var(--black)}.lang-divider{width:1px;height:28px;background:var(--rule);flex-shrink:0}nav{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 78px;background:hsla(0,0%,100%,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}.nav-logo{font-size:17px;font-weight:900;letter-spacing:-.5px;text-transform:uppercase;color:var(--black)}.nav-logo span{font-weight:900;font-style:normal;color:var(--accent-2)}.nav-center{display:flex;gap:36px;list-style:none;position:absolute;left:50%;transform:translateX(-50%)}.nav-center a{font-size:13px;font-weight:500;letter-spacing:.3px;color:var(--gray-600);text-decoration:none;transition:color .15s}.nav-center a:hover{color:var(--black)}.nav-right{display:flex;align-items:center}.nav-cta{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;background:var(--accent);color:var(--white);padding:10px 24px;border-radius:var(--radius);text-decoration:none;transition:background .2s}.nav-cta:hover{background:#44474a}.nav-hamburger{display:none;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--black);padding:4px;margin-left:14px}.nav-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease}.nav-drawer-overlay.open{opacity:1;pointer-events:auto}.nav-drawer{display:none;position:fixed;top:0;right:0;bottom:0;width:82%;max-width:320px;background:var(--white);z-index:201;flex-direction:column;padding:20px 24px 28px;box-shadow:-8px 0 40px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-drawer.open{transform:translateX(0)}.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;height:44px;margin-bottom:16px}.nav-drawer-title{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-400)}.nav-drawer-close{background:transparent;border:none;cursor:pointer;color:var(--black);padding:4px}.nav-drawer-links{display:flex;flex-direction:column}.nav-drawer-links a{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--gray-600);text-decoration:none;padding:15px 4px;border-bottom:1px solid var(--rule);transition:color .15s}.nav-drawer-links a:hover{color:var(--black)}.nav-drawer-cta{margin-top:auto;flex-shrink:0;text-align:center;background:var(--accent);color:var(--white);font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:15px 24px;border-radius:var(--radius);text-decoration:none;transition:background .2s}.nav-drawer-cta:hover{background:#44474a}.nav-fab{display:none;position:fixed;bottom:20px;right:20px;z-index:150;align-items:center;gap:8px;background:var(--accent);color:var(--white);padding:14px 22px;border-radius:50px;box-shadow:0 6px 22px rgba(0,0,0,.28);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.nav-fab:active{background:#44474a}.nav-fab.nav-fab-hidden{display:none}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--off-white);overflow:hidden}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:140px 72px 100px 80px;border-right:1px solid var(--rule)}.hero-tag{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent-2);margin-bottom:32px;display:flex;align-items:center;gap:12px;opacity:0;animation:fadeUp .7s ease .2s forwards}.hero-tag:before{content:"";width:20px;height:1px;background:var(--accent-2)}.hero-h1{font-size:clamp(44px,5.5vw,74px);font-weight:900;line-height:1;letter-spacing:-2.5px;color:var(--black);margin-bottom:32px;text-transform:uppercase;opacity:0;animation:fadeUp .7s ease .35s forwards}.hero-h1 em{font-style:normal;color:var(--accent-2);font-weight:900}.hero-sub{font-size:17px;font-weight:300;line-height:1.7;color:var(--gray-600);max-width:400px;margin-bottom:48px;opacity:0;animation:fadeUp .7s ease .5s forwards}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .7s ease .62s forwards}.btn-primary{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;background:var(--accent);color:var(--white);padding:14px 32px;border-radius:var(--radius);text-decoration:none;transition:background .2s;display:inline-block}.btn-primary:hover{background:#44474a}.btn-outline{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;background:transparent;color:var(--black);padding:14px 32px;border-radius:var(--radius);border:1.5px solid var(--rule);text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.btn-outline:hover{border-color:var(--gray-400);color:var(--gray-600)}.hero-right{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface);opacity:0;animation:fadeIn 1s ease .4s forwards}.hero-right-bg,.hero-slideshow{position:absolute;inset:0}.hero-slideshow{overflow:hidden}.hero-slideshow-track{display:flex;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1)}.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-slide-nav{position:absolute;top:0;bottom:0;width:18%;display:flex;align-items:center;z-index:2;background:transparent;border:none;cursor:pointer;color:var(--white);opacity:0;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.hero-slide-nav-prev{left:0;justify-content:flex-start;padding-left:16px}.hero-slide-nav-next{right:0;justify-content:flex-end;padding-right:16px}.hero-right:hover .hero-slide-nav{opacity:.85}.hero-slide-nav svg{background:rgba(0,0,0,.35);border-radius:50%;padding:6px;width:34px;height:34px;transition:background .2s}.hero-slide-nav:hover svg{background:rgba(0,0,0,.6)}.hero-slide-dots{position:absolute;bottom:20px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:8px}.hero-slide-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:hsla(0,0%,100%,.45);cursor:pointer;transition:background .2s,width .2s}.hero-slide-dot.active{background:var(--white);width:22px;border-radius:4px}.hero-right-card{position:relative;z-index:1;width:340px;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 8px 40px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);overflow:hidden}.hero-card-top{background:var(--accent);padding:28px 32px;display:flex;align-items:center;gap:16px}.hero-card-icon{color:hsla(0,0%,100%,.7)}.hero-card-label{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:hsla(0,0%,100%,.6)}.hero-card-title{font-size:18px;font-weight:800;color:var(--white);text-transform:uppercase;margin-top:2px;letter-spacing:-.3px}.hero-card-body{padding:28px 32px}.hero-card-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule)}.hero-card-row:last-child{border-bottom:none}.hero-card-key{font-size:12px;color:var(--gray-400);font-weight:400}.hero-card-val{font-size:13px;font-weight:600;color:var(--black)}.hero-card-val.accent{color:var(--accent);font-weight:700}.hero-stamp{position:absolute;bottom:48px;right:48px;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-300);text-align:right;line-height:1.8}.ticker{background:var(--black);overflow:hidden;padding:14px 0}.ticker-track{display:flex;animation:ticker 28s linear infinite;white-space:nowrap}.ticker-item{display:inline-flex;align-items:center;gap:28px;padding:0 28px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:hsla(0,0%,100%,.75);flex-shrink:0}.ticker-dot{width:4px;height:4px;border-radius:50%;background:hsla(0,0%,100%,.3)}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.stats{background:var(--white);border-bottom:1px solid var(--rule)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:var(--col);margin:0 auto}.stat-cell{padding:56px 40px;border-right:1px solid var(--rule);position:relative}.stat-cell:last-child{border-right:none}.stat-num{font-size:54px;font-weight:900;letter-spacing:-2px;color:var(--black);line-height:1}.stat-num sup{font-size:22px;vertical-align:super;font-weight:400;color:var(--accent-2);letter-spacing:0}.stat-label{font-size:13px;color:var(--gray-400);margin-top:10px;font-weight:400;line-height:1.4}.stat-rule{position:absolute;bottom:0;left:40px;width:32px;height:3px;background:var(--accent-2)}.services{background:var(--off-white);padding:120px 48px}.services-header{margin-bottom:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.services-header-right{max-width:380px}.services-header-right p{font-size:16px;font-weight:300;color:var(--gray-600);line-height:1.7}.section-h2{font-size:clamp(34px,3.5vw,50px);font-weight:900;letter-spacing:-1.5px;line-height:1.06;color:var(--black);text-transform:uppercase}.section-h2 em{font-style:normal;font-weight:900;color:var(--accent)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--rule);grid-gap:1px;gap:1px}.service-card{background:var(--white);padding:44px 36px;transition:background .2s}.service-card:hover{background:#faf9f7}.service-num{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;color:var(--gray-300);margin-bottom:28px}.service-icon-wrap{margin-bottom:20px;color:var(--accent)}.service-icon-wrap svg{width:36px;height:36px}.service-name{font-size:16px;font-weight:700;letter-spacing:-.2px;text-transform:uppercase;color:var(--black);margin-bottom:12px}.service-desc{font-size:14px;color:var(--gray-400);line-height:1.7;font-weight:300}.service-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--accent);text-decoration:none;transition:gap .2s}.service-link:hover{gap:10px}.about{background:var(--white);padding:120px 48px}.about-inner{display:grid;grid-template-columns:5fr 6fr;grid-gap:80px;gap:80px;align-items:start;max-width:var(--col);margin:0 auto}.about-visual{position:-webkit-sticky;position:sticky;top:100px;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.about-visual-top{background:var(--accent);padding:36px 36px 28px}.about-visual-top-label{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:hsla(0,0%,100%,.5);margin-bottom:12px}.about-visual-top-title{font-size:22px;font-weight:800;color:var(--white);line-height:1.2;text-transform:uppercase;letter-spacing:-.5px}.about-visual-body{padding:32px 36px;background:var(--off-white)}.about-spec-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--rule)}.about-spec-row:last-child{border-bottom:none}.about-spec-key{font-size:12px;color:var(--gray-400);font-weight:400}.about-spec-val{font-size:13px;font-weight:600;color:var(--black)}.about-spec-badge{font-family:IBM Plex Mono,monospace;font-size:10px;background:var(--accent-2-lt);color:var(--accent-2);padding:3px 8px;border-radius:2px;font-weight:500}.about-body{font-size:16px;font-weight:300;color:var(--gray-600);line-height:1.75}.about-body,.feature-list{margin-bottom:40px}.feature-item{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--rule)}.feature-item:first-child{border-top:1px solid var(--rule)}.feature-bullet{width:6px;height:6px;border-radius:50%;background:var(--accent-2);flex-shrink:0;margin-top:8px}.feature-text strong{font-size:15px;font-weight:600;color:var(--black);display:block;margin-bottom:3px}.feature-text span{font-size:14px;color:var(--gray-400);line-height:1.6;font-weight:300}.products{background:var(--off-white);padding:120px 48px}.products-inner{max-width:var(--col);margin:0 auto}.products-header{margin-bottom:72px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.products-header-sub{font-size:15px;font-weight:300;color:var(--gray-600);line-height:1.7;max-width:360px}.products-callout{background:var(--black);border-radius:var(--radius);padding:44px 48px;margin-bottom:40px;display:flex;align-items:center;justify-content:center;text-align:center}.products-callout-text{font-size:clamp(22px,3vw,38px);font-weight:900;letter-spacing:-1px;line-height:1.2;color:var(--white);text-transform:uppercase;max-width:820px}.products-callout-text em{font-style:normal;font-weight:900;color:var(--accent-2)}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.products-grid-collapsible:not(.show-all) .product-card-hidden{display:none}.products-showmore-wrap{display:flex;justify-content:center;margin-top:32px}.products-showmore{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius);padding:13px 32px;cursor:pointer;transition:background .2s,color .2s}.products-showmore:hover{background:var(--accent);color:var(--white)}.product-card{background:var(--white);padding:40px 36px;position:relative;overflow:hidden;transition:background .25s}.product-card:hover{background:#fafaf8}.product-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-2);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.product-card:hover:after{transform:scaleX(1)}.product-tag{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent-2);margin-bottom:20px;display:block}.product-name{font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:-.5px;color:var(--black);margin-bottom:6px}.product-psi{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--accent);font-weight:500;margin-bottom:16px}.product-desc{font-size:13px;color:var(--gray-400);line-height:1.7;font-weight:300;margin-bottom:24px}.product-specs{border-top:1px solid var(--rule);padding-top:20px}.product-spec-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule)}.product-spec-row:last-child{border-bottom:none}.product-spec-key{font-size:11px;color:var(--gray-300);font-weight:400}.product-spec-val{font-size:11px;color:var(--black);font-weight:600;font-family:IBM Plex Mono,monospace}.products-note{margin-top:40px;padding:20px 28px;border:1px solid var(--rule);border-radius:var(--radius);display:flex;align-items:center;gap:16px;background:var(--white)}.products-note-icon{color:var(--accent);flex-shrink:0}.products-note p{font-size:13px;color:var(--gray-400);line-height:1.6;font-weight:300}.products-note p strong{color:var(--black);font-weight:600}.coverage{background:var(--white);padding:120px 48px}.coverage-inner{max-width:var(--col);margin:0 auto}.coverage-header{margin-bottom:56px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.coverage-header-sub{font-size:15px;font-weight:300;color:var(--gray-600);line-height:1.7;max-width:360px}.map-wrap{border:1px solid var(--rule);background:var(--off-white);padding:32px 32px 0}.map-viewport,.map-wrap{border-radius:var(--radius);position:relative}.map-viewport{overflow:hidden}.map-svg{width:100%;display:block;transform-origin:0 0;will-change:transform}.map-zoom-controls{position:absolute;top:12px;right:12px;z-index:6;display:flex;flex-direction:column;gap:6px}.map-zoom-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);color:var(--gray-600);cursor:pointer;padding:0;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:background .15s,color .15s,border-color .15s}.map-zoom-btn:hover:not(:disabled){background:var(--accent);color:var(--white);border-color:var(--accent)}.map-zoom-btn:disabled{opacity:.4;cursor:default}.muni{stroke:var(--accent);stroke-width:.4;transition:fill .15s;cursor:pointer}.muni-pr{fill:var(--accent)}.muni-pr:hover{fill:#44474a}.muni-bta{fill:var(--accent-2);fill-opacity:.78}.muni-bta:hover{fill-opacity:1}.muni-cda{fill:var(--gray-300);fill-opacity:.65}.muni-cda:hover{fill-opacity:.9}.plant{cursor:pointer}.plant-outer{stroke-width:1.4}.plant-bta .plant-outer{fill:var(--white);stroke:var(--accent)}.plant-bta .plant-inner{fill:var(--accent)}.plant-cda .plant-outer{fill:var(--accent-2);stroke:var(--gray-600)}.plant-cda .plant-inner{fill:var(--gray-600)}.map-tooltip{position:absolute;pointer-events:none;z-index:10;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 4px 18px rgba(0,0,0,.1);padding:8px 13px;min-width:120px;max-width:220px;display:none}.map-tooltip-name{font-size:13px;font-weight:700;color:var(--black);line-height:1.3}.map-tooltip-sub{font-size:11px;color:var(--gray-400);margin-top:2px;line-height:1.4}.map-legend{border-top:1px solid var(--rule);margin-top:24px;padding:20px 0;flex-wrap:wrap;gap:14px 28px}.map-legend,.map-legend-item{display:flex;align-items:center}.map-legend-item{gap:8px;font-size:12px;color:var(--gray-600);font-weight:400}.map-legend-swatch{width:13px;height:13px;border-radius:2px;flex-shrink:0}.map-legend-dot{width:17px;height:17px;flex-shrink:0}.team{background:var(--white);padding:120px 48px}.team-inner{max-width:var(--col);margin:0 auto}.team-header{margin-bottom:64px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.team-header-sub{font-size:15px;font-weight:300;color:var(--gray-600);line-height:1.7;max-width:360px}.team-banner{margin-bottom:64px}.team-banner-img{width:100%;aspect-ratio:16/9;max-height:600px;background:var(--black);border-radius:var(--radius);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.team-banner-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.team-banner-grid{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:64px 64px}.team-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(91,95,99,.18),rgba(0,0,0,.35))}.team-banner-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:48px}.team-banner-icon{opacity:.18}.team-banner-label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:hsla(0,0%,100%,.5);font-weight:500}.team-banner-hint{font-size:13px;color:hsla(0,0%,100%,.25);font-weight:300;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius);padding:6px 16px}.team-banner-caption{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--rule);margin-top:12px;margin-bottom:0}.team-banner-caption-left{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-400)}.team-banner-caption-right{font-size:12px;color:var(--gray-300);font-weight:300}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.team-card,.team-grid{background:var(--white)}.team-card{transition:background .2s;box-shadow:inset -1px -1px 0 var(--rule)}.team-card:hover{background:#faf9f7}.team-photo{aspect-ratio:1;background:var(--off-white);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--rule)}.team-photo-bg{position:absolute;inset:0;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:28px 28px}.team-photo-icon{position:relative;z-index:1;color:var(--accent);opacity:.25}.team-photo-icon svg{width:56px;height:56px}.team-info{padding:24px 24px 28px}.team-name{font-size:16px;font-weight:800;letter-spacing:-.3px;color:var(--black);margin-bottom:4px}.team-name,.team-role{text-transform:uppercase}.team-role{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:1.5px;color:var(--accent-2);margin-bottom:14px}.team-bio{font-size:13px;color:var(--gray-400);line-height:1.65;font-weight:300}.projects{background:var(--off-white);padding:120px 48px}.projects-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px;max-width:var(--col);margin-left:auto;margin-right:auto}.projects-header-right{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);text-decoration:none;font-weight:500}.projects-header-right:hover{text-decoration:underline}.projects-viewall{display:flex;justify-content:center;margin-top:48px;max-width:var(--col);margin-left:auto;margin-right:auto}.projects-viewall-btn{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase;background:var(--accent);color:var(--white);border-radius:var(--radius);padding:16px 40px;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 18px rgba(0,0,0,.12)}.projects-viewall-btn:hover{background:#44474a;transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.18)}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:16px;gap:16px;max-width:var(--col);margin:0 auto}.project-card{background:var(--white);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s,transform .25s}.project-card:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(0,0,0,.08)}.project-card.large{grid-column:span 7}.project-card.small{grid-column:span 5}.project-thumb{background:var(--surface);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-card.large .project-thumb,.project-card.small .project-thumb{height:280px}.project-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:40px 40px}.project-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-thumb-icon{position:relative;z-index:1;color:var(--accent);opacity:.3}.project-thumb-icon svg{width:52px;height:52px}.project-info{padding:24px 28px}.project-cat{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px}.project-name{font-size:18px;font-weight:800;color:var(--black);letter-spacing:-.4px;text-transform:uppercase;margin-bottom:6px}.project-meta{font-size:13px;color:var(--gray-400);font-weight:300}.gallery-page{background:var(--off-white);padding:120px 48px 100px;min-height:100vh}.gallery-page-inner{max-width:var(--col);margin:0 auto}.gallery-back{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray-600);text-decoration:none;margin-bottom:32px;transition:color .2s}.gallery-back:hover{color:var(--accent)}.gallery-page-header{margin-bottom:56px}.gallery-page-sub{font-size:16px;font-weight:300;color:var(--gray-600);line-height:1.6;max-width:560px;margin-top:16px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.gallery-item{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--surface);cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item-cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px 20px;background:linear-gradient(0deg,rgba(0,0,0,.72) 0,transparent 55%);opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-item-cap{opacity:1}.gallery-item-cat{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-2)}.gallery-item-name{font-size:15px;font-weight:700;color:var(--white);letter-spacing:-.3px}.gallery-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:64px;padding:32px 40px;background:var(--white);border:1px solid var(--rule);border-radius:var(--radius)}.gallery-cta p{font-size:16px;font-weight:300;color:var(--gray-600)}@media (max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.gallery-page{padding:96px 20px 72px}.gallery-grid{grid-template-columns:1fr}.gallery-cta{flex-direction:column;align-items:flex-start}}.calculator{background:var(--white);padding:120px 48px}.calc2-inner{max-width:var(--col);margin:0 auto}.calc2-header{margin-bottom:56px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.calc2-header-sub{font-size:15px;font-weight:300;color:var(--gray-600);line-height:1.7;max-width:420px}.calc2-wrap{border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--white)}.calc2-tabs{display:flex;border-bottom:1px solid var(--rule);background:var(--off-white)}.calc2-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;background:transparent;border:none;border-right:1px solid var(--rule);cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray-400);transition:all .15s;position:relative}.calc2-tab:last-child{border-right:none}.calc2-tab svg{color:var(--gray-300);transition:color .15s}.calc2-tab:hover{background:var(--white);color:var(--black)}.calc2-tab.active,.calc2-tab:hover svg{color:var(--accent)}.calc2-tab.active{background:var(--white)}.calc2-tab.active svg{color:var(--accent)}.calc2-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.calc2-body{display:grid;grid-template-columns:1fr 1fr;min-height:280px}.calc2-diagram{background:var(--off-white);border-right:1px solid var(--rule);display:flex;align-items:center;justify-content:center;padding:32px}.diagram{width:100%}.diagram.hidden{display:none}.calc2-fields-panel{padding:32px;display:flex;flex-direction:column;gap:20px}.calc2-fieldset{display:none;flex-direction:column;gap:14px}.calc2-fieldset.active{display:flex}.calc2-field{display:flex;flex-direction:column;gap:6px}.calc2-field label{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--gray-400);letter-spacing:1.5px;text-transform:uppercase}.calc2-field input{background:var(--off-white);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 14px;color:var(--black);font-size:16px;font-weight:700;font-family:Inter,sans-serif;outline:none;transition:border-color .2s;width:100%}.calc2-field input:focus{border-color:var(--accent);background:var(--white)}.calc2-ftin{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.calc2-ftin-unit{position:relative;display:flex;align-items:center}.calc2-ftin-unit input{padding-right:34px}.calc2-ftin-unit span{position:absolute;right:12px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;color:var(--gray-400);pointer-events:none}.calc2-results{margin-top:auto}.calc2-waste-toggle{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:14px 18px;border:1.5px solid var(--accent);border-radius:var(--radius);background:var(--accent-lt)}.calc2-waste-label{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--accent);white-space:nowrap}.calc2-waste-range{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:6px;background:var(--gray-300);outline:none;cursor:pointer}.calc2-waste-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid var(--white);box-shadow:0 2px 5px rgba(0,0,0,.3);cursor:pointer}.calc2-waste-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid var(--white);box-shadow:0 2px 5px rgba(0,0,0,.3);cursor:pointer}.calc2-waste-range:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.calc2-waste-value{font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:700;color:var(--accent);min-width:42px;text-align:right}.calc2-result-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:12px}.calc2-result-box{background:var(--off-white);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px}.calc2-result-box.accent-box{background:var(--accent-2-lt);border-color:rgba(212,192,0,.3)}.calc2-result-label{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray-400);margin-bottom:6px}.calc2-result-value{font-size:24px;font-weight:900;letter-spacing:-1px;color:var(--black)}.calc2-note{font-size:11px;color:var(--gray-300);line-height:1.6}.calc2-cta-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;border-top:1px solid var(--rule);background:var(--off-white)}.calc2-cta-bar p{font-size:14px;font-weight:300;color:var(--gray-600)}.calc2-submit{flex-shrink:0;background:var(--accent);color:var(--white);border:none;border-radius:var(--radius);padding:12px 28px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap}.calc2-submit:hover{background:#44474a}.testimonial{background:var(--off-white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:96px 48px}.testimonial-inner{max-width:800px;margin:0 auto;text-align:center}.testimonial-rule{width:40px;height:3px;background:var(--accent);margin:0 auto 48px}.testimonial-text{font-size:clamp(20px,2.5vw,28px);font-weight:300;line-height:1.6;color:var(--black);margin-bottom:40px;letter-spacing:-.2px}.testimonial-author{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray-400)}.testimonial-author strong{color:var(--gray-600);font-weight:500}.contact{background:var(--white);padding:120px 48px}.contact-inner{display:grid;grid-template-columns:5fr 6fr;grid-gap:80px;gap:80px;max-width:var(--col);margin:0 auto;align-items:start}.contact-details{margin-top:40px}.contact-item{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--rule);align-items:flex-start}.contact-item:first-child{border-top:1px solid var(--rule)}.contact-item-icon{color:var(--accent);margin-top:2px;flex-shrink:0}.contact-item-icon svg{width:18px;height:18px}.contact-item-key{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-2);margin-bottom:4px}.contact-item-val{font-size:15px;color:var(--gray-600);font-weight:300}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group label{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--gray-400);letter-spacing:1.5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:var(--off-white);border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;color:var(--black);font-size:15px;font-family:Inter,sans-serif;outline:none;transition:all .2s;-webkit-appearance:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--white)}.form-group textarea{resize:none;min-height:108px}.form-submit{align-self:flex-start;background:var(--accent);color:var(--white);border:none;border-radius:var(--radius);padding:14px 36px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s}.form-submit:hover{background:#44474a}footer{background:var(--black);padding:72px 48px 32px}.footer-top{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;padding-bottom:56px;border-bottom:1px solid hsla(0,0%,100%,.08);margin-bottom:32px;max-width:var(--col);margin-left:auto;margin-right:auto}.footer-logo{font-size:20px;font-weight:900;color:var(--white);text-transform:uppercase;letter-spacing:-.5px;margin-bottom:12px}.footer-logo span{font-style:normal;font-weight:300;color:hsla(0,0%,100%,.4)}.footer-tagline{font-size:13px;color:hsla(0,0%,100%,.3);line-height:1.6;font-weight:300;max-width:200px}.footer-links{display:flex;gap:60px;flex-wrap:wrap}.footer-col h4{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:hsla(0,0%,100%,.3);margin-bottom:18px}.footer-col a{display:block;font-size:14px;font-weight:300;color:hsla(0,0%,100%,.5);text-decoration:none;margin-bottom:10px;transition:color .2s}.footer-col a:hover{color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;max-width:var(--col);margin:0 auto}.footer-copy{font-family:IBM Plex Mono,monospace;font-size:11px;color:hsla(0,0%,100%,.2);letter-spacing:.5px}.footer-socials{display:flex;gap:8px}.social-btn{width:34px;height:34px;border-radius:var(--radius);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;color:hsla(0,0%,100%,.35);text-decoration:none;transition:all .2s}.social-btn:hover{background:hsla(0,0%,100%,.1);color:var(--white);border-color:hsla(0,0%,100%,.15)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media (max-width:960px) and (min-width:601px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:960px){nav{padding:0 20px}.nav-center,.nav-right .nav-cta{display:none}.nav-hamburger{display:inline-flex}.nav-drawer-overlay{display:block}.nav-drawer{display:flex}.nav-fab{display:inline-flex}.hero{grid-template-columns:1fr}.hero-left{padding:120px 24px 60px;border-right:none;border-bottom:1px solid var(--rule)}.hero-right{min-height:360px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-cell:nth-child(2){border-right:none}.products-grid,.services-grid,.team-grid{grid-template-columns:1fr}.services-header{flex-direction:column;align-items:flex-start;gap:24px}.about-inner{grid-template-columns:1fr;gap:48px}.about-visual{position:static}.projects-grid{grid-template-columns:1fr}.project-card.large,.project-card.small{grid-column:span 1}.calc-fields,.contact-inner{grid-template-columns:1fr}.contact-inner{gap:48px}.about,.calculator,.contact,.coverage,.products,.projects,.services,.team,section{padding:80px 20px}footer{padding:56px 20px 24px}.map-wrap{padding:16px 16px 0}.map-legend{gap:10px 16px}.calc2-body{grid-template-columns:1fr}.calc2-diagram{display:none}.calc2-header{flex-direction:column;align-items:flex-start;gap:16px}.calc2-result-row{grid-template-columns:1fr 1fr}.calc2-cta-bar{flex-direction:column;align-items:flex-start}.calc2-submit{width:100%;text-align:center}}