 *,
 *::before,
 *::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
 }

 :root {
   --gold: #c9a227;
   --gold-light: #e4b840;
   --gold-pale: #f5e6b0;
   --dark: #1a1a1a;
   --dark-green: #1c2b1e;
   --darker-green: #141f16;
   --white: #ffffff;
   --off-white: #f9f5ec;
   --text-muted: #666;
   --shadow-gold: 0 4px 24px rgba(201, 162, 39, 0.18);
 }

 html {
   scroll-behavior: smooth;
 }

 body {
   font-family: 'DM Sans', sans-serif;
   background: var(--off-white);
   color: var(--dark);
   overflow-x: hidden;
 }

 /* ───── HERO ───── */
 /* ── Hero ── */
 .hero {
   position: relative;
   overflow: hidden;
   padding: 60px 40px 50px;
   text-align: center;
   min-height: 420px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 /* Banner background image */
 .hero-banner-bg {
   position: absolute;
   inset: 0;
   z-index: 0;
 }

 .hero-banner-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   display: block;
 }

 /* Dark green + gold overlay so text stays readable over any banner */
 .hero-overlay {
   position: absolute;
   inset: 0;
   z-index: 1;
   background: linear-gradient(135deg,
       rgba(28, 43, 30, 0.82) 0%,
       rgba(14, 26, 16, 0.75) 40%,
       rgba(26, 42, 28, 0.65) 70%,
       rgba(36, 51, 36, 0.70) 100%);
 }

 /* Particles sit above overlay */
 .particles {
   position: absolute;
   inset: 0;
   pointer-events: none;
   overflow: hidden;
   z-index: 2;
 }

 /* Content sits on top of everything */
 .hero-content {
   position: absolute;
   z-index: 3;
   max-width: 680px;
   margin: 0;
   left: 40px;
 }

 @keyframes floatUp {
   0% {
     transform: translateY(100%) scale(0);
     opacity: 0;
   }

   10% {
     opacity: 0.7;
   }

   90% {
     opacity: 0.4;
   }

   100% {
     transform: translateY(-120px) scale(1.5);
     opacity: 0;
   }
 }



 .hero h1 {
   text-align: left;
   font-family: 'Playfair Display', serif;
   font-size: clamp(28px, 5vw, 46px);
   font-weight: 800;
   color: var(--white);
   line-height: 1.2;
   animation: fadeDown 0.8s ease both;
 }

 .hero h1 em {
   font-style: italic;
   color: var(--gold-light);
 }

 .hero p {
   text-align: left;
   color: rgba(255, 255, 255, 0.75);
   font-size: 15px;
   margin: 18px 0 0;
   max-width: 480px;
   line-height: 1.7;
   animation: fadeDown 0.9s 0.1s ease both;
 }

 .hero-btns {
   display: flex;
   gap: 16px;
   justify-content: left;
   margin-top: 28px;
   flex-wrap: wrap;
   animation: fadeDown 1s 0.2s ease both;
 }

 .btn-primary {
   background: linear-gradient(135deg, var(--gold), #a87d1a);
   color: var(--white);
   border: none;
   padding: 13px 28px;
   border-radius: 6px;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   letter-spacing: 0.3px;
   transition: transform 0.2s, box-shadow 0.2s;
   box-shadow: 0 4px 16px rgba(201, 162, 39, 0.3);
 }

 .btn-primary:hover {
   transform: translateY(-3px) scale(1.03);
   box-shadow: 0 8px 28px rgba(201, 162, 39, 0.45);
 }

 .btn-secondary {
   background: transparent;
   color: var(--white);
   border: 1.5px solid rgba(255, 255, 255, 0.45);
   padding: 13px 28px;
   border-radius: 6px;
   font-size: 14px;
   font-weight: 600;
   cursor: pointer;
   transition: border-color 0.2s, background 0.2s, transform 0.2s;
 }

 .btn-secondary:hover {
   border-color: var(--gold-light);
   background: rgba(201, 162, 39, 0.08);
   transform: translateY(-3px);
 }

 /* image placeholder in hero */
 .hero-image-placeholder {
   position: absolute;
   right: 6%;
   top: 50%;
   transform: translateY(-50%);
   width: 220px;
   height: 220px;
   border-radius: 12px;
   background: rgba(255, 255, 255, 0.06);
   border: 1.5px dashed rgba(201, 162, 39, 0.35);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(201, 162, 39, 0.5);
   font-size: 12px;
   text-align: center;
   pointer-events: none;
 }

 @media (max-width: 768px) {
   .hero-image-placeholder {
     display: none;
   }
 }

 /* ───── STATS ───── */
 .stats {
   background: var(--white);
   display: flex;
   justify-content: center;
   gap: 0;
   padding: 0;
   box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
 }

 .stat-item {
   flex: 1;
   max-width: 220px;
   padding: 28px 20px;
   text-align: center;
   border-right: 1px solid #ececec;
   transition: background 0.2s;
   cursor: default;
 }

 .stat-item:last-child {
   border-right: none;
 }

 .stat-item:hover {
   background: #fffdf4;
 }

 .stat-num {
   font-family: 'Playfair Display', serif;
   font-size: 34px;
   font-weight: 800;
   color: var(--gold);
   display: block;
   line-height: 1;
 }

 .stat-label {
   font-size: 13px;
   color: var(--dark);
   font-weight: 500;
   margin-top: 6px;
   display: block;
 }

 /* ───── SECTION COMMON ───── */
 section {
   padding: 64px 40px;
 }

 .section-title {
   font-family: 'Playfair Display', serif;
   font-size: clamp(22px, 3.5vw, 30px);
   font-weight: 700;
   color: var(--dark);
   margin-bottom: 24px;
   display: flex;
   align-items: center;
   gap: 10px;
 }

 .section-title::before,
 .section-title::after {
   content: '·';
   color: var(--gold);
   font-size: 20px;
 }

 /* ───── WHO WE ARE ───── */
 .who-section {
   background: var(--off-white);
 }

 .who-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 48px;
   align-items: start;
   max-width: 1230px;
   margin: 0 auto;
 }

 @media (max-width: 768px) {
   .who-grid {
     grid-template-columns: 1fr;
   }
 }

 .who-text p {
   font-size: 15px;
   line-height: 1.8;
   color: #333;
   margin-bottom: 14px;
 }

 .who-text p strong {
   color: var(--dark);
   font-weight: 600;
 }

 .brand-logos {
   display: flex;
   flex-wrap: wrap;
   gap: 14px;
   margin-top: 28px;
   align-items: center;
 }

 .brand-logo {
   padding: 8px 16px;
   background: var(--white);
   border: 1px solid #e8e0cc;
   border-radius: 6px;
   font-size: 13px;
   font-weight: 600;
   color: var(--dark);
   transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
   cursor: default;
 }

 .brand-logo:hover {
   border-color: var(--gold);
   box-shadow: 0 4px 12px rgba(201, 162, 39, 0.15);
   transform: translateY(-2px);
 }

 .trusted-badge {
   margin-top: 18px;
   font-size: 14px;
   color: var(--text-muted);
   display: flex;
   align-items: center;
   gap: 8px;
 }

 .trusted-badge strong {
   color: var(--gold);
   font-size: 16px;
 }

 .who-image-placeholder {
   width: 100%;
   aspect-ratio: 4/3;
   border-radius: 12px;
   background: linear-gradient(135deg, #e8e0cc, #f0e8d4);
   border: 1.5px dashed rgba(201, 162, 39, 0.4);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(160, 130, 60, 0.5);
   font-size: 12px;
 }

 /* ───── WHY CHOOSE ───── */
 .why-section {
   background: var(--white);
 }

 .why-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 48px;
   align-items: start;
   max-width: 1230px;
   margin: 0 auto;
 }

 @media (max-width: 768px) {
   .why-grid {
     grid-template-columns: 1fr;
   }
 }

 .why-list {
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: 22px;
 }

 .why-item {
   display: flex;
   gap: 16px;
   align-items: flex-start;
   padding: 18px;
   border-radius: 10px;
   border: 1px solid transparent;
   transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s, background 0.25s;
   cursor: default;
 }

 .why-item:hover {
   border-color: var(--gold-pale);
   box-shadow: var(--shadow-gold);
   transform: translateX(6px);
   background: #fffdf4;
 }

 .why-icon {
   width: 46px;
   height: 46px;
   flex-shrink: 0;
   background: linear-gradient(135deg, #f5e6b0, #e8d080);
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
 }

 .why-item h4 {
   font-size: 14px;
   font-weight: 600;
   color: var(--dark);
   margin-bottom: 4px;
 }

 .why-item p {
   font-size: 13px;
   color: var(--text-muted);
   line-height: 1.6;
 }

 .why-image-placeholder {
   width: 100%;
   aspect-ratio: 1;
   border-radius: 12px;
   background: linear-gradient(135deg, #e8e0cc, #f0e8d4);
   border: 1.5px dashed rgba(201, 162, 39, 0.4);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(160, 130, 60, 0.5);
   font-size: 12px;
 }

 /* ───── FOUNDER + REQUIREMENT (two column) ───── */
 .bottom-section {
   background: var(--off-white);
 }

 .bottom-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px;
   max-width: 1230px;
   margin: 0 auto;
 }

 @media (max-width: 768px) {
   .bottom-grid {
     grid-template-columns: 1fr;
   }
 }

 /* Founder */
 .founder-card {
   position: relative;
 }

 .founder-text p {
   font-size: 14px;
   line-height: 1.9;
   color: #333;
   width: 370px;
 }

 .founder-text p strong {
   color: var(--dark);
 }

 .founder-text .founder-message {
   margin-bottom: 16px;
 }

 .founder-text .thanks {
   margin-top: 10px;
   font-size: 14px;
   color: #444;
 }

 .founder-image-placeholder {
   width: 160px;
   height: 200px;
   border-radius: 10px;
   background: linear-gradient(135deg, #e0d4b0, #ccc0a0);
   border: 1.5px dashed rgba(201, 162, 39, 0.4);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(160, 130, 60, 0.5);
   font-size: 11px;
   float: right;
   margin-left: 20px;
   margin-bottom: 12px;
 }

 .signature {
   margin-top: 20px;
   font-family: 'Playfair Display', serif;
   font-style: italic;
   font-size: 22px;
   color: var(--dark);
 }

 .founder-role {
   font-size: 12px;
   color: var(--text-muted);
   margin-top: 2px;
 }

 /* Requirement card */
 .req-card {
   background: var(--dark-green);
   border-radius: 14px;
   padding: 32px;
   color: var(--white);
 }

 .req-card h3 {
   font-family: 'Playfair Display', serif;
   font-size: 22px;
   font-weight: 700;
   margin-bottom: 20px;
 }

 .req-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 12px;
   margin-bottom: 22px;
 }

 .req-item {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 13px;
   color: rgba(255, 255, 255, 0.85);
   padding: 10px 12px;
   background: rgba(255, 255, 255, 0.07);
   border-radius: 8px;
   transition: background 0.2s, transform 0.2s;
   cursor: default;
 }

 .req-item:hover {
   background: rgba(201, 162, 39, 0.15);
   transform: scale(1.03);
 }

 .req-item .req-icon {
   font-size: 16px;
 }

 .req-btns {
   display: flex;
   gap: 12px;
   margin-bottom: 22px;
   flex-wrap: wrap;
 }

 .req-btn-primary {
   background: linear-gradient(135deg, var(--gold), #a87d1a);
   color: var(--white);
   border: none;
   padding: 11px 22px;
   border-radius: 6px;
   font-size: 13px;
   font-weight: 600;
   cursor: pointer;
   transition: transform 0.2s, box-shadow 0.2s;
 }

 .req-btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 6px 20px rgba(201, 162, 39, 0.35);
 }

 .req-btn-outline {
   background: transparent;
   color: var(--white);
   border: 1.5px solid rgba(255, 255, 255, 0.35);
   padding: 11px 22px;
   border-radius: 6px;
   font-size: 13px;
   font-weight: 600;
   cursor: pointer;
   transition: border-color 0.2s, background 0.2s, transform 0.2s;
 }

 .req-btn-outline:hover {
   border-color: var(--gold-light);
   background: rgba(201, 162, 39, 0.1);
   transform: translateY(-2px);
 }

 .req-services-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 10px;
 }

 .req-service {
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 12.5px;
   color: rgba(255, 255, 255, 0.75);
   padding: 8px 10px;
   background: rgba(255, 255, 255, 0.05);
   border-radius: 7px;
   border: 1px solid rgba(255, 255, 255, 0.08);
   transition: background 0.2s, color 0.2s, transform 0.2s;
   cursor: default;
 }

 .req-service:hover {
   background: rgba(201, 162, 39, 0.12);
   color: var(--gold-light);
   transform: translateY(-2px);
 }

 .req-service .svc-icon {
   font-size: 14px;
 }

 /* ───── DISCLAIMER BANNER ───── */
 .disclaimer {
   background: #fff8e8;
   border-top: 2px solid var(--gold-pale);
   padding: 18px 40px;
   display: flex;
   align-items: center;
   gap: 14px;
   font-size: 13.5px;
   color: #555;
 }

 .disclaimer-icon {
   width: 32px;
   height: 32px;
   background: linear-gradient(135deg, var(--gold), #a87d1a);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   flex-shrink: 0;
   color: white;
 }

 /* ───── ANIMATIONS ───── */
 @keyframes fadeDown {
   from {
     opacity: 0;
     transform: translateY(-18px);
   }

   to {
     opacity: 1;
     transform: translateY(0);
   }
 }

 .reveal {
   opacity: 0;
   transform: translateY(30px);
   transition: opacity 0.65s ease, transform 0.65s ease;
 }

 .reveal.visible {
   opacity: 1;
   transform: translateY(0);
 }

 .about-img {
   width: 100%;
   max-width: 580px;
   height: 330px;
   border-radius: 12px;
   box-shadow: var(--shadow-gold);
 }

 .head-img {
   width: 220px;
   height: 220px;
   border-radius: 12px;
   box-shadow: var(--shadow-gold);
 }

 .who-img {
   margin: 90px auto auto auto;
   width: 100%;
   max-width: 580px;
   height: 330px;
   border-radius: 12px;
   box-shadow: var(--shadow-gold);
 }

 .founder-img {
   margin-top: 50px;
   width: 400px;
   /* max-width: 183px; */
   height: 290px;
   border-radius: 10px;
   box-shadow: var(--shadow-gold);
 }

 .who-logo {
   width: 90px;
   height: 35px;
 }

/* ════════════════════════════════════════════
   POPUP FIX — Bootstrap uses .modal class too,
   so we rename all popup classes to avoid conflict
════════════════════════════════════════════ */

/* ── Overlay ── */
.consultation-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 99999;
  justify-content: center;
  align-items: center;
}

