:root {
  --brand-dark: #313f91;
  --brand-accent: #14b8ff;
  --brand-light: #f4f8fc;
}

body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  color: #1f2933;
}

.topbar {
  background: var(--brand-dark);
  color: #fff;
  font-size: 0.95rem;
  padding-top: 1.1rem !important;
  padding-bottom: 0.85rem !important;
  position: relative;
  z-index: 2;
}

.topbar a {
  color: #fff;
  text-decoration: none;
}

.topbar .container {
  gap: 2rem !important;
  justify-content: flex-end !important;
  padding-left: 21rem;
}

.site-logo {
  max-height: 84px;
}

.navbar {
  background: var(--brand-dark) !important;
  border-bottom: 0;
  padding-top: 0.75rem;
  padding-bottom: 1.2rem;
}

.navbar .container {
  padding-top: 0.9rem;
  padding-left: 21rem;
  position: relative;
}

.navbar-brand {
  margin-right: 0;
  position: absolute;
  left: 0.75rem;
  top: -2rem;
}

.navbar-collapse {
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  padding-top: 0.9rem;
}

.navbar .nav-link,
.navbar .navbar-brand {
  color: #fff !important;
}

.navbar .nav-link {
  font-size: 0.96rem;
  font-weight: 500;
  text-transform: uppercase;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.navbar-nav {
  margin-left: auto;
  margin-right: auto;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
  color: var(--brand-accent) !important;
}

.navbar .dropdown-menu {
  border: 0;
  border-radius: 0.75rem;
  box-shadow: 0 16px 40px rgba(8, 20, 59, 0.2);
}

.navbar .dropdown-item:active,
.navbar .dropdown-item.active {
  background: var(--brand-dark);
}

.navbar-toggler {
  border-color: rgba(255, 255, 255, 0.45);
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler-icon {
  filter: invert(1);
}

.hero {
  background: linear-gradient(120deg, #e8f2fb, #f9fcff);
  border-bottom: 1px solid #dde7f2;
}

.hero h1 {
  font-weight: 700;
}

.content-card {
  background: #fff;
  border: 1px solid #e8edf4;
  border-radius: 0.75rem;
  box-shadow: 0 8px 18px rgba(13, 24, 45, 0.05);
}

.service-list li {
  margin-bottom: 0.4rem;
}

.footer {
  background: var(--brand-dark);
  color: #dce7f6;
}

.footer a {
  color: #fff;
  text-decoration: none;
}

.sidebar-card {
  position: sticky;
  top: 1rem;
}

@media (max-width: 991px) {
  .topbar .container {
    justify-content: center !important;
    padding-left: 0.75rem;
  }

  .navbar .container {
    padding-top: 0;
    padding-left: 0.75rem;
  }

  .navbar-brand {
    margin-right: 0;
    position: static;
  }

  .navbar-collapse {
    border-top: 0;
    padding-top: 0.5rem;
  }

  .sidebar-card {
    position: static;
  }
}
