    /* =========================================
       VARIÁVEIS & RESET
    ========================================= */
    :root {
        --navy: #1a2b6a;
        --navy-dark: #0d1a45;
        --navy-mid: #14204f;
        --green: #b5d100;
        --green-glow: rgba(181, 209, 0, .35);
        --green-dim: rgba(181, 209, 0, .12);
        --blue: #5bc8e8;
        --blue-glow: rgba(91, 200, 232, .25);
        --white: #ffffff;
        --text-muted: rgba(255, 255, 255, .62);
    }

    *,
    *::before,
    *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Poppins', sans-serif;
        background: var(--navy-dark);
        color: #fff;
        overflow-x: hidden;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    img {
        display: block;
    }

    /* =========================================
       NAVBAR
    ========================================= */
    .navbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 5%;
        height: 70px;
        background: rgba(13, 26, 69, .93);
        backdrop-filter: blur(14px);
        border-bottom: 1px solid rgba(181, 209, 0, .15);
        transition: box-shadow .3s;
    }

    .navbar.scrolled {
        box-shadow: 0 4px 30px rgba(0, 0, 0, .4);
    }

    .nav-logo img {
        height: 190px;
        margin-left: 85px;
    }

    .nav-links {
        display: flex;
        gap: 28px;
        list-style: none;
    }

    .nav-links a {
        font-size: .82rem;
        font-weight: 500;
        color: rgba(255, 255, 255, .8);
        letter-spacing: .02em;
        position: relative;
        transition: color .2s;
    }

    .nav-links a::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--green);
        transform: scaleX(0);
        transition: transform .2s;
        border-radius: 2px;
    }

    .nav-links a:hover {
        color: var(--green);
    }

    .nav-links a:hover::after {
        transform: scaleX(1);
    }

    .nav-cta {
        background: var(--green);
        color: var(--navy-dark);
        padding: 9px 22px;
        border-radius: 50px;
        font-weight: 700;
        font-size: .82rem;
        white-space: nowrap;
        box-shadow: 0 0 18px var(--green-glow);
        transition: all .2s;
    }

    .nav-cta:hover {
        background: #cae200;
        transform: translateY(-1px);
        box-shadow: 0 0 30px var(--green-glow);
    }

    .hamburger {
        display: none;
        flex-direction: column;
        gap: 5px;
        cursor: pointer;
    }

    .hamburger span {
        display: block;
        width: 24px;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: .3s;
    }

    /* Mobile nav */
    .mobile-menu {
        display: none;
        flex-direction: column;
        align-items: center;
        gap: 0;
        position: fixed;
        top: 70px;
        left: 0;
        right: 0;
        z-index: 999;
        background: rgba(13, 26, 69, .98);
        border-bottom: 1px solid rgba(181, 209, 0, .2);
        padding: 16px 0 24px;
    }

    .mobile-menu.open {
        display: flex;
    }

    .mobile-menu a {
        width: 100%;
        text-align: center;
        padding: 12px 20px;
        font-size: .95rem;
        font-weight: 500;
        color: rgba(255, 255, 255, .85);
        border-bottom: 1px solid rgba(255, 255, 255, .05);
        transition: color .2s;
    }

    .mobile-menu a:hover {
        color: var(--green);
    }

    .mobile-menu .mob-cta {
        margin-top: 16px;
        background: var(--green);
        color: var(--navy-dark);
        padding: 12px 40px;
        border-radius: 50px;
        font-weight: 700;
        box-shadow: 0 0 20px var(--green-glow);
    }

    /* =========================================
       HERO
    ========================================= */
    #inicio {
        position: relative;
        min-height: 100vh;
        display: flex;
        align-items: center;
        overflow: hidden;
        background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy-mid) 55%, #1a2b6a 100%);
        padding-top: 70px;
    }

    /* Canvas partículas */
    #ptc {
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
    }

    /* Trilha fibra no chão */
    .fiber-floor {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, transparent 0%, var(--blue) 30%, var(--green) 60%, transparent 100%);
        animation: fiberGlow 3s ease-in-out infinite;
        z-index: 1;
    }

    @keyframes fiberGlow {

        0%,
        100% {
            opacity: .3;
        }

        50% {
            opacity: 1;
        }
    }

    /* Linhas de velocidade */
    .speed-lines {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        overflow: hidden;
    }

    .sl {
        position: absolute;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--green), transparent);
        animation: slMove linear infinite;
    }

    @keyframes slMove {
        from {
            transform: translateX(120%);
            opacity: 0;
        }

        10% {
            opacity: .7;
        }

        90% {
            opacity: .7;
        }

        to {
            transform: translateX(-220%);
            opacity: 0;
        }
    }

    /* GRALIX correndo */
    .gralix-hero {
        position: absolute;
        right: 1%;
        bottom: 31px;
        width: clamp(260px, 86vw, 900px);
        z-index: 3;
        filter: drop-shadow(0 0 50px rgba(181, 209, 0, .28));
        /* transition: transform .08s linear; */
        /* animation: gFloat 5s ease-in-out infinite; */
    }

    @keyframes gFloat {

        0%,
        100% {
            transform: translateY(0) translateX(0);
        }

        50% {
            transform: translateY(-20px) translateX(-6px);
        }
    }

    /* Conteúdo hero */
    .hero-inner {
        position: relative;
        z-index: 4;
        width: 54%;
        padding-left: 8%;
    }

    /* Carrossel */
    .carousel-slide {
        display: none;
        animation: fadeUp .6s ease;
    }

    .carousel-slide.active {
        display: block;
    }

    @keyframes fadeUp {
        from {
            opacity: 0;
            transform: translateY(22px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .slide-tag {
        display: inline-block;
        margin-bottom: 18px;
        background: var(--green-dim);
        border: 1px solid var(--green);
        color: var(--green);
        font-size: .72rem;
        font-weight: 700;
        letter-spacing: .1em;
        text-transform: uppercase;
        padding: 5px 14px;
        border-radius: 50px;
    }

    .slide-title {
        font-size: clamp(1.9rem, 3.8vw, 3.4rem);
        font-weight: 900;
        line-height: 1.1;
        margin-bottom: 18px;
        text-shadow: 0 0 60px rgba(181, 209, 0, .15);
    }

    .slide-title span {
        color: var(--green);
    }

    .slide-desc {
        font-size: 1rem;
        color: var(--text-muted);
        line-height: 1.65;
        margin-bottom: 32px;
        max-width: 460px;
    }

    .hero-btns {
        display: flex;
        gap: 14px;
        flex-wrap: wrap;
    }

    .btn-primary {
        background: var(--green);
        color: var(--navy-dark);
        padding: 13px 30px;
        border-radius: 50px;
        font-weight: 700;
        font-size: .95rem;
        border: none;
        cursor: pointer;
        box-shadow: 0 0 28px var(--green-glow);
        transition: all .25s;
    }

    .btn-primary:hover {
        background: #cae200;
        transform: translateY(-2px);
        box-shadow: 0 0 45px var(--green-glow);
    }

    .btn-outline {
        background: transparent;
        color: #fff;
        border: 2px solid rgba(255, 255, 255, .28);
        padding: 12px 30px;
        border-radius: 50px;
        font-weight: 600;
        font-size: .95rem;
        cursor: pointer;
        transition: all .25s;
    }

    .btn-outline:hover {
        border-color: var(--blue);
        color: var(--blue);
    }

    /* Dots */
    .carousel-dots {
        display: flex;
        gap: 8px;
        margin-top: 36px;
    }

    .dot {
        width: 8px;
        height: 8px;
        border-radius: 4px;
        cursor: pointer;
        background: rgba(255, 255, 255, .28);
        transition: all .3s;
    }

    .dot.active {
        width: 26px;
        background: var(--green);
        box-shadow: 0 0 8px var(--green-glow);
    }

    /* Stats bar */
    .hero-stats {
        position: absolute;
        bottom: 36px;
        left: 8%;
        display: flex;
        gap: 44px;
        z-index: 4;
    }

    .hstat-num {
        font-size: 1.9rem;
        font-weight: 900;
        color: var(--green);
        line-height: 1;
    }

    .hstat-label {
        font-size: .72rem;
        color: var(--text-muted);
        margin-top: 3px;
    }

    /* Promo ribbon */
    .promo-ribbon {
        position: absolute;
        top: 90px;
        right: 0;
        z-index: 5;
        background: var(--green);
        color: var(--navy-dark);
        padding: 10px 20px 10px 28px;
        font-weight: 800;
        font-size: .82rem;
        letter-spacing: .04em;
        clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%);
    }

    /* =========================================
       SEÇÃO BASE
    ========================================= */
    section {
        padding: 90px 8%;
    }

    .sec-tag {
        display: inline-block;
        margin-bottom: 14px;
        background: var(--green-dim);
        border: 1px solid rgba(181, 209, 0, .3);
        color: var(--green);
        font-size: .7rem;
        font-weight: 700;
        letter-spacing: .12em;
        text-transform: uppercase;
        padding: 5px 14px;
        border-radius: 50px;
    }

    .sec-title {
        font-size: clamp(1.7rem, 2.8vw, 2.6rem);
        font-weight: 800;
        line-height: 1.2;
        margin-bottom: 14px;
    }

    .sec-title span {
        color: var(--green);
    }

    .sec-sub {
        font-size: .95rem;
        color: var(--text-muted);
        line-height: 1.7;
        max-width: 560px;
    }

    /* =========================================
       VERIFICAR COBERTURA (barra logo abaixo do hero)
    ========================================= */
    .coverage-bar {
        background: var(--green);
        color: var(--navy-dark);
        padding: 24px 8%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
    }

    .cov-text h3 {
        font-size: 1.1rem;
        font-weight: 800;
    }

    .cov-text p {
        font-size: .85rem;
        opacity: .75;
        margin-top: 2px;
    }

    .cov-form {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .cov-form input {
        padding: 11px 18px;
        border-radius: 50px;
        border: none;
        outline: none;
        font-family: 'Poppins', sans-serif;
        font-size: .9rem;
        font-weight: 500;
        width: clamp(160px, 40vw, 240px);
        background: #fff;
        color: var(--navy-dark);
    }

    .cov-form button {
        padding: 11px 24px;
        border-radius: 50px;
        border: none;
        cursor: pointer;
        background: #128c7e;
        color: #fff;
        font-weight: 700;
        font-size: .85rem;
        font-family: 'Poppins', sans-serif;
        transition: all .2s;
        white-space: nowrap;
        display: flex;
        align-items: center;
    }

    .cov-form button:hover {
        background: #075e54;
        transform: translateY(-1px);
    }

    /* =========================================
       PLANOS
    ========================================= */
    #planos {
        background: var(--navy-mid);
    }

    .plans-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        flex-wrap: wrap;
        gap: 20px;
        margin-bottom: 52px;
    }

    .plans-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 22px;
    }

    .plan-card {
        background: rgba(255, 255, 255, .04);
        border: 1px solid rgba(255, 255, 255, .09);
        border-radius: 20px;
        padding: 34px 26px;
        position: relative;
        overflow: hidden;
        transition: all .3s;
        cursor: pointer;
    }

    .plan-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .15), transparent);
        transition: background .3s;
    }

    .plan-card:hover {
        transform: translateY(-8px);
        border-color: rgba(181, 209, 0, .35);
        box-shadow: 0 20px 55px rgba(181, 209, 0, .09);
    }

    .plan-card:hover::before {
        background: linear-gradient(90deg, transparent, var(--green), transparent);
    }

    .plan-card.featured {
        background: linear-gradient(155deg, rgba(181, 209, 0, .11), rgba(181, 209, 0, .03));
        border-color: var(--green);
        box-shadow: 0 0 50px rgba(181, 209, 0, .12);
    }

    .plan-card.featured::before {
        background: linear-gradient(90deg, transparent, var(--green), transparent);
    }

    .plan-badge {
        position: absolute;
        top: 18px;
        right: 18px;
        background: var(--green);
        color: var(--navy-dark);
        font-size: .67rem;
        font-weight: 800;
        padding: 3px 12px;
        border-radius: 50px;
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .plan-speed {
        font-size: 3.2rem;
        font-weight: 900;
        color: var(--green);
        line-height: 1;
        margin-bottom: 4px;
    }

    .plan-speed-unit {
        font-size: 1rem;
        color: var(--text-muted);
        font-weight: 500;
        vertical-align: middle;
    }

    .plan-type {
        font-size: .75rem;
        color: var(--blue);
        font-weight: 600;
        letter-spacing: .06em;
        margin-top: 6px;
        text-transform: uppercase;
    }

    .plan-name {
        font-size: 1.15rem;
        font-weight: 700;
        margin: 0;
    }

    .plan-price-wrap {
        margin: -7px 0;
        margin-left: 2.5px;
    }

    .plan-price-prefix {
        font-size: .82rem;
        color: var(--text-muted);
    }

    .plan-price {
        font-size: 1.5rem;
        font-weight: 900;
        line-height: 1;
    }

    .plan-price-suffix {
        font-size: .8rem;
        color: var(--text-muted);
        margin-left: 4px;
    }

    .plan-divider {
        height: 1px;
        background: rgba(255, 255, 255, .07);
        margin: 20px 0;
        margin-bottom: 14px;
    }

    .plan-features {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 9px;
    }

    .plan-features li {
        font-size: .845rem;
        color: rgba(255, 255, 255, .82);
        display: flex;
        align-items: center;
        gap: 9px;
    }

    .plan-features li i {
        color: var(--green);
        font-size: .78rem;
        flex-shrink: 0;
    }

    .plan-features li.off {
        color: rgba(255, 255, 255, .3);
    }

    .plan-features li.off i {
        color: rgba(255, 255, 255, .2);
    }

    .plan-btn {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 26px;
        padding: 13px;
        border-radius: 50px;
        font-weight: 700;
        font-size: .88rem;
        border: none;
        cursor: pointer;
        font-family: 'Poppins', sans-serif;
        transition: all .25s;
    }

    .plan-card.featured .plan-btn {
        background: var(--green);
        color: var(--navy-dark);
        box-shadow: 0 0 22px var(--green-glow);
    }

    .plan-card.featured .plan-btn:hover {
        background: #cae200;
    }

    .plan-card:not(.featured) .plan-btn {
        background: transparent;
        color: #fff;
        border: 2px solid rgba(255, 255, 255, .2);
    }

    .plan-card:not(.featured) .plan-btn:hover {
        border-color: var(--green);
        color: var(--green);
    }

    .plans-note {
        text-align: center;
        margin-top: 28px;
        font-size: .8rem;
        color: var(--text-muted);
    }

    .plans-note a {
        color: var(--blue);
    }

    .plan-name-row {
        margin: 16px 0 6px;
    }

    .plan-name {
        font-size: 1.15rem;
        font-weight: 700;
    }

    /* Card header: 2 colunas quando há logo parceiro */
    .plan-card-top {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 14px;
        align-items: stretch;
        margin-bottom: 0;
    }

    .plan-card-top .plan-info {
        display: flex;
        flex-direction: column;
    }

    .plan-logo-box {
        /* background: rgba(255, 255, 255, .06); */
        /* border: 1px solid rgba(255, 255, 255, .1); */
        /* border-radius: 12px; */
        /* padding: 11px 10px; */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-width: 187px;
        height: 93px;
    }

    .plan-partner-logo {
        width: 100%;
        max-width: 220px;
        height: auto;
        object-fit: contain;
        filter: brightness(0) invert(1);
        opacity: .92;
    }

    /* === PREMIUM BUNDLE ============================================ */
    .premium-bundle {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        padding: 12px 16px;
        /* background: rgba(255, 255, 255, 0.04); */
        border: 1px solid rgba(255, 255, 255, 0.09);
        border-radius: 14px;
        min-width: 148px;
        align-self: center;
        transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .plan-card:hover .premium-bundle {
        background: rgba(255, 255, 255, 0.075);
        border-color: rgba(255, 255, 255, 0.16);
        box-shadow: 0 0 18px rgba(181, 209, 0, 0.08);
    }

    .pb-label {
        font-size: 0.58rem;
        font-weight: 600;
        letter-spacing: 0.13em;
        text-transform: uppercase;
        color: rgba(181, 209, 0, 0.7);
        white-space: nowrap;
        transition: color 0.3s;
    }

    .plan-card:hover .pb-label {
        color: rgba(181, 209, 0, 0.95);
    }

    .pb-logos {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        width: 100%;
    }

    .pb-logo-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 32px;
        width: 100%;
    }

    .pb-logo {
        height: 100%;
        width: auto;
        max-width: 128px;
        object-fit: contain;
        filter: brightness(0) invert(1);
        opacity: 0.82;
        transition: opacity 0.25s ease, filter 0.25s ease;
        image-rendering: -webkit-optimize-contrast;
    }

    .pb-logo--sm {
        max-width: 72px;
        height: 88%;
    }

    .plan-card:hover .pb-logo {
        opacity: 1;
        filter: brightness(0) invert(1) drop-shadow(0 0 5px rgba(255, 255, 255, 0.18));
    }

    .pb-or {
        display: flex;
        align-items: center;
        gap: 7px;
        width: 88%;
    }

    .pb-or-line {
        flex: 1;
        height: 1px;
        background: rgba(255, 255, 255, 0.11);
        border-radius: 1px;
    }

    .pb-or-text {
        font-size: 0.58rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        color: rgba(255, 255, 255, 0.28);
        text-transform: lowercase;
        flex-shrink: 0;
    }

    /* =============================================================== */

    /* =========================================
       DIFERENCIAIS
    ========================================= */
    #diferenciais {
        background: var(--navy-dark);
    }

    .diff-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 22px;
        margin-top: 52px;
    }

    .diff-card {
        background: rgba(255, 255, 255, .034);
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 16px;
        padding: 30px 24px;
        transition: all .3s;
    }

    .diff-card:hover {
        transform: translateY(-5px);
        border-color: rgba(181, 209, 0, .3);
        box-shadow: 0 16px 45px rgba(181, 209, 0, .07);
    }

    .diff-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        background: var(--green-dim);
        border: 1px solid rgba(181, 209, 0, .25);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3rem;
        color: var(--green);
        margin-bottom: 18px;
    }

    .diff-title {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 8px;
    }

    .diff-text {
        font-size: .84rem;
        color: var(--text-muted);
        line-height: 1.65;
    }

    /* =========================================
       COMO FUNCIONA
    ========================================= */
    #como {
        background: var(--navy-mid);
    }

    .como-steps {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 0;
        margin-top: 52px;
        position: relative;
    }

    .como-step {
        text-align: center;
        padding: 32px 28px;
        position: relative;
    }

    .como-step:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 1px;
        height: 60%;
        background: rgba(255, 255, 255, .08);
    }

    .step-circle {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        margin: 0 auto 20px;
        background: var(--green-dim);
        border: 2px solid var(--green);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        color: var(--green);
        box-shadow: 0 0 22px var(--green-glow);
    }

    .step-num-badge {
        position: absolute;
        top: -8px;
        right: 50%;
        transform: translateX(50%) translateX(26px);
        background: var(--green);
        color: var(--navy-dark);
        width: 22px;
        height: 22px;
        border-radius: 50%;
        font-size: .7rem;
        font-weight: 900;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .step-title {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 8px;
    }

    .step-text {
        font-size: .83rem;
        color: var(--text-muted);
        line-height: 1.6;
    }

    /* =========================================
       AVALIAÇÕES
    ========================================= */
    #avaliacoes {
        background: var(--navy-dark);
    }

    .avg-bar {
        display: flex;
        align-items: center;
        gap: 32px;
        background: rgba(181, 209, 0, .07);
        border: 1px solid rgba(181, 209, 0, .18);
        border-radius: 16px;
        padding: 28px 32px;
        margin-top: 48px;
        flex-wrap: wrap;
    }

    .avg-score {
        text-align: center;
        flex-shrink: 0;
    }

    .avg-num {
        font-size: 3.8rem;
        font-weight: 900;
        color: var(--green);
        line-height: 1;
    }

    .avg-stars {
        display: flex;
        gap: 4px;
        justify-content: center;
        margin: 6px 0 4px;
    }

    .avg-stars i {
        color: var(--green);
        font-size: .95rem;
    }

    .avg-total {
        font-size: .75rem;
        color: var(--text-muted);
    }

    .avg-divider {
        width: 1px;
        height: 80px;
        background: rgba(255, 255, 255, .1);
        flex-shrink: 0;
    }

    .avg-text h3 {
        font-size: 1.3rem;
        font-weight: 800;
        margin-bottom: 6px;
    }

    .avg-text p {
        font-size: .875rem;
        color: var(--text-muted);
        line-height: 1.6;
    }

    .reviews-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
        margin-top: 32px;
    }

    .review-card {
        background: rgba(255, 255, 255, .04);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 16px;
        padding: 26px;
        transition: all .3s;
    }

    .review-card:hover {
        transform: translateY(-4px);
        border-color: rgba(91, 200, 232, .28);
    }

    .review-stars {
        display: flex;
        gap: 3px;
        margin-bottom: 14px;
    }

    .review-stars i {
        color: var(--green);
        font-size: .85rem;
    }

    .review-quote {
        font-size: .88rem;
        color: rgba(255, 255, 255, .8);
        line-height: 1.7;
        margin-bottom: 18px;
        font-style: italic;
    }

    .review-author {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .r-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: .95rem;
        background: linear-gradient(135deg, var(--navy), var(--navy-dark));
        border: 2px solid rgba(91, 200, 232, .3);
        color: var(--blue);
    }

    .r-name {
        font-weight: 600;
        font-size: .88rem;
    }

    .r-place {
        font-size: .75rem;
        color: var(--text-muted);
    }

    /* =========================================
       SOBRE NÓS
    ========================================= */
    #sobre {
        background: var(--navy-mid);
    }

    .sobre-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 72px;
        align-items: center;
        margin-top: -28px;
    }

    .sobre-mascot {
        position: relative;
        display: flex;
        justify-content: center;
    }

    .sobre-glow {
        position: absolute;
        width: 340px;
        height: 340px;
        background: radial-gradient(circle, rgba(181, 209, 0, .14) 0%, transparent 70%);
        border-radius: 50%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .sobre-mascot img {
        width: clamp(200px, 28vw, 440px);
        filter: drop-shadow(0 20px 55px rgba(181, 209, 0, .22));
        /* animation: mFloat 5s ease-in-out infinite; */
        /* z-index: 104; */
    }

    @keyframes mFloat {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-15px);
        }
    }

    .sobre-nums {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-top: 36px;
    }

    .snum-card {
        background: rgba(255, 255, 255, .04);
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 12px;
        padding: 18px;
        transition: .3s;
    }

    .snum-card:hover {
        border-color: rgba(181, 209, 0, .3);
    }

    .snum {
        font-size: 1.8rem;
        font-weight: 900;
        color: var(--green);
        line-height: 1;
    }

    .snum-label {
        font-size: .78rem;
        color: var(--text-muted);
        margin-top: 4px;
    }

    /* =========================================
       INDIQUE
    ========================================= */
    #indique {
        background: linear-gradient(135deg, var(--navy-dark) 0%, #142060 100%);
        text-align: center;
    }

    .indique-wrap {
        max-width: 820px;
        margin: 0 auto;
    }

    .ind-mascot {
        width: 170px;
        margin: 0 auto 36px;
        filter: drop-shadow(0 0 36px rgba(181, 209, 0, .28));
    }

    .ind-steps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
        margin: 50px 0;
    }

    .ind-step {
        background: rgba(255, 255, 255, .05);
        border: 1px solid rgba(255, 255, 255, .09);
        border-radius: 16px;
        padding: 28px 18px;
    }

    .ind-step-num {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: var(--green);
        color: var(--navy-dark);
        font-weight: 900;
        font-size: 1.15rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 14px;
    }

    .ind-step-title {
        font-weight: 700;
        font-size: .95rem;
        margin-bottom: 6px;
    }

    .ind-step-text {
        font-size: .8rem;
        color: var(--text-muted);
        line-height: 1.55;
    }

    .ind-bonus {
        background: var(--green-dim);
        border: 2px solid var(--green);
        border-radius: 16px;
        padding: 30px;
    }

    .ind-bonus-val {
        font-size: 2.8rem;
        font-weight: 900;
        color: var(--green);
    }

    .ind-bonus-desc {
        font-size: .88rem;
        color: rgba(255, 255, 255, .7);
        margin: 8px 0 20px;
    }

    /* =========================================
       INSTITUCIONAL
    ========================================= */
    #institucional {
        background: var(--navy-dark);
    }

    /* --- MVV Cards --- */
    .mvv-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        margin-top: 52px;
    }

    .mvv-card {
        position: relative;
        overflow: hidden;
        border-radius: 20px;
        padding: 38px 30px 32px;
        cursor: pointer;
        transition: all .35s;
        border: 1px solid transparent;
    }

    .mvv-card-missao {
        background: linear-gradient(145deg, rgba(181, 209, 0, .13), rgba(181, 209, 0, .04));
        border-color: rgba(181, 209, 0, .3);
    }

    .mvv-card-visao {
        background: linear-gradient(145deg, rgba(91, 200, 232, .13), rgba(91, 200, 232, .04));
        border-color: rgba(91, 200, 232, .3);
    }

    .mvv-card-valores {
        background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
        border-color: rgba(255, 255, 255, .12);
    }

    .mvv-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
    }

    .mvv-card-missao:hover {
        box-shadow: 0 24px 60px rgba(181, 209, 0, .12);
        border-color: var(--green);
    }

    .mvv-card-visao:hover {
        box-shadow: 0 24px 60px rgba(91, 200, 232, .12);
        border-color: var(--blue);
    }

    .mvv-card-valores:hover {
        box-shadow: 0 24px 60px rgba(255, 255, 255, .05);
        border-color: rgba(255, 255, 255, .28);
    }

    .mvv-shine {
        position: absolute;
        top: -60%;
        left: -60%;
        width: 220%;
        height: 220%;
        background: radial-gradient(ellipse at center, rgba(255, 255, 255, .04) 0%, transparent 60%);
        pointer-events: none;
    }

    .mvv-icon {
        width: 58px;
        height: 58px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.45rem;
        margin-bottom: 20px;
    }

    .mvv-card-missao .mvv-icon {
        background: rgba(181, 209, 0, .15);
        color: var(--green);
    }

    .mvv-card-visao .mvv-icon {
        background: rgba(91, 200, 232, .15);
        color: var(--blue);
    }

    .mvv-card-valores .mvv-icon {
        background: rgba(255, 255, 255, .08);
        color: #fff;
    }

    .mvv-label {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        margin-bottom: 8px;
    }

    .mvv-card-missao .mvv-label {
        color: var(--green);
    }

    .mvv-card-visao .mvv-label {
        color: var(--blue);
    }

    .mvv-card-valores .mvv-label {
        color: rgba(255, 255, 255, .5);
    }

    .mvv-title {
        font-size: 1.45rem;
        font-weight: 900;
        margin-bottom: 14px;
    }

    .mvv-preview {
        font-size: .86rem;
        color: var(--text-muted);
        line-height: 1.65;
    }

    .mvv-cta {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        margin-top: 22px;
        font-size: .82rem;
        font-weight: 600;
        transition: gap .2s;
    }

    .mvv-card-missao .mvv-cta {
        color: var(--green);
    }

    .mvv-card-visao .mvv-cta {
        color: var(--blue);
    }

    .mvv-card-valores .mvv-cta {
        color: rgba(255, 255, 255, .65);
    }

    .mvv-card:hover .mvv-cta {
        gap: 12px;
    }

    /* --- MODAL overlay --- */
    .mvv-overlay {
        position: fixed;
        inset: 0;
        z-index: 2000;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 24px;
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
    }

    .mvv-overlay.open {
        opacity: 1;
        pointer-events: all;
    }

    .mvv-backdrop {
        position: absolute;
        inset: 0;
        background: rgba(8, 16, 42, .6);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .mvv-modal {
        position: relative;
        z-index: 1;
        max-width: 560px;
        width: 100%;
        border-radius: 24px;
        padding: 44px 40px;
        transform: translateY(30px) scale(.97);
        transition: transform .35s cubic-bezier(.34, 1.56, .64, 1);
    }

    .mvv-overlay.open .mvv-modal {
        transform: translateY(0) scale(1);
    }

    .modal-missao {
        background: linear-gradient(145deg, #14204f, #0d1a45);
        border: 1px solid rgba(181, 209, 0, .35);
        box-shadow: 0 0 80px rgba(181, 209, 0, .12), 0 30px 80px rgba(0, 0, 0, .5);
    }

    .modal-visao {
        background: linear-gradient(145deg, #0f1e45, #0a1535);
        border: 1px solid rgba(91, 200, 232, .35);
        box-shadow: 0 0 80px rgba(91, 200, 232, .12), 0 30px 80px rgba(0, 0, 0, .5);
    }

    .modal-valores {
        background: linear-gradient(145deg, #161f4a, #0d1a45);
        border: 1px solid rgba(255, 255, 255, .18);
        box-shadow: 0 0 80px rgba(255, 255, 255, .05), 0 30px 80px rgba(0, 0, 0, .5);
    }

    .modal-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .08);
        border: 1px solid rgba(255, 255, 255, .12);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: rgba(255, 255, 255, .7);
        font-size: .95rem;
        transition: all .2s;
    }

    .modal-close:hover {
        background: rgba(255, 255, 255, .16);
        color: #fff;
    }

    .modal-icon {
        width: 64px;
        height: 64px;
        border-radius: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        margin-bottom: 22px;
    }

    .modal-missao .modal-icon {
        background: rgba(181, 209, 0, .15);
        color: var(--green);
    }

    .modal-visao .modal-icon {
        background: rgba(91, 200, 232, .15);
        color: var(--blue);
    }

    .modal-valores .modal-icon {
        background: rgba(255, 255, 255, .08);
        color: #fff;
    }

    .modal-label {
        font-size: .68rem;
        font-weight: 700;
        letter-spacing: .14em;
        text-transform: uppercase;
        margin-bottom: 6px;
    }

    .modal-missao .modal-label {
        color: var(--green);
    }

    .modal-visao .modal-label {
        color: var(--blue);
    }

    .modal-valores .modal-label {
        color: rgba(255, 255, 255, .5);
    }

    .modal-title {
        font-size: 1.8rem;
        font-weight: 900;
        margin-bottom: 18px;
    }

    .modal-body {
        font-size: .93rem;
        color: rgba(255, 255, 255, .8);
        line-height: 1.75;
    }

    .modal-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 20px;
    }

    .modal-tag {
        padding: 6px 14px;
        border-radius: 50px;
        font-size: .78rem;
        font-weight: 600;
    }

    .modal-missao .modal-tag {
        background: rgba(181, 209, 0, .12);
        border: 1px solid rgba(181, 209, 0, .3);
        color: var(--green);
    }

    .modal-visao .modal-tag {
        background: rgba(91, 200, 232, .12);
        border: 1px solid rgba(91, 200, 232, .3);
        color: var(--blue);
    }

    .modal-valores .modal-tag {
        background: rgba(255, 255, 255, .06);
        border: 1px solid rgba(255, 255, 255, .15);
        color: #fff;
    }

    /* --- Docs toggle --- */
    .docs-toggle-wrap {
        display: flex;
        justify-content: center;
        margin-top: 44px;
    }

    .docs-toggle-btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: transparent;
        border: 1px solid rgba(255, 255, 255, .12);
        color: rgba(255, 255, 255, .45);
        padding: 10px 22px;
        border-radius: 50px;
        font-family: 'Poppins', sans-serif;
        font-size: .78rem;
        font-weight: 600;
        letter-spacing: .06em;
        text-transform: uppercase;
        cursor: pointer;
        transition: all .25s;
    }

    .docs-toggle-btn:hover {
        border-color: rgba(255, 255, 255, .28);
        color: rgba(255, 255, 255, .75);
    }

    .docs-toggle-btn .dtb-icon {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .07);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .72rem;
        transition: transform .3s;
    }

    .docs-toggle-btn.open .dtb-icon {
        transform: rotate(180deg);
    }

    .docs-drawer {
        overflow: hidden;
        max-height: 0;
        transition: max-height .45s cubic-bezier(.4, 0, .2, 1), opacity .35s ease;
        opacity: 0;
    }

    .docs-drawer.open {
        max-height: 600px;
        opacity: 1;
    }

    .inst-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
        gap: 20px;
        padding-top: 32px;
    }

    .inst-card {
        background: rgba(255, 255, 255, .03);
        border: 1px solid rgba(255, 255, 255, .07);
        border-radius: 16px;
        padding: 28px;
        transition: .3s;
        cursor: pointer;
    }

    .inst-card:hover {
        border-color: rgba(91, 200, 232, .3);
        transform: translateY(-4px);
    }

    .inst-icon {
        font-size: 1.8rem;
        color: var(--blue);
        margin-bottom: 14px;
    }

    .inst-title {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .inst-text {
        font-size: .83rem;
        color: var(--text-muted);
        line-height: 1.65;
    }

    .inst-link {
        color: var(--blue);
        font-size: .82rem;
        font-weight: 600;
        margin-top: 14px;
        display: block;
        transition: color .2s;
    }

    .inst-link:hover {
        color: #fff;
    }

    /* =========================================
       CONTATO
    ========================================= */
    #contato {
        background: var(--navy-mid);
    }

    .contato-wrap {
        display: grid;
        grid-template-columns: 1fr 1.3fr;
        gap: 72px;
        margin-top: 52px;
        align-items: start;
    }

    .ct-info {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .ct-item {
        display: flex;
        align-items: flex-start;
        gap: 14px;
    }

    .ct-icon {
        width: 46px;
        height: 46px;
        border-radius: 12px;
        background: var(--green-dim);
        border: 1px solid rgba(181, 209, 0, .22);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--green);
        font-size: 1.05rem;
        flex-shrink: 0;
    }

    .ct-label {
        font-size: .72rem;
        color: var(--text-muted);
        text-transform: uppercase;
        letter-spacing: .08em;
    }

    .ct-val {
        font-weight: 600;
        font-size: .92rem;
        margin-top: 3px;
    }

    .ct-seal {
        margin-top: 8px;
    }

    .ct-seal img {
        width: 130px;
        border-radius: 10px;
    }

    .ct-form {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .form-row.one {
        grid-template-columns: 1fr;
    }

    .fi input,
    .fi textarea,
    .fi select {
        width: 100%;
        background: rgba(255, 255, 255, .06);
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 12px;
        padding: 13px 16px;
        color: #fff;
        font-family: 'Poppins', sans-serif;
        font-size: .88rem;
        outline: none;
        transition: border-color .2s;
        appearance: none;
        -webkit-appearance: none;
    }

    .fi input:focus,
    .fi textarea:focus,
    .fi select:focus {
        border-color: var(--green);
    }

    .fi input::placeholder,
    .fi textarea::placeholder {
        color: rgba(255, 255, 255, .38);
    }

    .fi textarea {
        resize: vertical;
        min-height: 110px;
    }

    .fi select option {
        background: var(--navy-dark);
    }

    .form-submit {
        background: var(--green);
        color: var(--navy-dark);
        padding: 14px 36px;
        border-radius: 50px;
        font-weight: 700;
        font-size: .95rem;
        border: none;
        cursor: pointer;
        font-family: 'Poppins', sans-serif;
        box-shadow: 0 0 28px var(--green-glow);
        transition: all .25s;
        width: fit-content;
    }

    .form-submit:hover {
        background: #cae200;
        transform: translateY(-2px);
    }

    .form-success {
        display: none;
        background: rgba(181, 209, 0, .1);
        border: 1px solid var(--green);
        border-radius: 12px;
        padding: 16px 20px;
        color: var(--green);
        font-weight: 600;
        font-size: .9rem;
    }

    /* =========================================
       FOOTER
    ========================================= */
    footer {
        background: #07102a;
        padding: 64px 8% 28px;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 36px;
        margin-bottom: 48px;
    }

    .footer-brand img {
        height: 130px;
        margin-bottom: 24px;
    }

    .footer-desc {
        font-size: .82rem;
        color: rgba(255, 255, 255, .48);
        line-height: 1.7;
        max-width: 250px;
    }

    .footer-social {
        display: flex;
        gap: 10px;
        margin-top: 18px;
    }

    .soc {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(255, 255, 255, .06);
        border: 1px solid rgba(255, 255, 255, .1);
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, .65);
        font-size: .85rem;
        transition: all .2s;
    }

    .soc:hover {
        background: var(--green);
        color: var(--navy-dark);
        border-color: var(--green);
    }

    .fcol h4 {
        font-size: .78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .1em;
        color: var(--green);
        margin-bottom: 16px;
    }

    .fcol ul {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 9px;
    }

    .fcol a {
        font-size: .82rem;
        color: rgba(255, 255, 255, .5);
        transition: color .2s;
    }

    .fcol a:hover {
        color: #fff;
    }

    .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, .07);
        padding-top: 22px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: .76rem;
        color: rgba(255, 255, 255, .38);
        flex-wrap: wrap;
        gap: 10px;
    }

    .footer-bottom a {
        color: rgba(255, 255, 255, .38);
        transition: color .2s;
    }

    .footer-bottom a:hover {
        color: #fff;
    }

    /* =========================================
       WHATSAPP FLOAT
    ========================================= */
    .wa-btn {
        position: fixed;
        bottom: 26px;
        right: 26px;
        z-index: 999;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: #25d366;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.55rem;
        box-shadow: 0 4px 24px rgba(37, 211, 102, .42);
        animation: waPulse 2.8s ease-in-out infinite;
        transition: transform .2s;
    }

    .wa-btn:hover {
        transform: scale(1.1);
    }

    @keyframes waPulse {
        0%, 100% {
            box-shadow: 0 4px 24px rgba(37, 211, 102, .42);
        }

        50% {
            box-shadow: 0 4px 40px rgba(37, 211, 102, .72);
        }
    }

    /* =========================================
       WA CHAT MODAL (abre após 2 min)
    ========================================= */
    .wa-chat-wrap {
        position: fixed;
        bottom: 92px;
        right: 26px;
        z-index: 1100;
        width: 320px;
        max-width: calc(100vw - 52px);
        opacity: 0;
        transform: translateY(20px) scale(.95);
        pointer-events: none;
        transition: opacity .4s ease, transform .4s cubic-bezier(.34, 1.56, .64, 1);
        filter: drop-shadow(0 8px 28px rgba(0, 0, 0, .35));
    }

    .wa-chat-wrap.open {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: all;
    }

    .wa-chat-header {
        background: #075e54;
        border-radius: 16px 16px 0 0;
        padding: 12px 40px 12px 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        position: relative;
    }

    .wa-chat-close {
        position: absolute;
        top: 50%;
        right: 12px;
        transform: translateY(-50%);
        background: none;
        border: none;
        color: rgba(255, 255, 255, .65);
        font-size: 1.3rem;
        cursor: pointer;
        line-height: 1;
        transition: color .2s;
        padding: 0;
    }

    .wa-chat-close:hover {
        color: #fff;
    }

    .wa-chat-avatar {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        overflow: hidden;
        background: #128c7e;
        flex-shrink: 0;
        border: 2px solid rgba(255, 255, 255, .25);
    }

    .wa-chat-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
    }

    .wa-chat-name {
        font-size: .95rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.2;
    }

    .wa-chat-status {
        font-size: .72rem;
        color: rgba(255, 255, 255, .75);
        margin-top: 2px;
    }

    .wa-chat-wa-icon {
        margin-left: auto;
        color: rgba(255, 255, 255, .55);
        font-size: 1.25rem;
    }

    .wa-chat-body {
        background: #e5ddd5;
        padding: 14px 12px 10px;
        min-height: 100px;
        position: relative;
        overflow: hidden;
    }

    .wa-time-label {
        font-size: .68rem;
        color: #888;
        background: rgba(255, 255, 255, .65);
        border-radius: 10px;
        padding: 2px 10px;
        display: block;
        width: fit-content;
        margin: 0 auto 10px;
    }

    .wa-typing {
        background: #fff;
        border-radius: 0 10px 10px 10px;
        padding: 10px 14px;
        display: inline-flex;
        gap: 5px;
        align-items: center;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
    }

    .wa-typing span {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #bbb;
        animation: waDot .9s ease-in-out infinite;
    }

    .wa-typing span:nth-child(2) {
        animation-delay: .18s;
    }

    .wa-typing span:nth-child(3) {
        animation-delay: .36s;
    }

    @keyframes waDot {
        0%, 60%, 100% {
            transform: translateY(0);
            opacity: .35;
        }

        30% {
            transform: translateY(-6px);
            opacity: 1;
        }
    }

    .wa-bubble {
        background: #fff;
        border-radius: 0 10px 10px 10px;
        padding: 10px 14px;
        font-size: .875rem;
        color: #222;
        line-height: 1.55;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
        display: none;
    }

    .wa-bubble-time {
        font-size: .65rem;
        color: #aaa;
        display: block;
        text-align: right;
        margin-top: 4px;
    }

    .wa-chat-footer {
        background: #f7f7f7;
        border-radius: 0 0 16px 16px;
        padding: 10px 12px 12px;
        display: none;
        flex-direction: column;
        gap: 7px;
        border-top: 1px solid #e0e0e0;
    }

    .wa-chat-btn {
        display: block;
        text-align: center;
        background: #25d366;
        color: #fff;
        border-radius: 50px;
        padding: 11px 16px;
        font-weight: 700;
        font-size: .88rem;
        text-decoration: none;
        box-shadow: 0 3px 10px rgba(37, 211, 102, .35);
        transition: all .2s;
    }

    .wa-chat-btn:hover {
        background: #1ebe5d;
        transform: translateY(-1px);
    }

    .wa-chat-later {
        background: none;
        border: none;
        color: #aaa;
        font-size: .76rem;
        cursor: pointer;
        text-align: center;
        font-family: 'Poppins', sans-serif;
        padding: 2px;
        transition: color .2s;
    }

    .wa-chat-later:hover {
        color: #777;
    }

    /* =========================================
       REVEAL / ANIMATE
    ========================================= */
    .reveal {
        opacity: 0;
        transform: translateY(36px);
        transition: opacity .7s ease, transform .7s ease;
    }

    .reveal.vis {
        opacity: 1;
        transform: translateY(0);
    }

    .reveal.delay-1 {
        transition-delay: .15s;
    }

    .reveal.delay-2 {
        transition-delay: .3s;
    }

    .reveal.delay-3 {
        transition-delay: .45s;
    }

    /* =========================================
       RESPONSIVE
    ========================================= */
    @media(max-width:1024px) {
        .hero-inner {
            width: 62%;
        }

        .sobre-wrap {
            grid-template-columns: 1fr;
        }

        .sobre-mascot {
            order: -1;
        }

        .footer-grid {
            grid-template-columns: 1fr 1fr;
        }
    }

    @media(max-width:768px) {

        .nav-links,
        .nav-cta {
            display: none;
        }

        .hamburger {
            display: flex;
        }

        .hero-inner {
            width: 100%;
            padding: 0 6%;
        }

        .gralix-hero {
            display: none;
        }

        .hero-stats {
            display: none;
        }

        .promo-ribbon {
            display: none;
        }

        section {
            padding: 72px 6%;
        }

        .coverage-bar {
            flex-direction: column;
            text-align: center;
        }

        .cov-form {
            justify-content: center;
        }

        .cov-form input {
            width: 100%;
            max-width: 320px;
        }

        .ind-steps {
            grid-template-columns: 1fr;
        }

        .contato-wrap {
            grid-template-columns: 1fr;
            gap: 40px;
        }

        .form-row {
            grid-template-columns: 1fr;
        }

        .footer-grid {
            grid-template-columns: 1fr;
        }

        .footer-bottom {
            flex-direction: column;
            text-align: center;
        }

        .avg-divider {
            display: none;
        }

        .como-step::after {
            display: none;
        }

        /* Sobre: stack the numbers 2-col stays fine, but sobre-wrap goes 1-col */
        .sobre-nums {
            grid-template-columns: 1fr 1fr;
        }

        /* MVV */
        .mvv-grid {
            grid-template-columns: 1fr;
        }

        .mvv-modal {
            padding: 32px 24px;
        }

        /* Plans: force single column on mobile */
        .plans-grid {
            grid-template-columns: 1fr;
        }

        /* Plan card header: stack vertically on mobile */
        .plan-card-top {
            grid-template-columns: 1fr;
        }

        .plan-logo-box {
            min-width: unset;
            height: auto;
            justify-content: flex-start;
        }

        .premium-bundle {
            min-width: unset;
            width: 100%;
            flex-direction: row;
            justify-content: center;
            gap: 14px;
            padding: 10px 14px;
        }

        .pb-label {
            display: none;
        }

        .pb-logos {
            flex-direction: row;
            align-items: center;
            gap: 10px;
        }

        .pb-logo-wrap {
            height: 28px;
            width: auto;
        }

        .pb-or {
            width: auto;
            flex-direction: column;
            gap: 3px;
        }

        .pb-or-line {
            width: 1px;
            height: 20px;
            flex: none;
        }

        .pb-or-text {
            font-size: 0.55rem;
        }
    }

    @media(max-width:480px) {
        .slide-title {
            font-size: clamp(1.55rem, 7vw, 2rem);
        }

        .sobre-nums {
            grid-template-columns: 1fr 1fr;
        }

        .avg-bar {
            flex-direction: column;
            align-items: flex-start;
            gap: 20px;
        }

        .avg-score {
            text-align: left;
        }

        .avg-stars {
            justify-content: flex-start;
        }

        .plans-header {
            flex-direction: column;
            align-items: flex-start;
        }

        .footer-brand img {
            height: 90px;
        }

        .wa-chat-wrap {
            right: 16px;
            bottom: 86px;
        }
    }