/* Pulse by Verbame Group · tema Ghost
   Referência visual: mockups aprovados (Site, SiteDark, Edicao, Planos, Entrar, Assinar).
   Regra: nada aqui estiliza elementos genéricos do conteúdo (table, p, td...). O cartão HTML
   das edições mantém seus estilos inline; o tema só o centraliza. */

/* ---------------------------------------------------------------- fonte */
@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Bold.woff2') format('woff2'); font-weight: 600 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url('../fonts/Satoshi-Black.woff2') format('woff2'); font-weight: 800 900; font-style: normal; font-display: swap; }

/* ---------------------------------------------------------------- tokens */
:root {
    --bordo: #3D0D0D; --creme: #FDF4EF; --pessego: #F6C8B2; --laranja: #E3512C;
    --vermelho: #B02A1E; --laranja-claro: #E8704A; --neutro: #F2F2F2; --cinza: #9A9A9A;
    --t-aberto: #9A9A9A; --t-brasil: #E3512C; --t-latam: #B02A1E; --t-global: #E8704A;
    /* Satoshi, a menos que uma fonte seja escolhida em Configurações > Design do Ghost */
    --fonte: var(--gh-font-body, 'Satoshi', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif);
    --fonte-titulo: var(--gh-font-heading, var(--fonte));
    --g: 64px; /* margem lateral */

    /* base do site (visitante e membro gratuito): identidade Aberto */
    --bg: #F2F2F2; --fg: #3D0D0D; --surface: #FFFFFF; --line: #E1E1E1; --line-soft: #F2F2F2;
    --accent: #B02A1E; --kicker: #B02A1E; --topbar: #3D0D0D; --footer: #3D0D0D; --footer-line: #7A3A2E;
    --btn-bg: #3D0D0D; --btn-fg: #FDF4EF; --chip-free-bg: #F2F2F2; --chip-free-fg: #3D0D0D;
    --erro: #B02A1E; --input-bg: #FFFFFF; --card-border: 0 solid transparent; --tier: #E3512C; --paper-bg: #F6C8B2;
    --coluna-bg: #FFFFFF; --tabela-alt: #F7F7F7;
    color-scheme: light;
}
[data-tema="escuro"] {
    --bg: #161212; --fg: #FDF4EF; --surface: #221B1A; --line: #3A2F2D; --line-soft: #3A2F2D;
    --accent: #E8704A; --kicker: #E8704A; --topbar: #221B1A; --footer: #0E0B0B; --footer-line: #3A2F2D;
    --btn-bg: #FDF4EF; --btn-fg: #3D0D0D; --chip-free-bg: #3A2F2D; --chip-free-fg: #FDF4EF;
    --erro: #E8704A; --input-bg: #161212; --card-border: 1px solid #3A2F2D; --paper-bg: #221B1A;
    --coluna-bg: #221B1A; --tabela-alt: #1C1716;
    color-scheme: dark;
}

