/* Motion polish */

@keyframes gt-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes gt-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes gt-pulse-glow {
    0%, 100% { box-shadow: 0 0 18px rgba(89, 255, 57, 0.25); }
    50% { box-shadow: 0 0 28px rgba(89, 255, 57, 0.45); }
}

.gt-ai-spinner {
    display: inline-block;
    animation: gt-spin 1.4s linear infinite;
    margin-right: 8px;
}

.gt-build-item {
    animation: gt-fade-in 0.35s ease both;
}

.gt-build-item:nth-child(1) { animation-delay: 0.02s; }
.gt-build-item:nth-child(2) { animation-delay: 0.05s; }
.gt-build-item:nth-child(3) { animation-delay: 0.08s; }
.gt-build-item:nth-child(4) { animation-delay: 0.11s; }
.gt-build-item:nth-child(5) { animation-delay: 0.14s; }
.gt-build-item:nth-child(6) { animation-delay: 0.17s; }
.gt-build-item:nth-child(7) { animation-delay: 0.2s; }
.gt-build-item:nth-child(8) { animation-delay: 0.23s; }

.btn.primary-cta {
    animation: gt-pulse-glow 3s ease-in-out infinite;
}

.hero-layout .glass {
    animation: gt-fade-in 0.55s ease both;
}

.reviews-panel {
    animation: gt-fade-in 0.7s ease both;
}

.google-panel { animation-delay: 0.1s; }
.facebook-panel { animation-delay: 0.2s; }

.service-chip {
    animation: gt-fade-in 0.45s ease both;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}
