/* ══════════════════════════════════════════
   KNOWLEDGEPITCH — MAIN STYLESHEET v3.0
   Full mobile fix: nav, footer logo, trust bar,
   programs grid, hero form, all sections
══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

/* ─── TOKENS ─── */
:root {
  --primary:       #1246AB;
  --primary-dark:  #0B2D6E;
  --primary-mid:   #1756CC;
  --primary-light: #EBF1FF;
  --accent:        #FF5722;
  --accent-warm:   #FF8A50;
  --green:         #0BBD7A;
  --yellow:        #FFB800;
  --text:          #0F1C2E;
  --text-muted:    #5A6A82;
  --text-light:    #8898AA;
  --white:         #FFFFFF;
  --gray-50:       #F7F9FC;
  --gray-100:      #EEF2F8;
  --gray-200:      #DDE5F0;
  --border:        rgba(18,70,171,0.10);
  --shadow-xs: 0 1px 2px rgba(15,28,46,0.05),0 1px 3px rgba(15,28,46,0.04);
  --shadow-sm: 0 2px 6px rgba(15,28,46,0.07),0 1px 3px rgba(15,28,46,0.04);
  --shadow:    0 4px 14px rgba(15,28,46,0.09),0 2px 6px rgba(15,28,46,0.05);
  --shadow-md: 0 8px 26px rgba(15,28,46,0.12),0 3px 8px rgba(15,28,46,0.06);
  --shadow-lg: 0 18px 48px rgba(15,28,46,0.15),0 6px 14px rgba(15,28,46,0.07);
  --shadow-xl: 0 28px 70px rgba(15,28,46,0.20),0 8px 22px rgba(15,28,46,0.09);
  --r-sm:8px; --r:14px; --r-md:16px; --r-lg:20px; --r-xl:28px; --r-2xl:40px;
  --ease-out:    cubic-bezier(0.16,1,0.3,1);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
}

/* ─── BASE ─── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:hidden; scroll-padding-top:76px; }
body { font-family:'DM Sans',sans-serif; background:var(--white); color:var(--text); line-height:1.65; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; }
img,video,iframe { max-width:100%; display:block; }
::selection { background:var(--primary); color:var(--white); }
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--gray-100); }
::-webkit-scrollbar-thumb { background:var(--primary); border-radius:99px; }
::-webkit-scrollbar-thumb:hover { background:var(--primary-dark); }
.container { width:100%; max-width:1280px; margin:0 auto; padding:0 2rem; }
.section { padding:6rem 0; }

/* ─── BUTTONS ─── */
.btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  padding:0.85rem 1.75rem; border-radius:var(--r);
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.95rem;
  text-decoration:none; cursor:pointer; border:none;
  transition:transform 0.22s var(--ease-out),box-shadow 0.22s var(--ease-out),background 0.2s ease;
  white-space:nowrap; position:relative; overflow:hidden; isolation:isolate;
}
.btn::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,0.22) 50%,transparent 65%);
  transform:translateX(-120%); transition:transform 0.5s ease;
}
.btn:hover::after { transform:translateX(120%); }
.btn-primary  { background:var(--primary); color:var(--white); box-shadow:0 4px 16px rgba(18,70,171,0.30); }
.btn-primary:hover  { background:var(--primary-dark); transform:translateY(-2px); box-shadow:0 8px 24px rgba(18,70,171,0.38); }
.btn-accent   { background:var(--accent); color:var(--white); box-shadow:0 4px 16px rgba(255,87,34,0.36); animation:pulseCta 3s infinite; }
.btn-accent:hover   { background:#e04a1a; transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,87,34,0.48); animation:none; }
.btn-outline  { background:transparent; color:var(--primary); border:2px solid var(--primary); }
.btn-outline:hover  { background:var(--primary-light); transform:translateY(-2px); }
.btn-white    { background:var(--white); color:var(--primary); box-shadow:var(--shadow-md); }
.btn-white:hover    { background:var(--gray-50); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.btn-ghost    { background:rgba(255,255,255,0.12); color:var(--white); border:1.5px solid rgba(255,255,255,0.35); backdrop-filter:blur(10px); }
.btn-ghost:hover    { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.6); }
.btn-sm { padding:0.6rem 1.2rem; font-size:0.875rem; }
.btn-lg { padding:1.1rem 2.25rem; font-size:1.05rem; }

/* ─── SECTION HEADER ─── */
.section-header { text-align:center; max-width:680px; margin:0 auto 3.5rem; }
.eyebrow {
  display:inline-flex; align-items:center; gap:0.5rem;
  color:var(--primary); font-size:0.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:0.14em; margin-bottom:0.875rem;
}
.eyebrow::before,.eyebrow::after { content:''; display:block; width:26px; height:2px; background:linear-gradient(90deg,var(--primary),var(--accent)); border-radius:2px; opacity:0.55; }
.section-title { font-family:'DM Serif Display',serif; font-size:clamp(1.75rem,3.5vw,2.75rem); color:var(--text); line-height:1.18; margin-bottom:1rem; }
.section-sub { color:var(--text-muted); font-size:1.05rem; line-height:1.75; }

/* ─── ANNOUNCEMENT BAR ─── */
.ann-bar {
  background:linear-gradient(90deg,var(--primary-dark) 0%,#0f3a8c 50%,var(--primary-dark) 100%);
  background-size:200% 100%; animation:annShimmer 8s linear infinite;
  padding:0.62rem 1rem; font-size:0.83rem; color:rgba(255,255,255,0.9);
  display:flex; align-items:center; justify-content:center; gap:0.5rem; flex-wrap:wrap; width:100%;
}
.ann-bar.hidden { display:none; }
@keyframes annShimmer { 0%{background-position:0% 0%} 100%{background-position:200% 0%} }
.ann-bar strong { color:var(--yellow); }
.ann-bar a { color:var(--white); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.4); padding-bottom:1px; transition:border-color 0.2s; }
.ann-bar a:hover { border-color:var(--white); }
.ann-pill { background:var(--accent); color:var(--white); padding:0.15rem 0.65rem; border-radius:50px; font-weight:700; font-size:0.72rem; letter-spacing:0.05em; }
.ann-close { background:none; border:none; color:rgba(255,255,255,0.55); cursor:pointer; font-size:1rem; padding:0.2rem 0.4rem; margin-left:0.5rem; border-radius:4px; transition:color 0.2s,background 0.2s; line-height:1; }
.ann-close:hover { color:var(--white); background:rgba(255,255,255,0.12); }

/* ─── NAVBAR ─── */
.navbar {
  position:sticky; top:0; z-index:200;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-bottom:1px solid var(--border);
  transition:box-shadow 0.3s ease,background 0.3s ease; width:100%;
  /* NO overflow:hidden here — would clip dropdown AND mobile nav slide */
}
.navbar.scrolled { box-shadow:var(--shadow-md); background:rgba(255,255,255,0.98); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.85rem 0; width:100%; min-width:0; }
.logo { display:flex; align-items:center; gap:0.65rem; text-decoration:none; flex-shrink:0; min-width:0; }
.logo-img { display:block; height:38px; width:auto; max-width:160px; object-fit:contain; flex-shrink:0; }
.logo-icon { width:38px; height:38px; min-width:38px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 100%); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--white); font-size:1rem; box-shadow:0 4px 12px rgba(18,70,171,0.28); flex-shrink:0; }
.logo-text { font-family:'DM Serif Display',serif; font-size:1.3rem; color:var(--text); line-height:1; white-space:nowrap; }
.logo-text span { color:var(--primary); }
.logo-badge { background:var(--accent); color:var(--white); font-size:0.6rem; padding:0.18rem 0.5rem; border-radius:50px; font-weight:700; text-transform:uppercase; white-space:nowrap; }
.nav-links { display:flex; align-items:center; gap:0.1rem; list-style:none; flex:1; justify-content:center; min-width:0; }
.nav-links a { color:var(--text-muted); text-decoration:none; font-size:0.875rem; font-weight:500; padding:0.45rem 0.72rem; border-radius:var(--r-sm); transition:color 0.18s ease,background 0.18s ease; white-space:nowrap; }
.nav-links a:hover,.nav-links a.active { color:var(--primary); background:var(--primary-light); }
.nav-links a.active { font-weight:600; }
.nav-cta   { display:flex; gap:0.75rem; align-items:center; flex-shrink:0; }
.nav-phone { display:flex; align-items:center; gap:0.4rem; color:var(--text-muted); font-size:0.875rem; font-weight:600; text-decoration:none; white-space:nowrap; transition:color 0.2s; }
.nav-phone:hover { color:var(--primary); }

