/* Smooth scroll + section offset for sticky header */
html {
  scroll-behavior: smooth;
}

section {
  scroll-margin-top: 96px;
}

[id] {
  scroll-margin-top: 96px;
}

/* Simple pattern background */
.dot-grid {
  background-image: radial-gradient(rgba(15, 23, 42, 0.06) 1px, transparent 1px);
  background-size: 22px 22px;
}

/* CSS Variables */
:root {
  --brand-navy: #0f2a5f;
  --brand-navy-2: #1a3a7a;
  --brand-gold: #c8a24a;
}

/* Typography */
.h-font {
  font-family: 'Fraunces', serif;
  font-weight: 700;
}

/* Navigation */
.nav-pill {
  padding: 0.5rem 1rem;
  border-radius: 0.75rem;
  transition: background-color 0.2s;
}

.nav-pill:hover {
  background-color: rgb(241, 245, 250);
}

/* Buttons */
.btn-primary {
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-navy-2));
  color: white;
  transition: all 0.2s;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(15, 42, 95, 0.2);
}

.btn-primary:active {
  transform: scale(0.98);
}

/* Cards */
.card-premium {
  background: white;
  border: 1px solid rgb(226, 232, 240);
  transition: all 0.3s ease;
}

.card-premium:hover {
  box-shadow: 0 20px 40px rgba(15, 42, 95, 0.1);
  transform: translateY(-4px);
}

/* Footer */
footer a {
  transition: color 0.2s;
}

footer a:hover {
  color: var(--brand-navy);
}

/* Background decorations */
.page-bg {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -10;
}

/* Selection */
::selection {
  background-color: var(--brand-navy);
  color: white;
}