:root {
            --primary-blue: #0056FF;
            /* Azul vibrante da imagem */
            --dark-blue: #0B1F3A;
            /* Azul escuro corporativo */
            --light-bg: #F8FAFC;
            /* Fundo cinza super claro para as seções */
            --text-dark: #0F172A;
            /* Slate 900 (Títulos) */
            --text-medium: #334155;
            /* Slate 700 - Muito melhor legibilidade e elegância para parágrafos */
            --text-muted: #64748B;
            /* Slate 500 (Textos menores e decorativos) */
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            color: var(--text-dark);
            background-color: #FFFFFF;
            -webkit-font-smoothing: antialiased;
            line-height: 1.6;
            /* Altura de linha equilibrada para leitura B2B fluida */
            letter-spacing: -0.019em;
            /* Reduzido em 25% para o sweet spot ideal de elegância e leitura */
        }

        /* Títulos com escala editorial premium e robustez jurídica */
        h1 {
            font-weight: 800;
            line-height: 1.05;
            letter-spacing: -0.05em;
            /* Reduzido em 25% para títulos gigantes de altíssimo impacto */
            color: var(--text-dark);
        }

        h2 {
            font-weight: 700;
            line-height: 1.15;
            letter-spacing: -0.038em;
            /* Reduzido em 25% para títulos médios institucionais */
            color: var(--text-dark);
        }

        h3 {
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: -0.031em;
            /* Reduzido em 25% */
            color: var(--text-dark);
        }

        h4 {
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: -0.025em;
            /* Reduzido em 25% */
            color: var(--text-dark);
        }

        p,
        .text-muted {
            color: var(--text-medium);
            line-height: 1.65;
            /* Mais "respiro" em blocos de parágrafos */
            letter-spacing: -0.015em;
            /* Reduzido em 25% */
        }

        /* Botões idênticos aos da imagem */
        .btn-custom-primary {
            background-color: var(--primary-blue);
            color: white;
            border-radius: 50px;
            padding: 14px 32px;
            font-weight: 600;
            border: none;
            transition: 0.3s;
        }

        .btn-custom-primary:hover {
            background-color: #0046CC;
            color: white;
            transform: translateY(-2px);
        }

        .btn-custom-dark {
            background-color: var(--dark-blue);
            color: white;
            border-radius: 50px;
            padding: 14px 32px;
            font-weight: 600;
            border: none;
            transition: 0.3s;
        }

        .btn-custom-dark:hover {
            background-color: #081629;
            color: white;
            transform: translateY(-2px);
        }

        /* Navbar Sticky Premium */
        .navbar {
            position: sticky;
            top: 0;
            z-index: 1020;
            background-color: transparent !important;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .navbar.scrolled {
            background-color: rgba(255, 255, 255, 0.85) !important;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(0, 86, 255, 0.05);
            box-shadow: 0 10px 30px rgba(11, 31, 58, 0.04);
            padding-top: 12px !important;
            padding-bottom: 12px !important;
        }

        .navbar-brand {
            font-weight: 800;
            font-size: 1.5rem;
            color: var(--dark-blue) !important;
            letter-spacing: -0.03em;
        }

        .nav-link {
            font-weight: 600;
            color: var(--text-medium) !important;
            margin: 0 10px;
            transition: color 0.2s ease;
        }

        .nav-link:hover {
            color: var(--primary-blue) !important;
        }

        /* Hero Section (Igual a imagem: Título lado esquerdo, texto/bullets direita) */
        .hero-section {
            padding: 80px 0 40px;
            position: relative;
        }

        .hero-title {
            font-size: 4rem;
            line-height: 1.05;
        }

        .text-blue-accent {
            color: var(--primary-blue);
        }

        .hero-img-container {
            margin-top: 60px;
            border-radius: 24px;
            overflow: hidden;
            height: 460px;
            /* Altura fixa premium - reduzido 20% com enquadramento cinematográfico */
        }

        .hero-img-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            display: block;
        }

        .bullet-list li {
            margin-bottom: 12px;
            font-weight: 500;
            color: var(--text-dark);
        }

        .bullet-list i {
            color: var(--primary-blue);
            margin-right: 8px;
        }

        /* Logos Section */
        .logos-section {
            padding: 40px 0 80px;
            text-align: center;
        }

        .logos-text {
            color: var(--text-dark);
            font-weight: 600;
            font-size: 1.1rem;
        }

        .logos-text span {
            color: var(--primary-blue);
        }

        .logos-row {
            display: flex;
            justify-content: center;
            gap: 40px;
            flex-wrap: wrap;
            margin-top: 20px;
            opacity: 0.6;
        }

        .logos-row h5 {
            font-weight: 700;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0;
        }

        /* Services Section -> O Problema / Consequências */
        .services-section {
            background-color: var(--light-bg);
            padding: 100px 0;
        }

        .service-card {
            background: white;
            border-radius: 24px;
            padding: 40px 30px;
            text-align: center;
            border: none;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
            height: 100%;
            transition: 0.3s;
        }

        .service-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
        }

        .icon-circle {
            width: 64px;
            height: 64px;
            background-color: #EBF3FF;
            color: var(--primary-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            margin: 0 auto 24px;
        }

        /* About Section -> A Solução (Texto de um lado, imagens agrupadas embaixo) */
        .about-section {
            padding: 100px 0;
        }

        .tag-dot {
            color: var(--primary-blue);
            background-color: rgba(0, 86, 255, 0.08);
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 1.5px;
            padding: 6px 16px;
            border-radius: 50px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        .grid-images img {
            border-radius: 20px;
            width: 100%;
            object-fit: cover;
        }

        .img-tall {
            height: 420px;
        }

        .img-short {
            height: 200px;
        }

        /* Process Section -> Como Funciona */
        .process-section {
            padding: 80px 0;
            background-color: var(--light-bg);
        }

        .process-row {
            margin-bottom: 80px;
        }

        .process-row:last-child {
            margin-bottom: 0;
        }

        .process-img {
            border-radius: 24px;
            width: 100%;
            height: 350px;
            object-fit: cover;
        }

        .process-number {
            font-size: 3rem;
            font-weight: 800;
            color: var(--text-dark);
            margin-bottom: 10px;
            line-height: 1;
        }

        /* Diferenciais e Tabela */
        .comparative-section {
            padding: 100px 0;
        }

        .custom-table {
            background: white;
            border-radius: 16px;
            overflow: hidden;
            border: 1px solid #e2e8f0 !important;
            margin-top: 30px;
            border-collapse: separate;
            border-spacing: 0;
        }

        .custom-table th {
            background-color: var(--light-bg) !important;
            padding: 18px 24px !important;
            font-weight: 700 !important;
            color: var(--text-dark) !important;
            border-bottom: 1px dashed #e2e8f0 !important;
            border-top: none !important;
            border-left: none !important;
            vertical-align: top !important;
        }

        .custom-table td {
            padding: 18px 24px !important;
            vertical-align: middle !important;
            font-weight: 500;
            border-bottom: 1px dashed #e2e8f0 !important;
            border-top: none !important;
            border-left: none !important;
        }

        .custom-table th:not(:last-child),
        .custom-table td:not(:last-child) {
            border-right: 1px solid #e2e8f0 !important;
        }

        .custom-table tr:last-child td {
            border-bottom: none !important;
        }

        .custom-table th.highlight-col {
            background-color: var(--light-bg) !important;
            color: var(--text-dark) !important;
        }

        .custom-table td.highlight-col {
            background-color: #FFFFFF !important;
            color: #15803D !important;
        }

        .cell-content {
            display: flex;
            align-items: flex-start;
            gap: 12px;
        }

        .cell-content i {
            margin-top: 9px;
            flex-shrink: 0;
        }

        /* FAQ */
        .faq-section {
            padding: 80px 0;
            background-color: var(--light-bg);
        }

        .accordion-item {
            border: none;
            border-radius: 16px !important;
            margin-bottom: 16px;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
        }

        .accordion-button {
            font-weight: 600;
            padding: 20px;
            color: var(--text-dark);
        }

        .accordion-button:not(.collapsed) {
            background-color: white;
            color: var(--primary-blue);
            box-shadow: none;
        }

        .accordion-button:focus {
            box-shadow: none;
        }

        /* Testimonials Section */
        .testimonials-section {
            padding: 100px 0;
            background: linear-gradient(180deg, #FFFFFF 0%, var(--light-bg) 100%);
        }

        .testimonial-card {
            background-color: white;
            border-radius: 24px;
            padding: 40px;
            box-shadow: 0 10px 30px rgba(15, 23, 42, 0.03);
            border: 1px solid rgba(15, 23, 42, 0.04);
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: all 0.3s ease;
        }

        .testimonial-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(15, 23, 42, 0.06);
            border-color: rgba(0, 86, 255, 0.1);
        }

        .testimonial-quote {
            font-size: 1.05rem;
            line-height: 1.65;
            color: var(--text-medium);
            margin-bottom: 25px;
            position: relative;
        }

        .testimonial-stars {
            color: #FFC107;
            font-size: 0.9rem;
            margin-bottom: 20px;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 15px;
            border-top: 1px solid #F1F5F9;
            padding-top: 20px;
        }

        .testimonial-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
            background-color: #E2E8F0;
        }

        .testimonial-info h5 {
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 2px;
        }

        .testimonial-info p {
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 0;
            font-weight: 500;
        }

        /* Contact / CTA Final */
        .cta-section {
            padding: 100px 0;
        }

        .cta-box {
            background-color: var(--dark-blue);
            border-radius: 32px;
            padding: 80px 40px;
            text-align: center;
            color: white;
            position: relative;
            overflow: hidden;
        }

        .cta-box h2 {
            color: white;
        }

        .cta-box p {
            color: #E2E8F0 !important;
        }

        /* Floating WhatsApp */
        .wa-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 60px;
            height: 60px;
            background-color: #25D366;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30px;
            box-shadow: 0 10px 20px rgba(37, 211, 102, 0.3);
            z-index: 1000;
            text-decoration: none;
            transition: 0.3s;
        }

        .wa-float:hover {
            transform: scale(1.1);
            color: white;
        }

        @media (max-width: 991px) {
            .hero-title {
                font-size: 2.8rem;
            }

            .hero-img-container {
                margin-top: 40px;
                height: 320px;
            }

            .grid-images img {
                margin-bottom: 20px;
            }
        }

        @media (max-width: 576px) {
            .hero-img-container {
                height: 220px;
            }
        }

        /* Animações de Scroll Premium (Reveal on Scroll) */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
            will-change: opacity, transform;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        .reveal-left {
            opacity: 0;
            transform: translateX(-40px);
            transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
            will-change: opacity, transform;
        }

        .reveal-left.active {
            opacity: 1;
            transform: translateX(0);
        }

        .reveal-right {
            opacity: 0;
            transform: translateX(40px);
            transition: opacity 1s cubic-bezier(0.2, 0.8, 0.2, 1),
                transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
            will-change: opacity, transform;
        }

        .reveal-right.active {
            opacity: 1;
            transform: translateX(0);
        }

        /* Delays para Stagger/Cascateamento */
        .delay-100 {
            transition-delay: 100ms;
        }

        .delay-200 {
            transition-delay: 200ms;
        }

        .delay-300 {
            transition-delay: 300ms;
        }

        .delay-400 {
            transition-delay: 400ms;
        }

        /* Suavização de Collapsible / Accordion (Sobrescrita do Bootstrap para Física Amanteigada) */
        .accordion-collapse {
            transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        }

        .collapsing {
            transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        }

        .accordion-button {
            transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
        }

        .accordion-button::after {
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        }