.consultation-overlay.active {
  display: flex !important;
}

/* ── Modal Box ── */
.consultation-box {
  background: #fff;
  border-radius: 14px;
  padding: 32px 28px 28px;
  width: 400px;
  max-width: 95vw;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  animation: popIn 0.22s ease;
  z-index: 100000;
}

@keyframes popIn {
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}

/* ── Close Button ── */
.consultation-close {
  position: absolute;
  top: 14px;
  right: 18px;
  background: none;
  border: none;
  font-size: 22px;
  color: #999;
  cursor: pointer;
  line-height: 1;
  z-index: 1;
}

.consultation-close:hover {
  color: #333;
}

/* ── Modal Header ── */
.consultation-box h2 {
  font-size: 19px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin-bottom: 6px;
}

.consultation-box .consult-subtitle {
  font-size: 13px;
  color: #888;
  text-align: center;
  margin-bottom: 24px;
}

/* ── Option Cards ── */
.consult-option {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1.5px solid #e5e5e5;
  margin-bottom: 12px;
  cursor: pointer;
  text-decoration: none !important;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
}

.consult-option:hover {
  border-color: #b8962e;
  transform: translateY(-1px);
}

.consult-option.highlighted {
  background: #b8962e;
  border-color: #b8962e;
}

.consult-option.highlighted:hover {
  background: #a0821f;
  border-color: #a0821f;
}

