/* ═══════════════════════════════════════════════════════════════
   Ayansh Institute — Premium Design System v2.0
   Multicolor · Gradient · Professional
   ═══════════════════════════════════════════════════════════════ */

/* ─── Base ────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
body { overflow-x: hidden; }
img  { max-width: 100%; height: auto; }

/* ─── Custom Scrollbar ────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f0f4ff; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg,#4f46e5,#7c3aed,#f5a623); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg,#1B3A6B,#f5a623); }

/* ─── Selection ───────────────────────────────────────────────── */
::selection { background: #f5a623; color: #fff; }

/* ─── No Scrollbar utility ────────────────────────────────────── */
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

/* ─── Skeleton loading ────────────────────────────────────────── */
.skeleton {
    background: linear-gradient(90deg, #f0f4ff 25%, #e0e7ff 50%, #f0f4ff 75%);
    background-size: 200% 100%;
    animation: skeleton-sweep 1.6s ease-in-out infinite;
    border-radius: 8px;
}
@keyframes skeleton-sweep {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ─── Page loading overlay ────────────────────────────────────── */
.page-loader {
    position: fixed; inset: 0; z-index: 9999;
    background: #fafbff;
    display: flex; align-items: center; justify-content: center;
    transition: opacity .4s ease, visibility .4s ease;
}
.page-loader.hidden { opacity: 0; visibility: hidden; }
.page-loader-ring {
    width: 44px; height: 44px; border-radius: 50%;
    border: 3px solid #eef2ff;
    border-top-color: #4f46e5;
    border-right-color: #7c3aed;
    animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES — Extended Multicolor Palette
   ════════════════════════════════════════════════════════════════ */
:root {
  /* Core brand */
  --primary:        #1B3A6B;
  --primary-light:  #254F94;
  --primary-dark:   #0f1f45;
  --accent:         #f5a623;
  --accent-dark:    #d48c0f;

  /* Extended vibrant palette */
  --violet:   #7c3aed;
  --indigo:   #4f46e5;
  --sky:      #0ea5e9;
  --teal:     #0d9488;
  --emerald:  #059669;
  --rose:     #e11d48;
  --orange:   #ea580c;

  /* Surface / BG */
  --surface:    #f4f7ff;
  --surface-2:  #eef2ff;

  /* Radius */
  --radius:    1rem;
  --radius-lg: 1.5rem;
  --radius-sm: .625rem;

  /* Shadows */
  --shadow-xs:  0 1px 4px rgba(27,58,107,.07);
  --shadow-sm:  0 2px 12px rgba(27,58,107,.09);
  --shadow-md:  0 8px 28px rgba(27,58,107,.13);
  --shadow-lg:  0 20px 56px rgba(27,58,107,.18);
  --shadow-xl:  0 32px 80px rgba(27,58,107,.22);
  --shadow-accent: 0 8px 28px rgba(245,166,35,.38);
  --shadow-violet: 0 8px 28px rgba(124,58,237,.35);
  --shadow-indigo: 0 8px 28px rgba(79,70,229,.35);

  /* Transitions */
  --transition:      .3s cubic-bezier(.4,0,.2,1);
  --transition-slow: .5s cubic-bezier(.4,0,.2,1);
  --transition-spring: .4s cubic-bezier(.34,1.56,.64,1);
}

/* ════════════════════════════════════════════════════════════════
   ANIMATIONS & KEYFRAMES
   ════════════════════════════════════════════════════════════════ */
@keyframes fadeIn       { from{opacity:0}             to{opacity:1} }
@keyframes fadeInUp     { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInDown   { from{opacity:0;transform:translateY(-20px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeInLeft   { from{opacity:0;transform:translateX(-40px)} to{opacity:1;transform:translateX(0)} }
@keyframes fadeInRight  { from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
@keyframes scaleIn      { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:scale(1)} }
@keyframes slideDown    { from{opacity:0;transform:translateY(-12px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideUp      { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes spin         { to{transform:rotate(360deg)} }
@keyframes marquee      { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes shimmer      { from{background-position:-200% 0} to{background-position:200% 0} }
@keyframes typing-cursor{ 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes progress-fill{ from{width:0} to{width:var(--progress)} }
@keyframes wave         { 0%,100%{transform:scaleY(1)} 50%{transform:scaleY(0.4)} }
@keyframes hero-zoom    { from{transform:scale(1)} to{transform:scale(1.05)} }
@keyframes notification { 0%{transform:translateX(120%)} 10%,90%{transform:translateX(0)} 100%{transform:translateX(120%)} }

@keyframes float {
  0%,100%{transform:translateY(0) rotate(0deg)}
  33%{transform:translateY(-16px) rotate(1.5deg)}
  66%{transform:translateY(-8px) rotate(-1deg)}
}
@keyframes blobPulse {
  0%,100%{transform:scale(1) translate(0,0)}
  25%{transform:scale(1.06) translate(12px,-10px)}
  50%{transform:scale(.97) translate(-8px,14px)}
  75%{transform:scale(1.03) translate(-14px,-6px)}
}
@keyframes gradientShift {
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes borderGlow {
  0%,100%{opacity:.6}
  50%{opacity:1}
}
@keyframes pulseRing {
  0%{transform:scale(.9);box-shadow:0 0 0 0 rgba(245,166,35,.6)}
  70%{transform:scale(1);box-shadow:0 0 0 14px rgba(245,166,35,0)}
  100%{transform:scale(.9)}
}
@keyframes aurora {
  0%,100%{background-position:0% 50%}
  25%{background-position:50% 0%}
  50%{background-position:100% 50%}
  75%{background-position:50% 100%}
}
@keyframes textGlow {
  0%,100%{text-shadow:0 0 20px rgba(245,166,35,.4)}
  50%{text-shadow:0 0 40px rgba(245,166,35,.8),0 0 60px rgba(245,166,35,.4)}
}
@keyframes counterPop {
  0%{transform:scale(1)}
  50%{transform:scale(1.12)}
  100%{transform:scale(1)}
}
@keyframes slideInLeft  { from{opacity:0;transform:translateX(-60px)} to{opacity:1;transform:translateX(0)} }
@keyframes slideInRight { from{opacity:0;transform:translateX(60px)}  to{opacity:1;transform:translateX(0)} }

/* ════════════════════════════════════════════════════════════════
   SCROLL REVEAL
   ════════════════════════════════════════════════════════════════ */
.reveal {
  opacity:0; transform:translateY(40px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.4,0,.2,1);
}
.reveal.active { opacity:1; transform:translateY(0); }
.reveal-left  { opacity:0; transform:translateX(-50px); transition:opacity .75s ease,transform .75s cubic-bezier(.4,0,.2,1); }
.reveal-right { opacity:0; transform:translateX(50px);  transition:opacity .75s ease,transform .75s cubic-bezier(.4,0,.2,1); }
.reveal-scale { opacity:0; transform:scale(.88);        transition:opacity .65s ease,transform .65s cubic-bezier(.34,1.2,.64,1); }
.reveal-left.active,.reveal-right.active,.reveal-scale.active { opacity:1; transform:none; }

.stagger-children > * {
  opacity:0; transform:translateY(28px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.4,0,.2,1);
}
.stagger-children.active > *:nth-child(1){opacity:1;transform:none;transition-delay:.08s}
.stagger-children.active > *:nth-child(2){opacity:1;transform:none;transition-delay:.16s}
.stagger-children.active > *:nth-child(3){opacity:1;transform:none;transition-delay:.24s}
.stagger-children.active > *:nth-child(4){opacity:1;transform:none;transition-delay:.32s}
.stagger-children.active > *:nth-child(5){opacity:1;transform:none;transition-delay:.40s}
.stagger-children.active > *:nth-child(6){opacity:1;transform:none;transition-delay:.48s}
.stagger-children.active > *:nth-child(n+7){opacity:1;transform:none;transition-delay:.56s}

/* ════════════════════════════════════════════════════════════════
   GLASSMORPHISM
   ════════════════════════════════════════════════════════════════ */
.glass {
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.28);
}
.glass-dark {
  background:rgba(15,31,69,.65);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.1);
}
.glass-card {
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--shadow-md);
}
.glass-card-vibrant {
  background:rgba(255,255,255,.80);
  backdrop-filter:blur(28px);
  -webkit-backdrop-filter:blur(28px);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 8px 40px rgba(27,58,107,.1),inset 0 1px 0 rgba(255,255,255,.9);
  border-radius:var(--radius);
}

/* ════════════════════════════════════════════════════════════════
   GRADIENT BACKGROUNDS — AURORA / MESH / VIBRANT
   ════════════════════════════════════════════════════════════════ */

/* Primary mesh hero — aurora effect */
.mesh-bg {
  background-color:#0a1428;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 30%,  rgba(79,70,229,.55) 0,transparent 65%),
    radial-gradient(ellipse 70% 50% at 80% 70%,  rgba(245,166,35,.32) 0,transparent 55%),
    radial-gradient(ellipse 60% 50% at 5%  80%,  rgba(27,58,107,.9)  0,transparent 45%),
    radial-gradient(ellipse 50% 40% at 70% 10%,  rgba(124,58,237,.25) 0,transparent 45%),
    radial-gradient(ellipse 40% 40% at 50% 50%,  rgba(14,165,233,.15) 0,transparent 50%),
    radial-gradient(ellipse 30% 30% at 90% 30%,  rgba(13,148,136,.18) 0,transparent 40%);
}

/* Gradient strip at bottom of every hero */
section.mesh-bg::before {
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 30%,var(--violet) 55%,var(--accent) 80%,var(--teal));
  opacity:.8;
  z-index:5;
  pointer-events:none;
}

.gradient-bg {
  background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 50%,var(--primary-light) 100%);
}
.gradient-bg-aurora {
  background:linear-gradient(135deg,#0a1428 0%,#1a2d6b 30%,#312e81 60%,#1B3A6B 100%);
  background-size:200% 200%;
  animation:aurora 12s ease infinite;
}
.gradient-bg-vibrant {
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 40%,#ec4899 100%);
}
.gradient-bg-warm {
  background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 50%,#fff7ed 100%);
}
.gradient-bg-cool {
  background:linear-gradient(135deg,#f0f4ff 0%,#e0e7ff 50%,#f5f3ff 100%);
}
.gradient-bg-dark {
  background:linear-gradient(135deg,#0a1428 0%,#1B3A6B 50%,#0f1f45 100%);
}
.gradient-bg-teal {
  background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 50%,#a7f3d0 100%);
}

/* Section surface band */
.surface-alt { background:linear-gradient(180deg,#f4f7ff 0%,#f0f4ff 50%,#f4f7ff 100%); }
.surface-dark { background:linear-gradient(180deg,#f8faff 0%,#eef2ff 100%); }

/* Subtle dot pattern overlay */
.pattern-dots {
  background-image:radial-gradient(circle,rgba(27,58,107,.08) 1.5px,transparent 1.5px);
  background-size:24px 24px;
}
.pattern-grid {
  background-image:
    linear-gradient(rgba(27,58,107,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(27,58,107,.05) 1px,transparent 1px);
  background-size:32px 32px;
}
.pattern-diagonal {
  background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(27,58,107,.03) 10px,rgba(27,58,107,.03) 11px);
}

/* ════════════════════════════════════════════════════════════════
   GRADIENT TEXT
   ════════════════════════════════════════════════════════════════ */
.gradient-text {
  background:linear-gradient(135deg,var(--primary) 0%,var(--indigo) 40%,var(--violet) 70%,var(--accent) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.gradient-text-blue {
  background:linear-gradient(135deg,var(--primary) 0%,var(--sky) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.gradient-text-gold {
  background:linear-gradient(135deg,var(--accent) 0%,#ff8c00 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.gradient-text-vibrant {
  background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 35%,#ec4899 70%,#f43f5e 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.gradient-text-teal {
  background:linear-gradient(135deg,var(--teal) 0%,var(--emerald) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ════════════════════════════════════════════════════════════════
   TOP BAR
   ════════════════════════════════════════════════════════════════ */
.top-bar {
  background:linear-gradient(90deg,#07112a 0%,#0f1f45 40%,#1B3A6B 70%,#0f1f45 100%);
  border-bottom:1px solid rgba(79,70,229,.25);
  position:relative;
  overflow:hidden;
}
.top-bar::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(124,58,237,.06) 50%,transparent 100%);
  pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════
   NAVBAR
   ════════════════════════════════════════════════════════════════ */
#mainNav {
  transition:all var(--transition);
  border-bottom:1px solid transparent;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}
#mainNav::after {
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 30%,var(--violet) 60%,var(--accent));
  opacity:.35;
  transition:opacity var(--transition);
}
#mainNav.nav-scrolled {
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 4px 32px rgba(27,58,107,.1),0 1px 0 rgba(79,70,229,.08);
}
#mainNav.nav-scrolled::after { opacity:.6; }
#mainNav.nav-scrolled .nav-logo-text { color:var(--primary); }

.nav-link {
  position:relative;
  color:#374151;
  font-weight:600;
  font-size:.875rem;
  padding:.5rem 1rem;
  border-radius:.625rem;
  white-space:nowrap;
  transition:color var(--transition),background var(--transition);
  letter-spacing:.01em;
}
.nav-link::after {
  content:'';
  position:absolute;
  bottom:0;left:50%;right:50%;
  height:2.5px;
  background:linear-gradient(90deg,var(--indigo),var(--accent));
  border-radius:2px;
  transition:left var(--transition),right var(--transition);
}
.nav-link:hover { color:var(--primary); background:rgba(79,70,229,.06); }
.nav-link:hover::after,.nav-link.active::after { left:1rem;right:1rem; }
.nav-link.active {
  color:var(--primary);
  background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(124,58,237,.05));
  font-weight:700;
}

/* Mega menu */
.mega-menu {
  position:absolute;
  top:100%;left:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:640px;
  background:white;
  border-radius:1.25rem;
  box-shadow:0 32px 80px rgba(27,58,107,.18),0 0 0 1px rgba(79,70,229,.08);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  z-index:100;padding:1.5rem;
}
.mega-menu::before {
  content:'';position:absolute;top:-16px;left:0;right:0;height:16px;background:transparent;
}
.mega-menu::after {
  content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  border:6px solid transparent;border-bottom-color:white;
}
.nav-item-mega:hover .mega-menu,
.nav-item-mega:focus-within .mega-menu {
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

/* Mobile Drawer */
#mobileDrawer {
  transform:translateX(-100%);
  transition:transform .38s cubic-bezier(.4,0,.2,1);
}
#mobileDrawer.open { transform:translateX(0); }
#drawerOverlay { opacity:0;transition:opacity .35s ease;pointer-events:none; }
#drawerOverlay.open { opacity:1;pointer-events:all; }

/* ════════════════════════════════════════════════════════════════
   BUTTONS — Premium 3D Gradient Style
   ════════════════════════════════════════════════════════════════ */
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-weight:700;
  font-size:.875rem;
  border-radius:.8rem;
  padding:.78rem 1.6rem;
  transition:all var(--transition);
  cursor:pointer;
  white-space:nowrap;
  border:none;
  outline:none;
  text-decoration:none;
  font-family:inherit;
  letter-spacing:.01em;
  position:relative;
  overflow:hidden;
}
.btn:focus-visible { outline:2.5px solid var(--accent);outline-offset:2px; }

/* Primary */
.btn-primary {
  background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary-dark) 100%);
  color:white;
  box-shadow:0 4px 18px rgba(27,58,107,.32),inset 0 1px 0 rgba(255,255,255,.15);
}
.btn-primary:hover { transform:translateY(-2px);box-shadow:0 10px 28px rgba(27,58,107,.42); }
.btn-primary:active { transform:translateY(0); }

/* Accent/CTA */
.btn-accent {
  background:linear-gradient(135deg,#f5a623 0%,#ea580c 100%);
  color:white;
  box-shadow:0 4px 20px rgba(245,166,35,.45),inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-accent::before {
  content:'';
  position:absolute;top:0;left:-100%;
  width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transition:left .55s ease;
  pointer-events:none;
}
.btn-accent:hover { transform:translateY(-2px);box-shadow:0 14px 36px rgba(245,166,35,.55); }
.btn-accent:hover::before { left:150%; }
.btn-accent:active { transform:translateY(0); }

/* Violet/Indigo CTA variant */
.btn-violet {
  background:linear-gradient(135deg,var(--indigo) 0%,var(--violet) 100%);
  color:white;
  box-shadow:var(--shadow-violet),inset 0 1px 0 rgba(255,255,255,.15);
}
.btn-violet:hover { transform:translateY(-2px);box-shadow:0 14px 36px rgba(124,58,237,.5); }

/* Outline */
.btn-outline {
  background:transparent;
  border:2px solid var(--primary);
  color:var(--primary);
}
.btn-outline:hover { background:var(--primary);color:white;transform:translateY(-2px);box-shadow:var(--shadow-md); }

/* Ghost */
.btn-ghost { background:rgba(79,70,229,.07);color:var(--primary); }
.btn-ghost:hover { background:rgba(79,70,229,.14); }

/* Sizes */
.btn-sm { padding:.5rem 1.1rem;font-size:.8125rem;border-radius:.65rem; }
.btn-lg { padding:1.05rem 2.1rem;font-size:1rem;border-radius:.9rem; }
.btn-icon { width:42px;height:42px;padding:0;border-radius:.65rem; }

/* ════════════════════════════════════════════════════════════════
   HERO SECTION
   ════════════════════════════════════════════════════════════════ */
.hero-slide {
  position:absolute;inset:0;opacity:0;z-index:1;pointer-events:none;
  transition:opacity 1.3s cubic-bezier(.4,0,.2,1);
}
.hero-slide.active { opacity:1;z-index:2;pointer-events:auto; }
.hero-slide .hero-bg { animation:hero-zoom 9s ease-in-out infinite alternate; }
.hero-slide .hero-content {
  transform:translateY(36px);opacity:0;
  transition:transform .95s ease .45s,opacity .95s ease .45s;
}
.hero-slide.active .hero-content { transform:translateY(0);opacity:1; }

.hero-dot {
  width:8px;height:8px;border-radius:8px;
  background:rgba(255,255,255,.38);transition:all .4s ease;cursor:pointer;
}
.hero-dot.active { width:32px;background:white; }

/* Glassmorphism hero badge */
.hero-badge {
  display:inline-flex;align-items:center;gap:.625rem;
  padding:.5rem 1.25rem;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.28);
  border-radius:100px;
  color:rgba(255,255,255,.95);font-size:.875rem;font-weight:700;
  letter-spacing:.02em;
}
.hero-badge .dot {
  width:9px;height:9px;border-radius:50%;
  background:var(--accent);
  animation:pulseRing 2.2s infinite;
}

/* Typing cursor */
.typing-cursor::after {
  content:'|';animation:typing-cursor 1s infinite;
  color:var(--accent);margin-left:2px;
}

/* Float blobs */
.float-element { animation:float 5s ease-in-out infinite; }
.float-element:nth-child(2) { animation-delay:-.9s; }
.float-element:nth-child(3) { animation-delay:-1.8s; }

/* ════════════════════════════════════════════════════════════════
   CARDS — Multicolor, Hover Glow, Gradient Tops
   ════════════════════════════════════════════════════════════════ */
.card {
  background:white;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(79,70,229,.06);
  transition:all var(--transition);
  overflow:hidden;
}
.card:hover { transform:translateY(-7px);box-shadow:var(--shadow-lg);border-color:rgba(79,70,229,.1); }

.card-glass {
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow-md);
}

/* Feature card with colorful top bar */
.card-feature {
  background:white;
  border-radius:var(--radius);
  padding:1.75rem;
  border:1px solid rgba(79,70,229,.07);
  box-shadow:var(--shadow-sm);
  transition:all .35s cubic-bezier(.4,0,.2,1);
  position:relative;overflow:hidden;
}
.card-feature::before {
  content:'';
  position:absolute;top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 40%,var(--accent));
  transform:scaleX(0);transform-origin:left;
  transition:transform .38s ease;
}
.card-feature::after {
  content:'';
  position:absolute;
  bottom:-60px;right:-60px;
  width:120px;height:120px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(79,70,229,.05),rgba(245,166,35,.04));
  pointer-events:none;
  transition:transform .4s ease;
}
.card-feature:hover::before { transform:scaleX(1); }
.card-feature:hover::after  { transform:scale(1.4); }
.card-feature:hover {
  transform:translateY(-8px);
  box-shadow:0 24px 64px rgba(79,70,229,.15),0 8px 16px rgba(27,58,107,.08);
}

/* Color variants */
.card-feature--blue   { border-top:3.5px solid #3b82f6 !important; }
.card-feature--gold   { border-top:3.5px solid var(--accent) !important; }
.card-feature--green  { border-top:3.5px solid var(--emerald) !important; }
.card-feature--purple { border-top:3.5px solid var(--violet) !important; }
.card-feature--red    { border-top:3.5px solid #f43f5e !important; }
.card-feature--teal   { border-top:3.5px solid var(--teal) !important; }
.card-feature--indigo { border-top:3.5px solid var(--indigo) !important; }
.card-feature--orange { border-top:3.5px solid var(--orange) !important; }

/* Course Card */
.course-card {
  background:white;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(79,70,229,.06);
  transition:all .38s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
.course-card:hover {
  transform:translateY(-9px);
  box-shadow:0 28px 64px rgba(79,70,229,.16),0 8px 20px rgba(27,58,107,.1);
}
.course-card .course-img { overflow:hidden; }
.course-card .course-img img { transition:transform .55s ease; }
.course-card:hover .course-img img { transform:scale(1.1); }

/* Testimonial Card */
.testimonial-card {
  background:white;
  border-radius:var(--radius);
  padding:1.75rem;
  box-shadow:var(--shadow-sm);
  border:1px solid rgba(79,70,229,.06);
  transition:all .35s ease;
}
.testimonial-card:hover { transform:translateY(-5px);box-shadow:var(--shadow-md); }

/* Stat card */
.stat-widget {
  border-radius:var(--radius);
  padding:1.5rem;
  position:relative;overflow:hidden;
}
.stat-widget::before {
  content:'';position:absolute;bottom:-28px;right:-28px;
  width:110px;height:110px;border-radius:50%;
  background:rgba(255,255,255,.12);pointer-events:none;
}
.stat-widget::after {
  content:'';position:absolute;bottom:-14px;right:-14px;
  width:65px;height:65px;border-radius:50%;
  background:rgba(255,255,255,.08);pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════
   SECTION LABELS & HEADINGS — Vibrant Redesign
   ════════════════════════════════════════════════════════════════ */
.section-label {
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem 1.1rem;
  background:linear-gradient(135deg,rgba(79,70,229,.1),rgba(124,58,237,.07));
  color:var(--indigo);
  border-radius:100px;
  font-size:.82rem;font-weight:700;
  letter-spacing:.025em;
  border:1px solid rgba(79,70,229,.2);
  margin-bottom:.875rem;
}
.section-label::before {
  content:'';width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--indigo),var(--accent));
}

.section-heading {
  font-family:'Outfit','Poppins',sans-serif;
  font-weight:800;
  color:var(--primary-dark);
  line-height:1.22;
  letter-spacing:-.02em;
}
.section-heading span {
  background:linear-gradient(135deg,var(--indigo) 0%,var(--violet) 50%,var(--accent) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.section-divider {
  width:60px;height:4px;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 50%,var(--accent));
  border-radius:4px;margin:1rem 0;
}
.section-divider.center { margin:1rem auto; }

/* ════════════════════════════════════════════════════════════════
   FORM ELEMENTS
   ════════════════════════════════════════════════════════════════ */
.form-input {
  width:100%;padding:.78rem 1.1rem;
  border:1.5px solid #e0e7ff;
  border-radius:.75rem;font-size:.9375rem;
  color:#1f2937;background:white;
  transition:border-color var(--transition),box-shadow var(--transition);
  outline:none;font-family:inherit;
}
.form-input:focus { border-color:var(--indigo);box-shadow:0 0 0 3.5px rgba(79,70,229,.12); }
.form-input:invalid:not(:placeholder-shown) { border-color:#f43f5e; }
.form-label { display:block;font-size:.875rem;font-weight:700;color:#374151;margin-bottom:.4rem; }
.form-select { appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem; }

/* Multi-step form */
.form-step { display:none;animation:fadeInUp .4s ease; }
.form-step.active { display:block; }
.step-indicator .step { transition:all .3s ease; }
.step-indicator .step.completed { background:#22C55E;border-color:#22C55E;color:#fff; }
.step-indicator .step.active {
  background:linear-gradient(135deg,var(--indigo),var(--violet));
  border-color:var(--indigo);color:#fff;
}
.step-connector { transition:background .3s ease; }
.step-connector.completed { background:#22C55E; }

/* ════════════════════════════════════════════════════════════════
   ACCORDION — Multicolor by category
   ════════════════════════════════════════════════════════════════ */
.accordion-content { max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1); }
.accordion-item.open .accordion-content { max-height:700px; }
.accordion-item.open .accordion-icon { transform:rotate(180deg); }
.accordion-icon { transition:transform .3s cubic-bezier(.4,0,.2,1); }
.accordion-item {
  border:1.5px solid #e0e7ff;border-radius:.9rem;overflow:hidden;
  transition:border-color .3s ease,box-shadow .3s ease;
}
.accordion-toggle { transition:background .2s ease; }
.accordion-toggle:hover { background:rgba(79,70,229,.04); }
.accordion-item.open { box-shadow:var(--shadow-sm); }

.accordion-group[data-color="primary"] .accordion-item.open { border-color:rgba(27,58,107,.3);box-shadow:0 4px 20px rgba(27,58,107,.1); }
.accordion-group[data-color="primary"] .accordion-item.open .accordion-toggle { background:rgba(27,58,107,.04); }
.accordion-group[data-color="accent"] .accordion-item.open { border-color:rgba(245,166,35,.45);box-shadow:0 4px 20px rgba(245,166,35,.14); }
.accordion-group[data-color="accent"] .accordion-item.open .accordion-toggle { background:rgba(245,166,35,.05); }
.accordion-group[data-color="accent"] .accordion-toggle:hover { background:rgba(245,166,35,.04); }
.accordion-group[data-color="green"] .accordion-item.open { border-color:rgba(5,150,105,.38);box-shadow:0 4px 20px rgba(5,150,105,.12); }
.accordion-group[data-color="green"] .accordion-item.open .accordion-toggle { background:rgba(5,150,105,.04); }
.accordion-group[data-color="green"] .accordion-toggle:hover { background:rgba(5,150,105,.03); }
.accordion-group[data-color="purple"] .accordion-item.open { border-color:rgba(124,58,237,.38);box-shadow:0 4px 20px rgba(124,58,237,.12); }
.accordion-group[data-color="purple"] .accordion-item.open .accordion-toggle { background:rgba(124,58,237,.04); }
.accordion-group[data-color="purple"] .accordion-toggle:hover { background:rgba(124,58,237,.03); }

/* ════════════════════════════════════════════════════════════════
   MARQUEE / TICKER
   ════════════════════════════════════════════════════════════════ */
.marquee-track { display:flex;width:max-content;animation:marquee 30s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }
.marquee-wrapper { overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent); }

/* ════════════════════════════════════════════════════════════════
   PROGRESS BARS — Gradient
   ════════════════════════════════════════════════════════════════ */
.progress-bar-track { height:9px;background:#e0e7ff;border-radius:100px;overflow:hidden; }
.progress-bar-fill {
  height:100%;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 50%,var(--accent));
  border-radius:100px;width:0;
  transition:width 1.3s cubic-bezier(.4,0,.2,1);
}
.progress-bar-fill.animated { width:var(--progress); }

/* ════════════════════════════════════════════════════════════════
   SKELETON LOADERS
   ════════════════════════════════════════════════════════════════ */
.skeleton {
  background:linear-gradient(90deg,#eef2ff 25%,#e0e7ff 50%,#eef2ff 75%);
  background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;
}
.skeleton-text  { height:16px;margin-bottom:8px; }
.skeleton-title { height:28px;width:60%;margin-bottom:12px; }
.skeleton-card  { height:220px;border-radius:var(--radius); }
.skeleton-avatar{ width:48px;height:48px;border-radius:50%; }

/* ════════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
   ════════════════════════════════════════════════════════════════ */
#toastContainer {
  position:fixed;top:1.25rem;right:1.25rem;z-index:9999;
  display:flex;flex-direction:column;gap:.625rem;pointer-events:none;
}
.toast {
  display:flex;align-items:flex-start;gap:.75rem;
  padding:1rem 1.25rem;background:white;
  border-radius:.9rem;
  box-shadow:0 10px 40px rgba(0,0,0,.14);
  border-left:4px solid var(--indigo);
  min-width:300px;max-width:420px;
  pointer-events:all;
  transform:translateX(120%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.toast.show { transform:translateX(0); }
.toast.toast-success { border-left-color:#22C55E; }
.toast.toast-error   { border-left-color:#f43f5e; }
.toast.toast-warning { border-left-color:var(--accent); }
.toast.toast-info    { border-left-color:var(--indigo); }
.toast-icon { width:20px;height:20px;flex-shrink:0;margin-top:1px; }
.toast-body { flex:1; }
.toast-title { font-weight:700;font-size:.875rem;color:#111827;line-height:1.3; }
.toast-message { font-size:.8125rem;color:#6B7280;margin-top:.125rem; }
.toast-close { flex-shrink:0;cursor:pointer;color:#9CA3AF;padding:.125rem; }

/* ════════════════════════════════════════════════════════════════
   FLASH MESSAGES
   ════════════════════════════════════════════════════════════════ */
.flash-message { animation:slideDown .3s ease; }

/* ════════════════════════════════════════════════════════════════
   FLOATING / WHATSAPP / BACK TO TOP
   ════════════════════════════════════════════════════════════════ */
.whatsapp-float { animation:pulseRing 2.5s infinite; }
.whatsapp-float:hover { animation:none;transform:scale(1.12); }

#backToTop {
  position:fixed;bottom:6rem;right:1.5rem;z-index:40;
  width:46px;height:46px;
  background:linear-gradient(135deg,var(--indigo),var(--violet));
  color:white;border-radius:.8rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(79,70,229,.4);
  opacity:0;transform:translateY(16px);
  transition:all var(--transition);
  cursor:pointer;border:none;
}
#backToTop.visible { opacity:1;transform:translateY(0); }
#backToTop:hover { transform:translateY(-5px);box-shadow:0 16px 36px rgba(79,70,229,.5); }

/* ════════════════════════════════════════════════════════════════
   BADGES & CHIPS
   ════════════════════════════════════════════════════════════════ */
.badge {
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.3rem .7rem;border-radius:100px;
  font-size:.75rem;font-weight:700;
}
.badge-primary { background:rgba(79,70,229,.1);color:var(--indigo); }
.badge-accent  { background:rgba(245,166,35,.15);color:#92600a; }
.badge-success { background:rgba(5,150,105,.1);color:#065f46; }
.badge-danger  { background:rgba(244,63,94,.1);color:#9f1239; }
.badge-violet  { background:rgba(124,58,237,.1);color:var(--violet); }

.chip {
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 10px;border-radius:99px;
  font-size:11px;font-weight:700;
}
.chip-blue   { background:#e0e7ff;color:#3730a3; }
.chip-gold   { background:#fef3c7;color:#92400e; }
.chip-green  { background:#d1fae5;color:#065f46; }
.chip-red    { background:#fee2e2;color:#991b1b; }
.chip-violet { background:#ede9fe;color:#5b21b6; }
.chip-teal   { background:#ccfbf1;color:#134e4a; }

/* Vibrant chip label */
.chip-vibrant {
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 14px;border-radius:99px;
  font-size:12px;font-weight:800;letter-spacing:.03em;
  background:linear-gradient(135deg,var(--indigo),var(--violet));
  color:white;
  box-shadow:0 4px 14px rgba(79,70,229,.28);
}

/* ════════════════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════════════════ */
.footer-link {
  display:flex;align-items:center;gap:.5rem;
  color:#94a3b8;font-size:.875rem;
  transition:color var(--transition),gap var(--transition),padding-left var(--transition);
  text-decoration:none;
}
.footer-link:hover { color:var(--accent);gap:.75rem;padding-left:.25rem; }

.footer-social {
  width:40px;height:40px;
  background:rgba(255,255,255,.08);
  border-radius:.75rem;
  display:flex;align-items:center;justify-content:center;
  color:#94a3b8;
  transition:all var(--transition);
  border:1px solid rgba(255,255,255,.1);
}
.footer-social:hover {
  background:linear-gradient(135deg,var(--indigo),var(--violet));
  color:white;border-color:transparent;
  transform:translateY(-4px);
  box-shadow:0 8px 20px rgba(79,70,229,.35);
}

/* Newsletter */
.newsletter-input {
  background:rgba(255,255,255,.08);
  border:1.5px solid rgba(255,255,255,.15);
  color:white;border-radius:.8rem;
  padding:.78rem 1.1rem;font-size:.9375rem;
  width:100%;transition:border-color var(--transition),background var(--transition);outline:none;
}
.newsletter-input::placeholder { color:rgba(255,255,255,.4); }
.newsletter-input:focus { border-color:var(--accent);background:rgba(255,255,255,.12); }

/* ════════════════════════════════════════════════════════════════
   GALLERY — LIGHTBOX & ANIMATIONS
   ════════════════════════════════════════════════════════════════ */
.gallery-item-reveal {
  opacity:0;transform:translateY(30px) scale(.97);
  transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.1,.64,1);
}
.gallery-item-reveal.visible { opacity:1;transform:translateY(0) scale(1); }
.gallery-item:hover { box-shadow:0 20px 48px rgba(79,70,229,.18),0 0 0 2px rgba(245,166,35,.22); }

#galleryLightbox {
  position:fixed;inset:0;z-index:9999;
  background:rgba(5,8,20,.93);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
#galleryLightbox.open { opacity:1;visibility:visible; }
.lightbox-content { position:relative;display:inline-block; }
#lightboxImg {
  max-width:min(88vw,920px);max-height:80vh;object-fit:contain;
  border-radius:.9rem;box-shadow:0 40px 100px rgba(0,0,0,.65);
  display:block;transition:opacity .25s ease;
}
.lightbox-caption {
  position:absolute;bottom:0;left:0;right:0;
  padding:2rem 1.25rem .875rem;
  background:linear-gradient(transparent,rgba(0,0,0,.75));
  border-radius:0 0 .9rem .9rem;text-align:center;color:white;
}
.lightbox-nav {
  position:fixed;top:50%;transform:translateY(-50%);
  width:52px;height:52px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(10px);
  border-radius:50%;border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:white;
  transition:background .2s ease,transform .2s ease;z-index:2;
}
.lightbox-nav:hover { background:rgba(255,255,255,.26);transform:translateY(-50%) scale(1.1); }
.lightbox-prev { left:1.5rem; }
.lightbox-next { right:1.5rem; }
.lightbox-close {
  position:fixed;top:1.25rem;right:1.25rem;
  width:44px;height:44px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(10px);
  border-radius:50%;border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:white;transition:background .2s ease;z-index:2;
}
.lightbox-close:hover { background:rgba(244,63,94,.7); }

/* ════════════════════════════════════════════════════════════════
   GRADIENT BORDER — Animated
   ════════════════════════════════════════════════════════════════ */
.gradient-border {
  position:relative;border-radius:var(--radius);
}
.gradient-border::before {
  content:'';position:absolute;inset:-2px;
  background:linear-gradient(135deg,var(--primary),var(--indigo),var(--violet),var(--accent),var(--teal),var(--primary));
  border-radius:calc(var(--radius) + 2px);
  z-index:-1;background-size:300% 300%;
  animation:gradientShift 4s ease infinite;
}

/* ════════════════════════════════════════════════════════════════
   HEADING HIGHLIGHT — Underline effect
   ════════════════════════════════════════════════════════════════ */
.heading-highlight {
  position:relative;display:inline-block;
}
.heading-highlight::after {
  content:'';position:absolute;
  bottom:-5px;left:0;right:0;
  height:3.5px;
  background:linear-gradient(90deg,var(--indigo),var(--accent));
  border-radius:2px;
}

/* ════════════════════════════════════════════════════════════════
   ADMIN PANEL STYLES (preserved)
   ════════════════════════════════════════════════════════════════ */
.admin-sidebar { transition:width .3s ease; }
.admin-sidebar .sidebar-text { transition:opacity .2s ease; }
.admin-sidebar.collapsed { width:70px; }
.admin-sidebar.collapsed .sidebar-text { opacity:0;pointer-events:none; }
.admin-card {
  background:white;border-radius:var(--radius);
  box-shadow:var(--shadow-sm);border:1px solid rgba(27,58,107,.06);
  transition:all var(--transition);
}
.admin-card:hover { box-shadow:var(--shadow-md); }
.dark .admin-card { background:#1e293b;border-color:rgba(255,255,255,.06); }
.dark .form-input { background:#1e293b;border-color:#334155;color:#e2e8f0; }
.dark body { background:#0f172a;color:#e2e8f0; }

/* ════════════════════════════════════════════════════════════════
   TABLE STYLES
   ════════════════════════════════════════════════════════════════ */
.data-table { width:100%;border-collapse:collapse; }
.data-table th {
  padding:.875rem 1rem;background:#f4f7ff;
  font-size:.8125rem;font-weight:800;color:#374151;
  text-transform:uppercase;letter-spacing:.05em;
  text-align:left;border-bottom:2px solid #e0e7ff;
}
.data-table td { padding:.875rem 1rem;border-bottom:1px solid #f0f4ff;font-size:.875rem;color:#374151; }
.data-table tr:hover td { background:#f8f9ff; }
.data-table tr:last-child td { border-bottom:none; }

/* ════════════════════════════════════════════════════════════════
   LOADING STATES
   ════════════════════════════════════════════════════════════════ */
.spinner { border:3px solid #e0e7ff;border-top:3px solid var(--indigo);border-radius:50%;width:24px;height:24px;animation:spin .8s linear infinite; }
.spinner-sm { width:16px;height:16px;border-width:2px; }
.spinner-lg { width:40px;height:40px;border-width:4px; }
.spinner-accent { border-top-color:var(--accent); }

#pageLoader {
  position:fixed;inset:0;background:white;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:1rem;
  transition:opacity .5s ease,visibility .5s ease;
}
#pageLoader.hidden { opacity:0;visibility:hidden;pointer-events:none; }
.loader-bar { width:200px;height:4px;background:#e0e7ff;border-radius:100px;overflow:hidden; }
.loader-bar-fill {
  height:100%;
  background:linear-gradient(90deg,var(--primary),var(--indigo) 40%,var(--violet) 70%,var(--accent));
  border-radius:100px;animation:progress-fill 1.5s ease forwards;--progress:100%;
}

/* ════════════════════════════════════════════════════════════════
   COOKIE CONSENT
   ════════════════════════════════════════════════════════════════ */
#cookieConsent { animation:slideUp .4s ease; }

/* ════════════════════════════════════════════════════════════════
   UTILITY CLASSES
   ════════════════════════════════════════════════════════════════ */
.text-balance { text-wrap:balance; }
.truncate-2 { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.truncate-3 { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.aspect-video { aspect-ratio:16/9; }
.aspect-square { aspect-ratio:1; }

/* Vibrant section background utilities */
.section-vibrant-primary  { background:linear-gradient(135deg,#0a1428 0%,var(--primary) 50%,var(--primary-light) 100%); }
.section-vibrant-warm     { background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 50%,#fffbeb 100%); }
.section-vibrant-cool     { background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 50%,#f5f3ff 100%); }
.section-vibrant-success  { background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%); }
.section-vibrant-violet   { background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#ec4899 100%); }

/* Section divider gradient line */
.section-divider-gradient {
  height:3px;
  background:linear-gradient(90deg,transparent,var(--indigo),var(--violet),var(--accent),transparent);
  border-radius:100px;margin:2rem 0;border:none;
}

/* Img placeholder */
.img-placeholder {
  background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);
  display:flex;align-items:center;justify-content:center;
}

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════ */
@media (max-width:768px) {
  .hero-section { min-height:85vh !important;padding-top:80px !important; }
  .hero-section h1 { font-size:1.85rem !important;line-height:1.25 !important; }
  .hero-section p  { font-size:.9rem !important; }
  .hero-actions    { flex-direction:column !important;gap:10px !important; }
  .hero-actions a  { width:100% !important;text-align:center !important; }
}
@media (max-width:640px) {
  .card { border-radius:12px !important; }
  .course-card .p-5,.course-card .p-6 { padding:14px !important; }
  .table-responsive { overflow-x:auto;-webkit-overflow-scrolling:touch; }
  .mega-menu { display:none !important; }
  .section-heading { font-size:1.75rem !important; }
}
@media (max-width:480px) {
  .stats-grid { grid-template-columns:1fr 1fr !important; }
  .kpi-number { font-size:1.75rem !important; }
  .section-heading { font-size:1.5rem !important; }
}
@media (max-width:360px) {
  .nav-logo-text h1 { font-size:12px !important; }
  .nav-logo-text p  { font-size:9px !important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.001ms !important;transition-duration:.001ms !important; }
  .marquee-track { animation:none; }
}

/* ════════════════════════════════════════════════════════════════
   ANNOUNCEMENT STRIP
   ════════════════════════════════════════════════════════════════ */
.announcement-strip {
  background:linear-gradient(90deg,#fef3c7 0%,#fffbeb 50%,#fef3c7 100%);
  border-bottom:1.5px solid #fde68a;position:relative;overflow:hidden;
}
.announcement-strip::before {
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(245,166,35,.07) 50%,transparent);
  pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════
   PLACED STUDENTS CARDS & MARQUEE
   ════════════════════════════════════════════════════════════════ */
@keyframes marquee-fast { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes marquee-rev  { from{transform:translateX(-50%)} to{transform:translateX(0)} }

.placed-marquee-track {
  display:flex;width:max-content;gap:1rem;
  animation:marquee-fast 38s linear infinite;
}
.placed-marquee-track.rev { animation:marquee-rev 38s linear infinite; }
.placed-marquee-track:hover { animation-play-state:paused; }
.placed-marquee-wrap {
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);
}

.placed-card {
  background:white;border-radius:1rem;padding:1rem 1.25rem;
  border:1.5px solid rgba(79,70,229,.09);
  box-shadow:0 2px 16px rgba(27,58,107,.07);
  min-width:220px;max-width:220px;flex-shrink:0;
  transition:all .3s ease;position:relative;overflow:hidden;
}
.placed-card::before {
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#1B3A6B,#4f46e5,#f5a623);
}
.placed-card:hover { transform:translateY(-5px);box-shadow:0 16px 40px rgba(27,58,107,.14);border-color:rgba(79,70,229,.2); }

.placed-company-badge {
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.3rem .7rem;border-radius:100px;font-size:.72rem;font-weight:700;
  background:linear-gradient(135deg,rgba(5,150,105,.1),rgba(4,120,87,.07));
  color:#065f46;border:1px solid rgba(5,150,105,.2);
}

/* ════════════════════════════════════════════════════════════════
   HERO SPLIT LAYOUT — AlmaBetter-style
   ════════════════════════════════════════════════════════════════ */
.hero-split-bg {
  background:linear-gradient(135deg,#07112a 0%,#0d1a38 30%,#1B3A6B 65%,#0f0c2e 100%);
  position:relative;overflow:hidden;
}
.hero-split-bg::after {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 65% 80% at 0% 50%,rgba(79,70,229,.35) 0,transparent 60%),
    radial-gradient(ellipse 50% 60% at 100% 30%,rgba(245,166,35,.18) 0,transparent 55%),
    radial-gradient(ellipse 40% 50% at 70% 80%,rgba(124,58,237,.2) 0,transparent 50%);
  pointer-events:none;z-index:0;
}
.hero-rating-star { width:18px;height:18px;flex-shrink:0; }
.hero-batch-badge {
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1.25rem;border-radius:100px;font-size:.8125rem;font-weight:700;
  background:rgba(245,166,35,.15);border:1px solid rgba(245,166,35,.35);color:#fbbf24;
}
.hero-image-glow {
  filter:drop-shadow(0 20px 60px rgba(79,70,229,.4)) drop-shadow(0 0 40px rgba(245,166,35,.18));
}
.hero-partner-chip {
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.35rem 1rem;border-radius:.65rem;font-size:.72rem;font-weight:700;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* ════════════════════════════════════════════════════════════════
   CTA SECTION — AlmaBetter Premium
   ════════════════════════════════════════════════════════════════ */
.cta-premium-bg {
  background:linear-gradient(135deg,#080c18 0%,#0f1f45 40%,#1a0a2e 70%,#080c18 100%);
  position:relative;overflow:hidden;
}
.cta-premium-bg::before {
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 20% 50%,rgba(79,70,229,.3) 0,transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 30%,rgba(245,166,35,.15) 0,transparent 55%),
    radial-gradient(ellipse 40% 50% at 60% 80%,rgba(124,58,237,.2) 0,transparent 50%);
  pointer-events:none;
}

.btn-cta-start {
  display:inline-flex;align-items:center;justify-content:center;gap:.75rem;
  padding:1rem 2.25rem;font-weight:800;font-size:1rem;border-radius:1rem;
  background:linear-gradient(135deg,#e11d48 0%,#f43f5e 50%,#fb7185 100%);
  color:white;border:none;cursor:pointer;letter-spacing:.02em;
  box-shadow:0 8px 32px rgba(225,29,72,.5),inset 0 1px 0 rgba(255,255,255,.2);
  transition:all .3s ease;text-decoration:none;position:relative;overflow:hidden;
}
.btn-cta-start::before {
  content:'';position:absolute;top:0;left:-100%;width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);
  transition:left .5s ease;pointer-events:none;
}
.btn-cta-start:hover { transform:translateY(-3px);box-shadow:0 16px 48px rgba(225,29,72,.6); }
.btn-cta-start:hover::before { left:150%; }

.cta-stat-pill {
  display:flex;flex-direction:column;align-items:center;gap:.25rem;
  padding:.875rem 1rem;border-radius:1rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:all .3s ease;
}
.cta-stat-pill:hover { background:rgba(255,255,255,.12);transform:translateY(-3px); }

@media (max-width:640px) {
  .placed-card { min-width:190px;max-width:190px; }
  .placed-marquee-track { gap:.625rem; }
  .btn-cta-start { padding:.875rem 1.75rem;font-size:.9rem; }
}
@media (prefers-reduced-motion:reduce) {
  .placed-marquee-track { animation:none; }
}

/* ════════════════════════════════════════════════════════════════
   PRINT
   ════════════════════════════════════════════════════════════════ */
@media print {
  nav,footer,.no-print,#cookieConsent,.whatsapp-float,#backToTop,#toastContainer { display:none !important; }
  body { font-size:12pt;color:#000;background:white; }
  .card,.course-card { box-shadow:none;border:1px solid #ddd; }
}
