/* =============================================================================
   MÉTODO DO VÍDEO SEMANAL — folha de estilo completa
   Identidade "Confiança Serena": azul-marinho + verde-menta sobre off-white.

   Organização do arquivo:
     01. Variáveis          08. Método
     02. Base e reset       09. Player de vídeo
     03. Utilitários        10. Módulos / Benefícios / Comparação / Bônus
     04. Botões             11. Oferta e garantia
     05. Cabeçalho          12. FAQ / Depoimentos / Fechamento
     06. Hero               13. Rodapé / Barra fixa / Cookies
     07. Problema           14. Responsivo e acessibilidade

   Para trocar as cores da marca, mexa apenas no bloco 01.
   ========================================================================== */


/* == 01. VARIÁVEIS ======================================================== */

:root {
    /* Marca */
    --navy-900: #14243D;
    --navy-800: #1B3050;
    --navy-700: #24476F;
    --navy-300: #93AECD;
    --navy-100: #DCE6F2;
    --navy-50:  #EEF3F9;

    --mint-700: #23935F;
    --mint-600: #2FB37A;
    --mint-500: #46C48E;
    --mint-50:  #E8F7F0;

    /* Neutros */
    --bg:        #F7F9FB;
    --surface:   #FFFFFF;
    --ink:       #101828;
    --ink-2:     #344054;
    --ink-muted: #667085;
    --border:    #E4E9F0;
    --warn:      #B54708;
    --warn-bg:   #FFF6ED;

    /* Tipografia */
    --fonte-titulo: 'Sora', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --fonte-texto:  'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    /* Medidas */
    --raio:      10px;
    --raio-g:    16px;
    --largura:   1140px;
    --largura-estreita: 820px;
    --sombra:    0 1px 2px rgba(16, 24, 40, .05);
    --sombra-m:  0 4px 16px rgba(16, 24, 40, .07);
    --sombra-g:  0 18px 44px rgba(20, 36, 61, .13);

    --transicao: 180ms ease;
}


/* == 02. BASE E RESET ===================================================== */

*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 84px;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink-2);
    font-family: var(--fonte-texto);
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4 {
    font-family: var(--fonte-titulo);
    color: var(--ink);
    line-height: 1.2;
    letter-spacing: -0.015em;
    margin: 0 0 .5em;
    font-weight: 700;
}

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--navy-700); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--mint-700); }

img, svg, video { max-width: 100%; display: block; }
ul, ol { margin: 0; padding: 0; list-style: none; }

strong { color: var(--ink); font-weight: 600; }
code {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .9em;
    background: var(--navy-50);
    padding: .12em .4em;
    border-radius: 4px;
}

:focus-visible {
    outline: 3px solid var(--mint-600);
    outline-offset: 2px;
    border-radius: 4px;
}

