/******/
/*** SECTIONS ***/
/******/

/* GLOBAL */

.divider img {
	margin-bottom: -.0625rem;
}

/* FOOTER */

footer .identity img {
	max-width: 14rem;
}

footer .footer-menu ul {
	flex-wrap: wrap;
}

footer .footer-menu ul li {
	width: 50%;
	padding-bottom: .5rem;
}

/* BLOGS */

p.category {
	background: var(--color-petal-pink);
	width: fit-content;
	font-size: var(--text-p-sm);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	border-radius: var(--radius-20);
	padding: .375rem .75rem;
	margin-block: 1.5rem;
}

.breadcrumbs a, .breadcrumbs p {
	font-size: var(--text-p-sm);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
}

.breadcrumbs a {
	color: var(--color-barnwood-brown);
	text-decoration: none;
}

.article-snippet img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.article-snippet h3 {
	margin-block-start: 0;
}

/* COMMUNITY STORIES */

.community-stories img.quote {
	max-width: 10rem;
	left: 41.5%;
}

.community-stories .container-barnwood-brown p, .timeline-swiper p.caption {
	font-family: "marydale", cursive;
	font-size: var(--text-h4);
}

.timeline-swiper p.caption {
	font-size: var(--text-h6);
}

.community-stories .swiper-controls:before, .swiper-controls:after {
	position: absolute;
}

.community-stories .swiper-controls button {
	background-color: transparent;
	border: none;
}

.swiper-controls {
	height: 100%;
}

/* DUAL COLOR */

.dual-color-right img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	max-height: 37rem;
}

/* IMAGE TEXT */

/* NEUE: plain rectangular images (no organic mask / textured bg, square corners). */
.image-container-mask {
	padding: 0;
}

.image-container-mask img {
	-webkit-mask-image: none;
	mask-image: none;
	width: 100%;
	height: auto;
	border-radius: 0;
	display: block;
	object-fit: cover;
}

/* PRODUCTS */

.products button.a-btn {
	padding-bottom: 0;
}

/* TIMELINE */

.timeline .fade-on-scroll {
	opacity: 0;
	transition: opacity 0.2s linear;
	will-change: opacity;
}

.timeline .step {
	padding-top: 1.75rem;
}

.timeline span.h2 {
	color: var(--color-breezy-blue);
}

/* TITLE TEXT IMAGE SCROLLER */

.horizontal-scroll-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 3rem;
	overflow: hidden;
}

.horizontal-scroll-track {
	display: flex;
	height: 100%;
	position: sticky;
	top: 0;
	gap: 2rem;
	width: max-content;
	will-change: transform;
	transition: transform 0.05s linear;
}

.scroll-image-item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	max-width: 38.5rem;
}

.scroll-image-item img {
	max-width: 20rem;
	max-height: 20rem;
	height: auto;
	width: auto;
	object-fit: cover;
}

@media screen and (min-width: 48rem) {

	/* DUAL COLOR */

	.dual-color-left .flex-column {
		padding-left: 3rem;
		padding-right: 2.5rem;
		max-width: 37.5rem;
	}

	.dual-color-right .flex-column {
		max-width: 39rem;
		padding: 4rem;
	}

}

@media screen and (max-width: 47.9375rem) {

	/* FOOTER */

	ul#menu-footer-menu {
		padding-top: 1.5rem;
	}

	/* COMMUNITY STORIES */

	.community-stories .container-barnwood-brown p {
		font-size: var(--text-h5)!important;
	}

	/* DUAL COLOR */

	.dual-color-left, .dual-color-right {
		padding-top: 1.5rem!important;
		padding-right: 1.5rem!important;
		padding-bottom: 1.5rem!important;
		padding-left: 1.5rem!important;
	}

}

/* NEUE wordmark logo (replaces SPF logo image in nav.php + footer.php) */
.logo-wordmark {
	font-family: "fatfrank", "Chango", "Arial Black", sans-serif;
	font-size: 1.8rem;
	font-weight: var(--font-weight-normal);
	letter-spacing: .01em;
	color: var(--color-warm-white);
	line-height: 1;
	white-space: nowrap;
}

.logo-wordmark--footer {
	font-size: 1.6rem;
	color: var(--color-warm-white);
}

/* NEUE gallery / social collage */
.gallery--social {
	background-color: var(--color-warm-white);
	padding-top: clamp(6rem, 7.65vw, 6.9rem);
	padding-bottom: clamp(6rem, 7.65vw, 6.9rem);
}

.gallery--social > .grid-container {
	max-width: none;
}

.gallery-collage {
	display: flex;
	flex-wrap: wrap;
	--gallery-gap: clamp(1rem, 2.3vw, 2.25rem);
	gap: var(--gallery-gap);
	align-items: stretch;
	max-width: min(92rem, 100%);
	margin: 0 auto;
}

.gallery--social .gallery-collage {
	--gallery-gap: clamp(1rem, 1.67vw, 1.5rem);
	align-items: flex-start;
	max-width: 100%;
}

.gallery-collage__tile {
	box-sizing: border-box;
	margin: 0;
	overflow: hidden;
	border-radius: clamp(1rem, 1.8vw, 1.55rem);
}

