/* ═══════════════════════════════════════════════════════════
   NEXUS — Hub de Soluções
   Paleta e tipografia conforme brand guidelines v1.
   Pares de contraste verificados: botão coral leva texto em
   ameixa (5,75:1). Coral sobre marfim reprova em corpo de
   texto — só é usado em superfície, nunca em parágrafo.
   ═══════════════════════════════════════════════════════════ */

:root{
  /* marca */
  --ameixa:      #24112F;
  --marfim:      #FFF7ED;
  --coral:       #FF5A5F;
  --impulso:     #FFB000;
  --ardosia:     #574B60;

  /* derivadas */
  --ameixa-deep:    #1B0C23;
  --marfim-deep:    #F8EFE2;
  --superficie:     #FFFDF9;
  --texto-claro:    #C9BDD0;
  --linha-clara:    rgba(255,247,237,.15);
  --linha-escura:   rgba(36,17,47,.13);

  /* tipografia */
  --sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* ritmo */
  --wrap: 1120px;
  --gutter: clamp(20px, 5vw, 40px);
  --secao: clamp(76px, 11vw, 132px);
  --raio: 14px;
}

*,*::before,*::after{ box-sizing:border-box }

html{ -webkit-text-size-adjust:100% }

body{
  margin:0;
  background:var(--marfim);
  color:var(--ameixa);
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,p,ol,dl,dd,dt,figure{ margin:0 }
ol{ padding:0; list-style:none }

a{ color:inherit }

img,svg{ display:block; max-width:100% }

::selection{ background:var(--impulso); color:var(--ameixa) }

:focus-visible{
  outline:2px solid var(--impulso);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.skip{
  position:absolute; left:-9999px;
  background:var(--impulso); color:var(--ameixa);
  padding:12px 18px; border-radius:0 0 8px 0;
  font-weight:600; z-index:99;
}
.skip:focus{ left:0; top:0 }

/* ── marcador âmbar: só onde há decisão a tomar ─────────── */
.dot{
  display:inline-block;
  width:9px; height:9px;
  margin-right:9px;
  background:var(--impulso);
  transform:rotate(45deg);
  flex:none;
}

/* ── etiqueta mono: a "voz do registro" ─────────────────── */
.eyebrow{
  font-family:var(--mono);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ardosia);
  margin-bottom:20px;
}
/* cor sólida em vez de opacity — opacity não aparece em auditoria de cor */
.eyebrow--light{ color:#A092A8 }

/* ═══ TOPO ═══════════════════════════════════════════════ */
.topbar{
  background:var(--ameixa);
  color:var(--marfim);
  border-bottom:1px solid var(--linha-clara);
}
.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
  min-height:74px;
}
.topbar__brand{ display:block; color:var(--marfim) }
.logo{ width:132px; height:auto }

.topbar__link{
  font-family:var(--mono);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  padding:10px 16px;
  border:1px solid var(--linha-clara);
  border-radius:999px;
  white-space:nowrap;
  transition:background .25s ease, border-color .25s ease;
}
.topbar__link:hover{
  background:rgba(255,247,237,.09);
  border-color:rgba(255,247,237,.34);
}

/* ═══ HERO ═══════════════════════════════════════════════ */
.hero{
  position:relative;
  overflow:hidden;
  background:var(--ameixa);
  color:var(--marfim);
  padding-block:clamp(64px,12vw,124px) clamp(72px,12vw,128px);
}

/* a marca da própria empresa como geometria de fundo */
.hero__mark{
  position:absolute;
  top:50%; right:-17%;
  width:min(720px,84vw);
  transform:translateY(-50%);
  pointer-events:none;
}
.hero__mark g{ opacity:.085 }
/* o âmbar fica reservado a pontos de decisão — não decora o fundo */
.hero__mark > path{ display:none }

.hero__inner{ position:relative; z-index:1 }

.hero__title{
  font-size:clamp(2.3rem,6.4vw,4.4rem);
  font-weight:600;
  line-height:1.03;
  letter-spacing:-.035em;
  max-width:15ch;
  text-wrap:balance;
}

.hero__lede{
  margin-top:26px;
  max-width:44ch;
  font-size:clamp(1.05rem,1.9vw,1.3rem);
  line-height:1.6;
  color:var(--texto-claro);
}

/* diretório de caminhos — a página é uma recepção */
.hero__paths{
  margin-top:clamp(40px,6vw,60px);
  max-width:660px;
  border-top:1px solid var(--linha-clara);
}
.path{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px;
  padding:20px 4px;
  border-bottom:1px solid var(--linha-clara);
  text-decoration:none;
  font-size:clamp(1rem,1.7vw,1.15rem);
  font-weight:500;
  transition:padding-left .3s cubic-bezier(.2,.7,.3,1), color .2s ease;
}
.path__arrow{
  font-family:var(--mono);
  color:var(--coral);
  transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.path:hover{ padding-left:12px; color:#fff }
.path:hover .path__arrow{ transform:translateX(6px) }

/* ═══ BLOCO DE ABERTURA DE SEÇÃO ═════════════════════════ */
.lead{ max-width:62ch; margin-bottom:clamp(44px,6vw,68px) }
.lead__title{
  font-size:clamp(1.7rem,3.5vw,2.55rem);
  font-weight:600;
  line-height:1.13;
  letter-spacing:-.022em;
  text-wrap:balance;
}
.lead__text{
  margin-top:20px;
  color:var(--ardosia);
  font-size:clamp(1rem,1.5vw,1.12rem);
}

/* ═══ SERVIÇOS ═══════════════════════════════════════════ */
.services{ padding-block:var(--secao) }

.cards{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
  max-width:620px;          /* empilhado: não deixa o card virar uma faixa */
}
@media (min-width:900px){
  .cards{
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    max-width:none;
  }
}

.card{
  display:flex; flex-direction:column;
  background:var(--superficie);
  border:1px solid var(--linha-escura);
  border-radius:var(--raio);
  padding:clamp(26px,3vw,32px);
  scroll-margin-top:90px;
}

.card__label{
  display:flex; align-items:center;
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:22px;
}

.card__pain{
  font-size:clamp(1.14rem,1.9vw,1.35rem);
  font-weight:600;
  line-height:1.32;
  letter-spacing:-.012em;
}

.card__text{
  margin-top:16px;
  color:var(--ardosia);
  font-size:.98rem;
}

/* empurra o rodapé do card para baixo: os três botões alinham na base */
.meta{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--linha-escura);
  font-family:var(--mono);
  font-size:.74rem;
  line-height:1.55;
}
.card__text{ margin-bottom:26px }
.meta__row{ display:flex; gap:12px; padding-block:5px }
.meta__row dt{ color:var(--ardosia); flex:none; min-width:98px }
.meta__row dd{ margin:0; font-weight:500 }

/* ═══ BOTÕES ═════════════════════════════════════════════ */
.btn{
  display:inline-block;
  align-self:flex-start;
  margin-top:28px;
  padding:14px 24px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  transition:transform .22s cubic-bezier(.2,.7,.3,1), filter .22s ease;
}
.btn:hover{ transform:translateY(-2px); filter:brightness(1.05) }
.btn:active{ transform:translateY(0) }

/* coral com texto em ameixa: 5,75:1 — o par que passa AA */
.btn--coral{ background:var(--coral); color:var(--ameixa) }
.btn--light{ background:var(--marfim); color:var(--ameixa) }

/* ═══ PROCESSO ═══════════════════════════════════════════ */
.process{
  background:var(--marfim-deep);
  border-top:1px solid var(--linha-escura);
  padding-block:var(--secao);
}

.steps{
  display:grid;
  gap:0;
  grid-template-columns:1fr;
}
@media (min-width:860px){
  .steps{ grid-template-columns:repeat(4,1fr); gap:28px }
}

.step{
  padding-block:26px;
  border-top:1px solid var(--linha-escura);
}
@media (min-width:860px){
  .step{ padding-block:26px 0 }
}

/* ardósia, não coral: coral sobre marfim dá 2,68:1 e reprova.
   Aqui também não há ação a tomar — coral fica reservado a CTA. */
.step__n{
  display:block;
  font-family:var(--mono);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.1em;
  color:var(--ardosia);
  margin-bottom:14px;
}
.step__title{
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:-.01em;
}
.step__text{
  margin-top:10px;
  color:var(--ardosia);
  font-size:.94rem;
  max-width:34ch;
}

/* ═══ FECHAMENTO ═════════════════════════════════════════ */
.close{
  background:var(--ameixa);
  color:var(--marfim);
  padding-block:clamp(76px,11vw,124px);
}
.close__inner{ max-width:56ch }
.close__dot{
  display:block;
  width:11px; height:11px;
  background:var(--impulso);
  transform:rotate(45deg);
  margin-bottom:30px;
}
.close__title{
  font-size:clamp(1.75rem,4vw,2.9rem);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.028em;
  text-wrap:balance;
}
.close__text{
  margin-top:18px;
  color:var(--texto-claro);
  font-size:clamp(1rem,1.7vw,1.2rem);
}

/* ═══ RODAPÉ ═════════════════════════════════════════════ */
.site-footer{
  background:var(--ameixa-deep);
  color:var(--texto-claro);
  padding-block:clamp(52px,7vw,76px);
  border-top:1px solid var(--linha-clara);
  font-size:.9rem;
}

.trust{
  display:grid;
  gap:32px;
  grid-template-columns:1fr;
  padding-bottom:38px;
  border-bottom:1px solid var(--linha-clara);
}
@media (min-width:760px){
  .trust{ grid-template-columns:repeat(3,1fr); gap:40px }
}

.trust__label{
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9A8CA3;          /* era opacity:.6 -> dava 4,33:1 e reprovava */
  margin-bottom:12px;
}
.trust__value{ color:var(--marfim); line-height:1.7 }
.trust__mono{ font-family:var(--mono); font-size:.78rem; color:var(--texto-claro) }
.trust__link{
  color:var(--marfim);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(255,247,237,.4);
}
.trust__link:hover{ text-decoration-color:var(--coral) }
/* o e-mail é longo e a coluna do rodapé é estreita no celular */
.trust__link--email{ overflow-wrap:anywhere }

.notice{
  display:grid;
  gap:18px;
  padding-block:34px;
  border-bottom:1px solid var(--linha-clara);
  max-width:74ch;
}
.notice__item{ font-size:.86rem; line-height:1.65 }
.notice__item strong{ color:var(--marfim); font-weight:600 }

/* cor sólida em vez de opacity: opacity empilhada derruba o contraste */
.copyright{
  display:flex; flex-wrap:wrap; gap:10px 28px;
  justify-content:space-between;
  padding-top:30px;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.05em;
  color:#8C7E94;
}
.copyright__sig{ color:var(--coral) }

/* ═══ MOVIMENTO ══════════════════════════════════════════ */
.stagger{
  opacity:0;
  transform:translateY(15px);
  animation:sobe .72s cubic-bezier(.2,.72,.3,1) forwards;
  animation-delay:calc(var(--i) * 95ms + 90ms);
}
@keyframes sobe{ to{ opacity:1; transform:none } }

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .62s cubic-bezier(.2,.72,.3,1),
             transform .62s cubic-bezier(.2,.72,.3,1);
}
.reveal.is-in{ opacity:1; transform:none }

.cards .reveal:nth-child(2){ transition-delay:.09s }
.cards .reveal:nth-child(3){ transition-delay:.18s }
.steps .reveal:nth-child(2){ transition-delay:.07s }
.steps .reveal:nth-child(3){ transition-delay:.14s }
.steps .reveal:nth-child(4){ transition-delay:.21s }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .stagger,.reveal{ opacity:1; transform:none }
  .path:hover{ padding-left:4px }
}

