:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;color:#19283a;background:#f8f8f6;font-family:DM Sans,Avenir Next,Avenir,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%;scroll-padding-top:24px}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}::selection{color:#fff;background:#f0443d}#root{min-height:100vh}main{--red:#f0443d;--ink:#19283a;--muted:#647184;--paper:#f8f8f6;color:var(--ink);background:var(--paper);overflow:clip}.topbar{z-index:20;background:#fff;border-bottom:1px solid #eef0f2;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(24px,7vw,112px);display:flex;position:sticky;top:0;box-shadow:0 3px 14px #19283a08}.brand img{width:136px;height:auto;display:block}.home-banner{isolation:isolate;min-height:min(780px,100svh - 88px);color:var(--ink);background:#f8f8f6;align-items:center;padding:58px clamp(24px,4vw,70px);display:flex;position:relative;overflow:hidden}.home-banner:before{content:"";z-index:-1;background:radial-gradient(at 65% 48%,#f0443d0d,#0000 43%),linear-gradient(90deg,#f8f8f6 0% 28%,#f8f8f6d9 43%,#f8f8f600 76%);position:absolute;inset:0}.home-banner .home-showcase-image{z-index:-1;object-fit:contain;width:min(76vw,100svh - 88px);max-width:none;height:min(76vw,100svh - 88px);position:absolute;top:50%;right:-2%;transform:translateY(-50%);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 19% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 19% 100%)}.home-banner-copy{z-index:1;width:min(57%,700px);line-height:normal;animation:.75s both rise-in;position:relative}.home-banner-eyebrow{color:#344155;letter-spacing:.48em;margin-bottom:18px;font-size:clamp(10px,.95vw,15px);font-weight:500}.home-banner-copy h1{color:var(--ink);letter-spacing:-.055em;margin:0;font-size:clamp(48px,5.35vw,88px);font-weight:750;line-height:.98}.home-banner-copy h1 em{color:var(--red);white-space:nowrap;font-style:normal}.home-banner-copy>p{color:#526075;margin:21px 0 30px;font-size:clamp(14px,1.55vw,23px);line-height:1.4}.home-banner-services{align-items:stretch;width:max-content;max-width:100%;display:flex}.home-banner-services>span{border-right:1px solid var(--red);color:#344155;text-align:center;min-width:82px;padding:0 14px;font-size:clamp(9px,.85vw,13px);line-height:1.25}.home-banner-services>span:first-child{padding-left:0}.home-banner-services>span:last-child{border:0}.home-banner-services b{color:var(--red);margin:0 0 7px;font-size:clamp(24px,2.3vw,36px);line-height:1;display:block}.nav{align-items:center;gap:clamp(25px,3vw,46px);display:flex}.nav a{color:#344155;font-size:13px;text-decoration:none;transition:color .2s,background .2s}.nav a:hover,.text-link:hover{color:var(--red)}.nav>a.active,.nav-dropdown>a.active{background:var(--red);color:#fff;border-radius:3px;padding:11px 15px}.nav-dropdown>a.active .nav-chevron{color:#fff}.nav-dropdown.active-parent>a:not(.active){color:var(--red)}.nav-dropdown{align-items:center;height:88px;display:flex;position:relative}.nav-chevron{color:#7b8796;margin-left:2px;font-size:12px}.dropdown-menu{border:1px solid #eef0f2;border-top:2px solid var(--red);z-index:8;background:#fff;width:188px;padding:9px 16px;display:none;position:absolute;top:calc(100% - 1px);left:-18px;box-shadow:0 12px 25px #19283a16}.dropdown-menu a{color:#667386;padding:12px 1px;font-size:12px;display:block}.dropdown-menu a+a{border-top:1px solid #eceef1}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}.menu-toggle{display:none}.hero{isolation:isolate;background:#f7f8fa;grid-template-columns:.95fr 1.05fr;align-items:center;gap:3vw;min-height:650px;padding:50px clamp(24px,7vw,112px) 54px;display:grid;position:relative}.hero:before{content:"";z-index:-1;opacity:.6;background:#eceff4;border-radius:50%;width:480px;height:480px;position:absolute;top:12%;right:14%}.hero-copy{z-index:1;padding:30px 0 44px;animation:.75s both rise-in;position:relative}.eyebrow{letter-spacing:1.6px;color:#68758a;align-items:center;gap:11px;font-size:10px;font-weight:700;display:flex}.eyebrow i{background:var(--red);width:22px;height:2px;display:inline-block}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-3.3px;color:var(--ink);margin:26px 0 23px;font-size:clamp(44px,5.1vw,72px);font-weight:650;line-height:1.04}h1 em,h2 em{color:var(--red);font-style:normal}.hero-description{color:#677487;max-width:440px;margin-bottom:30px;font-size:15px;line-height:1.85}.hero-actions{align-items:center;gap:28px;display:flex}.button{justify-content:space-between;align-items:center;gap:24px;padding:15px 18px;font-size:12px;font-weight:650;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #19283a20}.button-primary{background:var(--red);color:#fff}.button span{font-size:17px}.text-link{color:#405067;font-size:12px;text-decoration:none}.text-link span{color:var(--red);padding-left:7px}.hero-note{color:#8993a1;letter-spacing:.3px;align-items:center;gap:12px;margin-top:52px;font-size:10px;display:flex}.note-line{background:#d0d4da;width:27px;height:1px}.model-scene{place-items:center;min-height:500px;animation:.85s .1s both rise-in;display:grid;position:relative}.scene-grid{opacity:.55;background-image:linear-gradient(#dce1e8 1px,#0000 1px),linear-gradient(90deg,#dce1e8 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:10% 1% 11%;-webkit-mask-image:radial-gradient(#000,#0000 73%);mask-image:radial-gradient(#000,#0000 73%)}.building-art{width:100%;max-width:620px;animation:7s ease-in-out infinite float;position:relative;overflow:visible}.alternate-art{animation:.65s ease-out both art-enter,7s ease-in-out .65s infinite float}.cad-art text,.render-art text,.coordination-art text{font-family:inherit}.model-scene[data-slide="1"] .scene-grid{opacity:.24;background-size:24px 24px}.model-scene[data-slide="2"] .scene-grid{opacity:.34}.model-scene[data-slide="3"] .scene-grid{opacity:.25}.airflow{animation:2.8s linear infinite dash}.model-chip{z-index:2;color:#566376;letter-spacing:1px;background:#fff;border:1px solid #eef0f2;padding:10px 12px;font-size:8px;position:absolute;box-shadow:0 8px 30px #202c3e12}.model-chip b{color:#53a57a;margin-left:8px}.chip-dot{background:#53a57a;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.chip-a{animation:6s ease-in-out infinite float;top:17%;left:2%}.chip-b{bottom:16%;right:1%}.chip-b span{color:var(--red);margin-left:10px;font-weight:700}.scene-caption{color:#909aa8;letter-spacing:1.2px;justify-content:space-between;font-size:8px;display:flex;position:absolute;bottom:6%;left:6%;right:6%}.hero-index{color:#778396;letter-spacing:1px;align-items:center;gap:10px;font-size:10px;display:flex;position:absolute;bottom:27px;right:clamp(24px,7vw,112px)}.hero-index span{color:#778396;padding:0 4px}.hero-index span b{color:var(--red);padding:0 5px}.hero-index button{color:#526074;cursor:pointer;background:#fff;border:1px solid #dce1e8;border-radius:50%;width:27px;height:27px;padding:0;font-size:18px;line-height:1;transition:background .2s,color .2s,border-color .2s}.hero-index button:hover,.hero-index button:focus-visible{background:var(--red);border-color:var(--red);color:#fff}.intro-band{background:#fff;grid-template-columns:.8fr 1.2fr 1.2fr;align-items:center;gap:35px;min-height:315px;padding:66px clamp(24px,11vw,172px);display:grid;position:relative}.intro-kicker{color:#7b8796;letter-spacing:1.5px;align-self:start;padding-top:10px;font-size:9px;font-weight:700}.intro-band h2,.section-heading h2,.approach h2,.contact h2{letter-spacing:-1.8px;color:var(--ink);margin:0;font-size:clamp(32px,3.5vw,47px);line-height:1.13}.intro-body p{color:#6e7988;max-width:395px;margin-bottom:22px;font-size:13px;line-height:1.9}.under-link{color:var(--ink);border-bottom:1px solid #d9dde2;padding-bottom:8px;font-size:11px;font-weight:650;text-decoration:none}.under-link span{color:var(--red);margin-left:13px}.intro-stamp{color:#d4d9df;letter-spacing:1.2px;text-align:right;font-size:8px;line-height:1.6;position:absolute;bottom:27px;right:7%}.intro-stamp span{color:var(--red);font-size:21px;display:block}.services-section{background:#f3f4f6;padding:105px clamp(24px,11vw,172px) 115px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:47px;display:flex}.section-heading h2{margin-top:19px}.section-heading>p{color:#6d7989;max-width:350px;margin:0 0 5px;font-size:13px;line-height:1.85}.service-grid{background:#fff;border:1px solid #dfe2e7;grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-right:1px solid #e5e7eb;min-height:242px;padding:24px 24px 20px;transition:background .25s,transform .25s;position:relative}.service-card:last-child{border-right:0}.service-card:hover{background:snow;transform:translateY(-5px)}.service-top{color:#9aa3ae;letter-spacing:1px;justify-content:space-between;align-items:center;font-size:8px;display:flex}.service-icon{color:var(--red);font-size:25px}.service-card h3{letter-spacing:-.3px;margin:26px 0 10px;font-size:17px}.service-card p{color:#758091;max-width:230px;font-size:11px;line-height:1.75}.service-card>a{color:var(--red);font-size:17px;text-decoration:none;position:absolute;bottom:19px;right:23px}.approach{background:#fff;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding:100px clamp(24px,12vw,190px);display:grid}.approach-visual{place-items:center;height:400px;display:grid;position:relative}.approach-orbit{border:1px solid #e2e5e9;border-radius:50%;position:absolute}.orbit-one{width:300px;height:300px}.orbit-two{border-style:dashed;width:215px;height:215px;animation:44s linear infinite orbit}.approach-core{background:#f2f4f7;border-radius:50%;place-items:center;width:130px;height:130px;display:grid;position:relative;box-shadow:0 10px 40px #19283a0c}.approach-core span{letter-spacing:-12px;color:var(--ink);font-size:80px;font-weight:700;line-height:1;transform:translate(-5px)}.approach-core i{background:var(--red);border-radius:9px;width:10px;height:40px;position:absolute;top:75px;left:76px;transform:rotate(-38deg)}.orbit-tag{letter-spacing:1.1px;color:#586579;background:#fff;border:1px solid #e5e8ec;padding:10px 14px;font-size:8px;position:absolute;box-shadow:0 5px 20px #19283a0d}.tag-design{top:15%;left:8%}.tag-model{top:45%;right:4%}.tag-deliver{bottom:13%;left:20%}.approach-cross{color:#bdc4cf;font-size:16px;position:absolute}.cross-one{top:13%;right:25%}.cross-two{color:var(--red);bottom:17%;right:14%}.approach-copy .eyebrow,.approach-copy h2{margin-bottom:22px}.approach-copy p{color:#707c8c;max-width:480px;margin-bottom:14px;font-size:13px;line-height:1.9}.button-dark{background:var(--ink);color:#fff;margin-top:13px}.contact{color:var(--ink);background:#fff;padding:82px clamp(24px,8vw,124px) 35px;scroll-margin-top:88px;position:relative;overflow:hidden}.contact-heading{grid-template-columns:.75fr 1fr 1fr;align-items:center;gap:35px;padding-bottom:44px;display:grid}.contact-heading .eyebrow{color:#758195;align-self:start;padding-top:10px}.contact h2{color:var(--ink);margin:0;font-size:clamp(38px,4.5vw,59px)}.contact-heading>p{color:#718092;max-width:360px;margin:0;font-size:13px;line-height:1.85}.contact-cards{border:1px dashed #d4d6d9;grid-template-columns:repeat(3,1fr);display:grid}.contact-card{text-align:center;border-right:1px dashed #d4d6d9;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:24px 18px;display:flex}.contact-card:last-child{border-right:0}.contact-card h3{color:#28374b;margin:10px 0 4px;font-size:16px}.contact-card a:not(.map-link),.contact-card p{color:#718092;margin:0;font-size:12px;line-height:1.8;text-decoration:none}.contact-card a:hover{color:var(--red)}.contact-icon{color:#ff526a;flex:none;place-items:center;width:36px;height:36px;font-size:34px;line-height:1;display:inline-grid}.contact-icon.small{width:32px;height:27px;font-size:25px}.contact-phone{text-align:left;justify-content:center;align-items:stretch;gap:19px;padding-left:8%}.contact-method{align-items:center;gap:13px;display:flex}.contact-method h3{margin:0 0 2px}.contact-method .contact-icon{width:34px}.mail-icon{font-size:36px}.address-icon{font-size:40px}.contact-card-note{color:#9aa3ae;margin-top:10px;font-size:10px}.map-link{color:var(--red);margin-top:11px;font-size:10px;text-decoration:none}.map-link span{margin-left:6px}.contact-bottom{color:#919ba8;letter-spacing:1px;border-top:1px solid #f0dedd;justify-content:space-between;margin:38px 0 0;padding:19px 0 0;font-size:9px;display:flex}.contact-bottom a{color:#344155;letter-spacing:0;font-size:11px;text-decoration:none}.contact-bottom a span{color:var(--red);margin-left:9px}.footer{color:#fff;background:#ff4035;flex-direction:column;justify-content:space-between;align-items:center;min-height:334px;padding:75px clamp(24px,7vw,112px) 15px;font-size:12px;display:flex;position:relative;overflow:hidden}.footer:before{content:"";opacity:.38;clip-path:polygon(0 0,100% 0,100% 84%,45% 100%,0 85%);background:repeating-linear-gradient(30deg,#0000 0 27px,#17283a 28px 29px,#0000 30px 53px),repeating-linear-gradient(150deg,#0000 0 27px,#17283a 28px 29px,#0000 30px 53px);width:220px;height:275px;position:absolute;top:-43px;left:-64px}.footer-main{z-index:1;grid-template-columns:1fr 1.12fr .85fr;align-items:start;gap:46px;width:min(830px,100%);margin:0 auto 45px;display:grid;position:relative}.footer-cta>span{color:#ffd7d3;margin-bottom:14px;font-size:17px;font-weight:700;display:block}.footer-cta>a{color:#fff;font-size:20px;font-weight:750;line-height:1.15;text-decoration:none}.footer-cta>a b{margin-left:5px;font-size:15px}.footer-description{margin:5px 0 0;font-size:14px;line-height:1.85}.footer-contact{flex-direction:column;gap:12px;margin-top:8px;display:flex}.footer-contact a{color:#fff;font-size:16px;font-weight:750;text-decoration:none}.footer-bottom{z-index:1;background:#050505;border-top:1px solid #222;justify-content:space-between;align-items:center;width:min(840px,100%);min-height:64px;padding:9px 12px;display:flex;position:relative}.footer-bottom>span{text-transform:none;font-size:11px}.footer-linkedin{color:#fff;background:#272727;border-radius:50%;flex:none;place-items:center;width:35px;height:35px;display:grid}.footer-linkedin svg{fill:currentColor;width:15px;height:15px}.back-top{z-index:2;color:#fff;background:#252525;border-radius:2px;place-items:center;width:37px;height:37px;font-size:21px;text-decoration:none;display:grid;position:absolute;bottom:22px;right:22px}.footer:before{display:none}.footer-blueprint{z-index:0;opacity:.25;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.footer-blueprint use{animation:3.6s ease-in-out infinite alternate blueprint-tile}.footer-blueprint use:nth-of-type(2n){animation-delay:1.2s}.blueprint-lines{stroke:#19283a;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:850;stroke-dashoffset:850px;animation:9s cubic-bezier(.55,0,.25,1) infinite alternate blueprint-draw}.blueprint-accent{stroke:#fff;stroke-width:1.7px;stroke-dasharray:180;stroke-dashoffset:180px;animation:4.5s ease-in-out infinite alternate blueprint-accent-draw}.blueprint-lines circle{fill:#ff4035;stroke:#19283a;stroke-width:2px;animation:2.8s ease-in-out infinite alternate blueprint-node}.blueprint-lines circle:nth-of-type(2){animation-delay:.5s}.blueprint-lines circle:nth-of-type(3){animation-delay:1s}.blueprint-lines circle:nth-of-type(4){animation-delay:1.5s}.footer.footer-visible{animation:.85s cubic-bezier(.2,.75,.25,1) both footer-reveal}@keyframes footer-reveal{0%{opacity:.7;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes blueprint-tile{0%{opacity:.5}to{opacity:1}}@keyframes blueprint-draw{0%{stroke-dashoffset:850px;opacity:.35}55%,to{stroke-dashoffset:0;opacity:1}}@keyframes blueprint-accent-draw{0%{stroke-dashoffset:180px;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes blueprint-node{0%{r:2;opacity:.45}to{r:4;opacity:1}}.architecture-trace{stroke:#f0443d;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:950;stroke-dashoffset:950px;animation:5s ease-in-out infinite architecture-build}.model-scene[data-slide="2"] .airflow{opacity:.45}@keyframes architecture-build{0%,8%{stroke-dashoffset:950px;opacity:.2}58%,90%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:-950px;opacity:.2}}@keyframes art-enter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dash{to{stroke-dashoffset:-64px}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit{to{transform:rotate(360deg)}}@media (width<=980px){.topbar{padding-inline:32px}.hero{grid-template-columns:1fr 1fr;gap:0;padding-inline:40px}.intro-band{grid-template-columns:.7fr 1.1fr 1.2fr;padding-inline:7vw}.services-section{padding-inline:7vw}.service-card{padding-inline:17px}.approach{gap:4%;padding-inline:8vw}.contact{padding-inline:7vw}.contact-heading{grid-template-columns:.7fr 1fr 1fr;gap:22px}.hero-index{right:40px}}@media (width<=700px){.topbar{height:72px;padding-inline:22px}.brand img{width:112px}.menu-toggle{background:0 0;border:0;flex-direction:column;gap:6px;padding:10px;display:flex}.menu-toggle span{background:var(--ink);width:23px;height:2px}.nav{background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 24px;display:none;position:absolute;top:71px;left:0;right:0;box-shadow:0 12px 20px #19283a12}.nav.open{display:flex}.nav a{border-bottom:1px solid #f0f1f3;padding:14px 4px}.nav-dropdown{height:auto;display:block}.nav-dropdown>a{display:block}.dropdown-menu{width:auto;box-shadow:none;border:0;border-left:1px solid #f0443d;margin:0 0 3px 4px;padding:0 10px 0 18px;display:block;position:static}.dropdown-menu a{padding:10px 4px;font-size:11px}.dropdown-menu a+a{border-top:1px solid #f0f1f3}.hero{min-height:unset;flex-direction:column;align-items:stretch;gap:0;padding:55px 24px 43px;display:flex}.hero-copy{padding:0}.eyebrow{font-size:9px}.hero h1{letter-spacing:-2.3px;font-size:clamp(43px,10.5vw,61px)}.hero-description{font-size:14px}.hero-note{margin-top:32px}.model-scene{min-height:320px;margin-top:6px}.building-art{max-width:500px}.chip-a{top:13%;left:0}.chip-b{bottom:10%;right:0}.scene-caption{bottom:3%}.hero-index{bottom:14px;right:24px}.intro-band{grid-template-columns:1fr;gap:18px;padding:61px 24px 74px}.intro-kicker{padding:0}.intro-band h2{font-size:39px}.intro-body p{margin-bottom:18px}.intro-stamp{bottom:20px;right:24px}.services-section{padding:69px 24px 76px}.section-heading{margin-bottom:31px;display:block}.section-heading h2{font-size:37px}.section-heading>p{margin-top:17px}.service-grid{grid-template-columns:1fr 1fr}.service-card{border-bottom:1px solid #e5e7eb;min-height:225px}.service-card:nth-child(2){border-right:0}.service-card:nth-child(3),.service-card:nth-child(4){border-bottom:0}.approach{grid-template-columns:1fr;gap:25px;padding:70px 24px 78px}.approach-visual{order:2;height:325px}.approach-copy h2{font-size:37px}.orbit-one{width:255px;height:255px}.orbit-two{width:190px;height:190px}.approach-core{width:112px;height:112px}.approach-core span{font-size:68px}.approach-core i{height:35px;top:65px;left:66px}.tag-design{left:3%}.tag-model{right:0}.tag-deliver{bottom:7%;left:14%}.contact{padding:70px 24px 120px}.contact h2{font-size:47px}.contact-aside{bottom:27px;left:24px;right:auto}.footer{align-items:stretch;min-height:340px;padding:44px 22px 15px}.footer-main{grid-template-columns:1fr 1fr;gap:24px 16px;margin-bottom:28px}.footer-cta>a{font-size:18px}.footer-cta>span{font-size:15px}.footer-description{font-size:12px;line-height:1.65}.footer-desktop-break{display:none}.footer-contact{flex-direction:row;grid-column:1/-1;justify-content:space-between;gap:10px;margin-top:0}.footer-contact a{font-size:14px}.footer-bottom{gap:10px;min-height:60px}.footer-bottom>span{max-width:calc(100% - 46px);font-size:9px;line-height:1.5}.footer-linkedin{width:32px;height:32px}.back-top{width:32px;height:32px;bottom:10px;right:10px}}@media (width<=380px){.hero-actions{gap:18px}.button{gap:12px;padding:14px}.text-link{font-size:11px}.service-card{padding:18px 14px}.service-card h3{font-size:15px}.service-card p{font-size:10px}}@media (width<=900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-history-page,.team-page{padding-inline:7vw}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card,.team-card:nth-child(4),.team-card:nth-child(5){grid-column:auto}}@media (width<=700px){.project-history-page{padding:65px 24px 75px}.project-history-heading{flex-direction:column;align-items:flex-start;gap:15px;padding:18px 0 34px}.project-history-heading h1{letter-spacing:-2.5px;font-size:49px}.project-history-heading>p{font-size:13px}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{min-height:220px;padding:22px}.project-card h3{margin:19px 0 16px}.team-page{padding:65px 24px 75px}.team-heading{flex-direction:column;align-items:flex-start;gap:15px;padding:18px 0 34px}.team-heading h1{letter-spacing:-2.5px;font-size:49px}.team-heading>p{font-size:13px}.team-grid{grid-template-columns:1fr;gap:15px}.team-photo{aspect-ratio:4/4.6}.team-info{padding:18px}}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-banner{background:#f8f8f6;min-height:0;padding:0;line-height:0;display:block}.home-banner:before{display:none}.home-banner>img{object-fit:initial;object-position:initial;opacity:1;width:100%;max-width:none;height:auto;display:block;position:static;transform:none;-webkit-mask-image:none;mask-image:none}@media (width>=901px){.home-banner{padding-left:clamp(24px,3.5vw,64px);padding-right:0}.home-banner .home-showcase-image{object-fit:contain;object-position:right center;width:60%;height:100%;top:0;right:0;transform:none;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 13% 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 13% 100%)}.home-banner-copy{flex:none;width:40%}.home-banner-copy h1{font-size:clamp(34px,3.2vw,56px)}.home-banner-copy h1 em{white-space:normal}.home-banner-services{width:100%}.home-banner-services>span{flex:1;min-width:0;padding:0 6px;font-size:clamp(8px,.68vw,11px)}}@media (width<=900px){.home-banner{min-height:650px;padding-inline:36px}.home-banner-copy{width:65%}.home-banner .home-showcase-image{right:-17%}}@media (width<=700px){.home-banner{align-items:flex-start;min-height:680px;padding:46px 22px 30px}.home-banner:before{background:linear-gradient(#f8f8f6fa 0%,#f8f8f6e8 48%,#f8f8f680 100%)}.home-banner .home-showcase-image{opacity:.9;width:105vw;height:105vw;top:auto;bottom:-13%;right:-14%;transform:none;-webkit-mask-image:linear-gradient(#0000 0%,#000 23% 100%);mask-image:linear-gradient(#0000 0%,#000 23% 100%)}.home-banner-copy{width:100%}.home-banner-eyebrow{letter-spacing:.32em;margin-bottom:15px;font-size:9px}.home-banner-copy h1{font-size:clamp(39px,10.5vw,62px)}.home-banner-copy>p{margin:17px 0 24px;font-size:14px}.home-banner-services{width:100%}.home-banner-services>span{flex:1;min-width:0;padding:0 5px;font-size:8px}.home-banner-services b{margin-bottom:6px;font-size:25px}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(3){border-right:0;grid-column:1/-1}}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card{grid-column:auto}.team-card-director{grid-column:1/-1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);min-height:380px;display:grid}.team-card-director .team-photo{aspect-ratio:auto;min-height:100%}.team-card-director .team-photo img{object-position:center 24%}.team-card-director .team-info{flex-direction:column;justify-content:center;padding:clamp(24px,4vw,54px);display:flex}.team-card-director .team-info h2{font-size:clamp(28px,3vw,40px)}.team-quote{border-left:2px solid var(--red);color:#455369;max-width:620px;margin:24px 0 0;padding-left:18px;font-size:clamp(16px,1.7vw,21px);font-style:italic;line-height:1.55}@media (width<=900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card-director{grid-column:1/-1}}@media (width<=700px){.team-grid{grid-template-columns:1fr}.team-card-director{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-height:0}.team-card-director .team-photo{aspect-ratio:4/5;min-height:0}.team-card-director .team-info{padding:18px 15px}.team-card-director .team-info h2{font-size:24px;line-height:1.15}.team-card-director .team-info p{font-size:11px}.team-quote{margin-top:17px;padding-left:12px;font-size:14px;line-height:1.45}}@media (width<=380px){.team-card-director{grid-template-columns:1fr}.team-card-director .team-photo{aspect-ratio:4/3}.team-card-director .team-info{padding:20px}}@media (width>=901px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(2){border-right:0}.service-card:nth-child(3){border-right:1px solid #e5e7eb;grid-column:auto}.service-card:nth-child(3),.service-card:nth-child(4){border-bottom:0}}.login-page{background:radial-gradient(at 16% 10%,#fff 0,#f8f8f6 53%,#eef1f5 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:28px clamp(22px,6vw,88px) 24px;display:flex;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;border:1px solid #dfe4eb;border-radius:50%;position:absolute}.login-page:before{width:560px;height:560px;top:-300px;right:-100px}.login-page:after{width:400px;height:400px;bottom:-280px;left:-100px}.login-brand{z-index:1;position:absolute;top:28px;left:clamp(22px,6vw,88px)}.login-brand img{width:132px;height:auto;display:block}.login-card{z-index:1;background:#fff;border:1px solid #e6e8ec;width:min(100%,440px);padding:clamp(30px,5vw,52px);position:relative;box-shadow:0 24px 70px #19283a12}.login-eyebrow{color:#748093;letter-spacing:.18em;align-items:center;gap:9px;font-size:9px;font-weight:600;display:flex}.login-eyebrow i{background:var(--red);border-radius:50%;width:7px;height:7px}.login-card h1{letter-spacing:-2.4px;margin:24px 0 7px;font-size:clamp(36px,7vw,48px);line-height:1}.login-card h1 em{color:var(--red);font-family:Georgia,serif;font-weight:400}.login-intro{color:#778293;margin:0 0 31px;font-size:13px}.login-form{flex-direction:column;display:flex}.login-form>label,.login-password-label label{color:#29374b;margin-bottom:9px;font-size:11px;font-weight:600}.login-form input{color:#19283a;width:100%;height:47px;font:inherit;background:#fff;border:1px solid #dfe3e9;border-radius:2px;outline:none;margin-bottom:21px;padding:0 13px;font-size:13px;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px #f0443d16}.login-form input::placeholder{color:#a0a8b4}.login-password-label{justify-content:space-between;align-items:center;display:flex}.login-password-label a,.login-home-link{color:#657286;font-size:11px;text-decoration:none}.login-password-label a:hover,.login-home-link:hover{color:var(--red)}.login-submit{cursor:pointer;border:0;justify-content:space-between;width:100%;margin-top:2px}.login-message{color:#687589;min-height:0;margin:0;font-size:11px;line-height:1.6}.login-message:not(:empty){background:#f5f6f8;margin-top:15px;padding:11px 12px}.login-home-link{margin-top:28px;display:inline-block}.login-demo-note{border-left:2px solid var(--red);color:#778293;background:#f7f7f8;margin:16px 0 0;padding:11px 12px;font-size:10px;line-height:1.6}.login-footer{color:#929ba8;letter-spacing:.08em;text-align:center;font-size:9px;position:absolute;bottom:18px}@media (width<=500px){.login-page{justify-content:flex-start;padding-top:105px;padding-bottom:75px}.login-brand{top:24px}.login-brand img{width:115px}.login-card{padding:30px 24px}.login-footer{font-size:8px}}.hr-heading-actions{align-items:center;gap:20px;display:flex}.hr-api-error,.openings-error{border-left:2px solid var(--red);color:#8a3b3b;background:#fff;max-width:1120px;margin:0 auto 18px;padding:12px 14px;font-size:12px;line-height:1.55}.hr-signout{color:#657286;cursor:pointer;background:#fff;border:1px solid #dfe3e9;border-radius:2px;padding:9px 13px;font-size:11px}.hr-signout:hover{border-color:var(--red);color:var(--red)}@media (width<=700px){.hr-heading-actions{justify-content:space-between;width:100%}}.team-page{background:#fff;padding:50px clamp(24px,6vw,88px) 95px}.team-leader{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:clamp(40px,9vw,120px);max-width:1100px;min-height:340px;margin:0 auto;display:grid}.team-leader-copy{max-width:620px}.team-leader-label{color:var(--red);margin-bottom:12px;font-size:14px;display:block}.team-leader-copy h1{letter-spacing:-1px;margin:0 0 23px;font-size:clamp(30px,3.4vw,40px)}.team-leader-bio{color:#748092;margin:0;font-size:13px;line-height:1.9}.team-quote{border-left:2px solid var(--red);color:#4d5b6e;max-width:560px;margin:17px 0 22px;padding:0 0 0 14px;font-size:14px;font-style:italic;line-height:1.6}.team-linkedin{color:#fff;background:#0879b9;border-radius:5px;align-items:center;gap:14px;padding:7px 12px;font-size:12px;font-weight:650;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.team-linkedin:hover{background:#05679f;transform:translateY(-1px)}.team-linkedin span{font-size:15px}.team-leader-photo{aspect-ratio:4/5;background:#e8ebef;border:2px solid #fff;border-radius:12px;justify-self:center;width:100%;max-width:280px;overflow:hidden;box-shadow:0 8px 13px #17283a38}.team-leader-photo img{object-fit:cover;object-position:center 25%;width:100%;height:100%;display:block}.team-section-title{text-align:center;color:#26364a;letter-spacing:-.8px;margin:70px 0 43px;font-size:32px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;max-width:1100px;margin:0 auto}.team-card{background:0 0;border:0;transition:transform .25s}.team-card:hover{box-shadow:none;transform:translateY(-3px)}.team-photo{aspect-ratio:4/4.3;background:#f1f2f4}.team-photo img{object-position:center 22%}.team-info{text-align:center;padding:16px 8px 0}.team-info h3{color:#26364a;margin:0 0 5px;font-size:17px}.team-info p{color:#748092;margin:0;font-size:12px}@media (width<=900px){.team-leader{grid-template-columns:minmax(0,1fr) 240px;gap:35px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.team-page{padding:42px 24px 72px}.team-leader{grid-template-columns:1fr;gap:28px}.team-leader-photo{justify-self:start;width:min(78%,280px)}.team-section-title{margin:55px 0 28px;font-size:29px}.team-grid{grid-template-columns:1fr 1fr;gap:27px 14px}.team-photo{aspect-ratio:4/5}.team-info{padding:13px 3px 0}.team-info h3{font-size:15px}}@media (width<=420px){.team-grid{grid-template-columns:1fr}.team-leader-photo{width:min(100%,280px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.history-page{background:#fff;padding:100px clamp(24px,11vw,172px) 110px;scroll-margin-top:88px}.project-history-page{background:#f7f8fa;min-height:calc(100vh - 88px);padding:92px clamp(24px,9vw,140px) 110px}.project-history-inner{max-width:1220px;margin:0 auto}.project-history-heading{justify-content:space-between;align-items:end;gap:35px;padding:20px 0 50px;display:flex}.project-history-heading h1{letter-spacing:-3.5px;margin:0;font-size:clamp(48px,6vw,76px)}.project-history-heading h1 em{color:var(--red);font-style:normal}.project-history-heading>p{color:#6e7988;max-width:400px;margin:0 0 6px;font-size:14px;line-height:1.85}.project-list-heading{border-bottom:1px solid #dfe3e8;justify-content:space-between;align-items:baseline;padding-bottom:15px;display:flex}.project-list-heading h2{color:var(--ink);margin:0;font-size:22px}.project-list-heading>span{color:#929ba7;letter-spacing:1.2px;font-size:9px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:20px;display:grid}.project-card{background:#fff;border:1px solid #e0e4e9;min-height:250px;padding:24px 24px 25px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.project-card:hover{border-color:#f3a09b;transform:translateY(-4px);box-shadow:0 14px 32px #19283a0b}.project-card-top{color:#929ba7;letter-spacing:1px;justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.project-card-top>span:first-child{color:var(--red);font-weight:700}.project-card h3{color:var(--ink);letter-spacing:-.5px;margin:23px 0 21px;padding-right:24px;font-size:23px}.project-card-detail{grid-template-columns:63px 1fr;gap:10px;margin-top:12px;display:grid}.project-card-detail>span{color:#a0a8b3;letter-spacing:1px;padding-top:2px;font-size:8px;font-weight:700}.project-card-detail p{color:#677487;margin:0;font-size:11px;line-height:1.65}.project-card-mark{color:#f0443d;font-size:17px;position:absolute;top:59px;right:22px}.team-page{background:#f7f8fa;min-height:calc(100vh - 88px);padding:88px clamp(24px,8vw,124px) 105px}.team-inner{max-width:1180px;margin:0 auto}.team-heading{justify-content:space-between;align-items:end;gap:35px;padding:19px 0 48px;display:flex}.team-heading h1{letter-spacing:-3.5px;margin:0;font-size:clamp(48px,6vw,74px)}.team-heading h1 em{color:var(--red);font-style:normal}.team-heading>p{color:#6e7988;max-width:440px;margin:0 0 7px;font-size:14px;line-height:1.85}.team-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 18px;display:grid}.team-card{background:#fff;border:1px solid #e1e5ea;grid-column:span 2;transition:transform .25s,box-shadow .25s;overflow:hidden}.team-card:nth-child(4){grid-column:2/span 2}.team-card:nth-child(5){grid-column:4/span 2}.team-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #19283a12}.team-photo{aspect-ratio:4/4.4;background:#e9edf2;position:relative;overflow:hidden}.team-photo img{object-fit:cover;object-position:center 28%;width:100%;height:100%;transition:transform .5s;display:block}.team-card:hover .team-photo img{transform:scale(1.035)}.team-number{color:var(--red);letter-spacing:1px;background:#fff;padding:7px 9px;font-size:9px;position:absolute;bottom:13px;right:13px}.team-info{padding:20px 21px 22px}.team-area{color:#919baa;letter-spacing:1.2px;text-transform:uppercase;font-size:8px;font-weight:700}.team-info h2{color:var(--ink);letter-spacing:-.4px;margin:9px 0 4px;font-size:21px}.team-info p{color:#728094;margin:0;font-size:12px;line-height:1.6}.history-heading{border-bottom:1px solid #e8eaed;grid-template-columns:.9fr 1.2fr .95fr;align-items:start;gap:35px;padding-bottom:63px;display:grid}.history-heading .eyebrow{padding-top:10px}.history-heading h2{letter-spacing:-2px;margin:0;font-size:clamp(34px,4vw,52px);line-height:1.1}.history-heading>p{color:#6e7988;margin:3px 0 0;font-size:13px;line-height:1.85}.history-story{grid-template-columns:.83fr 1.17fr;align-items:center;gap:9%;padding:65px 0 70px;display:grid}.founder-photo{background:#edf0f3;min-height:400px;position:relative}.founder-photo img{object-fit:cover;object-position:center 30%;width:100%;height:100%;position:absolute;inset:0}.founder-photo>a{background:var(--red);color:#fff;letter-spacing:1.2px;padding:15px 19px;font-size:9px;text-decoration:none;position:absolute;bottom:0;left:0}.founder-photo>a span{padding-left:24px;font-size:15px}.history-year{color:var(--red);letter-spacing:1.2px;font-size:11px;font-weight:700}.history-year span{color:#8993a0;margin-left:8px;font-size:9px;font-weight:500}.history-copy h3,.history-followup h3{color:var(--ink);letter-spacing:-.7px;margin:17px 0;font-size:26px;line-height:1.2}.history-copy>p,.history-followup p{color:#6d7989;font-size:13px;line-height:1.9}.history-milestone{border-top:1px solid #e9ebee;align-items:center;gap:16px;margin-top:24px;padding-top:18px;display:flex}.milestone-mark{width:39px;height:39px;color:var(--red);border:1px solid #f3b3af;place-items:center;font-size:10px;display:grid}.history-milestone p{color:#738092;margin:0;font-size:11px;line-height:1.7}.history-milestone strong{color:var(--ink);font-size:13px}.history-followup{background:#f4f5f7;grid-template-columns:1fr 1fr;gap:11%;padding:39px 7%;display:grid}.timeline-year{color:var(--red);letter-spacing:1.3px;font-size:9px;font-weight:700}.history-followup h3{margin:14px 0 10px;font-size:21px}@media (width<=980px){.history-page{padding-inline:7vw}.history-heading{grid-template-columns:.7fr 1.1fr 1fr;gap:22px}.history-story{gap:6%}}@media (width<=700px){.history-page{padding:65px 24px 72px}.history-heading{grid-template-columns:1fr;gap:17px;padding-bottom:36px}.history-heading .eyebrow{padding:0}.history-heading h2{font-size:39px}.history-heading>p{max-width:520px}.history-story{grid-template-columns:1fr;gap:30px;padding:37px 0 42px}.founder-photo{width:100%;max-width:450px;min-height:360px}.history-copy h3{font-size:23px}.history-followup{grid-template-columns:1fr;gap:30px;padding:28px 22px}.contact{padding:65px 24px 28px}.contact-heading{grid-template-columns:1fr;gap:16px;padding-bottom:29px}.contact-heading .eyebrow{padding:0}.contact h2{font-size:44px}.contact-heading>p{margin-top:1px}.contact-cards{grid-template-columns:1fr}.contact-card{border-bottom:1px dashed #d4d6d9;border-right:0;min-height:158px}.contact-card:last-child{border-bottom:0}.contact-phone{min-height:158px;padding-left:22%}.contact-bottom{flex-direction:column;gap:13px;margin-top:25px;line-height:1.6}.contact-bottom a{align-self:flex-start}}.contact-form-wrap{background:#f5f6f8;grid-template-columns:.7fr 1.3fr;gap:8%;margin:58px 0 0;padding:48px 5%;display:grid}.contact-form-intro .eyebrow{margin-bottom:17px}.contact-form-intro h3{letter-spacing:-1.2px;margin:0 0 15px;font-size:34px;line-height:1.12}.contact-form-intro>p{color:#718092;max-width:260px;font-size:12px;line-height:1.8}.contact-form-intro>a{color:#657286;margin-top:15px;font-size:11px;text-decoration:none;display:inline-block}.contact-form-intro>a span{color:var(--red);margin-left:5px}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-form label{color:#455369;flex-direction:column;gap:7px;font-size:10px;font-weight:650;display:flex}.contact-form .form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe3e8;border-radius:2px;outline:none;padding:12px 13px;font-size:12px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px #f0443d18}.contact-form textarea{resize:vertical;min-height:108px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#a2aab5}.optional{color:#99a2ae;font-weight:400}.form-submit-row{align-items:center;gap:15px;display:flex}.form-submit-row button{cursor:pointer;border:0}.form-submit-row>span{color:#929ba7;font-size:9px;line-height:1.5}.contact-bottom{margin-top:30px}@media (width<=700px){.contact-form-wrap{grid-template-columns:1fr;gap:23px;margin-top:34px;padding:30px 20px}.contact-form-intro h3{font-size:30px}.contact-form .form-row{grid-template-columns:1fr;gap:15px}.form-submit-row{flex-direction:column;align-items:flex-start}.contact-bottom{margin-top:25px}}.contact-form .form-row{align-items:start}.contact-form label>span:first-child{line-height:1.2}.contact-form .optional{display:inline}.careers{background:#fff;padding:90px clamp(24px,8vw,124px) 94px;scroll-margin-top:88px}.careers-inner{max-width:1120px;margin:0 auto}.careers h2{color:var(--ink);letter-spacing:-2px;margin:18px 0 8px;font-size:clamp(40px,5vw,60px)}.careers h2 em{color:var(--red);font-style:normal}.careers-lead{color:#718092;max-width:550px;margin-bottom:47px;font-size:13px;line-height:1.8}.openings-heading{border-bottom:1px solid #e6e8eb;justify-content:space-between;align-items:baseline;padding-bottom:13px;display:flex}.openings-heading h3{color:var(--ink);margin:0;font-size:22px}.openings-heading>span{color:#929ba7;font-size:10px}.job-filters{gap:12px;margin:20px 0 18px;display:flex}.job-filters select{color:#526075;min-width:150px;font:inherit;background:#fff;border:1px solid #d9dde2;border-radius:2px;padding:11px 34px 11px 13px;font-size:11px}.job-opening{border:1px solid #e2e5e9}.job-summary{grid-template-columns:1.2fr 1fr auto;align-items:center;gap:20px;min-height:78px;padding:15px 18px;display:grid}.job-label{color:#929ba7;letter-spacing:1px;margin-bottom:7px;font-size:8px;display:block}.job-summary h4{color:var(--ink);margin:0;font-size:16px}.job-location{color:#738092;font-size:10px}.job-details-toggle{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:end;font-size:11px}.job-details{color:#6d7989;background:#fbfbfc;border-top:1px solid #e9ebee;grid-template-columns:1fr 1fr;gap:10px 35px;padding:23px 25px 25px;font-size:12px;line-height:1.75;display:grid}.job-details>p{grid-column:1/-1;max-width:820px}.job-details strong{color:var(--ink)}.job-details ul{margin:8px 0 0;padding-left:18px}.job-details p{margin:8px 0 0}.job-details .button{grid-column:1/-1;justify-self:start}.no-openings{color:#718092;border:1px solid #e2e5e9;padding:24px;font-size:12px}.application{background:#f4f5f7;margin-top:60px;padding:34px;scroll-margin-top:108px}.application-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px;display:flex}.application-heading h3{color:var(--ink);letter-spacing:-.7px;margin:12px 0 0;font-size:27px}.application-heading>p{color:#718092;max-width:370px;margin:0;font-size:11px;line-height:1.7}.application-grid{grid-template-columns:1fr 1fr;gap:17px 14px;display:grid}.application-form label{color:#455369;flex-direction:column;gap:7px;font-size:10px;font-weight:650;display:flex}.application-form input:not([type=file]){width:100%;height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d9dde2;border-radius:2px;padding:10px 12px;font-size:12px}.application-form input:focus{border-color:var(--red);outline:0;box-shadow:0 0 0 2px #f0443d18}.application-form input::placeholder{color:#a2aab5}.resume-hint{color:#929ba7;font-weight:400}.application-form input[type=file]{color:#778396;width:100%;min-height:42px;font:inherit;background:#fff;border:1px dashed #cbd1d9;padding:8px 10px;font-size:10px}.application-submit{align-items:center;gap:14px;margin-top:20px;display:flex}.application-submit button{cursor:pointer;border:0}.application-submit>span{color:#929ba7;font-size:9px}@media (width<=800px){.job-summary{grid-template-columns:1fr auto}.job-location{grid-row:2}.job-details-toggle{grid-area:1/2/3}.application-heading{flex-direction:column;align-items:flex-start}.careers{padding-inline:7vw}}@media (width<=700px){.careers{padding:65px 24px 72px}.careers-lead{margin-bottom:34px}.job-filters{flex-direction:column}.job-filters select{width:100%}.job-summary{grid-template-columns:1fr;gap:11px}.job-location{grid-row:auto}.job-details-toggle{grid-area:auto/1;justify-self:start;padding:0}.job-details{grid-template-columns:1fr;padding:20px}.job-details>p,.job-details .button{grid-column:1}.application{margin-top:38px;padding:24px 18px}.application-grid{grid-template-columns:1fr}.application-submit{flex-direction:column;align-items:flex-start}}.careers h2{line-height:1.1}.careers-lead{margin-top:14px;font-size:14px}.job-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 20px;display:grid}.job-filters label{color:#526075;flex-direction:column;gap:7px;font-size:11px;font-weight:650;display:flex}.job-filters select{color:#344155;width:100%;min-width:0;min-height:44px;padding:11px 34px 11px 13px;font-size:12px}.job-summary{min-height:92px}.job-label{font-size:9px}.job-summary h4{font-size:18px}.job-location,.job-details-toggle{font-size:12px}.no-openings{line-height:1.6}@media (width<=700px){.job-filters{grid-template-columns:1fr;gap:12px}.job-summary h4{font-size:17px}}.hr-jobs-page{background:#f7f8fa;min-height:calc(100vh - 176px);padding:64px clamp(24px,8vw,124px) 90px}.hr-jobs-heading{justify-content:space-between;align-items:end;gap:24px;max-width:1120px;margin:0 auto 32px;display:flex}.hr-jobs-heading h1{letter-spacing:-1.8px;margin:16px 0 9px;font-size:clamp(34px,4vw,48px)}.hr-jobs-heading p{color:#718092;margin:0;font-size:14px}.hr-public-link{color:var(--red);white-space:nowrap;padding-bottom:4px;font-size:12px;text-decoration:none}.hr-opening-form,.hr-add-opening,.hr-list-heading,.hr-opening-list,.hr-empty-state{max-width:1120px;margin-inline:auto}.hr-opening-form{background:#fff;border:1px solid #e2e5e9;gap:18px;margin-bottom:36px;padding:30px;display:grid}.hr-form-heading{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:start;padding-bottom:18px;display:flex}.hr-form-heading h2{letter-spacing:-.5px;margin:10px 0 0;font-size:23px}.hr-cancel,.hr-opening-actions button{color:#697688;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:12px}.hr-opening-form label{color:#455369;flex-direction:column;gap:7px;font-size:11px;font-weight:650;display:flex}.hr-opening-form input,.hr-opening-form select,.hr-opening-form textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe3e8;border-radius:2px;padding:12px 13px;font-size:13px;font-weight:400}.hr-opening-form input:focus,.hr-opening-form select:focus,.hr-opening-form textarea:focus{border-color:var(--red);outline:0;box-shadow:0 0 0 2px #f0443d18}.hr-opening-form textarea{resize:vertical;line-height:1.6}.hr-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.hr-form-actions{align-items:center;gap:16px;display:flex}.hr-form-actions button{cursor:pointer;border:0}.hr-form-actions>span{color:#929ba7;font-size:10px}.hr-add-opening{color:#344155;text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px dashed #d1d7df;align-items:center;gap:12px;padding:19px;font-size:13px;font-weight:650;display:flex}.hr-add-opening>span{color:var(--red);font-size:23px;line-height:1}.hr-list-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-top:36px;margin-bottom:15px;display:flex}.hr-list-heading h2{margin:0;font-size:20px}.hr-list-heading h2 span{color:#99a2ae;margin-left:6px;font-size:12px;font-weight:500}.hr-list-heading>span{color:#929ba7;font-size:11px}.hr-opening-list{gap:12px;display:grid}.hr-opening-card{background:#fff;border:1px solid #e2e5e9;justify-content:space-between;align-items:flex-start;gap:24px;padding:21px 23px;display:flex}.hr-status{color:#738092;letter-spacing:.5px;text-transform:uppercase;background:#f0f1f3;padding:5px 8px;font-size:9px;font-weight:700;display:inline-block}.hr-status.is-published{color:#30784e;background:#eaf5ee}.hr-opening-info h3{margin:10px 0 7px;font-size:18px}.hr-opening-info p{color:#738092;margin:0;font-size:11px;line-height:1.65}.hr-opening-info p span{color:#c0c6cf;padding:0 4px}.hr-opening-description{max-width:720px;color:#8791a0!important;margin-top:10px!important}.hr-opening-actions{flex:none;align-items:center;gap:18px;display:flex}.hr-opening-actions button{color:var(--red)}.hr-opening-actions .hr-delete{color:#9a5660}.hr-empty-state{text-align:center;background:#fff;border:1px solid #e2e5e9;padding:40px 22px}.hr-empty-state h3{margin:0 0 8px}.hr-empty-state p{color:#8290a1;margin:0;font-size:12px}.hr-gallery-upload{background:#fff;border:1px solid #e2e5e9;justify-content:space-between;align-items:end;gap:20px;max-width:1120px;margin:0 auto;padding:22px;display:flex}.hr-gallery-upload label{color:#455369;gap:8px;font-size:12px;font-weight:650;display:grid}.hr-gallery-upload input{max-width:440px;font:inherit;font-weight:400}.hr-gallery-upload small{color:#929ba7;font-size:10px;font-weight:400}.hr-gallery-upload button{cursor:pointer;border:0;flex:none}.hr-gallery-upload button:disabled,.hr-gallery-card button:disabled{opacity:.55;cursor:wait}.hr-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;max-width:1120px;margin:0 auto;display:grid}.hr-gallery-card{aspect-ratio:4/3;background:#e9edf2;border:1px solid #e2e5e9;min-width:0;position:relative;overflow:hidden}.hr-gallery-card img{object-fit:cover;width:100%;height:100%}.hr-gallery-card button{color:#a13d3d;font:inherit;cursor:pointer;background:#fff;border:0;padding:8px 11px;font-size:11px;position:absolute;bottom:10px;right:10px}.office-gallery{background:#f7f8fa;padding:86px clamp(24px,8vw,124px) 96px;scroll-margin-top:88px}.office-gallery-heading{justify-content:space-between;align-items:end;gap:25px;max-width:1120px;margin:0 auto 32px;display:flex}.office-gallery-heading h2{color:var(--ink);letter-spacing:-1.7px;margin:13px 0 0;font-size:clamp(34px,4vw,48px)}.office-gallery-heading h2 em{color:var(--red);font-style:normal}.office-gallery-heading>p{color:#718092;max-width:350px;margin:0 0 5px;font-size:13px;line-height:1.8}.office-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto;display:grid}.office-gallery-grid figure{aspect-ratio:4/3;background:#e9edf2;margin:0;overflow:hidden}.office-gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.office-gallery-grid figure:hover img{transform:scale(1.03)}.office-gallery-empty{color:#8290a1;text-align:center;background:#fff;border:1px solid #e2e5e9;max-width:1120px;margin:0 auto;padding:30px;font-size:13px}@media (width<=900px){.hr-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.hr-jobs-page{padding:48px 20px 65px}.hr-jobs-heading{flex-direction:column;align-items:flex-start}.hr-opening-form{padding:22px 17px}.hr-form-row{grid-template-columns:1fr}.hr-form-actions,.hr-list-heading{flex-direction:column;align-items:flex-start}.hr-opening-card{flex-direction:column;padding:18px}.hr-opening-actions{align-self:flex-end}.hr-form-actions>span{line-height:1.5}.hr-gallery-upload{flex-direction:column;align-items:stretch;padding:18px}.hr-gallery-upload input{max-width:100%}.hr-gallery-grid{grid-template-columns:1fr}.office-gallery{padding:65px 24px 72px}.office-gallery-heading{flex-direction:column;align-items:flex-start;gap:14px}.office-gallery-grid{grid-template-columns:1fr;gap:12px}}.application-form .resume-field{position:relative}.application-form .resume-field .resume-hint{color:#929ba7;font-size:9px;font-weight:400;position:absolute;top:0;right:0}.team-linkedin svg{fill:currentColor;flex:none;width:15px;height:15px}.footer-socials{justify-content:flex-end;align-items:center;display:flex}.project-card{min-height:330px}.project-art{background:radial-gradient(at 52% 54%,#fff 0,#fbfcfd 68%,#f6f7f8 100%);place-items:center;height:112px;margin:5px -10px 10px;display:grid;position:relative;overflow:hidden}.project-art svg{width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1);display:block;overflow:visible}.project-card:hover .project-art svg{transform:translateY(-2px)scale(1.025)}.project-structure{stroke:#aeb8c5;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.project-drawing{stroke:#d5dbe3;stroke-width:1.1px;stroke-dasharray:2 4}.project-equipment{fill:#eef1f4;stroke:#9da9b8;stroke-width:1.5px}.project-route{stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.project-route-red{stroke:#f0443d;animation:2.1s ease-in-out infinite project-route-pulse}.project-route-blue{stroke:#2697c3;animation:2.7s ease-in-out infinite reverse project-route-pulse}.project-route-green{stroke:#45a47d;animation:2.5s ease-in-out infinite project-route-pulse}.project-flow-dot{fill:#f0443d;filter:drop-shadow(0 0 3px #f0443d70)}.project-flow-dot.project-flow-blue{fill:#2697c3;filter:drop-shadow(0 0 3px #2697c370)}@keyframes project-route-pulse{0%,to{opacity:.68}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.project-route-red,.project-route-blue,.project-route-green{opacity:1;animation:none}}.hvac-flow-line{animation:1.35s linear infinite hvac-flow}.hvac-flow-return{animation-duration:1.8s;animation-direction:reverse}@keyframes hvac-flow{to{stroke-dashoffset:-64px}}.discipline-image{z-index:1;object-fit:contain;animation:.65s ease-out both art-enter,7s ease-in-out .65s infinite float}.model-scene[data-slide="0"]>svg.building-art,.model-scene[data-slide="1"]>svg.building-art,.model-scene[data-slide="2"]>svg.building-art{display:none}.home-banner{background:#f8f8f6;width:100%;min-height:0;margin:0;padding:0;line-height:0;display:block;overflow:hidden}.home-banner:before{content:none}.home-banner>img{object-fit:initial;object-position:initial;opacity:1;width:100%;max-width:none;height:auto;margin:0;padding:0;display:block;position:static;transform:none;-webkit-mask-image:none;mask-image:none}@media (width>=701px){.home-banner{justify-content:center;align-items:center;height:calc(100svh - 88px);display:flex}.home-banner>img{object-fit:contain;width:auto;max-width:100%;height:100%}}.home-banner{background:#fff}@media (width>=901px){.team-card:nth-child(4){grid-column:3/span 2}}@media (width<=900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card{grid-column:auto}.team-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}}@media (width<=700px){.team-grid{grid-template-columns:1fr}.team-card:last-child{grid-column:auto;width:100%}}.application-submit button:disabled{cursor:wait;opacity:.72}.application-feedback{margin:14px 0 0;font-size:12px;line-height:1.5}.application-feedback.is-success{color:#30784e}.application-feedback.is-error{color:#b33c36}.hr-candidates-heading{margin-top:52px}.hr-candidate-list{gap:12px;max-width:1120px;margin-inline:auto;display:grid}.hr-candidate-card{background:#fff;border:1px solid #e2e5e9;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.hr-candidate-info h3{color:var(--ink);margin:8px 0 7px;font-size:17px}.hr-candidate-info p{color:#738092;margin:5px 0 0;font-size:11px;line-height:1.65}.hr-candidate-info a{color:#526075;text-decoration:none}.hr-candidate-info p span{color:#c0c6cf;padding:0 7px}.hr-candidate-date{color:#929ba7;font-size:9px}.hr-candidate-actions{flex:none;gap:16px;display:flex}.hr-candidate-actions button{color:var(--red);font:inherit;cursor:pointer;background:0 0;border:0;font-size:11px}.form-submit-row button:disabled{cursor:wait;opacity:.72}.contact-feedback{margin:0;font-size:11px;line-height:1.5}.contact-feedback.is-success{color:#30784e}.contact-feedback.is-warning{color:#8a6822}.contact-feedback.is-error{color:#b33c36}@media (width<=700px){.hr-candidate-card{flex-direction:column;align-items:flex-start;padding:18px}.hr-candidate-actions{align-self:flex-end}.hr-candidate-info p span{padding:0 4px}}.office-gallery-page{min-height:calc(100vh - 176px)}.office-gallery-heading h1{color:var(--ink);letter-spacing:-1.7px;margin:13px 0 0;font-size:clamp(34px,4vw,48px)}.office-gallery-heading h1 em{color:var(--red);font-style:normal}.office-gallery-heading-actions{align-items:flex-end;gap:18px;display:flex}.office-gallery-heading-actions>p{color:#718092;max-width:350px;margin:0 0 5px;font-size:13px;line-height:1.8}.office-gallery-view-all{color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1px solid #d5dbe3;flex:none;padding:11px 18px;font-size:12px;font-weight:650;transition:background .2s,color .2s,border-color .2s}.office-gallery-view-all:hover{border-color:var(--red);background:var(--red);color:#fff}.office-gallery-grid figure{z-index:0;transition:transform .3s,box-shadow .3s;position:relative}.office-gallery-grid figure:hover{z-index:1;transform:scale(1.12);box-shadow:0 12px 30px #19283a38}.office-gallery-grid{scroll-behavior:auto;grid-template-columns:none;grid-auto-columns:calc(33.3333% - 10.6667px);grid-auto-flow:column;overflow:hidden}#gallery .office-gallery-grid.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}.office-gallery-grid figure{scroll-snap-align:start}.office-gallery-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;overflow:hidden}.office-gallery-lightbox{z-index:2000;background:#0d1622db;place-items:center;padding:24px;animation:.2s both gallery-popup-fade;display:grid;position:fixed;inset:0}.office-gallery-lightbox-content{place-items:center;width:min(92vw,1200px);height:min(90vh,900px);display:grid;position:relative}.office-gallery-lightbox-content img{object-fit:contain;max-width:100%;max-height:100%;display:block;box-shadow:0 18px 50px #0006}.office-gallery-lightbox-close{z-index:1;color:#19283a;cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:28px;line-height:1;display:grid;position:absolute;top:-14px;right:-14px;box-shadow:0 4px 16px #00000040}@keyframes gallery-popup-fade{0%{opacity:0}to{opacity:1}}@media (width<=700px){.office-gallery-heading-actions{flex-direction:column;align-items:flex-start;gap:12px}.office-gallery-grid{grid-auto-columns:calc(33.3333% - 5.33333px);gap:8px}.office-gallery-grid.is-expanded{grid-template-columns:1fr}}
