  :root {
    --navy-900: #0A1F35;
    --navy-800: #0F2A4A;
    --gold-500: #C8960C;
    --gold-400: #D4A825;
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* Scroll reveal — progressive enhancement, hidden by default */
  .scroll-reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  @media (prefers-reduced-motion: no-preference) {
    .scroll-reveal {
      opacity: 0;
      transform: translateY(24px);
    }
    .scroll-reveal.revealed {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Header scroll state */
  #site-header.scrolled {
    background: rgba(10, 31, 53, 0.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(255,255,255,0.06);
  }

  /* Mobile menu */
  #mobile-menu {
    animation: slideDown 0.25s ease;
  }

  @keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Custom scrollbar */
  ::-webkit-scrollbar {
    width: 8px;
  }
  ::-webkit-scrollbar-track {
    background: var(--navy-900);
  }
  ::-webkit-scrollbar-thumb {
    background: var(--gold-500);
    border-radius: 4px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--gold-400);
  }

  /* Focus styles */
  a:focus-visible, button:focus-visible {
    outline: 2px solid var(--gold-400);
    outline-offset: 2px;
    border-radius: 4px;
  }

  /* Selection */
  ::selection {
    background: var(--gold-500);
    color: var(--navy-900);
  }

  /* Form styles */
  input, textarea, select {
    font-family: inherit;
  }

  input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--gold-500);
    box-shadow: 0 0 0 3px rgba(200, 150, 12, 0.15);
  }

  /* Success message */
  .form-success {
    animation: fadeIn 0.4s ease;
  }

  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Image aspect ratios */
  .aspect-card {
    aspect-ratio: 4 / 3;
  }