.pular-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 200;
    background: var(--navy-900);
    color: #fff;
    padding: 12px 20px;
    border-radius: 0 0 var(--raio) 0;
}
.pular-link:focus { left: 0; color: #fff; }


/* == 03. UTILITÁRIOS ====================================================== */

.container {
    width: 100%;
    max-width: var(--largura);
    margin-inline: auto;
    padding-inline: 20px;
}
.container--estreito { max-width: var(--largura-estreita); }

.secao { padding: 64px 0; }
.secao--clara { background: var(--surface); }
.secao--escura {
    background: var(--navy-900);
    color: var(--navy-100);
}
.secao--escura h2, .secao--escura h3 { color: #fff; }
.secao--video { background: linear-gradient(180deg, var(--navy-50), var(--bg) 55%); }

.secao__cabecalho { max-width: 720px; margin-bottom: 40px; }
.secao__cabecalho--centro { margin-inline: auto; text-align: center; }

.secao__titulo {
    font-size: clamp(1.55rem, 1.15rem + 1.7vw, 2.3rem);
    margin-bottom: .45em;
}
.secao__subtitulo {
    font-size: 1.05rem;
    color: var(--ink-muted);
    margin: 0;
}
.secao--escura .secao__subtitulo { color: var(--navy-300); }

.secao__acoes { margin-top: 40px; text-align: center; }

.etiqueta {
    display: inline-block;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--mint-700);
    background: var(--mint-50);
    border-radius: 999px;
    padding: 5px 13px;
    margin: 0 0 16px;
}
.etiqueta--clara {
    color: var(--mint-500);
    background: rgba(47, 179, 122, .12);
}

.observacao {
    font-size: .87rem;
    line-height: 1.55;
    color: var(--ink-muted);
    margin: 20px 0 0;
}
.observacao--clara { color: var(--navy-300); }

.aviso-legal {
    font-size: .82rem;
    line-height: 1.6;
    color: var(--navy-300);
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    padding: 20px 0;
    margin: 28px 0;
}
.aviso-legal strong { color: #fff; }

.aviso-provisorio {
    display: inline-block;
    background: var(--warn-bg);
    color: var(--warn);
    border: 1px solid #FEC84B;
    border-radius: var(--raio);
    font-size: .88rem;
    padding: 10px 16px;
    margin: 4px 0 0;
}
.aviso-provisorio strong { color: var(--warn); }


/* == 04. BOTÕES =========================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-family: var(--fonte-texto);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    border: 1.5px solid transparent;
    border-radius: var(--raio);
    padding: 14px 24px;
    min-height: 48px;
    cursor: pointer;
    transition: background var(--transicao), border-color var(--transicao),
                transform var(--transicao), box-shadow var(--transicao);
}
.btn:active { transform: translateY(1px); }

.btn--primario {
    background: var(--mint-600);
    border-color: var(--mint-600);
    color: #fff;
    box-shadow: 0 2px 10px rgba(35, 147, 95, .28);
}
.btn--primario:hover {
    background: var(--mint-700);
    border-color: var(--mint-700);
    color: #fff;
}

.btn--contorno {
    background: transparent;
    border-color: var(--navy-100);
    color: var(--navy-900);
}
.btn--contorno:hover {
    background: var(--navy-50);
    border-color: var(--navy-300);
    color: var(--navy-900);
}

.btn--contorno-claro {
    background: transparent;
    border-color: rgba(255, 255, 255, .32);
    color: #fff;
}
.btn--contorno-claro:hover {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .55);
    color: #fff;
}

.btn--grande {
    font-size: 1.08rem;
    padding: 17px 32px;
    min-height: 56px;
}
.btn--compacto { padding: 10px 18px; min-height: 42px; font-size: .95rem; }
.btn--bloco { width: 100%; }

.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; pointer-events: none; }
.btn__seta { display: inline-flex; }

/* Animação de entrada dos botões liberados */
@keyframes surgir {
    from { opacity: 0; transform: translateY(14px) scale(.98); }
    to   { opacity: 1; transform: none; }
}
.cta-liberado:not([hidden]) { animation: surgir 460ms cubic-bezier(.2, .8, .3, 1) both; }
.cta-liberado > * + * { margin-top: 12px; }
.cta-liberado__nota {
    font-size: .85rem;
    color: var(--navy-300);
    margin: 12px 0 0;
}

.cta-bloqueado {
    border: 1px dashed rgba(255, 255, 255, .3);
    border-radius: var(--raio);
    padding: 18px;
    text-align: center;
}
.cta-bloqueado__texto {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: .92rem;
    color: var(--navy-300);
    margin: 0 0 14px;
}
.cta-bloqueado__texto span { display: inline-flex; }
.cta-bloqueado__texto svg { display: block; }


/* == 05. CABEÇALHO ======================================================== */

.cabecalho {
    position: sticky;
    top: 0;
    z-index: 90;
    background: rgba(247, 249, 251, .92);
    backdrop-filter: saturate(160%) blur(10px);
    border-bottom: 1px solid var(--border);
}
.cabecalho__interno {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 68px;
}

.marca {
    display: flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    color: inherit;
}
.marca__simbolo { display: inline-flex; flex-shrink: 0; }
.marca__texto { display: flex; flex-direction: column; line-height: 1.15; }
.marca__nome {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 1.02rem;
    color: var(--navy-900);
    letter-spacing: -0.02em;
}
.marca__sub {
    font-size: .74rem;
    color: var(--ink-muted);
    letter-spacing: .03em;
}


/* == 06. HERO ============================================================= */

.hero {
    background:
        radial-gradient(900px 420px at 88% -8%, rgba(47, 179, 122, .1), transparent 62%),
        linear-gradient(180deg, var(--surface), var(--bg));
    padding: 48px 0 60px;
    border-bottom: 1px solid var(--border);
}
.hero__grade { display: grid; gap: 40px; }

.hero__titulo {
    font-size: clamp(1.85rem, 1.2rem + 2.9vw, 3.05rem);
    letter-spacing: -0.025em;
    margin-bottom: .4em;
}
.hero__titulo strong { color: var(--navy-700); font-weight: 700; }

.hero__subtitulo {
    font-size: clamp(1.02rem, .96rem + .3vw, 1.18rem);
    color: var(--ink-2);
    margin-bottom: .8em;
}
.hero__apoio {
    font-size: 1rem;
    color: var(--ink-muted);
    border-left: 3px solid var(--mint-600);
    padding-left: 15px;
    margin-bottom: 28px;
}

.hero__acoes {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-bottom: 26px;
}
.hero__duracao { font-size: .9rem; color: var(--ink-muted); margin: 0; }

.selos {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 22px;
}
.selo {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .87rem;
    font-weight: 500;
    color: var(--navy-700);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    padding: 7px 14px;
    box-shadow: var(--sombra);
}
.selo svg { color: var(--mint-600); flex-shrink: 0; }

/* Cartão da semana */
.cartao-semana {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 24px;
    box-shadow: var(--sombra-g);
}
.cartao-semana__cabecalho {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border);
}
.cartao-semana__titulo {
    font-family: var(--fonte-titulo);
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--navy-900);
}
.cartao-semana__total {
    font-size: .82rem;
    font-weight: 600;
    color: var(--mint-700);
    background: var(--mint-50);
    border-radius: 999px;
    padding: 4px 11px;
}
.cartao-semana__dias { display: grid; gap: 11px; }
.cartao-semana__dias li {
    display: grid;
    grid-template-columns: 34px 1fr 52px;
    align-items: center;
    gap: 12px;
    font-size: .86rem;
}
.cartao-semana__dias .dia { font-weight: 600; color: var(--ink-2); }
.cartao-semana__dias .tempo { text-align: right; color: var(--ink-muted); font-size: .8rem; }
.cartao-semana__dias .barra {
    height: 8px;
    background: var(--navy-50);
    border-radius: 999px;
    overflow: hidden;
}
.cartao-semana__dias .barra i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--navy-700), var(--navy-300));
    border-radius: 999px;
}
.cartao-semana__dias .is-fechamento .barra i {
    background: linear-gradient(90deg, var(--mint-600), var(--mint-500));
}
.cartao-semana__dias .is-fechamento .dia,
.cartao-semana__dias .is-fechamento .tempo { color: var(--mint-700); font-weight: 600; }
.cartao-semana__nota {
    font-size: .84rem;
    color: var(--ink-muted);
    margin: 18px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}


