/*
Theme Name: Cultivate Modern
Theme URI: https://cultivatesafety.org/
Description: A modern, block-friendly theme for Cultivate Safety.
Author: NCCRAHS
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: cultivate-modern
Update URI: false
*/

:root {
	--cs-green: #205329;
	--cs-green-dark: #3a6d43;
	--cs-green-soft: #eaf3e8;
	--cs-cream: #fbf9f1;
	--cs-ink: #1e2b24;
	--cs-muted: #536158;
	--cs-line: #dfe7dc;
	--cs-shadow: 0 16px 44px rgb(25 57 35 / 9%);
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

body {
	background: #fff;
	color: var(--cs-ink);
	font-family: Inter, "Segoe UI", Arial, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.65;
}

a {
	color: var(--cs-green-dark);
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

a:hover {
	color: var(--cs-green);
}

:focus-visible {
	outline: 3px solid #d98e24;
	outline-offset: 3px;
}

.wp-site-blocks {
	overflow: clip;
}

.site-header {
	position: relative;
	z-index: 10;
	background: rgb(255 255 255 / 97%);
	border-bottom: 1px solid var(--cs-line);
	box-shadow: 0 4px 20px rgb(31 59 38 / 4%);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2.75rem);
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
}

.site-brand {
	flex: 0 0 232px;
	margin: 0;
}

.site-brand a {
	display: block;
	width: 100%;
	height: 72px;
	overflow: hidden;
	background: url("assets/cultivatesafety-logo.png") left center / contain no-repeat;
	font-size: 0;
}

.site-navigation {
	flex: 1 1 auto;
	justify-content: center;
}

.site-navigation .wp-block-navigation__container {
	gap: clamp(0.45rem, 1.2vw, 1.4rem);
}

.site-navigation .wp-block-navigation-item__content {
	color: var(--cs-ink);
	font-size: 0.93rem;
	font-weight: 650;
	text-decoration: none;
	transition: color 160ms ease;
}

.site-navigation .wp-block-navigation-item__content:hover,
.site-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--cs-green);
}

.site-header__tools {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.site-social-links {
	flex-wrap: nowrap !important;
	gap: 0.2rem;
}

.site-social-links .wp-social-link {
	background: transparent !important;
	color: var(--cs-green-dark) !important;
}

.site-social-links .wp-social-link svg {
	width: 1.35rem;
	height: 1.35rem;
}

@media (min-width: 1441px) {
	.site-navigation .wp-block-navigation-item__content {
		font-size: 1.05rem;
	}

	.site-social-links .wp-social-link {
		display: flex;
		width: 2.5rem;
		height: 2.5rem;
		align-items: center;
		justify-content: center;
	}

	.site-social-links .wp-social-link svg {
		width: 1.55rem;
		height: 1.55rem;
	}
}

.site-header__tools .wp-block-search__inside-wrapper {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid var(--cs-line);
	border-radius: 999px;
	padding: 0.16rem 0.22rem 0.16rem 0.85rem;
	overflow: hidden;
}

.site-header__tools .wp-block-search__input {
	min-width: 8.5rem;
	border: 0;
	font-size: 0.88rem;
}

.site-header__tools .wp-block-search__button {
	width: 2.35rem;
	height: 2.35rem;
	flex: 0 0 2.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--cs-green);
	color: #fff;
}

.site-header__tools .wp-block-search__button::after {
	content: none;
}

.site-header__tools .wp-block-search__button svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	margin: auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.site-main {
	min-height: 60vh;
}

.content-shell {
	padding-top: clamp(2.5rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 7vw, 6rem);
}

.single-dlp_document .post-meta {
	display: none;
}

.content-shell > .wp-block-post-title,
.content-shell > .wp-block-post-content {
	margin-right: auto;
	margin-left: auto;
}

.content-shell > .wp-block-post-title {
	margin-bottom: 1.5rem;
}

.content-shell .iframe-container {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 0.4rem;
	background: #111;
	box-shadow: 0 4px 14px rgb(0 0 0 / 16%);
}

.content-shell .iframe-container iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Legacy page markup: compact replacements for the Bootstrap 3 classes still in post content. */
.content-shell .row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -0.9rem;
	margin-left: -0.9rem;
}

.content-shell [class*="col-"] {
	flex: 0 0 100%;
	max-width: 100%;
	padding-right: 0.9rem;
	padding-left: 0.9rem;
	box-sizing: border-box;
}

.content-shell .text-center,
.content-shell .center {
	text-align: center;
}

.content-shell .text-left {
	text-align: left;
}

.content-shell .text-right {
	text-align: right;
}

.content-shell .centeredTextArea {
	max-width: 100%;
}

.content-shell .scalableImage,
.content-shell .img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 0.75rem;
}

.content-shell .centered-hr {
	width: 100%;
	margin: 1.5rem auto;
	border: 0;
	border-top: 1px solid var(--cs-line);
}

.content-shell .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	width: 100%;
	margin: 0 0 1.5rem;
	padding: 0.2rem 0.9rem;
	list-style: none;
	color: var(--cs-muted);
	font-size: 0.9rem;
}

.content-shell .breadcrumb > li + li::before {
	content:"\203A";
	margin-right: 0.4rem;
	color: var(--cs-muted);
}

.content-shell .btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.7rem 1rem;
	border-radius: 0.5rem;
	background: var(--cs-green);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.content-shell .btn:hover {
	background: var(--cs-green-dark);
	color: #fff;
}

.content-shell .hidden {
	display: none;
}

@media (min-width: 768px) {
	.content-shell .col-sm-3 { flex-basis: 25%; max-width: 25%; }
	.content-shell .col-sm-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
	.content-shell .col-sm-5 { flex-basis: 41.6667%; max-width: 41.6667%; }
	.content-shell .col-sm-6 { flex-basis: 50%; max-width: 50%; }
	.content-shell .col-sm-7 { flex-basis: 58.3333%; max-width: 58.3333%; }
	.content-shell .col-sm-8 { flex-basis: 66.6667%; max-width: 66.6667%; }
	.content-shell .col-sm-9 { flex-basis: 75%; max-width: 75%; }
	.content-shell .col-sm-12 { flex-basis: 100%; max-width: 100%; }
	.content-shell [class*="col-sm-push-"] { order: 2; }
	.content-shell [class*="col-sm-pull-"] { order: 1; }
}

