:root{--forest:#174f45;--ink:#192e28;--muted:#586a63;--line:#d5ded9;--paper:#f8faf8;--ice:#d9e8e1;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid #b88d37;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:16px}
.header{max-width:1440px;margin:auto;padding:30px 6%;display:flex;justify-content:space-between;align-items:center;gap:30px}
.logo{display:inline-flex;gap:15px;align-items:center;text-decoration:none;color:var(--forest);flex-shrink:0}.roundel{border:1.7px solid currentColor;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font:500 24px "Space Grotesk",sans-serif;letter-spacing:-.18em;padding-right:4px}.wordmark{font-size:31px;font-weight:400;letter-spacing:.105em}
nav{display:flex;align-items:center;gap:35px;font-size:.9rem}nav a{text-decoration:none}nav a:hover,.text-link:hover{opacity:.7}.nav-contact{border-bottom:1px solid var(--forest);padding:10px 0}.nav-contact span{margin-left:15px}
.hero{max-width:1440px;margin:auto}.hero-content{padding:50px 6% 55px}.eyebrow{text-transform:uppercase;font-size:.76rem;font-weight:500;letter-spacing:.15em;margin:0 0 27px;line-height:1.7}
h1{font-size:clamp(2.6rem,5.1vw,4.6rem);font-weight:400;letter-spacing:-.055em;line-height:1.08;margin:0 0 27px}h1 em{font-style:normal;color:var(--forest)}.intro{font-size:1.12rem;color:var(--muted);max-width:610px;line-height:1.65;margin:0 0 30px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 23px;text-decoration:none;font-size:.9rem;border-radius:3px;min-height:54px;transition:background .2s}.primary{background:var(--forest);color:#fff}.primary:hover{background:#0c3b32}.text-link{text-decoration:none;font-size:.9rem;padding:12px 0}.text-link span{margin-left:10px}.hero-landscape{margin:0 3%;position:relative;height:370px;overflow:hidden;border-radius:4px}.hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:50% 51%;display:block}.hero-landscape:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(4,24,27,.62))}.hero-landscape figcaption{position:absolute;bottom:22px;left:30px;right:30px;color:white;z-index:1;display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.04em}
.section{max-width:1440px;margin:auto;padding:95px 6%}.expertise{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:400;letter-spacing:-.045em;line-height:1.13;margin:0}h3{font-size:1.25rem;font-weight:500;letter-spacing:-.025em;margin:0 0 13px}.service{display:flex;gap:27px;border-top:1px solid var(--line);padding:24px 0}.service:first-child{padding-top:20px}.number{font-size:.78rem;color:var(--muted);padding-top:4px}.service p,.about-copy>p:not(.large-copy){font-size:1rem;line-height:1.75;color:var(--muted);margin:0;max-width:560px}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;border-top:1px solid var(--line);padding-top:65px;padding-bottom:85px}.location{color:var(--muted);font-size:.9rem;margin-top:15px}.large-copy{font-size:1.65rem;line-height:1.4;letter-spacing:-.035em;margin:0 0 22px}.about-copy a{text-underline-offset:4px;color:var(--forest)}
.contact{max-width:1354px;margin:0 auto;position:relative;min-height:480px;isolation:isolate;overflow:hidden;border-radius:4px}.contact>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.contact-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,33,30,.93),rgba(7,33,30,.78) 38%,rgba(7,33,30,.25));z-index:-2}.contact-content{padding:65px 6%;color:white}.contact h2{font-size:clamp(2.4rem,4vw,3.6rem)}.contact-content>p:not(.eyebrow){line-height:1.7;font-size:1.05rem;color:#e0e9e6;margin:24px 0 28px}.light{background:#fff;color:var(--forest)}.light:hover{background:var(--ice)}.photo-label{position:absolute;right:30px;bottom:22px;color:white;font-size:.8rem}
footer{max-width:1440px;margin:auto;padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>span{font-size:.75rem;color:var(--muted);line-height:1.7}.footer-logo .roundel{width:34px;height:34px;font-size:16px}.footer-logo .wordmark{font-size:21px}.footer-logo{gap:10px}
@media(min-width:1600px){.hero-content{padding-top:65px}}
@media(max-width:800px){.header{padding:22px 6%}nav{gap:20px}nav>a:not(.nav-contact){display:none}.hero-content{padding-top:40px}.hero-landscape{height:290px}.expertise,.about{grid-template-columns:1fr;gap:35px}.section{padding:60px 6%}.section-heading h2 br{display:none}.contact{border-radius:0}.contact-content{padding:55px 6% 65px}.contact-overlay{background:rgba(7,33,30,.79)}footer{flex-wrap:wrap}footer p{order:3;flex-basis:100%;margin:0}.contact{margin:0 3%}}
@media(max-width:480px){.wordmark{font-size:25px}.roundel{width:44px;height:44px;font-size:20px}.header{gap:12px}.logo{gap:11px}.nav-contact{font-size:.8rem}.nav-contact span{margin-left:5px}.desktop{display:none}h1{font-size:2.65rem}.eyebrow{font-size:.72rem;letter-spacing:.09em}.intro{font-size:1rem}.actions{gap:9px;align-items:flex-start;flex-direction:column}.hero-landscape{height:245px}.hero-landscape figcaption{left:20px;right:20px;bottom:18px}.hero-landscape figcaption span{display:none}.service{gap:18px}.large-copy{font-size:1.45rem}.contact-content{padding-left:7%;padding-right:7%}.contact h2{font-size:2.55rem}.photo-label{font-size:.75rem}.contact .actions{gap:12px}}
.header>.logo{gap:30px}.header>.logo .roundel{width:108px;height:108px;font-size:48px;border-width:3.4px;padding-right:8px}.header>.logo .wordmark{font-size:62px}
.header nav{flex-wrap:wrap}.contact .button{font-family:inherit;border:0;cursor:pointer;justify-content:center;min-width:130px}.contact button:focus-visible{outline:3px solid #b88d37;outline-offset:6px}
@media(max-width:950px){.header{flex-wrap:wrap}.header nav{width:100%;gap:28px}.header nav>a{display:block}}
@media(max-width:600px){.header>.logo{gap:18px}.header>.logo .roundel{width:clamp(64px,17vw,88px);height:clamp(64px,17vw,88px);font-size:clamp(28px,7.5vw,40px)}.header>.logo .wordmark{font-size:clamp(35px,9.6vw,50px)}.contact .actions{flex-direction:row;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