/* Hamburger — animates to × */
.hamburger { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; flex-direction:column; gap:5px; flex-shrink:0; }
.hamburger span { display:block; width:22px; height:2px; background:var(--text); border-radius:2px; transition:all 0.32s var(--ease-out); }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ─── MOBILE NAV (full-screen overlay slides from right) ─── */
.mobile-nav {
  position:fixed; top:0; left:0; right:0; bottom:0;
  background:var(--white); z-index:400;
  display:flex; flex-direction:column; padding:1.5rem;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  transform:translateX(100%); transition:transform 0.38s var(--ease-out);
  visibility:hidden; will-change:transform;
}
.mobile-nav.open { transform:translateX(0); visibility:visible; }
.mobile-nav-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.mobile-nav-header .logo-img { height:34px; max-width:140px; }
.mobile-nav-close { background:var(--gray-100); border:none; cursor:pointer; width:40px; height:40px; border-radius:50%; font-size:1.1rem; color:var(--text); display:flex; align-items:center; justify-content:center; transition:background 0.2s,transform 0.2s; flex-shrink:0; }
.mobile-nav-close:hover { background:var(--gray-200); transform:rotate(90deg); }
.mobile-links { list-style:none; }
.mobile-links li { border-bottom:1px solid var(--gray-100); }
.mobile-links a { display:flex; align-items:center; gap:0.75rem; padding:0.9rem 0; color:var(--text); text-decoration:none; font-size:1.05rem; font-weight:500; transition:color 0.18s,padding-left 0.2s var(--ease-out); }
.mobile-links a:hover { color:var(--primary); padding-left:0.4rem; }
.mobile-cta { margin-top:1.75rem; display:flex; flex-direction:column; gap:0.75rem; }

