/* ==========================================================================
   Notas do Brasil v2 — base visual e home (DEC-NDB-2026-042 e 043)
   Tokens da referência de design. Inter servida pelo tema (OFL).
   Pontos de quebra: 700 px, 1050 px e 1450 px.
   ========================================================================== */

@font-face {
	font-family: "Inter NB";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter NB";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations"), url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--x-azul: #0f324e;
	--x-azul-2: #1c4468;
	--x-papel: #fbfaf7;
	--x-creme: #f4f1e0;
	--x-terra: #bc6643;
	--x-terra-texto: #a5532f; /* terra escurecida para texto pequeno: 4,5:1 sobre papel, creme e branco (WCAG AA) */
	--x-tinta: #18374b;
	--x-mudo: #5c6870;
	--x-regua: #dcded7;
	--x-branco: #ffffff;
	--x-claro-70: rgba(255, 255, 255, .72);
	--x-claro-20: rgba(255, 255, 255, .18);
	--x-sans: "Inter NB", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--x-largura: 1328px;
	--x-margem: clamp(16px, 4vw, 48px);
	--x-raio: 14px;
	--x-sombra: 0 1px 2px rgba(15, 50, 78, .06), 0 8px 24px rgba(15, 50, 78, .08);
	--x-suave: cubic-bezier(.2, .7, .3, 1);

	/* Páginas internas (main.css da 1.0) passam a usar a Inter do tema. */
	--nb-sans: var(--x-sans);
	--nb-serif: var(--x-sans);
	--nb-azul: var(--x-azul);
	--nb-papel: var(--x-papel);
	--nb-terracota: var(--x-terra);
	--nb-creme: var(--x-creme);
}

body.nbx {
	font-family: var(--x-sans);
	background: var(--x-papel);
	color: var(--x-tinta);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.nbx-largura {
	width: 100%;
	max-width: calc(var(--x-largura) + 2 * var(--x-margem));
	margin-inline: auto;
	padding-inline: var(--x-margem);
	box-sizing: border-box;
}

.nbx :focus-visible {
	outline: 2px solid var(--x-terra);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ----- Botões e links ----- */

.nbx-botao {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .8em 1.25em;
	border-radius: 999px;
	background: var(--x-azul);
	color: var(--x-branco);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background .2s, transform .2s var(--x-suave);
}
.nbx-botao:hover { background: var(--x-azul-2); transform: translateY(-1px); }
.nbx-botao--claro { background: var(--x-branco); color: var(--x-azul); }
.nbx-botao--claro:hover { background: var(--x-creme); }

.nbx-link,
.nbx-link-claro {
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.nbx-link { color: var(--x-terra-texto); }
.nbx-link-claro { color: var(--x-branco); border-color: var(--x-claro-20); }
.nbx-link:hover,
.nbx-link-claro:hover { border-bottom-width: 2px; }

.nbx-fechar {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--x-regua);
	border-radius: 50%;
	background: var(--x-branco);
	color: var(--x-azul);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.nbx-fechar:hover { background: var(--x-creme); }

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

.nbx-topo {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--x-azul);
	color: var(--x-branco);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.admin-bar .nbx-topo { top: 32px; }
.nbx-topo__barra {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 76px;
}
.nbx-topo__logo img { display: block; width: 60px; height: auto; }
.nbx-nav {
	display: flex;
	gap: 4px;
	margin-left: auto;
}
.nbx-nav__item {
	padding: 10px 14px;
	border-radius: 999px;
	color: var(--x-claro-70);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s, background .2s;
}
.nbx-nav__item:hover { color: var(--x-branco); background: rgba(255, 255, 255, .08); }
.nbx-nav__item.is-ativo { color: var(--x-branco); box-shadow: inset 0 -2px 0 var(--x-terra); border-radius: 0; }
.nbx-topo__busca {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border: 1px solid var(--x-claro-20);
	border-radius: 999px;
	background: transparent;
	color: var(--x-branco);
	font: 500 14px var(--x-sans);
	cursor: pointer;
}
.nbx-topo__busca:hover { background: rgba(255, 255, 255, .08); }

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

.nbx-hero {
	background: var(--x-azul);
	color: var(--x-branco);
	padding-top: clamp(40px, 7vw, 96px);
	overflow: hidden;
}
.nbx-hero__corpo {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: clamp(24px, 5vw, 80px);
	align-items: end;
}
.nbx-hero__titulo {
	margin: 0;
	font-size: clamp(38px, 6.2vw, 84px);
	line-height: 1.02;
	letter-spacing: -.035em;
	font-weight: 650;
	max-width: 14ch;
	color: var(--x-branco);
}
.nbx-hero__frase { margin: 0 0 20px; color: var(--x-claro-70); font-size: 17px; line-height: 1.55; max-width: 38ch; }
.nbx-hero__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin: 0; }

/* Faixa de logos */
.nbx-faixa { margin-top: clamp(40px, 6vw, 72px); padding-bottom: 28px; }
.nbx-faixa__janela {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.nbx-faixa__trilho {
	display: flex;
	gap: 14px;
	width: max-content;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	animation: nbx-desliza 70s linear infinite;
}
.nbx-faixa:hover .nbx-faixa__trilho,
.nbx-faixa:focus-within .nbx-faixa__trilho,
.nbx-faixa.is-pausada .nbx-faixa__trilho { animation-play-state: paused; }
@keyframes nbx-desliza { to { transform: translateX(-50%); } }
.nbx-faixa__item {
	display: grid;
	grid-template-rows: 1fr auto;
	place-items: center;
	gap: 6px;
	width: 156px;
	height: 92px;
	padding: 12px;
	box-sizing: border-box;
	border-radius: 12px;
	background: var(--x-branco);
	color: var(--x-azul);
	text-decoration: none;
	transition: transform .25s var(--x-suave), box-shadow .25s;
}
.nbx-faixa__item:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.nbx-faixa__logo { display: grid; place-items: center; width: 100%; height: 44px; }
.nbx-faixa__logo .nbx-logo { max-width: 104px; max-height: 40px; width: auto; height: auto; object-fit: contain; }
.nbx-faixa__nome { font-size: 11px; color: var(--x-mudo); }
.nbx-faixa__controles { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; }
.nbx-pausa {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border: 1px solid var(--x-claro-20);
	border-radius: 999px;
	background: transparent;
	color: var(--x-claro-70);
	font: 500 13px var(--x-sans);
	cursor: pointer;
}
.nbx-pausa__icone { width: 8px; height: 10px; border-inline: 3px solid currentColor; box-sizing: border-box; }
.nbx-pausa[aria-pressed="true"] .nbx-pausa__icone { border: 0; border-left: 9px solid currentColor; border-block: 5px solid transparent; width: 0; height: 0; }

/* Logo tipográfico (marca sem logo enviado) */
.nbx-logo-tipo {
	display: block;
	font-weight: 750;
	font-size: 17px;
	letter-spacing: -.02em;
	line-height: 1.1;
	color: var(--x-azul);
	text-align: center;
	overflow-wrap: anywhere;
}

/* ----- Seções ----- */

.nbx-home > section { padding-block: clamp(56px, 8vw, 104px); scroll-margin-top: 76px; }
.nbx-home [id] { scroll-margin-top: 92px; }
@media (max-width: 700px) {
	.nbx-home > section { scroll-margin-top: 104px; }
	.nbx-home [id] { scroll-margin-top: 112px; }
}
.nbx-secao__cabeca {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	gap: 12px 32px;
	margin-bottom: clamp(24px, 3vw, 40px);
}
.nbx-secao__cabeca--centro { flex-direction: column; align-items: center; text-align: center; }
.nbx-secao__titulo {
	margin: 0;
	font-size: clamp(30px, 3.6vw, 48px);
	line-height: 1.05;
	letter-spacing: -.03em;
	font-weight: 650;
	color: inherit;
}
.nbx-secao__apoio { margin: 0; max-width: 46ch; color: var(--x-mudo); font-size: 16px; line-height: 1.55; }

/* ----- Linha do tempo ----- */

.nbx-tempo { background: var(--x-azul); color: var(--x-branco); border-top: 1px solid rgba(255, 255, 255, .08); }
.nbx-tempo .nbx-secao__apoio { color: var(--x-claro-70); }
.nbx-decadas {
	position: relative;
	display: flex;
	gap: 4px;
	overflow-x: auto;
	scrollbar-width: thin;
	padding-bottom: 8px;
}
.nbx-decadas::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 17px;
	height: 1px;
	background: var(--x-claro-20);
}
.nbx-decada {
	position: relative;
	flex: 1 0 auto;
	display: grid;
	justify-items: center;
	gap: 6px;
	min-width: 92px;
	padding: 10px 8px;
	border: 0;
	background: none;
	color: var(--x-claro-70);
	font-family: var(--x-sans);
	cursor: pointer;
}
.nbx-decada__ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--x-claro-70); margin-bottom: 6px; transition: transform .2s; }
.nbx-decada__nome { font-size: clamp(18px, 2vw, 26px); font-weight: 500; letter-spacing: -.02em; }
.nbx-decada__qtd { font-size: 12px; opacity: .7; }
.nbx-decada:hover { color: var(--x-branco); }
.nbx-decada.is-ativa { color: var(--x-branco); }
.nbx-decada.is-ativa .nbx-decada__ponto { background: var(--x-terra); transform: scale(1.5); }
.nbx-decada.is-ativa .nbx-decada__nome { font-weight: 700; }
.nbx-tempo__status { margin: 12px 0 0; min-height: 1.4em; font-size: 14px; color: var(--x-claro-70); }

