html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

body { font-family: 'Inter', sans-serif; }

.fade-el { transition: opacity .5s ease, transform .5s ease; }
.fade-out { opacity: 0; transform: translateY(10px); }

.fade-img { transition: opacity .5s ease; }
.fade-img.fade-out { opacity: 0; transform: translateX(-50%); }

.blob {
  filter: blur(70px);
}

::selection { background: #1c71e8; color: #fff; }

.dot-active { width: 22px !important; }
[data-hero-theme="blue"] .dot-active { background-color: #1c71e8 !important; }
[data-hero-theme="purple"] .dot-active { background-color: #7e22ce !important; }
[data-hero-theme="pink"] .dot-active { background-color: #be185d !important; }

/* Hero theme sync: whichever slide theme is active (blue / purple / pink),
   every accent color in the hero section switches to match it. */
[data-hero-theme="purple"] #slide-tag { background-color: #faf5ff; border-color: #f3e8ff; color: #7e22ce; }
[data-hero-theme="purple"] #hero-tag-dot { background-color: #7e22ce; }
[data-hero-theme="purple"] #hero-cta-primary { background-color: #7e22ce; }
[data-hero-theme="purple"] #hero-cta-primary:hover { background-color: #6b21a8; }
[data-hero-theme="purple"] #hero-phone-btn svg { color: #7e22ce; }
[data-hero-theme="purple"] #hero-phone-btn:hover { border-color: #d8b4fe; background-color: #faf5ff; }
[data-hero-theme="purple"] #hero-avatar-1 { background-image: linear-gradient(to bottom right, #c084fc, #9333ea); }
[data-hero-theme="purple"] #hero-avatar-2 { background-image: linear-gradient(to bottom right, #f0abfc, #a855f7); }
[data-hero-theme="purple"] #hero-avatar-3 { background-image: linear-gradient(to bottom right, #c4b5fd, #a855f7); }
[data-hero-theme="purple"] #hero-glow-circle { background-color: #faf5ff; }
[data-hero-theme="purple"] #hero-badge-circle { background-color: #7e22ce; }
[data-hero-theme="purple"] #hero-card-phone-btn { background-color: #faf5ff; color: #7e22ce; }

[data-hero-theme="pink"] #slide-tag { background-color: #fdf2f8; border-color: #fce7f3; color: #be185d; }
[data-hero-theme="pink"] #hero-tag-dot { background-color: #be185d; }
[data-hero-theme="pink"] #hero-cta-primary { background-color: #be185d; }
[data-hero-theme="pink"] #hero-cta-primary:hover { background-color: #9d174d; }
[data-hero-theme="pink"] #hero-phone-btn svg { color: #be185d; }
[data-hero-theme="pink"] #hero-phone-btn:hover { border-color: #fbcfe8; background-color: #fdf2f8; }
[data-hero-theme="pink"] #hero-avatar-1 { background-image: linear-gradient(to bottom right, #f9a8d4, #db2777); }
[data-hero-theme="pink"] #hero-avatar-2 { background-image: linear-gradient(to bottom right, #fbcfe8, #ec4899); }
[data-hero-theme="pink"] #hero-avatar-3 { background-image: linear-gradient(to bottom right, #fda4af, #ec4899); }
[data-hero-theme="pink"] #hero-glow-circle { background-color: #fdf2f8; }
[data-hero-theme="pink"] #hero-badge-circle { background-color: #be185d; }
[data-hero-theme="pink"] #hero-card-phone-btn { background-color: #fdf2f8; color: #be185d; }

@keyframes floaty {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}
.floaty { animation: floaty 5s ease-in-out infinite; }

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-marquee { animation: marquee 12s linear infinite; }

@keyframes web-sway {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(12px, -8px) rotate(0.6deg); }
}
.web-sway { animation: web-sway 18s ease-in-out infinite; transform-origin: center; }

@keyframes web-pulse {
  0%, 100% { opacity: .35; }
  50% { opacity: 1; }
}
.web-pulse { animation: web-pulse 4s ease-in-out infinite; }
