/* ==========================================================================
   TN Marketing — estilos do tema
   Cores, fontes e tamanhos vêm do theme.json (variáveis --wp--preset--*).
   ========================================================================== */

:root {
	--tn-azul: var(--wp--preset--color--azul);
	--tn-azul-profundo: var(--wp--preset--color--azul-profundo);
	--tn-dourado: var(--wp--preset--color--dourado);
	--tn-dourado-texto: var(--wp--preset--color--dourado-texto);
	--tn-preto: var(--wp--preset--color--preto);
	--tn-off: var(--wp--preset--color--off-white);
	--tn-cinza: var(--wp--preset--color--cinza);
	--tn-linha: var(--wp--preset--color--linha);
	--tn-azul-claro: var(--wp--preset--color--azul-claro);
	--tn-raio: var(--wp--custom--radius, 4px);
	--tn-trans: var(--wp--custom--transition, 180ms ease);
	--tn-cab-altura: 76px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--tn-cab-altura) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--tn-dourado); color: var(--tn-preto); }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--tn-dourado); outline-offset: 3px; }

/* Texto de leitura em artigos: DM Sans (sistema tipográfico TN). */
.tn-conteudo-editorial .tn-conteudo { font-family: var(--wp--preset--font-family--dm-sans); font-size: 1.125rem; line-height: 1.75; }
.tn-conteudo-editorial .tn-conteudo :where(h2, h3, h4) { font-family: var(--wp--preset--font-family--inter); margin-top: 2.2em; }

/* ---------- Seções ---------- */
.tn-secao { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.tn-secao--compacta { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.tn-principal > .tn-secao:first-child,
.tn-principal > .wp-block-post-content > .tn-secao:first-child { margin-top: 0; }
.tn-principal .wp-block-post-content > .alignfull + .alignfull,
.tn-principal > .alignfull + .alignfull { margin-block-start: 0; }
.tn-principal .wp-block-post-content.tn-secao { padding-top: var(--wp--preset--spacing--50); }
.tn-cabecalho-secao { margin-bottom: var(--wp--preset--spacing--50); }
.tn-cabecalho-secao h2 { max-width: 22ch; }
.tn-cabecalho-secao.wp-block-columns h2 { max-width: none; }

/* Coluna que acompanha a rolagem (desktop). */
@media (min-width: 900px) {
	.tn-fixo { position: sticky; top: calc(var(--tn-cab-altura) + 2rem); align-self: flex-start; }
}

/* Rótulo de seção: linha dourada + texto em caixa alta (marcador da marca). */
.is-style-tn-rotulo {
	display: inline-flex; align-items: center; gap: .75rem;
	font-size: var(--wp--preset--font-size--rotulo) !important;
	font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--tn-dourado-texto); margin-bottom: 1rem;
	line-height: 1.3;
}
.is-style-tn-rotulo::before { content: ""; width: 28px; height: 2px; background: var(--tn-dourado); flex: none; }
.has-azul-background-color .is-style-tn-rotulo,
.has-azul-profundo-background-color .is-style-tn-rotulo,
.has-preto-background-color .is-style-tn-rotulo { color: var(--tn-dourado); }

.tn-lead { font-size: var(--wp--preset--font-size--destaque); line-height: 1.55; color: var(--tn-cinza); max-width: 46ch; }
.has-azul-background-color .tn-lead,
.has-azul-profundo-background-color .tn-lead,
.has-preto-background-color .tn-lead { color: var(--tn-azul-claro); }
.has-preto-background-color .tn-lead { color: #C9CCD1; }
.tn-lead strong { color: inherit; font-weight: 600; }
.has-azul-background-color .tn-lead strong,
.has-azul-profundo-background-color .tn-lead strong,
.has-preto-background-color .tn-lead strong { color: #fff; }

sup { font-size: .45em; vertical-align: super; line-height: 0; font-weight: 500; }

/* ---------- Cabeçalho ---------- */
.tn-cabecalho-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .tn-cabecalho-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .tn-cabecalho-wrap { top: 46px; } }
.tn-cabecalho {
	background: rgba(255,255,255,.94);
	-webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid transparent; transition: border-color var(--tn-trans), box-shadow var(--tn-trans);
}
.tn-cabecalho.tn-rolou { border-bottom-color: var(--tn-linha); box-shadow: 0 6px 24px rgba(17,17,17,.05); }
.tn-cabecalho__barra { min-height: var(--tn-cab-altura); gap: 1.5rem; }
.tn-marca { gap: .75rem; }
.tn-marca .wp-block-site-title { margin: 0; color: var(--tn-azul); }
.tn-marca:has(.wp-block-site-logo img) .wp-block-site-title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tn-cabecalho__direita { gap: 2rem; }
.tn-menu .wp-block-navigation-item__content { padding: .4rem 0; position: relative; color: var(--tn-preto); text-decoration: none; }
.tn-menu .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: -2px; height: 2px; background: var(--tn-dourado); transition: right var(--tn-trans);
}
.tn-menu .wp-block-navigation-item__content:hover::after,
.tn-menu .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }
.tn-menu .wp-block-navigation__container { gap: 1.6rem; }
.tn-cabecalho__cta .wp-block-button__link { padding: .75rem 1.1rem; font-size: .875rem; }
@media (max-width: 1100px) { .tn-cabecalho__cta { display: none !important; } }
@media (max-width: 1100px) and (min-width: 600px) { .tn-menu .wp-block-navigation__container { gap: 1.1rem; } }