/* == 07. PROBLEMA ========================================================= */

.lista-dores {
    display: grid;
    gap: 14px;
    margin-bottom: 36px;
}
.dor {
    display: flex;
    gap: 15px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--raio);
    padding: 18px 20px;
}
.dor__icone {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: var(--navy-50);
    color: var(--navy-700);
}
.dor h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: .25em;
}
.dor p { font-size: .93rem; color: var(--ink-muted); margin: 0; }

.transicao {
    background: var(--navy-50);
    border-left: 4px solid var(--navy-700);
    border-radius: 0 var(--raio) var(--raio) 0;
    padding: 22px 26px;
}
.transicao p {
    font-size: clamp(1.02rem, .96rem + .35vw, 1.2rem);
    color: var(--navy-900);
    margin: 0;
}


/* == 08. MÉTODO =========================================================== */

.etapas { display: grid; gap: 18px; counter-reset: etapa; }
.etapa {
    position: relative;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--raio-g);
    padding: 26px 24px;
}
.etapa__numero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: var(--mint-600);
    color: #fff;
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 1.05rem;
    margin-bottom: 16px;
}
.etapa__titulo { font-size: 1.2rem; margin-bottom: .4em; }
.etapa__texto { color: var(--navy-100); font-size: .96rem; margin-bottom: .9em; }
.etapa__nota {
    font-size: .84rem;
    color: var(--mint-500);
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: 12px;
    margin: 0;
}

