/* =========================================================
   ABOUT PAGE — PREMIUM REDESIGN
   Scoped under the `ap-` namespace so nothing here touches
   the header, footer, or any other page on the site.
   Uses the existing tokens defined in shared.css:
   --ivory --ivory-deep --paper --navy --navy-deep --gold
   --gold-light --gold-deep --saffron --saffron-deep --maroon
   --charcoal --muted --font-display --font-body
========================================================= */

.ap-container{max-width:1400px; margin:0 auto; padding:0 32px;}

.ap-page{background:var(--paper);}

.ap-eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-body); font-size:12.5px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep);
  margin-bottom:18px;
}
.ap-eyebrow::before{content:""; width:28px; height:1px; background:linear-gradient(90deg, var(--saffron), var(--gold));}
.ap-eyebrow--center{justify-content:center;}
.ap-eyebrow--center::before{display:none;}

.ap-divider{width:64px; height:2px; border-radius:999px; background:linear-gradient(90deg, var(--gold-deep), var(--saffron)); margin:0 0 22px;}
.ap-divider--center{margin-left:auto; margin-right:auto;}

/* ---------------------------------------------------------
   Reveal-on-scroll (JS toggles .is-visible)
--------------------------------------------------------- */
.ap-reveal{opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);}
.ap-reveal.is-visible{opacity:1; transform:translateY(0);}
.ap-reveal--left{transform:translateX(-36px);}
.ap-reveal--left.is-visible{transform:translateX(0);}
.ap-reveal--right{transform:translateX(36px);}
.ap-reveal--right.is-visible{transform:translateX(0);}
.ap-reveal--delay-1{transition-delay:.1s;}
.ap-reveal--delay-2{transition-delay:.2s;}
.ap-reveal--delay-3{transition-delay:.3s;}
.ap-reveal--delay-4{transition-delay:.4s;}
@media (prefers-reduced-motion: reduce){
  .ap-reveal, .ap-reveal--left, .ap-reveal--right{opacity:1; transform:none; transition:none;}
}

/* ===========================================================
   SECTION 1 — HERO  (premium luxury redesign)
=========================================================== */
.ap-hero.premium-hero{
  position:relative;
  min-height:90vh;
  display:flex; align-items:center;
  padding:160px 0 100px;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 80% 0%, rgba(212,175,55,.10), transparent 55%),
    linear-gradient(160deg, #0B1220 0%, #111827 55%, #0B1220 100%);
  isolation:isolate;
}
.ap-hero.premium-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 85% 8%, rgba(255,185,0,.16), transparent 42%),
    radial-gradient(circle at 4% 96%, rgba(226,132,31,.12), transparent 40%);
  pointer-events:none;
}
/* soft fade at the base so the transition into the next section
   reads as intentional rather than an abrupt cut */
