:root{--green:#97c02e;--ink:#242820;--forest:#25351e;--line:#d5e1c0;--wash:#f4f8ed;--link:#426215}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:var(--link);font-weight:650;text-underline-offset:.22em}a:focus-visible{outline:3px solid #578000;outline-offset:4px}img{max-width:100%;display:block}figure,p{margin:0 0 1rem}h1,h2,h3{font-family:Georgia,serif;line-height:1.08;margin:0 0 1rem;letter-spacing:-.025em}h1{font-size:clamp(2.65rem,6vw,5.25rem);max-width:11ch}h2{font-size:clamp(1.85rem,4vw,3.3rem)}h3{font-size:1.55rem}.wrap{width:min(1160px,calc(100% - 3rem));margin-inline:auto}.section{padding-block:clamp(3rem,6vw,5.4rem)}header{border-top:4px solid var(--green);border-bottom:1px solid var(--line);background:#fff}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem}.brand img{width:155px;height:auto}nav,.langs,.actions{display:flex;gap:clamp(.65rem,2vw,1.5rem);align-items:center;flex-wrap:wrap}nav a,.langs a{text-decoration:none;color:var(--ink);font-size:.94rem}nav a:hover,.langs a:hover{text-decoration:underline}.langs{gap:.65rem}.langs a[aria-current],nav a[aria-current]{color:var(--link);font-weight:800;text-decoration:underline;text-decoration-color:var(--green)}.hero,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,6vw,5rem);align-items:center}.hero{padding-block:clamp(3rem,7vw,6.5rem) 2rem}.hero figure{margin:0}.hero img,.features img,.gallery img{width:100%;border:1px solid var(--green);border-radius:4px;object-fit:cover}.hero figure img{aspect-ratio:5/4}.lead{font-size:clamp(1.1rem,2vw,1.25rem);max-width:38ch}.byline{margin-top:1.6rem;font-size:.94rem}.btn{display:inline-block;background:var(--green);color:#1f2816;border-radius:3px;padding:.66rem 1rem;text-decoration:none}.btn:hover{background:#b0d64d}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.three article{border-top:1px solid var(--line);padding-top:1.25rem}.three h2{font-size:1.7rem}.wash{background:var(--wash)}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem 2.6rem;margin:2rem 0}.features img{aspect-ratio:16/8;margin-bottom:1rem}.dark,footer{background:var(--forest);color:#fff}.dark a,footer a{color:#d9f495}footer .btn{color:#1f2816}footer{padding-block:3.5rem}address{font-style:normal}.gallery,.clients{display:grid;gap:1rem}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{aspect-ratio:4/3;object-fit:contain;background:#fff}.split>div>img{max-width:215px;margin-bottom:1rem}.clients{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));margin-top:1.5rem}.clients a{display:grid;place-items:center;background:#fff;border:1px solid var(--line);padding:1rem;min-height:90px}.clients img{max-height:55px;object-fit:contain}.top{position:fixed;bottom:1rem;right:1rem;background:#fff;border:1px solid var(--green);padding:.3rem .8rem;border-radius:4px;text-decoration:none}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.5rem}.skip:focus{top:.5rem}
@media(max-width:750px){.header{flex-wrap:wrap}nav{order:3;width:100%}.hero,.split,.three,.features{grid-template-columns:1fr}.wrap{width:calc(100% - 2rem)}.hero figure img{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.subpage h1{max-width:none}.subpage p,.subpage .contact-form{max-width:760px}.subpage h2{font-size:1.65rem;margin-top:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form .full{grid-column:1/-1}.contact-form label{display:grid;gap:.35rem;font-weight:650}.contact-form input,.contact-form textarea{width:100%;border:1px solid #9ba98c;border-radius:4px;background:#fff;padding:.65rem;font:inherit;color:var(--ink)}.contact-form button{border:0;font:inherit;font-weight:650;cursor:pointer}.contact-form button:disabled{opacity:.6}.form-status{margin-top:.75rem}@media(max-width:600px){.contact-form{grid-template-columns:1fr}}
.flag{display:inline-flex;vertical-align:middle}.flag svg{display:block;border:1px solid #0002}.cookie-banner[hidden]{display:none}.cookie-banner{position:fixed;z-index:3;bottom:1rem;left:1rem;right:1rem;margin:auto;max-width:950px;background:#fff;border:1px solid var(--green);box-shadow:0 8px 30px #2223;border-radius:6px;padding:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.cookie-banner h2,#cookie-dialog h2{font-size:1.5rem;margin:0 0 .5rem}.cookie-banner p{margin:0}.cookie-actions{display:flex;gap:.55rem;flex-wrap:wrap}.cookie-actions button{background:var(--green);border:1px solid var(--green);color:var(--ink);padding:.55rem .8rem;font:inherit;font-weight:650;border-radius:4px;cursor:pointer}.cookie-actions .cookie-secondary{background:#fff}#cookie-dialog{max-width:min(520px,calc(100% - 2rem));border:1px solid var(--green);border-radius:6px;padding:1.3rem;color:var(--ink)}#cookie-dialog::backdrop{background:#14211499}.cookie-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.cookie-close{background:#fff;border:1px solid var(--line);font-size:1.2rem;cursor:pointer}.cookie-category{background:var(--wash);padding:.8rem;margin-bottom:1rem}.cookie-required{display:block}.cookie-footer-button{background:transparent;color:#d9f495;border:0;padding:0;text-decoration:underline;font:inherit;cursor:pointer}@media(max-width:640px){.cookie-banner{display:block}.cookie-actions{margin-top:.6rem}}
.use-case-grid{margin-top:1.6rem;gap:1.25rem}.use-case-grid article{padding:1rem 1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:#fff}.use-case-art{display:grid;place-items:center;min-height:105px;margin-bottom:1.1rem;border-radius:6px;background:linear-gradient(145deg,#f3f8e9,#e5efd8)}.use-case-art svg{width:min(75%,175px);height:auto}.use-case-grid article p{margin-bottom:0}.use-case-grid h3{color:var(--forest)}
.inner-banner{position:relative;isolation:isolate;overflow:hidden;background:#31513b;border-bottom:1px solid var(--line)}
.inner-banner img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center;animation:inner-reveal .9s ease-out both}
.inner-banner-content{min-height:300px;display:flex;align-items:center;padding-block:2rem}
.inner-banner h1{max-width:100%;margin:0;padding:.22em .4em;background:rgb(27 60 34 / 88%);color:white;border-radius:2px;font-size:clamp(2.1rem,5vw,3.6rem);animation:inner-title .65s ease-out both}
.feature-rows{margin:2rem 0}
.feature-rows article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(1rem,4vw,3rem);padding:1.6rem 0;border-top:1px solid var(--line)}
.feature-rows img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);border-radius:4px}
.feature-rows p{margin-bottom:0}
@keyframes inner-reveal{from{opacity:.25;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes inner-title{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.inner-banner-content{min-height:220px}.feature-rows article{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.inner-banner img,.inner-banner h1{animation:none}}
.inner-banner--operations img{filter:hue-rotate(14deg)}.inner-banner--contact img{filter:saturate(.75)}.inner-banner--policy img{filter:saturate(.6) brightness(.94)}.inner-intro{padding-top:2.5rem}.inner-intro .lead{max-width:65ch}
.inner-banner--operations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(1rem,3vw,3rem);padding:clamp(1rem,3vw,2.5rem) max(1rem,calc((100% - 1160px)/2));background:linear-gradient(110deg,#1c352b,#63885d)}
.inner-banner--operations .inner-banner-content{width:100%;min-height:0;margin:0;padding:0;grid-area:1/1}
.inner-banner--operations img{position:static;z-index:auto;display:block;grid-area:1/2;width:100%;height:auto;aspect-ratio:736/352;object-fit:contain;animation-name:operations-reveal;filter:none}
@keyframes operations-reveal{from{opacity:.25}to{opacity:1}}
@media(max-width:700px){.inner-banner--operations{grid-template-columns:minmax(0,1fr)}.inner-banner--operations img{grid-area:2/1}}
.inner-banner--operations{display:block;padding:0;background:#e4efdd}
.inner-banner--operations .inner-banner-content{width:min(1160px,calc(100% - 3rem));min-height:300px;margin-inline:auto;padding-block:2rem}
.inner-banner--operations img{position:absolute;z-index:-1;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;animation-name:inner-reveal}
.inner-banner--contact img{filter:none}
.inner-banner h1{background:rgb(27 60 34 / 82%)}
@media(max-width:650px){.inner-banner--operations .inner-banner-content{width:calc(100% - 2rem);min-height:220px}.inner-banner img{object-position:64% center}.inner-banner h1{background:rgb(27 60 34 / 92%)}}