.ciclo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--raio-g);
    overflow: hidden;
    margin-top: 28px;
}
.ciclo__item {
    background: var(--navy-900);
    padding: 22px 16px;
    text-align: center;
}
.ciclo__valor {
    display: block;
    font-family: var(--fonte-titulo);
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
}
.ciclo__rotulo {
    display: block;
    font-size: .82rem;
    color: var(--navy-300);
    margin-top: 5px;
}


/* == 09. PLAYER DE VÍDEO ================================================== */

.player {
    background: #000;
    border-radius: var(--raio-g);
    overflow: hidden;
    box-shadow: var(--sombra-g);
}

.player__palco {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #05080D;
}
.player__video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #05080D;
}
.player__sem-suporte { color: #fff; padding: 24px; }

/* Capa clicável */
.player__capa {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    padding: 20px;
    cursor: pointer;
    color: #fff;
    background: linear-gradient(180deg, rgba(20, 36, 61, .45), rgba(5, 8, 13, .82));
    transition: opacity 260ms ease;
}
.player[data-estado="tocando"] .player__capa,
.player[data-estado="pausado"] .player__capa { opacity: 0; pointer-events: none; }
.player__capa-play svg { filter: drop-shadow(0 6px 20px rgba(0, 0, 0, .45)); }
.player__capa:hover .player__capa-play { transform: scale(1.05); }
.player__capa-play { transition: transform var(--transicao); }
.player__capa-texto {
    font-family: var(--fonte-titulo);
    font-weight: 600;
    font-size: clamp(1.05rem, .95rem + .6vw, 1.4rem);
}
.player__capa-nota { font-size: .85rem; color: rgba(255, 255, 255, .72); }

/* Aviso de bloqueio */
.player__aviso {
    position: absolute;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 5;
    max-width: min(92%, 460px);
    margin: 0;
    background: rgba(20, 36, 61, .95);
    color: #fff;
    font-size: .88rem;
    line-height: 1.45;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--raio);
    padding: 11px 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .4);
    animation: surgir 240ms ease both;
}

.player__erro {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    padding: 24px;
    background: var(--navy-900);
    color: var(--navy-100);
    font-size: .92rem;
}
.player__erro strong { color: #fff; }
.player__erro code { background: rgba(255, 255, 255, .12); color: #fff; }

/* Controles próprios */
.player__controles {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #0B1421;
    padding: 10px 14px;
}
.player__botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transition: background var(--transicao);
}
.player__botao:hover { background: rgba(255, 255, 255, .12); }

.player__tempo {
    display: inline-flex;
    gap: 5px;
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, .8);
    flex-shrink: 0;
}
.player__tempo-sep { color: rgba(255, 255, 255, .35); }

.player__barra {
    position: relative;
    flex: 1;
    height: 38px;
    display: flex;
    align-items: center;
    cursor: pointer;
    touch-action: none;
}
.player__barra-trilho,
.player__barra-liberado,
.player__barra-atual {
    position: absolute;
    left: 0;
    height: 6px;
    border-radius: 999px;
}
.player__barra-trilho { width: 100%; background: rgba(255, 255, 255, .18); }
.player__barra-liberado { width: 0; background: rgba(255, 255, 255, .38); }
.player__barra-atual { width: 0; background: var(--mint-600); }
.player__barra-pino {
    position: absolute;
    left: 0;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .5);
    transition: transform var(--transicao);
}
.player__barra:hover .player__barra-pino,
.player__barra:focus-visible .player__barra-pino { transform: scale(1.18); }

/* Medidor de liberação */
/* Fica ABAIXO do player, com folga. Não pode sobrepor: a barra de controles
   está exatamente na borda inferior do player. */
