/* ==========================================================================
   BRIGHTFUTURE INTERNATIONAL SCHOOL — PREMIUM LANDING PAGE
   Design: Navy / Gold / Ivory heritage palette
   Type: Fraunces (display) + Inter (body) + Space Grotesk (data/eyebrow)
   ========================================================================== */

/* -------------------- 1. CSS VARIABLES -------------------- */
:root{
  /* Colors */
  --navy-deep:#0B1E3D;
  --navy-rich:#122A50;
  --navy-light:#1B3A6B;
  --gold:#C9A24B;
  --gold-bright:#E0B85C;
  --gold-pale:#E8D9B5;
  --ivory:#FBF8F2;
  --cream:#F3EDE0;
  --sky:#EAF1F7;
  --lavender:#F1EEF7;
  --peach:#FBEFE4;
  --charcoal:#1C1C1C;
  --text-body:#3A3A3A;
  --text-muted:#6B6B6B;
  --text-muted-light:#C3CCDC;
  --white:#FFFFFF;
  --whatsapp:#25D366;
  --border-soft:rgba(11,30,61,0.08);

  /* Typography */
  --font-display:'Fraunces', serif;
  --font-body:'Inter', sans-serif;
  --font-data:'Space Grotesk', sans-serif;

  /* Spacing */
  --section-pad:7rem;
  --container-w:1240px;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;

  /* Shadows */
  --shadow-soft:0 20px 50px -20px rgba(11,30,61,0.25);
  --shadow-card:0 12px 32px -12px rgba(11,30,61,0.18);
  --shadow-gold:0 10px 30px -8px rgba(201,162,75,0.45);

  /* Motion */
  --ease:cubic-bezier(0.22,1,0.36,1);
}

/* -------------------- 2. RESET -------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--text-body);
  background:var(--ivory);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;}
input,textarea,select{font:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--navy-deep);font-weight:600;line-height:1.15;}

.skip-link{
  position:absolute;top:-100px;left:1rem;background:var(--navy-deep);color:var(--gold-pale);
  padding:0.8rem 1.4rem;border-radius:var(--radius-sm);z-index:2000;transition:top 0.2s var(--ease);
}
.skip-link:focus{top:1rem;}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

.container{
  max-width:var(--container-w);
  margin-inline:auto;
  padding-inline:1.5rem;
}

/* -------------------- 3. SCROLL PROGRESS -------------------- */
.scroll-progress{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:linear-gradient(90deg,var(--navy-deep),var(--gold));
  z-index:2100;transition:width 0.1s linear;
}

/* -------------------- 4. ADMISSION BANNER -------------------- */
.admission-banner{
  position:relative;
  background:linear-gradient(90deg,var(--navy-deep),var(--navy-light),var(--navy-deep));
  background-size:200% 100%;
  color:var(--ivory);
  text-align:center;
  padding:0.6rem 1rem;
  font-size:0.85rem;
  z-index:1500;
  overflow:hidden;
}
.admission-banner__shimmer{
  position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 30%,rgba(201,162,75,0.35) 50%,transparent 70%);
  background-size:200% 100%;
  animation:shimmerMove 4s linear infinite;
}
@keyframes shimmerMove{0%{background-position:150% 0;}100%{background-position:-50% 0;}}
.admission-banner__text{position:relative;display:flex;align-items:center;justify-content:center;gap:0.6rem;flex-wrap:wrap;font-weight:500;letter-spacing:0.01em;}
.admission-banner__link{
  color:var(--gold-bright);font-weight:700;margin-left:0.4rem;
  border-bottom:1px solid var(--gold-bright);white-space:nowrap;
}

/* -------------------- 5. HEADER / NAV -------------------- */
.site-header{
  position:sticky;top:0;z-index:1400;
  background:rgba(251,248,242,0.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:box-shadow 0.3s var(--ease),border-color 0.3s var(--ease),background 0.3s var(--ease);
}
.site-header.is-scrolled{
  box-shadow:0 6px 24px -10px rgba(11,30,61,0.18);
  border-bottom-color:var(--border-soft);
}
.site-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:0.85rem;gap:1rem;
}
.brand{display:flex;align-items:center;gap:0.65rem;}
.brand__crest svg{width:34px;height:38px;}
.brand__text{display:flex;flex-direction:column;line-height:1.1;}
.brand__text strong{font-family:var(--font-display);font-size:1.15rem;color:var(--navy-deep);}
.brand__text small{font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);font-weight:600;}

