* { font-family: 'Poppins', sans-serif; }

/* ── Scroll suave ── */
html { scroll-behavior: smooth; }

/* ── Animations ── */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulse-ring {
    0%   { box-shadow: 0 0 0 0   rgba(37,211,102,.5); }
    70%  { box-shadow: 0 0 0 18px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0   rgba(37,211,102,0); }
}
@keyframes ticker {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.fade-up { animation: fadeUp .7s ease both; }
.fade-up-2 { animation: fadeUp .7s .15s ease both; }
.fade-up-3 { animation: fadeUp .7s .3s ease both; }

.pulse-btn { animation: pulse-ring 2s infinite; }

/* Ticker */
.ticker-wrap { overflow: hidden; }
.ticker-inner { display: flex; width: max-content; animation: ticker 28s linear infinite; }
.ticker-inner:hover { animation-play-state: paused; }

/* Hero gradient overlay */
.hero-overlay {
    background: linear-gradient(135deg, rgba(13,79,124,.93) 0%, rgba(8,46,74,.85) 100%);
}

/* Section divider wave */
.wave-bottom {
    position: absolute; bottom: -2px; left: 0; right: 0;
}

/* Card hover */
.service-card:hover .service-icon { transform: scale(1.12) rotate(-4deg); }
.service-icon { transition: transform .3s; }

/* Steps connector */
.step-line::after {
    content: '';
    position: absolute;
    top: 32px; left: calc(100% + 8px);
    width: calc(100% - 16px);
    height: 2px;
    background: repeating-linear-gradient(90deg, #28A86E 0, #28A86E 8px, transparent 8px, transparent 16px);
}
@media (max-width: 768px) { .step-line::after { display: none; } }

/* Testimonial card */
.testi-card { transition: transform .3s, box-shadow .3s; }
.testi-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(13,79,124,.12); }

/* Urgency bar */
.urgency-bar { background: linear-gradient(90deg, #0D4F7C, #1A75B8, #0D4F7C); background-size: 200%; animation: shimmer 4s linear infinite; }
@keyframes shimmer { 0%{background-position:0%} 100%{background-position:200%} }

/* Number counter style */
.stat-number { font-size: 2.8rem; font-weight: 800; line-height: 1; }

/* WhatsApp float */
.wa-float { animation: pulse-ring 2s infinite; }

/* Highlight */
.highlight { background: linear-gradient(transparent 60%, rgba(40,168,110,.3) 60%); }

/* CTA section */
.cta-bg { background: linear-gradient(135deg, #0D4F7C 0%, #082E4A 100%); }

/* Badge ribbon */
.ribbon { position: absolute; top: -1px; right: 24px; background: #FF6B35; color: white; font-size: .7rem; font-weight: 700; padding: 4px 12px; border-radius: 0 0 8px 8px; letter-spacing: .05em; text-transform: uppercase; }