/* Menu mobile (overlay) */
.tn-menu .wp-block-navigation__responsive-container.is-menu-open { background: var(--tn-azul-profundo) !important; color: #fff !important; padding: 1.5rem; }
.tn-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 1.5rem; font-weight: 600; }
.tn-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; }
.tn-menu .wp-block-navigation__responsive-container-open svg,
.tn-menu .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }

/* ---------- Botões ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color var(--tn-trans), color var(--tn-trans), border-color var(--tn-trans), transform var(--tn-trans); }
.wp-block-button__link:active { transform: translateY(1px); }

.wp-block-button.is-style-tn-dourado .wp-block-button__link {
	background: var(--tn-dourado); border-color: var(--tn-dourado); color: var(--tn-preto);
}
.wp-block-button.is-style-tn-dourado .wp-block-button__link:hover { background: #D6B964; border-color: #D6B964; color: var(--tn-preto); }

.wp-block-button.is-style-tn-contorno .wp-block-button__link,
.wp-element-button.is-style-tn-contorno {
	background: transparent; color: inherit; border: 1px solid currentColor;
}
.wp-block-button.is-style-tn-contorno .wp-block-button__link:hover,
.wp-element-button.is-style-tn-contorno:hover { background: var(--tn-azul); border-color: var(--tn-azul); color: #fff; }
:is(.has-azul-background-color, .has-azul-profundo-background-color, .has-preto-background-color) .is-style-tn-contorno .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--tn-azul-profundo); }

.wp-block-button.is-style-tn-texto .wp-block-button__link {
	background: none; border: 0; padding: .25rem 0; border-radius: 0; color: inherit;
	font-weight: 600; text-decoration: underline; text-decoration-color: var(--tn-dourado);
	text-decoration-thickness: 2px; text-underline-offset: 6px;
}
.wp-block-button.is-style-tn-texto .wp-block-button__link::after { content: "→"; margin-left: .4em; display: inline-block; transition: transform var(--tn-trans); }
.wp-block-button.is-style-tn-texto .wp-block-button__link:hover { background: none; color: inherit; text-decoration-color: currentColor; }
.wp-block-button.is-style-tn-texto .wp-block-button__link:hover::after { transform: translateX(4px); }
.tn-link-discreto .wp-block-button__link { font-weight: 400 !important; text-decoration-thickness: 1px !important; font-size: var(--wp--preset--font-size--pequeno); }
.tn-link-discreto .wp-block-button__link::after { content: none !important; }

/* ---------- Hero ---------- */
.tn-hero {
	position: relative; overflow: hidden;
	padding-top: clamp(4rem, 10vw, 8.5rem); padding-bottom: clamp(4rem, 9vw, 7.5rem);
	background-image:
		radial-gradient(ellipse 60% 70% at 100% 0%, rgba(30,59,95,.9) 0%, rgba(15,34,56,0) 70%),
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: auto, 72px 72px, 72px 72px;
}
.tn-hero::after { content: ""; position: absolute; left: 0; bottom: 0; width: min(38vw, 520px); height: 3px; background: var(--tn-dourado); }
.tn-hero__titulo { font-size: var(--wp--preset--font-size--titulo); max-width: 16ch; margin-top: .25rem; }
.tn-hero__titulo mark { background: none; }
.tn-hero .tn-lead { margin-top: 1.75rem; max-width: 44ch; }
.tn-hero__botoes { margin-top: 2.5rem; gap: 1.25rem 2rem; align-items: center; }
.tn-hero__publico { margin-top: 2.5rem; color: var(--tn-azul-claro); padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.14); max-width: 52ch; }
.tn-hero__midia:not(:has(img[src])) { display: none; }
.tn-hero__colunas:has(.tn-hero__midia:not(:has(img[src]))) > .wp-block-column:first-child { flex-basis: 100% !important; }
.tn-foto-real img { border-radius: var(--tn-raio); width: 100%; object-fit: cover; aspect-ratio: 4 / 5; }

