.ed-policy {
	--pol-band:#E9E2D2;
	--pol-accent:#B0381C;
	--pol-label:#8A8172;
	--pol-hair:#E1D8C4;
	--pol-hair2:#D3C8B0;
	--pol-rule:#D8CDB6;
	--pol-ink:#1C1A16;
	--pol-body:#2B2822;
	--pol-body2:#3E3B33;
	--pol-wrap:1240px;
}

.ed-policy .ed-wrap { max-width:calc(var(--pol-wrap) + var(--gutter) * 2); }

.pol-rail,
.pol-rail__inner,
.pol-rail__inner > summary,
.pol-rail__label,
.pol-toc,
.pol-toc li,
.pol-toc a {
	touch-action:manipulation;
}

@media (prefers-reduced-motion:no-preference) {
	:root:has(body.ed-policy),
	body.ed-policy { scroll-behavior:smooth; }
}

.pol-head { padding:38px 0 32px; }

.pol-crumb {
	display:flex;
	align-items:center;
	gap:10px;
	font:700 10px/1 var(--f-body), Arial, sans-serif;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--pol-label);
}
.pol-crumb a { color:var(--pol-label); }
.pol-crumb a:hover { color:var(--pol-accent); }

.pol-head__col { max-width:780px; }
.pol-head__title {
	font:400 64px/1.02 var(--f-display), Georgia, serif;
	letter-spacing:-.026em;
	margin:14px 0 0;
	text-wrap:pretty;
}
.pol-head__dek {
	font:400 26px/1.3 var(--f-display), Georgia, serif;
	letter-spacing:-.012em;
	color:var(--pol-ink);
	margin:18px 0 0;
	text-wrap:pretty;
}

.pol-summary {
	background:var(--pol-band);
	padding:22px 24px;
	margin-top:26px;
	max-width:640px;   
}
.pol-summary p {
	font:400 16px/1.55 var(--f-display), Georgia, serif;
	color:var(--pol-body2);
	margin:0 0 12px;
	text-wrap:pretty;
}
.pol-summary p:last-child { margin-bottom:0; }

.pol-grid {
	display:grid;
	grid-template-columns:250px minmax(0,780px);
	gap:56px;
	padding:12px 0 0;
}

.pol-rail { align-self:start; }

.pol-rail { margin-top:calc(34px * 1.08 + 14px); }

.pol-rail__inner {
	position:sticky;
	top:22px;
	padding-top:10px;
	border-top:2px solid var(--pol-ink);
	
	max-height:calc(100vh - 44px);
	overflow-y:auto;
}

@media (min-width:901px) {
	.pol-rail__inner > .pol-toc {
		display:block !important;
		content-visibility:visible !important;
	}
	.pol-rail__inner::details-content {
		content-visibility:visible;
		display:block;
		block-size:auto;
	}
}
.pol-rail__inner > summary { list-style:none; cursor:default; }
.pol-rail__inner > summary::-webkit-details-marker { display:none; }
.pol-rail__chev { display:none; }

.pol-rail__now { display:none; }

.pol-rail__label {
	display:flex;
	align-items:center;
	justify-content:space-between;
	font:700 10px/1 var(--f-body), Arial, sans-serif;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--pol-label);
	margin:0;
}
.pol-toc {
	list-style:none;
	margin:12px 0 0;
	padding:0;
	counter-reset:pol;
	font:400 13.5px/1.3 var(--f-body), Arial, sans-serif;
}
.pol-toc li { counter-increment:pol; }
.pol-toc a {
	display:flex;
	gap:9px;
	padding:7px 0;
	color:var(--pol-body2);
	border-bottom:1px solid var(--pol-rule);
}
.pol-toc li:last-child a { border-bottom:0; }
.pol-toc a::before {
	content:counter(pol,decimal-leading-zero);
	flex:none;
	font-weight:700;
	color:var(--pol-label);
}
.pol-toc a:hover { color:var(--pol-accent); }
.pol-toc a:hover::before { color:var(--pol-accent); }

.pol-sec { padding-top:34px; scroll-margin-top:12px; }

.pol-sec:first-child { padding-top:0; }
.pol-sec:first-child { padding-top:0; }

.pol-sec__h {
	font:400 34px/1.08 var(--f-display), Georgia, serif;
	letter-spacing:-.02em;
	margin:0 0 20px;
	padding-bottom:14px;
	border-bottom:2px solid var(--pol-ink);
	text-wrap:pretty;
}
.pol-sec__h3 {
	font:400 21px/1.35 var(--f-display), Georgia, serif;
	color:var(--pol-ink);
	margin:24px 0 10px;
}
.pol-body p {
	font:400 17px/1.6 var(--f-display), Georgia, serif;
	color:var(--pol-body);
	margin:0 0 16px;
	text-wrap:pretty;
}

