/* ==================================================================
   Framework — Building Resilient Libraries and Communities (main page + edition pages)
   Loaded only on the page that renders the summary.

   Built on the site's existing system:
   - Type: Montserrat (headings, buttons, nav) and Open Sans (body),
     both already loaded by Divi and the Theme Builder header/footer.
     No additional font files are requested.
   - Colour: site ink #181818, body #333, navy #1b2635, accent #0000ff.
   - Container: 80% / max 1080px, the same as a default Divi row, so
     the summary lines up with the header logo and footer columns.
   - Buttons: square, uppercase Montserrat 700, as the header CTA.
   The five area colours are the Framework Summary PDF's own, kept so the
   web page and print edition read as one publication.

   All selectors are scoped under .plfs with at least two classes so
   Divi's global list/heading/paragraph rules cannot override them.
   ================================================================== */

.plfs {
	--plfs-ink: #181818;
	--plfs-text: #333333;
	--plfs-navy: #1b2635;
	--plfs-accent: #0000ff;
	--plfs-muted: #5e6670;          /* 5.9:1 on white, 5.3:1 on cream */
	--plfs-paper: #ffffff;
	--plfs-cream: #f6f2ea;          /* PDF figure panels */
	--plfs-rule: #e3ddd2;
	--plfs-rule-cool: #dde3e6;

	/* Area colours (fills; white text on each is >= 4.98:1) */
	--plfs-c1: #1f7a8c;
	--plfs-c2: #2e6da4;
	--plfs-c3: #3c7a50;
	--plfs-c4: #b0355b;
	--plfs-c5: #6b4e9b;
	/* Darker text variants, >= 4.5:1 on cream and white */
	--plfs-c1-text: #19697a;
	--plfs-c2-text: #2a649a;
	--plfs-c3-text: #356d47;
	--plfs-c4-text: #b0355b;
	--plfs-c5-text: #6b4e9b;

	--plfs-head: "Montserrat", Helvetica, Arial, Lucida, sans-serif;
	--plfs-body: "Open Sans", Arial, sans-serif;
	--plfs-measure: 68ch;
	--plfs-jump-h: 3.5rem;          /* JS replaces with the measured height */

	color: var(--plfs-text);
	font-family: var(--plfs-body);
	font-size: 17px;
	line-height: 1.65;
	background: var(--plfs-paper);
}

.plfs *,
.plfs *::before,
.plfs *::after { box-sizing: border-box; }

/* Divi resets ---------------------------------------------------- */
.plfs .plfs-h2,
.plfs h3,
.plfs .plfs-hero__title { padding-bottom: 0; }
.plfs p { padding-bottom: 0; }
.plfs ul.plfs-guides,
.plfs ul.plfs-jump__list,
.plfs ol.plfs-map,
.plfs ul.plfs-formats,
.plfs .plfs-diagram-list ul { list-style: none; margin: 0; padding: 0; line-height: inherit; }
.plfs ul.plfs-guides > li,
.plfs ul.plfs-jump__list > li,
.plfs ol.plfs-map > li,
.plfs ul.plfs-formats > li,
.plfs .plfs-diagram-list li { list-style: none; }

/* Anchor targets clear the sticky bar (and the WP admin bar). */
.plfs [id] { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--plfs-jump-h) + 1rem); }
.plfs.plfs--js [id] { scroll-margin-top: 0; }

/* Container ------------------------------------------------------ */
.plfs .plfs-wrap {
	width: 80%;
	max-width: 1080px;
	margin-inline: auto;
}

