/**
 * Shared styles for Farm Share / How CSA Works / About page templates.
 *
 * Reuses tokens from afro-accents.css (palette, typography, button styles,
 * tier card styles) and adds page-specific layout for hero, prose blocks,
 * compare card, step list, FAQ accordion, etc.
 */

/* ---- Shared page hero ---------------------------------------------- */

.tnt-page-hero {
	position: relative;
	color: var(--tnt-cream);
	min-height: 480px;
	display: grid;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
}
.tnt-page-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.tnt-page-hero__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(110deg, rgba(20, 53, 42, 0.85) 0%, rgba(20, 53, 42, 0.3) 60%, rgba(20, 53, 42, 0.1) 100%);
}
.tnt-page-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Pulled down so more of the top of the frame (sky + leaf tops) shows. */
	object-position: center 12%;
}
.tnt-page-hero__inner {
	padding-block: clamp(3.5rem, 8vw, 6rem);
}
.tnt-page-hero__copy {
	max-width: 640px;
	background: rgba(20, 53, 42, 0.55);
	backdrop-filter: blur(8px) saturate(1.05);
	-webkit-backdrop-filter: blur(8px) saturate(1.05);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border-radius: 4px;
	border: 1px solid rgba(245, 239, 220, 0.1);
}
.tnt-page-hero__copy .tnt-eyebrow {
	color: var(--tnt-gold);
}
.tnt-page-hero__copy .tnt-eyebrow::before {
	color: var(--tnt-gold);
}
.tnt-page-hero__headline {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-cream);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.015em;
	margin: 0.5rem 0 1rem;
}
.tnt-page-hero__sub {
	color: var(--tnt-cream);
	opacity: 0.92;
	font-size: 1.0625rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}
.tnt-page-hero__body {
	color: var(--tnt-cream);
	opacity: 0.85;
	font-size: 0.9375rem;
	line-height: 1.55;
}
.tnt-page-hero__ctas {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin-top: 1.5rem;
	flex-wrap: wrap;
}
.tnt-page-hero__ctas .tnt-btn--ghost {
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--tnt-ochre);
	padding-bottom: 2px;
	transition: color 160ms;
}
.tnt-page-hero__ctas .tnt-btn--ghost:hover { color: var(--tnt-ochre); }

/* ---- Section heads (center variant) ------------------------------- */

.tnt-section-head--center {
	text-align: center;
	max-width: 720px;
	margin-inline: auto;
}
.tnt-section-head--center .tnt-eyebrow {
	justify-content: center;
}

/* ---- Prose blocks ------------------------------------------------- */

.tnt-prose {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--tnt-soil, #3C2D1A);
}
.tnt-prose p { margin: 0 0 1rem; }
.tnt-prose strong { color: var(--tnt-green-dark); }
.tnt-prose--center { text-align: center; max-width: 680px; margin-inline: auto; }

.tnt-section-cta {
	text-align: center;
	margin-top: 2rem;
}

/* ---- Farm Share: "What is..." section ----------------------------- */

.tnt-fs-what {
	background: var(--tnt-paper);
}

/* ---- Farm Share: Your Way + flexible compare ---------------------- */

.tnt-fs-way {
	background: var(--tnt-cream);
}
.tnt-fs-way__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}
@media (max-width: 920px) {
	.tnt-fs-way__grid { grid-template-columns: 1fr; }
}

.tnt-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	background: #FFF;
	padding: 1rem;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.08);
	box-shadow: 0 14px 30px -20px rgba(20, 53, 42, 0.3);
}
.tnt-compare__col {
	padding: 1.25rem 1rem;
	border-radius: 4px;
}
.tnt-compare__col--old {
	background: rgba(140, 60, 30, 0.06);
}
.tnt-compare__col--new {
	background: rgba(31, 77, 58, 0.08);
}
.tnt-compare__heading {
	display: block;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tnt-clay);
	margin-bottom: 0.75rem;
}
.tnt-compare__col--new .tnt-compare__heading { color: var(--tnt-green-dark); }
.tnt-compare ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.5;
}
.tnt-compare li::before {
	content: '\2022';
	color: var(--tnt-rust);
	margin-right: 0.5em;
}

/* ---- Farm Share: Commitments ------------------------------------- */

.tnt-fs-commit {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
/* Section head sits on dark green: eyebrow gold, heading readable cream. */
.tnt-fs-commit .tnt-section-head .tnt-eyebrow,
.tnt-fs-commit .tnt-section-head .tnt-eyebrow::before { color: var(--tnt-gold); }
.tnt-fs-commit .tnt-section-head h2 { color: var(--tnt-cream); }
.tnt-fs-commit__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}
@media (max-width: 920px) { .tnt-fs-commit__grid { grid-template-columns: 1fr; } }
.tnt-fs-commit__card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border-radius: 6px;
}
/* The two cards get distinct panel tints so they read apart from the bg. */
.tnt-fs-commit__card--yours {
	background: rgba(233, 185, 73, 0.10);
	border: 1px solid rgba(233, 185, 73, 0.30);
}
.tnt-fs-commit__card--ours {
	background: rgba(191, 214, 191, 0.10);
	border: 1px solid rgba(194, 82, 43, 0.32);
}
.tnt-fs-commit__card h3 {
	color: var(--tnt-cream);
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.375rem;
	line-height: 1.25;
	margin: 0.5rem 0 1rem;
}
.tnt-fs-commit__card .tnt-eyebrow {
	color: var(--tnt-gold);
}
.tnt-fs-commit__card .tnt-eyebrow::before { color: var(--tnt-gold); }
.tnt-fs-commit__card ul {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	color: var(--tnt-cream);
	opacity: 0.95;
}
.tnt-fs-commit__card li {
	padding: 0.4rem 0;
	border-bottom: 1px dashed rgba(213, 160, 74, 0.2);
}
.tnt-fs-commit__card li::before {
	content: '\25C6';
	color: var(--tnt-ochre);
	margin-right: 0.5em;
	font-size: 0.7em;
}
.tnt-fs-commit__note {
	margin-top: 0.75rem;
	color: var(--tnt-cream);
	opacity: 0.75;
	font-size: 0.875rem;
	font-style: italic;
}

/* ---- Farm Share: 5 step diagram ---------------------------------- */

.tnt-fs-how {
	background: var(--tnt-cream);
}
.tnt-fs-how__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
	counter-reset: step;
}
.tnt-fs-how__steps--five { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1100px) { .tnt-fs-how__steps { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .tnt-fs-how__steps { grid-template-columns: 1fr; } }
.tnt-fs-how__steps li {
	background: #FFF;
	border: 1px solid rgba(20, 53, 42, 0.06);
	border-radius: 6px;
	padding: 1.25rem 1rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	box-shadow: 0 12px 24px -16px rgba(20, 53, 42, 0.25);
}
.tnt-fs-how__num {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	border-radius: 50%;
	font-family: var(--tnt-font-display);
	font-weight: 700;
	font-size: 1rem;
}
.tnt-fs-how__steps h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.0625rem;
	color: var(--tnt-green-dark);
	margin: 0;
}
.tnt-fs-how__steps p {
	font-size: 0.875rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.5;
	margin: 0;
}

