
: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}
}

/* V3 DEPLOYMENT / RESPONSIVE SAFETY PATCH */
html,body{width:100%;min-width:320px;margin:0}
body{font-size:17px;line-height:1.75}
img{max-width:100%;height:auto}
.wrap{width:min(1280px,calc(100% - 64px));margin-left:auto;margin-right:auto}
.header,.topbar,.hero,.intro,.numbers,.services-home,.feature,.project-home,.cta,.inner-hero,.story,.values,.people,.service-lead,.service-list,.process,.portfolio-intro,.portfolio,.contact,.footer{width:100%;max-width:100%}
.brand img{display:block;width:250px;height:auto;max-width:100%}
.footer-logo{display:block;width:225px;height:auto;max-width:100%}
.hero{background-image:var(--image);background-position:center;background-size:cover}
.inner-hero{background-image:var(--image);background-position:center;background-size:cover}
.hero-overlay{z-index:0;pointer-events:none}
.hero-inner,.hero-foot{z-index:1}
.hero-inner{position:relative}
.service-card img,.feature-image img,.project-banner img,.story-image,.service-photo img,.people-grid img,.portfolio-card img{display:block;width:100%;height:100%;object-fit:cover}
.service-card,.portfolio-card,.project-banner{min-width:0}
.nav a,.footer a{color:inherit}
@media(max-width:720px){
 .wrap{width:calc(100% - 36px)}
 .hero{min-height:650px;width:100%}
 .hero-inner{min-height:650px}
 .service-card,.service-card.tall{width:100%;height:370px}
 .feature{display:grid;grid-template-columns:minmax(0,1fr)}
 .feature-image{height:320px;min-width:0}
 .project-banner{width:100%;height:390px}
 .portfolio-grid,.service-cards{grid-template-columns:minmax(0,1fr)}
 .portfolio-card,.portfolio-card.wide{grid-column:auto;width:100%}
 .brand img{width:205px}
}

