/* =============================================================
   A REGULAR SOLUÇÕES · LANDING PAGES (PGFN · Funrural · INSS de obra)
   Folha única, compartilhada pelas três LPs. É irmã de
   MARKETING/SITE/SITE/assets/css/styles.css: mesma linguagem, mesmos
   devices de assinatura, mesmos tokens. Nada aqui inaugura sistema novo.

   Direção: CORPORATIVA GEOMÉTRICA. Traço fino, canto reto, muito respiro,
   blocos sólidos de azul, laranja em dose cirúrgica.

   Fonte da verdade: IDENTIDADE/DESIGN-SYSTEM.md
   Identidade oficial de 2023, por Gustavo Caldeira (arte) e Beatriz Soares.

   ⚠️ Substitui integralmente a folha antiga, de direção editorial, que
      rodava paleta e tipografia serifada inventadas pela Vogel. Aquela
      folha foi arquivada em _BACKUP-LPS-ds-errado-2026-08-03/ e nenhuma
      regra dela sobreviveu aqui.

   Devices de assinatura, todos derivados do próprio monograma:
   1. Sistema de filetes de 1px (o monograma é linear e aberto).
   2. Guias verticais de coluna, como planta baixa.
   3. "Tick" laranja de 3px antes de todo rótulo de seção.
   4. Numeral geométrico grande como elemento de display.
   5. Blocos sólidos de azul, sem gradiente e sem sombra.

   ⚠️ Caminhos de asset são RELATIVOS de propósito. As LPs sobem em
      subpastas do subdomínio (lp.aregularsolucoes.com.br/pgfn/ etc.);
      caminho root-relative quebraria o CSS e as fontes.
   ============================================================= */

/* ======================= FONTE =======================
   TeX Gyre Adventor: linhagem livre da ITC Avant Garde, via URW Gothic
   Base-35, com MÉTRICA IDÊNTICA à original. Self-hospedada, GUST Font License.
   🚫 Só 400 e 700 existem. 300/500/600/800 fazem o browser sintetizar
      peso falso e distorcer a haste fina, que é a assinatura da marca. */
@font-face{
  font-family:"Adventor";
  src:url("../fonts/texgyreadventor-regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Adventor";
  src:url("../fonts/texgyreadventor-bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap;
}

/* ======================= TOKENS ======================= */
:root{
  /* --- PALETA OFICIAL: as 4 cores da marca. Não adicionar cor nova. --- */
  --azul:#17374F;          /* PRIMÁRIA    */
  --laranja:#F3573A;       /* SECUNDÁRIA  */
  --branca:#EBEBEB;        /* TERCIÁRIA   */
  --cinza:#171717;         /* QUATERNÁRIA */

  /* --- DERIVADO: escalas de UI. Ferramentas, não cores de marca. --- */
  --azul-900:#0D1F2D;
  --azul-800:#12293C;
  --azul-600:#1F4A69;
  --azul-300:#93ADBE;   /* 5,28:1 sobre --azul: rótulo pequeno em bloco escuro */
  --azul-100:#D3DDE5;
  --laranja-700:#C33F26;
  --laranja-600:#E04A2F;
  --laranja-300:#F89B87;   /* 5,91:1 sobre azul: laranja legível em bloco escuro */

  --branco:#FFFFFF;
  --n-050:#F7F7F7;
  --n-200:#DCDCDC;
  --n-300:#C4C4C4;
  --n-700:#4A4A4A;

  /* --- Papéis semânticos --- */
  --bg:var(--branco);
  --texto:var(--cinza);           /* 15,04:1 sobre --branca */
  --texto-suave:var(--n-700);     /*  7,43:1 sobre --branca */
  --texto-marca:var(--azul);      /* 10,39:1 sobre --branca */
  --sobre-escuro:var(--branco);   /* 12,38:1 sobre --azul   */
  --sobre-escuro-suave:#A9BCC9;   /*  6,32:1 sobre --azul   */
  /* ⚠️ 11/ago/2026: os dois números acima estavam ERRADOS nesta folha
     (8,59 onde é 7,43 · 6,72 onde é 6,32). Nenhum reprova, então não houve
     dano, mas é o mesmo desvio já registrado em MARKETING/CONTEUDO/base.css.
     Regra da conta: recalcular antes de citar, nunca copiar o comentário.
     ⬜ As folhas irmãs LP-PGFN/ e LP-CALCULADORA-INSS/ ainda carregam os
        números antigos: a "folha única" são três cópias que já divergiram. */
  --linha:var(--n-200);
  --linha-escura:rgba(255,255,255,.16);
  --guia:rgba(23,55,79,.10);      /* guias verticais de coluna */

  /* ---- Laranja QUANDO VIRA TEXTO ----------------------------------------
     Medido, não estimado. O laranja oficial #F3573A dá:
        3,37:1 sobre branco · 2,83:1 sobre a branca #EBEBEB · 3,68:1 sobre azul
     Ou seja, sobre a própria superfície clara da marca ele reprova até o piso
     de texto grande, que é 3,0:1. Por isso o numeral, o rótulo grande e o
     grifo usam --acento-texto, e não o laranja puro.
        claro  → --laranja-600 #E04A2F: 3,39:1 sobre #EBEBEB e 4,05:1 sobre branco
        escuro → --laranja      #F3573A: 3,68:1 sobre azul, 5,32:1 sobre cinza
     🚫 Mesmo assim isto só vale para TEXTO GRANDE (≥24px, ou ≥18,66px bold).
        Laranja segue proibido em corpo de texto, em qualquer tom.
     ✅ O laranja PURO continua íntegro onde é elemento gráfico: tick, filete,
        borda, ícone, régua. Elemento gráfico não tem exigência de contraste. */
  --acento-texto: var(--laranja-600);

  --maxw:1200px;
  --gutter:clamp(1.25rem,4.5vw,3rem);
  --traco:1px;                    /* filete: mesma linguagem do monograma */
  --tick:3px;                     /* espessura do acento laranja */

  /* Raio pequeno. Canto arredondado grande descaracteriza a geometria. */
  --raio:2px;
  --raio-md:4px;

  --ease:cubic-bezier(.2,.7,.2,1);

  /* Tipografia: escala 1.250, a terça maior */
  --fs-xs:.78rem;  --fs-sm:.9rem;   --fs-base:1rem;
  --fs-lg:1.125rem;
  --tracking:.18em;               /* caixa-alta curta, ecoa "S O L U Ç Õ E S" */

  --logo-h:150px;                 /* ≥140px: mínimo do lockup horizontal */
}

/* ======================= BASE ======================= */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:"Adventor","TeX Gyre Adventor","URW Gothic","Century Gothic",system-ui,-apple-system,sans-serif;
  font-weight:400;
  /* Avant Garde tem x-height alta: nunca abaixo de 16px, entrelinha ≥1,6 */
  font-size:clamp(1rem,.975rem + .12vw,1.0625rem);
  line-height:1.65;
  color:var(--texto);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit}
[hidden]{display:none !important}
::selection{background:var(--laranja);color:var(--cinza)}

h1,h2,h3,h4,h5{
  font-weight:700;line-height:1.14;margin:0;
  color:var(--texto-marca);letter-spacing:-.012em;
}
:focus-visible{outline:3px solid var(--laranja);outline-offset:3px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);position:relative}
.section{padding-block:clamp(3.5rem,7vw,6.5rem);position:relative}
.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}
.mw{max-width:760px}
.mw-lg{max-width:860px}

