html {
	box-sizing: border-box;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	margin: 0;
	font-family: "Barlow", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #1a1d1b;
	background: #f3f4ee;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea {
	font: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
	left: 1rem;
	top: 1rem;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid #1a1d1b;
	z-index: 1000;
}

.container,
.home-wrapper {
	margin: 0 auto;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	padding: 16px 16px 0;
	background: transparent;
}

.site-header.is-scrolled {
	padding-top: 16px;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	width: calc(100vw - 33px);
	padding: 18px 24px;
	min-height: 80px;
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(22, 56, 44, 0.1);
	border-radius: 24px;
	box-shadow: 0 14px 35px rgba(19, 28, 22, 0.05);
}

.site-branding {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	flex: 0 0 auto;
	min-width: 0;
}

.site-branding-wrap {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex: 0 1 auto;
}

.site-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-logo .custom-logo-link {
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-logo .custom-logo {
	display: block;
	width: auto;
	height: 52px;
	max-width: 52px;
	object-fit: contain;
}

.site-eyebrow {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #2d5a46;
}

.site-title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 1.75rem;
	line-height: 1;
	font-weight: 600;
	color: #1a1d1b;
	white-space: nowrap;
}

.site-title a {
	color: inherit;
}

.menu-toggle {
	appearance: none;
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: #1b4332;
	color: #fff;
	cursor: pointer;
}

.menu-toggle__label {
	display: none;
}

.menu-toggle__bars {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	width: 18px;
}

.menu-toggle__bars span {
	display: block;
	height: 2px;
	background: currentColor;
	border-radius: 999px;
}

.main-navigation {
	flex: 1 1 auto;
	min-width: 0;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation #primary-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	width: 100%;
}

.main-navigation #primary-menu>li {
	position: relative;
	flex: 0 0 auto;
	padding-bottom: 18px;
	margin-bottom: -18px;
}

.main-navigation #primary-menu>li>a {
	display: inline-flex;
	align-items: center;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	color: #1a1d1b;
	white-space: nowrap;
	cursor: pointer;
}

.main-navigation #primary-menu>li>a:hover,
.main-navigation #primary-menu>li:hover>a,
.main-navigation #primary-menu>li.focus>a {
	color: #1b4332;
}

.main-navigation .menu-item-pill>a {
	justify-content: center;
	min-height: 40px;
	min-width: 92px;
	padding: 0 16px;
	border-radius: 999px;
	background: #1b4332;
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.01em;
	box-shadow: none;
}

.main-navigation .menu-item-pill>a:hover,
.main-navigation .menu-item-pill.focus>a,
.main-navigation .menu-item-pill:hover>a {
	background: #2D5A46;
	color: #fff !important;
}

.main-navigation .sub-menu {
	position: absolute;
	left: 0;
	top: calc(100% - 2px);
	display: block;
	min-width: 280px;
	padding: 0.75rem 0;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(22, 56, 44, 0.1);
	border-radius: 18px;
	box-shadow: 0 18px 36px rgba(19, 28, 22, 0.08);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	z-index: 50;
}

.main-navigation .sub-menu.sub-menu--align-right {
	left: auto;
	right: 0;
}

.main-navigation .sub-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -20px;
	height: 20px;
}

.main-navigation .sub-menu .sub-menu {
	left: calc(100% - 2px);
	top: -0.75rem;
}

.main-navigation .sub-menu .sub-menu.sub-menu--align-right {
	left: auto;
	right: calc(100% - 2px);
}

.main-navigation .sub-menu .sub-menu::before {
	content: "";
	position: absolute;
	left: -20px;
	top: 0;
	bottom: 0;
	width: 20px;
}

.main-navigation li:hover>.sub-menu,
.main-navigation li:focus-within>.sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.main-navigation .sub-menu li {
	position: relative;
}

.main-navigation .sub-menu li.menu-item-has-children {
	padding-right: 14px;
	margin-right: -14px;
}

.main-navigation .sub-menu a {
	display: block;
	padding: 0.7rem 1.25rem;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #1a1d1b;
	white-space: normal;
	cursor: pointer;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu li.focus>a,
.main-navigation .sub-menu li:hover>a {
	color: #1b4332;
	background: rgba(227, 239, 232, 0.6);
}

.submenu-toggle {
	display: none;
}

.header-clone {
	height: 100px;
}

.site-hero {
	position: relative;
	padding-top: 112px;
}

.site-content {
	padding: 0rem 0 0rem;
}

.footer-panel,
.archive-intro,
.entry-header,
.entry-content,
.entry-summary,
.widget,
.no-results {
	margin-bottom: 1.5rem;
}

.footer-panel {
	padding: 1rem;
	border-top: 1px solid #ddd;
}

.site-footer {
	background: #1a1d1b;
	border-radius: 30px;
	margin: 0 16px 16px;
	padding: 24px 24px;
}

.footer-inner {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 0;
	margin: 0 auto;
}

.footer-branding {
	max-width: 480px;
}

.footer-partner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	flex: 0 0 auto;
	gap: 14px;
	padding: 0 12px;
}

.footer-partner__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.92;
	transition: opacity 180ms ease, transform 180ms ease;
}

.footer-partner__link:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.footer-partner__logo {
	display: block;
	width: auto;
	height: 138px;
	max-width: 138px;
	object-fit: contain;
}

.footer-brand__name {
	margin: 0 0 4px;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.5rem;
	line-height: 1;
	font-weight: 600;
	color: #fff;
}

.footer-brand__org {
	margin: 0 0 12px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.66);
}

.footer-brand__contact {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78);
}

.footer-brand__contact a {
	color: inherit;
}

.footer-brand__contact a:hover {
	color: #fff;
}

.footer-nav {
	display: flex;
	align-items: center;
	gap: 54px;
}


.footer-nav ul {
	min-width: 140px;
}

.footer-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-nav li {
	margin-bottom: 10px;
}

.footer-nav a {
	font-size: 1rem;
	line-height: 1.25;
	color: #fff;
}

.footer-nav a:hover {
	color: rgba(255, 255, 255, 0.72);
}

.home-section-shell {
	padding: 44px 16px;
}

.home-hero {
	padding: 20px 16px 0 16px;
}

.home-hero__inner {
	display: flex;
	gap: 28px;
	margin: 0 auto;
}

.home-hero__content {
	flex: 1.05;
	background: #16382c;
	background-image: linear-gradient(135deg, #16382c 0%, #1b4332 55%, #2d5a46 100%);
	border-radius: 32px;
	padding: 42px;
	display: flex;
	flex-direction: column;
	gap: 26px;
	min-height: 640px;
}

.home-badge {
	align-self: flex-start;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	padding: 9px 14px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #fff;
}

.home-hero__title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 4.875rem;
	line-height: 1;
	font-weight: 600;
	color: #fff;
}

