/* ==========================================================================
   CSS VARIABLES & DESIGN SYSTEM
   ========================================================================== */
:root {
    /* Cores principais: 50% Bordeaux (#690000), 30% Gold (#FAEABC), 15% Black, 5% White */
    --color-bordeaux: #a00000;
    --color-gold: #FAEABC;
    --color-black: #0a0a0a;
    --color-black-light: #201f1f;
    --color-white: #ffffff;
    --color-text-light: rgba(255, 255, 255, 0.9);
    --color-text-muted: rgba(255, 255, 255, 0.7);

    /* Typography */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;

    /* Borders & Spacing */
    --radius-md: 8px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

    /* Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(250, 234, 188, 0.2);
    /* Gold border */
}

/* ==========================================================================
   RESET & GLOBAL
   ========================================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    overflow-x: hidden;
    position: relative;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-black);
    color: var(--color-text-light);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   TEXTURAS DE FUNDO PREMIUM (WAVES & SILK)
   ImplementaÃ§Ã£o de luxo para cada seção
   ========================================================================== */

/* Regra geral para todas as seÃ§Ãµes com textura e otimizaÃ§Ã£o de renderizaÃ§Ã£o */
.benefits,
.pain,
.how-it-works,
.community,
.target-audience,
.bonus-resources,
.mentor,
.cta-final,
.faq-section,
.footer {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* PERFORMANCE PRO: SÃ³ renderiza quando estiver perto da tela */
    content-visibility: auto;
    contain-intrinsic-size: 1px 500px;
}

/* Adicionando overlay escuro para garantir legibilidade e fusÃ£o profunda apenas no mentor */
.mentor::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    /* Aumentado para 70% para ser 'mais opaco' */
    z-index: 0;
    pointer-events: none;
}

/* Aplicando as texturas especÃ­ficas */

/* .benefits background movido para a seção especÃ­fica */
/* .pain background agora utiliza CSS nativo */
.how-it-works {
    background-color: #FAEABC;
    background-image: none;
    overflow: hidden;
}

.community {
    background-color: #201f1f;
}

.target-audience {
    background-color: #FAEABC;
}

.bonus-resources {
    background-color: #8b0000;
    /* Fundo bordeaux solicitado */
}

.mentor {
    background-color: #0c0c0c;
}

.cta-final {
    background-image: none;
    /* Removida textura que causava o filtro escuro */
}

.faq-section {
    background-color: #FAEABC;
    /* Fundo bege solicitado */
    background-image: none;
}

.footer {
    background-image: none;
    /* Removida textura e filtros conforme solicitado */
}

/* Fundo da seção de SoluÃ§Ã£o (Cinza Grafite) */
.how-it-works {
    position: relative;
    background-color: #FAEABC;
    overflow: hidden;
}

@keyframes glimmerEffect {
    0% {
        opacity: 0.3;
        transform: scale(1);
    }

    100% {
        opacity: 0.9;
        transform: scale(1.05);
    }
}


