.smooth-scroll { scroll-behavior: smooth; }
.cta-pulse { animation: pulse-green 2s infinite; }
@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(22, 163, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
.glass-panel {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
}
html.js-enabled section:not(:first-of-type) {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
html.js-enabled section.fade-in-up {
    opacity: 1;
    transform: translateY(0);
}
.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.phone-mockup-wrapper { perspective: 1000px; }
.phone-screen { scrollbar-width: none; -ms-overflow-style: none; }
.phone-screen::-webkit-scrollbar { display: none; }
.group:hover .aspect-video {
    box-shadow: 0 0 30px rgba(251, 191, 36, 0.1);
    transition: box-shadow 0.5s ease;
}
input[type="range"]::-webkit-slider-thumb {
    appearance: none; width: 20px; height: 20px; background: #1e40af; cursor: pointer; border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
input[type="range"]::-moz-range-thumb {
    width: 20px; height: 20px; background: #1e40af; cursor: pointer; border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@keyframes fade-img {
    0%, 45% { opacity: 1; }
    50%, 95% { opacity: 0; }
    100% { opacity: 1; }
}
.animate-fade-img { animation: fade-img 8s infinite ease-in-out; }