/* --- Guias verticais de coluna: a planta baixa por trás da página --- */
@media (min-width:1024px){
  .section::before{
    content:"";position:absolute;inset:0;left:0;right:0;pointer-events:none;
    max-width:var(--maxw);margin-inline:auto;
    border-left:var(--traco) solid var(--guia);
    border-right:var(--traco) solid var(--guia);
  }
}

/* --- Superfícies --- */
.sec-clara{background:var(--branca)}
.sec-azul{background:var(--azul);color:var(--sobre-escuro);--guia:rgba(255,255,255,.10);--acento-texto:var(--laranja)}
.sec-preta{background:var(--cinza);color:var(--sobre-escuro);--guia:rgba(255,255,255,.10);--acento-texto:var(--laranja)}
/* Bloco escuro: o laranja puro volta, porque sobre azul e sobre cinza ele passa. */
.hero,.callout,.finalcta,.factstrip,.sim-result-head,.aud-cell.is-lead{--acento-texto:var(--laranja)}
/* Componente de superfície CLARA dentro de bloco escuro precisa reverter:
   a placa de documento e o cartão do simulador vivem dentro do hero. */
.doc,.sim-card,.bloco,.path,.gloss-item,.sim-doc,.sim-capture,.sim-memo,
.sim-social,.sim-result-note,.aud-cell:not(.is-lead){--acento-texto:var(--laranja-600)}
.sec-azul h1,.sec-azul h2,.sec-azul h3,.sec-azul h4,
.sec-preta h1,.sec-preta h2,.sec-preta h3,.sec-preta h4{color:var(--branco)}

/* ======================= TIPOGRAFIA UTILITÁRIA ======================= */
.display{font-size:clamp(2.35rem,1.5rem + 3.9vw,4.25rem);line-height:1.06;letter-spacing:-.02em}
.h2{font-size:clamp(1.8rem,1.35rem + 2vw,2.75rem);line-height:1.12}
.h3{font-size:clamp(1.2rem,1.08rem + .6vw,1.5rem)}
.lead{
  font-size:clamp(1.05rem,1rem + .3vw,1.25rem);line-height:1.62;
  color:var(--texto-suave);max-width:62ch;font-weight:400;
}
.sec-azul .lead,.sec-preta .lead{color:var(--sobre-escuro-suave)}
.muted{color:var(--texto-suave)}
p{margin:0 0 1.15rem}
p:last-child{margin-bottom:0}

/* Acento laranja em texto: SÓ em display ≥24px. Nunca em corpo (3,37:1). */
.acento{color:var(--acento-texto)}
.sec-azul .acento,.sec-preta .acento{color:var(--acento-texto)}

/* Rótulo de seção: tick laranja de 3px mais um label legível.
   O rótulo NÃO vai em laranja: laranja em texto pequeno reprova WCAG AA. */
.kicker{
  display:flex;align-items:center;gap:.8rem;margin:0 0 1.15rem;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking);
  text-transform:uppercase;color:var(--texto-marca);
}
.kicker::before{content:"";width:38px;height:var(--tick);background:var(--laranja);flex:none}
.kicker.center{justify-content:center}
.sec-azul .kicker,.sec-preta .kicker,.kicker.on-dark{color:var(--branca)}

/* Numeral de etapa da página: o device 4, o numeral geométrico */
.secnum{
  display:block;font-size:1.6rem;font-weight:700;color:var(--acento-texto);
  line-height:1;letter-spacing:-.02em;margin-bottom:.55rem;
}

.rotulo{
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto-marca);display:block;
}
.sec-azul .rotulo,.sec-preta .rotulo{color:var(--azul-300)}

.rule{height:var(--traco);background:var(--linha);border:0;margin:0}
.rule-acento{width:56px;height:var(--tick);background:var(--laranja);border:0;margin:1.4rem 0 0}

/* Descritor fixo travado ao logo/título (governança de nome) */
.descriptor{
  display:block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto-marca);font-weight:700;margin:0 0 1rem;
}
.sec-azul .descriptor,.sec-preta .descriptor,.hero .descriptor,.descriptor.on-dark{color:var(--branca)}

/* ======================= BOTÕES =======================
   CTA primário = AZUL com texto branco (12,38:1). Decisão de contraste,
   não de gosto: branco sobre laranja dá 3,37:1 e reprova AA.
   Em bloco escuro o primário vira LARANJA com label #171717 (5,32:1). */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-weight:700;font-size:.95rem;letter-spacing:.01em;line-height:1;
  padding:1.05rem 1.7rem;border-radius:var(--raio);
  border:var(--traco) solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease);
}
.btn svg{width:18px;height:18px;flex:none;fill:currentColor}
.btn svg[stroke]{fill:none}
.btn-lg{padding:1.2rem 2rem;font-size:1rem}
.btn-block{width:100%}

.btn-primary{background:var(--azul);color:var(--branco);border-color:var(--azul)}
.btn-primary:hover{background:var(--azul-800);border-color:var(--azul-800)}

