@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap";:root{color:#172b43;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#eef0ee;font-family:Roboto,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:20px}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{color:#fff;background:#1e5793}:root{--ink:#172b43;--muted:#687482;--paper:#eef0ee;--white:#fff;--accent:#1e5793;--red:#c93c3c;--line:#d9dfe5;--display:"Roboto", sans-serif;--about-ratio:1.7778}.site-header{border-bottom:1px solid var(--line);z-index:2;background:var(--white);justify-content:space-between;align-items:center;height:100px;padding:0 7.2%;display:flex;position:relative}.brand{align-items:center;display:flex}.brand-logo{object-fit:contain;mix-blend-mode:multiply;width:100px;height:100px}.main-nav{align-items:center;gap:18px;font-size:12px;font-weight:600;display:flex}.main-nav>a:not(.nav-cta){color:#4f5d6a;border:1px solid #0000;border-radius:5px;align-items:center;min-height:40px;padding:8px 10px;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.nav-project-dropdown{position:relative}.nav-project-trigger{color:#405267;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9c6d3;border-radius:5px;align-items:center;gap:8px;padding:10px 13px;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.nav-project-trigger span{width:14px;height:14px;color:var(--accent);place-items:center;line-height:1;transition:transform .16s;display:grid}.nav-project-dropdown:hover .nav-project-trigger span,.nav-project-dropdown:focus-within .nav-project-trigger span,.nav-project-dropdown.is-open .nav-project-trigger span{transform:rotate(180deg)}.nav-project-menu{z-index:5;border:1px solid var(--line);opacity:0;visibility:hidden;background:#fff;border-radius:6px;min-width:190px;padding:6px;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-6px);box-shadow:0 12px 28px #172b4329}.nav-project-dropdown:hover .nav-project-menu,.nav-project-dropdown:focus-within .nav-project-menu,.nav-project-dropdown.is-open .nav-project-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-project-menu a{color:#405267;white-space:nowrap;border-radius:4px;padding:11px 12px}.nav-project-menu a:hover,.nav-project-menu a:focus-visible{color:var(--accent);background:#edf2f7}.nav-cta{background:var(--ink);color:#fff;padding:12px 17px}.nav-cta span{color:#e7edf4;margin-left:15px}.menu-toggle{display:none}.hero{isolation:isolate;background:var(--ink);align-items:center;min-height:calc(100svh - 100px);padding:48px 7.2% 54px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;color:#fff;width:min(560px,100%);padding:14px 0;position:relative}.hero-copy h1,.hero-copy h1 em{color:#fff}.hero-copy .eyebrow,.hero-copy .hero-text,.hero-copy .text-link,.hero-copy .process-list{color:#ffffffe6}.hero-copy .text-link{border-color:#ffffffa6}.hero-copy .process-list{border-color:#ffffff59}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin:0 0 24px;font-size:10px;font-weight:700}.hero .eyebrow span{color:var(--red);padding:0 4px}.hero h1,.section-heading h2,.about h2,.contact h2{font:600 clamp(42px, 5.1vw, 68px)/1.08 var(--display);letter-spacing:-.055em;margin:0}.hero h1 em,.section-heading h2 em,.about h2 em,.contact h2 em{color:var(--accent);font-style:normal}.hero-text{max-width:410px;color:var(--muted);margin:23px 0 26px;font-size:14px;line-height:1.8}.hero-actions{align-items:center;gap:25px;display:flex}.button{align-items:center;gap:26px;padding:15px 18px;font-size:11px;font-weight:600;display:inline-flex}.button span{font-size:16px}.button-dark{background:var(--ink);color:#fff}.button-light{color:#fff;background:0 0;border:1px solid #ffffffc7;border-radius:4px}.text-link{border:1px solid #bdc7d1;border-radius:4px;align-items:center;min-height:44px;padding:10px 14px;font-size:11px;font-weight:700;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.text-link span{color:var(--red);margin-left:9px}.process-list{border-top:1px solid var(--line);gap:0;max-width:445px;margin-top:48px;padding-top:18px;display:flex}.process-list div{flex:1;align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.process-list span{color:var(--red);font-size:9px}.hero-visual{z-index:0;background:linear-gradient(145deg,#e5e9ed,#d5dce3);height:auto;position:absolute;inset:0;overflow:hidden}.hero-visual:after{content:"";background:linear-gradient(90deg,#09121cd1,#09121c78 58%,#09121c33);position:absolute;inset:0}.visual-structure{border:1px solid #172b4333;border-bottom:0;grid-template-columns:repeat(3,1fr);height:83%;display:grid;position:absolute;bottom:0;left:15%;right:15%}.visual-structure:before,.visual-structure:after{content:"";background:#172b4333;height:1px;position:absolute;top:34%;left:0;right:0}.visual-structure:after{top:67%}.visual-structure i{border-right:1px solid #172b4333;display:block}.visual-structure i:last-child{border:0}.visual-caption{letter-spacing:.1em;color:var(--ink);font-size:9px;position:absolute;bottom:18px;left:20px}.visual-caption span{color:var(--red);padding:0 5px}.visual-placeholder,.about-placeholder{color:#657383;text-transform:uppercase;letter-spacing:.1em;font-size:9px;position:absolute;top:18px;left:18px}.section-wrap{padding-left:7.2%;padding-right:7.2%}.services{padding-top:64px;padding-bottom:72px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:30px;display:flex}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.about h2,.contact h2{font-size:clamp(37px,4.4vw,54px)}.section-heading>p{max-width:265px;color:var(--muted);margin:0 0 4px;font-size:12px;line-height:1.8}.service-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-right:1px solid var(--line);min-height:340px;padding:23px 22px 25px 0;position:relative}.service-card:not(:first-child){padding-left:22px}.service-card:last-child{border-right:0}.service-number{color:var(--red);font-size:9px}.service-image{aspect-ratio:16/10;object-fit:cover;width:100%;margin:16px 0 0;display:block}.service-card h3{font:600 15px var(--display);margin:18px 0 9px}.service-card p{color:var(--muted);max-width:205px;margin:0;font-size:11px;line-height:1.7}.service-card>a{color:var(--accent);position:absolute;bottom:22px;right:17px}.projects{background:#e9edf1;padding:70px 0 78px}.projects .section-heading{margin-bottom:38px}.project-grid{grid-template-columns:1.25fr 1fr 1fr;gap:20px;display:grid}.project-image{background:#d6dce2;place-items:center;height:250px;display:grid;position:relative;overflow:hidden}.project-card.large .project-image{height:305px}.project-image:before{content:"";border:1px solid #172b4324;border-bottom:0;height:68%;position:absolute;bottom:0;left:12%;right:12%}.project-image:after{content:"";background:#172b4324;height:1px;position:absolute;top:53%;left:12%;right:12%}.project-image.two{background:#dfe3e7}.project-image.three{background:#cfd7df}.image-placeholder{z-index:1;color:#667484;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.project-index{z-index:1;font:500 11px var(--display);color:#657383;position:absolute;top:14px;right:15px}.project-info{justify-content:space-between;align-items:center;padding:14px 1px;display:flex}.project-type{color:var(--accent);letter-spacing:.06em;font-size:9px}.project-info h3{font:600 14px var(--display);margin:6px 0 0}.project-arrow{color:var(--accent);font-size:17px}.about{isolation:isolate;min-height:calc(100vw / var(--about-ratio));background:var(--ink);align-items:center;padding:82px 7.2%;display:flex;position:relative;overflow:hidden}.about-visual{z-index:0;background:#263849;position:absolute;inset:0;overflow:hidden}.about-visual:after{content:"";z-index:1;background:linear-gradient(90deg,#09121c00 0% 38%,#09121cb3 58%,#09121ceb 100%);position:absolute;inset:0}.about-visual:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#172b431f calc(25% - 1px) 25%),repeating-linear-gradient(0deg,#0000 0 calc(33% - 1px),#172b431f calc(33% - 1px) 33%);border:1px solid #172b432e;border-bottom:0;width:62%;height:76%;position:absolute;bottom:0;left:19%}.about-caption{color:var(--ink);letter-spacing:.12em;font-size:9px;display:none;position:absolute;bottom:17px;left:18px}.about-copy .eyebrow{margin-bottom:19px}.about-copy{z-index:2;text-align:left;color:#fff;width:min(520px,100%);margin-left:auto;position:relative}.about-copy h2,.about-copy h2 em{color:#fff}.about-copy .eyebrow{color:#ffffffd1}.about-text-columns{grid-template-columns:minmax(0,1fr);gap:0;margin-top:20px;display:grid}.about-text-columns p{color:#ffffffd6;text-align:left;width:100%;max-width:none;margin:20px 0;font-size:12px;line-height:1.9}.about-email{color:var(--accent);font-size:14px;font-weight:700;display:inline-block}.button-outline{border:1px solid #bdc7d1;margin-top:10px}.contact{color:var(--ink);background:0 0;padding:64px 7.2% 58px}.contact-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;display:flex}.contact .eyebrow,.contact h2 em{color:var(--accent)}.contact-side{max-width:350px}.contact-side>p{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.8}.contact-side .contact-phone-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.contact-phones{flex-direction:column;gap:6px;display:flex}.contact-phones a{color:var(--ink);font:600 20px/1.45 var(--display);letter-spacing:.01em}.contact-phones a:hover{color:var(--accent)}.contact-email{color:var(--accent);font:600 20px/1.45 var(--display);margin-top:7px;display:inline-block}.contact-email:hover{color:var(--ink)}.contact-side .contact-intro{margin:15px 0 8px}.contact-side .contact-placeholder{color:var(--muted);font-size:10px}.map-embed{background:#dce5ec;max-width:1200px;margin:32px auto 0;overflow:hidden}.map-embed iframe{border:0;width:100%;height:390px;display:block}.footer{min-height:84px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;padding:12px 7.2%;font-size:9px;display:flex}@media (width<=850px){.site-header{height:74px;padding:0 5%}.hero{min-height:calc(100svh - 74px);padding:38px 5% 44px}.hero-visual{height:auto}.section-wrap{padding-left:5%;padding-right:5%}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card:nth-child(3){padding-left:0}.project-grid{grid-template-columns:1fr 1fr}.project-card.large{grid-column:span 2}.project-card.large .project-image{height:280px}.about{min-height:0;padding:0;display:block}.about-visual{aspect-ratio:var(--about-ratio);position:relative;inset:auto}.about .about-visual.has-photo:after{display:none}.about-copy{width:100%;margin:0;padding:40px 5% 48px}.about-brand-logo{top:40px;right:5%}.contact{padding-left:5%;padding-right:5%}}@media (width<=600px){.site-header{height:68px}.brand-logo{width:64px;height:64px}.menu-toggle{cursor:pointer;background:0 0;border:0;font-size:22px;display:block}.main-nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:20px;padding:20px 5% 25px;display:none;position:absolute;top:67px;left:0;right:0}.main-nav.is-open{display:flex}.nav-cta{text-align:center}.nav-project-dropdown{width:100%}.nav-project-trigger{justify-content:space-between;width:100%}.nav-project-menu{min-width:0;box-shadow:none;opacity:1;visibility:visible;margin-top:6px;display:none;position:static;transform:none}.nav-project-dropdown.is-open .nav-project-menu{display:grid}.hero{min-height:calc(100svh - 68px);padding-top:34px}.hero h1{font-size:47px}.hero-text{font-size:13px}.hero-visual{height:auto}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.process-list{margin-top:35px}.services{padding-top:48px;padding-bottom:54px}.section-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:22px}.section-heading h2,.about h2,.contact h2{font-size:40px}.service-card{min-height:180px;padding-right:12px}.service-card:not(:first-child){padding-left:14px}.service-card:nth-child(3){padding-left:0}.service-card h3{margin-top:28px;font-size:13px}.service-card p{font-size:10px}.service-card>a{right:11px}.projects{padding:52px 0 58px}.project-grid{grid-template-columns:1fr;gap:14px}.project-card.large{grid-column:auto}.project-card.large .project-image,.project-image{height:235px}.about-text-columns{grid-template-columns:1fr;gap:0;margin-top:14px}.contact{padding-top:50px;padding-bottom:44px}.contact-inner{flex-direction:column;align-items:flex-start;gap:24px}.contact-side{max-width:none}.contact-phones a{font-size:19px}.map-embed{margin-top:32px}.map-embed iframe{height:300px}.footer{grid-template-columns:1fr 1fr;gap:12px;padding:15px 5%;display:grid}.footer>span{text-align:right;line-height:1.5}.footer>a:last-child{text-align:right;grid-column:span 2}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.main-nav{font-size:14px}.eyebrow{font-size:12px}.hero-text{font-size:16px}.button,.text-link{font-size:14px}.process-list div{font-size:13px}.process-list span,.visual-caption,.visual-placeholder,.about-placeholder{font-size:11px}.section-heading>p{font-size:15px}.service-number{font-size:12px}.service-card h3{font-size:18px}.service-card p{font-size:14px}.service-card>a{font-size:18px}.project-type{font-size:12px}.project-info h3{font-size:17px}.project-index{font-size:13px}.about-caption{font-size:11px}.about-text-columns p,.contact-side>p{font-size:15px}.contact-side .contact-placeholder{font-size:13px}.footer{font-size:12px}.back-to-top{z-index:10;color:#fff;background:var(--accent);opacity:0;visibility:hidden;pointer-events:none;border:1px solid #fff3;border-radius:50%;place-items:center;width:52px;height:52px;font-size:27px;line-height:1;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(10px);box-shadow:0 6px 20px #172b4333}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--ink)}.back-to-top:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media (width<=600px){.main-nav{font-size:16px}.hero-text{font-size:15px}.section-heading>p,.about-text-columns p,.contact-side>p{font-size:14px}.service-card h3{font-size:16px}.service-card p,.button,.text-link{font-size:13px}.back-to-top{width:48px;height:48px;bottom:18px;right:18px}}.site-header{z-index:20;background:#e3eaf2;border-bottom-color:#cbd5e0;position:sticky;top:0;box-shadow:0 3px 12px #172b4314}@media (width<=600px){.main-nav{background:#e3eaf2}}.footer{background:var(--ink);color:#d3dbe3;min-height:0;padding:0 7.2%;display:block}.footer-main{grid-template-columns:1.2fr .8fr 1fr;gap:50px;max-width:1200px;margin:0 auto;padding:46px 0 38px;display:grid}.footer-logo-tile{background:#e3eaf2;border-radius:4px;place-items:center;width:150px;display:grid}.footer-about>p{color:#d3dbe3;margin:16px 0 0;font-size:14px}.footer-socials{align-items:center;gap:10px;margin-top:18px;display:flex}.footer-socials>span{color:#bac7d3;border:1px solid #d3dbe347;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.footer-socials svg{fill:currentColor;width:17px;height:17px;display:block}.footer-socials .career-link{color:#d3dbe3;border:1px solid #d3dbe347;border-radius:18px;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.footer-socials .career-link>span:first-child{width:20px;height:20px;color:var(--ink);background:#d3dbe3;border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.footer-socials .career-link:hover{color:#fff;border-color:#fff}.footer-links,.footer-contact{flex-direction:column;align-items:flex-start;gap:11px;display:flex}.footer-links h2,.footer-contact h2{color:#fff;font:600 16px var(--display);margin:2px 0 7px}.footer-links>a,.footer-contact>p{color:#c1ccd7;margin:0;font-size:14px;line-height:1.5}.footer-contact>a{color:#c1ccd7;border:1px solid #d3dbe36b;border-radius:4px;align-items:center;max-width:100%;min-height:40px;padding:8px 11px;font-size:14px;line-height:1.5;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.footer-links>a:hover{color:#fff}.footer-contact>a:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 7px 18px #172b4329}.directions-button{margin-top:10px}.footer-bottom{color:#aebbc8;border-top:1px solid #ffffff2e;justify-content:flex-start;align-items:center;gap:16px;max-width:1200px;min-height:62px;margin:0 auto;font-size:12px;display:flex}.site-version{color:#aebbc8;font-variant-numeric:tabular-nums;margin-left:auto}@media (width<=850px){.footer{padding:0 5%}.footer-main{gap:28px}}@media (width<=600px){.footer-main{grid-template-columns:1fr 1fr;gap:28px 20px;padding:34px 0 28px}.footer-about{grid-column:1/-1}.footer-links,.footer-contact{gap:10px}.footer-links h2,.footer-contact h2{font-size:15px}.footer-links>a,.footer-contact>p{font-size:13px}.footer-bottom{min-height:58px;font-size:11px}}.button,.nav-cta{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.button:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 7px 18px #172b4329}.button-dark:hover,.nav-cta:hover{background:var(--accent);color:#fff}.button-light:hover{background:var(--accent);border-color:var(--accent);color:#fff}.button-outline:hover{background:var(--ink);border-color:var(--ink);color:#fff}.button:active,.nav-cta:active{box-shadow:none;transform:translateY(0)}.button:focus-visible,.nav-cta:focus-visible,.text-link:focus-visible,.career-profile-link:focus-visible,.main-nav>a:focus-visible,.nav-project-trigger:focus-visible{outline:3px solid var(--red);outline-offset:4px}.hero-visual.has-photo,.about-visual.has-photo{background:#d6dce2}.hero-visual.has-photo:before,.about-visual.has-photo:before{display:none}.about-visual.has-photo:after{display:block}.hero-visual.has-photo:after{z-index:1;display:block}.hero-visual>img,.about-visual>img{object-fit:contain;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hero-visual.has-photo .visual-structure,.hero-visual.has-photo .visual-placeholder,.about-visual.has-photo .about-placeholder{display:none}.hero-visual.has-photo .visual-caption,.about-visual.has-photo .about-caption{z-index:1;background:#ffffffd1;padding:8px 10px}.about-brand-logo{z-index:2;object-fit:contain;background:#fff;width:96px;height:96px;display:block;position:absolute;top:0;right:0}.career-section{color:#fff;background:var(--ink);padding:56px 7.2%}.career-inner{justify-content:space-between;align-items:center;gap:48px;max-width:1200px;margin:0 auto;display:flex}.career-inner>div:first-child{max-width:650px}.career-section .eyebrow{color:#a9c7e5}.career-section h2{color:#fff;font:600 clamp(30px, 4vw, 46px)/1.15 var(--display);letter-spacing:-.045em;margin:0 0 14px}.career-section h2 em{color:#a9c7e5;font-style:normal}.career-copy{color:#d3dbe3;max-width:560px;margin:0;font-size:15px;line-height:1.7}.career-actions{flex-direction:column;align-items:flex-start;gap:16px;min-width:220px;display:flex}.career-profile-link{color:#d3dbe3;border:1px solid #ffffffb8;border-radius:4px;align-items:center;gap:10px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.career-profile-link:hover{color:#fff;border-color:var(--accent);background:var(--accent);transform:translateY(-2px);box-shadow:0 7px 18px #172b4338}@media (width<=850px){.career-section{padding-left:5%;padding-right:5%}}@media (width<=600px){.career-section{padding-top:44px;padding-bottom:48px}.career-inner{flex-direction:column;align-items:flex-start;gap:26px}.career-copy{font-size:14px}}.project-carousel{max-width:100%}.project-carousel:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.project-carousel-stage{touch-action:pan-y;background:0 0;place-items:center;height:clamp(280px,52vw,570px);display:grid;position:relative;overflow:hidden}.project-carousel-image,.project-carousel-placeholder{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.project-carousel-image{opacity:0;transition:opacity .25s}.project-carousel-image.is-loaded{opacity:1}.project-carousel-placeholder{object-fit:cover;filter:blur(18px);opacity:.35;transform:scale(1.06)}.project-carousel-placeholder.is-hidden{opacity:0}.project-carousel-control{z-index:2;color:#fff;cursor:pointer;background:#172b43b8;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:48px;height:48px;font-size:32px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.project-carousel-control:hover{background:var(--accent)}.project-carousel-control.is-previous{left:16px}.project-carousel-control.is-next{right:16px}.project-carousel-count{z-index:2;color:#fff;background:#172b43c2;padding:7px 10px;font-size:13px;position:absolute;bottom:14px;right:14px}.project-thumbnails{scrollbar-width:thin;gap:10px;padding:14px 2px 5px;display:flex;overflow-x:auto}.project-thumbnail{opacity:.7;cursor:pointer;background:#d6dce2;border:2px solid #0000;flex:0 0 116px;height:78px;padding:0;overflow:hidden}.project-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.project-thumbnail:hover{opacity:1}.project-thumbnail.is-active{border-color:var(--accent);opacity:1}.project-gallery-loading{background:linear-gradient(100deg,#dfe3e7 25%,#f1f3f4 38%,#dfe3e7 60%) 0 0/300% 100%;height:clamp(280px,52vw,570px);animation:1.4s infinite gallery-shimmer}.project-gallery-state{min-height:240px;color:var(--muted);text-align:center;background:#ffffff8c;place-content:center;justify-items:center;gap:12px;display:grid}.project-gallery-state p{margin:0}.project-gallery-error{background:linear-gradient(135deg,#f4f6f7,#e5eaf0);border:1px solid #172b4314;min-height:300px;padding:32px 20px}.project-gallery-error img{object-fit:contain;width:min(100%,520px);height:220px;display:block}.project-gallery-error p{margin:0;font-size:14px}.references{background:#f7f8f8;padding-top:60px;padding-bottom:66px}.references-heading{margin-bottom:32px}.references-heading .eyebrow{margin-bottom:12px}.references-heading h2{max-width:620px;color:var(--ink);font:600 clamp(26px, 3.1vw, 38px)/1.2 var(--display);letter-spacing:-.045em;margin:0}.references-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.reference-card{border:1px solid var(--line);text-align:center;background:#fff;min-width:0;padding:18px 14px 16px}.reference-logo{place-items:center;height:94px;margin-bottom:12px;display:grid}.reference-logo img{object-fit:contain;max-width:100%;max-height:100%;display:block}.reference-card h3{color:var(--ink);font:600 12px/1.45 var(--display);margin:0}@keyframes gallery-shimmer{to{background-position:-150% 0}}@media (width<=600px){.references{padding-top:44px;padding-bottom:48px}.references-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-card{padding:14px 10px 12px}.reference-logo{height:78px}.reference-card h3{font-size:11px}.project-carousel-stage{height:68vw;min-height:235px}.project-carousel-control{width:40px;height:40px;font-size:27px}.project-carousel-control.is-previous{left:9px}.project-carousel-control.is-next{right:9px}.project-thumbnail{flex-basis:92px;height:64px}}@media (prefers-reduced-motion:reduce){.project-carousel-image,.project-thumbnail{transition:none}.project-gallery-loading{animation:none}}.text-link span{transition:transform .2s;display:inline-block}.text-link:hover{border-color:var(--ink);background:var(--ink);color:#fff;transform:translateY(-2px);box-shadow:0 7px 18px #172b4329}.text-link:hover span{color:inherit;transform:translate(4px)}.main-nav>a:not(.nav-cta):hover,.nav-project-dropdown:hover .nav-project-trigger,.nav-project-dropdown:focus-within .nav-project-trigger,.nav-project-dropdown.is-open .nav-project-trigger{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-2px);box-shadow:0 7px 18px #172b4329}.nav-project-dropdown:hover .nav-project-trigger span,.nav-project-dropdown:focus-within .nav-project-trigger span,.nav-project-dropdown.is-open .nav-project-trigger span{color:#fff}.footer-links>a{transition:color .2s}@media (prefers-reduced-motion:reduce){.button,.nav-cta,.text-link,.text-link span,.career-profile-link,.main-nav>a,.nav-project-trigger,.footer-links>a,.footer-contact>a{transition:none}}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}.project-groups{gap:44px;display:grid}.project-group{border:1px solid #cbd5df;border-top:4px solid var(--accent);background:#e8f0f7;padding:22px;scroll-margin-top:24px}.project-group:nth-child(2){background:#f1f3f5;border-top-color:#687482}.project-group-title{border-bottom:2px solid var(--accent);border-left:5px solid var(--accent);font:700 clamp(24px, 3vw, 34px)/1.2 var(--display);letter-spacing:-.035em;color:var(--ink);margin:0 0 26px;padding:0 0 12px 17px}.project-group:nth-child(2) .project-group-title{border-bottom-color:#687482;border-left-color:#687482}.project-card{background:#fff;border:1px solid #172b431a;min-width:0;padding:14px 14px 10px;transition:transform .22s,box-shadow .22s}.project-card .project-carousel-stage{height:clamp(300px,34vw,440px)}.project-card .project-carousel-image{transition:opacity .25s,transform .35s}.project-thumbnail{transition:opacity .18s,transform .18s,border-color .18s}@media (hover:hover){.project-card:hover,.project-card:focus-within{transform:translateY(-6px);box-shadow:0 16px 32px #172b4324}.project-card:hover .project-carousel-image.is-loaded,.project-card:focus-within .project-carousel-image.is-loaded{transform:scale(1.025)}.project-thumbnail:hover{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.project-card,.project-card .project-carousel-image,.project-thumbnail{transition:none}}.project-card .project-info{align-items:flex-start;min-height:68px;padding:16px 4px 7px}.project-card .project-type{letter-spacing:.08em;margin-bottom:2px;font-size:10px;display:inline-block}.project-card .project-info h3{margin-top:4px;font-size:16px;line-height:1.45}.machinery{background:#f7f8f8;padding-top:62px;padding-bottom:70px}.machinery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.machinery-card{border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;flex-direction:column;min-width:0;min-height:0;padding:12px;transition:transform .18s,box-shadow .18s;display:flex}.machinery-image{aspect-ratio:16/10;background:#edf1f4;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.machinery-image img{display:block}.machinery-image.is-icon img{object-position:center;object-fit:contain;width:68%;min-width:0;max-width:100%;height:68%;min-height:0;max-height:100%}.machinery-image.is-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.machinery-info{min-height:78px;padding:14px 4px 2px;position:relative}.machinery-meta{justify-content:space-between;align-items:center;gap:8px;min-height:16px;margin-bottom:5px;display:flex}.machinery-year{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.machinery-count{color:var(--accent);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.machinery-info h3{color:var(--ink);font:700 16px/1.35 var(--display);margin:0 0 5px}.machinery-info p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (hover:hover){.machinery-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #172b431a}}@media (width>=601px) and (width<=900px){.machinery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.machinery{padding-top:46px;padding-bottom:52px}.machinery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.machinery-card{padding:8px}.machinery-image{aspect-ratio:1}.machinery-info{min-height:74px;padding:12px 2px 2px}.machinery-info h3{font-size:14px}.machinery-info p{font-size:12px}.project-group{padding:16px 12px}.project-card{padding:9px 9px 7px}.project-grid{grid-template-columns:minmax(0,1fr);gap:26px}.project-card .project-carousel-stage{height:68vw;min-height:235px}}@media (width>=601px) and (width<=850px){.site-header{height:88px}.brand-logo{width:84px;height:84px}.menu-toggle{cursor:pointer;background:0 0;border:0;padding:8px;font-size:24px;display:block}.main-nav{border-bottom:1px solid var(--line);background:#e3eaf2;flex-direction:column;align-items:stretch;gap:14px;max-height:calc(100dvh - 88px);padding:18px 5% 24px;font-size:16px;display:none;position:absolute;top:87px;left:0;right:0;overflow-y:auto}.main-nav.is-open{display:flex}.main-nav>a:not(.nav-cta){align-items:center;min-height:40px;display:flex}.nav-cta{text-align:center}.nav-project-dropdown,.nav-project-trigger{width:100%}.nav-project-trigger{justify-content:space-between}.nav-project-menu{min-width:0;box-shadow:none;opacity:1;visibility:visible;margin-top:6px;display:none;position:static;transform:none}.nav-project-dropdown.is-open .nav-project-menu{display:grid}.footer-socials{flex-wrap:wrap}}@media (width<=600px){.main-nav{max-height:calc(100dvh - 68px);overflow-y:auto}.main-nav>a:not(.nav-cta){align-items:center;min-height:40px;display:flex}.about-brand-logo{width:72px;height:72px}.service-card{min-height:0;padding-top:16px;padding-bottom:24px}.service-card h3{margin-top:16px;line-height:1.35}.service-card p{line-height:1.5}.machinery-meta{gap:4px}.machinery-year{font-size:10px}.machinery-count{font-size:9px}.footer-contact>a{overflow-wrap:anywhere}}
