:root { color-scheme: dark; }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: #0B0B0D; }
    body {
      margin: 0;
      background: #0B0B0D;
      color: #fff;
      font-family: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    ::selection { background: #33D1FF; color: #08131A; }
    .mask-fade-y {
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 9%, #000 88%, transparent 100%);
      mask-image: linear-gradient(to bottom, transparent 0%, #000 9%, #000 88%, transparent 100%);
    }
    .mask-fade-b {
      -webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
      mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
    }
    .reveal {
      opacity: 0;
      transform: translateY(24px);
      transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
      transition-delay: var(--delay, 0s);
    }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    .hero-fade-in {
      animation: heroFade 1.2s cubic-bezier(.22,1,.36,1) both;
      animation-delay: var(--delay, 0s);
    }
    @keyframes heroFade {
      from { opacity: 0; transform: translateY(24px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .hero-emblem {
      animation: emblemFade 1.6s cubic-bezier(.22,1,.36,1) both;
    }
    @keyframes emblemFade {
      from { opacity: 0; transform: scale(.96); }
      to { opacity: 1; transform: scale(1); }
    }
    .hero-glow {
      animation: glowPulse 16s ease-in-out infinite;
    }
    @keyframes glowPulse {
      0%,100% { opacity: .4; }
      50% { opacity: .65; }
    }
    .select-dark { color-scheme: dark; }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
      }
      .reveal { opacity: 1; transform: none; }
    }
