@font-face{font-family:Pyrosa;src:url('/assets/fonts/site.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#152b23;--muted:#53655c;--accent:#c2e891;--soft:#f2f4ef;--line:#dce2d8;--paper:#fff;--radius:18px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pyrosa,Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #376931;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;font-weight:600}h1{font-size:clamp(42px,4.9vw,69px)}h2{font-size:clamp(32px,3.4vw,46px)}h3{font-size:25px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.skip{position:absolute;left:16px;top:-90px;background:var(--ink);color:white;padding:12px 18px;z-index:30}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:30px}.logo{width:205px;height:auto}.header-inner nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav-link{padding:8px 0}.nav-link:hover,.nav-link.current{color:#417042}.language-switch{display:flex;border:1px solid var(--line);border-radius:30px;padding:4px;gap:2px;font-size:12px}.language-switch a{padding:4px 9px;border-radius:20px}.language-switch .active{background:var(--ink);color:white}.header-cta{padding:12px 17px;border:1px solid var(--ink);border-radius:6px}.header-cta:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:64px;padding-block:72px 74px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:700;color:#4a6352;margin-bottom:25px}.hero h1 span{color:#51804c}.lead{font-size:19px;line-height:1.65;max-width:600px;margin-top:25px}.button-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--ink);color:white;padding:14px 22px;border-radius:6px;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#32513f}.quiet-link,.text-link{font-size:14px;font-weight:600}.quiet-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-foot{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:40px;padding-top:21px;font-size:12px;color:var(--muted);font-weight:600}.hero-visual{position:relative;min-height:490px}.hero-image{width:100%;height:490px;object-fit:cover;border-radius:var(--radius)}.visual-note{position:absolute;bottom:32px;left:-25px;padding:16px 25px;background:white;box-shadow:0 9px 35px #132b2317;border-radius:8px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:12px}.status-dot{display:inline-block;width:8px;height:8px;background:#6a9c50;border-radius:50%}.visual-coordinate{position:absolute;top:22px;right:22px;font-size:10px;letter-spacing:.14em;color:white;background:#132b2380;padding:7px 12px;border-radius:20px}.section{padding-block:85px}.section-soft{background:var(--soft)}.section-heading{max-width:740px;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:15px}.section-heading p:last-child{margin-top:20px;max-width:660px;font-size:17px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.solution-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-image{display:block;overflow:hidden}.card-image img{width:100%;height:214px;object-fit:cover;transition:transform .4s}.card-image:hover img{transform:scale(1.025)}.card-body{padding:27px}.card-index{color:#627661;font-size:11px;letter-spacing:.1em;display:block;margin-bottom:15px}.card-body p{margin:17px 0 24px;font-size:15px;min-height:75px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.work-grid article,.principle-grid article,.benefit-grid article{border-top:1px solid #bcc8ba;padding-top:24px}.number{font-size:12px;color:#5f795a;display:block;margin-bottom:30px;letter-spacing:.12em}.work-grid h3{max-width:280px}.work-grid p,.principle-grid p,.benefit-grid p{margin-top:20px;font-size:15px}.why-section{background:#f9faf7}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.split>img{width:100%;height:380px;object-fit:cover}.rounded{border-radius:var(--radius)}.split .section-heading{margin-bottom:24px}.check-list{padding:0;list-style:none;margin:24px 0 30px}.check-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:15px}.check-list li:before{content:'↗';color:#5a7a46;margin-right:16px}.cta{background:var(--ink);color:white;padding:64px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:65px}.cta-inner>div{max-width:730px}.cta .eyebrow{color:var(--accent);margin-bottom:17px}.cta h2{font-size:clamp(32px,3vw,43px)}.cta p:not(.eyebrow){color:#c9d4c8;margin-top:18px;max-width:650px}.button-light{background:var(--accent);border-color:var(--accent);color:var(--ink);white-space:nowrap}.button-light:hover{background:#d9efbd}.site-footer{padding:67px 0 0;background:#fff}.footer-grid{display:grid;grid-template-columns:1.35fr 1.2fr 1.2fr .75fr;gap:45px}.footer-wordmark{font-weight:700;font-size:23px;letter-spacing:-.025em}.footer-grid p{font-size:13px;max-width:230px;margin-top:18px}.footer-grid h2{font-size:13px;letter-spacing:0;margin-bottom:22px}.footer-grid>div>a:not(.footer-wordmark){display:block;color:var(--muted);font-size:13px;margin-bottom:10px;overflow-wrap:anywhere}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-block:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.inner-hero{padding-block:66px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}.inner-image{width:100%;height:350px;object-fit:cover;border-radius:var(--radius)}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 65px}.detail-extra{object-fit:contain!important;border-radius:var(--radius)}.split>div>p:not(.eyebrow){margin-top:22px}.split>div>.button{margin-top:28px}.related{padding-block:0 65px}.contact-hero{padding-block:80px;max-width:1000px}.contact-hero h1{max-width:830px}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:85px}.contact-main{max-width:700px}.contact-main>p{margin-top:22px}.contact-main dl{margin-block:32px}.contact-main dt{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:20px}.contact-main dd{margin:8px 0;font-size:clamp(18px,2.1vw,26px);overflow-wrap:anywhere}.contact-address{border-left:1px solid var(--line);padding-left:60px}.contact-address h3{font-size:19px;margin-bottom:13px}.contact-address p{font-size:15px;margin-bottom:16px}.contact-address h3:not(:first-child){margin-top:32px}.social{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.social a:hover{text-decoration:underline}
@media(min-width:1400px){.hero{padding-block:90px}.hero-visual,.hero-image{height:540px}}
@media(max-width:1100px){.header-inner nav{gap:18px}.logo{width:180px}.header-cta{font-size:12px}.hero{gap:35px}.hero h1{font-size:52px}.hero-foot{gap:13px}.cta-inner{gap:35px}.footer-grid{gap:27px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:80px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}.header-inner nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #00000008;align-items:flex-start;flex-direction:column;gap:20px}.header-inner nav.is-open{display:flex}.hero{gap:32px;padding-block:48px}.hero h1{font-size:43px}.hero-image,.hero-visual{height:420px;min-height:420px}.lead{font-size:17px}.hero-foot{font-size:11px}.visual-note{left:16px;bottom:20px;padding:13px 17px}.section{padding-block:64px}.solution-grid{gap:16px}.card-body{padding:21px}.card-body h3{font-size:22px}.card-body p{min-height:100px}.work-grid{gap:27px}.split{gap:40px}.cta-inner{align-items:flex-start;flex-direction:column;gap:28px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:35px 65px}.inner-hero{gap:35px}.inner-image{height:300px}.contact-grid{gap:40px}.contact-address{padding-left:35px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.logo{width:170px}.hero{grid-template-columns:1fr;gap:38px;padding-block:38px 45px}.hero h1{font-size:clamp(37px,9.5vw,53px)}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:19px}.hero .lead{margin-top:20px;font-size:17px}.button-row{gap:18px;margin-top:25px}.button{font-size:13px;padding:13px 18px}.quiet-link{font-size:13px}.hero-foot{margin-top:28px;padding-top:17px}.hero-visual,.hero-image{height:335px;min-height:335px}.section{padding-block:48px}.section-heading{margin-bottom:30px}.section-heading p:last-child{font-size:16px}.solution-grid,.work-grid,.split,.principle-grid,.benefit-grid,.contact-grid,.inner-hero{grid-template-columns:1fr}.solution-grid{gap:23px}.card-image img{height:220px}.card-body{padding:25px}.card-body p{min-height:0}.work-grid{gap:30px}.number{margin-bottom:18px}.split{gap:35px}.split>img{height:300px}.cta{padding-block:45px}.cta-inner{gap:26px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 23px}.footer-grid>div:first-child{grid-column:1 / -1}.footer-grid p{max-width:300px}.footer-bottom{flex-direction:column;gap:7px}.inner-hero{padding-block:40px;gap:30px}.inner-hero h1{font-size:42px}.inner-image{height:270px}.principle-grid,.benefit-grid{gap:32px}.contact-hero{padding-block:45px}.contact-hero h1{font-size:43px}.contact-address{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.contact-grid{gap:35px}.social{gap:14px}.site-footer{padding-top:46px}.related{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