/* Laranja SEMPRE com label escuro. Nunca label branco pequeno. */
.btn-acento{background:var(--laranja);color:var(--cinza);border-color:var(--laranja)}
.btn-acento:hover{background:var(--laranja-600);border-color:var(--laranja-600)}

.btn-ghost{background:transparent;border-color:var(--azul);color:var(--texto-marca)}
.btn-ghost:hover{background:var(--azul);color:var(--branco)}

/* Contexto escuro: azul sobre azul seria invisível. */
.sec-azul .btn-primary,.sec-preta .btn-primary,
.hero .btn-primary,.finalcta .btn-primary,.callout .btn-primary{
  background:var(--laranja);color:var(--cinza);border-color:var(--laranja);
}
.sec-azul .btn-primary:hover,.sec-preta .btn-primary:hover,
.hero .btn-primary:hover,.finalcta .btn-primary:hover,.callout .btn-primary:hover{
  background:var(--laranja-600);border-color:var(--laranja-600);
}
.btn-ghost.on-dark,
.sec-azul .btn-ghost,.sec-preta .btn-ghost,.hero .btn-ghost,.finalcta .btn-ghost,.callout .btn-ghost{
  border-color:rgba(255,255,255,.45);color:var(--branco);background:transparent;
}
.btn-ghost.on-dark:hover,
.sec-azul .btn-ghost:hover,.sec-preta .btn-ghost:hover,.hero .btn-ghost:hover,
.finalcta .btn-ghost:hover,.callout .btn-ghost:hover{
  border-color:var(--branco);background:rgba(255,255,255,.10);color:var(--branco);
}

.btnrow{display:flex;flex-wrap:wrap;gap:.85rem}

/* ======================= HEADER DA LP =======================
   Barra clara e sólida, sem menu: a LP tem um destino só.
   A assinatura sobre fundo claro é a bicolor laranja+azul (DS §4). */
.lp-header{
  position:sticky;top:0;z-index:60;
  background:var(--branco);
  border-bottom:var(--traco) solid var(--linha);
}
.lp-header .wrap{
  display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:88px;
}
.lp-logo{display:block;flex:none}
.lp-logo img{width:var(--logo-h);height:auto}  /* 150px: acima do mínimo de 140px */

/* ======================= HERO =======================
   Bloco sólido de azul. Quando recebe fotografia (classe .tem-foto), a
   foto entra sob véu azul de alfa 0,78, que é o mesmo valor da grade de
   carrosséis e do site institucional. Sem gradiente e sem sombra:
   a marca é corporativa geométrica, não editorial. */
.hero{
  background:var(--azul);color:var(--sobre-escuro);
  border-bottom:var(--tick) solid var(--laranja);
  position:relative;overflow:hidden;
}
/* malha de planta baixa, 1px, quase imperceptível */
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.055) var(--traco),transparent var(--traco)),
    linear-gradient(to bottom,rgba(255,255,255,.055) var(--traco),transparent var(--traco));
  background-size:88px 88px;
}
/* ---- FOTOGRAFIA EM BLOCO ESCURO (hero e CTA final) ----------------------
   Véu azul com alfa 0,78. A malha de planta baixa é desenhada POR CIMA do
   véu e soma branco: o pior pixel de cada foto foi medido com a malha
   incluída (ver assets/img/fotos/LEIA-ME.md).
   🔴 Regra herdada da grade de carrosséis e do site: sobre foto o laranja é
   só superfície, nunca tipo. Todo texto aqui é branco ou --branca.        */
.hero-foto,.cta-foto{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;z-index:0;
}
.hero-veu,.cta-veu{position:absolute;inset:0;background:var(--azul);opacity:.78;z-index:0}
.hero.tem-foto::before,.finalcta.tem-foto::before{z-index:1}
.hero.tem-foto > .wrap,.finalcta.tem-foto > .wrap{z-index:2}
/* O acento laranja não entra em texto sobre foto: sobre o composto ele cai
   para ~2,2:1.
   ⚠️ CORRIGIDO AO PORTAR (11/ago/2026): na folha de origem existia só
   `.tem-foto .acento`, com especificidade (0,2,0). Ela PERDIA para
   `.hero h1 .acento` (0,2,1), que é quem pinta o acento de laranja. Ou
   seja: a trava não travava nada, e só não deu defeito porque nenhum <h1>
   daquela LP tinha acento. As duas linhas abaixo cobrem o caso real. */
.tem-foto .acento{color:var(--branca)}
.hero.tem-foto h1 .acento,.finalcta.tem-foto h2 .acento{color:var(--branca)}
.tem-foto .hero-sub,.tem-foto .finalcta p{color:var(--branca)}
.finalcta.tem-foto p{color:var(--branca)}
.finalcta.tem-foto .assur{color:var(--branca)}

.hero-grid{
  display:grid;grid-template-columns:1.25fr .75fr;gap:0;align-items:stretch;
  position:relative;z-index:1;
}
/* Item de grid nasce com min-width:auto: se o conteúdo tiver min-content maior
   que a coluna, a faixa inteira estoura a viewport. Em 320px foi a placa de
   documento que empurrou o hero para fora da tela. */
.hero-grid > *,.sim-grid > *,.auth-grid > *,.duo > *,.paths > *{min-width:0}
.hero-grid.solo{grid-template-columns:1fr;max-width:900px}
.hero-copy{
  padding-block:clamp(3rem,6.5vw,5.5rem);
  padding-right:clamp(2rem,4vw,4rem);
  display:flex;flex-direction:column;justify-content:center;
}
.hero-grid.solo .hero-copy{padding-right:0}
/* flex-wrap:nowrap de propósito: com wrap, no celular o texto inteiro pulava
   para a segunda linha e deixava o ponto laranja sozinho na primeira.
   Sem wrap, o texto quebra dentro do próprio item, ao lado do ponto. */
