:root{
  --brand:#045131; /* deep green */
  --accent:#A3DC17; /* lime */
}
*{box-sizing:border-box}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#0d0f10;color:#222}
.navbar{transition:background .3s ease, box-shadow .3s ease}
.navbar .brand-text{font-weight:700;letter-spacing:.5px}
.navbar.scrolled{background:rgba(4,81,49,.85)!important;backdrop-filter:blur(6px);box-shadow:0 8px 24px rgba(0,0,0,.2)}

.btn-accent{background:var(--accent);color:#0d0f10;border:none}
.btn-accent:hover{filter:brightness(.95);color:#000}
.text-brand{color:var(--brand)!important}
.text-accent{color:var(--accent)!important}

.py-6{padding-top:4rem;padding-bottom:4rem}

/* Hero */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;background:#0b0b0b}
.hero-gradient{position:absolute;inset:0;background:radial-gradient(1200px 400px at 10% 10%, rgba(163,220,23,.2), transparent 60%),
                                  radial-gradient(800px 300px at 90% 60%, rgba(4,81,49,.45), transparent 70%);
  z-index:1}
.hero-shape{position:absolute;background:linear-gradient(135deg, rgba(163,220,23,.6), rgba(4,81,49,.9));filter:blur(60px);opacity:.5;z-index:0;border-radius:50%}
.hero-shape-1{width:340px;height:340px;left:-120px;top:-80px}
.hero-shape-2{width:420px;height:420px;right:-150px;bottom:-120px}

.showcase-card{border-radius:16px;background:#111;box-shadow:0 12px 40px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.08)}
.progress-accent{background:rgba(255,255,255,.08)}
.progress-accent .progress-bar{background:linear-gradient(90deg,var(--accent),#d7ff6b)}

/* Section titles */
.section-title{font-weight:800;color:#0f1a14}
.section-title::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:var(--accent);margin-top:.5rem}

/* Cards */
.service-card,.product-card,.stats-card,.contact-card{border-radius:16px;padding:24px;background:#fff;border:1px solid rgba(4,81,49,.12);box-shadow:0 10px 24px rgba(4,81,49,.08)}
.product-card{background:#fefefe}
.contact-card{background:#101412;color:#eaeaea;border-color:rgba(255,255,255,.08)}

.service-card .icon-wrap{width:44px;height:44px;border-radius:10px;background:rgba(4,81,49,.06);display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:1.25rem;margin-bottom:.5rem}
.product-icon{width:44px;height:44px;border-radius:10px;background:rgba(163,220,23,.18);display:flex;align-items:center;justify-content:center;color:#3d4d2d;font-size:1.25rem}

/* Forms */
.contact-form .form-control{background:#0c0e0f;border:1px solid rgba(255,255,255,.12);color:#eaeaea}
.contact-form .form-control:focus{border-color:var(--accent);box-shadow:0 0 0 0.25rem rgba(163,220,23,.20)}

/* Footer */
footer{border-top:1px solid rgba(255,255,255,.1)}

/* Anim helpers */
.fade-in-up{animation:fadeInUp .6s ease both}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}

/* Navbar contrast on hero */
.navbar-dark .navbar-brand,.navbar-dark .nav-link{color:#fff}
.navbar-dark .nav-link:hover{color:var(--accent)}
/* Compact toggler on mobile and align near brand */
.navbar-toggler{padding:.35rem .6rem;border-color:rgba(255,255,255,.5)}
.navbar .container{gap:1rem}

/* Utilities */
.bg-black{background:#000}
.bg-light{background:#f7f8f9!important}

/* Responsive tweaks */
@media (max-width: 991.98px){
  .hero{min-height:80vh}
}

/* Page hero banner */
.page-hero{position:relative;padding:7rem 0 3rem;background:#0b0b0b;color:#fff;margin-bottom:1rem}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 300px at 12% 20%, rgba(163,220,23,.18), transparent 60%),
                                   radial-gradient(600px 240px at 88% 70%, rgba(4,81,49,.5), transparent 70%);z-index:0}
.page-hero .container{position:relative;z-index:1}

/* Back-to-top button */
.back-to-top{position:fixed;right:16px;bottom:24px;width:44px;height:44px;border:none;border-radius:999px;background:var(--accent);color:#0d0f10;display:none;z-index:1050;box-shadow:0 10px 24px rgba(0,0,0,.3);opacity:0;transform:translateY(8px);transition:opacity .2s ease, transform .2s ease;cursor:pointer}
.back-to-top.show{display:inline-flex;align-items:center;justify-content:center;opacity:1;transform:none}
.back-to-top:hover{filter:brightness(.95)}