/* ═══ AJUSTES DE TELA PEQUENA ════════════════════════════ */
@media (max-width:600px){
  .logo{ width:112px }
  .topbar__link{ font-size:.68rem; padding:9px 13px }
  /* no celular a marca desce para o canto, longe do corpo de texto */
  .hero__mark{
    top:auto; bottom:-14%; right:-36%;
    width:min(460px,104vw);
    transform:none;
  }
  .hero__title{ max-width:none }
  .path{ padding:17px 2px; gap:14px }
  .btn{ width:100%; text-align:center }
}

html{ scroll-behavior:smooth }


/* ═══════════════════════════════════════════════════════════
   PÁGINA /credito — reaproveita todo o sistema acima.
   Só o que é específico da página de conversão vive aqui.
   ═══════════════════════════════════════════════════════════ */

.hero--produto .hero__title{ max-width:17ch }
.hero--produto .hero__lede{ max-width:52ch }

/* ── bloco de oferta ─────────────────────────────────────── */
.oferta{
  display:flex; align-items:baseline; flex-wrap:wrap;
  gap:10px 22px;
  margin-top:36px;
  padding-top:26px;
  border-top:1px solid var(--linha-clara);
  max-width:560px;
}
.oferta__preco{
  font-size:clamp(2rem,4.4vw,2.7rem);
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1;
}
.oferta__detalhe{
  font-family:var(--mono);
  font-size:.78rem;
  line-height:1.75;
  color:var(--texto-claro);
}
.oferta__nota{ color:#A092A8 }

.hero__acoes{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:14px 26px;
  margin-top:34px;
}
.hero__acoes .btn{ margin-top:0 }

.link-simples{
  font-size:.95rem;
  color:var(--texto-claro);
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:rgba(255,247,237,.32);
}
.link-simples:hover{ color:var(--marfim); text-decoration-color:var(--coral) }

/* ── fatores que pesam na análise ────────────────────────── */
.fatores{
  display:grid; gap:2px;
  grid-template-columns:1fr;
  background:var(--linha-escura);
  border:1px solid var(--linha-escura);
  border-radius:var(--raio);
  overflow:hidden;
}
@media (min-width:800px){
  .fatores{ grid-template-columns:repeat(2,1fr) }
}
.fator{
  background:var(--superficie);
  padding:clamp(24px,3vw,32px);
}
.fator__titulo{
  font-size:1.02rem; font-weight:600; letter-spacing:-.01em;
}
.fator__texto{
  margin-top:9px; color:var(--ardosia); font-size:.94rem; max-width:44ch;
}

/* ── o que você recebe ───────────────────────────────────── */
.entrega{
  background:var(--marfim-deep);
  border-top:1px solid var(--linha-escura);
  padding-block:var(--secao);
}
.itens{ display:grid; gap:0; counter-reset:it }
@media (min-width:820px){
  .itens{ grid-template-columns:repeat(2,1fr); column-gap:56px }
}
.item{
  padding-block:26px;
  border-top:1px solid var(--linha-escura);
  counter-increment:it;
}
.item__titulo{
  display:flex; gap:12px;
  font-size:1.05rem; font-weight:600; letter-spacing:-.01em;
}
.item__titulo::before{
  content:counter(it,decimal-leading-zero);
  font-family:var(--mono); font-size:.76rem; font-weight:500;
  color:var(--ardosia); padding-top:3px; flex:none;
}
.item__texto{
  margin-top:9px; margin-left:34px;
  color:var(--ardosia); font-size:.94rem; max-width:42ch;
}

/* ── é / não é ───────────────────────────────────────────── */
.honesto{
  background:var(--ameixa);
  color:var(--marfim);
  padding-block:var(--secao);
}
.lead--claro .lead__title{ color:var(--marfim) }
.lead__text--claro{ color:var(--texto-claro) }

.colunas{
  display:grid; gap:14px;
  grid-template-columns:1fr;
}
@media (min-width:800px){
  .colunas{ grid-template-columns:repeat(2,1fr); gap:22px }
}
.coluna{
  border:1px solid var(--linha-clara);
  border-radius:var(--raio);
  padding:clamp(24px,3vw,32px);
}
.coluna--e{ background:rgba(255,247,237,.05) }

.coluna__cabeca{
  font-family:var(--mono);
  font-size:.72rem; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  padding-bottom:16px; margin-bottom:6px;
  border-bottom:1px solid var(--linha-clara);
}
.coluna--e .coluna__cabeca{ color:var(--marfim) }
.coluna--nao .coluna__cabeca{ color:var(--coral) }

.lista{ list-style:none; margin:0; padding:0 }
.lista__item{
  padding-block:14px;
  border-bottom:1px solid var(--linha-clara);
  font-size:.98rem; line-height:1.5;
}
.lista__item:last-child{ border-bottom:0; padding-bottom:0 }
/* hierarquia carrega o significado: o que é fica claro, o que não é recua */
.coluna--e .lista__item{ color:var(--marfim) }
.coluna--nao .lista__item{ color:var(--texto-claro) }

.honesto__fecho{
  margin-top:34px;
  max-width:64ch;
  font-size:.94rem;
  color:var(--texto-claro);
}

/* ── segurança ───────────────────────────────────────────── */
.seguranca{ padding-block:var(--secao) }
.checks{
  display:grid; gap:20px;
  grid-template-columns:1fr;
}
@media (min-width:800px){
  .checks{ grid-template-columns:repeat(2,1fr); gap:24px }
}
.check{
  background:var(--superficie);
  border:1px solid var(--linha-escura);
  border-left:3px solid var(--coral);
  border-radius:0 var(--raio) var(--raio) 0;
  padding:clamp(22px,2.6vw,28px);
}
.check__titulo{ font-size:1.02rem; font-weight:600; letter-spacing:-.01em }
.check__texto{ margin-top:9px; color:var(--ardosia); font-size:.94rem }

/* três blocos num grid de duas colunas deixariam um órfão na última
   linha: entre 800 e 900 o terceiro ocupa a linha inteira, e acima
   disso os três dividem a largura por igual. */
@media (min-width:800px){
  .checks--tres .check:last-child{ grid-column:1 / -1 }
}
@media (min-width:900px){
  .checks--tres{ grid-template-columns:repeat(3,1fr) }
  .checks--tres .check:last-child{ grid-column:auto }
}

/* ── barra fixa de conversão (só celular) ────────────────── */
.barra{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  display:none;
  align-items:center; justify-content:space-between; gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:var(--ameixa-deep);
  border-top:1px solid var(--linha-clara);
  transform:translateY(102%);
  transition:transform .32s cubic-bezier(.2,.72,.3,1);
}
.barra.is-on{ transform:none }
.barra__info{ display:flex; flex-direction:column; line-height:1.25 }
.barra__preco{ color:var(--marfim); font-weight:600; font-size:1.05rem }
.barra__label{
  font-family:var(--mono); font-size:.68rem;
  letter-spacing:.08em; color:var(--texto-claro);
}
.barra__btn{ margin-top:0; padding:12px 22px; width:auto; flex:none }

@media (max-width:760px){
  .barra{ display:flex }
  /* espaço para a barra não cobrir o fim do rodapé */
  .site-footer{ padding-bottom:calc(clamp(52px,7vw,76px) + 78px) }
}

@media (prefers-reduced-motion:reduce){
  .barra{ transition:none }
}


/* ═══════════════════════════════════════════════════════════
   DOCUMENTO — política de privacidade e afins.
   Texto longo: medida curta, entrelinha generosa, mono nos
   metadados. Sem ornamento — é para ser lido, não admirado.
   ═══════════════════════════════════════════════════════════ */

.doc-topo{
  background:var(--ameixa);
  color:var(--marfim);
  padding-block:clamp(56px,8vw,88px) clamp(40px,5vw,56px);
}
.doc-topo__titulo{
  font-size:clamp(2rem,4.6vw,3.1rem);
  font-weight:600; line-height:1.08; letter-spacing:-.03em;
}
.doc-meta{
  display:grid; gap:14px 46px;
  grid-template-columns:1fr;
  margin-top:32px; padding-top:26px;
  border-top:1px solid var(--linha-clara);
  font-family:var(--mono); font-size:.76rem;
}
@media (min-width:720px){
  .doc-meta{ grid-template-columns:repeat(3,auto); justify-content:start }
}
.doc-meta__par dt{ color:var(--texto-claro); opacity:.72; margin-bottom:4px }
.doc-meta__par dd{ margin:0; color:var(--marfim) }

.doc{ padding-block:clamp(52px,7vw,80px) var(--secao) }
.doc__wrap{ max-width:min(var(--wrap), 860px) }

.doc__abertura{
  font-size:clamp(1.05rem,1.7vw,1.2rem);
  line-height:1.62;
  color:var(--ardosia);
  padding-bottom:34px;
  border-bottom:1px solid var(--linha-escura);
  max-width:66ch;
}

.doc__sec{ padding-block:36px; border-bottom:1px solid var(--linha-escura) }
.doc__sec:last-of-type{ border-bottom:0 }

.doc__h2{
  display:flex; gap:16px; align-items:baseline;
  font-size:clamp(1.2rem,2.2vw,1.45rem);
  font-weight:600; letter-spacing:-.015em;
  margin-bottom:18px;
}
/* ardósia, não coral: coral sobre marfim dá 2,88:1 e reprova.
   Coral como texto só sobrevive sobre fundo escuro. */
.doc__num{
  font-family:var(--mono); font-size:.8rem; font-weight:500;
  color:var(--ardosia); flex:none; min-width:22px;
}
.doc__h3{
  font-size:1rem; font-weight:600;
  margin-top:26px; margin-bottom:10px;
}

.doc p{ max-width:66ch; margin-bottom:14px; color:var(--ardosia) }
.doc p:last-child{ margin-bottom:0 }
.doc strong{ color:var(--ameixa); font-weight:600 }

.doc__lista{
  list-style:none; padding:0; margin:0 0 14px;
  max-width:66ch;
}
.doc__lista li{
  position:relative;
  padding-left:22px; padding-block:7px;
  color:var(--ardosia);
}
.doc__lista li::before{
  content:""; position:absolute; left:0; top:16px;
  width:7px; height:7px;
  background:var(--ardosia); opacity:.42;
  transform:rotate(45deg);
}

.doc__link{
  color:var(--ameixa); font-weight:500;
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--coral);
}
.doc__link:hover{ text-decoration-thickness:2px }

