/* --- CONFIGURAÇÕES GERAIS --- */
:root {
    --primary-color: #2563EB; /* Azul vibrante estilo Tech */
    --dark-bg: #0F172A;       /* Azul marinho quase preto */
    --light-bg: #F8FAFC;
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
}

body {
    font-family: var(--font-body);
    color: #334155;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .font-heading {
    font-family: var(--font-heading);
}

.text-gradient {
    background: linear-gradient(135deg, #60A5FA 0%, #3B82F6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tracking-wide {
    letter-spacing: 1.5px;
    font-size: 0.85rem;
}

.mw-700 { max-width: 700px; }
.py-6 { padding-top: 5rem; padding-bottom: 5rem; }

/* --- NAVBAR --- */
.glass-nav {
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.btn-glow {
    box-shadow: 0 0 15px rgba(37, 99, 235, 0.5);
    transition: all 0.3s ease;
}
.btn-glow:hover {
    box-shadow: 0 0 25px rgba(37, 99, 235, 0.7);
    transform: translateY(-1px);
}

/* --- HERO SECTION --- */
.hero-section {
    background-color: var(--dark-bg);
    min-height: 100vh;
    padding-top: 100px;
    padding-bottom: 50px;
    background-image: radial-gradient(circle at 10% 20%, rgba(37, 99, 235, 0.15) 0%, transparent 20%),
    radial-gradient(circle at 90% 80%, rgba(37, 99, 235, 0.1) 0%, transparent 20%);
}

.btn-outline-white {
    color: white;
    border: 2px solid rgba(255,255,255,0.2);
}
.btn-outline-white:hover {
    background: white;
    color: var(--dark-bg);
    border-color: white;
}

/* --- CARROSSEL INFINITO (MARQUEE) --- */
.marquee-content {
    animation: scroll 20s linear infinite;
    white-space: nowrap;
}

@keyframes scroll {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.grayscale-hover {
    filter: grayscale(100%);
    transition: filter 0.3s;
}
.grayscale-hover:hover {
    filter: grayscale(0%);
}

/* --- CARDS E SERVIÇOS --- */
.icon-square {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.service-card {
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05);
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
    border-color: rgba(37, 99, 235, 0.2);
}

/* --- FOOTER --- */
.hover-white:hover {
    color: white !important;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 991px) {
    .hero-section {
        text-align: center;
        padding-top: 120px;
    }

    .hero-section p {
        margin-left: auto;
        margin-right: auto;
    }

    .d-flex.gap-3 { /* Botões do hero em mobile */
        justify-content: center;
    }
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
footer {
    margin-top: auto;
}
.page-header {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    padding-top: 120px;
    padding-bottom: 60px;
    text-align: center;
    color: white;
}