/* Site Tudo Seu Digital. Cores, fontes e medidas vêm de tokens.css (tsd-brand). */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  font-family: var(--tsd-familia-texto);
  font-size: var(--tsd-tamanho-corpo);
  line-height: var(--tsd-entrelinha-texto);
  color: var(--tsd-texto);
  background: var(--tsd-fundo);
  -webkit-font-smoothing: antialiased;
}

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

a { color: var(--tsd-link); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 0.2em; }

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

h1, h2, h3, h4 {
  font-family: var(--tsd-familia-titulo);
  font-weight: var(--tsd-peso-negrito);
  line-height: var(--tsd-entrelinha-titulo);
  letter-spacing: var(--tsd-espacamento-titulo);
  color: var(--tsd-titulo);
  text-wrap: balance;
}
h2 { font-size: var(--tsd-tamanho-h2); line-height: var(--tsd-entrelinha-subtitulo); }
h3 { font-size: var(--tsd-tamanho-h4); font-weight: var(--tsd-peso-semi); line-height: var(--tsd-entrelinha-subtitulo); }

p { text-wrap: pretty; }

.icone { width: 24px; height: 24px; flex: none; }
.icone--sm { width: 18px; height: 18px; }

.pular {
  position: absolute; left: var(--tsd-espaco-4); top: -100px; z-index: 100;
  padding: var(--tsd-espaco-3) var(--tsd-espaco-4);
  background: var(--tsd-primaria); color: var(--tsd-sobre-primaria);
  border-radius: var(--tsd-raio-md); font-weight: var(--tsd-peso-semi);
}
.pular:focus { top: var(--tsd-espaco-4); }

.so-leitor {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

/* ---------- Layout ---------- */

.container {
  width: 100%;
  max-width: calc(var(--tsd-layout-largura-conteudo) + 2 * var(--tsd-layout-margem-lateral));
  margin-inline: auto;
  padding-inline: var(--tsd-layout-margem-lateral);
}

.secao { padding-block: clamp(var(--tsd-espaco-20), 10vw, var(--tsd-espaco-32)); }
.secao--superficie { background: var(--tsd-superficie); }

.secao__topo { max-width: 46rem; margin-bottom: var(--tsd-espaco-12); }
.secao__topo p { margin-top: var(--tsd-espaco-4); color: var(--tsd-texto-suave); font-size: 1.125rem; }

.sobretitulo {
  display: block;
  margin-bottom: var(--tsd-espaco-3);
  font-family: var(--tsd-familia-titulo);
  font-size: var(--tsd-tamanho-pequeno);
  font-weight: var(--tsd-peso-semi);
  letter-spacing: var(--tsd-espacamento-sobretitulo);
  line-height: var(--tsd-entrelinha-subtitulo);
  text-transform: uppercase;
  color: var(--tsd-link);
}

.lead { font-size: var(--tsd-tamanho-lead); color: var(--tsd-texto-suave); max-width: var(--tsd-layout-largura-texto); }

/* ---------- Botões ---------- */

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--tsd-espaco-2);
  min-height: 48px;
  padding: var(--tsd-espaco-3) var(--tsd-espaco-6);
  border: 2px solid transparent;
  border-radius: var(--tsd-raio-md);
  font: var(--tsd-peso-semi) 1rem/1.2 var(--tsd-familia-texto);
  text-align: center;
  cursor: pointer;
  transition: background-color var(--tsd-movimento-rapido) var(--tsd-movimento-curva),
              color var(--tsd-movimento-rapido) var(--tsd-movimento-curva),
              transform var(--tsd-movimento-rapido) var(--tsd-movimento-curva);
}
.botao:hover { text-decoration: none; }
.botao:active { transform: translateY(1px); }

.botao--primario { background: var(--tsd-primaria); color: var(--tsd-sobre-primaria); }
.botao--primario:hover { background: var(--tsd-primaria-hover); }

.botao--secundario { border-color: var(--tsd-primaria); color: var(--tsd-link); background: transparent; }
.botao--secundario:hover { background: var(--tsd-superficie-destaque); }

.botao--destaque { background: var(--tsd-destaque); color: var(--tsd-sobre-destaque); }
.botao--destaque:hover { background: var(--tsd-sol-300); }

.botoes { display: flex; flex-wrap: wrap; gap: var(--tsd-espaco-3); margin-top: var(--tsd-espaco-8); }