/* dados do controlador e bases legais */
.dados-controlador,.bases{ margin:18px 0; max-width:66ch }
.dados-controlador__par{
  display:grid; gap:4px 18px;
  grid-template-columns:1fr;
  padding-block:11px; border-bottom:1px solid var(--linha-escura);
}
@media (min-width:620px){
  .dados-controlador__par{ grid-template-columns:250px 1fr; align-items:baseline }
}
.dados-controlador__par dt{
  font-family:var(--mono); font-size:.74rem;
  color:var(--ardosia);
}
.dados-controlador__par dd{ margin:0; font-weight:500 }

.bases__par{ padding-block:14px; border-bottom:1px solid var(--linha-escura) }
.bases__par:last-child{ border-bottom:0 }
.bases__par dt{ font-weight:600; margin-bottom:5px }
.bases__par dd{ margin:0; color:var(--ardosia); font-size:.96rem }
.bases__art{
  font-family:var(--mono); font-size:.7rem; font-weight:400;
  color:var(--ardosia); margin-left:8px;
}

/* campo que ainda depende de você preencher */
.pendente{
  font-family:var(--mono); font-size:.82em;
  background:rgba(255,176,0,.2);
  border-bottom:1px dashed rgba(36,17,47,.4);
  padding:1px 5px; border-radius:3px;
  color:var(--ameixa);
}

