/**
 * Structured body for featured legal guides, templates and articles.
 */

.pkfr {
	--pkfr-navy: #102f4e;
	--pkfr-navy-deep: #09243d;
	--pkfr-red: #990000;
	--pkfr-ink: #172230;
	--pkfr-muted: #596675;
	--pkfr-line: #dce2e8;
	--pkfr-wash: #faf8f6;
	width: 100%;
	color: var(--pkfr-ink);
}

.pkfr,
.pkfr * {
	box-sizing: border-box;
}

.pkfr h2,
.pkfr h3,
.pkfr p,
.pkreading-prose .pkfr h2,
.pkreading-prose .pkfr h3,
.pkreading-prose .pkfr p {
	margin-top: 0 !important;
}

.pkfr h2,
.pkfr h3,
.pkreading-prose .pkfr h2,
.pkreading-prose .pkfr h3 {
	clear: none;
	color: var(--pkfr-navy) !important;
}

.pkfr h2,
.pkreading-prose .pkfr h2 {
	margin-bottom: 17px !important;
	font-size: clamp(30px, 3.5vw, 42px) !important;
	font-weight: 750 !important;
	letter-spacing: -.03em;
	line-height: 1.12 !important;
}

.pkfr h3,
.pkreading-prose .pkfr h3 {
	margin-bottom: 11px !important;
	font-size: 20px !important;
	font-weight: 740 !important;
	letter-spacing: -.015em;
	line-height: 1.3 !important;
}

.pkfr p,
.pkreading-prose .pkfr p {
	margin-bottom: 21px !important;
	color: var(--pkfr-muted) !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
}

.pkfr p:last-child,
.pkreading-prose .pkfr p:last-child {
	margin-bottom: 0 !important;
}

.pkfr .pkfr-eyebrow,
.pkreading-prose .pkfr-eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 14px !important;
	color: var(--pkfr-red) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .14em;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

.pkfr-eyebrow::before {
	display: block;
	width: 31px;
	height: 2px;
	background: currentColor;
	content: "";
}

.pkfr-overview {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(265px, .68fr);
	align-items: center;
	gap: clamp(42px, 7vw, 74px);
	margin-bottom: 46px;
}

.pkfr-notice {
	padding: 27px 25px 25px;
	border-left: 4px solid var(--pkfr-red);
	background: var(--pkfr-navy);
	box-shadow: 13px 13px 0 #eee5df;
}

.pkfr-notice > span {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	margin-bottom: 20px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	color: #e3c475;
}

.pkfr-notice svg,
.pkfr-point-grid svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.pkfr .pkfr-notice h3,
.pkreading-prose .pkfr-notice h3 {
	color: #fff !important;
}

.pkfr .pkfr-notice p,
.pkreading-prose .pkfr-notice p {
	color: #ccd8e2 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}

.pkfr-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 70px;
	border: 1px solid var(--pkfr-line);
	border-top: 4px solid var(--pkfr-red);
	background: #fff;
	box-shadow: 0 15px 35px rgba(16,47,78,.055);
}

.pkfr-facts > div {
	min-height: 132px;
	padding: 24px 23px;
	border-right: 1px solid var(--pkfr-line);
	border-bottom: 1px solid var(--pkfr-line);
}

.pkfr-facts > div:nth-child(2n) {
	border-right: 0;
}

.pkfr-facts > div:nth-last-child(-n+2) {
	border-bottom: 0;
}

.pkfr-facts small,
.pkfr-facts strong {
	display: block;
}

.pkfr-facts small {
	margin-bottom: 9px;
	color: var(--pkfr-red);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.pkfr-facts strong {
	color: var(--pkfr-navy);
	font-size: 16px;
	line-height: 1.45;
}

.pkfr-points {
	margin: 0 0 78px;
	padding: 42px 34px;
	background: var(--pkfr-wash);
}

.pkfr-heading {
	max-width: 760px;
	margin-bottom: 33px;
}

.pkfr-point-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
}

.pkfr-point-grid article {
	min-height: 240px;
	padding: 26px 24px;
	border: 1px solid var(--pkfr-line);
	border-top: 4px solid var(--pkfr-red);
	background: #fff;
}

.pkfr-point-grid article > span {
	display: grid;
	width: 47px;
	height: 47px;
	place-items: center;
	margin-bottom: 22px;
	border-radius: 6px;
	background: #f6eaea;
	color: var(--pkfr-red);
}

.pkfr .pkfr-point-grid p,
.pkreading-prose .pkfr-point-grid p {
	font-size: 14px !important;
	line-height: 1.65 !important;
}

