
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
  :root {
      --bdf-green: #145a32;
      --bdf-green-2: #228b22;
      --bdf-lime: #75c943;
      --bdf-gold: #f5b942;
      --bdf-dark: #061b12;
      --bdf-ink: #1b2a2f;
      --bdf-muted: #6b7a80;
      --bdf-soft: #f4f8f5;
      --bdf-card: rgba(255,255,255,.94);
      --bdf-shadow: 0 18px 45px rgba(0,0,0,.12);
      --bdf-radius: 22px;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: "Open Sans", sans-serif;
      color: var(--bdf-ink);
      background: linear-gradient(180deg, #f8fbf8 0%, #eef6ef 100%);
    }

    a { color: var(--bdf-green-2); }
    a:hover { color: var(--bdf-lime); }

    .section-title h2,
    .modern-heading {
      color: var(--bdf-green);
      font-family: "Poppins", sans-serif;
      font-weight: 800;
      letter-spacing: -.5px;
    }

    .section-title h2::after { background: var(--bdf-gold); }

    #header {
      padding: 10px 0;
      background: rgba(255,255,255,.9);
      backdrop-filter: blur(14px);
      box-shadow: 0 12px 35px rgba(0,0,0,.08);
      border-bottom: 1px solid rgba(20,90,50,.08);
    }

    #header .container { gap: 14px; }

    #header .logo img {
      max-height: 62px;
      filter: drop-shadow(0 6px 10px rgba(0,0,0,.15));
    }

    #header h1.logo {
      margin-right: auto;
      font-size: 22px;
      line-height: 1.1;
    }

    #header h1.logo a {
      color: var(--bdf-green);
      font-weight: 800;
    }

    .navbar a,
    .navbar a:focus {
      color: #1e3528;
      font-weight: 700;
      border-bottom: none;
      padding: 9px 4px;
    }

    .navbar a:hover,
    .navbar .active,
    .navbar li:hover > a { color: var(--bdf-green-2); }

    .appointment-btn,
    .btn-bdf-primary {
      border: 0 !important;
      background: linear-gradient(135deg, var(--bdf-green), var(--bdf-green-2));
      color: #fff !important;
      border-radius: 999px;
      padding: 11px 22px;
      font-weight: 800;
      letter-spacing: .2px;
      box-shadow: 0 12px 24px rgba(34,139,34,.22);
      transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    }

    .appointment-btn:hover,
    .btn-bdf-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 30px rgba(34,139,34,.32);
      background: linear-gradient(135deg, #0f4527, var(--bdf-lime));
    }

    .btn-bdf-outline {
      border: 2px solid rgba(255,255,255,.75);
      color: #fff;
      border-radius: 999px;
      padding: 10px 22px;
      font-weight: 800;
      background: rgba(255,255,255,.08);
      backdrop-filter: blur(10px);
    }

    .hero-slider { padding: 0; min-height: 100vh; background: var(--bdf-dark); }
    .hero-slider .carousel,
    .hero-slider .carousel-inner,
    .hero-slider .carousel-item { min-height: 100vh; }

    .hero-img {
      min-height: 100vh;
      object-fit: cover;
      filter: brightness(.72) contrast(1.1) saturate(1.05);
      transform: scale(1.02);
    }

    .carousel-item::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
       radial-gradient(circle at 18% 28%, rgba(245,185,66,.35), transparent 28%),
        /* linear-gradient(110deg, rgba(6,27,18,.92) 0%, rgba(20,90,50,.68) 43%, rgba(0,0,0,.2) 100%);*/
    }

    .carousel-caption {
      z-index: 2;
      inset: 0;
      padding-top: 0px;
      text-align: left;
    }

    .hero-content {
      width: min(1120px, 92%);
      margin: 0 auto;
      padding: 22px;
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 20px;
      padding: 8px 14px;
      border-radius: 999px;
      color: #fff;
      background: rgba(255,255,255,.12);
      border: 1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(12px);
      font-weight: 700;
    }

    .hero-content h1 {
      color: #fff !important;
      font-size: clamp(24px, 4vw, 50px) !important;
      line-height: 1.02 !important;
      max-width: 880px;
      text-transform: none !important;
      letter-spacing: -2px;
      text-shadow: 0 10px 25px rgba(0,0,0,.35);
    }

    .hero-content h5 {
      color: rgba(255,255,255,.9);
      font-size: clamp(16px, 2vw, 22px);
      max-width: 880px;
      line-height: 1.7;
      margin: 18px 0 28px;
    }

    .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }

    .hero-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      max-width: 820px;
      margin-top: 34px;
    }

    .hero-stat {
      padding: 10px;
      color: #fff;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 18px;
      background: rgba(255,255,255,.1);
      backdrop-filter: blur(12px);
    }

    .hero-stat strong { display: block; font-size: 20px; }
    .hero-stat span { color: rgba(255,255,255,.8); font-size: 12px; }

    #why-us,
    .why-us {
      margin-top: -95px;
      position: relative;
      z-index: 20;
      padding: 0 0 70px;
      background: transparent;
    }

    .modern-panel {
      border-radius: var(--bdf-radius);
      box-shadow: var(--bdf-shadow);
      overflow: hidden;
      background: var(--bdf-card);
      border: 1px solid rgba(20,90,50,.08);
    }

    .why-us .content {
      min-height: 100%;
      padding: 34px;
      background: linear-gradient(145deg, var(--bdf-green), var(--bdf-green-2));
      border-radius: var(--bdf-radius);
      color: #fff;
      box-shadow: var(--bdf-shadow);
    }

    .why-us .content h3 { font-size: 30px; margin: 22px 0 18px; }
    .why-us .content p { color: rgba(255,255,255,.88); line-height: 1.75; }

    .why-us .icon-boxes .icon-box,
    .feature-card {
      height: 100%;
      border-radius: var(--bdf-radius);
      background: #fff;
      border: 1px solid rgba(20,90,50,.08);
      box-shadow: 0 15px 35px rgba(0,0,0,.08);
      padding: 32px 24px;
      transition: transform .25s ease, box-shadow .25s ease;
    }

    .why-us .icon-boxes .icon-box:hover,
    .feature-card:hover {
      transform: translateY(-7px);
      box-shadow: 0 24px 50px rgba(0,0,0,.14);
    }

    .why-us .icon-boxes .icon-box i {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 68px;
      height: 68px;
      border-radius: 20px;
      color: #fff;
      background: linear-gradient(135deg, var(--bdf-green), var(--bdf-lime));
      margin-bottom: 22px;
    }

    .howitworks {
      background: linear-gradient(180deg, #fff 0%, var(--bdf-soft) 100%);
      padding: 80px 0;
    }

    .how-visual {
      min-height: 520px;
      border-radius: 30px;
      overflow: hidden;
      background: linear-gradient(145deg, rgba(20,90,50,.15), rgba(245,185,66,.2));
      box-shadow: var(--bdf-shadow);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 26px;
    }

    .how-visual img {
      width: min(410px, 100%);
      height: auto;
      border-radius: 28px;
      box-shadow: 0 22px 45px rgba(0,0,0,.18);
    }

    .step-box {
      display: flex;
      gap: 18px;
      padding: 22px;
      margin-top: 17px;
      border-radius: 20px;
      background: #fff;
      border: 1px solid rgba(20,90,50,.08);
      box-shadow: 0 10px 28px rgba(0,0,0,.06);
    }

    .step-box .icon {
      flex: 0 0 58px;
      width: 58px;
      height: 58px;
      border-radius: 18px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      background: linear-gradient(135deg, var(--bdf-green), var(--bdf-lime));
      font-size: 26px;
    }

    .step-box h4 { margin: 0 0 6px; font-size: 18px; font-weight: 800; }
    .step-box p { margin: 0; color: var(--bdf-muted); line-height: 1.7; }

    .wca {
      position: relative;
      background: linear-gradient(135deg, var(--bdf-dark), var(--bdf-green));
      padding: 78px 0;
      overflow: hidden;
    }

    .wca::before {
      content: "";
      position: absolute;
      width: 430px;
      height: 430px;
      right: -140px;
      top: -130px;
      border-radius: 50%;
      background: rgba(245,185,66,.18);
    }

    .wca h3 { font-size: 34px; color: #fff; }
    .wca p { color: rgba(255,255,255,.86); max-width: 920px; margin-inline: auto; line-height: 1.8; }

    .slider-img {
      width: min(760px, 100%);
      height: 380px;
      object-fit: cover;
      border-radius: 28px;
      box-shadow: 0 22px 55px rgba(0,0,0,.32);
      border: 1px solid rgba(255,255,255,.22);
    }

    .contact {
      background: #fff;
      padding: 84px 0;
    }

    .contact .info,
    .contact .php-email-form {
      height: 100%;
      border-radius: var(--bdf-radius);
      box-shadow: 0 16px 40px rgba(0,0,0,.08);
      border: 1px solid rgba(20,90,50,.08);
      padding: 30px;
    }

    .contact .info i {
      background: linear-gradient(135deg, rgba(34,139,34,.15), rgba(245,185,66,.25));
      color: var(--bdf-green);
    }

    .contact .php-email-form input,
    .contact .php-email-form textarea {
      border-radius: 16px;
      border: 1px solid #dfe9e2;
      padding: 13px 15px;
      background: #fbfdfb;
    }

    .contact .php-email-form input:focus,
    .contact .php-email-form textarea:focus {
      border-color: var(--bdf-green-2);
      box-shadow: 0 0 0 .2rem rgba(34,139,34,.12);
    }

    .contact .php-email-form button[type=submit] {
      background: linear-gradient(135deg, var(--bdf-green), var(--bdf-green-2));
      border-radius: 999px;
      font-weight: 800;
      padding: 12px 34px;
      border: 0;
    }

    .modal-content {
      border: 0;
      border-radius: 24px;
      box-shadow: 0 25px 80px rgba(0,0,0,.28);
      overflow: hidden;
    }

    .modal-header {
      background: linear-gradient(135deg, var(--bdf-green), var(--bdf-green-2));
      color: #fff;
      border-bottom: 0;
      padding: 18px 24px;
    }

    .modal-title { font-weight: 800; }
    .modal-body { padding: 18px; background: #f7fbf8; }
    .modal-body iframe { border-radius: 18px; background: #fff; }

    .disclaimer-box { background: #fff; }
    .disclaimer-list li { line-height: 1.75; }

    #footer {
      background: #07150e;
      color: rgba(255,255,255,.82);
    }

    #footer .footer-top {
      position: relative;
      padding: 54px 0 34px;
      background: linear-gradient(rgba(6,27,18,.86), rgba(6,27,18,.9)), url("assets/img/footer.jpg") center/cover no-repeat;
      box-shadow: none;
    }

    #footer h5 { font-weight: 800; letter-spacing: .5px; }
    #footer p { color: rgba(255,255,255,.86) !important; }
    #footer .footer-bottom { padding: 18px 0; background: #041009; }
    #footer .copyright { color: rgba(255,255,255,.78); font-size: 13px; }
    #footer .copyright a { color: var(--bdf-gold); font-weight: 800; }
    #footer .social-links a { background: rgba(255,255,255,.12); }
    #footer .social-links a:hover { background: var(--bdf-green-2); }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
      background-color: rgba(0,0,0,.38);
      border-radius: 999px;
      padding: 18px;
    }

    .carousel-indicators button {
      width: 10px !important;
      height: 10px !important;
      border-radius: 50%;
      background-color: var(--bdf-gold) !important;
    }

    .back-to-top { background: var(--bdf-green-2); border-radius: 999px; }

    @media (max-width: 991px) {
      #header h1.logo { font-size: 17px; }
      .hero-content { padding: 18px; }
      .hero-stats { grid-template-columns: 1fr; }
      #why-us, .why-us { margin-top: 0; padding-top: 50px; }
      .carousel-caption { padding-top: 75px; }
    }

    @media (max-width: 576px) {
      #header .logo img { max-height: 50px; }
      .appointment-btn { padding: 9px 14px; font-size: 12px; }
      .hero-actions { flex-direction: column; align-items: flex-start; }
      .step-box { flex-direction: column; }
      .slider-img { height: 250px; }
    }