/* MK Med — prancha de design (2026-11-03)
   Cores: o dourado do Saify (saify.digital, design-system.md). Estrutura: agenciawebdoctor.com.br.
   Direção B da skill design-agencia (escura com acento), com seção clara para tabela e texto longo. */

:root {
  /* o dourado */
  --ouro-300: #E0B33A;
  --ouro-400: #D4A017;
  --ouro-500: #C99A1E;   /* a cor: botão, palavra do título, rótulo, marcador */
  --ouro-700: #8A6508;   /* dourado sobre fundo claro (5,3 de contraste no branco) */

  /* escuro */
  --fundo: #111111;
  --caixa: #1A1A1A;
  --borda: #2E2E2E;
  --titulo: #FFFFFF;
  --texto: #E5E5E5;
  --paragrafo: #A8A8A8;
  --sobre-o-ouro: #111111;

  /* claro (tabela e texto longo) */
  --claro: #F7F6F1;
  --claro-caixa: #FFFFFF;
  --claro-borda: #E6E4DD;
  --claro-texto: #111111;
  --claro-paragrafo: #4A4A4A;

  --fonte: 'Plus Jakarta Sans', system-ui, sans-serif;
  --raio: 12px;          /* caixa */
  --pilula: 999px;       /* botão, rótulo, chip */
  --largura: 1200px;
  --leitura: 720px;
  --margem: 32px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background: var(--fundo); color: var(--texto); font: 400 18px/1.65 var(--fonte); -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
.sr-only { position: absolute; left: -9999px; }
.sr-only:focus { left: 16px; top: 16px; z-index: 99; background: var(--ouro-500); color: var(--sobre-o-ouro); padding: 8px 16px; border-radius: var(--pilula); }
.container { width: min(var(--largura), 100% - 2 * var(--margem)); margin-inline: auto; }

/* ── títulos: uma técnica de ênfase em todo o site — a palavra-chave em dourado ── */
h1, h2, h3 { color: var(--titulo); font-weight: 800; letter-spacing: -0.025em; }
h1 { font-size: 60px; line-height: 1.06; }
h2 { font-size: 44px; line-height: 1.1; }
h3 { font-size: 21px; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; }
.enfase { color: var(--ouro-500); }
.abertura { font-size: 20px; line-height: 1.6; color: var(--paragrafo); max-width: 600px; }

/* ── rótulo: pílula com ponto, sempre igual, acima de todo h2 (Web Doctor) ── */
.rotulo { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border: 1px solid rgba(201,154,30,.35); background: rgba(201,154,30,.08); border-radius: var(--pilula); color: var(--ouro-300); font-size: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rotulo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ouro-500); box-shadow: 0 0 10px var(--ouro-500); }