.main-nav__list{display:flex;gap:1.9rem;}
.nav-link{
  position:relative;font-size:0.92rem;font-weight:500;color:var(--navy-deep);
  padding-block:0.3rem;
}
.nav-link::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);
  transition:width 0.3s var(--ease);
}
.nav-link:hover::after,.nav-link.is-active::after{width:100%;}

.site-header__actions{display:flex;align-items:center;gap:0.6rem;}
.icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--navy-deep);color:var(--ivory);
  transition:transform 0.25s var(--ease),background 0.25s var(--ease);
}
.icon-btn:hover{transform:translateY(-3px);background:var(--navy-light);}
.icon-btn--whatsapp{background:var(--whatsapp);}
.icon-btn--whatsapp:hover{background:#1ebc59;}

.hamburger{display:none;flex-direction:column;gap:5px;width:26px;}
.hamburger span{display:block;width:100%;height:2px;background:var(--navy-deep);border-radius:2px;transition:transform 0.3s var(--ease),opacity 0.3s var(--ease);}
.hamburger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.is-active span:nth-child(2){opacity:0;}
.hamburger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* -------------------- 6. BUTTONS -------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  padding:0.85rem 1.7rem;border-radius:50px;font-weight:600;font-size:0.95rem;
  transition:transform 0.3s var(--ease),box-shadow 0.3s var(--ease),background 0.3s var(--ease);
  white-space:nowrap;
}
.btn--gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:var(--navy-deep);box-shadow:var(--shadow-gold);}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 16px 36px -8px rgba(201,162,75,0.55);}
.btn--navy{background:var(--navy-deep);color:var(--ivory);}
.btn--navy:hover{transform:translateY(-3px);background:var(--navy-light);}
.btn--outline-light{border:1.5px solid rgba(255,255,255,0.6);color:var(--white);}
.btn--outline-light:hover{background:rgba(255,255,255,0.12);transform:translateY(-3px);}
.btn--whatsapp{background:var(--whatsapp);color:var(--white);}
.btn--whatsapp:hover{transform:translateY(-3px);background:#1ebc59;}
.btn--sm{padding:0.6rem 1.3rem;font-size:0.85rem;}
.btn--lg{padding:1rem 2.1rem;font-size:1rem;}
.btn--block{width:100%;}

/* -------------------- 7. BADGES / EYEBROWS -------------------- */
.badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.5rem 1.1rem;border-radius:50px;font-size:0.82rem;font-weight:600;
}
.badge--gold{background:rgba(201,162,75,0.16);color:var(--gold-bright);border:1px solid rgba(201,162,75,0.4);}
.badge--gold-solid{background:var(--gold);color:var(--navy-deep);}

.eyebrow{
  display:inline-block;font-family:var(--font-data);font-size:0.78rem;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:0.9rem;
}
.eyebrow--gold{color:var(--gold-bright);}
.eyebrow--navy{color:var(--navy-deep);}

/* -------------------- 8. GLASS CARDS -------------------- */
.glass-card{
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.5);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.glass-card-dark{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-lg);
}