/* ---- Z-INDEX: ConteÃºdo sempre acima da textura e do overlay ---- */
.benefits>.container,
.pain>.container,
.how-it-works>.container,
.community>.container,
.testimonials>.container,
.target-audience>.container,
.bonus-resources>.container,
.mentor>.container,
.cta-final>.container,
.faq-section>.container,
.footer>.container {
    position: relative;
    z-index: 10;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: var(--color-gold);
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   UTILITIES & LAYOUT
   ========================================================================== */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.container-narrow {
    max-width: 800px;
}

.pt-large {
    padding-top: 5rem;
}

.pb-large {
    padding-bottom: 5rem;
}

/* SeÃ§Ã£o de Tela Cheia Imersiva */
.section-fullscreen {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5rem 0;
    position: relative;
    overflow: hidden;
}

.mt-4 {
    margin-top: 2rem;
}

.mt-5 {
    margin-top: 3rem;
}

.mt-large {
    margin-top: 5rem;
}

.mt-xlarge {
    margin-top: 5rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.max-w-800 {
    max-width: 800px;
}

.bg-bordeaux {
    background-color: var(--color-bordeaux);
}

.bg-black {
    background-color: var(--color-black);
}

.bg-dark {
    background-color: var(--color-black-light);
}

.gold-text {
    color: var(--color-gold) !important;
}

.gold-subtitle {
    display: inline-block;
    color: var(--color-gold);
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

/* Typography styles */
.section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 1.5rem;
}

.section-subtitle {
    font-size: 1.1rem;
    color: var(--color-text-muted);
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3rem;
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 4px;
    font-weight: 600;
    font-family: var(--font-body);
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: var(--transition);
    cursor: pointer;
    font-size: 0.9rem;
}

.btn-primary {
    background-color: var(--color-gold);
    color: var(--color-bordeaux);
    border: 1px solid var(--color-gold);
    box-shadow: 0 4px 15px rgba(250, 234, 188, 0.2);
}

.btn-primary:hover {
    background-color: transparent;
    color: var(--color-gold);
    box-shadow: 0 0px 25px rgba(250, 234, 188, 0.4);
}

.btn-outline {
    background-color: transparent;
    color: var(--color-gold);
    border: 1px solid var(--color-gold);
}

.btn-outline:hover {
    background-color: var(--color-gold);
    color: var(--color-bordeaux);
}

.btn.small {
    padding: 10px 20px;
    font-size: 0.8rem;
}

.btn.large {
    padding: 18px 36px;
    font-size: 1rem;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
/* HEADER REMOVIDO PARA FOCO TOTAL NO HERO */
.header {
    display: none;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    height: 40px;
    filter: brightness(0) invert(1);
    /* Tenta manter clara caso a logo seja escura */
}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.hero {
    position: relative;
    padding-top: 50px;
    /* Reduzido pois não hÃ¡ mais header */
    padding-bottom: 50px;
    height: 100vh;
    /* Tela cheia */
    min-height: 700px;
    /* Garante que não quebre em telas muito baixas */
    display: flex;
    align-items: center;
    /* Centraliza verticalmente o conteÃºdo */
    background: linear-gradient(135deg, var(--color-bordeaux) 0%, var(--color-black) 100%);
    overflow: hidden;
}

/* Camada de Brilho (Glow) atrÃ¡s da foto */
.hero-glow {
    position: absolute;
    top: 50%;
    right: 5%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(160, 0, 0, 0.5) 0%, rgba(160, 0, 0, 0) 70%);
    filter: blur(60px);
    z-index: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Arco Dourado decorativo */
.hero-ring {
    position: absolute;
    bottom: -150px;
    right: -100px;
    width: 800px;
    height: 800px;
    border: 1px solid rgba(250, 234, 188, 0.3);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* Camada da Textura (Ondas) - Removida imagem deletada, mantendo apenas gradiente se necessÃ¡rio */
.hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    opacity: 0.4;
    z-index: 0;
    pointer-events: none;
}

/* Camada da Foto da Dra. Mariana (Refatorada para <img> HTML) */
.hero-main-img {
    position: absolute;
    top: 0;
    right: 10%;
    width: 45%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 1;
    mask-image: linear-gradient(to right, transparent, black 25%);
    -webkit-mask-image: linear-gradient(to right, transparent, black 25%);
    z-index: 2;
}

.hero::before {
    display: none;
    /* Imagem movida para .hero-main-img */
}

.hero-grid {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media(min-width: 992px) {
    .hero-grid {
        grid-template-columns: 55% 45%;
    }
}

.hero-content {
    max-width: 750px;
    /* Aumentado para melhor distribuiÃ§Ã£o horizontal */
}

.desktop-only {
    display: block !important;
}

.mobile-only {
    display: none !important;
}

.hero-logo-internal.desktop-only {
    display: block;
    width: 185px;
    margin-bottom: 2.5rem;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
}

.headline {
    color: var(--color-white);
    font-size: clamp(2.5rem, 5.5vw, 4.2rem);
    margin-bottom: 2rem;
    line-height: 1.05;
    font-weight: 700;
}

.headline span {
    color: var(--color-gold);
    display: inline;
}

.subheadline {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 3rem;
    max-width: 620px;
    line-height: 1.6;
}

.hero-btns {
    margin-top: 10% !important;
    /* Abaixar o botao em 10% */
    margin-bottom: 2rem;
}

/* BotÃ£o com o gradiente da referÃªncia */
/* BotÃ£o reduzido em 30% */
.btn-primary.large {
    background: var(--color-gold);
    border: none;
    padding: 14px 32px;
    box-shadow: 0 10px 30px rgba(250, 234, 188, 0.3);
    color: var(--color-bordeaux);
    font-weight: 700;
    font-size: 0.95rem;
}

.hero-note {
    font-size: 0.85rem;
    color: var(--color-gold);
    border-left: 2px solid var(--color-gold);
    padding-left: 15px;
    background: rgba(250, 234, 188, 0.05);
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 15px;
}

/* ==========================================================================
   BENEFITS
   ========================================================================== */
.benefits {
    position: relative;
    padding: 100px 0;
    background-color: var(--color-gold);
    /* Fundo Ouro conforme solicitado */
    border-top: 1px solid var(--glass-border);
    overflow: hidden;
}

/* Removido o pseudo-elemento que adicionava textura preta e gradientes escuros */
.benefits::before {
    display: none;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.benefits .section-title {
    color: var(--color-bordeaux);
    /* Título em bordeaux para contrastar com o fundo ouro */
}

.benefit-card {
    background: linear-gradient(145deg, rgba(20, 20, 20, 0.9), rgba(10, 10, 10, 0.9));
    /* O "Preto mesmo" mantido, conforme pedido */
    border: 1px solid var(--color-bordeaux);
    /* Neon fixo ativado na borda */
    padding: 2.5rem 2rem;
    border-radius: var(--radius-md);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    color: var(--color-white);
    box-shadow: 0 15px 40px rgba(160, 0, 0, 0.5);
    /* Neon vermelho ao redor fixado como sombra principal */
}

.benefit-card>* {
    position: relative;
    z-index: 1;
}

.benefit-card h3 {
    color: var(--color-gold);
    /* Detalhes da cor na escrita (tÃ­tulos de bloco) */
    margin-bottom: 0.5rem;
}

.benefit-card p {
    color: var(--color-text-light);
    /* Letras claras para bom contraste no card preto */
}

.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(160, 0, 0, 0.7);
    /* Intensifica um pouquinho a pulsaÃ§Ã£o do neon sem sair a borda */
}

.icon-wrapper {
    width: 60px;
    height: 60px;
    background: rgba(250, 234, 188, 0.1);
    /* Brilho sutil dourado no fundo do ícone */
    border: 1px solid var(--color-gold);
    /* Borda dourada para destacar o ícone no card preto */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    color: var(--color-gold);
    /* Ãcones em Ouro: contraste mÃ¡ximo sobre o preto e harmonia com o fundo da seção */
    box-shadow: 0 0 15px rgba(250, 234, 188, 0.2);
    /* Neon dourado interno */
}

/* ==========================================================================
   PAIN / PROBLEM
   ========================================================================== */
.pain {
    position: relative;
    /* Vermelho sÃ³lido oficial como fundo principal */
    background: var(--color-bordeaux);
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 4rem 0;
}

/* Camada de Ondas de Seda (Vermelho Profundo) */
.pain::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 600' preserveAspectRatio='none'%3E%3Cpath d='M0,100 Q150,50 300,100 T600,100 T900,100 L1000,100 L1000,600 L0,600 Z' fill='%234a0000' opacity='0.4' /%3E%3Cpath d='M0,200 Q200,100 400,200 T800,200 T1000,200 L1000,600 L0,600 Z' fill='%235a0000' opacity='0.3' /%3E%3Cpath d='M0,350 Q250,250 500,350 T1000,350 L1000,600 L0,600 Z' fill='%23690000' opacity='0.5' /%3E%3C/svg%3E");
    background-size: cover;
    opacity: 0.8;
    z-index: 0;
    pointer-events: none;
}

/* Camada de Frisos Dourados (Linhas Finas em CÃ³digo) */
.pain::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 600' preserveAspectRatio='none'%3E%3Cpath d='M0,100 Q150,50 300,100 T600,100 T900,100' fill='none' stroke='%23FAEABC' stroke-width='0.5' opacity='0.15' /%3E%3Cpath d='M0,200 Q200,100 400,200 T800,200 T1000,200' fill='none' stroke='%23FAEABC' stroke-width='0.8' opacity='0.2' /%3E%3Cpath d='M0,350 Q250,250 500,350 T1000,350' fill='none' stroke='%23FAEABC' stroke-width='1' opacity='0.25' /%3E%3C/svg%3E");
    background-size: cover;
    z-index: 0;
    pointer-events: none;
    filter: blur(0.5px);
    /* Efeito metÃ¡lico suave */
}

.pain-cards {
    display: grid;
    /* ComeÃ§a com coluna Ãºnica no mobile */
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 750px;
    /* Reduzido para não ficar tÃ£o extenso na tela */
    margin: 2rem auto 0;
    /* Menos margem para caber na tela */
}

@media (min-width: 768px) {
    .pain-cards {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        /* Gap mais apertado para desktop */
    }
}

.pain-card {
    background: rgba(10, 0, 0, 0.7);
    /* Fundo quase preto para alto contraste no vermelho */
    border: 1px solid rgba(250, 234, 188, 0.1);
    padding: 1.5rem;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    gap: 1.2rem;
    transition: var(--transition);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
    /* Sombra de profundidade, não neon */
}

.pain-card:hover {
    background: rgba(0, 0, 0, 0.8);
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6);
}

.pain-icon {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--color-gold);
    background: linear-gradient(135deg, #8a0000 0%, #4a0000 100%);
    /* Gradiente para volume */
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(250, 234, 188, 0.5);
    /* Efeito 3D: luz no topo e sombra embaixo */
    box-shadow:
        2px 2px 5px rgba(0, 0, 0, 0.5),
        inset 2px 2px 5px rgba(255, 255, 255, 0.2),
        inset -2px -2px 5px rgba(0, 0, 0, 0.3);
}

.pain-card p {
    font-size: 1rem;
    line-height: 1.4;
    color: var(--color-white);
}

.pain-verdict-box {
    background: rgba(15, 2, 2, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid var(--color-gold);
    /* Borda dourada fina */
    padding: 3rem 2rem;
    border-radius: var(--radius-lg);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.5),
        inset 0 0 30px rgba(160, 0, 0, 0.2);
    /* Brilho bordeaux interno */
    max-width: 750px;
    margin: 2rem auto 0;
    position: relative;
    overflow: hidden;
}

/* Detalhe de luz no canto do box */
.pain-verdict-box::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(250, 234, 188, 0.1) 0%, transparent 70%);
    z-index: 0;
}

.verdict-highlight {
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-gold);
    margin-bottom: 1rem;
    font-weight: 600;
}

.pain-verdict-box h3 {
    font-size: clamp(2rem, 4vw, 3.2rem);
    color: var(--color-gold);
    line-height: 1.1;
    letter-spacing: -1px;
    /* Removido o glow excessivo/neon */
}

/* ==========================================================================
   HOW IT WORKS (GLASSMORPHISM)
   ========================================================================== */
.glass-feature-box {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(250, 234, 188, 0.2);
    padding: 4rem 2rem;
    border-radius: var(--radius-lg);
    margin-top: 3rem;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);
}

/* ==========================================================================
   MENTORIA PARTICIPATION CARDS
   ========================================================================== */
.participation-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 950px;
    margin: 6rem auto 4rem;
    position: relative;
    padding-bottom: 2rem;
}