.nbx-tempo__trilho {
	display: flex;
	gap: 16px;
	margin: 24px 0 0;
	padding: 4px max(var(--x-margem), calc((100% - var(--x-largura)) / 2)) 16px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: max(var(--x-margem), calc((100% - var(--x-largura)) / 2));
	scrollbar-width: thin;
}
.nbx-marco {
	flex: 0 0 min(300px, 78vw);
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 20px;
	border-radius: var(--x-raio);
	background: var(--x-azul-2);
	scroll-snap-align: start;
}
.nbx-marco[hidden] { display: none; }
.nbx-marco__ano { font-size: 34px; font-weight: 300; letter-spacing: -.03em; color: var(--x-terra); line-height: 1; }
.nbx-marco__titulo { color: var(--x-branco); font-weight: 650; font-size: 18px; text-decoration: none; }
.nbx-marco__titulo:hover { text-decoration: underline; }
.nbx-marco__texto { margin: 0; color: var(--x-claro-70); font-size: 14px; line-height: 1.5; }
.nbx-marco__tipo { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--x-claro-70); opacity: .8; }

/* ----- Matérias ----- */

.nbx-destaque { margin-bottom: clamp(32px, 4vw, 56px); }
.nbx-abas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	border: 1px solid var(--x-regua);
	border-radius: var(--x-raio);
	overflow: hidden;
	background: var(--x-branco);
	margin-bottom: 28px;
}
.nbx-aba {
	display: grid;
	gap: 18px;
	align-content: space-between;
	min-height: 96px;
	padding: 16px;
	border: 0;
	border-right: 1px solid var(--x-regua);
	background: none;
	color: var(--x-azul);
	font-family: var(--x-sans);
	text-align: left;
	cursor: pointer;
	transition: background .2s;
}
.nbx-aba:last-child { border-right: 0; }
.nbx-aba:hover { background: var(--x-papel); }
.nbx-aba__nome { font-weight: 650; font-size: 16px; }
.nbx-aba__qtd { font-size: 12px; color: var(--x-mudo); }
.nbx-aba[aria-selected="true"] { background: var(--x-azul); color: var(--x-branco); }
.nbx-aba[aria-selected="true"] .nbx-aba__qtd { color: var(--x-claro-70); }
.nbx-painel[hidden] { display: none; }
.nbx-painel__mais { margin: 24px 0 0; }
.nbx-vazio { margin: 0; padding: 28px; border: 1px dashed var(--x-regua); border-radius: var(--x-raio); color: var(--x-mudo); text-align: center; font-size: 15px; }

