:root {
	--ms-green: #0F2D10;
	--ms-beige: rgb(223,215,193);
	--ms-paper: rgb(245,243,234);
	--ms-orange: rgb(217,125,55);
	--ms-ink: rgb(25,24,24);
	--ms-offwhite: rgb(245, 245, 245);
	--ms-beige-lite: #E8E3D4;
}

@font-face {
	font-family: "PP Woodland";
	src: url("../font/PPWoodland-Bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

body {
	background: var(--ms-offwhite);
	color: var(--dl-color-theme-neutral-dark);
	font-family: Montserrat, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.brand-serif {
	font-family: "PP Woodland", "STIX Two Text", serif;
}

.brand-sans {
	font-family: Montserrat, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.ms-green-textcolor {
	color: var(--ms-green) !important;
}

.ms-beige-textcolor {
	color: var(--ms-beige) !important;
}

.ms-paper-textcolor {
	color: var(--ms-paper) !important;
}

.ms-orange-textcolor {
	color: var(--ms-orange) !important;
}

.ms-ink-textcolor {
	color: var(--ms-ink) !important;
}

.ms-offwhite-textcolor {
	color: var(--ms-offwhite) !important;
}

.ms-beige-lite-textcolor {
	color: var(--ms-beige-lite) !important;
}

.ms-green-backgroundcolor {
	background-color: var(--ms-green) !important;
}

.ms-beige-backgroundcolor {
	background-color: var(--ms-beige) !important;
}

.ms-paper-backgroundcolor {
	background-color: var(--ms-paper) !important;
}

.ms-orange-backgroundcolor {
	background-color: var(--ms-orange) !important;
}

.ms-ink-backgroundcolor {
	background-color: var(--ms-ink) !important;
}

.ms-offwhite-backgroundcolor {
	background-color: var(--ms-offwhite) !important;
}

.ms-beige-lite-backgroundcolor {
	background-color: var(--ms-beige-lite) !important;
}

/* Top nav */
.ms-topbar {
	background-color: var(--ms-offwhite);
}

.mobile-collapse {
	z-index: 999;
}

.ms-mobile-toggle {
	width: 62px;
	height: 62px;
	border: 0;
	border-radius: 18px;
	background: rgba(14, 38, 18, 0.88);
	box-shadow: 0 14px 30px rgba(0,0,0,0.18);
	display: grid;
	place-items: center;
	padding: 0;
}

.ms-mobile-toggle:active {
	transform: translateY(1px);
}

.ms-burger {
	position: relative;
	width: 26px;
	height: 2px;
	background: rgba(255,255,255,0.92);
	border-radius: 999px;
	display: block;
}

	.ms-burger::before,
	.ms-burger::after {
		content: "";
		position: absolute;
		left: 0;
		width: 26px;
		height: 2px;
		background: rgba(255,255,255,0.92);
		border-radius: 999px;
	}

	.ms-burger::before {
		top: -8px;
	}

	.ms-burger::after {
		top: 8px;
	}

.CopyrightandTerms {
	text-align: right;
}
	.TermsandPP {
	text-decoration: none;
	color: rgba(255, 255, 255, .75);
}

.ms-navlink {
	color: rgba(25,24,24,.78);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
	padding: .25rem .35rem;
	border-radius: .5rem;
}

	.ms-navlink:hover {
		background: rgba(255,255,255,.45);
		color: rgba(25,24,24,.92);
	}

/* Mobile nav */

.ms-mobile-nav {
	background: var(--ms-green);
	color: #fff;
	border-left: 0;
}

	.ms-mobile-nav::before {
		content: "";
		position: absolute;
		inset: 0;
		background: url("../images/abstractwhitegraygrungetexturepatternbackground1i143-3ppu-400h.png") center/cover no-repeat;
		opacity: .18;
		mix-blend-mode: soft-light;
		pointer-events: none;
	}

	.ms-mobile-nav::after {
		content: "";
		position: absolute;
		right: -35%;
		top: -1rem;
		width: 20rem;
		height: 100vh;
		border-radius: 50%;
		background: rgba(255,255,255,.10);
		pointer-events: none;
	}


	.ms-mobile-nav .offcanvas-header,
	.ms-mobile-nav .offcanvas-body {
		position: relative;
		z-index: 2;
	}

	/* header */
	.ms-mobile-nav .offcanvas-header {
		padding: 18px 18px 8px;
		align-items: flex-start;
	}

.ms-mobile-brand {
	display: flex;
	align-items: center;
	gap: 10px;
}

	.ms-mobile-brand img {
		/*width: 26px;*/
		max-height: 50px;
	}

.ms-mobile-brandname {
	font-weight: 800;
	line-height: 1.05;
}

.ms-mobile-brandsub {
	font-size: .62rem;
	letter-spacing: .28em;
	opacity: .75;
	margin-top: 2px;
}

.ms-mobile-close {
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 12px;
	background: rgba(255,255,255,.14);
	color: #fff;
	display: grid;
	margin-left: auto;
	margin-right: 1rem;
	place-items: center;
}

	.ms-mobile-close i {
		font-size: 18px;
		line-height: 1;
	}

/* body + links */

.ms-desktop-links a.active {
	color: var(--ms-orange);
}

.ms-mobile-nav .offcanvas-body {
	padding: 10px 18px 22px;
}

.ms-mobile-links {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 8px;
}

	.ms-mobile-links a {
		color: rgba(255,255,255,.92);
		text-decoration: none;
		font-weight: 650;
		font-size: 1.15rem;
	}

		.ms-mobile-links a.active {
			color: var(--ms-orange);
		}

		.ms-mobile-links a:active,
		.ms-mobile-links a:hover {
			color: #fff;
		}

.ms-logo-badge {
	width: clamp(150px, 32vw, 215px);
	height: clamp(128px, 28vw, 185px);
	border-radius: 14px;
	background: #fff;
	display: grid;
	place-items: center;
	box-shadow: 0 18px 40px rgba(0,0,0,0.10);
	z-index: 999;
}

	.ms-logo-badge img {
		width: clamp(74px, 16vw, 107px);
		height: clamp(74px, 16vw, 107px);
	}

.ms-topbar {
	margin-top: -20px;
}

main {
	margin-top: -100px;
}

@media (max-width: 576px) {
	main {
		margin-top: -165px;
	}

	.ms-logo-badge {
		border-radius: 0 0 14px 14px;
	}
}

/* Hero */
#section-hero {
	background-color: var(--ms-offwhite);
}

.ms-hero {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	min-height: 720px;
	background: #cfd2c8;
}

	.ms-hero::before {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-101.png") top center/cover no-repeat;
	}

.ms-about-hero > .ms-hero-content {
	min-height: 720px;
	margin: auto;
}

.ms-about-hero::before {
	content: "";
	position: absolute;
	inset: 0;
}
.ms-hero-about::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-about.png") top center/cover no-repeat;
}

.ms-hero-godeeper::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-godeeper.png") top center/cover no-repeat;
}

.ms-hero-giving::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-giving.png") top center/cover no-repeat;
}

.ms-hero-sermon::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-sermon.png") top center/cover no-repeat;
}

.ms-hero-communitygroups::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-communitygroups.png") top center/cover no-repeat;
}

.ms-hero-contact::before {
	background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/hero-contact.png") top center/cover no-repeat;
}