.gallery-collage__tile--intro {
	display: flex;
	flex: 0 1 calc((100% - var(--gallery-gap)) / 2);
	aspect-ratio: 1.63;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(2rem, 5vw, 4rem);
	background: var(--color-lemon-yellow);
	color: var(--color-rich-black);
	text-align: center;
}

.gallery-collage__tile--intro,
.gallery-collage__tile--intro h2,
.gallery-collage__tile--intro p {
	color: var(--color-rich-black);
}

.gallery-collage__tile--intro h2 {
	max-width: 9ch;
	margin: .65rem auto 1.25rem;
	font-family: "fatfrank", "Chango", "Arial Black", sans-serif;
	font-size: clamp(3.4rem, 6vw, 5.4rem);
	line-height: .95;
	text-transform: uppercase;
}

.gallery-collage__tile--intro p {
	max-width: 35rem;
	margin-left: auto;
	margin-right: auto;
}

.gallery-collage__tile--intro .text-link a {
	color: var(--color-rich-black);
	font-family: "vinyl", "Anton", sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.gallery-collage__tile--intro .text-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	margin-top: clamp(1rem, 2vw, 1.8rem);
}

.gallery-collage__tile--intro .text-link::before {
	content: "";
	width: 1.08em;
	aspect-ratio: 1;
	border: 2px solid currentColor;
	border-radius: .32em;
	box-shadow: inset 0 0 0 .22em var(--color-lemon-yellow);
}

.gallery-collage__tile--intro .text-link::after {
	display: none;
}

.gallery-collage__tile--image {
	background: var(--color-warm-white);
	display: flex;
	align-items: stretch;
}

.gallery-collage__tile--small {
	flex: 0 1 calc((100% - (var(--gallery-gap) * 3)) / 4);
	aspect-ratio: .813;
}

.gallery-collage__tile--large {
	flex: 0 1 calc((100% - var(--gallery-gap)) / 2);
	aspect-ratio: .813;
}

.gallery-collage__tile--image img {
	display: block;
	width: 100%;
	align-self: stretch;
	object-fit: cover;
}