.home-hero__description {
	margin: 0;
	font-size: 1.375rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.84);
	max-width: 580px;
}

.home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.home-hero__stats {
	display: flex;
	gap: 16px;
	margin-top: auto;
}

.home-stat {
	flex: 1;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.home-stat strong {
	font-family: "Cormorant Garamond", serif;
	font-size: 2.125rem;
	line-height: 1;
	font-weight: 600;
	color: #fff;
}

.home-stat span {
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
}

.home-hero__media {
	flex: 0.95;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.home-hero__image {
	width: 100%;
	height: 640px;
	object-fit: cover;
	border-radius: 32px;
	flex-shrink: 0;
}

.home-socials {
	background: #fff;
	border: 1px solid #d8e0d8;
	border-radius: 24px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.home-socials__label {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: #2d5a46;
}

.home-socials__links {
	display: flex;
	align-items: center;
	gap: 12px;
}

.home-socials__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: #1b4332;
	color: #fff;
	transition: transform 180ms ease, background-color 180ms ease;
}

.home-socials__link:hover {
	background: #2d5a46;
	transform: translateY(-1px);
}

.home-socials__link svg {
	width: 35px;
	height: 35px;
}

.home-section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 24px;
	gap: 16px;
}

.home-section-header__text {
	max-width: 760px;
}

.home-kicker {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #2d5a46;
	margin-bottom: 10px;
}

.home-kicker--light {
	color: rgba(255, 255, 255, 0.7);
}

.home-section-title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.875rem;
	line-height: 1.05;
	font-weight: 600;
	color: #1a1d1b;
}

.home-programs {
	padding-top: 44px;
}

.home-programs__grid {
	display: flex;
	gap: 20px;
}

.home-card {
	background: #fff;
	border: 1px solid #d8e0d8;
	border-radius: 28px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}

.home-card--dark {
	background: #16382c;
	border-color: transparent;
}

.home-card__media {
	height: 250px;
	border-radius: 20px;
	overflow: hidden;
}

.home-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.home-card__eyebrow {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #2d5a46;
}

.home-card__eyebrow--light {
	color: rgba(255, 255, 255, 0.72);
}

.home-card__title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.125rem;
	line-height: 1.05;
	font-weight: 600;
	color: #1a1d1b;
}

.home-card__title--light {
	color: #fff;
}

.home-card__desc {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
	color: #52605a;
}

.home-card__title a {
	color: inherit;
	text-decoration: none;
}

.home-card__title a:hover {
	text-decoration: underline;
}

.home-card__media a {
	display: block;
}

.home-quicklinks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.home-quicklinks li {
	flex: 1;
}

.home-quicklinks a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 16px 18px;
	font-size: 1rem;
	line-height: 1.25;
	color: #fff;
}

.home-quicklinks a:hover {
	background: rgba(255, 255, 255, 0.14);
}

.home-quicklinks a span:last-child {
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.125rem;
}

.home-public-service {
	padding-top: 0;
}

.home-public-service__inner {
	background: #e3efe8;
	border: 1px solid #cfe0d4;
	border-radius: 30px;
	padding: 34px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.home-public-service__title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.875rem;
	line-height: 1.04;
	font-weight: 600;
	color: #16382c;
	max-width: 800px;
}

.home-public-service__desc {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.65;
	color: #3a403d;
	max-width: 760px;
}

.home-public-service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.home-community {
	padding-top: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.home-community__card {
	background: #16382c;
	border-radius: 30px;
	padding: 34px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.home-community__card .home-kicker {
	color: rgba(255, 255, 255, 0.7);
}

.home-community__title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.875rem;
	line-height: 1.04;
	font-weight: 600;
	color: #fff;
}

.home-community__desc {
	margin: 0;
	font-size: 1.125rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78);
}

.home-contact-cta {
	padding-top: 0;
}

.home-contact-cta__inner {
	background: #16382c;
	background-image: linear-gradient(135deg, #16382c 0%, #1b4332 100%);
	border-radius: 30px;
	padding: 34px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
}

.home-contact-cta__title {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 2.875rem;
	line-height: 1.04;
	font-weight: 600;
	color: #fff;
	max-width: 700px;
}

.home-contact-cta__aside {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-start;
}

.home-contact-cta__contact {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	white-space: pre-line;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
	text-decoration: none;
	white-space: nowrap;
}

.btn-primary {
	background: #1b4332;
	color: #fff;
}

.btn-primary:hover {
	background: #2D5A46;
	color: #fff;
}

.btn-primary--light {
	background: #fff;
	color: #16382c;
}

.btn-primary--light:hover {
	background: #2D5A46;
	color: #fff;
}

.btn-secondary {
	background: #fff;
	color: #1a1d1b;
	border: 1px solid #c8d3ca;
}

.btn-secondary:hover {
	background: #E3EFE8;
	color: #1a1d1b;
}

.btn-outline {
	background: #fff;
	color: #1a1d1b;
	border: 1px solid #d8e0d8;
	height: 46px;
	font-size: 0.875rem;
}

.btn-outline:hover {
	background: #f4f6f2;
	color: #1a1d1b;
}

.btn-ghost-light {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.24);
	height: 52px;
}

.btn-ghost-light:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

@media (max-width: 1280px) and (min-width: 1025px) {
	.site-header__inner {
		padding: 16px 18px;
		gap: 18px;
	}

	.site-branding-wrap {
		gap: 10px;
	}

	.site-logo .custom-logo {
		height: 46px;
		max-width: 46px;
	}

	.site-title {
		font-size: 1.55rem;
	}

	.main-navigation #primary-menu {
		gap: 0.7rem;
	}

	.main-navigation #primary-menu>li>a,
	.main-navigation .menu-item-pill>a {
		font-size: 14px;
	}

	.main-navigation .menu-item-pill>a {
		min-width: 82px;
		padding: 0 14px;
	}
}

