  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; overflow-x: hidden; }

  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #050D1A; }
  ::-webkit-scrollbar-thumb { background: #1e3a5f; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #D4A843; }

  ::selection { background: rgba(212, 168, 67, 0.3); color: #fff; }

  /* ─── Scroll Reveal ─── */
  @media (prefers-reduced-motion: no-preference) {
    .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .reveal.revealed {
      opacity: 1;
      transform: translateY(0);
    }
  }

  /* Ensure content is visible even if JS is disabled */
  @media not all and (prefers-reduced-motion: no-preference) {
    .reveal { opacity: 1; transform: none; }
  }
  .reveal { opacity: 1; transform: none; }

  /* ─── Navbar ─── */
  #navbar.scrolled {
    background: rgba(5, 13, 26, 0.92);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
  }

  /* ─── FAQ ─── */
  .faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.22, 1, 0.36, 1), padding 0.35s ease;
  }
  .faq-content.open {
    max-height: 200px;
  }

  /* ─── Gold shimmer on CTA buttons ─── */
  .bg-gold-500 {
    position: relative;
    overflow: hidden;
  }
  .bg-gold-500::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.5s ease;
  }
  .bg-gold-500:hover::after {
    left: 100%;
  }