.pkfr-sections {
	margin-bottom: 76px;
}

.pkfr-sections article {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 24px;
	padding: 39px 0;
	border-top: 1px solid var(--pkfr-line);
}

.pkfr-sections article:last-child {
	border-bottom: 1px solid var(--pkfr-line);
}

.pkfr-section-number {
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	border-radius: 50%;
	background: var(--pkfr-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.pkfr .pkfr-sections h2,
.pkreading-prose .pkfr-sections h2 {
	font-size: clamp(27px, 3vw, 36px) !important;
}

.pkfr-document {
	margin-bottom: 76px;
}

.pkfr-document > .pkfr-eyebrow {
	margin-bottom: 18px !important;
}

.pkfr .pklt-document {
	margin: 0;
}

.pkfr .pklt-document__bar h2 {
	font-size: clamp(27px, 3vw, 37px) !important;
}

.pkfr .pklt-document__bar p {
	font-size: 14px !important;
}

/* The article prose link rule must not recolor shared document buttons. */
.pkfr .pklt-button.pklt-button--primary,
.pkreading-prose .pkfr .pklt-button.pklt-button--primary {
	color: #fff !important;
	text-decoration: none !important;
}

.pkfr .pklt-button.pklt-button--secondary,
.pkreading-prose .pkfr .pklt-button.pklt-button--secondary {
	color: var(--pkfr-red) !important;
	text-decoration: none !important;
}

.pkfr .pklt-button.pklt-button--secondary:hover,
.pkreading-prose .pkfr .pklt-button.pklt-button--secondary:hover {
	color: #fff !important;
}

.pkfr-custom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 38px;
	margin-bottom: 78px;
	padding: 34px 32px;
	border-left: 5px solid #d4b46b;
	background: var(--pkfr-red);
}

.pkfr .pkfr-custom .pkfr-eyebrow,
.pkreading-prose .pkfr-custom .pkfr-eyebrow {
	color: #f0d392 !important;
}

.pkfr .pkfr-custom h2,
.pkreading-prose .pkfr-custom h2 {
	color: #fff !important;
	font-size: clamp(28px, 3.3vw, 39px) !important;
}

.pkfr .pkfr-custom p:not(.pkfr-eyebrow),
.pkreading-prose .pkfr-custom p:not(.pkfr-eyebrow) {
	color: #f1dada !important;
	font-size: 15px !important;
}

.pkfr .pkfr-custom > a,
.pkreading-prose .pkfr-custom > a {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 12px 19px;
	border-radius: 4px;
	background: #fff;
	color: var(--pkfr-red) !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none !important;
	white-space: nowrap;
}

.pkfr .pkfr-custom > a:hover,
.pkreading-prose .pkfr-custom > a:hover {
	background: var(--pkfr-navy);
	color: #fff !important;
}

.pkfr-faq {
	margin-bottom: 10px;
}

.pkfr-faq__items {
	border-top: 1px solid var(--pkfr-line);
}

.pkfr-faq details {
	border-bottom: 1px solid var(--pkfr-line);
}

.pkfr-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 21px 4px;
	color: var(--pkfr-navy);
	font-size: 16px;
	font-weight: 750;
	line-height: 1.45;
	cursor: pointer;
	list-style: none;
}

.pkfr-faq summary::-webkit-details-marker {
	display: none;
}

.pkfr-faq summary span {
	display: grid;
	width: 30px;
	height: 30px;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	background: #f6eaea;
	color: var(--pkfr-red);
	font-size: 20px;
	transition: transform .18s ease;
}

.pkfr-faq details[open] summary span {
	transform: rotate(45deg);
}

.pkfr .pkfr-faq details > p,
.pkreading-prose .pkfr-faq details > p {
	max-width: 760px;
	padding: 0 44px 22px 4px;
	font-size: 14px !important;
	line-height: 1.7 !important;
}

@media (max-width: 800px) {
	.pkfr-overview,
	.pkfr-custom {
		grid-template-columns: 1fr;
	}

	.pkfr-point-grid {
		grid-template-columns: 1fr;
	}

	.pkfr-custom > a {
		width: 100%;
		white-space: normal;
	}
}