.gallery-collage__tile--bar-none {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(.65rem, 1.4vw, 1.2rem);
	padding: clamp(1.1rem, 2.5vw, 2.25rem);
	background:
		linear-gradient(rgba(255,255,255,.4), rgba(255,255,255,.4)),
		repeating-linear-gradient(90deg, #ef8f8f 0, #ef8f8f 10%, transparent 10%, transparent 20%),
		repeating-linear-gradient(0deg, #ef8f8f 0, #ef8f8f 10%, #f9e4d8 10%, #f9e4d8 20%);
	color: var(--color-rich-black);
	text-align: center;
}

.gallery-collage__tile--bar-none span {
	max-width: 8ch;
	font-family: "vinyl", "Anton", sans-serif;
	font-size: clamp(1.9rem, 3.9vw, 3.35rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.12;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gallery-collage__tile--bar-none i {
	font-style: normal;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	line-height: 1;
}

/* NEUE CTA parallax */
.cta-parallax {
	position: relative;
	overflow: hidden;
}

.cta-parallax__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.cta-parallax::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(6,49,66,0.55);
	z-index: 1;
}

.cta-parallax__inner {
	position: relative;
	z-index: 2;
	padding-top: 7rem;
	padding-bottom: 7rem;
	text-align: center;
}

.cta-parallax__inner, .cta-parallax__inner h1, .cta-parallax__inner h2, .cta-parallax__inner h3, .cta-parallax__inner p {
	color: var(--color-compassion-cream);
}

.cta-parallax--subscribe {
	--subscribe-panel-x: clamp(1.5rem, 3.35vw, 4.25rem);
	--subscribe-panel-y: clamp(4.25rem, 8vw, 7.25rem);
	min-height: clamp(34rem, 46.4vw, 43rem);
	background: var(--color-warm-white);
}

.cta-parallax--subscribe .cta-parallax__bg {
	inset: var(--subscribe-panel-y) var(--subscribe-panel-x);
	border-radius: 1.25rem;
	background-position: center 48%;
	background-size: cover;
	background-attachment: scroll;
}

.cta-parallax--subscribe::after {
	inset: var(--subscribe-panel-y) var(--subscribe-panel-x);
	border-radius: 1.25rem;
	background: rgba(0, 0, 0, .48);
}

.cta-parallax--subscribe .cta-parallax__inner {
	box-sizing: border-box;
	justify-content: center;
	min-height: clamp(34rem, 46.4vw, 43rem);
	padding-block: clamp(6rem, 11vw, 9rem);
}

.cta-parallax--subscribe .cta-parallax__inner p:first-child {
	margin: 0 0 clamp(1.75rem, 2.8vw, 2.6rem);
	color: var(--color-warm-white);
	font-family: "vinyl", "Anton", sans-serif;
	font-size: clamp(1.15rem, 1.65vw, 1.5rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: .22em;
	line-height: 1;
	text-transform: uppercase;
}

.cta-parallax--subscribe .cta-parallax__inner h2,
.cta-parallax--subscribe .cta-parallax__inner h3 {
	margin: 0 0 clamp(1.6rem, 2.8vw, 2.4rem);
	color: var(--color-warm-white);
	font-size: clamp(3.8rem, 6.1vw, 5.45rem);
	line-height: .92;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cta-parallax--subscribe .cta-parallax__inner h2 + p,
.cta-parallax--subscribe .cta-parallax__inner h3 + p {
	margin: 0;
	color: var(--color-warm-white);
	font-size: clamp(1.1rem, 1.65vw, 1.45rem);
	line-height: 1.35;
}

/* NEUE staging form */
.neue-form input, .neue-form textarea {
	width: 100%;
	padding: .9rem 1rem;
	border: 1px solid var(--color-good-work-green);
	background: transparent;
	color: var(--color-good-work-green);
	border-radius: 0;
	font-family: "athelas", "Newsreader", Georgia, serif;
	font-size: 1rem;
}

.neue-form input::placeholder, .neue-form textarea::placeholder {
	color: var(--color-good-work-green);
	opacity: .6;
}

.neue-form .button {
	align-self: flex-start;
}

/* NEUE intro_home (hero) — centered stack matching the Figma hero frame */
.intro-home {
	padding-top: 3rem;
	padding-bottom: 5rem;
}

.intro-home__inner {
	gap: 2.25rem;
}

.intro-home__title {
	width: 100%;
}

.intro-home__title h1 {
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1.05;
	margin: 0;
}

.intro-home__image {
	width: 100%;
}

.intro-home__image img {
	width: 100%;
	aspect-ratio: 1344 / 696;
	object-fit: cover;
	height: auto;
	border-radius: 0;
	display: block;
}

.intro-home__copy {
	max-width: 44rem;
}

.intro-home__copy p {
	font-size: 1.4rem;
	line-height: 1.5;
	margin: 0 0 1.5rem;
}

.intro-home a.button.primary, .intro-home .button.primary {
	background: var(--color-lavender);
	color: var(--color-rich-black);
	border-color: var(--color-lavender);
}

.intro-home a.button.primary:hover {
	background: var(--color-rich-black);
	color: var(--color-warm-white);
}

/* TIPSY DROPS nav — 3-column with centered SVG logo */
.navigation--3col {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	width: 100%;
	gap: 1.5rem;
}

.nav-col {
	gap: 2rem;
}

.global-nav .logo {
	display: flex;
	justify-content: center;
	align-items: center;
}

.logo-svg {
	width: auto;
	display: block;
}

/* TDP FigmaVision chrome pass: 01-nav and 12-footer. */
.global-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	padding-block: .1rem !important;
	background: var(--color-warm-white);
	color: var(--color-rich-black);
	transition: box-shadow .2s ease, padding .2s ease, transform .2s ease;
}

.global-nav.is-scrolled {
	box-shadow: 0 .5rem 1.25rem rgba(35,30,28,.12);
}

.global-nav .navigation {
	width: 100%;
}

.global-nav .navigation--3col {
	align-items: center;
}

.global-nav a:not(.button) {
	color: var(--color-rich-black);
	font-family: "vinyl","Anton",sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .98rem;
	text-decoration: none;
}

.global-nav a:not(.button):hover {
	opacity: .7;
}

.global-nav .logo-svg {
	width: 14rem;
    padding-bottom: 1rem;
	display: block;
}

.global-nav.is-scrolled .logo-svg {
	height: clamp(3.25rem, 4vw, 4rem);
}

.global-nav .connect-button {
	margin-left: 2rem;
	padding: .9rem 1.5rem;
	border-color: var(--color-lavender);
	background: var(--color-lavender);
	color: var(--color-rich-black);
	font-family: "vinyl", "Anton", sans-serif;
	font-size: 1rem;
	letter-spacing: .08em;
}

@media (max-width: 64rem) {

	.navigation--3col {
		gap: .75rem;
	}

	.nav-col {
		gap: 1rem;
	}

	.nav-col--left {
		display: none;
	}

	.global-nav {
		padding-block: 1.25rem;
	}

	.global-nav .logo-svg {
		height: clamp(3.25rem, 12vw, 4.25rem);
	}

}

/* NEUE header — uppercase condensed nav + light-blue Connect button */
.navigation__links {
	gap: 1.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.navigation__links a {
	font-family: "acumin-pro-condensed", "Archivo Narrow", sans-serif;
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--color-compassion-cream);
	text-decoration: none;
}

.connect-button {
	background: var(--color-lavender);
	color: var(--color-rich-black);
	border-color: var(--color-lavender);
	margin-left: 1.75rem;
}

/* TIPSY DROPS textured background — subtle paper grain over the whole page (compressed webp, not the raw asset) */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 2147483646;
	background: url("../images/tdp-grain.webp") center center / cover no-repeat;
	opacity: .07;
	mix-blend-mode: multiply;
}

/* TIPSY DROPS gingham — use-cases section (yellow woven check) */
.columns.background-lemon-yellow {
	background-color: var(--color-lemon-yellow);
}

.tdp-use-cases {
	background-image:
		repeating-conic-gradient(
			from 0deg,
			#fff6cf 0deg 90deg,
			#ffe36f 90deg 180deg,
			#ffc52d 180deg 270deg,
			#fff9dc 270deg 360deg
		);
	background-size: clamp(4.75rem, 6.2vw, 5.75rem) clamp(4.75rem, 6.2vw, 5.75rem);
}

.tdp-use-cases__intro {
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.tdp-use-cases__intro .eyebrow {
	margin: 0;
	font-size: clamp(.8rem, .95vw, 1rem);
	text-transform: uppercase;
}

.tdp-use-cases__intro h2 {
	font-size: clamp(3.25rem, 7vw, 6rem);
	line-height: .95;
	margin-bottom: 0;
}

.tdp-use-cases__intro .tdp-use-cases__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: .45rem auto 0;
	max-width: 42rem;
	font-size: clamp(4.4rem, 8vw, 8rem);
	line-height: .78;
	text-transform: uppercase;
	color: var(--color-rich-black);
}

.tdp-use-cases__title span {
	display: block;
}

.tdp-use-cases__title em {
	display: inline-block;
	margin-left: .08em;
	color: var(--color-rich-black);
	font-family: "the-youngest", "marydale", cursive;
	font-size: .85em;
	font-style: normal;
	font-weight: var(--font-weight-normal);
	line-height: .72;
	text-transform: none;
	transform: rotate(-5deg) translateY(.08em);
}

.tdp-use-cases__cards {
	gap: clamp(2rem, 5vw, 4rem);
}

.tdp-use-card {
	display: flex;
	min-height: clamp(28rem, 48vw, 38rem);
	border: 2px solid var(--color-rich-black);
	border-radius: .625rem;
	overflow: hidden;
	box-shadow: 0 .75rem 0 rgba(35,30,28,.12);
}

.tdp-use-card--0 {
	background-color: #55571d;
}

.tdp-use-card--1 {
	background-color: #c3ade1;
}

.tdp-use-card--2 {
	background-color: #b3104d;
}

.tdp-use-card--3 {
	background-color: #ff8492;
}

.tdp-use-card__media,
.tdp-use-card__body {
	flex: 1 1 50%;
}

.tdp-use-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 24rem;
	background-size: cover;
	background-position: center;
}

.tdp-use-card__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(35,30,28,.04);
}

.tdp-use-card__foreground {
	position: relative;
	z-index: 1;
	width: min(64%, 27rem);
	max-height: 80%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center;
	border-radius: .4rem;
	box-shadow: 0 .35rem .75rem rgba(35,30,28,.12);
}

.tdp-use-card--2 .tdp-use-card__foreground {
	object-position: 38% 52%;
}

.tdp-use-card__body {
	padding: clamp(2rem, 6vw, 5rem);
	color: var(--color-rich-black);
}

.tdp-use-card--light-text .tdp-use-card__body {
	color: var(--color-compassion-cream);
}

.tdp-use-card--light-text .tdp-use-card__body :is(h1,h2,h3,h4,h5,h6,p,li) {
	color: var(--color-compassion-cream);
}

.tdp-use-card__body h3 {
	font-size: clamp(2.5rem, 5vw, 5rem);
	line-height: .95;
	margin: 0 0 1.25rem;
	text-transform: uppercase;
}

.tdp-use-card__body p {
	max-width: 34rem;
}

.tdp-use-cases__cta {
	display: flex;
	justify-content: center;
	margin-top: clamp(2rem, 5vw, 4rem);
}

.tdp-use-cases__cta .button.primary {
	background: var(--color-lavender);
	color: var(--color-rich-black);
	border-color: var(--color-rich-black);
}

@media screen and (max-width: 47.9375rem) {

	.tdp-use-card {
		flex-direction: column;
		min-height: 0;
	}

	.tdp-use-card__media {
		min-height: 18rem;
	}

	.tdp-use-card__foreground {
		width: min(72%, 22rem);
		max-height: 82%;
	}

	.tdp-use-card__body {
		padding: 2rem;
	}

}

/* TIPSY DROPS hero — full-bleed lifestyle image (Figma hero frame; photo + badge stickers) */
.hero-image {
	width: 100%;
	aspect-ratio: 1600 / 841;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

@media (max-width: 48rem) {

	.hero-image {
		aspect-ratio: 4 / 3;
	}

}

/* NEUE image_text full-bleed banner (Market / Ways-to-Own): colored panel + edge-to-edge image */
.image-text--fullbleed {
	padding: 0 !important;
}

.image-text__split {
	display: flex;
	align-items: stretch;
	min-height: 32rem;
}

.image-text--fullbleed.image-text--reverse .image-text__split {
	flex-direction: row-reverse;
}

.image-text__panel {
	flex: 1 1 53%;
	padding: 4.5rem;
	display: flex;
}

.image-text__panel-inner {
	max-width: 30rem;
	gap: 1rem;
}

.image-text__panel-inner .button-container {
	margin-top: .5rem;
}

.image-text__media {
	flex: 1 1 47%;
	background-size: cover;
	background-position: center;
}

@media screen and (max-width: 47.9375rem) {

	.image-text__split {
		flex-direction: column;
	}

	.image-text--fullbleed.image-text--reverse .image-text__split {
		flex-direction: column;
	}

	.image-text__media {
		min-height: 18rem;
	}

	.image-text__panel {
		padding: 2rem;
	}

}

/* NEUE gallery heading centered (matches Figma) */
.gallery:not(.gallery--social) > .grid-container {
	text-align: center;
}

.gallery:not(.gallery--social) > .grid-container .grid-100 {
	align-items: center;
}

/* NEUE text-image — shared grid-50 flex row; crb_reverse flips sides. Used PLAIN by
   image_text (no box/overlap) and WITH an offset cream box by text_image_repeater. */
.image-text__row {
	display: flex;
	align-items: center;
	padding-block: 4.5rem;
}

.image-text__row.image-text--reverse {
	flex-direction: row-reverse;
}

.image-text__media-col {
	flex: 1 1 50%;
	position: relative;
	z-index: 1;
}

.image-text__media-col img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0;
}

.image-text__text-col {
	flex: 1 1 50%;
	display: flex;
	position: relative;
	z-index: 2;
}

/* repeater-only: offset cream box overlapping the image (absent on plain image_text) */
.image-text__box {
	background: var(--color-compassion-cream);
	padding: 3.5rem;
	width: 100%;
	margin-left: -4rem;
}

.image-text__row.image-text--reverse .image-text__box {
	margin-left: 0;
	margin-right: -4rem;
}

.background-offwhite {
	background-color: var(--color-offwhite);
	color: var(--color-good-work-green);
}

@media screen and (max-width: 47.9375rem) {

	.image-text__row, .image-text__row.image-text--reverse {
		flex-direction: column;
		padding-block: 2rem;
	}

	.image-text__box {
		margin: -2rem 1rem 0 !important;
	}

}

/* NEUE footer */
.site-footer {
	color: var(--color-compassion-cream);
}

.footer-top {
	gap: 2rem;
	padding-bottom: 2.5rem;
}

.footer-links {
	gap: 4rem;
}

.footer-col {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

.footer-col li {
	margin: 0;
}

.footer-links a, .footer-social__label {
	font-family: "acumin-pro-condensed", "Archivo Narrow", sans-serif;
	font-weight: var(--font-weight-bold);
	color: var(--color-compassion-cream);
	text-decoration: none;
}

.footer-social__icons {
	gap: 1rem;
	margin-top: .75rem;
}

.footer-divider {
	border: 0;
	border-top: 1px solid var(--color-compassion-cream);
	opacity: .35;
	margin: 2rem 0;
}

.footer-compliance {
	max-width: 62rem;
	opacity: .9;
}

.footer-bottom {
	gap: 1rem;
	margin-top: 1.5rem;
}

.footer-legal-links a {
	color: var(--color-compassion-cream);
	margin-left: 1.5rem;
}

/* TDP FigmaVision chrome pass: 12-footer. */
.tdp-footer {
	padding-block: clamp(2rem, 3vw, 3.25rem);
	background: var(--color-warm-white);
	color: var(--color-rich-black);
	border-top: 1px solid var(--color-rich-black);
}

.tdp-footer__inner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.tdp-footer__copyright {
	margin: 0;
	font-family: "figtree", "Figtree", system-ui, sans-serif;
	font-weight: var(--font-weight-bold);
	color: var(--color-rich-black);
}

.tdp-footer__mark {
	display: block;
	font-family: Georgia, serif;
	font-size: 4.1rem;
	line-height: 1;
	color: var(--color-rich-black);
}

.tdp-footer__legal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(1.75rem, 3vw, 3rem);
}

.tdp-footer__legal a {
	font-family: "vinyl", "Anton", sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 1rem;
	color: var(--color-rich-black);
	text-decoration: none;
	white-space: nowrap;
}

.tdp-footer__legal a:hover {
	color: var(--color-lavender);
}

@media (max-width: 64rem) {

	.tdp-footer__inner {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.tdp-footer__legal {
		justify-content: center;
		flex-wrap: wrap;
	}

}

/* TIPSY DROPS flavors — tabbed cards with active states (Figma 03-flavors).
   Cole's upload gate keeps the section neutral; only the active inner flavor
   panel changes color and carries the grain texture. */
.flavors {
	position: relative;
	isolation: isolate;
	background-color: var(--color-warm-white) !important;
	transition: background-color .25s ease;
}

.flavors__inner {
	position: relative;
	z-index: 1;
	padding-top: 3rem;
	padding-bottom: 4rem;
	gap: 2rem;
}

.flavors__intro {
	max-width: 48rem;
}

.flavors__tabs {
	gap: 2rem;
}

.flavors__tab {
	background: none;
	border: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .6rem;
	padding: 0;
	opacity: .5;
	transition: opacity .2s ease, transform .2s ease;
}

.flavors__tab.is-active {
	opacity: 1;
}

.flavors__tab:focus-visible {
	outline: 3px solid var(--color-rich-black);
	outline-offset: .35rem;
	border-radius: 1rem;
}

.flavors__tab-ico {
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--flv);
	border: 2px solid var(--color-rich-black);
}

.flavors__tab-ico img {
	width: 74%;
	height: 74%;
	object-fit: contain;
}

.flavors__tab-name {
	font-family: "vinyl","Anton",sans-serif;
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: .8rem;
	color: var(--color-rich-black);
	padding: .35rem .85rem;
	border-radius: 999px;
	border: 1.5px solid transparent;
	transition: background .2s ease, border-color .2s ease;
}

.flavors__tab.is-active .flavors__tab-name {
	background: var(--flv);
	border-color: var(--color-rich-black);
}

.flavors__stage {
	width: 100%;
	max-width: 100%;
}

.flavors__card {
	display: none;
	position: relative;
	isolation: isolate;
	border-radius: 1.75rem;
	overflow: hidden;
}

.flavors__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("../images/tdp-grain.webp");
	background-size: 520px;
	background-repeat: repeat;
	mix-blend-mode: multiply;
	opacity: .5;
	pointer-events: none;
	z-index: 0;
}

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

