/* New Alliance — base (todas as páginas). Cores e fontes vêm do painel (<style id="na-tokens">).
   Ideia visual: "sala de operação". O site mostra engenharia em produção: grade fina de prancheta
   ao fundo, brilho azul→verde da marca, leituras técnicas em fonte mono, sinal verde de "no ar".
   Escuro por padrão; o claro usa as mesmas peças com a paleta clara do painel. */

:root {
	--na-mono: ui-monospace, "SFMono-Regular", "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;
	--na-grad: linear-gradient(115deg, var(--na-primaria) 0%, var(--na-destaque) 100%);
	--na-linha: color-mix(in srgb, var(--na-texto) 7%, transparent);
	--na-linha-forte: color-mix(in srgb, var(--na-texto) 14%, transparent);
	--na-vidro: color-mix(in srgb, var(--na-fundo) 72%, transparent);
	--na-ok: var(--na-destaque);
	--na-acento-texto: color-mix(in srgb, var(--na-primaria) 70%, var(--na-texto));
	--na-raio-p: calc(var(--na-raio, 12px) * .66);
	--na-largura: 1240px;
	--na-espaco: clamp(4.5rem, 9vw, 8rem);
	--na-sombra: 0 1px 0 color-mix(in srgb, var(--na-texto) 6%, transparent) inset, 0 24px 60px -32px rgb(2 6 12 / .35);
	--na-transicao: 240ms cubic-bezier(.2, .7, .2, 1);
	--na-tinta: #070b11;
	--na-tinta-texto: #edf2f7;
	--na-tinta-suave: #9aa6b5;
}