@media (max-width: 576px) {
	#section-hero {
		padding: 0px;
	}

	.ms-hero {
		border-radius: 0px;
		min-height: 100vh;
	}
}



	.ms-hero-content {
		position: relative;
		padding: clamp(2rem, 4vw, 3.25rem);
		min-height: 420px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.ms-hero h1 {
		color: #fff;
		font-weight: 700;
		line-height: .92;
		font-size: clamp(2.6rem, 4vw, 5rem);
	}

	.ms-hero .sub {
		color: rgba(255,255,255,.92);
		margin-top: 2rem;
		font-weight: 600;
	}

	.ms-hero-bar {
		position: relative;
		margin-top: -120px;
	}

	.ms-bar {
		background: rgba(3,26,4,.75);
		border: 1px solid var(--ms-green);
		border-radius: 14px;
		padding: 10px 12px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		max-width: 660px;
		margin: 0 auto;
		box-shadow: 0 16px 40px rgba(0,0,0,0.14);
	}

		.ms-bar .left {
			display: flex;
			align-items: center;
			gap: 10px;
			color: rgba(255,255,255,.92);
			font-weight: 600;
			font-size: .9rem;
		}

	.ms-icon {
		width: 28px;
		height: 28px;
		border-radius: 8px;
		display: grid;
		place-items: center;
	}

	.ms-icon-gap {
		background-color: #DFD7C1;
		height: 100%;
		width: 2px;
	}

	/* Bottom sticky bar */
	.ms-hero-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		margin-top: 0;
		padding: 12px 12px 16px;
		background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0));
		pointer-events: none;
	}

		.ms-hero-bar .ms-bar {
			pointer-events: auto;
		}

	@media (max-width: 576px) {

		.ms-hero h1 {
			margin-top: 50px;
		}

		.ms-hero.ms-hero-bar {
			padding: 12px 5px 16px;
		}

		.ms-bar {
			max-width: 95%;
			border-radius: 12px;
			/*margin: 0 0 5rem 0;*/
			margin: 0;
		}

		.ms-icon-gap {
			display: none;
		}


		.ms-hero-bar .ms-bar {
			flex-direction: column;
			align-items: stretch;
			gap: 12px;
			padding: 14px;
			border-radius: 18px;
		}

			.ms-hero-bar .ms-bar .left {
				width: 100%;
				display: flex;
				align-items: center;
				gap: 12px;
				font-size: 1rem;
			}

		.ms-hero-bar .ms-icon-gap {
			display: none !important;
		}

		.ms-hero-bar .ms-bar > .d-flex {
			width: 100%;
		}

			.ms-hero-bar .ms-bar > .d-flex .btn {
				width: 100%;
				padding: 12px 14px;
				border-radius: 14px;
				font-weight: 700;
			}
	}

	.ms-btn {
		border-radius: 10px !important;
		font-weight: 500 !important;
		padding: .5rem 5rem !important;
	}

	.ms-btn-primary {
		background: #435A44 !important;
		border-color: #435A44 !important;
		color: #FFFFFF !important;
	}

		.ms-btn-primary:hover {
			filter: brightness(.98);
		}

	.ms-btn-secondary {
		background: #DFD7C1 !important;
		border-color: #DFD7C1 !important;
		color: #435A44 !important;
	}

		.ms-btn-secondary:hover {
			filter: brightness(.98);
		}


	.ms-btn-outline {
		background: transparent !important;
		border: 1px solid rgba(255,255,255,.25) !important;
		color: #fff !important;
	}

		.ms-btn-outline:hover {
			background: rgba(255,255,255,.10) !important;
		}

	@media (max-width: 576px) {
		.ms-btn {
			padding: .5rem 2rem !important;
		}
	}

	.ms-snapscan-img {
		/*max-width: 100px;*/
	}

	/* Donation cards */
	.ms-donate-card {
		background: rgba(255,255,255,.88);
		border-radius: 16px;
		padding: 26px 28px;
		box-shadow: 0 18px 40px rgba(0,0,0,.08);
	}

	/* Title like screenshot */
	.ms-donate-title {
		margin: 0 0 .5rem;
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 800;
		font-size: clamp(1.4rem, 2vw, 2rem);
	}

	/* Copy */
	.ms-donate-copy {
		color: rgba(12,32,18,.75);
		line-height: 1.55;
		font-size: 1rem;
	}

	.ms-donate-copy-banking {
		font-size: 1.5rem;
	}

	/* QR image sizing */
	.ms-snapscan-img {
		/*width: min(190px, 100%);*/
		height: auto;
		display: inline-block;
		border-radius: 10px; /* optional */
	}

	/* Mobile polish */
	@media (max-width: 991.98px) {
		.ms-donate-card {
			padding: 22px 20px;
		}

		.ms-snapscan-img {
			width: 170px;
			margin-top: .5rem;
		}
	}


	/* Section shells */
	.ms-section {
		padding: clamp(2.5rem, 5vw, 4rem) 0;
	}

	.ms-intro {
		margin: 3rem 1.5rem;
		text-align: center;
		color: var(--ms-green);
		font-weight: 600;
		font-size: 1.5rem;
	}

	.ms-cream-band, .ms-cream-band2 {
		position: relative;
		isolation: isolate;
	}

		.ms-cream-band::before {
			content: "";
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			top: -15%;
			bottom: 0;
			width: 150%;
			border-radius: 90% 90% 0% 0%;
			background: linear-gradient( 180deg, var(--ms-beige-lite) 0%, rgba(245, 245, 245, 1) 75%, rgba(245, 245, 245, 1) 100% );
			z-index: 0;
			pointer-events: none;
		}

	#groups .ms-cream-band::before {
		top: -5%;
	}

	@media (max-width: 576px) {
		.ms-cream-band::before {
			top: 0%;
			width: 300%;
		}

		#groups .ms-cream-band::before {
			top: -1%;
		}
	}


	.ms-about-wrap {
		position: relative;
		isolation: isolate;
		overflow-x: clip; /* prevents horizontal scroll */
	}

		/* keep real content above the ellipse */
		.ms-about-wrap > .container {
			position: relative;
			z-index: 2;
		}

		/* the “reversed” cream ellipse */
		.ms-about-wrap::before {
			content: "";
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			/* make it wide like your other bands */
			width: 150%;
			height: 520px; /* tweak */
			border-radius: 0 0 9999px 9999px; /* reversed curve */

			background: linear-gradient( 180deg, var(--ms-beige-lite) 0%, rgba(245,245,245,1) 75%, rgba(245,245,245,1) 100% );
			/* IMPORTANT: pull it UP so it overlaps behind hero */
			top: 240px; /* tweak until it sits behind hero */
			z-index: 0;
			pointer-events: none;
		}


	.ms-cream-band > .container, .ms-cream-band2 > .container {
		position: relative;
		z-index: 1;
	}

	/* Image + text blocks */
	.ms-cardish {
		background: rgba(245,243,234,.78);
		border-radius: 26px;
		padding: clamp(1.25rem, 2.2vw, 2rem);
	}

	.ms-about-content {
		/*background-color: #fff;*/
		padding: 3rem !important;
		border-radius: 26px;
	}

	.ms-values-content {
		padding: 3rem !important;
		border-radius: 26px;
	}

	.ms-values-content-block {
		background-color: var(--ms-green);
		padding: 3rem !important;
		border-radius: 26px;
	}

		.ms-values-content-block > .ms-h2 {
			color: #fff;
			font-size: clamp(2.5rem, 2.5vw, 2.5rem);
		}

		.ms-values-content-block > .ms-copy {
			color: var(--ms-beige);
		}

	#about .ms-values-content {
		padding: 2.2rem 1rem 1.2rem !important;
		text-align: center;
	}

		#about .ms-values-content .ms-kicker {
			text-transform: uppercase;
			letter-spacing: .35em;
			font-weight: 800;
			font-size: .72rem;
			color: var(--ms-orange);
			margin-bottom: .35rem;
		}

		#about .ms-values-content .ms-h2 {
			font-family: "PP Woodland", "STIX Two Text", serif;
			font-weight: 800;
			font-size: clamp(2.2rem, 3.2vw, 3.1rem);
			color: #14361f; /* deep green title */
			margin: 0;
		}

	#about .ms-values-content-block {
		position: relative;
		background: rgba(24, 53, 33, 0.92); /* deep green */
		padding: 2.6rem 2.8rem !important; /*2.6rem 2.2rem !important;*/
		border-radius: 18px;
		text-align: center;
		overflow: hidden;
		box-shadow: 0 18px 45px rgba(0,0,0,.14);
		min-height: 280px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}


		#about .ms-values-content-block::before {
			content: "";
			position: absolute;
			inset: 0;
			background: url("../images/abstractwhitegraygrungetexturepatternbackground1i143-3ppu-400h.png") center/cover no-repeat;
			pointer-events: none;
		}

		#about .ms-values-content-block::after {
			content: "";
			position: absolute;
			inset: -20%;
			background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.10), rgba(0,0,0,0) 55%);
			opacity: .55;
			pointer-events: none;
		}


		#about .ms-values-content-block .ms-values-title {
			color: #fff;
			font-weight: 800;
			font-size: 1.85rem; /* close to sample */
			margin: 0;
		}

		#about .ms-values-content-block .ms-values-copy {
			color: rgba(245, 240, 226, .92); /* warm beige */
			font-size: .95rem;
			line-height: 1.55;
			margin: 0;
			max-width: 28ch; /* keeps it compact like sample */
			margin-left: auto;
			margin-right: auto;
		}

	#about .ms-values-dash {
		margin: 1rem auto;
		max-width: 150px;
	}

	@media (max-width: 576px) {
		#about .ms-values-content-block {
			padding: 2.2rem 1rem !important;
			min-height: auto;
		}

			#about .ms-values-content-block .ms-values-copy {
				max-width: 34ch;
			}
	}





	.ms-kicker {
		letter-spacing: .4em;
		text-transform: uppercase;
		font-size: .72rem;
		color: rgba(217,125,55,.95);
		font-weight: 800;
	}

	.ms-h2 {
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 700;
		font-size: clamp(1.8rem, 3vw, 3rem);
		margin: .25rem 0 .75rem;
		color: var(--ms-green);
		line-height: clamp(1.8rem, 3vw, 3rem);
	}

	.ms-copy {
		color: var(--ms-green);
		line-height: 1.6;
		font-size: .98rem;
		min-height: 6.5rem;
	}

	.ms-photo {
		width: 100%;
		border-radius: 18px;
		object-fit: cover;
		box-shadow: 0 18px 44px rgba(0,0,0,0.12);
	}

	/* Service overlap */
	.ms-overlap-wrap {
		position: relative;
	}

	.ms-overlap-card {
		background: #fff;
		border-radius: 18px;
		padding: 1.4rem 1.5rem;
		box-shadow: 0 18px 46px rgba(0,0,0,0.12);
		max-width: 420px;
	}

	@media (min-width: 992px) {
		.ms-overlap-card {
			position: absolute;
			left: 0;
			top: 50%;
			transform: translate(-10%, -55%);
		}
	}


	/* about believe statement */