@media (min-width: 992px) {
	.content-shell .col-md-3 { flex-basis: 25%; max-width: 25%; }
	.content-shell .col-md-4 { flex-basis: 33.3333%; max-width: 33.3333%; }
	.content-shell .col-md-5 { flex-basis: 41.6667%; max-width: 41.6667%; }
	.content-shell .col-md-6 { flex-basis: 50%; max-width: 50%; }
	.content-shell .col-md-7 { flex-basis: 58.3333%; max-width: 58.3333%; }
	.content-shell .col-md-push-1 { margin-left: 8.3333%; }
}

@media (min-width: 1200px) {
	.content-shell .col-lg-6 { flex-basis: 50%; max-width: 50%; }
}

h1,
h2,
h3,
h4 {
	color: var(--cs-ink);
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.15;
}

.wp-block-post-content h2,
.wp-block-post-content h3 {
	margin-top: 2rem;
}

.wp-block-button__link,
.wp-element-button {
	border-radius: 0.55rem;
	background: var(--cs-green);
	box-shadow: 0 6px 16px rgb(40 123 53 / 17%);
	font-weight: 700;
	transition: background-color 160ms ease, transform 160ms ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	background: var(--cs-green-dark);
	color: #fff;
}

.is-style-outline .wp-block-button__link:hover {
	background: var(--cs-green-soft);
	color: var(--cs-green-dark);
}

.wp-block-image img,
.wp-block-post-featured-image img {
	border-radius: 0.8rem;
}

.wp-block-quote {
	border-left-color: var(--cs-green);
}

.wp-block-table table {
	border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
	padding: 0.7rem;
	border-color: var(--cs-line);
}

.front-page {
	padding-top: clamp(1.5rem, 4vw, 3.25rem);
}

.front-page .wp-block-post-content {
	max-width: 1440px;
	margin-right: auto;
	margin-left: auto;
}

/* Present the legacy homepage's existing intro and carousel as a static feature grid. */
.front-page .wp-block-post-content > .row:first-child {
	margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
	padding: clamp(1.25rem, 3vw, 2.6rem);
	border: 1px solid #f0ece0;
	border-radius: 1.4rem;
	background: var(--cs-cream);
	box-shadow: var(--cs-shadow);
}

.front-page .wp-block-post-content > .row:first-child > .col-xs-12 {
	width: 100%;
	padding: 0;
}

.front-page .wp-block-post-content > .row:first-child > .col-xs-12 > .row {
	display: grid;
	grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.4fr);
	align-items: start;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin: 0;
}

.front-page #homeWhatBanner {
	width: auto;
	padding: 0;
}

.front-page #homeWhatBanner h1 {
	margin: 0 0 1.2rem;
	font-size: clamp(2.3rem, 4vw, 4.15rem);
}

.front-page #homeWhatBanner h1::after {
	display: block;
	width: 4rem;
	height: 0.28rem;
	margin-top: 1rem;
	border-radius: 99px;
	background: var(--cs-green);
	content: "";
}

.front-page #homeWhatBanner p {
	color: var(--cs-muted);
	font-size: 1rem;
}

.front-page .highZIndex {
	width: auto;
	padding: 0;
}

.front-page #homeCarousel {
	padding: 0;
}

.front-page #homeCarousel .carousel-indicators,
.front-page #homeCarousel .carousel-control {
	display: none;
}

.front-page #homeCarousel .carousel-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
	overflow: visible;
}

.front-page #homeCarousel .item {
	position: relative;
	display: block;
	float: none;
	width: auto;
	overflow: hidden;
	min-height: 9rem;
	border-radius: 0.85rem;
	background: #dfe9dc;
	box-shadow: 0 8px 20px rgb(25 57 35 / 12%);
}

.front-page #homeCarousel .item:first-child {
	grid-row: span 2;
	min-height: 19rem;
}

.front-page #homeCarousel .item > a:first-child {
	display: block;
	height: 100%;
}

.front-page #homeCarousel .item img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 9rem;
	object-fit: cover;
	transition: transform 250ms ease;
}

.front-page #homeCarousel .item:first-child img {
	min-height: 19rem;
}

.front-page #homeCarousel .item:hover img {
	transform: scale(1.035);
}

.front-page #homeCarousel .carousel-caption {
	position: absolute;
	right: 0.7rem;
	bottom: 0.65rem;
	left: 0.7rem;
	padding: 0.75rem 0.85rem;
	border-radius: 0.6rem;
	background: rgb(255 255 255 / 94%);
	color: var(--cs-green-dark);
	text-align: left;
	text-shadow: none;
	font-size: 0.85rem;
	font-weight: 700;
}

.front-page #homeCarousel .carousel-caption h3 {
	margin: 0 0 0.15rem;
	font-size: 1rem;
}

.front-page .lightbrown {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2rem;
	margin: 0 0 3rem;
	padding: clamp(1.1rem, 2.6vw, 2rem);
	border-radius: 1.25rem;
	background: #f2f6ef;
}

.front-page .lightbrown > [class*="col-"] {
	display: flex;
	width: auto;
	padding: 0;
}