/* ── botões ── */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: var(--pilula); font: 700 16px/1 var(--fonte); text-decoration: none; transition: transform .15s, background .15s; }
.botao-ouro { background: linear-gradient(180deg, var(--ouro-400), var(--ouro-500)); color: var(--sobre-o-ouro); }
.botao-ouro:hover { transform: translateY(-1px); background: var(--ouro-300); }
.botao-contorno { border: 1px solid #555; color: var(--titulo); }
.botao-contorno:hover { border-color: var(--ouro-500); }
.botoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* ── header ── */
.topo { position: sticky; top: 0; z-index: 20; background: rgba(17,17,17,.88); backdrop-filter: blur(10px); border-bottom: 1px solid #262626; }
.topo .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.marca { display: flex; align-items: baseline; gap: 2px; text-decoration: none; font-weight: 800; font-size: 24px; letter-spacing: -0.03em; color: var(--titulo); }
.marca span { color: var(--ouro-500); }
.menu ul { display: flex; gap: 28px; list-style: none; }
.menu a { text-decoration: none; color: #CFCFCF; font-size: 16px; font-weight: 500; }
.menu a:hover, .menu a[aria-current="page"] { color: var(--ouro-300); }
.topo-acoes { display: flex; align-items: center; gap: 16px; }
.topo-acoes .zap { font-size: 16px; color: #CFCFCF; text-decoration: none; white-space: nowrap; }
.topo .botao { min-height: 44px; padding: 0 20px; font-size: 16px; }
.menu-celular { display: none; }

/* ── fundo escuro com grade fina e halo dourado (Web Doctor + Direção B) ── */
.secao { position: relative; padding: 120px 0; overflow: hidden; }
.grade { background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 64px 64px; }
.halo::before { content: ""; position: absolute; width: 760px; height: 760px; right: -260px; top: 50%; transform: translateY(-50%); background: radial-gradient(closest-side, rgba(201,154,30,.16), rgba(201,154,30,.05) 55%, transparent); pointer-events: none; }
.palavra-fundo { position: absolute; left: 50%; top: 56px; transform: translateX(-50%); font-size: 200px; font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: rgba(201,154,30,.07); -webkit-text-stroke: 0; white-space: nowrap; pointer-events: none; user-select: none; }
.cabeca { position: relative; text-align: center; max-width: 760px; margin: 0 auto 56px; display: grid; justify-items: center; gap: 18px; }
.cabeca p { color: var(--paragrafo); font-size: 18px; }

/* seção clara: tabela, comparação e texto longo (design-agencia: não deixar no escuro) */
.clara { background: var(--claro); color: var(--claro-texto); }
.clara h2, .clara h3 { color: var(--claro-texto); }
.clara .enfase { color: var(--ouro-700); }
.clara .cabeca p, .clara p { color: var(--claro-paragrafo); }
.clara .rotulo { color: var(--ouro-700); border-color: rgba(138,101,8,.3); background: rgba(201,154,30,.1); }
.clara.grade { background-image: linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px); background-size: 64px 64px; }

/* ── hero ── */
.hero { padding: 96px 0 112px; }
.hero .container { display: grid; grid-template-columns: 1.1fr .9fr; gap: 64px; align-items: center; position: relative; }
.hero-texto { display: grid; gap: 26px; justify-items: start; }
.prova { display: flex; gap: 32px; padding-top: 8px; }
.prova div { border-left: 1px solid var(--borda); padding-left: 16px; }
.prova strong { display: block; color: var(--titulo); font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.prova span { font-size: 16px; color: var(--paragrafo); }

/* painel de dados reais no lugar de foto de banco */
.painel { background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 28px; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.painel-titulo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.painel-titulo p { color: var(--titulo); font-weight: 700; }
.painel-titulo small { color: var(--paragrafo); font-size: 16px; }
.busca { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; padding: 14px 0; border-top: 1px solid var(--borda); }
.busca p { color: var(--texto); }
.busca strong { color: var(--ouro-300); font-variant-numeric: tabular-nums; text-align: right; }
.barra { grid-column: 1 / -1; height: 6px; border-radius: var(--pilula); background: #262626; overflow: hidden; }
.barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--ouro-700), var(--ouro-500)); border-radius: var(--pilula); }
.painel .fonte { margin-top: 16px; font-size: 16px; color: var(--paragrafo); }

/* ── layout com barra lateral de especialidades (mkart, Eletromooca) ── */
.com-lateral { display: grid; grid-template-columns: 280px 1fr; gap: 48px; align-items: start; }
.lateral { position: sticky; top: 100px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 22px 14px; }
.lateral .lateral-titulo { font-size: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--ouro-300); font-weight: 700; padding: 0 12px 12px; }
.lateral ul { list-style: none; display: grid; gap: 2px; }
.lateral a { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--texto); font-size: 16px; }
.lateral a::after { content: "→"; color: #555; transition: color .15s, transform .15s; }
.lateral a:hover { background: #222; }
.lateral a:hover::after { color: var(--ouro-500); transform: translateX(2px); }
.lateral a[aria-current="page"] { background: rgba(201,154,30,.12); color: var(--ouro-300); font-weight: 700; }
.lateral a[aria-current="page"]::after { color: var(--ouro-500); }
.lateral .todas { margin-top: 12px; padding: 12px 12px 0; border-top: 1px solid var(--borda); font-size: 16px; color: var(--paragrafo); }

/* ── tabela de demanda ── */
.tabela { width: 100%; border-collapse: collapse; background: var(--claro-caixa); border: 1px solid var(--claro-borda); border-radius: var(--raio); overflow: hidden; font-variant-numeric: tabular-nums; }
.tabela th { text-align: left; font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--claro-paragrafo); background: #FBFAF6; padding: 14px 20px; border-bottom: 1px solid var(--claro-borda); }
.tabela td { padding: 15px 20px; border-bottom: 1px solid var(--claro-borda); color: var(--claro-texto); }
.tabela tr:last-child td { border-bottom: 0; }
.tabela td.num, .tabela th.num { text-align: right; }
.tabela td strong { font-weight: 700; }
.legenda { margin-top: 12px; font-size: 16px; color: var(--claro-paragrafo); }

/* ── serviços: lista numerada, sem ícone em quadradinho (proibidos.md) ── */
.servicos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; position: relative; z-index: 1; }
/* peças de xadrez nos cantos de baixo da seção de serviços (arte do Marco no Canva); só onde sobra canto */
.pecas-xadrez img { position: absolute; bottom: 0; height: auto; pointer-events: none; z-index: 0; filter: drop-shadow(0 24px 40px rgba(0,0,0,.55)); -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent); mask-image: linear-gradient(to bottom, #000 72%, transparent); }
.peca-rei { --l: clamp(150px, calc((100vw - var(--largura)) / 2 + 40px), 290px); width: var(--l); left: calc((100vw - var(--largura)) / 2 - var(--l) + 24px); transform: translateY(16%); }
.peca-peao { --l: clamp(130px, calc((100vw - var(--largura)) / 2 + 10px), 250px); width: var(--l); right: calc((100vw - var(--largura)) / 2 - var(--l) + 24px); transform: translateY(10%); }
@media (max-width: 1320px) { .pecas-xadrez { display: none; } }
.servico { display: grid; gap: 14px; padding: 32px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); text-decoration: none; transition: border-color .15s; }
.servico:hover { border-color: var(--ouro-500); }
.servico .num { color: var(--ouro-500); font-weight: 800; font-size: 16px; letter-spacing: .08em; }
.servico p { color: var(--paragrafo); }
.servico .ir { color: var(--ouro-300); font-weight: 700; font-size: 16px; }

/* ── comparação (Web Doctor: coluna da marca escura) ── */
.comparacao { display: grid; grid-template-columns: 1.1fr 1fr 1fr; border: 1px solid var(--claro-borda); border-radius: var(--raio); overflow: hidden; background: var(--claro-caixa); max-width: 1000px; margin: 0 auto; }
.comparacao > div { padding: 20px 24px; border-bottom: 1px solid var(--claro-borda); }
.comparacao .cab { font-size: 16px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--claro-paragrafo); background: #FBFAF6; }
.comparacao .nos { background: #151515; color: var(--texto); border-bottom-color: #2A2A2A; }
.comparacao .cab.nos { color: var(--ouro-300); background: #111; }
.comparacao .criterio { font-weight: 700; }
.comparacao .eles { color: var(--claro-paragrafo); }
.comparacao b { display: block; color: inherit; }
.comparacao .nos b { color: var(--titulo); }
.comparacao .nos b::before { content: "✓ "; color: var(--ouro-500); }
.comparacao .eles b::before { content: "✕ "; color: #C2503F; }
.comparacao small { font-size: 16px; color: inherit; opacity: .8; }

/* ── caso ── */
.caso { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.caso-numero { background: linear-gradient(160deg, var(--ouro-500), var(--ouro-700)); color: var(--sobre-o-ouro); border-radius: var(--raio); padding: 36px; display: grid; align-content: space-between; gap: 24px; }
.caso-numero p.grande { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
.caso-numero p { color: var(--sobre-o-ouro); font-weight: 600; }
.caso-texto { background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 36px; display: grid; gap: 14px; align-content: start; }
.caso-texto .tag { color: var(--ouro-300); font-weight: 700; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; }
.caso-texto p { color: var(--paragrafo); }

/* ── processo ── */
.passos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; list-style: none; counter-reset: passo; position: relative; }
.passos li { counter-increment: passo; padding: 28px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); display: grid; gap: 10px; align-content: start; }
.passos li::before { content: "0" counter(passo); color: var(--ouro-500); font-weight: 800; font-size: 32px; letter-spacing: -0.03em; }
.passos p { color: var(--paragrafo); }

/* ── sobre ── */
.sobre { display: grid; grid-template-columns: 380px 1fr; gap: 56px; align-items: center; }
.foto-falta { aspect-ratio: 4/5; border-radius: var(--raio); border: 1px dashed #444; display: grid; place-items: center; text-align: center; color: var(--paragrafo); background: repeating-linear-gradient(45deg, #161616 0 12px, #1A1A1A 12px 24px); padding: 24px; }
.sobre-texto { display: grid; gap: 20px; justify-items: start; }
.sobre-texto p { color: var(--paragrafo); }

/* ── FAQ ── */
.perguntas { max-width: 820px; margin: 0 auto; }
.perguntas details { border-bottom: 1px solid var(--borda); padding: 22px 0; }
.perguntas summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; color: var(--titulo); font-size: 20px; font-weight: 700; }
.perguntas summary::after { content: "+"; color: var(--ouro-500); font-size: 26px; line-height: 1; }
.perguntas details[open] summary::after { content: "–"; }
.perguntas details p { margin-top: 12px; color: var(--paragrafo); }

/* ── CTA com formulário (Web Doctor #cta) ── */
.cta .container { display: grid; grid-template-columns: 1fr 440px; gap: 64px; align-items: center; position: relative; }
.cta-texto { display: grid; gap: 22px; justify-items: start; }
.cta-texto h2 { font-size: 56px; }
.formulario { background: rgba(26,26,26,.9); border: 1px solid var(--borda); border-radius: var(--raio); padding: 32px; display: grid; gap: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.formulario .form-titulo { color: var(--titulo); font-size: 22px; font-weight: 800; }
.formulario .form-sub { color: var(--paragrafo); font-size: 16px; margin-top: -8px; }
.formulario label { display: grid; gap: 6px; font-size: 16px; font-weight: 600; color: var(--texto); }
.formulario input, .formulario select { height: 50px; border-radius: var(--raio); border: 1px solid var(--borda); background: #111; color: var(--titulo); padding: 0 16px; font: 400 16px var(--fonte); }
.formulario input:focus, .formulario select:focus { outline: 2px solid var(--ouro-500); outline-offset: 1px; }
.formulario .botao { width: 100%; }
.formulario .lgpd { font-size: 16px; color: var(--paragrafo); }

/* ── blog ── */
.artigos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.artigo { display: grid; gap: 12px; padding: 28px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); text-decoration: none; align-content: start; }
.artigo:hover { border-color: var(--ouro-500); }
.artigo .tag { color: var(--ouro-300); font-size: 16px; font-weight: 600; }
.artigo p { color: var(--paragrafo); }

/* ── texto SEO embaixo (método: H1 próprio no fim da página) ── */
.texto-seo { padding: 96px 0; }
.texto-seo .leitura { max-width: var(--leitura); margin: 0 auto; display: grid; gap: 20px; }
.texto-seo h1 { font-size: 44px; color: var(--claro-texto); }
.texto-seo h2 { font-size: 30px; margin-top: 16px; color: var(--claro-texto); }
.texto-seo p, .texto-seo li { font-size: 18px; color: #2A2A2A; }
.texto-seo ul { padding-left: 22px; display: grid; gap: 6px; }
.texto-seo a { color: var(--ouro-700); font-weight: 600; }
.aviso-prancha { border: 1px dashed var(--ouro-700); border-radius: var(--raio); padding: 14px 18px; font-size: 16px; color: var(--ouro-700) !important; background: rgba(201,154,30,.08); }

/* ── trilha ── */
.trilha { font-size: 16px; color: var(--paragrafo); margin-bottom: 20px; }
.trilha a { color: var(--paragrafo); text-decoration: none; }
.trilha a:hover { color: var(--ouro-300); }

/* ── rodapé ── */
.rodape { border-top: 1px solid #262626; padding: 72px 0 40px; color: var(--paragrafo); font-size: 16px; }
.rodape .colunas { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.rodape h2 { font-size: 16px; color: var(--titulo); letter-spacing: 0; margin-bottom: 14px; }
.rodape ul { list-style: none; display: grid; gap: 10px; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--ouro-300); }
.rodape address { font-style: normal; display: grid; gap: 6px; margin-top: 14px; }
.rodape .base { margin-top: 48px; padding-top: 24px; border-top: 1px solid #262626; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* WhatsApp flutuante: some quando o menu do celular abre */
.zap-flutuante { position: fixed; right: 20px; bottom: 20px; z-index: 15; width: 56px; height: 56px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.4); }
body.menu-aberto .zap-flutuante { display: none; }

/* ── celular ── */
@media (max-width: 1024px) {
  .menu, .topo-acoes .zap { display: none; }
  .menu-celular { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; border: 1px solid #444; background: none; color: var(--titulo); font-size: 20px; }
  .hero .container, .cta .container, .sobre, .com-lateral { grid-template-columns: 1fr; }
  .passos { grid-template-columns: repeat(2, 1fr); }
  .artigos { grid-template-columns: 1fr 1fr; }
  .lateral { position: static; }
  .rodape .colunas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  :root { --margem: 16px; }
  body { font-size: 17px; }
  h1 { font-size: 38px; }
  h2, .cta-texto h2 { font-size: 30px; }
  .texto-seo h1 { font-size: 32px; }
  .abertura { font-size: 18px; }
  .secao { padding: 72px 0; }
  .hero { padding: 48px 0 72px; }
  .palavra-fundo { font-size: 84px; top: 40px; }
  .topo .botao { display: none; }
  .botoes .botao { width: 100%; }
  .prova { gap: 16px; }
  .prova strong { font-size: 22px; }
  .servicos, .caso, .passos, .artigos { grid-template-columns: 1fr; }
  .comparacao { grid-template-columns: 1fr; }
  .comparacao .cab:not(.nos) { display: none; }
  .comparacao .criterio { background: #FBFAF6; padding-bottom: 8px; }
  .lateral ul { grid-template-columns: 1fr 1fr; }
  .lateral a { font-size: 16px; padding: 10px; }
  .tabela th, .tabela td { padding: 12px; }
  .caso-numero p.grande { font-size: 44px; }
  .rodape .colunas { grid-template-columns: 1fr; }
}

/* barra lateral dentro de seção clara */
.clara .lateral { background: var(--claro-caixa); border-color: var(--claro-borda); }
.clara .lateral .lateral-titulo { color: var(--ouro-700); }
.clara .lateral a { color: var(--claro-texto); }
.clara .lateral a:hover { background: #F1EFE8; }
.clara .lateral a::after { color: #B9B5A8; }
.clara .lateral a:hover::after { color: var(--ouro-700); }
.caso-numero p.antes { font-size: 17px; font-weight: 700; margin-top: -12px; opacity: .8; }
.lateral .todas a { display: inline; padding: 0; color: var(--ouro-300); font-size: 16px; text-decoration: underline; }
.lateral .todas a::after { content: none; }
.lateral .todas a:hover { background: none; }
.com-lateral > * { min-width: 0; }
@media (max-width: 640px) {
  .tabela .some-no-celular { display: none; }
}
@media (max-width: 1024px) {
  .com-lateral .lateral { order: 2; }   /* no celular, o h1 vem antes da lista */
}
@media (max-width: 640px) {
  .prova { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .prova div { display: flex; align-items: baseline; gap: 10px; }
  .rotulo { text-align: center; }
}

/* ── método em 4 fases (11 etapas) ── */
.fases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; position: relative; }
.fase { padding: 28px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); display: grid; gap: 14px; align-content: start; }
.fase-num { color: var(--ouro-300); font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.fase ol { list-style: none; display: grid; gap: 14px; }
.fase ol li { position: relative; padding-left: 44px; color: var(--paragrafo); font-size: 16px; line-height: 1.55; }
.fase ol li b { color: var(--titulo); font-weight: 700; }
.fase ol li::before { position: absolute; left: 0; top: 1px; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(201,154,30,.14); color: var(--ouro-300); font-size: 16px; font-weight: 800; }
.fase ol[start="1"] li:nth-child(1)::before { content: "1"; } .fase ol[start="1"] li:nth-child(2)::before { content: "2"; } .fase ol[start="1"] li:nth-child(3)::before { content: "3"; }
.fase ol[start="4"] li:nth-child(1)::before { content: "4"; } .fase ol[start="4"] li:nth-child(2)::before { content: "5"; }
.fase ol[start="6"] li:nth-child(1)::before { content: "6"; } .fase ol[start="6"] li:nth-child(2)::before { content: "7"; }
.fase ol[start="8"] li:nth-child(1)::before { content: "8"; } .fase ol[start="8"] li:nth-child(2)::before { content: "9"; } .fase ol[start="8"] li:nth-child(3)::before { content: "10"; } .fase ol[start="8"] li:nth-child(4)::before { content: "11"; }
.fase:first-child { border-color: rgba(201,154,30,.5); }

/* ── caso com vídeo ── */
.caso-video { grid-template-columns: 1.4fr 1fr; align-items: stretch; }
.video { margin: 0; display: grid; gap: 12px; }
.video-quadro { aspect-ratio: 16 / 9; border-radius: var(--raio); border: 1px solid var(--borda); background: radial-gradient(circle at 30% 30%, #2A2410, #141414 70%); display: grid; place-items: center; align-content: center; gap: 16px; text-align: center; color: var(--texto); font-weight: 700; }
.video-quadro small { color: var(--paragrafo); font-weight: 400; font-size: 16px; }
.play { width: 76px; height: 76px; border-radius: 50%; background: var(--ouro-500); position: relative; box-shadow: 0 0 0 10px rgba(201,154,30,.18); }
.play::after { content: ""; position: absolute; left: 31px; top: 24px; border-left: 22px solid var(--sobre-o-ouro); border-top: 14px solid transparent; border-bottom: 14px solid transparent; }
.video figcaption { color: var(--paragrafo); font-size: 16px; }
.tag-escura { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--sobre-o-ouro); opacity: .75; }
.aviso-caso { font-size: 16px; opacity: .8; }
.botao-escuro { background: var(--sobre-o-ouro); color: var(--ouro-300); justify-self: start; }
.botao-escuro:hover { background: #000; }
@media (max-width: 1024px) { .fases { grid-template-columns: 1fr 1fr; } .caso-video { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .fases { grid-template-columns: 1fr; } }
.caso-video > *, .fases > * { min-width: 0; }
.caso-video .caso-numero p.antes { margin-top: 8px; }

/* ── a cena (copy §2, bloco 2) ── */
.cena { padding: 104px 0; background: #0D0D0D; border-top: 1px solid #1F1F1F; border-bottom: 1px solid #1F1F1F; }
.leitura-cena { max-width: 860px; display: grid; gap: 24px; justify-items: start; }
.cena-texto { font-size: 28px; line-height: 1.45; font-weight: 600; color: var(--titulo); letter-spacing: -0.01em; }
.fecho { font-size: 20px; font-weight: 700; color: var(--ouro-300); border-left: 3px solid var(--ouro-500); padding-left: 16px; margin-top: 8px; }
.fecho-claro { color: var(--ouro-700); max-width: 760px; margin: 40px auto 0; }
.secao .container > .fecho { max-width: 760px; margin: 40px auto 0; }

/* ── curioso × paciente ── */
.curioso { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 900px; margin: 0 auto; }
.curioso-col { background: var(--claro-caixa); border: 1px solid var(--claro-borda); border-radius: var(--raio); padding: 28px; }
.curioso-col.paciente { background: #151515; border-color: #2A2A2A; }
.curioso-cab { font-size: 16px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--claro-paragrafo) !important; margin-bottom: 14px; }
.curioso-col.paciente .curioso-cab { color: var(--ouro-300) !important; }
.curioso ul { list-style: none; display: grid; gap: 12px; }
.curioso li { font-size: 18px; font-weight: 600; color: var(--claro-paragrafo); }
.curioso li::before { content: "✕  "; color: #C2503F; }
.curioso-col.paciente li { color: var(--titulo); }
.curioso-col.paciente li::before { content: "✓  "; color: var(--ouro-500); }
.borda-topo { border-top: 1px solid var(--claro-borda); }

/* ── casos ── */
.fatos { list-style: none; display: grid; gap: 8px; }
.fatos li { color: var(--sobre-o-ouro); font-size: 16px; font-weight: 600; padding-left: 22px; position: relative; }
.fatos li::before { content: "✓"; position: absolute; left: 0; }
.outros-casos { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.aviso-bloco { margin-top: 24px; text-align: center; color: var(--paragrafo); font-size: 16px; }

/* ── para quem é ── */
.para-quem { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 1000px; margin: 0 auto; }
.pq { border-radius: var(--raio); padding: 32px; border: 1px solid var(--claro-borda); background: var(--claro-caixa); }
.pq.sim { background: #151515; border-color: #2A2A2A; }
.pq-cab { font-size: 22px; font-weight: 800; margin-bottom: 14px; color: var(--claro-texto) !important; }
.pq.sim .pq-cab { color: var(--ouro-300) !important; }
.pq ul { list-style: none; display: grid; gap: 10px; }
.pq li { position: relative; padding-left: 26px; color: var(--claro-paragrafo); }
.pq.sim li { color: var(--texto); }
.pq.sim li::before { content: "✓"; position: absolute; left: 0; color: var(--ouro-500); font-weight: 800; }
.pq.nao li::before { content: "✕"; position: absolute; left: 0; color: #C2503F; font-weight: 800; }

/* ── o plano ── */
.plano { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; position: relative; }
.plano li { background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 24px 24px 24px 58px; position: relative; color: var(--paragrafo); font-size: 17px; line-height: 1.55; }
.plano li::before { content: "✓"; position: absolute; left: 22px; top: 22px; width: 24px; height: 24px; border-radius: 50%; background: var(--ouro-500); color: var(--sobre-o-ouro); display: grid; place-items: center; font-size: 15px; font-weight: 800; }
.plano li b { display: block; color: var(--titulo); font-size: 17px; margin-bottom: 4px; }
.plano-linha { text-align: center; color: var(--paragrafo); margin: 28px auto 20px; max-width: 640px; }
.botoes.centro { justify-content: center; }

/* ── o que o RAIO-X mostra ── */
.lista-raio-x { list-style: none; display: grid; gap: 10px; }
.lista-raio-x li { position: relative; padding-left: 28px; color: var(--texto); }
.lista-raio-x li::before { content: "✓"; position: absolute; left: 0; color: var(--ouro-500); font-weight: 800; }

@media (max-width: 1024px) { .plano { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
  .cena-texto { font-size: 22px; }
  .curioso, .outros-casos, .para-quem, .plano { grid-template-columns: 1fr; }
  .plano li { padding-left: 54px; }
}

/* ════════ site (2026-11-04): o que o gerador acrescenta à prancha ════════ */

/* marcador do que o Marco ainda vai mandar: some quando o dado entra em site/dados/empresa.json */
.falta { display: inline-block; border: 1px dashed currentColor; border-radius: 6px; padding: 0 6px; font-size: .9em; opacity: .75; }

/* hero das páginas internas (serviço, blog) */
.hero-interno { padding: 56px 0 104px; }
.hero-interno .hero-texto { max-width: 820px; }

/* itens de seção (serviços) */
.itens { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; position: relative; }
.itens li { padding: 28px; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); display: grid; gap: 10px; align-content: start; }
.itens li h3::before { content: ""; display: block; width: 28px; height: 3px; border-radius: 3px; background: var(--ouro-500); margin-bottom: 14px; }
.itens p { color: var(--paragrafo); }
.itens-claros li { background: var(--claro-caixa); border-color: var(--claro-borda); }
.itens-claros li h3::before { background: var(--ouro-700); }

/* tabelas */
.tabela-rolar { overflow-x: auto; }
.largura-tabela { max-width: 880px; margin: 0 auto; }
.tabela-falta { text-align: center; padding: 32px; border: 1px dashed var(--claro-borda); border-radius: var(--raio); }

/* casos */
.caso-um { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
.print-falta { place-items: center; text-align: center; min-height: 220px; }
.print-falta figcaption { color: var(--paragrafo); font-size: 16px; }

/* formulário */
.formulario .aceite { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--paragrafo); }
.formulario .aceite input { height: 20px; width: 20px; flex: none; margin-top: 3px; accent-color: var(--ouro-500); }
.formulario .aceite a { color: var(--ouro-300); }
.form-msg { font-size: 16px; color: var(--ouro-300); min-height: 1em; }

/* menu do celular aberto */
@media (max-width: 1024px) {
  body.menu-aberto .menu { display: block; position: absolute; left: 0; right: 0; top: 76px; background: #111; border-bottom: 1px solid #262626; padding: 12px var(--margem) 24px; }
  body.menu-aberto .menu ul { flex-direction: column; gap: 4px; }
  body.menu-aberto .menu a { display: block; padding: 12px 0; font-size: 18px; }
}

/* rodapé */
.rodape-titulo { font-size: 16px; color: var(--titulo); font-weight: 700; margin-bottom: 14px; }
.rodape .duas-colunas { grid-template-columns: 1fr 1fr; column-gap: 16px; }
.rodape .colunas { grid-template-columns: 1.3fr 1fr 1.3fr .9fr; }
@media (max-width: 1024px) { .rodape .colunas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rodape .colunas { grid-template-columns: 1fr; } }

/* texto SEO e páginas de texto */
.texto-seo h3 { font-size: 22px; color: var(--claro-texto); margin-top: 8px; }
.texto-seo ol { padding-left: 22px; display: grid; gap: 6px; }
.texto-seo blockquote { border-left: 3px solid var(--ouro-500); padding: 6px 0 6px 18px; display: grid; gap: 6px; }
.texto-seo blockquote p { font-style: italic; color: #3A3A3A; }
.texto-seo figure { margin: 8px 0; display: grid; gap: 8px; }
.texto-seo figure img { border-radius: var(--raio); border: 1px solid var(--claro-borda); }
.texto-seo figcaption { font-size: 16px; color: var(--claro-paragrafo); }
.texto-seo figure img, .caso-print img { width: 100%; height: auto; }
.texto-seo figcaption small, .caso-print figcaption small { display: block; font-size: 15px; opacity: .85; margin-top: 2px; }
.texto-seo figure.print-celular { justify-items: center; }
.texto-seo figure.print-celular img { max-width: 380px; }
.texto-seo figure.print-celular figcaption { max-width: 380px; width: 100%; }
.caso-print { padding: 16px; justify-items: center; }
.caso-print img { max-width: 380px; border-radius: 10px; }
.caso-print figcaption { color: var(--paragrafo); font-size: 16px; max-width: 380px; }
.img-falta > div { aspect-ratio: 16 / 9; border: 1px dashed #C9C4B5; border-radius: var(--raio); display: grid; place-items: center; color: var(--claro-paragrafo); background: repeating-linear-gradient(45deg, #F1EFE8 0 12px, #F7F6F1 12px 24px); padding: 16px; text-align: center; }
.texto-seo .tabela { font-size: 16px; }
.texto-seo .tabela td, .texto-seo .tabela th { padding: 12px 14px; }
.pagina-texto, .artigo-pagina { padding: 56px 0 96px; }
.pagina-texto h1, .artigo-pagina h1 { font-size: 48px; line-height: 1.1; }
.pagina-texto .trilha a, .artigo-pagina .trilha a, .pagina-texto .trilha, .artigo-pagina .trilha { color: var(--claro-paragrafo); }
.assinatura { font-size: 16px !important; color: var(--claro-paragrafo) !important; border-bottom: 1px solid var(--claro-borda); padding-bottom: 16px; }
.leia-tambem { margin-top: 24px; padding: 24px; border: 1px solid var(--claro-borda); border-radius: var(--raio); background: var(--claro-caixa); display: grid; gap: 12px; justify-items: start; }
.leia-tambem ul { list-style: none; padding: 0; }
@media (max-width: 640px) { .pagina-texto h1, .artigo-pagina h1 { font-size: 34px; } }

/* blog */
.artigo-titulo { font-size: 21px; line-height: 1.3; font-weight: 700; letter-spacing: -0.01em; }
.artigo .ir { color: var(--ouro-300); font-weight: 700; font-size: 16px; }

/* página do RAIO-X */
.raio-x-pagina h1 { font-size: 56px; }
@media (max-width: 640px) { .raio-x-pagina h1 { font-size: 36px; } }

/* resultado do RAIO-X */
.resultado-capa .container { display: grid; gap: 22px; justify-items: start; position: relative; }
.aviso-exemplo { border: 1px dashed var(--ouro-500); color: var(--ouro-300); border-radius: var(--raio); padding: 10px 16px; font-size: 16px; }
.resultado-site { color: var(--paragrafo); }
.placar { display: flex; flex-wrap: wrap; gap: 32px; }
.placar div { border-left: 1px solid var(--borda); padding-left: 16px; }
.placar strong { display: block; font-size: 32px; color: var(--titulo); }
.placar span { font-size: 16px; color: var(--paragrafo); }
.veredito { font-size: 20px; color: var(--texto); max-width: 720px; }
.banner-fixo { position: sticky; top: 76px; z-index: 12; background: #1A1608; border-block: 1px solid rgba(201,154,30,.4); }
.banner-fixo { display: flex; justify-content: center; align-items: center; gap: 20px; padding: 12px var(--margem); flex-wrap: wrap; text-align: center; }
.banner-fixo .botao { min-height: 42px; }
.leitura-larga { max-width: 900px; display: grid; gap: 20px; }
.parte { background: var(--claro-caixa); border: 1px solid var(--claro-borda); border-radius: var(--raio); padding: 32px; display: grid; gap: 14px; }
.parte h2 { font-size: 28px; }
.parte-num { width: 36px; height: 36px; border-radius: 50%; background: var(--ouro-500); color: var(--sobre-o-ouro) !important; display: grid; place-items: center; font-weight: 800; }
.selo { display: inline-block; padding: 2px 10px; border-radius: var(--pilula); font-size: 15px; font-weight: 700; }
.selo-curioso { background: #EEE; color: #555; } .selo-compara { background: #F6EBC9; color: #7A5A06; } .selo-marca { background: #111; color: var(--ouro-300); }
.barras { display: grid; gap: 8px; } .barras p { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 12px; font-size: 16px; }
.barras .barra { background: #EAE7DE; }
.checagens, .checklist { list-style: none; display: grid; gap: 8px; padding: 0; }
.checagens li { padding-left: 92px; position: relative; color: var(--claro-texto); }
.checagens li::before { position: absolute; left: 0; width: 80px; text-align: center; border-radius: var(--pilula); font-size: 13px; font-weight: 800; padding: 2px 0; }
.checagens .bom::before { content: "BOM"; background: #E3F1E4; color: #24642A; }
.checagens .fraco::before { content: "FRACO"; background: #F6EBC9; color: #7A5A06; }
.checagens .ausente::before { content: "AUSENTE"; background: #F6DDD8; color: #8E2F1F; }
.checklist li { padding-left: 32px; position: relative; color: var(--claro-texto); }
.checklist li::before { content: "☐"; position: absolute; left: 0; color: var(--ouro-700); font-size: 20px; line-height: 1.2; }
.checklist li.feito::before { content: "☑"; }
.parte-limite { background: transparent; }

/* 404 */
.erro-404 .container { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; position: relative; }
.serp-falsa { background: #fff; color: #202124; border-radius: var(--raio); padding: 24px; font-family: Arial, sans-serif; box-shadow: 0 30px 80px rgba(0,0,0,.5); transform: rotate(-2deg); }
.serp-busca { border: 1px solid #DFE1E5; border-radius: 24px; padding: 12px 18px; display: flex; gap: 12px; align-items: center; font-size: 16px; }
.serp-lupa { width: 14px; height: 14px; border: 2px solid #9AA0A6; border-radius: 50%; position: relative; flex: none; }
.serp-lupa::after { content: ""; position: absolute; width: 2px; height: 7px; background: #9AA0A6; right: -4px; bottom: -6px; transform: rotate(-45deg); }
.serp-info { color: #70757A; font-size: 14px; margin: 14px 0 18px; }
.serp-url { color: #4D5156; font-size: 14px; }
.serp-titulo { color: #1A0DAB; font-size: 20px; margin: 4px 0; }
.serp-desc { color: #4D5156; font-size: 14px; }
.erro-texto { display: grid; gap: 22px; justify-items: start; }
.erro-sub { color: var(--paragrafo); }
.chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.chips a { display: inline-block; padding: 8px 16px; border: 1px solid var(--borda); border-radius: var(--pilula); text-decoration: none; font-size: 16px; }
.chips a:hover { border-color: var(--ouro-500); color: var(--ouro-300); }
@media (max-width: 1024px) { .itens { grid-template-columns: 1fr 1fr; } .erro-404 .container { grid-template-columns: 1fr; } .serp-falsa { transform: none; } }
@media (max-width: 640px) { .itens { grid-template-columns: 1fr; } .parte { padding: 22px; } .checagens li { padding-left: 0; padding-top: 28px; } .banner-fixo { top: 76px; font-size: 16px; } }
.barras .barra { grid-column: auto; }
.itens[data-n="2"], .itens[data-n="4"] { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .itens[data-n="2"], .itens[data-n="4"] { grid-template-columns: 1fr; } }
.falta { overflow-wrap: anywhere; max-width: 100%; }
.texto-seo .leitura { width: min(var(--leitura), 100% - 2 * var(--margem)); grid-template-columns: minmax(0, 1fr); }
.leitura-larga { width: min(900px, 100% - 2 * var(--margem)); grid-template-columns: minmax(0, 1fr); margin-inline: auto; }
h1, h2, h3 { overflow-wrap: break-word; }
@media (max-width: 400px) { h1 { font-size: 34px; } }
.caso-numero p.antes { margin-top: 8px; }

/* ════════ RAIO-X: landing page e checkout (2026-11-04) ════════ */
.topo-minimo .container { min-height: 64px; }
.topo-produto { color: var(--paragrafo); font-size: 16px; font-weight: 600; }
.rodape-minimo { padding: 32px 0; }
.rodape-minimo .base { margin-top: 0; border-top: 0; padding-top: 0; }
.lp-dobra { padding: 72px 0 96px; }
.lp-dobra .container { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; position: relative; }
.lp-dobra-texto { display: grid; gap: 22px; justify-items: start; }
.lp-campo { display: flex; gap: 10px; width: 100%; max-width: 620px; flex-wrap: wrap; }
.lp-campo input { flex: 1 1 260px; height: 58px; border-radius: var(--pilula); border: 1px solid #555; background: #0D0D0D; color: var(--titulo); padding: 0 22px; font: 400 17px var(--fonte); }
.lp-campo input:focus { outline: 2px solid var(--ouro-500); outline-offset: 1px; }
.lp-campo .botao { min-height: 58px; }
.lp-letra { font-size: 16px; color: var(--paragrafo); max-width: 620px; }
.lp-video { margin: 0; }
.lp-centro { text-align: center; max-width: 760px; margin: 32px auto 0; }
.negacoes { list-style: none; display: grid; gap: 6px; }
.negacoes li { font-size: 24px; font-weight: 700; color: var(--paragrafo); text-decoration: line-through; text-decoration-color: rgba(201,154,30,.6); }
.dez-partes { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; padding-left: 0; list-style: none; counter-reset: parte; }
.dez-partes li { counter-increment: parte; position: relative; padding: 18px 20px 18px 64px; background: var(--claro-caixa); border: 1px solid var(--claro-borda); border-radius: var(--raio); color: var(--claro-paragrafo); }
.dez-partes li::before { content: counter(parte); position: absolute; left: 18px; top: 16px; width: 30px; height: 30px; border-radius: 50%; background: var(--ouro-500); color: var(--sobre-o-ouro); display: grid; place-items: center; font-weight: 800; font-size: 16px; }
.dez-partes b { color: var(--claro-texto); }
.passos-3 { grid-template-columns: repeat(3, 1fr); }
.lp-prova { font-size: 19px; color: var(--texto); }
.lp-fim .container { justify-items: center; text-align: center; grid-template-columns: 1fr; }
.lp-fim .lp-campo { justify-content: center; }
/* checkout */
.checkout { padding: 48px 0 96px; }
.checkout-grade { display: grid; grid-template-columns: 1fr 460px; gap: 56px; align-items: start; }
.checkout-form { order: 2; }
.checkout-produto { order: 1; display: grid; gap: 16px; align-content: start; }
.checkout-produto h1 { font-size: 44px; }
.preco { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.preco s { color: var(--paragrafo); font-size: 24px; }
.preco strong { color: var(--ouro-300); font-size: 48px; font-weight: 800; }
.preco span { color: var(--paragrafo); }
.preco-nota { color: var(--paragrafo); font-size: 16px; }
.checkout-lista summary { cursor: pointer; color: var(--titulo); font-weight: 700; margin-bottom: 12px; }
.checkout-lista .dez-partes li { background: var(--caixa); border-color: var(--borda); color: var(--paragrafo); padding: 12px 14px 12px 52px; font-size: 16px; }
.checkout-lista .dez-partes li::before { left: 12px; top: 10px; width: 26px; height: 26px; font-size: 14px; }
.formulario .ajuda { font-weight: 400; color: var(--paragrafo); font-size: 15px; }
.consentimento { font-size: 15px; color: var(--paragrafo); }
.consentimento a { color: var(--ouro-300); }
@media (max-width: 1024px) {
  .lp-dobra .container, .checkout-grade { grid-template-columns: 1fr; }
  .checkout-form { order: 1; }
  .checkout-produto { order: 2; }
  .passos-3 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .lp-campo .botao { width: 100%; }
  .negacoes li { font-size: 20px; }
  .checkout-produto h1 { font-size: 32px; }
  .topo-produto { font-size: 15px; }
}
.lp-dobra .container > *, .checkout-grade > * { min-width: 0; }
.rotulo { max-width: 100%; flex-wrap: wrap; }
.checkout-produto { justify-items: start; } .checkout-lista { width: 100%; }
/* tela "analisando" e relatório do RAIO-X */
.analisando { min-height: 70vh; }
.analisando-detectado { color: var(--ouro-300); font-weight: 600; }
.etapas { list-style: none; display: grid; gap: 10px; margin-top: 8px; }
.etapas li { padding: 12px 16px 12px 44px; border: 1px solid var(--borda); border-radius: var(--raio); color: var(--paragrafo); position: relative; transition: color .3s, border-color .3s; }
.etapas li::before { content: ""; position: absolute; left: 16px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; border: 2px solid #555; }
.etapas li.agora { color: var(--titulo); border-color: rgba(201,154,30,.6); }
.etapas li.agora::before { border-color: var(--ouro-500); border-top-color: transparent; animation: girar 1s linear infinite; }
.etapas li.feita::before { content: "✓"; border: 0; color: var(--ouro-500); font-weight: 800; width: auto; height: auto; margin-top: -12px; }
@keyframes girar { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .etapas li.agora::before { animation: none; } }
.analisando-linha { color: var(--paragrafo); font-size: 16px; }
.banner-sub { width: 100%; font-size: 15px; color: var(--paragrafo); }
.relatorio-raio-x { padding-top: 40px; }

/* ── elementos das apresentações do Marco no Canva (04/11) ── */
/* funil de três andares: curioso, comparando, paciente */
.funil { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 56px; max-width: 1040px; margin: 0 auto; align-items: stretch; }
.funil-img { width: 100%; height: auto; filter: drop-shadow(0 26px 30px rgba(110,80,0,.18)); }
.funil-niveis { list-style: none; display: grid; grid-template-rows: 36fr 6fr 28fr 4fr 26fr; }
.funil-niveis li { position: relative; align-self: center; border-bottom: 1px solid var(--claro-borda); padding-bottom: 14px; display: grid; gap: 4px; }
.funil-niveis .n1 { grid-row: 1; } .funil-niveis .n2 { grid-row: 3; } .funil-niveis .n3 { grid-row: 5; border-bottom: 0; }
.funil-niveis li::before { content: ""; position: absolute; left: -64px; top: 12px; width: 52px; border-top: 1.5px solid #6B6B6B; }
.funil-niveis li::after { content: ""; position: absolute; left: -68px; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: #2A2A2A; }
.funil-cab { font-size: 26px; letter-spacing: -0.02em; font-weight: 800; color: var(--claro-texto) !important; }
.funil-niveis .n3 .funil-cab { color: var(--ouro-700) !important; }
.funil-ex { font-size: 18px; font-weight: 600; color: #5E5E5E !important; }
.funil-niveis p:last-child { font-size: 18px; }
@media (max-width: 900px) {
  .funil { grid-template-columns: 1fr; gap: 28px; }
  .funil-img { width: min(260px, 70%); justify-self: center; }
  .funil-niveis { grid-template-rows: none; gap: 18px; }
  .funil-niveis li { grid-row: auto !important; }
  .funil-niveis li::before, .funil-niveis li::after { display: none; }
}
/* faixa da frase, com o fundo de circuito */
.faixa-circuito { position: relative; padding: 96px 0; background: radial-gradient(ellipse at center, rgba(201,154,30,.10), transparent 60%), url(imagens/circuito.svg) center / cover, #0B0B0B; border-top: 1px solid #1F1F1F; border-bottom: 1px solid #1F1F1F; text-align: center; overflow: hidden; }
.faixa-circuito::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 30%, #0B0B0B 85%); pointer-events: none; }
.faixa-circuito p { position: relative; font-size: clamp(28px, 4.2vw, 52px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--titulo); }
/* peças nos cantos: só onde sobra canto vazio */
.canto-peao, .canto-bandeira { position: absolute; height: auto; pointer-events: none; z-index: 0; }
.canto-peao { --l: clamp(130px, calc((100vw - var(--largura)) / 2 + 30px), 230px); width: var(--l); top: 56px; left: calc((100vw - var(--largura)) / 2 - var(--l) + 36px); transform: rotate(-8deg); filter: drop-shadow(0 20px 30px rgba(110,80,0,.22)); }
.canto-bandeira { --l: clamp(160px, calc((100vw - var(--largura)) / 2 + 60px), 320px); width: var(--l); top: 40px; right: calc((100vw - var(--largura)) / 2 - var(--l) + 48px); opacity: .95; }
.clara .container, .plano-secao .container { position: relative; z-index: 1; }
@media (max-width: 1320px) { .canto-peao, .canto-bandeira { display: none; } }
/* pontilhado dourado no canto da chamada final */
.pontilhado::after { content: ""; position: absolute; left: 0; top: 0; width: min(56%, 760px); height: 100%; background-image: radial-gradient(rgba(201,154,30,.85) 1.9px, transparent 2.2px); background-size: 13px 13px; -webkit-mask-image: radial-gradient(ellipse 80% 75% at 0% 25%, #000 0%, rgba(0,0,0,.5) 40%, transparent 72%); mask-image: radial-gradient(ellipse 80% 75% at 0% 25%, #000 0%, rgba(0,0,0,.5) 40%, transparent 72%); pointer-events: none; }
.pontilhado .container { z-index: 1; }

/* foto do Marco com a faixa dourada em diagonal, como nos slides do Canva */
.sobre-foto { position: relative; aspect-ratio: 4 / 5; border-radius: var(--raio); overflow: hidden; background: #141414; border: 1px solid var(--borda); isolation: isolate; }
.sobre-foto::before { content: ""; position: absolute; left: 22%; right: -10%; bottom: 0; height: 82%; background: linear-gradient(165deg, var(--ouro-300), var(--ouro-500) 60%, #9C760F); clip-path: polygon(38% 0, 100% 0, 100% 100%, 0 100%); z-index: -1; }
.sobre-foto::after { content: ""; position: absolute; left: 0; top: 0; width: 55%; height: 45%; background-image: radial-gradient(rgba(201,154,30,.7) 1.6px, transparent 1.9px); background-size: 12px 12px; -webkit-mask-image: radial-gradient(ellipse at 0% 0%, #000, transparent 70%); mask-image: radial-gradient(ellipse at 0% 0%, #000, transparent 70%); z-index: -1; }
.sobre-foto img { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 96%; height: auto; filter: drop-shadow(0 18px 30px rgba(0,0,0,.45)); }
@media (max-width: 900px) { .sobre-foto { max-width: 360px; width: 100%; justify-self: center; } }

/* ── revisão de 04/11 (pedido do Marco) ── */
/* divisória entre duas seções escuras seguidas: o quadriculado e o brilho não continuam de uma para a outra */
main > .secao:not(.clara):not(.texto-seo) + .secao:not(.clara):not(.texto-seo) { border-top: 1px solid transparent; border-image: linear-gradient(90deg, transparent, rgba(201,154,30,.45) 50%, transparent) 1; }
/* hero com a caixa do RAIO-X à direita, em todas as páginas */
.hero-caixa .container { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; align-items: center; }
.hero-caixa .hero-texto { max-width: none; }
.hero-dupla { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; }
.hero-especialidade h1 { font-size: 46px; }
.caixa-raio-x { gap: 14px; padding: 32px; }
.caixa-raio-x .caixa-titulo { font-size: 60px; line-height: 1.02; font-weight: 800; letter-spacing: -0.03em; color: var(--titulo); }
.hero-especialidade .caixa-raio-x .caixa-titulo { font-size: 46px; }
.cta .caixa-raio-x .caixa-titulo { font-size: 44px; }
.caixa-raio-x .caixa-sub { color: var(--paragrafo); font-size: 16px; line-height: 1.5; }
.caixa-raio-x .preco { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 16px; color: var(--paragrafo); font-size: 16px; font-weight: 600; margin: 2px 0; }
.caixa-raio-x .preco s, .caixa-raio-x .preco b { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.caixa-raio-x .preco s { color: #8C8C8C; text-decoration: line-through; text-decoration-thickness: 5px; text-decoration-color: #C2503F; }
.caixa-raio-x .preco b { color: #34C27A; }
.caixa-raio-x .botao { min-height: 56px; font-size: 18px; }
@media (max-width: 1200px) {
  .hero-dupla { grid-template-columns: 1fr; }
  .hero-dupla .caixa-raio-x { max-width: 520px; }
}
@media (max-width: 1024px) {
  .hero-caixa .container { grid-template-columns: 1fr; }
  .hero-caixa .caixa-raio-x { max-width: 560px; width: 100%; }
}
@media (max-width: 640px) {
  .caixa-raio-x .caixa-titulo, .hero-especialidade .caixa-raio-x .caixa-titulo, .cta .caixa-raio-x .caixa-titulo { font-size: 38px; }
  .hero-especialidade h1 { font-size: 34px; }
  .caixa-raio-x { padding: 24px; }
  .caixa-raio-x .preco s, .caixa-raio-x .preco b { font-size: 34px; }
}
/* menu com o submenu de SEO para médicos */
.menu .tem-sub { position: relative; }
.menu .tem-sub > a { display: inline-flex; align-items: center; gap: 6px; }
.menu .seta { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.menu .sub { position: absolute; left: 50%; top: calc(100% + 22px); transform: translateX(-50%) translateY(6px); width: 720px; display: grid; grid-template-columns: 1fr 220px; gap: 8px; background: #161616; border: 1px solid var(--borda); border-radius: 16px; padding: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.55); opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; }
.menu .sub::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.menu .tem-sub:hover .sub, .menu .tem-sub:focus-within .sub { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.menu .sub ul { display: grid; gap: 4px; }
.menu .sub li a { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 12px; border-radius: 12px; color: var(--texto); }
.menu .sub li a:hover, .menu .sub li a[aria-current="page"] { background: #1F1F1F; color: var(--titulo); }
.menu .sub b { display: block; color: var(--titulo); font-size: 16px; font-weight: 700; }
.menu .sub small { display: block; color: var(--paragrafo); font-size: 15px; line-height: 1.4; margin-top: 2px; }
.sub-icone { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(201,154,30,.12); border: 1px solid rgba(201,154,30,.35); }
.sub-icone svg { width: 22px; height: 22px; fill: none; stroke: var(--ouro-300); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sub-arte { border-radius: 12px; background: radial-gradient(circle at 50% 35%, rgba(201,154,30,.25), transparent 65%), #111; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 16px; text-align: center; }
.sub-arte img { width: 130px; height: auto; transform: rotate(-6deg); filter: drop-shadow(0 14px 22px rgba(0,0,0,.5)); }
.sub-arte p { font-size: 15px; color: var(--paragrafo); line-height: 1.4; }
@media (max-width: 1024px) {
  body.menu-aberto .menu .sub { position: static; transform: none; width: auto; opacity: 1; visibility: visible; display: block; padding: 4px 0 8px 12px; background: none; border: 0; box-shadow: none; }
  body.menu-aberto .menu .sub-arte, .menu .seta { display: none; }
  body.menu-aberto .menu .sub li a { padding: 8px 0; font-size: 16px; }
  body.menu-aberto .menu { max-height: calc(100vh - 76px); overflow: auto; }
}
/* casos: o print do Dr. Ivan ocupa a coluna inteira */
.caso .caso-print img { max-width: 100%; }
.caso .caso-print figcaption { max-width: none; }
.sobre-texto .botoes { margin-top: 4px; }
/* contato, no jeito do slide "Converse com nossos especialistas" */
.contato { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; position: relative; z-index: 1; }
.contato h2 { font-size: 44px; }
.contato-lista { display: grid; }
.contato-lista div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(201,154,30,.35); }
.contato-lista dt { color: var(--ouro-300); font-weight: 800; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; }
.contato-lista dd { color: var(--titulo); font-size: 17px; }
.contato-lista a { color: var(--titulo); }
@media (max-width: 900px) { .contato { grid-template-columns: 1fr; gap: 24px; } .contato-lista div { grid-template-columns: 1fr; gap: 4px; } }

/* cena das 23h: texto, três passos e o celular com o print */
.cena-grade { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 72px; align-items: center; }
.cena-texto-col { display: grid; gap: 24px; justify-items: start; }
.cena-passos { list-style: none; display: grid; gap: 14px; counter-reset: cena; }
.cena-passos li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 14px 18px; }
.cena-passos p { color: var(--paragrafo); font-size: 17px; }
.cena-passos b { display: block; color: var(--titulo); font-size: 19px; }
.cena-icone { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: rgba(201,154,30,.12); border: 1px solid rgba(201,154,30,.35); }
.cena-icone svg { width: 24px; height: 24px; fill: none; stroke: var(--ouro-300); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.cena-fala { font-size: 24px; line-height: 1.4; font-weight: 700; color: var(--titulo); }
.cena-celular { margin: 0; display: grid; gap: 12px; justify-items: center; }
.celular { width: 100%; max-width: 340px; aspect-ratio: 9 / 18.5; border-radius: 42px; padding: 12px; background: linear-gradient(160deg, #2A2A2A, #0C0C0C); border: 1px solid #333; box-shadow: 0 40px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(201,154,30,.15), 0 0 90px rgba(201,154,30,.12); overflow: hidden; }
.celular img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 32px; display: block; }
.cena-celular figcaption { font-size: 15px; color: var(--paragrafo); }
@media (max-width: 1024px) { .cena-grade { grid-template-columns: 1fr; gap: 40px; } }
/* método: quatro etapas ligadas por um fio, cartões do mesmo tamanho */
.metodo-etapas { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; position: relative; }
.metodo-etapas::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 31px; height: 2px; background: linear-gradient(90deg, var(--ouro-500), rgba(201,154,30,.25)); }
.metodo-etapa { display: grid; grid-template-rows: auto 1fr; gap: 20px; justify-items: center; position: relative; }
.metodo-num { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: #111; border: 2px solid var(--ouro-500); color: var(--ouro-300); font-size: 22px; font-weight: 800; box-shadow: 0 0 0 8px #111, 0 0 30px rgba(201,154,30,.25); position: relative; }
.metodo-etapa:last-child .metodo-num { background: var(--ouro-500); color: var(--sobre-o-ouro); }
.metodo-cartao { width: 100%; background: var(--caixa); border: 1px solid var(--borda); border-radius: var(--raio); padding: 26px 24px; display: grid; gap: 8px; align-content: start; }
.metodo-fase { color: var(--ouro-300); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.metodo-cartao h3 { font-size: 22px; margin-bottom: 8px; }
.metodo-cartao ul { list-style: none; display: grid; gap: 14px; }
.metodo-cartao li { display: grid; gap: 2px; padding-left: 26px; position: relative; }
.metodo-cartao li::before { content: "✓"; position: absolute; left: 0; top: 1px; color: var(--ouro-500); font-weight: 800; }
.metodo-cartao li b { color: var(--titulo); font-size: 17px; }
.metodo-cartao li span { color: var(--paragrafo); font-size: 16px; line-height: 1.5; }
@media (max-width: 1024px) {
  .metodo-etapas { grid-template-columns: 1fr; gap: 16px; }
  .metodo-etapas::before { left: 31px; right: auto; top: 32px; bottom: 32px; width: 2px; height: auto; background: linear-gradient(180deg, var(--ouro-500), rgba(201,154,30,.25)); }
  .metodo-etapa { grid-template-columns: 64px 1fr; grid-template-rows: none; justify-items: stretch; align-items: start; gap: 16px; }
}
/* cartões do blog com imagem destacada */
.artigo { padding: 0; overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.artigo-img { display: block; aspect-ratio: 16 / 9; background: #0E0E0E; overflow: hidden; border-bottom: 1px solid var(--borda); }
.artigo-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .3s; }
.artigo:hover .artigo-img img { transform: scale(1.03); }
.artigo-capa { display: grid; place-items: center; background: radial-gradient(circle at 50% 40%, rgba(201,154,30,.3), transparent 65%), #111; }
.artigo-capa img { width: 34%; height: auto; object-fit: contain; transform: rotate(-6deg); }
.artigo-corpo { display: grid; gap: 10px; padding: 24px; align-content: start; }
.artigo-titulo { font-size: 22px; line-height: 1.3; color: var(--titulo); }
.artigo-desc { color: var(--paragrafo); font-size: 17px; }
/* página de especialidades */
.esp-titulo { font-size: 36px; margin-bottom: 28px; }
.esp-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.esp-cartao { display: grid; gap: 6px; padding: 24px; border-radius: var(--raio); background: var(--claro-caixa); border: 1px solid var(--claro-borda); text-decoration: none; transition: border-color .15s, transform .15s; }
.esp-cartao:hover { border-color: var(--ouro-500); transform: translateY(-2px); }
.esp-nome { font-size: 22px; font-weight: 800; color: var(--claro-texto); }
.esp-busca { font-size: 16px; color: var(--claro-paragrafo); }
.esp-cartao .ir { color: var(--ouro-700); font-weight: 700; font-size: 16px; }
@media (max-width: 640px) { .esp-grade { grid-template-columns: 1fr; } .esp-titulo { font-size: 28px; } }
/* card de buscas da especialidade, numa seção clara */
.painel-buscas { max-width: 760px; margin: 0 auto; }
/* 05/11: três colunas — palavra | volume com "buscas/mês" | CPC em pílula */
.painel-buscas .busca { grid-template-columns: 1fr 140px 176px; gap: 10px 20px; align-items: center; padding: 18px 0; }
.painel-buscas .busca-palavra { grid-column: 1; grid-row: 1; color: var(--texto); font-size: 18px; }
.painel-buscas .busca-vol { grid-column: 2; grid-row: 1 / 3; display: grid; justify-items: end; line-height: 1.1; }
.painel-buscas .busca-vol strong { color: var(--ouro-300); font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.painel-buscas .busca-vol small { color: var(--ouro-500); font-size: 14px; font-weight: 600; margin-top: 4px; }
.painel-buscas .busca-cpc { grid-column: 3; grid-row: 1 / 3; display: grid; justify-items: center; line-height: 1.15; padding: 8px 12px; border-radius: 10px; background: rgba(201,154,30,.10); border: 1px solid rgba(201,154,30,.35); }
.painel-buscas .busca-cpc strong { color: var(--titulo); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.painel-buscas .busca-cpc small { color: var(--paragrafo); font-size: 13px; margin-top: 3px; }
.painel-buscas .busca-vol strong, .painel-buscas .busca-cpc strong { display: inline-flex; align-items: center; gap: 7px; }
.painel-buscas .ic-pessoa { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--ouro-500); stroke-width: 2.2; stroke-linecap: round; }
.painel-buscas .ic-moeda { width: 20px; height: 20px; flex: none; filter: drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.painel-buscas .busca-cpc.sem-cpc { background: transparent; border-style: dashed; border-color: var(--borda); }
.painel-buscas .busca-cpc.sem-cpc strong { color: var(--paragrafo); font-weight: 600; }
.painel-buscas .barra { grid-column: 1; grid-row: 2; height: 5px; }
.painel-buscas .busca-cabeca { padding: 0 0 12px; border-top: 0; }
.painel-buscas .busca-cabeca span { grid-row: 1; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--paragrafo); }
.painel-buscas .busca-cabeca span:nth-child(2) { grid-column: 2; text-align: right; }
.painel-buscas .busca-cabeca span:nth-child(3) { grid-column: 3; text-align: center; }
.painel-buscas .busca-total { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; padding: 18px 0 4px; border-top: 1px solid var(--ouro-700); }
.painel-buscas .busca-total > span:first-child { color: var(--texto); font-weight: 700; }
.painel-buscas .busca-total strong { color: var(--ouro-300); font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.painel-buscas .busca-total small { color: var(--ouro-500); font-size: 14px; font-weight: 600; margin-left: 6px; }
@media (max-width: 640px) {
  .painel-buscas { padding: 20px; }
  .painel-buscas .busca-cabeca { display: none; }
  .painel-buscas .busca { grid-template-columns: 1fr auto; gap: 10px 12px; }
  .painel-buscas .busca-palavra { grid-column: 1 / -1; grid-row: 1; }
  .painel-buscas .busca-vol { grid-column: 1; grid-row: 2; justify-items: start; }
  .painel-buscas .busca-cpc { grid-column: 2; grid-row: 2; }
  .painel-buscas .barra { grid-column: 1 / -1; grid-row: 3; }
  .painel-buscas .busca-vol strong, .painel-buscas .busca-total strong { font-size: 24px; }
  .painel-buscas .busca-cpc strong { font-size: 18px; }
}
.clara .painel-buscas p, .clara .painel-buscas .painel-titulo p { color: var(--texto); }
.clara .painel-buscas .painel-titulo p { color: var(--titulo); }
.clara .painel-buscas .fonte { color: var(--paragrafo); }
/* submenu de especialidades */
.menu .sub-esp { width: 520px; grid-template-columns: 1fr; }
.menu .sub-esp ul { grid-template-columns: 1fr 1fr; gap: 2px 8px; }
.menu .sub-esp li a { display: block; padding: 10px 12px; font-size: 16px; }
.sub-todas { display: block; padding: 12px; margin-top: 4px; border-top: 1px solid var(--borda); color: var(--ouro-300) !important; font-weight: 700; }

/* ── checkout de R$ 0 no formato de checkout de compra (Kiwify), sem pagamento (05/11) ── */
.ck { background: #F2F4F7; color: #1F2937; padding: 48px 0 80px; }
.ck-grade { width: min(1120px, 100% - 2 * var(--margem)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.ck-cartao { background: #fff; border: 1px solid #E3E6EA; border-radius: 12px; padding: 32px; box-shadow: 0 10px 30px rgba(17,24,39,.06); }
.ck-produto { display: grid; grid-template-columns: 150px 1fr; gap: 20px; align-items: center; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid #E8EAEE; }
.ck-produto img { width: 150px; height: auto; border-radius: 8px; border: 1px solid #E3E6EA; display: block; }
.ck-produto-nome { font-size: 22px; font-weight: 800; color: #111827; line-height: 1.25; }
.ck-produto-por { font-size: 16px; color: #6B7280; margin-top: 2px; }
.ck-produto-preco { margin-top: 8px; display: flex; align-items: baseline; gap: 12px; }
.ck-produto-preco s { color: #9CA3AF; font-size: 18px; font-weight: 600; text-decoration-thickness: 2px; }
.ck-produto-preco b { color: #16A34A; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; }
.ck-form { display: grid; gap: 16px; }
.ck-campo { display: grid; gap: 6px; }
.ck-campo > span:first-child { font-size: 16px; font-weight: 700; color: #374151; }
.ck-campo input { width: 100%; height: 58px; border: 1px solid #D1D5DB; border-radius: 6px; padding: 0 18px; font: 400 18px var(--fonte); color: #111827; background: #fff; }
.ck-campo input::placeholder { color: #9CA3AF; }
.ck-campo input:focus { outline: 2px solid #2563EB; outline-offset: 0; border-color: #2563EB; }
.ck-campo .ajuda { font-size: 15px; color: #6B7280; font-weight: 400; }
.ck-telefone { display: grid; grid-template-columns: auto 1fr; border: 1px solid #D1D5DB; border-radius: 6px; overflow: hidden; }
.ck-telefone:focus-within { outline: 2px solid #2563EB; border-color: #2563EB; }
.ck-telefone input { border: 0; border-radius: 0; }
.ck-telefone input:focus { outline: 0; }
.ck-ddi { display: flex; align-items: center; gap: 8px; padding: 0 14px; background: #F9FAFB; border-right: 1px solid #E5E7EB; font-size: 17px; color: #374151; }
.ck-bandeira { width: 26px; height: 18px; border-radius: 2px; background: linear-gradient(#009C3B, #009C3B); position: relative; overflow: hidden; }
.ck-bandeira::before { content: ""; position: absolute; inset: 2px 3px; background: #FFDF00; clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.ck-bandeira::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #002776; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.ck-resumo { margin-top: 8px; border: 1px dashed #D1D5DB; border-radius: 8px; padding: 16px 18px; display: grid; gap: 8px; background: #FAFAFB; }
.ck-resumo p { display: flex; justify-content: space-between; gap: 16px; font-size: 17px; color: #4B5563; }
.ck-desconto span:last-child { color: #16A34A; font-weight: 700; }
.ck-total { border-top: 1px solid #E5E7EB; padding-top: 10px; margin-top: 2px; font-weight: 800; color: #111827 !important; font-size: 20px !important; }
.ck-total span:last-child { color: #16A34A; }
.ck-botao { height: 64px; border: 0; border-radius: 8px; background: #27AE60; color: #fff; font: 800 20px var(--fonte); cursor: pointer; box-shadow: 0 8px 20px rgba(39,174,96,.25); transition: background .15s, transform .15s; }
.ck-botao:hover { background: #219A54; transform: translateY(-1px); }
.ck-botao:disabled { opacity: .7; cursor: wait; }
.ck .form-msg { color: #B45309; font-size: 16px; font-weight: 600; min-height: 0; }
.ck-sem { text-align: center; font-size: 16px; font-weight: 600; color: #374151; }
.ck .consentimento { font-size: 15px; color: #6B7280; line-height: 1.55; text-align: center; }
.ck .consentimento a { color: #374151; font-weight: 700; }
.ck-lado { display: grid; gap: 16px; }
.ck-selo { display: grid; justify-items: center; gap: 4px; padding: 26px 16px; border-radius: 12px; background: #111; color: #fff; text-align: center; border: 3px solid var(--ouro-500); }
.ck-selo b { font-size: 48px; font-weight: 800; color: var(--ouro-300); line-height: 1; }
.ck-selo span { font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.ck-info { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; background: #fff; border: 2px solid var(--ouro-500); border-radius: 12px; padding: 20px; }
.ck-info-icone svg { width: 34px; height: 34px; fill: none; stroke: var(--ouro-700); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ck-info p { font-size: 16px; color: #6B7280; line-height: 1.5; }
.ck-info b { display: block; color: #111827; font-size: 18px; margin-bottom: 4px; }
.ck-lista { background: #fff; border: 1px solid #E3E6EA; border-radius: 12px; padding: 16px 20px; }
.ck-lista summary { cursor: pointer; font-weight: 700; color: #111827; font-size: 17px; }
.ck-lista ol { margin-top: 12px; padding-left: 20px; display: grid; gap: 8px; }
.ck-lista li { font-size: 15px; color: #4B5563; line-height: 1.5; }
@media (max-width: 900px) {
  .ck { padding: 24px 0 56px; }
  .ck-grade { grid-template-columns: 1fr; }
  .ck-cartao { padding: 20px; }
  .ck-produto { grid-template-columns: 96px 1fr; gap: 14px; }
  .ck-produto img { width: 96px; }
  .ck-produto-nome { font-size: 19px; }
  .ck-lado { grid-template-columns: 1fr 1fr; }
  .ck-selo, .ck-lista { grid-column: 1 / -1; }
}
@media (max-width: 560px) { .ck-lado { grid-template-columns: 1fr; } }
/* order bumps do checkout (formato Kiwify): caixa tracejada, seta, marcador, imagem, título em vermelho e preço */
.ck-bumps { display: grid; gap: 14px; margin-top: 6px; }
.ck-bumps-titulo { font-size: 18px; font-weight: 800; color: #111827; }
.ck-bumps-titulo small { font-size: 15px; font-weight: 600; color: #6B7280; }
.ck-bump { display: block; border: 2px dashed #9CA3AF; border-radius: 6px; overflow: hidden; cursor: pointer; transition: border-color .15s; }
.ck-bump.marcado { border-color: #16A34A; border-style: solid; }
.ck-bump-cab { display: block; background: #E8EEF5; color: #1D4ED8; text-align: center; font-weight: 800; font-size: 17px; letter-spacing: .04em; padding: 10px 12px; }
.ck-bump-corpo { display: grid; grid-template-columns: 36px 26px 80px 1fr; gap: 12px; align-items: center; padding: 14px 16px; background: #fff; }
.ck-seta { width: 34px; height: 22px; background: #DC2626; clip-path: polygon(0 30%, 60% 30%, 60% 0, 100% 50%, 60% 100%, 60% 70%, 0 70%); }
.ck-bump input { width: 24px; height: 24px; accent-color: #16A34A; cursor: pointer; }
.ck-bump img { width: 80px; height: 80px; object-fit: contain; background: #111; border-radius: 6px; padding: 6px; }
.ck-bump-texto { font-size: 16px; color: #4B5563; line-height: 1.5; }
.ck-bump-texto b { color: #DC2626; text-decoration: underline; }
.ck-bump-texto strong { color: #111827; white-space: nowrap; }
.ck-bumps-nota { font-size: 15px; color: #166534; background: #F0FDF4; border: 1px solid #BBF7D0; border-radius: 6px; padding: 10px 14px; }
.ck-adicionais span:last-child { color: #111827; font-weight: 700; }
@media (max-width: 560px) {
  .ck-bump-corpo { grid-template-columns: 24px 64px 1fr; }
  .ck-seta { display: none; }
  .ck-bump img { width: 64px; height: 64px; }
  .ck-bump-cab { font-size: 15px; }
}
.ck-produto-preco s, .ck-produto-preco b, .ck-resumo span:last-child { white-space: nowrap; }
@media (max-width: 560px) {
  .ck-produto { grid-template-columns: 76px 1fr; }
  .ck-produto img { width: 76px; }
  .ck-produto-preco b { font-size: 26px; }
  .ck-produto-preco s { font-size: 16px; }
  .ck-bump-corpo { grid-template-columns: 24px 1fr; gap: 10px 12px; align-items: start; padding: 14px; }
  .ck-bump img { display: none; }
  .ck-bump input { margin-top: 3px; }
  .ck-bump-texto { font-size: 16px; }
  .ck-resumo p { font-size: 16px; }
}
.ck [hidden] { display: none !important; }

/* Rei de xadrez gigante no fundo de "curioso × paciente" (05/11) */
.peca-fundo { position: absolute; right: max(-60px, calc((100vw - var(--largura)) / 2 - 300px)); top: 64px; height: 100%; width: auto; max-width: none; transform: rotate(4deg); transform-origin: top center; opacity: .14; pointer-events: none; user-select: none; z-index: 0; -webkit-mask-image: linear-gradient(to bottom, #000 70%, transparent 98%); mask-image: linear-gradient(to bottom, #000 70%, transparent 98%); }
@media (max-width: 900px) { .peca-fundo { height: 70%; right: -18%; top: 62%; opacity: .09; } }
/* tela "analisando": a caixa para pagar os adicionais na Kiwify */
.adicionais-pagar { display: grid; gap: 12px; justify-items: start; background: var(--caixa); border: 2px solid var(--ouro-500); border-radius: var(--raio); padding: 24px; width: 100%; }
.adicionais-pagar[hidden] { display: none; }
.adicionais-titulo { font-size: 22px; font-weight: 800; color: var(--titulo); }
.adicionais-pagar p { color: var(--texto); font-size: 17px; }
.adicionais-nota { color: var(--paragrafo) !important; font-size: 15px !important; }
/* tela "analisando": domínio comprido não pode empurrar a página para fora da tela */
.analisando .leitura-cena > * { min-width: 0; max-width: 100%; }
.analisando [data-dominio] { overflow-wrap: anywhere; }
.analisando [data-pronto][hidden] { display: none; }
/* checkout: ícones nos campos, no resumo e no selo de segurança; ilustrações dos produtos (SVG) */
.ck-com-icone { position: relative; display: block; }
.ck-com-icone svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; fill: none; stroke: #9CA3AF; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.ck-com-icone input { padding-left: 50px; }
.ck-com-icone:focus-within svg { stroke: #2563EB; }
.ck-resumo-titulo { display: flex !important; justify-content: flex-start !important; align-items: center; gap: 8px; font-weight: 800; color: #111827 !important; font-size: 17px !important; margin-bottom: 2px; }
.ck-resumo-titulo svg, .ck-seguro svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ck-seguro { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; font-size: 15px; font-weight: 600; color: #374151; }
.ck-seguro span { display: inline-flex; align-items: center; gap: 6px; }
.ck-seguro span:first-child svg, .ck-seguro span:nth-child(2) svg { color: #16A34A; }
.ck-produto img { border: 0; border-radius: 14px; }
.ck-bump img { background: none; padding: 0; border-radius: 12px; }
@media (max-width: 560px) {
  .ck-bump-corpo { grid-template-columns: 24px 56px 1fr; }
  .ck-bump img { display: block; width: 56px; height: 56px; }
}
@media (max-width: 560px) {
  .ck-bump-corpo { grid-template-columns: 24px 56px 1fr; align-items: center; }
  .ck-bump-texto { grid-column: 1 / -1; }
}
/* landing page do RAIO-X: a ilustração no lugar do vídeo (sem VSL por enquanto, decisão do Marco em 05/11) */
.lp-ilustracao { margin: 0; display: grid; place-items: center; }
.lp-ilustracao img { width: 100%; max-width: 440px; height: auto; filter: drop-shadow(0 30px 60px rgba(0,0,0,.5)) drop-shadow(0 0 60px rgba(201,154,30,.18)); }
@media (max-width: 1024px) { .lp-ilustracao img { max-width: 300px; } }

/* RAIO-X em primeiro, na primeira dobra do celular e do tablet (pedido do Marco, 05/11).
   Só a ordem na tela muda: no HTML o h1 continua antes da caixa (SEO e leitor de tela). */
@media (max-width: 1200px) {
  .hero-dupla .caixa-raio-x { order: -1; width: 100%; }
}
@media (max-width: 1024px) {
  .hero-caixa .caixa-raio-x { order: -1; justify-self: center; }
  .hero-caixa .container { gap: 36px; }
  .hero.hero-caixa, .hero-interno.hero-caixa, .hero-especialidade { padding-top: 24px !important; }
  .hero-especialidade .hero-dupla { justify-items: center; }
  .hero-especialidade .hero-texto { justify-self: stretch; }
}
@media (max-width: 640px) {
  .hero-caixa .caixa-raio-x, .hero-dupla .caixa-raio-x { padding: 20px; gap: 10px; }
  .hero-caixa .caixa-raio-x .caixa-titulo, .hero-dupla .caixa-raio-x .caixa-titulo { font-size: 34px; }
  .hero-caixa .caixa-raio-x .caixa-sub, .hero-dupla .caixa-raio-x .caixa-sub { font-size: 15px; }
}

/* ════════ landing page do Google Ads: /lp/ (05/11, versão 2: centralizada, sem barra do topo) ════════ */
.ads-dobra { padding: 40px 0 96px; }
.ads-dobra .container { display: grid; justify-items: center; text-align: center; gap: 22px; position: relative; }
.ads-marca { font-size: 28px; margin-bottom: 18px; }
.ads-dobra h1 { font-size: 48px; line-height: 1.22; letter-spacing: -0.015em; max-width: 1200px; text-wrap: balance; }
.ads-preco { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 6px 14px; color: var(--paragrafo); font-size: 19px; font-weight: 600; }
.ads-preco span { display: inline-flex; align-items: baseline; gap: 10px; }
.ads-preco s, .ads-preco b { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.ads-preco s { color: #8C8C8C; text-decoration: line-through; text-decoration-thickness: 5px; text-decoration-color: #C2503F; }
.ads-preco b { color: #34C27A; }
.ads-letra { color: var(--paragrafo); font-size: 15px; }
/* o campo: fundo um pouco mais claro e borda dourada, para ter destaque */
.ads-campo { justify-content: center; max-width: 660px; }
.ads-campo input { background: #1F1F1F; border: 2px solid var(--ouro-500); box-shadow: 0 0 0 4px rgba(201,154,30,.10), 0 10px 30px rgba(0,0,0,.35); }
.ads-campo input::placeholder { color: #8F8F8F; }
.ads-campo input:focus { outline: none; border-color: var(--ouro-300); box-shadow: 0 0 0 4px rgba(224,179,58,.28); }
/* o botão com o reflexo passando */
.botao-brilho { position: relative; overflow: hidden; isolation: isolate; box-shadow: 0 10px 30px rgba(201,154,30,.28); }
.botao-brilho::after { content: ""; position: absolute; top: -10%; bottom: -10%; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent); transform: skewX(-22deg); animation: brilho 3.4s ease-in-out infinite; pointer-events: none; }
@keyframes brilho { 0% { left: -60%; } 38%, 100% { left: 130%; } }

/* o desenho do resultado: anel da nota e as barras, animados quando aparecem */
@property --n { syntax: '<integer>'; inherits: false; initial-value: 0; }
.ads-resultado { margin: 34px 0 0; width: 100%; max-width: 760px; text-align: left; background: linear-gradient(180deg, #1A1A1A, #121212); border: 1px solid var(--borda); border-radius: 20px; box-shadow: 0 30px 70px rgba(0,0,0,.5), 0 0 0 1px rgba(201,154,30,.10); overflow: hidden; }
.ads-resultado-cab { display: flex; justify-content: space-between; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--borda); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ouro-300); }
.ads-resultado-site { color: #7A7A7A; text-transform: none; letter-spacing: 0; font-weight: 500; }
.ads-resultado-corpo { display: grid; grid-template-columns: 190px 1fr; gap: 32px; align-items: center; padding: 26px 28px 30px; }
.ads-anel { position: relative; width: 190px; aspect-ratio: 1; }
.ads-anel svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.anel-fundo { fill: none; stroke: #2A2A2A; stroke-width: 10; }
.anel { fill: none; stroke: url(#ouro-anel); stroke-width: 10; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--nota)); filter: drop-shadow(0 0 6px rgba(201,154,30,.45)); transition: stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1) .2s; }
.ads-nota { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; line-height: 1; }
.ads-nota-num { --n: var(--nota); counter-reset: n var(--n); font-size: 54px; font-weight: 800; letter-spacing: -0.04em; color: var(--titulo); transition: --n 1.8s cubic-bezier(.2,.7,.2,1) .2s; }
.ads-nota-num::before { content: counter(n); }
.ads-nota span { font-size: 14px; color: var(--paragrafo); margin-top: 6px; }
.ads-veredito { display: grid; gap: 8px; }
.ads-veredito-tit { font-size: 24px; font-weight: 800; color: var(--ouro-300); letter-spacing: -0.02em; }
.ads-veredito-sub { font-size: 15px; color: var(--paragrafo); line-height: 1.5; }
.ads-barras { list-style: none; display: grid; gap: 10px; margin-top: 8px; }
.ads-barras li { display: grid; gap: 5px; font-size: 14px; color: #CFCFCF; }
.ads-barras i { display: block; height: 8px; border-radius: 8px; background: #2A2A2A; position: relative; overflow: hidden; }
.ads-barras i::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--v); border-radius: 8px; background: linear-gradient(90deg, #A97A10, #F0C75A); transition: width 1.4s cubic-bezier(.2,.7,.2,1); }
.ads-barras li:nth-child(1) i::before { transition-delay: .5s; }
.ads-barras li:nth-child(2) i::before { transition-delay: .7s; }
.ads-barras li:nth-child(3) i::before { transition-delay: .9s; }
.ads-barras li:nth-child(4) i::before { transition-delay: 1.1s; }
/* antes de aparecer na tela (o site.js põe "espera" e tira quando o desenho entra na tela) */
.ads-resultado.espera .anel { stroke-dashoffset: 100; }
.ads-resultado.espera .ads-nota-num { --n: 0; }
.ads-resultado.espera .ads-barras i::before { width: 0; }

/* o que a análise grátis mostra: peças de xadrez e a lupa ao lado da lista */
.ads-mostra .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; }
.ads-mostra .cabeca { text-align: left; justify-items: start; margin: 0 0 32px; }
.ads-pecas { position: relative; height: 560px; }
.ads-pecas img { position: absolute; height: auto; max-width: none; filter: drop-shadow(0 30px 40px rgba(0,0,0,.25)); }
.ads-rei { width: 250px; left: 4%; top: 0; transform: rotate(-6deg); -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 92%); mask-image: linear-gradient(to bottom, #000 62%, transparent 92%); }
.ads-peao { width: 190px; left: 46%; top: 210px; transform: rotate(8deg); }
.ads-lupa { position: absolute; width: 240px; left: 28%; top: 120px; filter: drop-shadow(0 18px 26px rgba(0,0,0,.30)); animation: lupa 6s ease-in-out infinite; transform-origin: 40% 40%; }
@keyframes lupa { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 30% { transform: translate(34px, 46px) rotate(6deg); } 65% { transform: translate(-18px, 70px) rotate(-4deg); } }

.ads-fim .container { gap: 22px; }
.ads-fim .ads-preco { margin-top: 6px; }

@media (prefers-reduced-motion: reduce) {
  .botao-brilho::after, .ads-lupa { animation: none; }
  .anel, .ads-nota-num, .ads-barras i::before { transition: none; }
}
@media (max-width: 1200px) { .ads-dobra h1 { font-size: 42px; } }
@media (max-width: 1024px) {
  .ads-dobra { padding: 28px 0 72px; }
  .ads-mostra .container { grid-template-columns: 1fr; gap: 24px; }
  .ads-mostra .cabeca { text-align: center; justify-items: center; }
  .ads-pecas { height: 300px; width: 100%; max-width: 420px; justify-self: center; }
  .ads-rei { width: 140px; left: 12%; }
  .ads-peao { width: 108px; left: 58%; top: 110px; }
  .ads-lupa { width: 140px; left: 32%; top: 60px; }
}
@media (max-width: 640px) {
  .ads-dobra .container { gap: 16px; }
  .ads-marca { font-size: 24px; margin-bottom: 6px; }
  .ads-dobra h1 { font-size: 30px; line-height: 1.25; }
  .ads-preco s, .ads-preco b { font-size: 32px; }
  .ads-letra { font-size: 14px; }
  .ads-mostra .rotulo { font-size: 13px; letter-spacing: .04em; }
  .ads-resultado { margin-top: 24px; }
  .ads-resultado-cab { padding: 10px 16px; font-size: 12px; }
  .ads-resultado-corpo { grid-template-columns: 1fr; justify-items: center; gap: 20px; padding: 22px 18px 24px; }
  .ads-anel { width: 160px; }
  .ads-nota-num { font-size: 46px; }
  .ads-veredito { text-align: center; width: 100%; }
  .ads-barras { text-align: left; }
}