/* ---- Farm Share: pickup locations -------------------------------- */

.tnt-fs-pickup {
	background: var(--tnt-paper);
}
.tnt-fs-pickup__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1rem;
	margin-top: 2rem;
}
@media (max-width: 1100px) { .tnt-fs-pickup__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .tnt-fs-pickup__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px)  { .tnt-fs-pickup__grid { grid-template-columns: 1fr; } }
.tnt-fs-pickup__card {
	background: #FFF;
	padding: 1rem 1rem 1.25rem;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
	box-shadow: 0 8px 18px -14px rgba(20, 53, 42, 0.2);
}
.tnt-fs-pickup__pin {
	display: inline-flex;
	width: 36px;
	height: 36px;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.75rem;
}
.tnt-fs-pickup__pin svg { width: 18px; height: 18px; }
.tnt-fs-pickup__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1rem;
	color: var(--tnt-green-dark);
	margin: 0 0 0.35rem;
}
.tnt-fs-pickup__address {
	font-size: 0.8125rem;
	color: var(--tnt-soil, #3C2D1A);
	margin: 0 0 0.3rem;
	line-height: 1.4;
}
.tnt-fs-pickup__time {
	font-size: 0.75rem;
	color: var(--tnt-rust);
	font-weight: 700;
	margin: 0;
}

/* ---- Order cutoff ------------------------------------------------- */

.tnt-fs-cutoff {
	background: var(--tnt-cream);
}
.tnt-fs-cutoff__note {
	text-align: center;
	margin: 1rem auto 0;
	max-width: 540px;
	font-size: 0.8125rem;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.75;
	font-style: italic;
}

/* ---- Wholesale ---------------------------------------------------- */

.tnt-fs-wholesale {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
.tnt-fs-wholesale__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	max-width: 720px;
	margin-inline: auto;
}
/* Markup uses __panel (image variant); keep __copy for the plain variant. */
.tnt-fs-wholesale__copy .tnt-eyebrow,
.tnt-fs-wholesale__copy .tnt-eyebrow::before,
.tnt-fs-wholesale__panel .tnt-eyebrow,
.tnt-fs-wholesale__panel .tnt-eyebrow::before { color: var(--tnt-gold); }
.tnt-fs-wholesale__copy h2,
.tnt-fs-wholesale__panel h2 { color: var(--tnt-cream); }
.tnt-fs-wholesale__copy p,
.tnt-fs-wholesale__copy ul,
.tnt-fs-wholesale__panel p,
.tnt-fs-wholesale__panel ul,
.tnt-fs-wholesale__panel .tnt-prose { color: var(--tnt-cream); }
.tnt-fs-wholesale__copy strong,
.tnt-fs-wholesale__panel strong { color: var(--tnt-gold); }
.tnt-fs-wholesale__panel li { color: var(--tnt-cream); }
.tnt-fs-wholesale__copy ul {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}
.tnt-fs-wholesale__copy li {
	padding: 0.35rem 0;
	border-bottom: 1px dashed rgba(213, 160, 74, 0.18);
}
.tnt-fs-wholesale__copy li::before {
	content: '\25C6';
	color: var(--tnt-ochre);
	margin-right: 0.5em;
	font-size: 0.7em;
}
.tnt-fs-wholesale__ctas {
	display: flex;
	gap: 1.25rem;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 1.5rem;
}
.tnt-fs-wholesale__ctas .tnt-btn--ghost {
	color: var(--tnt-cream);
	border-bottom: 1px solid var(--tnt-ochre);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 700;
	font-size: 0.8125rem;
}

/* ---- Fit: this for you / maybe not -------------------------------- */

.tnt-fs-fit {
	background: var(--tnt-cream);
}
.tnt-fs-fit__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-top: 2rem;
}
@media (max-width: 820px) { .tnt-fs-fit__grid { grid-template-columns: 1fr; } }
.tnt-fs-fit__card {
	padding: 1.5rem 1.5rem 1.75rem;
	border-radius: 6px;
	background: #FFF;
	border: 1px solid rgba(20, 53, 42, 0.08);
}
.tnt-fs-fit__card--yes { border-color: var(--tnt-green); }
.tnt-fs-fit__card--no  { border-color: rgba(140, 60, 30, 0.3); }
.tnt-fs-fit__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	margin: 0 0 0.75rem;
}
.tnt-fs-fit__card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tnt-fs-fit__card li {
	padding: 0.45rem 0;
	border-bottom: 1px dashed rgba(20, 53, 42, 0.15);
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
}
.tnt-fs-fit__card--yes li::before {
	content: '\2713';
	color: var(--tnt-green);
	margin-right: 0.5em;
	font-weight: 800;
}
.tnt-fs-fit__card--no li::before {
	content: '\2715';
	color: var(--tnt-clay);
	margin-right: 0.5em;
	font-weight: 800;
}

/* ---- Final CTA ---------------------------------------------------- */

.tnt-fs-finalcta {
	background: linear-gradient(135deg, var(--tnt-rust) 0%, var(--tnt-clay) 100%);
	color: var(--tnt-cream);
	text-align: center;
}
.tnt-fs-finalcta h2 {
	color: var(--tnt-cream);
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	margin: 0 0 0.75rem;
}
.tnt-fs-finalcta p { color: var(--tnt-cream); opacity: 0.9; max-width: 560px; margin: 0 auto 1.5rem; }
.tnt-fs-finalcta__ctas {
	display: flex;
	gap: 1.25rem;
	justify-content: center;
	flex-wrap: wrap;
}
.tnt-fs-finalcta__ctas .tnt-btn {
	background: var(--tnt-cream);
	color: var(--tnt-clay);
}
.tnt-fs-finalcta__ctas .tnt-btn::before { color: var(--tnt-rust); }
.tnt-fs-finalcta__ctas .tnt-btn:hover { background: #FFF; }
.tnt-fs-finalcta__ctas .tnt-btn--ghost {
	color: var(--tnt-cream);
	border-bottom: 1px solid var(--tnt-cream);
	padding-bottom: 2px;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ============================================================== *
 *  HOW IT WORKS page-specific
 * ============================================================== */

.tnt-hcw-story {
	background: var(--tnt-paper);
}
.tnt-hcw-story__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 920px) { .tnt-hcw-story__grid { grid-template-columns: 1fr; } }
.tnt-hcw-story__card {
	background: #FFF;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
	overflow: hidden;
	box-shadow: 0 14px 28px -20px rgba(20, 53, 42, 0.3);
}
.tnt-hcw-story__pattern {
	height: 110px;
	overflow: hidden;
	border-bottom: 3px solid var(--tnt-rust);
}
.tnt-hcw-story__pattern svg { display: block; width: 100%; height: 100%; }
.tnt-hcw-story__card .tnt-eyebrow {
	display: inline-flex;
	margin: 1.25rem 1.5rem 0.25rem;
}
.tnt-hcw-story__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	margin: 0 1.5rem 0.75rem;
}
.tnt-hcw-story__card p {
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.55;
	margin: 0 1.5rem 1.5rem;
}