/* -------------------- 9. HERO -------------------- */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  overflow:hidden;padding-top:4rem;padding-bottom:3rem;
}
.hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  will-change:transform;transform:scale(1.1);
}
.hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,30,61,0.85) 0%,rgba(11,30,61,0.75) 45%,rgba(11,30,61,0.92) 100%);
}
.hero__crest-watermark{
  position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:520px;opacity:0.12;pointer-events:none;
}
.hero__grid{
  position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 0.9fr;gap:3.5rem;align-items:center;
}
.hero__content{color:var(--ivory);}
.hero__title{font-size:clamp(2.2rem,4.2vw,3.6rem);color:var(--white);margin-block:1.1rem 1.2rem;}
.text-gold{color:var(--gold-bright);}
.hero__subtitle{font-size:1.05rem;color:var(--text-muted-light);max-width:560px;margin-bottom:2rem;}
.hero__ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem;}
.hero__trustbar{display:flex;gap:2.4rem;flex-wrap:wrap;}
.hero__trustbar li{display:flex;flex-direction:column;}
.hero__trustbar strong{font-family:var(--font-display);font-size:1.6rem;color:var(--gold-bright);}
.hero__trustbar span{font-size:0.78rem;color:var(--text-muted-light);letter-spacing:0.02em;}

.hero__float-card{padding:2rem;color:var(--navy-deep);}
.hero__float-card-top h3{font-size:1.5rem;margin-block:0.5rem 0.3rem;}
.hero__float-card-top p{font-size:0.9rem;color:var(--text-muted);margin-bottom:1.2rem;}
.hero__float-benefits{display:flex;flex-direction:column;gap:0.65rem;margin-bottom:1.5rem;}
.hero__float-benefits li{display:flex;align-items:flex-start;gap:0.6rem;font-size:0.9rem;}
.hero__float-benefits i{color:var(--gold);margin-top:0.2rem;}
.hero__float-card-actions{display:flex;flex-direction:column;gap:0.9rem;}
.hero__float-phone{
  text-align:center;font-weight:600;color:var(--navy-deep);
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
}

.hero__scroll-indicator{
  position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:2;
  width:28px;height:44px;border:2px solid rgba(255,255,255,0.5);border-radius:20px;
}
.hero__scroll-indicator span{
  display:block;width:5px;height:9px;background:var(--gold-bright);border-radius:4px;
  margin:6px auto 0;animation:scrollDot 1.8s infinite var(--ease);
}
@keyframes scrollDot{0%{transform:translateY(0);opacity:1;}70%{transform:translateY(16px);opacity:0;}100%{opacity:0;}}

/* -------------------- 10. STATS BAR -------------------- */
.stats-bar{
  background:linear-gradient(120deg,var(--navy-deep),var(--navy-light));
  padding-block:3.2rem;
}
.stats-bar__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.stat-card{padding:2rem 1rem;text-align:center;color:var(--ivory);}
.stat-card__icon{display:block;font-size:1.6rem;color:var(--gold-bright);margin-bottom:0.7rem;}
.stat-card__number{
  display:block;font-family:var(--font-data);font-size:2.4rem;font-weight:700;color:var(--white);
}
.stat-card__label{font-size:0.85rem;color:var(--text-muted-light);}