@media (max-width: 1024px) {

	.main-navigation #primary-menu>li>a:hover,
	.main-navigation #primary-menu>li:hover>a,
	.main-navigation #primary-menu>li.focus>a {
		color: #E3EFE8;
		cursor: pointer;
	}

	.site-header {
		padding: 16px 16px 0;
	}

	.home-hero {
		padding: 0px 16px 0 16px;
	}

	.site-header__inner {
		padding: 14px 16px;
		min-height: 72px;
	}

	.site-branding-wrap {
		gap: 10px;
	}

	.site-logo .custom-logo {
		height: 44px;
		max-width: 44px;
	}

	.site-title {
		font-size: 1.45rem;
	}

	.menu-toggle {
		display: inline-flex;
		flex: 0 0 auto;
	}

	.main-navigation {
		display: none;
		position: absolute;
		left: 16px;
		right: 16px;
		top: calc(100% + 10px);
		padding: 0.5rem 0;
		background: rgba(21, 55, 42, 0.98);
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 28px;
		box-shadow: 0 18px 40px rgba(13, 23, 17, 0.2);
	}

	.main-navigation.is-open {
		display: block;
	}

	.main-navigation #primary-menu {
		display: block;
	}

	.main-navigation #primary-menu>li {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.main-navigation #primary-menu>li:first-child {
		border-top: 0;
	}

	.main-navigation #primary-menu>li>a,
	.main-navigation .sub-menu a {
		display: block;
		padding: 1rem 1.25rem;
		font-size: 0.98rem;
		line-height: 1.3;
		color: #fff;
	}

	.main-navigation .menu-item-pill>a {
		min-height: 0;
		padding: 1rem 1.25rem;
		border-radius: 0;
		background: transparent;
		color: #fff;
		font-weight: 500;
	}

	.main-navigation .menu-item-pill>a:hover {
		background: transparent;
	}

	.main-navigation .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0.5rem;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		display: none;
	}

	.main-navigation .sub-menu .sub-menu {
		left: auto;
		top: auto;
	}

	.main-navigation .menu-item-open>.sub-menu {
		display: block;
	}

	.main-navigation .sub-menu a {
		padding-left: 2rem;
		color: rgba(255, 255, 255, 0.84);
	}

	.main-navigation .sub-menu .sub-menu a {
		padding-left: 2.75rem;
	}

	.submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 0.9rem;
		top: 0.8rem;
		width: 36px;
		height: 36px;
		padding: 0;
		border: 0;
		background: transparent;
		color: rgba(255, 255, 255, 0.76);
		cursor: pointer;
	}

	.submenu-toggle::before,
	.submenu-toggle::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		background: currentColor;
		transform: translate(-50%, -50%);
	}

	.submenu-toggle::before {
		width: 12px;
		height: 1px;
	}

	.submenu-toggle::after {
		width: 1px;
		height: 12px;
	}

	.menu-item-open>.submenu-toggle::after {
		opacity: 0;
	}

}


@media (max-width: 900px) {
	.home-hero__inner {
		flex-direction: column-reverse;
	}

	.home-programs__grid {
		flex-direction: column;
	}

	.home-community {
		grid-template-columns: 1fr;
	}

	.home-contact-cta__inner {
		flex-direction: column;
	}

	.footer-partner {
		flex-direction: row;
	}

	.footer-inner {
		flex-direction: column;
	}

	.footer-nav {
		flex-direction: row;
		gap: 32px;
	}
}

@media (max-width: 640px) {
	.home-section-shell {
		padding-left: 16px;
		padding-right: 16px;
	}

	.home-hero__content {
		padding: 28px;
		border-radius: 24px;
		gap: 20px;
	}

	.home-hero__title {
		font-size: 3rem;
	}

	.home-hero__description {
		font-size: 1.125rem;
	}

	.home-hero__stats {
		flex-direction: column;
		gap: 10px;
	}

	.home-stat {
		flex-direction: row;
		align-items: baseline;
		gap: 12px;
	}

	.home-hero__image {
		height: 280px;
		border-radius: 24px;
	}

	.home-section-title {
		font-size: 2rem;
	}

	.home-section-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.home-public-service__inner {
		padding: 24px;
		border-radius: 24px;
	}

	.home-public-service__title {
		font-size: 2rem;
	}

	.home-community__card {
		padding: 24px;
		border-radius: 24px;
	}

	.home-community__title {
		font-size: 2rem;
	}

	.home-contact-cta__inner {
		padding: 24px;
		border-radius: 24px;
	}

	.home-contact-cta__title {
		font-size: 2rem;
	}

	.home-socials__link {
		width: 44px;
		height: 44px;
	}

	.footer-nav {
		gap: 24px;
	}

	.footer-partner {
		flex-direction: row;
		padding: 0;
	}

	.footer-brand__name {
		font-size: 1.75rem;
	}

	.site-footer {
		border-radius: 24px;
		margin: 0 16px 16px;
	}

	.footer-inner {
		padding: 24px 16px;
	}

}

@media (max-width: 390px) {
	.site-title {
		font-size: 1.2rem;
	}
}

/* ============================================
   MARKETING PAGE
   ============================================ */

.marketing-main {
	padding-top: 0;
}


.marketing-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.marketing-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.marketing-shell+.marketing-shell {
	margin-top: 36px;
}

.marketing-panel {
	border-radius: 32px;
	padding: 28px;
}

.marketing-panel--outline {
	background: #fff;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.marketing-panel--soft {
	background: #eaf2ec;
	border: 1px solid #d8e0d8;
}

.marketing-panel--dark {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.marketing-hero-row {
	align-items: stretch;
}

.marketing-hero-card {
	flex: 1 1 0;
	min-width: 0;
	border-radius: 32px;
	padding: 42px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.marketing-summary-card {
	width: 360px;
	flex-shrink: 0;
}

.marketing-kicker {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 14px;
}

.marketing-kicker--dark {
	color: rgba(255, 255, 255, 0.72);
}

.marketing-kicker--muted {
	color: #486456;
}

.marketing-hero-card__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 4.25rem;
	font-weight: 600;
	line-height: 1.1;
	margin: 0;
	color: #fff;
}

.marketing-hero-card__description {
	font-size: 1.125rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.85);
	margin: 20px 0 0;
	max-width: 760px;
}

.marketing-summary-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.25rem;
	line-height: 1.05;
	color: #1a1d1b;
}

.marketing-summary-card__text {
	margin: 16px 0 0;
	font-size: 1rem;
	line-height: 1.75;
	color: #516256;
}

.marketing-facts {
	align-items: stretch;
	gap: 14px;
}

.marketing-stat-card,
.marketing-contact-card {
	min-height: 164px;
}

.marketing-stat-card {
	flex: 1 1 0;
	padding: 28px;
	border-radius: 24px;
}

.marketing-stat-card--featured {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.marketing-stat-card__value {
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	line-height: 1;
	font-weight: 600;
	margin-bottom: 10px;
}

.marketing-stat-card__value--dark {
	color: #1a1d1b;
}

.marketing-stat-card__label {
	display: block;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.76);
}

.marketing-stat-card__label--dark {
	color: #617068;
}

