:root{--accent:#1f8a48;--accent-dark:#16683b;--muted:#6b6b6b;--bg1:#f3fbf6;--bg2:#eaf8ee;--maxw:1200px} *{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial; margin:0;color:#0f1720;background:linear-gradient(180deg,var(--bg1),var(--bg2));-webkit-font-smoothing:antialiased} .container{max-width:var(--maxw);margin:0 auto;padding:1rem} .header{background:rgba(255,255,255,0.9);backdrop-filter:blur(6px);border-bottom:1px solid rgba(15,42,31,0.05);position:sticky;top:0;z-index:40} .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0} .brand img{height:56px} .nav{display:flex;gap:1rem;align-items:center} .nav a{color:#163624;text-decoration:none;font-weight:600;padding:.5rem;border-radius:8px} .nav a:hover{background:rgba(31,138,72,0.08)} .cta{background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:0 6px 18px rgba(31,138,72,0.14);transform:translateZ(0)} .hero{display:grid;gap:1rem;grid-template-columns:1fr;align-items:center;padding:3rem 0;border-radius:18px} .hero .lead{font-size:clamp(1.4rem,3vw,2.4rem);margin:0 0 .5rem;color:#0b2a1f} .card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1rem} .card{background:linear-gradient(180deg,#ffffff, #fbfffb);padding:1.2rem;border-radius:14px;box-shadow:0 8px 30px rgba(15,42,31,0.06);border:1px solid rgba(15,42,31,0.03)} .services-list li{margin-bottom:.5rem} footer{margin-top:2rem;padding:2rem 0;color:var(--muted)} .kv{display:flex;gap:1rem;flex-wrap:wrap} .kv .item{background:linear-gradient(180deg,#fff,#f8fff9);padding:1rem;border-radius:10px;min-width:160px;flex:1} img.resp{width:100%;height:auto;border-radius:12px;display:block} .hero-img{transition:transform .8s cubic-bezier(.2,.9,.3,1);transform-origin:center;box-shadow:0 10px 30px rgba(15,42,31,0.08)} .hero-img:hover{transform:translateY(-6px) scale(1.02)} .badge{display:inline-block;background:#e9f7ef;color:var(--accent);padding:.3rem .6rem;border-radius:8px;font-weight:700;font-size:.82rem} @media(min-width:900px){.hero{grid-template-columns:1fr 480px}.nav a{padding:.75rem}} /* subtle fade-in animations */ .fade-up{opacity:0;transform:translateY(10px);animation:fadeUp .7s forwards} @keyframes fadeUp{to{opacity:1;transform:none}} /* simple icon utility */ .icon{width:28px;height:28px;display:inline-block;vertical-align:middle;margin-right:.5rem}