/* A LINHA 3D CONECTORA */
.participation-grid::before {
    content: '';
    position: absolute;
    top: 50px;
    left: 15%;
    /* Ajustado para enquadrar entre ícones */
    right: 15%;
    height: 2px;
    background: linear-gradient(to right,
            rgba(250, 234, 188, 0.1) 0%,
            rgba(250, 234, 188, 0.6) 50%,
            rgba(250, 234, 188, 0.1) 100%);
    box-shadow: 0 0 15px rgba(250, 234, 188, 0.2);
    z-index: 0;
}

@media (max-width: 991px) {
    .participation-grid {
        flex-direction: column;
        align-items: center;
        gap: 5rem;
    }

    .participation-grid::before {
        display: none;
        /* Mobile usa stack vertical sem a linha horiz */
    }
}

.p-card {
    background: none;
    border: none;
    padding: 0 2rem;
    text-align: center;
    transition: all 0.5s var(--transition-smooth);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    z-index: 1;
    min-height: auto;
}

/* DIVISORES VERTICAIS ENTRE OS TEXTOS */
.p-card:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 120px;
    /* Abaixo dos ícones */
    height: 100px;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(250, 234, 188, 0.2), transparent);
}

.p-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at top right, rgba(250, 234, 188, 0.08) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.6s;
}

.p-card:hover {
    transform: translateY(-20px) scale(1.03);
    border-color: var(--color-gold);
    background: rgba(160, 0, 0, 0.15);
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.7),
        0 0 30px rgba(160, 0, 0, 0.3),
        inset 0 0 20px rgba(250, 234, 188, 0.05);
}

.p-card:hover::before {
    opacity: 1;
}

.p-card-header {
    margin-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-card-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #690000 0%, #3a0000 100%);
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    border: 1.5px solid rgba(250, 234, 188, 0.2);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    transition: all 0.4s ease;
}

.p-card-icon svg {
    width: 48px;
    height: 48px;
    stroke: #FAEABC;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.p-card:hover .p-card-icon {
    transform: rotateY(180deg) scale(1.1);
    border-color: var(--color-gold);
    box-shadow: 0 15px 35px rgba(160, 0, 0, 0.5);
}

.p-card h3 {
    font-family: var(--font-heading);
    color: var(--color-gold);
    font-size: 2.2rem;
    margin: 0;
    letter-spacing: 1px;
    font-weight: 650;
}

.p-card-body p {
    font-size: 1.35rem;
    line-height: 1.5;
    color: var(--color-text-light);
    opacity: 0.8;
    margin-top: 1.5rem;
    max-width: 280px;
    /* Trava largura para não misturar os textos */
}

/* DESTAQUE FINAL: DIRECIONAMENTO HUMANO */
.human-direction-reveal {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 1rem;
    /* AproximaÃ§Ã£o imediata */
}

.human-direction-box {
    background: #FAEABC;
    /* Fundo bege solicitado */
    border: 1px solid rgba(139, 0, 0, 0.2);
    border-radius: 40px;
    padding: 1.5rem 4rem;
    /* Reduzido */
    text-align: center;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: all 0.6s var(--transition-smooth);
}

.human-direction-box:hover {
    transform: scale(1.03);
    box-shadow: 0 20px 50px rgba(139, 0, 0, 0.15);
}

.human-direction-box p {
    font-family: var(--font-secondary);
    color: #000000;
    /* Texto preto solicitado */
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.9;
    font-weight: 500;
}

.human-direction-box h3 {
    font-family: var(--font-heading);
    color: #8b0000;
    /* Bordeaux para destaque premium */
    font-size: 2.2rem;
    margin: 0;
    font-weight: 700;
    letter-spacing: -1px;
}

/* How it works practical block */
.practical-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 4rem auto;
    max-width: 1000px; /* Aumentado levemente para caber 3 cards confortavelmente */
    padding: 0 20px;
    justify-content: center;
    position: relative;
    z-index: 1;
}

@media (max-width: 1024px) {
    .practical-grid {
        gap: 1.5rem;
    }
    .practical-card {
        flex: 0 1 45%; /* 2 cards no tablet */
    }
}

@media (max-width: 767px) {
    .practical-grid {
        flex-direction: column;
        align-items: center;
    }
    .practical-card {
        flex: 0 1 100%; /* 1 card no mobile */
        max-width: 350px;
    }
}

.practical-card {
    background: #ffffff;
    /* Fundo branco sólido para contraste sobre o bege */
    border: 1.5px solid var(--color-bordeaux);
    border-radius: 30px;
    padding: 1.5rem 1rem;
    text-align: center;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    min-height: auto;
    flex: 0 1 280px; /* Define largura base para 3 por linha no desktop */
    box-shadow: 0 15px 40px rgba(139, 0, 0, 0.05);
    /* Sombra bordeaux sutil */
    box-sizing: border-box;
}

.practical-card:hover {
    transform: translateY(-20px);
    border-color: var(--color-bordeaux);
    background: #ffffff;
    box-shadow: 0 30px 70px rgba(139, 0, 0, 0.15);
}

.p-number {
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-family: var(--font-heading);
    font-size: 1.2rem;
    color: var(--color-bordeaux);
    opacity: 0.1;
    font-weight: 700;
}

.p-icon-box {
    width: 75px;
    /* Reduzido de 95px */
    height: 75px;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    background: linear-gradient(135deg, #690000 0%, #2a0000 100%);
    border-radius: 22px;
    /* Raio ajustado */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    /* EspaÃ§o reduzido */
    border: 1.5px solid rgba(250, 234, 188, 0.2);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

.p-icon-box svg {
    width: 35px;
    /* Reduzido de 44px */
    height: 35px;
    stroke: #FAEABC;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}

.practical-card:hover .p-icon-box {
    transform: rotateY(180deg) scale(1.1);
    border-color: #FAEABC;
    box-shadow: 0 15px 35px rgba(160, 0, 0, 0.5);
}

.practical-card h3 {
    font-family: var(--font-heading);
    color: var(--color-bordeaux);
    font-size: 1.5rem;
    margin-bottom: 0.8rem;
    line-height: 1.2;
    font-weight: 650;
    text-align: center;
}

.practical-card p {
    font-size: 1.1rem;
    line-height: 1.5;
    color: #444444;
    /* Texto escuro para legibilidade */
    font-weight: 400;
    margin: 0;
    text-align: center;
}

/* Rodapé da seção prÃ¡tica */
.practical-section-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2rem;
    /* TrÃ¡s todo o bloco final para cima */
    position: relative;
    z-index: 2;
}

.practical-closure {
    color: #000000;
    opacity: 0.9;
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* ESTILO GLOBAL DE BOTÃƒO (RED-PILL) */
.btn,
.btn-primary,
.btn-checkout,
.btn-beige-gold {
    background: linear-gradient(135deg, #8b0000 0%, #4a0000 100%) !important;
    color: #FAEABC !important;
    padding: 1.2rem 3rem;
    border-radius: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-decoration: none;
    display: inline-block;
    border: 1px solid rgba(250, 234, 188, 0.4) !important;
    box-shadow: 0 10px 30px rgba(139, 0, 0, 0.4) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    font-family: var(--font-body);
    font-size: 1.1rem;
    cursor: pointer;
    text-align: center;
}

.btn:hover,
.btn-primary:hover,
.btn-checkout:hover,
.btn-beige-gold:hover {
    transform: scale(1.05) translateY(-5px);
    filter: brightness(1.2);
    box-shadow: 0 15px 40px rgba(139, 0, 0, 0.6) !important;
    border-color: #FAEABC !important;
}

.btn.large {
    padding: 1.5rem 4.5rem;
    font-size: 1.25rem;
}

.participation-tagline {
    font-size: 1.1rem;
    color: var(--color-text-light);
    opacity: 0.9;
}

.process-flow {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin: 4rem 0;
    position: relative;
}

.process-item {
    background: #ffffff;
    /* Fundo branco sÃ³lido para contraste sobre o bege */
    padding: 2.5rem 2rem;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(0, 0, 0, 0.1);
    text-align: left;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    /* Sombra suave */
}

.process-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--color-bordeaux);
    opacity: 0;
    transition: var(--transition);
}

.process-item:hover {
    transform: translateY(-10px);
    border-color: var(--color-bordeaux);
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(139, 0, 0, 0.1);
}

.process-item:hover::before {
    opacity: 1;
}

.process-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.process-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--color-bordeaux), #3a0000);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gold);
    border: 1px solid rgba(250, 234, 188, 0.3);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3), inset 0 0 10px rgba(250, 234, 188, 0.1);
}

