:root {
  --navy-900: #0a1628;
  --navy-800: #0f2744;
  --navy-700: #1a3a5c;
  --gold-500: #c9a227;
  --gold-400: #d4b84a;
  --slate-100: #f1f4f8;
  --slate-600: #5c6b7a;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin-bottom: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--navy-900);
  background: #fff;
}

.site-header {
  background: linear-gradient(90deg, var(--navy-900) 0%, var(--navy-800) 50%, var(--navy-700) 100%);
}

.site-header .navbar-brand {
  color: #fff !important;
  max-width: 20rem;
  line-height: 1.25;
  font-size: 1rem;
}

@media (min-width: 992px) {
  .site-header .navbar-brand {
    font-size: 1.05rem;
  }
}

.site-header .nav-link {
  color: rgba(255, 255, 255, 0.88) !important;
  font-weight: 500;
}

.site-header .nav-link:hover {
  color: var(--gold-400) !important;
}

.hero {
  background: radial-gradient(ellipse 120% 80% at 20% 0%, #1e4d7a 0%, var(--navy-900) 55%, #050a12 100%);
}

.hero .letter-spacing {
  letter-spacing: 0.12em;
}

.py-lg-6 {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

@media (min-width: 992px) {
  .py-lg-6 {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }
}

.hero-cover {
  max-width: 22rem;
}

.section-alt {
  background: var(--slate-100);
}

.section-cta {
  background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-900) 100%);
}

.site-footer {
  background: var(--navy-900);
}

.footer-link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}

.footer-link:hover {
  color: var(--gold-400);
}

.text-navy {
  color: var(--navy-800) !important;
}

.link-navy {
  color: var(--navy-700);
  font-weight: 500;
}

.link-navy:hover {
  color: var(--gold-500);
}

.text-gold {
  color: var(--gold-500) !important;
}

.max-readable {
  max-width: 42rem;
}

.feature-card {
  border-color: rgba(15, 39, 68, 0.08) !important;
  box-shadow: 0 0.25rem 1rem rgba(10, 22, 40, 0.06);
}

.btn-gold {
  --bs-btn-color: var(--navy-900);
  --bs-btn-bg: var(--gold-500);
  --bs-btn-border-color: var(--gold-500);
  --bs-btn-hover-color: var(--navy-900);
  --bs-btn-hover-bg: var(--gold-400);
  --bs-btn-hover-border-color: var(--gold-400);
  --bs-btn-focus-shadow-rgb: 201, 162, 39;
  font-weight: 600;
}

.btn-navy {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--navy-700);
  --bs-btn-border-color: var(--navy-700);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--navy-800);
  --bs-btn-hover-border-color: var(--navy-800);
  --bs-btn-focus-shadow-rgb: 26, 58, 92;
  font-weight: 600;
}

.btn:focus, .btn:active:focus, .form-control:focus {
  box-shadow: 0 0 0 0.2rem rgba(26, 58, 92, 0.25);
}
