/* Locally hosted variable typography; no third-party font request. */
@font-face{font-family:Manrope;src:url('assets/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#fafbf8;--ink:#102d36;--muted:#56676d;--line:#dde4df;--forest:#173f36;--max:1360px}
body{font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6}
h1,h2,h3{font-weight:600;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(40px,5.4vw,78px);line-height:1.08}
h2{font-size:clamp(29px,3.2vw,46px);line-height:1.17}
h3{font-size:23px;letter-spacing:-.025em;line-height:1.35}
p{font-size:16px;line-height:1.8}em{color:#3e743e}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:750;line-height:1.8}
.ui-icon{display:inline-block;vertical-align:-.18em;flex:0 0 20px;width:20px;height:20px;color:inherit;pointer-events:none}
.topline{background:var(--forest);padding-block:9px;font-size:10px}
.header{height:88px;background:rgba(250,251,248,.98)}.header nav{gap:24px;font-size:12px;font-weight:600}.header .brand img{width:200px}
.nav-contact{display:inline-flex;align-items:center;gap:16px;padding:14px 18px;border-radius:4px}.mega-panel{top:88px}.mega-intro h2{font-size:29px}
.button{border-radius:4px;min-height:52px;padding:16px 22px;font-size:13px;font-weight:650;gap:24px;box-shadow:none}.button:hover{transform:none}.button.dark:hover{background:#245344}
.text-link{font-size:13px;gap:12px;line-height:1.6;padding-bottom:6px;text-decoration:none}.text-link .ui-icon{width:17px;height:17px}
.section{padding-top:88px;padding-bottom:88px}.page-head{padding-top:72px;padding-bottom:40px}.page-head>p:last-child{max-width:760px;font-size:18px}.page-head .eyebrow a{text-decoration:none}
.hero{gap:52px;padding-top:44px;padding-bottom:56px}.hero h1{font-size:clamp(44px,5.6vw,80px)}.hero-visual{min-height:530px;border-radius:6px}.hero-description{font-size:17px}.visual-label{background:rgba(16,45,54,.88);padding:24px 30px;min-width:78%}.visual-label strong{font-weight:500;letter-spacing:-.03em}.hero-location{font-size:10px}
.promise-strip{background:#edf2eb;border-block:1px solid var(--line)}.promise-strip>div{font-size:20px}.b2b-intro{padding-top:64px;padding-bottom:64px}.b2b-intro h2{font-size:36px}
.home-category-grid{gap:24px;background:transparent;border:0;grid-template-columns:repeat(3,minmax(0,1fr))}.home-category-grid>a{border:1px solid var(--line);background:white;border-radius:6px;overflow:hidden;padding:24px;display:flex;flex-direction:column;transition:box-shadow .2s,border-color .2s}.home-category-grid>a:hover{background:white;border-color:#95ae99;box-shadow:0 12px 30px #102d360b}.home-category-grid .category-card-photo{width:calc(100% + 48px);max-width:none;margin:-24px -24px 22px;height:190px;object-fit:cover}.home-category-grid h3{font-size:23px;margin:12px 0}.home-category-grid p{font-size:14px}.home-category-grid .card-link{margin-top:auto;padding-top:18px}.card-link{font-size:12px}.home-category-grid>a>span:not(.card-link){font-size:11px;color:#487747}
.detail-card{border-radius:6px;padding:28px;transition:border-color .2s,box-shadow .2s}.detail-card h3{font-size:25px}.detail-card h2{font-size:29px}.detail-card p{font-size:15px}.service-card{overflow:hidden}.service-card-image{border-radius:4px;overflow:hidden}.detail-grid{gap:28px}.detail-layout{gap:64px}.brief-card{background:#edf2eb;border:1px solid #d9e3d7;border-top:3px solid #699c55;border-radius:5px;padding:28px}.brief-card h3{font-size:26px}.brief-card .button{gap:15px;width:100%}
.service-hero{gap:48px;padding-top:56px;padding-bottom:52px}.service-hero h1{font-size:clamp(38px,4.5vw,65px);line-height:1.12;overflow-wrap:normal;hyphens:auto}.service-hero-intro{font-size:17px!important;line-height:1.8!important}.service-hero-photo{border-radius:6px;overflow:hidden}.service-hero-note{font-size:11px}.detail-actions{gap:12px}.detail-actions .button{font-size:12px;gap:16px}.service-hero .eyebrow{letter-spacing:.08em;font-size:9px}
.scope-list li{padding-left:22px;font-size:15px}.scope-list li:before{content:'';top:26px;left:0;width:6px;height:6px;border:1px solid #58834c;border-radius:1px}.scope-list li:after{content:none}
.approach{padding-block:80px}.flow-grid{gap:28px}.flow-grid article{border-top:1px solid #77968d;padding-top:22px}.flow-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #789388;border-radius:50%;font-weight:600;color:inherit;font-size:12px}.flow-grid h3{font-size:21px}.flow-grid p{font-size:14px}.flow-grid article>span .ui-icon{display:none}
.faq-list{max-width:none;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding-inline:22px;transition:background .18s}.faq-list details[open]{background:#f0f4ed}.faq-list summary{list-style:none;position:relative;padding:24px 44px 24px 0;font-size:17px;font-weight:600;line-height:1.6;letter-spacing:-.02em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:2px;top:22px;font-size:23px;font-weight:400;color:#427248}.faq-list details[open]>summary:after{content:'-'}.faq-list p{font-size:15px;max-width:850px;padding-bottom:22px;margin-bottom:0}.faq-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:64px;align-items:start}.faq-section h2{font-size:34px}
.catalogue-hero h1{font-size:clamp(44px,5.5vw,76px)}.catalogue-hero-image{border-radius:6px}.catalog-feature{border-radius:6px;overflow:hidden}.catalog-feature:nth-child(even){background:#f1f5ee}.catalog-content{padding:34px}.catalog-feature .catalog-title h2{font-size:30px}.catalog-feature .catalog-links a{font-size:14px;padding-block:15px}.catalogue-finder{border-radius:6px}.filter{border-radius:4px;font-size:12px}.finder input{border-radius:4px}
.category-photo img,.gallery-grid img{border-radius:5px}.callout{border:1px solid #d8e2d4;border-radius:6px;padding:60px 32px;background:#edf3e9}.callout h2{font-size:36px}.gallery-grid h3{font-size:20px}.footer{background:var(--ink)}
.request-panel{border-radius:6px;border:1px solid var(--line);box-shadow:0 12px 42px #102d3605}.request-panel legend{font-size:25px}.request-panel input,.request-panel select,.request-panel textarea{border-radius:4px;font-size:16px}.form-progress{gap:20px}.form-progress span{padding-bottom:8px}.form-progress .current{border-bottom:2px solid #467e35}.contact-large{font-size:clamp(17px,2vw,24px)!important;overflow-wrap:anywhere}.contact-details h2{font-size:32px}.contact-details p{font-size:15px}
@media(min-width:1101px){.service-hero-copy{min-width:0}.service-hero-photo img{min-height:460px}.home-category-grid>a:last-child{grid-column:span 3;display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.home-category-grid>a:last-child .category-card-photo{grid-row:1/5;grid-column:1;width:100%;height:100%;min-height:190px;margin:0}.home-category-grid>a:last-child>span,.home-category-grid>a:last-child>h3,.home-category-grid>a:last-child>p{grid-column:2}}
@media(max-width:1100px){.header nav{gap:15px}.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-section{gap:32px}.service-hero{gap:30px}.detail-layout{gap:32px}}
@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.topline{padding:8px 22px}.header{height:76px;padding-inline:22px}.header .brand img{width:174px}.menu-toggle{font-size:13px;gap:12px;align-items:center}.header nav{font-size:15px}.mega-panel{top:auto}.hero{gap:28px;padding-top:28px;padding-bottom:38px}.hero h1{font-size:48px}.hero-description{font-size:16px}.hero-visual{min-height:350px}.hero-location{margin-top:28px}.hero-actions{gap:18px}.hero-actions .button{width:100%}.visual-label{padding:20px 24px}.section{padding-top:56px;padding-bottom:56px}.page-head{padding-top:42px;padding-bottom:30px}.page-head h1{font-size:42px}.page-head>p:last-child{font-size:16px}.b2b-intro{padding-top:42px;padding-bottom:42px}.b2b-intro h2{font-size:30px}.home-category-grid{gap:18px;grid-template-columns:1fr}.home-category-grid h3{font-size:24px}.home-category-grid .category-card-photo{height:210px}.home-category-grid>a{padding:24px}.service-hero{padding-top:32px;padding-bottom:32px;gap:28px}.service-hero h1{font-size:40px;letter-spacing:-.04em}.service-hero-intro{font-size:16px!important}.service-hero .eyebrow{font-size:9px;line-height:1.9}.service-hero-photo img{min-height:0;aspect-ratio:4/3}.detail-actions{display:grid;grid-template-columns:1fr}.detail-actions .button{width:100%;font-size:13px}.detail-layout{gap:32px}.detail-grid{gap:20px}.brief-card{padding:24px}.approach{padding-block:54px}.flow-grid{grid-template-columns:1fr;gap:28px}.flow-grid article{display:grid;grid-template-columns:38px 1fr;gap:10px 18px}.flow-grid h3{margin:6px 0 0}.flow-grid p{grid-column:2;margin:0}.faq-section{grid-template-columns:1fr;gap:18px}.faq-section h2{font-size:30px}.faq-list details{padding-inline:12px}.faq-list summary{font-size:16px;padding-block:20px}.faq-list summary:after{top:17px}.faq-list p{font-size:14px}.catalogue-hero h1{font-size:46px}.catalog-content{padding:26px 22px}.catalog-feature .catalog-title h2{font-size:27px}.callout{margin-left:22px;margin-right:22px;padding:38px 24px}.callout h2{font-size:29px}.request-panel{padding:24px}.form-progress{gap:12px;font-size:10px}.form-buttons{flex-wrap:wrap}.footer-bottom{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Approved forest cube / black wordmark identity */
.brand img{width:264px;height:auto;max-width:100%}.footer-logo{height:auto;background:#fff;padding:10px;border-radius:2px;box-sizing:content-box}@media(max-width:600px){.brand img{width:224px;max-width:62vw}}

.service-film{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center;padding-top:45px;padding-bottom:65px}.service-film figure{margin:0}.service-film video{display:block;width:100%;aspect-ratio:16/9;background:#173f36;border-radius:4px}.service-film figcaption{font-size:11px;color:#52666b;margin-top:9px}.service-film h2{font-size:30px;line-height:1.2}.service-film p{max-width:35em}@media(max-width:760px){.service-film{grid-template-columns:1fr;gap:20px}.service-film h2{font-size:26px}}