.pol-list { list-style:none; margin:0 0 20px; padding:0; }
.pol-list li {
	position:relative;
	font:400 17px/1.5 var(--f-display), Georgia, serif;
	color:var(--pol-body);
	padding:0 0 0 22px;
	margin-bottom:9px;
}
.pol-list li:last-child { margin-bottom:0; }
.pol-list li::before {
	content:"";
	position:absolute;
	left:0;
	top:.42em;
	width:6px;
	height:6px;
	background:var(--pol-accent);
}

.pol-mail {
	background:var(--pol-band);
	border-left:3px solid var(--pol-accent);
	padding:18px 22px;
	margin:0 0 20px !important;
}
.pol-mail a {
	font:400 24px/1.2 var(--f-display), Georgia, serif;
	color:var(--pol-accent);
}

.pol-related {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	padding:34px 0 40px;
}
.pol-related__card {
	display:block;
	background:var(--pol-band);
	padding:20px 22px;
}
.pol-related__kicker {
	display:block;
	font:700 9.5px/1 var(--f-body), Arial, sans-serif;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--pol-label);
}
.pol-related__t {
	display:block;
	font:400 24px/1.15 var(--f-display), Georgia, serif;
	margin-top:9px;
}
.pol-related__d {
	display:block;
	font:400 14px/1.45 var(--f-body), Arial, sans-serif;
	color:#5A554A;
	margin-top:7px;
}
.pol-related__card:hover .pol-related__t { color:var(--pol-accent); }

@media (max-width:1100px) {
	.pol-head__title { font-size:52px; }
	.pol-grid { grid-template-columns:210px minmax(0,1fr); gap:36px; }
}

@media (max-width:900px) {
	.pol-head { padding:26px 0 22px; }
	.pol-head__title { font-size:36px; line-height:1.04; }
	.pol-head__dek { font-size:20px; margin-top:12px; }
	.pol-summary { padding:18px 18px; margin-top:20px; }
	.pol-summary p { font-size:15px; }

	.pol-grid { grid-template-columns:1fr; gap:26px; }

	
	.pol-rail {
		position:sticky;
		top:0;
		z-index:20;

		
		min-width:0;

		
		margin-top:0;
	}
	.pol-rail__inner {
		position:static;
		max-height:none;
		overflow:visible;
		background:var(--pol-band);
		border-top:2px solid var(--pol-ink);
		border-bottom:1px solid var(--pol-hair2);
		padding:0;

		
		box-sizing:border-box;
		width:calc(100% + var(--gutter) * 2);
		margin-inline:calc(var(--gutter) * -1);
		padding-inline:var(--gutter);
		max-width:100vw;
	}
	.pol-rail__inner > summary {
		cursor:pointer;
		
		padding:13px 0;
		
		-webkit-tap-highlight-color:transparent;
	}

	.pol-rail__label { font-size:11px; gap:10px; }

	
	.pol-rail__now {
		display:block;
		flex:1 1 auto;
		min-width:0;
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
		text-align:left;
		color:var(--pol-ink);
	}
	.pol-rail__now::before {
		content:"·";
		margin-right:8px;
		color:var(--pol-label);
	}
	.pol-rail__lead { flex:none; }
	
	.pol-rail__chev { flex:none; }

	
	.pol-rail__chev {
		display:block;
		width:8px;
		height:8px;
		border-right:1.5px solid var(--pol-label);
		border-bottom:1.5px solid var(--pol-label);
		transform:rotate(45deg) translate(-2px,-2px);
		transition:transform .18s ease;
	}
	.pol-rail__inner[open] .pol-rail__chev { transform:rotate(-135deg) translate(-2px,-2px); }

	
	.pol-toc {
		font-size:14px;
		margin:0;
		padding:0 0 12px;
		
		max-height:60vh;
		max-height:calc(100dvh - 128px);
		overflow-y:auto;
		overscroll-behavior:contain;   
		-webkit-overflow-scrolling:touch;
	}
	.pol-toc a { padding:11px 0; border-bottom-color:var(--pol-hair2); }

	
	.pol-sec { padding-top:28px; scroll-margin-top:16px; }
	.pol-sec__h { font-size:25px; margin-bottom:16px; padding-bottom:11px; }
	.pol-sec__h3 { font-size:19px; }
	.pol-body p,
	.pol-list li { font-size:16px; }
	.pol-list li { padding-left:19px; }
	.pol-mail a { font-size:20px; }

	.pol-related { grid-template-columns:1fr; gap:14px; padding:26px 0 32px; }
}

@media (max-width:430px) {
	.pol-head__title { font-size:30px; }
	.pol-head__dek { font-size:18px; }
}