/* ---------------------------------------------------------------- base */
html { -webkit-text-size-adjust: 100%; }
body {
    margin: 0; background: var(--bg); color: var(--fg); font-family: var(--fonte);
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
a { color: var(--accent); }
a:hover { color: var(--fg); }
:focus-visible { outline: 3px solid var(--laranja); outline-offset: 2px; }
.site-main { display: block; }
[hidden] { display: none !important; }

/* logos: forma escura no claro, forma clara no escuro */
.logo-escuro { display: none; }
[data-tema="escuro"] .logo-claro { display: none; }
[data-tema="escuro"] .logo-escuro { display: block; }

.kicker { font-size: 13px; font-weight: 800; letter-spacing: 0.1em; color: var(--kicker); }
.link-seta { font-size: 15px; font-weight: 700; color: var(--accent); }
.botao {
    display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 0; border-radius: 999px;
    font-family: var(--fonte); font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer; white-space: nowrap;
}
.botao-cheio, .botao-cheio:hover { background: var(--btn-bg); color: var(--btn-fg); }
.maiuscula { display: inline-block; }
.maiuscula::first-letter, .barra-data::first-letter { text-transform: uppercase; }

/* movimento */
.lift { transition: transform .22s ease, box-shadow .22s ease; }
.lift:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0, 0, 0, .14); }
.lift .stripe { transition: height .22s ease; }
.lift:hover .stripe { height: 14px; }
.btn-hover { transition: opacity .2s ease, transform .2s ease; }
.btn-hover:hover { opacity: .88; transform: translateY(-1px); }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.js .reveal.visivel { opacity: 1; transform: none; }
@keyframes pulse-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------------------------------------------------------------- barra de data e radar */
.barra-topo {
    display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 10px var(--g);
    background: var(--topbar); color: #FDF4EF; font-size: 13px; font-weight: 500;
}
.barra-data { display: inline-block; }
.barra-links { display: flex; gap: 20px; align-items: center; }
.barra-links a { color: #FDF4EF; text-decoration: none; }
.barra-links a:hover { opacity: .8; }
.barra-links .forte { font-weight: 700; }

.radar {
    display: flex; align-items: center; gap: 16px; padding: 10px 0 10px var(--g); background: #E3512C; color: #3D0D0D;
    font-size: 14px; font-weight: 600; overflow: hidden; white-space: nowrap;
}
.radar-selo {
    flex-shrink: 0; padding: 3px 10px; border-radius: 999px; background: #3D0D0D; color: #FDF4EF;
    font-size: 11px; font-weight: 800; letter-spacing: 0.08em; position: relative; z-index: 1;
}
.radar-janela { overflow: hidden; flex-grow: 1; }
.radar-trilho { display: flex; gap: 16px; width: max-content; animation: pulse-marquee 38s linear infinite; }
.radar:hover .radar-trilho, .radar:focus-within .radar-trilho { animation-play-state: paused; }
.radar-copia { display: contents; }
.radar-trilho a { color: #3D0D0D; text-decoration: none; }
.radar-trilho a:hover { text-decoration: underline; }
.radar-ponto { opacity: 0.55; }

/* ---------------------------------------------------------------- cabeçalho */
.cabecalho {
    position: sticky; top: 0; z-index: 50; display: flex; justify-content: space-between; align-items: center; gap: 24px;
    padding: 20px var(--g); background: var(--bg); border-bottom: 1px solid var(--line);
    transition: padding .25s ease, box-shadow .25s ease;
}
.cab-logo { display: flex; align-items: center; text-decoration: none; }
.cab-logo .logo { width: auto; height: 38px; transition: height .25s ease; }
.cabecalho.compacto { padding-top: 10px; padding-bottom: 10px; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); }
.cabecalho.compacto .cab-logo .logo { height: 32px; }
.cab-nav { display: flex; gap: 32px; font-size: 15px; font-weight: 600; }
.cab-nav a { color: var(--fg); text-decoration: none; }
.cab-nav a:hover, .cab-nav a.atual { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; text-decoration-color: var(--laranja); }
.cab-acoes { display: flex; align-items: center; gap: 14px; }
.botao-tema {
    display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border-radius: 999px;
    border: 1px solid var(--line); background: transparent; color: var(--fg); cursor: pointer;
}
.botao-tema .icone-sol { display: none; }
[data-tema="escuro"] .botao-tema .icone-sol { display: block; }
[data-tema="escuro"] .botao-tema .icone-lua { display: none; }
.botao-tema[aria-disabled="true"] { cursor: default; }

/* ---------------------------------------------------------------- home */
.hero { display: flex; align-items: center; justify-content: space-between; gap: 64px; padding: 72px var(--g) 56px; }
.hero-texto { display: flex; flex-direction: column; gap: 22px; max-width: 720px; }
.hero h1 { margin: 0; font-size: 64px; line-height: 1.02; font-weight: 800; letter-spacing: -0.035em; }
.hero-sub { margin: 0; font-size: 20px; line-height: 1.55; }
.hero-form { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.hero-form label { font-size: 13px; font-weight: 700; }
.campo-pilula {
    display: flex; gap: 10px; padding: 6px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); max-width: 560px;
}
.campo-pilula input {
    flex-grow: 1; min-width: 0; border: 0; outline: none; padding: 12px 18px; font-size: 16px; font-family: var(--fonte);
    background: transparent; color: var(--fg);
}
.campo-pilula .botao { padding: 14px 26px; font-size: 16px; }
.hero-nota { font-size: 13px; opacity: 0.8; }
.hero-membro { display: flex; gap: 20px; align-items: center; margin-top: 8px; }
.celular {
    width: 340px; height: 640px; flex-shrink: 0; border-radius: 48px; background: #1B0606; padding: 12px; box-sizing: border-box;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
}
.celular-tela { width: 100%; height: 100%; border-radius: 38px; overflow: hidden; background: #3D0D0D; }
.celular-tela img { width: 100%; height: auto; display: block; }

.nota-editor {
    display: flex; gap: 40px; align-items: flex-start; margin: 0 var(--g); padding: 36px 40px; border-radius: 24px;
    background: var(--surface); border: 1px solid var(--line);
}
.nota-editor .kicker { flex-shrink: 0; padding-top: 6px; }
.nota-corpo { display: flex; flex-direction: column; gap: 12px; }
.nota-corpo p { margin: 0; font-size: 22px; line-height: 1.5; font-style: italic; }
.nota-assinatura { font-size: 14px; font-weight: 700; }

.secao-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.secao-cab h2 { margin: 0; font-size: 36px; font-weight: 800; letter-spacing: -0.02em; }
.secao-titulo { display: flex; flex-direction: column; gap: 10px; }
.secao-titulo p { margin: 0; font-size: 17px; }

.ultimas { display: flex; flex-direction: column; gap: 24px; padding: 72px var(--g) 0; scroll-margin-top: 100px; }
.grade-tiers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.coluna-tier { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: var(--coluna-bg); border: var(--card-border); color: var(--fg); }
.stripe { height: 8px; background: var(--tier); }
.tier-aberto { --tier: var(--t-aberto); }
.tier-brasil { --tier: var(--t-brasil); }
.tier-latam { --tier: var(--t-latam); }
.tier-global { --tier: var(--t-global); }
.coluna-cab { display: flex; flex-direction: column; gap: 4px; padding: 22px 22px 8px; }
.coluna-nome { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; color: inherit; text-decoration: none; }
.coluna-dia { font-size: 13px; font-weight: 600; opacity: 0.8; }
.coluna-plano { font-size: 13px; opacity: 0.8; }
.coluna-lista { display: flex; flex-direction: column; padding: 0 22px 12px; flex-grow: 1; }
.coluna-vazia { margin: 0; padding: 16px 0; border-top: 1px solid var(--line-soft); font-size: 14px; opacity: .75; }
.coluna-todas { margin: 0 22px 22px; font-size: 14px; font-weight: 700; color: var(--accent); }
/* a coluna Global é sempre escura */
.coluna-tier.tier-global { background: #3D0D0D; color: #FDF4EF; border: 0; --line-soft: #7A3A2E; --accent: #E8704A; }
.coluna-tier.tier-global .coluna-nome { color: #FDF4EF; }

.item-edicao { display: flex; flex-direction: column; gap: 6px; padding: 16px 0; border-top: 1px solid var(--line-soft); text-decoration: none; color: inherit; }
.item-edicao:hover { color: inherit; }
.item-edicao:hover .item-titulo { text-decoration: underline; text-underline-offset: 3px; }
.item-numero { font-size: 12px; font-weight: 700; opacity: 0.7; min-height: 1em; }
.item-titulo { font-size: 17px; line-height: 1.35; font-weight: 700; }
.item-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.item-data { opacity: 0.75; }

.selo { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.3; }
.selo-aberto { background: var(--chip-free-bg); color: var(--chip-free-fg); }
.selo-brasil { background: #FDF4EF; border: 1px solid #E3512C; color: #3D0D0D; padding: 3px 9px; }
.selo-latam { background: #F6C8B2; color: #3D0D0D; }
.selo-global { background: #FDF4EF; color: #3D0D0D; }

/* planos (home e página de planos) */
.planos-home { display: flex; flex-direction: column; gap: 28px; padding: 88px var(--g); }
.planos-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.plano { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 22px; color: var(--fg); }
.plano-aberto { background: #FFFFFF; border: 1px solid #E1E1E1; }
.plano-brasil { background: #FDF4EF; border: 1px solid #E3512C; }
.plano-latam { background: #F6C8B2; border: 1px solid #F6C8B2; }
.plano-global { background: #3D0D0D; border: 1px solid #3D0D0D; color: #FDF4EF; }
[data-tema="escuro"] .plano-aberto { background: #221B1A; border-color: #3A2F2D; }
[data-tema="escuro"] .plano-brasil { background: #221B1A; }
[data-tema="escuro"] .plano-latam { background: #221B1A; border-color: #F6C8B2; }
.plano-selo-vazio { display: block; height: 22px; }
.plano-selo, .selo-etapa {
    align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: #E3512C; color: #3D0D0D;
    font-size: 11px; font-weight: 800; letter-spacing: 0.06em; line-height: 14px;
}
.plano-nome { font-size: 24px; font-weight: 800; }
.plano-desc { font-size: 14px; line-height: 1.5; opacity: 0.85; }
.plano-preco { font-size: 30px; font-weight: 800; }
.plano ul { margin: 0; padding: 0 0 0 18px; font-size: 14px; line-height: 1.5; flex-grow: 1; }
.preco-equivalente { display: block; margin-top: 4px; font-size: 14px; font-weight: 600; opacity: 0.8; letter-spacing: 0; }
.tp-preco > div { font-weight: 800; }
.nota-rodape { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.plano li { margin: 0 0 8px 0; }
.plano > .botao-plano { margin-top: auto; }
.botao-plano {
    display: block; padding: 13px 0; border-radius: 999px; background: var(--btn-bg); color: var(--btn-fg);
    font-size: 15px; font-weight: 700; text-align: center; text-decoration: none;
}
.botao-plano:hover { color: var(--btn-fg); }
.plano-global .botao-plano, .plano-global .botao-plano:hover { background: #FDF4EF; color: #3D0D0D; }

/* ---------------------------------------------------------------- rodapé */
.rodape { display: flex; flex-direction: column; gap: 40px; padding: 56px var(--g) 40px; background: var(--footer); color: #FDF4EF; }
.rodape-topo { display: flex; justify-content: space-between; gap: 48px; }
.rodape-marca { display: flex; flex-direction: column; gap: 14px; max-width: 360px; }
.rodape-logo { width: 200px; height: auto; }
.rodape-marca p { margin: 0; font-size: 15px; line-height: 1.6; }
.rodape-colunas { display: flex; gap: 64px; }
.rodape-coluna { display: flex; flex-direction: column; gap: 10px; }
.rodape .rotulo { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: #F6C8B2; }
.rodape-coluna a { color: #FDF4EF; text-decoration: none; font-size: 14px; }
.rodape-coluna a:hover { text-decoration: underline; }
.rodape-base { display: flex; justify-content: space-between; gap: 16px; padding-top: 24px; border-top: 1px solid var(--footer-line); font-size: 13px; }

/* ---------------------------------------------------------------- páginas internas */
.pagina-topo { display: flex; flex-direction: column; gap: 18px; padding: 72px var(--g) 32px; max-width: 900px; }
.pagina-topo h1 { margin: 0; font-size: 56px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; }
.pagina-topo p { margin: 0; font-size: 19px; line-height: 1.55; }
.lista-secao { display: flex; flex-direction: column; gap: 24px; padding: 48px var(--g) 88px; }
.lista-edicoes { display: flex; flex-direction: column; border-bottom: 1px solid var(--line); }
.lista-edicoes .item-edicao {
    display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 22px 0;
    border-top: 1px solid var(--line); transition: padding-left .2s ease;
}
.lista-edicoes .item-edicao:hover { padding-left: 8px; }
.lista-edicoes .item-numero { font-size: 14px; }
.lista-edicoes .item-titulo { font-size: 20px; }
.lista-vazia { margin: 0; padding: 22px 0; border-top: 1px solid var(--line); opacity: .8; }
.paginacao { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 14px; }
.paginacao-info { opacity: .75; }
.filtro { display: flex; flex-wrap: wrap; gap: 8px; }
.filtro-botao {
    padding: 10px 20px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--fg);
    font-family: var(--fonte); font-size: 15px; font-weight: 700; cursor: pointer;
}
.filtro-botao[aria-pressed="true"] { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); }

.tier-hero { margin: 56px var(--g) 0; border-radius: 24px; overflow: hidden; }
.tier-hero-corpo { display: flex; flex-direction: column; gap: 18px; padding: 40px 44px 44px; }
.tier-hero h1 { margin: 0; font-size: 56px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; }
.tier-hero p { margin: 0; font-size: 19px; line-height: 1.55; max-width: 720px; }
.tier-hero-acoes { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 6px; }
.tier-hero.tier-aberto { background: #FFFFFF; border: 1px solid #F2F2F2; }
.tier-hero.tier-brasil { background: #FFFFFF; border: 1px solid #E3512C; }
.tier-hero.tier-latam { background: #F6C8B2; }
.tier-hero.tier-global { background: #3D0D0D; color: #FDF4EF; --kicker: #F6C8B2; --accent: #E8704A; --btn-bg: #FDF4EF; --btn-fg: #3D0D0D; }
[data-tema="escuro"] .tier-hero.tier-aberto, [data-tema="escuro"] .tier-hero.tier-brasil { background: #221B1A; border-color: #3A2F2D; }
[data-tema="escuro"] .tier-hero.tier-latam { background: #221B1A; border: 1px solid #F6C8B2; }
.botao-tier, .botao-tier:hover { background: var(--btn-bg); color: var(--btn-fg); }

.conteudo-texto { max-width: 720px; padding: 0 var(--g) 88px; font-size: 18px; line-height: 1.7; }
.conteudo-texto h2 { font-size: 28px; line-height: 1.25; margin: 40px 0 12px; }
.conteudo-texto h3 { font-size: 22px; line-height: 1.3; margin: 32px 0 10px; }
.conteudo-texto img { max-width: 100%; height: auto; }
.erro-pagina { padding-bottom: 96px; }
.pagina-imagem { width: 100%; height: auto; border-radius: 24px; margin-top: 12px; }
.arquivo-grupo { display: contents; }
h1, h2, h3, .plano-nome, .coluna-nome, .po-nome { font-family: var(--fonte-titulo); }

/* cartões do editor do Ghost (exigidos pelo Ghost) */
.kg-width-wide { position: relative; width: 85vw; min-width: 100%; margin: auto calc(50% - 50vw); transform: translateX(calc(50vw - 50%)); }
.kg-width-full { position: relative; width: 100vw; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.kg-width-full img, .kg-width-wide img { width: 100%; }

/* ---------------------------------------------------------------- planos (página) */
.planos-topo { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 72px var(--g) 40px; text-align: center; }
.planos-topo h1 { margin: 0; font-size: 56px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; max-width: 880px; }
.planos-topo p { margin: 0; font-size: 19px; line-height: 1.55; max-width: 720px; }
.alternador { display: flex; gap: 4px; padding: 5px; margin-top: 10px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); }
.alternador button {
    padding: 10px 22px; border: 0; border-radius: 999px; font-size: 15px; font-weight: 700; font-family: var(--fonte);
    cursor: pointer; background: transparent; color: var(--fg); transition: background .2s ease, color .2s ease;
}
.alternador button[aria-pressed="true"] { background: var(--btn-bg); color: var(--btn-fg); }
.planos-pagina { padding: 16px var(--g) 72px; }
.planos-pagina .plano { padding: 30px; }
.planos-pagina .plano-nome { font-size: 26px; }
.planos-pagina .plano-preco { font-size: 34px; }

.comparar { display: flex; flex-direction: column; gap: 20px; padding: 0 var(--g) 72px; }
.comparar h2, .faq h2 { margin: 0; font-size: 32px; font-weight: 800; letter-spacing: -0.02em; }
.comparar { min-width: 0; }
.tabela-planos { display: flex; flex-direction: column; min-width: 0; max-width: 100%; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); }
.tp-linha { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); background: var(--coluna-bg); }
.tp-linha > div { line-height: 1.4; }
.tp-linha:nth-child(odd) { background: var(--tabela-alt); }
.tp-linha > div { padding: 16px; font-size: 15px; font-weight: 500; text-align: center; }
.tp-linha > div:first-child { font-weight: 700; text-align: left; }
.tp-cab > div { padding: 18px 16px; font-size: 16px; font-weight: 800; }
.tp-cab > div:first-child { background: var(--tabela-alt); font-weight: 800; }
.tp-cab .c-aberto { background: #F2F2F2; }
.tp-cab .c-brasil { background: #FDF4EF; }
.tp-cab .c-latam { background: #F6C8B2; }
.tp-cab .c-global { background: #3D0D0D; color: #FDF4EF; }
[data-tema="escuro"] .tp-cab > div { background: #2A2322; }
[data-tema="escuro"] .tp-cab .c-global { background: #3D0D0D; }
.comparar-dica { display: none; margin: -8px 0 0; font-size: 13px; opacity: .75; }

.faq { display: flex; flex-direction: column; padding: 0 var(--g) 88px; max-width: 900px; }
.faq h2 { margin: 0 0 12px 0; }
.faq-conteudo h2, .faq-conteudo h3 { margin: 0; padding-top: 22px; border-top: 1px solid var(--line); font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: 0; }
.faq-conteudo p { margin: 8px 0 0; padding-bottom: 22px; font-size: 16px; line-height: 1.6; }

/* ---------------------------------------------------------------- edição */
.progresso { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 100; pointer-events: none; }
.progresso-barra { height: 100%; width: 100%; background: var(--tier); transform: scaleX(0); transform-origin: 0 50%; }

.post-template.tag-edicao-aberto { --tier: var(--t-aberto); }
.post-template.tag-edicao-brasil { --tier: var(--t-brasil); }
.post-template.tag-edicao-latam { --tier: var(--t-latam); }
.post-template.tag-edicao-global { --tier: var(--t-global); }

/* no modo claro, a página inteira assume a cor do tier */
[data-tema="claro"] .post-template.tag-edicao-aberto { --bg: #F2F2F2; --line: #DCD4D1; --surface: #FFFFFF; --paper-bg: #FFFFFF; --chip-free-bg: #FFFFFF; }
[data-tema="claro"] .post-template.tag-edicao-brasil { --bg: #FDF4EF; --line: #F6C8B2; --paper-bg: #F6C8B2; }
[data-tema="claro"] .post-template.tag-edicao-latam { --bg: #F6C8B2; --line: #E8704A; --kicker: #3D0D0D; --accent: #3D0D0D; --paper-bg: #FDF4EF; --surface: #FDF4EF; }
/* a Global é sempre escura, nos dois modos */
.post-template.tag-edicao-global {
    --bg: #3D0D0D; --fg: #FDF4EF; --surface: #4E1A16; --line: #7A3A2E; --line-soft: #7A3A2E; --accent: #F6C8B2; --kicker: #F6C8B2;
    --topbar: #3D0D0D; --footer: #3D0D0D; --footer-line: #7A3A2E; --btn-bg: #FDF4EF; --btn-fg: #3D0D0D; --paper-bg: #4E1A16;
    color-scheme: dark;
}
.post-template.tag-edicao-global .logo-claro { display: none; }
.post-template.tag-edicao-global .logo-escuro { display: block; }
.post-template.tag-edicao-global .botao-tema .icone-sol { display: block; }
.post-template.tag-edicao-global .botao-tema .icone-lua { display: none; }

.edicao-faixa { height: 8px; background: var(--tier); }
.edicao-topo { display: flex; flex-direction: column; gap: 18px; padding: 56px var(--g) 40px; max-width: 1040px; }
.edicao-topo h1 { margin: 0; font-size: 56px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; }
.selos { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.selo-contorno { background: transparent; border: 1px solid var(--line); color: var(--fg); padding: 3px 9px; }
.selo-exclusivo { background: var(--tier); color: #3D0D0D; }
.post-template.tag-edicao-latam .selo-exclusivo { color: #FDF4EF; }
.edicao-assinatura { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 15px; }
.assinatura-logo { width: 36px; height: 36px; }
.edicao-assinatura .forte { font-weight: 700; }
.edicao-assinatura .suave { opacity: 0.75; }

.edicao-grade { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 72px; padding: 0 var(--g) 80px; }
.edicao-artigo { min-width: 0; }
/* o cartão do email: só centralizado, entre 600 e 720px */
.cartao-email { width: 100%; max-width: 680px; margin: 0 auto; }
/* no modo escuro, Aberto/Brasil/LatAm ficam sobre um "papel" na cor do tier, porque o texto do cartão é escuro */
[data-tema="escuro"] .post-template.tag-edicao-aberto .cartao-email,
[data-tema="escuro"] .post-template.tag-edicao-brasil .cartao-email,
[data-tema="escuro"] .post-template.tag-edicao-latam .cartao-email {
    box-sizing: border-box; padding: 4px 28px 28px; border-radius: 28px; max-width: 736px;
}
[data-tema="escuro"] .post-template.tag-edicao-aberto .cartao-email { background: #F2F2F2; }
[data-tema="escuro"] .post-template.tag-edicao-brasil .cartao-email { background: #FDF4EF; }
[data-tema="escuro"] .post-template.tag-edicao-latam .cartao-email { background: #F6C8B2; }
/* âncoras do índice "Nesta edição" (só um id nas linhas, os estilos inline ficam intactos) */
.cartao-email [id^="secao-"] { scroll-margin-top: 110px; }
/* partes do cartão que só fazem sentido no email (faixa, pré-visualização, cabeçalho, "Recebeu de alguém?") */
.cartao-email .pulse-so-email { display: none; }
.cartao-email .gh-post-upgrade-cta { margin: 32px 0; border-radius: 20px; overflow: hidden; }

.edicao-lateral { display: flex; flex-direction: column; gap: 28px; align-self: start; position: sticky; top: 112px; }
.caixa { display: flex; flex-direction: column; padding: 24px; border-radius: 20px; }
.caixa-contorno { border: 1px solid var(--line); }
.caixa .rotulo { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: var(--kicker); padding-bottom: 12px; }
.caixa-contorno > a:not(.anterior), [data-nesta-edicao] a {
    padding: 10px 0; border-top: 1px solid var(--line); color: var(--fg); text-decoration: none; font-size: 15px;
}
[data-nesta-edicao] a:hover { color: var(--accent); }
.caixa-paper { gap: 14px; background: var(--paper-bg); }
.caixa-paper .rotulo { padding-bottom: 0; }
.paper-titulo { font-size: 14px; line-height: 1.5; }
.paper-botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.paper-botoes a { padding: 11px 18px; border-radius: 999px; background: var(--btn-bg); color: var(--btn-fg); font-size: 14px; font-weight: 700; text-decoration: none; }
.anterior { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-top: 1px solid var(--line); text-decoration: none; }
.anterior-meta { font-size: 12px; font-weight: 700; color: var(--kicker); }
.anterior-titulo { font-size: 15px; font-weight: 700; color: var(--fg); }
.anterior:hover .anterior-titulo { text-decoration: underline; }
.lateral-vazia { margin: 0; padding: 12px 0 0; border-top: 1px solid var(--line); font-size: 14px; opacity: .8; }

/* ---------------------------------------------------------------- entrar e assinar */
.layout-acesso { min-height: 100vh; display: flex; flex-direction: column; }
.cab-acesso { display: flex; justify-content: space-between; align-items: center; padding: 20px var(--g); border-bottom: 1px solid var(--line); }
.cab-acesso .logo { width: auto; height: 38px; }
.cab-voltar { font-size: 15px; font-weight: 600; color: var(--fg); text-decoration: none; }
.cab-voltar:hover { text-decoration: underline; }
.cab-acesso .cab-acoes { gap: 18px; }
.acesso-main { display: flex; flex-grow: 1; align-items: center; justify-content: center; padding: 40px; }
.cartao-acesso {
    box-sizing: border-box; width: 520px; max-width: 100%; padding: 44px; border-radius: 28px; background: var(--surface);
    border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.08);
}
.cartao-assinar { width: 640px; }
.estado-form { display: flex; flex-direction: column; gap: 24px; }
.cartao-assinar .estado-form { gap: 26px; }
.acesso-cab { display: flex; flex-direction: column; gap: 10px; }
.cartao-acesso h1 { margin: 0; font-size: 36px; line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; }
.estado-enviado h1, .estado-pago h1 { font-size: 32px; line-height: 1.15; }
.acesso-cab p, .estado-enviado p, .estado-pago p { margin: 0; font-size: 16px; line-height: 1.55; }
.estado-enviado p, .estado-pago p { line-height: 1.6; }
.campo { display: flex; flex-direction: column; gap: 8px; }
.campo label { font-size: 14px; font-weight: 700; }
.campo input {
    padding: 15px 18px; border-radius: 14px; border: 1px solid var(--line); background: var(--input-bg); color: var(--fg);
    font-size: 16px; font-family: var(--fonte); outline: none;
}
.campo input:focus { border-color: var(--fg); }
.campo.invalido input { border-color: var(--erro); }
.erro-form { margin: -12px 0 0 0; font-size: 14px; font-weight: 600; color: var(--erro); }
.erro-form[data-members-error]:empty { display: none; }
.botao-largo { width: 100%; padding: 16px 0; font-size: 16px; }
.acesso-rodape { margin: 0; font-size: 14px; text-align: center; }
.acesso-rodape a { font-weight: 700; }
.acesso-recebe { margin: 0; font-size: 14px; line-height: 1.5; opacity: 0.85; }
.planos-escolha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.plano-opcao {
    display: flex; flex-direction: column; gap: 6px; align-items: flex-start; padding: 16px 18px; border-radius: 16px; cursor: pointer;
    font-family: var(--fonte); text-align: left; background: var(--surface); color: var(--fg); border: 2px solid var(--line);
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.plano-opcao[aria-pressed="true"] { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); }
.po-linha { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 8px; }
.po-nome { font-size: 18px; font-weight: 800; }
.po-preco { font-size: 15px; font-weight: 700; }
.po-desc { font-size: 13px; line-height: 1.45; opacity: 0.85; }
.po-lista { margin: 4px 0 0; padding: 0 0 0 16px; font-size: 13px; line-height: 1.45; text-align: left; }
.po-lista li { margin: 0 0 4px 0; }
.plano-opcao { justify-content: flex-start; }
.icone-email { width: 56px; height: 56px; border-radius: 999px; background: #F6C8B2; display: flex; align-items: center; justify-content: center; color: #3D0D0D; }
.link-botao {
    align-self: flex-start; padding: 0; border: 0; background: transparent; font-size: 15px; font-weight: 700; font-family: var(--fonte);
    color: var(--accent); text-decoration: underline; cursor: pointer;
}
.selo-etapa { font-size: 12px; padding: 4px 12px; }

/* estados dos formulários (o Ghost põe loading / success / error na <form>) */
.rotulo-enviando, .msg-sucesso, .msg-erro, .estado-enviado, .estado-pago { display: none; }
form.loading .rotulo-padrao { display: none; }
form.loading .rotulo-enviando { display: inline; }
form.loading button[type="submit"] { opacity: .75; cursor: progress; }
.hero-form.success .msg-padrao, .hero-form.error .msg-padrao { display: none; }
.hero-form.success .msg-sucesso { display: inline; font-weight: 700; opacity: 1; }
.hero-form.error .msg-erro { display: inline; color: var(--erro); font-weight: 600; opacity: 1; }
.form-acesso.success .estado-form, .form-acesso.pago .estado-form { display: none; }
.form-acesso.success .estado-enviado { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.form-acesso.pago .estado-pago { display: flex; flex-direction: column; gap: 18px; }


/* ---------------------------------------------------------------- perfil por plano (páginas que não são edição)
   Classe no <body>: perfil-aberto (visitante, gratuito e padrão), perfil-brasil, perfil-latam, perfil-global.
   As páginas de edição não recebem classe de perfil e mantêm a cor do tier da edição. */
[data-tema="claro"] .perfil-brasil { --bg: #FDF4EF; --line: #F6C8B2; }
[data-tema="claro"] .perfil-latam { --bg: #F6C8B2; --surface: #FDF4EF; --line: #E8704A; --tabela-alt: #FDF4EF; }
/* o Global é sempre escuro e ignora o botão de modo */
body.perfil-global {
    --bg: #3D0D0D; --fg: #FDF4EF; --surface: #4E1A16; --line: #7A3A2E; --line-soft: #7A3A2E; --accent: #F6C8B2; --kicker: #F6C8B2;
    --topbar: #2A0707; --footer: #2A0707; --footer-line: #7A3A2E; --btn-bg: #FDF4EF; --btn-fg: #3D0D0D;
    --chip-free-bg: #F2F2F2; --chip-free-fg: #3D0D0D; --erro: #F6C8B2; --input-bg: #3D0D0D; --card-border: 0 solid transparent;
    --coluna-bg: #4E1A16; --tabela-alt: #45160F; --paper-bg: #4E1A16;
    color-scheme: dark;
}
body.perfil-global .logo-claro { display: none; }
body.perfil-global .logo-escuro { display: block; }
body.perfil-global .botao-tema { display: none; }
body.perfil-global .coluna-tier.tier-global { border: 1px solid #E8704A; }
body.perfil-global .plano-aberto, body.perfil-global .plano-brasil, body.perfil-global .plano-latam { background: #4E1A16; border-color: #7A3A2E; color: #FDF4EF; }
body.perfil-global .plano-global { border-color: #E8704A; }
body.perfil-global .tp-cab > div { background: #5A211C; }
body.perfil-global .tp-cab .c-global { background: #2A0707; }
body.perfil-global .tier-hero.tier-aberto, body.perfil-global .tier-hero.tier-brasil, body.perfil-global .tier-hero.tier-latam { background: #4E1A16; border: 1px solid #7A3A2E; }

/* o que aparece para cada perfil */
.perfil-brasil .so-visitante, .perfil-latam .so-visitante, .perfil-global .so-visitante { display: none !important; }
body:not(.perfil-brasil):not(.perfil-latam):not(.perfil-global) .so-assinante { display: none !important; }
body:not(.perfil-brasil) .so-brasil, body:not(.perfil-latam) .so-latam, body:not(.perfil-global) .so-global { display: none !important; }

/* cabeçalho do assinante */
.selo-assinante {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: #FDF4EF;
    border: 1px solid #E3512C; color: #3D0D0D; font-size: 13px; font-weight: 800; white-space: nowrap;
}
.selo-assinante-latam { border-color: #B02A1E; }
.selo-assinante-global { background: #E8704A; border-color: #E8704A; }

/* hero do assinante */
.hero-assinante h1 { font-size: 60px; line-height: 1.04; }
.hero-botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.botao-grande { padding: 15px 26px; font-size: 16px; }
.botao-contorno, .botao-contorno:hover { background: transparent; color: var(--fg); border: 1px solid var(--line); }

/* cartões de plano: estados por perfil */
body:not(.perfil-brasil):not(.perfil-latam):not(.perfil-global) .plano [data-estado]:not([data-estado~="padrao"]) { display: none; }
.perfil-brasil .plano-aberto [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-brasil .plano-brasil [data-estado]:not([data-estado~="atual"]) { display: none; }
.perfil-brasil .plano-brasil { box-shadow: 0 0 0 3px #E3512C; }
.perfil-brasil .plano-brasil:hover { box-shadow: 0 0 0 3px #E3512C, 0 16px 32px rgba(0, 0, 0, .14); }
.perfil-brasil .plano-latam [data-estado]:not([data-estado~="upgrade"]) { display: none; }
.perfil-brasil .plano-global [data-estado]:not([data-estado~="upgrade"]) { display: none; }
.perfil-latam .plano-aberto [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-latam .plano-brasil [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-latam .plano-latam [data-estado]:not([data-estado~="atual"]) { display: none; }
.perfil-latam .plano-latam { box-shadow: 0 0 0 3px #E3512C; }
.perfil-latam .plano-latam:hover { box-shadow: 0 0 0 3px #E3512C, 0 16px 32px rgba(0, 0, 0, .14); }
.perfil-latam .plano-global [data-estado]:not([data-estado~="upgrade"]) { display: none; }
.perfil-global .plano-aberto [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-global .plano-brasil [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-global .plano-latam [data-estado]:not([data-estado~="incluido"]) { display: none; }
.perfil-global .plano-global [data-estado]:not([data-estado~="atual"]) { display: none; }
.perfil-global .plano-global { box-shadow: 0 0 0 3px #E3512C; }
.perfil-global .plano-global:hover { box-shadow: 0 0 0 3px #E3512C, 0 16px 32px rgba(0, 0, 0, .14); }
.perfil-brasil .plano-brasil { border-color: #E3512C; }
.perfil-latam .plano-latam { border-color: #B02A1E; }
.botao-incluido, .botao-incluido:hover {
    background: transparent; color: inherit; border: 1px dashed currentColor; opacity: 0.7; font-family: var(--fonte); cursor: default;
}
.plano-global .botao-incluido { color: #FDF4EF; }


/* ---------------------------------------------------------------- páginas de boas-vindas (visual fixo por plano)
   Como as edições, não seguem o botão de modo nem o perfil de quem está logado. */
[data-tema] body.page-bem-vindo-aberto, [data-tema] body.page-bem-vindo-brasil, [data-tema] body.page-bem-vindo-latam {
    --bg: #F2F2F2; --fg: #3D0D0D; --surface: #FFFFFF; --line: #E1E1E1; --line-soft: #F2F2F2; --accent: #B02A1E; --kicker: #B02A1E;
    --topbar: #3D0D0D; --footer: #3D0D0D; --footer-line: #7A3A2E; --btn-bg: #3D0D0D; --btn-fg: #FDF4EF; --coluna-bg: #FFFFFF;
    color-scheme: light;
}
[data-tema] body.page-bem-vindo-brasil { --bg: #FDF4EF; --line: #F6C8B2; }
[data-tema] body.page-bem-vindo-latam { --bg: #F6C8B2; --surface: #FDF4EF; --line: #E8704A; }
[data-tema] body.page-bem-vindo-global {
    --bg: #3D0D0D; --fg: #FDF4EF; --surface: #4E1A16; --line: #7A3A2E; --line-soft: #7A3A2E; --accent: #F6C8B2; --kicker: #F6C8B2;
    --topbar: #2A0707; --footer: #2A0707; --footer-line: #7A3A2E; --btn-bg: #FDF4EF; --btn-fg: #3D0D0D; --coluna-bg: #4E1A16;
    color-scheme: dark;
}
[data-tema] body.page-bem-vindo-aberto .logo-claro, [data-tema] body.page-bem-vindo-brasil .logo-claro, [data-tema] body.page-bem-vindo-latam .logo-claro { display: block; }
[data-tema] body.page-bem-vindo-aberto .logo-escuro, [data-tema] body.page-bem-vindo-brasil .logo-escuro, [data-tema] body.page-bem-vindo-latam .logo-escuro { display: none; }
[data-tema] body.page-bem-vindo-global .logo-claro { display: none; }
[data-tema] body.page-bem-vindo-global .logo-escuro { display: block; }
body[class*="page-bem-vindo-"] .botao-tema { display: none; }

.bv .edicao-faixa { background: var(--tier); }
.bv-topo { display: flex; flex-direction: column; gap: 18px; padding: 56px var(--g) 40px; max-width: 900px; }
.bv-topo h1 { margin: 0; font-size: 60px; line-height: 1.04; font-weight: 800; letter-spacing: -0.035em; }
.bv-topo p { margin: 0; font-size: 20px; line-height: 1.55; max-width: 720px; }
.bv-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 0 var(--g) 56px; }
.bv-caixa { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); }
.bv-caixa .rotulo { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: var(--kicker); }
.bv-agenda { display: flex; flex-direction: column; }
.bv-linha { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 15px; }
.bv-linha:first-child { border-top: 0; padding-top: 0; }
.bv-edicao { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; }
.bv-ponto { width: 10px; height: 10px; border-radius: 999px; background: var(--tier); flex-shrink: 0; }
.bv-nota { margin: 0; font-size: 14px; line-height: 1.5; opacity: 0.85; }
.bv-ultima { display: flex; flex-direction: column; gap: 8px; color: var(--fg); text-decoration: none; }
.bv-ultima-data { font-size: 13px; font-weight: 700; opacity: 0.75; }
.bv-ultima-titulo { font-size: 20px; line-height: 1.3; font-weight: 800; }
.bv-ultima:hover .bv-ultima-titulo { text-decoration: underline; text-underline-offset: 3px; }
.bv-vazia { margin: 0; font-size: 15px; line-height: 1.55; }
.bv-lista { margin: 0; padding: 0 0 0 18px; font-size: 15px; line-height: 1.5; }
.bv-lista li { margin: 0 0 8px 0; }
.bv-convite { display: flex; flex-direction: column; gap: 20px; margin: 0 var(--g) 88px; padding: 36px 40px; border-radius: 24px; background: #3D0D0D; color: #FDF4EF; }
.bv-convite .kicker { color: #F6C8B2; }
.bv-convite h2 { margin: 0; font-size: 32px; font-weight: 800; letter-spacing: -0.02em; }
.bv-convite p { margin: 0; font-size: 17px; line-height: 1.55; max-width: 680px; }
.bv-convite-texto { display: flex; flex-direction: column; gap: 10px; }
.bv-convite .link-seta { color: #F6C8B2; }
.bv-mini-planos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bv-mini { display: flex; flex-direction: column; gap: 6px; padding: 0 20px 18px; border-radius: 16px; overflow: hidden; text-decoration: none; font-size: 15px; font-weight: 600; }
.bv-mini .stripe { margin: 0 -20px 12px; }
.bv-mini-nome { font-size: 22px; font-weight: 800; }
.bv-mini.tier-brasil { background: #FDF4EF; color: #3D0D0D; }
.bv-mini.tier-latam { background: #F6C8B2; color: #3D0D0D; }
.bv-mini.tier-global { background: #4E1A16; color: #FDF4EF; border: 1px solid #7A3A2E; }
.bv-mini:hover { color: inherit; }


/* ---------------------------------------------------------------- topo da home, exemplo de edição e blocos de conversão */
.so-leitor { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.form-aberto { margin-top: 4px; }
.mockup-edicao {
    margin: 0; width: 420px; max-width: 100%; flex-shrink: 0; border-radius: 22px; overflow: hidden; background: #FFFFFF; color: #3D0D0D;
    box-shadow: 0 30px 60px rgba(61, 13, 13, 0.18); border: 1px solid #E1E1E1; transform: rotate(1.2deg);
}
.mk-faixa { height: 8px; background: #E3512C; }
.mk-corpo { display: flex; flex-direction: column; gap: 14px; padding: 28px 28px 30px; }
.mk-etiqueta { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; color: #3D0D0D; }
.mk-titulo { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 800; letter-spacing: -0.01em; color: #3D0D0D; }
.mk-pqi { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-radius: 16px; border: 2px solid #E3512C; }
.mk-pqi-rotulo { font-size: 12px; font-weight: 800; letter-spacing: 0.08em; }
.mk-pqi p { margin: 0; font-size: 15px; line-height: 1.55; }

.como-funciona { display: flex; flex-direction: column; gap: 24px; padding: 8px var(--g) 56px; }
.como-funciona h2 { margin: 0; font-size: 36px; font-weight: 800; letter-spacing: -0.02em; }
.cf-passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.cf-passo { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); }
.cf-num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px; background: var(--btn-bg); color: var(--btn-fg); font-size: 18px; font-weight: 800; }
.cf-passo h3 { margin: 6px 0 0; font-size: 22px; font-weight: 800; }
.cf-passo p { margin: 0; font-size: 16px; line-height: 1.55; }

.sobre-autor { display: flex; gap: 40px; align-items: flex-start; margin: 0 var(--g) 72px; padding: 36px 40px; border-radius: 24px; background: var(--surface); border: 1px solid var(--line); }
.sobre-autor .kicker { flex-shrink: 0; padding-top: 4px; }
.sa-corpo { display: flex; flex-direction: column; gap: 10px; max-width: 760px; }
.sa-corpo p { margin: 0; font-size: 18px; line-height: 1.6; }
.sa-corpo .sa-nome { font-size: 22px; font-weight: 800; }

.captura-final { display: flex; flex-direction: column; gap: 18px; margin: 0 var(--g) 88px; padding: 44px 48px; border-radius: 28px; background: #3D0D0D; color: #FDF4EF; }
.captura-final h2 { margin: 0; font-size: 36px; line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; max-width: 760px; }
.captura-final .campo-pilula { background: #FFFFFF; border-color: #FFFFFF; }
.captura-final .campo-pilula input { color: #3D0D0D; }
.captura-final .botao-cheio { background: #E3512C; color: #3D0D0D; }
.captura-final .hero-nota { color: #FDF4EF; }

.linha-seguranca { margin: 8px 0 0; font-size: 12px; line-height: 1.45; text-align: center; opacity: 0.8; }
.linha-vazia { visibility: hidden; }
.plano-nota, .po-nota { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.45; opacity: 0.85; }
.po-nota { display: block; margin-top: 6px; text-align: left; }
.alternador-assinar { align-self: flex-start; margin-top: 0; }
.concordo { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; cursor: pointer; }
.concordo input { width: 18px; height: 18px; margin: 2px 0 0; flex-shrink: 0; accent-color: #3D0D0D; }
.concordo a { font-weight: 700; }
.cartao-assinar .linha-seguranca { margin-top: -12px; }

.faixa-bonus { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 16px; padding: 10px var(--g); background: #E3512C; color: #3D0D0D; font-size: 14px; font-weight: 700; text-align: center; }
.bonus-contagem { padding: 2px 10px; border-radius: 999px; background: #3D0D0D; color: #FDF4EF; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.bonus-link { color: #3D0D0D; }

/* ---------------------------------------------------------------- responsivo */
@media (max-width: 1180px) {
    :root { --g: 40px; }
    .grade-tiers, .planos-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bv-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .hero { gap: 40px; }
    .hero h1 { font-size: 52px; }
    .edicao-grade { grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .edicao-lateral { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
}
@media (max-width: 900px) {
    :root { --g: 24px; }
    .cabecalho { flex-wrap: wrap; row-gap: 12px; }
    .cab-nav { order: 3; width: 100%; gap: 24px; overflow-x: auto; padding-bottom: 2px; }
    .cabecalho.compacto .cab-nav { display: none; }
    .hero { flex-direction: column; align-items: stretch; padding-top: 48px; }
    .mockup-edicao { width: 100%; transform: none; align-self: center; }
    .cf-passos { grid-template-columns: minmax(0, 1fr); }
    .sobre-autor { flex-direction: column; gap: 12px; padding: 28px; }
    .captura-final { padding: 32px 24px; }
    .captura-final h2, .como-funciona h2 { font-size: 30px; }
    .celular { width: 280px; height: 527px; border-radius: 40px; padding: 10px; align-self: center; }
    .celular-tela { border-radius: 31px; }
    .nota-editor { flex-direction: column; gap: 12px; padding: 28px; }
    .nota-corpo p { font-size: 19px; }
    .secao-cab { flex-direction: column; align-items: flex-start; gap: 12px; }
    .ultimas { padding-top: 56px; }
    .planos-home { padding: 64px var(--g); }
    .rodape-topo { flex-direction: column; }
    .rodape-colunas { flex-wrap: wrap; gap: 32px 48px; }
    .pagina-topo h1, .planos-topo h1, .tier-hero h1, .edicao-topo h1 { font-size: 42px; }
    /* a tabela rola na horizontal dentro do próprio bloco, com a primeira coluna fixa */
    .tabela-planos { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
    .tp-linha { grid-template-columns: 172px repeat(4, 132px); width: max-content; min-width: 100%; }
    .tp-linha > div:first-child { position: sticky; left: 0; z-index: 1; background: inherit; box-shadow: 1px 0 0 var(--line); }
    .tp-cab > div:first-child { z-index: 2; }
    .comparar-dica { display: block; }
    .tier-hero-corpo { padding: 32px 28px; }
}
@media (max-width: 640px) {
    :root { --g: 16px; }
    .barra-topo { font-size: 12px; }
    .radar { font-size: 13px; }
    .cab-logo .logo, .cab-acesso .logo, .cabecalho.compacto .cab-logo .logo { height: 30px; }
    .rodape-logo { width: 170px; }
    .cab-acoes { gap: 10px; }
    .cab-acoes .botao { padding: 10px 16px; font-size: 14px; }
    .hero h1, .hero-assinante h1 { font-size: 40px; }
    .bv-topo h1 { font-size: 40px; }
    .bv-grade, .bv-mini-planos { grid-template-columns: minmax(0, 1fr); }
    .bv-convite { padding: 28px 22px; }
    .selo-assinante { display: none; }
    .hero-sub { font-size: 18px; }
    .campo-pilula { flex-direction: column; border-radius: 24px; }
    .mk-corpo { padding: 22px; }
    .mk-titulo { font-size: 21px; }
    .campo-pilula .botao { width: 100%; }
    .grade-tiers, .planos-grade { grid-template-columns: minmax(0, 1fr); }
    .secao-cab h2 { font-size: 30px; }
    .pagina-topo h1, .planos-topo h1, .tier-hero h1, .edicao-topo h1 { font-size: 34px; }
    .pagina-topo, .planos-topo { padding-top: 48px; }
    .lista-edicoes .item-edicao { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 18px 0; }
    .lista-edicoes .item-titulo { font-size: 18px; }
    .edicao-topo { padding-top: 36px; }
    .edicao-grade { padding-bottom: 56px; }
    [data-tema="escuro"] .post-template.tag-edicao-aberto .cartao-email,
    [data-tema="escuro"] .post-template.tag-edicao-brasil .cartao-email,
    [data-tema="escuro"] .post-template.tag-edicao-latam .cartao-email { padding: 4px 14px 18px; border-radius: 20px; }
    .acesso-main { padding: 24px 16px; }
    .cartao-acesso { padding: 28px 22px; border-radius: 24px; }
    .cartao-acesso h1 { font-size: 30px; }
    .planos-escolha { grid-template-columns: minmax(0, 1fr); }
    .cab-voltar { font-size: 14px; }
    .rodape-base { flex-direction: column; }
}

/* ---------------------------------------------------------------- sem animações para quem pediu */
@media (prefers-reduced-motion: reduce) {
    .radar-trilho { animation: none; }
    .lift, .lift .stripe, .btn-hover, .cabecalho, .cab-logo .logo, .lista-edicoes .item-edicao,
    .alternador button, .plano-opcao { transition: none; }
    .lift:hover, .btn-hover:hover { transform: none; }
    .lista-edicoes .item-edicao:hover { padding-left: 0; }
    .js .reveal { opacity: 1; transform: none; transition: none; }
    html { scroll-behavior: auto; }
}
