section { position: relative; }
.background-barnwood-brown,
.background-good-work-green,
.background-breezy-blue,
.background-reddish-radish {
	color: var(--color-caring-cream);
}
.background-barnwood-brown a,
.background-good-work-green a,
.background-breezy-blue a,
.background-reddish-radish a {
	color: var(--color-caring-cream);
}
.background-lemon-lime,
.background-caring-cream,
.background-soft-pink,
.background-sky-blue {
	color: var(--color-barnwood-brown);
}
.button-container { gap: .75rem; margin-top: 2rem; }
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.65rem;
	padding: .72rem 1.2rem .6rem;
	background: var(--color-breezy-blue);
	color: var(--color-caring-cream);
	text-decoration: none;
	font-family: var(--font-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .15em;
	border-radius: 999px;
	font-size: .875rem;
	line-height: 1.5;
}
.button-secondary {
	background: transparent;
	color: inherit;
	border: 1px solid currentColor;
}
.hero-image img,
.text-image-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.card-grid-items,
.market-list-items,
.events-grid,
.blog-grid,
.faq-items {
	gap: 1.5rem 0;
}
.content-card,
.archive-card,
.faq-item {
	border: 1px solid rgba(46, 29, 24, .18);
	padding: 1.5rem;
	background: rgba(255, 249, 237, .74);
	min-height: 100%;
}
.testimonial-card {
	background: var(--color-barnwood-brown);
	color: var(--color-caring-cream);
	padding: 4rem;
	text-align: center;
}
.testimonial-card blockquote {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0;
}
.filter-buttons { gap: .75rem; margin-bottom: 2rem; }
.filter-button {
	border: 1px solid currentColor;
	background: transparent;
	color: inherit;
	padding: .7rem 1rem;
	cursor: pointer;
	font-family: var(--font-accent);
	font-weight: 700;
	text-transform: uppercase;
}
.filter-button.is-active {
	background: var(--color-barnwood-brown);
	color: var(--color-caring-cream);
}
.text-align-center { text-align: center; }
.intro-home {
	overflow: hidden;
	min-height: 963px;
	color: var(--color-barnwood-brown);
	isolation: isolate;
}
.intro-home:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(circle at 82% 22%, rgba(174, 209, 220, .38), transparent 24rem);
	mix-blend-mode: multiply;
	opacity: .5;
	pointer-events: none;
}
.intro-home > .grid-container {
	position: relative;
	z-index: 2;
	width: min(100%, var(--grid-max));
	padding: 7rem 3rem 19.75rem;
}
.intro-home > .grid-container:after {
	content: "";
	display: block;
	clear: both;
}
.intro-home .grid-45,
.intro-home .grid-50 {
	float: left;
}
.intro-home__content {
	position: relative;
	z-index: 2;
	padding-top: 11.5rem;
}
.intro-home__entry > * + * {
	margin-top: 1.5rem;
}
.intro-home h1 {
	max-width: 39.1875rem;
	margin: 0;
	color: var(--color-barnwood-brown);
	font-size: 4rem;
	letter-spacing: 0;
}
.intro-home p {
	max-width: 39.1875rem;
	margin: 0;
	color: var(--color-barnwood-brown);
	font-size: 1.125rem;
	letter-spacing: 0;
}
.intro-home .button-container {
	margin-top: 4rem;
	gap: .75rem;
}
.intro-home .button {
	min-height: 2.625rem;
	border: 1px solid var(--color-breezy-blue);
	border-radius: 1.875rem;
	padding: .75rem 1.25rem .5625rem;
	background: transparent;
	color: var(--color-breezy-blue);
	font-size: .875rem;
	letter-spacing: .15em;
}
.intro-home .button-primary {
	background: var(--color-breezy-blue);
	color: var(--color-caring-cream);
}
.intro-home__media {
	position: relative;
	min-width: 0;
}
.intro-home__collage {
	position: relative;
	height: 33.25rem;
}
.intro-home__image {
	position: absolute;
	display: block;
	max-width: none;
	object-fit: cover;
}
.intro-home__image--main {
	top: 2.5625rem;
	left: 4rem;
	width: calc(100% - 8rem);
	height: 30.6875rem;
	border-radius: .625rem;
}
.intro-home__image--person {
	left: -.8125rem;
	bottom: 4.875rem;
	width: 13.5rem;
	height: 17.4375rem;
	border-radius: 1.25rem;
}
.intro-home__image--produce {
	top: -.625rem;
	right: -.8125rem;
	width: 15.25rem;
	height: 10.375rem;
	border-radius: .625rem;
}
.intro-home__bottom-texture {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 19.75rem;
	object-fit: cover;
	object-position: center bottom;
	pointer-events: none;
	user-select: none;
}
.hero {
	overflow: hidden;
	min-height: 963px;
	display: flex;
	align-items: center;
	padding-top: 7rem;
	padding-bottom: 9rem;
	background-image: radial-gradient(circle at 90% 20%, rgba(167, 159, 54, .08), transparent 18rem);
}
.hero h1 {
	max-width: 9.8em;
	font-size: clamp(4rem, 7.2vw, 6.5rem);
	margin-bottom: 1.5rem;
}
.hero .grid-45 > p:not(.eyebrow) {
	max-width: 39rem;
	font-size: 1.125rem;
}
.hero-collage {
	position: relative;
	min-height: clamp(24rem, 40vw, 34rem);
}
.hero-collage-main,
.hero-collage-small {
	position: absolute;
	overflow: hidden;
	box-shadow: 0 1rem 2rem rgba(46, 29, 24, .12);
}
.hero-collage-main {
	right: 3%;
	bottom: 0;
	width: 76%;
	border-radius: .625rem;
}
.hero-collage-small {
	width: 36%;
	border-radius: 1.25rem;
}
.hero-collage-small:nth-child(2) {
	left: 0;
	bottom: 12%;
}
.hero-collage-small:nth-child(3) {
	right: 0;
	top: -2%;
	width: 42%;
	border-radius: .625rem;
}
.hero-collage img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.hero-collage-main img { aspect-ratio: 1.07 / 1; }
.hero-collage-small:nth-child(2) img { aspect-ratio: .77 / 1; }
.hero-collage-small:nth-child(3) img { aspect-ratio: 1.47 / 1; }
.title-text.background-barnwood-brown,
.title-text.background-good-work-green {
	overflow: hidden;
}
.title-text.background-barnwood-brown:before,
.title-text.background-good-work-green:before,
.cta.background-good-work-green:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	height: 3rem;
	background: var(--color-caring-cream);
	clip-path: polygon(0 0,100% 0,100% 35%,86% 68%,72% 44%,56% 80%,41% 48%,28% 76%,15% 42%,0 70%);
}
.title-text.background-barnwood-brown:after,
.title-text.background-good-work-green:after,
.cta.background-good-work-green:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3rem;
	background: var(--color-caring-cream);
	clip-path: polygon(0 40%,12% 70%,27% 42%,42% 77%,58% 42%,74% 66%,88% 38%,100% 65%,100% 100%,0 100%);
}
.title-text-image {
	width: min(37.5rem, 100%);
	margin: 0 auto 2rem;
	border: .65rem solid var(--color-soft-pink);
	border-radius: 50%;
	overflow: hidden;
}
.title-text-image img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
.title-text.background-barnwood-brown .padding-equalize,
.title-text.background-good-work-green .padding-equalize {
	align-items: center;
}
.title-text.background-barnwood-brown h2,
.title-text.background-good-work-green h2 {
	color: var(--color-caring-cream);
	font-size: clamp(3rem, 5.2vw, 5.25rem);
}
.title-text.background-barnwood-brown .eyebrow,
.title-text.background-good-work-green .eyebrow {
	color: var(--color-simple-sky-blue, var(--color-sky-blue));
}
.card-grid .grid-100 > p,
.card-grid .grid-100 > h2,
.card-grid .grid-100 > div {
	max-width: 50rem;
}
.card-grid .grid-100:first-child {
	text-align: center;
	margin-bottom: 2.5rem;
}
.card-grid .grid-100:first-child > * {
	margin-left: auto;
	margin-right: auto;
}
.content-card,
.archive-card {
	display: flex;
	flex-direction: column;
	gap: .8rem;
	border-radius: .625rem;
}
.content-card-image,
.archive-card-image {
	display: block;
	margin: -1.5rem -1.5rem 1rem;
	overflow: hidden;
	border-radius: .5rem .5rem 0 0;
}
.content-card-image img,
.archive-card-image img {
	width: 100%;
	aspect-ratio: 1 / .85;
	object-fit: cover;
	transition: transform .25s ease;
}
.content-card:hover .content-card-image img,
.archive-card:hover .archive-card-image img {
	transform: scale(1.03);
}
.card-grid.background-caring-cream .content-card {
	background: var(--color-good-work-green);
	color: var(--color-caring-cream);
	border-color: var(--color-good-work-green);
}
.card-grid.background-caring-cream .content-card h3 {
	font-size: clamp(1.8rem, 2.7vw, 2.5rem);
	color: var(--color-caring-cream);
}
.card-grid.background-caring-cream .content-card .eyebrow {
	color: var(--color-lemon-lime);
}
.card-grid.background-caring-cream .content-card a {
	color: var(--color-caring-cream);
}
.market-list.background-lemon-lime .archive-card,
.market-list.background-caring-cream .archive-card {
	background: rgba(255, 249, 237, .72);
	min-height: 23rem;
	padding: 2rem;
}
.market-list .archive-card h3 {
	font-size: clamp(2.5rem, 4.3vw, 4.5rem);
	line-height: 1.12;
}
.events-archive .archive-card,
.blog-archive .archive-card {
	border: 0;
	background: transparent;
	padding: 0;
}
.events-archive .archive-card h3,
.blog-archive .archive-card h3 {
	font-size: clamp(1.5rem, 2.3vw, 2rem);
}
.text-link {
	margin-top: auto;
	font-family: var(--font-accent);
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: .08em;
	font-size: .75rem;
}
.text-image.background-breezy-blue .grid-container {
	width: 100%;
	max-width: none;
}
.text-image.background-breezy-blue .padding-equalize {
	margin: 0;
	align-items: stretch;
}
.text-image.background-breezy-blue .text-image-text {
	padding: clamp(4rem, 8vw, 7rem) clamp(3rem, 6vw, 6rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.text-image.background-breezy-blue .text-image-image {
	margin-left: 0;
	width: 50%;
	padding-left: 0;
	padding-right: 0;
}
.text-image.background-breezy-blue .text-image-image img {
	min-height: 31rem;
	aspect-ratio: auto;
	height: 100%;
	border-radius: .625rem 0 0 .625rem;
}
.testimonial-card {
	position: relative;
	overflow: hidden;
	border-radius: 0;
	max-width: 1107px;
	margin-left: auto;
	margin-right: auto;
}
.testimonial-slide {
	display: none;
	align-items: stretch;
	gap: 2rem;
}
.testimonial-slide.is-active {
	display: flex;
}
.testimonial-image {
	width: 36%;
	min-width: 14rem;
	margin: -4rem 0 -4rem -4rem;
}
.testimonial-image img {
	width: 100%;
	height: 100%;
	min-height: 14rem;
	object-fit: cover;
}
.testimonial-copy {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 19rem;
}
.testimonial-copy blockquote {
	font-family: var(--font-body);
	font-size: clamp(1.6rem, 2.4vw, 2rem);
	line-height: 1.45;
}
.testimonial-controls {
	display: flex;
	justify-content: center;
	gap: .75rem;
	margin-top: 2rem;
}
.testimonial-controls button {
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.image-grid-items {
	gap: 2rem 0;
	margin-top: 3rem;
}
.image-grid-item {
	margin: 0;
}
.image-grid-item img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: .625rem;
}
.image-grid-item figcaption {
	margin-top: .5rem;
	font-family: var(--font-accent);
	font-weight: 700;
	text-transform: uppercase;
	font-size: .75rem;
}
.blog-detail-image {
	margin: 2rem 0;
}
.blog-detail-image img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.form-section .grid-parent {
	background: rgba(255, 249, 237, .58);
	padding: 2rem;
	border: 1px solid rgba(46, 29, 24, .18);
	border-radius: .625rem;
}
.site-footer {
	position: relative;
	overflow: hidden;
}
.cta.background-good-work-green {
	text-align: center;
	overflow: hidden;
}
.cta.background-good-work-green:before {
	background: var(--color-soft-pink);
}
.cta.background-good-work-green:after {
	background: var(--color-reddish-radish);
	height: 1.25rem;
	clip-path: none;
}
.cta.background-good-work-green h2 {
	color: var(--color-lemon-lime);
}
.cta.background-good-work-green .button-container {
	justify-content: center;
}
@media screen and (max-width: 47.9375rem) {
	.intro-home { min-height: auto; }
	.intro-home > .grid-container { padding: 4.5rem 1.5rem 15.625rem; }
	.intro-home .grid-45,
	.intro-home .grid-50 {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.intro-home__content { padding-top: 0; }
	.intro-home h1 { font-size: clamp(2.625rem, 12vw, 4rem); }
	.intro-home .button-container { margin-top: 2.25rem; }
	.intro-home__media { margin-top: 3rem; }
	.intro-home__collage { height: min(74vw, 33.25rem); }
	.intro-home__image--main {
		left: 12%;
		width: 76%;
		height: 82%;
	}
	.intro-home__image--person {
		left: 2%;
		bottom: 8%;
		width: 34%;
		height: 52%;
	}
	.intro-home__image--produce {
		right: 2%;
		width: 38%;
		height: 31%;
	}
	.intro-home__bottom-texture { height: min(19.75rem, 39vw); }
	.testimonial-card { padding: 2rem; }
	.hero-collage { min-height: 22rem; margin-top: 2rem; }
	.text-image.background-breezy-blue .text-image-image { width: 100%; }
	.testimonial-slide { display: none; flex-direction: column; }
	.testimonial-slide.is-active { display: flex; }
	.testimonial-image { width: 100%; min-width: 0; margin: -2rem -2rem 1rem; }
	.hero { min-height: auto; }
}

/* SPF section contract: Unsemantic grid wrappers stay flex-wrapped, and mobile-grid-100 wins over section-specific widths. */
main > section > .grid-container,
main > article.blog-post > .grid-container,
footer > .grid-container {
	display: flex !important;
	flex-wrap: wrap !important;
	float: none !important;
	box-sizing: border-box !important;
	clear: both !important;
}

main > section > .grid-container > :not([class*="grid-"]),
main > article.blog-post > .grid-container > :not([class*="grid-"]),
footer > .grid-container > :not([class*="grid-"]) {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.blog-featured__row,
.events__grid,
.blog-grid,
.events-grid,
.market-grid,
.products__grid,
.ways__grid,
.card-grid-items,
.market-list-items,
.image-grid-items {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
}

.blog-featured__row > .grid-33,
.events__grid > .grid-33,
.blog-grid > .grid-33,
.events-grid > .grid-33,
.market-grid > .grid-33,
.ways__grid > .grid-33,
.card-grid-items > .grid-33,
.market-list-items > .grid-33,
.image-grid-items > .grid-33 {
	float: none !important;
	box-sizing: border-box !important;
	flex: 0 0 calc((100% - 4rem) / 3) !important;
	width: calc((100% - 4rem) / 3) !important;
	max-width: calc((100% - 4rem) / 3) !important;
}

.insta-grid__items {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.5rem !important;
}

.insta-grid__items > .grid-25,
.insta-grid__items > .grid-33,
.insta-grid__items > .tablet-grid-50,
.insta-grid__items > .mobile-grid-100,
.insta-card,
.insta-grid__item {
	float: none !important;
	box-sizing: border-box !important;
	flex: 0 0 calc((100% - 3rem) / 3) !important;
	width: calc((100% - 3rem) / 3) !important;
	max-width: calc((100% - 3rem) / 3) !important;
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.blog-featured__read-more,
.blog-card__read-more,
.events__link,
.event-card__link,
.story-slider__read-more,
.related-card__read-more,
.market-card__link {
	display: inline-flex !important;
	align-items: center !important;
	gap: .5rem !important;
}

.blog-featured__read-more img,
.blog-card__read-more img,
.events__link img,
.event-card__link img,
.story-slider__read-more img,
.related-card__read-more img,
.market-card__link img {
	display: block !important;
	flex: 0 0 .55rem !important;
	width: .55rem !important;
	min-width: .55rem !important;
	max-width: .55rem !important;
	height: .55rem !important;
	object-fit: contain !important;
}

.blog-featured__read-more::after,
.blog-card__read-more::after,
.events__link::after,
.event-card__link::after,
.story-slider__read-more::after,
.related-card__read-more::after,
.market-card__link::after {
	content: none !important;
	display: none !important;
}

@media screen and (max-width: 56.25rem) {
	.insta-grid__items > .grid-25,
	.insta-grid__items > .grid-33,
	.insta-grid__items > .tablet-grid-50,
	.insta-grid__items > .mobile-grid-100,
	.insta-card,
	.insta-grid__item {
		flex: 0 0 calc((100% - 1.5rem) / 2) !important;
		width: calc((100% - 1.5rem) / 2) !important;
		max-width: calc((100% - 1.5rem) / 2) !important;
		margin: 0 !important;
	}
}

@media screen and (max-width: 47.9375rem) {
	.display-flex.flex-wrap-wrap > .mobile-grid-100,
	.blog-featured__row > .grid-33,
	.events__grid > .grid-33,
	.blog-grid > .grid-33,
	.events-grid > .grid-33,
	.market-grid > .grid-33,
	.ways__grid > .grid-33,
	.card-grid-items > .grid-33,
	.market-list-items > .grid-33,
	.image-grid-items > .grid-33,
	.products__grid > .product-card.grid-25,
	.products__grid > .product-card.grid-33,
	.insta-grid__items > .grid-25,
	.insta-grid__items > .grid-33,
	.insta-grid__items > .tablet-grid-50,
	.insta-grid__items > .mobile-grid-100,
	.insta-card,
	.insta-grid__item {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
}

/* Final Unsemantic ownership pass: section polish can style content, but grid classes own width and wrapping. */
.grid-container.display-flex.flex-wrap-wrap,
.grid-container-full.display-flex.flex-wrap-wrap,
[class*="__inner"].grid-container.display-flex.flex-wrap-wrap,
[class*="__row"].display-flex.flex-wrap-wrap,
[class*="__grid"].display-flex.flex-wrap-wrap,
[class*="__items"].display-flex.flex-wrap-wrap {
	gap: 0 !important;
	column-gap: 0 !important;
}

.display-flex.flex-wrap-wrap > [class*="grid-"] {
	float: none !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
	flex-shrink: 0 !important;
}

.display-flex.flex-wrap-wrap > .grid-100 { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
.display-flex.flex-wrap-wrap > .grid-80 { flex-basis: 80% !important; width: 80% !important; max-width: 80% !important; }
.display-flex.flex-wrap-wrap > .grid-70 { flex-basis: 70% !important; width: 70% !important; max-width: 70% !important; }
.display-flex.flex-wrap-wrap > .grid-66 { flex-basis: 66.6667% !important; width: 66.6667% !important; max-width: 66.6667% !important; }
.display-flex.flex-wrap-wrap > .grid-65 { flex-basis: 65% !important; width: 65% !important; max-width: 65% !important; }
.display-flex.flex-wrap-wrap > .grid-60 { flex-basis: 60% !important; width: 60% !important; max-width: 60% !important; }
.display-flex.flex-wrap-wrap > .grid-55 { flex-basis: 55% !important; width: 55% !important; max-width: 55% !important; }
.display-flex.flex-wrap-wrap > .grid-50 { flex-basis: 50% !important; width: 50% !important; max-width: 50% !important; }
.display-flex.flex-wrap-wrap > .grid-45 { flex-basis: 45% !important; width: 45% !important; max-width: 45% !important; }
.display-flex.flex-wrap-wrap > .grid-40 { flex-basis: 40% !important; width: 40% !important; max-width: 40% !important; }
.display-flex.flex-wrap-wrap > .grid-35 { flex-basis: 35% !important; width: 35% !important; max-width: 35% !important; }
.display-flex.flex-wrap-wrap > .grid-33 { flex-basis: 33.3333% !important; width: 33.3333% !important; max-width: 33.3333% !important; }
.display-flex.flex-wrap-wrap > .grid-30 { flex-basis: 30% !important; width: 30% !important; max-width: 30% !important; }
.display-flex.flex-wrap-wrap > .grid-25 { flex-basis: 25% !important; width: 25% !important; max-width: 25% !important; }
.display-flex.flex-wrap-wrap > .grid-20 { flex-basis: 20% !important; width: 20% !important; max-width: 20% !important; }

.columns__header,
.ways__header,
.section-title {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

@media screen and (max-width: 63.9375rem) {
	.display-flex.flex-wrap-wrap > .tablet-grid-100 { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-80 { flex-basis: 80% !important; width: 80% !important; max-width: 80% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-66 { flex-basis: 66.6667% !important; width: 66.6667% !important; max-width: 66.6667% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-60 { flex-basis: 60% !important; width: 60% !important; max-width: 60% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-50 { flex-basis: 50% !important; width: 50% !important; max-width: 50% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-45 { flex-basis: 45% !important; width: 45% !important; max-width: 45% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-40 { flex-basis: 40% !important; width: 40% !important; max-width: 40% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-33 { flex-basis: 33.3333% !important; width: 33.3333% !important; max-width: 33.3333% !important; }
	.display-flex.flex-wrap-wrap > .tablet-grid-25 { flex-basis: 25% !important; width: 25% !important; max-width: 25% !important; }
}

@media screen and (max-width: 47.9375rem) {
	.display-flex.flex-wrap-wrap > .mobile-grid-100 {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}