/* FAQ accordion */
.tnt-hcw-faq {
	background: var(--tnt-paper);
}
.tnt-faq {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.tnt-faq__item {
	background: #FFF;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.08);
	overflow: hidden;
	box-shadow: 0 8px 18px -14px rgba(20, 53, 42, 0.18);
}
.tnt-faq__item summary {
	cursor: pointer;
	padding: 1rem 1.25rem;
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.0625rem;
	color: var(--tnt-green-dark);
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.tnt-faq__item summary::-webkit-details-marker { display: none; }
.tnt-faq__item summary::after {
	content: '+';
	font-family: var(--tnt-font-display);
	font-weight: 400;
	color: var(--tnt-rust);
	font-size: 1.4rem;
	line-height: 1;
	transition: transform 200ms;
}
.tnt-faq__item[open] summary::after { content: '\2013'; transform: rotate(0); }
.tnt-faq__a {
	padding: 0 1.25rem 1.25rem;
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.6;
}

/* ============================================================== *
 *  ABOUT page-specific
 * ============================================================== */

.tnt-about-why { background: var(--tnt-paper); }

.tnt-about-origin {
	background: var(--tnt-cream);
}
.tnt-about-origin__grid {
	display: grid;
	grid-template-columns: 0.85fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}
@media (max-width: 920px) { .tnt-about-origin__grid { grid-template-columns: 1fr; } }
.tnt-about-origin__media {
	background: var(--tnt-cream);
	padding: 14px 14px 28px;
	border-radius: 4px;
	box-shadow: 0 20px 45px -22px rgba(20, 53, 42, 0.45);
	position: relative;
}
.tnt-about-origin__media::after {
	content: '';
	position: absolute;
	bottom: 8px; left: 14px; right: 14px;
	height: 6px;
	background:
		linear-gradient(90deg, var(--tnt-rust) 0 30%, transparent 30% 35%, var(--tnt-ochre) 35% 65%, transparent 65% 70%, var(--tnt-green-dark) 70% 100%);
}
.tnt-about-origin__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
}

.tnt-about-grow {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
.tnt-about-grow h2 { color: var(--tnt-cream); }
.tnt-about-grow .tnt-eyebrow { color: var(--tnt-ochre); }
.tnt-about-grow__list {
	list-style: none;
	margin: 2rem auto 0;
	padding: 0;
	max-width: 540px;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.tnt-about-grow__list li {
	padding: 0.75rem 1rem;
	background: rgba(245, 239, 220, 0.06);
	border-left: 3px solid var(--tnt-ochre);
	border-radius: 4px;
	color: var(--tnt-cream);
}
.tnt-about-grow__list strong { color: var(--tnt-ochre); }

.tnt-about-crops {
	background: var(--tnt-paper);
}
.tnt-about-crops__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin-top: 2rem;
}
@media (max-width: 920px) { .tnt-about-crops__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .tnt-about-crops__grid { grid-template-columns: 1fr; } }
.tnt-about-crops__card {
	background: var(--tnt-cream);
	padding: 1.25rem 1rem 1.25rem;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
	text-align: center;
}
.tnt-about-crops__icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	background: rgba(31, 77, 58, 0.08);
	color: var(--tnt-green);
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.75rem;
}
.tnt-about-crops__icon svg { width: 24px; height: 24px; }
.tnt-about-crops__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1rem;
	color: var(--tnt-green-dark);
	margin: 0 0 0.25rem;
}
.tnt-about-crops__card p {
	font-size: 0.8125rem;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.85;
	margin: 0;
	line-height: 1.5;
}

.tnt-about-quote {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
.tnt-about-quote blockquote {
	margin: 0;
	text-align: center;
}
.tnt-about-quote blockquote p {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.3;
	color: var(--tnt-cream);
	margin: 0 0 1rem;
	text-wrap: balance;
}
.tnt-about-quote blockquote cite {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-style: normal;
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tnt-ochre);
}
.tnt-about-quote .tnt-section-cta .tnt-btn {
	background: var(--tnt-ochre);
	color: var(--tnt-green-dark);
}
.tnt-about-quote .tnt-section-cta .tnt-btn::before { color: var(--tnt-green-dark); }
.tnt-about-quote .tnt-section-cta .tnt-btn:hover { background: #E5B05A; }

.tnt-about-ways {
	background: var(--tnt-cream);
}
.tnt-about-ways__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2rem;
}
@media (max-width: 920px) { .tnt-about-ways__grid { grid-template-columns: 1fr; } }
.tnt-about-ways__card {
	background: #FFF;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
	overflow: hidden;
	box-shadow: 0 18px 36px -22px rgba(20, 53, 42, 0.3);
	display: flex;
	flex-direction: column;
}
.tnt-about-ways__pattern {
	height: 110px;
	overflow: hidden;
	border-bottom: 3px solid var(--tnt-rust);
}
.tnt-about-ways__pattern svg { display: block; width: 100%; height: 100%; }
.tnt-about-ways__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	margin: 1.25rem 1.5rem 0.5rem;
}
.tnt-about-ways__card p {
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.55;
	margin: 0 1.5rem 1.5rem;
	flex: 1;
}
.tnt-about-ways__card .tnt-btn {
	align-self: flex-start;
	margin: 0 1.5rem 1.5rem;
}

/* ============================================================== *
 *  IMAGE-DRIVEN UPLIFT (Wave: pages v2)
 * ============================================================== */

/* ---- Hero: taller, with sun-stamp accent --------------------- */
.tnt-page-hero--tall { min-height: 560px; }
.tnt-page-hero__stamp {
	position: absolute;
	right: clamp(2rem, 6vw, 5rem);
	bottom: clamp(2rem, 4vw, 3rem);
	width: 70px;
	height: 70px;
	opacity: 0.65;
	animation: tnt-stamp-spin 60s linear infinite;
	z-index: 1;
	pointer-events: none;
}
@keyframes tnt-stamp-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (max-width: 720px) { .tnt-page-hero__stamp { display: none; } }

