:root{
  --color-background:#fff;--color-surface:#f2f5ef;--color-text:#192b22;--color-forest:#173c2c;--color-accent:#b6e883;--color-button-text:#183323;--color-link:#255a38;--color-hero-text:#fff;
  --hero-overlay:.48;--hero-focus-x:50%;--hero-focus-y:50%;--hero-zoom:1.035;--advert-overlay:.58;--ease:cubic-bezier(.22,1,.36,1);
  font-family:Arial,Helvetica,sans-serif;color:var(--color-text);background:var(--color-background);line-height:1.65;scroll-behavior:smooth;scroll-padding-top:110px;
}
*,*::before,*::after{box-sizing:border-box}body{margin:0}h1,h2,h3,h4,p{margin:0}a{color:var(--color-link);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{border:0}img,video{display:block;max-width:100%}img{height:auto}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #79a450;outline-offset:5px}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;text-wrap:balance}h2{font-size:clamp(2rem,4.2vw,4.1rem);font-weight:600}h3{font-size:1.55rem}p{overflow-wrap:anywhere}a{overflow-wrap:anywhere}ul{padding:0;margin:0;list-style:none}.container{width:min(1220px,calc(100% - 96px));margin-inline:auto}.section{padding-block:110px}.section-title{margin-top:18px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:48px}.section-aside{max-width:340px;font-size:.92rem;color:#526158}.eyebrow{font-size:.68rem;line-height:1.5;letter-spacing:.16em;font-weight:700;text-transform:uppercase;color:#3e6646}.micro{font-size:.72rem;line-height:1.6;color:#5e7063}.mono{font-family:Consolas,monospace;font-size:.8rem}.lead{font-size:1.5rem;letter-spacing:-.02em;line-height:1.4}.lead-small{font-size:1.05rem;line-height:1.5;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:14px 24px;background:var(--color-accent);color:var(--color-button-text);font-size:.78rem;font-weight:700;line-height:1.5;border:1px solid transparent;border-radius:2px;transition:transform .22s,filter .22s}.button:hover{filter:brightness(1.06);transform:translateY(-2px)}.button-small{min-height:44px;padding:10px 17px;font-size:.73rem}.button-outline{background:transparent;border-color:#ffffff65;color:var(--color-hero-text)}.button-dark{background:var(--color-forest);color:#fff}.button-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.center{justify-content:center}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.78rem;font-weight:700;gap:12px;color:var(--color-link);background:none;padding:8px 0;border-bottom:1px solid #9bb59e}.text-link:hover{border-bottom-color:currentColor}.skip-link{position:fixed;z-index:300;top:12px;left:12px;background:white;color:#173c2c;padding:12px;transform:translateY(-170%)}.skip-link:focus{transform:none}
/* One shared navigation tree for desktop and mobile. */
.site-header{height:90px;position:fixed;z-index:100;inset:0 0 auto;background:#fffffff7;border-bottom:1px solid #dce5dc;backdrop-filter:blur(16px);transition:transform .28s var(--ease)}.header-inner{height:100%;width:min(1370px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:inline-block;flex-shrink:0}.brand img{width:207px;height:50px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:36px}.main-nav ul{display:flex;gap:27px;align-items:center}.main-nav li>a{font-size:.75rem;font-weight:600;color:var(--color-text);display:block;padding:12px 0}.main-nav a[aria-current]{color:#42672f}.menu-toggle{display:none;width:48px;height:48px;padding:12px;background:transparent;color:var(--color-text)}.menu-toggle span{height:2px;background:currentColor;display:block;margin:7px 0;transition:transform .2s}.site-header.is-scrolling{transform:translateY(-102%)}
/* Headline is mathematically centred in the entire hero, not a split layout. */
.hero{position:relative;isolation:isolate;min-height:760px;min-height:max(760px,92svh);overflow:hidden;background:#142f24;color:var(--color-hero-text)}.hero-media,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-media{z-index:-3;overflow:hidden}.hero-media>img,.hero-media>video{width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus-x) var(--hero-focus-y);position:absolute;inset:0}.hero-image{animation:hero-zoom 12s ease-out both}.hero-video{opacity:0;pointer-events:none}.hero[data-video-playing='true'] .hero-video{opacity:1}.hero-shade{z-index:-2;background:linear-gradient(0deg,#092218ad,transparent 45%,#09221835),rgba(3,20,12,var(--hero-overlay))}.hero-grid{z-index:-1;background:linear-gradient(90deg,#ffffff04 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px);background-size:90px 90px;pointer-events:none}.hero-layout{min-height:inherit;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);text-align:center;padding-block:145px;position:relative}.hero-before{align-self:end;padding-bottom:30px}.hero-before .eyebrow{color:#d6e9cc;font-size:.7rem;letter-spacing:.2em}.hero-title{font-size:clamp(2.7rem,6.8vw,6.6rem);line-height:1.03;max-width:1000px;justify-self:center;font-weight:600;letter-spacing:-.065em}.hero-after{align-self:start;padding-top:26px}.hero-description{max-width:650px;margin:auto;font-size:1rem;line-height:1.8;color:inherit;opacity:.92}.hero .button-row{margin-top:28px}.hero-bottom{position:absolute;bottom:28px;inset-inline:0;display:flex;gap:20px;align-items:center;justify-content:space-between}.hero-bottom p{font-size:.59rem;letter-spacing:.1em;color:#e1e9e0}.hero-scroll{font-size:.72rem;color:inherit}.motion-button{background:#102b23bd;border:1px solid #ffffff50;color:white;padding:10px 16px;border-radius:2px;font-size:.7rem;min-height:44px}.hero-status{position:absolute;bottom:76px;left:24px;right:24px;text-align:center;font-size:.75rem}.hero.is-paused .hero-image{animation-play-state:paused}@keyframes hero-zoom{from{transform:scale(1)}to{transform:scale(var(--hero-zoom))}}
.expertise-strip{background:var(--color-forest);color:#fff;padding:24px 0}.expertise-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.expertise-strip p{font-size:.64rem;letter-spacing:.13em}.expertise-strip span{color:var(--color-accent)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:90px}.editorial-copy p,.introduction .split>div:last-child>p+p{margin-top:22px}.introduction .text-link{margin-top:25px}.solutions{background:var(--color-surface)}.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.solution-card{background:var(--color-background);border:1px solid #dce5da;min-width:0}.solution-image{position:relative;overflow:hidden}.solution-image img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:transform .8s var(--ease)}.solution-card:hover .solution-image img{transform:scale(1.035)}.card-number{position:absolute;top:15px;left:18px;background:#ffffffe6;padding:4px 8px;font:11px Consolas,monospace}.solution-copy{padding:30px}.solution-copy h3{margin:16px 0 22px;font-size:1.65rem}.solution-copy>p:not(.eyebrow){font-size:.86rem;color:#516356}.solution-copy .text-link{margin-top:24px}.service-details{margin-top:20px;border-top:1px solid #dce4d9;padding-top:14px}.service-details summary{cursor:pointer;font-size:.75rem;font-weight:700;display:flex;justify-content:space-between;list-style:none;min-height:40px;align-items:center}.service-details summary::-webkit-details-marker{display:none}.service-details[open] summary span{transform:rotate(45deg)}.service-details h4{font-size:.87rem;margin:16px 0 12px}.service-details p{font-size:.83rem;line-height:1.8;color:#526357}.competency-section{background:var(--color-background)}.competencies-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.competency{padding-top:24px;border-top:1px solid #bdceb8}.competency .mono{color:#64815b;margin-bottom:25px}.competency h3{margin-bottom:20px}.competency .lead-small{margin-bottom:15px}.competency p:last-child{font-size:.86rem;color:#57695d}.process-section{background:var(--color-forest);color:#fff}.process-section .eyebrow{color:var(--color-accent)}.process-section .section-aside{color:#d1dfd0}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}.step-num{font:40px Consolas,monospace;color:var(--color-accent);border-top:1px solid #ffffff35;padding-top:24px;margin-bottom:28px}.steps-grid h3{font-size:1.25rem;margin-bottom:18px}.steps-grid article>p:last-child{font-size:.84rem;color:#d9e2d7}.gallery-section{background:var(--color-surface)}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-buttons button{background:transparent;border:1px solid #b9c7b8;border-radius:3px;padding:10px 16px;min-height:44px;font-size:.73rem;color:var(--color-text)}.filter-buttons button[aria-pressed='true']{background:var(--color-forest);color:#fff;border-color:transparent}.gallery-controls{display:flex;gap:8px}.arrow-button{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid #b1c2ae;background:#ffffff;color:var(--color-text);font-size:1.15rem;border-radius:2px}.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:20px}.gallery-card{min-width:0;flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:white}.gallery-image{position:relative;overflow:hidden}.gallery-image img{width:100%;aspect-ratio:1.45;object-fit:cover;transform:translateY(var(--drift,0px)) scale(1.045)}.image-open{position:absolute;right:12px;bottom:12px;background:var(--color-accent);color:var(--color-button-text);font-size:20px;width:44px;height:44px}.gallery-caption{padding:22px}.gallery-caption h3{font-size:1.25rem;margin-top:12px}.editor-meta{display:none}.video-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.video-grid>div>p:not(.eyebrow){margin-top:24px}.video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#162d24}.video-card h3{font-size:1.25rem;margin-top:22px}.video-card p{margin-top:12px}.contact-section{background:var(--color-surface)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid>div>p:not(.eyebrow){margin-top:26px}.contact-card{border-top:1px solid #c6d3c0;margin-top:30px;padding-top:25px}.contact-card p{font-size:.85rem;margin-bottom:12px}.inquiry{padding:35px;background:white;border:1px solid #dbe3d6}.inquiry>h3{margin-bottom:15px}.inquiry label{display:block;font-size:.8rem;margin-top:20px;margin-bottom:8px}.inquiry select,.inquiry textarea{width:100%;max-width:100%;padding:12px;background:#fff;border:1px solid #adbda7;color:var(--color-text);font-size:.9rem}.inquiry textarea{resize:vertical}.inquiry .button{margin-top:22px}.inquiry #inquiry-result{padding-top:15px}
.site-footer{padding:60px 0 25px;background:#102b21;color:#edf3ea}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:70px}.footer-grid .brand{margin-bottom:22px}.footer-grid a:not(.brand){display:table;color:#e3ebdd;font-size:.78rem;line-height:2.8}.footer-grid p:not(.footer-label){font-size:.83rem;color:#c6d4c0}.footer-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:16px}.footer-bottom{border-top:1px solid #ffffff20;margin-top:55px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:.6rem;color:#c1d1ba}.site-status{position:fixed;bottom:12px;left:12px;max-width:560px;z-index:120;padding:12px 16px;background:#fff5d7;border:1px solid #8d6b19;color:#34270a;font-size:.75rem}.noscript{padding:20px;background:#fff4d2;color:#47320d}.legal-section,.source-page{padding-top:160px;min-height:70vh}.prose{max-width:850px}.prose h1{font-size:clamp(2.4rem,5vw,4rem);margin:25px 0 45px}.prose h2{font-size:1.5rem;margin:36px 0 18px}.prose p{line-height:1.9}.prose .text-link{margin-top:35px}
@media(max-width:1150px){.header-inner{width:calc(100% - 44px)}.menu-toggle{display:block;z-index:3}.main-nav{display:none}.main-nav.is-open{display:flex;position:fixed;inset:90px 0 auto;background:#fff;height:calc(100dvh - 90px);padding:30px max(24px,6vw) 70px;overflow-y:auto;flex-direction:column;align-items:stretch;gap:30px}.main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:4px}.main-nav li>a{font-size:clamp(1.3rem,4vw,2.5rem);padding:15px 0;border-bottom:1px solid #d8e3d3}.nav-cta{align-self:flex-start}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.split{gap:45px}.solution-copy{padding:23px}.competencies-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.video-grid,.contact-grid{gap:40px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.section{padding-block:70px}.section-heading{display:block;margin-bottom:30px}.section-aside{margin-top:24px;max-width:100%}.section-heading>.button{margin-top:25px}.split,.contact-grid,.video-grid{grid-template-columns:1fr;gap:30px}.solutions-grid{grid-template-columns:1fr}.solution-card{display:grid;grid-template-columns:.9fr 1.1fr}.solution-image img{height:100%;aspect-ratio:auto;min-height:240px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.gallery-card{flex-basis:calc((100% - 24px)/2)}.gallery-toolbar{align-items:end}.footer-grid{grid-template-columns:1.4fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.legal-section,.source-page{padding-top:130px}.hero{min-height:780px}.hero-layout{padding-block:150px}.hero-description{font-size:.93rem}.expertise-strip .container{flex-wrap:wrap;justify-content:center;gap:12px}.expertise-strip p{font-size:.54rem}.hero-bottom{bottom:20px}.hero-scroll{display:none}}
@media(max-width:480px){.header-inner{width:calc(100% - 36px)}.brand img{width:175px;height:48px}.hero{min-height:790px}.hero-layout{padding-block:160px}.hero-title{font-size:clamp(2.35rem,10.5vw,3.7rem);letter-spacing:-.055em}.hero-before{padding-bottom:25px}.hero-after{padding-top:20px}.hero-description br{display:none}.hero .button-row{gap:10px;flex-direction:column}.hero .button{min-width:210px}.hero-bottom{display:block}.hero-bottom .motion-button{margin-top:10px}.expertise-strip span{display:none}.expertise-strip .container{flex-direction:column}.section{padding-block:60px}.solution-card{display:block}.solution-image img{height:auto;aspect-ratio:1.6;min-height:0}.competencies-grid{grid-template-columns:1fr;gap:30px}.steps-grid{gap:22px}.steps-grid article>p:last-child{font-size:.78rem}.gallery-toolbar{flex-direction:column;align-items:start}.gallery-card{flex-basis:87%}.inquiry{padding:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-bottom{flex-direction:column;gap:10px}h2{font-size:2.1rem}.video-grid{gap:30px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.gallery-image img{transform:none}.reveal{opacity:1!important;transform:none!important}}
html[data-motion='off']{scroll-behavior:auto}html[data-motion='off'] .hero-image{animation:none}html[data-motion='off'] .gallery-image img{transform:none}
/* Long CMS titles must not push the page beyond narrow viewports. */
h1,h2,h3,h4{overflow-wrap:anywhere;hyphens:auto}
/* Readable navigation fallback when scripting is disabled or fails to load. */
html:not(.js) .hero-image{animation:none}
@media(max-width:1150px){html:not(.js) .site-header{position:static;height:auto}html:not(.js) .header-inner{flex-wrap:wrap;padding-block:18px;gap:16px}html:not(.js) .main-nav{display:flex;flex-direction:column;align-items:start;gap:12px;width:100%}html:not(.js) .main-nav ul{display:flex;flex-wrap:wrap;gap:8px 20px}html:not(.js) .menu-toggle{display:none}}
