:root{--g1:#0F3C13;--g2:#2A6121;--g3:#478229;--g4:#68A32F;--g5:#8BC239;--g6:#B5DB5D;--ink:#1C2727;--mist:#EAEEE7;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:400 16px/1.65 Poppins,system-ui,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto}a{color:var(--g2)}h1,h2,h3{line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.02em}
h1{font-size:clamp(2.2rem,5.5vw,4rem);font-weight:700}h2{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:600}h3{font-size:1.1rem;font-weight:600}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}section{padding:84px 0}.alt{background:var(--mist)}
.lead{font-size:1.1rem;max-width:56ch;color:#3b4747}
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--mist)}
.bar{display:flex;align-items:center;gap:24px;height:68px}.brand img{height:52px;display:block}
#nav{display:flex;gap:26px;margin-left:auto}#nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}#nav a:hover{color:var(--g3)}
#menu{display:none;margin-left:auto;background:none;border:1px solid var(--g4);border-radius:8px;padding:6px 12px;font:inherit;color:var(--g2)}
.btn{display:inline-block;background:var(--g2);color:#fff;text-decoration:none;padding:13px 26px;border-radius:999px;border:0;font:600 1rem Poppins;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--g1)}.btn.sm{padding:9px 18px;font-size:.9rem}.btn.ghost{background:none;color:var(--g2);border:1.5px solid var(--g4)}.btn.ghost:hover{background:var(--mist)}
:focus-visible{outline:3px solid var(--g5);outline-offset:2px}
.hero{padding:64px 0 80px;background:radial-gradient(900px 400px at 85% 0,var(--mist),#fff)}
.hgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.finder{background:#fff;border:1px solid var(--mist);border-radius:20px;padding:24px;box-shadow:0 18px 50px rgba(15,60,19,.1)}
.finder h3{margin-bottom:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.tabs button{font:500 .9rem Poppins;border:1.5px solid var(--mist);background:#fff;border-radius:999px;padding:7px 16px;cursor:pointer}
.tabs button[aria-pressed=true]{background:var(--g2);border-color:var(--g2);color:#fff}
.finder input{width:100%;padding:11px 14px;border:1.5px solid var(--mist);border-radius:10px;font:inherit;margin-bottom:12px}
#list{list-style:none;margin:0;padding:0;max-height:250px;overflow:auto}#list li{display:flex;justify-content:space-between;gap:10px;padding:10px 4px;border-bottom:1px solid var(--mist);font-size:.95rem}
#list a{font-weight:500;white-space:nowrap}.facts{display:flex;gap:36px;flex-wrap:wrap;margin-top:40px}.facts b{display:block;font-size:1.7rem;color:var(--g2);line-height:1.2}.facts span{font-size:.85rem;color:#556}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 28px;margin-top:36px}.feat div{border-top:3px solid var(--g5);padding-top:14px}.feat p{margin:0;font-size:.93rem;color:#44504f}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}.cat{background:#fff;border-radius:var(--r);padding:26px;border:1px solid #dfe5da}.cat p{font-size:.92rem;color:#44504f}.cat a{font-weight:600;text-decoration:none}
.story{display:grid;grid-template-columns:1fr 1fr;gap:56px}.tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--g5)}.tl li{margin-bottom:22px;position:relative}.tl li:before{content:"";position:absolute;left:-29px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--g3)}.tl b{color:var(--g2)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}.mv div{background:var(--g1);color:#e8f2e0;padding:32px;border-radius:var(--r)}.mv h3{color:#fff}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}form .full{grid-column:1/-1}label{font-size:.85rem;font-weight:500;display:block;margin-bottom:4px}
input,select,textarea{width:100%;padding:12px 14px;border:1.5px solid #cfd8c9;border-radius:10px;font:inherit;background:#fff}textarea{min-height:90px}.hp{position:absolute;left:-9999px}
footer{background:var(--g1);color:#cfe0c6;padding:56px 0 0}footer a{color:#fff;display:block;margin:4px 0}.fgrid{display:grid;grid-template-columns:1.3fr .7fr 1.2fr 1.2fr;gap:32px}footer h4{color:var(--g6);margin:0 0 8px}.flogo{height:64px;background:#fff;border-radius:10px;padding:4px}.legal{font-size:.78rem;padding:28px 20px;margin-top:40px;border-top:1px solid #1f5426;color:#9db995}
.dock{display:none}
@media(max-width:900px){.hgrid,.story,.mv,.fgrid{grid-template-columns:1fr}.feat,.cats{grid-template-columns:1fr 1fr}section{padding:60px 0}#menu{display:block}.btn.wa{display:none}
#nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--mist);gap:14px}#nav.open{display:flex}
.dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--g1)}.dock a{color:#fff;text-align:center;padding:14px;text-decoration:none;font-weight:600;border-right:1px solid #1f5426}body{padding-bottom:52px}}
@media(max-width:560px){.feat,.cats,form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.filters{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:28px 0 8px}.filters input{max-width:300px;padding:11px 14px;border:1.5px solid #cfd8c9;border-radius:10px;font:inherit}
.catblock{margin-top:40px}.gh{margin:26px 0 6px;color:var(--g2)}.crow{list-style:none;margin:0;padding:0}.crow li{display:grid;grid-template-columns:1fr auto 110px;gap:16px;padding:12px 4px;border-bottom:1px solid var(--mist);align-items:center}
.crow a{font-weight:500;text-decoration:none;color:var(--ink)}.crow a:hover{color:var(--g3)}.crow span{font-size:.88rem;color:#556}.crow .fee{color:var(--g2);font-weight:500;text-align:right}[hidden]{display:none!important}
.chead{background:var(--mist);padding:56px 0}.crumb{font-size:.88rem;margin:0 0 14px}.cfacts{display:flex;flex-wrap:wrap;gap:28px 40px;margin-top:28px}.cfacts b{display:block;color:var(--g2)}.cfacts span{font-size:.85rem;color:#556}
.cbody{display:grid;grid-template-columns:1.6fr 1fr;gap:48px}.cbody h2{font-size:1.5rem;margin-top:1.6em}.cbody h2:first-child{margin-top:0}details{border-bottom:1px solid var(--mist);padding:12px 0}summary{cursor:pointer;font-weight:500}details p{margin:8px 0 0;font-size:.93rem;color:#44504f}
.box{background:var(--mist);border-radius:var(--r);padding:22px;margin-bottom:20px}.box ul{margin:0;padding-left:18px}.box p{font-size:.93rem}
@media(max-width:900px){.cbody{grid-template-columns:1fr}.crow li{grid-template-columns:1fr auto}.crow .fee{display:none}}
.seo{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:36px}.seo a{display:inline;font-size:.85rem;color:#b5cfa9}
.prose{max-width:760px}.prose h2{font-size:1.4rem;margin-top:1.8em}.note{font-size:.85rem;color:#667}.empty{background:var(--mist);border-radius:var(--r);padding:28px;margin:20px 0}.empty p{margin:0 0 12px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--mist);font-size:.93rem}th{color:var(--g2)}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding:0 0 22px 52px}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--g2);color:#fff;display:grid;place-items:center;font-weight:600}.steps b{display:block}
.box label{margin-top:10px}

.hmedia{position:relative}.hmedia img{width:100%;height:auto;border-radius:28px 120px 28px 28px;display:block;aspect-ratio:6/5;object-fit:cover;box-shadow:0 24px 60px rgba(15,60,19,.18)}
.badge{position:absolute;left:-18px;bottom:28px;background:#fff;border-radius:16px;padding:12px 18px;box-shadow:0 12px 30px rgba(15,60,19,.18)}.badge b{display:block;color:var(--g2);font-size:1.3rem;line-height:1.2}.badge span{font-size:.8rem;color:#556}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.ph{width:100%;height:auto;border-radius:var(--r);display:block;object-fit:cover}.feat.two{grid-template-columns:1fr 1fr}
.cat img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:14px;display:block}
.chgrid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}.chgrid>img{width:100%;height:auto;border-radius:var(--r);aspect-ratio:4/3;object-fit:cover}
.banner{width:100%;height:auto;aspect-ratio:16/6;object-fit:cover;border-radius:var(--r);margin:0 0 28px;display:block}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:20px 0}.sgrid figure{margin:0}.sgrid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);display:block}.sgrid figcaption{font-size:.92rem;padding-top:10px}.sgrid a{text-decoration:none;color:var(--ink)}
@media(max-width:900px){.split,.chgrid{grid-template-columns:1fr}.badge{left:12px}.sgrid{grid-template-columns:1fr 1fr}.hmedia{order:-1}}
@media(max-width:560px){.sgrid,.feat.two{grid-template-columns:1fr}}

/* entrance animations */
html.js .rv{opacity:0;transform:translateY(30px);transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
html.js .rv.rv-z{transform:scale(.93)}html.js .rv.rv-l{transform:translateX(-34px)}
html.js .rv.in{opacity:1;transform:none}
.top{transition:box-shadow .3s}.top.scrolled{box-shadow:0 6px 24px rgba(15,60,19,.1)}
.badge{animation:floaty 4s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-8px)}}
input,select,textarea{transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--g4);box-shadow:0 0 0 4px rgba(139,194,57,.25)}
.sgrid figure{overflow:hidden;border-radius:var(--r)}
/* hover animations */
@media(hover:hover){
.btn{transition:background .2s,transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(42,97,33,.28)}.btn:active{transform:none;box-shadow:none}.btn.ghost:hover{box-shadow:0 8px 18px rgba(42,97,33,.15)}
#nav a{position:relative}#nav a:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:var(--g4);transform:scaleX(0);transform-origin:left;transition:transform .3s}#nav a:hover:after{transform:scaleX(1)}
.brand img{transition:transform .3s}.brand:hover img{transform:scale(1.06)}
.cat{transition:transform .3s,box-shadow .3s,border-color .3s}.cat:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(15,60,19,.14);border-color:var(--g5)}
.cat img{transition:transform .5s}.cat:hover img{transform:scale(1.04)}
.cat a:after{content:" \2192";display:inline-block;transition:transform .25s}.cat a:hover:after{transform:translateX(5px)}
.feat>div{transition:transform .3s,border-color .3s}.feat>div:hover{transform:translateY(-5px);border-color:var(--g2)}
.mv>div{transition:transform .3s,box-shadow .3s}.mv>div:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(15,60,19,.25)}
.box{transition:transform .3s,box-shadow .3s}.box:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,60,19,.12)}
.finder{transition:box-shadow .3s}.finder:hover{box-shadow:0 24px 60px rgba(15,60,19,.16)}
.ph,.banner,.chgrid>img,.hmedia img{transition:transform .5s,box-shadow .5s}.ph:hover,.banner:hover,.chgrid>img:hover,.hmedia:hover img{transform:scale(1.02);box-shadow:0 18px 40px rgba(15,60,19,.18)}
.sgrid img{transition:transform .5s}.sgrid figure:hover img{transform:scale(1.06)}
.gal img{transition:transform .4s,box-shadow .4s}.gal img:hover{transform:scale(1.05);box-shadow:0 14px 30px rgba(15,60,19,.2);position:relative;z-index:2}
.crow li{transition:background .2s,padding .25s}.crow li:hover{background:var(--mist);padding-left:14px}
tbody tr{transition:background .2s}tbody tr:hover{background:var(--mist)}
details{transition:background .2s}details:hover{background:rgba(234,238,231,.55)}summary{transition:color .2s}summary:hover{color:var(--g3)}
.tabs button{transition:border-color .2s,transform .2s,background .2s}.tabs button:hover{border-color:var(--g4);transform:translateY(-2px)}
#list li{transition:background .2s,padding .2s}#list li:hover{background:var(--mist);padding-left:10px}
.tl li:before{transition:transform .3s}.tl li:hover:before{transform:scale(1.5)}
.steps li:before{transition:transform .3s}.steps li:hover:before{transform:scale(1.15) rotate(-6deg)}
.cfacts>div,.facts>div{transition:transform .3s}.cfacts>div:hover,.facts>div:hover{transform:translateY(-4px)}
footer a{transition:transform .2s,color .2s}footer a:hover{transform:translateX(4px);color:var(--g6)}
.dock a{transition:background .2s}.dock a:hover{background:var(--g2)}
}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none}.badge{animation:none}}