.nbx-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
.nbx-grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Card de matéria */
.nbx-card { display: grid; gap: 14px; align-content: start; }
.nbx-card__img { margin: 0; }
.nbx-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; background: var(--x-creme); }
.nbx-card__credito { margin-top: 6px; font-size: 12px; color: var(--x-mudo); line-height: 1.4; }
.nbx-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 0; font-size: 13px; color: var(--x-mudo); }
.nbx-card__cat { color: var(--x-terra-texto); font-weight: 600; }
.nbx-card__titulo { margin: 0; font-size: 20px; line-height: 1.25; letter-spacing: -.015em; font-weight: 650; }
.nbx-card__titulo a { color: var(--x-azul); text-decoration: none; }
.nbx-card__titulo a:hover { text-decoration: underline; text-underline-offset: 3px; }
.nbx-card__resumo { margin: 0; color: var(--x-tinta); font-size: 16px; line-height: 1.55; }
.nbx-card__fonte { margin: 0; font-size: 13px; color: var(--x-mudo); line-height: 1.45; }
.nbx-card.is-sem-imagem { padding: 20px; border: 1px solid var(--x-regua); border-radius: var(--x-raio); background: var(--x-branco); }

.nbx-card--destaque { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 56px); align-items: center; }
.nbx-card--destaque.is-sem-imagem { grid-template-columns: 1fr; padding: clamp(24px, 4vw, 48px); }
.nbx-card--destaque .nbx-card__titulo { font-size: clamp(26px, 3vw, 40px); line-height: 1.1; }
.nbx-card--destaque .nbx-card__resumo { font-size: 18px; }

/* Fábricas & oficinas e Do arquivo */
.nbx-oficinas { background: var(--x-creme); }
.nbx-oficinas .nbx-card.is-sem-imagem { background: var(--x-papel); }
.nbx-arquivo .nbx-card__img img { aspect-ratio: 3 / 4; filter: saturate(.9); }

/* ----- Acervo ----- */

.nbx-acervo { background: var(--x-azul); color: var(--x-branco); }
.nbx-acervo .nbx-secao__apoio { color: var(--x-claro-70); }
.nbx-filtros { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 28px; }
.nbx-filtro {
	padding: 8px 14px;
	border: 1px solid var(--x-claro-20);
	border-radius: 999px;
	background: transparent;
	color: var(--x-claro-70);
	font: 500 14px var(--x-sans);
	cursor: pointer;
}
.nbx-filtro span { opacity: .7; margin-left: 4px; }
.nbx-filtro:hover { color: var(--x-branco); border-color: var(--x-claro-70); }
.nbx-filtro.is-ativo { background: var(--x-branco); color: var(--x-azul); border-color: var(--x-branco); }

.nbx-marcas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.nbx-marca[hidden] { display: none; }
.nbx-marca__link {
	display: grid;
	grid-template-rows: 72px auto 1fr auto;
	gap: 8px;
	height: 100%;
	padding: 20px;
	box-sizing: border-box;
	border-radius: var(--x-raio);
	background: var(--x-branco);
	color: var(--x-azul);
	text-decoration: none;
	transition: transform .25s var(--x-suave), box-shadow .25s;
}
.nbx-marca__link:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .28); }
.nbx-marca__logo { display: grid; place-items: center start; }
.nbx-marca__logo .nbx-logo { max-width: 140px; max-height: 56px; width: auto; height: auto; object-fit: contain; }
.nbx-marca__logo .nbx-logo-tipo { font-size: 24px; text-align: left; }
.nbx-marca__nome { font-weight: 650; font-size: 20px; letter-spacing: -.015em; }
.nbx-marca__sub { color: var(--x-mudo); font-size: 14px; line-height: 1.45; }
.nbx-marca__rodape { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--x-regua); font-size: 13px; color: var(--x-mudo); }
.nbx-marca__rodape span:last-child { color: var(--x-terra-texto); font-weight: 700; }
.nbx-acervo__todas { margin: 36px 0 0; text-align: center; }

/* ----- Sobre ----- */

.nbx-sobre__grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); }
.nbx-sobre p { margin: 18px 0 20px; font-size: 18px; line-height: 1.6; color: var(--x-tinta); max-width: 52ch; }
.nbx-sobre .nbx-secao__titulo { font-size: clamp(26px, 2.8vw, 36px); color: var(--x-azul); }

/* ----- Janela de marca ----- */

.nbx-janela {
	width: min(620px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: var(--x-branco);
	color: var(--x-tinta);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}
.nbx-janela::backdrop { background: rgba(15, 50, 78, .62); backdrop-filter: blur(3px); }
.nbx-janela .nbx-fechar { position: absolute; top: 14px; right: 14px; }
.nbx-janela__corpo { padding: clamp(24px, 4vw, 40px); }
.nbx-janela__logo { display: grid; place-items: center start; min-height: 64px; margin-bottom: 12px; padding-right: 48px; }
.nbx-janela__logo .nbx-logo { max-width: 180px; max-height: 64px; width: auto; height: auto; }
.nbx-janela__logo .nbx-logo-tipo { font-size: 30px; text-align: left; }
.nbx-janela__nome { margin: 0; font-size: 30px; letter-spacing: -.025em; color: var(--x-azul); }
.nbx-janela__sub { margin: 6px 0 0; color: var(--x-mudo); font-size: 15px; }
.nbx-janela__resumo { margin: 18px 0 0; font-size: 17px; line-height: 1.6; }
.nbx-janela__marcos { margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--x-regua); list-style: none; display: grid; gap: 10px; font-size: 15px; line-height: 1.5; }
.nbx-janela__marcos span { display: inline-block; min-width: 3.4em; font-weight: 700; color: var(--x-terra-texto); }
.nbx-janela .nbx-botao { margin-top: 24px; }