.marketing-contact-card {
	width: 320px;
	flex-shrink: 0;
}

.marketing-contact-card__phone {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.25rem;
	line-height: 1.05;
	color: #1f342a;
}

.marketing-contact-card__text {
	margin: 16px 0 0;
	font-size: 1rem;
	line-height: 1.7;
	color: #4f6357;
}

.marketing-body {
	align-items: flex-start;
}

.marketing-body__main {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.marketing-body__aside {
	width: 320px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.marketing-content-card {
	padding: 26px;
}

.marketing-section-title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	line-height: 1;
	color: #1b1d1b;
}

.marketing-section-text {
	margin: 16px 0 0;
	font-size: 1rem;
	line-height: 1.8;
	color: #5f6762;
}

.marketing-section-text--tight {
	max-width: 560px;
}

.marketing-split-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 22px;
}

.marketing-mini-card {
	border-radius: 20px;
	background: #f5f5ef;
	padding: 18px;
}

.marketing-mini-card__title {
	margin: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1.75rem;
	line-height: 1.05;
	color: #274336;
}

.marketing-mini-card__text {
	margin: 10px 0 0;
	font-size: 0.9375rem;
	line-height: 1.8;
	color: #5b6560;
}

.marketing-quote-card {
	margin-top: 18px;
	border-radius: 24px;
	border: 1px solid #e1e5db;
	background: #fbfbf7;
	padding: 24px;
}

.marketing-quote-card__text {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.25rem;
	line-height: 1.2;
	color: #2a2b27;
}

.marketing-side-card {
	padding: 20px 22px;
}

.marketing-side-card__text {
	margin: 0;
	font-size: 1rem;
	line-height: 1.85;
	color: #4c6257;
}

.marketing-side-card--contact .marketing-side-card__contact-title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	line-height: 0.96;
	color: #fff;
}

.marketing-side-card__contact-text {
	margin: 18px 0 0;
	font-size: 1rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.84);
}

.marketing-side-card__contact-title--small {
	font-size: 2.4rem;
	line-height: 1;
}

.marketing-side-card__contact-text--compact {
	margin-top: 12px;
	line-height: 1.7;
}

.marketing-visual {
	align-items: stretch;
}

.marketing-visual__story {
	flex: 1 1 0;
	min-width: 0;
	padding: 22px;
}

.marketing-visual__images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.marketing-visual__touchpoints {
	width: 320px;
	flex-shrink: 0;
	padding: 22px;
}

.marketing-media-card,
.marketing-gallery__item {
	overflow: hidden;
	border-radius: 20px;
	background: #d9ddd7;
}

.marketing-media-card img,
.marketing-gallery__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.marketing-media-card {
	aspect-ratio: 488 / 220;
}

.marketing-touchpoints-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 18px;
}

.marketing-touchpoint-pill {
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.04);
	font-size: 0.9375rem;
	line-height: 1.45;
	color: #fff;
}

.marketing-gallery {
	gap: 18px;
}

.marketing-gallery__item {
	flex: 1 1 0;
	height: 210px;
}

.marketing-page-cta__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 24px 28px;
	width: 100%;
}

.marketing-page-cta__content {
	min-width: 0;
}

.marketing-page-cta__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.08;
	color: #1f352a;
}

