:root{
  --primary:#007bff;
  --primary-600:#0056b3;
  --accent:#ff6b35;
  --secondary:#6c757d;
  --light:#f8f9fa;
  --dark:#212529;
}

body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; }
.navbar .navbar-brand .logo-title { font-size: 1.4rem; letter-spacing:.2px; }
.navbar .nav-link { padding:.75rem 1rem; }

/* Topbar */
.topbar { background: #0f172a; color:#e5e7eb; }

/* Hero */
.hero { min-height: 72vh; }
.hero-bg{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; filter:brightness(.55) saturate(.9);
}
.hero-overlay{
  position:absolute; inset:0;
  background: radial-gradient(1200px 600px at 10% 20%, rgba(27,102,255,.35), transparent 60%),
              linear-gradient(180deg, rgba(2,6,23,.6), rgba(2,6,23,.6));
  pointer-events:none;
}
.text-accent{ color: var(--accent); }

/* Feature cards */
.feature-card{
  background:#fff; border:1px solid #eef1f6; border-radius:16px;
  padding:1.25rem; text-align:center; height:100%;
  box-shadow: 0 4px 18px rgba(16,24,40,.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(16,24,40,.12);
}
.feature-card i{ font-size:1.6rem; color: var(--primary); }
.feature-card h6{ margin:.5rem 0 .25rem; }

/* Program cards */
.program-card{ transition: transform 0.3s ease; }
.program-card:hover{ transform: translateY(-5px); }
.program-card .card-img-top{ height:160px; object-fit:cover; }
.program-card .btn{ border-radius:10px; }

/* Gradients */
.bg-gradient-primary{
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-600) 100%);
}
.bg-gradient-light{
  background: linear-gradient(180deg, #f8faff 0%, #ffffff 60%);
}

/* Floating chat */
.chat-fab{
  position: fixed; right: 20px; bottom: 20px;
  width:54px; height:54px; border-radius:50%;
  background: #25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  text-decoration:none; font-size:1.6rem; z-index:1050;
}
.chat-fab:hover{ background:#1ebe57; color:#fff; }

/* Buttons */
.btn-primary{
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-600);
  --bs-btn-hover-border-color: var(--primary-600);
  --bs-btn-active-bg: var(--primary-600);
  transition: all 0.3s ease;
}
.btn{
  transition: all 0.3s ease;
}

/* Utilities */
.min-vh-75{ min-height:75vh; }

@media (max-width: 991.98px){
  .hero{ min-height: unset; }
}