.process-num {
    font-family: var(--font-heading);
    font-size: 1.5rem;
    color: var(--color-gold);
    opacity: 0.3;
    font-weight: 700;
    letter-spacing: 2px;
}

#detalhes-praticos .section-title {
    font-size: 4.2rem;
    /* Aumento de 20% */
    color: #8b0000;
    /* Bordeaux sobre o Bege */
    margin-bottom: 4rem;
}

.process-item h4 {
    font-size: 1.3rem;
    color: #1a1a1a;
    margin-bottom: 1rem;
    font-weight: 700;
}

.process-item p {
    font-size: 1rem;
    line-height: 1.6;
    color: #444444;
    /* Cinza escuro para leitura */
}

/* ==========================================================================
   COMMUNITY
   ========================================================================== */
.community {
    background-color: #8b0000;
    /* Vinho/Bordeaux solicitado */
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    /* Tela cheia independente */
    display: flex;
    align-items: center;
    padding: 5rem 0;
}

.community-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

@media(min-width: 992px) {
    .community-grid {
        grid-template-columns: 1.1fr 0.9fr;
        gap: 8rem;
        /* Aumentado para preencher largura */
        max-width: 1300px;
        margin: 0 auto;
    }
}

.community-content {
    max-width: 750px;
    /* Expandido */
    text-align: left;
}

.community .section-title {
    color: #ffffff;
    /* Texto branco solicitado para contraste */
    font-size: 4.2rem;
    margin-bottom: 2rem;
}

.community .section-desc {
    color: #ffffff;
    /* Texto branco solicitado para contraste */
    opacity: 0.95;
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 3rem;
}

.c-feature {
    border-left: 5px solid var(--color-gold);
    /* Detalhe em ouro */
    padding: 1.5rem 2.2rem;
    font-size: 1.3rem;
    background: rgba(255, 255, 255, 0.05);
    /* Fundo branco quase invisÃ­vel */
    border-radius: 0 12px 12px 0;
    margin-bottom: 1.2rem;
    color: #ffffff;
    /* Texto branco */
}

.c-feature strong {
    color: var(--color-gold);
    /* Destaque em ouro */
}

.premium-frame {
    position: relative;
    padding: 15px;
    background: #fff;
    box-shadow: 0 60px 140px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.05);
    transform: rotate(2deg) scale(1.25);
    /* Aumentado para 1.25x */
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    z-index: 1;
}

/* Elemento decorativo atrÃ¡s da moldura */
.premium-frame::before {
    content: '';
    position: absolute;
    inset: -15px;
    border: 1px solid #a00000;
    opacity: 0.15;
    z-index: -1;
    transform: rotate(-3deg);
    pointer-events: none;
}

/* Overlay removido para manter imagem original */
.premium-frame::after {
    display: none;
}

.premium-frame:hover {
    transform: rotate(0) translateY(-15px);
    box-shadow: 0 60px 120px rgba(160, 0, 0, 0.25);
}

.premium-frame img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 2px;
    filter: none !important;
    /* Garantindo imagem original */
}

@media (max-width: 991px) {
    .community-content {
        text-align: center;
        margin: 0 auto;
    }

    .c-feature {
        text-align: left;
    }

    .premium-frame {
        transform: rotate(0);
        max-width: 500px;
        margin: 0 auto;
    }

    .premium-frame::before {
        display: none;
    }
}

/* ==========================================================================
   TESTIMONIALS (VERTICAL SHORTS STYLE)
   ========================================================================== */
.testimonials {
    background-color: #1a1a1a;
    /* Cinza solicitado */
    padding: 6rem 0;
    position: relative;
    min-height: 100vh;
    /* Tela cheia independente */
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 5;
}

.testimonials .section-title {
    color: var(--color-gold);
    /* Ouro sobre fundo escuro */
    margin-bottom: 3.5rem;
    font-size: 3.5rem;
    /* Aumentado */
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    /* Aumentado para preencher largura */
    max-width: 1320px;
    /* Aumento de 20% (1100 * 1.2) */
    margin: 0 auto;
}

.video-card {
    border-radius: 20px;
    /* Arredondamento conforme referÃªncia */
    overflow: hidden;
    background: #000;
    box-shadow: 0 15px 45px rgba(160, 0, 0, 0.15);
    border: 1px solid rgba(160, 0, 0, 0.05);
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
}

.video-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 60px rgba(160, 0, 0, 0.25);
}

.video-wrapper {
    position: relative;
    padding-bottom: 177.77%;
    /* ProporÃ§Ã£o 9:16 (Shorts) */
    height: 0;
    overflow: hidden;
    cursor: pointer;
}

.video-thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

/* Iframe Nativo (Bruto) */
.video-card iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    background: #000;
    border-radius: 20px;
}

.p-icon-box {
    width: 80px;
    height: 80px;
    background: #8b0000;
    /* Vermelho Vinho (Bordeaux) solicitado */
    border-radius: 20px;
}

.video-card iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Removida duplicata de fundo bordeaux e ondas para respeitar o bege solicitado no topo */
.target-audience {
    position: relative;
    padding: 6rem 0;
    overflow: hidden;
    z-index: 1;
}

.target-audience .section-title {
    color: #8b0000;
    /* Bordeaux para contrastar com o fundo bege solicitado */
    margin-bottom: 4rem;
}

.audience-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1150px;
    /* ProporÃ§Ã£o aumentada */
    margin: 0 auto;
}

@media(min-width: 768px) {
    .audience-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.audience-card {
    background: #1a1a1a;
    /* Alterado de vermelho para cinza conforme solicitado */
    padding: 3rem 2.5rem;
    border-radius: 24px;
    border: 1px solid rgba(250, 234, 188, 0.1);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    transition: var(--transition);
    height: auto;
}

.audience-card:hover {
    transform: translateY(-10px);
    border-color: var(--color-gold);
    background: #690000;
    /* Vermelho mais profundo no hover */
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

.audience-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.2rem;
    margin-bottom: 2rem;
}

.audience-card h3 {
    font-size: 1.8rem;
    margin: 0;
    color: var(--color-gold);
    /* Título volta a ser ouro para contraste no vermelho */
    letter-spacing: 1px;
}

.audience-card.positive .audience-header svg {
    color: #4ade80;
    width: 56px;
    /* Aumentado */
    height: 56px;
    filter: drop-shadow(0 0 15px rgba(74, 222, 128, 0.5));
}

.audience-card.negative .audience-header svg {
    color: #ff4d4d;
    width: 56px;
    /* Aumentado */
    height: 56px;
    filter: drop-shadow(0 0 15px rgba(255, 77, 77, 0.5));
}

.audience-card ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.audience-card ul li {
    padding-left: 35px;
    position: relative;
    font-size: 1.15rem;
    color: #ffffff;
    /* Texto branco de volta para os cards vermelhos */
    font-weight: 500;
    line-height: 1.4;
}

.audience-card.positive ul li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: -2px;
    color: #4ade80;
    font-weight: 900;
    font-size: 1.4rem;
    /* Maior */
    filter: drop-shadow(0 0 5px rgba(74, 222, 128, 0.4));
}

.audience-card.negative ul li::before {
    content: '\2716';
    position: absolute;
    left: 0;
    top: -1px;
    color: #ff4d4d;
    font-weight: 900;
    font-size: 1.3rem;
    /* Maior */
    filter: drop-shadow(0 0 5px rgba(255, 77, 77, 0.4));
}

/* ==========================================================================
   BONUS & SPEAKERS (SWIPER)
   ========================================================================== */