.ms-believe {
	position: relative;
	padding: clamp(3rem, 6vw, 5rem) 0;
	padding-left: .5rem;
	padding-right: .5rem;
	overflow: hidden;
	/* cement background */
	background: url("../images/abstract-background-cement-wall-shadow-light-concept.png") center/cover no-repeat;
}

		/* soft edge vignette like the screenshot */
		.ms-believe::before {
			content: "";
			position: absolute;
			inset: 0;
			pointer-events: none;
		}

		/* keep content above overlays */
		.ms-believe .container {
			position: relative;
			z-index: 2;
			text-align: center;
		}

	.ms-believe-title {
		margin: 0 0 1.75rem;
		color: var(--ms-orange);
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 800;
		font-size: clamp(2rem, 3.2vw, 3rem);
		letter-spacing: .01em;
	}

	/* centered narrow text column */
	.ms-believe-body {
		margin: 0 auto;
		max-width: 100ch;
		color: var(--ms-green);
		font-weight: 700;
	}

		.ms-believe-body p {
			margin: 0 0 1.25rem;
			line-height: 1.7;
		}

	/* community goups */

	/* Section background vibe */
	.ms-groups {
		background: rgba(245,245,245,1);
	}

	/* Card container */
	.ms-group-card {
		background: rgba(255,255,255,.86);
		border-radius: 16px;
		padding: 18px;
		box-shadow: 0 18px 45px rgba(0,0,0,.08);
		margin: 18px 0;
	}

	/* 2-col grid */
	.ms-group-grid {
		display: grid;
		grid-template-columns: 1.15fr 1.85fr;
		gap: 22px;
		align-items: center;
	}

	/* Alternate layout */
	.ms-group-card--flip .ms-group-media {
		order: 2;
	}

	.ms-group-card--flip .ms-group-content {
		order: 1;
	}

	/* Typography */
	.ms-group-title {
		margin: 0 0 .35rem;
		color: var(--ms-green);
		font-weight: 600;
		font-size: clamp(1.3rem, 2vw, 2rem);
	}

	.ms-group-desc {
		margin: 0 0 1rem;
		color: rgba(12,32,18,.75);
		line-height: 1.55;
		max-width: 70ch;
	}

	.ms-group-rule {
		height: 1px;
		background: rgba(20,54,31,.14);
		margin: 14px 0 16px;
	}

	/* Leaders + pill row */
	.ms-group-meta {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 14px;
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}

	.ms-group-label {
		font-size: .65rem;
		letter-spacing: .28em;
		font-weight: 900;
		color: rgba(12,32,18,.55);
	}

	.ms-group-leadername {
		color: var(--ms-orange);
		font-weight: 800;
		font-size: .95rem;
		margin-top: .2rem;
	}

	.ms-group-pill {
		background: rgba(120, 170, 210, .25);
		color: rgba(20,54,31,.9);
		font-weight: 600;
		letter-spacing: .06em;
		font-size: .7rem;
		padding: .42rem .75rem;
		border-radius: 999px;
		white-space: nowrap;
	}

	/* Bottom row: chips + CTA */
	.ms-group-actions {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.ms-group-chips {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
	}

	.ms-chip {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: .55rem .75rem;
		border-radius: 10px;
		background: rgba(255,255,255,.9);
		border: 1px solid rgba(20,54,31,.12);
		color: rgba(12,32,18,.75);
		font-weight: 700;
		font-size: .82rem;
	}

		.ms-chip i {
			opacity: .75;
		}

	.ms-group-cta {
		white-space: nowrap;
		padding: .65rem 1.1rem;
		border-radius: 10px;
		font-weight: 600 !important;
	}

	/* Mobile */
	@media (max-width: 992px) {
		.ms-group-grid {
			grid-template-columns: 1fr;
		}

		.ms-group-card--flip .ms-group-media {
			order: 0;
		}

		.ms-group-actions {
			flex-direction: column;
			align-items: stretch;
		}

		.ms-group-cta {
			width: 100%;
			text-align: center;
		}
	}

	/* only affects the second (flipped) article */
	.ms-group-row--flip {
		flex-direction: row-reverse; /* swap the columns */
	}

	/* keep your image styling */
	.ms-group-media {
		border-radius: 14px;
		overflow: hidden;
	}

		.ms-group-media img {
			display: block;
			width: 100%;
			height: 240px; /* desktop height (adjust to taste) */
			object-fit: cover;
			border-radius: 0 !important; /* radius should come from wrapper */
		}

	/* mobile: stack normally */
	@media (max-width: 991.98px) {
		.ms-group-row--flip {
			flex-direction: column; /* ensures image sits above content on mobile */
		}

		.ms-group-media img {
			height: 200px;
		}
	}
	/* Kill Bootstrap row negative margins inside the card (extra safety) */
	.ms-group-card .row {
		margin-left: 0;
		margin-right: 0;
	}

		.ms-group-card .row > [class*="col-"] {
			padding-left: 0;
			padding-right: 0;
		}

	/* Media wrapper clips rounded corners */
	.ms-group-media {
		border-radius: 16px; /* match card vibe */
		overflow: hidden;
		background: #eee;
	}

		/* Consistent image crop */
		.ms-group-media img {
			width: 100%;
			height: 260px; /* slightly taller than your 240 */
			object-fit: cover;
			display: block;
		}

	/* Mobile */
	@media (max-width: 991.98px) {
		.ms-group-media img {
			height: 210px;
		}
	}



	/* Get Involved / Our Teams */

	.ms-involved {
		position: relative;
		padding: clamp(3rem, 6vw, 5rem) 0;
		overflow: hidden;
		background: url("../images/abstract-background-cement-wall-shadow-light-concept.png") center/cover no-repeat;
	}

		.ms-involved::before {
			content: "";
			position: absolute;
			inset: 0;
			pointer-events: none;
			background: radial-gradient(120% 90% at 50% 40%, rgba(255,255,255,.92) 0%, rgba(255,255,255,.88) 42%, rgba(255,255,255,.78) 65%, rgba(0,0,0,.10) 100%);
		}

		.ms-involved .container {
			position: relative;
			z-index: 2;
		}

	.ms-involved-kicker {
		color: var(--ms-orange);
		letter-spacing: .38em;
		font-size: .72rem;
		font-weight: 800;
	}

	.ms-involved-title {
		margin: .35rem 0 .5rem;
		color: var(--ms-green);
		font-family: "PP Woodland","STIX Two Text",serif;
		font-weight: 800;
		font-size: clamp(2rem, 3.6vw, 3.1rem);
	}

	.ms-involved-sub {
		color: var(--ms-green);
		font-weight: 600;
		opacity: .9;
		font-size: 1.1rem;
	}

	/* Carousel shell */
	.ms-team-carousel {
		position: relative;
		margin-top: clamp(1.5rem, 3vw, 2.4rem);
	}

	/* Horizontal scroll track = slideshow */
	.ms-team-track {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 280px; /* card width */
		gap: 18px;
		overflow-x: auto;
		padding: 12px 52px; /* room for arrows */
		scroll-snap-type: x mandatory;
		scroll-padding-left: 52px;
		scrollbar-width: none; /* Firefox */
	}

		.ms-team-track::-webkit-scrollbar {
			display: none;
		}
	/* Chrome */

	/* Cards */
	.ms-team-card {
		scroll-snap-align: start;
		background: rgba(255,255,255,.85);
		border-radius: 14px;
		overflow: hidden;
		box-shadow: 0 18px 45px rgba(0,0,0,.10);
		display: flex;
		flex-direction: column;
		min-height: 260px;
	}

	.ms-team-media img {
		width: 100%;
		height: 110px;
		object-fit: cover;
		display: block;
	}

	.ms-team-body {
		padding: 14px 14px 16px;
		display: flex;
		flex-direction: column;
		gap: 8px;
		flex: 1;
	}

	.ms-team-title {
		margin: 0;
		color: #1e3b27;
		font-weight: 800;
		font-size: 1rem;
	}

	.ms-team-copy {
		margin: 0;
		color: rgba(12, 32, 18, .75);
		font-size: .82rem;
		line-height: 1.45;
		min-height: 2.6em; /* keeps buttons aligned */
	}

	.ms-team-btn {
		margin-top: auto;
		background: #d8cfb7;
		color: #2a3e2f;
		border-radius: 10px;
		font-weight: 700;
		padding: .55rem .9rem;
	}

		.ms-team-btn:hover {
			color: #2a3e2f;
		}

	/* Arrows */
	.ms-carousel-btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 34px;
		height: 34px;
		border-radius: 10px;
		border: 0;
		background: #d8cfb7;
		color: #2a3e2f;
		display: grid;
		place-items: center;
		box-shadow: 0 12px 26px rgba(0,0,0,.12);
		z-index: 3;
	}

	.ms-carousel-prev {
		left: 8px;
	}

	.ms-carousel-next {
		right: 8px;
	}

	.ms-involved-foot-top {
		color: var(--ms-green);
		font-weight: 600;
		margin-bottom: .45rem;
		font-size: 1.1rem;
	}

	.ms-involved-foot-ref {
		color: var(--ms-orange);
		font-weight: 600;
		font-size: 1.1rem;
	}

	/* Mobile */
	@media (max-width: 576px) {
		.ms-team-track {
			grid-auto-columns: 78vw; /* one big card per swipe */
			padding: 10px 44px;
		}

		.ms-carousel-btn {
			width: 32px;
			height: 32px;
			border-radius: 10px;
		}
	}



	/* Green leaders band */

	.ms-green-topline2 {
		margin: 0 auto;
		max-width: 900px;
	}

	.ms-green-topline2-heading {
		letter-spacing: .4em;
		text-transform: uppercase;
		font-size: .72rem;
		color: var(--ms-beige);
		font-weight: 700;
		margin-bottom: 1.5rem;
	}

