:root{--navy:#0a1628;--gold:#c9a84c;--gold-light:#e8c97a;--cream:#f8f4ee;--white:#ffffff;--dark-grey:#57595B;--gray:#6b7280;--light:#f1ede6;--green:#1a7a4a; --light-green:#84B179; --forest:#6D9E51; --grey:#F5F5F5; --red:#A82323;}
*{margin:0;padding:0;box-sizing:border-box; }html{scroll-behavior:smooth;}
.logo { display: flex; align-items: center; text-decoration: none; }
.logo img { height: 42px; width: auto; object-fit: contain; display: block; }

input::placeholder, textarea::placeholder{
    color: black !important;
}
.whatsapp-middle{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  background:#25D366;
  color:white;
  width:55px;
  height:55px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  border-radius:12px 0 0 12px;
  box-shadow:-3px 4px 15px rgba(0,0,0,0.25);
  z-index:2000;
  text-decoration:none;
  transition:0.3s ease;
}

.whatsapp-middle:hover{
  background:#1ebe5d;
  width:65px;
}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--navy);}
section,footer,nav,.dp-hero-slider{overflow-x:clip;}
.ahs-section{contain:layout;}
/* NAV */
#services, #faq { background: #fff !important; }
nav{position:fixed;top:0;width:100%;z-index:1000;background:#fff;backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,168,76,.2);}
.nav-inner{max-width:1200px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;color:red;text-decoration:none;color:var(--red); }
.logo span{color:var(--forest);}
.logo img{height: 50px; width: auto;}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none;}
.nav-links a{color:black;text-decoration:none;font-size:.88rem;font-weight:500;transition:.2s;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{background:var(--forest);color:#fff!important;padding:10px 22px;border-radius:6px;font-weight:700!important; color:#fff;}
.nav-cta:hover{background:var(--light-green);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{display:block;width:24px;height:2px;background:black;}
.mobile-menu{display:none;flex-direction:column;position:fixed;top:70px;left:0;width:100%;background:var(--forest);padding:24px;gap:16px;z-index:999;}
.mobile-menu a{color:var(--white);text-decoration:none;font-size:1rem;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1);}
/* HERO */
#home{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden; background-color:#fff ; }

.hero-slides-wrap{position:absolute;inset:0;z-index:0; }
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.8s ease;background-size:cover;background-position:center;}
.hero-slide.active{opacity:1;}
.hero-slide::after{display:none;}

.hero-pattern{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 20% 80%,rgba(201,168,76,.18) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(201,168,76,.12) 0%,transparent 40%);}
.hero-content{max-width:1200px;margin:auto;padding:50px 24px 80px;position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;width:100%;}

.hero-badge{ display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.4);color:#c9a84c;padding:7px 16px;border-radius:50px;font-size:.8rem;font-weight:600;letter-spacing:.5px;margin-bottom:22px;}
/* Wrap text inside span */
.shinetag span {
  position: relative;
}
.shinetag{
     position: relative;
  overflow: hidden;
}
/* Shine effect */
.shinetag span::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.6) 50%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  animation: badgeShine 3s infinite;
}

@keyframes badgeShine {
  0% { left: -120%; }
  100% { left: 200%; }
}

.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:900;color:black;line-height:1.15;margin-bottom:20px;}
.hero-title em{color:var(--forest);font-style:normal;}

.hero-sub{font-size:1.05rem;color:black;line-height:1.75;margin-bottom:34px;max-width:500px;}

