/* ==========================================================================
   OrçaMeta — Landing pública (V1.00.155)
   --------------------------------------------------------------------------
   Escopo TOTALMENTE isolado do SaaS: todo seletor começa em `.landing-page`
   ou no prefixo `.landing-`. Nenhuma regra genérica de elemento (button,
   input, header, table) sem escopo — o SaaS carrega assets/style.css e não
   pode ser afetado por este arquivo em hipótese alguma.
   ========================================================================== */

.landing-page {
  --lp-teal:#00BAB4;
  --lp-teal-dark:#00918C;
  --lp-teal-soft:#e6f8f7;
  --lp-ink:#10202b;
  --lp-body:#4a5a66;
  --lp-muted:#6b7c88;
  --lp-line:#dfe6ea;
  --lp-line-soft:#eef2f4;
  --lp-bg:#ffffff;
  --lp-bg-alt:#f7fafb;
  --lp-radius:12px;
  --lp-shell:1180px;
  --lp-pad:24px;

  margin:0;
  background:var(--lp-bg);
  color:var(--lp-body);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

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

.landing-page img { max-width:100%; height:auto; }

.landing-page h1,
.landing-page h2,
.landing-page h3,
.landing-page h4 {
  color:var(--lp-ink);
  line-height:1.2;
  margin:0 0 .5em;
  letter-spacing:-.015em;
}

.landing-page p { margin:0 0 1em; }
.landing-page a { color:var(--lp-teal-dark); }

.landing-page :focus-visible {
  outline:3px solid var(--lp-teal);
  outline-offset:3px;
  border-radius:4px;
}

.landing-shell {
  width:100%;
  max-width:var(--lp-shell);
  margin:0 auto;
  padding:0 var(--lp-pad);
}

/* Pulo para o conteúdo (acessibilidade) --------------------------------- */
.landing-skip {
  position:absolute;
  left:-9999px;
  top:8px;
  z-index:100;
  background:var(--lp-ink);
  color:#fff;
  padding:10px 16px;
  border-radius:6px;
}
.landing-skip:focus { left:16px; }

/* ==========================================================================
   Botões
   ========================================================================== */
.landing-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:0 22px;
  border-radius:8px;
  border:1px solid transparent;
  font:inherit;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.landing-btn--primary,
.landing-page a.landing-btn--primary {
  background:var(--lp-teal);
  border-color:var(--lp-teal);
  color:#fff;
}
.landing-btn--primary:hover,
.landing-page a.landing-btn--primary:hover { color:#fff; background:var(--lp-teal-dark); border-color:var(--lp-teal-dark); text-decoration:none; }
.landing-btn--ghost {
  background:transparent;
  border-color:var(--lp-line);
  color:var(--lp-ink);
}
.landing-btn--ghost:hover { border-color:var(--lp-teal); color:var(--lp-teal-dark); text-decoration:none; }
.landing-btn--sm { min-height:38px; padding:0 16px; font-size:14px; }
.landing-btn--block { width:100%; }

/* ==========================================================================
   Header
   ========================================================================== */
.landing-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, background-color .2s ease;
}
.landing-header.is-scrolled {
  background:#fff;
  border-bottom-color:var(--lp-line);
}
.landing-header__inner {
  display:flex;
  align-items:center;
  gap:24px;
  min-height:68px;
}
.landing-logo {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:700;
  font-size:18px;
  color:var(--lp-ink);
  text-decoration:none;
  flex:0 0 auto;
  letter-spacing:-.02em;
}
.landing-logo__mark {
  width:26px;
  height:26px;
  border-radius:7px;
  background:var(--lp-teal);
  display:inline-grid;
  place-items:center;
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.landing-nav { margin-left:auto; }
.landing-nav__list {
  display:flex;
  align-items:center;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
}
.landing-nav__list a {
  color:var(--lp-body);
  text-decoration:none;
  font-size:15px;
  font-weight:500;
}
.landing-nav__list a:hover { color:var(--lp-teal-dark); }
.landing-header__actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
/* ============ "ENTRAR" — UM ELEMENTO, DOIS LAYOUTS ============
   Existiam duas marcações de "Entrar" no cabeçalho, uma por layout, e as duas
   renderizavam juntas no desktop (faltava esconder a da navegação). Sobrou
   UMA: o `<li class="landing-nav__entrar">` da navegação, que já está na
   posição certa da ordem (…Contato · Entrar) e já tem tratamento próprio no
   menu mobile.

   Estas duas linhas devolvem a ele, no desktop, a aparência que o link
   removido tinha: um pouco mais escuro e mais pesado que os demais itens da
   navegação — ele é acesso ao produto, não mais um item de conteúdo. O
   tamanho e o hover já vêm de `.landing-nav__list a`.

   ⚠️ No menu mobile este par é sobrescrito por
   `.landing-nav.is-open .landing-nav__entrar a`, mais específico — o drawer
   continua exatamente como estava. */
.landing-nav__entrar a {
  color:var(--lp-ink);
  font-weight:600;
}

.landing-burger {
  display:none;
  width:44px;
  height:44px;
  border:1px solid var(--lp-line);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
  padding:0;
  place-items:center;
}
.landing-burger__bars,
.landing-burger__bars::before,
.landing-burger__bars::after {
  display:block;
  width:18px;
  height:2px;
  background:var(--lp-ink);
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.landing-burger__bars { position:relative; }
.landing-burger__bars::before { content:""; position:absolute; top:-6px; }
.landing-burger__bars::after  { content:""; position:absolute; top:6px; }
.landing-burger[aria-expanded="true"] .landing-burger__bars { background:transparent; }
.landing-burger[aria-expanded="true"] .landing-burger__bars::before { transform:translateY(6px) rotate(45deg); }
.landing-burger[aria-expanded="true"] .landing-burger__bars::after  { transform:translateY(-6px) rotate(-45deg); }

/* ==========================================================================
   Seções
   ========================================================================== */
.landing-section { padding:88px 0; }
.landing-section--alt { background:var(--lp-bg-alt); }
.landing-section--tight { padding:64px 0; }

.landing-eyebrow {
  display:inline-block;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--lp-teal-dark);
  margin-bottom:16px;
}
.landing-section__head { max-width:720px; margin-bottom:48px; }
.landing-section__head h2 { font-size:clamp(26px,3.2vw,36px); }
.landing-section__head p { font-size:17px; color:var(--lp-muted); margin:0; }
.landing-section__head--center { margin-left:auto; margin-right:auto; text-align:center; }

/* ==========================================================================
   Hero
   ========================================================================== */
.landing-hero { padding:76px 0 88px; }
.landing-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:56px;
  align-items:center;
}
.landing-hero h1 {
  font-size:clamp(32px,4.6vw,52px);
  margin-bottom:20px;
}
.landing-hero__sub {
  font-size:18px;
  color:var(--lp-muted);
  max-width:560px;
  margin-bottom:28px;
}
.landing-hero__ctas {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:18px;
}
.landing-hero__login { font-size:14.5px; color:var(--lp-muted); margin:0; }

/* Mockup do painel (não é screenshot real — ver assets/landing/screenshots) */
.landing-mock {
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  background:#fff;
  box-shadow:0 8px 28px rgba(16,32,43,.07);
  overflow:hidden;
}
.landing-mock__bar {
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 16px;
  border-bottom:1px solid var(--lp-line-soft);
  background:var(--lp-bg-alt);
}
.landing-mock__dots { display:flex; gap:5px; }
.landing-mock__dots span {
  width:9px; height:9px; border-radius:50%;
  background:#d4dde2;
}
.landing-mock__title { font-size:12.5px; color:var(--lp-muted); font-weight:600; }
.landing-mock__body { padding:20px; }

.landing-kpis {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}
.landing-kpi {
  border:1px solid var(--lp-line-soft);
  border-left:3px solid var(--lp-teal);
  border-radius:8px;
  padding:12px 14px;
  background:#fff;
}
.landing-kpi--orcado    { border-left-color:#2b6cb0; }
.landing-kpi--planejado { border-left-color:#7a5af5; }
.landing-kpi--medido    { border-left-color:var(--lp-teal); }
.landing-kpi--saidas    { border-left-color:#d9534f; }
.landing-kpi__label {
  display:block;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--lp-muted);
  font-weight:600;
  margin-bottom:3px;
}
.landing-kpi__valor {
  font-size:19px;
  font-weight:700;
  color:var(--lp-ink);
  font-variant-numeric:tabular-nums;
}

.landing-bars { border-top:1px solid var(--lp-line-soft); padding-top:16px; }
.landing-bars__titulo {
  font-size:12px;
  font-weight:700;
  color:var(--lp-muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
}
.landing-bar { margin-bottom:11px; }
.landing-bar:last-child { margin-bottom:0; }
.landing-bar__topo {
  display:flex;
  justify-content:space-between;
  font-size:12.5px;
  margin-bottom:4px;
  color:var(--lp-body);
}
.landing-bar__topo strong { color:var(--lp-ink); font-variant-numeric:tabular-nums; }
.landing-bar__trilho {
  height:7px;
  background:var(--lp-line-soft);
  border-radius:4px;
  overflow:hidden;
}
.landing-bar__preenchimento { height:100%; border-radius:4px; background:var(--lp-teal); }

/* ==========================================================================
   Faixa de fluxo (proposta de valor)
   ========================================================================== */
.landing-fluxo { text-align:center; }
.landing-fluxo h2 { font-size:clamp(22px,2.6vw,30px); margin-bottom:28px; }
.landing-fluxo__passos {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
}
.landing-fluxo__passos li {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  color:var(--lp-ink);
}
.landing-fluxo__chip {
  border:1px solid var(--lp-line);
  background:#fff;
  border-radius:999px;
  padding:9px 18px;
  font-size:14.5px;
}
.landing-fluxo__seta { color:var(--lp-teal); font-size:16px; }

/* ==========================================================================
   Grades genéricas de cards
   ========================================================================== */
.landing-grid { display:grid; gap:20px; }
.landing-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.landing-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.landing-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

.landing-card {
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:24px;
  background:#fff;
  min-width:0;
}
.landing-card h3 { font-size:17px; margin-bottom:8px; }
.landing-card p { font-size:14.5px; color:var(--lp-muted); margin:0; }
.landing-card__num {
  display:inline-block;
  font-size:13px;
  font-weight:700;
  color:var(--lp-teal-dark);
  margin-bottom:10px;
  font-variant-numeric:tabular-nums;
}

/* ==========================================================================
   Separação conceitual (execução × financeiro)
   ========================================================================== */
.landing-conceito {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.landing-conceito__bloco {
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:24px;
  background:#fff;
}
.landing-conceito__bloco h3 {
  font-size:12.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--lp-teal-dark);
  margin-bottom:14px;
}
.landing-conceito__lista { list-style:none; margin:0 0 14px; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.landing-conceito__lista li {
  border:1px solid var(--lp-line);
  border-radius:6px;
  padding:6px 12px;
  font-size:13.5px;
  font-weight:600;
  color:var(--lp-ink);
  background:var(--lp-bg-alt);
}
.landing-conceito__nota { font-size:13.5px; color:var(--lp-muted); margin:0; }

/* ==========================================================================
   Telas (texto 40% / imagem 60%, alternando)
   ========================================================================== */
.landing-tela {
  display:grid;
  grid-template-columns:40% 60%;
  gap:48px;
  align-items:center;
  margin-bottom:64px;
}
.landing-tela:last-child { margin-bottom:0; }
.landing-tela--invertida .landing-tela__texto { order:2; }
.landing-tela--invertida .landing-tela__visual { order:1; }
.landing-tela h3 { font-size:22px; }
.landing-tela p { font-size:15.5px; color:var(--lp-muted); margin:0; }
.landing-tela__visual { min-width:0; }

/* ==========================================================================
   Planos
   ========================================================================== */
.landing-toggle {
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid var(--lp-line);
  background:#fff;
  border-radius:999px;
  padding:4px;
  margin:0 auto 12px;
}
.landing-toggle__btn {
  border:0;
  background:transparent;
  font:inherit;
  font-size:14.5px;
  font-weight:600;
  color:var(--lp-muted);
  padding:9px 22px;
  border-radius:999px;
  cursor:pointer;
}
.landing-toggle__btn[aria-pressed="true"] {
  background:var(--lp-teal);
  color:#fff;
}
.landing-toggle-wrap { text-align:center; margin-bottom:14px; }
.landing-economia {
  display:block;
  font-size:13.5px;
  color:var(--lp-teal-dark);
  font-weight:600;
  min-height:20px;
}

.landing-pricing {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.landing-plano {
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:28px 24px;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.landing-plano--destaque {
  border-color:var(--lp-teal);
  border-width:2px;
  box-shadow:0 6px 24px rgba(0,186,180,.10);
}
.landing-plano__badge {
  display:inline-block;
  align-self:flex-start;
  background:var(--lp-teal-soft);
  color:var(--lp-teal-dark);
  font-size:12px;
  font-weight:700;
  padding:4px 11px;
  border-radius:999px;
  margin-bottom:12px;
}
.landing-plano__nome { font-size:19px; margin-bottom:6px; }
.landing-plano__pos { font-size:14px; color:var(--lp-muted); margin-bottom:20px; min-height:64px; }
.landing-plano__preco {
  display:flex;
  align-items:baseline;
  gap:5px;
  margin-bottom:4px;
}
.landing-plano__moeda { font-size:17px; font-weight:600; color:var(--lp-ink); }
.landing-plano__valor {
  font-size:38px;
  font-weight:700;
  color:var(--lp-ink);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.landing-plano__periodo { font-size:14.5px; color:var(--lp-muted); }
.landing-plano__equiv { font-size:13px; color:var(--lp-muted); margin:0; }

/* Blocos mensal/anual: altura reservada para que a troca não desloque o
   restante do card (o conteúdo abaixo não "pula" ao alternar). */
.landing-plano__precos { min-height:64px; margin-bottom:22px; }
.landing-plano__bloco[hidden] { display:none; }

/* Limites (usuários / obras) abrem a lista de recursos com peso próprio —
   não usam o ✓ verde, pois são capacidade contratada, não funcionalidade. */
.landing-plano__recursos .landing-plano__limite {
  padding-left:0;
  font-weight:600;
  color:var(--lp-ink);
}
.landing-plano__recursos .landing-plano__limite::before { content:none; }
.landing-plano__recursos .landing-plano__limite + .landing-plano__limite { margin-bottom:14px; }
.landing-plano__recursos .landing-plano__limite:nth-of-type(2) {
  padding-bottom:14px;
  border-bottom:1px solid var(--lp-line-soft);
  margin-bottom:14px;
}
.landing-plano__recursos {
  list-style:none;
  margin:0 0 24px;
  padding:0;
  flex:1;
}
.landing-plano__recursos li {
  position:relative;
  padding-left:24px;
  font-size:14.5px;
  margin-bottom:9px;
}
.landing-plano__recursos li::before {
  content:"";
  position:absolute;
  left:2px;
  top:8px;
  width:11px;
  height:6px;
  border-left:2px solid var(--lp-teal);
  border-bottom:2px solid var(--lp-teal);
  transform:rotate(-45deg);
}
.landing-pricing-disclaimer {
  margin:28px auto 0;
  max-width:640px;
  text-align:center;
  font-size:13.5px;
  color:var(--lp-muted);
  background:var(--lp-bg-alt);
  border:1px solid var(--lp-line);
  border-radius:8px;
  padding:14px 18px;
}

/* Comparativo ----------------------------------------------------------- */
.landing-compara { margin-top:56px; }
.landing-compara h3 { font-size:19px; margin-bottom:18px; text-align:center; }
.landing-compara__scroll { overflow-x:auto; }
.landing-compara table {
  width:100%;
  border-collapse:collapse;
  min-width:560px;
}
.landing-compara th,
.landing-compara td {
  padding:13px 16px;
  border-bottom:1px solid var(--lp-line-soft);
  text-align:left;
  font-size:14.5px;
}
.landing-compara thead th {
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--lp-muted);
  border-bottom:1px solid var(--lp-line);
}
.landing-compara tbody th { font-weight:600; color:var(--lp-ink); }
.landing-compara td { text-align:center; color:var(--lp-body); }
.landing-compara__sim { color:var(--lp-teal-dark); font-weight:700; }
.landing-compara__nao { color:#b6c2c9; }

/* Versão empilhada para telas estreitas */
.landing-compara__cards { display:none; }
.landing-compara__card {
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  padding:18px;
  margin-bottom:14px;
  background:#fff;
}
.landing-compara__card h4 { font-size:16px; margin-bottom:12px; }
.landing-compara__card dl { margin:0; }
.landing-compara__linha {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:8px 0;
  border-bottom:1px solid var(--lp-line-soft);
  font-size:14px;
}
.landing-compara__linha:last-child { border-bottom:0; }
.landing-compara__linha dt { color:var(--lp-muted); margin:0; }
.landing-compara__linha dd { margin:0; font-weight:600; color:var(--lp-ink); text-align:right; }

/* ==========================================================================
   Segurança
   ========================================================================== */
.landing-seguranca {
  border:1px solid var(--lp-line);
  border-left:3px solid var(--lp-teal);
  border-radius:var(--lp-radius);
  padding:28px 30px;
  background:#fff;
  max-width:820px;
}
.landing-seguranca h2 { font-size:24px; }
.landing-seguranca p { margin:0; color:var(--lp-muted); }

/* ==========================================================================
   Contato
   ========================================================================== */
.landing-contato__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:56px;
  align-items:start;
}
.landing-form { display:grid; gap:16px; }
.landing-field { display:grid; gap:6px; min-width:0; }
.landing-field label { font-size:14px; font-weight:600; color:var(--lp-ink); }
.landing-field input,
.landing-field textarea {
  width:100%;
  min-width:0;
  border:1px solid var(--lp-line);
  border-radius:8px;
  padding:11px 13px;
  font:inherit;
  font-size:15px;
  color:var(--lp-ink);
  background:#fff;
}
.landing-field input:focus,
.landing-field textarea:focus { border-color:var(--lp-teal); outline:none; box-shadow:0 0 0 3px rgba(0,186,180,.15); }
.landing-field textarea { resize:vertical; min-height:118px; }
.landing-field--dupla { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.landing-field__erro { font-size:13px; color:#c0392b; }
.landing-field input[aria-invalid="true"],
.landing-field textarea[aria-invalid="true"] { border-color:#c0392b; }

.landing-aviso {
  border-radius:8px;
  padding:13px 16px;
  font-size:14.5px;
  border:1px solid;
}
.landing-aviso--ok  { background:var(--lp-teal-soft); border-color:var(--lp-teal); color:#0a6360; }
.landing-aviso--erro{ background:#fdf1f0; border-color:#e6b5b0; color:#8c2f26; }

/* ==========================================================================
   FAQ
   ========================================================================== */
.landing-faq { max-width:820px; }
.landing-faq__item { border-bottom:1px solid var(--lp-line); }
.landing-faq__botao {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-align:left;
  background:none;
  border:0;
  padding:20px 0;
  font:inherit;
  font-size:16.5px;
  font-weight:600;
  color:var(--lp-ink);
  cursor:pointer;
}
.landing-faq__icone {
  flex:0 0 auto;
  width:20px;
  height:20px;
  position:relative;
}
.landing-faq__icone::before,
.landing-faq__icone::after {
  content:"";
  position:absolute;
  background:var(--lp-teal);
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.landing-faq__icone::before { top:9px; left:2px; width:16px; height:2px; }
.landing-faq__icone::after  { top:2px; left:9px; width:2px; height:16px; }
.landing-faq__botao[aria-expanded="true"] .landing-faq__icone::after { transform:rotate(90deg); opacity:0; }
.landing-faq__resposta { padding:0 0 20px; }
.landing-faq__resposta p { margin:0; color:var(--lp-muted); font-size:15px; }
.landing-faq__resposta[hidden] { display:none; }

/* ==========================================================================
   CTA final + rodapé
   ========================================================================== */
.landing-cta-final {
  background:var(--lp-ink);
  color:#c9d6de;
  text-align:center;
  padding:80px 0;
}
.landing-cta-final h2 { color:#fff; font-size:clamp(26px,3.2vw,36px); }
.landing-cta-final p { max-width:600px; margin:0 auto 28px; color:#a6b7c1; font-size:17px; }
.landing-cta-final .landing-btn--ghost { border-color:#3a4c58; color:#fff; }
.landing-cta-final .landing-btn--ghost:hover { border-color:var(--lp-teal); color:var(--lp-teal); }
.landing-cta-final__acoes { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.landing-footer {
  background:#0b1720;
  color:#8fa3ae;
  padding:56px 0 28px;
  font-size:14.5px;
}
.landing-footer__grid {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));
  gap:40px;
  margin-bottom:40px;
}
.landing-footer__marca strong { color:#fff; font-size:17px; display:block; margin-bottom:6px; }
.landing-footer__marca p { margin:0; max-width:280px; }
.landing-footer h3 {
  color:#fff;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.landing-footer ul { list-style:none; margin:0; padding:0; }
.landing-footer li { margin-bottom:9px; }
.landing-footer a { color:#8fa3ae; text-decoration:none; }
.landing-footer a:hover { color:var(--lp-teal); }
.landing-footer__base {
  border-top:1px solid #1c2b36;
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-size:13.5px;
}
.landing-footer__base p { margin:0; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width:1024px){
  .landing-section { padding:68px 0; }
  .landing-hero__grid { grid-template-columns:1fr; gap:44px; }
  .landing-hero__sub { max-width:none; }
  .landing-tela { grid-template-columns:1fr; gap:28px; margin-bottom:48px; }
  .landing-tela--invertida .landing-tela__texto,
  .landing-tela--invertida .landing-tela__visual { order:initial; }
  .landing-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-contato__grid { grid-template-columns:1fr; gap:36px; }
  .landing-pricing { grid-template-columns:1fr; max-width:520px; margin:0 auto; }
  .landing-plano__pos { min-height:0; }
}

@media (max-width:860px){
  /* Só a navegação é recolhida no hambúrguer. O `.landing-link-entrar` que
     também era escondido aqui deixou de existir — ver a nota em
     `.landing-nav__entrar a`. */
  .landing-nav { display:none; }
  .landing-burger { display:grid; }
  .landing-header__inner { gap:12px; }
  .landing-header__actions { margin-left:auto; }

  /* Menu mobile: painel abaixo do header */
  .landing-nav.is-open {
    display:block;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:#fff;
    border-bottom:1px solid var(--lp-line);
    box-shadow:0 10px 24px rgba(16,32,43,.08);
    padding:12px var(--lp-pad) 20px;
  }
  .landing-nav.is-open .landing-nav__list {
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .landing-nav.is-open .landing-nav__list a {
    display:block;
    padding:14px 0;
    border-bottom:1px solid var(--lp-line-soft);
    font-size:16px;
  }
  .landing-nav.is-open .landing-nav__entrar a {
    color:var(--lp-teal-dark);
    font-weight:700;
    border-bottom:0;
  }
  .landing-header { position:sticky; }
  .landing-header__inner { position:relative; }
}

@media (max-width:760px){
  .landing-grid--2,
  .landing-grid--3,
  .landing-grid--4 { grid-template-columns:1fr; }
  .landing-conceito { grid-template-columns:1fr; }
  .landing-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .landing-footer__grid { grid-template-columns:1fr; gap:30px; }

  /* Comparativo empilhado — nunca tabela cortada no mobile */
  .landing-compara__scroll { display:none; }
  .landing-compara__cards { display:block; }
}

@media (max-width:520px){
  .landing-page { --lp-pad:18px; }
  .landing-section { padding:56px 0; }
  .landing-hero { padding:48px 0 60px; }
  .landing-field--dupla { grid-template-columns:1fr; }
  .landing-hero__ctas .landing-btn { width:100%; }
  .landing-fluxo__passos { flex-direction:column; align-items:stretch; }
  .landing-fluxo__passos li { justify-content:center; }
  .landing-fluxo__seta { transform:rotate(90deg); }
  .landing-cta-final__acoes .landing-btn { width:100%; }
}

@media (prefers-reduced-motion: reduce){
  .landing-page *,
  .landing-page *::before,
  .landing-page *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ==========================================================================
   Conteúdos (V1.00.476) — índice /conteudos/ e artigos
   --------------------------------------------------------------------------
   Mesma identidade da home: tokens --lp-*, .landing-shell, botões, cards e o
   acordeão do FAQ. Nada de segunda identidade visual para o blog.
   Texto corrido em ~760px; tabela, fórmula e calculadora rolam dentro da
   própria caixa no mobile, nunca a página.
   ========================================================================== */
.landing-conteudo { padding:36px 0 88px; }

.landing-breadcrumb { font-size:14px; color:var(--lp-muted); margin-bottom:24px; }
.landing-breadcrumb ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.landing-breadcrumb li + li::before { content:"›"; margin-right:6px; color:#b6c2c9; }
.landing-breadcrumb a { color:var(--lp-muted); }
.landing-breadcrumb a:hover { color:var(--lp-teal-dark); }
.landing-breadcrumb [aria-current] { color:var(--lp-ink); }

.landing-artigo__cabeca { max-width:760px; margin-bottom:32px; }
.landing-artigo__cabeca h1 { font-size:clamp(30px,4vw,44px); }
.landing-artigo__lead { font-size:19px; color:var(--lp-body); }
.landing-artigo__meta {
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; gap:4px 18px;
  font-size:14px; color:var(--lp-muted);
}

.landing-artigo { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.landing-artigo__corpo { min-width:0; max-width:760px; font-size:17px; line-height:1.7; }
@media (min-width:1080px){
  /* Sumário lateral discreto só no desktop; no mobile ele fica no fluxo,
     antes do texto. Mesmo elemento nos dois casos — nunca dois sumários. */
  .landing-artigo { grid-template-columns:minmax(0,760px) 260px; justify-content:space-between; }
  .landing-artigo__corpo { grid-column:1; grid-row:1; }
  .landing-artigo__sumario {
    grid-column:2; grid-row:1; align-self:start;
    position:sticky; top:96px; max-height:calc(100vh - 120px); overflow:auto;
  }
}
.landing-artigo__corpo h2 { font-size:clamp(24px,2.6vw,30px); margin-top:56px; scroll-margin-top:96px; }
.landing-artigo__corpo h3 { font-size:20px; margin-top:32px; scroll-margin-top:96px; }
.landing-artigo__corpo ul,
.landing-artigo__corpo ol { padding-left:1.3em; margin:0 0 1.2em; }
.landing-artigo__corpo li { margin-bottom:.45em; }
.landing-artigo__corpo strong { color:var(--lp-ink); }

.landing-sumario {
  border:1px solid var(--lp-line); border-radius:var(--lp-radius);
  background:var(--lp-bg-alt); padding:18px 20px; font-size:15px;
}
.landing-sumario__titulo {
  font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--lp-muted); margin:0 0 10px !important;
}
.landing-sumario ol { margin:0; padding-left:1.3em; }
.landing-sumario li { margin-bottom:6px; }
.landing-sumario a { color:var(--lp-ink); text-decoration:none; }
.landing-sumario a:hover { color:var(--lp-teal-dark); text-decoration:underline; }

.landing-callout {
  border-left:4px solid var(--lp-teal); background:var(--lp-teal-soft);
  border-radius:0 8px 8px 0; padding:16px 20px; margin:24px 0; font-size:16px;
}
.landing-callout--alerta { border-left-color:#d99a2b; background:#fdf6e9; }
.landing-callout > :last-child { margin-bottom:0; }

.landing-formula {
  overflow-x:auto; margin:20px 0; padding:16px 18px;
  background:var(--lp-bg-alt); border:1px solid var(--lp-line); border-radius:8px;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:15px; line-height:1.6; white-space:pre; color:var(--lp-ink);
}

.landing-tabela { overflow-x:auto; margin:24px 0; border:1px solid var(--lp-line); border-radius:8px; }
.landing-tabela table { width:100%; border-collapse:collapse; min-width:480px; font-size:15px; }
.landing-tabela caption { caption-side:top; text-align:left; padding:12px 16px 4px; font-weight:600; color:var(--lp-ink); }
.landing-tabela th,
.landing-tabela td { padding:11px 16px; border-bottom:1px solid var(--lp-line-soft); text-align:left; vertical-align:top; }
.landing-tabela thead th {
  font-size:12.5px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--lp-muted); background:var(--lp-bg-alt);
}
.landing-tabela tbody th { font-weight:600; color:var(--lp-ink); }
.landing-tabela .num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.landing-tabela tbody tr:last-child > * { border-bottom:0; }
.landing-tabela__nota { font-size:14.5px; color:var(--lp-muted); margin-top:-12px; }

.landing-comparativo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.landing-comparativo .landing-card h3 { margin-top:0; }
.landing-comparativo .landing-card ul { margin:0; padding-left:1.2em; font-size:15px; }

.landing-calc {
  border:1px solid var(--lp-line); border-radius:var(--lp-radius);
  background:#fff; padding:24px; margin:24px 0;
}
.landing-calc__campos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.landing-calc label { display:block; font-weight:600; color:var(--lp-ink); font-size:15px; margin-bottom:6px; }
.landing-calc input {
  width:100%; min-height:46px; padding:0 14px;
  border:1px solid var(--lp-line); border-radius:8px;
  font:inherit; font-size:16px; color:var(--lp-ink); background:#fff;
}
.landing-calc__resultado {
  margin-top:20px; padding-top:16px; border-top:1px solid var(--lp-line-soft);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
.landing-calc__resultado dt { font-size:14px; color:var(--lp-muted); }
.landing-calc__resultado dd { margin:0; font-size:22px; font-weight:700; color:var(--lp-ink); font-variant-numeric:tabular-nums; }
.landing-calc__msg { min-height:1.4em; font-size:14px; color:#a5521b; margin:10px 0 0 !important; }
.landing-calc__nota { font-size:14px; color:var(--lp-muted); margin:8px 0 0 !important; }

.landing-artigo__corpo .landing-faq { max-width:none; }
.landing-artigo__corpo .landing-faq h3 { margin:0; font-size:inherit; }

.landing-artigo__cta {
  margin:56px 0 0; padding:32px; border-radius:var(--lp-radius);
  background:var(--lp-ink); color:#c9d6de;
}
.landing-artigo__corpo .landing-artigo__cta h2 { color:#fff; margin-top:0; font-size:24px; }
.landing-artigo__cta p { color:#a6b7c1; }
.landing-artigo__cta .landing-btn--ghost { border-color:#3a4c58; color:#fff; }
.landing-artigo__cta .landing-btn--ghost:hover { border-color:var(--lp-teal); color:var(--lp-teal); }
.landing-artigo__cta-acoes { display:flex; flex-wrap:wrap; gap:12px; }

.landing-artigo__fontes { font-size:15px; }
.landing-artigo__fontes li { margin-bottom:.6em; }
.landing-artigo__ressalva {
  font-size:14.5px; color:var(--lp-muted);
  border-top:1px solid var(--lp-line); padding-top:16px; margin-top:40px;
}

.landing-lista-conteudos { list-style:none; margin:0; padding:0; display:grid; gap:16px; max-width:820px; }
.landing-lista-conteudos .landing-card h2 { font-size:21px; margin:0 0 8px; }
.landing-lista-conteudos .landing-card h2 a { color:var(--lp-ink); text-decoration:none; }
.landing-lista-conteudos .landing-card h2 a:hover { color:var(--lp-teal-dark); }
.landing-lista-conteudos .landing-card p { font-size:15.5px; }
.landing-lista-conteudos time { font-size:13.5px; color:var(--lp-muted); }

@media (max-width:640px){
  .landing-comparativo,
  .landing-calc__campos,
  .landing-calc__resultado { grid-template-columns:1fr; }
  .landing-artigo__cta { padding:24px; }
  .landing-artigo__cta .landing-btn { width:100%; }
  .landing-artigo__corpo { font-size:16.5px; }
}