/* Tablet */
@media (max-width: 1100px) {

	.marketing-hero-row,
	.marketing-body,
	.marketing-page-cta__inner {
		flex-direction: column;
	}

	.marketing-summary-card,
	.marketing-contact-card,
	.marketing-body__aside,
	.marketing-visual__touchpoints {
		width: 100%;
	}

	.marketing-visual,
	.marketing-body__aside {
		flex-direction: column-reverse;
	}

	.marketing-hero-card__title {
		font-size: 3.4rem;
	}

	.marketing-section-title,
	.marketing-page-cta__title,
	.marketing-side-card--contact .marketing-side-card__contact-title {
		font-size: 2.5rem;
	}

	.marketing-visual__images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile */
@media (max-width: 640px) {
	.marketing-page {
		padding: 16px 0 32px;
	}

	.marketing-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.marketing-shell+.marketing-shell {
		margin-top: 16px;
	}

	.marketing-panel,
	.marketing-hero-card,
	.marketing-content-card,
	.marketing-page-cta__inner,
	.marketing-stat-card {
		padding: 20px;
		border-radius: 24px;
	}

	.marketing-hero-card__title,
	.marketing-summary-card__title,
	.marketing-section-title,
	.marketing-page-cta__title,
	.marketing-side-card--contact .marketing-side-card__contact-title {
		font-size: 2rem;
	}

	.marketing-split-cards,
	.marketing-facts {
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	.marketing-visual__images,
	.marketing-gallery {
		grid-template-columns: 1fr;
	}

	.marketing-stat-card__value,
	.marketing-contact-card__phone,
	.marketing-quote-card__text {
		font-size: 1.75rem;
	}

	.marketing-body__main,
	.marketing-body__aside {
		width: 100%;
	}

	.marketing-page-cta__inner .btn {
		width: 100%;
	}

	.marketing-gallery__item {
		height: 180px;
	}
}

/* ============================================
   FACILITY PAGE
   ============================================ */

.facility-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.facility-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.facility-shell+.facility-shell {
	margin-top: 18px;
}

.facility-panel {
	border-radius: 32px;
	padding: 28px;
}

.facility-panel--outline {
	background: #fff;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.facility-panel--soft {
	background: #eaf2ec;
	border: 1px solid #d8e0d8;
}

.facility-panel--dark {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.facility-kicker {
	display: inline-block;
	margin-bottom: 12px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #486456;
}

.facility-kicker--muted {
	color: #486456;
}

.facility-kicker--dark {
	color: rgba(255, 255, 255, 0.72);
}

.facility-hero-row {
	align-items: stretch;
}

.facility-hero-card {
	flex: 1 1 0;
	min-width: 0;
	padding: 34px;
}

.facility-hero-card__title,
.facility-related-card__title,
.facility-cta__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	color: #1a1d1b;
}

.facility-hero-card__title {
	font-size: 3.75rem;
	line-height: 0.98;
}

.facility-hero-card__text,
.facility-about-card__text,
.facility-related-card__text,
.facility-contact-card__text {
	font-size: 1rem;
	line-height: 1.75;
	color: #56645c;
}

.facility-hero-card__text {
	max-width: 720px;
	margin: 18px 0 0;
}

.facility-hero-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 26px;
	align-items: center;
}

.btn-link {
	display: inline-flex;
	align-items: center;
	padding: 0;
	border: 0;
	background: none;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1a1d1b;
}

.facility-hero-media {
	width: 520px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 32px;
	background: #d9ddd7;
}

.facility-hero-media img,
.facility-gallery-fallback__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.facility-facts {
	align-items: stretch;
	gap: 12px;
}

.facility-stat-card,
.facility-contact-card {
	min-height: 154px;
	border-radius: 24px;
	padding: 26px;
}

.facility-stat-card {
	flex: 1 1 0;
	background: #fff;
	border: 1px solid #d8e0d8;
}

.facility-stat-card--featured {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
	color: #fff;
}

.facility-stat-card__value,
.facility-contact-card__phone {
	display: block;
	margin-bottom: 8px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	line-height: 1;
	color: inherit;
}

.facility-stat-card__label {
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #5b6761;
}

.facility-stat-card--featured .facility-stat-card__label {
	color: rgba(255, 255, 255, 0.76);
}

.facility-contact-card {
	width: 360px;
	flex-shrink: 0;
}

.facility-body {
	align-items: flex-start;
}

.facility-body__main {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.facility-body__aside {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.facility-about-card__text {
	margin: 0;
}

.facility-about-card__list {
	margin: 18px 0 0;
	padding-left: 18px;
	color: #55625b;
	line-height: 1.85;
}

.facility-about-card__list li+li {
	margin-top: 4px;
}

.facility-gallery-card {
	padding: 18px;
}

.facility-gallery-card .modula-items,
.facility-gallery-card .modula-gallery {
	margin: 0 !important;
}

.facility-gallery-fallback {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.facility-gallery-fallback__item {
	height: 220px;
	overflow: hidden;
	border-radius: 20px;
	background: #d9ddd7;
}

.facility-price-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-top: 1px solid #e4e8e1;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #56645c;
}

.facility-price-row:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.facility-price-row strong {
	color: #1a1d1b;
	white-space: nowrap;
}

.facility-related-card__title {
	font-size: 2.4rem;
	line-height: 1.05;
	color: #fff;
}

.facility-related-card__text {
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.84);
}

.facility-cta__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.facility-cta__title {
	font-size: 2.6rem;
	line-height: 1.08;
}

.project-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.project-hero-row,
.project-facts,
.project-body {
	align-items: stretch;
}

.project-hero-card,
.project-contact-card {
	min-width: 0;
}

.project-contact-card__name {
	margin: 0 0 10px;
	font-family: 'Cormorant Garamond', serif;
	font-size: 2.4rem;
	line-height: 1.02;
	color: #1f352a;
}

.project-contact-card__details {
	margin: 0 0 12px;
	font-size: 0.95rem;
	line-height: 1.8;
	color: #4f6357;
}

.project-body .facility-about-card__text {
	max-width: 920px;
}

.news-archive-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.news-archive-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.news-archive-shell+.news-archive-shell {
	margin-top: 18px;
}

.news-hero-card,
.news-filter-card,
.news-featured-card,
.news-mini-card,
.news-side-card,
.news-pagination-card {
	border-radius: 32px;
	background: #fff;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.news-hero-card {
	flex: 1 1 0;
	min-width: 0;
	padding: 34px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
	color: #fff;
}

.news-filter-card {
	width: 360px;
	flex-shrink: 0;
	padding: 24px;
}

.news-kicker {
	display: inline-block;
	margin-bottom: 12px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.news-kicker--dark {
	color: rgba(255, 255, 255, 0.72);
}

.news-kicker--muted {
	color: #486456;
}

.news-hero-card__title,
.news-side-card__title,
.news-card__title,
.news-mini-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
}

.news-hero-card__title {
	font-size: 4.1rem;
	line-height: 0.98;
	color: #fff;
}

.news-hero-card__text {
	max-width: 760px;
	margin: 16px 0 0;
	font-size: 1rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.84);
}

.news-filter-group+.news-filter-group {
	margin-top: 18px;
}

.news-filter-label {
	display: block;
	margin-bottom: 10px;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1f251f;
}

.news-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.news-filter-chip {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: #f3f4ef;
	font-size: 0.875rem;
	line-height: 1;
	color: #1f251f;
}

.news-filter-chip.is-active {
	background: #174533;
	color: #fff;
}

.news-search-form input[type='search'] {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #d8e0d8;
	border-radius: 14px;
	background: #fff;
	font: inherit;
}

.news-grid-shell {
	align-items: flex-start;
}

.news-grid-main {
	flex: 1 1 0;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.news-grid-main--single {
	grid-template-columns: 1fr;
}

.news-featured-card,
.news-mini-card {
	overflow: hidden;
}

.news-featured-card__media,
.news-mini-card__media {
	display: block;
	background: #d9ddd7;
}

.news-featured-card__media img,
.news-mini-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-featured-card__media {
	height: 220px;
}

.news-featured-card__body,
.news-mini-card__body {
	padding: 18px 20px 22px;
}

.news-card__meta,
.news-mini-card__meta {
	margin-bottom: 10px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5d6862;
}

.news-card__title {
	font-size: 2rem;
	line-height: 1.05;
	color: #1b1d1b;
}

.news-card__excerpt,
.news-mini-card__excerpt,
.news-side-card__text,
.news-side-list a {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #5d6862;
}

.news-card__excerpt,
.news-mini-card__excerpt {
	margin: 12px 0 0;
}

.news-mini-card__title {
	font-size: 1.7rem;
	line-height: 1.05;
	color: #1b1d1b;
}

.news-grid-sidebar {
	width: 330px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.news-side-card {
	padding: 22px;
}

.news-side-card--dark {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
}

.news-side-card--dark .news-kicker--muted,
.news-side-card--dark .news-side-card__title,
.news-side-card--dark .news-side-list a {
	color: #fff;
}

.news-side-card--dark .news-side-list li+li {
	border-top-color: rgba(255, 255, 255, 0.12);
}

.news-side-card__title {
	font-size: 2.2rem;
	line-height: 1.06;
	color: #1b1d1b;
}

.news-side-list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.news-side-list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #e4e8e1;
}

.news-side-list li:first-child {
	padding-top: 0;
	border-top: 0;
}

.news-side-list strong {
	font-size: 0.8125rem;
	color: #738078;
	white-space: nowrap;
}

.news-side-card--dark .news-side-list strong {
	color: rgba(255, 255, 255, 0.72);
}

.news-pagination-card {
	padding: 16px 24px;
}

.news-pagination-card .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.news-pagination-card .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	background: #f3f4ef;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1f251f;
}

.news-pagination-card .page-numbers.current,
.news-pagination-card .page-numbers:hover {
	background: #174533;
	color: #fff;
}

.news-pagination-card .page-numbers.next,
.news-pagination-card .page-numbers.prev {
	padding: 0 18px;
}

.document-page,
.act-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.document-shell,
.act-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.document-shell+.document-shell,
.act-shell+.act-shell {
	margin-top: 20px;
}

.document-hero-card,
.document-content-card,
.document-list-card,
.act-hero-card,
.act-quick-card,
.act-content-card,
.act-structure-card,
.act-structure-item {
	border-radius: 32px;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.document-hero-card,
.act-hero-card {
	width: 100%;
	padding: 34px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
	color: #fff;
}

.document-hero-card__title,
.act-hero-card__title,
.document-content-card__title,
.act-content-card__title,
.act-quick-card__title,
.act-structure-item h3 {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	color: #1a1d1b;
}

.document-hero-card__title,
.act-hero-card__title {
	font-size: 4rem;
	line-height: 1;
	color: #fff;
}

.document-content-card,
.act-content-card,
.act-structure-card {
	width: 100%;
	padding: 28px;
	background: #fff;
}

.document-content-card__title,
.act-content-card__title {
	font-size: 3rem;
	line-height: 1.04;
	margin-bottom: 18px;
}

.document-list-card,
.act-content-card__list {
	padding: 22px;
	background: #fbfbf7;
}

.document-list-card p,
.document-list-card li,
.act-content-card__list p,
.act-content-card__list li,
.act-content-card__intro,
.act-quick-card__text,
.act-structure-item p {
	font-size: 1rem;
	line-height: 1.9;
	color: #56645c;
}

.document-list-card a,
.act-content-card__list a {
	color: #174533;
	text-decoration: underline;
}

.document-list-card span,
.act-content-card__list span {
	color: inherit !important;
	background: transparent !important;
}

.document-list-card p:last-child,
.act-content-card__list p:last-child,
.act-content-card__intro:last-child,
.act-quick-card__text:last-child,
.act-structure-item p:last-child {
	margin-bottom: 0;
}

.procurement-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.procurement-shell {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	padding: 0 24px;
	margin-top: 20px;
}

.procurement-section-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: 32px;
	border: 1px solid #d8e0d8;
	background: #fff;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
	overflow: hidden;
}

.procurement-section-card__header {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 16px;
	padding: 22px 24px;
	border-bottom: 1px solid #e4e8e1;
}

.procurement-section-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	line-height: 1.05;
	font-weight: 600;
	color: #1a1d1b;
}