.liberacao {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 20px 22px 22px;
    margin: 14px 0 0;
    box-shadow: var(--sombra-m);
}
.liberacao__topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.liberacao__mensagem {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: .93rem;
    font-weight: 500;
    color: var(--navy-900);
    margin: 0;
}
.liberacao__cadeado { display: inline-flex; color: var(--ink-muted); flex-shrink: 0; }
.liberacao__percentual {
    font-size: .95rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--navy-700);
    flex-shrink: 0;
}
.liberacao__barra {
    height: 9px;
    background: var(--navy-50);
    border-radius: 999px;
    overflow: hidden;
}
.liberacao__preenchimento {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--navy-700), var(--mint-600));
    transition: width 320ms ease;
}
.liberacao__dica {
    font-size: .84rem;
    color: var(--ink-muted);
    margin: 12px 0 0;
}

/* Estado concluído */
.liberacao.is-concluido { border-color: var(--mint-500); background: var(--mint-50); }
.liberacao.is-concluido .liberacao__mensagem { color: var(--mint-700); font-weight: 600; }
.liberacao.is-concluido .liberacao__cadeado { color: var(--mint-600); }
.liberacao.is-concluido .liberacao__percentual { color: var(--mint-700); }


/* == 10. MÓDULOS / BENEFÍCIOS / COMPARAÇÃO / BÔNUS ======================== */

.modulos { display: grid; gap: 16px; }
.modulo {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 24px 22px;
    transition: transform var(--transicao), box-shadow var(--transicao),
                border-color var(--transicao);
}
.modulo:hover {
    transform: translateY(-3px);
    border-color: var(--navy-100);
    box-shadow: var(--sombra-m);
}
.modulo__numero {
    display: inline-block;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--mint-700);
    margin-bottom: 10px;
}
.modulo__titulo { font-size: 1.1rem; margin-bottom: .4em; }
.modulo__texto { font-size: .93rem; color: var(--ink-muted); margin: 0; }

.beneficios { display: grid; gap: 18px 28px; }
.beneficio { display: flex; gap: 13px; }
.beneficio__marca {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--mint-50);
    color: var(--mint-700);
    font-size: .85rem;
    font-weight: 700;
    margin-top: 2px;
}
.beneficio h3 { font-size: .99rem; font-weight: 600; margin-bottom: .2em; }
.beneficio p { font-size: .9rem; color: var(--ink-muted); margin: 0; }

.comparacao { display: grid; gap: 18px; }
.comparacao__coluna {
    position: relative;
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 26px 24px;
    background: var(--bg);
}
.comparacao__coluna--sozinho { color: var(--ink-muted); }
.comparacao__coluna--sozinho .comparacao__icone { color: #98A2B3; }
.comparacao__coluna--curso {
    background: var(--surface);
    border-color: var(--mint-500);
    box-shadow: var(--sombra-m);
}
.comparacao__coluna--curso .comparacao__icone { color: var(--mint-600); }
.comparacao__destaque {
    position: absolute;
    top: -12px;
    left: 24px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    background: var(--mint-600);
    border-radius: 999px;
    padding: 4px 12px;
}
.comparacao__titulo {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1.12rem;
    margin-bottom: 16px;
}
.comparacao__icone { display: inline-flex; flex-shrink: 0; }
.comparacao__lista { display: grid; gap: 11px; font-size: .93rem; }
.comparacao__lista li {
    position: relative;
    padding-left: 20px;
    line-height: 1.5;
}
.comparacao__lista li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .62em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .4;
}
.comparacao__coluna--curso .comparacao__lista li::before {
    background: var(--mint-600);
    opacity: 1;
}

.bonus { display: grid; gap: 16px; }
.bonus__item {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 22px;
    box-shadow: var(--sombra);
}
.bonus__tag {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--navy-700);
    background: var(--navy-50);
    border-radius: 999px;
    padding: 4px 11px;
    margin-bottom: 12px;
}
.bonus__item h3 { font-size: 1.03rem; margin-bottom: .3em; }
.bonus__item p { font-size: .91rem; color: var(--ink-muted); margin: 0; }