.bonus-resources .subsection-title {
    color: var(--color-gold);
    /* Destaque em ouro conforme imagem */
    text-transform: uppercase;
    letter-spacing: 5px;
    /* Mais espaÃ§ado e premium */
    font-size: 1.4rem;
    /* Aumentado */
    margin-bottom: 3rem;
    font-weight: 800;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.bonus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.bonus-card {
    background: #a00000;
    background-size: cover;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(250, 234, 188, 0.3);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.5);
}

.bonus-card:hover {
    transform: translateY(-10px);
    border-color: var(--color-gold);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);
}

.bonus-image-wrapper {
    width: 100%;
    height: 350px;
    position: relative;
    background: url('assets/fundo-mentora.png') no-repeat center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* SobreposiÃ§Ã£o de iluminaÃ§Ã£o extra */
.bonus-image-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
    pointer-events: none;
    z-index: 2;
}

.bonus-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    position: relative;
    z-index: 1;
    transition: transform 0.6s ease;
}

.bonus-card:hover .bonus-image-wrapper img {
    transform: scale(1.03);
}

/* Alessandro Meliso (3Âº Card) trazido Ã  frente em 1.35x e deslocado para cima */
.bonus-grid .bonus-card:nth-child(3) .bonus-image-wrapper img {
    transform: scale(1.35) translateY(-20%);
    /* Zoom 1.35x + Deslocamento Superior */
    transform-origin: center top;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5));
}

.bonus-grid .bonus-card:nth-child(3):hover .bonus-image-wrapper img {
    transform: scale(1.4) translateY(-22%);
    /* Leve ajuste no hover */
}

.bonus-tag {
    position: absolute;
    top: 20px;
    right: -35px;
    background: var(--color-gold);
    color: var(--color-bordeaux);
    padding: 5px 40px;
    transform: rotate(45deg);
    font-size: 0.75rem;
    font-weight: 800;
    z-index: 150;
    /* Aumentado para ficar acima de selos e headers */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    letter-spacing: 1px;
}

.bonus-content {
    padding: 2.5rem 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: #000000;
    /* Fundo preto sÃ³lido solicitado */
    border-top: 1px solid rgba(250, 234, 188, 0.15);
}

.bonus-card h4 {
    color: var(--color-white);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    font-family: var(--font-heading);
}

.bonus-theme {
    color: #ffffff;
    font-style: italic;
    margin-bottom: 1.2rem;
    font-size: 1.1rem;
    font-weight: 700;
}

.bonus-cv {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
}

/* Aulas com especialistas (Título Maior) */
.specialists-section .subsection-title {
    font-size: clamp(2rem, 5vw, 3.8rem);
    /* Aumentado */
    color: var(--color-gold);
    margin-bottom: 2rem;
    text-align: center;
    width: 100%;
    font-family: var(--font-heading);
}

/* Swiper Styling */
.swiper {
    width: 100%;
    padding: 20px 0 60px 0;
    /* space for pagination */
}

.speaker-card {
    background: #000000;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    min-height: 580px;
    border: 1px solid #ff3333;
    /* Linha neon vermelha */
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 15px rgba(255, 51, 51, 0.15);
    /* Brilho neon suave */
    position: relative;
    /* PERFORMANCE PRO: Isola a renderizaÃ§Ã£o */
    content-visibility: auto;
    contain-intrinsic-size: 300px 580px;
}

.speaker-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 0 30px rgba(255, 0, 0, 0.5);
    /* Neon vermelho mais forte no hover */
    border-color: #ff0000;
}

.speaker-img {
    width: 100%;
    height: 300px;
    /* Aumentado para mostrar o corpo em todos */
    object-fit: cover;
    object-position: center 15%;
    /* Enquadramento que prioriza corpo + cabeça */
    filter: grayscale(0%);
    transition: transform 0.6s var(--transition-smooth);
    border-bottom: 1px solid rgba(250, 234, 188, 0.2);
    background-image: url('assets/fundo-mentora.png');
    background-size: cover;
    background-position: center;
    /* Imagem de fundo recuperada para contraste */
}

/* Ajuste definitivo Mariana Maduro pelo data-name (estável com clones do Swiper) */
div[data-name="Mariana Maduro"] .speaker-img {
    object-fit: cover !important;
    object-position: center 5% !important;
    transform: none !important;
    transform-origin: center center;
}

/* Ajuste Bia Machnick */
div[data-name="Bia Machnick"] .speaker-img {
    object-fit: cover !important;
    object-position: center 5% !important;
    transform: none !important;
    transform-origin: center center;
}

.swiper-slide:nth-child(13) .speaker-img {
    object-position: center 10%;
}

.speaker-card:hover .speaker-img {
    transform: scale(1.05);
}

.speaker-info {
    padding: 1.5rem;
    background: #1a1a1a;
    /* Fundo cinza solicitado */
    color: var(--color-white);
    text-align: left;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    border-top: 1.5px solid var(--color-gold);
}

.speaker-name {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    color: var(--color-gold);
    /* Dourado sobre o preto para legibilidade premium */
    font-weight: 700;
}

.speaker-theme {
    font-family: var(--font-body);
    color: #ffffff;
    /* Vermelho claro */
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 1.2rem;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.speaker-cv {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.85);
    /* Branco suave sobre o preto */
    margin-top: auto;
    font-weight: 400;
    line-height: 1.6;
}

.swiper-pagination-bullet {
    background: var(--color-white) !important;
}

.swiper-pagination-bullet-active {
    background: var(--color-gold) !important;
}

/* Section: Specialists (Gray Screen) */
/* Removida duplicata de fundo cinza para respeitar o vermelho solicitado no topo */
.bonus-resources {
    color: #ffffff;
}

.bonus-resources .section-title,
.bonus-resources .subsection-title {
    color: var(--color-gold);
}

/* Section: PPS Resources (Light Screen) */
.pps-resources {
    background-color: #FAEABC;
    /* Fundo claro solicitado */
    color: #000000;
}

/* Checkout Layout for Resources */
.checkout-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    /* Reduzido em ~30% */
    gap: 2.5rem;
    /* Reduzido */
    margin-top: 3.5rem;
}

.checkout-card {
    background: #2d2d2d;
    /* Fundo cinza escuro sofisticado */
    border-radius: 24px;
    /* Proporcionalmente menor */
    padding: 0;
    overflow: hidden;
    position: relative;
    /* Efeito 3D refinado */
    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.3),
        0 8px 15px rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
    display: flex;
    flex-direction: column;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: perspective(1200px) rotateX(1deg);
}

.checkout-card:hover {
    transform: translateY(-18px) rotateX(0deg) scale(1.03);
    /* Ressalto 3D no hover */
    box-shadow:
        0 45px 90px rgba(204, 51, 51, 0.2),
        0 20px 40px rgba(204, 51, 51, 0.15);
    border-color: rgba(255, 0, 0, 0.45);
}

.checkout-header {
    background: linear-gradient(135deg, #cc3333, #8b0000);
    padding: 2.8rem 2rem;
    color: #FAEABC;
    text-align: center;
    border-bottom: 2px solid rgba(0, 0, 0, 0.2);
    position: relative;
    /* Alinhamento de altura entre cards */
    min-height: 310px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.checkout-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: rgba(0, 0, 0, 0.1);
}

.checkout-header h3 {
    font-size: 1.8rem;
    /* Reduzido em ~30% */
    margin-bottom: 0.6rem;
    font-weight: 900;
    letter-spacing: -1px;
    color: #FAEABC !important;
    font-family: var(--font-heading);
}

.checkout-subtitle {
    font-size: 0.95rem;
    /* Reduzido */
    opacity: 0.95;
    font-weight: 700;
    color: #FAEABC !important;
}

.checkout-body {
    padding: 3rem 2rem;
    /* Reduzido em ~30% */
    flex-grow: 1;
    background: #2d2d2d;
    /* Fundo cinza escuro solicitado */
}

.checkout-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.checkout-list li {
    position: relative;
    padding-left: 3rem;
    /* Ajustado proporÃ§Ã£o */
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
    font-size: 1rem;
    /* Reduzido em ~30% */
    color: #ffffff;
    /* Letras brancas conforme solicitado */
    font-weight: 600;
    line-height: 1.4;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    /* Linha sutil no fundo escuro */
    transition: all 0.3s ease;
}

.checkout-list li:last-child {
    border-bottom: none;
    /* Remove a linha do Ãºltimo item */
}

.checkout-list li:hover {
    transform: translateX(8px);
    /* Realce dinâmico nas linhas */
    border-bottom-color: rgba(204, 51, 51, 0.3);
}

.checkout-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 2rem;
    background: transparent;
    /* Sem círculo â€” sÃ­mbolo limpo */
    color: #FAEABC;
    /* Bege sÃ³brio no fundo escuro */
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    font-weight: 900;
    box-shadow: none;
    border: none;
}