/* ---- SPLIT IMAGE block (Two-column with photo) --------------- */
.tnt-split-image--paper { background: var(--tnt-paper); }
.tnt-split-image--cream { background: var(--tnt-cream); }
.tnt-split-image__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}
.tnt-split-image__grid--reverse .tnt-split-image__media { order: 2; }
@media (max-width: 920px) {
	.tnt-split-image__grid,
	.tnt-split-image__grid--reverse { grid-template-columns: 1fr; }
	.tnt-split-image__grid--reverse .tnt-split-image__media { order: 0; }
}
.tnt-split-image__media {
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 28px 60px -28px rgba(20, 53, 42, 0.45);
	aspect-ratio: 4 / 3;
}
.tnt-split-image__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 600ms ease;
}
.tnt-split-image__media:hover .tnt-split-image__img { transform: scale(1.03); }

.tnt-split-image__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--tnt-cream);
	color: var(--tnt-rust);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 800;
	font-size: 0.65rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	box-shadow: 0 8px 16px -8px rgba(20, 53, 42, 0.35);
}
.tnt-split-image__badge svg { width: 14px; height: 14px; }

/* Pattern square retired sitewide - it read as a stray block over the photo. */
.tnt-split-image__pattern { display: none; }

.tnt-split-image__copy h2 {
	font-size: clamp(1.625rem, 3vw, 2.25rem);
	line-height: 1.1;
	margin: 0.5rem 0 1rem;
}
.tnt-split-image__copy .tnt-btn {
	margin-top: 1.25rem;
}

/* ---- COMMIT cards: accent reduced to a slim top strip ---------- */
.tnt-fs-commit__card {
	position: relative;
	overflow: hidden;
	padding-top: calc(clamp(1.5rem, 3vw, 2rem) + 6px);
}
/* The pattern square is gone; a 6px colour strip sits along the card top. */
.tnt-fs-commit__pattern {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	width: 100%;
	opacity: 1;
	pointer-events: none;
}
.tnt-fs-commit__pattern svg { display: none; }
.tnt-fs-commit__card--yours .tnt-fs-commit__pattern { background: var(--tnt-gold); }
.tnt-fs-commit__card--ours .tnt-fs-commit__pattern { background: var(--tnt-rust); }

/* ---- PICKUP layout: map + cards side by side ----------------- */
.tnt-fs-pickup {
	background: var(--tnt-paper);
}
.tnt-fs-pickup__layout {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-top: 2rem;
	align-items: stretch;
}
@media (max-width: 920px) {
	.tnt-fs-pickup__layout { grid-template-columns: 1fr; }
}
.tnt-fs-pickup__map {
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 20px 48px -22px rgba(20, 53, 42, 0.5);
	border: 1px solid rgba(20, 53, 42, 0.15);
	aspect-ratio: 4 / 3;
	background: var(--tnt-green-dark);
}
.tnt-fs-pickup__map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.tnt-fs-pickup__list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.tnt-fs-pickup__row {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	background: #FFF;
	padding: 1rem 1.1rem;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
	box-shadow: 0 6px 14px -10px rgba(20, 53, 42, 0.18);
}
.tnt-fs-pickup__row h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1rem;
	color: var(--tnt-green-dark);
	margin: 0 0 0.2rem;
}
.tnt-fs-pickup__row .tnt-fs-pickup__pin {
	margin-bottom: 0;
	flex-shrink: 0;
}
.tnt-fs-pickup__note {
	font-size: 0.7rem;
	color: var(--tnt-clay);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0.3rem 0 0;
}

/* ---- WEEK CADENCE diagram ------------------------------------ */
.tnt-week {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.5rem;
	margin-top: 2rem;
}
@media (max-width: 720px) { .tnt-week { grid-template-columns: 1fr 1fr; } }
.tnt-week__day {
	background: #FFF;
	border-radius: 6px;
	padding: 1rem 0.5rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	border-top: 4px solid rgba(20, 53, 42, 0.08);
	transition: transform 200ms;
}
.tnt-week__day:hover { transform: translateY(-3px); }
.tnt-week__num {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1rem;
	color: var(--tnt-green-dark);
	letter-spacing: 0.04em;
}
.tnt-week__label {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.75;
}
.tnt-week__day--shop     { border-top-color: var(--tnt-ochre); }
.tnt-week__day--cutoff   { border-top-color: var(--tnt-rust); background: rgba(194, 82, 43, 0.06); }
.tnt-week__day--cutoff .tnt-week__label { color: var(--tnt-rust); opacity: 1; }
.tnt-week__day--dispatch { border-top-color: var(--tnt-green); background: rgba(31, 77, 58, 0.07); }
.tnt-week__day--dispatch .tnt-week__label { color: var(--tnt-green-dark); opacity: 1; }
.tnt-week__day--pickup   { border-top-color: var(--tnt-clay); background: rgba(140, 60, 30, 0.06); }
.tnt-week__day--pickup .tnt-week__label { color: var(--tnt-clay); opacity: 1; }
.tnt-week__day--idle     { opacity: 0.55; }

/* ---- WHOLESALE with image backdrop --------------------------- */
.tnt-fs-wholesale--image {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.tnt-fs-wholesale__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.tnt-fs-wholesale__bg-img,
.tnt-fs-wholesale__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.4;
}
.tnt-fs-wholesale__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(20, 53, 42, 0.9) 0%, rgba(12, 34, 24, 0.85) 100%);
}
.tnt-fs-wholesale__panel {
	max-width: 640px;
	margin-inline: auto;
}

/* ---- FIT cards with icons ------------------------------------ */
.tnt-fs-fit__card {
	position: relative;
	padding-top: 3rem;
}
.tnt-fs-fit__icon {
	position: absolute;
	top: -22px;
	left: 1.5rem;
	width: 44px;
	height: 44px;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 16px -8px rgba(194, 82, 43, 0.5);
}
.tnt-fs-fit__icon svg { width: 22px; height: 22px; }
.tnt-fs-fit__card--no .tnt-fs-fit__icon { background: var(--tnt-clay); }

/* ============================================================== *
 *  HOW CSA WORKS uplift
 * ============================================================== */

.tnt-hcw-story--images .tnt-hcw-story__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.tnt-hcw-story__media {
	position: relative;
	aspect-ratio: 5 / 3;
	overflow: hidden;
}
.tnt-hcw-story__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 500ms ease;
}
.tnt-hcw-story__card:hover .tnt-hcw-story__img { transform: scale(1.05); }
/* Card 3 (farmer portrait): pulled down hard so her face/headwrap shows
   instead of cropping to the torso. */