/* ----- Busca ----- */

.nbx-doca {
	position: fixed;
	left: 50%;
	bottom: 18px;
	z-index: 40;
	transform: translateX(-50%);
	transition: opacity .25s, transform .25s var(--x-suave);
}
.nbx-doca.is-escondida { opacity: 0; transform: translate(-50%, 16px); pointer-events: none; }
.nbx-doca__botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1px solid var(--x-regua);
	border-radius: 999px;
	background: var(--x-branco);
	color: var(--x-azul);
	font: 600 14px var(--x-sans);
	white-space: nowrap;
	box-shadow: var(--x-sombra);
	cursor: pointer;
}
.nbx-busca {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: grid;
	place-items: start center;
	padding: clamp(64px, 14vh, 140px) 16px 16px;
	background: rgba(15, 50, 78, .62);
	backdrop-filter: blur(3px);
}
.nbx-busca[hidden] { display: none; }
.nbx-busca__caixa { width: min(680px, 100%); padding: 24px; border-radius: 18px; background: var(--x-branco); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.nbx-busca__cabeca { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.nbx-busca__titulo { margin: 0; font-weight: 650; font-size: 18px; color: var(--x-azul); }
.nbx-busca__form { display: flex; gap: 8px; }
.nbx-busca__form input {
	flex: 1;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid var(--x-regua);
	border-radius: 999px;
	font: 16px var(--x-sans);
	color: var(--x-tinta);
}
.nbx-busca__form button { padding: 0 22px; border: 0; border-radius: 999px; background: var(--x-terra-texto); color: var(--x-branco); font: 600 15px var(--x-sans); cursor: pointer; }
.nbx-busca__dica { margin: 12px 4px 0; font-size: 13px; color: var(--x-mudo); }

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

.nbx-rodape { background: var(--x-tinta); color: var(--x-claro-70); padding-top: 56px; padding-bottom: 96px; }
.nbx-rodape__topo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; padding-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.nbx-rodape__marca img { display: block; width: 69px; height: auto; margin-bottom: 16px; }
.nbx-rodape__marca p { margin: 0; max-width: 34ch; font-size: 15px; line-height: 1.55; }
.nbx-rodape__colunas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.nbx-rodape__titulo { margin: 0 0 14px; color: var(--x-branco); font-weight: 650; font-size: 15px; }
.nbx-rodape__coluna ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.nbx-rodape__coluna a { color: var(--x-claro-70); text-decoration: none; font-size: 15px; }
.nbx-rodape__coluna a:hover { color: var(--x-branco); text-decoration: underline; }
.nbx-rodape__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-top: 20px; font-size: 13px; }

/* ----- Pontos de quebra ----- */

@media (min-width: 1450px) {
	.nbx-marcas { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
	.nbx-hero__corpo { grid-template-columns: 1fr; }
	.nbx-grade,
	.nbx-grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nbx-marcas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nbx-rodape__topo { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	.admin-bar .nbx-topo { top: 46px; }
}

@media (max-width: 700px) {
	.nbx-topo__barra { flex-wrap: wrap; gap: 0 12px; min-height: 0; padding-block: 10px 0; }
	.nbx-topo__logo img { width: 48px; }
	.nbx-topo__busca { margin-left: auto; padding: 8px 12px; }
	.nbx-nav {
		order: 3;
		flex-basis: 100%;
		margin: 8px calc(-1 * var(--x-margem)) 0;
		padding: 0 var(--x-margem) 8px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.nbx-nav::-webkit-scrollbar { display: none; }
	.nbx-nav__item { padding: 8px 12px; font-size: 14px; }

	.nbx-faixa__item { width: 132px; height: 84px; }
	.nbx-faixa__controles { flex-wrap: wrap; }

	.nbx-abas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nbx-aba { border-bottom: 1px solid var(--x-regua); min-height: 84px; }
	.nbx-aba:nth-child(2n) { border-right: 0; }

	.nbx-grade,
	.nbx-grade--4,
	.nbx-sobre__grade { grid-template-columns: 1fr; }
	.nbx-card--destaque { grid-template-columns: 1fr; }

	.nbx-marcas {
		display: flex;
		gap: 12px;
		margin-inline: calc(-1 * var(--x-margem));
		padding: 4px var(--x-margem) 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--x-margem);
	}
	.nbx-marca { flex: 0 0 78%; scroll-snap-align: start; }
	.nbx-filtros { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: calc(-1 * var(--x-margem)); padding: 0 var(--x-margem) 6px; }
	.nbx-filtro { flex: 0 0 auto; }

	.nbx-rodape__colunas { grid-template-columns: 1fr 1fr; }
	.nbx-busca__form { flex-direction: column; }
	.nbx-busca__form button { padding: 13px; }
}

@media (prefers-reduced-motion: reduce) {
	.nbx-faixa__trilho { animation: none; }
	.nbx-faixa__janela { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.nbx-faixa__trilho .is-copia { display: none; }
	.nbx-pausa { display: none; }
	.nbx *,
	.nbx *::before,
	.nbx *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Entrega 2 — verbete de marca e índice do acervo
   ========================================================================== */

.nbx-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; font-size: 14px; color: var(--x-claro-70); }
.nbx-trilha a { color: var(--x-branco); text-decoration: none; border-bottom: 1px solid var(--x-claro-20); }
.nbx-trilha a:hover { border-bottom-color: var(--x-branco); }

/* Abertura do verbete */
.nbx-verbete__abertura { background: var(--x-azul); color: var(--x-branco); padding: clamp(28px, 4vw, 48px) 0 clamp(36px, 5vw, 64px); }
.nbx-verbete__topo { display: flex; align-items: center; gap: clamp(16px, 3vw, 32px); }
.nbx-verbete__logo {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: clamp(112px, 14vw, 176px);
	aspect-ratio: 16 / 10;
	padding: 14px;
	box-sizing: border-box;
	border-radius: var(--x-raio);
	background: var(--x-branco);
}
.nbx-verbete__logo .nbx-logo { max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; }
.nbx-verbete__logo .nbx-logo-tipo { font-size: clamp(18px, 2.2vw, 26px); }
.nbx-verbete__nome { margin: 0; font-size: clamp(36px, 5.4vw, 72px); line-height: 1; letter-spacing: -.035em; font-weight: 650; color: var(--x-branco); }
.nbx-verbete__sub { margin: 10px 0 0; color: var(--x-claro-70); font-size: 16px; }
.nbx-verbete__resumo { margin: clamp(24px, 3vw, 36px) 0 0; max-width: 60ch; font-size: clamp(19px, 1.9vw, 24px); line-height: 1.5; color: var(--x-branco); letter-spacing: -.01em; }
.nbx-verbete__confianca { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 24px 0 0; font-size: 14px; }
.nbx-verbete__data { color: var(--x-claro-70); }

/* Selo de confiança */
.nbx-selo { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: var(--x-branco); font-weight: 600; font-size: 13px; }
.nbx-selo__ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--x-claro-70); }
/* 5 níveis (DEC-NDB-2026-045) */
.nbx-selo--fonte-historica .nbx-selo__ponto { background: #7fc79a; }
.nbx-selo--fonte-oficial .nbx-selo__ponto { background: var(--x-terra); }
.nbx-selo--fonte-jornalistica .nbx-selo__ponto { background: #f2c63d; }
.nbx-selo--a-confirmar .nbx-selo__ponto { background: transparent; border: 1.5px solid var(--x-claro-70); box-sizing: border-box; }
.nbx-selo--baixa-confirmacao .nbx-selo__ponto { background: transparent; border: 1.5px dashed var(--x-claro-70); box-sizing: border-box; }

/* Corpo: ficha à esquerda (antes da prosa), texto à direita */
.nbx-verbete__corpo {
	display: grid;
	grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
	padding-block: clamp(36px, 5vw, 72px);
}
.nbx-ficha {
	position: sticky;
	top: 96px;
	padding: 24px;
	border: 1px solid var(--x-regua);
	border-radius: var(--x-raio);
	background: var(--x-branco);
}
.admin-bar .nbx-ficha { top: 128px; }
.nbx-ficha__titulo { margin: 0 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--x-mudo); font-weight: 650; }
.nbx-ficha dl { margin: 0; }
.nbx-ficha__linha { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--x-regua); }
.nbx-ficha__linha:first-child { border-top: 0; padding-top: 0; }
.nbx-ficha dt { font-size: 13px; color: var(--x-mudo); }
.nbx-ficha dd { margin: 0; font-size: 15px; font-weight: 600; color: var(--x-azul); line-height: 1.45; }
.nbx-ficha dd .is-a-confirmar { color: var(--x-mudo); font-weight: 500; font-style: italic; }
.nbx-ficha__proc { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--x-mudo); }
.nbx-ficha__proc--primaria { color: #2f6b45; }
.nbx-ficha__linha--confianca { margin-top: 4px; padding-top: 14px; border-top: 2px solid var(--x-azul); }
.nbx-ficha__nota { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: var(--x-mudo); }

.nbx-verbete__texto { min-width: 0; max-width: 760px; }
.nbx-verbete__secao { margin-top: clamp(40px, 5vw, 64px); }
.nbx-verbete__secao:first-child { margin-top: 0; }
.nbx-verbete__secao > h2,
.nbx-prosa h2 { margin: 0 0 16px; font-size: clamp(24px, 2.4vw, 30px); letter-spacing: -.02em; line-height: 1.15; color: var(--x-azul); font-weight: 650; }
.nbx-prosa { font-size: 18px; line-height: 1.7; color: var(--x-tinta); }
.nbx-prosa p { margin: 0 0 1.1em; }
.nbx-prosa h2 { margin-top: 1.6em; }
.nbx-prosa > h2:first-child { margin-top: 0; }
.nbx-prosa h3 { margin: 1.4em 0 .5em; font-size: 20px; color: var(--x-azul); }
.nbx-prosa a { color: var(--x-terra-texto); }
.nbx-prosa ul,
.nbx-prosa ol { padding-left: 1.2em; margin: 0 0 1.1em; }

.nbx-etiquetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nbx-etiquetas li { padding: 6px 12px; border: 1px solid var(--x-regua); border-radius: 999px; background: var(--x-branco); font-size: 14px; color: var(--x-tinta); }

/* Linha do tempo do verbete */
.nbx-linha { position: relative; margin: 0; padding: 0 0 0 28px; list-style: none; }
.nbx-linha::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--x-regua); }
.nbx-linha li { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 10px 0; }
.nbx-linha li::before { content: ""; position: absolute; left: -27px; top: 17px; width: 12px; height: 12px; border-radius: 50%; background: var(--x-terra); box-shadow: 0 0 0 4px var(--x-papel); }
.nbx-linha__ano { font-weight: 700; font-size: 18px; color: var(--x-terra-texto); letter-spacing: -.01em; }
.nbx-linha__texto { font-size: 17px; line-height: 1.55; color: var(--x-tinta); }
.nbx-linha__fonte { display: block; margin-top: 2px; font-size: 13px; color: var(--x-mudo); }
.nbx-linha__fonte.is-a-confirmar { font-style: italic; }