.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.btn-gold{background:var(--forest);color:#fff;padding:14px 30px;border-radius:8px;font-weight:700;font-size:.96rem;text-decoration:none;transition:.3s;display:inline-flex;align-items:center;gap:7px;}
.btn-gold:hover{background:var(--light-green);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.4);}
.btn-outline{background:transparent;color:black;padding:14px 30px;border-radius:8px;font-weight:600;font-size:.96rem;text-decoration:none;border:2px solid rgba(255,255,255,.38);transition:.3s;display:inline-flex;align-items:center;gap:7px;}
.btn-outline:hover{border-color:#c9a84c;color:#c9a84c;}

.hero-trust{display:flex;align-items:center;gap:14px;}
.trust-avs{display:flex;}
.trust-av{width:34px;height:34px;border-radius:50%;border:2px solid rgba(201,168,76,.5);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:white;margin-left:-8px;}
.trust-av:first-child{margin-left:0;}
.trust-info strong{color:#c9a84c;display:block;font-size:.86rem;}
.trust-info p{font-size:.78rem;color:rgba(255,255,255,.55);margin:0;}

.hero-card{background:rgba(255,255,255,.07);backdrop-filter:blur(20px);border:1px solid var(--light-green);border-radius:20px;padding:34px;animation:float 4s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.hero-card h3{font-family:'Playfair Display',serif;color:var(--forest);font-size:1.15rem;margin-bottom:18px;}
.check-list{list-style:none;display:flex;flex-direction:column;gap:13px;padding:0;margin:0;}
.check-list li{display:flex;align-items:center;gap:11px;color:black;font-size:.92rem;}
.check-list li i{color:var(--forest);font-size:.85rem;width:18px;}
.card-cta{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);}
.card-cta a{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--forest);color:#fff;padding:13px;border-radius:10px;text-decoration:none;font-weight:700;font-size:.9rem;transition:.3s;}
.card-cta a:hover{background:var(--light-green);}
@media(max-width:1024px){.hero-content{grid-template-columns:1fr;}}
@media(max-width:768px){
  .hero-slide{
    background-position: center top;
  }
}
/* IMAGE SLIDER */
.dp-hero-slider { position: relative; width: 100%; height: calc(100vh - 70px); margin-top: 70px; overflow: hidden; } .dp-slide { position: absolute; inset: 0; background-size: cover; background-position: center top; opacity: 0; transition: opacity 1s ease; } .dp-slide.active { opacity: 1; } .dp-overlay { position: absolute; inset: 0; background: transparent; } .dp-hero-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: #fff; padding: 20px; } .dp-hero-content h1 { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: 20px; } .dp-hero-content p { font-size: 1.1rem; margin-bottom: 30px; color: rgba(255,255,255,0.8); } .dp-btn-primary { background: #c9a84c; color: #0a1628; padding: 14px 30px; border-radius: 8px; text-decoration: none; font-weight: 700; transition: 0.3s; } .dp-btn-primary:hover { background: #e8c97a; } .dp-nav {
  position: absolute;
  bottom: 28px;
  top: auto;
  transform: none;
  background: rgba(0,0,0,0.5);
  border: none;
  color: #fff;
  font-size: 20px;
  width: 48px;
  height: 48px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  cursor: pointer;
  z-index: 5;
  transition: 0.3s;
}
.dp-nav:hover { background: #c9a84c; color: #0a1628; }
.dp-prev { 
  left: 20px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}
.dp-next { 
  right: 20px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}
.dp-hero-btns {
  position: absolute;
  bottom: 120px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  z-index: 10;
  flex-wrap: wrap;
  justify-content: center;
}

.dp-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: .95rem;
  font-weight: 700;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  transition: 0.3s;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}

.dp-btn-call {
  background: #fff;
  color: var(--forest);
  border: 2px solid #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.dp-btn-call:hover {
  background: var(--forest);
  color: #fff;
  border-color: var(--forest);
  transform: translateY(-2px);
}

.dp-btn-consult {
  background: var(--forest);
  color: #fff;
  border: 2px solid var(--forest);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
.dp-btn-consult:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}
@media(max-width:768px){ .dp-hero-slider { height: calc(75vh - 70px); }
}
/* STATS */
.stats-banner{background:var(--navy);border-bottom:1px solid rgba(201,168,76,.15);}
.stats-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);}
.stat-block{padding:30px 20px;text-align:center;border-right:1px solid rgba(201,168,76,.12);transition:.3s;}
.stat-block:last-child{border-right:none;}
.stat-block:hover{background:rgba(201,168,76,.04);}
.stat-block .num{font-family:'Playfair Display',serif;font-size:2.1rem;font-weight:900;color:var(--gold);display:block;line-height:1;}
.stat-block .lbl{color:rgba(255,255,255,.5);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-top:5px;display:block;}
/* SECTIONS */
section{padding:25px 24px;}
.container{max-width:1200px;margin:auto;}
.section-tag{display:inline-flex;align-items:center;gap:7px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.28);color:var(--gold);padding:6px 15px;border-radius:50px;font-size:.76rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:14px;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700;color:var(--navy);margin-bottom:14px;line-height:1.25;}
.section-sub{color:var(--gray);font-size:.97rem;max-width:580px;line-height:1.72;}
.section-header{margin-bottom:56px;}
.section-header.center{text-align:center;}
.section-header.center .section-sub{margin:0 auto;}
/* ABOUT */
#about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-img{position:relative;border-radius:20px;overflow:visible;}
.about-img .main{width:100%;height:440px;object-fit:cover;border-radius:18px;display:block;}
.about-img-float{position:absolute;bottom:-14px;right:-14px;width:148px;height:148px;border-radius:14px;object-fit:cover;border:4px solid var(--white);box-shadow:0 8px 28px rgba(0,0,0,.15);}
.about-badge{position:absolute;top:22px;left:-14px;background:var(--gold);color:var(--navy);padding:14px 18px;border-radius:12px;font-weight:700;text-align:center;box-shadow:0 8px 22px rgba(201,168,76,.4);}
.about-badge .num{font-family:'Playfair Display',serif;font-size:1.8rem;display:block;line-height:1;}
.about-badge .lbl{font-size:.66rem;text-transform:uppercase;letter-spacing:.4px;}
.about-features{display:flex;flex-direction:column;gap:16px;margin:26px 0;}
.feature-item{display:flex;gap:15px;align-items:flex-start;padding:16px;background:var(--light);border-radius:12px;transition:.3s;}
.feature-item:hover{background:rgba(201,168,76,.07);transform:translateX(4px);}
.feature-icon{width:44px;height:44px;min-width:44px;background:rgba(201,168,76,.12);border-radius:11px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.05rem;}
.feature-item h4{font-weight:700;margin-bottom:3px;font-size:.92rem;}
.feature-item p{color:var(--gray);font-size:.84rem;line-height:1.58;}
.media-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid #e5e7eb;}
.media-pill{background:var(--light);padding:5px 13px;border-radius:6px;font-size:.72rem;font-weight:700;color:var(--gray);}
.gallery-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:54px;}
.gallery-row img{width:100%;height:188px;object-fit:cover;border-radius:14px;display:block;transition:.4s;}
.gallery-row img:hover{transform:scale(1.02);box-shadow:0 10px 30px rgba(0,0,0,.12);}
/* SERVICES */
#services{background:var(--light);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service-card{background:var(--white);border-radius:18px;overflow:hidden;transition:.3s;position:relative;}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--forest),var(--light-green));}
.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(10,22,40,.1);}
.svc-img{width:100%;height:162px;object-fit:cover;display:block;}
.svc-body{padding:24px;}
.svc-icon{width:48px;height:48px;background:rgba(201,168,76,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1.15rem;margin-bottom:14px;}
.service-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:9px;}
.service-card p{color:var(--gray);font-size:.86rem;line-height:1.66;}
.svc-link{display:inline-flex;align-items:center;gap:5px;color:var(--forest);font-size:.83rem;font-weight:600;margin-top:13px;text-decoration:none;transition:.2s;}
.svc-link:hover{gap:9px;}
/* TEAM */
#team{background:var(--white);}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.team-card{border-radius:18px;overflow:hidden;background:var(--light);transition:.3s;text-align:center;}
.team-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(10,22,40,.1);}
.team-photo{width:100%;height:220px;object-fit:cover;object-position:top;display:block;}
.team-body{padding:18px 14px 22px;}
.team-body h4{font-family:'Playfair Display',serif;font-size:1.02rem;margin-bottom:4px;}
.team-role{color:var(--gold);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.team-body p{color:var(--gray);font-size:.78rem;line-height:1.54;margin-top:8px;}
/* HOW IT WORKS */
#how-it-works{background:#fff;position:relative;overflow:hidden;}
#how-it-works::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(201,168,76,.08),transparent 60%);}
#how-it-works .section-title{color:black;}
#how-it-works .section-sub{color:black;}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1;}
.step-card{background:var(--forest);border:1px solid rgba(201,168,76,.18);border-radius:18px;padding:28px;text-align:center;transition:.3s;}
.step-card:hover{background:var(--forest);border-color:rgba(201,168,76,.5);transform:translateY(-4px);}
.step-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:900;color:#fff;line-height:1;margin-bottom:8px;}
.step-icon{font-size:1.7rem;color:var(--gold);margin-bottom:12px;}
.step-card h3{color:var(--white);font-size:.97rem;font-weight:600;margin-bottom:9px;}
.step-card p{color:#fff;font-size:.83rem;line-height:1.6;}
.ahs-section {
  margin-top: 66px;
  background: var(--forest);
  border: 1px solid rgba(201,168,76,.18);
  border-radius: 20px;
  padding: 48px 42px 52px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* Subtle radial glow */
.ahs-section::before {
  content: '';
  position: absolute;
  top: -40%; left: -20%;
  width: 140%; height: 140%;
  background: radial-gradient(circle at 30% 60%, rgba(201,168,76,.08) 0%, transparent 60%);
  pointer-events: none;
}

.ahs-title {
  font-family: 'Playfair Display', serif;
  color: var(--white);
  font-size: 1.5rem;
  margin-bottom: 48px;
  text-align: center;
  position: relative;
}

/* ── Flow container ── */
.ahs-flow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: relative;
  gap: 0;
}

/* Each node */
.ahs-node {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  text-align: center;
}

/* Connector between nodes */
.ahs-connector{
  flex:1;min-width:0;position:relative;align-self:flex-start;
  margin-top:29px;
}

/* Static track line */
.ahs-line {
  position: absolute;
  top: 1px; left: 0;
  height: 2px; width: 100%;
  background: rgba(255,255,255,.12);
  overflow: hidden;
}

/* Gold animated fill */
.ahs-line-fill {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  transform: scaleX(0);
  transform-origin: left;
  border-radius: 2px;
}

/* ── Icon circle ── */
.ahs-icon-wrap {
  width: 60px; height: 60px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  color: rgba(255,255,255,.45);
  margin-bottom: 14px;
  position: relative;
  transition: background .4s, border-color .4s, color .4s, transform .4s, box-shadow .4s;
}

/* Active state — gold glow */
.ahs-icon-wrap.ahs-active {
  background: rgba(201,168,76,.22);
  border-color: var(--gold);
  color: var(--gold);
  transform: scale(1.18);
  box-shadow: 0 0 0 6px rgba(201,168,76,.15), 0 0 28px rgba(201,168,76,.35);
}

/* Completed state */
.ahs-icon-wrap.ahs-done {
  background: rgba(201,168,76,.18);
  border-color: rgba(201,168,76,.6);
  color: var(--gold-light);
}

/* Pulse ring on active */
.ahs-icon-wrap.ahs-active::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(201,168,76,.4);
  animation: ahs-pulse 1.2s ease-out infinite;
}

@keyframes ahs-pulse {
  0%   { transform: scale(1);   opacity: 1; }
  100% { transform: scale(1.5); opacity: 0; }
}

/* ── Node label ── */
.ahs-label {
  color: rgba(255,255,255,.55);
  font-size: .72rem;
  line-height: 1.5;
  font-weight: 500;
  max-width: 80px;
  transition: color .4s;
}
.ahs-node.ahs-node-active .ahs-label { color: #fff; font-weight: 700; }
.ahs-node.ahs-node-done   .ahs-label { color: rgba(255,255,255,.75); }

/* ── Step number badge ── */
.ahs-step-num {
  position: absolute;
  top: -6px; right: -6px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-size: .58rem; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transition: opacity .3s;
}
.ahs-icon-wrap.ahs-done   .ahs-step-num,
.ahs-icon-wrap.ahs-active .ahs-step-num { opacity: 1; }

/* ── Travelling gold dot ── */
.ahs-dot-traveller {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px var(--gold), 0 0 16px rgba(201,168,76,.6);
  pointer-events: none;
  opacity: 0;
}
.process-img{width:100%;height:290px;object-fit:cover;border-radius:18px;margin-top:54px;display:block;position:relative;z-index:1;}
@keyframes dot-travel {
  0%   { left: 0%;   opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* ── Mobile: vertical layout ── */
@media (max-width: 768px) {
  .ahs-section { padding: 32px 20px 40px; }
  .ahs-flow { flex-direction: column; align-items: flex-start; }
  .ahs-node { flex-direction: row; gap: 16px; align-self: stretch; text-align: left; flex: none; width: 100%; }
  .ahs-connector { flex: none; width: 2px; height: 36px; margin-top: 0; margin-left: 29px; }
  .ahs-line { width: 2px; height: 100%; top: 0; left: 0; }
  .ahs-line-fill { transform: scaleY(0); transform-origin: top; width: 2px; height: 100%; }
  .ahs-label { max-width: 220px; }
  .ahs-dot-traveller { left: 50% !important; }
  @keyframes dot-travel {
    0%   { top: 0%;   opacity: 1; }
    100% { top: 100%; opacity: 0; }
  }
}
/* TESTIMONIALS */
#testimonials{background:var(--white);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.testi-card{background:var(--light);border-radius:18px;padding:28px;transition:.3s;}
.testi-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(10,22,40,.08);}
.testi-quote{font-size:3.2rem;line-height:1;color:rgba(201,168,76,.28);font-family:Georgia,serif;margin-bottom:6px;}
.testi-stars{color:var(--gold);font-size:.83rem;margin-bottom:12px;letter-spacing:2px;}
.testi-text{color:var(--gray);font-size:.88rem;line-height:1.7;margin-bottom:18px;}
.testi-author{display:flex;align-items:center;gap:11px;}
.testi-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:white;font-size:.88rem;flex-shrink:0;}
.testi-name{font-weight:700;font-size:.88rem;}
.testi-city{color:var(--gray);font-size:.74rem;}
.verified{display:inline-flex;align-items:center;gap:4px;background:rgba(26,122,74,.1);color:var(--green);font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:4px;margin-top:3px;}
/* FAQ */
#faq{background:var(--light);}
.faq-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:58px;align-items:start;}
.faq-img{width:100%;height:355px;object-fit:cover;border-radius:18px;display:block;}
.faq-cta-box{background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.28);border-radius:14px;padding:20px;margin-top:18px;text-align:center;}
.faq-cta-box p{color:var(--gray);font-size:.84rem;font-weight:600;margin-bottom:11px;}
.faq-list{display:flex;flex-direction:column;gap:9px;}
.faq-item{background:var(--white);border-radius:12px;overflow:hidden;border:1px solid #e5e7eb;}
.faq-item.open{border-color:rgba(201,168,76,.38);}
.faq-q{width:100%;background:none;border:none;padding:17px 18px;text-align:left;font-size:.89rem;font-weight:600;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'DM Sans',sans-serif;gap:10px;}
.faq-q i{color:var(--gold);flex-shrink:0;transition:.3s;}
.faq-item.open .faq-q i{transform:rotate(45deg);}
.faq-item.open .faq-q{color:var(--gold);}
.faq-a{max-height:0;overflow:hidden;transition:.36s ease;color:var(--gray);font-size:.85rem;line-height:1.68;}
.faq-item.open .faq-a{max-height:200px;padding:0 18px 16px;}
/* CONTACT */
*, *::before, *::after { box-sizing: border-box; }

#contact { background: var(--white); position: relative; overflow: hidden; padding: 88px 24px;backdrop-filter:blur(12px); }
#contact::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 70%, rgba(201,168,76,.07), transparent 50%); pointer-events: none; }

#contact .section-header { margin-bottom: 48px; }
#contact .section-tag { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid rgba(201,168,76,.3); color: #c9a84c; padding: 6px 14px; border-radius: 50px; font-size: .75rem; font-weight: 700; letter-spacing: .5px; margin-bottom: 14px; }
#contact .section-title { font-family: 'Playfair Display', serif; font-size: clamp(1.7rem, 3.5vw, 2.5rem); font-weight: 900; color: black; margin-bottom: 12px; line-height: 1.2; }
#contact .section-sub { color: black; font-size: .95rem; line-height: 1.7; max-width: 580px; }

.contact-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; position: relative; z-index: 1; }