/* ─── HERO ─── */
.hero { position:relative; background:var(--primary-dark); min-height:90vh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.hero-bg-grid {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.028) 1px,transparent 1px);
  background-size:64px 64px; pointer-events:none;
  animation:gridDrift 40s linear infinite;
}
@keyframes gridDrift { from{background-position:0 0} to{background-position:64px 64px} }
.hero-orbs { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-orb  { position:absolute; border-radius:50%; filter:blur(90px); }
.hero-orb-1 { width:520px; height:520px; background:radial-gradient(circle,rgba(18,70,171,0.72) 0%,transparent 70%); top:-210px; right:-150px; animation:orbFloat 14s ease-in-out infinite alternate; }
.hero-orb-2 { width:360px; height:360px; background:radial-gradient(circle,rgba(255,87,34,0.44) 0%,transparent 70%); bottom:70px; left:-90px; animation:orbFloat 18s ease-in-out infinite alternate-reverse; }
.hero-orb-3 { width:290px; height:290px; background:radial-gradient(circle,rgba(11,189,122,0.26) 0%,transparent 70%); top:48%; right:23%; animation:orbFloat 11s ease-in-out infinite alternate; }
@keyframes orbFloat { from{transform:translate(0,0) scale(1)} to{transform:translate(22px,32px) scale(1.07)} }
.hero-slideshow { position:absolute; inset:0; overflow:hidden; width:100%; height:100%; }
.hero-slide { position:absolute; inset:0; width:100%; height:100%; background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important; opacity:0; transition:opacity 1.3s ease-in-out; }
.hero-slide.active { opacity:1; }
.hero-slide-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(11,45,110,0.70) 0%,rgba(11,45,110,0.46) 38%,rgba(11,45,110,0.72) 74%,rgba(11,45,110,0.96) 100%); }
.slide-indicators { position:absolute; bottom:1.75rem; right:1.75rem; display:flex; gap:0.5rem; z-index:10; }
.slide-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.35); cursor:pointer; border:none; transition:all 0.32s var(--ease-out); }
.slide-dot.active { background:var(--white); width:26px; border-radius:4px; }
.slide-counter { position:absolute; bottom:1.75rem; left:1.75rem; color:rgba(255,255,255,0.52); font-size:0.78rem; z-index:10; font-weight:500; letter-spacing:0.06em; }
.slide-nav-btn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.10); border:1.5px solid rgba(255,255,255,0.24); color:var(--white); backdrop-filter:blur(10px); width:46px; height:46px; border-radius:50%; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; font-size:0.95rem; transition:background 0.22s ease,border-color 0.22s ease,transform 0.22s var(--ease-spring); }
.slide-nav-btn:hover { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.55); transform:translateY(-50%) scale(1.1); }
.slide-nav-prev { left:1.5rem; }
.slide-nav-next { right:1.5rem; }
.hero-content { position:relative; z-index:10; padding:3rem 0 5rem; }
.hero-inner { display:grid; grid-template-columns:1fr 410px; gap:4rem; align-items:end; }
.hero-badge { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(255,255,255,0.10); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,0.18); color:rgba(255,255,255,0.92); padding:0.45rem 1rem; border-radius:50px; font-size:0.82rem; font-weight:600; margin-bottom:1.5rem; }
.hero-badge i { color:var(--yellow); }
.hero h1 { font-family:'DM Serif Display',serif; font-size:clamp(2.25rem,5vw,4.5rem); color:var(--white); line-height:1.1; margin-bottom:1.25rem; }
.hero h1 em { font-style:italic; color:var(--accent-warm); }
.hero-sub  { font-size:1.05rem; color:rgba(255,255,255,0.78); line-height:1.78; margin-bottom:1.75rem; }
.hero-checks { display:flex; flex-wrap:wrap; gap:0.6rem; margin-bottom:2rem; }
.hero-check  { display:flex; align-items:center; gap:0.4rem; font-size:0.85rem; color:rgba(255,255,255,0.85); font-weight:500; }
.hero-check i { color:var(--green); font-size:0.82rem; }
.hero-btns   { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.hero-stats  { display:flex; gap:2rem; padding-top:1.75rem; border-top:1px solid rgba(255,255,255,0.14); flex-wrap:wrap; }
.hero-stat-num   { font-family:'DM Serif Display',serif; font-size:2.1rem; color:var(--white); line-height:1; margin-bottom:0.2rem; }
.hero-stat-label { font-size:0.76rem; color:rgba(255,255,255,0.52); font-weight:500; text-transform:uppercase; letter-spacing:0.06em; }
.hero-form-card  { background:var(--white); border-radius:var(--r-xl); padding:2rem; box-shadow:var(--shadow-xl); min-width:0; border-top:3px solid var(--primary); }
.hero-form-title { font-family:'DM Serif Display',serif; font-size:1.4rem; color:var(--text); margin-bottom:0.35rem; }
.hero-form-sub   { font-size:0.875rem; color:var(--text-muted); margin-bottom:1.25rem; }

/* ─── FORMS ─── */
.form-group { margin-bottom:0.875rem; }
.form-group label { display:block; font-size:0.8rem; font-weight:600; color:var(--text); margin-bottom:0.35rem; }
.form-group input,.form-group select,.form-group textarea { width:100%; padding:0.72rem 0.95rem; border:1.5px solid var(--gray-200); border-radius:var(--r-sm); font-size:1rem; font-family:'DM Sans',sans-serif; color:var(--text); background:var(--white); transition:border-color 0.2s ease,box-shadow 0.2s ease; outline:none; max-width:100%; -webkit-appearance:none; appearance:none; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3.5px rgba(18,70,171,0.10); }
.form-group input::placeholder { color:var(--text-light); }
.form-submit { width:100%; margin-top:0.5rem; justify-content:center; }
.form-note { text-align:center; font-size:0.77rem; color:var(--text-muted); margin-top:0.65rem; display:flex; align-items:center; justify-content:center; gap:0.35rem; }
.form-note i { color:var(--green); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; }

/* ─── TRUST BAR ─── */
.trust-bar { background:var(--white); border-top:1px solid var(--gray-100); border-bottom:1px solid var(--gray-200); padding:1.1rem 0; }
.trust-inner  { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; flex-wrap:wrap; }
.trust-item   { display:flex; align-items:center; gap:0.6rem; font-size:0.865rem; font-weight:500; color:var(--text-muted); }
.trust-item i { color:var(--primary); font-size:0.95rem; }
.trust-item strong { color:var(--text); }
.trust-divider { width:1px; height:24px; background:var(--gray-200); flex-shrink:0; }

/* ─── LEARNING PATH ─── */
.path-section { background:var(--white); }
.path-track { display:flex; align-items:flex-start; gap:0; position:relative; overflow-x:auto; overflow-y:visible; padding:1rem 0 2rem; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.path-track::-webkit-scrollbar { display:none; }
.path-track::before { content:''; position:absolute; top:44px; left:60px; right:60px; height:2px; background:linear-gradient(90deg,var(--primary),var(--accent),var(--green)); z-index:0; border-radius:99px; }
.path-step { flex:1; min-width:180px; display:flex; flex-direction:column; align-items:center; text-align:center; position:relative; z-index:1; padding:0 0.5rem; cursor:pointer; }
.path-num { width:56px; height:56px; border-radius:50%; background:var(--white); border:2.5px solid var(--primary); display:flex; align-items:center; justify-content:center; font-family:'DM Serif Display',serif; font-size:1.25rem; color:var(--primary); margin-bottom:1rem; transition:all 0.32s var(--ease-spring); box-shadow:var(--shadow-sm); }
.path-step:hover .path-num,.path-step.active .path-num { background:var(--primary); color:var(--white); transform:scale(1.12); box-shadow:0 6px 18px rgba(18,70,171,0.32); }
.path-card-inner { background:var(--gray-50); border-radius:var(--r-lg); padding:1.25rem; width:100%; border:2px solid transparent; transition:all 0.32s var(--ease-out); }
.path-step:hover .path-card-inner,.path-step.active .path-card-inner { background:var(--white); border-color:var(--primary); box-shadow:var(--shadow-md); transform:translateY(-6px); }
.path-emoji { font-size:1.75rem; margin-bottom:0.5rem; }
.path-age   { display:inline-block; background:var(--accent); color:var(--white); font-size:0.7rem; font-weight:700; padding:0.2rem 0.65rem; border-radius:50px; margin-bottom:0.5rem; }
.path-name  { font-family:'DM Serif Display',serif; font-size:1.1rem; color:var(--text); margin-bottom:0.35rem; }
.path-desc  { font-size:0.8rem; color:var(--text-muted); line-height:1.55; }

/* ─── ADVANTAGES ─── */
.advantages-section { background:var(--gray-50); }
.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.adv-card { background:var(--white); border-radius:var(--r-lg); padding:1.75rem; border:2px solid transparent; transition:all 0.32s var(--ease-out); position:relative; overflow:hidden; }
.adv-card::before { content:''; position:absolute; top:0; right:0; width:90px; height:90px; background:radial-gradient(circle at top right,var(--primary-light) 0%,transparent 70%); opacity:0; transition:opacity 0.32s ease; }
.adv-card:hover { border-color:var(--primary); box-shadow:var(--shadow-lg); transform:translateY(-6px); }
.adv-card:hover::before { opacity:1; }
.adv-icon { width:60px; height:60px; border-radius:var(--r); background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--primary); margin-bottom:1.1rem; transition:all 0.3s var(--ease-spring); }
.adv-card:hover .adv-icon { background:var(--primary); color:var(--white); transform:scale(1.1) rotate(-5deg); }
.adv-card h3 { font-family:'DM Serif Display',serif; font-size:1.15rem; color:var(--text); margin-bottom:0.5rem; }
.adv-card p  { font-size:0.875rem; color:var(--text-muted); line-height:1.68; }
.adv-tag     { display:inline-block; background:var(--primary-dark); color:var(--white); font-size:0.7rem; font-weight:700; padding:0.2rem 0.65rem; border-radius:50px; margin-top:0.875rem; }

/* ─── MENTORS ─── */
.mentors-section { background:linear-gradient(155deg,var(--primary-dark) 0%,#0f3a90 55%,#0d2a6a 100%); position:relative; overflow:hidden; }
.mentors-section::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 15% 85%,rgba(255,87,34,0.14) 0%,transparent 48%),radial-gradient(circle at 85% 15%,rgba(18,70,171,0.28) 0%,transparent 48%); pointer-events:none; }
.mentors-section .section-title { color:var(--white); }
.mentors-section .section-sub   { color:rgba(255,255,255,0.70); }
.mentors-section .eyebrow       { color:rgba(255,255,255,0.65); }
.mentors-section .eyebrow::before,.mentors-section .eyebrow::after { background:rgba(255,255,255,0.35); }
.mentors-grid   { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.mentors-grid-2 { grid-template-columns:repeat(3,1fr); max-width:800px; margin:1.25rem auto 0; }
.mentor-card { background:rgba(255,255,255,0.07); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,0.12); border-radius:var(--r-xl); padding:1.5rem; text-align:center; transition:all 0.32s var(--ease-out); }
.mentor-card:hover { background:rgba(255,255,255,0.13); transform:translateY(-6px); box-shadow:0 18px 46px rgba(0,0,0,0.26); border-color:rgba(255,255,255,0.26); }
.mentor-img { width:96px; height:96px; border-radius:50%; object-fit:cover; border:3px solid rgba(255,255,255,0.32); margin:0 auto 0.875rem; display:block; transition:border-color 0.3s,transform 0.3s var(--ease-spring); }
.mentor-card:hover .mentor-img { border-color:rgba(255,255,255,0.72); transform:scale(1.06); }
.mentor-placeholder { width:96px; height:96px; border-radius:50%; background:rgba(255,255,255,0.14); display:flex; align-items:center; justify-content:center; margin:0 auto 0.875rem; font-size:2rem; color:rgba(255,255,255,0.55); border:3px solid rgba(255,255,255,0.18); }
.mentor-name { font-family:'DM Serif Display',serif; font-size:1rem; color:var(--white); margin-bottom:0.2rem; }
.mentor-role { font-size:0.8rem; color:rgba(255,255,255,0.68); margin-bottom:0.65rem; }
.mentor-tag  { display:inline-block; background:rgba(255,255,255,0.14); color:rgba(255,255,255,0.88); font-size:0.68rem; font-weight:700; padding:0.22rem 0.65rem; border-radius:50px; border:1px solid rgba(255,255,255,0.2); }
.mentors-more { text-align:center; margin-top:2.5rem; }

/* ─── PRICING ─── */
.pricing-section { background:var(--white); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; max-width:1000px; margin:0 auto; }
.price-card { background:var(--gray-50); border-radius:var(--r-xl); padding:2rem; position:relative; border:2px solid transparent; transition:all 0.32s var(--ease-out); }
.price-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:var(--gray-200); }
.price-card.featured { background:linear-gradient(155deg,var(--primary-dark) 0%,#0f3a90 100%); border-color:var(--primary); transform:scale(1.04); box-shadow:var(--shadow-xl); }
.price-card.featured:hover { transform:scale(1.04) translateY(-4px); }
.price-card.featured .price-name   { color:var(--white); }
.price-card.featured .price-desc   { color:rgba(255,255,255,0.68); }
.price-card.featured .price-amount { color:var(--white); }
.price-card.featured .price-period { color:rgba(255,255,255,0.55); }
.price-card.featured .price-was    { color:rgba(255,255,255,0.45); }
.price-card.featured .price-feat li { color:rgba(255,255,255,0.85); }
.price-card.featured .price-feat i  { color:var(--green); }
.price-badge  { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--accent); color:var(--white); font-size:0.7rem; font-weight:700; padding:0.35rem 1rem; border-radius:50px; text-transform:uppercase; letter-spacing:0.08em; white-space:nowrap; box-shadow:0 4px 12px rgba(255,87,34,0.32); }
.price-name   { font-family:'DM Serif Display',serif; font-size:1.4rem; color:var(--text); margin-bottom:0.3rem; }
.price-desc   { font-size:0.875rem; color:var(--text-muted); margin-bottom:1.25rem; }
.price-amount { font-family:'DM Serif Display',serif; font-size:2.75rem; color:var(--primary); line-height:1; }
.price-period { font-size:1rem; font-weight:400; color:var(--text-muted); }
.price-was    { text-decoration:line-through; font-size:0.9rem; color:var(--text-muted); margin:0.2rem 0 1.25rem; }
.price-feat   { list-style:none; margin-bottom:1.5rem; }
.price-feat li { display:flex; align-items:flex-start; gap:0.6rem; padding:0.5rem 0; font-size:0.875rem; border-bottom:1px solid var(--gray-100); }
.price-card.featured .price-feat li { border-color:rgba(255,255,255,0.09); }
.price-feat li:last-child { border:none; }
.price-feat i { color:var(--green); margin-top:2px; flex-shrink:0; }
.price-cta { width:100%; justify-content:center; }

/* ─── TESTIMONIALS ─── */
.testimonials-section { background:var(--gray-50); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testi-card { background:var(--white); border-radius:var(--r-lg); padding:1.75rem; box-shadow:var(--shadow-sm); position:relative; border:2px solid transparent; transition:all 0.32s var(--ease-out); }
.testi-card:hover { box-shadow:var(--shadow-md); transform:translateY(-5px); border-color:var(--primary-light); }
.testi-quote  { font-family:'DM Serif Display',serif; font-size:4.5rem; line-height:0.5; color:var(--primary-light); position:absolute; top:1.25rem; right:1.5rem; }
.testi-stars  { color:var(--yellow); font-size:0.8rem; margin-bottom:0.75rem; }
.testi-text   { font-size:0.92rem; color:var(--text); line-height:1.78; margin-bottom:1.1rem; position:relative; z-index:1; }
.testi-author { display:flex; align-items:center; gap:0.75rem; }
.testi-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--primary-mid)); color:var(--white); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.88rem; flex-shrink:0; }
.testi-name   { font-size:0.9rem; font-weight:600; color:var(--text); }
.testi-info   { font-size:0.78rem; color:var(--text-muted); }