.procurement-section-card__title a {
	color: inherit;
	text-decoration: none;
}

.procurement-section-card__title a:hover {
	color: #174533;
	text-decoration: underline;
}

.procurement-section-card__body {
	height: 500px;
	overflow: auto;
	padding: 20px 24px 0;
	scrollbar-gutter: stable;
}

.procurement-section-card__body-wrap {
	position: relative;
}

.procurement-section-card__fade {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 74px;
	border-bottom-left-radius: 32px;
	border-bottom-right-radius: 32px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 78%);
	pointer-events: none;
}

.procurement-section-card__body p,
.procurement-section-card__body li {
	font-size: 0.95rem;
	line-height: 1.8;
	color: #56645c;
}

.procurement-section-card__body a {
	color: #174533;
	text-decoration: underline;
}

.procurement-section-card__body>*:last-child {
	margin-bottom: 0;
}

.about-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.about-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.about-shell+.about-shell {
	margin-top: 18px;
}

.about-hero-card,
.about-summary-card,
.about-content-card,
.about-side-card,
.about-pill-card,
.about-quote-card {
	border-radius: 32px;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.about-hero-row {
	align-items: stretch;
}

.about-hero-card {
	flex: 1 1 0;
	min-width: 0;
	padding: 34px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
	color: #fff;
}

.about-summary-card {
	width: 390px;
	flex-shrink: 0;
	padding: 24px;
	background: #fff;
}

.about-hero-card__title,
.about-summary-card__title,
.about-section-title,
.about-side-card h3,
.about-pill-card h3 {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
	color: #1a1d1b;
}

.about-hero-card__title {
	font-size: 4rem;
	line-height: 1;
	color: #fff;
}

.about-hero-card__text,
.about-summary-card__text,
.about-section-text,
.about-pill-card p,
.about-side-card p,
.about-quote-card p {
	font-size: 1rem;
	line-height: 1.8;
	color: #56645c;
}

.about-hero-card__text {
	max-width: 760px;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.84);
}

.about-summary-card__title {
	font-size: 2.3rem;
	line-height: 1.06;
}

.about-summary-card__text {
	margin: 16px 0 0;
}

.about-body-row {
	align-items: flex-start;
}

