html { scroll-behavior: smooth; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; background-color: #120320; color: #ECE3F7; -webkit-font-smoothing: antialiased; }
::selection { background-color: #FF57FF; color: #16041f; }

body .wrapper { position: relative; overflow-x: clip; width: 100%; }

body .wrapper .cta-button { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; letter-spacing: 0.2px; line-height: 1; padding: 15px 22px; border-radius: 999px; cursor: pointer; transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease; }
body .wrapper .cta-button svg { display: block; }
body .wrapper .cta-primary { background-image: linear-gradient(135deg, #A608FF, #6E00C9); color: #ffffff; box-shadow: 0 12px 30px rgba(166, 8, 255, 0.45); }
body .wrapper .cta-primary svg path { stroke: #ffffff; }
body .wrapper .cta-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(166, 8, 255, 0.6); }
body .wrapper .cta-ghost { background-color: rgba(255, 87, 255, 0.08); color: #FF8BFF; border: 1px solid rgba(255, 87, 255, 0.5); }
body .wrapper .cta-ghost:hover { background-color: rgba(255, 87, 255, 0.16); transform: translateY(-2px); }
body .wrapper .cta-block { display: flex; justify-content: center; width: 100%; }
body .wrapper .cta-large { font-size: 17px; padding: 18px 32px; }

body .wrapper .kicker { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: #FF8BFF; margin-bottom: 14px; }

body .wrapper .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.6s ease, transform 0.6s ease; }
body .wrapper .reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body .wrapper .reveal { opacity: 1; transform: none; transition: none; }
  body .wrapper .cta-button { transition: none; }
}