/* ─── GALLERY ─── */
.gallery-section { background:var(--white); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:200px 200px; gap:1rem; }
.gallery-item { border-radius:var(--r-lg); overflow:hidden; position:relative; cursor:pointer; }
.gallery-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.55s var(--ease-out); }
.gallery-item:hover img { transform:scale(1.08); }
.gallery-overlay { position:absolute; inset:0; background:rgba(11,45,110,0.42); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity 0.28s ease; color:var(--white); font-size:1.5rem; }
.gallery-item:hover .gallery-overlay { opacity:1; }

/* ─── LOCATIONS ─── */
.locations-section { background:var(--gray-50); }
.locations-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
.location-card { background:var(--white); border-radius:var(--r-xl); padding:2.25rem; display:flex; gap:1.5rem; box-shadow:var(--shadow-sm); border:2px solid transparent; transition:all 0.32s var(--ease-out); }
.location-card:hover { border-color:var(--primary); box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.location-icon { width:60px; height:60px; min-width:60px; border-radius:var(--r); background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:1.5rem; transition:all 0.28s var(--ease-spring); }
.location-card:hover .location-icon { background:var(--primary); color:var(--white); transform:scale(1.1); }
.location-body h3 { font-family:'DM Serif Display',serif; font-size:1.35rem; color:var(--text); margin-bottom:0.2rem; }
.location-body .loc-city { font-size:0.78rem; color:var(--primary); font-weight:700; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:0.75rem; }
.location-detail { display:flex; align-items:flex-start; gap:0.55rem; font-size:0.875rem; color:var(--text-muted); margin-bottom:0.45rem; }
.location-detail i { color:var(--primary); margin-top:2px; flex-shrink:0; }
.location-cta { margin-top:1.25rem; display:flex; gap:0.75rem; flex-wrap:wrap; }

/* ─── FINAL CTA ─── */
.final-cta { background:var(--accent); position:relative; overflow:hidden; padding:5.5rem 0; text-align:center; }
.final-cta::before { content:''; position:absolute; top:-120px; left:50%; transform:translateX(-50%); width:700px; height:700px; border-radius:50%; background:rgba(255,255,255,0.06); pointer-events:none; }
.final-cta::after  { content:''; position:absolute; bottom:-80px; right:-80px; width:400px; height:400px; border-radius:50%; background:rgba(255,255,255,0.04); pointer-events:none; }
.final-cta h2 { font-family:'DM Serif Display',serif; font-size:clamp(1.75rem,4vw,3rem); color:var(--white); margin-bottom:0.875rem; }
.final-cta p  { font-size:1.05rem; color:rgba(255,255,255,0.88); max-width:600px; margin:0 auto 2.25rem; line-height:1.72; }
.final-cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }

/* ─── FOOTER ─── */
.footer { background:var(--primary-dark); color:var(--white); padding:5rem 0 2rem; position:relative; overflow:hidden; }
.footer::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--accent),var(--green),var(--yellow),var(--primary)); background-size:300% 100%; animation:annShimmer 9s linear infinite; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.5fr; gap:3rem; margin-bottom:3rem; }

/* Footer brand / logo area */
.footer-logo { display:flex; align-items:center; gap:0.65rem; margin-bottom:0.875rem; }
.footer-logo .logo-icon { background:rgba(255,255,255,0.12); box-shadow:none; }
.footer-logo .logo-icon i { color:var(--white); }
.footer-logo .logo-text { color:var(--white); font-size:1.3rem; }
.footer-logo .logo-text span { color:rgba(255,255,255,0.65); }
/* Logo image in footer — invert to white for dark background */
.footer-logo .logo-img { height:36px; max-width:150px; width:auto; }

.footer-about  { color:rgba(255,255,255,0.60); font-size:0.875rem; line-height:1.78; margin-bottom:1.25rem; }
.footer-social { display:flex; gap:0.6rem; flex-wrap:wrap; }
.social-btn { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.10); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:0.875rem; text-decoration:none; border:1px solid rgba(255,255,255,0.08); transition:background 0.26s var(--ease-spring),transform 0.26s var(--ease-spring),box-shadow 0.26s ease; }
.social-btn:hover { background:var(--primary-mid); transform:translateY(-4px); box-shadow:0 8px 18px rgba(0,0,0,0.24); border-color:rgba(255,255,255,0.2); }
.footer-col h4,.footer-contact h4 { font-family:'DM Serif Display',serif; font-size:0.97rem; margin-bottom:1.1rem; color:rgba(255,255,255,0.9); }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:0.65rem; }
.footer-col a  { color:rgba(255,255,255,0.60); font-size:0.85rem; text-decoration:none; display:flex; align-items:center; gap:0.35rem; transition:color 0.2s,padding-left 0.2s var(--ease-out); }
.footer-col a:hover { color:var(--white); padding-left:0.3rem; }
.footer-contact p { color:rgba(255,255,255,0.60); font-size:0.85rem; margin-bottom:0.5rem; display:flex; align-items:flex-start; gap:0.5rem; }
.footer-contact p i { color:var(--primary-mid); margin-top:3px; flex-shrink:0; }
.footer-contact a   { color:rgba(255,255,255,0.85); text-decoration:none; transition:color 0.2s; }
.footer-contact a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.09); padding-top:1.75rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0.75rem; font-size:0.82rem; color:rgba(255,255,255,0.45); }
.footer-bottom a { color:rgba(255,255,255,0.55); text-decoration:none; transition:color 0.2s; }
.footer-bottom a:hover { color:var(--white); }