.hero-flag{
  display:inline-flex;align-items:flex-start;gap:.7rem;align-self:flex-start;flex-wrap:nowrap;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking);
  text-transform:uppercase;color:var(--branca);line-height:1.5;
  border:var(--traco) solid rgba(255,255,255,.3);border-radius:var(--raio);
  padding:.5rem .95rem;margin-bottom:1.6rem;max-width:100%;
}
.hero-flag .dot{width:7px;height:7px;background:var(--laranja);flex:none;margin-top:.42em}
.hero h1{
  color:var(--branco);
  font-size:clamp(2.05rem,1.35rem + 3.4vw,3.85rem);
  line-height:1.07;letter-spacing:-.022em;
}
.hero h1 .acento{color:var(--acento-texto)}
.hero-sub{
  margin:1.6rem 0 2.3rem;font-size:clamp(1.05rem,1rem + .4vw,1.25rem);
  line-height:1.62;color:var(--sobre-escuro-suave);max-width:54ch;
}
.hero-sub b{color:var(--branco);font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem}

/* Garantias do hero: filete de 1px entre itens, tick laranja como marcador */
.hero-assurance{
  display:flex;flex-wrap:wrap;gap:.55rem 1.9rem;margin-top:2.1rem;
  padding-top:1.5rem;border-top:var(--traco) solid var(--linha-escura);
}
.hero-assurance span{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.88rem;color:var(--branca);line-height:1.5;
}
.hero-assurance span::before{content:"";width:14px;height:var(--tick);background:var(--laranja);flex:none}

.hero-media{
  border-left:var(--traco) solid var(--linha-escura);
  padding:clamp(2.25rem,4.5vw,3.5rem) 0 clamp(2.25rem,4.5vw,3.5rem) clamp(1.75rem,3vw,2.75rem);
  display:flex;flex-direction:column;justify-content:center;
}

/* ======================= PLACA DE DOCUMENTO =======================
   Substitui o mockup de papel timbrado do sistema antigo, que trazia a
   logo recolorida em dourado. É desenho geométrico na linguagem do
   monograma: filete de 1px, canto reto, marcas de canto em laranja.
   Nenhuma foto e nenhuma pessoa. */
.doc{
  position:relative;background:var(--branca);border:var(--traco) solid var(--linha);
  border-top:var(--tick) solid var(--laranja);border-radius:var(--raio);
  padding:1.6rem 1.5rem 1.5rem;
}
.doc::before,.doc::after{
  content:"";position:absolute;width:14px;height:14px;pointer-events:none;
}
.doc::before{top:10px;right:10px;border-top:var(--traco) solid var(--laranja);border-right:var(--traco) solid var(--laranja)}
.doc::after{bottom:10px;left:10px;border-bottom:var(--traco) solid var(--laranja);border-left:var(--traco) solid var(--laranja)}
/* padding-right reserva a faixa do selo, que é absoluto no canto superior.
   Sem isso o selo cobre o nome do órgão. */
.doc-top{
  display:flex;align-items:center;gap:.9rem;padding:.4rem 7.5rem 1.1rem 0;
  border-bottom:var(--traco) solid var(--linha);
}
.doc-sigla{
  width:52px;height:52px;flex:none;display:grid;place-items:center;
  border:var(--traco) solid var(--azul);border-radius:var(--raio);
  font-size:.82rem;font-weight:700;letter-spacing:.06em;color:var(--texto-marca);
}
.doc-org{min-width:0}
.doc-org strong{display:block;font-size:.9rem;font-weight:700;color:var(--texto-marca);line-height:1.3;overflow-wrap:break-word}
.doc-org span{display:block;font-size:.78rem;color:var(--texto-suave);line-height:1.45;margin-top:.2rem}
.doc-tag{
  display:inline-block;margin:1.2rem 0 .7rem;font-size:var(--fs-xs);font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--texto-suave);
}
.doc-title{font-size:1.02rem;font-weight:700;color:var(--texto-marca);line-height:1.4;margin:0 0 1.1rem}
.doc-line{height:var(--traco);background:var(--n-300);margin-bottom:.6rem}
.doc-line.w90{width:90%} .doc-line.w80{width:80%} .doc-line.w70{width:70%}
.doc-line.w60{width:60%} .doc-line.w50{width:50%}
.doc-flag{
  display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;align-items:center;
  margin-top:1.4rem;padding-top:1.2rem;border-top:var(--traco) solid var(--linha);
}
/* ≥24px em bold é o piso para laranja sobre claro (3,37:1). 1,85rem passa. */
/* 🐛 CORRIGIDO EM 11/AGO/2026: era `flex:0 0 auto`, que proíbe o item de
   encolher. Com um rótulo mais longo que "Operação não liberada", o texto
   ESCAPAVA da placa branca e ia parar em cima da fotografia do hero — laranja
   sobre foto, que é reprovação de contraste garantida. A largura da placa
   nunca foi a trava; a trava era o rótulo caber por sorte. `flex:0 1 auto` +
   `max-width:100%` fazem o texto quebrar dentro da placa: transbordo
   impossível por construção, em vez de calibrado no olho. */
.doc-flag .big{
  font-size:1.85rem;font-weight:700;color:var(--acento-texto);line-height:1.05;
  letter-spacing:-.02em;flex:0 1 auto;max-width:100%;overflow-wrap:break-word;
}
/* flex-basis alto força a quebra de linha quando a coluna aperta,
   em vez de espremer o texto de apoio numa sanfona de 2 palavras. */
.doc-flag small{font-size:.84rem;line-height:1.55;color:var(--texto-suave);flex:1 1 14rem}
/* Selo do canto: rótulo em caixa-alta dentro de tarja sólida */
.doc-selo{
  position:absolute;top:-1px;right:-1px;background:var(--azul);color:var(--branca);
  font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:.42rem .8rem;
}
.doc--regular .doc-flag .big{
  font-size:1.35rem;display:inline-flex;align-items:center;gap:.5rem;max-width:none;
}
.doc--regular .doc-flag .big svg{width:26px;height:26px;flex:none}