/* -------------------- 11. SECTION BACKGROUNDS -------------------- */
.section{padding-block:var(--section-pad);position:relative;}
.section--cream{background:var(--cream);}
.section--ivory{background:var(--ivory);}
.section--sky{background:var(--sky);}
.section--lavender{background:var(--lavender);}
.section--peach{background:var(--peach);}
.section--navy{background:linear-gradient(160deg,var(--navy-deep),var(--navy-rich));}
.section--navy-gradient{background:linear-gradient(135deg,var(--navy-deep) 0%,#1E3F73 60%,var(--navy-deep) 100%);}
.section--gold-gradient{background:linear-gradient(135deg,var(--gold-pale) 0%,#F4E9CC 50%,var(--gold-pale) 100%);}
.section--contact{background:linear-gradient(160deg,var(--cream) 0%,var(--sky) 100%);}

.section__orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:0.35;pointer-events:none;}
.section__orb--1{width:340px;height:340px;background:var(--gold-pale);top:-100px;left:-100px;}
.section__orb--2{width:280px;height:280px;background:var(--sky);bottom:-80px;right:-60px;}

.section__head{max-width:700px;margin-bottom:3.2rem;}
.section__head--center{text-align:center;margin-inline:auto;}
.section__title{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:0.9rem;}
.section__lead{font-size:1.05rem;color:var(--text-muted);}
.text-ivory{color:var(--ivory);}
.text-navy{color:var(--navy-deep);}
.text-muted-light{color:var(--text-muted-light);}

/* -------------------- 12. ABOUT -------------------- */
.about__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:4rem;align-items:center;}
.about__image{position:relative;}
.about__image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}
.about__quote-card{
  position:absolute;bottom:-1.5rem;right:-1.5rem;max-width:280px;padding:1.5rem;
}
.about__quote-card i{color:var(--gold);font-size:1.2rem;}
.about__quote-card p{font-family:var(--font-display);font-style:italic;margin-block:0.6rem;color:var(--navy-deep);}
.about__quote-card span{font-size:0.8rem;color:var(--text-muted);font-weight:600;}
.check-list{display:flex;flex-direction:column;gap:0.75rem;margin-block:1.4rem 1.8rem;}
.check-list li{display:flex;align-items:center;gap:0.6rem;font-size:0.95rem;}
.check-list i{color:var(--gold);}

/* -------------------- 13. WHY CHOOSE US -------------------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.why-card{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius-md);padding:2.2rem 1.8rem;
  transition:transform 0.35s var(--ease),background 0.35s var(--ease);
}
.why-card:hover{transform:translateY(-8px);background:rgba(255,255,255,0.09);}
.why-card__icon{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  border-radius:16px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:var(--navy-deep);font-size:1.4rem;margin-bottom:1.1rem;
}
.why-card h3{color:var(--white);font-size:1.2rem;margin-bottom:0.5rem;}
.why-card p{color:var(--text-muted-light);font-size:0.92rem;}

/* -------------------- 14. PROGRAMS -------------------- */
.programs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.program-card{
  background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);
  transition:transform 0.35s var(--ease);
}
.program-card:hover{transform:translateY(-8px);}
.program-card__image{position:relative;aspect-ratio:7/5;overflow:hidden;}
.program-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease);}
.program-card:hover .program-card__image img{transform:scale(1.08);}
.program-card__tag{
  position:absolute;top:0.8rem;left:0.8rem;background:var(--navy-deep);color:var(--gold-pale);
  padding:0.3rem 0.8rem;border-radius:50px;font-size:0.72rem;font-weight:600;
}
.program-card__body{padding:1.5rem;}
.program-card__body h3{font-size:1.2rem;margin-bottom:0.5rem;}
.program-card__body p{font-size:0.88rem;color:var(--text-muted);margin-bottom:0.9rem;}
.program-card__body ul{display:flex;flex-direction:column;gap:0.4rem;}
.program-card__body li{font-size:0.82rem;display:flex;gap:0.4rem;align-items:center;}
.program-card__body i{color:var(--gold);}

/* -------------------- 15. FACILITIES -------------------- */
.facilities-grid{
  display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:1.2rem;
}
.facility-tile{position:relative;border-radius:var(--radius-md);overflow:hidden;}
.facility-tile--large{grid-column:span 2;grid-row:span 2;}
.facility-tile img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease);}
.facility-tile:hover img{transform:scale(1.09);}
.facility-tile__overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem;
  background:linear-gradient(180deg,transparent 40%,rgba(11,30,61,0.9) 100%);
}
.facility-tile__overlay h3{color:var(--white);font-size:1.15rem;}
.facility-tile__overlay p{color:var(--gold-pale);font-size:0.82rem;}

/* -------------------- 16. GALLERY -------------------- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--ease);}
.gallery-item:hover img{transform:scale(1.1);}
.gallery-item span{
  position:absolute;bottom:0;left:0;right:0;padding:1rem;color:var(--white);font-weight:600;font-size:0.9rem;
  background:linear-gradient(180deg,transparent,rgba(11,30,61,0.85));
  opacity:0;transform:translateY(10px);transition:all 0.35s var(--ease);
}
.gallery-item:hover span{opacity:1;transform:translateY(0);}

/* -------------------- 17. TRANSPORT -------------------- */
.transport__grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
.route-list{display:flex;flex-direction:column;gap:0.9rem;margin-block:1.4rem 1.8rem;}
.route-list li{display:flex;align-items:center;gap:0.7rem;font-size:0.95rem;}
.route-list i{color:var(--gold);width:20px;}
.transport__image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}

