:root {
  --color-navy-900: #0b172f;
  --color-navy-800: #0b1a4d;
  --color-navy-footer: #0c101c;
  --color-navy-btn: #0b111d;
  --color-blue-600: #0549b3;
  --color-blue-400: #68b5fd;
  --color-silver-400: #8a94a6;
  --color-silver-100: #e2e6ee;
  --color-bg-light: #fcfdfe;
  --color-bg-light-alt: #ecf5fc;
  --color-text-dark: #1a1f36;
  --color-text-light: #ffffff;

  --font-heading: 'Poppins', sans-serif;
  --font-body: 'Poppins', sans-serif;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-6: 3rem;
  --space-8: 4rem;
  --space-12: 6rem;

  --container-max: 1320px;
  --radius-lg: 1rem;
  --radius-pill: 999px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  color: var(--color-text-dark);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
h1, h2, h3 { font-family: var(--font-heading); font-weight: 800; line-height: 1.15; }
button { font-family: inherit; cursor: pointer; }

@keyframes page-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
body { animation: page-fade-in 0.35s ease; }
body.page-leave { opacity: 0; transition: opacity 0.2s ease; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
