/* Resources V4 — scoped to the page body, preserving the theme header/footer. */
.rp-page {
	--rp-olive: #B3BA35;
	--rp-orange: #CA6627;
	--rp-ink: #4e3c33;
	color: var(--rp-ink);
	background: #fff;
	font-family: "ainslie-sans", Calibri, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	padding-block: 48px 80px;
}
.rp-page *, .rp-page *::before, .rp-page *::after { box-sizing: border-box; }
.rp-page .rp-container { width: min(1200px, 100%); margin-inline: auto; padding-inline: 30px; }
.rp-page .rp-heading { padding: 0; margin: 0 0 54px; }
.rp-page h1, .rp-page h2, .rp-page h3 { font-family: inherit; font-weight: 700; letter-spacing: 0; margin: 0; }
.rp-page h1 { color: var(--rp-olive); font-size: clamp(38px, 4vw, 50px); line-height: 1.15; }
.rp-page h2 { color: var(--rp-orange); font-size: clamp(25px, 2.5vw, 30px); line-height: 1.25; margin-bottom: 24px; }
.rp-page h3 { color: var(--rp-ink); font-size: 17px; line-height: 1.4; }
.rp-page p { font-size: inherit; line-height: inherit; margin: 0; }
.rp-page .rp-section { margin: 0; padding-block: 50px; scroll-margin-top: 110px; }
.rp-page .rp-section:last-child { margin-bottom: 0; }
.rp-page .rp-document-list { list-style: none; padding: 0; margin: 0; }
.rp-page .rp-document { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-block: 15px; margin: 0; border-bottom: 1px solid #e9e5df; }
.rp-page .rp-document:first-child { border-top: 1px solid #e9e5df; }
.rp-page .rp-document__details { min-width: 0; }
.rp-page .rp-document__type { font-size: 16px; line-height: 1.5; text-transform: uppercase; letter-spacing: .07em; margin-top: 4px; color: #76695c; }
.rp-page .rp-button {
	display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
	min-height: 42px; padding: 10px 18px; border: 1px solid var(--rp-olive); border-radius: 2px;
	background: var(--rp-olive); color: #fff; text-decoration: none; font-family: inherit;
	font-size: 16px; font-weight: 700; line-height: 1.3; transition: background-color .18s;
}
.rp-page .rp-button:hover { background: #77883C; border-color: #77883C; color: #fff; }
.rp-page a:focus-visible { outline: 3px solid var(--rp-orange); outline-offset: 5px; }
.rp-page .rp-publications {
	background: #F4F2ED;
	box-shadow: 0 0 0 100vmax #F4F2ED;
	clip-path: inset(0 -100vmax);
}
.rp-page .rp-publications h2 { margin-bottom: 16px; }
.rp-page .rp-intro { font-size: 16px; color: #76695c; margin-bottom: 22px; }
.rp-page .rp-infosheet-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 22px; list-style: none; padding: 0; margin: 0; }
.rp-page .rp-infosheet { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border-radius: 3px; overflow: hidden; background: #f4f2ee; }
.rp-page .rp-infosheet__cover { display: block; background: #e9e5df; }
.rp-page .rp-infosheet__cover img { display: block; width: 100%; height: auto; aspect-ratio: 600 / 850; object-fit: cover; object-position: center; }
.rp-page .rp-infosheet__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 600 / 850; padding: 20px; background: #e9e5df; text-align: center; font-size: 16px; color: #76695c; }
.rp-page .rp-infosheet__content { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 18px; }
.rp-page .rp-infosheet h3 { margin-bottom: 16px; }
.rp-page .rp-infosheet .rp-button { margin-top: auto; }
.rp-page .rp-empty { color: #76695c; }
@media (max-width: 900px) {
	.rp-page .rp-infosheet-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 650px) {
	.rp-page { padding-block: 36px 50px; }
	.rp-page .rp-container { padding-inline: 22px; }
	.rp-page .rp-heading { margin-bottom: 38px; }
	.rp-page .rp-document { gap: 18px; align-items: start; }
	.rp-page h3 { font-size: 16px; }
	.rp-page .rp-publications .rp-document { flex-direction: column; gap: 14px; }
	.rp-page .rp-infosheet-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.rp-page .rp-infosheet__content { padding: 14px; }
}
@media (max-width: 420px) {
	.rp-page .rp-document { flex-direction: column; gap: 12px; }
	.rp-page .rp-infosheet-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.rp-page .rp-button { transition: none; }
}