/* A confirmar */
.nbx-confirmar { padding: 24px; border: 1px dashed var(--x-terra); border-radius: var(--x-raio); background: #fff8f2; }
.nbx-confirmar > h2 { color: var(--x-terra-texto); }
.nbx-confirmar ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; font-size: 16px; line-height: 1.5; }
.nbx-confirmar p { margin: 0; font-size: 16px; }
.nbx-confirmar__nota { margin-top: 16px !important; font-size: 13px !important; color: var(--x-mudo); }

/* Fontes */
.nbx-fontes__grupo { margin: 24px 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--x-mudo); }
.nbx-fontes__grupo:first-of-type { margin-top: 0; }
.nbx-fontes__lista { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--x-regua); }
.nbx-fontes__lista li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid var(--x-regua); }
.nbx-fontes__nome { font-weight: 600; color: var(--x-azul); overflow-wrap: anywhere; }
.nbx-fontes__detalhe { grid-column: 1; font-size: 14px; color: var(--x-mudo); }
.nbx-fontes__tipo { grid-column: 2; grid-row: 1 / span 2; align-self: center; padding: 4px 10px; border-radius: 999px; background: var(--x-creme); font-size: 12px; color: var(--x-tinta); white-space: nowrap; }
.nbx-fontes__selos { margin: 16px 0 0; font-size: 13px; color: var(--x-mudo); }
.nbx-porque { padding: 24px; border-radius: var(--x-raio); background: var(--x-creme); }

