html {
    scroll-behavior: smooth;
}

i.glide-svg {
  color: #af73ff;
  font-size: 38px;
  margin-top: 70px;
  cursor: pointer;
  animation: glide 2s infinite;
  position: relative;
  transition: transform 0.4s, color 0.4s;
  margin-left: auto;
  margin-right: auto;
}

@keyframes glide {
  0%   { bottom: 0px; }
  50%  { bottom: -15px; }
  100% { bottom: 0px; }
}

i.glide-svg:hover {
  transform: scale(1.1);
  color: #b783fc;
}

:root {
	--accent-indigo: #6366f1;
	--accent-purple: #9963f1;
	--accent-magenta: #e879f9;
	--primary-dark: #050c1a;
	--secondary-dark: #0d1424;
	--glass-bg: rgba(255,255,255,0.04);
	--glass-border: rgba(255,255,255,0.08);
}

* { box-sizing: border-box; }

body {
	font-family: 'Inter', sans-serif;
	background-color: var(--primary-dark);
	color: #e2e8f0;
	margin: 0;
	overflow-x: hidden;
}

/* ── Floating blobs ── */
.bg-float {
	position: fixed;
	border-radius: 50%;
	filter: blur(120px);
	opacity: 0.12;
	pointer-events: none;
	z-index: 0;
	animation: floatAnim 18s ease-in-out infinite alternate;
}
.bg-float:nth-child(1) { width: 600px; height: 600px; background: var(--accent-indigo); top: -200px; left: -150px; animation-duration: 20s; }
.bg-float:nth-child(2) { width: 500px; height: 500px; background: var(--accent-magenta); top: 40%; right: -200px; animation-duration: 25s; }
.bg-float:nth-child(3) { width: 400px; height: 400px; background: var(--accent-indigo); bottom: -100px; left: 30%; animation-duration: 22s; }

@keyframes floatAnim {
	0%   { transform: translateY(0) scale(1); }
	100% { transform: translateY(40px) scale(1.08); }
}

/* ── Glass card ── */
.glass {
	background: var(--glass-bg);
	border: 1px solid var(--glass-border);
	backdrop-filter: blur(10px);
}
.glass:hover {
	border-color: var(--accent-indigo);
	transition: border-color .3s;
}

/* ── Gradient text ── */
.text-gradient {
	background: linear-gradient(135deg, var(--accent-indigo), var(--accent-magenta));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

/* ── Vibrant button ── */
.btn-vibrant {
	background: linear-gradient(135deg, var(--accent-indigo), var(--accent-magenta));
	transition: opacity .2s, transform .2s;
}
.btn-vibrant:hover { opacity: .88; transform: translateY(-1px); }

/* ── Chevron glide ── */
.glide-container {
	margin-top: 3rem;
	display: flex;
	justify-content: center;
}
.glide-svg {
	font-size: 1.8rem;
	color: var(--accent-indigo);
	animation: glide 2s ease-in-out infinite;
	opacity: .7;
}
@keyframes glide {
	0%, 100% { transform: translateY(0); opacity: .5; }
	50%       { transform: translateY(10px); opacity: 1; }
}

/* ── Stat card hover ── */
.stat-card {
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.stat-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(99,102,241,.15);
	border-color: var(--accent-indigo) !important;
}

/* ── Program card ── */
.program-card {
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.program-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(99,102,241,.15);
	border-color: var(--accent-indigo) !important;
}

/* section z-index */
header, section, footer { position: relative; z-index: 10; }