/* ─── BACK TO TOP ─── */
.back-top { position:fixed; bottom:1.75rem; right:1.75rem; z-index:100; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-mid) 100%); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:1rem; text-decoration:none; box-shadow:0 6px 22px rgba(18,70,171,0.38); opacity:0; pointer-events:none; transition:opacity 0.32s ease,transform 0.32s var(--ease-spring),box-shadow 0.32s ease; border:2px solid rgba(255,255,255,0.18); }
.back-top.visible { opacity:1; pointer-events:auto; }
.back-top:hover   { transform:translateY(-4px); box-shadow:0 10px 30px rgba(18,70,171,0.48); }

/* ─── SCROLL REVEAL ─── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.65s var(--ease-out),transform 0.65s var(--ease-out); }
.reveal.revealed { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.08s; }
.reveal-delay-2 { transition-delay:0.16s; }
.reveal-delay-3 { transition-delay:0.26s; }
.reveal-delay-4 { transition-delay:0.36s; }
.reveal-stagger > * { opacity:0; transform:translateY(22px); transition:opacity 0.65s var(--ease-out),transform 0.65s var(--ease-out); }
.reveal-stagger.revealed > *:nth-child(1) { opacity:1; transform:none; transition-delay:0.04s; }
.reveal-stagger.revealed > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.12s; }
.reveal-stagger.revealed > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.20s; }
.reveal-stagger.revealed > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.28s; }
.reveal-stagger.revealed > *:nth-child(5) { opacity:1; transform:none; transition-delay:0.36s; }
.reveal-stagger.revealed > *:nth-child(6) { opacity:1; transform:none; transition-delay:0.44s; }
.reveal-stagger.revealed > *:nth-child(n+7) { opacity:1; transform:none; transition-delay:0.50s; }

/* ─── KEYFRAMES ─── */
@keyframes fadeUp { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }
.fade-up   { opacity:0; animation:fadeUp 0.72s var(--ease-out) forwards; }
.fade-up-1 { animation-delay:0.08s; } .fade-up-2 { animation-delay:0.18s; } .fade-up-3 { animation-delay:0.28s; }
.fade-up-4 { animation-delay:0.40s; } .fade-up-5 { animation-delay:0.52s; }
@keyframes pulseCta { 0%,100%{box-shadow:0 4px 16px rgba(255,87,34,0.36)} 50%{box-shadow:0 6px 30px rgba(255,87,34,0.60)} }

