@font-face {
	font-family: "General Sans";
	src: url("/fonts/GeneralSans-Regular-a5eb56832538386e4770b5527d4fb89e.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "General Sans";
	src: url("/fonts/GeneralSans-Medium-44306bd3e67061e7939501b40bfad498.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "General Sans";
	src: url("/fonts/GeneralSans-Bold-3ecba833c280ea8b51aea3fb58cd582e.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	color-scheme: light;
	--navy: #06224b;
	--navy-deep: #031735;
	--gold: #f1b50f;
	--ink: #172033;
	--muted: #5c667a;
	--line: #e3e8ef;
	--paper: #ffffff;
	--canvas: #f5f7fa;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--canvas);
	color: var(--ink);
	font-family: "General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.policy-header {
	background: var(--navy);
	color: #ffffff;
	border-bottom: 4px solid var(--gold);
}

.header-inner,
.policy-main,
.footer-inner {
	width: min(100% - 40px, 860px);
	margin: 0 auto;
}

.header-inner {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 78px;
}

.brand-logo {
	display: block;
	width: 46px;
	height: 46px;
	object-fit: contain;
}

.brand-name {
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.policy-main {
	padding: 56px 0 64px;
}

.policy-card {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 20px;
	box-shadow: 0 18px 50px rgba(6, 34, 75, 0.08);
	overflow: hidden;
}

.policy-intro,
.policy-content {
	padding-right: clamp(24px, 6vw, 64px);
	padding-left: clamp(24px, 6vw, 64px);
}

.policy-intro {
	padding-top: clamp(36px, 7vw, 64px);
	padding-bottom: 34px;
	background: linear-gradient(135deg, rgba(6, 34, 75, 0.035), rgba(241, 181, 15, 0.09));
	border-bottom: 1px solid var(--line);
}

.eyebrow {
	margin: 0 0 10px;
	color: var(--navy);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

h1,
h2,
p {
	margin-top: 0;
}

h1 {
	margin-bottom: 12px;
	color: var(--navy-deep);
	font-size: clamp(2.15rem, 7vw, 3.5rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.effective-date {
	margin-bottom: 22px;
	color: var(--muted);
	font-size: 0.94rem;
	font-weight: 500;
}

.summary {
	max-width: 700px;
	margin-bottom: 0;
	font-size: 1.05rem;
}

.policy-content {
	padding-top: 18px;
	padding-bottom: clamp(36px, 7vw, 64px);
}

.policy-section {
	padding-top: 34px;
}

.policy-section + .policy-section {
	margin-top: 34px;
	border-top: 1px solid var(--line);
}

h2 {
	margin-bottom: 14px;
	color: var(--navy-deep);
	font-size: 1.28rem;
	line-height: 1.35;
}

p:last-child,
ul:last-child {
	margin-bottom: 0;
}

ul {
	margin-top: 12px;
	margin-bottom: 0;
	padding-left: 1.35rem;
}

li + li {
	margin-top: 8px;
}

li::marker {
	color: var(--gold);
}

a {
	color: var(--navy);
	font-weight: 600;
	text-decoration-color: var(--gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

a:hover,
a:focus-visible {
	color: #8b6500;
}

a:focus-visible {
	outline: 3px solid rgba(241, 181, 15, 0.45);
	outline-offset: 4px;
}

.policy-footer {
	background: var(--navy-deep);
	color: rgba(255, 255, 255, 0.76);
}

.footer-inner {
	padding: 25px 0;
	font-size: 0.88rem;
	text-align: center;
}

@media (max-width: 600px) {
	.header-inner,
	.policy-main,
	.footer-inner {
		width: min(100% - 28px, 860px);
	}

	.header-inner {
		min-height: 68px;
	}

	.brand-logo {
		width: 40px;
		height: 40px;
	}

	.policy-main {
		padding: 24px 0 36px;
	}

	.policy-card {
		border-radius: 15px;
	}

	.policy-section,
	.policy-section + .policy-section {
		padding-top: 28px;
		margin-top: 28px;
	}
}

@media print {
	body {
		background: #ffffff;
	}

	.policy-header,
	.policy-footer {
		display: none;
	}

	.policy-main {
		width: 100%;
		padding: 0;
	}

	.policy-card {
		border: 0;
		box-shadow: none;
	}
}