.ap-hero.premium-hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:120px; z-index:1;
  background:linear-gradient(180deg, transparent, var(--paper));
  pointer-events:none;
}
.ap-hero > *{position:relative; z-index:2;}
.ap-hero-mandala{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
/* nudged down/right and dimmed slightly so its center point doesn't land
   directly behind the floating circle badge in the top-left of the visual —
   avoids the "bullseye behind the photo" clash */
.ap-hero-mandala svg{position:absolute; top:58%; right:-14%; width:min(62vw, 860px); height:min(62vw, 860px); transform:translateY(-50%); opacity:.3;}
.ap-hero-mandala .ap-ring{transform-origin:center; animation:apSpin 140s linear infinite;}
.ap-hero-mandala .ap-ring--rev{animation-direction:reverse; animation-duration:190s;}
@keyframes apSpin{ to{ transform:rotate(360deg); } }

/* soft golden lighting glows, purely decorative */
.ap-hero-glow{position:absolute; z-index:0; border-radius:50%; filter:blur(70px); pointer-events:none;}
.ap-hero-glow--1{top:-10%; right:8%; width:420px; height:420px; background:radial-gradient(circle, rgba(212,175,55,.22), transparent 70%);}
.ap-hero-glow--2{bottom:-15%; left:-6%; width:380px; height:380px; background:radial-gradient(circle, rgba(226,132,31,.16), transparent 70%);}

/* glowing gold particles drifting upward */
.ap-hero-particles{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.ap-hero-particles span{
  position:absolute; bottom:-10px; width:4px; height:4px; border-radius:50%;
  background:var(--gold-light, #E9D3A0); box-shadow:0 0 8px 2px rgba(212,175,55,.7);
  opacity:0; animation:apParticleRise 11s ease-in infinite;
}
.ap-hero-particles span:nth-child(1){left:6%; animation-delay:0s; animation-duration:12s;}
.ap-hero-particles span:nth-child(2){left:16%; animation-delay:1.3s; animation-duration:9.5s;}
.ap-hero-particles span:nth-child(3){left:27%; animation-delay:2.6s; animation-duration:13s;}
.ap-hero-particles span:nth-child(4){left:38%; animation-delay:.7s; animation-duration:10.5s;}
.ap-hero-particles span:nth-child(5){left:49%; animation-delay:3.4s; animation-duration:11.5s;}
.ap-hero-particles span:nth-child(6){left:60%; animation-delay:1.9s; animation-duration:9s;}
.ap-hero-particles span:nth-child(7){left:70%; animation-delay:4.1s; animation-duration:12.5s;}
.ap-hero-particles span:nth-child(8){left:80%; animation-delay:2.2s; animation-duration:10s;}
.ap-hero-particles span:nth-child(9){left:90%; animation-delay:.4s; animation-duration:13.5s;}
.ap-hero-particles span:nth-child(10){left:95%; animation-delay:3.8s; animation-duration:9.8s;}
@keyframes apParticleRise{
  0%{opacity:0; transform:translateY(0) scale(.6);}
  12%{opacity:.9;}
  85%{opacity:.5;}
  100%{opacity:0; transform:translateY(-70vh) scale(1.1);}
}

@media (prefers-reduced-motion: reduce){
  .ap-hero-mandala .ap-ring, .hero-floating-circle, .hero-floating-circle::before,
  .ap-hero-particles span, .ap-hero-frame, .ap-hero-zodiac svg,
  .ap-hero-fade{animation:none !important; opacity:1 !important; transform:none !important;}
}

.ap-hero-grid{position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center;}

/* text-reveal fade-in for the hero copy, staggered, runs on load
   (independent of the scroll-triggered .ap-reveal system, since the
   hero is visible without scrolling) */
.ap-hero-fade{opacity:0; transform:translateY(18px); animation:apHeroFade .8s cubic-bezier(.22,.61,.36,1) forwards;}
.ap-hero-fade--1{animation-delay:.05s;}
.ap-hero-fade--2{animation-delay:.18s;}
.ap-hero-fade--3{animation-delay:.32s;}
.ap-hero-fade--4{animation-delay:.46s;}
.ap-hero-fade--5{animation-delay:.6s;}
@keyframes apHeroFade{ to{opacity:1; transform:translateY(0);} }

.ap-hero-copy .ap-eyebrow{color:var(--gold-light);}
.ap-hero-copy .ap-eyebrow::before{background:linear-gradient(90deg, var(--gold), var(--gold-light));}
.ap-hero-copy h1{
  font-family:var(--font-display); font-weight:600; color:#F8F5EF;
  font-size:clamp(2.6rem, 4.8vw, 4.3rem); line-height:1.16; margin:0 0 24px;
  text-shadow:0 2px 28px rgba(0,0,0,.28);
}
.ap-hero-copy h1 em{font-style:italic; color:var(--gold-light, #E9D3A0);}
.ap-hero-copy .ap-lead{font-size:clamp(16px,1.4vw,18.5px); color:rgba(248,245,239,.74); max-width:520px; line-height:1.85; margin-bottom:36px;}
.ap-hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:40px;}
.ap-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 32px; border-radius:999px; font-weight:600; font-size:15px;
  font-family:var(--font-body); white-space:nowrap; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}
.ap-btn:hover{transform:translateY(-3px);}
.ap-btn-gold{background:linear-gradient(135deg, var(--saffron), var(--saffron-deep)); color:#FFFDF8; box-shadow:0 18px 36px -14px rgba(181,98,14,0.55);}
.ap-btn-gold:hover{box-shadow:0 22px 48px -14px rgba(181,98,14,0.65);}
.ap-btn-outline{border:1.5px solid rgba(16,27,54,0.18); color:var(--navy); background:transparent;}
.ap-btn-outline:hover{border-color:var(--gold-deep); color:var(--gold-deep); background:var(--ivory-deep);}
/* the hero sits on a dark background — the outline button needs its
   own light-on-dark treatment, or it's invisible against the photo */
.ap-hero-ctas .ap-btn-outline{border-color:rgba(247,241,228,.38); color:#F7F1E4;}
.ap-hero-ctas .ap-btn-outline:hover{border-color:var(--gold-light); color:var(--gold-light); background:rgba(255,255,255,.07);}

/* WhatsApp CTA — glassy gold-outline secondary button, premium not neon */
.ap-btn-whatsapp{
  border:1.5px solid rgba(212,175,55,.45); color:#F8F5EF;
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  backdrop-filter:blur(8px);
}
.ap-btn-whatsapp svg{color:#25D366; flex-shrink:0;}
.ap-btn-whatsapp:hover{border-color:var(--gold-light); background:rgba(212,175,55,.1); box-shadow:0 18px 36px -18px rgba(212,175,55,.45);}

/* premium horizontal trust / stats row — a 4-column grid (not flex-wrap)
   so every icon and number lines up cleanly instead of drifting based on
   how long each label happens to be */
.ap-hero-trust{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  column-gap:20px; row-gap:22px;
  padding-top:26px; border-top:1px solid rgba(212,175,55,.2);
}
.ap-hero-trust-item{display:flex; align-items:center; gap:12px; min-width:0;}
.ap-hero-trust-icon{
  width:38px; height:38px; border-radius:12px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(212,175,55,.12); border:1px solid rgba(212,175,55,.28);
}
.ap-hero-trust-item b{display:flex; align-items:center; gap:6px; font-family:var(--font-display); font-size:19px; color:#F8F5EF; line-height:1.2;}
.ap-hero-trust-item span{display:block; font-size:12px; color:rgba(248,245,239,.6); letter-spacing:.02em; margin-top:2px;}
.ap-hero-stars{font-size:11px; color:var(--gold-light, #E9D3A0); letter-spacing:1px;}

.ap-hero-visual{position:relative;}
.ap-hero-visual::before{
  content:""; position:absolute; inset:20px -20px -20px 20px;
  border:1.5px solid rgba(212,175,55,.35); border-radius:26px; z-index:-1;
}
/* soft radial glow behind the image card */
.ap-hero-visual-glow{
  position:absolute; inset:-40px; z-index:-1; border-radius:40px;
  background:radial-gradient(60% 60% at 50% 40%, rgba(212,175,55,.28), transparent 70%);
  filter:blur(30px); pointer-events:none;
}
.ap-hero-frame{
  position:relative; border-radius:24px; overflow:hidden;
  box-shadow:0 40px 90px -28px rgba(0,0,0,.55), 0 0 0 1px rgba(212,175,55,.35);
  border:1px solid rgba(212,175,55,.5);
  aspect-ratio:4/5;
  animation:apHeroFloat 6s ease-in-out infinite;
}
.ap-hero-frame img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
.ap-hero-visual:hover .ap-hero-frame img{transform:scale(1.06);}
.ap-hero-frame::after{
  content:""; position:absolute; inset:14px; border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.3);
  pointer-events:none;
}
@keyframes apHeroFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-14px);}
}

/* small rotating zodiac ring, overlapping the bottom-left of the card */
.ap-hero-zodiac{position:absolute; left:-34px; bottom:-30px; z-index:3; width:120px; height:120px; pointer-events:none;}
.ap-hero-zodiac svg{width:100%; height:100%; animation:apSpin 90s linear infinite;}

.ap-hero-badge{
  position:absolute; right:-20px; top:24px; left:auto; bottom:auto; z-index:2;
  background:rgba(11,18,32,0.82); backdrop-filter:blur(12px);
  border-radius:18px; padding:16px 22px 16px 18px; box-shadow:0 26px 54px -20px rgba(0,0,0,0.5);
  border:1px solid rgba(212,175,55,0.4);
  display:flex; gap:12px; align-items:center; max-width:220px;
  animation:apHeroFloat 5s ease-in-out infinite; animation-delay:.4s;
}
.ap-hero-badge-icon{font-size:22px; line-height:1;}
.ap-hero-badge b{display:block; font-family:var(--font-display); font-size:20px; color:var(--gold-light, #E9D3A0); line-height:1;}
.ap-hero-badge span{font-size:11.5px; color:rgba(248,245,239,.72); letter-spacing:.02em;}

/* Decorative floating circle (injected by hero-circle.js).
   Base rule keeps it out of normal flow on desktop, where it has room to
   float beside the copy; the mobile override below pulls it back into
   flow, centered above the heading, so it never overlaps the text. */
.hero-floating-circle{
  position:absolute; top:-10px; left:-10px; z-index:3;
  width:120px; height:120px;
  animation:apHeroFloat 7s ease-in-out infinite; animation-delay:.2s;
}
/* soft gold halo behind the badge — reads as a deliberate glow rather than
   an accidental overlap with the mandala spokes, and helps the circle lift
   cleanly off busy backgrounds at any position */
.hero-floating-circle::after{
  content:""; position:absolute; inset:-28px; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.38), rgba(212,175,55,.1) 55%, transparent 75%);
  filter:blur(16px); pointer-events:none;
}
.hero-floating-circle::before{
  content:""; position:absolute; inset:-7px; border-radius:50%;
  border:1px dashed rgba(212,175,55,.6);
  animation:apSpin 60s linear infinite;
}
.hero-floating-circle img{
  width:100%; height:100%; border-radius:50%; object-fit:cover; display:block;
  border:3px solid var(--gold);
  box-shadow:0 20px 40px -14px rgba(0,0,0,.6), 0 0 0 6px rgba(11,18,32,.5);
}
.team-trust-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin:50px auto;
    max-width:1200px;
}

.team-trust-row .trust-stat{
    background:#fff;
    border:1px solid rgba(201,150,63,.15);
    border-radius:18px;
    padding:24px 18px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:.3s ease;
}

.team-trust-row .trust-stat:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 40px rgba(201,150,63,.18);
}

.team-trust-row h3{
    margin:0;
    font-size:2rem;
    color:#c88418;
    font-weight:800;
}

.team-trust-row p{
    margin-top:8px;
    font-size:.95rem;
    color:#555;
    line-height:1.5;
    font-weight:600;
}

@media(max-width:992px){
    .team-trust-row{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){
    .team-trust-row{
        grid-template-columns:1fr;
        gap:15px;
    }

    .team-trust-row h3{
        font-size:1.7rem;
    }
}
@media (max-width:1024px){
  .ap-hero-grid{grid-template-columns:1fr; gap:48px;}
  .ap-hero-visual{order:-1; max-width:420px; margin:0 auto;}
  .ap-hero-visual::before{display:none;}
  .ap-hero{min-height:auto; padding:130px 0 64px;}
  .ap-hero-zodiac{width:96px; height:96px; left:-20px; bottom:-20px;}

  /* Pull the circle out of absolute positioning and into normal flow,
     centered above the eyebrow/heading, with no overlap.
     `.ap-hero` is a flex row, so the badge must also be explicitly
     detached from flex stretching (flex:0 0 auto) or it can be
     pulled to fill the row's height. `relative` (not `static`) is
     used so it stays its OWN positioning context for its ::before
     ring — `static` breaks that reference and the ring falls back
     to `.ap-hero` (the full-height section), rendering as a huge
     stretched ellipse instead of a small dashed circle. */
  .ap-hero .hero-floating-circle{
    position:relative !important;
    inset:auto !important; top:auto !important; left:auto !important;
    right:auto !important; bottom:auto !important; transform:none !important;
    display:block !important; flex:0 0 auto !important; align-self:center !important;
    width:96px !important; height:96px !important; max-width:96px !important; max-height:96px !important;
    aspect-ratio:1/1 !important; margin:0 auto 24px !important; overflow:hidden !important;
  }
  .ap-hero .hero-floating-circle::before, .ap-hero .hero-floating-circle::after{display:none !important;}
  .ap-hero .hero-floating-circle img{
    width:100% !important; height:100% !important; aspect-ratio:1/1 !important;
    object-fit:cover !important; border-radius:50% !important;
  }
}
@media (max-width:600px){
  .ap-hero-badge{right:12px; top:-18px; padding:12px 16px 12px 14px;}
  .ap-hero-ctas .ap-btn{width:100%;}
  .ap-hero-ctas{flex-direction:column;}
  .ap-hero-trust{grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:16px; row-gap:22px;}
  .ap-hero-zodiac{display:none;}
  .ap-hero-particles span:nth-child(n+6){display:none;}

  .ap-hero .hero-floating-circle{
    width:84px !important; height:84px !important; max-width:84px !important; max-height:84px !important;
    aspect-ratio:1/1 !important; margin:0 auto 20px !important;
  }
}

/* ===========================================================
   SECTION 2 — OUR STORY
=========================================================== */
.ap-story{padding:120px 0; background:var(--paper);}
.ap-story-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:80px; align-items:center;}
.ap-story-media{position:relative; border-radius:26px; overflow:hidden; aspect-ratio:3/4; box-shadow:0 30px 70px -26px rgba(16,27,56,0.3);}
.ap-story-media img{width:100%; height:100%; object-fit:cover; display:block;}
.ap-story-copy h2{font-family:var(--font-display); font-size:clamp(1.9rem,3vw,2.6rem); color:var(--navy); margin:0 0 20px; line-height:1.2;}
.ap-story-copy > p{color:var(--muted); font-size:16px; line-height:1.85; max-width:600px; margin-bottom:36px;}

.ap-timeline{position:relative; display:grid; gap:0;}
.ap-timeline::before{content:""; position:absolute; left:19px; top:10px; bottom:10px; width:2px; background:linear-gradient(180deg, var(--gold), var(--saffron-deep));}
.ap-tl-item{position:relative; padding:0 0 40px 60px;}
.ap-tl-item:last-child{padding-bottom:0;}
.ap-tl-dot{position:relative; position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%; background:var(--paper); border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; color:var(--gold-deep); font-size:15px; box-shadow:0 10px 22px -10px rgba(212,175,55,0.5);}
.ap-tl-item h3{font-family:var(--font-display); font-size:20px; color:var(--navy); margin-bottom:6px;}
.ap-tl-item p{color:var(--muted); font-size:14.5px; line-height:1.7; max-width:480px;}

@media (max-width:1024px){ .ap-story-grid{grid-template-columns:1fr; gap:48px;} .ap-story-media{max-width:460px; margin:0 auto;} }
@media (max-width:600px){ .ap-story{padding:80px 0;} }

/* ===========================================================
   SECTION 3 — FOUNDER SPOTLIGHT
=========================================================== */
.ap-founder{padding:0 0 120px;}
.ap-founder-card{
  background:linear-gradient(150deg, #111D3A 0%, #0F1A36 100%);
  border-radius:32px; color:#F4EFE1; overflow:hidden;
  display:grid; grid-template-columns:0.8fr 1.2fr;
  box-shadow:0 40px 90px -30px rgba(8,14,31,0.5);
  position:relative; isolation:isolate;
}
.ap-founder-card::before{content:""; position:absolute; inset:0; z-index:0; background:radial-gradient(60% 80% at 90% 0%, rgba(212,175,55,0.16), transparent 60%);}
.ap-founder-media{position:relative; z-index:1; min-height:420px;}
.ap-founder-media img{width:100%; height:100%; object-fit:cover; display:block;}
.ap-founder-body{position:relative; z-index:1; padding:56px 56px 56px 48px; display:flex; flex-direction:column; justify-content:center;}
.ap-founder-body .ap-eyebrow{color:var(--gold-light);}
.ap-founder-body .ap-eyebrow::before{background:linear-gradient(90deg, var(--gold), var(--gold-light));}
.ap-founder-body h2{font-family:var(--font-display); font-size:clamp(1.9rem,2.8vw,2.5rem); color:#FDF9EF; margin-bottom:6px; line-height:1.15;}
.ap-founder-role{font-size:14.5px; color:var(--gold-light); font-weight:600; letter-spacing:.03em; margin-bottom:24px;}
.ap-founder-body p.ap-bio{color:#D9D2BE; font-size:15.5px; line-height:1.85; max-width:560px; margin-bottom:28px;}
.ap-founder-stats{display:flex; gap:36px; flex-wrap:wrap; margin-bottom:32px; padding-top:24px; border-top:1px solid rgba(212,175,55,0.22);}
.ap-founder-stats div b{display:block; font-family:var(--font-display); font-size:26px; color:var(--gold-light);}
.ap-founder-stats div span{font-size:12.5px; color:#C9C1A8;}

@media (max-width:1024px){
  .ap-founder-card{grid-template-columns:1fr;}
  .ap-founder-media{min-height:320px;}
  .ap-founder-body{padding:40px;}
}
@media (max-width:600px){
  .ap-founder{padding:0 0 80px;}
  .ap-founder-body{padding:32px 24px;}
  .ap-founder-stats{gap:24px;}
}

/* ===========================================================
   SECTION 4 — MEET OUR SPIRITUAL EXPERTS
=========================================================== */
.ap-team{padding:120px 0; background:var(--ivory);}
.ap-section-head{max-width:640px; margin:0 auto 64px; text-align:center;}
.ap-section-head h2{font-family:var(--font-display); font-size:clamp(1.9rem,3vw,2.6rem); color:var(--navy); line-height:1.2; margin-bottom:16px;}
.ap-section-head p{color:var(--muted); font-size:15.5px; line-height:1.8;}

.ap-team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px; align-items:stretch;}
.ap-team-card{
  background:var(--paper); border-radius:24px; overflow:hidden;
  box-shadow:0 20px 50px -24px rgba(16,27,54,0.22); border:1px solid rgba(16,27,54,0.06);
  display:flex; flex-direction:column; height:100%;
  transition:transform .4s ease, box-shadow .4s ease;
}
.ap-team-card:hover{transform:translateY(-10px); box-shadow:0 34px 70px -22px rgba(16,27,54,0.3);}
.ap-team-media{position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--ivory-deep);}
.ap-team-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.ap-team-card:hover .ap-team-media img{transform:scale(1.07);}
.ap-team-body{padding:28px 26px 32px; display:flex; flex-direction:column; flex:1;}
.ap-team-body h3{font-family:var(--font-display); font-size:21px; color:var(--navy); margin-bottom:6px; line-height:1.2;}
.ap-team-role{font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:14px;}
.ap-team-body p.ap-team-intro{font-size:14.5px; color:var(--muted); line-height:1.75; margin-bottom:22px; flex:1;}
.ap-team-cta{align-self:flex-start; font-size:14px; font-weight:600; color:var(--saffron-deep); display:inline-flex; align-items:center; gap:8px;}
.ap-team-cta span{transition:transform .3s ease;}
.ap-team-cta:hover span{transform:translateX(5px);}

@media (max-width:1024px){ .ap-team-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .ap-team-grid{grid-template-columns:1fr;} .ap-team{padding:80px 0;} }

/* ===========================================================
   SECTION 5 — WHY CHOOSE US
=========================================================== */
.ap-why{padding:120px 0; background:var(--paper);}
.ap-why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.ap-why-card{
  background:var(--ivory); border:1px solid rgba(16,27,54,0.06); border-radius:24px; padding:36px 30px;
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.ap-why-card:hover{transform:translateY(-6px); box-shadow:0 26px 54px -26px rgba(16,27,54,0.25); background:var(--paper);}
.ap-why-icon{width:56px; height:56px; border-radius:16px; background:linear-gradient(135deg, rgba(212,175,55,0.16), rgba(226,132,31,0.14)); display:flex; align-items:center; justify-content:center; margin-bottom:22px;}
.ap-why-icon svg{width:26px; height:26px; stroke:var(--gold-deep);}
.ap-why-card h3{font-family:var(--font-display); font-size:20px; color:var(--navy); margin-bottom:10px;}
.ap-why-card p{font-size:14.5px; color:var(--muted); line-height:1.75;}

@media (max-width:1024px){ .ap-why-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:640px){ .ap-why-grid{grid-template-columns:1fr;} .ap-why{padding:80px 0;} }

/* ===========================================================
   SECTION 6 — STATISTICS
=========================================================== */
.ap-stats{
  padding:96px 0; color:#F7ECDD; position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--maroon), #5F3A15 60%, var(--navy-deep));
}
.ap-stats::before{content:""; position:absolute; inset:0; background:radial-gradient(60% 100% at 15% 0%, rgba(212,175,55,0.18), transparent 60%);}
.ap-stats-grid{position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); text-align:center; gap:24px;}
.ap-stat b{display:block; font-family:var(--font-display); font-size:clamp(2.2rem,4vw,3.1rem); color:var(--gold-light); line-height:1;}
.ap-stat span{font-size:13px; letter-spacing:.04em; color:#E9D3BC; display:block; margin-top:10px;}

@media (max-width:720px){ .ap-stats-grid{grid-template-columns:repeat(2,1fr); row-gap:40px;} }

/* ===========================================================
   SECTION 7 — MISSION & VISION
=========================================================== */
.ap-mv{padding:120px 0; background:var(--ivory);}
.ap-mv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px;}
.ap-mv-card{background:var(--paper); border-radius:28px; padding:52px 44px; box-shadow:0 26px 60px -28px rgba(16,27,54,0.22); border:1px solid rgba(16,27,54,0.06);}
.ap-mv-icon{width:64px; height:64px; border-radius:20px; background:linear-gradient(135deg, var(--gold), var(--saffron-deep)); display:flex; align-items:center; justify-content:center; margin-bottom:28px; box-shadow:0 16px 30px -14px rgba(181,98,14,0.5);}
.ap-mv-icon svg{width:30px; height:30px; stroke:#fff;}
.ap-mv-card h3{font-family:var(--font-display); font-size:26px; color:var(--navy); margin-bottom:16px;}
.ap-mv-card p{font-size:15.5px; color:var(--muted); line-height:1.85;}

@media (max-width:900px){ .ap-mv-grid{grid-template-columns:1fr;} }
@media (max-width:600px){ .ap-mv{padding:80px 0;} .ap-mv-card{padding:36px 28px;} }

/* ===========================================================
   SECTION 8 — OUR PROCESS
=========================================================== */
.ap-process{padding:120px 0; background:var(--paper);}
.ap-process-row{position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:0;}
.ap-process-line{position:absolute; top:28px; left:8%; right:8%; height:2px; background:rgba(16,27,54,0.1); z-index:0;}
.ap-process-line-fill{position:absolute; top:0; left:0; height:100%; width:0%; background:linear-gradient(90deg, var(--gold-deep), var(--saffron)); transition:width 1.6s cubic-bezier(.22,.61,.36,1);}
.ap-process-line-fill.is-visible{width:100%;}
.ap-process-step{position:relative; z-index:1; text-align:center; padding:0 12px;}
.ap-process-num{width:56px; height:56px; border-radius:50%; background:var(--paper); border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-family:var(--font-display); font-weight:700; color:var(--gold-deep); font-size:19px; box-shadow:0 14px 28px -12px rgba(212,175,55,0.45);}
.ap-process-step h3{font-family:var(--font-display); font-size:17px; color:var(--navy); margin-bottom:8px;}
.ap-process-step p{font-size:13px; color:var(--muted); line-height:1.6;}

@media (max-width:1024px){
  .ap-process-row{grid-template-columns:repeat(2,1fr); row-gap:44px;}
  .ap-process-line, .ap-process-line-fill{display:none;}
}
@media (max-width:640px){ .ap-process-row{grid-template-columns:1fr;} .ap-process{padding:80px 0;} }

/* ===========================================================
   SECTION 9 — PHOTO GALLERY
=========================================================== */
.ap-gallery{padding:120px 0; background:var(--ivory);}
.ap-gallery-grid{
  columns:3 260px; column-gap:22px;
}
.ap-gallery-item{
  break-inside:avoid; margin-bottom:22px; border-radius:22px; overflow:hidden;
  position:relative; box-shadow:0 18px 40px -22px rgba(16,27,54,0.25);
}
.ap-gallery-item img{width:100%; display:block; transition:transform .6s ease;}
.ap-gallery-item:hover img{transform:scale(1.08);}
.ap-gallery-cap{
  position:absolute; left:0; right:0; bottom:0; padding:18px 20px;
  background:linear-gradient(0deg, rgba(8,14,31,0.78), transparent);
  color:#F7ECDD; font-size:13.5px; font-weight:600; letter-spacing:.02em;
  opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease;
}
.ap-gallery-item:hover .ap-gallery-cap{opacity:1; transform:translateY(0);}

@media (max-width:720px){ .ap-gallery-grid{columns:2 180px;} .ap-gallery{padding:80px 0;} }
@media (max-width:460px){ .ap-gallery-grid{columns:1;} }

/* ===========================================================
   SECTION 9B — LANGUAGES OUR PANDITS SPEAK
=========================================================== */
.ap-languages{padding:120px 0; background:var(--paper);}
.ap-lang-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; margin-bottom:52px;}
.ap-lang-card{
  padding:28px 18px; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.ap-lang-card .ap-lang-icon{margin:0 0 16px;}
.ap-lang-card h3{font-family:var(--font-display); font-size:16.5px; color:var(--navy); margin-bottom:12px;}
.ap-lang-status{
  display:inline-flex; align-items:center; gap:6px; margin:0;
  font-size:11.5px; font-weight:700; letter-spacing:.02em; color:#2F8558;
  background:rgba(63,158,101,.12); border:1px solid rgba(63,158,101,.22);
  padding:5px 12px 5px 10px; border-radius:999px;
}
.ap-lang-check{width:12px; height:12px; flex-shrink:0; fill:none; stroke:#2F8558; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;}

.ap-lang-highlight{
  display:flex; align-items:center; gap:26px; color:#F7ECDD;
  border-radius:28px; padding:40px 44px; position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--maroon), #5F3A15 60%, var(--navy-deep));
  box-shadow:0 30px 64px -28px rgba(16,27,54,0.35);
}
.ap-lang-highlight::before{content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 90% 0%, rgba(212,175,55,0.2), transparent 60%); pointer-events:none;}
.ap-lang-highlight-icon{
  position:relative; z-index:1; flex-shrink:0; font-size:30px; line-height:1;
  width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center;
}
.ap-lang-highlight > div{position:relative; z-index:1;}
.ap-lang-highlight h3{font-family:var(--font-display); font-size:19px; color:#FDF9EF; margin:0 0 6px; line-height:1.3;}
.ap-lang-highlight p{font-size:14px; color:#0000; line-height:1.7; margin:0; max-width:640px;}

@media (max-width:1024px){
  .ap-lang-grid{grid-template-columns:repeat(4, 1fr);}
}
@media (max-width:720px){
  .ap-languages{padding:80px 0;}
  .ap-lang-grid{grid-template-columns:repeat(3, 1fr); gap:14px; margin-bottom:40px;}
  .ap-lang-card{padding:22px 12px;}
  .ap-lang-highlight{flex-direction:column; text-align:center; padding:32px 26px;}
}
@media (max-width:460px){
  .ap-lang-grid{grid-template-columns:repeat(2, 1fr);}
}

/* ===========================================================
   SECTION 10 — FINAL CTA
=========================================================== */
.ap-final-cta{
  padding:110px 0; text-align:center; position:relative; overflow:hidden; color:#F4EFE1;
  background:radial-gradient(120% 160% at 50% 0%, rgba(212,175,55,0.16), transparent 60%), linear-gradient(160deg, var(--navy), var(--navy-deep));
}
.ap-final-cta h2{font-family:var(--font-display); font-size:clamp(2rem,3.4vw,3rem); color:#FDF9EF; margin-bottom:18px; max-width:720px; margin-left:auto; margin-right:auto;}
.ap-final-cta p{color:#C9C1A8; max-width:560px; margin:0 auto 40px; font-size:16px; line-height:1.8;}
.ap-final-cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

@media (max-width:600px){
  .ap-final-cta{padding:80px 0;}
  .ap-final-cta-actions{flex-direction:column; align-items:stretch;}
  .ap-final-cta-actions .ap-btn{width:100%;}
}

/* ===========================================================
   BOOK CONSULTATION FORM (light, premium)
=========================================================== */
.ap-book{padding:120px 0; background:var(--paper);}
.ap-book-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:start;}
.ap-book-panel, .ap-book-side{background:var(--ivory); border:1px solid rgba(16,27,54,0.07); border-radius:28px; padding:44px;}
.ap-book-panel form{display:grid; gap:20px; margin-top:8px;}
.ap-field{display:grid; gap:8px;}
.ap-field label{font-size:13.5px; font-weight:600; color:var(--navy);}
.ap-field input, .ap-field select, .ap-field textarea{
  width:100%; min-height:52px; padding:14px 16px; border-radius:14px;
  border:1px solid rgba(16,27,54,0.14); background:var(--paper);
  font-family:var(--font-body); font-size:15px; color:var(--charcoal);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ap-field textarea{min-height:130px; resize:vertical;}
.ap-field input:focus, .ap-field select:focus, .ap-field textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(212,175,55,0.16);}
.ap-book-side{display:grid; gap:18px; align-content:start;}
.ap-book-badge{display:inline-flex; width:max-content; padding:9px 16px; border-radius:999px; border:1px solid rgba(212,175,55,0.4); color:var(--gold-deep); font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; background:rgba(212,175,55,0.08);}
.ap-book-card{background:var(--paper); border:1px solid rgba(16,27,54,0.07); border-radius:18px; padding:20px 22px;}
.ap-book-card-title{font-size:15px; font-weight:700; color:var(--navy); margin-bottom:6px;}
.ap-book-card a, .ap-book-card p{color:var(--muted); font-size:14.5px; margin:0; line-height:1.6;}
.ap-book-card a{font-weight:600; color:var(--saffron-deep);}

@media (max-width:1024px){ .ap-book-grid{grid-template-columns:1fr;} }
@media (max-width:600px){
  .ap-book{padding:80px 0;}
  .ap-book-panel, .ap-book-side{padding:28px 24px;}
}