/* ══════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
══════════════════════════════════════════ */

/* ── 1200px: Compress nav links, hide phone ── */
@media(max-width:1200px){
  .nav-phone{display:none !important}
  .nav-links a{padding:0.4rem 0.6rem;font-size:0.85rem}
}

/* ── 900px: Switch to hamburger — 5 items + CTA stop fitting ── */
@media(max-width:900px){
  .nav-links{display:none !important}
  .nav-phone{display:none !important}
  .hamburger{display:flex !important}
  .logo-badge{display:none}
  .nav-inner{padding:0.75rem 0}
  .nav-cta{gap:0.5rem;flex-shrink:0}
  .nav-cta .btn-accent{padding:0.5rem 1rem;font-size:0.82rem;white-space:nowrap}
  .nav-cta .btn-accent .fa-calendar-check{display:none !important}
}

@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero-form-card{max-width:540px;margin:2rem auto 0}
  .hero-badge{margin:0 auto 1.5rem}
  .hero-sub,.hero-checks,.hero-btns,.hero-stats{justify-content:center}
  .advantages-grid{grid-template-columns:repeat(2,1fr)}
  .mentors-grid{grid-template-columns:repeat(2,1fr)}
  .mentors-grid-2{grid-template-columns:repeat(2,1fr);max-width:560px}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}
  .pricing-grid{grid-template-columns:repeat(3,1fr);max-width:960px;margin:0 auto;gap:1.25rem}
  .price-card{padding:1.75rem}
  .price-card.featured{transform:none;box-shadow:var(--shadow-xl)}
  .price-card.featured:hover{transform:translateY(-4px)}
  .price-amount{font-size:1.75rem}
}

