/* Shared "Legal Page" pattern — Privacy Policy & Terms of Use */

.pg-legal-hero {
	background: radial-gradient(130% 120% at 84% -10%, #16294C 0%, #0E1B3A 42%, #0A1430 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #0A1430;
	width: 100%;
}

.pg-legal-hero-glow {
	position: absolute;
	top: -160px;
	right: -120px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(203,14,42,.26), transparent 62%);
	filter: blur(20px);
	pointer-events: none;
}

.pg-legal-hero-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(120% 100% at 50% 0%, #000 40%, transparent 78%);
	-webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 40%, transparent 78%);
	pointer-events: none;
}

.pg-legal-hero-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 64px 64px 60px;
	position: relative;
}

.pg-legal-breadcrumb {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	font: 500 12.5px/1 'Hanken Grotesk', sans-serif;
	color: #8FA0BE;
}

.pg-legal-breadcrumb a {
	color: #8FA0BE;
	text-decoration: none;
}

.pg-legal-breadcrumb a:hover {
	color: #fff;
}

.pg-legal-breadcrumb .sep {
	opacity: .5;
}

.pg-legal-breadcrumb .mid {
	color: #C6CEDD;
}

.pg-legal-breadcrumb .cur {
	color: #fff;
}

.pg-legal-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	padding: 8px 15px;
	border-radius: 4px;
	margin-bottom: 26px;
}

.pg-legal-eyebrow span {
	font: 500 12.5px/1 'Hanken Grotesk', sans-serif;
	letter-spacing: .12em;
	color: #C6CEDD;
}

.pg-legal-h1 {
	font: 700 56px/1.04 'Bricolage Grotesque', sans-serif !important;
	letter-spacing: -0.028em;
	margin: 0 0 22px !important;
	max-width: 780px;
	color: #fff !important;
}

.pg-legal-subhead {
	font: 400 18.5px/1.6 'Hanken Grotesk', sans-serif !important;
	color: #B8C0D2 !important;
	max-width: 700px;
	margin: 0 0 32px !important;
}

.pg-legal-meta-row {
	display: flex;
	gap: 36px;
	flex-wrap: wrap;
}

.pg-legal-meta-label {
	display: block;
	font: 600 11.5px/1 'Hanken Grotesk', sans-serif;
	letter-spacing: .12em;
	color: #7E8AA2;
	margin-bottom: 8px;
}

.pg-legal-meta-value {
	display: block;
	font: 600 15px/1 'Hanken Grotesk', sans-serif;
	color: #fff;
}

.pg-legal-body {
	max-width: 1240px;
	margin: 0 auto;
	padding: 64px 64px 96px;
	display: grid;
	grid-template-columns: 248px 1fr;
	gap: 64px;
	align-items: start;
}

.pg-legal-toc {
	position: sticky;
	top: 96px;
}

.pg-legal-toc-label {
	font: 600 12px/1 'Hanken Grotesk', sans-serif;
	letter-spacing: .14em;
	color: #9097A4;
	margin-bottom: 16px;
}

.pg-legal-toc nav {
	display: flex;
	flex-direction: column;
}

.pg-legal-toc nav a {
	font: 600 13px/1.3 'Hanken Grotesk', sans-serif;
	color: #6A7080;
	text-decoration: none;
	padding: 7px 0;
	border-left: 2px solid #E4E7EC;
	padding-left: 12px;
	margin-left: -13px;
}

.pg-legal-toc nav a:hover,
.pg-legal-toc nav a.is-active {
	color: var(--wp--preset--color--brand-red);
	border-left-color: var(--wp--preset--color--brand-red);
}

.pg-legal-crosslink {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 24px;
	padding: 14px 16px;
	background: var(--wp--preset--color--section-light);
	border: 1px solid var(--wp--preset--color--card-border);
	border-radius: 12px;
	text-decoration: none;
	color: var(--wp--preset--color--ink-heading);
	font: 600 12.5px/1.3 'Hanken Grotesk', sans-serif;
	transition: border-color .16s ease;
}

.pg-legal-crosslink:hover {
	border-color: var(--wp--preset--color--brand-red);
}

.pg-legal-glance {
	background: var(--wp--preset--color--section-light);
	border: 1px solid var(--wp--preset--color--card-border);
	border-left: 3px solid var(--wp--preset--color--brand-red);
	border-radius: 3px;
	padding: 24px 28px;
	margin-bottom: 48px;
}

.pg-legal-glance-label {
	font: 700 13px/1 'Hanken Grotesk', sans-serif;
	letter-spacing: .1em;
	color: var(--wp--preset--color--brand-red);
	margin-bottom: 12px;
}

.pg-legal-glance p {
	margin: 0;
	font: 400 14.5px/1.65 'Hanken Grotesk', sans-serif;
	color: var(--wp--preset--color--ink-body-muted);
}

.pg-legal-content {
	max-width: 760px;
}

.pg-legal-section {
	margin-bottom: 44px;
	scroll-margin-top: 96px;
}

.pg-legal-secnum {
	font: 700 12px/1 'Hanken Grotesk', sans-serif;
	letter-spacing: .1em;
	color: var(--wp--preset--color--brand-red);
	margin-bottom: 10px;
}

.pg-legal-section h3 {
	font: 700 22px/1.3 'Bricolage Grotesque', sans-serif;
	color: var(--wp--preset--color--ink-heading);
	margin: 0 0 14px;
}

.pg-legal-section p,
.pg-legal-section li {
	font: 400 15px/1.75 'Hanken Grotesk', sans-serif;
	color: var(--wp--preset--color--ink-body-muted);
}

.pg-legal-section ul {
	padding-left: 20px;
}

.pg-legal-section li {
	margin-bottom: 8px;
}

@media (max-width: 900px) {
	.pg-legal-body {
		grid-template-columns: 1fr;
	}
	.pg-legal-toc {
		position: static;
	}
}

.pg-legal-contact-card {
	background: var(--wp--preset--color--section-light);
	border: 1px solid var(--wp--preset--color--card-border);
	border-radius: 3px;
	padding: 26px 30px;
	margin-top: 6px;
}

.pg-legal-contact-name {
	font: 700 16px/1.3 'Bricolage Grotesque', sans-serif;
	color: var(--wp--preset--color--ink-heading);
	margin-bottom: 10px;
}

.pg-legal-contact-details {
	font: 400 14.5px/1.85 'Hanken Grotesk', sans-serif;
	color: var(--wp--preset--color--ink-body-muted);
}

.pg-legal-contact-details strong {
	color: var(--wp--preset--color--ink-heading);
}

.pg-legal-caps {
	font: 700 13.5px/1.7 'Hanken Grotesk', sans-serif;
	color: #14161E;
	text-transform: uppercase;
	letter-spacing: .01em;
}

/* ---------- Mobile-only section padding ----------
   560px is intentionally narrower than the 900px tablet-collapse tier above, so this never fires on
   tablets or larger. .pg-legal-hero-inner and .pg-legal-body (the generic content wrapper both Privacy
   Policy and Terms of Use share) get the full padding swap to 40px/30px per instruction, so hero and
   body align. !important guards against inline per-section padding. */
@media (max-width: 560px) {
	.pg-legal-hero-inner { padding: 40px 30px !important; }
	.pg-legal-body { padding: 40px 30px !important; }
}
