/*
 * rsg-pages.css — the minimal, theme-free shell for network-root pages (NWB-RSG-003).
 * Mobile-first, readable measure, AA contrast (#1a1a1a on #fff = 17:1, #0b3d91 on #fff = 10.6:1).
 */
body.nwb-rsg-page {
	margin: 0;
	background: #fff;
	color: #1a1a1a;
	font: 18px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.nwb-rsg-skip {
	position: absolute;
	left: 8px;
	top: -100px;
	z-index: 10000;
	padding: 12px 16px;
	background: #fff;
	color: #0b3d91;
	font-weight: 600;
}

.nwb-rsg-skip:focus {
	top: 8px;
}

.nwb-rsg-header,
.nwb-rsg-main,
.nwb-rsg-footer {
	box-sizing: border-box;
	max-width: 46rem;
	margin: 0 auto;
	padding: 0 16px;
}

.nwb-rsg-brand {
	margin: 16px 0;
	font-weight: 700;
}

.nwb-rsg-page a {
	color: #0b3d91;
	text-decoration: underline;
}

.nwb-rsg-page a:focus-visible,
.nwb-rsg-main:focus-visible {
	outline: 3px solid #1a1a1a;
	outline-offset: 2px;
}

.nwb-rsg-main:focus {
	outline: none;
}

.nwb-rsg-main h1 {
	margin: 16px 0;
	font-size: 2rem;
	line-height: 1.2;
}

.nwb-rsg-main h2 {
	margin: 32px 0 8px;
	font-size: 1.4rem;
	line-height: 1.3;
}

.nwb-rsg-main li {
	margin-bottom: 8px;
}

.nwb-rsg-lede {
	font-size: 1.1rem;
}

.nwb-rsg-footer {
	margin-top: 48px;
	padding-top: 16px;
	padding-bottom: 32px;
	border-top: 1px solid #767676;
}

.nwb-rsg-footer a {
	display: inline-block;
	min-height: 44px;
	padding: 10px 8px;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	body.nwb-rsg-page {
		font-size: 19px;
	}

	.nwb-rsg-main h1 {
		font-size: 2.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.nwb-rsg-page * {
		animation: none !important;
		transition: none !important;
	}
}
