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

  /* ── Selection ── */
  ::selection { background: rgba(184,48,80,0.4); color: #f5f0f5; }

  /* ── Scrollbar ── */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #0f0a0e; }
  ::-webkit-scrollbar-thumb { background: #7e1c33; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #fbbf24; }

  /* ── Reveal animations (progressive enhancement) ── */
  @media (prefers-reduced-motion: no-preference) {
    .reveal {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; }
  }
  .reveal {
    opacity: 0;
    transform: translateY(30px);
  }
  .reveal.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* ── Nav scroll state ── */
  #nav.scrolled {
    background: rgba(8,5,8,0.92);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(126,28,51,0.3);
    box-shadow: 0 4px 30px rgba(0,0,0,0.4);
  }

  /* ── Gold shimmer on hero headline ── */
  @keyframes shimmer {
    0% { background-position: -200% center; }
    100% { background-position: 200% center; }
  }
  .text-amber-400.shimmer {
    background: linear-gradient(90deg, #fbbf24 0%, #fde68a 50%, #fbbf24 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 4s linear infinite;
  }

  /* ── Card hover glow ── */
  .group:hover .card-glow {
    opacity: 1;
  }
  .card-glow {
    opacity: 0;
    transition: opacity 0.5s ease;
  }

  /* ── Pulse for CTA ── */
  @keyframes pulse-gold {
    0%, 100% { box-shadow: 0 0 0 0 rgba(251,191,36,0.4); }
    50% { box-shadow: 0 0 30px 5px rgba(251,191,36,0.15); }
  }
  .cta-pulse {
    animation: pulse-gold 3s ease-in-out infinite;
  }