.flavors__card.is-active {
	display: flex;
	align-items: stretch;
	gap: clamp(2rem, 4vw, 4.25rem);
	padding: clamp(2rem, 4vw, 4rem);
}

.flavors__card-media {
	position: relative;
	flex: 0 0 47%;
	min-height: clamp(34rem, 48vw, 45rem);
}

.flavors__card-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 2rem;
}

.flavors__card-media img.flavors__photo {
	object-fit: cover;
	padding: 0;
	border-radius: 1.25rem;
}

.flavors__card-body {
	flex: 1;
	align-items: flex-start;
	padding: clamp(2rem, 4vw, 4.5rem) clamp(1rem, 2vw, 2.5rem);
}

.flavors__tags {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 1.25rem;
	letter-spacing: .08em;
}

.flavors__tags span {
	display: inline-flex;
	align-items: center;
	min-height: 2.15rem;
	padding: .28rem .85rem .18rem;
	border: 2px solid var(--color-rich-black);
	border-radius: 999px;
	color: var(--color-rich-black);
	background: transparent;
	white-space: nowrap;
}

.flavors__card-body h2 {
	font-family: "fatfrank", "Anton", "Arial Narrow", sans-serif;
	text-transform: uppercase;
	font-size: clamp(3.7rem, 6.8vw, 6.25rem);
	line-height: .92;
	letter-spacing: 0;
	margin: 0 0 1.5rem;
	max-width: 7.5ch;
}