/* ---------- Identificação / dores ---------- */
.tn-dores { list-style: none; padding: 0; margin: 0; counter-reset: dor; }
.tn-dores li {
	counter-increment: dor; position: relative;
	padding: 1.4rem 0 1.4rem 3.5rem; border-top: 1px solid var(--tn-linha);
	font-size: var(--wp--preset--font-size--destaque); line-height: 1.45; font-weight: 500; letter-spacing: -.01em;
}
.tn-dores li:last-child { border-bottom: 1px solid var(--tn-linha); }
.tn-dores li::before {
	content: counter(dor, decimal-leading-zero); position: absolute; left: 0; top: 1.55rem;
	font-size: .8125rem; font-weight: 700; letter-spacing: .08em; color: var(--tn-dourado-texto);
}

/* ---------- Transformação (fluxo) ---------- */
.tn-fluxo { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; counter-reset: etapa; }
.tn-fluxo__etapa { counter-increment: etapa; position: relative; padding: 2.25rem 1.5rem 0 0; border-top: 1px solid rgba(255,255,255,.22); margin: 0 !important; }
.tn-fluxo__etapa::before {
	content: counter(etapa, decimal-leading-zero); position: absolute; top: -.7rem; left: 0;
	background: var(--tn-azul); padding-right: .6rem; font-size: .8125rem; font-weight: 700; letter-spacing: .08em; color: var(--tn-dourado);
}
.tn-fluxo__etapa:not(:last-child)::after {
	content: "→"; position: absolute; top: -.85rem; right: 1rem; color: var(--tn-dourado); font-size: 1.1rem; background: var(--tn-azul); padding: 0 .4rem;
}
.tn-fluxo__etapa h3 { font-size: var(--wp--preset--font-size--destaque); margin: 0 0 .6rem; }
.tn-fluxo__etapa p { color: var(--tn-azul-claro); font-size: var(--wp--preset--font-size--pequeno); margin: 0; }
.tn-fluxo__etapa--final { border-top: 2px solid var(--tn-dourado); }
.tn-fluxo__etapa--final h3 { color: var(--tn-dourado); }
@media (max-width: 900px) {
	.tn-fluxo { grid-template-columns: 1fr; }
	.tn-fluxo__etapa { border-top: 1px solid rgba(255,255,255,.22); border-left: 0; padding: 1.25rem 0 1.25rem 3rem; }
	.tn-fluxo__etapa::before { top: 1.45rem; left: 0; padding: 0; background: none; }
	.tn-fluxo__etapa:not(:last-child)::after { content: none; }
	.tn-fluxo__etapa--final { border-top: 2px solid var(--tn-dourado); }
}

/* ---------- Processo (lista numerada) ---------- */
.tn-processo, .tn-linha-tempo, .tn-passos { list-style: none; padding: 0; margin: 0; counter-reset: passo; }
.tn-processo li, .tn-linha-tempo li {
	counter-increment: passo; position: relative; padding: 0 0 2rem 4.25rem; min-height: 3rem; color: var(--tn-cinza);
}
.tn-processo li::before, .tn-linha-tempo li::before {
	content: counter(passo); position: absolute; left: 0; top: 0;
	width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid var(--tn-azul);
	display: grid; place-items: center; font-weight: 700; font-size: .9375rem; color: var(--tn-azul); background: #fff;
}
.tn-processo li::after, .tn-linha-tempo li::after {
	content: ""; position: absolute; left: 1.375rem; top: 2.75rem; bottom: 0; width: 1px; background: var(--tn-linha);
}
.tn-processo li:last-child::after, .tn-linha-tempo li:last-child::after { display: none; }
.tn-processo li strong, .tn-linha-tempo li strong { display: block; color: var(--tn-preto); font-size: var(--wp--preset--font-size--destaque); font-weight: 600; letter-spacing: -.01em; margin-bottom: .25rem; line-height: 1.3; }
.tn-processo li:last-child::before { background: var(--tn-dourado); border-color: var(--tn-dourado); color: var(--tn-preto); }
.tn-passos li { counter-increment: passo; position: relative; padding-left: 2.25rem; margin-bottom: 1rem; }
.tn-passos li::before { content: counter(passo); position: absolute; left: 0; top: .1rem; font-weight: 700; color: var(--tn-dourado-texto); }