.about-main-column {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.about-side-column {
	width: 360px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.about-content-card {
	padding: 28px;
	background: #fff;
}

.about-section-title {
	font-size: 3rem;
	line-height: 1.04;
	margin-bottom: 16px;
}

.about-section-text {
	margin: 0;
}

.about-pill-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.about-pill-card {
	padding: 18px;
	background: #fbfbf7;
}

.about-pill-card h3,
.about-side-card h3 {
	font-size: 1.8rem;
	line-height: 1.08;
	margin-bottom: 8px;
}

.about-pill-card p,
.about-side-card p,
.about-quote-card p {
	margin: 0;
}

.about-quote-card {
	padding: 22px;
	background: #fbfbf7;
}

.about-quote-card p {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	line-height: 1.22;
	color: #2b2d29;
}

.about-side-card {
	padding: 22px;
}

.about-side-card--soft {
	background: #eaf2ec;
}

.about-side-card--dark {
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	border-color: transparent;
}

.about-side-card--dark h3,
.about-side-card--dark p {
	color: #fff;
}

.facilities-overview-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.facilities-overview-shell {
	width: 100%;
	padding: 0 24px;
}

.facilities-overview-shell+.facilities-overview-shell {
	margin-top: 20px;
}

.facilities-overview-hero__card {
	padding: 34px;
	border-radius: 32px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.facilities-overview-hero__title,
.facilities-overview-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
}

.facilities-overview-hero__title {
	font-size: 4rem;
	line-height: 1;
	color: #fff;
}

.facilities-overview-hero__text,
.facilities-overview-card__text {
	font-size: 1rem;
	line-height: 1.8;
}

.facilities-overview-hero__text {
	max-width: 760px;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.84);
}

.facilities-overview-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.facilities-overview-card {
	overflow: hidden;
	border-radius: 32px;
	border: 1px solid #d8e0d8;
	background: #fff;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.facilities-overview-card__media {
	display: block;
	background: #d9ddd7;
	height: 220px;
}

.facilities-overview-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.facilities-overview-card__body {
	padding: 22px;
}

.facilities-overview-card__title {
	font-size: 2rem;
	line-height: 1.05;
	color: #1a1d1b;
}

.facilities-overview-card__title a {
	color: inherit;
	text-decoration: none;
}

.facilities-overview-card__title a:hover {
	color: #174533;
	text-decoration: underline;
}

.facilities-overview-card__text {
	margin: 12px 0 18px;
	color: #56645c;
}

.projects-overview-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.projects-overview-shell {
	width: 100%;
	padding: 0 24px;
}

.projects-overview-shell+.projects-overview-shell {
	margin-top: 20px;
}

.projects-overview-hero__card {
	padding: 34px;
	border-radius: 32px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.projects-overview-hero__title,
.projects-overview-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 600;
}

.projects-overview-hero__title {
	font-size: 4rem;
	line-height: 1;
	color: #fff;
}

.projects-overview-hero__text,
.projects-overview-card__text {
	font-size: 1rem;
	line-height: 1.8;
}

.projects-overview-hero__text {
	max-width: 760px;
	margin: 16px 0 0;
	color: rgba(255, 255, 255, 0.84);
}

.projects-overview-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.projects-overview-card {
	overflow: hidden;
	border-radius: 32px;
	border: 1px solid #d8e0d8;
	background: #fff;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.projects-overview-card__media {
	display: block;
	background: #d9ddd7;
	height: 220px;
}

.projects-overview-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.projects-overview-card__body {
	padding: 22px;
}

.projects-overview-card__title {
	font-size: 2rem;
	line-height: 1.05;
	color: #1a1d1b;
}

.projects-overview-card__title a {
	color: inherit;
	text-decoration: none;
}

.projects-overview-card__title a:hover {
	color: #174533;
	text-decoration: underline;
}

.projects-overview-card__text {
	margin: 12px 0 18px;
	color: #56645c;
}

.act-hero-row {
	align-items: stretch;
}

.act-hero-card {
	flex: 1 1 0;
	min-width: 0;
}

.act-quick-card {
	width: 390px;
	flex-shrink: 0;
	padding: 24px;
	background: #fff;
}

.act-quick-card__title {
	font-size: 2.2rem;
	line-height: 1.06;
}

.act-structure-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}

.act-structure-item {
	padding: 18px;
	background: #fbfbf7;
}

.act-structure-item h3 {
	font-size: 1.8rem;
	line-height: 1.08;
	margin-bottom: 10px;
}

@media (max-width: 1100px) {

	.facility-facts,
	.facility-gallery-fallback,
	.facility-hero-row,
	.facility-body,
	.facility-cta__inner,
	.news-archive-shell,
	.news-grid-shell,
	.act-hero-row,
	.about-hero-row,
	.about-body-row {
		flex-direction: column;
	}

	.facility-hero-media,
	.facility-contact-card,
	.facility-body__aside,
	.news-filter-card,
	.news-grid-sidebar,
	.act-quick-card,
	.about-summary-card,
	.about-side-column {
		width: 100%;
	}

	.facility-hero-card__title {
		font-size: 3rem;
	}

	.news-hero-card__title {
		font-size: 3rem;
	}

	.news-grid-main {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.facility-page {
		padding: 16px 0 32px;
	}

	.project-page,
	.news-archive-page,
	.document-page,
	.act-page,
	.about-page {
		padding: 16px 0 32px;
	}

	.facility-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.news-archive-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.document-shell,
	.act-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.procurement-shell {
		grid-template-columns: 1fr;
		padding: 0 16px;
		gap: 16px;
	}

	.about-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.facilities-overview-shell {
		padding: 0 16px;
	}

	.projects-overview-shell {
		padding: 0 16px;
	}

	.facility-shell+.facility-shell {
		margin-top: 16px;
	}

	.facility-panel,
	.facility-hero-card,
	.facility-stat-card,
	.facility-contact-card {
		padding: 20px;
		border-radius: 24px;
	}

	.facility-hero-card__title,
	.facility-related-card__title,
	.facility-cta__title,
	.facility-contact-card__phone,
	.facility-stat-card__value,
	.news-hero-card__title,
	.news-card__title,
	.news-mini-card__title,
	.news-side-card__title {
		font-size: 2rem;
	}

	.facility-gallery-fallback__item {
		height: 180px;
	}

	.facility-cta__inner .btn {
		width: 100%;
	}

	.news-featured-card__media {
		height: 180px;
	}

	.document-hero-card__title,
	.act-hero-card__title,
	.document-content-card__title,
	.act-content-card__title,
	.act-quick-card__title,
	.about-hero-card__title,
	.about-summary-card__title,
	.about-section-title,
	.about-quote-card p {
		font-size: 2rem;
	}

	.act-structure-grid {
		grid-template-columns: 1fr;
	}

	.about-pill-grid {
		grid-template-columns: 1fr;
	}

	.facilities-overview-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.projects-overview-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.facilities-overview-hero__title,
	.facilities-overview-card__title,
	.projects-overview-hero__title,
	.projects-overview-card__title {
		font-size: 2rem;
	}

	.facilities-overview-card__media {
		height: 180px;
	}

	.projects-overview-card__media {
		height: 180px;
	}
}

/* ============================================
   CONTACT PAGE
   ============================================ */

.contact-page {
	background: #f7f5ef;
	padding: 20px 0 44px;
}

.contact-shell {
	display: flex;
	width: 100%;
	padding: 0 24px;
	gap: 24px;
}

.contact-shell+.contact-shell {
	margin-top: 24px;
}

.contact-panel {
	border-radius: 32px;
	padding: 28px;
}

.contact-panel--outline {
	background: #fff;
	border: 1px solid #d8e0d8;
	box-shadow: 0 2px 12px rgba(19, 32, 25, 0.04);
}

.contact-panel--soft {
	background: #eaf2ec;
	border: 1px solid #d8e0d8;
}

.contact-hero-row {
	align-items: stretch;
}

.contact-hero-card {
	flex: 1 1 0;
	min-width: 0;
	border-radius: 32px;
	padding: 42px;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
}

.contact-quick-card {
	width: 400px;
	flex-shrink: 0;
}

.contact-kicker {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.contact-kicker--dark {
	color: rgba(255, 255, 255, 0.72);
}

.contact-kicker--muted {
	color: #486456;
}

.contact-hero-card__title,
.contact-form-card__title,
.contact-map-card__title,
.contact-quick-card__title {
	margin: 0;
	font-family: 'Cormorant Garamond', serif;
	color: #1a1d1b;
}

.contact-hero-card__title {
	font-size: 4.25rem;
	line-height: 1.03;
	color: #fff;
}

.contact-hero-card__text {
	max-width: 760px;
	margin: 18px 0 0;
	font-size: 1.125rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.84);
}

.contact-quick-card__title {
	font-size: 2.25rem;
	line-height: 1.08;
}

.contact-quick-card__text,
.contact-side-card__item,
.contact-side-card__note {
	margin: 14px 0 0;
	font-size: 1rem;
	line-height: 1.8;
	color: #526358;
}

.contact-body {
	align-items: flex-start;
}

.contact-form-card {
	flex: 1 1 0;
	min-width: 0;
}

.contact-form-card__title {
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 18px;
}

.contact-sidebar {
	width: 380px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.contact-side-card__item+.contact-side-card__item {
	margin-top: 18px;
}

.contact-form-shell .wpcf7,
.contact-form-shell form {
	margin: 0;
}

.contact-form-shell__live .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

.contact-form-shell__live .wpcf7-form>p {
	margin: 0;
}

.contact-form-shell__live .wpcf7-form>p:nth-of-type(1),
.contact-form-shell__live .wpcf7-form>p:nth-of-type(2) {
	grid-column: span 1;
}

.contact-form-shell__live .wpcf7-form>p:nth-of-type(4),
.contact-form-shell__live .wpcf7-form>p:nth-of-type(5),
.contact-form-shell__live .wpcf7-form>p:nth-of-type(6),
.contact-form-shell__live .wpcf7-response-output {
	grid-column: 1 / -1;
}

.contact-form-shell__live .wpcf7-form>p:nth-of-type(3) {
	display: none;
}

.contact-form-shell__live .wpcf7-form>p:nth-of-type(4)::before,
.contact-form-shell__live .wpcf7-form>p:nth-of-type(5)::before {
	display: block;
	margin-bottom: 10px;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #202721;
}

.contact-form-shell p {
	margin: 0;
}

.contact-form-shell br {
	display: none;
}

.contact-form-shell label,
.contact-fallback-form label {
	display: block;
	font-size: 0.9375rem;
	font-weight: 500;
	color: #202721;
}

.contact-form-shell label>span:first-child,
.contact-fallback-form label>span:first-child {
	display: block;
	margin-bottom: 10px;
}

.contact-form-grid,
.contact-form-shell .contact-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}

.contact-form-field,
.contact-form-shell .contact-form-field {
	display: block;
	margin-bottom: 16px;
}

.contact-form-shell input[type='text'],
.contact-form-shell input[type='email'],
.contact-form-shell input[type='tel'],
.contact-form-shell select,
.contact-form-shell textarea,
.contact-fallback-form input,
.contact-fallback-form select,
.contact-fallback-form textarea {
	width: 100%;
	border: 1px solid #d8e0d8;
	border-radius: 14px;
	background: #fff;
	padding: 16px 18px;
	font: inherit;
	color: #1f251f;
	box-sizing: border-box;
}

.contact-form-shell textarea,
.contact-fallback-form textarea {
	min-height: 180px;
	resize: vertical;
}

.contact-form-shell .wpcf7-submit,
.contact-fallback-form .btn {
	margin-top: 8px;
}

.contact-form-shell__live .wpcf7-form>p:nth-of-type(6) {
	display: flex;
	justify-content: flex-start;
}

.contact-form-shell .wpcf7-submit {
	border: 0;
	border-radius: 999px;
	padding: 14px 22px;
	background: #184835;
	color: #fff;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
}

.contact-form-shell .wpcf7-spinner {
	margin: 12px 0 0 12px;
}

.contact-form-shell .wpcf7-response-output {
	margin: 16px 0 0;
	border-radius: 14px;
	padding: 12px 14px;
}

.contact-form-shell .wpcf7-response-output[aria-hidden='true'] {
	display: none !important;
}

.contact-map-card {
	width: 100%;
	padding: 18px;
}

.contact-map-card__title {
	margin: 8px 0 18px;
	font-size: 2.4rem;
	line-height: 1.05;
	text-align: center;
}

.contact-map-card__embed {
	overflow: hidden;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.36);
	min-height: 220px;
}