.nbx-verbete__extra { padding-block: clamp(48px, 6vw, 80px); }
.nbx-verbete__extra--creme { background: var(--x-creme); }
.nbx-secao__titulo--menor { font-size: clamp(24px, 2.6vw, 34px); margin-bottom: 28px; }

/* Índice do acervo */
.nbx-acervo-pagina__abertura { background: var(--x-azul); color: var(--x-branco); padding: clamp(40px, 6vw, 80px) 0 8px; }
.nbx-acervo-pagina__titulo { margin: 0; font-size: clamp(38px, 5.6vw, 76px); line-height: 1; letter-spacing: -.035em; font-weight: 650; color: var(--x-branco); }
.nbx-acervo-pagina__intro { margin: 16px 0 0; max-width: 52ch; color: var(--x-claro-70); font-size: 18px; line-height: 1.55; }
.nbx-acervo--pagina { padding-block: 32px clamp(56px, 7vw, 96px); }
.nbx-acervo-filtros { display: grid; gap: 18px; margin-bottom: 24px; }
.nbx-acervo-filtros[hidden] { display: none; }
.nbx-acervo-filtros__busca {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 560px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--x-branco);
	color: var(--x-mudo);
}
.nbx-acervo-filtros__busca input { flex: 1; min-width: 0; padding: 14px 0; border: 0; background: transparent; font: 16px var(--x-sans); color: var(--x-tinta); outline: none; }
.nbx-acervo-filtros__busca:focus-within { box-shadow: 0 0 0 2px var(--x-terra); }
.nbx-acervo-filtros__busca input:focus-visible { outline: none; }
.nbx-acervo-filtros__grupo { display: grid; gap: 8px; }
.nbx-acervo-filtros__rotulo { margin: 0; font-size: 13px; color: var(--x-claro-70); text-transform: uppercase; letter-spacing: .08em; }
.nbx-acervo--pagina .nbx-filtros { justify-content: flex-start; margin: 0; }
.nbx-acervo-pagina__contagem { margin: 0 0 16px; font-size: 14px; color: var(--x-claro-70); }
.nbx-vazio--escuro { border-color: var(--x-claro-20); color: var(--x-claro-70); }
.nbx-vazio--escuro .nbx-link-claro { margin-left: 8px; background: none; border-width: 0 0 1px; cursor: pointer; font-family: var(--x-sans); }
.nbx-acervo-pagina__metodo { padding-block: clamp(48px, 6vw, 80px); }
.nbx-acervo-pagina__metodo .nbx-largura { max-width: 860px; }

@media (max-width: 1050px) {
	.nbx-verbete__corpo { grid-template-columns: 1fr; }
	.nbx-ficha { position: static; }
}

@media (max-width: 700px) {
	.nbx-verbete__topo { flex-direction: column; align-items: flex-start; }
	.nbx-linha li { grid-template-columns: 1fr; gap: 2px; }
	.nbx-fontes__lista li { grid-template-columns: 1fr; }
	.nbx-fontes__tipo { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 6px; }
	/* No índice, a grade fica em grade (não em carrossel como na home). */
	.nbx-marcas--grade { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; overflow: visible; }
	.nbx-marcas--grade .nbx-marca { flex: none; }
	.nbx-acervo--pagina .nbx-filtros { flex-wrap: nowrap; }
	.nbx-filtros { scrollbar-width: none; }
	.nbx-filtros::-webkit-scrollbar { display: none; }
}

/* ==========================================================================
   Entrega 3 — matéria, listagens, busca, 404 e páginas institucionais
   ========================================================================== */

.is-a-confirmar { font-style: italic; color: var(--x-mudo); }

