:root {
--primary-color: #1e5631!important;
--primary-light: #4c9a2a!important;
--primary-gradient: linear-gradient(135deg, #1e5631 0%, #4c9a2a 100%)!important;
--accent-gold: #d4af37!important;
--bg-light: #f4f8f4!important;
--text-dark: #222222!important;
--light-mint: #d8f3dc;
--primary-dark: #1b4332;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
font-family: 'Poppins', sans-serif;
color: var(--text-dark)!important;
background-color: #f8faf8!important;
overflow-x: hidden!important;
}

h1, h2, h3, h4, h5, .brand-font {
  font-family: 'Playfair Display', serif!important;
}

/* TOP HEADER & NAVBAR */
.top-header { background-color: var(--primary-color)!important; color: #e2f0e3!important; font-size: 0.85rem!important; padding: 8px 0!important; }
.top-header a { color: #e2f0e3!important; text-decoration: none!important; }
.top-header a:hover { color: var(--accent-gold)!important; }
.navbar { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05)!important; padding: 12px 0!important; background: #ffffff!important; }
.navbar-brand { font-size: 1.5rem!important; font-weight: 700!important; color: var(--primary-color) !important!important; }
.navbar-brand span { color: var(--primary-light)!important; }
.nav-link { font-weight: 500!important; color: var(--text-dark) !important!important; margin: 0 8px!important; }
.nav-link:hover, .nav-link.active { color: var(--primary-color) !important!important; }

/* HERO SECTION */
.hero-section {
background: linear-gradient(rgba(18, 54, 30, 0.75), rgba(18, 54, 30, 0.75)), 
          url('https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?auto=format&fit=crop&w=1600&q=80')!important;
background-size: cover!important;
background-position: center!important;
color: #ffffff!important;
}
.hero-title { font-size: 3.2rem!important; font-weight: 700!important; line-height: 1.2!important; }
.hero-subtitle { font-size: 1.15rem!important; opacity: 0.9!important; margin-bottom: 30px!important; }

/* Hero Section 2*/
 * Hero Section Container */
    .hero-section {
      width: 100%;
      max-width: 1920px;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
      background-color: #07150d;
    }

    /* Responsive Banner Link/Container */
    .hero-banner-link {
      display: block;
      width: 100%;
      text-decoration: none;
      line-height: 0; /* Prevents unwanted bottom white gaps */
    }

    /* Full Image Responsive Handling */
    .hero-banner-img {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9; /* Maintains 1920x1080 proportion */
      object-fit: cover;
      display: block;
      transition: opacity 0.3s ease;
    }

    /* Optional Overlay Button for Mobile & Desktop Clickability */
    .hero-banner-link:hover .hero-banner-img {
      opacity: 0.96;
    }

    /* Mobile Fine-Tuning */
    @media (max-width: 768px) {
      .hero-section {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
      }
    }


/* BUTTONS */
.btn-custom-primary {
background: var(--primary-gradient)!important;
color: #fff!important;
border: none!important;
padding: 12px 30px!important;
border-radius: 30px!important;
font-weight: 600!important;
transition: all 0.3s ease!important;
text-decoration: none!important;
display: inline-block!important;
}
.btn-custom-primary:hover {
color: #fff!important;
box-shadow: 0 8px 20px rgba(30, 86, 49, 0.4)!important;
transform: translateY(-2px)!important;
}
.btn-custom-outline {
border: 2px solid #ffffff!important;
color: #ffffff!important;
padding: 10px 28px!important;
border-radius: 30px!important;
font-weight: 600!important;
text-decoration: none!important;
transition: all 0.3s ease!important;
display: inline-block!important;
}
.btn-custom-outline:hover {
background: #ffffff!important;
color: var(--primary-color)!important;
}

/* FEATURE CARDS */
.feature-card {
background: #ffffff!important;
padding: 30px 25px!important;
border-radius: 16px!important;
border: 1px solid #eef3ee!important;
box-shadow: 0 8px 25px rgba(0,0,0,0.03)!important;
transition: all 0.3s ease!important;
height: 100%!important;
}
.feature-card:hover {
transform: translateY(-8px)!important;
box-shadow: 0 15px 35px rgba(30, 86, 49, 0.12)!important;
}
.feature-icon {
width: 65px!important;
height: 65px!important;
border-radius: 50%!important;
background: var(--bg-light)!important;
color: var(--primary-color)!important;
display: flex!important;
align-items: center!important;
justify-content: center!important;
font-size: 1.6rem!important;
margin-bottom: 20px!important;
}

/* CATEGORY CARDS */
.category-card {
position: relative!important;
border-radius: 16px!important;
overflow: hidden!important;
height: 280px!important;
box-shadow: 0 10px 25px rgba(0,0,0,0.08)!important;
}
.category-card img {
width: 100%!important;
height: 100%!important;
object-fit: cover!important;
transition: transform 0.5s ease!important;
}
.category-card:hover img {
transform: scale(1.08)!important;
}
.category-overlay {
position: absolute!important;
inset: 0!important;
background: linear-gradient(to top, rgba(18, 54, 30, 0.9) 0%, rgba(0,0,0,0.1) 70%)!important;
display: flex!important;
flex-direction: column!important;
justify-content: flex-end!important;
padding: 25px!important;
color: #ffffff!important;
}

/* STATS SECTION */
.stats-section {
background: var(--primary-gradient)!important;
color: #ffffff!important;
padding: 60px 0!important;
}

/* --- FOOTER --- */
    footer {
      background-color: #12361e;
      color: #b5ceba;
      padding-top: 70px;
      padding-bottom: 20px;
    }
    footer h5 {
      color: #ffffff;
      margin-bottom: 25px;
      position: relative;
      padding-bottom: 10px;
    }
    footer h5::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 30px;
      height: 2px;
      background: var(--primary-light);
    }
    footer a {
      color: #b5ceba;
      text-decoration: none;
      transition: color 0.3s;
    }
    footer a:hover {
      color: var(--accent-gold);
    }
    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, 0.08);
      padding-top: 20px;
      margin-top: 50px;
      font-size: 0.85rem;
    }

    /* Responsive Adjustments */
    @media (max-width: 991px) {
      .hero-title { font-size: 2.4rem; }
      /*.hero-section { padding: 50px 0; }*/
      .hero-img-wrapper { margin-top: 40px; }
      .experience-badge { right: 10px; bottom: 10px; padding: 15px; }
    }