[data-tema="escuro"] {
	--na-acento-texto: color-mix(in srgb, var(--na-primaria) 55%, #fff);
	--na-sombra: 0 1px 0 rgb(255 255 255 / .04) inset, 0 30px 80px -40px rgb(0 0 0 / .9);
	--na-tinta: var(--na-fundo-alt);
}

/* ---------- Reset enxuto ---------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 104px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; } }
body {
	margin: 0;
	background: var(--na-fundo);
	color: var(--na-texto);
	font: 400 1.0625rem/1.65 var(--na-fonte-texto, system-ui, sans-serif);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	counter-reset: secao;
}
.na-conteudo { flex: 1 0 auto; outline: none; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--na-acento-texto); text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3, h4 { margin: 0; font-family: var(--na-fonte-titulo); font-weight: 650; color: var(--na-texto); text-wrap: balance; letter-spacing: -.025em; }
p { margin: 0; text-wrap: pretty; }
ul, ol, dl, dd { margin: 0; padding: 0; }
button { font: inherit; color: inherit; }
::selection { background: color-mix(in srgb, var(--na-destaque) 40%, transparent); color: var(--na-texto); }
:focus-visible { outline: 2px solid var(--na-destaque); outline-offset: 3px; border-radius: 4px; }

[hidden] { display: none !important; }
.na-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.na-pular { position: absolute; left: 1rem; top: -4rem; z-index: 100; padding: .7rem 1rem; background: var(--na-primaria); color: var(--na-primaria-texto); border-radius: var(--na-raio-p); }
.na-pular:focus { top: 1rem; }
.na-envoltorio { width: min(100% - 2.5rem, var(--na-largura)); margin-inline: auto; }
.na-envoltorio--texto { width: min(100% - 2.5rem, 780px); }
.na-i { flex: none; }

[data-tema="escuro"] .na-so-claro, [data-tema="claro"] .na-so-escuro, html:not([data-tema]) .na-so-escuro { display: none; }
@media (max-width: 960px) { .na-so-desktop { display: none !important; } }
@media (min-width: 961px) { .na-so-movel { display: none !important; } }

/* ---------- Peças de assinatura ---------- */

/* Trecho do título entre *asteriscos* no painel. */
.na-brilho {
	background: var(--na-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* Grade de prancheta ao fundo (some nas bordas). */
.na-grade-fundo {
	position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background-image:
		linear-gradient(var(--na-linha) 1px, transparent 1px),
		linear-gradient(90deg, var(--na-linha) 1px, transparent 1px);
	background-size: 72px 72px;
	background-position: center top;
	-webkit-mask-image: radial-gradient(80% 70% at 50% 0%, #000 0%, transparent 75%);
	mask-image: radial-gradient(80% 70% at 50% 0%, #000 0%, transparent 75%);
}

/* Brilho da marca (dois focos em gradiente radial, sem filtro: barato para a GPU). */
.na-aurora {
	position: absolute; inset: -20% -10% auto; height: 120%; z-index: 0; pointer-events: none;
	background:
		radial-gradient(40% 45% at 18% 20%, color-mix(in srgb, var(--na-primaria) 26%, transparent), transparent 70%),
		radial-gradient(35% 40% at 85% 35%, color-mix(in srgb, var(--na-destaque) 20%, transparent), transparent 70%);
}
[data-tema="claro"] .na-aurora { opacity: .7; }

/* Rótulo técnico (sobretítulo): índice automático da seção + texto em mono. */
.na-rotulo {
	display: flex; align-items: center; gap: .7rem;
	margin-bottom: 1.1rem;
	font: 500 .78rem/1.2 var(--na-mono); letter-spacing: .08em; text-transform: uppercase;
	color: var(--na-texto-suave);
}
.na-rotulo:empty { display: none; }
.na-rotulo__indice { color: var(--na-ok); }
.na-rotulo__indice::before { counter-increment: secao; content: counter(secao, decimal-leading-zero) " /"; }

/* Sinal "no ar": ponto verde pulsando + texto mono. */
.na-sinal {
	display: inline-flex; align-items: center; gap: .6rem;
	margin-bottom: 1.6rem; padding: .45rem .85rem .45rem .7rem;
	border: 1px solid var(--na-linha-forte); border-radius: 999px;
	background: color-mix(in srgb, var(--na-superficie) 60%, transparent);
	font: 500 .8rem/1.2 var(--na-mono); letter-spacing: .02em; color: var(--na-texto-suave);
}
.na-sinal__ponto { position: relative; width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--na-ok); }
.na-sinal__ponto::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid var(--na-ok); animation: na-pulso 2.4s ease-out infinite; }
.na-sinal__ponto--alerta { background: #f5a524; }
.na-sinal__ponto--alerta::after { border-color: #f5a524; }
@keyframes na-pulso { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(2.2); opacity: 0; } }

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

.na-acoes { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: 2.2rem; }
.na-botao {
	--b-fundo: transparent; --b-texto: var(--na-texto); --b-borda: var(--na-linha-forte);
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	min-height: 50px; padding: .8rem 1.35rem;
	border: 1px solid var(--b-borda); border-radius: var(--na-raio-p);
	background: var(--b-fundo); color: var(--b-texto);
	font: 600 .98rem/1.1 var(--na-fonte-texto); text-decoration: none; letter-spacing: -.005em;
	cursor: pointer;
	transition: transform var(--na-transicao), box-shadow var(--na-transicao), background var(--na-transicao), border-color var(--na-transicao), color var(--na-transicao);
}
.na-botao:hover { text-decoration: none; }
.na-botao:active { transform: translateY(1px); }
.na-botao .na-i { transition: transform var(--na-transicao); }
.na-botao:hover .na-i { transform: translateX(3px); }
.na-botao--primario {
	--b-fundo: var(--na-primaria); --b-texto: var(--na-primaria-texto); --b-borda: transparent;
	background: var(--na-grad);
	box-shadow: 0 0 0 1px color-mix(in srgb, #fff 18%, transparent) inset, 0 14px 34px -14px color-mix(in srgb, var(--na-primaria) 75%, transparent);
}
.na-botao--primario:hover { box-shadow: 0 0 0 1px color-mix(in srgb, #fff 28%, transparent) inset, 0 18px 44px -14px color-mix(in srgb, var(--na-destaque) 70%, transparent); transform: translateY(-1px); }
.na-botao--contorno { --b-fundo: color-mix(in srgb, var(--na-superficie) 50%, transparent); }
.na-botao--contorno:hover { --b-borda: color-mix(in srgb, var(--na-texto) 45%, transparent); --b-fundo: var(--na-superficie); }
.na-botao--claro { --b-fundo: #fff; --b-texto: #0b1118; --b-borda: #fff; }
.na-botao--contorno-claro { --b-texto: var(--na-tinta-texto); --b-borda: color-mix(in srgb, var(--na-tinta-texto) 35%, transparent); }
.na-botao--pequeno { min-height: 42px; padding: .55rem 1rem; font-size: .9rem; }
.na-botao--cheio, .na-botao--grande { width: 100%; }
/* Celular: botões de ação ocupam a largura toda (alvo de toque maior, sem ficar pendurado num lado). */
@media (max-width: 640px) {
	.na-acoes { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
	.na-acoes > .na-botao, .na-rodape__col > .na-botao { width: 100%; min-height: 54px; white-space: normal; text-align: center; }
}
.na-botao-icone {
	display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0;
	border: 1px solid transparent; border-radius: var(--na-raio-p); background: transparent; color: var(--na-texto); cursor: pointer;
	transition: background var(--na-transicao), border-color var(--na-transicao);
}
.na-botao-icone:hover { background: color-mix(in srgb, var(--na-texto) 7%, transparent); border-color: var(--na-linha); }

/* ---------- Topo flutuante ---------- */

.na-topo { position: sticky; top: 0; z-index: 50; padding: .75rem 0 0; pointer-events: none; }
.na-topo__barra {
	pointer-events: auto;
	display: flex; align-items: center; gap: 1.25rem;
	min-height: 64px; padding: .5rem .6rem .5rem 1.1rem;
	border: 1px solid transparent; border-radius: calc(var(--na-raio) + 4px);
	transition: background var(--na-transicao), border-color var(--na-transicao), box-shadow var(--na-transicao);
}
.na-topo.is-rolado .na-topo__barra {
	background: var(--na-vidro);
	-webkit-backdrop-filter: saturate(1.4) blur(16px);
	backdrop-filter: saturate(1.4) blur(16px);
	border-color: var(--na-linha-forte);
	box-shadow: 0 20px 50px -30px rgb(0 0 0 / .6);
}
.na-logo { display: inline-flex; align-items: center; flex: none; color: var(--na-texto); text-decoration: none; }
.na-logo__img { width: auto; height: 40px; }
.na-logo__texto { display: inline-flex; align-items: baseline; gap: .45rem; font: 700 1.2rem/1 var(--na-fonte-titulo); letter-spacing: -.03em; }
.na-logo__texto::before { content: ""; width: 14px; height: 14px; align-self: center; border-radius: 4px; background: var(--na-grad); transform: rotate(45deg); }
[data-tema="escuro"] .na-logo__img--claro:not(:only-child), [data-tema="claro"] .na-logo__img--escuro, html:not([data-tema]) .na-logo__img--escuro { display: none; }
.na-topo__acoes { display: flex; align-items: center; gap: .4rem; margin-left: auto; }
.na-topo__entrar { padding: .6rem .9rem; color: var(--na-texto); font-weight: 600; font-size: .95rem; text-decoration: none; border-radius: var(--na-raio-p); }
.na-topo__entrar:hover { background: color-mix(in srgb, var(--na-texto) 7%, transparent); }

.na-nav { margin-inline: auto; }
.na-nav__lista { display: flex; align-items: center; gap: .15rem; list-style: none; }
.na-nav__item { position: relative; display: flex; align-items: center; }
.na-nav__link { position: relative; padding: .55rem .8rem; border-radius: var(--na-raio-p); color: var(--na-texto-suave); font-weight: 500; font-size: .95rem; text-decoration: none; transition: color var(--na-transicao), background var(--na-transicao); }
.na-nav__link:hover { color: var(--na-texto); background: color-mix(in srgb, var(--na-texto) 6%, transparent); }
.na-nav__link[aria-current="page"] { color: var(--na-texto); }
.na-nav__link[aria-current="page"]::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 2px; border-radius: 2px; background: var(--na-grad); }
.na-nav__abrir { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-left: -.55rem; border: 0; border-radius: 6px; background: transparent; cursor: pointer; color: var(--na-texto-suave); }
.na-nav__abrir .na-i { transition: transform var(--na-transicao); }
.na-nav__abrir[aria-expanded="true"] .na-i { transform: rotate(180deg); }
.na-nav__sub {
	position: absolute; top: calc(100% + .6rem); left: -.5rem; min-width: 290px; padding: .45rem;
	list-style: none; background: var(--na-superficie); border: 1px solid var(--na-linha-forte); border-radius: var(--na-raio);
	box-shadow: var(--na-sombra); opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity var(--na-transicao), transform var(--na-transicao), visibility var(--na-transicao);
}
.na-nav__item:hover > .na-nav__sub, .na-nav__item:focus-within > .na-nav__sub, .na-nav__abrir[aria-expanded="true"] + .na-nav__sub { opacity: 1; visibility: visible; transform: none; }
.na-nav__sub a { display: block; padding: .65rem .8rem; border-radius: var(--na-raio-p); color: var(--na-texto); font-weight: 500; font-size: .95rem; text-decoration: none; }
.na-nav__sub a:hover, .na-nav__sub a[aria-current="page"] { background: color-mix(in srgb, var(--na-texto) 6%, transparent); }
.na-nav__sub a[aria-current="page"] { color: var(--na-acento-texto); }

.na-topo__menu { display: none; }
.na-so-aberto { display: none; }
[aria-expanded="true"] > .na-so-aberto { display: inline; }
[aria-expanded="true"] > .na-so-fechado { display: none; }

@media (max-width: 960px) {
	.na-topo { padding-top: .5rem; }
	.na-topo__barra { min-height: 58px; gap: .5rem; padding-left: .9rem; background: var(--na-vidro); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-color: var(--na-linha-forte); }
	.na-logo__img { height: 32px; }
	.na-topo__menu { display: inline-grid; }
	.na-topo__cta { display: none; }
	.na-nav {
		position: fixed; inset: 4.6rem .75rem auto; max-height: calc(100dvh - 5.5rem); overflow: auto;
		padding: .75rem; margin: 0; background: var(--na-superficie); border: 1px solid var(--na-linha-forte); border-radius: var(--na-raio);
		box-shadow: var(--na-sombra); display: none;
	}
	.na-nav.is-aberto { display: grid; gap: .75rem; animation: na-surgir .22s cubic-bezier(.2, .8, .3, 1); }
	.na-nav__lista { flex-direction: column; align-items: stretch; }
	.na-nav__item { flex-wrap: wrap; }
	.na-nav__link { flex: 1; padding: .85rem .75rem; font-size: 1.05rem; color: var(--na-texto); }
	.na-nav__link[aria-current="page"]::after { display: none; }
	.na-nav__abrir { width: 44px; height: 44px; margin: 0; }
	.na-nav__sub { position: static; flex-basis: 100%; min-width: 0; padding: 0 0 .25rem .75rem; border: 0; box-shadow: none; background: transparent; display: none; opacity: 1; visibility: visible; transform: none; }
	.na-nav__abrir[aria-expanded="true"] + .na-nav__sub { display: block; }
	.na-nav__item:hover > .na-nav__sub { display: none; }
	.na-nav__abrir[aria-expanded="true"] + .na-nav__sub, .na-nav__item:focus-within > .na-nav__abrir[aria-expanded="true"] + .na-nav__sub { display: block; }
	.na-nav .na-botao { justify-self: stretch; }
}

/* ---------- Abertura simples / 404 ---------- */

.na-abertura { position: relative; overflow: hidden; isolation: isolate; margin-top: -76px; padding: calc(76px + clamp(3.5rem, 8vw, 6rem)) 0 clamp(3rem, 6vw, 5rem); }
.na-abertura > .na-envoltorio { position: relative; z-index: 1; }
.na-abertura__titulo { font-size: clamp(2.5rem, 6vw, 5.1rem); font-weight: 650; line-height: 1; letter-spacing: -.03em; max-width: 16ch; font-variation-settings: "opsz" 96; }
.na-abertura--simples { padding-bottom: clamp(1rem, 3vw, 2rem); }
.na-abertura--simples .na-abertura__titulo { font-size: clamp(2.2rem, 5vw, 3.8rem); max-width: 20ch; }
.na-abertura--estreita { padding-bottom: 0; }
.na-abertura--estreita .na-abertura__titulo { max-width: none; font-size: clamp(2rem, 4vw, 3rem); }
.na-abertura--estreita + .na-secao { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.na-abertura__lead { margin-top: 1.6rem; max-width: 56ch; color: var(--na-texto-suave); font-size: clamp(1.08rem, 1.5vw, 1.24rem); line-height: 1.6; }
.na-abertura__lead p + p { margin-top: .8rem; }
.na-abertura--404 .na-abertura__texto { max-width: 820px; min-height: 52vh; display: flex; flex-direction: column; justify-content: center; }

/* ---------- Fundo da marca (faixa de destaque) ---------- */

.na-fundo--marca {
	position: relative; isolation: isolate;
	background:
		radial-gradient(50% 80% at 0% 0%, color-mix(in srgb, var(--na-primaria) 18%, transparent), transparent 70%),
		radial-gradient(45% 70% at 100% 100%, color-mix(in srgb, var(--na-destaque) 14%, transparent), transparent 70%),
		var(--na-tinta);
	color: var(--na-tinta-texto);
}
[data-tema="claro"] .na-fundo--marca { --na-texto: var(--na-tinta-texto); --na-texto-suave: var(--na-tinta-suave); --na-linha: rgb(255 255 255 / .07); --na-linha-forte: rgb(255 255 255 / .14); --na-superficie: #0f1620; --na-acento-texto: color-mix(in srgb, var(--na-primaria) 50%, #fff); }

/* ---------- Texto corrido ---------- */

.na-prosa { color: var(--na-texto-suave); font-size: 1.06rem; }
.na-prosa > * + * { margin-top: 1rem; }
.na-prosa strong { color: var(--na-texto); font-weight: 600; }
.na-prosa ul, .na-prosa ol { padding-left: 1.3rem; }
.na-prosa li + li { margin-top: .4rem; }
.na-prosa li::marker { color: var(--na-ok); }
.na-prosa h2 { margin-top: 2.5rem; font-size: 1.55rem; }
.na-prosa h3 { margin-top: 2rem; font-size: 1.2rem; }
.na-prosa--grande { font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.6; }
.na-prosa--longa { color: var(--na-texto); font-size: 1.04rem; line-height: 1.8; }
.na-prosa--longa p, .na-prosa--longa li { color: color-mix(in srgb, var(--na-texto) 82%, var(--na-fundo)); }

/* ---------- Formulário (página de contato e caixinha) ---------- */

.na-form { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.na-form__campo { grid-column: span 6; display: grid; gap: .45rem; }
.na-form__campo--meia { grid-column: span 3; }
@media (max-width: 560px) { .na-form__campo--meia { grid-column: span 6; } }
.na-form__rotulo { font: 500 .78rem/1.2 var(--na-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--na-texto-suave); }
.na-form__entrada {
	width: 100%; min-height: 50px; padding: .75rem .9rem;
	border: 1px solid var(--na-linha-forte); border-radius: var(--na-raio-p);
	background: color-mix(in srgb, var(--na-fundo) 70%, transparent); color: var(--na-texto); font: inherit; font-size: 1rem;
	transition: border-color var(--na-transicao), box-shadow var(--na-transicao), background var(--na-transicao);
}
select.na-form__entrada { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--na-texto-suave) 50%), linear-gradient(135deg, var(--na-texto-suave) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.5rem; }
textarea.na-form__entrada { min-height: 104px; resize: vertical; }
.na-form__entrada:hover { border-color: color-mix(in srgb, var(--na-texto) 28%, transparent); }
.na-form__entrada:focus { outline: none; border-color: var(--na-destaque); background: var(--na-fundo); box-shadow: 0 0 0 4px color-mix(in srgb, var(--na-destaque) 18%, transparent); }
.na-form__entrada[aria-invalid="true"] { border-color: #f04438; }
.na-form__erro { color: #d92d20; font-size: .88rem; font-weight: 600; }
[data-tema="escuro"] .na-form__erro { color: #fda29b; }
.na-form__consentimento { grid-column: span 6; display: flex; gap: .7rem; align-items: flex-start; color: var(--na-texto-suave); font-size: .9rem; line-height: 1.5; }
.na-form__consentimento input { width: 20px; height: 20px; margin-top: .1rem; accent-color: var(--na-destaque); flex: none; }
.na-form__enviar { grid-column: span 6; }
.na-form .na-botao--grande { min-height: 56px; }
.na-form__mel { position: absolute; left: -9999px; }
.na-form__aviso { grid-column: span 6; padding: .9rem 1rem; border-radius: var(--na-raio-p); font-weight: 600; }
.na-form__aviso--ok { background: color-mix(in srgb, var(--na-ok) 16%, transparent); border: 1px solid color-mix(in srgb, var(--na-ok) 40%, transparent); color: var(--na-texto); }
.na-form__aviso--erro { background: color-mix(in srgb, #f04438 14%, transparent); border: 1px solid color-mix(in srgb, #f04438 35%, transparent); color: var(--na-texto); }
.na-form.is-enviado > :not(.na-form__aviso):not(.na-form__novo) { display: none !important; }
.na-form__novo { grid-column: span 6; justify-self: start; }

/* ---------- Caixinha "Falar com um especialista" ---------- */

.na-dialogo {
	width: min(100% - 1.5rem, 640px); max-height: calc(100dvh - 2rem); padding: 0;
	border: 1px solid var(--na-linha-forte); border-radius: calc(var(--na-raio) + 4px); background: var(--na-superficie); color: var(--na-texto);
	box-shadow: 0 50px 120px -40px rgb(0 0 0 / .7);
}
.na-dialogo::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: var(--na-grad); }
.na-dialogo::backdrop { background: rgb(3 6 10 / .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.na-dialogo[open] { animation: na-surgir .28s cubic-bezier(.2, .8, .3, 1); }
.na-dialogo__caixa { position: relative; padding: clamp(1.4rem, 4vw, 2.3rem); }
.na-dialogo__fechar { position: absolute; top: .9rem; right: .9rem; }
.na-dialogo__titulo { padding-right: 3rem; font: 650 1.75rem/1.1 var(--na-fonte-titulo); letter-spacing: -.03em; }
.na-dialogo__texto { margin: .7rem 0 1.5rem; color: var(--na-texto-suave); }
@keyframes na-surgir { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }

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

.na-rodape { position: relative; overflow: hidden; isolation: isolate; margin-top: auto; padding-top: clamp(4rem, 8vw, 6rem); border-top: 1px solid var(--na-linha); background: var(--na-fundo-alt); }
.na-rodape .na-grade-fundo { -webkit-mask-image: radial-gradient(70% 90% at 50% 100%, #000, transparent 75%); mask-image: radial-gradient(70% 90% at 50% 100%, #000, transparent 75%); }
.na-rodape > .na-envoltorio { position: relative; z-index: 1; }
.na-rodape__grade { display: grid; gap: 2.5rem; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
.na-rodape__col .na-botao { white-space: nowrap; }
@media (max-width: 960px) { .na-rodape__grade { grid-template-columns: 1fr 1fr; } .na-rodape__marca { grid-column: 1 / -1; } }
/* Barra fixa de contato no celular (só aparece com JS, depois da abertura). */
.na-barra-movel { display: none; }
@media (max-width: 960px) {
	.na-barra-movel {
		position: fixed; z-index: 60; left: .75rem; right: .75rem; bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));
		display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: .5rem;
		border: 1px solid var(--na-linha-forte); border-radius: calc(var(--na-raio-p) + .5rem);
		background: var(--na-vidro); -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
		box-shadow: var(--na-sombra);
		transform: translateY(calc(100% + 1.5rem)); opacity: 0; visibility: hidden;
		transition: transform var(--na-transicao), opacity var(--na-transicao), visibility 0s linear .24s;
	}
	.na-barra-movel--dupla { grid-template-columns: minmax(0, 1fr) 54px; }
	.na-barra-movel .na-botao { width: 100%; min-height: 50px; }
	.na-barra-movel__zap { padding: 0; color: var(--na-ok); }
	.na-barra-movel.is-visivel { transform: none; opacity: 1; visibility: visible; transition: transform var(--na-transicao), opacity var(--na-transicao); }
}
@media (max-width: 560px) { .na-rodape__grade { gap: 2.25rem 1.25rem; } .na-rodape__grade > :last-child { grid-column: 1 / -1; } .na-rodape__col a:not(.na-botao) { font-size: .92rem; } }
.na-rodape__marca p { margin-top: 1.1rem; max-width: 42ch; color: var(--na-texto-suave); font-size: .97rem; }
.na-logo--rodape .na-logo__img { height: 44px; }
/* Celular: marca do rodapé centralizada (logo, texto e redes). */
@media (max-width: 560px) {
	.na-rodape__marca { display: flex; flex-direction: column; align-items: center; text-align: center; }
	.na-rodape__marca p { margin-inline: auto; }
	.na-rodape__marca .na-redes { justify-content: center; }
}
.na-rodape__titulo { margin-bottom: 1.1rem; font: 500 .76rem/1.2 var(--na-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--na-texto-suave); }
.na-rodape__col ul { list-style: none; display: grid; gap: .65rem; }
.na-rodape__col a:not(.na-botao) { color: var(--na-texto); text-decoration: none; font-size: .97rem; opacity: .85; }
.na-rodape__col a:not(.na-botao):hover { opacity: 1; text-decoration: underline; }
.na-rodape__texto { margin-bottom: 1.2rem; color: var(--na-texto-suave); font-size: .95rem; }
.na-rodape__col .na-botao + .na-rodape__texto { margin: 1.1rem 0 0; }
.na-rodape__chamada { margin-top: 1.6rem !important; font-weight: 600; color: var(--na-texto) !important; }
.na-redes { display: flex; gap: .45rem; margin-top: .8rem !important; list-style: none; }
.na-redes a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--na-linha-forte); border-radius: var(--na-raio-p); color: var(--na-texto) !important; transition: border-color var(--na-transicao), background var(--na-transicao); }
.na-redes a:hover { border-color: var(--na-destaque); background: color-mix(in srgb, var(--na-destaque) 12%, transparent); }
.na-rodape__gigante {
	position: relative; z-index: 0;
	margin: clamp(2.5rem, 6vw, 4.5rem) 0 -0.18em; padding-inline: 1.25rem;
	font: 700 clamp(3.5rem, 15.5vw, 15rem)/.85 var(--na-fonte-titulo); letter-spacing: -.06em; white-space: nowrap; text-align: center;
	background: linear-gradient(180deg, color-mix(in srgb, var(--na-texto) 16%, transparent), transparent 85%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	user-select: none; pointer-events: none;
}
.na-rodape__base { position: relative; z-index: 1; padding: 1.4rem 0 2rem; border-top: 1px solid var(--na-linha); color: var(--na-texto-suave); font: 400 .82rem/1.5 var(--na-mono); }

/* ---------- Ícones de canais (cor só quando pedirem) ---------- */

.na-canal--whatsapp { --c: #25d366; }
