@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#111111;--black:#090909;--orange:#ff6a1a;--muted:#676767;--line:#dedede;--paper:#fafafa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.09;font-weight:500;letter-spacing:-.05em}h1{font-size:clamp(3rem,6vw,6.4rem);margin-bottom:30px}h2{font-size:clamp(2rem,3.7vw,3.8rem);margin-bottom:28px}h3{font-size:1.65rem;letter-spacing:-.035em}p{color:var(--muted)}.wrap{width:min(1320px,88%);margin-inline:auto}.topbar{background:var(--black);color:#bcbcbc;font-size:12px;letter-spacing:.14em}.topbar .wrap{display:flex;justify-content:space-between;padding-block:10px}.topbar a{color:#fff}header{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.97);color:#fff;border-bottom:1px solid #292929}.header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;line-height:1.12;letter-spacing:.12em;font-size:17px;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.22em;margin-top:6px}.brandmark{color:var(--orange);font:700 32px/1 Manrope,Arial;letter-spacing:-.09em;border-right:1px solid #444;padding-right:14px;white-space:nowrap}.brandmark span{font-size:22px;vertical-align:top}.header nav{display:flex;align-items:center;gap:25px;font-size:14px}.header nav>a:not(.button){position:relative;padding-block:13px;color:#d0d0d0}.header nav>a:hover,.header nav>a[aria-current]{color:#fff}.header nav>a[aria-current]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--orange)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--orange);color:#090909;min-height:52px;padding:14px 25px;border:1px solid var(--orange);font-size:14px;font-weight:600;border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#ff803a;border-color:#ff803a;transform:translateY(-2px)}.header .button{min-height:42px;padding:10px 18px;gap:18px}.button span{font-size:19px}.menu-toggle{display:none}.hero{min-height:720px;height:calc(100svh - 130px);max-height:1040px;position:relative;background:#151515;color:#fff;display:flex;align-items:center}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero>img{object-position:center 55%;filter:brightness(.75)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.32) 58%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.65),transparent 30%)}.hero-content{position:relative;padding-block:60px 130px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;color:var(--orange);margin-bottom:28px}.hero h1{max-width:850px;font-size:clamp(3.8rem,6.6vw,7rem);line-height:1.03}.hero h1 em{font-style:normal;color:#fff}.hero p:not(.eyebrow){color:#d6d6d6;font-size:17px;line-height:1.6}.actions{display:flex;gap:16px;margin-top:36px}.ghost{background:rgba(0,0,0,.15);border-color:#888;color:#fff}.ghost:hover{background:#fff;color:#111;border-color:#fff}.hero-bottom{position:absolute;bottom:30px;left:6%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff44;padding-top:22px;font-size:12px;letter-spacing:.1em}.proof{background:var(--black);color:#aaa;border-top:1px solid #333}.proof .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-block:34px;gap:40px}.proof span{font-size:14px;display:flex;align-items:center;gap:18px}.proof strong{font:400 34px Manrope;color:#fff;letter-spacing:-.05em}.split{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:115px}.lede{font-size:22px;line-height:1.5;color:#333;letter-spacing:-.02em}.textlink{display:inline-flex;gap:26px;align-items:center;border-bottom:1px solid #aaa;padding-block:10px;font-size:14px;font-weight:600}.textlink:hover{color:#bc4300;border-color:var(--orange)}.section{padding-block:90px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}.section-title h2{margin:0}.imagecards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.imagecards>a{position:relative;overflow:hidden;background:#171717;color:white;min-height:430px}.imagecards img{height:430px;transition:transform .6s;filter:brightness(.82)}.imagecards>a:hover img{transform:scale(1.035)}.imagecards>a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 70%)}.imagecards a>div{position:absolute;z-index:1;bottom:25px;left:28px;right:20px}.imagecards span{font-size:11px;letter-spacing:.14em;color:#ddd}.imagecards h3{margin:12px 0 0;font-size:25px}.dark{background:var(--black);color:#fff}.dark p{color:#aaa}.dark .eyebrow{color:var(--orange)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.cards article{border-top:1px solid #444;padding-top:25px}.number{font-size:14px;color:var(--orange);letter-spacing:.07em}.cards h3{margin-top:50px}.cards p{min-height:80px}.dark .textlink{color:#ddd}.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:115px}.cta h2{font-size:clamp(3rem,5vw,5.5rem);margin-bottom:0}.cta .button{min-width:245px}footer{background:#090909;color:#fff;padding-top:75px}.footgrid{display:grid;grid-template-columns:1.3fr .8fr 1.3fr 1fr;gap:40px;padding-bottom:70px}.footgrid h3{font:500 13px 'DM Sans',sans-serif;letter-spacing:.05em;color:#fff;margin-bottom:20px}.footgrid a:not(.brand){display:block;font-size:14px;color:#aaa;margin-bottom:10px;overflow-wrap:anywhere}.footgrid a:hover{color:var(--orange)}.footgrid p{font-size:14px;color:#999}.footgrid .brand{margin-bottom:25px}.legal{border-top:1px solid #292929;padding-block:25px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#999}.pagehead{padding-block:100px 65px}.pagehead h1{max-width:1000px}.pagehead .lede{max-width:610px}.service-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;padding-block:30px 70px}.service-intro img{height:510px}.service-row{display:grid;grid-template-columns:.2fr 1fr 1.15fr;gap:30px;border-top:1px solid var(--line);padding-block:55px}.service-row ul{padding-left:18px;color:#666}.service-row li{padding-block:5px}.jumplinks{display:flex;gap:50px;border-bottom:1px solid var(--line);padding-bottom:25px;font-size:14px}.system{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;border-bottom:1px solid var(--line)}.system img{height:580px}.system p{max-width:500px}.options{margin:30px 0}.options details{border-top:1px solid var(--line);padding-block:18px}.options summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:500;list-style:none}.options summary::-webkit-details-marker{display:none}.options summary span{color:#cf4d06}.options details[open] summary span{transform:rotate(45deg)}.options details p{margin:15px 20px 0 0;font-size:15px}.system .textlink{margin-right:25px;margin-bottom:20px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:45px}.filter{border:1px solid #ccc;padding:11px 25px;background:transparent;border-radius:2px;color:#444;font-size:14px}.filter.selected{background:#111;border-color:#111;color:#fff;box-shadow:inset 0 -3px var(--orange)}.project-section{padding-top:10px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.project-grid article[hidden]{display:none}.project-grid img{height:365px;transition:filter .3s}.project-grid a:hover img{filter:brightness(.88)}.project-grid article:first-child{grid-column:1/-1}.project-grid article:first-child img{height:540px}.project-grid article> a>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px}.project-grid h2{font-size:25px;margin:0}.project-grid span{font-size:12px;white-space:nowrap;color:#666}.fine{font-size:13px;margin-top:30px}.tesla-hero{height:710px;position:relative;color:#fff;display:flex;align-items:center;text-align:center;background:#111}.tesla-hero>img{position:absolute;inset:0;height:100%;filter:brightness(.42)}.tesla-hero>div{position:relative}.tesla-hero p{color:#fff}.tesla-hero .eyebrow{color:var(--orange)}.tesla-hero h1{font-size:clamp(3.3rem,6vw,6rem)}.tesla-hero .button{margin-top:20px;min-width:240px}.about-image{position:relative}.about-image img{height:550px}.image-label{position:absolute;left:30px;bottom:30px;color:white;background:#000a;padding:18px 22px;font-size:12px;letter-spacing:.12em}.compact{padding-block:0}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding-block:10px 100px}.contact-block{margin-bottom:45px;padding-top:25px;border-top:1px solid var(--line)}.contact-block .eyebrow{margin-bottom:16px;color:#a73e03}.bigcontact{font:500 clamp(1.4rem,2.5vw,2.5rem) Manrope;letter-spacing:-.04em}.mail{font-size:17px;overflow-wrap:anywhere}form{background:#f0f0f0;padding:45px}form h2{font-size:30px}form>p{font-size:15px}.formpair{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #ccc;background:#fafafa;padding:12px;margin-top:8px;border-radius:0;color:#111;min-width:0}textarea{resize:vertical}form .button{width:100%}:focus-visible{outline:3px solid #ff6a1a;outline-offset:5px}.skip{position:fixed;z-index:50;top:-70px;left:20px;background:white;padding:10px}.skip:focus{top:10px}
@media(min-width:1600px){.hero-bottom{left:calc((100% - 1320px)/2)}}@media(max-width:1100px){.header nav{gap:15px}.brand{font-size:14px}.brandmark{font-size:26px}.header nav{font-size:13px}.header .button{padding:10px;gap:10px}.wrap{width:90%}.hero-bottom{left:5%}.footgrid{grid-template-columns:1fr 1fr}.hero{min-height:650px}.imagecards img,.imagecards>a{height:350px;min-height:350px}.imagecards a>div{left:18px}.imagecards h3{font-size:22px}.service-intro,.system{gap:5%}}
@media(max-width:850px){.topbar{font-size:10px}.header{height:76px}.menu-toggle{display:block;border:1px solid #555;color:#fff;background:transparent;padding:8px 12px;font-size:14px}.header nav{display:none;position:absolute;left:0;right:0;top:76px;background:#111;padding:25px 5%;flex-direction:column;align-items:stretch;font-size:16px;gap:7px}.header nav.open{display:flex}.header nav>a[aria-current]:after{right:auto;width:30px}.header .button{margin-top:10px;padding:15px}.brand{font-size:16px}.hero{min-height:660px;height:85svh}.hero h1{font-size:clamp(3.2rem,8.8vw,5.5rem)}.hero-shade{background:linear-gradient(90deg,#000b,#0004),linear-gradient(0deg,#0009,transparent)}.hero-content{padding-bottom:100px}.proof .wrap{gap:20px}.proof span{flex-direction:column;gap:0;align-items:start;font-size:12px}.proof strong{font-size:29px}.split{gap:7%;padding-block:75px}.lede{font-size:20px}.section{padding-block:65px}.imagecards{gap:14px}.imagecards img,.imagecards>a{height:320px;min-height:320px}.imagecards span{font-size:10px}.cards{gap:25px}.cards h3{font-size:23px}.pagehead{padding-block:65px 40px}.service-intro{grid-template-columns:1fr}.service-intro img{height:400px;margin-bottom:35px}.service-row{grid-template-columns:40px 1fr}.service-row>div{grid-column:2}.system{grid-template-columns:1fr;gap:35px}.system img{height:430px}.contact-grid{gap:5%;grid-template-columns:1fr 1.2fr}form{padding:25px}.formpair{grid-template-columns:1fr;gap:0}.project-grid img{height:270px}.project-grid article:first-child img{height:430px}.project-grid article>a>div{display:block}.project-grid h2{margin-bottom:8px}.legal{flex-direction:column;gap:5px}}
@media(max-width:580px){.topbar .wrap>span{display:none}.topbar .wrap{justify-content:center}.hero{min-height:700px;height:calc(100svh - 112px)}.hero h1{font-size:3.25rem;letter-spacing:-.055em}.hero-content{padding-block:55px 115px}.hero .eyebrow{font-size:10px;letter-spacing:.13em}.hero p:not(.eyebrow){font-size:15px}.actions{flex-direction:column;align-items:stretch;max-width:320px;gap:12px}.hero-bottom{font-size:10px;bottom:25px;display:block}.hero-bottom>a{display:none}.split{grid-template-columns:1fr;gap:15px;padding-block:60px}.split h2{margin-bottom:15px}.section-title{display:block}.section-title .textlink{margin-top:20px}.imagecards{grid-template-columns:1fr;gap:20px}.imagecards img,.imagecards>a{height:400px;min-height:400px}.imagecards h3{font-size:28px}.imagecards a>div{left:25px;bottom:25px}.imagecards span{font-size:11px}.cards{grid-template-columns:1fr;margin-top:40px;gap:35px}.cards h3{margin-top:25px}.cards p{min-height:0}.cta{flex-direction:column;align-items:start;padding-block:65px}.cta h2{font-size:3.2rem}.footgrid{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.footgrid h3{font-size:14px}.footgrid .brand{margin-bottom:15px}.pagehead h1{font-size:3.1rem}.pagehead .lede{font-size:19px}.service-row{gap:10px}.service-row h2{font-size:2rem}.service-row>div{grid-column:1/-1}.service-intro img,.system img{height:340px}.jumplinks{gap:20px;overflow:auto;font-size:12px;white-space:nowrap}.system h2{font-size:2.3rem}.project-grid{grid-template-columns:1fr;gap:40px}.project-grid article:first-child{grid-column:auto}.project-grid article:first-child img,.project-grid img{height:300px}.filter{padding:9px 15px}.tesla-hero{height:640px}.tesla-hero h1{font-size:3.4rem}.about-image img{height:390px}.contact-grid{grid-template-columns:1fr;gap:25px}.mail{font-size:16px}form{padding:25px 20px}.contact-block{margin-bottom:30px}.compact{padding-block:0}.proof .wrap{gap:12px}.proof span{font-size:11px}.proof strong{font-size:28px}.eyebrow{font-size:11px}.section{padding-block:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Preserve the original company logo and its proportions. */
.brand{flex-shrink:0}.brand .original-logo{display:block;width:265px;height:auto;object-fit:contain}.footgrid .brand .original-logo{width:265px;max-width:100%}
@media(min-width:851px) and (max-width:1200px){.header{gap:18px}.header .brand .original-logo{width:220px}.header nav{gap:13px}.header nav>a{font-size:12px}.header .button{padding-inline:12px;gap:12px}}
@media(max-width:580px){.header .brand .original-logo{width:235px;max-width:60vw}}