.check--doc{ margin-top:4px }
.check--doc .check__texto{ margin-top:0; color:var(--ameixa) }

.doc__fecho{
  margin-top:40px; padding-top:30px;
  border-top:1px solid var(--linha-escura);
  font-size:1rem;
}


/* ═══════════════════════════════════════════════════════════
   ENVIO DE DOCUMENTOS
   Formulário sobre ameixa. Campo em marfim (contraste alto no
   que se digita), coral apenas em borda e botão — como texto
   sobre marfim ele reprova. Nada de opacity para tonalizar.
   ═══════════════════════════════════════════════════════════ */

/* ── passo a passo dentro de um item ─────────────────────── */
/* escopado em .itens--passos de propósito: sem isso o max-width
   vazaria para os itens da /credito, que são de 42ch. */
.itens--passos .item__texto{ max-width:54ch }
.itens--passos .item__texto p + p{ margin-top:12px }

.mini{
  list-style:none;
  margin:14px 0 0; padding:0;
  counter-reset:mini;
  border-top:1px solid var(--linha-escura);
}
.mini__item{
  counter-increment:mini;
  position:relative;
  padding:9px 0 9px 30px;
  border-bottom:1px solid var(--linha-escura);
  font-size:.92rem;
  color:var(--ardosia);
}
.mini__item::before{
  content:counter(mini);
  position:absolute; left:0; top:9px;
  font-family:var(--mono); font-size:.72rem; font-weight:500;
  color:var(--ardosia);
}
.mini__item strong{ color:var(--ameixa); font-weight:600 }