.ms-green-topline2-text {
	line-height: 1.6;
	font-size: .98rem;
	color: #fff;
	margin: 0 1.5rem 1rem 1.5rem;
}

	.ms-green-topline2-tagline {
		margin-top: .5rem;
		color: var(--ms-beige);
		font-weight: 700;
		font-size: 1.25rem;
		margin-bottom: 5rem;
	}



	.ms-green-h2 {
		font-weight: 800
	}

	.ms-green-kicker {
		color: rgba(255,255,255,.72);
	}




	.ms-green-topline {
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 700;
		font-size: clamp(1.8rem, 3vw, 3rem);
		letter-spacing: .02em;
		opacity: 1;
	}

	.ms-green .row {
		margin-top: 2rem !important;
		justify-content: center;
	}

	.ms-curve {
		position: relative;
		margin-top: 1.6rem;
		padding-top: 2.2rem;
	}

		.ms-curve::before {
			content: "";
			position: absolute;
			left: 50%;
			top: -1rem;
			transform: translateX(-50%);
			width: 70rem;
			height: 70rem;
			border-radius: 50%;
			background: linear-gradient( 180deg, rgba(135, 143, 119, 50%) 0%, rgba(25, 53, 26, 50%) 75%, rgba(25, 53, 26, 50%) 50% );
			z-index: 0;
			pointer-events: none;
		}

		.ms-curve > * {
			position: relative;
			z-index: 1;
		}

	.ms-leader-card {
		position: relative;
		border: 0;
		border-radius: 18px;
		overflow: hidden;
		background: transparent;
		box-shadow: 0 18px 40px rgba(0,0,0,.25);
		height: 350px;
	}

		.ms-leader-card img {
			width: 100%;
			object-fit: cover;
			display: block;
		}

		.ms-leader-card::after {
			content: "";
			position: absolute;
			inset: 0;
			background: linear-gradient( 180deg, rgba(0,0,0,0.00) 45%, rgba(0,0,0,0.35) 70%, rgba(0,0,0,0.62) 100% );
			pointer-events: none;
		}

		.ms-leader-card .meta {
			position: absolute;
			left: 0;
			right: 0;
			bottom: 0;
			padding: 0.95rem 1.05rem 1.05rem;
			z-index: 2;
		}

		.ms-leader-card .role {
			font-size: .75rem;
			letter-spacing: .14em;
			text-transform: uppercase;
			opacity: .85;
			font-weight: 800;
			margin-bottom: .2rem;
			color: var(--ms-beige);
		}

		.ms-leader-card .name {
			font-weight: 800;
			line-height: 1.05;
			font-size: 1.5rem;
			color: #fff;
		}

	.ms-leader-card {
		border-radius: 16px;
	}

	.ms-green {
		position: relative;
		background: #0f2d10c9; /* var(--ms-green); */
		color: #fff;
		overflow: hidden;
		padding: clamp(3rem, 5vw, 4.5rem) 0;
	}


		.ms-green::before {
			content: "";
			position: absolute;
			inset: 0;
			background: url("../images/abstractwhitegraygrungetexturepatternbackground1i143-3ppu-400h.png") center/cover no-repeat;
			pointer-events: none;
		}

		.ms-green .inner {
			position: relative;
			z-index: 2;
		}


	/* Latest message */
	#sermons {
		padding: clamp(2.5rem, 5vw, 4rem) 0;
		background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.18)), url("../images/abstract-background-cement-wall-shadow-light-concept.png") top center/cover no-repeat;
	}

	.ms-latest-wrap {
		background: #fff;
		border-radius: 26px;
		padding: 2rem;
	}

	.ms-latest-message-h2 {
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 700;
		font-size: clamp(1.8rem, 3vw, 3rem);
		letter-spacing: .02em;
		color: var(--ms-green);
	}

	.ms-player {
		background: #fff;
		border-radius: 16px;
		padding: 14px;
		display: flex;
		gap: 12px;
		align-items: center;
	}

		.ms-player img {
			max-width: 235px;
			border-radius: 12px;
			object-fit: cover;
		}

		.ms-player small {
			color: rgba(25,24,24,.62);
		}

		.ms-player audio {
			width: 100%;
		}

	/* Layout for the latest message “player” row */
	.ms-player {
		display: flex;
		align-items: center;
		gap: 1.25rem;
	}

	/* Image sizing (desktop/tablet) */
	.ms-latest-img {
		width: clamp(110px, 18vw, 170px);
		height: auto;
		border-radius: 18px;
		object-fit: cover;
		flex: 0 0 auto;
	}

	/* Text column */
	.ms-latest-body {
		min-width: 0; /* prevents overflow */
	}

	/* Make the audio behave nicely */
	.ms-latest-audio {
		width: 100%;
		max-width: 520px; /* optional */
	}

	/* =========
   MOBILE
   ========= */
	@media (max-width: 576px) {
		.ms-latest-wrap {
			padding: 1.25rem; /* less padding on small screens */
			border-radius: 20px;
		}

		.ms-player {
			flex-direction: column; /* stack */
			align-items: stretch;
			gap: .9rem;
		}

		.ms-latest-img {
			width: 100%;
			max-width: 420px; /* keeps it sane on large phones */
			margin: 0 auto; /* center */
			border-radius: 16px;
		}

		.ms-latest-body {
			padding: 0; /* ensure no left padding */
		}

		.ms-latest-audio {
			max-width: 100%;
		}
	}

	.ms-latest-body {
		flex: 1 1 auto;
		min-width: 0;
	}

	.ms-latest-audio,
	.ms-player audio {
		width: 100%;
		max-width: none;
		display: block;
	}


	.ms-sermon-heading, .ms-sermon-heading small {
		color: var(--ms-green);
	}


	/* Sermons */

	/* Previous messages (layout only — background ignored as requested) */
	.ms-prev {
		position: relative;
		background: #0f2d10c9;
		color: #fff;
		overflow: hidden;
		padding: clamp(3rem, 5vw, 4.5rem) 0;
	}

		.ms-prev::before {
			content: "";
			position: absolute;
			inset: 0;
			background: url(../images/abstractwhitegraygrungetexturepatternbackground1i143-3ppu-400h.png) center / cover no-repeat;
			pointer-events: none;
		}

	.ms-prev-row {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 1.25rem;
	}

	.ms-prev-left {
		min-width: 0; /* prevents overflow when text is long */
	}

	.ms-prev-title {
		margin: 0 0 .35rem;
		font-weight: 800;
		line-height: 1.05;
		font-size: clamp(2rem, 4vw, 3.25rem);
	}

	.ms-prev-sub {
		margin: 0;
		max-width: 58ch;
		color: rgba(255,255,255,.85); /* tweak if your section isn't dark */
		font-weight: 500;
	}

	/* Icon buttons */
	.ms-prev-icons {
		display: flex;
		align-items: center;
		gap: .9rem;
		flex: 0 0 auto;
	}

	.ms-prev-icon {
		width: 100px;
		height: 100px;
		border-radius: 999px;
		display: grid;
		place-items: center;
		text-decoration: none;
		background: rgba(245,243,234,.9);
		border: 1px solid rgba(20,54,31,.15);
		box-shadow: 0 14px 28px rgba(0,0,0,.12);
		overflow: hidden; /* safety */
	}

		/* Make the SVG behave like the Font Awesome icons */
		.ms-prev-icon .ms-prev-svg {
			width: 44px; /* tweak: 40–52 is usually right for 100px circle */
			height: 44px;
			display: block;
		}

			/* IMPORTANT: force the icon color */
			.ms-prev-icon .ms-prev-svg path {
				fill: rgba(20,54,31,.92); /* your dark green */
			}

		/* optional hover */
		.ms-prev-icon:hover {
			transform: translateY(-1px);
		}
		/* Font Awesome icons inside the creamy circles */
		.ms-prev-icon i {
			font-size: 44px; /* match your SVG size */
			line-height: 1;
			display: block;
			color: rgba(20,54,31,.92); /* your green */
		}

	/* remove default link blue in case icon inherits it */
	.ms-prev-icon {
		color: rgba(20,54,31,.92);
	}

	/* Mobile */
	@media (max-width: 576px) {
		.ms-prev-row {
			flex-direction: column;
			align-items: flex-start;
		}

		.ms-prev-icons {
			margin-top: .75rem;
		}

		.ms-prev-icon {
			width: 58px;
			height: 58px;
		}
	}

	.ms-Devotionals-Section {
		padding: clamp(2rem, 4vw, 3rem) 0;
	}

	.ms-Devotionals-Header {
		display: flex;
		align-items: baseline; /* changed: better alignment for title + button */
		justify-content: space-between;
		gap: 16px;
		margin-bottom: 16px;
	}

	.ms-Devotionals-Title {
		margin: 0;
		font-family: "PP Woodland", "STIX Two Text", serif; /* matches your theme */
		font-weight: 800;
		color: var(--ms-green);
		font-size: clamp(2rem, 3.2vw, 3rem);
		letter-spacing: -0.01em;
	}

	/* Explore All pill (top-right) */
	.ms-Devotionals-ExploreAll {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 220px;
		height: 46px;
		padding: 0 22px;
		border-radius: 12px;
		text-decoration: none;
		background: rgba(20,54,31,.85); /* deep green */
		color: rgba(255,255,255,.95);
		border: 1px solid rgba(255,255,255,.10);
		box-shadow: 0 14px 28px rgba(0,0,0,.10);
		font-weight: 700;
		letter-spacing: .02em;
	}

		.ms-Devotionals-ExploreAll:hover {
			background: rgba(20,54,31,.92);
			color: #fff;
		}

	/* Carousel track (default = mobile/tablet scroll) */
	.ms-Devotionals-Carousel {
		position: relative;
		display: flex;
		gap: 18px;
		overflow-x: auto;
		overflow-y: hidden; /* added */
		padding: 8px 4px 18px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		/* nicer scrolling */
		scrollbar-width: none;
	}

		.ms-Devotionals-Carousel::-webkit-scrollbar {
			display: none;
		}

	/* Card (phone tile) */
	.ms-Devotionals-Card {
		border: 0;
		background: transparent;
		cursor: pointer;
		width: 190px; /* close to Figma */
		text-align: left;
		scroll-snap-align: start;
		padding: 0;
		/* added: prevent flex stretching/shrinking weirdness */
		flex: 0 0 auto;
		appearance: none;
		-webkit-appearance: none;
	}

	/* Thumb gives the phone tile shape */
	.ms-Devotionals-Thumb {
		position: relative;
		border-radius: 18px;
		overflow: hidden;
		aspect-ratio: 9 / 16;
		background: rgba(0,0,0,.06);
		box-shadow: 0 18px 42px rgba(0,0,0,.14);
		transform: translateZ(0);
	}

		/* Slight inner “frame” to mimic phone UI edge */
		.ms-Devotionals-Thumb::after {
			content: "";
			position: absolute;
			inset: 0;
			border-radius: 18px;
			box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
			pointer-events: none;
		}

	.ms-Devotionals-Img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		/* subtle contrast like sample */
		filter: saturate(1.02) contrast(1.02);
	}

	/* Big play button in the middle like the sample */
	.ms-Devotionals-Play {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 44px;
		height: 44px;
		border-radius: 999px;
		display: grid;
		place-items: center;
		background: rgba(20,54,31,.88);
		color: #fff;
		font-size: 16px;
		line-height: 1;
		box-shadow: 0 10px 26px rgba(0,0,0,.25);
	}

	/* Optional: hide title area (the Figma cards don’t show titles) */
	.ms-Devotionals-Meta {
		display: none;
	}

	/* Empty state */
	.ms-Devotionals-Empty {
		padding: 14px 0;
		color: rgba(20,54,31,.75);
		font-weight: 600;
	}

	/* ==============
   DESKTOP: evenly space 5 cards (remove right whitespace)
   ============== */
	@media (min-width: 992px) {
		.ms-Devotionals-Carousel {
			/* switch from scroll row to evenly spaced grid */
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: 18px;
			overflow: visible; /* no horizontal scroll on desktop */
			padding: 8px 0 18px; /* align with container, no odd right padding */
			scroll-snap-type: none;
		}

		.ms-Devotionals-Card {
			width: 100%; /* fill its grid column */
			scroll-snap-align: unset;
		}

		.ms-Devotionals-Thumb {
			width: 100%;
		}
	}

	/* ==============
   MODAL (themed)
   ============== */

	.ms-Devotionals-Modal[hidden] {
		display: none;
	}

	.ms-Devotionals-Modal {
		position: fixed;
		inset: 0;
		z-index: 9999;
	}

	.ms-Devotionals-Backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0,0,0,.62);
	}

	.ms-Devotionals-Dialog {
		position: relative;
		margin: 6vh auto;
		width: min(980px, 92vw);
		background: rgba(255,255,255,.96);
		border-radius: 18px;
		padding: 14px;
		box-shadow: 0 18px 50px rgba(0,0,0,.28);
	}

	.ms-Devotionals-Close {
		border: 0;
		background: rgba(20,54,31,.08);
		color: rgba(20,54,31,.9);
		width: 42px;
		height: 42px;
		border-radius: 999px;
		cursor: pointer;
		display: grid;
		place-items: center;
		margin-left: auto;
	}

	.ms-Devotionals-FrameWrap {
		margin-top: 12px;
		aspect-ratio: 16 / 9;
		background: #000;
		border-radius: 14px;
		overflow: hidden;
	}

		.ms-Devotionals-FrameWrap iframe {
			width: 100%;
			height: 100%;
			border: 0;
			display: block;
		}

	/* ==========
   MOBILE
   ========== */
	@media (max-width: 576px) {
		.ms-Devotionals-Header {
			align-items: flex-start;
		}

		.ms-Devotionals-ExploreAll {
			min-width: 160px;
			height: 42px;
			padding: 0 16px;
			border-radius: 12px;
			font-size: .9rem;
		}

		.ms-Devotionals-Card {
			width: 160px;
		}
	}

	/* Groups */

	.ms-groups-h2 {
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 700;
		font-size: clamp(1.8rem, 3vw, 3rem);
		letter-spacing: .02em;
		color: var(--ms-green);
	}

	.ms-groups-head {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 12px;
		flex-wrap: wrap;
	}

	.ms-seeall {
		background: rgba(67,90,68,.92) !important;
		border-color: rgba(67,90,68,.92) !important;
		color: #fff !important;
		border-radius: 12px !important;
		padding: .55rem 1.1rem !important;
		font-weight: 800 !important;
	}

	.ms-group-card {
		border: 0;
		border-radius: 18px;
		overflow: hidden;
		box-shadow: 0 16px 40px rgba(0,0,0,0.10);
		height: 100%;
	}

		.ms-group-card .top {
			position: relative;
			background: #0f0f0f;
		}

			.ms-group-card .top img {
				width: 100%;
				max-height: 230px;
				object-fit: cover;
			}

	.ms-pillrow {
		position: absolute;
		left: 12px;
		right: 12px;
		top: 12px;
		display: flex;
		gap: 8px;
	}

	.ms-pill {
		background: rgba(255,255,255,.92);
		border-radius: 10px;
		padding: .5rem 1rem;
		color: var(--ms-green);
		font-size: .78rem;
		font-weight: 700;
		display: inline-flex;
		align-items: center;
		gap: .35rem;
	}

	.ms-group-card .body {
		padding: 1rem 1rem .95rem;
		background: #fff;
	}

	.ms-group-card .title {
		font-family: Montserrat, Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
		font-weight: 800;
		font-size: 1.25rem;
		margin: .35rem 0 .5rem;
		color: var(--ms-green);
	}

	.ms-group-card .join {
		background: rgba(223,215,193,.85) !important;
		border-color: rgba(223,215,193,.85) !important;
		color: var(--ms-green) !important;
		border-radius: 10px !important;
		font-weight: 700 !important;
		width: 100%;
		padding: .5rem 5rem !important;
	}

	.ms-groups-card-leader-title {
		color: var(--ms-green) !important;
		text-transform: uppercase;
		letter-spacing: .2em;
		font-size: 1rem;
		font-weight: 700;
	}

	.ms-groups-card-leader-name {
		color: var(--ms-orange) !important;
		font-size: 1rem;
		font-weight: 700;
	}

	.ms-groups-card-hr {
		color: #DFD7C1;
	}

	/* Keep up to date */
	.ms-keep {
		text-align: center;
		padding: 2.5rem 0 1rem;
	}

	.ms-keep-h2 {
		font-weight: 800;
		margin: 0;
		color: var(--ms-green);
	}

	.ms-social {
		display: flex;
		justify-content: center;
		gap: 12px;
		margin-top: 1rem;
	}

		.ms-social a {
			width: 4rem;
			height: 4rem;
			border-radius: 999px;
			background: rgba(67,90,68,.92);
			display: grid;
			place-items: center;
			box-shadow: 0 12px 30px rgba(0,0,0,0.12);
		}

	.ms-social-footer {
		display: flex;
		justify-content: center;
		gap: 12px;
		margin-top: .25rem;
	}

		.ms-social-footer a {
			width: 4rem;
			height: 4rem;
			border-radius: 999px;
			background: #fff;
			display: grid;
			place-items: center;
			box-shadow: 0 12px 30px rgba(0,0,0,0.12);
		}

