:root {
	--brand-300: #7FD2F5;
	--brand-500: #2D9CDB;
	--brand-600: #1E88C7;
	--brand-700: #1769a0;
	--ink: #0F1B2D;
	--ink-soft: #33445c;
	--muted: #6b7c93;
	--bg: #f6f9fc;
	--card: #ffffff;
	--line: #e7eef5;
	--shadow-sm: 0 4px 16px rgba(20, 60, 100, .08);
	--shadow-md: 0 14px 40px rgba(20, 60, 100, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--ink-soft);
	background: var(--bg);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: var(--brand-600); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { width: 100%; max-width: 820px; margin: 0 auto; padding: 0 24px; }

/* Top bar */
.topbar {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, .85);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--line);
}
.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 66px;
}
.brand { display: flex; align-items: center; gap: .6rem; color: var(--ink); }
.brand img { width: 36px; height: 36px; border-radius: 9px; box-shadow: var(--shadow-sm); }
.brand span { font-weight: 800; letter-spacing: -.02em; }
.back-link { font-weight: 600; color: var(--brand-600); font-size: .95rem; }

/* Hero header */
.policy-hero {
	background: linear-gradient(135deg, #56CCF2 0%, var(--brand-500) 55%, var(--brand-700) 100%);
	color: #fff;
	padding: 56px 0 64px;
	text-align: center;
}
.policy-hero h1 {
	font-size: clamp(2rem, 4.5vw, 2.8rem);
	font-weight: 900;
	letter-spacing: -.02em;
	margin: 0 0 .5rem;
}
.policy-hero .eff {
	display: inline-block;
	font-size: .9rem;
	font-weight: 600;
	background: rgba(255,255,255,.2);
	padding: .35rem .9rem;
	border-radius: 999px;
}

/* Content card */
.policy-card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 22px;
	box-shadow: var(--shadow-md);
	padding: 44px clamp(24px, 5vw, 56px);
	margin: -36px 0 64px;
}

.policy-card h1 { display: none; } /* title shown in hero */
.policy-card h2 {
	color: var(--ink);
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -.01em;
	margin: 2.4rem 0 .8rem;
	padding-top: 1.4rem;
	border-top: 1px solid var(--line);
}
.policy-card > h2:first-of-type,
.policy-card .lead-summary + h2 { }
.policy-card h3 {
	color: var(--ink);
	font-size: 1.15rem;
	font-weight: 700;
	margin: 1.6rem 0 .4rem;
}
.policy-card h4 {
	color: var(--ink);
	font-size: 1rem;
	font-weight: 700;
	margin: 1.2rem 0 .3rem;
}
.policy-card p { margin: 0 0 1rem; }
.policy-card ul { margin: 0 0 1.2rem; padding-left: 1.2rem; }
.policy-card li { margin: .35rem 0; }
.policy-card li > p { margin: .2rem 0; }
.policy-card strong { color: var(--ink); }

.intro {
	font-size: 1.08rem;
	color: var(--ink-soft);
}

/* Footer */
.policy-footer {
	background: #0f1b2d;
	color: #8295ab;
	text-align: center;
	padding: 36px 0;
	font-size: .9rem;
}
.policy-footer a { color: var(--brand-300); }
.policy-footer .links { margin-bottom: 10px; display: flex; gap: 1.4rem; justify-content: center; flex-wrap: wrap; }
.policy-footer .links a { color: #c7d3e2; font-weight: 500; }

@media (max-width: 520px) {
	.policy-card { padding: 30px 22px; margin-top: -28px; }
	.back-link span { display: none; }
}