.checkout-footer {
    padding: 0 2rem 2.5rem;
    text-align: center;
}

.btn-checkout {
    /* Estilos herdados do padrÃ£o global .btn */
    margin-top: auto;
}

.btn-checkout:hover {
    /* Estilos herdados do padrÃ£o global .btn:hover */
}

/* ==========================================================================
       EXTRAS BONUS (IMERSIVE RED SECTION)
       ========================================================================== */
.extras-bonus {
    background-color: #8b0000;
    /* Alterado para vermelho conforme solicitado */
    min-height: 70vh;
    display: flex;
    align-items: center;
    position: relative;
    padding: 4rem 0;
}

.extras-bonus .subsection-title {
    font-size: 3.3rem;
    color: #ffffff;
    /* Ajustado para contraste total sobre o fundo vermelho */
    letter-spacing: 3px;
    margin-bottom: 1.5rem;
}

.extras-section p {
    color: rgba(255, 255, 255, 0.9);
    /* Ajustado para contraste */
}

.extras-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    /* Reduzido */
    max-width: 1000px;
    /* Levemente mais estreito */
    margin: 2.5rem auto 0;
    /* Compactado */
}

.extra-card {
    background: linear-gradient(135deg, #8b0000 0%, #a00000 100%);
    border-radius: 16px;
    /* Ajuste proporcional */
    padding: 10px;
    /* Reduzido */
    box-shadow: 0 10px 30px rgba(139, 0, 0, 0.35);
    border: 1px solid rgba(250, 234, 188, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    /* Adicionado para posicionar a bonus-tag */
}

.extra-card:hover {
    transform: scale(1.03) translateY(-5px);
    box-shadow: 0 25px 60px rgba(139, 0, 0, 0.6);
    border-color: rgba(250, 234, 188, 0.5);
}

.extra-img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
    object-fit: cover;
}

.extra-img-5 {
    max-height: 500px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .extras-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   MENTOR
   ========================================================================== */
.mentor {
    background-color: #333333;
    /* Tudo cinza conforme solicitado */
    background-image: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    /* Removido fixed para melhor performance no fundo de imagem */
    color: #ffffff;
    padding: 4rem 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    /* Evita que bordas ultrapassem a tela */
}

.mentor::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    /* Overlay sutil para a seda */
    z-index: 0;
    pointer-events: none;
}

.mentor .container.flex-row {
    position: relative;
    z-index: 1;
}

.flex-row {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    align-items: center;
}

@media(min-width: 992px) {
    .flex-row {
        flex-direction: row;
        align-items: stretch;
        gap: 4rem;
    }

    .flex-row>* {
        flex: 1;
    }
}

.mentor-image {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background-color: #333333;
    background-size: cover;
    background-position: center;
    padding: 1rem;
    border: 2px solid var(--color-gold);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
    max-height: 620px;
    max-width: 460px;
    /* Corrigido de 460% */
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.mentor-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 5%;
    border-radius: var(--radius-md);
    max-height: 590px;
    transform: scale(1.3);
    /* Aproxima a doutora em 30% conforme solicitado */
    transform-origin: center 20%;
    /* Ajusta o foco para o rosto/tronco */
}

.mentor-bio {
    background-color: #333333;
    /* Tudo cinza conforme solicitado */
    padding: 3.5rem 4rem;
    /* Mais espaÃ§o para ocupar o bloco */
    border-radius: 32px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.mentor-bio .gold-subtitle {
    color: rgba(255, 255, 255, 0.8) !important;
    letter-spacing: 4px;
    font-weight: 800;
    font-size: 0.75rem;
    margin-bottom: 0.4rem;
}

.mentor-bio h2.section-title {
    color: #ffffff !important;
    font-size: 3rem;
    /* Aumentado */
    margin-bottom: 1.2rem;
    line-height: 1.1;
}

.mentor-bio p {
    color: #ffffff;
    font-size: 1.05rem;
    /* Aumentado */
    line-height: 1.65;
    margin-bottom: 1rem;
    opacity: 0.95;
}

.mentor-bio .gold-text {
    color: #FAEABC !important;
    /* Destaque bege sobre o vermelho */
    font-weight: 800;
    font-size: 1.15rem;
    /* Aumentado */
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.mentor-bio .check-list li {
    color: #ffffff;
    font-size: 1rem;
    /* Aumentado */
    margin-bottom: 0.7rem;
    padding-left: 2rem;
    position: relative;
    line-height: 1.4;
}

.mentor-bio .check-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    color: #FAEABC;
    /* Check bege para destaque */
    font-weight: 900;
}

.mentor-signature {
    text-align: center;
    margin-top: -10px;
    margin-right: 0px;
    position: relative;
    z-index: 10;
    pointer-events: none;
}

.mentor-signature img {
    max-width: 360px;
    /* Aumentado em mais 20% (de 300px para 360px) */
    height: auto;
    opacity: 1;
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.4)) brightness(1.2);
}

/* ==========================================================================
   ESCASSEZ & CTA FINAL
   ========================================================================== */
.cta-final {
    background-color: #FAEABC !important;
    /* Fundo bege solicitado */
    color: #000000;
    padding: 6rem 0;
}

.cta-final .section-title {
    color: #8b0000;
    font-size: clamp(2.4rem, 6vw, 3rem);
    /* Aumentado em 20% */
    /* Título em vermelho para destaque sobre bege */
    margin-bottom: 1.5rem;
}

.cta-final p {
    font-size: 1.1rem;
    /* Reduzido em 15% conforme solicitado */
    color: #1a1a1a;
    max-width: 800px;
    margin: 0 auto 1.5rem;
    line-height: 1.6;
    font-weight: 500;
}

