:root {
    color-scheme: light;
    --site-bg: #f2f2f2;
    --site-surface: #ffffff;
    --site-primary: #0a226b;
    --site-primary-soft: #23468c;
    --site-accent: #118ebf;
    --site-accent-soft: #1ab6d9;
    --site-text: #0a226b;
    --site-muted: #23468c;
    --surface-line: rgba(35, 70, 140, 0.24);
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: 'Plus Jakarta Sans', 'Segoe UI', Tahoma, sans-serif;
    -webkit-text-size-adjust: 100%;
    background-color: var(--site-bg);
    color: var(--site-text);
    text-rendering: optimizeLegibility;
}

.bg-slate-50 {
    background-color: var(--site-bg) !important;
}

.bg-white {
    background-color: var(--site-surface) !important;
}

[class*='bg-white/90'] {
    background-color: rgba(255, 255, 255, 0.9) !important;
}

[class*='bg-white/95'] {
    background-color: rgba(255, 255, 255, 0.95) !important;
}

.text-slate-900,
.text-slate-800,
.text-slate-700 {
    color: var(--site-text) !important;
}

.text-slate-600,
.text-slate-500 {
    color: var(--site-muted) !important;
}

.border-slate-100,
.border-slate-200,
.border-slate-300 {
    border-color: var(--surface-line) !important;
}

a,
button,
input,
textarea,
select {
    touch-action: manipulation;
}

.hide-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

#servicos,
#avaliacoes,
#parceiros,
#contato {
    scroll-margin-top: 6.5rem;
}

.hero-surface {
    background-image:
        radial-gradient(circle at 15% 0%, rgba(26, 182, 217, 0.2), transparent 38%),
        radial-gradient(circle at 100% 100%, rgba(27, 55, 140, 0.16), transparent 35%),
        linear-gradient(180deg, #f7fbff 0%, #f2f2f2 100%);
}

.cta-panel {
    background:
        linear-gradient(125deg, rgba(27, 55, 140, 0.97), rgba(35, 70, 140, 0.93)),
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.04) 0,
            rgba(255, 255, 255, 0.04) 8px,
            rgba(255, 255, 255, 0.01) 8px,
            rgba(255, 255, 255, 0.01) 16px
        );
    border: 1px solid rgba(26, 182, 217, 0.28);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.splide__slide article {
    border: 0;
}

.service-clean-card img {
    transition: transform 0.45s ease;
}

.service-clean-card:hover img {
    transform: scale(1.03);
}

.service-hero-pill {
    background-color: rgba(255, 255, 255, 0.85) !important;
}

.whatsapp-fab {
    position: relative;
    background: linear-gradient(135deg, #25d366, #17b85d);
    box-shadow: 0 16px 35px -15px rgba(37, 211, 102, 0.95);
}

.whatsapp-fab::before {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 999px;
    border: 2px solid rgba(37, 211, 102, 0.5);
    animation: whatsappPulse 1.9s infinite;
}

.whatsapp-mobile-btn {
    background: linear-gradient(135deg, #25d366, #1aa850);
    box-shadow: 0 10px 20px -12px rgba(37, 211, 102, 0.9);
}

@keyframes whatsappPulse {
    0% {
        transform: scale(0.94);
        opacity: 0.9;
    }
    70% {
        transform: scale(1.05);
        opacity: 0;
    }
    100% {
        transform: scale(1.1);
        opacity: 0;
    }
}

@media (max-width: 768px) {
    .mobile-cta {
        padding-bottom: calc(0.75rem + env(safe-area-inset-bottom));
    }

    .hero-surface {
        background-image:
            radial-gradient(circle at 10% 0%, rgba(26, 182, 217, 0.2), transparent 40%),
            radial-gradient(circle at 100% 100%, rgba(35, 70, 140, 0.14), transparent 35%),
            linear-gradient(180deg, #f7fbff 0%, #f2f2f2 100%);
    }

    .splide__slide article {
        height: 4.5rem;
    }

    [data-reveal] {
        transition-duration: 0.45s;
    }
}
