:root {
  --primary: #0d6efd;
  --primary-dark: #0a58ca;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--primary), #9c27b0);
}

.hero-carousel { position: relative; color: #fff; }
.hero-carousel .carousel-item { height: 65vh; min-height: 420px; }
.hero-carousel .hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; }
.hero-carousel .overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(13,110,253,.6), rgba(156,39,176,.45)); }
.hero-carousel .caption { position: absolute; inset: 0; display: flex; align-items: center; }
.hero-logo { width: 160px; height: 160px; filter: drop-shadow(0 0 12px rgba(0,0,0,.25)); }

.program-card:hover { transform: translateY(-4px); transition: transform .25s ease; }
.news-card:hover { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }

.gradient-cta { background: linear-gradient(135deg, #9c27b0, #0d6efd); }

.navbar-brand span { letter-spacing: .5px; }

footer small { font-size: .9rem; }

/* Founder section */
.avatar-ring { display:inline-block; padding:6px; border-radius:50%; background: linear-gradient(135deg, #0d6efd, #9c27b0); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }
.founder-avatar { width: 240px; height: 240px; border-radius: 50%; object-fit: cover; border: 6px solid #fff; }
.founder-note { background:#fff; border-radius:12px; box-shadow: 0 .5rem 1rem rgba(0,0,0,.1); padding: 24px; }
.founder-note .title { font-weight:700; }
.founder-quote { font-size: 1.06rem; line-height: 1.8; }
.founder-note blockquote { border-left: 4px solid var(--primary); padding-left: 16px; margin: 0 0 1rem; font-style: italic; color:#555; }