/* ======================= FAIXA DE FATOS ======================= */
.factstrip{background:var(--cinza);color:var(--branca)}
.factstrip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fact{padding:clamp(1.8rem,3vw,2.5rem) clamp(1rem,2vw,1.8rem);border-right:var(--traco) solid rgba(255,255,255,.14)}
.fact:first-child{padding-left:0}
.fact:last-child{border-right:0}
.fact .n{font-size:clamp(1.7rem,1.25rem + 1.4vw,2.4rem);font-weight:700;color:var(--acento-texto);line-height:1;letter-spacing:-.02em}
.fact .n .u{font-size:.55em;letter-spacing:0}
.fact .l{font-size:.88rem;color:#B4B4B4;margin:.65rem 0 0;line-height:1.5;max-width:30ch}
.factstrip .fonte{
  font-size:.8rem;color:#9A9A9A;padding-bottom:1.6rem;margin:0;line-height:1.6;
}

/* ======================= CAMINHOS LEGAIS ======================= */
.paths{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--traco);background:var(--linha)}
.paths.tri{grid-template-columns:repeat(3,1fr)}
.path{
  background:var(--branco);padding:clamp(1.8rem,3vw,2.4rem);
  display:flex;flex-direction:column;
  border-top:var(--tick) solid transparent;transition:border-color .26s var(--ease);
}
.sec-clara .path{background:var(--branca)}
.path:hover{border-top-color:var(--laranja)}
.path .path-tag{
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--texto-suave);display:block;margin-bottom:.7rem;
}
.path h3{font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);margin-bottom:.35rem}
.path .path-org{font-size:.85rem;color:var(--texto-suave);margin:0 0 1.3rem}
.path-nums{display:grid;gap:0;margin-bottom:1.3rem;border-top:var(--traco) solid var(--linha)}
.path-nums > div{display:flex;gap:1.1rem;align-items:baseline;padding:.95rem 0;border-bottom:var(--traco) solid var(--linha)}
.path-nums .pn{font-size:1.5rem;font-weight:700;color:var(--acento-texto);line-height:1;flex:none;min-width:6.4rem;letter-spacing:-.02em}
.path-nums .pl{font-size:.9rem;line-height:1.55;color:var(--texto-suave)}
.path p{font-size:.95rem;line-height:1.65;color:var(--texto-suave)}
.path b{color:var(--texto-marca);font-weight:700}
.path .path-deadline{
  margin-top:auto;padding-top:1.1rem;border-top:var(--traco) solid var(--linha);
  font-size:.92rem;color:var(--texto-suave);
}
.paths-src{
  font-size:.86rem;line-height:1.7;color:var(--texto-suave);
  margin:1.6rem 0 0;padding-top:1.2rem;border-top:var(--traco) solid var(--linha);
}
.paths-src b{color:var(--texto-marca);font-weight:700}

/* ======================= SIMULADOR / DIAGNÓSTICO ======================= */
.sim-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,4.5vw,4rem);align-items:start}
.sim-intro .lead{margin-bottom:1.6rem}
.badge-lead{
  display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.2rem;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--texto-marca);border:var(--traco) solid var(--azul);border-radius:var(--raio);
  padding:.45rem .85rem;
}
.badge-lead svg{width:15px;height:15px;color:var(--laranja);flex:none}
.sim-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sim-list li{
  display:flex;gap:.9rem;align-items:flex-start;color:var(--texto-suave);
  font-size:.98rem;line-height:1.6;padding:.95rem 0;border-top:var(--traco) solid var(--linha);
}
.sim-list li:last-child{border-bottom:var(--traco) solid var(--linha)}
.sim-list .ck{width:20px;height:20px;color:var(--laranja);flex:none;margin-top:3px}
.sim-list b{color:var(--texto-marca);font-weight:700}

.sim-card{
  background:var(--branco);border:var(--traco) solid var(--linha);
  border-top:var(--tick) solid var(--laranja);border-radius:var(--raio);
  padding:clamp(1.6rem,3vw,2.4rem);
}
.sec-clara .sim-card{background:var(--branco)}
.sim-card > h3{font-size:1.35rem;margin-bottom:.5rem}
.sim-card > .muted{font-size:.94rem;line-height:1.6;margin-bottom:1.6rem}

.sim-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.field{margin-bottom:1.05rem;display:flex;flex-direction:column;gap:.4rem}
.field-full{grid-column:1 / -1}
.field label,.field > .field-lbl{
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--texto-marca);line-height:1.45;
}
.field .req{color:var(--laranja)}
.inp{
  width:100%;padding:.9rem 1rem;border:var(--traco) solid var(--n-300);border-radius:var(--raio);
  background:var(--branco);color:var(--texto);font-size:1rem;
  transition:border-color .2s,box-shadow .2s;
}
.inp::placeholder{color:#6B6B6B}
.inp:focus{outline:none;border-color:var(--azul);box-shadow:inset 0 0 0 var(--traco) var(--azul)}
select.inp{
  appearance:none;padding-right:2.5rem;background-repeat:no-repeat;background-position:right 1rem center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2317374F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
/* Estado de erro: laranja é o alerta da marca, porque a paleta oficial
   não tem cor de erro dedicada. */
.inp-err{border-color:var(--laranja) !important;box-shadow:inset 0 0 0 var(--traco) var(--laranja)}

/* Grupo de opções por radio: pílula de canto reto, selecionada em azul sólido */
/* position:relative prende o input escondido ao próprio grupo. Sem isso ele
   é posicionado contra um ancestral qualquer e o foco de teclado rola a
   página para um canto sem relação com a pergunta. */
.seg{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--traco);background:var(--linha);border:var(--traco) solid var(--linha)}
.seg.wrap2{grid-template-columns:repeat(2,1fr)}
.seg input{position:absolute;top:0;left:0;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.seg label{
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--branco);color:var(--texto-marca);
  font-size:.92rem;font-weight:700;letter-spacing:0;text-transform:none;
  padding:.85rem .7rem;cursor:pointer;line-height:1.3;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.seg label:hover{background:var(--n-050)}
.seg input:checked + label{background:var(--azul);color:var(--branco)}
.seg input:focus-visible + label{outline:3px solid var(--laranja);outline-offset:-3px}

/* --- Resultado --- */
.sim-result{margin-top:1.6rem;border-top:var(--traco) solid var(--linha);padding-top:1.6rem}
.sim-result-head{background:var(--azul);color:var(--sobre-escuro);padding:1.5rem 1.6rem;border-left:var(--tick) solid var(--laranja)}
.sim-result-head .cap{
  font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--tracking);
  text-transform:uppercase;color:var(--azul-300);margin-bottom:.6rem;
}
.sim-result-head .val{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);font-weight:700;color:var(--acento-texto);line-height:1.1;letter-spacing:-.02em}
.sim-result-head .val b{color:var(--branco);font-weight:700}
/* Manchete qualitativa do diagnóstico da PGFN: é frase, não número,
   portanto vai em branco e não em laranja. */
