/* =============================================================
   Tipografia
   ============================================================= */

body {
	font-family: var(--fonte);
	font-size: var(--t-base);
	line-height: var(--altura-texto);
	color: var(--c-texto);
	background-color: var(--c-fundo);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	line-height: var(--altura-titulo);
	font-weight: var(--peso-forte);
	color: var(--c-texto-forte);
	text-wrap: balance;
}

h1 { font-size: var(--t-2xl); }
h2 { font-size: var(--t-xl); }
h3 { font-size: var(--t-lg); }
h4 { font-size: var(--t-md); }

p {
	text-wrap: pretty;
}

a {
	color: var(--c-apoio);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color var(--transicao);
}

a:hover {
	color: var(--c-acao);
}

strong {
	font-weight: var(--peso-medio);
}

small {
	font-size: var(--t-sm);
}

/* Foco visível e uniforme em tudo que recebe teclado. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--c-foco);
	outline-offset: 2px;
	border-radius: var(--raio-sm);
}

/* Texto lido por leitor de tela, invisível na tela. */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Pular para o conteúdo: aparece somente ao receber foco. */
.pular {
	position: absolute;
	top: var(--e-2);
	left: var(--e-2);
	z-index: 100;
	padding: var(--e-3) var(--e-4);
	background: var(--c-acao);
	color: var(--c-texto-inverso);
	font-weight: var(--peso-medio);
	text-decoration: none;
	border-radius: var(--raio);
	transform: translateY(-250%);
	transition: transform var(--transicao);
}

.pular:focus {
	transform: translateY(0);
	color: var(--c-texto-inverso);
}