.contact-map-card__embed iframe {
	display: block;
	width: 100%;
	height: 220px;
	border: 0;
}

@media (max-width: 1100px) {

	.contact-hero-row,
	.contact-body {
		flex-direction: column;
	}

	.contact-quick-card,
	.contact-sidebar {
		width: 100%;
	}

	.contact-hero-card__title {
		font-size: 3.4rem;
	}
}

@media (max-width: 640px) {
	.contact-page {
		padding: 16px 0 32px;
	}

	.contact-shell {
		padding: 0 16px;
		gap: 16px;
	}

	.contact-shell+.contact-shell {
		margin-top: 16px;
	}

	.contact-panel,
	.contact-hero-card {
		padding: 20px;
		border-radius: 24px;
	}

	.contact-hero-card__title,
	.contact-form-card__title,
	.contact-map-card__title,
	.contact-quick-card__title {
		font-size: 2rem;
	}

	.contact-form-grid {
		grid-template-columns: 1fr;
	}

	.contact-form-shell__live .wpcf7-form {
		grid-template-columns: 1fr;
	}

	.contact-form-shell__live .wpcf7-form>p:nth-of-type(1),
	.contact-form-shell__live .wpcf7-form>p:nth-of-type(2) {
		grid-column: 1 / -1;
	}

	.contact-map-card__embed,
	.contact-map-card__embed iframe {
		min-height: 180px;
		height: 180px;
	}

	.contact-form-shell .wpcf7-submit,
	.contact-fallback-form .btn {
		width: 100%;
	}
}

.cookie-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(135deg, #174533 0%, #103628 100%);
	color: #fff;
	padding: 20px 24px;
	z-index: 9999;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
}

.cookie-banner p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	flex: 1 1 300px;
}

.cookie-banner a {
	color: #7fcc9e;
	text-decoration: underline;
}

.cookie-banner a:hover {
	color: #fff;
}

.cookie-buttons {
	display: flex;
	gap: 12px;
	flex-shrink: 0;
}

.cookie-banner .btn {
	padding: 10px 20px;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.cookie-banner .btn-primary {
	background: #fff;
	color: #174533;
	border: none;
}

.cookie-banner .btn-primary:hover {
	background: #e6e6e6;
}

.cookie-banner .btn-secondary {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.cookie-banner .btn-secondary:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 600px) {
	.cookie-banner {
		flex-direction: column;
		text-align: center;
	}

	.cookie-banner p {
		flex: 1 1 auto;
	}

	.cookie-buttons {
		width: 100%;
		justify-content: center;
	}

	.cookie-banner .btn {
		flex: 1 1 auto;
	}
}