.flavors__card-body p:not(.flavors__tags) {
	max-width: 44rem;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
	line-height: 1.45;
	font-weight: 700;
}

.flavors__card .button-container {
	align-items: center;
	gap: 1.6rem;
	margin-top: 1.4rem;
}

.flavors__card .button.primary {
	background: var(--color-warm-white);
	border-color: var(--color-warm-white);
	color: var(--color-rich-black);
}

.flavors__card .button.secondary {
	background: transparent;
	border-color: transparent;
	color: var(--color-rich-black);
	padding-inline: 0;
}

.flavors__card .button.secondary:hover,
.flavors__card .button.secondary:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--color-rich-black);
	text-decoration: underline;
}

@media (max-width: 64rem) {

	.flavors__card-media {
		flex-basis: auto;
		min-height: 18rem;
	}

}

@media (max-width: 48rem) {

	.flavors__card.is-active {
		flex-direction: column;
		gap: 1.25rem;
		padding: 1.25rem;
	}

	.flavors__card-media {
		flex-basis: auto;
		width: 100%;
		min-height: 22rem;
	}

	.flavors__card-body {
		padding: 1.5rem;
	}

	.flavors__card-body h2 {
		font-size: clamp(3rem, 16vw, 4.4rem);
	}

	.flavors__card .button-container {
		gap: 1rem;
	}

}