.contact-top-img { width: 100%; height: 188px; object-fit: cover; border-radius: 16px; margin-bottom: 22px; border: 2px solid rgba(201,168,76,.18); display: block; }

.ci-cards { display: flex; flex-direction: column; gap: 12px; }
.ci-card { display: flex; align-items: flex-start; gap: 13px; background:var(--forest); border: 1px solid var(--forest); border-radius: 12px; padding: 15px; transition: .2s; }
.ci-card:hover { border-color:var(--forest); background:var(--light-green); }
.ci-icon { width: 40px; height: 40px; min-width: 40px; background: rgba(201,168,76,.12); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #c9a84c; font-size: .92rem; }
.ci-label { font-size: .68rem; color:#fff; text-transform: uppercase; letter-spacing: .4px; font-weight: 600; }
.ci-val { color: #fff; font-size: .88rem; font-weight: 600; margin-top: 2px; word-break: break-word; line-height: 1.5; }

.map-wrap { margin-top: 18px; border-radius: 14px; overflow: hidden; border: 2px solid rgba(201,168,76,.18); }
.map-wrap iframe { width: 100%; height: 215px; border: 0; display: block; }

.contact-form-box { background: rgba(255,255,255,.055); border: 1px solid rgba(201,168,76,.18); border-radius: 20px; padding: 32px; width: 100%; }
.form-title { font-family: 'Playfair Display', serif; color: var(--forest); font-size: 1.45rem; margin-bottom: 5px; }
.form-subtitle { color: black; font-size: .84rem; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.07); }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: flex; align-items: center; gap: 5px; font-size: .76rem; font-weight: 700; color: black; margin-bottom: 7px; text-transform: uppercase; letter-spacing: .3px; }
.form-group label i { color: #c9a84c; font-size: .7rem; }
.form-group input,
.form-group textarea,
.form-group select { width: 100%; background: var(--grey); border: 1px solid rgba(255,255,255,.13); border-radius: 10px; padding: 12px 15px; color: var(--gray); font-size: .9rem; font-family: 'DM Sans', sans-serif; outline: none; transition: .2s; }
.form-group input::placeholder,
.form-group textarea::placeholder { color: white; }
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color: #c9a84c; background: rgba(201,168,76,.05); box-shadow: 0 0 0 3px rgba(201,168,76,.1); }
.form-group select option { background: var(--grey); color: black; }
.form-group textarea { resize: vertical; min-height: 108px; }

.form-submit-btn { width: 100%; background: var(--forest); color: var(--white); border: none; padding: 15px; border-radius: 10px; font-size: .97rem; font-weight: 700; cursor: pointer; font-family: 'DM Sans', sans-serif; transition: .3s; display: flex; align-items: center; justify-content: center; gap: 8px; }
.form-submit-btn:hover { background: var(--light-green); transform: translateY(-1px); }
.form-submit-btn:disabled { opacity: .65; cursor: not-allowed; transform: none; }

.form-error-box { display: none; background: rgba(192,57,43,.14); border: 1px solid rgba(192,57,43,.38); color: #f87171; padding: 12px 15px; border-radius: 10px; margin-top: 11px; font-size: .83rem; }
.form-success-box { display: none; background: rgba(26,122,74,.14); border: 1px solid rgba(26,122,74,.38); color: #4ade80; padding: 18px; border-radius: 12px; margin-top: 11px; text-align: center; font-size: .88rem; line-height: 1.6; }
.form-success-box i { font-size: 1.7rem; margin-bottom: 7px; display: block; }
.form-privacy { text-align: center; color: var(--forest); font-size: .72rem; margin-top: 11px; display: flex; align-items: center; justify-content: center; gap: 5px; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .contact-form-box { padding: 24px; }
}
@media (max-width: 768px) {
  #contact { padding: 60px 16px; }
  .contact-layout { gap: 24px; }
  .contact-form-box { padding: 20px; border-radius: 14px; }
  .form-title { font-size: 1.2rem; }
  .form-row { grid-template-columns: 1fr; }
  .contact-top-img { height: 160px; }
  .map-wrap iframe { height: 180px; }
  .ci-card { padding: 12px; }
  .ci-val { font-size: .82rem; }
}
@media (max-width: 480px) {
  .contact-form-box { padding: 16px; border-radius: 12px; }
  .form-group input,
  .form-group textarea,
  .form-group select { padding: 10px 12px; font-size: .85rem; }
  .form-submit-btn { padding: 13px; font-size: .88rem; }
  .form-title { font-size: 1.1rem; }
  .ci-icon { width: 34px; height: 34px; min-width: 34px; }
}
/* FOOTER */
footer { background: var(--dark-grey); padding: 70px 24px 28px; --gold: #c9a84c; --gold-light: #e8c97a; --navy: #0a1628; }
.footer-grid { max-width: 1200px; margin: auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 46px; margin-bottom: 46px; }
.footer-logo { text-decoration: none; display: inline-block; margin-bottom: 14px; }
.footer-logo img { height: 100px; width: auto; object-fit: contain; display: block; }
footer p.desc { color: #fff; font-size: .84rem; line-height: 1.68; margin-bottom: 20px; }
.f-socials { display: flex; gap: 9px; }
.fsc { width: 37px; height: 37px; border-radius: 9px; display: flex; align-items: center; justify-content: center; color: white; text-decoration: none; font-size: .88rem; transition: .3s; }
.fsc:hover { transform: translateY(-2px); }
.fsc-fb { background: #1877f2; }
.fsc-ig { background: linear-gradient(135deg, #405de6, #c13584, #fd1d1d); }
.fsc-yt { background: #ff0000; }
.fsc-tw { background: #1da1f2; }
.fsc-li { background: #0077b5; }
.footer-col h4 { color: var(--gold); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; margin-bottom: 16px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; padding: 0; margin: 0; }
.footer-col ul li a { color: #fff; text-decoration: none; font-size: .84rem; transition: .2s; }
.footer-col ul li a:hover { color: var(--gold); }
.footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.05); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.footer-bottom p, .footer-bottom a { color: white; font-size: .76rem; text-decoration: none; }
.footer-bottom a:hover { color: var(--gold); }
.disclaimer { background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.05); border-radius: 10px; padding: 14px 18px; max-width: 1200px; margin: 24px auto 0; color: #fff; font-size: .72rem; line-height: 1.58; }
.disclaimer a { color: var(--gold); }

@media (max-width: 1024px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .footer-grid { grid-template-columns: 1fr; gap: 28px; } footer { padding: 50px 16px 24px; } }

/* SCROLL TOP */
.scroll-top{position:fixed;bottom:98px;right:28px;width:40px;height:40px;background:var(--navy);border:1px solid rgba(201,168,76,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:1998;opacity:0;pointer-events:none;transition:.3s;font-size:.82rem;}
.scroll-top.visible{opacity:1;pointer-events:all;}
.scroll-top:hover{background:var(--gold);color:var(--navy);}

/* RESPONSIVE */
@media(max-width:1024px){
  .hero-content,.about-grid,.contact-layout,.faq-layout{grid-template-columns:1fr;}
  .services-grid,.steps-grid,.testi-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
  .reels-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid,.footer-grid,.stats-inner{grid-template-columns:repeat(2,1fr);}
  .ahs-steps{grid-template-columns:repeat(3,1fr);}
  .gallery-row{grid-template-columns:1fr 1fr;}
  .media-cards{grid-template-columns:1fr 1fr;}
  .about-img-float{display:none;}
}
@media(max-width:768px){
  .nav-links{display:none;}.hamburger{display:flex; }
  .services-grid,.testi-grid,.blog-grid,.steps-grid{grid-template-columns:1fr;}
  .reels-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .chat-window{width:calc(100vw - 28px);right:14px;}
  .ahs-steps{grid-template-columns:repeat(2,1fr);}
  .media-cards{grid-template-columns:1fr;}
}
@media(max-width:480px){.reels-grid,.team-grid{grid-template-columns:1fr;}}

/* ═══════════════════════════════════════════════
   SCROLL-TRIGGERED ANIMATION SYSTEM
   ═══════════════════════════════════════════════ */

/* Base hidden state */
[data-anim] {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition-property: opacity, transform, filter;
  will-change: opacity, transform;
}

/* Variants */
[data-anim="fade-up"]    { transform: translateY(52px); }
[data-anim="fade-down"]  { transform: translateY(-40px); }
[data-anim="fade-left"]  { transform: translateX(-60px); }
[data-anim="fade-right"] { transform: translateX(60px); }
[data-anim="zoom-in"]    { transform: scale(0.86); }
[data-anim="zoom-out"]   { transform: scale(1.1); }
[data-anim="flip-up"]    { transform: perspective(800px) rotateX(24deg) translateY(28px); }
[data-anim="slide-blur"] { transform: translateY(38px); filter: blur(10px); }

/* Revealed state */
[data-anim].anim-revealed {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Durations */
[data-anim-dur="fast"]   { transition-duration: 0.42s; }
[data-anim-dur="normal"] { transition-duration: 0.72s; }
[data-anim-dur="slow"]   { transition-duration: 1.08s; }
[data-anim-dur="slower"] { transition-duration: 1.5s;  }

/* Stagger delays */
[data-anim-delay="0"] { transition-delay: 0ms;   }
[data-anim-delay="1"] { transition-delay: 110ms; }
[data-anim-delay="2"] { transition-delay: 220ms; }
[data-anim-delay="3"] { transition-delay: 330ms; }
[data-anim-delay="4"] { transition-delay: 440ms; }
[data-anim-delay="5"] { transition-delay: 550ms; }
[data-anim-delay="6"] { transition-delay: 660ms; }
[data-anim-delay="7"] { transition-delay: 770ms; }
[data-anim-delay="8"] { transition-delay: 880ms; }

/* Accent underline draw-in */
.section-line {
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--forest), var(--gold));
  width: 0;
  border-radius: 2px;
  margin: 10px auto 26px;
  transition: width 1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}
.section-line.anim-revealed { width: 68px; }

/* Hero card pulse ring on reveal */
.hero-card[data-anim].anim-revealed {
  animation: float 4s ease-in-out infinite;
}

/* Stat block shimmer on hover */
.stat-block { overflow: hidden; position: relative; }
.stat-block::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(201,168,76,.08) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}
.stat-block:hover::after { transform: translateX(100%); }

/* Step card connector dots */
.step-card { position: relative; }

/* FAQ item slide-in from right with stagger already handled by data-anim-delay */

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  [data-anim], [data-anim].anim-revealed {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  .section-line, .section-line.anim-revealed {
    transition: none !important;
    width: 68px !important;
  }
}
.dp-slider-text-box{position:absolute;top:40%;left:8%;transform:translateY(-50%);z-index:10;color:#fff;pointer-events:none;text-shadow:0 4px 12px rgba(0,0,0,.5)}.dp-slider-text-box h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,4.5rem);font-weight:900;line-height:1.2;margin:0;display:flex;align-items:center;flex-wrap:wrap}.dp-typing-text{color:var(--gold);margin-left:12px}.dp-cursor{display:inline-block;width:4px;background-color:var(--gold);margin-left:4px;animation:dp-blink .8s infinite;height:1em}.dp-cursor.typing{animation:none}@keyframes dp-blink{0%,100%{opacity:1}50%{opacity:0}}@media(max-width:768px){.dp-slider-text-box{top:30%;left:50%;transform:translate(-50%,-50%);text-align:center;width:95%}.dp-slider-text-box h2{justify-content:center;font-size:2.8rem}} /* BACKGROUND MUSIC */
.music-toggle-btn{position:fixed;bottom:28px;left:28px;width:45px;height:45px;background:var(--navy);border:1px solid rgba(201,168,76,.28);border-radius:50%;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:.3s}.music-toggle-btn:hover{background:var(--gold);color:var(--navy)}

