@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap");

/* Legal / policy pages (Terms, Privacy) */

.em-legal-page {
	--en-ink: #24324a;
	--en-muted: #4f5f78;
	--en-navy: #15233f;
	--en-blue: #1a73e8;
	--en-subhead: #6b778c;
	padding-top: var(--en-header-h, 48px) !important;
	padding-bottom: calc(var(--en-footer-h, 32px) + 24px) !important;
	min-height: 100vh;
	background:
		radial-gradient(1200px 420px at 12% -10%, rgba(26, 115, 232, 0.10), transparent 60%),
		linear-gradient(180deg, #eef5ff 0%, #f7fbff 40%, #ffffff 100%) !important;
	font-family: "IBM Plex Sans", "Segoe UI", Arial, sans-serif !important;
	color: var(--en-ink) !important;
	box-sizing: border-box;
}

body.host_version.en-home-body .em-legal-page h1,
body.host_version.en-home-body .em-legal-page h2,
body.host_version.en-home-body .em-legal-page h3 {
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1.25 !important;
}

.em-legal-wrap {
	width: min(100%, 1080px);
	margin: 0 auto;
	padding: 40px 24px 56px;
	box-sizing: border-box;
}

.em-legal-hero {
	text-align: center;
	margin: 0 0 28px;
}

.em-legal-kicker {
	margin: 0 0 10px !important;
	color: var(--en-blue) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.em-legal-title {
	margin: 0 0 10px !important;
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
	font-size: clamp(1.8rem, 3.2vw, 2.35rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
	color: var(--en-navy) !important;
}

.em-legal-title .em-pro-accent {
	color: var(--en-blue) !important;
}

.em-legal-lead {
	margin: 0 auto !important;
	max-width: 34rem;
	color: var(--en-muted) !important;
	font-size: 1.02rem !important;
	line-height: 1.55 !important;
	font-weight: 400 !important;
}

.em-legal-card {
	background: #fff;
	border: 1px solid #e2eaf5;
	border-radius: 18px;
	padding: 32px 28px 36px;
	box-shadow: 0 10px 28px rgba(21, 35, 63, 0.05);
	box-sizing: border-box;
}

.em-legal-section + .em-legal-section {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid #eef2f8;
}

.em-legal-section h2 {
	margin: 0 0 12px !important;
	font-family: "IBM Plex Sans", "Segoe UI", sans-serif !important;
	font-size: 1.12rem !important;
	font-weight: 700 !important;
	color: var(--en-navy) !important;
}

.em-legal-section p {
	margin: 0 0 14px !important;
	color: var(--en-muted) !important;
	font-size: 0.96rem !important;
	line-height: 1.65 !important;
	font-weight: 400 !important;
	text-align: left !important;
}

.em-legal-section p:last-child {
	margin-bottom: 0 !important;
}

.em-legal-list {
	margin: 0 0 14px !important;
	padding: 0 0 0 1.25rem !important;
	list-style: disc !important;
}

.em-legal-list li {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--en-muted) !important;
	font-size: 0.96rem !important;
	line-height: 1.6 !important;
}

.em-legal-list li:last-child {
	margin-bottom: 0 !important;
}

.em-legal-note {
	margin-top: 4px !important;
	padding: 14px 16px !important;
	border-radius: 12px !important;
	background: #f7fbff !important;
	border: 1px solid #e2eaf5 !important;
	color: var(--en-navy) !important;
	font-size: 0.94rem !important;
	font-weight: 500 !important;
}

.em-legal-footer-links {
	margin-top: 20px;
	text-align: center;
	font-size: 0.9rem;
	color: var(--en-subhead) !important;
}

.em-legal-page a.em-legal-footer-links-link,
.em-legal-page .em-legal-footer-links a {
	color: var(--en-blue) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.em-legal-page a.em-legal-footer-links-link:hover,
.em-legal-page .em-legal-footer-links a:hover {
	text-decoration: underline !important;
}

@media (max-width: 640px) {
	.em-legal-wrap {
		padding: 28px 16px 48px;
	}

	.em-legal-card {
		padding: 24px 18px 28px;
	}
}