.ms-social img {
	/*width: 18px;
		height: 18px;*/
	filter: invert(1);
	opacity: .95;
}


	.social-media, .social-media a {
		color: #fff;
		text-decoration: none;
		font-size: 2rem;
		padding: 0.8rem;
	}

	.social-media-footer, .social-media-footer a {
		color: var(--ms-green);
		text-decoration: none;
		font-size: 2rem;
		padding: 0.8rem;
	}


	.ms-contact-curve-wrap {
		position: relative;
		isolation: isolate;
		overflow-x: clip; /* avoid horizontal scroll from 150% width */
		overflow-y: visible; /* allow the curve to show */
	}

		/* both sections remain above backgrounds */
		.ms-contact-curve-wrap > .ms-section {
			position: relative;
			z-index: 2;
		}

		/* Base fill behind texture */
		.ms-contact-curve-wrap::before,
		.ms-contact-curve-wrap::after {
			content: "";
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			width: 150%;
			border-radius: 99% 99% 0 0;
			/* IMPORTANT: anchor to bottom INSIDE wrapper */
			bottom: 0;
			/* IMPORTANT: curve must extend UP, not DOWN */
			height: clamp(520px, 70vw, 900px);
			pointer-events: none;
		}

		/* base color */
		.ms-contact-curve-wrap::before {
			background: #efebe2;
			z-index: 0;
		}

		/* texture overlay */
		.ms-contact-curve-wrap::after {
			background-image: url("/images/abstract-bg.png"); /* fix your real path */
			background-repeat: repeat;
			background-size: 720px auto;
			background-position: center;
			background-color: rgba(18, 53, 31, 0.08);
			background-blend-mode: multiply;
			opacity: .55;
			z-index: 1;
		}



	.contact-form-postition {
		position: relative;
		top: -7.5rem;
		margin-bottom: -7.5rem;
	}

	.ms-contact-h2 {
		font-weight: 800;
		margin-bottom: 2rem;
		color: var(--ms-green);
	}

	.ms-contact-kicker {
		letter-spacing: .4em;
		text-transform: uppercase;
		font-size: .72rem;
		color: rgba(217, 125, 55, .95);
		font-weight: 800;
	}


	.ms-social-contact {
		display: flex;
		justify-content: center;
		gap: 12px;
		margin-top: .25rem;
	}

		.ms-social-contact a {
			width: 4rem;
			height: 4rem;
			border-radius: 999px;
			background: var(--ms-green);
			color: #fff;
			display: grid;
			place-items: center;
			box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
		}


	.ms-contact-card {
		background: #fff;
		border-radius: 18px;
		padding: 1.4rem;
		box-shadow: 0 18px 44px rgba(0,0,0,0.12);
		z-index: 999;
		position: relative;
	}

	.ms-contact-row {
		display: flex;
		gap: 10px;
		align-items: center;
		margin-top: .8rem;
		color: var(--ms-green);
		font-weight: 600;
	}

		.ms-contact-row img {
			width: 18px;
			height: 18px;
			filter: invert(1);
		}

	.contact-icon {
		width: 46px;
		height: 46px;
		border-radius: 12px;
		background: rgba(80, 110, 90, 0.14);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 46px;
	}

		.contact-icon i {
			font-size: 20px;
			color: #2f5a3c;
		}

	/* Title spacing only (font comes from .brand-serif as requested) */
	.ms-touch-title {
		margin: 0;
		font-weight: 800; /* optional */
		color: var(--ms-green);
	}

	/* Map */
	.ms-map-shell {
		border-radius: 18px;
		overflow: hidden;
		background: #e9ecef;
		height: 100%;
		min-height: 360px;
		box-shadow: 0 18px 45px rgba(0,0,0,.08);
	}

	.ms-map-embed {
		width: 100%;
		height: 100%;
		border: 0;
		display: block;
		min-height: 360px;
	}

	/* Cards */
	.ms-touch-card {
		background: rgba(255,255,255,.9);
		border-radius: 16px;
		padding: 18px 18px;
		box-shadow: 0 18px 45px rgba(0,0,0,.08);
		display: flex;
		align-items: flex-start;
		gap: 14px;
		position: relative;
		min-height: 118px;
	}

	.ms-touch-link {
		text-decoration: none;
		color: inherit;
	}

		.ms-touch-link:hover {
			transform: translateY(-1px);
		}

	/* Left icon tile */
	.ms-touch-icon {
		width: 54px;
		height: 54px;
		border-radius: 12px;
		background: rgba(20,54,31,.10);
		display: grid;
		place-items: center;
		flex: 0 0 auto;
	}

		.ms-touch-icon i {
			font-size: 20px;
			color: rgba(20,54,31,.85);
		}

	/* Text (no font-face forced here) */
	.ms-touch-kicker {
		letter-spacing: .28em;
		text-transform: uppercase;
		font-weight: 900;
		font-size: .72rem;
		color: var(--ms-orange);
		margin-top: 4px;
	}

	.ms-touch-value {
		margin-top: .35rem;
		font-weight: 700;
		color: rgba(12,32,18,.9);
		line-height: 1.25;
	}

	/* Top-right external icon */
	.ms-touch-ext {
		position: absolute;
		top: 14px;
		right: 14px;
		opacity: .6;
	}

		.ms-touch-ext i {
			font-size: 14px;
		}

	/* Mobile: stack map then cards */
	@media (max-width: 991.98px) {
		.ms-map-shell,
		.ms-map-embed {
			min-height: 300px;
		}
	}



	.form-control::placeholder {
		color: var(--ms-green);
		opacity: 1;
	}

	.form-control {
		border: var(--bs-border-width) solid #f5f5f5;
		margin: 0 0 0.75rem;
		font-size: 0.75rem;
		border-radius: 12px;
	}

	/* Footer */
	.ms-footer {
		background: linear-gradient(180deg, rgba(0,0,0,0.0), rgba(0,0,0,0.18)), var(--ms-green);
		color: #fff;
		padding: 2.8rem 0 1.5rem;
	}

	.ms-kicker-footer {
		letter-spacing: .4em;
		text-transform: uppercase;
		font-size: .72rem;
		color: var(--ms-orange);
		font-weight: 700;
		padding-top: 0.5rem;
	}

	.ms-footer h3 {
		font-family: "PP Woodland", "STIX Two Text", serif;
		font-weight: 700;
		font-size: clamp(2.7rem, 4.1vw, 4.1rem);
		margin: 0 0 3rem;
	}

	.ms-contact-link-a {
		text-decoration: none;
		color: var(--ms-green);
		font-weight: 600;
	}

	.ms-footer .email {
		font-weight: 600;
		color: rgba(255,255,255,.92);
		font-size: 1.25rem;
		text-decoration: none;
	}

	.ms-footer .line {
		height: 2px;
		background: var(--ms-orange);
		margin: 1rem 0;
	}

	.ms-footer {
		position: relative;
		overflow: hidden;
	}

		.ms-footer > .container {
			position: relative;
			z-index: 3;
		}

		.ms-footer::after {
			content: "";
			position: absolute;
			inset: 0;
			z-index: 2;
			pointer-events: none;
			background-image: url("../images/abstract-white-gray-grunge-texture-pattern-background-1.png");
			background-blend-mode: multiply;
		}

	@media (max-width: 576px) {
		.ms-footer::before {
			background-size: 320px;
			opacity: 0.18;
		}
	}

	.ms-footer .ms-footer-inner {
		position: relative;
		z-index: 3;
	}

	.ms-footer-logo-bg {
		position: absolute;
		right: -3%;
		bottom: -1.5rem;
		width: max(150px, 12vw);
		height: auto;
		z-index: 1;
		opacity: 1;
		pointer-events: none;
		user-select: none;
	}

	.footer-small {
		color: rgba(255,255,255,.75);
	}

	html, body {
		margin: 0;
		overflow-x: clip;
	}

	.ms-contact-curve-wrap,
	.ms-cream-band-wrap,
	.ms-cream-band,
	.ms-cream-band2 {
		overflow-x: clip;
		overflow-y: visible;
	}

	.ms-backtotop {
		position: fixed;
		right: 1.25rem;
		bottom: 1.25rem;
		z-index: 9999;
		width: 52px;
		height: 52px;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		/* “beige on green” */
		background: var(--ms-green);
		color: var(--ms-beige);
		border: 1px solid rgba(223,215,193,.55);
		box-shadow: 0 16px 34px rgba(0,0,0,.20);
		text-decoration: none;
		opacity: 0;
		pointer-events: none;
		transform: translateY(10px);
		transition: opacity .2s ease, transform .2s ease, filter .15s ease, background .15s ease, color .15s ease;
	}

		.ms-backtotop.is-visible {
			opacity: 1;
			pointer-events: auto;
			transform: translateY(0);
		}

	.ms-backtotop-ico {
		width: 22px;
		height: 22px;
		display: block;
	}

	/* Hover: invert (green on beige) */
	.ms-backtotop:hover {
		background: var(--ms-beige);
		color: var(--ms-green);
		filter: brightness(1.02);
	}

	.ms-backtotop:active {
		transform: translateY(2px);
		box-shadow: 0 10px 22px rgba(0,0,0,.18);
	}

	/* Keyboard accessibility */
	.ms-backtotop:focus-visible {
		outline: 3px solid rgba(217,125,55,.65); /* your orange */
		outline-offset: 4px;
	}


	@media (max-width: 576px) {
		#about, #about > .container {
			margin-top: 0 !important;
			padding-top: 0 !important;
			padding-bottom: 0 !important;
		}
	}

	.btn-seeall {
		display: none;
	}


	/* highlights anything that overflows vertically */
	.debug-overflow * {
		outline: 1px solid rgba(255,0,0,.20);
	}

		.debug-overflow *::before,
		.debug-overflow *::after {
			outline: 2px dashed rgba(0,140,255,.55);
		}

	/* Leaders Mobile Carousel */
