
:root{--green:#173c32;--green2:#244f42;--copper:#b66a45;--cream:#f4f0e8;--sand:#e9e4d9;--ink:#1d2925;--muted:#69756f;--line:#d8ddd7;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:16px/1.7 'DM Sans',sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}h1,h2,h3,h4{font-family:Manrope,sans-serif;line-height:1.06;letter-spacing:-.055em;margin:0 0 20px;font-weight:800;color:var(--green)}h1{font-size:clamp(3.6rem,8vw,7.6rem)}h2{font-size:clamp(2.6rem,5vw,4.8rem)}h3{font-size:1.55rem}p{margin:0 0 18px;color:#65716b}.wrap{width:min(1280px,calc(100% - 64px));margin:auto}.topbar{height:32px;background:var(--green);color:#d4ded7;font-size:9px;letter-spacing:.14em}.topbar-in{height:100%;display:flex;justify-content:space-between;align-items:center}.topbar b{color:#d9a183;padding:0 7px}.header{height:86px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #e8ebe6;transition:box-shadow .25s}.header.scrolled{box-shadow:0 8px 28px #173c3218}.nav-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:220px;display:block}.nav{display:flex;gap:32px;align-items:center}.nav a{font-size:13px;font-weight:700;color:#34453d;text-decoration:none;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;height:2px;bottom:-9px;background:var(--copper);transition:.25s}.nav a:hover:after,.nav a.active:after{right:0}.nav a.active{color:var(--copper)}.nav-button{padding:14px 18px;background:var(--green);color:#fff;text-decoration:none;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.nav-button span{color:#d9a183;margin-left:12px}.menu{display:none;border:0;background:none;font-size:26px;color:var(--green)}
.hero{height:min(780px,calc(100vh - 115px));min-height:640px;background:var(--image) center/cover;position:relative;color:white;isolation:isolate}.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,43,35,.91),rgba(15,43,35,.68) 46%,rgba(15,43,35,.12) 100%),linear-gradient(0deg,rgba(15,43,35,.25),transparent 60%)}.hero-inner{height:100%;display:flex;align-items:center;position:relative}.hero-copy{max-width:780px;padding:60px 0}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--copper);display:block;margin-bottom:22px;text-transform:uppercase}.eyebrow.light{color:#e2a27f}.hero h1{color:#fff;margin-bottom:25px}.hero h1 em,.inner-copy h1 em,.intro-title h2 em,.section-heading h2 em,.feature-copy h2 em,.cta h2 em,.story h2 em,.values h2 em,.service-row h2 em,.process h2 em,.portfolio-intro em,.contact h2 em,.form-card h2 em{font-style:normal;color:#d99a78}.hero-copy>p{color:#e4e9e5;font-size:18px;max-width:590px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:22px;padding:16px 21px;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.09em;border:0;cursor:pointer}.copper{background:var(--copper);color:white;transition:transform .2s,background .2s}.copper:hover{background:#995435;transform:translateY(-3px)}.hero-link{color:#fff;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-link span{color:#e2a27f;margin-left:10px}.hero-side{position:absolute;right:0;bottom:78px;display:flex;align-items:center;gap:14px;color:#fff}.hero-side span{font:800 26px Manrope}.hero-side i{width:58px;height:1px;background:#d99a78}.hero-side small{font-size:8px;letter-spacing:.16em}.hero-foot{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff55;padding:13px 0;font-size:9px;letter-spacing:.16em;color:#e0e6e1}.hero-foot b{color:#d99a78;padding:0 9px}
.intro{padding:120px 0;background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.intro-title h2{font-size:clamp(3rem,5.8vw,5.3rem)}.intro-text .lead{font:600 21px/1.5 Manrope;color:var(--green)}.intro-text p:not(.lead){font-size:15px}.inline-link{display:inline-flex;gap:18px;align-items:center;color:var(--green);text-decoration:none;border-bottom:1px solid var(--copper);padding-bottom:9px;margin-top:12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.inline-link span{color:var(--copper);font-size:16px}
.numbers{background:var(--green);padding:65px 0;color:white}.numbers-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:28px;align-items:center}.numbers h2{font-size:2.4rem;color:#fff;margin:0}.number{border-left:1px solid #ffffff3a;padding-left:28px}.number strong{display:block;color:#e1a17e;font:800 46px Manrope;letter-spacing:-.06em}.number strong span{font-size:25px}.number small{font-size:9px;letter-spacing:.15em;color:#d5dfd8;font-weight:800}.number p{font-size:12px;color:#b8c9be;margin:10px 0 0;max-width:200px}
.services-home{padding:115px 0;background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>p{max-width:370px;margin:0 0 6px;font-size:15px}.service-cards{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.service-card{height:430px;position:relative;overflow:hidden;display:block;background:var(--green);color:white;text-decoration:none}.service-card.tall{height:500px}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,48,39,.88),transparent 75%)}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:saturate(.78)}.service-card:hover img{transform:scale(1.05)}.service-card>div{position:absolute;z-index:2;bottom:26px;left:27px;color:#fff}.service-card small{font-size:9px;color:#e7b195;letter-spacing:.16em;font-weight:800}.service-card h3{font-size:2rem;color:#fff;margin:13px 0 18px}.service-card span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--green)}.feature-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75)}.feature-copy{padding:90px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.feature-copy h2{color:#fff;font-size:clamp(2.6rem,4.4vw,4.3rem)}.feature-copy p{color:#c5d1c9;max-width:470px;font-size:15px}.light-button{border:1px solid #ffffff80;color:#fff;width:max-content;margin-top:18px}
.project-home{padding:115px 0;background:var(--cream)}.project-banner{height:560px;display:block;position:relative;overflow:hidden;background:var(--green);text-decoration:none}.project-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,43,35,.78),transparent 85%)}.project-banner img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.project-banner:hover img{transform:scale(1.04)}.project-banner>div{position:absolute;z-index:2;left:6%;bottom:10%;color:white}.project-banner small{font-size:9px;letter-spacing:.16em;color:#e9b393;font-weight:800}.project-banner h3{font-size:clamp(2.5rem,5vw,4.7rem);color:#fff;margin:17px 0}.project-banner span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.disclaimer,.muted-note{font-size:11px;color:#89938d;margin-top:14px}
.cta{background:#e4e0d5;padding:100px 0;position:relative;overflow:hidden}.cta:after{content:"T";position:absolute;right:4%;bottom:-155px;font:800 380px Manrope;color:#d8d2c4}.cta-in{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.cta h2{font-size:clamp(3rem,6vw,5.5rem);margin:0}
.inner-hero{min-height:540px;background:var(--image) center/cover;position:relative;isolation:isolate;display:flex;align-items:center}.inner-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,43,35,.9),rgba(15,43,35,.55) 60%,rgba(15,43,35,.15))}.inner-copy{padding:85px 0}.crumb{display:block;font-size:9px;color:#d5dfd8;letter-spacing:.17em;margin-bottom:36px}.inner-copy h1{color:#fff;font-size:clamp(3.7rem,7.5vw,7rem);max-width:850px}.inner-copy>p{color:#e0e7e1;font-size:18px;max-width:600px}.story{padding:110px 0 0;background:#fff}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:70px}.story h2{font-size:clamp(3rem,5.5vw,5rem)}.story .lead{font:600 20px/1.5 Manrope;color:var(--green)}.story-grid p:not(.lead){font-size:15px}.story-image{width:100%;height:520px;object-fit:cover;display:block}.values{padding:110px 0;background:var(--cream)}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.value-grid article{background:#fff;padding:30px 25px;min-height:240px;border-top:3px solid var(--copper)}.value-grid b{font:800 13px Manrope;color:var(--copper)}.value-grid h3{margin-top:32px;font-size:1.5rem}.value-grid p{font-size:13px;margin:0}.people{padding:110px 0;background:#fff}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.people-grid img{width:100%;height:340px;object-fit:cover;filter:saturate(.75)}.people-grid h3{font-size:1.3rem;margin:17px 0 4px}.people-grid small{font-size:9px;letter-spacing:.14em;color:var(--copper);font-weight:800}
.service-lead{background:var(--copper);padding:65px 0}.service-lead .eyebrow{color:#f8e8dd}.service-lead .lead{font:600 clamp(1.4rem,2.5vw,2.2rem)/1.45 Manrope;color:#fff;max-width:900px;margin:0}.service-list{padding:65px 0 110px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:55px 0;border-bottom:1px solid var(--line)}.service-row.reverse .service-photo{order:2}.service-photo{height:410px;position:relative}.service-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.service-photo span{position:absolute;left:-16px;bottom:-16px;background:var(--green);color:#fff;padding:15px 22px;font:800 20px Manrope}.service-row>div:last-child>small{font-size:9px;letter-spacing:.17em;color:var(--copper);font-weight:800}.service-row h2{font-size:clamp(2.5rem,4.5vw,4.1rem);margin:17px 0 23px}.service-row p{font-size:15px;max-width:500px}.process{background:var(--green);padding:100px 0;color:#fff}.process h2{color:#fff;margin-bottom:50px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-grid>div{border-top:1px solid #ffffff50;padding-top:20px}.process-grid b{font:800 32px Manrope;color:#dfa07d}.process-grid h3{color:#fff;margin:24px 0 10px}.process-grid p{color:#c1cec5;font-size:13px}
.portfolio-intro{padding:75px 0 45px}.portfolio-intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;align-items:start}.portfolio-intro .lead{font:600 23px/1.45 Manrope;color:var(--green);margin:0}.portfolio-intro .muted-note{grid-column:2;margin:0}.portfolio{padding:20px 0 110px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portfolio-card{height:420px;position:relative;overflow:hidden;background:var(--green)}.portfolio-card.wide{grid-column:1/-1;height:580px}.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,43,35,.88),transparent 70%)}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s;filter:saturate(.8)}.portfolio-card:hover img{transform:scale(1.05)}.portfolio-card>div{position:absolute;z-index:2;left:28px;bottom:27px;color:#fff}.portfolio-card small{font-size:9px;letter-spacing:.16em;color:#e6ae91;font-weight:800}.portfolio-card h2,.portfolio-card h3{color:#fff;margin:12px 0;font-size:clamp(1.7rem,3.5vw,3.4rem)}.portfolio-card span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.contact{padding:105px 0;background:var(--cream)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}.contact h2,.form-card h2{font-size:clamp(2.7rem,4.7vw,4.4rem)}.contact>p{font-size:15px}.detail{padding:16px 0;border-bottom:1px solid #d1d5ce}.detail small{display:block;color:var(--copper);font-size:9px;letter-spacing:.17em;font-weight:800;margin-bottom:5px}.detail a,.detail span{color:var(--green);font:700 15px Manrope;text-decoration:none}.map-box{height:175px;background:linear-gradient(135deg,#d7ddd5,#e9e7de);margin-top:24px;display:grid;place-content:center;text-align:center;font:800 11px Manrope;letter-spacing:.12em;color:var(--green)}.map-box small{font:400 11px 'DM Sans';letter-spacing:0;color:#6b766f}.form-card{background:#fff;padding:42px;box-shadow:0 20px 50px #173c3210}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.fields label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:var(--green)}.fields label.full,.fields .full{grid-column:1/-1}.fields input,.fields select,.fields textarea{padding:14px;border:1px solid #d6ddd5;background:#fbfcfa;font:13px 'DM Sans';color:var(--ink);width:100%}.fields textarea{min-height:130px;resize:vertical}.fields input:focus,.fields select:focus,.fields textarea:focus{outline:1px solid var(--copper);border-color:var(--copper)}.form-note{font-size:11px;color:#89938d;margin-top:10px}
.footer{background:#142e27;color:#c4d0c8;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.1fr;gap:45px;padding-bottom:55px}.footer-logo{width:205px;background:#fff;padding:7px;margin-bottom:18px}.footer p{color:#b4c3b9;font-size:13px;max-width:300px}.footer-note{font-size:9px;color:#d99a78;letter-spacing:.16em;font-weight:800}.footer h4{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:20px}.footer-grid>div>a:not(.footer-link){display:block;color:#c4d0c8;text-decoration:none;font-size:12px;margin:10px 0}.footer-link{display:inline-block;color:#fff;text-decoration:none;border-bottom:1px solid #d99a78;padding-bottom:8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.footer-bottom{border-top:1px solid #ffffff2b;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#94a79a;font-size:10px}.back-top{position:fixed;right:22px;bottom:22px;width:45px;height:45px;border:0;background:var(--copper);color:#fff;font-size:22px;display:none;z-index:60;cursor:pointer}.back-top.show{display:block}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--copper);z-index:100}
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}.hero-copy>*{opacity:0;animation:enter .8s ease forwards}.hero-copy>*:nth-child(1){animation-delay:.1s}.hero-copy>*:nth-child(2){animation-delay:.22s}.hero-copy>*:nth-child(3){animation-delay:.38s}.hero-copy>*:nth-child(4){animation-delay:.52s}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:980px){.nav{gap:17px}.brand img{width:185px}.intro-grid,.story-grid,.contact-grid{gap:50px}.footer-grid{grid-template-columns:1fr 1fr}.numbers-grid{grid-template-columns:1fr 1fr}.numbers-grid>div:first-child{grid-column:1/-1}.number{padding:10px 18px}.service-row{gap:45px}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.topbar{font-size:8px}.topbar-in span:last-child{display:none}.header{height:72px}.brand img{width:175px}.menu{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:15px 22px 24px;box-shadow:0 12px 22px #173c3220;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid var(--line)}.nav a:after{display:none}.nav-button{display:none}.hero{height:auto;min-height:650px;background-position:60% center}.hero-inner{min-height:650px}.hero-overlay{background:linear-gradient(90deg,rgba(15,43,35,.93),rgba(15,43,35,.72))}.hero-copy{padding:75px 0 100px}.hero h1{font-size:clamp(3.5rem,13vw,5rem)}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-side{display:none}.hero-foot{font-size:8px}.intro,.services-home,.project-home,.story,.values,.people,.contact{padding:75px 0}.intro-grid,.story-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.intro-title h2{font-size:3.4rem}.numbers{padding:45px 0}.numbers-grid{gap:18px}.number{padding-left:15px}.number strong{font-size:36px}.number p{font-size:11px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.service-cards{grid-template-columns:1fr}.service-card,.service-card.tall{height:370px}.feature{grid-template-columns:1fr}.feature-image{height:320px}.feature-copy{padding:65px 25px}.project-banner{height:390px}.cta{padding:75px 0}.cta-in{display:block}.cta .button{margin-top:28px}.inner-hero{min-height:480px}.inner-copy{padding:70px 0}.inner-copy h1{font-size:clamp(3.4rem,12vw,5.3rem)}.story{padding-bottom:0}.story-grid{padding-bottom:40px}.story-image{height:330px}.values,.people{padding:75px 0}.value-grid{grid-template-columns:1fr 1fr}.people-grid{grid-template-columns:1fr;gap:30px}.people-grid img{height:340px}.service-lead{padding:50px 0}.service-list{padding:30px 0 70px}.service-row,.service-row.reverse{grid-template-columns:1fr;gap:28px;padding:38px 0}.service-row.reverse .service-photo{order:0}.service-photo{height:300px}.process{padding:75px 0}.process-grid{grid-template-columns:1fr 1fr;gap:28px}.portfolio-intro-grid{grid-template-columns:1fr;gap:15px}.portfolio-intro .muted-note{grid-column:auto}.portfolio{padding-bottom:75px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card,.portfolio-card.wide{grid-column:auto;height:380px}.contact{padding:75px 0}.form-card{padding:25px}.fields{grid-template-columns:1fr}.fields label.full,.fields .full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}}
@media(max-width:420px){.value-grid,.process-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}.number small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy>*{opacity:1;animation:none}.reveal{transition:none}}

/* TYPE SCALE + BRAND ASSET UPDATE */
.brand img{width:250px}
.footer-logo{width:225px}
body{font-size:17px;line-height:1.75}
.topbar{font-size:10px}
.nav a{font-size:14px}
.nav-button{font-size:12px}
.eyebrow{font-size:11px}
.hero-copy>p,.inner-copy>p{font-size:19px;line-height:1.75}
.hero-link,.button,.inline-link,.footer-link{font-size:11px}
.hero-foot{font-size:10px}
.hero-side small,.number small,.service-card small,.service-card span,
.project-banner small,.project-banner span,.crumb,.story-grid .muted-note,
.value-grid b,.people-grid small,.service-row>div:last-child>small,
.process-grid p,.portfolio-card small,.portfolio-card span,
.detail small,.footer h4,.footer-note{font-size:10px}
.intro-text p:not(.lead),.story-grid p:not(.lead),.service-row p,
.contact>p,.feature-copy p{font-size:16px;line-height:1.8}
.number p,.value-grid p,.footer p,.footer-grid>div>a:not(.footer-link){font-size:14px;line-height:1.7}
.disclaimer,.muted-note,.form-note{font-size:12px}
.fields label{font-size:12px}
.fields input,.fields select,.fields textarea{font-size:15px;padding:15px}
.detail a,.detail span{font-size:16px}
@media(max-width:720px){
 .brand img{width:205px}
 .footer-logo{width:210px}
 body{font-size:16px}
 .hero-copy>p,.inner-copy>p{font-size:17px}
 .intro-text p:not(.lead),.story-grid p:not(.lead),.service-row p,.contact>p,.feature-copy p{font-size:15px}
 .number p,.value-grid p,.footer p,.footer-grid>div>a:not(.footer-link){font-size:13px}
 .nav a{font-size:15px}
}