.sim-result-head .val.is-texto{font-size:1.08rem;font-weight:400;color:var(--sobre-escuro);line-height:1.55;letter-spacing:0}
#sim-inss-sub{
  display:block;font-size:.86rem;font-weight:400;letter-spacing:0;
  color:var(--sobre-escuro-suave);margin-top:.7rem;line-height:1.5;
}

.sim-social{
  display:flex;gap:.9rem;align-items:flex-start;margin-top:var(--traco);
  background:var(--branca);border-left:var(--tick) solid var(--azul);
  padding:1.15rem 1.4rem;font-size:.93rem;line-height:1.6;color:var(--texto-suave);
}
.sim-social svg{width:20px;height:20px;color:var(--laranja);flex:none;margin-top:2px}
.sim-social b{color:var(--texto-marca);font-weight:700}

/* Mapa de caminhos (diagnóstico PGFN) */
.sim-doc{border:var(--traco) solid var(--linha);border-top:0;padding:1.4rem 1.5rem}
.map-cap{
  display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--texto-suave);margin-bottom:.95rem;
}
.map-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.map-tag{
  display:inline-flex;align-items:center;gap:.5rem;
  border:var(--traco) solid var(--azul);border-radius:var(--raio);
  padding:.45rem .85rem;font-size:.88rem;font-weight:700;color:var(--texto-marca);
}
.map-tag svg{width:15px;height:15px;color:var(--laranja);flex:none}
.map-tag.off{border-color:var(--n-300);color:var(--n-700);font-weight:400;opacity:.75}

.sim-result-note{
  display:flex;gap:.9rem;align-items:flex-start;
  border:var(--traco) solid var(--linha);border-top:0;padding:1.25rem 1.5rem;
  font-size:.94rem;line-height:1.65;color:var(--texto-suave);
}
.sim-result-note .ck{width:19px;height:19px;color:var(--laranja);flex:none;margin-top:3px}
.sim-result-note b{color:var(--texto-marca);font-weight:700}

/* Memória de cálculo */
.sim-memo{margin-top:var(--traco);border:var(--traco) solid var(--linha);border-top:0}
.sim-memo summary{
  cursor:pointer;padding:1.05rem 1.5rem;font-size:.92rem;font-weight:700;
  color:var(--texto-marca);list-style:none;display:flex;align-items:center;gap:.7rem;
}
.sim-memo summary::-webkit-details-marker{display:none}
.sim-memo summary::before{content:"";width:20px;height:var(--tick);background:var(--laranja);flex:none}
.sim-memo[open] summary{border-bottom:var(--traco) solid var(--linha)}
.memo-table{width:100%;border-collapse:collapse;font-size:.9rem}
.memo-table td{padding:.7rem 1.5rem;border-bottom:var(--traco) solid var(--linha);color:var(--texto-suave);line-height:1.5}
.memo-table td:last-child{text-align:right;font-weight:700;color:var(--texto-marca);white-space:nowrap}
.memo-table .memo-strong td{background:var(--n-050);color:var(--texto-marca)}
.memo-table .memo-total td{background:var(--azul);color:var(--branca);font-weight:700}
.memo-table .memo-total td:last-child{color:var(--laranja-300)}  /* 5,91:1 sobre azul; o laranja puro dava 3,68:1 e reprova em 14px */
.memo-note{font-size:.84rem;line-height:1.7;color:var(--texto-suave);padding:1.1rem 1.5rem;margin:0}
.memo-note b{color:var(--texto-marca);font-weight:700}

/* Captura */
.sim-capture{border:var(--traco) solid var(--linha);border-top:0;padding:1.5rem}
.sim-capture .cap-title{font-size:1.05rem;font-weight:700;color:var(--texto-marca);margin:0 0 .5rem;line-height:1.35}
.sim-capture .cap-sub,.sim-capture > p{font-size:.93rem;line-height:1.65;color:var(--texto-suave);margin:0 0 1.15rem}
.cap-fields{display:grid;gap:.75rem;margin-bottom:1rem}
.cap-err{
  margin:0 0 1rem;padding:.8rem .95rem;font-size:.9rem;font-weight:700;line-height:1.45;
  border-left:var(--tick) solid var(--laranja);background:#FDE1DB;color:#8F2C17;border-radius:var(--raio);
}
.cap-fine{font-size:.83rem;line-height:1.6;color:var(--texto-suave);margin:.95rem 0 0}
.finelabel{font-size:.83rem;line-height:1.7;color:var(--texto-suave);margin:1.3rem 0 0}
.finelabel b{color:var(--texto-marca);font-weight:700}

/* ======================= GLOSSÁRIO ======================= */
.gloss{display:grid;gap:var(--traco);background:var(--linha);border:var(--traco) solid var(--linha)}
.gloss-item{
  display:grid;grid-template-columns:8.5rem 1fr;gap:1.4rem;align-items:start;
  background:var(--branco);padding:1.25rem 1.4rem;
}
.sec-clara .gloss-item{background:var(--branca)}
.gloss-k{
  font-size:.88rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--texto-marca);line-height:1.35;
  border-left:var(--tick) solid var(--laranja);padding-left:.8rem;
}
.gloss-v{font-size:.94rem;line-height:1.62;color:var(--texto-suave)}
.gloss-v b{color:var(--texto-marca);font-weight:700}

/* ======================= LISTA DE ATRIBUTOS ======================= */
.feature-list{list-style:none;margin:1.7rem 0 0;padding:0;display:grid;gap:0}
.feature-list li{
  display:flex;gap:.85rem;align-items:flex-start;color:var(--texto-suave);
  line-height:1.6;padding:.9rem 0;border-top:var(--traco) solid var(--linha);font-size:.98rem;
}
.feature-list li:last-child{border-bottom:var(--traco) solid var(--linha)}
.feature-list .ck{width:20px;height:20px;color:var(--laranja);flex:none;margin-top:3px}
.feature-list b{color:var(--texto-marca);font-weight:700}
.sec-azul .feature-list li,.sec-preta .feature-list li,.callout .feature-list li{
  color:var(--sobre-escuro-suave);border-top-color:var(--linha-escura);
}
.sec-azul .feature-list li:last-child,.sec-preta .feature-list li:last-child,.callout .feature-list li:last-child{
  border-bottom-color:var(--linha-escura);
}
.sec-azul .feature-list b,.sec-preta .feature-list b,.callout .feature-list b{color:var(--branco)}