/* == 11. OFERTA E GARANTIA ================================================ */

.oferta {
    display: grid;
    gap: 22px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--raio-g);
    padding: 28px 24px;
}
.oferta__subtitulo { font-size: 1.05rem; margin-bottom: 16px; }
.oferta__lista { display: grid; gap: 11px; font-size: .95rem; color: var(--navy-100); }
.oferta__lista li { position: relative; padding-left: 27px; line-height: 1.5; }
.oferta__lista li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .28em;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--mint-600);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.4 10.3 8.4 13.3l6.2-6.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 100%;
}

.oferta__preco {
    background: var(--navy-800);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--raio-g);
    padding: 26px 22px;
    text-align: center;
}
.preco__de {
    font-size: .92rem;
    color: var(--navy-300);
    margin: 0 0 4px;
}
.preco__de span { text-decoration: line-through; }
.preco__por {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    margin: 0 0 6px;
    color: #fff;
    font-family: var(--fonte-titulo);
    line-height: 1;
}
.preco__moeda { font-size: 1.3rem; font-weight: 600; }
.preco__valor { font-size: clamp(2.6rem, 2rem + 2.6vw, 3.6rem); font-weight: 700; letter-spacing: -0.03em; }
.preco__parcela { font-size: 1rem; font-weight: 600; color: var(--mint-500); margin: 0 0 3px; }
.preco__formas { font-size: .85rem; color: var(--navy-300); margin: 0 0 22px; }

.oferta__confianca {
    display: grid;
    gap: 8px;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    font-size: .83rem;
    color: var(--navy-300);
}

.garantia {
    display: grid;
    gap: 24px;
    align-items: center;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 30px 26px;
    box-shadow: var(--sombra-m);
}
.garantia__selo { display: flex; justify-content: center; }
.garantia__titulo { font-size: clamp(1.35rem, 1.15rem + .9vw, 1.75rem); margin-bottom: .5em; }
.garantia__texto p { font-size: .97rem; color: var(--ink-2); }
.garantia__ressalva {
    font-size: .86rem !important;
    color: var(--ink-muted) !important;
    border-top: 1px solid var(--border);
    padding-top: 14px;
    margin-top: 16px;
}


/* == 12. FAQ / DEPOIMENTOS / FECHAMENTO =================================== */

.faq {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    overflow: hidden;
}
.faq__item + .faq__item { border-top: 1px solid var(--border); }
.faq__item > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    list-style: none;
    cursor: pointer;
    font-family: var(--fonte-titulo);
    font-weight: 600;
    font-size: 1rem;
    color: var(--navy-900);
    padding: 19px 22px;
    transition: background var(--transicao);
}
.faq__item > summary::-webkit-details-marker { display: none; }
.faq__item > summary:hover { background: var(--navy-50); }
.faq__item > summary::after {
    content: "";
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    border-right: 2px solid var(--navy-700);
    border-bottom: 2px solid var(--navy-700);
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform var(--transicao);
}
.faq__item[open] > summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.faq__item[open] > summary { background: var(--navy-50); }
.faq__resposta {
    padding: 0 22px 20px;
    font-size: .94rem;
    color: var(--ink-2);
}
.faq__resposta p + p { margin-top: .7em; }
.faq__ajuda {
    text-align: center;
    font-size: .92rem;
    color: var(--ink-muted);
    margin-top: 24px;
}

.depoimentos-vazio {
    text-align: center;
    background: var(--surface);
    border: 1px dashed var(--navy-100);
    border-radius: var(--raio-g);
    padding: 44px 26px;
    color: var(--ink-muted);
}
.depoimentos-vazio__icone { display: inline-flex; color: var(--navy-300); margin-bottom: 14px; }
.depoimentos-vazio__texto {
    font-family: var(--fonte-titulo);
    font-size: 1.08rem;
    font-weight: 600;
    color: var(--navy-900);
    margin-bottom: .5em;
}
.depoimentos-vazio__nota { font-size: .88rem; margin: 0; }

