* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body { font-family: 'Inter', sans-serif; }
.font-playfair { font-family: 'Playfair Display', serif; }
img, iframe, svg { max-width: 100%; display: block; }
a, button { -webkit-tap-highlight-color: transparent; }
.fade-in { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.menu-tab.active { background: linear-gradient(90deg, #7d35f0 0%, #ec4899 100%); color: #ffffff; box-shadow: 0 18px 50px rgba(125, 53, 240, 0.22); }
.ripple { position: relative; overflow: hidden; isolation: isolate; }
.ripple span { position: absolute; border-radius: 9999px; transform: scale(0); animation: ripple-effect 0.7s linear; background: rgba(255,255,255,0.45); pointer-events: none; }
@keyframes ripple-effect { to { transform: scale(4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fade-in, .fade-in.visible { opacity: 1; transform: none; transition: none; }
  .ripple span { animation: none; }
}
