:root { --brand: #0F4C81; --brand-light: #1E88E5; }

.gradient-brand { background-image: linear-gradient(135deg, #0F4C81 0%, #1E88E5 100%); }
.text-gradient {
    background-image: linear-gradient(135deg, #0F4C81 0%, #1E88E5 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.group:hover .icon-box.group-hover\:gradient-brand { background-image: linear-gradient(135deg,#0F4C81 0%,#1E88E5 100%); }

.glass {
    background: rgba(255,255,255,.72);
    backdrop-filter: saturate(180%) blur(14px);
    -webkit-backdrop-filter: saturate(180%) blur(14px);
    border: 1px solid #E4E9F0;
}
#site-header.is-scrolled #header-bar { box-shadow: 0 10px 40px -18px rgba(43,45,66,.35); }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Marquee de clientes */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.animate-marquee { animation: marquee 40s linear infinite; }
.marquee-mask:hover .animate-marquee { animation-play-state: paused; }
.marquee-mask { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }

/* Particulas do hero */
@keyframes floatSlow { 0%,100% { transform: translateY(0) scale(1); opacity:.35 } 50% { transform: translateY(-26px) scale(1.15); opacity:.8 } }
.particle { position: absolute; border-radius: 9999px; background: linear-gradient(135deg,#0F4C81,#1E88E5); animation: floatSlow 9s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .animate-marquee, .particle, .animate-ping, .animate-pulse { animation: none !important; }
    html { scroll-behavior: auto; }
}