/* Matéria */
.nbx-materia__abertura { background: var(--x-azul); color: var(--x-branco); padding: clamp(28px, 4vw, 48px) 0 clamp(36px, 5vw, 56px); }
.nbx-materia__coluna { max-width: calc(820px + 2 * var(--x-margem)); }
.nbx-materia__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 14px; font-size: 14px; color: var(--x-claro-70); }
.nbx-materia__cat { color: var(--x-branco); font-weight: 650; padding: 2px 10px; border-radius: 999px; background: var(--x-terra-texto); }
.nbx-materia__titulo { margin: 0; font-size: clamp(32px, 4.6vw, 58px); line-height: 1.06; letter-spacing: -.03em; font-weight: 650; color: var(--x-branco); }
.nbx-materia__resumo { margin: 20px 0 0; font-size: clamp(19px, 1.8vw, 22px); line-height: 1.5; color: var(--x-claro-70); }
.nbx-assinatura { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--x-claro-20); }
.nbx-assinatura .nb-assinatura { margin: 0 !important; opacity: 1 !important; font-size: 14px !important; line-height: 1.5; color: var(--x-claro-70); }
.nbx-assinatura .nb-assinatura a,
.nbx-assinatura .nb-assinatura strong { color: var(--x-branco); font-weight: 650; }
.nbx-materia__capa { margin: clamp(-24px, -2vw, -12px) auto 0; max-width: calc(1100px + 2 * var(--x-margem)); }
.nbx-materia__capa img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--x-raio); background: var(--x-creme); }
.nbx-materia__capa figcaption { margin-top: 8px; font-size: 13px; color: var(--x-mudo); }
.nbx-materia__corpo { max-width: calc(760px + 2 * var(--x-margem)); padding-block: clamp(32px, 5vw, 56px); }
.nbx-materia__texto { font-size: 19px; }
.nbx-materia__marca {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 32px 0 0;
	padding: 16px;
	border: 1px solid var(--x-regua);
	border-radius: var(--x-raio);
	background: var(--x-branco);
	color: var(--x-azul);
	text-decoration: none;
}
.nbx-materia__marca:hover { border-color: var(--x-azul); }
.nbx-materia__marca-logo { display: grid; place-items: center; flex: 0 0 96px; height: 56px; }
.nbx-materia__marca-logo .nbx-logo { max-width: 96px; max-height: 48px; width: auto; height: auto; }
.nbx-materia__marca-logo .nbx-logo-tipo { font-size: 16px; }
.nbx-materia__marca-rotulo { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--x-mudo); }
.nbx-materia__marca-nome { font-weight: 650; font-size: 18px; }
.nbx-materia__importa { margin-top: 32px; padding: 24px; border-radius: var(--x-raio); background: var(--x-creme); font-size: 17px; line-height: 1.6; }
.nbx-materia__importa h2,
.nbx-materia__fontes h2 { margin: 0 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--x-terra-texto); }
.nbx-materia__importa p { margin: 0 0 .8em; }
.nbx-materia__fontes { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--x-regua); font-size: 15px; line-height: 1.6; color: var(--x-tinta); }
.nbx-materia__fontes h2 { color: var(--x-mudo); }
.nbx-materia__fontes p { margin: 0 0 .8em; }
.nbx-materia__credito-final { font-size: 14px; color: var(--x-mudo); }
.nbx-materia__leia { padding-block: clamp(48px, 6vw, 80px); background: var(--x-creme); }
.nbx-materia__categorias { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 28px; }
.nbx-materia__categorias .nbx-filtro,
.nbx-lista-pagina__cats .nbx-filtro { text-decoration: none; }
.nbx-materia__categorias .nbx-filtro { border-color: var(--x-regua); color: var(--x-azul); }
.nbx-materia__categorias .nbx-filtro.is-ativo { background: var(--x-azul); color: var(--x-branco); border-color: var(--x-azul); }

/* Listagens (Atualidades, categoria, busca) */
.nbx-lista-pagina__abertura { background: var(--x-azul); color: var(--x-branco); padding: clamp(36px, 5vw, 72px) 0 clamp(28px, 4vw, 44px); }
.nbx-lista-pagina__titulo { margin: 0; font-size: clamp(36px, 5.2vw, 68px); line-height: 1.02; letter-spacing: -.035em; font-weight: 650; color: var(--x-branco); }
.nbx-lista-pagina__titulo em { font-style: normal; color: var(--x-claro-70); }
.nbx-lista-pagina__intro { margin-top: 14px; max-width: 58ch; color: var(--x-claro-70); font-size: 17px; line-height: 1.55; }
.nbx-lista-pagina__intro p { margin: 0; }
.nbx-lista-pagina__cats { justify-content: flex-start; margin: 24px 0 0; }
.nbx-lista-pagina__corpo { padding-block: clamp(36px, 5vw, 64px); }
.nbx-lista-pagina__apuracao { padding-block: clamp(40px, 5vw, 64px); background: var(--x-creme); }
.nbx-lista-pagina__apuracao .nbx-largura { max-width: calc(820px + 2 * var(--x-margem)); }

.nbx-paginacao { margin-top: 40px; }
.nbx-paginacao .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.nbx-paginacao .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--x-regua); border-radius: 999px; color: var(--x-azul); text-decoration: none; font-weight: 600; }
.nbx-paginacao .page-numbers.current { background: var(--x-azul); color: var(--x-branco); border-color: var(--x-azul); }
.nbx-paginacao .page-numbers.dots { border: 0; }

/* Busca e 404 */
.nbx-busca-pagina__form { max-width: 640px; margin-top: 24px; }
.nbx-busca-pagina__form input { border-color: transparent; }
.nbx-busca-pagina__grupo + .nbx-busca-pagina__grupo { margin-top: 48px; }
.nbx-busca-pagina__rotulo { margin: 0 0 18px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--x-mudo); font-weight: 650; }
.nbx-marcas--claro .nbx-marca__link { border: 1px solid var(--x-regua); }
.nbx-busca-pagina__lead { margin: 0 0 28px; max-width: 60ch; font-size: 18px; line-height: 1.55; }
.nbx-busca-pagina__dicas { margin: 0 0 28px; padding-left: 1.2em; display: grid; gap: 8px; font-size: 16px; line-height: 1.5; }
.nbx-busca-pagina__dicas a { color: var(--x-terra-texto); }
.nbx-busca-pagina__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 0; }
.nbx-404__abertura { padding-block: clamp(56px, 9vw, 120px); }
.nbx-404__codigo { margin: 0 0 8px; font-size: clamp(56px, 9vw, 120px); font-weight: 300; line-height: 1; letter-spacing: -.05em; color: var(--x-terra); }
.nbx-404__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin: 28px 0 0; }