/* -------------------- 18. FACULTY -------------------- */
.faculty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.faculty-card{text-align:center;}
.faculty-card img{
  width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-md);margin-bottom:1rem;
  box-shadow:var(--shadow-card);
}
.faculty-card h3{font-size:1.1rem;}
.faculty-card p{font-size:0.88rem;color:var(--gold);font-weight:600;margin-block:0.2rem 0.3rem;}
.faculty-card span{font-size:0.78rem;color:var(--text-muted);}

/* -------------------- 19. RESULTS -------------------- */
.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-bottom:2.4rem;}
.result-card{
  background:rgba(255,255,255,0.55);border-radius:var(--radius-md);padding:2rem 1rem;text-align:center;
  box-shadow:var(--shadow-card);
}
.result-card__number{display:block;font-family:var(--font-data);font-size:2.2rem;font-weight:700;color:var(--navy-deep);}
.result-card__label{font-size:0.85rem;color:var(--text-body);}
.topper-strip{
  display:flex;align-items:center;gap:1.5rem;padding:1.6rem 2rem;background:rgba(255,255,255,0.6);
}
.topper-strip__icon{font-size:2rem;color:var(--gold);}
.topper-strip h3{font-size:1.15rem;color:var(--navy-deep);}
.topper-strip p{font-size:0.9rem;color:var(--text-muted);}

/* -------------------- 20. EVENTS -------------------- */
.events-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.event-card{
  background:var(--white);border-radius:var(--radius-md);padding:1.6rem;display:flex;gap:1.1rem;
  box-shadow:var(--shadow-card);transition:transform 0.3s var(--ease);
}
.event-card:hover{transform:translateY(-6px);}
.event-card__date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;height:56px;
  background:var(--navy-deep);color:var(--gold-pale);border-radius:12px;flex-shrink:0;
}
.event-card__date strong{font-family:var(--font-data);font-size:1.3rem;line-height:1;}
.event-card__date span{font-size:0.68rem;text-transform:uppercase;}
.event-card__body h3{font-size:1rem;margin-bottom:0.4rem;}
.event-card__body p{font-size:0.82rem;color:var(--text-muted);}

/* -------------------- 21. ACTIVITIES -------------------- */
.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.activity-card{
  text-align:center;background:var(--white);border-radius:var(--radius-md);padding:2.2rem 1.4rem;
  box-shadow:var(--shadow-card);transition:transform 0.3s var(--ease);
}
.activity-card:hover{transform:translateY(-6px);}
.activity-card i{font-size:1.8rem;color:var(--gold);margin-bottom:0.9rem;}
.activity-card h3{font-size:1.1rem;margin-bottom:0.4rem;}
.activity-card p{font-size:0.85rem;color:var(--text-muted);}

/* -------------------- 22. TIMELINE -------------------- */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;position:relative;}
.timeline__step{text-align:center;position:relative;padding:1.5rem;}
.timeline__icon{
  display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
  border-radius:50%;background:var(--navy-deep);color:var(--gold-bright);font-size:1.4rem;
  margin-bottom:1.1rem;box-shadow:var(--shadow-card);
}
.timeline__step h3{font-size:1.1rem;margin-bottom:0.4rem;}
.timeline__step p{font-size:0.85rem;color:var(--text-muted);}

/* -------------------- 23. CTA BANNER -------------------- */
.cta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.cta-card{padding:2.2rem;text-align:center;color:var(--ivory);}
.cta-card i{font-size:1.8rem;color:var(--gold-bright);margin-bottom:1rem;}
.cta-card h3{color:var(--white);font-size:1.2rem;margin-bottom:0.5rem;}
.cta-card p{font-size:0.88rem;color:var(--text-muted-light);margin-bottom:1.3rem;}