.depoimentos { display: grid; gap: 16px; }
.depoimento {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 24px;
    box-shadow: var(--sombra);
}
.depoimento blockquote { margin: 0 0 14px; font-size: .97rem; }
.depoimento__autor { display: flex; flex-direction: column; font-size: .86rem; }
.depoimento__nome { font-weight: 600; color: var(--navy-900); }
.depoimento__local { color: var(--ink-muted); }

.secao--fechamento {
    background: linear-gradient(160deg, var(--navy-900), var(--navy-700));
    color: var(--navy-100);
}
.fechamento { text-align: center; }
.fechamento__titulo {
    color: #fff;
    font-size: clamp(1.6rem, 1.2rem + 1.9vw, 2.5rem);
    max-width: 620px;
    margin-inline: auto;
    margin-bottom: .5em;
}
.fechamento__texto {
    font-size: 1.06rem;
    color: var(--navy-100);
    max-width: 560px;
    margin-inline: auto;
    margin-bottom: 30px;
}
.fechamento .cta-bloqueado,
.fechamento .cta-liberado { max-width: 460px; margin-inline: auto; }
.fechamento .observacao { margin-top: 26px; }


/* == 13. RODAPÉ / BARRA FIXA / COOKIES ==================================== */

.rodape {
    background: var(--navy-900);
    color: var(--navy-300);
    font-size: .9rem;
    padding: 48px 0 40px;
}
.rodape__topo {
    display: grid;
    gap: 26px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.rodape__marca { display: flex; align-items: center; gap: 12px; }
.rodape__nome {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    margin: 0;
}
.rodape__tagline { font-size: .85rem; margin: 2px 0 0; }
.rodape__links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.rodape__links a, .rodape__botao-link {
    color: var(--navy-100);
    font-size: .89rem;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}
.rodape__links a:hover, .rodape__botao-link:hover {
    color: #fff;
    border-bottom-color: var(--mint-500);
}
.rodape__botao-link {
    background: none;
    border: 0;
    padding: 0;
    font-family: inherit;
    cursor: pointer;
}
.rodape__dados { display: grid; gap: 3px; margin: 24px 0; font-size: .87rem; }
.rodape__dados p { margin: 0; }
.rodape__dados a { color: var(--navy-100); }
.rodape__copyright { font-size: .82rem; margin: 0; }

.barra-fixa {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 95;
    background: rgba(20, 36, 61, .97);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, .14);
    padding: 11px 0 calc(11px + env(safe-area-inset-bottom));
    transform: translateY(110%);
    transition: transform 320ms cubic-bezier(.2, .8, .3, 1);
}
.barra-fixa.is-visivel { transform: none; }
.barra-fixa__interno {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    max-width: var(--largura);
    margin-inline: auto;
    padding-inline: 20px;
}
.barra-fixa__info { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.barra-fixa__nome {
    font-family: var(--fonte-titulo);
    font-weight: 600;
    font-size: .9rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.barra-fixa__preco { font-size: 1rem; font-weight: 700; color: var(--mint-500); }
.barra-fixa__preco small {
    display: block;
    font-size: .74rem;
    font-weight: 400;
    color: var(--navy-300);
}
.barra-fixa .btn { flex-shrink: 0; }

.cookies {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 120;
}
.cookies__caixa {
    max-width: 480px;
    margin-inline: auto;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--raio-g);
    padding: 22px;
    box-shadow: var(--sombra-g);
    animation: surgir 320ms ease both;
}
.cookies__titulo { font-size: 1.05rem; margin-bottom: .4em; }
.cookies__texto { font-size: .89rem; color: var(--ink-muted); margin-bottom: 16px; }
.cookies__opcoes { display: grid; gap: 12px; margin-bottom: 18px; }
.cookies__opcao {
    display: flex;
    gap: 10px;
    font-size: .85rem;
    line-height: 1.45;
    color: var(--ink-muted);
    cursor: pointer;
}
.cookies__opcao input { margin-top: 3px; flex-shrink: 0; accent-color: var(--mint-600); }
.cookies__opcao strong { display: block; color: var(--ink); font-size: .89rem; }
.cookies__opcao--fixa { cursor: default; opacity: .8; }
.cookies__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cookies__acoes .btn { flex: 1 1 auto; }
.cookies__link {
    background: none;
    border: 0;
    padding: 6px 4px;
    font-family: inherit;
    font-size: .86rem;
    color: var(--ink-muted);
    text-decoration: underline;
    cursor: pointer;
}
.cookies__link:hover { color: var(--navy-700); }


/* Páginas legais (termos, privacidade, reembolso) */
.pagina-legal { background: var(--surface); }
.pagina-legal h1 {
    font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.3rem);
    margin-bottom: .3em;
}
.pagina-legal h2 {
    font-size: 1.18rem;
    margin-top: 2em;
    padding-top: 1.1em;
    border-top: 1px solid var(--border);
}
.pagina-legal h3 { font-size: 1.02rem; margin-top: 1.6em; }
.pagina-legal__data { font-size: .87rem; color: var(--ink-muted); margin-bottom: 2em; }
.pagina-legal ul, .pagina-legal ol {
    list-style: disc;
    padding-left: 22px;
    margin: 0 0 1em;
    display: grid;
    gap: 8px;
}
.pagina-legal ol { list-style: decimal; }
.pagina-legal li { line-height: 1.6; }
.pagina-legal hr {
    border: 0;
    border-top: 1px solid var(--border);
    margin: 2.4em 0 1.6em;
}
.pagina-legal__aviso {
    background: var(--navy-50);
    border-left: 4px solid var(--navy-700);
    border-radius: 0 var(--raio) var(--raio) 0;
    padding: 16px 20px;
    font-size: .92rem;
}