/* ---------- Cabeçalho ---------- */

.topo {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--tsd-fundo) 92%, transparent);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--tsd-borda);
}
.topo__barra { display: flex; align-items: center; justify-content: space-between; gap: var(--tsd-espaco-4); min-height: 76px; }
.topo__logo { display: block; padding-block: var(--tsd-espaco-2); }
.topo__logo img { width: 148px; height: auto; }

.menu { display: flex; align-items: center; gap: var(--tsd-espaco-6); }
.menu__lista { display: flex; gap: var(--tsd-espaco-6); list-style: none; padding: 0; }
.menu__lista a { color: var(--tsd-texto); font-weight: var(--tsd-peso-medio); }
.menu__lista a:hover, .menu__lista a[aria-current="page"] { color: var(--tsd-link); }
.menu .botao { min-height: 44px; padding-inline: var(--tsd-espaco-4); }

.menu-botao {
  display: none;
  align-items: center; justify-content: center;
  width: 48px; height: 48px;
  border: 1px solid var(--tsd-borda); border-radius: var(--tsd-raio-md);
  background: transparent; color: var(--tsd-titulo); cursor: pointer;
}
.menu-botao .icone--fechar { display: none; }
.menu-botao[aria-expanded="true"] .icone--abrir { display: none; }
.menu-botao[aria-expanded="true"] .icone--fechar { display: block; }

@media (max-width: 860px) {
  .js .menu-botao { display: inline-flex; }
  .js .menu {
    display: none;
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: var(--tsd-espaco-4);
    padding: var(--tsd-espaco-4) var(--tsd-layout-margem-lateral) var(--tsd-espaco-6);
    background: var(--tsd-fundo);
    border-bottom: 1px solid var(--tsd-borda);
    box-shadow: var(--tsd-sombra-lg);
  }
  .js .menu.aberto { display: flex; }
  .js .menu__lista { flex-direction: column; gap: 0; }
  .js .menu__lista a { display: block; padding: var(--tsd-espaco-3) 0; font-size: 1.125rem; }
  .menu .botao { min-height: 48px; }
  /* sem JS, o menu quebra em linha embaixo do logo */
  html:not(.js) .topo__barra { flex-wrap: wrap; padding-block: var(--tsd-espaco-3); }
  html:not(.js) .menu { flex-wrap: wrap; }
}

/* ---------- Hero ---------- */

.hero { padding-block: clamp(var(--tsd-espaco-12), 8vw, var(--tsd-espaco-24)); overflow: hidden; }
.hero__grade { display: grid; gap: var(--tsd-espaco-16); align-items: center; }
@media (min-width: 960px) { .hero__grade { grid-template-columns: 1.15fr 1fr; } }

.hero h1 { font-size: var(--tsd-tamanho-display); font-weight: var(--tsd-peso-extra); }
.hero .lead { margin-top: var(--tsd-espaco-6); }

.marcada { position: relative; display: inline-block; white-space: nowrap; }
.traco {
  position: absolute; left: -2%; bottom: -0.12em;
  width: 104%; height: 0.24em;
  color: var(--tsd-azul-950);
  overflow: visible;
  pointer-events: none;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .traco { color: var(--tsd-sol-500); } }
.traco path { stroke-width: 5; }
.js .traco { animation: desenhar 900ms var(--tsd-movimento-curva) 300ms both; }
@keyframes desenhar { from { clip-path: inset(-50% 100% -50% -2%); } to { clip-path: inset(-50% -2% -50% -2%); } }
@media (prefers-reduced-motion: reduce) { .js .traco { animation: none; } }

