/* Anali · design system das landings — Zeca (index.html) e Beto (beto.html).
 *
 * Estava embutido dentro do index.html. Saiu para cá quando a segunda landing nasceu,
 * por um motivo concreto: a paleta passou por auditoria de contraste (o coral da marca
 * dá 3,97:1 sobre branco e reprova em texto pequeno, daí --coral-txt e --coral-btn
 * existirem separados). Duas cópias do mesmo CSS significam, em três meses, duas
 * paletas — e uma delas reprovando sem ninguém perceber.
 *
 * Se mexer nas cores, rodar a auditoria de contraste (testes/casos/50-telas.mjs).
 */
:root{
  --cream:#F5F4F0; --papel:#FFFFFF; --navy:#112744;
  /* Três corais, não um. O #E8450A da marca dá 3,97:1 sobre branco — bonito em bloco
     grande, ilegível em texto de 13px. Os dois tons abaixo foram calculados para bater
     4,5:1 (WCAG AA) e mantêm o mesmo matiz: ninguém percebe a diferença, todo mundo lê. */
  --coral:#E8450A; --coral-txt:#CC3D09; --coral-btn:#D84009;
  /* no fundo navy o coral escuro some (3:1) — sobre escuro o mesmo matiz precisa clarear */
  --coral-claro:#FF7A45;
  /* o verde da marca também não passa em texto pequeno: 3,39:1 sobre branco */
  --verde:#1D9E75; --verde-txt:#157C5C;
  --tinta:#2C2B28; --suave:#63615B; --fraco:#6F6D66;
  --linha:#E4E2DC;
  --t1:clamp(36px,6vw,66px); --t2:clamp(26px,3.6vw,40px); --t3:clamp(18px,2.1vw,22px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--tinta);
  font:400 17px/1.65 'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans','Inter',sans-serif;color:var(--navy);
  letter-spacing:-.022em;line-height:1.13;font-weight:800}