/* ── 768px: Tablet / Large mobile ── */
@media(max-width:768px){
  .container{padding:0 1rem}
  .section{padding:3.5rem 0}
  .section-title{font-size:1.75rem}
  .section-sub{font-size:0.95rem}

  .ann-bar{font-size:0.77rem;padding:0.5rem 0.875rem}

  /* Navbar — keep hamburger visible (set at 1024px above) */
  .nav-links{display:none !important}
  .nav-phone{display:none !important}
  .hamburger{display:flex !important}
  .logo-badge{display:none}
  .nav-inner{padding:0.65rem 0}
  .logo-img{height:34px;max-width:140px}
  .nav-cta{gap:0.5rem;flex-shrink:0}
  .nav-cta .btn-accent{padding:0.45rem 0.85rem;font-size:0.79rem;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
  .nav-cta .btn-accent .fa-calendar-check{display:none !important}

  /* Hero */
  .hero{min-height:85vh}
  .hero-content{padding:2rem 0 4rem}
  .hero h1{font-size:clamp(1.9rem,7vw,2.75rem)}
  .hero-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn{width:100%;justify-content:center}
  .hero-stat-num{font-size:1.6rem}
  .hero-stats{gap:1.25rem}
  .slide-nav-btn{width:38px;height:38px}
  .slide-nav-prev{left:0.75rem}
  .slide-nav-next{right:0.75rem}
  .hero-form-card{padding:1.5rem}

  /* Trust bar — vertical stack on mobile */
  .trust-inner{flex-direction:column;align-items:flex-start;gap:0.75rem}
  .trust-divider{display:none}

  /* Learning path */
  .path-track{flex-direction:column;overflow-x:hidden;padding:0}
  .path-track::before{display:none}
  .path-step{min-width:unset;flex-direction:row;text-align:left;align-items:flex-start;gap:1rem;padding:0.75rem 0}
  .path-num{width:44px;height:44px;min-width:44px;font-size:1.1rem;margin-bottom:0;flex-shrink:0}
  .path-card-inner{padding:1rem}
  .path-step:hover .path-card-inner,.path-step.active .path-card-inner{transform:none}

  /* Advantages */
  .advantages-grid{grid-template-columns:1fr 1fr;gap:0.875rem}
  .adv-card{padding:1.25rem}

  /* Mentors */
  .mentors-grid{grid-template-columns:repeat(2,1fr);gap:0.875rem}
  .mentors-grid-2{grid-template-columns:repeat(2,1fr);max-width:100%}
  .mentor-card{padding:1.1rem}
  .mentor-img,.mentor-placeholder{width:76px;height:76px}

  /* Pricing */
  .pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;gap:1.25rem}
  .price-card.featured{transform:none}
  .price-card.featured:hover{transform:translateY(-4px)}

  /* Testimonials */
  .testi-grid{grid-template-columns:1fr;gap:0.875rem}

  /* Gallery */
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:160px 160px 160px}
  .gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1}

  /* Locations */
  .locations-grid{grid-template-columns:1fr;gap:1rem}
  .location-card{padding:1.5rem;gap:1rem}
  .location-cta .btn{flex:1;min-width:120px;justify-content:center}

  /* Final CTA */
  .final-cta{padding:3.5rem 0}
  .final-cta-btns{flex-direction:column;align-items:center}
  .final-cta-btns .btn{width:100%;max-width:340px;justify-content:center}

  /* Footer — single column, centered */
  .footer{padding:3rem 0 1.75rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .footer-logo{justify-content:center}
  .footer-social{justify-content:center}
  .footer-col ul{text-align:left}
  .footer-col a{justify-content:flex-start}
  .footer-contact p{justify-content:flex-start}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:0.6rem}

  /* Forms */
  .form-row{grid-template-columns:1fr}

  .back-top{bottom:1.25rem;right:1.25rem;width:42px;height:42px}
}

/* ── 480px: Standard mobile ── */
@media(max-width:480px){
  .container{padding:0 0.875rem}
  .section{padding:2.75rem 0}
  .section-title{font-size:1.55rem}
  .section-sub{font-size:0.9rem}
  .hero h1{font-size:1.8rem}
  .hero-content{padding:1.75rem 0 3.5rem}
  .hero-form-card{padding:1.25rem}
  .slide-nav-btn{display:none}
  .slide-counter{display:none}
  .advantages-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .gallery-item,.gallery-item:nth-child(1){height:200px;grid-column:span 1;grid-row:span 1}
  .location-card{flex-direction:column}
  .location-cta{flex-direction:column}
  .location-cta .btn{width:100%}
  .btn-lg{padding:0.9rem 1.5rem;font-size:0.95rem}
}

/* ── 360px: Small phones ── */
@media(max-width:360px){
  .container{padding:0 0.75rem}
  .hero h1{font-size:1.65rem}
  .logo-text{font-size:1.1rem}
  .logo-img{height:28px;max-width:110px}
  .nav-cta .btn-accent{font-size:0.72rem;padding:0.38rem 0.55rem}
  .mentors-grid,.mentors-grid-2{grid-template-columns:1fr}
  .footer-logo .logo-img{height:28px;max-width:120px}
}

/* ── Safe area insets (notch devices) ── */
@supports(padding:env(safe-area-inset-top)){
  .navbar{padding-top:env(safe-area-inset-top)}
  .mobile-nav{padding-top:max(1.5rem,calc(env(safe-area-inset-top) + 0.5rem))}
  .footer{padding-bottom:calc(2rem + env(safe-area-inset-bottom))}
}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}
  .btn-accent,.ann-bar,.footer::before,.hero-bg-grid,.hero-orb-1,.hero-orb-2,.hero-orb-3{animation:none}
  .reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none}
}

/* ══════════════════════════════════════════
   OVERFLOW SAFETY
   NOTE: .navbar intentionally has NO overflow:hidden
   Adding it breaks the mega-dropdown on desktop
   and the mobile nav slide-in animation
══════════════════════════════════════════ */
html,body{overflow-x:hidden;max-width:100vw}
.ann-bar,.hero,.trust-bar,.section,section,footer,.footer{max-width:100vw}
.hero{overflow:hidden;position:relative}
.hero-slideshow{position:absolute;inset:0;overflow:hidden;width:100%;height:100%}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;background-size:cover !important;background-position:center center !important;background-repeat:no-repeat !important}

/* ─── PROGRAMS ECOSYSTEM GRID (inline grid in index.html) ─── */
.programs-eco-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  max-width:1100px;
  margin:0 auto;
}
@media(max-width:768px){
  .programs-eco-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px){
  .programs-eco-grid { grid-template-columns:1fr; }
}
