/**
 * DEV-5.21 informational/legal pages.
 * Deliberately text-first: no hero, no decorative media, no oversized type.
 */

.am-shell-main--legal {
	background: color-mix(in srgb, var(--am-color-background) 94%, var(--am-color-primary) 6%);
}

.am-legal-page {
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.am-legal-page__container {
	width: min(100% - (2 * var(--am-gutter)), var(--am-legal-content-width, 860px));
}

.am-legal-page__header {
	display: grid;
	gap: .8rem;
}

.am-legal-page__header h1 {
	margin: 0;
	max-width: none;
	font-family: var(--am-font-display);
	font-size: clamp(2.35rem, 4.2vw, 3.6rem);
	font-weight: 500;
	line-height: .98;
	letter-spacing: -.025em;
}

.am-legal-page__updated {
	margin: 0;
	color: color-mix(in srgb, var(--am-color-text) 64%, transparent);
	font-size: .84rem;
	line-height: 1.45;
}

.am-legal-page__updated span {
	font-weight: 700;
}

.am-legal-page__divider {
	width: 100%;
	height: 1px;
	margin-block: clamp(1.5rem, 3vw, 2.4rem);
	background: color-mix(in srgb, var(--am-color-primary) 36%, transparent);
}

.am-legal-page__content {
	color: color-mix(in srgb, var(--am-color-text) 92%, transparent);
	font-size: clamp(.98rem, 1.2vw, 1.07rem);
	line-height: 1.78;
}

.am-legal-page__content > :first-child {
	margin-top: 0;
}

.am-legal-page__content > :last-child {
	margin-bottom: 0;
}

.am-legal-page__content :where(p, ul, ol, blockquote, table) {
	max-width: none;
	margin-bottom: 1.2em;
}

.am-legal-page__content :where(h2, h3, h4) {
	margin: 2em 0 .7em;
	color: var(--am-color-text);
	font-family: var(--am-font-display);
	font-weight: 500;
	line-height: 1.12;
}

.am-legal-page__content h2 {
	font-size: clamp(1.7rem, 2.4vw, 2.25rem);
}

.am-legal-page__content h3 {
	font-size: clamp(1.35rem, 1.8vw, 1.7rem);
}

.am-legal-page__content h4 {
	font-size: 1.15rem;
}

.am-legal-page__content :where(ul, ol) {
	padding-left: 1.35rem;
}

.am-legal-page__content li + li {
	margin-top: .35rem;
}

.am-legal-page__content a {
	font-weight: 650;
}

.am-legal-page__content blockquote {
	padding: 1rem 1.2rem;
	border-left: 2px solid var(--am-color-primary);
	background: color-mix(in srgb, var(--am-color-primary) 7%, transparent);
}

.am-legal-page__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: .94em;
}

.am-legal-page__content :where(th, td) {
	padding: .75rem;
	border: 1px solid color-mix(in srgb, var(--am-color-primary) 24%, transparent);
	text-align: left;
	vertical-align: top;
}

@media (max-width: 47.99rem) {
	.am-legal-page {
		padding-block: 2.4rem 3.4rem;
	}

	.am-legal-page__header h1 {
		font-size: clamp(2.15rem, 10vw, 2.9rem);
	}

	.am-legal-page__content {
		line-height: 1.7;
	}
}