.env{max-width:1080px;margin:0 auto;padding:0 24px}
.estreito{max-width:780px;margin:0 auto}
section{padding:94px 0;scroll-margin-top:72px}  /* o cabeçalho é fixo: sem isso a âncora esconde o título */
@media(max-width:760px){section{padding:60px 0}}
.branca{background:var(--papel)}
.escura{background:var(--navy);color:#D6DEE9}
.escura h2,.escura h3,.escura h4{color:#fff}
.escura .olho{color:var(--coral-claro)}
.coral{color:var(--coral-txt)}

/* ---------- topo ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(245,244,240,.9);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--linha)}
.barra{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);
  text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;font-size:17px}
.logo i{width:9px;height:9px;border-radius:50%;background:var(--coral);display:block}
/* O Zeca usa o pontinho; o Beto usa a marca da Anali. Sem esta regra a imagem
   entra no tamanho natural (247x250) e estoura o cabecalho inteiro — foi
   exatamente o que aconteceu no primeiro deploy de vending.anali.ia.br. */
.logo img{height:24px;width:auto;display:block}
.topo-acoes{display:flex;align-items:center;gap:8px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 28px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;
  font:600 16px/1 'Inter',sans-serif;transition:transform .12s,box-shadow .12s,background .12s}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--coral-btn);color:#fff;box-shadow:0 6px 20px rgba(232,69,10,.24)}
.btn-p:hover{background:#CF3D08;box-shadow:0 10px 28px rgba(232,69,10,.3)}
.btn-s{background:transparent;color:var(--navy);border:1.5px solid #C4C1B9}
.btn-s:hover{border-color:var(--navy)}
.escura .btn-s{color:#fff;border-color:#3E5C80}
.escura .btn-s:hover{border-color:#fff}
.btn-g{padding:10px 18px;font-size:15px}
.btn-lg{padding:18px 34px;font-size:17.5px}

/* ---------- hero ---------- */
.hero{padding:78px 0 66px;text-align:center}
.selo{display:inline-flex;align-items:center;gap:8px;background:var(--papel);
  border:1px solid var(--linha);border-radius:999px;padding:7px 17px;
  font-size:13.5px;font-weight:600;color:var(--suave);margin-bottom:26px}
.selo b{color:var(--coral-txt)}
h1{font-size:var(--t1);margin-bottom:22px}
.hero p.sub{font-size:var(--t3);color:var(--suave);max-width:690px;margin:0 auto 34px;line-height:1.55}
.hero p.sub b{color:var(--tinta);font-weight:600}
.acoes{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.miudo{font-size:14.5px;color:var(--fraco);margin-top:20px;line-height:1.6}
.miudo b{color:var(--tinta);font-weight:600}
.provas{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:var(--linha);border:1px solid var(--linha);border-radius:16px;
  overflow:hidden;margin-top:58px}
.provas div{background:var(--papel);padding:24px 20px}
.provas b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:26px;
  color:var(--navy);font-weight:800;letter-spacing:-.02em}
.provas span{font-size:14px;color:var(--suave);display:block;margin-top:4px;line-height:1.42}

/* ---------- cabeçalhos ---------- */
.cab{max-width:720px;margin-bottom:54px}
.cab.meio{margin-left:auto;margin-right:auto;text-align:center}
.olho{font:700 12.5px/1 'Inter',sans-serif;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--coral-txt);margin-bottom:16px}
h2{font-size:var(--t2);margin-bottom:16px}
.cab p{font-size:18px;color:var(--suave);line-height:1.6}
.escura .cab p{color:#B4C1D2}

/* ---------- o Zeca ---------- */
.retrato{border-radius:50%;display:block;background:var(--cream);border:1px solid var(--linha)}
.escura .retrato{background:#17324F;border-color:#2A4A6E}

/* ---------- o problema ---------- */
.prosa p{font-size:18.5px;line-height:1.68;color:var(--suave);margin-bottom:20px;max-width:720px}
.prosa p b{color:var(--tinta);font-weight:600}
.remate{background:var(--papel);border-left:4px solid var(--coral);border-radius:0 14px 14px 0;
  padding:26px 30px;margin-top:34px;max-width:740px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:20.5px;
  color:var(--navy);line-height:1.42}
.escura .remate{background:#17324F;color:#fff}

/* ---------- carteira de trabalho ---------- */
.carteira{background:var(--papel);border:1px solid var(--linha);border-radius:20px;
  max-width:720px;margin:0 auto;overflow:hidden;box-shadow:0 18px 50px rgba(17,39,68,.09)}
.carteira .capa{background:var(--navy);padding:30px 34px;display:flex;align-items:center;gap:22px}
@media(max-width:560px){.carteira .capa{flex-direction:column;text-align:center;gap:16px;padding:28px 22px}}
.carteira .capa .cargo{font:700 11.5px/1 'Inter';letter-spacing:2.4px;text-transform:uppercase;
  color:var(--coral-claro);margin-bottom:9px}
.carteira .capa h3{color:#fff;font-size:33px;margin-bottom:8px;letter-spacing:-.03em}
.carteira .capa p{color:#B4C1D2;font-size:15.5px;line-height:1.5;font-style:italic}
.ficha{list-style:none}
.ficha li{display:flex;gap:18px;padding:15px 34px;border-bottom:1px solid var(--linha);
  font-size:15.5px;color:var(--tinta);line-height:1.5}
@media(max-width:560px){.ficha li{padding:14px 22px;flex-direction:column;gap:2px}}
.ficha li:last-child{border:0}
.ficha li b{flex:none;width:150px;color:var(--suave);font-weight:600;font-size:13px;
  text-transform:uppercase;letter-spacing:1.1px;padding-top:3px}
@media(max-width:560px){.ficha li b{width:auto}}
.carteira .pe{padding:24px 34px 30px;text-align:center;background:var(--cream)}
@media(max-width:560px){.carteira .pe{padding:22px}}

/* ---------- um dia de trabalho: as duas colunas ---------- */
.dia{position:relative;display:grid;grid-template-columns:1fr 1fr;
  column-gap:56px;row-gap:30px;align-items:start}
.dia::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;
  background:repeating-linear-gradient(to bottom,var(--linha) 0 7px,transparent 7px 15px)}
.dia .beat{min-width:0}
.dia .beat.esq{grid-column:1}
.dia .beat.dir{grid-column:2}
.dia .fala{grid-column:1/-1;text-align:center;max-width:620px;margin:12px auto;
  font-size:17.5px;color:var(--suave);line-height:1.6}
.dia .fala b{color:var(--tinta);font-weight:600}
.dia .fala.abre{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;color:var(--navy);
  font-size:clamp(24px,3vw,32px);letter-spacing:-.025em;margin:0 auto 6px}
@media(max-width:840px){
  .dia{grid-template-columns:1fr;column-gap:0}
  .dia::before{display:none}
  .dia .beat.esq,.dia .beat.dir{grid-column:1}
}
.rot{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:6px 14px;
  font:700 11px/1 'Inter';letter-spacing:1.6px;text-transform:uppercase;margin-bottom:12px}
.rot i{width:7px;height:7px;border-radius:50%;display:block;font-style:normal}
.rot-tela{background:#FDEDE6;color:#A8330A}
.rot-tela i{background:var(--coral)}
.rot-zap{background:#DEF3E9;color:#0F6A4E}
.rot-zap i{background:#1D9E75}
.fronteira{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:56px}
.fronteira div{background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:28px 26px}
.fronteira h4{font-size:18px;margin-bottom:9px}
.fronteira p{font-size:15.5px;color:var(--suave);line-height:1.62}
.fronteira p b{color:var(--tinta);font-weight:600}

/* ---------- telinha do mercado ---------- */
.fone{background:var(--papel);border:1px solid var(--linha);border-radius:20px;
  padding:16px;box-shadow:0 10px 34px rgba(17,39,68,.07)}
.fone .url{font:500 11.5px/1 'Inter',sans-serif;color:var(--suave);text-align:center;
  padding:7px;background:var(--cream);border-radius:7px;margin-bottom:14px}
.fone .topo{text-align:center;padding-bottom:14px;border-bottom:1px solid var(--linha);margin-bottom:14px}
.fone .topo small{font:700 9.5px/1 'Inter',sans-serif;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--suave);display:block;margin-bottom:5px}
.fone .topo b{font-family:'Plus Jakarta Sans',sans-serif;color:var(--navy);font-size:16px}
.cx{border:1.5px dashed var(--linha);border-radius:14px;padding:20px 16px;text-align:center}
.cx .ic{font-size:26px;margin-bottom:8px}
.cx .t{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--navy);font-size:16px}
.cx .d{font-size:13.5px;color:var(--suave);margin-top:6px;line-height:1.55}
.cx .d b{color:var(--navy)}
.item{display:flex;justify-content:space-between;align-items:center;
  padding:11px 0;border-bottom:1px solid var(--linha);font-size:14.5px}
.item b{color:var(--navy);font-family:'Plus Jakarta Sans',sans-serif}
.total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px}
.total span{font-size:13px;color:var(--suave)}
.total b{font-family:'Plus Jakarta Sans',sans-serif;font-size:23px;color:var(--navy)}
.fake{display:block;width:100%;text-align:center;background:var(--coral-btn);color:#fff;
  border-radius:999px;padding:13px;font:600 15px/1 'Inter',sans-serif;margin-top:14px}
.fake.ghost{background:transparent;color:var(--suave);border:1.5px solid var(--linha);margin-top:9px}

/* ---------- whatsapp ---------- */
.zap{background:#0B141A;border-radius:20px;padding:18px 14px;box-shadow:0 10px 34px rgba(17,39,68,.14)}
.zap .cab-z{display:flex;align-items:center;gap:9px;padding-bottom:12px;
  border-bottom:1px solid #1F2C34;margin-bottom:14px}
.zap .cab-z .retrato{width:30px;height:30px;flex:none;border:0;background:#1F2C34}
.zap .cab-z b{color:#E9EDEF;font-size:14px;font-family:'Plus Jakarta Sans'}
.zap .cab-z span{color:#9FB0BB;font-size:11px;margin-left:auto;flex:none}
.bal{background:#202C33;color:#E9EDEF;border-radius:9px 9px 9px 2px;padding:10px 13px;
  font-size:14px;line-height:1.5;margin-bottom:9px;max-width:93%}
.bal.eu{background:#005C4B;margin-left:auto;border-radius:9px 9px 2px 9px;max-width:70%}
.bal b{color:#fff}
.bal .v{color:#8BE3BF;font-weight:600}
.bal .tt{display:block;font-weight:700;margin-bottom:4px;color:#fff}
.bal .meta{display:block;margin-top:6px;font-size:11.5px;color:#9FB0BB}

/* ---------- cartões ---------- */
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.cartao{background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:30px 28px}
.cartao .ic{font-size:24px;margin-bottom:14px;display:block}
.cartao h3{font-size:19.5px;margin-bottom:9px}
.cartao p{font-size:15.5px;color:var(--suave);line-height:1.62}
.cartao p b{color:var(--tinta);font-weight:600}
.escura .cartao{background:#17324F;border-color:#2A4A6E}
.escura .cartao p{color:#B4C1D2}
.escura .cartao p b{color:#fff}

/* ---------- trabalhos ---------- */
.trabalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha);
  border:1px solid var(--linha);border-radius:18px;overflow:hidden}
@media(max-width:880px){.trabalhos{grid-template-columns:1fr}}
.trabalho{background:var(--papel);padding:34px 30px}
.trabalho .ic{font-size:24px;display:block;margin-bottom:12px}
.trabalho h3{font-size:21px;margin-bottom:5px}
.trabalho .p{font-size:14px;color:var(--coral-txt);font-weight:600;margin-bottom:18px}
.trabalho p{font-size:15.5px;color:var(--suave);line-height:1.62}
.trabalho p b{color:var(--tinta);font-weight:600}
.tiras{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
  background:var(--linha);border:1px solid var(--linha);border-top:0;
  border-radius:0 0 18px 18px;overflow:hidden;margin-top:-1px}
.tiras div{background:var(--papel);padding:18px 22px;font-size:14.5px;color:var(--suave);line-height:1.5}
.tiras b{display:block;color:var(--navy);font-family:'Plus Jakarta Sans';font-size:15px;margin-bottom:3px}

/* ---------- o que ele não faz ---------- */
.naofaz{list-style:none;max-width:760px}
.naofaz li{position:relative;padding:20px 0 20px 40px;border-bottom:1px solid var(--linha);
  font-size:16.5px;color:var(--suave);line-height:1.6}
.escura .naofaz li{border-color:#2A4A6E;color:#B4C1D2}
.naofaz li:last-child{border:0}
.naofaz li b{color:var(--tinta);font-weight:700;display:block;margin-bottom:2px;
  font-family:'Plus Jakarta Sans',sans-serif;font-size:17px}
.escura .naofaz li b{color:#fff}
.naofaz li::before{content:'—';position:absolute;left:6px;top:20px;font-weight:800;
  color:var(--coral-txt);font-size:17px}
.escura .naofaz li::before{color:var(--coral-claro)}

/* ---------- trilha ---------- */
.trilha{counter-reset:p;display:grid;gap:14px}
.etapa{background:var(--papel);border:1px solid var(--linha);border-radius:14px;
  padding:24px 26px 24px 74px;position:relative}
.etapa::before{counter-increment:p;content:counter(p);position:absolute;left:26px;top:24px;
  width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;
  display:grid;place-items:center;font:800 14px/1 'Plus Jakarta Sans'}
.etapa h4{font-size:17.5px;margin-bottom:5px}
.etapa p{font-size:15.5px;color:var(--suave);line-height:1.6}
.etapa p b{color:var(--tinta);font-weight:600}
.etapa .tempo{font-size:12.5px;color:var(--verde-txt);font-weight:700;
  text-transform:uppercase;letter-spacing:.8px;margin-top:10px;display:block}

/* ---------- salário ---------- */
.preco{background:var(--papel);border:2px solid var(--navy);border-radius:22px;
  padding:44px 38px;text-align:center;max-width:560px;margin:0 auto;
  box-shadow:0 18px 50px rgba(17,39,68,.1)}
@media(max-width:600px){.preco{padding:32px 24px}}
.preco .fx{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;
  padding:6px 16px;font:700 11.5px/1 'Inter';letter-spacing:1.4px;text-transform:uppercase;
  margin-bottom:22px}
.preco .n{font-family:'Plus Jakarta Sans';font-size:58px;color:var(--navy);
  letter-spacing:-.035em;line-height:1;font-weight:800}
.preco .n small{font-size:22px;font-weight:700}
.preco .u{font-size:15px;color:var(--suave);margin:8px 0 26px}
.preco ul{list-style:none;text-align:left;margin:26px 0 0;padding-top:26px;
  border-top:1px solid var(--linha)}
.preco li{padding:9px 0 9px 28px;position:relative;font-size:15.5px;color:var(--suave)}
.preco li::before{content:'✓';position:absolute;left:2px;color:var(--verde-txt);font-weight:700}
.preco li b{color:var(--tinta);font-weight:600}
.contra{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--linha);
  border:1px solid var(--linha);border-radius:18px;overflow:hidden;max-width:760px;
  margin:44px auto 0}
@media(max-width:600px){.contra{grid-template-columns:1fr}}
.contra div{background:var(--papel);padding:28px 26px}
.contra .rot-c{font:700 11.5px/1 'Inter';letter-spacing:1.8px;text-transform:uppercase;
  color:var(--suave);margin-bottom:12px}
.contra b.n{display:block;font-family:'Plus Jakarta Sans';font-size:31px;color:var(--navy);
  letter-spacing:-.03em;margin-bottom:8px}
.contra p{font-size:14.5px;color:var(--suave);line-height:1.55}
.contra .ganha{background:#FBF3EF}

/* ---------- experiência de 14 dias ---------- */
.destaque-box{background:var(--papel);border:2px solid var(--coral);border-radius:20px;
  padding:36px 34px;max-width:780px;margin:0 auto;box-shadow:0 14px 40px rgba(232,69,10,.1)}
@media(max-width:600px){.destaque-box{padding:28px 22px}}
.destaque-box h3{font-size:23px;margin-bottom:14px}
.destaque-box p{font-size:16.5px;color:var(--suave);line-height:1.66;margin-bottom:14px}
.destaque-box p:last-child{margin-bottom:0}
.destaque-box p b{color:var(--tinta);font-weight:600}

/* ---------- indicação ---------- */
.regrao{background:#17324F;border:1px solid #2A4A6E;border-radius:18px;padding:34px;
  text-align:center;max-width:640px;margin:0 auto 40px}
.regrao b{display:block;font-family:'Plus Jakarta Sans';font-size:clamp(22px,3.2vw,31px);
  color:#fff;letter-spacing:-.025em;line-height:1.25}
.regrao span{display:block;margin-top:12px;color:#B4C1D2;font-size:15.5px}
.tab{width:100%;border-collapse:collapse;font-size:15px;
  background:#17324F;border:1px solid #2A4A6E;border-radius:16px;overflow:hidden}
.tab th,.tab td{padding:14px 16px;text-align:left;border-bottom:1px solid #2A4A6E}
.tab th{font:700 11.5px/1.3 'Inter';letter-spacing:1.2px;text-transform:uppercase;
  color:#8FA3BC;background:#132B47}
.tab td{color:#D6DEE9}
.tab tr:last-child td{border-bottom:0}
.tab td b{color:#fff;font-family:'Plus Jakarta Sans'}
.tab td.bom b{color:#6FDCB2}
/* Variante CLARA da tabela. A `.tab` nasceu dentro de uma seção escura (a indicação do
   Zeca) e por isso tem texto #D6DEE9 sobre #17324F. Usada numa seção `.branca` sem esta
   variante, ela some: cinza-claro sobre branco. A faixa da tabela de preço do Beto é
   informação de venda — não pode depender de o leitor forçar a vista. */
.tab.clara{background:var(--papel);border-color:var(--linha)}
.tab.clara th,.tab.clara td{border-bottom:1px solid var(--linha)}
.tab.clara th{color:var(--fraco);background:#FAF9F6}
.tab.clara td{color:var(--suave)}
.tab.clara td b{color:var(--navy)}
.tab.clara tr.bom{background:#F4FBF8}
.tab.clara tr.bom td b{color:var(--verde-txt)}
.rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}
/* No celular a tabela de 5 colunas vira rolagem lateral — e rolagem lateral numa
   página de vendas é uma coluna que ninguém lê. Cada linha vira um cartão com o
   rótulo ao lado do número. */
@media(max-width:660px){
  .rolagem{overflow-x:visible}
  .tab,.tab tbody,.tab tr,.tab td{display:block;width:100%}
  .tab{border:0;background:transparent}
  .tab thead{display:none}
  .tab tr{background:#17324F;border:1px solid #2A4A6E;border-radius:14px;
    padding:6px 16px;margin-bottom:10px}
  .tab td{border-bottom:1px solid #23415F;padding:9px 0;display:flex;
    justify-content:space-between;gap:14px;align-items:baseline}
  .tab tr td:last-child{border-bottom:0}
  .tab td::before{content:attr(data-rot);color:#8FA3BC;font-size:12px;
    letter-spacing:1.1px;text-transform:uppercase;font-weight:700;flex:none}
}

/* ---------- perguntas ---------- */
.faq{max-width:780px;margin:0 auto}
.faq details{background:var(--papel);border:1px solid var(--linha);border-radius:14px;
  margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:20px 54px 20px 24px;position:relative;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--navy);font-size:17px;
  line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:22px;top:17px;font-size:24px;
  color:var(--coral-txt);font-weight:700;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq summary:focus-visible{outline:2px solid var(--coral);outline-offset:-2px}
.faq .resp{padding:0 24px 22px;font-size:16px;color:var(--suave);line-height:1.65}
.faq .resp b{color:var(--tinta);font-weight:600}

/* ---------- final ---------- */
.final{text-align:center}
.final p.abre{font-size:18px;color:#B4C1D2;max-width:680px;margin:0 auto 32px;line-height:1.6}
.hoje{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:840px;
  margin:46px auto 0;text-align:left}
@media(max-width:760px){.hoje{grid-template-columns:1fr}}
.hoje div{background:#17324F;border:1px solid #2A4A6E;border-radius:14px;padding:22px}
.hoje b{display:block;color:#fff;font-family:'Plus Jakarta Sans';font-size:16px;margin-bottom:5px}
.hoje span{font-size:14.5px;color:#B4C1D2;line-height:1.5}
.hoje i{font-style:normal;color:var(--coral-claro);font-weight:800;font-size:12.5px;
  letter-spacing:1.4px;text-transform:uppercase;display:block;margin-bottom:9px}

footer{background:var(--navy);color:#B4C1D2;padding:40px 0;font-size:14px;
  border-top:1px solid #2A4A6E}
.rodape{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.rodape b{color:#fff;font-family:'Plus Jakarta Sans';font-size:15.5px;display:block;margin-bottom:5px}
footer a{color:#C3CEDD;text-decoration:none}
footer a:hover{color:#fff}
footer .links{display:flex;gap:18px;flex-wrap:wrap}
footer .aviso{border-top:1px solid #2A4A6E;margin-top:28px;padding-top:22px;
  font-size:13px;color:#8FA3BC;line-height:1.6;max-width:820px}

/* ---------- modal ---------- */
#veu{position:fixed;inset:0;background:rgba(17,39,68,.55);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:20px;z-index:100}
#veu.aberto{display:flex}
.modal{background:var(--papel);border-radius:20px;padding:34px;width:100%;max-width:436px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);max-height:92vh;overflow:auto}
@media(max-width:520px){.modal{padding:26px 22px}}
.abas{display:flex;gap:6px;background:var(--cream);border-radius:11px;padding:5px;margin-bottom:24px}
.aba{flex:1;text-align:center;padding:10px;border-radius:8px;font:600 15px/1 'Inter';
  cursor:pointer;color:var(--suave);border:0;background:transparent}
.aba.ativa{background:var(--papel);color:var(--navy);box-shadow:0 1px 4px rgba(0,0,0,.07)}
.campo-f{margin-bottom:15px}
.campo-f label{display:block;font-size:13.5px;color:var(--suave);margin-bottom:6px;font-weight:500}
.campo-f label span{color:var(--fraco);font-weight:400}
.campo-f input{width:100%;padding:13px 15px;border:1.5px solid var(--linha);border-radius:11px;
  font:400 16px/1.3 'Inter';color:var(--tinta);background:var(--papel)}
.campo-f input:focus{outline:0;border-color:var(--coral)}
.modal .btn{width:100%;margin-top:10px}
.msg{font-size:14.5px;margin-top:14px;text-align:center;line-height:1.5}
.msg.err{color:#B3400F}.msg.ok{color:#177C5C}
.fechar{float:right;background:0;border:0;font-size:24px;color:var(--fraco);cursor:pointer;
  line-height:1;margin:-8px -8px 0 0}
.mtit{font-family:'Plus Jakarta Sans';font-size:21px;color:var(--navy);margin-bottom:18px;font-weight:800}
.msub{font-size:14px;color:var(--suave);margin:-12px 0 20px;line-height:1.5}