/* V4: MAP, TYPOGRAPHY, MOTION AND FOOTER CREDIT */
body{font-size:18px;line-height:1.78}
p{font-size:inherit}
.topbar{font-size:10px}
.nav a{font-size:14px}
.hero-copy>p,.inner-copy>p{font-size:20px;line-height:1.8}
.intro-text p:not(.lead),.story-grid p:not(.lead),.service-row p,.feature-copy p,.contact>p{font-size:17px;line-height:1.85}
.number p,.value-grid p,.footer p,.footer-grid>div>a:not(.footer-link){font-size:14px;line-height:1.8}
.footer-bottom{padding-right:64px;min-height:42px}
.footer-bottom>span:last-child{position:relative;z-index:2}
.webzero-credit{color:#e2a27f;text-decoration:none;border-bottom:1px solid #e2a27f;padding-bottom:2px;font-weight:700}
.webzero-credit:hover{color:#fff;border-color:#fff}
.map-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:30px}
.map-heading .eyebrow{margin:0}
.map-caption{font-size:11px;color:#7a857e}
.google-map{width:100%;height:250px;overflow:hidden;background:#dfe4df;border:1px solid #d2d9d1}
.google-map iframe{display:block;width:100%;height:100%;border:0}
.map-directions{display:inline-flex;gap:12px;margin-top:10px;color:var(--green);font-size:11px;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--copper);padding-bottom:6px}
.map-directions span{color:var(--copper)}
.back-top{right:22px;bottom:68px;box-shadow:0 5px 18px #102b231f}
.back-top.show{display:block}
.service-card img,.project-banner img,.portfolio-card img,.service-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.service-card:hover img,.project-banner:hover img,.portfolio-card:hover img,.service-row:hover .service-photo img{transform:scale(1.035);filter:saturate(1)}
.button,.nav-button,.inline-link,.footer-link{transition:transform .22s ease,background .22s ease,color .22s ease}
.button:hover,.nav-button:hover{transform:translateY(-3px)}
/* Only hide reveal elements after JS has successfully installed the observer. */
.motion-ready .reveal{opacity:0;transform:translateY(24px)}
.motion-ready .reveal.in-view{opacity:1;transform:none}
@media(max-width:720px){
 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,.feature-copy p,.contact>p{font-size:15px}
 .map-heading{align-items:flex-start;flex-direction:column}
 .google-map{height:220px}
 .footer-bottom{padding-right:0;padding-bottom:12px}
 .back-top{right:16px;bottom:78px}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready .reveal{opacity:1;transform:none}
 .service-card img,.project-banner img,.portfolio-card img,.service-photo img,.button,.nav-button{transition:none}
}

/* V5 FOOTER BRANDING AND COPYRIGHT READABILITY */
.footer-logo{
 display:block;
 width:250px;
 max-width:100%;
 height:auto;
 padding:0;
 margin:0 0 22px;
 background:transparent;
}
.footer-bottom{
 min-height:56px;
 padding:20px 74px 12px 0;
 align-items:center;
 color:#c1cec5;
 font-size:13px;
 line-height:1.6;
}
.footer-bottom>span:first-child{font-size:13px;line-height:1.6}
.footer-bottom>span:last-child{
 position:relative;
 z-index:5;
 font-size:13px;
 white-space:nowrap;
}
.webzero-credit{
 display:inline-block;
 color:#e2a27f!important;
 text-decoration:none;
 border-bottom:1px solid #e2a27f;
 padding:0 0 3px;
 margin-left:3px;
 font-size:13px;
 font-weight:800;
 letter-spacing:.02em;
}
.webzero-credit:hover{color:#fff!important;border-color:#fff}
@media(max-width:720px){
 .footer-logo{width:225px}
 .footer-bottom{padding:18px 0 14px;gap:12px;align-items:flex-start}
 .footer-bottom>span:first-child,.footer-bottom>span:last-child{font-size:12px}
 .webzero-credit{font-size:12px}
}

/* V6 — ABOUT IMAGE SCALE + HOME HERO BOTTOM STRIP */
.story-image{
 display:block;
 width:100%;
 height:clamp(280px,34vw,430px);
 max-height:430px;
 object-fit:cover;
 object-position:center 48%;
}
.people-grid{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:24px;
 align-items:start;
}
.people-grid article{min-width:0;max-width:100%;overflow:hidden}
.people-grid img{
 display:block;
 width:100%;
 height:clamp(210px,23vw,290px);
 max-height:290px;
 object-fit:cover;
 object-position:center 35%;
}
.people-grid h3{font-size:1.2rem;line-height:1.25;margin-top:15px}
.people-grid small{display:block;line-height:1.5}
.people{padding-top:90px;padding-bottom:95px}
.hero{height:clamp(620px,calc(100vh - 118px),780px);min-height:620px}
.hero-inner{height:100%;min-height:0;align-items:center;padding-bottom:65px}
.hero-copy{max-width:720px}
.hero-side{bottom:76px;z-index:2}
.hero-foot{
 min-height:42px;
 display:flex;
 align-items:center;
 z-index:3;
 background:rgba(13,39,32,.38);
 border-top:1px solid #ffffff40;
}
.hero-foot .wrap{font-size:10px;line-height:1.4}
@media(max-width:720px){
 .story-image{height:260px;max-height:260px}
 .people{padding-top:65px;padding-bottom:70px}
 .people-grid{grid-template-columns:1fr 1fr;gap:16px}
 .people-grid img{height:220px;max-height:220px}
 .people-grid h3{font-size:1.05rem}
 .hero{height:auto;min-height:650px}
 .hero-inner{min-height:650px;padding-bottom:65px}
 .hero-side{display:none}
 .hero-foot{min-height:40px}
 .hero-foot .wrap{font-size:8px}
}
@media(max-width:430px){
 .people-grid{grid-template-columns:1fr}
 .people-grid img{height:250px;max-height:250px}
}

/* V7 CONVERSION FEATURES / SOUTH AFRICAN CONTRACTOR DEMO */
.numbers{padding:72px 0}
.numbers-grid{grid-template-columns:1.15fr repeat(3,1fr);gap:24px}
.numbers-intro h2{color:#fff;font-size:clamp(2rem,3.2vw,3rem);margin-bottom:10px}
.numbers-note{font-size:11px!important;color:#aebfb5!important;max-width:260px}
.number strong{font-size:clamp(2.5rem,4vw,3.6rem)}
.number p{font-size:13px;line-height:1.6}
.credentials{background:#f4f0e8;padding:42px 0 38px}
.credentials-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px}
.credentials-heading .eyebrow{margin:0}
.credentials-heading p{font-size:14px;color:#54635b;margin:0}
.credential-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:22px}
.credential-grid>div{background:#fff;border:1px solid #dfe2dc;padding:18px 15px;min-height:92px;display:flex;flex-direction:column;justify-content:center}
.credential-grid b{font:800 17px Manrope;color:var(--green);letter-spacing:.03em}
.credential-grid span{font-size:11px;color:#7b867f;margin-top:5px}
.credential-note{font-size:10px;color:#8a948e;margin:14px 0 0}
.whatsapp-float{position:fixed;right:22px;bottom:92px;z-index:70;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#168b54;color:#fff;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 8px 25px #102b2330;transition:transform .2s,box-shadow .2s}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 12px 30px #102b2340}
.wa-icon{font-size:18px;line-height:1}
.mobile-action-bar{display:none}
.form-status{padding:13px 15px;margin-top:15px;background:#f3f1eb;border-left:3px solid var(--copper);font-size:13px;line-height:1.6;color:#52635a}
.form-status.is-success{background:#e8f4ec;border-color:#168b54;color:#145b38}
.form-status.is-error{background:#fff0ed;border-color:#c64e35;color:#8b2f20}
.submit-spinner{display:none;width:15px;height:15px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.consent-field{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;line-height:1.5}
.consent-field input{width:17px!important;height:17px;margin:2px 0 0;accent-color:var(--green)}
.process-grid h3{font-size:1.4rem}
.service-faq{padding:100px 0;background:var(--cream)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.faq-layout h2{font-size:clamp(2.4rem,4vw,3.8rem)}
.faq-layout>div:first-child>p{font-size:15px;max-width:360px}
.faq-list details{border-top:1px solid #cbd2ca;padding:20px 0}
.faq-list details:last-child{border-bottom:1px solid #cbd2ca}
.faq-list summary{cursor:pointer;list-style:none;font:700 16px Manrope;color:var(--green);display:flex;justify-content:space-between;gap:20px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-size:23px;color:var(--copper);line-height:1}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{font-size:14px;line-height:1.75;padding:14px 25px 0 0;margin:0}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){
 .numbers-grid{grid-template-columns:1fr 1fr}
 .numbers-intro{grid-column:1/-1}
 .credential-grid{grid-template-columns:repeat(3,1fr)}
 .faq-layout{gap:40px}
}
@media(max-width:720px){
 .numbers{padding:55px 0}
 .numbers-grid{grid-template-columns:1fr 1fr;gap:22px}
 .numbers-intro{grid-column:1/-1}
 .number{padding-left:14px}
 .credentials{padding:35px 0}
 .credentials-heading{display:block}
 .credentials-heading p{margin-top:8px}
 .credential-grid{grid-template-columns:repeat(2,1fr);gap:8px}
 .credential-grid>div{min-height:80px;padding:13px}
 .whatsapp-float{right:14px;bottom:84px;padding:11px 14px}
 .mobile-action-bar{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;box-shadow:0 -6px 25px #102b231a;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:7px}
 .mobile-action-bar a{display:flex;align-items:center;justify-content:center;min-height:44px;background:#f0f1ec;color:var(--green);text-decoration:none;font-size:12px;font-weight:800;border-radius:3px}
 .mobile-action-bar a:nth-child(2){background:#168b54;color:#fff}
 .mobile-action-bar a:nth-child(3){background:var(--copper);color:#fff}
 .back-top{bottom:142px}
 .whatsapp-float{bottom:142px}
 .footer{padding-bottom:95px}
 .service-faq{padding:70px 0}
 .faq-layout{grid-template-columns:1fr;gap:25px}
 .faq-list summary{font-size:15px}
}

/* V8 — TYPE SCALE, NAVIGATION AND LOCAL IMAGE PRESENTATION */
.nav a{font-size:15px}
.nav-button{font-size:13px}
.hero h1{font-size:clamp(2.7rem,4.6vw,4.6rem);line-height:.98;letter-spacing:-.045em;max-width:720px}
.inner-hero h1{font-size:clamp(2.65rem,4.4vw,4.4rem);line-height:1.02;letter-spacing:-.04em}
.section-heading h2,.intro-title h2,.feature-copy h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.06;letter-spacing:-.035em}
.project-banner h2{font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.05}
.hero{background-position:center 52%;background-size:cover}
.story-image,.people-grid img,.service-card img,.portfolio-card img,.project-banner img{object-fit:cover}
@media(min-width:1000px){
 .hero h1{font-size:clamp(3.2rem,4vw,4.15rem)}
 .inner-hero h1{font-size:clamp(3rem,3.8vw,4rem)}
}
@media(max-width:720px){
 .nav a{font-size:16px}
 .nav-button{font-size:13px}
 .hero h1{font-size:clamp(2.45rem,9vw,3.5rem)}
 .inner-hero h1{font-size:clamp(2.35rem,8.5vw,3.2rem)}
 .section-heading h2,.intro-title h2,.feature-copy h2{font-size:clamp(1.9rem,7vw,2.5rem)}
}