/* TDP form + subscribe */
.tdp-form {
	background: var(--color-warm-white);
	border-radius: 1.5rem;
	padding: clamp(2rem, 5vw, 4rem);
	color: var(--color-rich-black);
}

.text-form#contact h2 {
	max-width: 8.5ch;
	font-family: "vinyl", "Anton", sans-serif;
	font-size: 6rem;
	line-height: .9;
	text-transform: uppercase;
}

.tdp-form__row {
	display: flex;
	gap: 1.5rem;
	width: 100%;
}

.tdp-form__field {
	display: flex;
	flex: 1 1 0;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	gap: .65rem;
}

.tdp-form__field span,
.tdp-form__radio-group legend {
	font-family: "vinyl", "Anton", sans-serif;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .95rem;
	line-height: 1;
	color: var(--color-rich-black);
}

.tdp-form input:not([type="radio"]),
.tdp-form textarea,
.tdp-form select {
	width: 100%;
	box-sizing: border-box;
	padding: .95rem 1rem;
	border: 1.5px solid var(--color-rich-black);
	background: transparent;
	color: var(--color-rich-black);
	border-radius: .35rem;
	font-family: "figtree", "Figtree", system-ui, sans-serif;
	font-size: 1rem;
}

.tdp-form textarea {
	min-height: 11rem;
	resize: vertical;
}

.tdp-form input::placeholder,
.tdp-form textarea::placeholder {
	color: rgba(35,30,28,.45);
	opacity: 1;
}

.tdp-form__radio-group {
	border: 0;
	padding: 0;
	margin: .75rem 0 0;
}

.tdp-form__radio-group legend {
	margin-bottom: 1rem;
}

.tdp-form__radio-row {
	display: flex;
	gap: 1.5rem;
	margin-bottom: .9rem;
}

.tdp-form__radio-row label {
	display: flex;
	align-items: center;
	flex: 1 1 0;
	gap: .75rem;
	font-size: 1rem;
	color: var(--color-rich-black);
}

.tdp-form__radio-row input[type="radio"] {
	width: 1.35rem;
	height: 1.35rem;
	padding: 0;
	border: 1.5px solid rgba(35,30,28,.75);
	border-radius: 999px;
	background: transparent;
	flex: 0 0 auto;
	accent-color: var(--color-lavender);
}

