/* ==========================================================================
   gabeads.com.br — estilo único do site
   Identidade: Manual de Identidade Visual Gabe (0. Identidade/0. Manual)
   Estética: a mesma dos carrosséis do Instagram. Fundo claro, minimalismo, muito respiro,
   títulos Poppins em azul-marinho com palavras em laranja, barrinha laranja acima dos rótulos,
   cartões brancos com sombra suave. Sem grade de fundo e sem seções escuras.
   Ao alterar este arquivo, aumente o ?v= em TODAS as páginas (ver CLAUDE.md).
   ========================================================================== */

/* ---------- Fontes hospedadas no próprio site (Poppins 700/800 e Inter variável, subconjunto latino) ----------
   As fontes "Fallback" imitam as medidas da Poppins e da Inter usando a Arial do aparelho, para o texto não
   mudar de tamanho quando a fonte real termina de carregar (evita pulo de layout / CLS). */
@font-face{font-family:'Poppins'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fontes/poppins-700.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins'; font-style:normal; font-weight:800; font-display:swap; src:url('/assets/fontes/poppins-800.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap; src:url('/assets/fontes/inter-variavel.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Poppins Fallback'; src:local('Arial'); size-adjust:112.1%; ascent-override:93.8%; descent-override:31.3%; line-gap-override:8.9%;}
@font-face{font-family:'Inter Fallback'; src:local('Arial'); size-adjust:107.1%; ascent-override:90.4%; descent-override:22.5%; line-gap-override:0%;}

/* ---------- Tokens (paleta do manual, versão clara dos carrosséis) ---------- */
:root{
  --orange-1:#f95c03; --orange-2:#fa7f06; --orange-3:#e14d02;
  --orange-grad: linear-gradient(100deg, var(--orange-1), var(--orange-2) 55%, var(--orange-3));
  --orange-texto-grad: linear-gradient(100deg, #e14d02, #f95c03 60%, #e86a05);
  --laranja-texto:#c2410c;               /* laranja escuro para textos pequenos (contraste AA no fundo claro) */
  --navy:#0e1b2c; --blue-elem:#0b3077; --action:#1565c0; --azul-claro:#eaf1fb;
  --verde:#136c41; --verde-claro:#e6f6ee; --erro:#c62828;

  --bg:#f5f7fa; --bg-alt:#ffffff; --card:#ffffff; --campo:#f5f7fa;
  --text:var(--navy); --text-soft:#475569; --text-mute:#5f6f84; --linha:#e3e8ef;
  --sombra:0 24px 50px -28px rgba(14,27,44,.22), 0 2px 6px rgba(14,27,44,.04);
  --sombra-forte:0 30px 70px -30px rgba(14,27,44,.32), 0 2px 8px rgba(14,27,44,.05);

  --display:'Poppins', 'Poppins Fallback', sans-serif; --corpo:'Inter', 'Inter Fallback', sans-serif;
  --raio:16px; --raio-card:24px;
  color-scheme: light;
}

/* ---------- Base ---------- */
*{box-sizing:border-box; margin:0; padding:0;}
[hidden]{display:none !important;}
html{scroll-behavior:smooth; background:var(--bg);}
body{font-family:var(--corpo); color:var(--text); background:var(--bg); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
img,svg{display:block; max-width:100%;}
a{color:inherit;}
section{scroll-margin-top:72px;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:var(--display); font-weight:800; line-height:1.1; letter-spacing:-.02em; color:var(--navy);}
strong{color:var(--navy);}
.grad-texto{background:var(--orange-texto-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.pular{position:absolute; left:-9999px;}
.pular:focus{left:16px; top:16px; z-index:100; background:var(--card); padding:10px 14px; border-radius:8px; box-shadow:var(--sombra);}
:focus-visible{outline:2px solid var(--orange-1); outline-offset:3px;}

/* Rótulo dos carrosséis: barrinha laranja em degradê e texto laranja em caixa alta, espaçado */
.rotulo{font-family:var(--corpo); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--laranja-texto);}
.rotulo.laranja{color:var(--laranja-texto);}
.rotulo .n{color:var(--text-mute); margin-right:10px;}
.cab .rotulo::before,.vidro .rotulo::before{content:''; display:block; width:64px; height:6px; border-radius:100px; background:var(--orange-grad); margin-bottom:18px;}

/* ---------- Botões ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 26px; border-radius:var(--raio); font-family:var(--corpo); font-weight:700; font-size:13px; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; white-space:nowrap;}
.btn-primario{background:var(--orange-grad); color:#fff; box-shadow:0 14px 28px -14px rgba(249,92,3,.7);}
.btn-primario:hover{transform:translateY(-2px); box-shadow:0 18px 34px -12px rgba(249,92,3,.75);}
.btn-contorno{background:#fff; color:var(--navy); border-color:var(--linha);}
.btn-contorno:hover{border-color:var(--orange-2); transform:translateY(-2px);}

/* ---------- Cabeçalho ---------- */
.marca{display:flex; align-items:center; gap:11px; text-decoration:none;}
.marca .mark{width:38px; height:38px; border-radius:11px; background:var(--orange-grad); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px -10px rgba(249,92,3,.6);}
.marca .txt{display:flex; flex-direction:column; line-height:1;}
.marca .word{font-family:var(--display); font-weight:800; font-size:20px; letter-spacing:-.02em; color:var(--navy);}
.marca .tag{font-weight:700; font-size:8px; letter-spacing:.3em; color:var(--laranja-texto); margin-top:4px;}

.topo{position:sticky; top:0; z-index:50; background:rgba(245,247,250,.86); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--linha);}
.topo nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:14px;}
.nav-links{display:flex; align-items:center; gap:28px; font-size:13.5px; font-weight:500; color:var(--text-soft);}
.nav-links a{text-decoration:none; transition:color .15s ease;}
.nav-links a:hover{color:var(--navy);}
.topo .btn{padding:12px 18px; font-size:12px;}

/* ---------- Hero (fundo claro, sem grade) ---------- */
.hero{position:relative; padding:88px 0 104px; background:var(--bg);}
.hero .wrap{position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center;}
.hero h1{font-size:clamp(36px,5vw,64px); margin-top:6px;}
.hero h1 .destaque{display:block;}
.hero .lead{margin-top:24px; font-size:17.5px; line-height:1.7; color:var(--text-soft); max-width:52ch;}
.acoes{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}
.chip{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--action); padding:7px 12px; border-radius:100px; background:var(--azul-claro);}
.checks{list-style:none; display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:24px; font-size:14.5px; font-weight:500; color:var(--navy);}
.checks li::before{content:'✓'; color:var(--orange-1); font-weight:800; margin-right:8px;}

/* Cartão branco do hero (formulário), como as imagens dos carrosséis */
.vidro{background:var(--card); border-radius:28px; padding:34px; box-shadow:var(--sombra-forte);}
.vidro h2{font-size:24px; margin-top:12px;}
.vidro p{margin-top:12px; font-size:15px; line-height:1.65; color:var(--text-soft);}

/* ---------- Seções ---------- */
.secao{padding:112px 0;}
.secao.alt{background:var(--bg-alt);}
.secao.marca-fundo{background:var(--bg);}

/* Cabeçalho de seção em leitura F: barrinha, rótulo, título e apoio empilhados, tudo à esquerda */
.cab{display:block; margin-bottom:52px; max-width:860px;}
.cab .rotulo{display:block; margin-bottom:16px;}
.cab h2{font-size:clamp(30px,3.8vw,50px); max-width:24ch;}
.cab p{margin-top:18px; font-size:17px; line-height:1.7; color:var(--text-soft); max-width:64ch;}
/* Asterisco do prazo ("No ar em 7 dias*") e a nota discreta que explica */
.asterisco{color:var(--orange-1);}
a.asterisco{color:var(--laranja-texto); text-decoration:none; font-weight:800; padding:0 4px;}
.cab p.nota-prazo{margin-top:12px; font-size:13.5px; line-height:1.55; color:var(--text-mute); max-width:60ch;}
ol.linhas,ul.linhas{list-style:none;}
.texto-corrido p{font-size:17px; line-height:1.75; color:var(--text-soft); margin-bottom:16px; max-width:66ch;}

/* Cards */
.grade-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.grade-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.grade-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.card{border-radius:var(--raio-card); padding:28px 26px; background:var(--card); box-shadow:var(--sombra);}
.card h3{font-size:20px; margin-top:6px;}
.card p{margin-top:10px; font-size:15px; line-height:1.6; color:var(--text-soft);}
.card .icone{width:48px; height:48px; border-radius:14px; background:var(--orange-grad); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:22px;}
.card .icone.azul{background:var(--azul-claro); color:var(--action);}
.card .icone svg{width:22px; height:22px;}
.card .rotulo{display:block; margin-top:18px;}

/* Faixa de números (sem números inventados: só fatos da oferta) */
.numeros-faixa{display:grid; grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 26px 6px; border-left:1px solid var(--linha);}
.stat:first-child{border-left:0; padding-left:0;}
.stat .valor{font-family:var(--display); font-weight:800; font-size:clamp(34px,4vw,54px); letter-spacing:-.03em; line-height:1;}
.stat .valor em{font-style:normal; background:var(--orange-texto-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.stat .legenda{margin-top:12px; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mute); line-height:1.5;}

/* Lista numerada com divisórias */
.linhas{border-top:1px solid var(--linha);}
.linha{display:grid; grid-template-columns:90px 1fr 1.4fr; gap:28px; align-items:baseline; padding:28px 0; border-bottom:1px solid var(--linha);}
.linha .n{font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--laranja-texto);}
.linha h3{font-size:clamp(19px,1.9vw,24px);}
.linha p{font-size:15.5px; line-height:1.6; color:var(--text-soft);}

/* Abas ("como funciona"), com os pontinhos dos carrosséis: cinza e laranja no ativo */
.sistema{display:grid; grid-template-columns:280px 1fr; gap:44px; align-items:start;}
.abas-lista{display:grid; gap:6px;}
.aba{display:flex; align-items:center; gap:14px; width:100%; text-align:left; background:none; border:0; border-radius:14px; padding:14px 14px; cursor:pointer; font-family:var(--display); font-weight:700; font-size:17px; color:var(--text-mute); transition:color .15s ease, background .15s ease, box-shadow .15s ease;}
.aba .num{width:30px; height:30px; flex-shrink:0; border-radius:50%; background:#e3e8ef; display:flex; align-items:center; justify-content:center; font-family:var(--corpo); font-size:12px; font-weight:700; color:var(--text-soft);}
.aba:hover{color:var(--navy);}
.aba[aria-selected="true"]{color:var(--navy); background:var(--card); box-shadow:var(--sombra);}
.aba[aria-selected="true"] .num{background:var(--orange-grad); color:#fff;}
.aba-painel{border-radius:28px; background:var(--card); padding:44px; box-shadow:var(--sombra);}
.aba-painel[hidden]{display:none;}
.aba-painel h3{font-size:clamp(24px,2.6vw,32px); margin-top:14px;}
.aba-painel p{margin-top:14px; font-size:16.5px; line-height:1.7; color:var(--text-soft); max-width:58ch;}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:24px;}
.tags span{font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:7px 12px; border-radius:8px; background:var(--azul-claro); color:var(--action);}

/* ---------- Home ---------- */
.definicao .rotulo{display:block;}
.definicao .fonte{margin-top:20px; padding-top:16px; border-top:1px solid var(--linha); font-size:12.5px; color:var(--text-mute);}

/* ---------- Mensagens (exemplo de filtro) ---------- */
.conversas{display:grid; gap:12px;}
.msg{border-radius:var(--raio-card); padding:24px;}
.msg .selo{font-size:11px; font-weight:700; letter-spacing:.12em;}
.msg p{margin-top:10px; line-height:1.5;}
.msg.boa{background:var(--card); color:var(--navy); box-shadow:var(--sombra);}
.msg.boa .selo{color:var(--verde);}
.msg.boa p{font-family:var(--display); font-weight:700; font-size:16.5px;}
.msg .msg-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px;}
.msg .msg-tags span{font-size:11px; padding:4px 9px; border-radius:100px; background:var(--bg); color:var(--text-soft);}
.msg.ruim{background:var(--bg); border:1px dashed #cbd3de;}
.msg.ruim .selo{color:var(--laranja-texto);}
.msg.ruim p{font-size:14.5px; color:var(--text-mute);}
.msg.ruim small{display:block; margin-top:8px; font-size:12px; color:var(--text-mute);}
.conversas figcaption{font-size:12px; color:var(--text-mute); text-align:center; padding-top:4px;}
.filtro-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:28px; align-items:start;}
.filtro-grid .grade-3{grid-template-columns:1fr;}
.quebra{margin-top:40px; font-family:var(--display); font-size:clamp(22px,2.6vw,30px); font-weight:700; letter-spacing:-.01em;}

/* Quem sou: texto à esquerda (leitura F) e foto em cartão branco à direita, como as imagens dos carrosséis */
.wrap.sobre{display:grid; grid-template-columns:1.25fr .75fr; gap:64px; align-items:center;}
.wrap.sobre .cab{margin-bottom:0;}
.foto-sobre{position:relative; background:var(--card); padding:12px; border-radius:28px; box-shadow:var(--sombra-forte); max-width:400px; justify-self:end;
  -webkit-user-select:none; user-select:none; -webkit-touch-callout:none;}
.foto-sobre img{width:100%; height:auto; border-radius:20px; aspect-ratio:4/5; object-fit:cover; pointer-events:none; -webkit-user-drag:none;}
/* Camada transparente por cima da foto: o clique direito e o "toque longo" no celular pegam a camada,
   e não a imagem, então não aparece "Salvar imagem". Não impede print de tela (nada impede). */
.foto-sobre::after{content:''; position:absolute; inset:0; border-radius:28px; background:transparent;}

.sobre-grid{display:grid; grid-template-columns:1.3fr .7fr; gap:56px; align-items:start;}
.sobre-grid .numeros-faixa{grid-template-columns:1fr;}
.sobre-grid .stat{border-left:0; border-top:1px solid var(--linha); padding:22px 0;}

/* FAQ */
.faq{display:grid; gap:12px;}
.faq details{border-radius:20px; background:var(--card); padding:22px 26px; box-shadow:var(--sombra);}
.secao:not(.alt) .faq details{background:var(--card);}
.secao.alt .faq details{background:var(--bg); box-shadow:none;}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:var(--display); font-weight:700; font-size:17px; color:var(--navy);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .mais{flex-shrink:0; width:32px; height:32px; border-radius:50%; background:#fff; border:1.5px solid var(--linha); display:flex; align-items:center; justify-content:center; color:var(--orange-1); font-weight:700; transition:transform .25s ease, background .25s ease;}
.faq details[open] .mais{transform:rotate(45deg); background:var(--orange-grad); color:#fff; border-color:transparent;}
.faq details p{margin-top:14px; font-size:15.5px; line-height:1.7; color:var(--text-soft); max-width:66ch;}

/* CTA final */
.cta-final{border-radius:28px; padding:64px 56px; display:grid; grid-template-columns:1.3fr auto; gap:40px; align-items:center; background:var(--card); box-shadow:var(--sombra);}
.cta-final h2{font-size:clamp(26px,3.2vw,40px); margin-top:14px;}
.cta-final p{margin-top:14px; color:var(--text-soft); font-size:16.5px; line-height:1.6; max-width:54ch;}

/* ---------- Formulário ---------- */
.formulario h2{font-size:25px; margin:0 0 20px;}
.formulario .rotulo + h2{margin-top:12px;}
.formulario h2 + .sub{margin-top:-12px;}
.formulario .sub{font-size:14px; color:var(--text-soft); margin-bottom:22px; line-height:1.5;}
.campo{display:grid; gap:6px; margin-bottom:12px;}
.campo label{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft);}
.campo input,.campo select{font:inherit; font-size:15px; color:var(--navy); background:var(--campo); border:1.5px solid var(--linha); border-radius:12px; padding:13px 14px; width:100%; transition:border-color .15s ease, background .15s ease;}
.campo select option{background:#fff; color:var(--navy);}
.campo input::placeholder{color:#8593a6;}
.campo input:focus,.campo select:focus{outline:none; border-color:var(--orange-1); background:#fff;}
.campo .erro{font-size:12.5px; color:var(--erro); display:none;}
.campo.invalido input,.campo.invalido select{border-color:var(--erro);}
.campo.invalido .erro{display:block;}
.campos-2{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:end;}
.formulario .btn{width:100%; margin-top:8px; padding:17px 22px;}
.formulario .btn[disabled]{opacity:.7; cursor:wait;}
.formulario .garantia{margin-top:14px; text-align:center; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-mute);}
.formulario .lgpd{margin-top:10px; font-size:11.5px; line-height:1.5; color:var(--text-mute); text-align:center;}
.formulario .lgpd a,.cookies a{color:var(--navy);}

/* ---------- Página de obrigado ---------- */
.obrigado{min-height:calc(100vh - 160px); display:flex; align-items:center; padding:80px 0;}
.obrigado .caixa{max-width:640px; margin:0 auto; text-align:center; display:block;}
.obrigado .check{width:64px; height:64px; margin:0 auto 24px; border-radius:50%; background:var(--verde-claro); color:var(--verde); display:flex; align-items:center; justify-content:center;}
.obrigado h1{font-size:clamp(30px,4vw,46px);}
.obrigado p{margin-top:16px; font-size:16.5px; line-height:1.65; color:var(--text-soft);}

/* ---------- Selo "vagas" ---------- */
.selo-ativo{display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--verde); padding:8px 14px; border-radius:100px; background:var(--verde-claro);}
.selo-ativo .ponto{width:8px; height:8px; border-radius:50%; background:var(--verde); animation:pulsar 2s infinite;}
@keyframes pulsar{0%{box-shadow:0 0 0 0 rgba(23,132,79,.45);} 70%{box-shadow:0 0 0 10px rgba(23,132,79,0);} 100%{box-shadow:0 0 0 0 rgba(23,132,79,0);}}
.hero .selo-ativo{margin-bottom:18px;}

/* ---------- Botão "oportunidade temporária" (hero da LP) ---------- */
.selo-oferta{display:inline-flex; align-items:center; gap:12px; margin-bottom:26px; padding:6px 18px 6px 6px; border-radius:100px; text-decoration:none; color:var(--navy); font-size:14.5px; font-weight:600; line-height:1.3;
  background:#fff; border:1.5px solid rgba(249,92,3,.35); box-shadow:0 12px 28px -16px rgba(249,92,3,.6); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.selo-oferta:hover{transform:translateY(-2px); border-color:var(--orange-1); box-shadow:0 16px 32px -14px rgba(249,92,3,.7);}
.selo-oferta .etiqueta{flex-shrink:0; background:var(--orange-grad); color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:8px 13px; border-radius:100px;}
.selo-oferta .seta{flex-shrink:0; color:var(--orange-1); font-weight:700; transition:transform .2s ease;}
.selo-oferta:hover .seta{transform:translateX(4px);}

/* ---------- História da persona (linha do tempo vertical, leitura F) ---------- */
.historia{list-style:none; border-left:2px solid #f6c9a8; max-width:860px;}
.cena{display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:baseline; padding:18px 0 18px 26px; position:relative;}
.cena::before{content:''; position:absolute; left:-7px; top:26px; width:12px; height:12px; border-radius:50%; background:var(--orange-1); box-shadow:0 0 0 4px var(--bg);}
.secao.alt .cena::before{box-shadow:0 0 0 4px var(--bg-alt);}
.cena .quando{font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--laranja-texto);}
.cena p{font-size:16.5px; line-height:1.65; color:var(--text-soft);}
.moral{margin-top:44px; font-family:var(--display); font-weight:800; font-size:clamp(21px,2.5vw,28px); letter-spacing:-.01em; max-width:34ch; color:var(--navy);}

/* ---------- Expectativa x realidade (agência) ---------- */
.expectativa{margin-top:64px; max-width:1040px;}
.expectativa h3{font-size:clamp(22px,2.6vw,30px);}
.expectativa > p{margin-top:12px; font-size:16.5px; line-height:1.65; color:var(--text-soft); max-width:64ch;}
.tabela-exp{width:100%; margin-top:26px; border-collapse:separate; border-spacing:0; border-radius:var(--raio-card); overflow:hidden; background:var(--card); box-shadow:var(--sombra);}
.tabela-exp th,.tabela-exp td{text-align:left; vertical-align:top; padding:20px 22px; border-bottom:1px solid var(--linha); font-size:15px; line-height:1.55;}
.tabela-exp tbody tr:last-child th,.tabela-exp tbody tr:last-child td{border-bottom:0;}
.tabela-exp thead th{font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; background:#fafbfc;}
.tabela-exp thead th:nth-child(1){color:var(--text-mute);}
.tabela-exp thead th:nth-child(2){color:var(--laranja-texto);}
.tabela-exp thead th:nth-child(3){color:var(--action);}
.tabela-exp tbody th{font-weight:500; color:var(--text-mute); text-decoration:line-through; text-decoration-color:#a7b2c0; width:24%;}
.tabela-exp tbody td:nth-of-type(1){font-family:var(--display); font-weight:700; color:var(--navy); width:24%;}
.tabela-exp tbody td:nth-of-type(2){color:var(--text-soft);}

/* ---------- Qualidade x quantidade ---------- */
.mensagens{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.mensagens .lado .rotulo{display:block; margin-bottom:12px;}
.mensagens .lado:first-child .rotulo{color:var(--verde);}
.mensagens .msg{height:calc(100% - 30px);}
.secao.alt .msg.boa{background:var(--bg); box-shadow:none;}
.secao.alt .msg.ruim{background:#fff;}
.msg .motivo,.msg p.motivo{display:block; margin-top:12px; font-family:var(--corpo); font-weight:400; font-size:13px; line-height:1.5; text-decoration:none;}
ul.nav-links,ul.painel-semantico{list-style:none;}
.msg.boa .motivo{color:var(--verde);}
.msg.ruim .motivo{color:var(--text-mute);}
.msg.ruim p.riscada{text-decoration:line-through; text-decoration-color:#a7b2c0;}
.legenda-ilustrativa{margin-top:12px; font-size:12.5px; color:var(--text-mute);}

/* Painel semântico (mood board das funções do tráfego pago) */
.painel-titulo{margin:72px 0 24px; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px;}
.painel-titulo h3{font-size:clamp(22px,2.6vw,30px);}
.painel-titulo p{font-size:15px; color:var(--text-soft);}
/* Três cartões claros e iguais, contraste baixo: o laranja aparece só como detalhe no ícone */
.painel-semantico{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.peca{border-radius:var(--raio-card); padding:26px; display:flex; flex-direction:column; justify-content:flex-start; gap:16px; background:var(--bg); border:1px solid var(--linha);}
.peca .tags-peca{margin-top:auto;}
.peca .icone-peca{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#fff1e6; color:var(--orange-1);}
.peca .icone-peca svg{width:20px; height:20px;}
.peca h4{font-family:var(--display); font-weight:700; font-size:17px; line-height:1.2; color:var(--navy);}
.peca p{margin-top:6px; font-size:14px; line-height:1.55; color:var(--text-soft);}
.peca.larga{grid-column:span 2;}
.peca.alta{grid-row:span 2;}
.peca.laranja{background:var(--orange-grad);}
/* No cartão laranja o texto fica preto (azul-marinho da marca), que tem contraste melhor que o branco */
.peca.laranja h4,.peca.laranja p{color:var(--navy);}
.peca.laranja .icone-peca{background:rgba(255,255,255,.35); color:var(--navy); box-shadow:none;}
.peca.navy{background:var(--azul-claro);}
.peca.navy .icone-peca{color:var(--action);}
.peca.gelo{background:var(--bg);}
.tags-peca{display:flex; flex-wrap:wrap; gap:6px;}
.tags-peca span{font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 9px; border-radius:7px; background:#fff; color:var(--text-soft);}
.peca.navy .tags-peca span{color:var(--action);}
.peca.laranja .tags-peca span{background:rgba(255,255,255,.35); color:var(--navy); font-size:12px; padding:7px 11px;}

/* ---------- Investimento (preço) ---------- */
.investimento{display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:start;}
.preco-card{border-radius:28px; padding:40px 36px 36px; background:var(--card); box-shadow:var(--sombra-forte); position:relative; overflow:hidden;}
.preco-card::before{content:''; position:absolute; left:0; right:0; top:0; height:6px; background:var(--orange-grad);}
.preco-card .valor{font-family:var(--display); font-weight:800; font-size:clamp(44px,5.4vw,64px); letter-spacing:-.03em; line-height:1; margin-top:16px; color:var(--navy);}
.preco-card .valor small{font-size:18px; font-weight:600; color:var(--text-soft); letter-spacing:0;}
.preco-card .de{margin-top:20px; font-size:16px; color:var(--text-soft);}
.preco-card .de s{color:var(--text-mute);}
.preco-card .valor + .quando{margin-top:10px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--laranja-texto);}
.preco-card h3{font-size:clamp(22px,2.4vw,28px); margin-top:16px;}
.preco-card .nota{margin-top:12px; font-size:14.5px; line-height:1.6; color:var(--text-soft);}
.preco-card .btn{margin-top:28px;}
.preco-lista{list-style:none; display:grid; gap:0; border-radius:28px; background:var(--bg); padding:12px 30px;}
.preco-lista li{padding:18px 0; border-bottom:1px solid var(--linha); font-size:15px; line-height:1.55; color:var(--text-soft);}
.preco-lista li:last-child{border-bottom:0;}
.preco-lista strong{display:block; color:var(--navy); font-family:var(--display); font-weight:700; font-size:16px; margin-bottom:3px;}
.fecho-secao{margin-top:44px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding-top:32px; border-top:1px solid var(--linha);}
.fecho-secao p{font-family:var(--display); font-weight:800; font-size:clamp(19px,2.2vw,25px); color:var(--navy);}

/* ---------- Página 404 ---------- */
.pagina-erro{min-height:calc(100vh - 180px); display:flex; align-items:center;}
.pagina-erro .wrap{grid-template-columns:1fr;}

/* ---------- Página legal (privacidade) ---------- */
.legal .corpo a{color:var(--laranja-texto);}
.legal .corpo .privacidade{background:none; border:0; font:inherit; color:var(--laranja-texto); text-decoration:underline; cursor:pointer; padding:0;}

.legal .sumario{padding:22px 24px; border-radius:20px; background:var(--card); box-shadow:var(--sombra);}
.legal .sumario ol{margin:10px 0 0 20px; display:grid; gap:6px;}
.legal .sumario a{font-size:15px; color:var(--laranja-texto);}
.legal .corpo h2{scroll-margin-top:90px;}
.tabela-rolagem{overflow-x:auto; margin:8px 0 18px; border-radius:16px; background:var(--card); box-shadow:var(--sombra);}
.tabela-cookies{width:100%; min-width:640px; border-collapse:collapse; font-size:14px; line-height:1.5;}
.tabela-cookies th,.tabela-cookies td{padding:12px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--linha); color:var(--text-soft);}
.tabela-cookies thead th{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--laranja-texto); background:#fafbfc;}
.tabela-cookies tbody th{color:var(--navy); font-weight:600; white-space:nowrap;}
.tabela-cookies tbody tr:last-child th,.tabela-cookies tbody tr:last-child td{border-bottom:0;}

/* ---------- Anti-spam: campo isca invisível para pessoas ---------- */
.campo-isca{position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden;}

/* ---------- Topo das páginas internas (privacidade) ---------- */
.blog-topo{padding:80px 0 48px; background:var(--bg);}
.blog-topo .wrap{display:block;}
.blog-topo .rotulo::before{content:''; display:block; width:64px; height:6px; border-radius:100px; background:var(--orange-grad); margin-bottom:18px;}
.blog-topo h1{font-size:clamp(32px,4.4vw,54px); margin-top:14px;}
.blog-topo p{margin-top:16px; font-size:17px; line-height:1.65; color:var(--text-soft); max-width:56ch;}
.lista-posts{padding:56px 0 80px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.lista-vazia{padding:56px 0 80px; color:var(--text-soft);}
.post-card{display:flex; flex-direction:column; border-radius:var(--raio-card); padding:26px 24px; background:var(--card); box-shadow:var(--sombra); text-decoration:none; transition:transform .18s ease;}
.post-card:hover{transform:translateY(-3px);}
.post-card .data{font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--laranja-texto);}
.post-card h2{font-size:20px; margin-top:12px;}
.post-card p{font-size:15px; line-height:1.55; color:var(--text-soft); margin-top:10px; flex:1;}
.post-card .ler{margin-top:18px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--laranja-texto);}
.post{max-width:740px; margin:0 auto; padding:24px 32px 64px;}
.post h1{font-size:clamp(30px,4vw,46px); margin-top:22px;}
.post .data{margin-top:14px; font-size:13.5px; color:var(--text-soft);}
.post .corpo{margin-top:32px;}
.post .corpo h2{font-size:24px; margin:44px 0 12px;}
.post .corpo p,.post .corpo li{font-size:17px; line-height:1.8; color:var(--text-soft); margin-bottom:16px;}
.post .corpo ul{margin:0 0 18px 20px;}

/* ---------- Rodapé ---------- */
.rodape{padding:48px 0 110px; background:var(--bg-alt); border-top:1px solid var(--linha);}
.rodape .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.rodape .links{display:flex; align-items:center; flex-wrap:wrap; gap:18px; font-size:13.5px; color:var(--text-soft);}
.rodape .links a{text-decoration:none;}
.rodape .links a:hover{color:var(--navy);}
.rodape p{font-size:12.5px; color:var(--text-mute);}
.rodape .slogan{flex-basis:100%; font-family:var(--display); font-weight:800; font-size:clamp(18px,2.2vw,22px); letter-spacing:-.01em; color:var(--navy); padding-bottom:22px; margin-bottom:4px; border-bottom:1px solid var(--linha);}
.rodape .privacidade{background:none; border:0; font:inherit; font-size:13px; color:var(--text-soft); text-decoration:underline; cursor:pointer;}

/* ---------- Botão flutuante do formulário ---------- */
.cta-flutuante{position:fixed; right:24px; bottom:24px; z-index:60; box-shadow:0 18px 36px -12px rgba(249,92,3,.75); transition:opacity .2s ease, transform .2s ease;}
.cta-flutuante.oculto{opacity:0; transform:translateY(12px); pointer-events:none;}

/* ---------- Aviso de cookies (LGPD): janela central com o site desfocado ao fundo ---------- */
.cookies-fundo{position:fixed; inset:0; z-index:90; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(14,27,44,.32); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);}
.cookies-fundo.visivel{display:flex; animation:aparecer .25s ease;}
@keyframes aparecer{from{opacity:0;} to{opacity:1;}}
.cookies{width:100%; max-width:520px; max-height:calc(100vh - 40px); overflow-y:auto; background:var(--card); border-radius:28px; padding:30px; box-shadow:0 40px 80px -30px rgba(14,27,44,.5); text-align:left;}
.cookies .cookies-link{margin-top:10px; font-size:14px;}
.cookies .cookies-nota{margin-top:14px; font-size:13px; color:var(--text-mute);}
/* Guia da ANPD: aceitar, rejeitar e gerenciar com o mesmo formato e destaque */
.btn-cookie{background:#fff; color:var(--navy); border-color:#cbd3de; white-space:normal; line-height:1.3;}
.btn-cookie:hover{border-color:var(--navy); background:var(--bg);}
.cookies .botoes.tres{grid-template-columns:repeat(3,1fr);}
.cookie-cat{border-radius:16px; padding:14px 16px; margin-top:12px; background:var(--bg);}
.cookie-cat-topo{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.cookie-cat h3{font-size:16px;}
.cookie-cat p{margin-top:6px; font-size:13.5px; line-height:1.55;}
.cookie-cat .sempre{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--verde);}
.chave{position:relative; display:inline-block; width:46px; height:26px; flex-shrink:0; cursor:pointer;}
.chave input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer;}
.chave .trilho{position:absolute; inset:0; border-radius:100px; background:#c3ccd8; transition:background .2s ease;}
.chave .trilho::after{content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(14,27,44,.25); transition:transform .2s ease;}
.chave input:checked + .trilho{background:var(--orange-1);}
.chave input:checked + .trilho::after{transform:translateX(20px);}
.chave input:focus-visible + .trilho{outline:2px solid var(--orange-1); outline-offset:3px;}
.cookies .icone-cookie{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#fff1e6; color:var(--orange-1); margin-bottom:16px;}
.cookies h2{font-size:21px; margin-bottom:10px;}
.cookies p{font-size:14.5px; line-height:1.6; color:var(--text-soft);}
.cookies .botoes{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:22px;}
.cookies .btn{padding:14px 16px; font-size:12.5px;}
body.com-cookies{overflow:hidden;}
body.com-cookies .cta-flutuante{display:none;}

/* ---------- Animação de entrada ---------- */
.revelar{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.revelar.visivel{opacity:1; transform:none;}

/* ---------- Responsivo ---------- */
@media (max-width:1040px){
  .wrap.sobre{grid-template-columns:1fr; gap:40px;}
  .foto-sobre{justify-self:start; max-width:340px;}
  .hero .wrap,.sobre-grid,.filtro-grid,.investimento{grid-template-columns:1fr; gap:40px;}
  .painel-semantico{grid-template-columns:1fr 1fr;}
  .investimento{gap:16px;}
  .sistema{grid-template-columns:1fr; gap:20px;}
  .abas-lista{grid-template-columns:repeat(2,1fr);}
  .grade-4{grid-template-columns:1fr 1fr;}
  .numeros-faixa{grid-template-columns:1fr 1fr;}
  .stat:nth-child(3){border-left:0; padding-left:0;}
  .lista-posts{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .nav-links{display:none;}
  .grade-3{grid-template-columns:1fr;}
  .linha{grid-template-columns:60px 1fr; gap:6px 18px;}
  .linha p{grid-column:2;}
  .cta-final{grid-template-columns:1fr; padding:44px 28px;}
}
@media (max-width:640px){
  .wrap{padding:0 16px;}
  .secao{padding:72px 0;}
  .hero{padding:44px 0 64px;}
  .grade-2,.grade-4,.lista-posts,.campos-2,.mensagens,.painel-semantico{grid-template-columns:1fr;}
  .cena{grid-template-columns:1fr; gap:6px; padding-left:20px;}
  /* Tabela de expectativa vira cartões empilhados no celular */
  .tabela-exp thead{position:absolute; left:-9999px;}
  .tabela-exp tr{display:block; padding:18px 20px; border-bottom:1px solid var(--linha);}
  .tabela-exp tbody tr:last-child{border-bottom:0;}
  .tabela-exp th,.tabela-exp td{display:block; width:auto !important; padding:4px 0; border:0;}
  .tabela-exp td::before{content:attr(data-rotulo); display:block; font-family:var(--corpo); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--laranja-texto); margin-top:8px;}
  .peca.larga{grid-column:auto;} .peca.alta{grid-row:auto;}
  .mensagens .msg{height:auto;}
  .abas-lista{grid-template-columns:1fr;}
  .aba-painel{padding:28px 22px;}
  .vidro{padding:26px 20px; border-radius:24px;}
  .preco-card{padding:34px 24px 28px;}
  .preco-lista{padding:8px 22px;}
  .topo .btn{display:none;}
  .acoes .btn{width:100%;}
  .stat{padding:24px 16px 6px;}
  .post{padding:16px 16px 48px;}
  .cta-flutuante{left:16px; right:16px; bottom:16px;}
  .cookies{padding:24px 20px;}
  .cookies .botoes.tres{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;} *{transition:none !important;}
  .revelar{opacity:1; transform:none;}
  .selo-ativo .ponto{animation:none;}
}