.consult-option.highlighted .opt-title {
  color: #fff;
}

.consult-option.highlighted .opt-sub {
  color: rgba(255, 255, 255, 0.82);
}

/* ── Icon Circle ── */
.consult-icon-wrap {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.22);
}

.consult-option:not(.highlighted) .consult-icon-wrap {
  background: #eef6ee;
}

.consult-icon-wrap svg {
  width: 20px;
  height: 20px;
}

/* ── Option Text ── */
.opt-title {
  font-size: 14.5px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 3px;
}

.opt-sub {
  font-size: 12px;
  color: #999;
}

/* ── Footer Note ── */
.consult-footer-note {
  text-align: center;
  font-size: 13px;
  color: #777;
  margin-top: 18px;
}

.consult-footer-note b {
  font-weight: 700;
  color: #1a1a1a;
}


 .serv-link{
  color: white;
  text-decoration: none;
 }

 /* ═══════════════════════════════════════
   MOBILE RESPONSIVE — 
═══════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Hero ── */
  .hero {
    padding: 40px 20px 40px;
    min-height: 360px;
    align-items: flex-start;
  }

  .hero-content {
    position: relative;
    left: 0;
    text-align: left;
    padding: 0;
    max-width: 100%;
  }

  .hero h1 {
    font-size: clamp(22px, 6vw, 32px);
  }

  .hero p {
    font-size: 14px;
    max-width: 100%;
  }

  .hero-btns {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .btn-primary,
  .btn-secondary {
    width: 100%;
    text-align: center;
    padding: 13px 20px;
  }

  /* ── Stats ── */
  .stats {
    flex-direction: column;
    align-items: center;
  }

  .stat-item {
    border-right: none;
    border-bottom: 1px solid #ececec;
    width: 100%;
    max-width: 100%;
    padding: 20px;
  }

  .stat-item:last-child {
    border-bottom: none;
  }

  /* ── Sections common ── */
  section {
    padding: 40px 20px;
  }

  /* ── Who We Are ── */
  .who-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .about-img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .brand-logos {
    gap: 10px;
  }

  .who-logo {
    width: 70px;
    height: 28px;
  }

  /* ── Why Choose ── */
  .why-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .who-img {
    margin: 0 auto;
    width: 100%;
    height: auto;
    max-width: 100%;
  }

  .why-item:hover {
    transform: none;
  }

  /* ── Bottom Section (Founder + Req Card) ── */
  .bottom-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Founder */
  .founder-image-placeholder {
    float: none;
    margin: 0 auto 20px auto;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }

  .founder-img {
    float: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-top: 0;
  }

  .founder-text p {
    width: 100%;
  }

  /* Requirement card */
  .req-card {
    padding: 24px 18px;
  }

  .req-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .req-btns {
    flex-direction: column;
    gap: 10px;
  }

  .req-btn-primary,
  .req-btn-outline {
    width: 100%;
    text-align: center;
    padding: 13px 20px;
  }

  .req-services-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  /* ── Disclaimer ── */
  .disclaimer {
    padding: 16px 20px;
    font-size: 13px;
    flex-wrap: wrap;
  }

  /* ── Popup Modal ── */
  .modal {
    width: 95vw;
    padding: 28px 18px 22px;
  }

  .modal h2 {
    font-size: 17px;
  }

  .option {
    padding: 12px 14px;
  }

  .opt-title {
    font-size: 13.5px;
  }
}

@media (max-width: 480px) {

  .hero h1 {
    font-size: 22px;
  }

  .section-title {
    font-size: 20px;
  }

  .stat-num {
    font-size: 28px;
  }

  .req-card h3 {
    font-size: 19px;
  }

  .founder-img {
    height: auto;
  }
}