 /* --- DESIGN SYSTEM & VARIÁVEIS --- */
        :root {
            --brand-purple: #7B2CBF; /* Roxo vibrante */
            --brand-blue: #4facfe;    /* Azul suave */
            --gradient-main: linear-gradient(135deg, #7B2CBF 0%, #4facfe 100%);
            --text-dark: #2D3436;
            --text-gray: #636e72;
            --bg-light: #F7F9FC;
            --white: #ffffff;
            --whatsapp-color: #25D366;
            --radius-card: 20px;
            --radius-btn: 50px;
            --shadow-soft: 0 10px 30px rgba(0,0,0,0.08);
            --shadow-hover: 0 15px 35px rgba(123, 44, 191, 0.2);
        }

        /* --- RESET GLOBAL --- */
        * { margin: 0; padding: 0; box-sizing: border-box; }
        
        body {
            font-family: 'Poppins', sans-serif;
            color: var(--text-dark);
            background-color: var(--white); /* Fundo branco predominante  */
            overflow-x: hidden;
            line-height: 1.6;
        }

        a { text-decoration: none; transition: all 0.3s ease; }
        ul { list-style: none; }
        
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* --- BOTÕES --- */
        .btn {
            display: inline-block;
            padding: 14px 35px;
            border-radius: var(--radius-btn);
            font-weight: 600;
            font-size: 0.95rem;
            letter-spacing: 0.5px;
            cursor: pointer;
            border: none;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        }

        .btn-gradient {
            background: var(--gradient-main);
            color: white;
        }
        .btn-gradient:hover {
            transform: translateY(-3px);
            box-shadow: var(--shadow-hover);
            color: white;
        }

        .btn-whatsapp {
            background-color: var(--whatsapp-color);
            color: white;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .btn-whatsapp:hover { background-color: #1ebc50; transform: translateY(-3px); }

        .btn-outline {
            background: transparent;
            border: 2px solid var(--brand-purple);
            color: var(--brand-purple);
        }
        .btn-outline:hover { background: var(--brand-purple); color: white; }

        /* --- CABEÇALHO (Sticky & Glass) --- */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1000;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 20px rgba(0,0,0,0.05);
            padding: 15px 0;
            transition: 0.3s;
        }

        .nav-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 1.6rem;
            font-weight: 800;
            background: var(--gradient-main);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            letter-spacing: -1px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .nav-menu { display: flex; gap: 30px; align-items: center; }
        .nav-menu a {
            color: var(--text-dark);
            font-weight: 500;
            font-size: 0.95rem;
        }
        .nav-menu a:hover { color: var(--brand-purple); }

        .hamburger { display: none; font-size: 1.8rem; color: var(--brand-purple); cursor: pointer; }

        /* --- HERO SECTION (Banner) --- */
        .hero {
            padding-top: 140px;
            padding-bottom: 100px;
            background: var(--bg-light);
            position: relative;
            overflow: hidden;
        }
        
        /* Círculo decorativo no fundo */
        .hero::before {
            content: '';
            position: absolute;
            top: -10%;
            right: -5%;
            width: 600px;
            height: 600px;
            background: linear-gradient(135deg, rgba(79, 172, 254, 0.1), rgba(123, 44, 191, 0.1));
            border-radius: 50%;
            z-index: 0;
        }

        .hero-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 50px;
            align-items: center;
            position: relative;
            z-index: 1;
        }

        .hero-text h1 {
            font-size: 3.2rem;
            line-height: 1.2;
            margin-bottom: 20px;
            color: var(--text-dark);
        }
        .hero-text h1 span { color: var(--brand-purple); }
        
        .hero-text p {
            font-size: 1.1rem;
            color: var(--text-gray);
            margin-bottom: 30px;
            max-width: 90%;
        }

        .hero-img img {
            width: 100%;
            border-radius: 30px 0 30px 0;
            box-shadow: var(--shadow-soft);
            transform: rotate(-2deg);
            transition: 0.5s;
        }
        .hero-img img:hover { transform: rotate(0); }

        /* --- DIVISOR DE ONDAS (SVG) --- */
        .wave-divider {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            overflow: hidden;
            line-height: 0;
            transform: rotate(180deg);
        }
        .wave-divider svg {
            position: relative;
            display: block;
            width: calc(130% + 1.3px);
            height: 80px;
        }
        .wave-divider .shape-fill { fill: #ffffff; }

        /* --- SOBRE (Cards Flutuantes) --- */
        .section-padding { padding: 30px 0; }
        .bg-white { background: var(--white); }
        
        .section-header {
            text-align: center;
            margin-bottom: 60px;
        }
        .section-header h2 {
            font-size: 2.5rem;
            margin-bottom: 15px;
            background: var(--gradient-main);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .section-header p { color: var(--text-gray); max-width: 600px; margin: 0 auto; }

        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .stats-box {
            background: var(--white);
            padding: 40px;
            border-radius: var(--radius-card);
            box-shadow: var(--shadow-soft);
            border-left: 5px solid var(--brand-purple);
        }
        
        .badges-container {
            display: flex;
            gap: 20px;
            margin-top: 30px;
        }
        .badge-item {
            background: #f0f0f0;
            padding: 10px 20px;
            border-radius: 50px;
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .badge-item i { color: var(--brand-purple); }

        /* --- CARROSSEL CLIENTES --- */
        .clients-row {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 25px;
            margin-top: 20px;
            opacity: 0.7;
        }
        .client-logo {
            font-weight: 700;
            font-size: 1.2rem;
            color: #b2bec3;
            text-transform: uppercase;
        }
.tipo{
    font-size:12px;
}
        /* --- PROMOÇÕES (Estilo Card Moderno) --- */
        .promo-section { background: var(--bg-light); position: relative; }
        
        .pricing-cards {
            display: flex;
            justify-content: center;
            gap: 30px;
            flex-wrap: wrap;
            margin-bottom: 70px;
        }

        .price-card {
            background: var(--white);
            padding: 40px 30px;
            border-radius: var(--radius-card);
            box-shadow: var(--shadow-soft);
            text-align: center;
            width: 300px;
            transition: 0.4s;
            position: relative;
            overflow: hidden;
            border: 1px solid rgba(0,0,0,0.05);
        }
        .price-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-hover); }
        
        .card-tag {
            background: #e3f2fd;
            color: var(--brand-blue);
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 700;
            display: inline-block;
            margin-bottom: 15px;
        }
        .price-card.featured { border: 2px solid var(--brand-purple); }
        .price-card.featured .card-tag { background: var(--brand-purple); color: white; }

        .price-number { font-size: 2.8rem; font-weight: 700; color: var(--text-dark); margin: 10px 0; }
        .price-number small { font-size: 1rem; font-weight: 400; color: var(--text-gray); }

        /* --- CALENDÁRIO SEMANAL (Grid Visual) --- */
        .weekly-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
        }

        .day-box {
            background: var(--white);
            padding: 25px;
            border-radius: 15px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.03);
            text-align: left;
            border-top: 4px solid var(--brand-blue);
            transition: 0.3s;
        }
        .day-box:hover { transform: translateY(-5px); border-color: var(--brand-purple); }

        .day-name { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: var(--text-gray); margin-bottom: 10px; font-weight: 600; }
        .day-offer { font-size: 1.1rem; font-weight: 600; color: var(--text-dark); margin-bottom: 5px; }
        .day-price { font-size: 1.2rem; font-weight: 700; color: var(--brand-purple); }

        /* --- PROCESSO (Timeline Horizontal) --- */
        .process-section { background: var(--white); }
        
        .steps-container {
            display: flex;
            justify-content: space-between;
            position: relative;
            margin-top: 50px;
        }
        /* Linha conectora */
        .steps-container::before {
            content: '';
            position: absolute;
            top: 35px;
            left: 0;
            width: 100%;
            height: 2px;
            background: #eee;
            z-index: 0;
        }

        .step-item {
            position: relative;
            z-index: 1;
            text-align: center;
            background: var(--white);
            padding: 0 10px;
            flex: 1;
        }

        .step-circle {
            width: 70px;
            height: 70px;
            background: var(--white);
            border: 2px solid var(--brand-blue);
            color: var(--brand-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            margin: 0 auto 15px;
            transition: 0.3s;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        }
        .step-item:hover .step-circle {
            background: var(--gradient-main);
            color: white;
            border-color: transparent;
            transform: scale(1.1);
        }
        .step-title { font-weight: 600; font-size: 0.9rem; }

        /* --- B2B (Empresas) --- */
        .b2b-section {
            background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1517677208171-0bc5e25bb396?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80');
            background-attachment: fixed;
            background-size: cover;
            color: white;
            text-align: center;
            padding: 120px 0;
        }
        .b2b-section h2 { font-size: 2.5rem; color: white; margin-bottom: 20px; }
        .b2b-section p { font-size: 1.2rem; opacity: 0.9; margin-bottom: 40px; max-width: 700px; margin-left: auto; margin-right: auto; }

        /* --- CONTATO & MAPA --- */
        .contact-section { background: var(--bg-light); }
        
        .contact-wrapper {
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            gap: 40px;
            background: var(--white);
            border-radius: var(--radius-card);
            overflow: hidden;
            box-shadow: var(--shadow-soft);
        }

        .contact-info {
            background: var(--gradient-main);
            color: white;
            padding: 50px;
        }
        .contact-info h3 { font-size: 1.8rem; margin-bottom: 30px; }
        .info-row { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
        .info-row i { font-size: 1.2rem; margin-top: 5px; opacity: 0.8; }
        
        .contact-form { padding: 50px; }
        .form-control {
            width: 100%;
            padding: 15px;
            background: #f9f9f9;
            border: 1px solid #eee;
            border-radius: 10px;
            margin-bottom: 20px;
            font-family: inherit;
            outline: none;
            transition: 0.3s;
        }
        .form-control:focus { border-color: var(--brand-blue); background: white; box-shadow: 0 0 0 3px rgba(79, 172, 254, 0.1); }

        /* --- FOOTER --- */
        footer {
            background: #1a1a1a;
            color: #888;
            padding: 60px 0 30px;
            text-align: center;
            font-size: 0.9rem;
        }
        footer strong { color: white; font-size: 1.2rem; display: block; margin-bottom: 10px; }

        /* --- RESPONSIVIDADE --- */
        @media (max-width: 900px) {
            .hero-grid, .about-grid, .contact-wrapper { grid-template-columns: 1fr; }
            .hero { padding-top: 120px; text-align: center; }
            .hero-text h1 { font-size: 2.5rem; }
            .steps-container { flex-wrap: wrap; justify-content: center; gap: 20px; }
            .steps-container::before { display: none; }
            .step-item { flex: 0 0 45%; margin-bottom: 20px; }
            
            /* Menu Mobile */
            .hamburger { display: block; }
            .nav-menu {
                position: absolute;
                top: 80px;
                left: 0;
                width: 100%;
                background: white;
                flex-direction: column;
                padding: 30px;
                box-shadow: 0 10px 20px rgba(0,0,0,0.1);
                display: none;
            }
            .nav-menu.active { display: flex; }
        }
        
        
        
 /* 1. Configura o logo GRANDE para telas de computador */
.logo img {
    max-height: 130px; /* Tamanho desejado */
    width: auto;
    display: block;
    transition: 0.3s; /* Suaviza mudanças */
}

/* 2. Aumenta o espaço da primeira seção para o cabeçalho não cobrir o texto */
/* Antes estava 140px, aumentamos para 200px para compensar o logo maior */
#inicio.hero {
    padding-top: 220px; 
}

/* 3. IMPORTANTE: Regras para Celular (Mobile) */
/* No celular, um logo de 110px ocuparia a tela toda. Vamos reduzir apenas no mobile. */
@media (max-width: 900px) {
    .logo img {
        max-height: 60px; /* Tamanho seguro para celular */
    }
    
    #inicio.hero {
        padding-top: 130px; /* Espaço menor no celular */
    }
}

/* Container dos Parceiros - Ajuste de Alinhamento */
.clients-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; /* Isso é crucial para alinhar imagem e texto no centro */
    gap: 30px;
    margin-top: 20px;
}

/* Estilo da Imagem do Parceiro (Tamanho de Texto) */
.partner-logo {
    height: 260px;           /* Altura fixa próxima ao tamanho do texto (ajuste se achar pequeno) */
    width: auto;            /* Mantém a proporção e qualidade */
    vertical-align: middle; /* Garante que fique na linha do texto */
    
    /* Estilos Visuais */
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s ease;
    cursor: pointer;
    
    /* Correção visual (às vezes a imagem parece estar mais pra cima que o texto) */
    position: relative;
    top: -2px; 
}

/* Hover continua igual */
.partner-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}