/* Theme additions on top of the compiled utilities in main.css. */

html { scroll-padding-top: 5.5rem; }

/* Sticky header clears the admin bar. */
.admin-bar .rs-site-header { top: 32px; }
@media screen and (max-width: 782px) {
	.admin-bar .rs-site-header { top: 46px; }
}

/* Header gains a border once the page scrolls. */
.rs-site-header.is-scrolled { border-color: hsl(var(--border)); background-color: #fbf6f2f2; }

/* Mobile menu */
.rs-menu-toggle .rs-icon-close { display: none; }
.rs-menu-toggle[aria-expanded="true"] .rs-icon-open { display: none; }
.rs-menu-toggle[aria-expanded="true"] .rs-icon-close { display: block; }
.rs-mobile-nav[hidden] { display: none; }

/* Scroll reveal (only hidden when JS is running) */
.js .rs-reveal,
.js body.home #main > section:first-child > div > div > div:first-child {
	opacity: 0;
	transform: translateY(.5rem);
	transition: opacity .7s ease-out, transform .7s ease-out;
}
.js .rs-reveal.is-visible,
.js body.home #main > section:first-child > div > div > div:first-child.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.js .rs-reveal,
	.js .rs-reveal.is-visible,
	.js body.home #main > section:first-child > div > div > div:first-child {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Signup honeypot */
.rs-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Reading layout for regular pages and posts */
.rs-content { font-size: 1.05rem; line-height: 1.75; color: #1f2326cc; }
.rs-content > * + * { margin-top: 1.25em; }
.rs-content h2 { margin-top: 2em; font-size: 1.6rem; line-height: 1.2; color: #1f2326; }
.rs-content h3 { margin-top: 1.75em; font-size: 1.25rem; line-height: 1.3; color: #1f2326; }
.rs-content a { color: #2f4a32; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #b79a5b99; }
.rs-content ul { list-style: disc; padding-left: 1.5em; }
.rs-content ol { list-style: decimal; padding-left: 1.5em; }
.rs-content li + li { margin-top: .4em; }
.rs-content blockquote { border-left: 2px solid #b79a5b; padding-left: 1.25em; color: #1f2326b3; }
.rs-content img { border-radius: 2px; }
.rs-content .alignwide, .rs-content .alignfull { max-width: none; }
.rs-managed-page { max-width: 100%; overflow-x: clip; }
.rs-managed-page .wp-block-group,
.rs-managed-page .wp-block-group__inner-container,
.rs-managed-page [class*="col-span"] { box-sizing: border-box; max-width: 100%; min-width: 0; }
.rs-managed-page .wp-block-group > .wp-block-group__inner-container { display: contents; }
/*
 * WordPress inserts an inner-container around Groups. Reapply the original
 * space-y utilities through that wrapper so separate native text blocks keep
 * the same public vertical rhythm as the pre-migration markup.
 */
.rs-managed-page .space-y-1 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: .25rem; }
.rs-managed-page .space-y-1\.5 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: .375rem; }
.rs-managed-page .space-y-2 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: .5rem; }
.rs-managed-page .space-y-2\.5 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: .625rem; }
.rs-managed-page .space-y-3 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: .75rem; }
.rs-managed-page .space-y-4 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }
.rs-managed-page .space-y-5 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: 1.25rem; }
.rs-managed-page .space-y-6 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
.rs-managed-page .space-y-10 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: 2.5rem; }
.rs-managed-page .space-y-16 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) { margin-top: 4rem; }
.rs-managed-page .wp-block-button__link {
	background: transparent;
	border: 0;
	border-radius: inherit;
	color: inherit;
	font: inherit;
	padding: 0;
}
.rs-managed-page .wp-block-image.h-full {
	height: 100%;
	margin: 0;
	width: 100%;
}
.rs-managed-page .wp-block-image.h-full > img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

@media screen and (max-width: 639px) {
	.rs-managed-page h1,
	.rs-managed-page h2,
	.rs-managed-page h3,
	.rs-managed-page p,
	.rs-managed-page li,
	.rs-managed-page a { overflow-wrap: anywhere; }
	body.page-id-10 .rs-managed-page > section:first-child h1 { font-size: 2.1rem; }
	body.page-id-10 .rs-managed-page > section:first-child .oak-eyebrow.inline-flex {
		max-width: 100%;
		white-space: normal;
	}
}
.rs-pagination .nav-links { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .9rem; }
.rs-pagination .page-numbers.current { color: #2f4a32; font-weight: 600; }

/* Native, editable FAQ accordions. The list class also styles newly inserted Details blocks. */
.rs-faq-list > .wp-block-group__inner-container > .wp-block-details,
.rs-faq-list > .wp-block-details,
.wp-block-details.is-style-faq-row {
	border-bottom: 1px solid rgb(31 35 38 / 12%);
	margin: 0;
}
.rs-faq-list .wp-block-details > summary,
.wp-block-details.is-style-faq-row > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	justify-content: space-between;
	line-height: 1.4;
	list-style: none;
	min-height: 4rem;
	padding: 1.15rem 2.5rem 1.15rem 0;
	position: relative;
}
.rs-faq-list .wp-block-details > summary::-webkit-details-marker,
.wp-block-details.is-style-faq-row > summary::-webkit-details-marker { display: none; }
.rs-faq-list .wp-block-details > summary::after,
.wp-block-details.is-style-faq-row > summary::after {
	border-bottom: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: "";
	height: .55rem;
	position: absolute;
	right: .35rem;
	top: 50%;
	transform: translateY(-65%) rotate(45deg);
	transition: transform .2s ease;
	width: .55rem;
}
.rs-faq-list .wp-block-details[open] > summary::after,
.wp-block-details.is-style-faq-row[open] > summary::after {
	transform: translateY(-30%) rotate(225deg);
}
.rs-faq-list .wp-block-details > summary:hover,
.wp-block-details.is-style-faq-row > summary:hover { color: #2f4a32; }