/* == 14. RESPONSIVO ======================================================= */

@media (min-width: 600px) {
    .lista-dores { grid-template-columns: repeat(2, 1fr); }
    .modulos, .bonus { grid-template-columns: repeat(2, 1fr); }
    .beneficios { grid-template-columns: repeat(2, 1fr); }
    .ciclo { grid-template-columns: repeat(4, 1fr); }
    .garantia { grid-template-columns: 120px 1fr; text-align: left; }
    .cookies__acoes .btn { flex: 0 1 auto; }
}

@media (min-width: 880px) {
    .secao { padding: 88px 0; }
    .hero { padding: 72px 0 84px; }
    .hero__grade {
        grid-template-columns: 1.15fr .85fr;
        align-items: center;
        gap: 56px;
    }
    .etapas { grid-template-columns: repeat(3, 1fr); }
    .comparacao { grid-template-columns: repeat(2, 1fr); align-items: start; }
    .oferta { grid-template-columns: 1.1fr .9fr; padding: 34px 32px; gap: 34px; }
    .oferta__preco { align-self: start; }
    .rodape__topo {
        grid-template-columns: 1fr auto;
        align-items: center;
    }
    .rodape__links { justify-content: flex-end; }
    .depoimentos { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .modulos { grid-template-columns: repeat(4, 1fr); }
    .lista-dores { grid-template-columns: repeat(3, 1fr); }
    .bonus { grid-template-columns: repeat(3, 1fr); }
}

/* Celulares pequenos */
@media (max-width: 420px) {
    body { font-size: 16px; }
    .container { padding-inline: 16px; }
    .btn--grande { width: 100%; }
    .hero__acoes { flex-direction: column; align-items: stretch; }
    .hero__duracao { text-align: center; }
    .liberacao { padding: 16px 16px 18px; }
    .liberacao__topo { flex-direction: column; align-items: flex-start; gap: 8px; }
    .player__controles { gap: 6px; padding: 8px 10px; }
    .player__tempo { font-size: .76rem; }
    .barra-fixa__interno { gap: 10px; }
    .barra-fixa__preco small { display: none; }
    .barra-fixa .btn { padding: 12px 16px; font-size: .92rem; }
}

/* Quando a barra fixa está visível, evita que ela cubra o rodapé */
body.tem-barra-fixa { padding-bottom: 76px; }

/* Acessibilidade e preferências do sistema */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}

@media print {
    .cabecalho, .barra-fixa, .cookies, .player, .liberacao { display: none !important; }
    body { background: #fff; }
}