@media (max-width: 600px) {
	.pkfr-facts {
		grid-template-columns: 1fr;
	}

	.pkfr-facts > div,
	.pkfr-facts > div:nth-child(2n),
	.pkfr-facts > div:nth-last-child(-n+2) {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid var(--pkfr-line);
	}

	.pkfr-facts > div:last-child {
		border-bottom: 0;
	}

	.pkfr-points { padding: 34px 20px; }

	.pkfr-sections article {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pkfr-section-number {
		width: 46px;
		height: 46px;
	}

	.pkfr-custom {
		padding: 29px 23px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pkfr-faq summary span {
		transition: none;
	}
}
.pkfr-khula-links {
	margin: 0 0 72px;
	padding: clamp(24px, 4vw, 44px);
	border: 1px solid #e3e9ef;
	border-top: 4px solid #8b0909;
	background: #f8fafc;
}
.pkfr-khula-links h2 {
	margin: 6px 0 12px;
	color: #152d47;
}
.pkfr-khula-links > p:not(.pkfr-eyebrow) {
	max-width: 68ch;
	margin-bottom: 23px;
}
.pkfr-khula-links__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.pkfr-khula-links__grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 17px;
	border: 1px solid #d9e1eb;
	border-radius: 6px;
	background: #fff;
	color: #152d47 !important;
	font-weight: 700;
	text-decoration: none !important;
}
.pkfr-khula-links__grid a:hover,
.pkfr-khula-links__grid a:focus-visible {
	border-color: #8b0909;
	color: #8b0909 !important;
}
.pkfr-khula-links__contact {
	margin-top: 24px;
	padding: 20px;
	border-radius: 6px;
	background: #152d47;
	color: #fff;
}
.pkfr-khula-links__contact p,
.pkfr-khula-links__contact p strong {
	color: #fff !important;
}
.pkfr-khula-links__contact > a,
.pkfr-khula-links__contact .pkfr-khula-links__button {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 8px 12px 0 0;
	color: #fff !important;
}
.pkfr-khula-links__button {
	padding: 11px 16px;
	border-radius: 4px;
	background: #8b0909;
	font-weight: 700;
	text-decoration: none !important;
}
.pkfr-khula-links .pkfr-khula-links__sources {
	max-width: none;
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.7;
}
.pkfr-khula-links__sources a { color: #7d1111 !important; }
@media (max-width: 650px) {
	.pkfr-khula-links__grid { grid-template-columns: 1fr; }
	.pkfr-khula-links { margin-bottom: 48px; }
}

/* Khula petition page additions; shared resource components retain their styling. */
.pkfr-petition-lead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	margin: -28px 0 64px;
	padding: clamp(24px, 3.5vw, 36px);
	border-left: 5px solid #910a0b;
	border-radius: 5px;
	background: #f6f1ed;
}
.pkfr-petition-lead h2 {
	margin: 6px 0 12px;
	color: #162e46;
	font-size: clamp(25px, 2.9vw, 36px);
}
.pkfr-petition-lead p { max-width: 62ch; margin-bottom: 0; }
.pkfr-petition-lead > a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 18px;
	border-radius: 4px;
	background: #900000;
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
}
.pkfr-petition-lead > a:hover,
.pkfr-petition-lead > a:focus-visible { background: #6d0000; }
.pkfr-petition-related {
	margin: 0 0 70px;
	padding: clamp(24px, 3.5vw, 42px);
	border: 1px solid #dee6ee;
	border-top: 4px solid #900000;
	background: #f9fbfc;
}
.pkfr-petition-related h2 { margin: 8px 0 12px; color: #162e46; }
.pkfr-petition-related > p:not(.pkfr-eyebrow) { max-width: 76ch; }
.pkfr-petition-related__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 24px 0;
}
.pkfr-petition-related__grid a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #dbe2e9;
	border-radius: 5px;
	background: #fff;
	color: #172f49 !important;
	font-weight: 700;
	text-decoration: none !important;
}
.pkfr-petition-related__grid a:hover,
.pkfr-petition-related__grid a:focus-visible { border-color: #900000; color: #900000 !important; }
.pkfr-petition-related__contact {
	padding: 24px;
	border-radius: 5px;
	background: #162f49;
	color: #fff;
}
.pkfr-petition-related__contact strong,
.pkfr-petition-related__contact p { color: #fff !important; }
.pkfr-petition-related__contact > a { display: inline-flex; margin: 6px 14px 0 0; color: #fff !important; }
.pkfr-petition-related__button {
	gap: 9px;
	padding: 12px 16px;
	border-radius: 4px;
	background: #900000;
	font-weight: 700;
	text-decoration: none !important;
}
.pkfr-petition-related .pkfr-petition-related__sources {
	max-width: none;
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.7;
}
.pkfr-petition-related__sources a { color: #800b0b !important; }
@media (max-width: 760px) {
	.pkfr-petition-lead { flex-direction: column; align-items: stretch; margin-top: 0; }
	.pkfr-petition-lead > a { justify-content: center; }
	.pkfr-petition-related__grid { grid-template-columns: 1fr; }
}