.item__obs{
  margin-top:14px;
  padding:14px 16px;
  background:var(--marfim-deep);
  border-left:3px solid var(--ardosia);
  border-radius:0 8px 8px 0;
  font-size:.9rem;
}

/* ── seção do formulário ─────────────────────────────────── */
.envio{
  background:var(--ameixa);
  color:var(--marfim);
  padding-block:var(--secao);
  scroll-margin-top:20px;
}
.envio__wrap{ max-width:min(var(--wrap),720px) }

.form{ display:grid; gap:28px; margin-top:8px }

.campo{ display:grid; gap:8px }

.campo__rotulo{
  font-family:var(--mono);
  font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--marfim);
}

.campo__input{
  width:100%;
  padding:14px 16px;
  background:var(--marfim);
  color:var(--ameixa);
  border:1px solid transparent;
  border-radius:10px;
  font-family:var(--sans);
  font-size:1rem;
  transition:border-color .2s ease;
}
.campo__input::placeholder{ color:var(--ardosia) }
.campo__input:focus{ border-color:var(--impulso); outline:none }
.campo__input:focus-visible{ outline:2px solid var(--impulso); outline-offset:2px }

/* o código é dado, não prosa: vai na voz do registro */
.campo__input--codigo{
  font-family:var(--mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  max-width:260px;
}

.campo__arquivo{
  width:100%;
  padding:22px 16px;
  background:rgba(255,247,237,.06);
  color:var(--marfim);
  border:1px dashed rgba(255,247,237,.4);
  border-radius:10px;
  font-family:var(--sans);
  font-size:.95rem;
  cursor:pointer;
}
.campo__arquivo::file-selector-button{
  margin-right:14px;
  padding:9px 16px;
  background:var(--marfim);
  color:var(--ameixa);
  border:0; border-radius:999px;
  font-family:var(--sans); font-size:.88rem; font-weight:600;
  cursor:pointer;
}
.campo__arquivo:focus-visible{ outline:2px solid var(--impulso); outline-offset:2px }

/* #C9BDD0 sobre ameixa = 9,9:1 — mesma cor de apoio do resto do escuro */
.campo__ajuda{
  font-size:.86rem;
  line-height:1.5;
  color:var(--texto-claro);
  overflow-wrap:anywhere;
}

.form__enviar{ margin-top:4px; justify-self:start }

/* honeypot: fora da tela sem display:none, que alguns robôs detectam */
.armadilha{
  position:absolute;
  width:1px; height:1px;
  margin:-1px; padding:0; border:0;
  overflow:hidden; clip-path:inset(50%);
  white-space:nowrap;
}

/* ── alerta de erro ──────────────────────────────────────── */
/* painel claro sobre o escuro: o coral fica na borda, nunca no texto */
.alerta{
  margin-bottom:30px;
  background:var(--superficie);
  color:var(--ameixa);
  border-left:3px solid var(--coral);
  border-radius:0 var(--raio) var(--raio) 0;
  padding:20px 24px;
}
.alerta__titulo{ font-weight:600; font-size:1rem }
.alerta__lista{
  list-style:none; margin:10px 0 0; padding:0;
}
.alerta__lista li{
  position:relative;
  padding-left:20px; padding-block:5px;
  color:var(--ardosia); font-size:.94rem;
}
.alerta__lista li::before{
  content:""; position:absolute; left:0; top:14px;
  width:6px; height:6px;
  background:var(--coral);
  transform:rotate(45deg);
}

.envio__nota{
  margin-top:30px; padding-top:24px;
  border-top:1px solid var(--linha-clara);
  font-size:.88rem;
  color:var(--texto-claro);
  max-width:62ch;
}
.envio__link{
  color:var(--marfim);
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--coral);
}