/* Ilustração: a empresa aparecendo na busca do celular */
.busca {
  position: relative;
  max-width: 400px;
  margin-inline: auto;
  width: 100%;
}
.busca::before {
  content: ""; position: absolute; inset: 8% -12% -6% 6%;
  background: var(--tsd-superficie-destaque);
  border-radius: var(--tsd-raio-xl);
  transform: rotate(4deg);
}
.busca__tela {
  position: relative;
  padding: var(--tsd-espaco-5);
  background: var(--tsd-fundo);
  border: 1px solid var(--tsd-borda);
  border-radius: 28px;
  box-shadow: var(--tsd-sombra-lg);
}
.busca__campo {
  display: flex; align-items: center; gap: var(--tsd-espaco-3);
  padding: var(--tsd-espaco-3) var(--tsd-espaco-4);
  border: 1px solid var(--tsd-borda); border-radius: var(--tsd-raio-pilula);
  color: var(--tsd-texto-suave); font-size: 0.9375rem;
}
.busca__rotulo { margin: var(--tsd-espaco-5) 0 var(--tsd-espaco-2); font-size: var(--tsd-tamanho-legenda); color: var(--tsd-texto-suave); }
.busca__resultado {
  padding: var(--tsd-espaco-4);
  border: 2px solid var(--tsd-marca); border-radius: var(--tsd-raio-lg);
  background: var(--tsd-fundo);
}
.busca__nome { display: flex; align-items: center; gap: var(--tsd-espaco-2); font-family: var(--tsd-familia-titulo); font-size: 1.375rem; font-weight: var(--tsd-peso-negrito); color: var(--tsd-titulo); }
.busca__nome .icone { color: var(--tsd-marca); }
.busca__info { margin-top: var(--tsd-espaco-1); font-size: var(--tsd-tamanho-pequeno); color: var(--tsd-texto-suave); }
.busca__info strong { color: var(--tsd-estado-sucesso); font-weight: var(--tsd-peso-semi); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .busca__info strong { color: #6FD39B; } }
.busca__acoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--tsd-espaco-2); margin-top: var(--tsd-espaco-4); }
.busca__acoes span {
  display: flex; flex-direction: column; align-items: center; gap: var(--tsd-espaco-1);
  padding: var(--tsd-espaco-2) var(--tsd-espaco-1);
  border-radius: var(--tsd-raio-md);
  background: var(--tsd-superficie-destaque);
  color: var(--tsd-link); font-size: var(--tsd-tamanho-legenda); font-weight: var(--tsd-peso-semi);
}
.busca__outros { margin-top: var(--tsd-espaco-3); display: grid; gap: var(--tsd-espaco-2); }
.busca__outros span { display: block; height: 52px; border-radius: var(--tsd-raio-lg); background: var(--tsd-superficie); }
.busca__outros span + span { opacity: 0.6; }

/* ---------- Manifesto ---------- */

.faixa {
  background: var(--tsd-azul-950);
  color: var(--tsd-neutro-100);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .faixa { background: var(--tsd-azul-900); } }
.faixa h2 { color: var(--tsd-neutro-0); font-size: var(--tsd-tamanho-h1); }
.faixa .sobretitulo { color: var(--tsd-azul-300); }
.manifesto { display: grid; gap: var(--tsd-espaco-10); }
@media (min-width: 960px) { .manifesto { grid-template-columns: 1fr 1.2fr; gap: var(--tsd-espaco-16); } }
.manifesto__texto { display: grid; gap: var(--tsd-espaco-5); font-size: 1.125rem; max-width: var(--tsd-layout-largura-texto); }
.manifesto__texto strong { color: var(--tsd-neutro-0); }

/* ---------- Escada ---------- */