/* ======================= CARTÃO EM BLOCO ======================= */
.bloco{background:var(--branco);border:var(--traco) solid var(--linha);border-top:var(--tick) solid var(--laranja);padding:clamp(1.6rem,3vw,2.2rem)}
.sec-clara .bloco{background:var(--branco)}
.bloco h3{font-size:1.25rem;margin-bottom:.8rem}
.bloco p{font-size:.96rem;line-height:1.65;color:var(--texto-suave)}
.bloco b{color:var(--texto-marca);font-weight:700}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.2rem);margin-top:clamp(2rem,4vw,3rem)}

/* Callout escuro */
.callout{background:var(--azul);color:var(--sobre-escuro);padding:clamp(1.9rem,3.5vw,2.8rem);border-left:var(--tick) solid var(--laranja)}
.callout h3{color:var(--branco);font-size:clamp(1.35rem,1.15rem + .9vw,1.8rem);margin-bottom:.9rem}
.callout p{color:var(--sobre-escuro-suave);font-size:1rem;line-height:1.65}
.callout b{color:var(--branco);font-weight:700}
.callout .btnrow{margin-top:1.7rem}

/* ======================= ETAPAS ======================= */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.4rem,2.8vw,2.2rem);margin-top:clamp(2.4rem,4.5vw,3.4rem)}
.steps.tri{grid-template-columns:repeat(3,1fr)}
.step{position:relative;padding-top:2.9rem;border-top:var(--traco) solid var(--linha)}
.step::after{content:"";position:absolute;top:calc(-1 * var(--tick));left:0;width:48px;height:var(--tick);background:var(--laranja)}
.step .n{
  position:absolute;top:1.05rem;left:0;
  font-size:1.7rem;font-weight:700;color:var(--acento-texto);line-height:1;letter-spacing:-.02em;
}
.step h3,.step h4{font-size:1.12rem;margin-bottom:.5rem;line-height:1.3}
.step p{color:var(--texto-suave);font-size:.95rem;line-height:1.62;margin:0}
.sec-azul .step,.sec-preta .step{border-top-color:var(--linha-escura)}
.sec-azul .step p,.sec-preta .step p{color:var(--sobre-escuro-suave)}

/* ======================= PÚBLICO ======================= */
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--traco);background:var(--linha);border:var(--traco) solid var(--linha);margin-top:clamp(2.2rem,4vw,3rem)}
.aud-cell{
  background:var(--branco);padding:clamp(1.7rem,2.8vw,2.2rem);
  border-top:var(--tick) solid transparent;transition:border-color .26s var(--ease),background .26s var(--ease);
}
.sec-clara .aud-cell{background:var(--branca)}
.aud-cell:hover{border-top-color:var(--laranja);background:var(--n-050)}
.aud-cell.is-lead{background:var(--azul);color:var(--sobre-escuro);border-top-color:var(--laranja)}
.aud-cell.is-lead:hover{background:var(--azul-800)}
.aud-cell.is-lead h4{color:var(--branco)}
.aud-cell.is-lead p{color:var(--sobre-escuro-suave)}
.aud-cell.is-lead .aud-ic{border-color:rgba(255,255,255,.32)}
.aud-tag{
  display:block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--branca);margin-bottom:.9rem;
}
.aud-ic{
  width:46px;height:46px;border:var(--traco) solid var(--azul);border-radius:var(--raio);
  display:grid;place-items:center;color:var(--laranja);margin-bottom:1.15rem;
}
.aud-ic svg{width:22px;height:22px}
.aud-cell h4{font-size:1.1rem;margin-bottom:.55rem;line-height:1.3}
.aud-cell p{color:var(--texto-suave);font-size:.94rem;line-height:1.6;margin:0}

/* ======================= AUTORIDADE ======================= */
.auth-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,4.5vw,4rem);align-items:center}
/* Moldura de fotografia, proporção 5:4. Nenhum texto entra aqui.
   A camada azul de 0,22 existe por um motivo de paleta, não de estética:
   a cena do agro devolve terra, palha e grão em tom quente, e sem ela o
   quadro disputa atenção com o laranja da marca, que é o acento. Com ela,
   a foto aproxima-se do azul primário e o laranja continua sendo o único
   acento da página. Valor baixo de propósito: a cena precisa continuar
   legível. */
.auth-placa{position:relative;border:var(--traco) solid var(--linha);border-radius:var(--raio);overflow:hidden;background:var(--azul);aspect-ratio:5/4}
.auth-placa img{width:100%;height:100%;object-fit:cover;display:block}
.auth-placa::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--azul);opacity:.22;
}
.auth-placa .marca-canto{
  position:absolute;z-index:1;bottom:0;left:0;width:56px;height:var(--tick);
  background:var(--laranja);
}
.auth-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.chip{
  display:inline-flex;align-items:center;gap:.55rem;
  border:var(--traco) solid var(--azul);border-radius:var(--raio);
  padding:.45rem .85rem;font-size:.86rem;font-weight:700;color:var(--texto-marca);
}
.chip svg{width:15px;height:15px;color:var(--laranja);flex:none}
.sec-azul .chip,.sec-preta .chip{border-color:rgba(255,255,255,.32);color:var(--branca)}