/* ── recibo do envio ─────────────────────────────────────── */
.recibo{
  list-style:none;
  margin:32px 0 0; padding:0;
  max-width:520px;
  border-top:1px solid var(--linha-clara);
}
.recibo__item{
  padding:11px 0 11px 26px;
  position:relative;
  border-bottom:1px solid var(--linha-clara);
  font-family:var(--mono);
  font-size:.84rem;
  color:var(--marfim);
  overflow-wrap:anywhere;
}
.recibo__item::before{
  content:""; position:absolute; left:0; top:17px;
  width:7px; height:7px;
  background:var(--impulso);
  transform:rotate(45deg);
}


/* ═══════════════════════════════════════════════════════════
   BANNER DE COOKIES
   Fixo na base, sobre ameixa (mesmo par de contraste do rodapé).
   Some/aparece por classe — o JS controla o resto.
   ═══════════════════════════════════════════════════════════ */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:200;
  background:var(--ameixa-deep);
  color:var(--marfim);
  border-top:1px solid var(--linha-clara);
  transform:translateY(102%);
  transition:transform .32s cubic-bezier(.2,.72,.3,1);
  max-height:100vh;
  overflow-y:auto;
}
.cookie-banner.is-on{ transform:none }

.cookie-banner__wrap{
  display:flex; flex-wrap:wrap; align-items:center; gap:20px 32px;
  max-width:var(--wrap);
  margin-inline:auto;
  padding:22px var(--gutter) calc(22px + env(safe-area-inset-bottom));
}
.cookie-banner__texto{ flex:1 1 380px; min-width:0 }
.cookie-banner__titulo{ font-weight:600; font-size:1rem; margin-bottom:6px }
.cookie-banner__lede{ font-size:.9rem; line-height:1.55; color:var(--texto-claro); max-width:62ch }
.cookie-banner__link{
  color:var(--marfim);
  text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--coral);
}

