/* section standard sweep: keep section shells full-bleed while content uses grid-container wrappers. */

:root {
	--section-overlap: -2px;
}

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;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.intro-home > .grid-container {
	width: min(var(--grid-max), calc(100% - var(--grid-gutter-desktop))) !important;
	max-width: var(--grid-max) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 7rem 0 19.75rem !important;
}

main > section,
main > article.blog-post {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !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;
}

.market-archive,
.events-archive {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.market-archive__inner,
.events-archive__inner {
	width: min(var(--grid-max), calc(100% - var(--grid-gutter-desktop))) !important;
	max-width: var(--grid-max) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.location,
.produce-locator,
.story-location {
	display: block!important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow: hidden !important;
}

.location__inner,
.produce-locator__inner,
.story-location__inner {
	position: relative !important;
	z-index: 1 !important;
	display: flex!important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	width: min(var(--grid-max), calc(100% - var(--grid-gutter-desktop))) !important;
	max-width: var(--grid-max) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.location__content,
.location__picture,
.produce-locator__copy,
.produce-locator__media,
.story-location__content,
.story-location__media {
	float: none !important;
	box-sizing: border-box !important;
	width: 50% !important;
	max-width: 50% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.location__content,
.produce-locator__copy,
.story-location__content {
	display: flex!important;
	align-items: center !important;
}

.location__picture,
.produce-locator__media,
.story-location__media {
	display: flex!important;
	align-items: center !important;
	justify-content: center !important;
}

.location__picture,
.story-location__media {
	padding: clamp(54px, 5.5vw, 92px) clamp(34px, 4vw, 68px) !important;
}

.produce-locator__media {
	padding: clamp(54px, 5vw, 84px) clamp(32px, 4vw, 72px) !important;
}

.location__photo,
.story-location__photo,
.produce-locator__photo {
	width: 100% !important;
	max-width: 100% !important;
}

.cta,
.footer {
	left: 50% !important;
	width: 100vw !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: -50vw !important;
}

.cta__layer,
.insta-grid__bottom,
.footer::before {
	left: 50% !important;
	width: 100vw !important;
	max-width: none !important;
	transform: translateX(-50%) !important;
}

.insta-grid__bottom,
.footer {
	margin-top: var(--section-overlap) !important;
}

.cta__content.grid-container {
	width: min(var(--grid-max), calc(100% - var(--grid-gutter-mobile))) !important;
}

.origins__carousel,
.event-card__graphic {
	overflow: hidden !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 {
	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;
}

.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;
}

.origins__track {
	max-width: none !important;
	will-change: transform !important;
}

.event-card__graphic-layer {
	max-width: none !important;
}

.insta-grid__items > .insta-grid__item:not([class*="grid-"]),
.insta-grid__items > .insta-card:not([class*="grid-"]) {
	float: none !important;
	width: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.csa-card {
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: clamp(40px, 5vw, 72px) !important;
	overflow: hidden !important;
}

.csa-card__copy {
	flex: 1 1 56% !important;
	max-width: 650px !important;
	min-width: 0 !important;
}

.csa-card__media {
	position: relative !important;
	flex: 1 1 38% !important;
	min-width: 360px !important;
	min-height: 520px !important;
	align-self: center !important;
}

.csa-card__photo--main {
	right: 0 !important;
	width: 88% !important;
	height: 390px !important;
}

.csa-card__photo--small {
	right: 70px !important;
	bottom: 0 !important;
	width: 260px !important;
	height: 205px !important;
}

.csa-card__badge {
	top: 84px !important;
	left: 0 !important;
}

@media screen and (max-width: 920px) {
	:root {
		--grid-gutter-mobile: clamp(32px, 10vw, 44px) !important;
	}

	main > section > .grid-container,
	main > article.blog-post > .grid-container,
	footer > .grid-container,
	.market-archive__inner,
	.events-archive__inner,
	.location__inner,
	.produce-locator__inner,
	.story-location__inner {
		width: min(var(--grid-max), calc(100% - var(--grid-gutter-mobile))) !important;
	}

	.intro-home > .grid-container {
		width: min(var(--grid-max), calc(100% - var(--grid-gutter-mobile))) !important;
		padding: 4.5rem 0 15.625rem !important;
	}

	.location__content,
	.location__picture,
	.produce-locator__copy,
	.produce-locator__media,
	.story-location__content,
	.story-location__media {
		width: 100% !important;
		max-width: 100% !important;
	}

	.location,
	.produce-locator,
	.story-location,
	.story-location--image-left {
		background: var(--color-good-work-green) !important;
	}

	.location::after,
	.produce-locator::after,
	.story-location::after {
		right: 0 !important;
		left: 0 !important;
		opacity: .28 !important;
	}

	.location__picture,
	.produce-locator__media,
	.story-location__media {
		padding: 26px 0 54px !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,
	.products__grid > .product-card.grid-25,
	.products__grid > .product-card.grid-33,
	.team__grid > .team-card,
	.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;
	}

	.timeline__item,
	.timeline__item.is-active {
		opacity: 1 !important;
		transition: none !important;
	}

	.csa-card {
		flex-wrap: wrap !important;
	}

	.csa-card__copy,
	.csa-card__media {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.csa-card__media {
		min-height: 420px !important;
	}

	.cta__actions {
		width: min(100%, 260px) !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.csa-card__photo--main {
		width: 88% !important;
		height: 330px !important;
	}

	.csa-card__photo--small {
		right: 56px !important;
		width: 260px !important;
		height: 200px !important;
	}

	.season-list > .season-item.mobile-grid-100 {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-direction: row !important;
		justify-content: center !important;
		gap: 12px !important;
	}
}

@media screen and (max-width: 640px) {
	.product-intro,
	.in-season,
	.products,
	.testimonials,
	.specialty-product,
	.market-archive {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	main > section > .grid-container,
	main > article.blog-post > .grid-container,
	footer > .grid-container,
	.market-archive__inner,
	.events-archive__inner,
	.location__inner,
	.produce-locator__inner,
	.story-location__inner {
		width: min(var(--grid-max), calc(100% - 40px)) !important;
	}

	.intro-home > .grid-container {
		width: min(var(--grid-max), calc(100% - 40px)) !important;
		padding: 4.5rem 0 15.625rem !important;
	}

	main > section:not(.intro-home):not(.cta) {
		padding-top: min(var(--mobile-section-top, 72px), 86px) !important;
		padding-bottom: min(var(--mobile-section-bottom, 78px), 96px) !important;
	}

	.origins__carousel {
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.location__content,
	.produce-locator__copy,
	.story-location__content {
		padding: 54px 20px 24px !important;
	}

	.location__picture,
	.produce-locator__media,
	.story-location__media {
		padding-right: 20px !important;
		padding-bottom: 48px !important;
		padding-left: 20px !important;
	}

	.display-flex.flex-wrap-wrap > .mobile-grid-100,
	[class*="__grid"].display-flex > .mobile-grid-100,
	[class*="__items"].display-flex > .mobile-grid-100 {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.cta__actions {
		width: min(100%, 260px) !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
	}
}

/* Final Unsemantic ownership pass: row wrappers may align 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;
	}
}