.front-page .lightbrown .card {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.25rem;
	border: 1px solid var(--cs-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 22px rgb(25 57 35 / 6%);
	text-align: left;
}

.front-page .lightbrown .card h2 {
	margin: 0 0 0.85rem;
	font-size: 1.25rem;
}

.front-page .lightbrown .card h2 {
	align-self: stretch;
}

.front-page .lightbrown .card > div {
	display: flex;
	width: 100%;
	height: 280px;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}

.front-page .lightbrown .card > div a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

.front-page .lightbrown .card img.preview {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	margin: 0 auto;
	object-fit: contain;
}

.front-page .lightbrown .card p {
	align-self: stretch;
	color: var(--cs-muted);
}

.front-page .lightbrown .card .margin-top-auto {
	margin-top: auto;
	margin-bottom: 0;
}

.front-page .lightbrown .card .btn-card-action {
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

.front-page .lightbrown .card p.margin-top-auto {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

.front-page .btn-card-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7rem 1rem;
	border: 0;
	border-radius: 0.5rem;
	background: var(--cs-green);
	color: #fff;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
}

/* Work page cards (legacy markup). */
.content-shell .workGuidelineLinksContainer {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin: 1rem 0 2rem;
}

.content-shell .workGuidelineLink {
	display: flex;
}

.content-shell .workGuidelineLink > div {
	display: flex;
	width: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--cs-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 22px rgb(25 57 35 / 6%);
}

.content-shell .workGuidelineLink > div > img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.content-shell .workGuidelineLink h3 {
	margin: 1rem 1rem 0.4rem;
	font-size: 1.15rem;
}

.content-shell .workGuidelineLink p {
	margin: 0 1rem 1rem;
	color: var(--cs-muted);
	font-size: 0.95rem;
}

.content-shell .workGuidelineLink > div > a {
	margin: auto 1rem 1rem;
	padding: 0.65rem 1rem;
	border-radius: 0.5rem;
	background: var(--cs-green);
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.content-shell .workGuidelineLink > div > a:hover {
	background: var(--cs-green-dark);
	color: #fff;
}

.content-shell .workGuidelineExtraLinksContainer {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1.25rem;
	padding: clamp(1.1rem, 2.6vw, 2rem);
	border-radius: 1.25rem;
	background: var(--cs-green-soft);
}

.content-shell a.workGuidelineExtraLink {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1.25rem 1rem;
	border-radius: 1rem;
	background: var(--cs-green);
	color: #fff;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.content-shell a.workGuidelineExtraLink:hover {
	background: var(--cs-green-dark);
	color: #fff;
}

.content-shell .workGuidelineExtraLink > i {
	font-size: 5rem;
}

.content-shell .workGuidelineExtraLink > img {
	height: 5rem;
	width: auto;
}

/* Show/hide section widget (see assets/sections.js) and its card/button tiles. */
.content-shell .showHideSection[hidden] {
	display: none;
}

.content-shell .showSectionButtonSpacer {
	height: 1.5rem;
}

.content-shell .linkBoxContainer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25rem;
}

.content-shell .linkBox {
	display: flex;
	flex: 0 1 17rem;
	margin: 0;
}

.content-shell .linkBox > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--cs-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 22px rgb(25 57 35 / 6%);
}

.content-shell .linkBox > div > img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.content-shell .linkBox h3 {
	margin: 1rem 1rem 0.4rem;
	font-size: 1.15rem;
	text-align: center;
}

.content-shell .linkBox p:not(.sectionShowButton) {
	margin: 0 1rem 1rem;
	color: var(--cs-muted);
	font-size: 0.95rem;
	text-align: center;
}

.content-shell .alt-show-section-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	box-sizing: border-box;
	margin: 0.25rem;
	padding: 0.65rem 1rem;
	border-radius: 0.5rem;
	background: var(--cs-green);
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	cursor: pointer;
	user-select: none;
}

.content-shell .alt-show-section-btn:hover,
.content-shell .alt-show-section-btn:focus-visible,
.content-shell .alt-show-section-btn.is-selected {
	background: var(--cs-green-dark);
}

.content-shell .alt-show-section-btn.is-selected {
	box-shadow: 0 0 0 3px var(--cs-green-soft);
}

.content-shell .linkBox .alt-show-section-btn {
	width: auto;
	margin: auto 1rem 1rem;
}

/* Child Development page: the old show/hide age buttons are gone, so every section displays in order. */
.content-shell .childDevButtonContainer {
	display: none;
}

.content-shell .childDevAgeSection {
	width: 100%;
	margin-bottom: 2.5rem;
}

.content-shell .extraRelatedItemContainer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25rem;
	margin: 1.25rem 0;
}

.content-shell .extraRelatedItemContainer > :not(.extraRelatedItem) {
	flex: 0 0 100%;
}

.content-shell .extraRelatedItemContainer > h2 {
	margin: 0;
}

.content-shell .extraRelatedItemContainer > hr {
	width: 100%;
	margin: 0;
}