/* -------------------- 24. GOOGLE REVIEWS -------------------- */
.google-rating-badge{
  display:inline-flex;align-items:center;gap:0.6rem;background:var(--white);
  padding:0.8rem 1.4rem;border-radius:50px;box-shadow:var(--shadow-card);margin-top:1rem;
}
.google-rating-badge i.fa-google{color:#4285F4;font-size:1.1rem;}
.google-rating-badge__score{font-family:var(--font-data);font-weight:700;font-size:1.1rem;color:var(--navy-deep);}
.google-rating-badge__stars{color:var(--gold);font-size:0.85rem;}
.google-rating-badge__count{font-size:0.78rem;color:var(--text-muted);}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.review-card{background:var(--white);border-radius:var(--radius-md);padding:1.8rem;box-shadow:var(--shadow-card);}
.review-card__stars{color:var(--gold);margin-bottom:0.8rem;font-size:0.9rem;}
.review-card p{font-size:0.92rem;color:var(--text-body);margin-bottom:1.2rem;}
.review-card__author{display:flex;flex-direction:column;gap:0.3rem;}
.review-card__author span:first-child{font-weight:600;color:var(--navy-deep);}
.verified-badge{font-size:0.72rem;color:var(--text-muted);display:flex;align-items:center;gap:0.35rem;}
.verified-badge i{color:#4285F4;}

/* -------------------- 25. TESTIMONIALS -------------------- */
.testimonial-swiper{padding-bottom:3rem;}
.testimonial-card{padding:2.4rem;max-width:640px;margin-inline:auto;color:var(--ivory);}
.testimonial-card i{color:var(--gold-bright);font-size:1.5rem;}
.testimonial-card p{font-size:1.05rem;font-family:var(--font-display);font-style:italic;margin-block:1rem 1.4rem;color:var(--white);}
.testimonial-card__author{display:flex;align-items:center;gap:0.9rem;}
.testimonial-card__author img{width:52px;height:52px;border-radius:50%;object-fit:cover;}
.testimonial-card__author strong{display:block;color:var(--white);}
.testimonial-card__author span{font-size:0.82rem;color:var(--text-muted-light);}
.swiper-pagination-bullet{background:var(--gold-pale);opacity:0.4;}
.swiper-pagination-bullet-active{opacity:1;background:var(--gold-bright);}

/* -------------------- 26. FAQ -------------------- */
.faq-list{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:0.9rem;}
.faq-item{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);}
.faq-item__question{
  width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.6rem;
  font-weight:600;color:var(--navy-deep);text-align:left;font-size:0.98rem;
}
.faq-item__question i{transition:transform 0.3s var(--ease);color:var(--gold);}
.faq-item.is-open .faq-item__question i{transform:rotate(180deg);}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height 0.35s var(--ease);}
.faq-item__answer p{padding:0 1.6rem 1.4rem;font-size:0.92rem;color:var(--text-muted);}

/* -------------------- 27. CONTACT -------------------- */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;}
.contact-details{display:flex;flex-direction:column;gap:1rem;margin-block:1.4rem 1.6rem;}
.contact-details li{display:flex;align-items:flex-start;gap:0.8rem;font-size:0.95rem;}
.contact-details i{color:var(--gold);margin-top:0.2rem;width:18px;}
.contact__map{margin-top:1.8rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-card);}
.contact__map iframe{display:block;}