.tnt-hcw-story__grid .tnt-hcw-story__card:nth-child(3) .tnt-hcw-story__img {
	object-position: center 16%;
}
.tnt-hcw-story__num {
	position: absolute;
	/* Sits fully inside the image (was -22px, which clipped against the
	   media's overflow:hidden). Now fully on top, never cut off. */
	bottom: 1rem;
	left: 1.5rem;
	width: 56px;
	height: 56px;
	background: #D5A04A;
	color: var(--tnt-green-dark);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--tnt-font-display);
	font-weight: 700;
	font-size: 1.5rem;
	border: 4px solid #FFF;
	box-shadow: 0 8px 18px -6px rgba(213, 160, 74, 0.55);
	z-index: 2;
}
.tnt-hcw-story__copy {
	padding: 2rem 1.5rem 1.75rem;
}
.tnt-hcw-story__copy .tnt-eyebrow { display: inline-flex; }
.tnt-hcw-story__copy h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	margin: 0.5rem 0 0.75rem;
}
.tnt-hcw-story__copy p {
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
	line-height: 1.55;
	margin: 0;
}

/* ============================================================== *
 *  ABOUT uplift
 * ============================================================== */

.tnt-about-origin__media {
	position: relative;
}
.tnt-about-origin__quote {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--tnt-cream);
	color: transparent; /* hide the raw glyph; draw it optically centred below */
	box-shadow: 0 12px 24px -12px rgba(20, 53, 42, 0.5);
	z-index: 3;
}
.tnt-about-origin__quote::before {
	content: "\201C";
	position: absolute;
	left: 50%;
	top: 50%;
	/* -34% lifts the quote glyph (which sits high in its em) to optical centre */
	transform: translate(-50%, -34%);
	color: var(--tnt-rust);
	font-family: var(--tnt-font-display);
	font-size: 5rem;
	line-height: 1;
}

.tnt-about-origin__pull {
	margin: 1.5rem 0;
	padding: 1.25rem 1.5rem;
	background: var(--tnt-paper);
	border-left: 4px solid var(--tnt-rust);
	border-radius: 0 6px 6px 0;
	font-family: var(--tnt-font-display);
	font-size: 1.125rem;
	line-height: 1.45;
	color: var(--tnt-green-dark);
	font-style: italic;
}
.tnt-about-origin__pull p { margin: 0 0 0.5rem; }
.tnt-about-origin__pull p:last-child { margin-bottom: 0; }
.tnt-about-origin__copy cite {
	display: block;
	font-style: normal;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tnt-rust);
	margin-top: 1rem;
}

/* How We Grow with image backdrop */
.tnt-about-grow--image {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.tnt-about-grow__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
}
.tnt-about-grow__bg-img,
.tnt-about-grow__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.3;
}
.tnt-about-grow__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(20, 53, 42, 0.92) 0%, rgba(12, 34, 24, 0.88) 100%);
}
.tnt-about-grow__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin-top: 2.5rem;
}
@media (max-width: 920px) { .tnt-about-grow__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .tnt-about-grow__grid { grid-template-columns: 1fr; } }
.tnt-about-grow__principle {
	background: rgba(245, 239, 220, 0.07);
	border: 1px solid rgba(213, 160, 74, 0.3);
	border-radius: 6px;
	padding: 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.tnt-about-grow__num {
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-size: 2rem;
	color: var(--tnt-ochre);
	letter-spacing: -0.02em;
	line-height: 1;
}
.tnt-about-grow__principle h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.125rem;
	color: var(--tnt-cream);
	margin: 0;
}
.tnt-about-grow__principle p {
	font-size: 0.875rem;
	color: var(--tnt-cream);
	opacity: 0.85;
	line-height: 1.5;
	margin: 0;
}

/* Crop categories with real photos */
.tnt-about-crops__card {
	overflow: hidden;
	padding: 0;
	display: flex;
	flex-direction: column;
	background: #FFF;
	transition: transform 220ms, box-shadow 220ms;
	/* Now a clickable link to the category. */
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.tnt-about-crops__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 32px -16px rgba(20, 53, 42, 0.3);
}
.tnt-about-crops__card:hover h3 { color: var(--tnt-rust); }
.tnt-about-crops__media {
	aspect-ratio: 4 / 3;
	background: var(--tnt-paper);
	position: relative;
	overflow: hidden;
}
.tnt-about-crops__img,
.tnt-about-crops__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}
.tnt-about-crops__card:hover .tnt-about-crops__img { transform: scale(1.08); }
.tnt-about-crops__placeholder {
	width: 100%;
	height: 100%;
	background: var(--tnt-cream-soft);
}
.tnt-about-crops__placeholder svg { width: 100%; height: 100%; }
.tnt-about-crops__body {
	padding: 1rem 1.1rem 1.2rem;
}
.tnt-about-crops__card h3 {
	margin: 0 0 0.2rem;
	font-size: 1rem;
}

/* Quote card */
.tnt-quote-card {
	background: #FFF;
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 8px;
	box-shadow: 0 30px 60px -28px rgba(20, 53, 42, 0.4);
	border: 1px solid rgba(213, 160, 74, 0.25);
	position: relative;
	text-align: center;
}
.tnt-quote-card__mark {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--tnt-cream);
	color: transparent; /* glyph drawn optically centred below */
	box-shadow: 0 8px 16px -8px rgba(20, 53, 42, 0.4);
	/* Above the card's top strip so it isn't clipped by it. */
	z-index: 5;
}
.tnt-quote-card__mark::before {
	content: "\201C";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -32%);
	color: var(--tnt-rust);
	font-family: var(--tnt-font-display);
	font-size: 3.5rem;
	line-height: 1;
}
.tnt-quote-card blockquote {
	margin: 1.5rem 0 0;
}
.tnt-quote-card blockquote p {
	font-family: var(--tnt-font-display);
	font-weight: 400;
	font-style: italic;
	font-size: clamp(1.25rem, 2.5vw, 1.625rem);
	line-height: 1.4;
	color: var(--tnt-green-dark);
	margin: 0;
	text-wrap: balance;
}
.tnt-quote-card cite {
	display: block;
	margin-top: 1rem;
	font-style: normal;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tnt-rust);
}
.tnt-quote-card__stars {
	display: inline-flex;
	gap: 2px;
	color: var(--tnt-ochre);
	margin-top: 1rem;
}

/* Ways: featured highlight */
.tnt-about-ways__card--featured {
	border: 2px solid var(--tnt-green);
	position: relative;
	transform: scale(1.02);
}
.tnt-about-ways__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.65rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	z-index: 3;
}


/* ============================================================== *
 *  LEGAL + INFO + FAQ secondary templates
 * ============================================================== */