/* Language filter: buttons carry data-toggle-group-to-show, cards carry the same value. */
.content-shell .extraRelatedItemContainer > div:has(> .toggleGroupButton) {
	flex: 0 0 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.content-shell .toggleGroupButton {
	padding: 0.4rem 1.1rem;
	border: 1px solid var(--cs-line, #d9e2da);
	border-radius: 999px;
	background: #fff;
	color: var(--cs-green, #2a7d36);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.content-shell .toggleGroupButton:hover { background: #e8f2ea; }

.content-shell .toggleGroupButton.active-group {
	background: var(--cs-green, #2a7d36);
	border-color: var(--cs-green, #2a7d36);
	color: #fff;
}

.content-shell .extraRelatedItem[hidden] { display: none; }

.content-shell .extraRelatedItem[data-toggle-group-to-show]::before {
	align-self: center;
	margin-bottom: 0.6rem;
	padding: 0.15rem 0.7rem;
	border-radius: 999px;
	background: #e8f2ea;
	color: var(--cs-green, #2a7d36);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.content-shell .extraRelatedItem[data-toggle-group-to-show="en"]::before { content: "English"; }
.content-shell .extraRelatedItem[data-toggle-group-to-show="es"]::before { content: "Español"; }
.content-shell .extraRelatedItem[data-toggle-group-to-show="fr"]::before { content: "Français"; }

.content-shell .extraRelatedItem {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	border: 1px solid var(--cs-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 8px 22px rgb(25 57 35 / 6%);
	text-align: center;
}

.content-shell .extraRelatedItem p {
	display: flex;
	flex: 1;
	align-items: flex-start;
	justify-content: center;
	gap: 0.4rem;
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	font-weight: 650;
}

.content-shell .extraRelatedItem .itemIcon {
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
}

.content-shell .extraRelatedItem a img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.content-shell .parent-resource-card h3 {
	margin: 0 0 0.75rem;
	font-size: 1rem;
	line-height: 1.3;
}

.content-shell .parent-resource-card figure {
	margin: 0;
}

.content-shell .parent-resource-card img {
	width: 100%;
	height: auto;
	border: 1px solid var(--cs-line);
	border-radius: 0.35rem;
}

.content-shell .parent-resource-card .parent-resource-card__credit {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
}

.content-shell .parent-resource-section {
	margin: 2.5rem 0;
}

.content-shell .parent-resource-section > h2 {
	margin-bottom: 0.75rem;
	text-align: center;
}

.content-shell .parent-resource-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 1.25rem;
	margin-top: 1.25rem;
}

.content-shell .parent-resource-grid > .parent-resource-card {
	box-sizing: border-box;
	flex: 0 1 345px;
	max-width: 345px;
	margin: 0 !important;
}

.content-shell .parent-resource-card__icon::before {
	display: block;
	margin: 0.75rem 0;
	color: #fff;
	font: normal 4rem/1 FontAwesome;
}

.content-shell .parent-resource-card__icon--file::before { content: "\f15c"; }
.content-shell .parent-resource-card__icon--briefcase::before { content: "\f0b1"; }

.site-footer {
	margin-top: 0;
	padding-top: 2.7rem;
	padding-bottom: 2rem;
	background: #173e2a;
	color: #e9f1e7;
}

.site-footer a {
	color: #fff;
}

.site-footer__inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2rem;
}

.site-footer .wp-block-site-title a {
	color: #fff;
	text-decoration: none;
}

.site-footer__fineprint {
	color: #d2e0d3;
	font-size: 0.9rem;
}

@media (max-width: 1020px) {
	.site-header__inner {
		flex-wrap: wrap;
	}

	.site-brand {
		flex-basis: 205px;
	}

	.site-navigation {
		order: 3;
		flex-basis: 100%;
		justify-content: flex-start;
	}
}

@media (max-width: 760px) {
	.site-header__inner {
		gap: 0.7rem;
	}

	.site-brand {
		flex-basis: 185px;
	}

	.site-brand a {
		height: 58px;
	}

	.site-header__tools {
		display: none;
	}

	.site-navigation {
		order: initial;
		flex: 0 0 auto;
	}

	.site-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.front-page .wp-block-post-content > .row:first-child > .col-xs-12 > .row {
		grid-template-columns: 1fr;
	}

	.front-page .wp-block-post-content > .row:first-child {
		padding: 1rem;
	}

	.front-page .lightbrown {
		grid-template-columns: 1fr;
		padding: 1rem;
	}

	.site-footer__inner {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Guidelines Creator pages (legacy markup inside the block shell) */
.gc-page .siteLangSection{padding:1rem clamp(1rem,3vw,2rem) 0;max-width:1320px;margin:0 auto}
.gc-page .breadcrumb,.gc-page .breadcrumbs{padding-left:clamp(1rem,3vw,2rem);padding-right:clamp(1rem,3vw,2rem)}
.gc-legacy-page .wp-site-blocks > header,.gc-legacy-page .site-header{font-size:17px}

/* Guidelines Creator: modern restyle of legacy markup */
.gc-page{--gc-pad:clamp(1rem,3vw,2rem)}
.gc-page .breadcrumb{background:var(--cs-green-soft);margin:0;border-radius:0;padding:.7rem var(--gc-pad);font-size:.95rem}
.gc-page .breadcrumb a{color:var(--cs-green-dark);font-weight:600}
.gc-page .breadcrumb>li+li:before{color:var(--cs-muted)}
.gc-page .ninetyWidth,.gc-page .container,.gc-page .container-fluid{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;padding-left:var(--gc-pad);padding-right:var(--gc-pad)}
.gc-page .offsetLeft30Px{margin-left:0}
.gc-page .guidelinesHeading{font-family:var(--wp--preset--font-family--heading,inherit);color:var(--cs-green-dark);text-decoration:none;border:0;margin:1.5rem 0 .5rem}
.gc-page hr,.gc-page .guidelinesHr,.gc-page .resultsHr,.gc-page .secondHR{border:0;border-top:1px solid var(--cs-line);margin:1rem 0}
.gc-page .mediaKitBtn,.gc-page .btn-dark-nfmcgrey{background:var(--cs-green-soft);color:var(--cs-green-dark);border:1px solid var(--cs-line);border-radius:999px;padding:.5rem 1.2rem;font-weight:700;text-shadow:none;box-shadow:none}
.gc-page .btn{border-radius:999px;font-weight:700;border:0;box-shadow:none;transition:transform .15s,box-shadow .15s}
.gc-page .btn:hover{box-shadow:0 6px 16px rgb(25 57 35/18%)}
.gc-page .btn-dark-nfmcgreen{background:var(--cs-green-dark);color:#fff}
.gc-page .btn-nfmcgreen,.gc-page .btn-small-nfmcgreen{background:var(--cs-green);color:#fff}
.gc-page .btn-black{background:var(--cs-ink);color:#fff}
.gc-page .btn-dark-nfmcbrown{background:#fff;color:var(--cs-green-dark);border:1px solid var(--cs-green-dark)}
.gc-page .guidelinesFilter{background:#fff;border:1px solid var(--cs-line);border-radius:18px;box-shadow:var(--cs-shadow);padding:1rem 1.25rem}
.gc-page .guidelinesFilter .formHeader{color:var(--cs-green-dark);margin-top:.25rem}
.gc-page .guidelinesFilter .formDivider{border-top:1px solid var(--cs-line)}
.gc-page .guidelinesFilter label{font-weight:500;cursor:pointer}
.gc-page .guidelinesFilter input[type=radio],.gc-page .guidelinesFilter input[type=checkbox]{accent-color:var(--cs-green)}
.gc-page .footnoteText{color:var(--cs-muted);font-size:.8rem}
.gc-page .guidelinesSearch{border:1px solid var(--cs-line);border-radius:999px;padding:.6rem 1.1rem;height:auto;box-shadow:none}
.gc-page .guidelinesSearch:focus{border-color:var(--cs-green);box-shadow:0 0 0 3px rgb(40 123 53/18%)}
.gc-page .resultsPageCounts{font-weight:600;color:var(--cs-muted)}
.gc-page .resultsPages a{color:var(--cs-green-dark)}
.gc-page .guidelineResultItem{background:#fff;border:1px solid var(--cs-line);border-radius:18px;overflow:hidden;box-shadow:var(--cs-shadow);transition:transform .2s,box-shadow .2s}
.gc-page .guidelineResultItem:hover{transform:translateY(-3px)}
.gc-page .guidelineResultItem .btn{display:block;width:100%;margin:.4rem 0}
.gc-page .selectize-input{border-radius:999px;box-shadow:none;border:1px solid var(--cs-line)}
.gc-page .guidelineResults{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1.25rem;margin:1rem 0 0;padding:0}
.gc-page .guidelineResults .guidelineResultItem{width:auto;margin:0;display:flex;flex-direction:column}
.gc-page .guidelineResultItem .btn{width:calc(100% - 1.5rem);margin:.3rem .75rem}
.gc-page .guidelineResultItem .btn:last-child{margin-bottom:1rem}
.gc-page .ninetyWidth .ninetyWidth,.gc-page .container .container{padding-left:0;padding-right:0}
.gc-page .siteLangSection{text-align:left}
.gc-page .buttonHeaderContainer{position:static}
.gc-page .rightAlignedHeaderButton{float:right}
.gc-page .guidelineResultItem .btn{width:calc(100% - 1.5rem)!important;min-width:0!important;box-sizing:border-box}
.gc-page .guidelinesSearch input,.gc-page input.guidelinesSearch{border:0;box-shadow:none;background:transparent}
.gc-page .guidelinesSearch{background:#fff}
.gc-page .guidelineSearchButton{margin-left:.5rem}
.gc-page .guidelinesSearch ~ *,.gc-page .searchminiloaderContainer{margin-top:.25rem}
.gc-page .guidelineResultItem button.btn,.gc-page .guidelineResultItem a.btn{width:calc(100% - 1.5rem)!important;max-width:none!important;min-width:0!important;margin-left:.75rem!important;margin-right:.75rem!important}
.gc-page .guidelinesFilter ~ div .col-xs-12 > .row:has(.guidelinesSearch){display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div{float:none;position:static;left:auto;right:auto;width:auto;padding:0;margin:0}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:first-child{flex:1 1 280px}
.gc-page .row:has(> div > .row > .guidelinesSearch) .row{margin:0}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:has(#newSearchLink){order:3;flex-basis:100%;padding-left:1.1rem}
.gc-page #newSearchLink{cursor:pointer;font-size:.9rem;text-decoration:underline;color:var(--cs-green-dark)}
.gc-page .guidelinesSearch{display:block}
.gc-page .row:has(> div > .row > .guidelinesSearch){display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;margin:0}
.gc-page .row:has(> div > .row > .guidelinesSearch)::before,.gc-page .row:has(> div > .row > .guidelinesSearch)::after{display:none}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:has(.searchButtonWidth){flex:0 0 auto}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:has(.searchminiloaderContainer){display:none}
.gc-page #newSearchLink{float:none;display:inline-block;margin:0}
.gc-page .searchButtonWidth,.gc-page .guidelineSearchButton{margin-top:0;margin-bottom:0}
.gc-page .guidelineSearchButton{margin-left:0}

/* Search field matching the site search: magnifier button inside the pill */
.gc-page .row:has(> div > .row > .guidelinesSearch){position:relative}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:first-child{flex:1 1 100%}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:has(.searchButtonWidth){position:absolute;top:8px;right:8px;z-index:2}
.gc-page .guidelinesSearch input{padding-right:4rem;height:55px}
.gc-page .guidelineSearchButton{width:39px!important;height:39px;min-width:0;padding:0;margin:0;border-radius:50%;font-size:0;line-height:0;background:var(--cs-green);display:flex;align-items:center;justify-content:center}
.gc-page .guidelineSearchButton::before{content:"\f002";font:normal 16px/1 FontAwesome;color:#fff}
.gc-page .guidelineSearchButton[disabled]{opacity:.55;cursor:default}
.gc-page .guidelinesSearch{box-shadow:0 2px 8px rgb(25 57 35/8%)}
.gc-page .guidelinesSearch{padding:0 4rem 0 1.1rem;height:56px;display:flex;align-items:center}
.gc-page .guidelinesSearch input{height:100%;width:100%;padding:0}
.gc-page .row:has(> div > .row > .guidelinesSearch)>div:has(.searchButtonWidth){top:8.5px;right:8.5px}

/* Breadcrumb bar directly under the masthead */
.breadcrumb-bar,.gc-page .breadcrumb{background:var(--cs-green-soft);border-bottom:1px solid var(--cs-line)}
.breadcrumb-bar .breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;max-width:1440px;margin:0 auto;padding:.7rem clamp(1rem,3vw,2rem);list-style:none;font-size:.95rem;color:var(--cs-ink)}
.breadcrumb-bar .breadcrumb a{color:var(--cs-green-dark);font-weight:600;text-decoration:none}
.breadcrumb-bar .breadcrumb a:hover{text-decoration:underline}
.breadcrumb-bar .breadcrumb>li+li::before{content:"\203A";margin-right:.4rem;color:var(--cs-muted)}
.gc-page .breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;font-size:.95rem;padding:.7rem max(clamp(1rem,3vw,2rem),calc((100% - 1320px)/2 + clamp(1rem,3vw,2rem)))}
.gc-page .breadcrumb>li+li::before{content:"\203A";margin-right:.4rem}
.gc-page{padding-top:0!important}
.gc-page .siteLangSection{display:none}
.content-shell{padding-top:clamp(1.5rem,4vw,3rem)}

.wp-site-blocks>.breadcrumb-bar{margin-block-start:0!important;margin-block-end:0}
.wp-site-blocks>header{margin-block-end:0}
.breadcrumb-bar+.content-shell,.breadcrumb-bar+main{margin-block-start:0!important;padding-top:1.5rem}
.breadcrumb-bar .breadcrumb{margin-bottom:0}

/* Footer: logos left/right, links and copyright centred */
.site-footer{padding-top:1.1rem;padding-bottom:1.1rem}
.site-footer__inner{align-items:center!important;flex-wrap:nowrap!important;gap:1.5rem}
.site-footer__logo{flex:0 0 auto;display:block;line-height:0}
.site-footer__logo img{display:block;width:auto;max-width:100%}
.site-footer__logo--nccrahs img{height:56px}
.site-footer__logo--nfmc img{height:44px}
.site-footer__center{flex:1 1 auto;align-items:center;gap:.3rem!important;text-align:center}
.site-footer__center .wp-block-navigation{justify-content:center}
.site-footer__center .wp-block-navigation__container{gap:0!important}
.site-footer__center .wp-block-navigation-item{padding:0 1rem}
.site-footer__center .wp-block-navigation-item+.wp-block-navigation-item{border-left:1px solid rgba(255,255,255,.55)}
.site-footer__center .wp-block-navigation a{color:#fff;font-size:.95rem;text-decoration:none}
.site-footer__center .wp-block-navigation a:hover{text-decoration:underline}
.site-footer__copy{margin:0;color:#fff;font-size:.9rem;font-weight:700}
@media (max-width:760px){
.site-footer__inner{flex-direction:column!important;gap:1rem}
.site-footer__center{order:3}
.site-footer__logo--nccrahs img{height:48px}
}

.breadcrumb>li+li::before{font-size:1.15em;line-height:1;margin-right:.5rem!important;color:var(--cs-muted)}
.breadcrumb-bar .breadcrumb,.gc-page .breadcrumb{gap:.5rem}


/* Page title lines up with the site-wide content width. */
.content-shell > .wp-block-post-title { text-shadow: none; }

/* Resource thumbnails: title block then a uniform preview frame, so images line up across cards */
.content-shell .extraRelatedItemContainer > .extraRelatedItem {
	box-sizing: border-box;
	flex: 0 1 345px;
	max-width: 345px;
}
.content-shell .extraRelatedItem p{flex:0 0 auto;min-height:2.7em;align-items:flex-start;margin-bottom:.6rem;line-height:1.3}
.content-shell .extraRelatedItem>a{display:block}
.content-shell .extraRelatedItem>a img{width:100%;height:auto;border:1px solid var(--cs-line);border-radius:.4rem}

/* Native-block resource cards (Group "resource-card" inside Group "resource-grid"). */
.content-shell .cs-lang-filter { gap: .5rem; margin-bottom: 1rem; }
.content-shell .cs-lang-filter .wp-block-button__link {
	padding: .4rem 1.1rem;
	border: 1px solid var(--cs-line, #d9e2da);
	border-radius: 999px;
	background: #fff;
	color: var(--cs-green, #2a7d36);
	font-size: 1rem;
	font-weight: 600;
}
.content-shell .cs-lang-filter .is-active .wp-block-button__link {
	background: var(--cs-green, #2a7d36);
	border-color: var(--cs-green, #2a7d36);
	color: #fff;
}

:is(.content-shell, .front-page) .resource-grid:not(.home-cards) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.25rem;
	align-items: stretch;
}
:is(.content-shell, .front-page) .resource-card {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	padding: 1.1rem;
	border: 1px solid var(--cs-line, #d9e2da);
	border-radius: 1rem;
	background: #fff;
	text-align: center;
}
:is(.content-shell, .front-page) .resource-card[hidden] { display: none; }
:is(.content-shell, .front-page) .resource-card h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; min-height: 3.9em; text-align: center; }
:is(.content-shell, .front-page) .resource-card .wp-block-image { margin: 0; }
:is(.content-shell, .front-page) .resource-card .wp-block-image img {
	width: 100%;
	height: auto;
	border: 0;
	border-radius: .4rem;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, .5));
}
:is(.content-shell, .front-page) .resource-card .wp-block-buttons { flex-direction: column; align-items: stretch; gap: .5rem; }
:is(.content-shell, .front-page) .resource-card .wp-block-button { width: 100%; }
:is(.content-shell, .front-page) .resource-card .wp-block-button__link { display: block; width: 100%; font-size: .95rem; text-align: center; }
:is(.content-shell, .front-page) .resource-grid:not(.home-cards) > .resource-card {
	flex: 0 1 345px;
	max-width: 345px;
	margin: 0;
}
:is(.content-shell, .front-page) .resource-card .is-style-outline .wp-block-button__link {
	background: #fff;
	color: var(--cs-green, #2a7d36);
	border: 2px solid var(--cs-green, #2a7d36);
	box-shadow: none;
}
:is(.content-shell, .front-page) .resource-card .wp-block-button__link,
.content-shell .cs-lang-filter .wp-block-button__link { box-shadow: none; }
.content-shell .cs-lang-filter .is-active .wp-block-button__link { color: #fff; }

.content-shell .tots-controls {
	align-items: flex-end;
	gap: 1rem;
	padding: 0.65rem;
	margin-bottom: 1.25rem;
	border-radius: 0.35rem;
	background: #115740;
	box-shadow: 0 4px 12px rgb(25 57 35 / 14%);
}

.content-shell .tots-controls label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.content-shell .tots-controls select,
.content-shell .tots-controls input {
	box-sizing: border-box;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--cs-line);
	border-radius: 0.4rem;
	background: #fff;
	font: inherit;
}

.content-shell .tots-search-row {
	display: flex;
	gap: 0.5rem;
}

.content-shell .tots-search-row input {
	min-width: 0;
}

.content-shell #totsClear {
	flex: 0 0 auto;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--cs-line);
	border-radius: 0.4rem;
	background: #fff;
	color: var(--cs-ink);
	font: inherit;
	cursor: pointer;
}

.content-shell #totsClear:hover {
	background: var(--cs-green-soft);
}

.resource-library-page .content-shell .posts-table-wrapper.cultivate-modern .posts-table-above {
	display: grid;
	grid-template-columns: minmax(15rem, 0.9fr) minmax(18rem, 1.8fr) auto;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem !important;
	padding: 0.65rem;
	border-radius: 0.4rem;
	background: #115740;
	color: #fff;
}

.resource-library-page .content-shell .posts-table-select-filters {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	margin: 0 !important;
}

.resource-library-page .content-shell .posts-table-wrapper .select2-container {
	display: block;
	flex: 1 1 auto;
	width: 100% !important;
	height: 2.65rem !important;
	min-width: 0;
	max-width: 100%;
	margin: 0 !important;
	vertical-align: middle;
}

.resource-library-page .content-shell .posts-table-wrapper .select2-selection {
	height: 2.65rem;
	min-height: 2.65rem;
	border: 1px solid var(--cs-line);
	border-radius: 0.4rem;
	background: #fff;
}

.resource-library-page .content-shell .posts-table-wrapper .select2-selection__rendered {
	line-height: 2.55rem;
}

.resource-library-page .content-shell .posts-table-wrapper .select2-selection__arrow {
	height: 2.55rem;
}

.resource-library-page .content-shell .dataTables_filter {
	min-width: 0;
	float: none;
	margin: 0 !important;
	color: #fff;
}

.resource-library-page .content-shell .dataTables_filter label {
	display: block;
	width: 100%;
	font-size: 0;
}

.resource-library-page .content-shell .dataTables_filter input {
	display: block;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 2.65rem;
	margin: 0;
	border: 1px solid var(--cs-line);
	border-radius: 0.4rem;
	background: #fff;
	font: inherit;
	font-size: 1rem;
}

.resource-library-page .content-shell .posts-table-reset {
	flex: 0 0 auto;
	margin: 0 !important;
}

.resource-library-page .content-shell .posts-table-reset a {
	color: #fff;
	font-size: 0.85rem;
	text-decoration: underline;
}

.resource-library-page .content-shell .dlp-multi-download-wrap {
	justify-self: end;
	margin: 0 !important;
}

.resource-library-page .content-shell .dlp-multiple-download-btn {
	min-height: 2.65rem;
	padding: 0.55rem 0.85rem;
	border: 0;
	border-radius: 0.4rem;
	background: var(--cs-green);
	color: #fff;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	box-shadow: none;
}

.resource-library-page .content-shell .dlp-multiple-download-btn:not(:disabled):hover {
	background: var(--cs-green-dark);
}

.resource-library-page .content-shell .dlp-multiple-download-btn:disabled {
	opacity: 0.55;
}

.resource-library-page .content-shell .posts-data-table td.col-link {
	min-width: 9rem;
	white-space: nowrap;
}

.resource-library-page .content-shell .posts-data-table tbody tr.post-row.even > td {
	background-color: rgba(0,0,0,.04);
}

.resource-library-page .content-shell .dlp-table-document-link-wrap {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 0.4rem;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-download-link,
.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-preview-button {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	border-radius: 0.4rem;
	background: transparent !important;
	color: var(--cs-green) !important;
	font-size: 0;
	line-height: 1;
	text-decoration: none;
	transition: background-color 150ms ease, color 150ms ease;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-download-link::before {
	content: "\f019";
	font: normal 1rem/1 FontAwesome;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-preview-button .dlp-icon {
	display: none;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-preview-button::before {
	content: "\f06e";
	font: normal 1rem/1 FontAwesome;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-download-link:hover,
.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-preview-button:hover,
.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-download-link:focus-visible,
.resource-library-page .content-shell .dlp-table-document-link-wrap .dlp-preview-button:focus-visible {
	border-color: var(--cs-line) !important;
	background: var(--cs-green-soft) !important;
	color: var(--cs-green-dark) !important;
}

.resource-library-page .content-shell .dlp-table-document-link-wrap input[type="checkbox"][name="zip-urls"] {
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	margin: 0 0 0 0.1rem;
	accent-color: var(--cs-green);
}

@media (max-width: 900px) {
	.resource-library-page .content-shell .posts-table-wrapper.cultivate-modern .posts-table-above {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	}

	.resource-library-page .content-shell .dlp-multi-download-wrap {
		grid-column: 1 / -1;
		justify-self: end;
	}
}

@media (max-width: 600px) {
	.resource-library-page .content-shell .posts-table-wrapper.cultivate-modern .posts-table-above {
		grid-template-columns: minmax(0, 1fr);
	}

	.resource-library-page .content-shell .posts-table-wrapper .select2-container,
	.resource-library-page .content-shell .dataTables_filter,
	.resource-library-page .content-shell .dataTables_filter label,
	.resource-library-page .content-shell .dlp-multi-download-wrap,
	.resource-library-page .content-shell .dlp-multiple-download-btn {
		width: 100% !important;
	}

	.resource-library-page .content-shell .dlp-multi-download-wrap {
		grid-column: auto;
	}
}

.content-shell .tots-noresults {
	display: none;
}

.content-shell .tots-container {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 1rem;
	row-gap: 1rem;
	margin-top: 1rem;
}

.content-shell .tots-preview {
	min-width: 0;
	margin-block-start: 0 !important;
	padding: 1rem;
	border: 1px solid var(--cs-line);
	border-radius: 0.5rem;
	background: #fff;
	box-shadow: 0 8px 22px rgb(25 57 35 / 6%);
	text-align: center;
}

.content-shell .tots-preview > a {
	display: block;
	color: var(--cs-ink);
	text-decoration: none;
	transition: color 160ms ease;
}

.content-shell .tots-preview > a:hover,
.content-shell .tots-preview > a:focus-visible {
	color: var(--cs-green);
}

.content-shell .tots-preview h2 {
	min-height: 2.6em;
	margin: 0 0 0.6rem;
	font-size: 1.2rem;
	color: inherit;
}

.content-shell .tots-preview img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	object-fit: contain;
}

.content-shell .tots-preview > p {
	margin: 0.75rem 0 0;
	color: var(--cs-muted);
	font-size: 0.9rem;
	text-align: left;
}

@media (max-width: 900px) {
	.content-shell .tots-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.content-shell .tots-container { grid-template-columns: 1fr; }
}

@media (min-width: 601px) {
	.content-shell .tots-container { row-gap: 2rem; }
}

/* Icon tile grid (Work page "Learn More" tiles). */
.content-shell .icon-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1.25rem;
	align-items: stretch;
	margin: 1rem 0 2rem;
	padding: clamp(1.1rem, 2.6vw, 2rem);
	border-radius: 1.25rem;
	background: var(--cs-green-soft);
}

.content-shell .icon-card {
	align-self: stretch;
	height: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1.25rem 1rem;
	border-radius: 1rem;
	background: var(--cs-green);
	color: #fff;
	text-align: center;
}

.content-shell .icon-card h3 {
	margin: 0;
	color: #fff;
	font-size: 1.05rem;
}

.content-shell .icon-card img {
	width: auto;
	height: 5rem;
}

.content-shell .icon-card .fa {
	font-size: 5rem;
}

.content-shell .icon-card .wp-block-buttons {
	justify-content: center;
}

.content-shell .icon-card {
	position: relative;
	cursor: pointer;
	transition: background-color 160ms ease;
}

.content-shell .icon-card:hover,
.content-shell .icon-card:focus-within {
	background: var(--cs-green-dark);
}

.content-shell .icon-card .wp-block-button__link,
.content-shell .icon-card .wp-block-button__link:hover {
	background: transparent;
	color: #fff;
	transform: none;
	box-shadow: none;
}

.content-shell .icon-card .wp-block-button__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.content-shell .icon-card .wp-block-button__link {
	padding: 0.2rem 0.5rem;
	background: transparent;
	color: #fff;
	font-weight: 700;
}

@media (max-width: 480px) {
	:is(.content-shell, .front-page) .resource-card h3 { min-height: 2.6em; }
}

:is(.content-shell, .front-page) .resource-card {
	display: flex;
	flex-direction: column;
}

:is(.content-shell, .front-page) .resource-card .wp-block-buttons {
	margin-top: auto;
}

.content-shell .icon-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
}

:is(.content-shell, .front-page) .resource-card p {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

.content-shell .icon-grid {
	align-items: stretch;
}

.content-shell {
	padding-right: clamp(1rem, 3vw, 2rem);
	padding-left: clamp(1rem, 3vw, 2rem);
}

/* Warmer palette inspired by the original site: cream page, full-width sage bands, dark green footer. */
:root {
	--cs-page: #f8f3e6;
	--cs-band: #c9e4bf;
}

body,
.wp-site-blocks {
	background: var(--cs-page);
}

.site-header {
	background: #fff;
}

:is(.content-shell, .front-page) .resource-card,
.content-shell .extraRelatedItem,
.content-shell .linkBox,
.content-shell .workGuidelineLink {
	background: #fff;
}

.content-shell .icon-grid {
	border-radius: 0;
	background: var(--cs-band);
	box-shadow: 0 0 0 100vmax var(--cs-band);
	clip-path: inset(0 -100vmax);
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.content-shell .icon-card {
	box-shadow: 0 8px 18px rgb(23 77 43 / 18%);
}

.site-footer {
	background: var(--cs-green-dark);
	border-top: 4px solid var(--cs-band);
}

.front-page .wp-block-post-content > .row:first-child {
	background: #fff;
}

.front-page .lightbrown {
	border-radius: 0;
	background: var(--cs-band);
	box-shadow: 0 0 0 100vmax var(--cs-band);
	clip-path: inset(0 -100vmax);
}

.site-footer {
	padding-right: clamp(1rem, 3vw, 2rem);
	padding-left: clamp(1rem, 3vw, 2rem);
}

/* Featured card: green offset tone (Group block style "Featured", and the legacy home .nfmcgreen card). */
.content-shell .is-style-featured,
:is(.content-shell, .front-page) .resource-card.is-style-featured,
.front-page .lightbrown .card.nfmcgreen {
	background: linear-gradient(180deg, #e6f2e3 0%, #cfe0d1 100%);
	border-color: #b9d3bc;
}

/* Native-block home page: intro panel, feature tiles, resource cards. */
:is(.content-shell, .front-page) .home-intro {
	align-items: flex-start !important;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
	padding: clamp(1.25rem, 3vw, 2.6rem);
	border: 1px solid #f0ece0;
	border-radius: 1.4rem;
	background: #fff;
	box-shadow: var(--cs-shadow);
}

:is(.content-shell, .front-page) .home-intro__title {
	margin: 0 0 1.2rem;
	font-size: clamp(2.3rem, 4vw, 4.15rem);
}

:is(.content-shell, .front-page) .home-intro__title::after {
	display: block;
	width: 4rem;
	height: 0.28rem;
	margin-top: 1rem;
	border-radius: 99px;
	background: var(--cs-green);
	content: "";
}

:is(.content-shell, .front-page) .home-intro p {
	color: var(--cs-muted);
	font-size: 1rem;
}

:is(.content-shell, .front-page) .home-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 13rem;
	gap: 0.8rem;
}

:is(.content-shell, .front-page) .home-tile {
	position: relative;
	overflow: hidden;
	min-height: 13rem;
	margin: 0 !important;
	border-radius: 0.85rem;
	background: #dfe9dc;
	box-shadow: 0 8px 20px rgb(25 57 35 / 12%);
}

:is(.content-shell, .front-page) .home-tiles > .home-tile.is-style-home-feature-large,
:is(.content-shell, .front-page) .home-tiles > .wp-block-cultivate-modern-home-feature-tile[data-size="large"] {
	grid-row: span 2;
	min-height: 27rem;
}

:is(.content-shell, .front-page) .home-tile .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

:is(.content-shell, .front-page) .home-tile .wp-block-image a,
:is(.content-shell, .front-page) .home-tile .wp-block-image img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
	transition: transform 250ms ease;
}

:is(.content-shell, .front-page) .home-tile:hover .wp-block-image img {
	transform: scale(1.035);
}

:is(.content-shell, .front-page) .home-tile__caption {
	position: absolute;
	right: 0.7rem;
	bottom: 0.65rem;
	left: 0.7rem;
	z-index: 1;
	margin: 0 !important;
	padding: 0.7rem 0.85rem;
	border-radius: 0.6rem;
	background: rgb(255 255 255 / 94%);
	color: var(--cs-green-dark);
}

:is(.content-shell, .front-page) .home-tile__caption h3 {
	margin: 0 0 0.15rem;
	font-size: 1rem;
}

:is(.content-shell, .front-page) .home-tile__caption h3 a {
	color: var(--cs-ink);
	text-decoration: none;
}

:is(.content-shell, .front-page) .home-tile__caption h3 a::after {
	position: absolute;
	inset: -100vmax;
	content: "";
}

:is(.content-shell, .front-page) .home-tile__caption p {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	color: var(--cs-green-dark);
	font-size: 0.85rem;
	font-weight: 700;
}

:is(.content-shell, .front-page) .home-tile__caption p a {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	color: inherit;
	text-decoration: none;
}

:is(.content-shell, .front-page) .home-tile__caption p a::after {
	content: "\f061";
	font: normal 1em/1 FontAwesome;
	transition: transform 160ms ease;
}

:is(.content-shell, .front-page) .home-tile__caption p a:hover::after,
:is(.content-shell, .front-page) .home-tile__caption p a:focus-visible::after {
	transform: translateX(3px);
}

:is(.content-shell, .front-page) .home-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 1.2rem;
	align-items: stretch;
	margin: 0 0 3rem;
	padding: clamp(1.1rem, 2.6vw, 2rem) 0;
	background: var(--cs-band);
	box-shadow: 0 0 0 100vmax var(--cs-band);
	clip-path: inset(0 -100vmax);
}

:is(.content-shell, .front-page) .home-cards .resource-card {
	margin-block-start: 0 !important;
	padding: 1.25rem;
	text-align: left;
}

:is(.content-shell, .front-page) .home-cards .resource-card h2 {
	margin: 0 0 0.85rem;
	font-size: 1.5rem;
	text-align: center;
}

:is(.content-shell, .front-page) .home-cards .resource-card .wp-block-image {
	display: flex;
	height: 280px;
	align-items: center;
	justify-content: center;
	margin: 0 0 1rem;
}

:is(.content-shell, .front-page) .home-cards .resource-card .wp-block-image img {
	width: auto;
	max-width: 100%;
	max-height: 280px;
	border-radius: 0;
	object-fit: contain;
}

:is(.content-shell, .front-page) .home-cards .resource-card p {
	color: var(--cs-muted);
}

:is(.content-shell, .front-page) .home-cards .wp-block-buttons,
:is(.content-shell, .front-page) .home-cards .wp-block-button {
	width: 100%;
}

:is(.content-shell, .front-page) .home-cards .wp-block-button__link {
	width: 100%;
}

:is(.content-shell, .front-page) .resource-card.is-style-featured {
	background: linear-gradient(180deg, #e6f2e3 0%, #cfe0d1 100%);
	border-color: #b9d3bc;
}

@media (max-width: 781px) {
	:is(.content-shell, .front-page) .home-tiles {
		grid-auto-rows: auto;
	}

	:is(.content-shell, .front-page) .home-tiles > .home-tile.is-style-home-feature-large,
	:is(.content-shell, .front-page) .home-tiles > .wp-block-cultivate-modern-home-feature-tile[data-size="large"] {
		grid-row: auto;
		grid-column: 1 / -1;
		min-height: 16rem !important;
	}
}