/* --- ABOUT US SECTION --- */
.about-section {
  padding: 80px 0;
}
.about-img-box {
  position: relative;
}
.about-img-main {
  border-radius: 15px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
  width: 100%;
  object-fit: cover;
}
.experience-badge {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: var(--primary-gradient);
  color: white;
  padding: 25px;
  border-radius: 15px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(30, 86, 49, 0.3);
}
.experience-badge .years {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
}

.about-badge {
  display: inline-block;
  background-color: var(--light-mint);
  color: var(--primary-dark);
  padding: 6px 16px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 0.875rem;
}

/* --- CERTIFICATIONS --- */
.cert-section {
  padding: 80px 0;
  background-color: var(--bg-light);
}
.cert-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0,0,0,0.03);
  border: 1px solid #e8f0e9;
  font-weight: 600;
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.cert-card:hover {
  background: var(--primary-color);
  color: #ffffff;
  transform: scale(1.03);
}

.about-para
{
  line-height: 1.9;
  color: #5F6B66!important;
  text-align: justify;
}

@media (max-width: 768px){

  p{
      font-size:15px;
      line-height:1.7;
      color:#5F6B66!important;
  }

}

/* BREADCRUMB HERO */
    .breadcrumb-section {
      background: linear-gradient(rgba(30, 86, 49, 0.88), rgba(30, 86, 49, 0.88)), 
                  url('https://images.unsplash.com/photo-1544367567-0f2fcb009e0b?auto=format&fit=crop&w=1600&q=80');
      background-size: cover;
      background-position: center;
      padding: 60px 0;
      color: #ffffff;
      text-align: center;
    }
    .breadcrumb-title { font-size: 2.5rem; font-weight: 700; }
    .breadcrumb-nav { --bs-breadcrumb-divider: '›'; display: flex; justify-content: center; }
    .breadcrumb-item a { color: #d1e7dd; text-decoration: none; }

    /* CONTACT INFO CARDS */
    .contact-card {
      background: #ffffff;
      border-radius: 12px;
      padding: 25px;
      border: 1px solid #eef3ee;
      box-shadow: 0 5px 20px rgba(0,0,0,0.03);
      display: flex;
      align-items: center;
      gap: 20px;
      transition: transform 0.3s ease;
    }
    .contact-card:hover {
      transform: translateY(-5px);
    }
    .contact-icon {
      width: 55px;
      height: 55px;
      border-radius: 50%;
      background: var(--bg-light);
      color: var(--primary-color);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
      flex-shrink: 0;
    }

    /* FORM CARD */
    .contact-form-box {
      background: #ffffff;
      border-radius: 16px;
      padding: 40px;
      border: 1px solid #eef3ee;
      box-shadow: 0 10px 30px rgba(0,0,0,0.04);
    }

    .form-control:focus, .form-select:focus {
      border-color: var(--primary-light);
      box-shadow: 0 0 0 0.25rem rgba(76, 154, 42, 0.15);
    }

    .btn-custom-primary {
      background: var(--primary-gradient);
      color: #fff;
      border: none;
      padding: 12px 30px;
      border-radius: 30px;
      font-weight: 600;
      transition: all 0.3s ease;
    }
    .btn-custom-primary:hover {
      color: #fff;
      box-shadow: 0 8px 20px rgba(30, 86, 49, 0.3);
    }

#scrollToTopBtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    display: none; /* Hidden by default */
    z-index: 99;
    background-color: #fff;
    border: 2px solid #28a745;
    color: #28a745; /* Green Icon Color */
    width: 45px;
    height: 45px;
    border-radius: 50%;
    text-align: center;
    line-height: 42px;
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

#scrollToTopBtn:hover {
    background-color: #28a745;
    color: #fff;
    transform: translateY(-3px);
}

.logo {
    width: 100%;
    max-width: 150px !important;
    height: auto !important;
    display: block;
}