/* ---- Legal long-content template ----------------------------- */
.tnt-legal-hero {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
	padding-block: clamp(3rem, 5vw, 4.5rem);
	border-bottom: 4px solid var(--tnt-ochre);
	text-align: center;
}
.tnt-legal-hero h1 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-cream);
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.1;
	margin: 0.5rem 0;
}
.tnt-legal-hero .tnt-eyebrow {
	color: var(--tnt-ochre);
	justify-content: center;
}
.tnt-legal-hero__sub {
	color: var(--tnt-cream);
	opacity: 0.85;
	max-width: 540px;
	margin: 0.5rem auto;
}
.tnt-legal-hero__updated {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--tnt-ochre);
	opacity: 0.7;
	margin-top: 1rem;
}

.tnt-legal-body { background: var(--tnt-paper); padding-block: clamp(2rem, 4vw, 4rem); }
.tnt-prose--legal h2 {
	font-family: var(--tnt-font-display);
	font-weight: 600;
	color: var(--tnt-green-dark);
	font-size: 1.25rem;
	margin: 2rem 0 0.75rem;
	padding-bottom: 0.3rem;
	border-bottom: 1px solid rgba(20, 53, 42, 0.15);
}
.tnt-prose--legal h2:first-child { margin-top: 0; }
.tnt-prose--legal p { margin: 0 0 1rem; line-height: 1.7; font-size: 0.9375rem; }
.tnt-prose--legal ul {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}
.tnt-prose--legal ul li {
	padding: 0.35rem 0 0.35rem 1.4rem;
	position: relative;
	font-size: 0.9375rem;
}
.tnt-prose--legal ul li::before {
	content: '\25C6';
	position: absolute;
	left: 0;
	top: 0.35rem;
	color: var(--tnt-rust);
	font-size: 0.8em;
}
.tnt-prose--legal strong { color: var(--tnt-green-dark); }

/* ---- Info template generic sections ------------------------- */
.tnt-info-section { padding-block: clamp(2.5rem, 4vw, 4rem); }
.tnt-info-section--prose       { background: var(--tnt-paper); }
.tnt-info-section--split-left,
.tnt-info-section--split-right { background: var(--tnt-cream); }
.tnt-info-section--jade {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
.tnt-info-section--jade h2,
.tnt-info-section--jade .tnt-eyebrow,
.tnt-info-section--jade .tnt-prose,
.tnt-info-section--jade .tnt-prose strong { color: var(--tnt-cream); }
.tnt-info-section--jade .tnt-eyebrow { color: var(--tnt-gold); }

/* Alternate sections automatically swap paper / cream for rhythm */
.tnt-page--info .tnt-info-section:nth-of-type(odd)  { background: var(--tnt-paper); }
.tnt-page--info .tnt-info-section:nth-of-type(even) { background: var(--tnt-cream); }

/* ---- FAQ template ------------------------------------------- */
.tnt-faq-nav {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
	padding-block: 1rem;
	border-bottom: 3px solid var(--tnt-ochre);
	position: sticky;
	top: 0;
	z-index: 5;
}
.tnt-faq-nav__list {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	scrollbar-width: none;
}
.tnt-faq-nav__list::-webkit-scrollbar { display: none; }
.tnt-faq-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	background: rgba(245, 239, 220, 0.08);
	border: 1px solid rgba(213, 160, 74, 0.3);
	color: var(--tnt-cream);
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background 160ms, border-color 160ms;
}
.tnt-faq-nav__link:hover {
	background: var(--tnt-ochre);
	border-color: var(--tnt-ochre);
	color: var(--tnt-green-dark);
}
.tnt-faq-nav__icon {
	width: 14px;
	height: 14px;
	display: inline-flex;
	color: var(--tnt-ochre);
	flex-shrink: 0;
}
.tnt-faq-nav__icon svg { width: 100%; height: 100%; }
.tnt-faq-nav__link:hover .tnt-faq-nav__icon { color: var(--tnt-green-dark); }

.tnt-faq-section { padding-block: clamp(2rem, 3vw, 3rem); }
.tnt-faq-section:nth-of-type(odd)  { background: var(--tnt-paper); }
.tnt-faq-section:nth-of-type(even) { background: var(--tnt-cream); }
.tnt-faq-section__head {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	max-width: 720px;
	margin: 0 auto 1.5rem;
}
.tnt-faq-section__icon {
	width: 40px;
	height: 40px;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.tnt-faq-section__icon svg { width: 22px; height: 22px; }
.tnt-faq-section h2 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-green-dark);
	font-size: 1.5rem;
	margin: 0;
}

/* ============================================================== *
 *  INFO TEMPLATE v2: stronger contrast, decorative pattern, card lists
 * ============================================================== */

/* Explicit per-section bg classes win over odd/even (boosted specificity) */
.tnt-info-section {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 5vw, 4.5rem);
}
.tnt-page--info .tnt-info-section.tnt-info-section--paper,
.tnt-page--info .tnt-info-section:nth-of-type(odd),
.tnt-page--info .tnt-info-section:nth-of-type(even) { background: var(--tnt-paper); }
.tnt-page--info .tnt-info-section.tnt-info-section--cream { background: var(--tnt-cream); }
.tnt-page--info .tnt-info-section.tnt-info-section--jade,
.tnt-page--info .tnt-info-section.tnt-info-section--jade-feature {
	background: var(--tnt-green-dark) !important;
	color: var(--tnt-cream);
}
.tnt-info-section--jade h2,
.tnt-info-section--jade-feature h2 { color: var(--tnt-cream); }
.tnt-info-section--jade .tnt-eyebrow,
.tnt-info-section--jade-feature .tnt-eyebrow { color: var(--tnt-gold); }
.tnt-info-section--jade .tnt-prose,
.tnt-info-section--jade-feature .tnt-prose { color: var(--tnt-cream); }
/* Centered lead <p> is otherwise forced muted by .tnt-section-head p; keep it
   readable on the dark jade background. */
.tnt-info-section--jade .tnt-section-head p,
.tnt-info-section--jade-feature .tnt-section-head p,
.tnt-info-section--jade .tnt-prose p,
.tnt-info-section--jade-feature .tnt-prose p { color: var(--tnt-cream); }
.tnt-info-section--jade .tnt-prose strong,
.tnt-info-section--jade-feature .tnt-prose strong { color: var(--tnt-gold); }

/* corner decorative pattern */
.tnt-info-section__deco {
	position: absolute;
	width: 240px;
	height: 240px;
	opacity: 0.07;
	pointer-events: none;
	transform: rotate(-12deg);
	z-index: 0;
}
.tnt-info-section__deco--tr { top: -50px; right: -40px; }
.tnt-info-section__deco--bl { bottom: -50px; left: -40px; transform: rotate(15deg); }
.tnt-info-section__deco svg { width: 100%; height: 100%; }
.tnt-info-section--jade .tnt-info-section__deco,
.tnt-info-section--jade-feature .tnt-info-section__deco { opacity: 0.12; }
.tnt-info-section > .tnt-container { position: relative; z-index: 1; }

