/* 10-foundation.css — base type + focus + media, scoped to .aic-page.
   Consumes tokens from 00-tokens.css only. */

.aic-page {
	font-family: var(--aic-font-body);
	font-size: var(--aic-fs-body);
	line-height: var(--aic-lh-body);
	color: var(--aic-text);
	background: var(--aic-bg);
	-webkit-text-size-adjust: 100%;
}

.aic-page h1,
.aic-page h2,
.aic-page h3,
.aic-page h4 {
	font-family: var(--aic-font);
	line-height: var(--aic-lh-tight);
	color: var(--aic-ink);
	margin: 0 0 var(--aic-space-3);
	text-wrap: balance;
}

.aic-page h1 { font-size: var(--aic-fs-h1); font-weight: 800; }
.aic-page h2 { font-size: var(--aic-fs-h2); font-weight: 700; }
.aic-page h3 { font-size: var(--aic-fs-h3); font-weight: 700; }
.aic-page h4 { font-size: var(--aic-fs-body); font-weight: 700; }

.aic-page p,
.aic-page ul,
.aic-page ol {
	margin: 0 0 var(--aic-space-3);
}

.aic-page a {
	color: var(--aic-link);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
	transition: color var(--aic-dur-fast) var(--aic-easing);
}

.aic-page a:hover { color: var(--aic-link-hover); }

.aic-page ::selection {
	background: var(--aic-navy);
	color: var(--aic-on-dark);
}

.aic-page img,
.aic-page video,
.aic-page iframe {
	max-width: 100%;
	height: auto;
}

.aic-page :focus-visible {
	outline: none;
	box-shadow: var(--aic-focus-ring);
	border-radius: var(--aic-radius-btn);
}

/* Anchor targets clear the fixed header */
.aic-page [id] {
	scroll-margin-top: var(--aic-anchor-offset);
}

/* Skip link: hidden until keyboard focus */
.aic-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	padding: var(--aic-space-2) var(--aic-space-3);
	background: var(--aic-navy);
	color: var(--aic-on-dark) !important;
	border-radius: 0 0 var(--aic-radius) 0;
	font-family: var(--aic-font);
	font-weight: 700;
}

.aic-skip-link:focus-visible {
	left: 0;
	position: fixed;
}
