:root{--ivory:#f6f3ed;--paper:#fbf9f5;--dark:#202d2a;--forest:#233b34;--muted:#626b65;--line:#dad9d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--dark);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline-offset:5px;outline:2px solid}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em;font-weight:500;line-height:1.13}h1{font-size:clamp(3.4rem,5.65vw,6.7rem)}h2{font-size:clamp(2.7rem,4.6vw,5.2rem)}h3{letter-spacing:-.035em;font-size:clamp(1.65rem,2.3vw,2rem)}em{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-weight:400}section{scroll-margin-top:24px}.container{width:min(1360px,100% - 100px);margin-inline:auto}.eyebrow{letter-spacing:.19em;color:#587168;font-size:.71rem;font-weight:700}.eyebrow.light{color:#acc7bd}.skip-link{z-index:10;background:var(--forest);color:#fff;padding:12px 20px;position:absolute;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{background:var(--paper);border-bottom:1px solid var(--line);z-index:2;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:0 4.2%;display:flex;position:relative}.wordmark{letter-spacing:.12em;font-family:Manrope,sans-serif;font-size:1.38rem;font-weight:700}.wordmark-dot{color:#587168}.desktop-nav{gap:clamp(1rem,2.4vw,2.5rem);font-size:.84rem;display:flex}.site-header a,.mobile-menu summary{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.site-header nav a:hover,.text-link:hover{text-underline-offset:5px;text-decoration:underline}.header-action{text-underline-offset:8px;font-size:.85rem;text-decoration:underline}.header-action span,.text-link span{padding-left:1rem}.mobile-menu{display:none}.hero{background:var(--ivory);grid-template-columns:1fr 1fr;min-height:640px;display:grid}.hero-copy{flex-direction:column;justify-content:space-between;padding:clamp(40px,4vw,72px) 5vw clamp(36px,3vw,56px) clamp(60px,7vw,112px);display:flex}.hero h1{margin:1.5rem 0 2rem}.hero-bottom{max-width:480px}.hero-bottom p{color:#59625d;font-size:1.05rem;line-height:1.85}.text-link{border-bottom:1px solid #667f75;align-items:center;min-height:44px;margin-top:1.3rem;padding-bottom:.5rem;font-size:.87rem;font-weight:600;display:inline-flex}.hero-visual{background:#d3dcd5;flex-direction:column;display:flex}.hero-visual .site-image{flex:1}.hero-visual-caption{color:var(--forest);letter-spacing:.15em;border-top:1px solid #9aada0;padding:1rem 2rem;font-size:.66rem}.site-image{aspect-ratio:var(--image-ratio);background:#dce1d9;position:relative;overflow:hidden}.site-image img{object-fit:cover;width:100%;height:100%;display:block}.image-placeholder{text-align:center;color:#354b40;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:150px;padding:clamp(1rem,2vw,2rem);display:flex}.placeholder-label{letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #8c9e91;padding-bottom:.6rem;font-size:.7rem}.image-placeholder p{max-width:320px;margin:1rem 0;font-size:1rem}.placeholder-note{overflow-wrap:anywhere;max-width:270px;font-size:.75rem}.intro{padding-block:125px 140px}.section-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.section-heading h2{margin:0}.section-lede{max-width:530px;color:var(--muted);margin:2rem 0 4rem;font-size:1.13rem}.sectors{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.sector{border-top:1px solid #adb6af;flex-direction:column;align-items:flex-start;padding-top:1rem;display:flex}.sector-top{width:100%;color:var(--muted);justify-content:space-between;margin-bottom:1.1rem;font-size:.85rem;display:flex}.sector .site-image{width:100%}.sector-subtitle{letter-spacing:.07em;color:#596c60;text-transform:uppercase;margin:1.5rem 0 .5rem;font-size:.77rem}.sector h3{margin-bottom:.85rem}.sector>p:not(.sector-subtitle){color:var(--muted);font-size:.92rem}.sector .text-link{margin-top:auto}.text-link.small{font-size:.8rem}.technology{color:#fff;background:#1e332d;padding:125px 0 110px}.technology-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10%;display:grid}.technology h2{margin:2rem 0}.technology-lede{color:#c5cec8;max-width:500px;font-size:1.07rem;line-height:1.85}.outline-link{border:1px solid #8ca69b;align-items:center;min-height:44px;margin-top:1.5rem;padding:13px 20px;font-size:.82rem;display:inline-flex}.outline-link:hover{background:#314e41}.outline-link span{padding-left:3rem}.technology-list{margin-top:5rem}.technology-list article{border-top:1px solid #648075;grid-template-columns:30px minmax(0,1fr);gap:1rem;padding:2rem 0;display:grid}.technology-list article>span{color:#a8c9ba;font-size:.72rem}.technology-list h3{margin:0 0 .8rem;font-size:1.65rem}.technology-list p{color:#b3c4ba;margin:0;font-size:.9rem}.approach{padding-block:clamp(88px,7vw,112px)}.approach-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10%;display:grid}.approach-grid p{color:var(--muted);margin-top:1rem;font-size:1.08rem}.approach-steps{counter-reset:step;color:#455b51;grid-template-columns:1fr 1fr;gap:15px;margin-top:3rem;padding:0;font-size:.88rem;list-style:none;display:grid}.approach-steps li{counter-increment:step;border-top:1px solid #b9c5bb;padding-top:1rem}.approach-steps li:before{content:"0" counter(step);margin-right:1rem}.projects{padding-block:30px 100px}.projects-heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.projects-heading>p{max-width:350px;color:var(--muted)}.about{border-top:1px solid var(--line);padding-block:100px}.contact{color:#fff;background:#2c4038;padding:110px 0}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10%;display:grid}.contact h2{margin:1rem 0 0}.contact-grid>div:last-child>p{color:#d1dcd5}.contact-link{overflow-wrap:anywhere;border-bottom:1px solid #9db7aa;min-height:44px;padding-block:.5rem;font-size:clamp(1.1rem,2vw,1.4rem);display:inline-block}.contact-link span{margin-left:1rem}.contact-note{margin-top:1.5rem;font-size:.78rem}.site-footer{justify-content:space-between;align-items:center;gap:1rem;padding-block:2.5rem;display:flex}.site-footer .wordmark{align-items:center;min-height:44px;display:flex}.site-footer p{color:var(--muted);margin:0;font-size:.7rem}@media (width<=1000px){.container{width:calc(100% - 56px)}.hero-copy{padding:52px 5vw 42px}.hero h1{font-size:clamp(2.85rem,5.6vw,5.2rem)}.sectors{gap:14px}.sector .image-placeholder{padding:1rem}.technology-grid{gap:5%}.desktop-nav{gap:1rem}.header-action{display:none!important}}@media (width<=760px){.site-header{min-height:70px;padding:0 24px}.site-header .desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;padding:8px}.mobile-menu nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:12px 24px 24px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 12px #202d2a0d}.mobile-menu nav a{padding-block:8px}.container{width:calc(100% - 40px)}.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:72px 24px 55px}.hero h1{margin:2rem 0;font-size:clamp(3.2rem,12vw,5.5rem)}.hero-visual .site-image{aspect-ratio:1.15}.hero-visual-caption{padding-inline:24px}.intro,.approach{padding-block:75px}.section-heading,.projects-heading{display:block}.section-lede{margin-bottom:3rem}.sectors{grid-template-columns:minmax(0,1fr);gap:3rem}.sector .site-image{aspect-ratio:1.7}.sector .text-link{margin-top:1rem}.technology{padding:75px 0}.technology-grid,.approach-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.technology-list{margin-top:3rem}.technology-showcase .site-image,.projects .site-image{aspect-ratio:1.7}.projects{padding-bottom:80px}.about{padding-block:75px}.contact{padding:80px 0}.contact-grid>div:last-child{margin-top:2rem}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.technology-showcase{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(18px,2.5vw,36px);margin-top:5rem;display:grid}.technology-showcase figure{min-width:0;margin:0}.technology-feature .site-image{width:100%}.technology-secondary{align-content:start;gap:2.5rem;display:grid}.technology-secondary .site-image{width:100%}.technology-showcase figcaption{gap:.45rem;padding-top:1.2rem;display:grid}.technology-showcase figcaption span{letter-spacing:.14em;color:#abc3b7;font-size:.67rem}.technology-showcase figcaption strong{letter-spacing:-.025em;font-size:clamp(1.05rem,1.65vw,1.55rem);font-weight:500;line-height:1.3}@media (width<=760px){.technology-showcase{grid-template-columns:minmax(0,1fr);gap:2.5rem;margin-top:3rem}.technology-secondary{gap:2.5rem}.technology-showcase .site-image{aspect-ratio:1.5}}