/* ======================= FAQ ======================= */
.faq-head{max-width:640px;margin-bottom:clamp(2.2rem,4vw,3rem)}
.faq-wrap{max-width:860px;border-top:var(--traco) solid var(--linha)}
.faq-item{border-bottom:var(--traco) solid var(--linha)}
.faq-q{
  width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:1.45rem .2rem;
  font-size:1.08rem;font-weight:700;color:var(--texto-marca);line-height:1.35;
  display:flex;justify-content:space-between;align-items:center;gap:1.2rem;
}
.faq-q:hover{color:var(--azul-600)}
.faq-q .pm{width:22px;height:22px;flex:none;position:relative}
.faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--laranja)}
.faq-q .pm::before{top:50%;left:0;right:0;height:var(--tick);transform:translateY(-50%)}
.faq-q .pm::after{left:50%;top:0;bottom:0;width:var(--tick);transform:translateX(-50%);transition:opacity .3s var(--ease)}
.faq-item.open .pm::after{opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a p{margin:0 0 1.5rem;color:var(--texto-suave);line-height:1.72;max-width:72ch}
.faq-a b{color:var(--texto-marca);font-weight:700}

/* ======================= CTA FINAL ======================= */
.finalcta{background:var(--azul);color:var(--sobre-escuro);text-align:center;position:relative;overflow:hidden;--guia:rgba(255,255,255,.10)}
.finalcta::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.055) var(--traco),transparent var(--traco)),
    linear-gradient(to bottom,rgba(255,255,255,.055) var(--traco),transparent var(--traco));
  background-size:88px 88px;
}
.finalcta .wrap{position:relative;z-index:1}
.finalcta .in{max-width:760px;margin-inline:auto}
.finalcta .descriptor{color:var(--branca)}
.finalcta h2{color:var(--branco);font-size:clamp(1.85rem,1.35rem + 2.2vw,2.9rem);line-height:1.14}
.finalcta p{color:var(--sobre-escuro-suave);font-size:1.08rem;line-height:1.62;margin:1.2rem auto 2.3rem;max-width:58ch}
.finalcta .btnrow{justify-content:center}
.finalcta .assur{
  font-size:.88rem;color:var(--azul-300);margin:2rem 0 0;line-height:1.6;
}

/* ======================= FOOTER ======================= */
.lp-footer{background:var(--cinza);color:var(--sobre-escuro-suave);padding-block:clamp(2.75rem,5vw,3.75rem) 2rem;border-top:var(--tick) solid var(--laranja)}
.lp-footer .logo-plate{display:block;margin-bottom:1.2rem}
.lp-footer img{width:170px;height:auto}
.lp-footer .fdesc{
  display:block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;
  color:var(--branca);font-weight:700;margin-bottom:1rem;
}
.lp-footer p{font-size:.92rem;line-height:1.7;color:#B4B4B4;max-width:70ch}
.fcontact{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin-top:1.6rem}
.fcontact a{
  font-size:.92rem;font-weight:700;color:var(--branca);
  border-bottom:var(--traco) solid transparent;transition:border-color .2s var(--ease);
}
.fcontact a:hover{border-bottom-color:var(--laranja)}
.fbot{
  margin-top:2.2rem;padding-top:1.5rem;border-top:var(--traco) solid rgba(255,255,255,.14);
  font-size:.84rem;color:#9A9A9A;line-height:1.6;
}
.lp-footer .finelabel{color:#9A9A9A;margin-top:1.3rem;max-width:80ch}
.lp-footer .finelabel b{color:var(--branca)}

/* ======================= WHATSAPP FLUTUANTE ======================= */
.wafloat{
  position:fixed;right:20px;bottom:20px;z-index:70;display:inline-flex;align-items:center;gap:.55rem;
  background:var(--azul);color:var(--branco);font-weight:700;padding:.85rem 1.1rem;
  border-radius:var(--raio);border-left:var(--tick) solid var(--laranja);
  transition:background .22s var(--ease);
}
.wafloat:hover{background:var(--azul-800)}
.wafloat svg{width:24px;height:24px;fill:currentColor}
.wafloat .lbl-wa{font-size:.9rem}

/* ======================= REVEAL (motion contido) ======================= */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ======================= RESPONSIVO ======================= */
@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0;padding-bottom:clamp(1.75rem,3.5vw,2.5rem)}
  .hero-media{border-left:0;border-top:var(--traco) solid var(--linha-escura);padding:2rem 0 3rem}
  .sim-grid,.auth-grid,.duo{grid-template-columns:1fr}
  .aud-grid,.steps{grid-template-columns:1fr 1fr}
  .steps.tri{grid-template-columns:1fr 1fr}
  .paths.tri{grid-template-columns:1fr}
}
@media (max-width:860px){
  :root{--logo-h:140px}  /* nunca abaixo do mínimo do lockup horizontal */
  .lp-header .wrap{min-height:74px}
  .lp-header .btn{padding:.85rem 1.1rem;font-size:.9rem}
  .paths{grid-template-columns:1fr}
  .factstrip .wrap{grid-template-columns:1fr 1fr}
  .fact{border-bottom:var(--traco) solid rgba(255,255,255,.14);padding-left:0}
  .fact:nth-child(2n){border-right:0}
  .gloss-item{grid-template-columns:1fr;gap:.7rem}
  .gloss-k{border-left:0;padding-left:0;border-top:var(--tick) solid var(--laranja);padding-top:.7rem}
}
@media (max-width:620px){
  .sim-fields{grid-template-columns:1fr}
  .seg,.seg.wrap2{grid-template-columns:1fr}
  .aud-grid,.steps,.steps.tri{grid-template-columns:1fr}
  .factstrip .wrap{grid-template-columns:1fr}
  .fact:last-child{border-bottom:0}
  .memo-table td{padding-inline:1rem}
  .sim-capture,.sim-doc,.sim-result-note{padding-inline:1.1rem}
  .sim-result-head{padding:1.25rem 1.2rem}
  .doc-flag{flex-direction:column;align-items:flex-start;gap:.7rem}
  .doc{padding:1.4rem 1.1rem 1.2rem}
  .doc-top{padding-right:5.4rem}
  .doc-selo{font-size:.62rem;letter-spacing:.1em;padding:.36rem .6rem}
  .doc-sigla{width:44px;height:44px;font-size:.74rem}
  .path-nums > div{flex-direction:column;gap:.35rem}
  .path-nums .pn{min-width:0}
  .wafloat .lbl-wa{display:none}
  .lp-header .lbl-full{display:none}
  .lp-header .btn{padding:.8rem .9rem}
  .btn{white-space:normal;text-align:center}
}
@media (max-width:380px){
  /* 🚫 --logo-h NÃO desce abaixo de 140px: é o mínimo do lockup horizontal
     (DESIGN-SYSTEM.md §4). Em 320px quem cede é o CTA, que fica só com o
     ícone (.lbl-full oculto acima), não a marca. */
  :root{--gutter:1.1rem}
  .hero-assurance{gap:.5rem 1.1rem}
}