/* Links & focus -------------------------------------------------- */
.plfs a { color: var(--plfs-navy); text-decoration: underline; text-underline-offset: .18em; }
.plfs a:hover { color: var(--plfs-accent); }
.plfs a:focus-visible {
	outline: 3px solid var(--plfs-accent);
	outline-offset: 3px;
	border-radius: 2px;
}
.plfs .plfs-hero a:focus-visible,
.plfs .plfs-jump a:focus-visible { outline-color: #ffffff; }

/* Headings ------------------------------------------------------- */
.plfs .plfs-h2 {
	font-family: var(--plfs-head);
	font-weight: 800;
	color: var(--plfs-ink);
	font-size: clamp(1.55rem, 3.2vw, 2.15rem);
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 0 0 1rem;
}
.plfs p { max-width: var(--plfs-measure); margin: 0 0 1em; }
.plfs .plfs-lede { font-size: 1.12em; line-height: 1.6; }

/* Hero (matches the site's dark interior-page band) -------------- */
.plfs .plfs-hero { background: var(--plfs-ink); color: #ffffff; }
.plfs .plfs-hero .plfs-wrap { padding: clamp(3.25rem, 7vw, 5.5rem) 0 clamp(2.75rem, 6vw, 4.5rem); }
.plfs .plfs-hero__eyebrow {
	font-family: var(--plfs-head);
	font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: #c9ced6; margin: 0 0 1rem;
}
.plfs .plfs-hero__title {
	font-family: var(--plfs-head);
	font-weight: 800;
	font-size: clamp(2.2rem, 5.6vw, 3.9rem);
	line-height: 1.08;
	letter-spacing: -.015em;
	color: #ffffff;
	margin: 0 0 1.1rem;
	max-width: 18ch;
}
.plfs .plfs-hero__deck {
	font-family: var(--plfs-head);
	font-weight: 700;
	font-size: clamp(1.05rem, 2.1vw, 1.3rem);
	line-height: 1.5; color: #ffffff; max-width: 46ch; margin: 0 0 1.5rem;
}
.plfs .plfs-hero__byline { color: #c9ced6; font-size: .98rem; max-width: 50ch; margin: 0 0 2.25rem; }
.plfs .plfs-hero__byline strong { color: #ffffff; font-weight: 600; }

.plfs .plfs-facts {
	display: grid; gap: 1.25rem 2.5rem;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	border-top: 1px solid rgba(255,255,255,.18);
	padding-top: 1.5rem; margin: 0 0 2.25rem; max-width: 48rem;
}
.plfs .plfs-facts dt {
	font-family: var(--plfs-head); font-weight: 700; font-size: 1.85rem; line-height: 1.1; color: #ffffff;
}
.plfs .plfs-facts dd { margin: .2rem 0 0; color: #c9ced6; font-size: .95rem; }

.plfs .plfs-actions { display: flex; flex-wrap: wrap; gap: .85rem; }
.plfs .plfs-btn {
	display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center;
	min-height: 48px; padding: 13px 28px;
	font-family: var(--plfs-head); font-weight: 700; font-size: 14px; letter-spacing: 1px; text-transform: uppercase;
	text-decoration: none; border: 2px solid #ffffff; border-radius: 0;
	transition: background-color .15s ease, color .15s ease;
}
.plfs .plfs-btn--solid { background: #ffffff; color: var(--plfs-ink); }
.plfs .plfs-btn--solid:hover { background: #dfe3e8; color: var(--plfs-ink); }
.plfs .plfs-btn--ghost { background: transparent; color: #ffffff; }
.plfs .plfs-btn--ghost:hover { background: rgba(255,255,255,.12); color: #ffffff; }
.plfs .plfs-btn .plfs-filemeta {
	font-family: var(--plfs-body); font-weight: 400; font-size: 12px; letter-spacing: 0; text-transform: none;
	margin-top: 2px; opacity: .85;
}
.plfs .plfs-format__go .plfs-filemeta { display: block; font-weight: 400; font-size: .85em; color: var(--plfs-muted); }

.plfs .plfs-spectrum { display: flex; height: 6px; }
.plfs .plfs-spectrum span { flex: 1; }
.plfs .plfs-spectrum span:nth-child(1) { background: var(--plfs-c1); }
.plfs .plfs-spectrum span:nth-child(2) { background: var(--plfs-c2); }
.plfs .plfs-spectrum span:nth-child(3) { background: var(--plfs-c3); }
.plfs .plfs-spectrum span:nth-child(4) { background: var(--plfs-c4); }
.plfs .plfs-spectrum span:nth-child(5) { background: var(--plfs-c5); }

/* Sticky jump navigation ---------------------------------------- */
.plfs .plfs-jump {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;                    /* below Divi menus/dropdowns (99999) */
	background: var(--plfs-navy);
	box-shadow: 0 6px 18px rgba(24,24,24,.18);
}
.plfs .plfs-jump__inner { display: flex; align-items: center; gap: .75rem; padding-block: .6rem; }
.plfs ul.plfs-jump__list { display: flex; flex-wrap: wrap; gap: .35rem; }
.plfs .plfs-jump a {
	display: flex; align-items: center; gap: .45rem;
	min-height: 2.25rem; padding: .35rem .7rem;
	font-family: var(--plfs-head); font-size: .78rem; font-weight: 700; line-height: 1;
	color: #ffffff; text-decoration: none; white-space: nowrap;
	border: 1px solid rgba(255,255,255,.38); border-radius: 999px;
	transition: background-color .15s ease, border-color .15s ease;
}
.plfs .plfs-jump a:hover { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.7); color: #ffffff; }
.plfs .plfs-jump a[data-c]::before {
	content: ""; width: .55rem; height: .55rem; border-radius: 50%; flex-shrink: 0;
	box-shadow: 0 0 0 1px rgba(255,255,255,.5);
}
.plfs .plfs-jump a[data-c="1"]::before { background: var(--plfs-c1); }
.plfs .plfs-jump a[data-c="2"]::before { background: var(--plfs-c2); }
.plfs .plfs-jump a[data-c="3"]::before { background: var(--plfs-c3); }
.plfs .plfs-jump a[data-c="4"]::before { background: var(--plfs-c4); }
.plfs .plfs-jump a[data-c="5"]::before { background: var(--plfs-c5); }
/* Current section: set by JS via aria-current="location". */
.plfs .plfs-jump a[aria-current] { background: #ffffff; color: var(--plfs-navy); border-color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c="1"] { background: var(--plfs-c1); border-color: var(--plfs-c1); color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c="2"] { background: var(--plfs-c2); border-color: var(--plfs-c2); color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c="3"] { background: var(--plfs-c3); border-color: var(--plfs-c3); color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c="4"] { background: var(--plfs-c4); border-color: var(--plfs-c4); color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c="5"] { background: var(--plfs-c5); border-color: var(--plfs-c5); color: #ffffff; }
.plfs .plfs-jump a[aria-current][data-c]::before { background: #ffffff; }

/* Narrow screens: one scrollable row instead of three wrapped rows,
   so the sticky bar never covers more than ~56px of the viewport. */
@media (max-width: 980px) {
	.plfs .plfs-jump .plfs-wrap { width: 100%; }
	.plfs .plfs-jump__inner { padding: .5rem 0; }
	.plfs ul.plfs-jump__list {
		flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x proximity; scrollbar-width: none;
		padding: 0 10%;             /* aligns first pill with the 80% container */
		scroll-padding-inline: 10%;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
		        mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	}
	.plfs ul.plfs-jump__list::-webkit-scrollbar { display: none; }
	.plfs ul.plfs-jump__list li { scroll-snap-align: start; flex-shrink: 0; }
}

/* Generic blocks ------------------------------------------------- */
.plfs .plfs-block { padding-block: clamp(2.75rem, 6vw, 4.5rem); }
.plfs .plfs-block + .plfs-block,
.plfs .plfs-block--rule { border-top: 1px solid var(--plfs-rule); }

/* Figures -------------------------------------------------------- */
.plfs .plfs-figure,
.plfs .plfs-phases-figure { margin: 2.25rem 0 0; }
.plfs .plfs-figure {
	background: var(--plfs-cream); padding: clamp(1.25rem, 3vw, 2rem);
}
.plfs .plfs-figure__title {
	font-family: var(--plfs-head); font-size: 1.1rem; font-weight: 700; line-height: 1.3;
	color: var(--plfs-ink); margin: 0 0 .3rem;
}
.plfs .plfs-figure__note { color: var(--plfs-muted); font-size: .92rem; margin: 0 0 1.5rem; }
.plfs .plfs-cap {
	border-left: 3px solid var(--plfs-c1); padding-left: .9rem;
	margin-top: 1.1rem; color: var(--plfs-muted); font-size: .92rem; max-width: 64ch;
}
.plfs .plfs-cap b { color: var(--plfs-c1-text); font-weight: 700; }

/* Figure 1 — five-area map (also navigation) */
.plfs ol.plfs-map { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
.plfs .plfs-map li { display: flex; }
.plfs .plfs-map a {
	flex: 1; display: flex; flex-direction: column; gap: .45rem;
	padding: 1rem .9rem 1.15rem; color: #ffffff; text-decoration: none;
	transition: box-shadow .15s ease;
}
.plfs .plfs-map a:hover { color: #ffffff; box-shadow: inset 0 0 0 3px rgba(255,255,255,.7); }
.plfs .plfs-map a:focus-visible { outline-color: var(--plfs-ink); }
.plfs .plfs-map a[data-c="1"] { background: var(--plfs-c1); }
.plfs .plfs-map a[data-c="2"] { background: var(--plfs-c2); }
.plfs .plfs-map a[data-c="3"] { background: var(--plfs-c3); }
.plfs .plfs-map a[data-c="4"] { background: var(--plfs-c4); }
.plfs .plfs-map a[data-c="5"] { background: var(--plfs-c5); }
.plfs .plfs-map__n {
	width: 1.75rem; height: 1.75rem; border-radius: 50%;
	background: rgba(255,255,255,.22); display: grid; place-items: center;
	font-family: var(--plfs-head); font-weight: 700; font-size: .9rem;
}
.plfs .plfs-map__t { font-family: var(--plfs-head); font-weight: 700; font-size: 1rem; line-height: 1.2; }
.plfs .plfs-map__d { font-size: .84rem; line-height: 1.4; }
@media (max-width: 980px) {
	.plfs ol.plfs-map { grid-template-columns: repeat(2, 1fr); }
	.plfs .plfs-map li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 479px) { .plfs ol.plfs-map { grid-template-columns: 1fr; } }

/* Figure 2 — diagram, with a list fallback on small screens */
.plfs .plfs-diagram { display: block; width: 100%; height: auto; font-family: var(--plfs-body); }
.plfs .plfs-diagram-list { display: none; }
.plfs .plfs-values {
	max-width: none; margin: 1.25rem 0 0; padding: .7rem 1rem;
	background: #123540; color: #e3edef; font-size: .9rem;
}
.plfs .plfs-values b { color: #ffffff; margin-right: .5rem; }
@media (max-width: 767px) {
	.plfs .plfs-diagram { display: none; }
	.plfs .plfs-diagram-list { display: block; }
	.plfs .plfs-diagram-list__hub { font-family: var(--plfs-head); font-weight: 700; color: var(--plfs-ink); margin: 0 0 .6rem; }
	.plfs .plfs-diagram-list ul { display: grid; gap: .35rem; }
	.plfs .plfs-diagram-list li { position: relative; padding-left: 1.35rem; font-weight: 600; color: var(--plfs-ink); }
	.plfs .plfs-diagram-list li::before {
		content: ""; position: absolute; left: 0; top: .6em;
		width: .55rem; height: .55rem; border-radius: 50%; background: var(--plfs-c1);
	}
}

/* Numbered areas ------------------------------------------------- */
.plfs .plfs-area {
	--a: var(--plfs-c1); --a-text: var(--plfs-c1-text);
	padding-block: clamp(2.75rem, 6vw, 4.25rem);
	border-top: 1px solid var(--plfs-rule);
}
.plfs .plfs-area[data-c="2"] { --a: var(--plfs-c2); --a-text: var(--plfs-c2-text); }
.plfs .plfs-area[data-c="3"] { --a: var(--plfs-c3); --a-text: var(--plfs-c3-text); }
.plfs .plfs-area[data-c="4"] { --a: var(--plfs-c4); --a-text: var(--plfs-c4-text); }
.plfs .plfs-area[data-c="5"] { --a: var(--plfs-c5); --a-text: var(--plfs-c5-text); }

.plfs .plfs-area__head { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.25rem; }
.plfs .plfs-area__head .plfs-h2 { margin: .2rem 0 0; }
.plfs .plfs-area__num {
	flex-shrink: 0; width: 2.6rem; height: 2.6rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--a); color: #ffffff;
	font-family: var(--plfs-head); font-weight: 700; font-size: 1.25rem;
}
.plfs .plfs-focus {
	background: var(--plfs-cream); border-left: 4px solid var(--a);
	padding: .85rem 1.15rem; margin: 0 0 1.75rem; font-size: 1rem;
}
.plfs .plfs-focus b { color: var(--a-text); font-weight: 700; }

.plfs ul.plfs-guides { display: grid; }
.plfs .plfs-guides li {
	position: relative; padding: .55rem 0 .55rem 1.5rem; max-width: var(--plfs-measure);
	border-bottom: 1px solid var(--plfs-rule-cool);
}
.plfs .plfs-guides li::before {
	content: ""; position: absolute; left: .15rem; top: 1.12em;
	width: .45rem; height: .45rem; border-radius: 50%; background: var(--a, var(--plfs-c1));
}
.plfs .plfs-area .plfs-cap { border-left-color: var(--a); }
.plfs .plfs-area .plfs-cap b { color: var(--a-text); }

/* Before / During / After */
.plfs .plfs-phases { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .plfs .plfs-phases { grid-template-columns: 1fr; gap: 2rem; } }
.plfs .plfs-phase { border-top: 4px solid var(--a); padding-top: .9rem; }
.plfs .plfs-phase--before { --a: var(--plfs-c2); }
.plfs .plfs-phase--during { --a: var(--plfs-c4); }
.plfs .plfs-phase--after  { --a: var(--plfs-c3); }
.plfs .plfs-phase__title {
	font-family: var(--plfs-head); font-size: 1.2rem; font-weight: 800; line-height: 1.2;
	color: var(--plfs-ink); margin: 0 0 .1rem;
}
.plfs .plfs-phase__sub { color: var(--plfs-muted); font-size: .88rem; margin: 0 0 .75rem; }
.plfs .plfs-phase .plfs-guides li { max-width: none; font-size: .97rem; padding-left: 1.3rem; }

/* Photos --------------------------------------------------------- */
.plfs .plfs-photo { margin: 2.25rem 0 0; max-width: 760px; }
.plfs .plfs-photo__img {
	display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
	background: var(--plfs-cream);
}
.plfs .plfs-photo__cap { margin-top: .6rem; color: var(--plfs-muted); font-size: .88rem; }

/* Pull quote ----------------------------------------------------- */
.plfs .plfs-quote { background: var(--plfs-cream); padding-block: clamp(2.5rem, 6vw, 4rem); }
.plfs .plfs-quote__fig { margin: 0; }
.plfs .plfs-quote__text { margin: 0; padding: 0 0 0 1.25rem; border-left: 4px solid var(--plfs-c2); }
.plfs .plfs-quote__text p {
	font-family: var(--plfs-head); font-weight: 700; font-size: clamp(1.3rem, 2.8vw, 1.8rem);
	line-height: 1.4; color: var(--plfs-ink); max-width: 36ch; margin: 0;
}
.plfs .plfs-quote__cite { margin-top: 1rem; padding-left: 1.25rem; color: var(--plfs-muted); font-size: .95rem; }

/* Formats / download -------------------------------------------- */
.plfs ul.plfs-formats {
	display: grid; gap: 1.25rem; margin-top: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.plfs .plfs-format {
	display: flex; flex-direction: column;
	background: #ffffff; padding: 1.35rem 1.4rem 1.5rem;
	box-shadow: 0 2px 18px rgba(0,0,0,.12);   /* Divi "preset1" card shadow used site-wide */
	border-top: 4px solid var(--plfs-navy);
}
.plfs .plfs-format__kind {
	font-family: var(--plfs-head); font-size: .72rem; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: var(--plfs-muted); margin: 0 0 .5rem;
}
.plfs .plfs-format__title {
	font-family: var(--plfs-head); font-size: 1.1rem; font-weight: 800; line-height: 1.3;
	color: var(--plfs-ink); margin: 0 0 .5rem;
}
.plfs .plfs-format p { font-size: .95rem; margin-bottom: 1.2rem; }
.plfs .plfs-format__go { margin-top: auto; font-weight: 700; color: var(--plfs-navy); }

.plfs .plfs-cite {
	margin-top: 2.5rem; padding: 1.4rem 1.5rem; background: var(--plfs-cream);
	font-size: .95rem; max-width: 72ch;
}
.plfs .plfs-cite__title {
	font-family: var(--plfs-head); font-size: .75rem; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: var(--plfs-muted); margin: 0 0 .6rem;
}
.plfs .plfs-cite p { margin: 0; overflow-wrap: anywhere; }

/* Motion --------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	html:has(.plfs) { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
	.plfs *, .plfs *::before, .plfs *::after { transition: none !important; }
}

/* Windows High Contrast / forced colours ------------------------ */
@media (forced-colors: active) {
	.plfs .plfs-jump a[aria-current] { outline: 2px solid CanvasText; }
	.plfs .plfs-map a { border: 1px solid CanvasText; }
}

/* Print ---------------------------------------------------------- */
@media print {
	.plfs .plfs-jump, .plfs .plfs-actions, .plfs .plfs-spectrum { display: none; }
	.plfs .plfs-hero { background: none; color: #000; }
	.plfs .plfs-hero__title, .plfs .plfs-hero__deck, .plfs .plfs-facts dt,
	.plfs .plfs-hero__eyebrow, .plfs .plfs-hero__byline, .plfs .plfs-hero__byline strong, .plfs .plfs-facts dd { color: #000; }
	.plfs .plfs-map a, .plfs .plfs-area__num, .plfs .plfs-values, .plfs .plfs-figure, .plfs .plfs-focus {
		-webkit-print-color-adjust: exact; print-color-adjust: exact;
	}
	.plfs .plfs-photo { break-inside: avoid; max-width: 60%; }
	.plfs .plfs-wrap { width: 100%; }
	.plfs .plfs-area, .plfs .plfs-figure { break-inside: avoid-page; }
}

/* ==================================================================
   Edition pages (Public Libraries Edition, Crisis Communication
   Guidelines): same hero/jump/typography, body from page content.
   ================================================================== */
.plfs .plfs-hero__eyebrow a { color: #c9ced6; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }
.plfs .plfs-hero__eyebrow a:hover { color: #ffffff; border-bottom-color: #ffffff; }

.plfs .plfs-doc h2 {
	font-family: var(--plfs-head); font-weight: 800; color: var(--plfs-ink);
	font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; letter-spacing: -.01em;
	margin: 2.75rem 0 1rem; padding: 2.25rem 0 0; border-top: 1px solid var(--plfs-rule);
}
.plfs .plfs-doc h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.plfs .plfs-doc h3 {
	font-family: var(--plfs-head); font-weight: 700; color: var(--plfs-ink);
	font-size: 1.2rem; line-height: 1.3; margin: 2rem 0 .6rem; padding: 0;
}
.plfs .plfs-doc h4 {
	font-family: var(--plfs-head); font-weight: 700; color: var(--plfs-ink);
	font-size: 1rem; line-height: 1.35; margin: 1.5rem 0 .4rem; padding: 0;
}
.plfs .plfs-doc ul,
.plfs .plfs-doc ol { margin: 0 0 1.25em; padding: 0 0 0 1.4em; max-width: var(--plfs-measure); line-height: 1.6; }
.plfs .plfs-doc ul { list-style: disc; }
.plfs .plfs-doc ol { list-style: decimal; }
.plfs .plfs-doc li { margin: 0 0 .4em; padding: 0; }
.plfs .plfs-doc li > ul,
.plfs .plfs-doc li > ol { margin: .4em 0 0; }
.plfs .plfs-doc blockquote {
	margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 4px solid var(--plfs-c2);
	color: var(--plfs-ink); max-width: var(--plfs-measure);
}
.plfs .plfs-doc figure { margin: 2rem 0; max-width: 760px; }
.plfs .plfs-doc figure img { display: block; width: 100%; height: auto; }
.plfs .plfs-doc figcaption { margin-top: .6rem; color: var(--plfs-muted); font-size: .9rem; }
.plfs .plfs-doc .plfs-table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.plfs .plfs-doc table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.plfs .plfs-doc th,
.plfs .plfs-doc td { text-align: left; vertical-align: top; padding: .6rem .75rem; border-bottom: 1px solid var(--plfs-rule-cool); }
.plfs .plfs-doc thead th { font-family: var(--plfs-head); font-weight: 700; color: var(--plfs-ink); border-bottom: 2px solid var(--plfs-ink); }
.plfs .plfs-doc caption { caption-side: top; text-align: left; font-weight: 700; color: var(--plfs-ink); padding-bottom: .5rem; }

/* New-tab marker (also defined site-wide for the header menu). */
.plfs .plfs-newtab { display: inline-block; margin-left: .3em; font-size: .85em; line-height: 1; text-decoration: none; }
.plfs .plfs-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