.cta-final .btn {
    padding: 1rem 2.5rem;
    /* Reduzido para não ficar 'exageradamente grande' */
    font-size: 1.1rem;
    margin-top: 2rem;
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-section {
    background-color: #201f1f;
    /* Cinza escuro solicitado */
    background-image: none;
    color: rgba(255, 255, 255, 0.9);
    position: relative;
}

/* Remove overlay herdado no FAQ */
.faq-section::after {
    display: none !important;
}

.faq-section .section-title {
    color: var(--color-gold);
    margin-bottom: 3rem;
}

.faq-item {
    background: transparent;
    /* Sem fundo branco â€” integrado ao cinza da seção */
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-left: 4px solid var(--color-bordeaux);
    /* Linha vermelha de destaque lateral */
    margin-bottom: 1rem;
    border-radius: var(--radius-md);
    box-shadow: none;
    overflow: hidden;
}

.faq-item summary {
    padding: 1.6rem 2rem;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
    position: relative;
    outline: none;
    font-family: var(--font-heading);
    color: #ffffff;
    /* Perguntas em BRANCO */
    font-size: 1.15rem;
    transition: all 0.3s ease;
    background: transparent;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary .icon {
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    transition: var(--transition);
    color: var(--color-gold);
}

.faq-item[open] summary .icon {
    transform: translateY(-50%) rotate(45deg);
}

.faq-content {
    padding: 0 2rem 1.5rem;
    color: rgba(255, 255, 255, 0.7);
    /* Texto escuro bem legÃ­vel sobre o cinza */
    font-size: 1rem;
    line-height: 1.7;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1rem;
}

.faq-content p {
    color: rgba(255, 255, 255, 0.7) !important;
    /* Garante legibilidade das respostas */
    font-size: 1rem;
    line-height: 1.7;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer {
    padding: 0.5rem 0;
    /* Rodapé com altura mínima solicitada */
    background-color: var(--color-bordeaux) !important;
    border-top: 1px solid rgba(250, 234, 188, 0.1);
}

.logo-footer {
    height: 115px;
    /* Aumentado em mais 30% sobre os 88px anteriores */
    margin: 0 auto 0.5rem;
    /* Margem reduzida para encurtar o rodapÃ© */
    filter: brightness(0) invert(1);
    opacity: 1;
    /* Destaque total */
}

.footer-links {
    margin-bottom: 0.5rem;
    /* Margem reduzida para encurtar o rodapÃ© */
}

.footer-links a {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    transition: color 0.3s ease;
    text-decoration: underline;
}

.footer-links a:hover {
    color: var(--color-gold);
}

.footer-links span {
    color: rgba(255, 255, 255, 0.3);
}

.footer p {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
/* Reveal Disabled: Everything visible by default */
.reveal,
.reveal-left,
.reveal-right,
.reveal-scale {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

/* Staggered Child Reveal */
.reveal>*:nth-child(1) {
    transition-delay: 0.1s;
}

.reveal>*:nth-child(2) {
    transition-delay: 0.2s;
}

.reveal>*:nth-child(3) {
    transition-delay: 0.3s;
}

.reveal>*:nth-child(4) {
    transition-delay: 0.4s;
}

.reveal>*:nth-child(5) {
    transition-delay: 0.5s;
}

.reveal>*:nth-child(6) {
    transition-delay: 0.6s;
}

.checkout-card-logo {
    height: 102px;
    /* Aumentado em 20% (85px -> 102px) */
    width: auto;
    margin: -0.5rem auto 1rem;
    /* Subindo levemente a logo e reduzindo margem inferior */
    display: block;
    filter: none;
    opacity: 1;
}

.checkout-card {
    position: relative !important;
    overflow: hidden;
    background: #1a1a1a;
    height: 100%;
    border-radius: 24px;
}

.checkout-header {
    position: relative;
    z-index: 10;
    min-height: 310px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(135deg, #cc3333, #8b0000);
    padding: 2rem 1.5rem 2.5rem;
    /* Padding superior reduzido para aproximar a logo do topo */
    border-radius: 24px 24px 0 0;
    overflow: hidden;
}

.checkout-header .bonus-tag {
    top: 15px;
    right: -32px;
    z-index: 5;
}

.checkout-header h3 {
    margin: 0 !important;
    text-align: center;
    font-size: 2.1rem;
    line-height: 1.1;
    padding: 0 0.5rem;
    color: #FAEABC !important;
}

.checkout-subtitle {
    color: rgba(250, 234, 188, 0.8);
    font-size: 0.95rem;
    margin-top: 0.8rem;
    font-weight: 500;
}

/* ==========================================================================
   Global Mobile Adjustments (Max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {

    /* EspaÃ§amentos mais enxutos no mobile */
    .pt-large {
        padding-top: 2.4rem !important;
    }

    /* Reduzido 20% */
    .pb-large {
        padding-bottom: 2.4rem !important;
    }

    /* Reduzido 20% */
    .pt-middle {
        padding-top: 1.6rem !important;
    }

    /* Reduzido 20% */
    .pb-middle {
        padding-bottom: 1.6rem !important;
    }

    /* Reduzido 20% */

    /* Grids que precisam empilhar em 1 coluna */
    .video-grid,
    .checkout-grid,
    .audience-grid,
    .benefits-grid,
    .practical-grid,
    .pain-cards,
    .extras-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
        padding: 0 5px;
    }

    .extra-img-5 {
        max-height: 220px !important;
        object-fit: contain !important;
        background: #000; /* Fundo escuro para preencher caso falte proporção */
    }

    /* OtimizaÃ§Ã£o Global Mobile: Remover filtros pesados que crasham Safari */
    * {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Ajuste estrutural do Checkout / Bônus */
    .checkout-card {
        max-width: 85% !important;
        /* Diminui o bloco em ~15-20% para deixÃ¡-lo mais quadrado */
        margin: 0 auto !important;
        /* MantÃ©m centralizado perfeitamente */
    }

    .checkout-body {
        padding: 2rem 1.5rem !important;
        /* Reduz padding lateral e vertical para proporÃ§Ã£o quadrada */
    }

    .checkout-card-logo {
        height: auto !important;
        max-height: 55px !important;
        margin-bottom: 0.8rem !important;
    }

    .checkout-header {
        min-height: auto !important;
        padding: 1.8rem 1rem !important;
    }

    .checkout-header h3 {
        font-size: 1.5rem !important;
    }

    .checkout-subtitle {
        font-size: 0.85rem !important;
        margin-top: 0.5rem !important;
    }

    .checkout-header .bonus-tag {
        font-size: 0.75rem !important;
        /* Escrita maior e legÃ­vel */
        padding: 6px 30px !important;
        /* Encolhido nas laterais para não cortar */
        right: -32px !important;
        /* Afastamento ajustado para fita não vazar */
        top: 15px !important;
    }

    /* â”€â”€ HERO â€” Layout empilhado mobile: foto no topo, texto abaixo (ref: lp_aulao) â”€â”€ */
    /* â”€â”€ HERO â€” Layout 100vh com distribuiÃ§Ã£o dinÃ¢mica (ref: lp_aulao) â”€â”€ */
    .hero {
        border-top: 2px solid var(--color-bordeaux) !important;
        height: auto !important;
        /* Alterado de 100dvh para auto para evitar cortes no iPhone 12 */
        min-height: 100dvh !important;
        padding-top: 40px !important;
        padding-bottom: 2.5rem !important;
        /* Ajustado para melhor fluxo */
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        /* Alinha ao topo para permitir scroll */
        align-items: stretch !important;
        overflow: hidden !important;
        /* Trava elementos decorativos para não vazarem lateralmente */
    }

    /* Foto da Dra: ocupa o topo e se ajusta ao espaÃ§o - Simplificada para GPU */
    .hero-main-img {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: 45vh !important;
        /* Aumentado para melhor enquadramento */
        right: auto !important;
        top: 0 !important;
        object-fit: cover !important;
        object-position: center 10% !important;
        opacity: 1 !important;
        mask-image: none !important;
        -webkit-mask-image: none !important;
        order: 0;
        flex-shrink: 0;
        border-bottom: none !important;
        /* Removida a linha que cortava o texto */
    }

    .hero::before {
        display: none !important;
    }

    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    /* Logo sobre a doutora - Restaurando original */
    .hero-logo-internal.mobile-only {
        position: absolute !important;
        top: 25px !important;
        left: 0 !important;
        width: 110px !important;
        z-index: 100 !important;
        margin: 0 !important;
        filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.6)) !important;
    }

    /* ConteÃºdo de texto sobe e distribui */
    .hero-grid {
        order: 1;
        margin-top: 0 !important;
        /* Removido overlap */
        flex-grow: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        /* Alinhado ao topo do container flex */
        position: relative !important;
        z-index: 5 !important;
        padding: 10px 20px !important;
        /* Reduzido para o texto começar logo abaixo da imagem */
    }

    .hero-content {
        transform: none !important;
        /* Garante que o bloco fique fixo, sem efeitos de movimento */
        transition: none !important;
    }

    .headline {
        /* Tipografia Fluida reduzida em ~15% */
        font-size: clamp(1.8rem, 9.3vw, 2.45rem) !important;
        /* Aumentado em mais 5% */
        line-height: 1.05 !important;
        margin-bottom: 1.2rem !important;
        transform: none !important;
    }

    .subheadline {
        font-size: clamp(1.08rem, 4.4vw, 1.32rem) !important;
        /* Aumentado em mais 10% */
        margin-top: 10% !important;
        /* Abaixar o texto em 10% */
        margin-bottom: 2rem !important;
        line-height: 1.35 !important;
    }

    .hero-btns {
        margin-bottom: 1rem !important;
    }

    .section-title {
        font-size: clamp(1.45rem, 6.5vw, 2.1rem) !important;
        /* Reduzido ~15-20% */
        margin-bottom: 1.2rem !important;
    }

    .btn.large,
    .hero-btn {
        width: 100%;
        display: block;
        padding: 0.8rem !important;
        /* Reduzido ~10% */
        font-size: 0.9rem !important;
        /* Reduzido ~10% */
        letter-spacing: 0.5px !important;
    }

    .hero-note {
        font-size: 0.7rem !important;
        text-align: center !important;
        padding: 5px !important;
        border-top: 1px solid var(--color-gold) !important;
    }

    .participation-grid {
        flex-direction: column !important;
        gap: 2rem !important;
        align-items: center;
    }

    /* InversÃ£o da Mentora: Texto primeiro, imagem embaixo */
    .mentor .flex-row {
        flex-direction: column-reverse !important;
    }

    .p-card {
        width: 100%;
        max-width: 320px;
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
        /* Centraliza o card na grid */
        background: rgba(30, 30, 30, 0.95) !important;
        /* Fundo mais denso */
        border-radius: 20px !important;
        padding: 2.2rem 1.8rem !important;
        border: 1.5px solid rgba(250, 234, 188, 0.4) !important;
        /* Linhas mais visÃ­veis */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
        /* Sombra suavizada */
    }

    .p-card-body p {
        max-width: 100% !important;
        /* Remove trava de largura no mobile */
    }

    /* Aumento geral de 20% nos textos dos pilares */
    .p-card h3 {
        font-size: clamp(1.6rem, 6vw, 2.1rem) !important;
    }

    .p-card-body p {
        font-size: clamp(1rem, 4vw, 1.25rem) !important;
        margin-top: 0.8rem !important;
    }

    .p-card-icon {
        width: 65px !important;
        /* Ligeiramente aumentado */
        height: 65px !important;
        border: 1.5px solid var(--color-gold) !important;
        /* Borda dourada em volta do ícone */
        box-shadow: 0 0 15px rgba(250, 234, 188, 0.25) !important;
        /* Brilho premium */
        margin-bottom: 2rem !important;
    }

    /* Bloco 'Tudo isso com o direcionamento da Dra. Mariana Arteiro' */
    .human-direction-box {
        padding: 1.2rem 2rem !important;
        /* Mais compacto no mobile */
        border-radius: 24px !important;
    }

    .human-direction-box p {
        font-size: 0.95rem !important;
        /* De 1.2rem para ~0.95rem */
        letter-spacing: 1px !important;
    }

    .human-direction-box h3 {
        font-size: clamp(1.4rem, 5vw, 1.75rem) !important;
    }

    /* Ocultar setas do carrossel conforme pedido */
    .swiper-button-next,
    .swiper-button-prev {
        display: none !important;
    }

    /* Ajuste de harmonia para os cards de palestrantes (Especialistas) */
    .speaker-card {
        min-height: auto !important;
        /* Remove altura gigante forçada */
        height: auto !important;
    }

    .speaker-img {
        height: 370px !important;
        /* Aumentado em ~15% para aparecer melhor a imagem */
        object-position: center 10% !important;
    }

    /* Resetar zooms de desktop que cortam a imagem no mobile */
    div[data-name="Mariana Maduro"] .speaker-img,
    div[data-name="Bia Machnick"] .speaker-img {
        transform: none !important;
        object-fit: cover !important;
        object-position: center 5% !important;
    }

    .speaker-info {
        padding: 1.2rem !important;
        min-height: 220px;
        /* Garante base de texto consistente mas não gigante */
    }

    .speaker-name {
        font-size: clamp(1.2rem, 5vw, 1.5rem) !important;
    }

    .speaker-theme {
        font-size: 0.85rem !important;
        /* De 1rem -> 0.85rem */
        margin-bottom: 0.8rem !important;
        font-weight: 700 !important;
        color: #ffffff !important;
    }

    .speaker-cv {
        font-size: 0.95rem !important;
        /* De 0.8rem + 20% */
        line-height: 1.4 !important;
    }

    /* Ajuste de harmonia para os cards de bônus (Encontros ao Vivo) */
    .bonus-image-wrapper {
        height: 325px !important;
        /* Aumentado em ~15% para aparecer melhor a imagem */
    }

    .bonus-content {
        padding: 1.5rem !important;
    }

    .bonus-content h4 {
        font-size: clamp(1.25rem, 5vw, 1.55rem) !important;
    }

    /* Aumento geral de 20% nos textos finais */
    .cta-final p {
        font-size: 1.25rem !important;
        /* De 1.05rem + 20% */
    }

    .faq-item summary {
        font-size: 1.15rem !important;
        /* De 0.95rem + 20% */
        padding: 1.2rem 1.5rem !important;
    }

    .faq-content p,
    .faq-content {
        font-size: 0.95rem !important;
        /* De 0.8rem + 20% */
    }

    /* Ajustes Bloco Comunidade Exclusiva: Escala aumentada em 20% */
    .community .section-title {
        font-size: clamp(2.4rem, 12vw, 3.3rem) !important;
        margin-bottom: 1.2rem !important;
    }

    .community .section-desc {
        font-size: clamp(1rem, 4vw, 1.4rem) !important;
        line-height: 1.4 !important;
    }

    .c-feature {
        font-size: clamp(0.85rem, 3vw, 1.05rem) !important;
        padding: 1.2rem 1.8rem !important;
    }

    .c-feature strong {
        font-size: 1.1rem !important;
    }

    .testimonials .section-title {
        font-size: clamp(1.8rem, 8vw, 2.45rem) !important;
        margin-bottom: 2.5rem !important;
        text-align: center;
    }

    /* â”€â”€ MENTOR â€” PadrÃ£o Hero no Mobile â”€â”€ */
    .mentor {
        padding-top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        background-attachment: scroll !important;
    }

    .mentor .container.flex-row {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        max-width: 100% !important;
        gap: 0 !important;
    }

    .mentor-image {
        order: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 55vh !important;
        /* Reduzido de 65vh para 55vh para melhor enquadramento responsivo */
        max-height: 55vh !important;
        border-radius: 0 !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    .mentor-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    .mentor-bio {
        order: 1 !important;
        margin-top: 20px !important;
        /* Abaixado para mostrar mais a imagem da Dra. */
        margin-left: 15px !important;
        margin-right: 15px !important;
        position: relative !important;
        z-index: 10 !important;
        padding: 2rem 1.5rem !important;
        /* Reduzido ~20% */
        border-radius: 20px !important;
        /* Mais enxuto */
        background-color: #333333 !important;
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5) !important;
    }

    .mentor-bio .section-title {
        font-size: 1.55rem !important;
        /* Reduzido proporcionalmente */
    }

    .mentor-bio p {
        font-size: 0.95rem !important;
        /* Reduzido 10% */
        line-height: 1.5 !important;
    }
}

/* ==========================================================================
   ACESSIBILIDADE (A11Y)
   ========================================================================== */
*:focus-visible {
    outline: 2px solid var(--color-gold) !important;
    outline-offset: 4px;
    box-shadow: 0 0 10px rgba(250, 234, 188, 0.5) !important;
}

.btn:focus-visible,
.hero-btn:focus-visible {
    transform: scale(1.02);
}



/* Desktop specific adjustments based on user request */
@media (min-width: 992px) {
    .hero-logo-internal.desktop-only {
        position: static;
        margin-bottom: 2.5rem;
        width: 185px;
        display: block !important;
    }

    .hero-logo-internal.mobile-only {
        display: none !important;
    }

    .hero-content {
        transform: none;
    }

    .hero-btn {
        transform: none;
    }
}