.ms-leaders-carousel {
	position: relative;
	display: flex;
	align-items: center;
	/*gap: 0.5rem;*/
}

	.ms-leaders-track {
		display: flex;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-ms-overflow-style: none;
		flex: 1;
		padding: 0.5rem 0;
	}

		.ms-leaders-track::-webkit-scrollbar {
			display: none;
		}

		.ms-leaders-track .ms-leader-card {
			flex: 0 0 100%;
			scroll-snap-align: center;
			min-width: 0;
			height: auto;
		}



	/* Override any absolute positioning from .ms-carousel-btn */
	.ms-leaders-carousel .ms-carousel-btn {
		position: relative;
		top: auto;
		left: 5px;
		right: auto;
		bottom: auto;
		transform: none;
		flex-shrink: 0;
	}



@media (max-width: 576px) {

	.ms-copy {
		margin-top: 1.5rem !important;
		margin-bottom: 1.5rem !important;
	}

	.ms-intro {
		font-size: 1.3rem;
		margin-top: 1rem;
		margin-bottom: 0;
	}

	.ms-donate-card {
		padding: 22px 28px;
	}

	.ms-donate-copy-banking {
		font-size: 1rem;
	}

	.ms-h2 {
		margin: .25rem 0 .25rem 0;
	}

	.ms-about-content {
		padding: 1.5rem !important;
		margin-top: 0;
	}

	.contact-form-postition {
		position: relative;
		top: 0rem !important;
		margin-bottom: 3rem !important;
	}

	.mbl-p-0 {
		padding: 0rem !important;
	}

	.mbl-m-0 {
		margin: 0rem !important;
	}

	.mbl-mt-0 {
		margin-top: 0rem !important;
	}

	.mbl-pt-0 {
		padding-top: 0rem !important;
	}

	.mbl-mt-3 {
		margin-top: 1rem !important;
	}

	.mbl-ps-0 {
		padding-left: 0 !important;
	}

	.mbl-pe-0 {
		padding-right: 0 !important;
	}

	.mbl-ps-3 {
		padding-left: 1rem !important;
	}

	.mbl-pe-3 {
		padding-right: 1rem !important;
	}

	.mbl-ps-4 {
		padding-left: 1.5rem !important;
	}

	.mbl-pe-4 {
		padding-right: 1.5rem !important;
	}

	.mbl-text-center {
		text-align: center !important;
	}

	.mbl-text-left {
		text-align: left !important;
	}

	.mbl-w-100 {
		width: 100% !important;
	}

	.mbl-verser-margin {
		margin-left: 1.5rem !important;
		margin-right: 1.5rem !important;
	}

	.ms-group-card {
		margin-left: .5rem !important;
		margin-right: .5rem !important;
		padding-top: 1.5rem !important;
		padding-bottom: 1.5rem !important;
	}

		.ms-group-card > div {
			margin-left: 1.5rem !important;
			margin-right: 1.5rem !important;
		}

		.ms-group-card .row {
			margin-left: 0 !important;
			margin-right: 0 !important;
		}


	.ms-keep {
		margin-left: 1.5rem !important;
		margin-right: 1.5rem !important;
	}

	.ms-keep-card > div {
		margin-left: 1.5rem !important;
		margin-right: 1.5rem !important;
	}

	.ms-social {
		margin-left: -1.5rem !important;
		margin-right: -1.5rem !important;
	}

	.ms-contact-shell-col {
		padding: 1.5rem;
		margin-top: 0;
	}

	.ms-believe .container {
		padding: 1.75rem;
	}

	.ms-green-topline2-text {
		margin: 0 1.75rem 1rem 1.75rem;
	}
	.ms-involved {
		padding: 0.5rem !important;
	}
	.ms-team-track {
		padding: 10px 25px;
	}


	.ms-involved-foot-top, .ms-prev-left, .ms-prev-icons {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.ms-involved-kicker {
		padding-top: 2rem;
	}

	.ms-group-content {
		margin-top:0;
	}

	.ms-bar {
		margin: 0 auto;
	}
}