/**
 * Legal pages (Privacy / Terms) — Contact-style resource hero + prose body.
 */

.bw-main--legal {
	padding-top: 0;
	padding-bottom: 0;
}

.bw-legal {
	margin-bottom: 0 !important;
}

.bw-legal-hero {
	margin-bottom: 0 !important;
	text-align: left;
}

.bw-legal-hero__title {
	max-width: 14ch;
}

.bw-legal-hero__lead {
	max-width: 36rem;
}

.bw-legal__body {
	padding: clamp(36px, 5vw, 64px) 0 clamp(64px, 8vw, 96px);
	background: var(--brand-bg);
}

.bw-legal__content {
	max-width: 46rem;
}

.bw-legal__content > :first-child {
	margin-top: 0;
}

.bw-legal__content h2,
.bw-legal__content h3,
.bw-legal__content h4,
.bw-legal__content h5,
.bw-legal__content h6 {
	margin: 2em 0 0.75em;
	color: var(--brand-navy);
	font-family: var(--font-family);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.bw-legal__content h2 {
	font-size: clamp(1.35rem, 2vw, 1.6rem);
}

.bw-legal__content h3 {
	font-size: clamp(1.2rem, 1.7vw, 1.35rem);
}

.bw-legal__content h4,
.bw-legal__content h5,
.bw-legal__content h6 {
	font-size: 1.05rem;
}

.bw-legal__content p,
.bw-legal__content li {
	color: var(--bw-body);
	font-size: 16px;
	line-height: 1.7;
}

.bw-legal__content p {
	margin: 0 0 1em;
}

.bw-legal__content ul {
	margin: 0 0 1.25em;
	padding-left: 1.25em;
}

.bw-legal__content li {
	margin: 0.35em 0;
}

.bw-legal__content a {
	color: var(--brand-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bw-legal__content a:hover {
	color: var(--brand-primary-hover);
}

.bw-legal__content blockquote {
	margin: 1.25em 0;
	padding: 12px 16px;
	border-left: 3px solid var(--brand-primary-border);
	background: var(--bw-surface-soft);
	border-radius: 0 var(--radius-md, 10px) var(--radius-md, 10px) 0;
}

.bw-legal__content blockquote p {
	margin: 0;
}

.bw-legal__table {
	width: 100%;
	margin: 1.25em 0 1.75em;
	border-collapse: collapse;
	font-size: 14.5px;
	line-height: 1.5;
}

.bw-legal__table th,
.bw-legal__table td {
	padding: 12px 14px;
	border: 1px solid var(--brand-border);
	text-align: left;
	vertical-align: top;
}

.bw-legal__table th {
	background: var(--bw-surface-soft);
	color: var(--brand-navy);
	font-weight: 600;
}

@media (max-width: 720px) {
	.bw-legal-hero__title {
		max-width: none;
	}

	.bw-legal__table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