/* PROSE article layout — left aligned with proper bullets */
.tnt-prose--article {
	max-width: 720px;
	margin-inline: auto;
	text-align: left;
}
.tnt-prose--article p {
	margin: 0 0 1rem;
	font-size: 1.0625rem;
	line-height: 1.7;
}
.tnt-prose--article ul,
.tnt-prose--article ol {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}
.tnt-prose--article ul li,
.tnt-prose--article ol li {
	position: relative;
	padding: 0.65rem 0 0.65rem 2.25rem;
	font-size: 1rem;
	line-height: 1.5;
	border-bottom: 1px dashed rgba(20, 53, 42, 0.12);
}
.tnt-prose--article ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 12px;
	height: 12px;
	background: var(--tnt-rust);
	transform: rotate(45deg);
}
.tnt-prose--article ol {
	counter-reset: tnt-ol;
}
.tnt-prose--article ol li {
	counter-increment: tnt-ol;
}
.tnt-prose--article ol li::before {
	content: counter( tnt-ol, decimal-leading-zero );
	position: absolute;
	left: 0;
	top: 0.45rem;
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--tnt-rust);
}
.tnt-prose--article h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	margin: 2rem 0 0.75rem;
}
.tnt-info-section--jade .tnt-prose--article ul li,
.tnt-info-section--jade-feature .tnt-prose--article ul li {
	border-bottom-color: rgba(245, 239, 220, 0.15);
}
.tnt-info-section--jade .tnt-prose--article ul li::before,
.tnt-info-section--jade-feature .tnt-prose--article ul li::before {
	background: var(--tnt-ochre);
}

/* PROSE left (used inside split layouts) */
.tnt-prose--left { text-align: left; }
.tnt-prose--left p { margin: 0 0 1rem; line-height: 1.6; }
.tnt-prose--left ul {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}
.tnt-prose--left ul li {
	position: relative;
	padding: 0.4rem 0 0.4rem 1.5rem;
	font-size: 0.9375rem;
	line-height: 1.5;
}
.tnt-prose--left ul li::before {
	content: '\25C6';
	position: absolute;
	left: 0;
	color: var(--tnt-rust);
	font-size: 0.85em;
	top: 0.45rem;
}

/* FEATURE GRID for feature-list / jade-feature layouts */
.tnt-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-top: 2rem;
}
@media (max-width: 720px) { .tnt-feature-grid { grid-template-columns: 1fr; } }
.tnt-feature {
	background: #FFF;
	border-radius: 6px;
	padding: 1.25rem 1.25rem 1.25rem 4rem;
	position: relative;
	border-left: 4px solid var(--tnt-rust);
	box-shadow: 0 10px 22px -16px rgba(20, 53, 42, 0.25);
	font-size: 0.9375rem;
	line-height: 1.55;
}
.tnt-feature__num {
	position: absolute;
	left: 1.25rem;
	top: 1.1rem;
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-size: 1.5rem;
	color: var(--tnt-rust);
	letter-spacing: -0.02em;
}
.tnt-feature__body { color: var(--tnt-soil, #3C2D1A); }
.tnt-feature__body strong { color: var(--tnt-green-dark); }

/* jade feature variant */
.tnt-info-section--jade-feature .tnt-feature {
	background: rgba(245, 239, 220, 0.06);
	border-left-color: var(--tnt-ochre);
	color: var(--tnt-cream);
}
.tnt-info-section--jade-feature .tnt-feature__num { color: var(--tnt-ochre); }
.tnt-info-section--jade-feature .tnt-feature__body { color: var(--tnt-cream); opacity: 0.95; }
.tnt-info-section--jade-feature .tnt-feature__body strong { color: var(--tnt-ochre); }

/* ============================================================== *
 *  BLOG INDEX + SINGLE POST
 * ============================================================== */

.tnt-page--blog .tnt-blog-list { background: var(--tnt-paper); padding-block: clamp(3rem, 5vw, 4.5rem); }

.tnt-blog-featured {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	background: #FFF;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 28px 60px -28px rgba(20, 53, 42, 0.4);
	margin-bottom: 3rem;
}
@media (max-width: 920px) { .tnt-blog-featured { grid-template-columns: 1fr; } }

.tnt-blog-featured__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.tnt-blog-featured__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 500ms ease;
}
.tnt-blog-featured__media:hover img { transform: scale(1.05); }

.tnt-blog-featured__body {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: center;
}
.tnt-blog__cat {
	display: inline-flex;
	align-self: flex-start;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	text-decoration: none;
}
.tnt-blog-featured__title {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-green-dark);
	font-size: clamp(1.625rem, 3vw, 2.25rem);
	line-height: 1.15;
	margin: 0;
}
.tnt-blog-featured__title a { color: inherit; text-decoration: none; }
.tnt-blog-featured__title a:hover { color: var(--tnt-rust); }
.tnt-blog-featured__excerpt {
	font-size: 1rem;
	line-height: 1.55;
	color: var(--tnt-soil, #3C2D1A);
	margin: 0;
}
.tnt-blog__meta {
	display: flex;
	gap: 0.6rem;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.75rem;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.7;
	letter-spacing: 0.04em;
}

.tnt-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 920px) { .tnt-blog-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .tnt-blog-grid { grid-template-columns: 1fr; } }

.tnt-blog-card {
	background: #FFF;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(20, 53, 42, 0.06);
	box-shadow: 0 14px 28px -22px rgba(20, 53, 42, 0.3);
	display: flex;
	flex-direction: column;
	transition: transform 200ms, box-shadow 200ms;
}
.tnt-blog-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 26px 40px -22px rgba(20, 53, 42, 0.4);
}
.tnt-blog-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.tnt-blog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}
.tnt-blog-card:hover .tnt-blog-card__media img { transform: scale(1.07); }
.tnt-blog-card__body {
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex: 1;
}
.tnt-blog-card__title {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.25rem;
	color: var(--tnt-green-dark);
	line-height: 1.2;
	margin: 0;
}
.tnt-blog-card__title a { color: inherit; text-decoration: none; }
.tnt-blog-card__title a:hover { color: var(--tnt-rust); }
.tnt-blog-card__excerpt {
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--tnt-soil, #3C2D1A);
	margin: 0;
}