.escada { display: grid; gap: var(--tsd-espaco-6); list-style: none; padding: 0; counter-reset: degrau; }
@media (min-width: 720px) { .escada { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) {
  /* subgrid: os degraus sobem pela base e os cartões começam na mesma linha */
  .escada { grid-template-columns: repeat(4, 1fr); grid-template-rows: auto auto; column-gap: var(--tsd-espaco-4); row-gap: 0; }
  .escada > .degrau { display: grid; grid-row: span 2; grid-template-rows: subgrid; }
  .escada .degrau__base { align-self: end; }
  .escada .servico { flex-direction: column; padding-right: var(--tsd-espaco-10); }
  .escada .servico__seta { position: absolute; top: var(--tsd-espaco-4); right: var(--tsd-espaco-4); }
}

.degrau { display: flex; flex-direction: column; }
.degrau__base {
  display: flex; align-items: flex-end;
  padding: var(--tsd-espaco-4) var(--tsd-espaco-5);
  border-radius: var(--tsd-raio-lg) var(--tsd-raio-lg) 0 0;
  background: var(--tsd-azul-100); color: var(--tsd-azul-950);
  font-family: var(--tsd-familia-titulo); font-weight: var(--tsd-peso-negrito);
}
.degrau__numero { font-size: 2.5rem; line-height: 1; margin-right: var(--tsd-espaco-3); }
.degrau__nome { font-size: 1.25rem; line-height: 1.1; padding-bottom: 0.2em; }
.degrau:nth-child(2) .degrau__base { background: var(--tsd-azul-200); }
.degrau:nth-child(3) .degrau__base { background: var(--tsd-azul-500); color: var(--tsd-azul-950); }
.degrau:nth-child(4) .degrau__base { background: var(--tsd-azul-700); color: var(--tsd-neutro-0); }
@media (min-width: 1100px) {
  .degrau:nth-child(1) .degrau__base { min-height: 88px; }
  .degrau:nth-child(2) .degrau__base { min-height: 136px; }
  .degrau:nth-child(3) .degrau__base { min-height: 184px; }
  .degrau:nth-child(4) .degrau__base { min-height: 232px; }
}
.degrau__corpo {
  flex: 1;
  display: flex; flex-direction: column; gap: var(--tsd-espaco-3);
  padding: var(--tsd-espaco-5);
  border: 1px solid var(--tsd-borda); border-top: 0;
  border-radius: 0 0 var(--tsd-raio-lg) var(--tsd-raio-lg);
  background: var(--tsd-fundo);
}
.degrau__pergunta { font-style: italic; color: var(--tsd-texto-suave); margin-bottom: var(--tsd-espaco-1); }

/* Cartão de serviço */
.servico {
  position: relative;
  display: flex; gap: var(--tsd-espaco-3); align-items: flex-start;
  padding: var(--tsd-espaco-4);
  border: 1px solid var(--tsd-borda); border-radius: var(--tsd-raio-lg);
  background: var(--tsd-fundo);
  transition: box-shadow var(--tsd-movimento-base) var(--tsd-movimento-curva),
              border-color var(--tsd-movimento-base) var(--tsd-movimento-curva);
}
.servico:hover { box-shadow: var(--tsd-sombra-md); border-color: var(--tsd-marca); }
.servico:focus-within { border-color: var(--tsd-marca); }
.servico__icone {
  display: grid; place-items: center;
  width: 44px; height: 44px; flex: none;
  border-radius: 12px;
  background: var(--tsd-superficie-destaque); color: var(--tsd-link);
}
.servico h3 { font-size: 1.0625rem; line-height: 1.25; }
.servico h3 a { color: var(--tsd-titulo); }
.servico h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.servico h3 a:hover { text-decoration: none; }
.servico h3 a:focus-visible { outline: none; }
.servico:has(a:focus-visible) { outline: 3px solid var(--tsd-foco); outline-offset: 2px; }
.servico p { margin-top: var(--tsd-espaco-1); font-size: var(--tsd-tamanho-pequeno); line-height: 1.5; color: var(--tsd-texto-suave); }
.servico__seta { margin-left: auto; align-self: center; color: var(--tsd-link); transition: transform var(--tsd-movimento-rapido) var(--tsd-movimento-curva); }
.servico:hover .servico__seta { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .servico:hover .servico__seta { transform: none; } }

/* ---------- Diferenciais ---------- */

.cartoes { display: grid; gap: var(--tsd-espaco-6); list-style: none; padding: 0; }
@media (min-width: 720px) { .cartoes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .cartoes { grid-template-columns: repeat(4, 1fr); } }
.cartao {
  padding: var(--tsd-espaco-6);
  border: 1px solid var(--tsd-borda); border-radius: var(--tsd-raio-lg);
  background: var(--tsd-fundo);
}
.cartao .servico__icone { margin-bottom: var(--tsd-espaco-5); }
.cartao h3 { font-size: var(--tsd-tamanho-h4); }
.cartao p { margin-top: var(--tsd-espaco-3); color: var(--tsd-texto-suave); }

/* ---------- Contato ---------- */

.contato { display: grid; gap: var(--tsd-espaco-12); }
@media (min-width: 960px) { .contato { grid-template-columns: 1fr 1.1fr; gap: var(--tsd-espaco-16); } }
.contato__canais { display: grid; gap: var(--tsd-espaco-3); margin-top: var(--tsd-espaco-8); list-style: none; padding: 0; }
.contato__canais a {
  display: flex; align-items: center; gap: var(--tsd-espaco-3);
  font-weight: var(--tsd-peso-semi);
  min-height: 44px;
}
.contato__canais .servico__icone { width: 40px; height: 40px; }

.formulario {
  display: grid; gap: var(--tsd-espaco-5);
  padding: clamp(var(--tsd-espaco-6), 4vw, var(--tsd-espaco-10));
  border: 1px solid var(--tsd-borda); border-radius: var(--tsd-raio-xl);
  background: var(--tsd-fundo);
  box-shadow: var(--tsd-sombra-md);
}
.formulario h3 { font-size: var(--tsd-tamanho-h3); }
.campos-duplos { display: grid; gap: var(--tsd-espaco-5); }
@media (min-width: 560px) { .campos-duplos { grid-template-columns: 1fr 1fr; } }
.campo { display: grid; gap: var(--tsd-espaco-2); }
.campo label { font-weight: var(--tsd-peso-semi); font-size: 0.9375rem; color: var(--tsd-titulo); }
.campo label small { font-weight: var(--tsd-peso-regular); color: var(--tsd-texto-suave); font-size: inherit; }
.campo input, .campo select, .campo textarea {
  width: 100%;
  min-height: 48px;
  padding: var(--tsd-espaco-3) var(--tsd-espaco-4);
  border: 1px solid var(--tsd-neutro-400);
  border-radius: var(--tsd-raio-md);
  background: var(--tsd-fundo); color: var(--tsd-texto);
  font: inherit;
}
.campo textarea { min-height: 120px; resize: vertical; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { border-color: var(--tsd-marca); border-radius: var(--tsd-raio-md); }
.campo--isca { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.formulario__aviso { font-size: var(--tsd-tamanho-pequeno); color: var(--tsd-texto-suave); }
.formulario .botao { width: 100%; }
.formulario__status { padding: var(--tsd-espaco-4); border-radius: var(--tsd-raio-md); font-weight: var(--tsd-peso-medio); }
.formulario__status:empty { display: none; }
.formulario__status--ok { background: var(--tsd-estado-sucesso-fundo); color: var(--tsd-estado-sucesso); }
.formulario__status--erro { background: var(--tsd-estado-erro-fundo); color: var(--tsd-estado-erro); }

/* ---------- Página de serviço ---------- */

.trilha { padding-top: var(--tsd-espaco-8); font-size: var(--tsd-tamanho-pequeno); color: var(--tsd-texto-suave); }
.trilha ol { display: flex; flex-wrap: wrap; gap: var(--tsd-espaco-2); list-style: none; padding: 0; }
.trilha li + li::before { content: "/"; margin-right: var(--tsd-espaco-2); color: var(--tsd-neutro-400); }

.servico-hero { padding-block: var(--tsd-espaco-10) clamp(var(--tsd-espaco-16), 8vw, var(--tsd-espaco-24)); }
.servico-hero__grade { display: grid; gap: var(--tsd-espaco-10); align-items: center; }
@media (min-width: 960px) { .servico-hero__grade { grid-template-columns: 1.4fr 1fr; } }
.servico-hero h1 { font-size: var(--tsd-tamanho-h1); }
.servico-hero .lead { margin-top: var(--tsd-espaco-5); }
.servico-hero__icone { width: 64px; height: 64px; border-radius: var(--tsd-raio-lg); margin-bottom: var(--tsd-espaco-6); }
.servico-hero__icone .icone { width: 32px; height: 32px; }

.frase {
  position: relative;
  padding: var(--tsd-espaco-10) var(--tsd-espaco-8);
  border-radius: var(--tsd-raio-xl);
  background: var(--tsd-azul-950); color: var(--tsd-neutro-0);
  font-family: var(--tsd-familia-titulo); font-weight: var(--tsd-peso-negrito);
  font-size: clamp(1.625rem, 1.2rem + 1.4vw, 2.25rem); line-height: 1.15;
  letter-spacing: var(--tsd-espacamento-titulo);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .frase { background: var(--tsd-azul-900); border: 1px solid var(--tsd-borda); } }
.frase::before { content: ""; display: block; width: 48px; height: 6px; margin-bottom: var(--tsd-espaco-5); border-radius: 3px; background: var(--tsd-marca); }

.blocos { display: grid; gap: var(--tsd-espaco-6); }
@media (min-width: 820px) { .blocos { grid-template-columns: repeat(2, 1fr); } }
.blocos .cartao p { color: var(--tsd-texto); font-size: 1.0625rem; }

.inclui { display: grid; gap: var(--tsd-espaco-3); list-style: none; padding: 0; }
@media (min-width: 720px) { .inclui { grid-template-columns: repeat(2, 1fr); } }
.inclui li {
  display: flex; gap: var(--tsd-espaco-3); align-items: flex-start;
  padding: var(--tsd-espaco-4) var(--tsd-espaco-5);
  border-radius: var(--tsd-raio-lg);
  background: var(--tsd-fundo); border: 1px solid var(--tsd-borda);
}
.inclui .icone { color: var(--tsd-link); margin-top: 1px; }
.nota { margin-top: var(--tsd-espaco-6); font-size: var(--tsd-tamanho-pequeno); color: var(--tsd-texto-suave); }

.glossario { display: grid; gap: var(--tsd-espaco-4); }
.glossario div { padding-left: var(--tsd-espaco-5); border-left: 3px solid var(--tsd-marca); }
.glossario dt { font-weight: var(--tsd-peso-semi); color: var(--tsd-titulo); }
.glossario dd { color: var(--tsd-texto-suave); }

.proximo {
  display: grid; gap: var(--tsd-espaco-6); align-items: center;
  padding: clamp(var(--tsd-espaco-8), 5vw, var(--tsd-espaco-12));
  border-radius: var(--tsd-raio-xl);
  background: var(--tsd-superficie-destaque);
}
@media (min-width: 820px) { .proximo { grid-template-columns: 1fr auto; } }
.proximo p { margin-top: var(--tsd-espaco-3); color: var(--tsd-texto-suave); max-width: 52ch; }

/* ---------- Texto longo (política) ---------- */

.texto { max-width: var(--tsd-layout-largura-texto); }
.texto h1 { font-size: var(--tsd-tamanho-h1); margin-bottom: var(--tsd-espaco-4); }
.texto h2 { font-size: var(--tsd-tamanho-h3); margin-top: var(--tsd-espaco-12); margin-bottom: var(--tsd-espaco-4); }
.texto p + p, .texto p + ul, .texto ul + p { margin-top: var(--tsd-espaco-4); }
.texto ul { padding-left: 1.25em; display: grid; gap: var(--tsd-espaco-2); }
.texto a { text-decoration: underline; text-underline-offset: 0.2em; }

/* ---------- Rodapé ---------- */

.rodape { background: var(--tsd-azul-950); color: var(--tsd-neutro-300); padding-block: var(--tsd-espaco-16) var(--tsd-espaco-8); }
.rodape a { color: var(--tsd-neutro-100); }
.rodape a:hover { color: var(--tsd-neutro-0); }
.rodape :focus-visible { outline-color: var(--tsd-sol-500); }
.rodape__grade { display: grid; gap: var(--tsd-espaco-10); }
@media (min-width: 820px) { .rodape__grade { grid-template-columns: 1.4fr 1fr 1fr; } }
.rodape__marca img { width: 168px; height: auto; }
.rodape__assinatura { margin-top: var(--tsd-espaco-5); font-family: var(--tsd-familia-titulo); font-size: 1.375rem; font-weight: var(--tsd-peso-negrito); color: var(--tsd-neutro-0); }
.rodape__missao { margin-top: var(--tsd-espaco-2); max-width: 36ch; }
.rodape h2 { font-size: var(--tsd-tamanho-pequeno); letter-spacing: var(--tsd-espacamento-sobretitulo); text-transform: uppercase; color: var(--tsd-azul-300); margin-bottom: var(--tsd-espaco-4); }
.rodape ul { list-style: none; padding: 0; display: grid; gap: var(--tsd-espaco-2); }
.rodape ul a { display: inline-flex; align-items: center; gap: var(--tsd-espaco-2); min-height: 32px; }
.rodape__base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--tsd-espaco-4);
  margin-top: var(--tsd-espaco-12); padding-top: var(--tsd-espaco-6);
  border-top: 1px solid #1E5561;
  font-size: var(--tsd-tamanho-pequeno);
}

.escada__servicos { display: grid; gap: var(--tsd-espaco-3); list-style: none; padding: 0; }

/* âncoras não ficam atrás do cabeçalho fixo */
[id] { scroll-margin-top: 96px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .rodape { border-top: 1px solid var(--tsd-borda); } }
