/* Base: tipografia, container, layout primitives, a11y. */

html { -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--nws-font-sans);
	font-size: var(--nws-fs-16);
	line-height: 1.55;
	color: var(--nws-ink-900);
	background: var(--nws-paper);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
	font-family: var(--nws-font-serif);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--nws-ink-950);
	text-wrap: balance;
}
h1 { font-size: var(--nws-fs-headline-h1); }
h2 { font-size: var(--nws-fs-32); font-weight: 700; }
h3 { font-size: var(--nws-fs-24); font-weight: 700; }
h4 { font-size: var(--nws-fs-20); font-weight: 700; }

a { color: var(--nws-brand-700); transition: color .15s; }
a:hover { color: var(--nws-breaking-600); }

p { margin-block: 0 1em; }
p:last-child { margin-block-end: 0; }

::selection { background: var(--nws-ink-950); color: var(--nws-paper); }

.nws-container {
	max-width: var(--nws-container);
	margin-inline: auto;
	padding-inline: 16px;
}
@media (min-width: 768px) { .nws-container { padding-inline: 24px; } }

.nws-grid-2col {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--nws-gap-lg);
	padding-block: var(--nws-gap-lg);
}
@media (min-width: 1024px) {
	.nws-grid-2col { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; }
}

.nws-skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--nws-ink-950); color: #fff; padding: 12px 18px;
	z-index: 9999;
	font-family: var(--nws-font-sans); font-weight: 700; font-size: 13px;
}
.nws-skip-link:focus { left: 0; }

.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}

.nws-only-mobile { display: inline-flex; }
.nws-only-desktop { display: none; }
@media (min-width: 1024px) {
	.nws-only-mobile  { display: none; }
	.nws-only-desktop { display: inline; }
}

.nws-main { display: block; }