/* Páginas institucionais (O projeto, Como fazemos, genérica) */
.nbx-inst__abertura { background: var(--x-azul); color: var(--x-branco); padding: clamp(48px, 7vw, 104px) 0 clamp(40px, 6vw, 80px); }
/* Alinhada à grade do site (mesma margem esquerda do logo), com largura de leitura. */
.nbx-inst__coluna > * { max-width: 860px; }
.nbx-inst__rotulo { margin: 0 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; font-weight: 650; color: var(--x-terra-texto); }
.nbx-inst__titulo { margin: 0; font-size: clamp(38px, 6vw, 80px); line-height: 1; letter-spacing: -.035em; font-weight: 650; color: var(--x-branco); }
.nbx-inst__intro { margin: 22px 0 0; font-size: clamp(19px, 1.9vw, 23px); line-height: 1.5; color: var(--x-claro-70); }
.nbx-inst__secao { padding-block: clamp(48px, 7vw, 96px); }
.nbx-inst__secao--creme { background: var(--x-creme); }
.nbx-inst__secao--azul { background: var(--x-azul); color: var(--x-branco); }
.nbx-inst__secao--azul .nbx-inst__h2 { color: var(--x-branco); }
.nbx-inst__secao--azul .nbx-inst__apoio,
.nbx-inst__secao--azul p { color: var(--x-claro-70); }
.nbx-inst__secao--azul h3 { color: var(--x-branco); }
.nbx-inst__secao--azul a { color: var(--x-branco); }
.nbx-inst__h2 { margin: 0; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.03em; font-weight: 650; color: var(--x-azul); }
.nbx-inst__h3 { margin: 0 0 10px; font-size: 22px; color: var(--x-azul); }
.nbx-inst__apoio { margin: 14px 0 0; max-width: 60ch; font-size: 18px; line-height: 1.55; color: var(--x-mudo); }
.nbx-inst__duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(24px, 5vw, 80px); align-items: start; }
.nbx-inst__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.nbx-inst__cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nbx-inst__card { display: block; padding: 24px; border-radius: var(--x-raio); background: var(--x-branco); border: 1px solid var(--x-regua); color: var(--x-tinta); text-decoration: none; }
.nbx-inst__card h3 { margin: 0 0 10px; font-size: 19px; color: var(--x-azul); letter-spacing: -.01em; }
.nbx-inst__card p { margin: 0; font-size: 16px; line-height: 1.55; }
.nbx-inst__card--link:hover { border-color: var(--x-azul); }
.nbx-inst__card--link h3 span { color: var(--x-terra-texto); }
.nbx-inst__lista { margin: 36px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 48px; }
.nbx-inst__lista li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; }
.nbx-inst__lista h3 { margin: 0 0 8px; font-size: 20px; }
.nbx-inst__lista p { margin: 0; font-size: 16px; line-height: 1.6; }
.nbx-inst__num { font-size: 34px; font-weight: 300; line-height: 1; color: var(--x-terra); letter-spacing: -.03em; }
.nbx-inst__nota { margin: 32px 0 0; font-size: 15px; }
.nbx-inst__nota a { border-bottom: 1px solid currentColor; text-decoration: none; }
.nbx-inst__passos { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nbx-inst__passos .nbx-inst__num { display: block; margin-bottom: 12px; }
.nbx-inst__passos h2,
.nbx-inst__passos h3 { margin: 0 0 8px; font-size: 20px; color: var(--x-azul); }
.nbx-inst__passos p { margin: 0; font-size: 16px; line-height: 1.6; }
.nbx-inst__niveis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(24px, 5vw, 64px); margin-top: clamp(40px, 5vw, 64px); padding-top: 32px; border-top: 1px solid var(--x-regua); }
.nbx-inst__niveis p { margin: 0; font-size: 17px; line-height: 1.6; }
.nbx-inst__niveis ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.nbx-inst__niveis li { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; align-items: center; font-size: 15px; line-height: 1.5; }
.nbx-selo--claro { background: var(--x-creme); color: var(--x-azul); justify-self: start; }
.nbx-selo--claro.nbx-selo--a-confirmar .nbx-selo__ponto,
.nbx-selo--claro.nbx-selo--baixa-confirmacao .nbx-selo__ponto { border-color: var(--x-mudo); }
.nbx-inst__convite { padding-block: clamp(56px, 8vw, 112px); background: var(--x-tinta); color: var(--x-branco); }
.nbx-inst__convite .nbx-inst__h2 { color: var(--x-branco); }
.nbx-inst__convite p { color: var(--x-claro-70); font-size: 18px; line-height: 1.6; }
.nbx-inst__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 28px; }

@media (max-width: 1050px) {
	.nbx-inst__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nbx-inst__duas,
	.nbx-inst__niveis { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.nbx-materia__capa { margin-top: 0; padding-inline: 0; }
	.nbx-materia__capa img { border-radius: 0; }
	.nbx-materia__capa figcaption { padding-inline: var(--x-margem); }
	.nbx-materia__texto { font-size: 18px; }
	.nbx-lista-pagina__cats { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--x-margem)); padding-inline: var(--x-margem); }
	.nbx-lista-pagina__cats .nbx-filtro { flex: 0 0 auto; }
	.nbx-inst__cards,
	.nbx-inst__cards--2,
	.nbx-inst__lista,
	.nbx-inst__passos { grid-template-columns: 1fr; }
	.nbx-inst__niveis li { grid-template-columns: 1fr; gap: 4px; }
}

/* Entrega 4: em telas de celular os 4 itens do menu cabem sem rolar (antes "Como fazemos" ficava cortado). */
@media (max-width: 480px) {
	.nbx-nav { justify-content: space-between; gap: 0; }
	.nbx-nav__item { padding: 8px 6px; font-size: 13.5px; white-space: nowrap; }
}
@media (max-width: 350px) {
	.nbx-nav__item { padding: 8px 4px; font-size: 12.5px; }
}