.tdp-form__radio-row input[type="radio"]:checked {
	background: radial-gradient(circle, var(--color-rich-black) 0 38%, transparent 42%);
}

.tdp-form button.button.primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 3.25rem;
	padding: .8rem 1rem;
	border: .0625rem solid var(--color-lavender);
	border-radius: .45rem;
	background: var(--color-lavender);
	color: var(--color-rich-black);
	font-family: "vinyl", "Anton", sans-serif;
	font-size: 1rem;
	font-weight: var(--font-weight-bold);
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}

.tdp-form button.button.primary:hover,
.tdp-form button.button.primary:focus-visible {
	background: var(--color-rich-black);
	border-color: var(--color-rich-black);
	color: var(--color-warm-white);
}

.tdp-subscribe-form {
	display: flex;
	align-items: stretch;
	gap: 1rem;
	width: min(100%, 46rem);
	margin-top: clamp(1.9rem, 3vw, 2.7rem);
}

.tdp-subscribe-form input {
	box-sizing: border-box;
	flex: 1;
	min-width: 0;
	min-height: 3.5rem;
	padding: .85rem 1.25rem;
	border: 1px solid var(--color-warm-white);
	background: rgba(247,243,228,.95);
	color: var(--color-rich-black);
	border-radius: .45rem;
	font-family: "figtree", "Figtree", system-ui, sans-serif;
	font-size: 1.15rem;
}

.tdp-subscribe-form .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.5rem;
	padding: .85rem 1.15rem;
	border-radius: .45rem;
	background: var(--color-lavender);
	border-color: var(--color-lavender);
	color: var(--color-rich-black);
	font-family: "vinyl", "Anton", sans-serif;
	font-size: clamp(1.05rem, 1.45vw, 1.4rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

@media (max-width: 48rem) {

	.tdp-form__row,
	.tdp-subscribe-form {
		flex-direction: column;
	}

	.tdp-form__radio-row {
		flex-direction: column;
		gap: 1rem;
	}

	.text-form#contact h2 {
		max-width: 7.5ch;
		font-size: 3.8rem;
	}

	.gallery-collage {
		gap: 1rem;
	}

	.gallery-collage__tile--intro,
	.gallery-collage__tile--small,
	.gallery-collage__tile--large {
		flex-basis: 100%;
	}

	.gallery-collage__tile--intro {
		aspect-ratio: auto;
		min-height: 18rem;
	}

	.gallery-collage__tile--small,
	.gallery-collage__tile--large {
		aspect-ratio: 1;
	}

	.gallery-collage__tile--intro h2 {
		font-size: 3.2rem;
	}

}

/* TDP age gate */
.tdp-age-open {
	overflow: hidden;
}

.tdp-age-gate {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(35,30,28,.82);
	color: var(--color-rich-black);
}

.tdp-age-gate.is-hidden {
	display: none;
}

.tdp-age-gate__panel {
	width: min(100%, 42rem);
	background: var(--color-warm-white);
	border: 2px solid var(--color-rich-black);
	border-radius: 0;
	padding: clamp(2rem, 6vw, 4.5rem);
	text-align: center;
	box-shadow: 0 1.25rem 3rem rgba(0,0,0,.25);
}

.tdp-age-gate__panel h1 {
	margin: .75rem 0 1rem;
	font-size: clamp(2.6rem, 8vw, 5rem);
}

.tdp-age-gate__panel .button-container {
	justify-content: center;
}

/* TDP FigmaVision static checker bands and founders value badges */
.tdp-static-stripe {
	overflow: hidden;
	color: var(--color-warm-white);
	border-top: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	height: clamp(4.75rem, 5.6vw, 6rem);
	display: flex;
	align-items: center;
}

.tdp-static-stripe--red {
	border: 0;
	background: url("../images/tdp-gingham-red.png") center / 100% 100% no-repeat;
}

.tdp-static-stripe--lavender {
	color: var(--color-rich-black);
	border: 0;
	background: url("../images/tdp-gingham-lav.png") center / 100% 100% no-repeat;
}

.image-text--founders {
	padding-bottom: 5rem;
	color: var(--color-warm-white);
	overflow: hidden;
}

.image-text--founders .image-text__row {
	gap: min(6rem, 7%);
	padding-block: 5.5rem 3.25rem;
}

.image-text--founders .image-text__media-col {
	display: flex;
	justify-content: center;
	text-align: center;
}

.image-text--founders .image-text__media-col img {
	transform-origin: center;
	transition: transform .15s linear;
	will-change: transform;
}

.tdp-founders__media-frame {
	position: relative;
	isolation: isolate;
	width: min(100%, 43rem);
	aspect-ratio: 0.92 / 1;
	margin-inline: auto;
}

