:root{
  --anti-dark:#0e2318;
  --anti-dark2:#12291b;
  --anti-lime:#c6f24e;
  --anti-lime-dark:#a8d93c;
  --anti-cream:#f6f4ee;
  --anti-white:#ffffff;
  --anti-text-muted:#b9c4bc;
}
:root:not([data-theme="light"]){ }
body{
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--anti-cream);
  color:#12291b;
  -webkit-font-smoothing:antialiased;
}
.btn-lime{
  background:var(--anti-lime);
  color:#0e2318;
  font-weight:600;
  border:none;
}
.btn-lime:hover{ background:var(--anti-lime-dark); color:#0e2318; }
.btn-outline-dark-pill{
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  border-radius:50px;
  font-weight:500;
  background:transparent;
}
.btn-outline-dark-pill:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ---------- Topbar ---------- */
.topbar{
  background:#0a1a10;
  color:rgba(255,255,255,.75);
  font-size:.78rem;
  padding:.5rem 0;
}
.topbar-info span{ white-space:nowrap; }
.topbar-info svg{ color:var(--anti-lime); flex:0 0 auto; }
.topbar-social a{
  width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);
  color:#fff;
  transition:background .2s ease, color .2s ease;
}
.topbar-social a:hover{ background:var(--anti-lime); color:#0e2318; }

/* ---------- Navbar ---------- */
.navbar-anti{
  background:var(--anti-dark);
  padding:1rem 0;
}
.navbar-anti .navbar-brand{
  color:#fff;
  font-weight:800;
  font-size:1.25rem;
  letter-spacing:.01em;
  display:flex;
  align-items:center;
  gap:.5rem;
}
.navbar-anti .navbar-brand .brand-text{
  font-weight:800;
}
@media (max-width:991.98px){
  .navbar-anti .navbar-brand{ font-size:1.15rem; }
}
.navbar-anti .nav-link{
  color:rgba(255,255,255,.75);
  font-size:.92rem;
  font-weight:500;
  padding:.4rem .9rem !important;
}
.navbar-anti .nav-link:hover{ color:#fff; }
.brand-dot{
  width:26px;height:26px;border-radius:50%;
  background:var(--anti-lime);
  display:inline-flex;align-items:center;justify-content:center;
}


.navbar-anti .navbar-toggler{
  color:#fff !important;
  border-color:rgba(255,255,255,.25) !important;
}
.navbar-anti .navbar-toggler-icon{
  filter:brightness(0) invert(1);
}
.navbar-anti .navbar-toggler svg{
  display:block;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(180deg, var(--anti-dark) 0%, #16321f 55%, #1c3d25 100%);
  overflow:hidden;
  padding-top:2.5rem;
  padding-bottom:3rem;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 70% 10%, rgba(198,242,78,.10), transparent 55%),
    radial-gradient(ellipse at 20% 90%, rgba(255,255,255,.05), transparent 50%);
  pointer-events:none;
}
.hero h1{
  font-weight:700;
  font-size:2.5rem;
  line-height:1.12;
  color:#fff;
  letter-spacing:-0.01em;
}
.hero h1 .accent{ color:var(--anti-lime); }
.hero p.lead{
  color:var(--anti-text-muted);
  font-size:1.02rem;
  max-width:32rem;
}
.play-circle{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
  flex:0 0 auto;
}
.hero-visual{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  min-height:280px;
  background:
    linear-gradient(180deg, rgba(14,35,24,.15), rgba(14,35,24,.65) 75%),
    linear-gradient(200deg,#5b7a63 0%,#3c5646 35%,#243c2c 100%);
}
.hero-visual svg{ position:absolute; inset:0; width:100%; height:100%; }
.hero-visual .carousel,
.hero-visual .carousel-inner,
.hero-visual .carousel-item{ position:absolute; inset:0; width:100%; height:100%; }
.hero-visual .carousel-item img{ display:block; }
.hero-visual .carousel::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(14,35,24,.15), rgba(14,35,24,.65) 75%);
  pointer-events:none;
}
.tracking-card{
  position:absolute;
  right:14px; bottom:-18px;
  background:#fff;
  border-radius:12px;
  padding:.65rem .9rem;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  display:flex; align-items:center; gap:.6rem;
  max-width:230px;
}
.tracking-card .pin{
  width:32px;height:32px;border-radius:50%;
  background:var(--anti-lime);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.tracking-card .t1{ font-weight:700; font-size:.82rem; color:#0e2318; }
.tracking-card .t2{ font-size:.72rem; color:#6b7770; }

/* ---------- Services section ---------- */
.section-title{
  font-weight:700;
  font-size:1.6rem;
  color:#0e2318;
  line-height:1.25;
}
.carousel-arrow{
  width:38px;height:38px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #dfe3de;
  color:#0e2318;
  background:#fff;
}
.carousel-arrow.active{
  background:var(--anti-dark); color:var(--anti-lime); border-color:var(--anti-dark);
}
.carousel-arrow:disabled{
  opacity:.4; cursor:not-allowed;
}
.service-track-viewport{
  overflow:hidden;
}
.service-track{
  display:flex;
  transition:transform .45s ease;
}
.service-slide{
  flex:0 0 100%;
  max-width:100%;
  padding:0 .5rem;
}
@media (min-width:768px){
  .service-slide{ flex:0 0 33.3333%; max-width:33.3333%; }
}
.service-card{
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eceee9;
  height:100%;
}
.service-card .thumb{
  position:relative;
  height:150px;
  overflow:hidden;
}
.service-card .thumb svg{ width:100%; height:100%; }
.service-card .badge-icon{
  position:absolute; left:14px; bottom:-18px;
  width:40px;height:40px;border-radius:10px;
  background:var(--anti-lime);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px rgba(0,0,0,.15);
}
.service-card .body{
  padding:2rem 1.1rem 1.1rem;
}
.service-card h3{
  font-size:1.02rem;
  font-weight:700;
  color:#0e2318;
}
.service-card p{
  font-size:.86rem;
  color:#6d766f;
  margin-bottom:.9rem;
}
.service-card .learn{
  font-size:.85rem;
  font-weight:600;
  color:#0e2318;
  text-decoration:none;
}
.service-card .learn:hover{ color:var(--anti-lime-dark); }

/* ---------- Stats band ---------- */
.stats-band{
  background:linear-gradient(180deg,#0c1f15,#102a1a);
  color:#fff;
  padding:2.5rem 0;
}
.stat-icon{
  width:46px;height:46px;border-radius:50%;
  background:rgba(198,242,78,.12);
  color:var(--anti-lime);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto .7rem;
}
.stat-num{ font-weight:700; font-size:1.6rem; }
.stat-label{ font-size:.8rem; color:var(--anti-text-muted); }

/* ---------- About / Vision ---------- */
.about-photo{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  height:320px;
}
.about-photo img{ display:block; }
.about-badge{
  position:absolute; top:16px; left:16px; z-index:2;
  background:var(--anti-lime);
  border-radius:12px;
  padding:.7rem .9rem;
  display:flex; flex-direction:column;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}
.about-badge .n{ font-weight:800; font-size:1.4rem; color:#0e2318; line-height:1; }
.about-badge .l{ font-size:.68rem; font-weight:600; color:#0e2318; margin-top:.15rem; }
.about-quote{
  background:var(--anti-dark);
  border-radius:16px;
  padding:1.3rem 1.4rem;
  margin-top:-2.5rem;
  margin-left:1.5rem;
  margin-right:.5rem;
  position:relative;
  z-index:2;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.about-quote p{
  color:#fff;
  font-style:italic;
  font-size:.92rem;
  margin-bottom:.6rem;
}
.about-quote .who{
  font-size:.8rem;
  font-weight:600;
  color:var(--anti-lime);
}
.about-ic{
  flex:0 0 auto;
  width:38px;height:38px;border-radius:10px;
  background:var(--anti-lime);
  display:flex;align-items:center;justify-content:center;
}

/* ---------- Why choose ---------- */
.why-eyebrow{
  color:#8a9a8f;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.03em;
}
.why h2{
  font-weight:700;
  font-size:1.7rem;
  color:#0e2318;
}
.why p{
  color:#6d766f;
  font-size:.94rem;
}
.why-visual{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  width:100%;
  max-width:380px;
  height:260px;
  margin:0 auto;
  background:linear-gradient(160deg,#3a5a6b,#1c3140 60%, #12211c);
  box-shadow:0 16px 34px rgba(14,35,24,.14);
}
.why-visual svg{ width:100%; height:100%; }
.why-visual img{ width:100%; height:100%; display:block; }
.trust-badge{
  position:absolute; right:14px; bottom:14px;
  width:88px;height:88px;border-radius:50%;
  background:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  border:3px dashed #dfe3de;
}
.trust-badge .n{ font-weight:800; color:var(--anti-lime-dark); font-size:.92rem; line-height:1; }
.trust-badge .l{ font-size:.56rem; color:#6d766f; margin-top:.2rem; }
.check-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  background:#fff;
  border:1px solid #eceee9;
  border-radius:50px;
  padding:.4rem .9rem .4rem .4rem;
  font-size:.82rem;
  font-weight:600;
  color:#0e2318;
}
.check-pill .ic{
  width:22px;height:22px;border-radius:50%;
  background:var(--anti-lime);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
@media (min-width:992px){
  .hero h1{ font-size:3.4rem; }
}

/* Preloader: see css/preloader.css (same as adminse) */

/* ---------- Scroll effects ---------- */
.navbar-anti{
  position:sticky; top:0; z-index:1030;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
.navbar-anti.scrolled{
  padding:.55rem 0;
  background:rgba(14,35,24,.92);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  backdrop-filter:saturate(160%) blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.in{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* ---------- Testimonials ---------- */
.testimonials{ background:#f7f8f5; }
.testi-card{
  background:#fff;
  border-radius:16px;
  padding:1.8rem 1.6rem;
  height:100%;
  border:1px solid #eceee9;
}
.testi-card p{
  color:#4a524b;
  font-size:.92rem;
  margin-bottom:1.2rem;
}
.testi-person{
  display:flex; align-items:center; gap:.7rem;
}
.testi-person .avatar{
  width:42px;height:42px;border-radius:50%;
  background:var(--anti-dark);
  color:var(--anti-lime);
  font-weight:700; font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.testi-person .name{ font-weight:700; font-size:.9rem; color:#0e2318; }
.testi-person .role{ font-size:.76rem; color:#8a9089; }
.testi-slider{ position:relative; padding:0 2.8rem; }
.testi-viewport{ overflow:hidden; }
.testi-track{ display:flex; transition:transform .45s ease; margin:0 -0.6rem; }
.testi-slide{ flex:0 0 100%; max-width:100%; padding:0 .6rem; }
@media (min-width:768px){ .testi-slide{ flex:0 0 50%; max-width:50%; } }
@media (min-width:992px){ .testi-slide{ flex:0 0 33.3333%; max-width:33.3333%; } }
.testi-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.testi-arrow-left{ left:0; }
.testi-arrow-right{ right:0; }
@media (max-width:576px){ .testi-slider{ padding:0 2.2rem; } }

/* ---------- Partners ---------- */
.partners-slider{ position:relative; padding:0 3.2rem; }
.partner-viewport{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.partner-track{
  display:flex;
  align-items:center;
  gap:1.4rem;
  width:max-content;
  will-change:transform;
}
.partner-arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:2; }
.partner-arrow-left{ left:0; }
.partner-arrow-right{ right:0; }
.partner-logo{
  display:flex; align-items:center; gap:.65rem;
  flex:0 0 auto;
  padding:.65rem 1.2rem .65rem .65rem;
  border:1px solid #e5e8e2;
  border-radius:12px;
  background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.partner-logo:hover{ border-color:#c9cfc3; box-shadow:0 10px 22px rgba(14,35,24,.1); transform:translateY(-2px); }
.partner-logo .mark{
  width:36px;height:36px;border-radius:9px;
  background:var(--anti-dark);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.partner-logo .word{
  font-weight:700;
  font-size:.92rem;
  color:#0e2318;
  letter-spacing:.01em;
  white-space:nowrap;
}
@media (max-width:576px){
  .partners-slider{ padding:0 2.6rem; }
  .partner-logo{ padding:.55rem 1rem .55rem .55rem; }
  .partner-logo .word{ font-size:.84rem; }
}

/* ---------- Footer ---------- */
.footer-anti{
  background:var(--anti-dark);
  color:var(--anti-text-muted);
  padding:3.5rem 0 0;
}
.footer-anti .f-brand{
  color:#fff; font-weight:700; font-size:1.2rem;
  display:flex; align-items:center; gap:.5rem;
}
.footer-anti p{ font-size:.88rem; color:var(--anti-text-muted); max-width:24rem; }
.footer-anti h6{
  color:#fff; font-weight:600; font-size:.9rem;
  letter-spacing:.02em; margin-bottom:1rem;
}
.footer-anti ul{ list-style:none; padding:0; margin:0; }
.footer-anti ul li{ margin-bottom:.6rem; }
.footer-anti ul li a{
  color:var(--anti-text-muted);
  text-decoration:none;
  font-size:.86rem;
}
.footer-anti ul li a:hover{ color:var(--anti-lime); }
.footer-social{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  transition:background .2s ease, color .2s ease;
}
.footer-social:hover{ background:var(--anti-lime); color:#0e2318; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:2.5rem;
  padding:1.25rem 0;
  font-size:.8rem;
  color:#7c8a80;
}
.footer-newsletter input{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:.85rem;
}
.footer-newsletter input::placeholder{ color:#8a978e; }
.footer-newsletter input:focus{
  background:rgba(255,255,255,.08);
  border-color:var(--anti-lime);
  color:#fff;
  box-shadow:none;
}
/* ---------- Added: logo image, slider caption/dots, newsletter message, partner logo ---------- */
.brand-logo{
  display:block; height:46px; width:auto; max-width:220px; object-fit:contain;
  background:#fff; padding:4px 10px; border-radius:10px;   /* white plate so a dark logo still shows on the green menu */
}
.navbar-anti.scrolled .brand-logo{ height:40px; }
@media (max-width:575.98px){ .brand-logo{ height:38px; max-width:170px; padding:3px 8px; } }
.hero-visual .carousel{ position:relative; }
.slide-caption{ position:absolute; left:16px; right:16px; bottom:16px; padding:10px 14px; border-radius:12px; background:rgba(14,35,24,.72); color:#fff; font-size:.9rem; font-weight:500; backdrop-filter:blur(4px); }
.slide-dots{ margin-bottom:10px; }
.slide-dots [data-bs-target]{ width:8px; height:8px; border-radius:50%; border:0; background:#fff; opacity:.55; transition:opacity .3s, width .3s; }
.slide-dots .active{ opacity:1; width:22px; border-radius:6px; background:var(--anti-lime); }
.newsletter-msg{ font-size:.78rem; min-height:1em; }
.newsletter-msg.ok{ color:var(--anti-lime); }
.newsletter-msg.bad{ color:#ffb4a8; }
.partner-img{ height:28px; width:auto; max-width:90px; object-fit:contain; }

/* active menu link on every page (was only in the page stylesheets, so Home had none) */
.navbar-anti .nav-link.active{
  color:#fff;
  position:relative;
}
.navbar-anti .nav-link.active::after{
  content:"";
  position:absolute;
  left:.9rem; right:.9rem; bottom:.1rem;
  height:2px;
  border-radius:2px;
  background:var(--anti-lime);
}

/* ================= SERVICES PAGE ================= */

/* keep the badge fully visible over the sliding pictures */
.hero-visual .tracking-card{ bottom:14px; z-index:3; }
.hero-visual .tracking-card .pin svg{ position:static; width:16px; height:16px; }
.hero-visual #cashewCarousel{ position:absolute; inset:0; }

/* service icon: keep it inside the picture at its own size */
.service-card .badge-icon{ bottom:12px; z-index:2; }
.service-card .badge-icon svg, .sd-photo .badge-icon svg{ width:22px; height:22px; }
.service-card .thumb img{ width:100%; height:100%; object-fit:cover; }

/* never scroll sideways on a phone (clip still lets sticky parts work) */
html, body { overflow-x: clip; }

/* "View All Services" on the light background */
.btn-view-all{ border:1px solid #0e2318; color:#0e2318; font-weight:600; background:transparent; }
.btn-view-all:hover{ background:#0e2318; color:#fff; }
