html, body { margin: 0; padding: 0; background: #0E0E15; }
body { -webkit-font-smoothing: antialiased; font-family: Geist, Helvetica, Arial, sans-serif; }
* { box-sizing: border-box; }
a { color: #E8E8F0; text-decoration: none; }
a:hover { color: #FF8FC2; }
::selection { background: #FF3F97; color: #fff; }

@keyframes amlMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Interactive elements — hover states the inline styles below can't express */

.chip-link:hover { background: rgba(255,255,255,0.09); border-color: rgba(255,255,255,0.3); }
.btn-outline:hover { background: rgba(255,255,255,0.085); }
.btn-gradient:hover { filter: brightness(1.12); }
.link-fade:hover { opacity: 0.85; }
.arrow-btn:hover { border-color: rgba(255,255,255,0.4); color: #F2F2F7; }
.row-link:hover { color: #FFFFFF; }
.product-card:hover { border-color: rgba(255,255,255,0.2); }

[data-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s cubic-bezier(.22,.7,.2,1), transform .7s cubic-bezier(.22,.7,.2,1);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