.tdp-founders__media-frame::before {
	content: "";
	position: absolute;
	inset: 0 4% 10% 4%;
	z-index: 0;
	background:
		radial-gradient(circle at 50% 10%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 22% 22%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 78% 22%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 14% 50%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 86% 50%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 32% 78%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(circle at 68% 78%, var(--color-warm-white) 0 22%, transparent 22.5%),
		radial-gradient(ellipse at 50% 50%, var(--color-warm-white) 0 48%, transparent 48.5%);
}

.tdp-founders__media-frame--composite {
	width: min(100%, 38.5rem);
	aspect-ratio: auto;
}

.tdp-founders__media-frame--composite::before {
	display: none;
}

.image-text--founders .tdp-founders__portrait {
	position: absolute;
	left: -5%;
	bottom: 0;
	z-index: 1;
	width: 110%;
	max-width: none;
	height: auto;
	margin: 0;
	transform-origin: center bottom;
}

.image-text--founders .tdp-founders__media-frame--composite .tdp-founders__portrait {
	position: relative;
	left: auto;
	bottom: auto;
	width: 100%;
	transform-origin: center;
}

.tdp-founders__name {
	position: absolute;
	z-index: 3;
	display: block;
	width: clamp(9rem, 15vw, 13.5rem);
	height: auto;
	border: 0;
}

.tdp-founders__name--tateyana {
	top: 14%;
	right: -1%;
	transform: rotate(3deg);
}

.tdp-founders__name--misty {
	left: -2%;
	bottom: 26%;
	transform: rotate(-4deg);
}

.image-text--founders .image-text__text-col {
	color: var(--color-warm-white);
}

.image-text--founders .image-text__text-col h2 {
	color: var(--color-warm-white);
	font-size: 6.35rem;
	line-height: .9;
	max-width: 35rem;
	text-transform: uppercase;
}

.image-text--founders .image-text__text-col p {
	color: var(--color-warm-white);
	max-width: 42rem;
}

.tdp-founders__script {
	display: block;
	margin-top: -.05em;
	color: var(--color-warm-white);
	font-family: "the-youngest", "marydale", cursive;
	font-size: .95em;
	font-style: normal;
	font-weight: var(--font-weight-normal);
	line-height: .72;
	text-transform: none;
}

.image-text--founders .eyebrow {
	color: var(--color-warm-white);
}

.tdp-founders__stripe {
	overflow: hidden;
	margin-block: 0 clamp(2.5rem, 4vw, 4rem);
	height: clamp(2.25rem, 3vw, 3rem);
	display: flex;
	align-items: center;
	color: var(--color-warm-white);
	border-block: 1px solid color-mix(in srgb, var(--color-warm-white) 80%, transparent);
	background: var(--color-strawberry-red);
}

.tdp-founders__stripe-track {
	display: inline-flex;
	align-items: center;
	gap: clamp(.55rem, 1vw, .9rem);
	min-width: max-content;
	/* Infinite marquee: 16 identical items -> -50% lands on the 2nd half = seamless loop. */
	animation: tdp-founders-marquee 26s linear infinite;
	will-change: transform;
}

@keyframes tdp-founders-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

.tdp-founders__stripe span {
	font-family: "vinyl", "Anton", sans-serif;
	font-size: clamp(.72rem, .92vw, .9rem);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.tdp-founders__stripe img {
	display: block;
	width: clamp(.9rem, 1.35vw, 1.25rem);
	height: auto;
	flex: 0 0 auto;
}

.tdp-founders__badges {
	display: grid;
	grid-template-columns: repeat(4, minmax(9rem, 13.5rem));
	gap: clamp(2rem, 5.2vw, 5.75rem);
	align-items: center;
	justify-content: center;
	justify-items: center;
	padding-block: clamp(1.25rem, 2vw, 2rem) clamp(1rem, 2vw, 1.75rem);
}

.tdp-founders__badge {
	width: clamp(9.5rem, 15.6vw, 13.5rem);
	margin: 0;
	border: 0;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}

.tdp-founders__badge-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	object-fit: contain;
	transform-origin: center;
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {

	.image-text--founders .image-text__media-col img {
		transform: none !important;
	}

	.tdp-founders__stripe-track {
		animation: none;
		transform: translateX(-1rem);
	}

	.tdp-founders__badge-img {
		animation: none !important;
		transform: none !important;
	}

}

@media (max-width: 64rem) {

	.image-text--founders .image-text__row {
		gap: 3rem;
	}

	.image-text--founders .image-text__text-col h2 {
		font-size: 4.9rem;
	}

	.tdp-founders__media-frame {
		width: min(100%, 36rem);
	}

	.tdp-founders__media-frame--composite {
		width: min(100%, 34rem);
	}

	.tdp-founders__badges {
		grid-template-columns: repeat(2, minmax(9rem, 13rem));
	}

}

@media (max-width: 48rem) {

	.tdp-static-stripe {
		height: 4.75rem;
	}

	.tdp-founders__stripe {
		height: 2.5rem;
	}

	.image-text--founders .image-text__row {
		padding-block: 3.5rem 2.5rem;
	}

	.image-text--founders .image-text__text-col h2 {
		font-size: 3.8rem;
	}

	.tdp-founders__media-frame {
		width: min(100%, 28rem);
	}

	.tdp-founders__media-frame--composite {
		width: min(100%, 25rem);
	}

	.tdp-founders__name {
		width: clamp(7.5rem, 32vw, 10rem);
	}

	.tdp-founders__badge {
		width: clamp(8rem, 38vw, 10.5rem);
	}

	.tdp-founders__badges {
		grid-template-columns: 1fr 1fr;
		gap: 2rem 1rem;
	}

}
