:root {
  --sa-primary: #2563eb;
  --sa-accent: #16a34a;
}
body { scroll-behavior: smooth; }
.hero {
  background: linear-gradient(180deg, rgba(37,99,235,.12), rgba(22,163,74,.10));
}
.hero .display-5 { letter-spacing: .2px; }
.section-title { position: relative; padding-bottom: .5rem; margin-bottom: 1.25rem; }
.section-title::after {
  content:""; position:absolute; left:0; bottom:0; width:72px; height:3px; background: var(--sa-primary);
  border-radius: 2px;
}
.card-hover:hover { transform: translateY(-4px); transition: .2s ease; }
.back-to-top {
  position: fixed; right: 1rem; bottom: 1rem; width: 44px; height: 44px; display:none;
}
.small-muted { color: #6c757d; }

/*
.nav-link.active {
  color: #2563eb !important;
  font-weight: 600;
}
.dropdown-item.active {
  background-color: #2563eb;
  color: #fff !important;
} */

.navbar .nav-btn {
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

.navbar .btn-outline-primary {
  border: 1px solid transparent; /* looks balanced without heavy border */
  color: #2563eb;
}

.navbar .btn-outline-primary:hover {
  background-color: #2563eb;
  color: #fff;
}

/* Ensure dropdown items are left aligned and flexible width */
.navbar .dropdown-menu {
  min-width: 180px;   /* gives room for 2–3 words */
}

.navbar .dropdown-menu .dropdown-item {
  white-space: nowrap;    /* keeps text in one line */
  text-align: left;       /* force left alignment */
}

.navbar .navbar-brand {
  font-size: 1.75rem;   /* default ~1.25rem, now larger */
  font-weight: 800;    /* extra bold */
}

@media (max-width: 768px) {
  .navbar .navbar-brand {
    font-size: 1.3rem; /* slightly smaller on mobiles so it fits */
  }
}