.contact__form-wrap{padding:2.2rem;}
.contact__form-wrap h3{font-size:1.4rem;margin-bottom:0.4rem;}
.contact__form-wrap > p{font-size:0.9rem;color:var(--text-muted);margin-bottom:1.6rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-group--full{grid-column:1/-1;}
.form-group label{font-size:0.82rem;font-weight:600;color:var(--navy-deep);}
.form-group input,.form-group select,.form-group textarea{
  padding:0.75rem 1rem;border:1.5px solid rgba(11,30,61,0.15);border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.7);transition:border-color 0.25s var(--ease);
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);}
.enquiry-form .btn{margin-top:0.4rem;}
.form-success{
  display:none;align-items:center;gap:0.5rem;margin-top:1rem;color:#1e7a3a;font-size:0.9rem;font-weight:600;
}
.form-success.is-visible{display:flex;}
.form-success i{color:#1e7a3a;}

/* -------------------- 28. FOOTER -------------------- */
.site-footer{background:var(--navy-deep);color:var(--text-muted-light);padding-top:5rem;}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer__col--brand p{font-size:0.88rem;margin-block:1rem 1.3rem;max-width:280px;}
.brand--footer .brand__text strong{color:var(--white);}
.social-links{display:flex;gap:0.7rem;}
.social-links a{
  width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,0.08);transition:all 0.3s var(--ease);
}
.social-links a:hover{background:var(--gold);color:var(--navy-deep);transform:translateY(-3px);}
.footer__col h4{color:var(--white);font-family:var(--font-body);font-size:0.95rem;margin-bottom:1.1rem;letter-spacing:0.03em;}
.footer__col ul{display:flex;flex-direction:column;gap:0.7rem;font-size:0.88rem;}
.footer__col a:hover{color:var(--gold-bright);}
.footer__contact li{display:flex;align-items:flex-start;gap:0.6rem;}
.footer__contact i{color:var(--gold);margin-top:0.2rem;}
.footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;padding-block:1.6rem;font-size:0.8rem;flex-wrap:wrap;gap:0.5rem;}
.footer__demo-note{opacity:0.6;}

/* -------------------- 29. FLOATING BUTTONS -------------------- */
.float-btn{
  position:fixed;right:1.6rem;width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--white);
  box-shadow:0 10px 26px -6px rgba(0,0,0,0.35);z-index:1300;transition:transform 0.3s var(--ease);
}
.float-btn:hover{transform:scale(1.1);}
.float-btn--whatsapp{background:var(--whatsapp);bottom:6.6rem;}
.float-btn--call{background:var(--navy-deep);bottom:12.4rem;}
.float-btn--top{
  background:var(--white);color:var(--navy-deep);bottom:1rem;opacity:0;pointer-events:none;
  transition:opacity 0.3s var(--ease),transform 0.3s var(--ease);
}
.float-btn--top.is-visible{opacity:1;pointer-events:auto;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .why-grid,.programs-grid,.facilities-grid,.faculty-grid,.results-grid,.events-grid,.activities-grid,.timeline,.cta-grid,.reviews-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .facility-tile--large{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9;}
  .stats-bar__grid{grid-template-columns:repeat(2,1fr);}
  .hero__grid{grid-template-columns:1fr;}
  .hero__float-card{max-width:480px;}
  .about__grid,.transport__grid,.contact__grid{grid-template-columns:1fr;}
  .about__quote-card{position:static;margin-top:1.2rem;max-width:none;}
}

@media (max-width:860px){
  :root{--section-pad:4.5rem;}
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:78%;max-width:320px;
    background:var(--ivory);padding:6rem 2rem 2rem;transform:translateX(100%);
    transition:transform 0.4s var(--ease);box-shadow:-10px 0 40px rgba(0,0,0,0.15);z-index:1350;
  }
  .main-nav.is-open{transform:translateX(0);}
  .main-nav__list{flex-direction:column;gap:1.4rem;}
  .hamburger{display:flex;}
  .site-header__actions .icon-btn:not(.icon-btn--whatsapp),.site-header__actions .btn{display:none;}
  .facilities-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
}

@media (max-width:640px){
  .why-grid,.programs-grid,.faculty-grid,.results-grid,.events-grid,.activities-grid,.timeline,.cta-grid,.reviews-grid,.stats-bar__grid,.gallery-grid,.facilities-grid{
    grid-template-columns:1fr;
  }
  .facility-tile--large{grid-column:span 1;}
  .hero__title{font-size:2rem;}
  .hero__ctas{flex-direction:column;align-items:stretch;}
  .hero__trustbar{gap:1.4rem;justify-content:space-between;}
  .footer__grid{grid-template-columns:1fr;gap:2rem;}
  .footer__bottom-inner{flex-direction:column;text-align:center;}
  .topper-strip{flex-direction:column;text-align:center;}
  .admission-banner__text{font-size:0.78rem;}
}