/* ---------- Método CAFÉ ---------- */
.tn-cafe__etapas { gap: 0 !important; border-top: 1px solid rgba(255,255,255,.16); }
.tn-cafe__etapa { padding: 2rem 2rem 0 0; }
.tn-cafe__etapa + .tn-cafe__etapa { padding-left: 2rem; border-left: 1px solid rgba(255,255,255,.16); }
.tn-cafe__etapa h3 { font-size: var(--wp--preset--font-size--destaque); margin: .5rem 0 .6rem; }
.tn-cafe__etapa p:not(.tn-cafe__letra) { color: #C9CCD1; font-size: var(--wp--preset--font-size--pequeno); }
.tn-cafe__letra {
	font-size: var(--wp--preset--font-size--display); line-height: .9; font-weight: 300; letter-spacing: -.04em;
	color: var(--tn-dourado); margin: 0;
}
.tn-cafe__rodape { margin-top: var(--wp--preset--spacing--50); padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.16); gap: 1rem 2rem; }
.tn-cafe__rodape p { margin: 0; color: #C9CCD1; max-width: 60ch; }
@media (max-width: 781px) {
	.tn-cafe__etapa, .tn-cafe__etapa + .tn-cafe__etapa { padding: 1.75rem 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
	.tn-cafe__etapa { display: grid; grid-template-columns: 4.5rem 1fr; column-gap: 1rem; }
	.tn-cafe__etapa .tn-cafe__letra { grid-row: span 2; font-size: 4rem; }
	.tn-cafe__etapa h3 { margin-top: .25rem; }
}
.tn-topo-cafe h1 { font-size: var(--wp--preset--font-size--display); letter-spacing: -.045em; }
.tn-cafe-etapa .tn-cafe__letra { color: var(--tn-dourado); font-size: clamp(5rem, 12vw, 9rem); }
.tn-cafe-etapa h2 { margin-top: .25rem; }
.tn-cafe-etapa__sub { font-weight: 600; color: var(--tn-dourado-texto); font-size: var(--wp--preset--font-size--destaque); }
.tn-cafe-etapa + .tn-cafe-etapa { border-top: 1px solid var(--tn-linha); }
.tn-cafe-etapa--alt { background: var(--tn-off); }
.tn-citacao { font-size: var(--wp--preset--font-size--card); font-weight: 600; letter-spacing: -.02em; line-height: 1.3; max-width: 30ch; margin-inline: auto !important; }

/* Lista com marcadores TN */
.is-style-tn-marcadores { list-style: none; padding: 0; }
.is-style-tn-marcadores li { position: relative; padding: .55rem 0 .55rem 1.75rem; border-bottom: 1px solid var(--tn-linha); }
.is-style-tn-marcadores li::before { content: ""; position: absolute; left: 0; top: 1.2rem; width: 10px; height: 2px; background: var(--tn-dourado); }
:is(.has-azul-background-color, .has-azul-profundo-background-color, .has-preto-background-color) .is-style-tn-marcadores li { border-bottom-color: rgba(255,255,255,.14); color: var(--tn-azul-claro); }

/* ---------- Cards ---------- */
.is-style-tn-card, .tn-solucao-card, .tn-case-card, .tn-artigo-card {
	background: #fff; border: 1px solid var(--tn-linha); border-radius: var(--tn-raio);
	padding: clamp(1.5rem, 3vw, 2.25rem);
	transition: border-color var(--tn-trans), transform var(--tn-trans), box-shadow var(--tn-trans);
}
.tn-solucao-card:hover, .tn-case-card:hover, .tn-artigo-card:hover { border-color: var(--tn-azul); box-shadow: var(--wp--preset--shadow--suave); }
.is-style-tn-card-escuro { background: var(--tn-azul-profundo); color: #fff; border-radius: var(--tn-raio); padding: clamp(1.5rem, 3vw, 2.25rem); }
.is-style-tn-linha-dourada { border-left: 2px solid var(--tn-dourado); padding-left: 1.5rem; }
.tn-entregas { margin-bottom: var(--wp--preset--spacing--40); }
.tn-entregas h3 { font-size: var(--wp--preset--font-size--destaque); }
.tn-entregas p { color: var(--tn-cinza); font-size: var(--wp--preset--font-size--pequeno); line-height: 1.8; }

.wp-block-post-template.is-layout-grid { gap: 1.5rem; }
.wp-block-post-template .wp-block-post { display: flex; flex-direction: column; }

.tn-solucao-card { display: flex; flex-direction: column; gap: .75rem; height: 100%; }
.tn-case-card, .tn-artigo-card { height: 100%; }
.tn-solucao-card__problema, .tn-topo-solucao__problema {
	font-family: var(--wp--preset--font-family--dm-sans); font-style: italic; color: var(--tn-dourado-texto);
	font-size: var(--wp--preset--font-size--pequeno); line-height: 1.5; margin: 0;
}
.tn-topo-solucao__problema { font-size: var(--wp--preset--font-size--destaque); margin-bottom: 1rem; }
.tn-solucao-card .wp-block-post-title { font-size: var(--wp--preset--font-size--destaque); margin: .25rem 0 0; }
.tn-solucao-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.tn-solucao-card, .tn-case-card, .tn-artigo-card { position: relative; }
.tn-solucao-card .wp-block-post-excerpt { color: var(--tn-cinza); font-size: var(--wp--preset--font-size--pequeno); margin: 0; }
.tn-solucao-card--grande .wp-block-post-title { font-size: var(--wp--preset--font-size--card); }
.wp-block-post-excerpt__more-link { position: relative; z-index: 1; font-weight: 600; color: var(--tn-azul); }

.tn-case-card, .tn-artigo-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.tn-case-card > *, .tn-artigo-card > * { margin-inline: clamp(1.25rem, 2.5vw, 1.75rem); }
.tn-case-card > .wp-block-post-featured-image, .tn-artigo-card > .wp-block-post-featured-image { margin: 0 0 .5rem; }
.tn-case-card > :last-child, .tn-artigo-card > :last-child { margin-bottom: 1.5rem; }
.tn-case-card > :first-child:not(.wp-block-post-featured-image), .tn-artigo-card > :first-child:not(.wp-block-post-featured-image) { margin-top: 1.5rem; }
.tn-case-card .wp-block-post-title a::after, .tn-artigo-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.tn-case-card__segmento, .wp-block-post-terms { color: var(--tn-dourado-texto); }
.wp-block-post-terms a { color: inherit; text-decoration: none; position: relative; z-index: 1; }
.tn-case-card__resultado { border-top: 1px solid var(--tn-linha); padding-top: .9rem; font-weight: 600; color: var(--tn-azul); font-size: var(--wp--preset--font-size--pequeno); }
.tn-case-card .wp-block-post-excerpt, .tn-artigo-card .wp-block-post-excerpt { color: var(--tn-cinza); font-size: var(--wp--preset--font-size--pequeno); }
.tn-artigo-card .wp-block-post-title { font-size: var(--wp--preset--font-size--destaque) !important; }

/* ---------- Prova social ---------- */
.tn-logos .wp-block-post-template { align-items: center; gap: 2rem 3rem !important; }
.tn-logos .wp-block-post-featured-image { margin: 0; }
.tn-logos img { max-height: 56px; width: auto !important; object-fit: contain; filter: grayscale(1); opacity: .7; transition: filter var(--tn-trans), opacity var(--tn-trans); margin-inline: auto; }
.tn-logos .wp-block-post:hover img { filter: none; opacity: 1; }
.tn-prova .tn-oculta-se-vazio + .tn-oculta-se-vazio { margin-top: var(--wp--preset--spacing--50); }

.tn-depoimento { margin: 0; background: #fff; border-radius: var(--tn-raio); padding: clamp(1.5rem, 3vw, 2.25rem); height: 100%; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; position: relative; }
.tn-depoimento::before { content: "“"; position: absolute; top: .4rem; right: 1.25rem; font-size: 5rem; line-height: 1; color: var(--tn-dourado); font-weight: 700; opacity: .9; }
.tn-depoimento__texto { font-family: var(--wp--preset--font-family--dm-sans); font-size: var(--wp--preset--font-size--corpo); line-height: 1.65; }
.tn-depoimento__autor { gap: .9rem; align-items: center; border-top: 1px solid var(--tn-linha); padding-top: 1.25rem; }
.tn-depoimento__foto { margin: 0; flex: none; }
.tn-depoimento__foto img { border-radius: 50%; object-fit: cover; }
.tn-depoimento__nome { font-weight: 700; margin: 0; }
.tn-depoimento__cargo, .tn-depoimento__empresa { margin: 0 !important; font-size: var(--wp--preset--font-size--pequeno); color: var(--tn-cinza); }

/* ---------- Equipe ---------- */
.tn-pessoa { display: flex; flex-direction: column; gap: .4rem; }
.tn-pessoa__foto { margin-bottom: .75rem !important; }
.tn-pessoa__foto img { border-radius: var(--tn-raio); filter: grayscale(.15); }
.tn-pessoa__nome { font-size: var(--wp--preset--font-size--destaque); margin: 0; }
.tn-pessoa__cargo { margin: 0 !important; color: var(--tn-dourado-texto); font-weight: 600; font-size: var(--wp--preset--font-size--pequeno); }
.tn-pessoa__bio { color: var(--tn-cinza); font-size: var(--wp--preset--font-size--pequeno); }
.tn-equipe-pagina .wp-block-post-template { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 2rem; }

.tn-trajetoria { list-style: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.75rem 0; }
.tn-trajetoria li { font-size: var(--wp--preset--font-size--pequeno); font-weight: 600; color: var(--tn-cinza); }
.tn-trajetoria li:not(:last-child)::after { content: "→"; margin-left: .6rem; color: var(--tn-dourado); }
.tn-trajetoria li:last-child { color: var(--tn-azul); }

.tn-diferenciais { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 2rem; max-width: var(--wp--style--global--wide-size) !important; }
.tn-diferenciais li { border-top: 2px solid var(--tn-dourado); padding-top: 1.25rem; color: var(--tn-azul-claro); font-size: var(--wp--preset--font-size--pequeno); }
.tn-diferenciais li strong { display: block; color: #fff; font-size: var(--wp--preset--font-size--destaque); margin-bottom: .5rem; line-height: 1.3; letter-spacing: -.01em; }
@media (max-width: 900px) { .tn-diferenciais { grid-template-columns: 1fr; } }

/* ---------- Implementação (semanas) ---------- */
.tn-semanas__grade { gap: 1.25rem !important; }
.tn-semana { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--tn-raio); padding: 1.75rem; }
.tn-semana h3 { font-size: var(--wp--preset--font-size--destaque); margin: .4rem 0 .5rem; }
.tn-semana__num { font-size: var(--wp--preset--font-size--rotulo); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tn-dourado); margin: 0; }
.tn-semana > p:not(.tn-semana__num) { color: var(--tn-azul-claro); font-size: var(--wp--preset--font-size--pequeno); }
.tn-semana li { font-size: var(--wp--preset--font-size--pequeno); }

/* ---------- CTA final ---------- */
.tn-cta-final { position: relative; overflow: hidden; }
.tn-cta-final::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: min(1240px, 100% - 2rem); height: 1px; background: rgba(255,255,255,.12); }
.tn-cta-final__caixa h2 { font-size: var(--wp--preset--font-size--titulo); max-width: 24ch; letter-spacing: -.035em; }
.tn-cta-final__caixa .tn-lead { max-width: 58ch; }
.tn-cta-final__caixa .wp-block-buttons { margin-top: 2.25rem; gap: 1rem 1.25rem; }

/* ---------- Páginas internas ---------- */
.tn-topo-pagina { padding-top: clamp(3.5rem, 8vw, 6.5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.tn-topo-pagina h1, .tn-topo-pagina .wp-block-post-title { max-width: 20ch; }
.tn-topo-pagina .wp-block-query-title { font-size: var(--wp--preset--font-size--titulo); }
.tn-topo-case h1 { max-width: 24ch; }
.tn-topo-case__rotulos { gap: 1.25rem; align-items: center; margin-bottom: 1rem; }
.tn-topo-case__rotulos > * { margin: 0 !important; }
.tn-topo-case__rotulos .wp-block-post-terms { color: var(--tn-dourado); font-size: var(--wp--preset--font-size--rotulo); }
.tn-topo-case__cliente { color: var(--tn-azul-claro); font-weight: 600; }
.tn-conteudo--case h2 {
	font-size: var(--wp--preset--font-size--rotulo); text-transform: uppercase; letter-spacing: .14em; color: var(--tn-dourado-texto);
	display: flex; align-items: center; gap: .75rem; margin-top: 3rem;
}
.tn-conteudo--case h2::before { content: ""; width: 28px; height: 2px; background: var(--tn-dourado); }
.tn-conteudo--texto { padding-bottom: var(--wp--preset--spacing--60); }
.tn-conteudo--texto h2 { font-size: var(--wp--preset--font-size--destaque); margin-top: 2.5rem; }
.tn-aviso { background: #FBF6E7; border-left: 3px solid var(--tn-dourado); padding: 1rem 1.25rem; color: var(--tn-preto); font-size: var(--wp--preset--font-size--pequeno); }
.tn-obrigado { min-height: 55vh; padding-top: clamp(4rem, 12vw, 9rem); }
.tn-404 { min-height: 50vh; }
.tn-numero { font-size: var(--wp--preset--font-size--titulo); font-weight: 700; color: var(--tn-azul); letter-spacing: -.03em; margin-bottom: 0; line-height: 1; }

/* Artigo */
.tn-artigo { padding-top: clamp(3rem, 7vw, 5rem); padding-bottom: var(--wp--preset--spacing--60); }
.tn-artigo__meta { gap: .5rem 1rem; color: var(--tn-cinza); font-size: var(--wp--preset--font-size--pequeno); }
.tn-artigo__fim { margin-top: var(--wp--preset--spacing--50) !important; }
.tn-artigo .wp-block-post-featured-image img { border-radius: var(--tn-raio); }
.tn-filtro-categorias { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.tn-filtro-categorias li a { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--tn-linha); border-radius: 999px; background: #fff; text-decoration: none; color: var(--tn-preto); font-size: var(--wp--preset--font-size--pequeno); }
.tn-filtro-categorias li a:hover, .tn-filtro-categorias .current-cat a { border-color: var(--tn-azul); background: var(--tn-azul); color: #fff; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); }

/* ---------- Formulário ---------- */
.tn-contato { gap: clamp(2rem, 5vw, 4rem) !important; }
.tn-contato__form { scroll-margin-top: calc(var(--tn-cab-altura) + 24px); }
.tn-contato__direto { margin-top: 2rem; }
.tn-form__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.25rem; }
.tn-campo--inteiro { grid-column: 1 / -1; }
@media (max-width: 640px) { .tn-form__grade { grid-template-columns: 1fr; } }
.tn-campo label { display: block; font-size: var(--wp--preset--font-size--pequeno); font-weight: 600; margin-bottom: .4rem; }
.tn-campo label span[aria-hidden] { color: var(--tn-dourado-texto); }
.tn-campo__opc { font-weight: 400; color: var(--tn-cinza); }
.tn-campo :is(input, select, textarea) {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--tn-preto);
	background: #fff; border: 1px solid #C5CBD3; border-radius: var(--tn-raio); padding: .8rem .9rem; min-height: 50px;
	transition: border-color var(--tn-trans), box-shadow var(--tn-trans);
}
.tn-campo select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231E3B5F' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
.tn-campo :is(input, select, textarea):focus { outline: none; border-color: var(--tn-azul); box-shadow: 0 0 0 3px rgba(30,59,95,.15); }
.tn-campo [aria-invalid="true"] { border-color: #B42318; box-shadow: 0 0 0 3px rgba(180,35,24,.12); }
.tn-campo--consentimento { margin-top: 1.5rem; }
.tn-campo--consentimento label { display: flex; gap: .75rem; align-items: flex-start; font-weight: 400; }
.tn-campo--consentimento input { width: 20px; height: 20px; min-height: 0; flex: none; margin-top: .15rem; accent-color: var(--tn-azul); }
.tn-form__acoes { margin-top: 1.75rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.tn-form__botao { cursor: pointer; }
.tn-form__botao[disabled] { opacity: .7; cursor: progress; }
.tn-form__nota { margin: 0; font-size: var(--wp--preset--font-size--rotulo); color: var(--tn-cinza); }
.tn-form__isca { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tn-form-erro { background: #FEF3F2; border-left: 3px solid #B42318; color: #7A271A; padding: .9rem 1.1rem; margin-bottom: 1.25rem; font-size: var(--wp--preset--font-size--pequeno); }
.tn-form-sucesso { background: #EEF4F0; border-left: 3px solid var(--wp--preset--color--azul); padding: 1.5rem 1.75rem; }
.tn-form-sucesso__titulo { font-weight: 700; font-size: var(--wp--preset--font-size--destaque); margin-top: 0; }
.tn-form-sucesso:focus { outline: none; }
.has-azul-profundo-background-color .tn-campo label, .has-azul-background-color .tn-campo label { color: #fff; }

/* ---------- Rodapé ---------- */
.tn-rodape { padding-top: var(--wp--preset--spacing--60); padding-bottom: 2rem; font-size: var(--wp--preset--font-size--pequeno); }
.tn-rodape__colunas { gap: 2.5rem !important; }
.tn-rodape .wp-block-site-title { color: #fff; }
.tn-rodape__logo img { filter: brightness(0) invert(1); }
.tn-rodape__assinatura { font-size: var(--wp--preset--font-size--destaque); font-weight: 600; line-height: 1.35; letter-spacing: -.01em; max-width: 26ch; margin-top: 1.25rem; }
.tn-rodape__regiao, .tn-rodape__endereco { color: #A9AEB6; }
.tn-rodape__titulo { font-size: var(--wp--preset--font-size--rotulo) !important; text-transform: uppercase; letter-spacing: .14em; color: var(--tn-dourado); font-weight: 600; margin-bottom: 1rem; }
.tn-rodape__menu .wp-block-navigation-item__content { color: #D3D6DB; text-decoration: none; padding: .2rem 0; }
.tn-rodape__menu .wp-block-navigation-item__content:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--tn-dourado); text-underline-offset: 4px; }
.tn-rodape__menu .wp-block-navigation__container { gap: .5rem; }
.tn-rodape__contatos { gap: .5rem; }
.tn-rodape__contatos .wp-block-button__link { font-weight: 500 !important; color: #D3D6DB !important; text-decoration-thickness: 1px !important; }
.tn-rodape__base { margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); color: #A9AEB6; gap: 1rem; }
.tn-rodape__base p { margin: 0; }
.tn-rodape__base .wp-block-buttons { gap: 1.5rem; }
.tn-rodape__base .wp-block-button__link { color: #A9AEB6 !important; }
.tn-redes { margin-top: 1.5rem; }

/* ---------- Aviso de cookies ---------- */
.tn-cookies {
	position: fixed; left: 1rem; bottom: 1rem; z-index: 100; max-width: 420px;
	background: #fff; color: var(--tn-preto); border: 1px solid var(--tn-linha); border-radius: var(--tn-raio);
	padding: 1.25rem 1.25rem 1rem; box-shadow: 0 12px 40px rgba(17,17,17,.16); font-size: var(--wp--preset--font-size--pequeno);
}
.tn-cookies p { margin: 0 0 1rem; }
.tn-cookies__acoes { display: flex; gap: .75rem; justify-content: flex-end; }
.tn-cookies .wp-element-button { padding: .65rem 1.1rem; cursor: pointer; }
.tn-cookies[hidden] { display: none; }
@media (max-width: 600px) { .tn-cookies { left: .75rem; right: .75rem; bottom: .75rem; max-width: none; } }

/* ---------- WhatsApp flutuante ---------- */
.tn-whatsapp-flutuante {
	position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 90;
	display: inline-flex; align-items: center; gap: .6rem; height: 56px; padding: 0 15px;
	border-radius: 999px; background: var(--tn-azul); color: #fff; text-decoration: none;
	border: 1px solid rgba(200,167,75,.65); box-shadow: 0 10px 30px rgba(15,34,56,.28);
	transition: background-color var(--tn-trans), transform var(--tn-trans);
}
.tn-whatsapp-flutuante:hover { background: var(--tn-azul-profundo); transform: translateY(-2px); color: #fff; }
.tn-whatsapp-flutuante__texto { font-weight: 600; font-size: .875rem; padding-right: .25rem; }
@media (max-width: 600px) { .tn-whatsapp-flutuante__texto { display: none; } .tn-whatsapp-flutuante { width: 56px; padding: 0; justify-content: center; } }

/* ---------- Animação discreta ---------- */
.tn-revela { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.tn-revela.tn-visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .tn-revela { opacity: 1; transform: none; transition: none; } }

/* ---------- Responsivo geral ---------- */
@media (max-width: 781px) {
	.tn-secao { padding-top: 4rem; padding-bottom: 4rem; }
	.wp-block-columns { gap: 2rem; }
	.tn-cabecalho-secao.wp-block-columns { gap: 1rem; }
	.tn-cabecalho-secao .wp-block-buttons.is-content-justification-right { justify-content: flex-start; }
	.wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
	.tn-logos .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, 1fr) !important; }
	.tn-equipe .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 782px) and (max-width: 1100px) {
	.wp-block-post-template.is-layout-grid.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.tn-cafe__etapa, .tn-cafe__etapa + .tn-cafe__etapa { padding-inline: 1.25rem; }
	.tn-semanas__grade { flex-wrap: wrap !important; }
	.tn-semanas__grade > .tn-semana { flex-basis: calc(50% - .75rem) !important; }
}

/* ---------- Impressão ---------- */
@media print {
	.tn-cabecalho-wrap, .tn-rodape, .tn-whatsapp-flutuante, .tn-cookies, .tn-cta-final { display: none !important; }
}
