:root{--forest:#075B35;--green:#13823B;--lime:#8BE348;--text:#17372D;--pale:#F3F8F1;--muted:#66736B;--border:#DCE7DE}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,sans-serif;color:var(--text);overflow-x:hidden}
h1,h2,h3,.brand{font-family:Poppins,sans-serif}
h2{font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1rem}
p{color:var(--muted)}
a:focus-visible,button:focus-visible,.form-control:focus,.form-select:focus{outline:3px solid var(--lime);outline-offset:2px;box-shadow:none}
.site-nav{background:#fff;border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand small{display:block;font-family:Inter;font-size:.68rem;color:var(--muted);font-weight:500}
.b1{color:var(--forest)}.b2{color:var(--green)}
.nav-link{color:var(--text);font-weight:500}.nav-link:hover{color:var(--green)}
.btn{border-radius:50rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(7,91,53,.2)}
.btn-brand{background:var(--green);color:#fff}.btn-brand:hover{background:var(--forest);color:#fff}
.btn-lime{background:var(--lime);color:var(--forest)}.btn-lime:hover{background:#9bee5c;color:var(--forest)}
.text-lime{color:var(--lime)}
.hero{min-height:82vh;position:relative;background:var(--forest)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::before,.cta::before{content:"";position:absolute;inset:0;background:rgba(7,91,53,.78);z-index:1}
.hero .container,.cta .container{z-index:2}
.section{padding:5rem 0}.bg-pale{background:var(--pale)}.bg-forest{background:var(--forest)}
.eyebrow{color:var(--green);font-weight:600;font-size:.9rem;margin-bottom:.4rem}
.img-cover,.card-x img{object-fit:cover}
.shadow-soft{box-shadow:0 10px 30px rgba(7,91,53,.12)}
.card-x{background:#fff;border:1px solid var(--border);border-radius:1rem;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card-x:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(7,91,53,.14)}
.card-x img{width:100%;height:160px}.card-x p{font-size:.92rem;margin:0}
.feat li{display:flex;gap:1rem;margin-bottom:1.1rem}
.feat i,.svc i,.contact-card i{color:var(--green)}
.feat i{font-size:1.5rem;flex:none}.feat b{display:block}.feat div{color:var(--muted);font-size:.95rem}
.svc{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1.25rem;height:100%;text-align:center}
.svc i{font-size:2rem}.svc h3{font-size:1rem;margin:.6rem 0 0;font-weight:600}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.steps li{position:relative;text-align:center}
.steps span{display:inline-flex;width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;font:600 1.2rem Poppins;align-items:center;justify-content:center;position:relative;z-index:1}
.steps li:not(:last-child)::after{content:"";position:absolute;top:27px;left:calc(50% + 34px);width:calc(100% - 68px + 1.5rem);border-top:2px dashed var(--green);opacity:.5}
.steps h3{font-size:1.05rem;margin:1rem 0 .4rem}.steps p{font-size:.9rem}
.mv{background:#fff;border:1px solid var(--border);border-radius:1rem;padding:1.5rem;margin-bottom:1rem}
.mv h3{font-size:1.15rem}.mv i{color:var(--lime)}.mv:not(.bg-forest) i{color:var(--green)}.mv p{margin:0}
.mv.bg-forest .values{color:#fff}
.values{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding-left:1.1rem;margin:0}
.cta{position:relative;padding:5rem 0;min-height:480px}
.glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:1rem;padding:1.25rem;height:100%}
.cta p,.glass p{color:#e6f2e8;margin:0 0 .8rem;font-size:.95rem}.glass p{margin:0}
.contact-card{background:var(--pale);border:1px solid var(--border);border-radius:1rem;padding:2rem}
.contact-card i{margin-right:.4rem}
mark{background:#fff3c4;padding:0 .3rem;border-radius:4px}
.footer{background:var(--forest);color:#cfe3d6;padding:4rem 0 1.5rem}
.footer p,.footer li{color:#cfe3d6}.footer a{color:#cfe3d6;text-decoration:none}.footer a:hover{color:var(--lime)}
.footer hr{border-color:rgba(255,255,255,.2)}
.hero p.lead{color:#fff}
@media(max-width:991px){
 .steps{grid-template-columns:1fr;gap:0}
 .steps li{padding:0 0 1.8rem 4.5rem;text-align:left}
 .steps span{position:absolute;left:0;top:0}
 .steps li:not(:last-child)::after{top:54px;left:27px;width:0;height:calc(100% - 54px);border-top:0;border-left:2px dashed var(--green)}
 .section{padding:3.5rem 0}
}
@media(max-width:575px){.values{grid-template-columns:1fr}.card-x img{height:140px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