.cookie-banner__acoes{ display:flex; flex-wrap:wrap; gap:10px; flex:none }
.cookie-banner__btn{ margin-top:0; padding:12px 18px; font-size:.88rem; white-space:nowrap }

.cookie-painel{
  border-top:1px solid var(--linha-clara);
  background:var(--ameixa);
}
.cookie-painel__wrap{
  max-width:var(--wrap);
  margin-inline:auto;
  padding:24px var(--gutter);
  display:grid; gap:16px;
}
@media (min-width:760px){
  .cookie-painel__wrap{ grid-template-columns:repeat(3,1fr); align-items:start }
  .cookie-painel__salvar{ grid-column:1 / -1; justify-self:start }
}

.cookie-categoria{ padding-block:6px }
.cookie-categoria__cabeca{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase;
  cursor:default;
}
label.cookie-categoria__cabeca{ cursor:pointer }
.cookie-categoria__nome{ color:var(--marfim) }
.cookie-categoria__estado{ color:#A092A8 }
.cookie-categoria__texto{ margin-top:8px; font-size:.86rem; color:var(--texto-claro); max-width:38ch }
.cookie-toggle{
  width:18px; height:18px; accent-color:var(--impulso);
  cursor:pointer;
}
.cookie-painel__salvar{ margin-top:4px }

/* botão sem estilo de botão: reaproveita a aparência de link do rodapé */
.link-botao{
  background:none; border:0; padding:0;
  font:inherit; cursor:pointer; color:inherit;
  text-align:left;
}

@media (max-width:600px){
  .cookie-banner__acoes{ width:100%; flex-direction:column }
  .cookie-banner__btn{ width:100%; text-align:center }
}

@media (prefers-reduced-motion:reduce){
  .cookie-banner{ transition:none }
}