/* Single post */
.tnt-post-hero {
	position: relative;
	color: var(--tnt-cream);
	min-height: 380px;
	display: grid;
	align-items: end;
	overflow: hidden;
	isolation: isolate;
	background: var(--tnt-green-dark);
}
.tnt-post-hero__bg { position: absolute; inset: 0; z-index: -1; }
.tnt-post-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.tnt-post-hero__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 53, 42, 0.3) 0%, rgba(20, 53, 42, 0.9) 100%);
}
.tnt-post-hero__inner {
	padding-block: clamp(3rem, 5vw, 5rem);
	position: relative;
	z-index: 1;
}
.tnt-post-hero__headline {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-cream);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	margin: 0.75rem 0;
}
.tnt-post-hero__meta {
	display: flex;
	gap: 0.6rem;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.8125rem;
	color: var(--tnt-cream);
	opacity: 0.85;
	letter-spacing: 0.04em;
}

.tnt-post-body { background: var(--tnt-paper); padding-block: clamp(3rem, 5vw, 4rem); }
.tnt-post-content { font-size: 1.0625rem; }
.tnt-post-content h2 { margin-top: 2.5rem; }
.tnt-post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	margin: 2rem 0;
}
.tnt-post-content blockquote {
	margin: 2rem 0;
	padding: 1.5rem 1.75rem;
	background: var(--tnt-cream);
	border-left: 4px solid var(--tnt-rust);
	border-radius: 0 6px 6px 0;
	font-family: var(--tnt-font-display);
	font-style: italic;
	font-size: 1.125rem;
	line-height: 1.5;
}

.tnt-post__cat {
	display: inline-flex;
	background: var(--tnt-ochre);
	color: var(--tnt-green-dark);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.65rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	text-decoration: none;
}

.tnt-post__tags {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(20, 53, 42, 0.15);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.875rem;
}
.tnt-post__tags a { color: var(--tnt-rust); margin-right: 0.4rem; font-weight: 700; }

.tnt-post-cta { background: var(--tnt-cream); padding-block: clamp(2rem, 4vw, 3.5rem); }
.tnt-post-cta__card {
	background: #FFF;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-radius: 8px;
	display: flex;
	gap: 1.5rem;
	align-items: center;
	box-shadow: 0 20px 40px -28px rgba(20, 53, 42, 0.4);
	border: 1px solid rgba(213, 160, 74, 0.3);
}
.tnt-post-cta__avatar {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.tnt-post-cta__card h3 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	color: var(--tnt-green-dark);
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
}
.tnt-post-cta__card p {
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
	margin: 0 0 1rem;
}
@media (max-width: 600px) {
	.tnt-post-cta__card { flex-direction: column; text-align: center; }
}

/* ============================================================== *
 *  Card top-strip accent (site consistency pass)
 *  Same slim top strip used on the Farm Share commit cards, applied
 *  to content cards across the site. Deliberately NOT applied to:
 *  home cards, Farm Share share/tier cards, or product cards.
 * ============================================================== */
.tnt-hcw-story__card,
.tnt-about-ways__card,
.tnt-about-crops__card,
.tnt-quote-card,
.tnt-post-cta__card,
.tnt-blog-card {
	position: relative;
}
.tnt-hcw-story__card::before,
.tnt-about-ways__card::before,
.tnt-about-crops__card::before,
.tnt-quote-card::before,
.tnt-post-cta__card::before,
.tnt-blog-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: var(--tnt-rust);
	border-radius: 6px 6px 0 0;
	z-index: 4;
	pointer-events: none;
}
/* Featured "ways to shop" card keeps its own emphasis colour. */
.tnt-about-ways__card--featured::before { background: var(--tnt-gold); }

/* ============================================================== *
 *  Product cards (advertised products on content pages, e.g. Nursery)
 *  Real add-to-cart. No top-strip accent (product cards are excluded).
 * ============================================================== */
.tnt-prodcards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
.tnt-prodcard {
	flex: 1 1 240px;
	max-width: 300px;
	display: flex;
	flex-direction: column;
	background: #FFF;
	border: 1px solid rgba(20, 53, 42, 0.08);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 18px 36px -24px rgba(20, 53, 42, 0.45);
}
.tnt-prodcard__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--tnt-paper);
}
.tnt-prodcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}
.tnt-prodcard:hover .tnt-prodcard__media img { transform: scale(1.05); }
.tnt-prodcard__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
	padding: 1rem 1.1rem 1.25rem;
}
.tnt-prodcard__title {
	margin: 0;
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.05rem;
	line-height: 1.25;
}
.tnt-prodcard__title a { color: var(--tnt-green-dark); text-decoration: none; }
.tnt-prodcard__title a:hover { color: var(--tnt-rust); }
.tnt-prodcard__price {
	color: var(--tnt-rust);
	font-weight: 700;
	font-size: 1.05rem;
}
.tnt-prodcard__price del { color: var(--tnt-soil, #3C2D1A); opacity: 0.5; font-weight: 400; margin-right: 0.35em; }
.tnt-prodcard__add {
	margin-top: auto;
	width: 100%;
	text-align: center;
}
.tnt-prodcard__add.added { opacity: 0.85; }
@media (max-width: 520px) {
	.tnt-prodcard { flex-basis: 100%; max-width: none; }
}
.tnt-prodcard__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--tnt-paper);
}
.tnt-prodcard__placeholder svg { width: 100%; height: 100%; display: block; opacity: 0.85; }
.tnt-prodcard__desc {
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.85;
}
.tnt-prodcard__desc p { margin: 0; }

/* ============================================================== *
 *  Fluent Forms - brand styling (contact form, etc.)
 * ============================================================== */
.fluentform .ff-el-input--label label { color: var(--tnt-green-dark); font-weight: 700; }
.fluentform .ff-el-form-control {
	border: 1px solid rgba(20, 53, 42, 0.2);
	border-radius: 6px;
	padding: 0.7rem 0.85rem;
	color: var(--tnt-green-dark);
	background: #FFF;
}
.fluentform .ff-el-form-control:focus {
	border-color: var(--tnt-rust);
	box-shadow: 0 0 0 3px rgba(194, 82, 43, 0.12);
	outline: none;
}
.fluentform .ff-btn.ff-btn-submit,
.fluentform button[type="submit"].ff-btn-submit {
	background: var(--tnt-rust) !important;
	border: 1px solid var(--tnt-rust) !important;
	color: #FFF !important;
	border-radius: var(--tnt-radius-pill, 999px) !important;
	padding: 0.85rem 2rem !important;
	font-family: var(--tnt-font-body, 'Lato', sans-serif) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	font-size: 0.8125rem !important;
	cursor: pointer;
	transition: background 160ms;
}
.fluentform .ff-btn.ff-btn-submit:hover,
.fluentform button[type="submit"].ff-btn-submit:hover { background: var(--tnt-clay, #8C3C1E) !important; }
.ff-message-success {
	background: #E4EFE2;
	border: 1px solid #BCDABC;
	color: #2F5736;
	border-radius: 6px;
	padding: 0.85rem 1rem;
}
