@font-face {
	font-family: 'Sofia Pro';
	src: url('../fonts/sofia-pro-regular.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('../fonts/sofia-pro-bold.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cooper Light';
	src: url('../fonts/cooper-light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Cooper Light';
	src: url('../fonts/cooper-light.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Biro Script';
	src: url('../fonts/biro-script-reduced.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--burgandy: #610000;
	--cream: #FFFAF2;
	--blue: #C4D6DE;
	--white: #FFFAF2;

	--space-xs: 8px;
	--space-sm: 16px;
	--space-md: 20px;
	--space-lg: 40px;
	--space-xl: 80px;
	--space-xxl: 128px;

	--grid-gap: var(--space-md);
	--page-margin: var(--space-md);

	--radius: 20px;
	--radius-mobile: 8px;
	--radius-pill: 999px;
	--radius-circle: 50%;

	--border: 1px solid var(--burgandy);
	--hairline: 0.5px solid var(--burgandy);
	--media-fill: rgb(0 0 0 / 0.1);
}

@media (max-width: 1023px) {
	:root {
		--radius: var(--radius-mobile);
		--space-xxl: var(--space-xl);
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	margin: 0;
	background-color: var(--cream);
	scroll-behavior: smooth;
}

[id^="section-"],
#footer,
#newsletter {
	scroll-margin-top: calc(var(--page-margin) + var(--space-lg) + 8px);
}

main {
	display: block;
}

body {
	margin: 0;
	min-height: 100vh;
	font-family: 'Sofia Pro', sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 110%;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures contextual;
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--burgandy);
	background-color: var(--cream);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 400;
}

p {
	font-size: 14px;
}

.caption {
	margin: 0;
	font-size: 12px;
	line-height: 120%;
	letter-spacing: 1px;
	text-transform: uppercase;
}

h3,
.h3 {
	font-size: 23px;
	font-weight: 400;
	line-height: 110%;
	letter-spacing: -0.01em;
}

.h1 {
	font-family: 'Cooper Light', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 56px;
	line-height: 110%;
	letter-spacing: -1px;
}

.h3-alt {
	font-family: 'Cooper Light', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
	line-height: 112%;
	letter-spacing: 0;
}

@media (min-width: 768px) {
	p {
		font-size: 18px;
	}

	h3,
	.h3 {
		font-size: 35px;
	}

	.h1 {
		font-size: 104px;
	}

	.h3-alt {
		font-size: 40px;
	}
}

.grid {
	display: grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
	gap: var(--grid-gap);
}

.span-full {
	grid-column: 1 / -1;
	width: 100%;
}

.media-frame {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--media-fill);
}

.media-frame > img,
.media-frame > video,
.cover img,
.cover video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.media-frame > img,
.media-frame > video,
.media-frame > .smart-media {
	position: absolute;
	inset: 0;
}

.smart-media > video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.overlay-copy {
	position: absolute;
	z-index: 1;
	inset: auto var(--space-md) var(--space-md);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: var(--cream);
}

.overlay-copy .caption,
.sticky-card__caption {
	margin: 0;
	color: inherit;
	line-height: 120%;
}

.flow > :first-child {
	margin-top: 0;
}

.flow > :last-child {
	margin-bottom: 0;
}

.stack {
	display: flex;
	flex-direction: column;
}

.rule-t {
	border-top: var(--border);
}

hr.rule-t {
	border: 0;
	border-top: var(--border);
}

@media (max-width: 1023px) {
	.grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

.site-nav {
	--nav-top: var(--page-margin);
	--logo-t: 0;
	--glass-t: 0;
	--pill-pad: 16px;
	--logo-small: 59px;
	--logo-large: calc((((100vw - (var(--page-margin) * 2) - (11 * var(--grid-gap))) / 12 * 6) + (5 * var(--grid-gap))) * 0.8);
	position: fixed;
	top: var(--page-margin);
	right: var(--page-margin);
	left: var(--page-margin);
	z-index: 50;
	pointer-events: none;
}

.site-nav__filter {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.site-nav__pill {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: var(--space-md);
	width: 100%;
	min-height: var(--space-lg);
	padding: 0 calc(var(--pill-pad) * var(--logo-t));
	overflow: visible;
	border-radius: 20px;
	pointer-events: auto;
}

.site-nav__glass,
.site-nav__glass > * {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
}

.site-nav__glass {
	z-index: 0;
	opacity: var(--glass-t);
}

.site-nav__glass-effect {
	z-index: 0;
	background: rgb(255 250 242 / 0.18);
	overflow: hidden;
}

.site-nav.is-compact .site-nav__glass-effect {
	-webkit-backdrop-filter: blur(10px) saturate(160%);
	backdrop-filter: blur(10px) saturate(160%);
}

.site-nav__glass-tint {
	z-index: 1;
	background:
		radial-gradient(ellipse 40% 140% at 8% 20%, rgb(255 255 255 / 0.28) 0%, transparent 38%),
		radial-gradient(ellipse 36% 130% at 94% 85%, rgb(255 255 255 / 0.16) 0%, transparent 34%),
		radial-gradient(ellipse 80% 160% at 50% 46%, rgb(255 250 242 / 0.28) 0%, rgb(255 250 242 / 0.42) 72%);
}

.site-nav__glass-shine {
	z-index: 2;
	box-sizing: border-box;
	padding: 1.25px;
	background: conic-gradient(
		from 215deg,
		rgb(255 255 255 / 0.95) 0deg,
		rgb(255 255 255 / 0.18) 50deg,
		rgb(255 255 255 / 0.04) 95deg,
		rgb(255 255 255 / 0.55) 155deg,
		rgb(255 255 255 / 0.08) 215deg,
		rgb(255 255 255 / 0.92) 285deg,
		rgb(255 255 255 / 0.95) 360deg
	);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	mask-composite: exclude;
}

.site-nav__logo,
.site-nav__links {
	position: relative;
	z-index: 3;
}

.site-nav__logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	width: calc(var(--logo-small) + ((var(--logo-large) - var(--logo-small)) * (1 - var(--logo-t))));
	height: auto;
	text-decoration: none;
}

.site-nav__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.site-nav__links {
	position: fixed;
	top: var(--nav-top);
	right: calc(var(--nav-top) + var(--pill-pad));
	z-index: 4;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: var(--space-lg);
	margin: 0;
	pointer-events: auto;
}

.site-nav__link {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	padding: 10px;
	overflow: visible;
	border: 0;
	background: none;
	color: var(--burgandy);
	font-family: inherit;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.site-nav__link-text {
	display: inline-block;
	transition: transform 0.25s ease;
}

.site-nav__link::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-radius: var(--radius-circle);
	background: currentColor;
	opacity: 0;
	transform: scale(0);
	transform-origin: center;
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.site-nav__link:hover .site-nav__link-text,
.site-nav__link:focus-visible .site-nav__link-text {
	transform: translateX(14px);
}

.site-nav__link:hover::before,
.site-nav__link:focus-visible::before {
	opacity: 1;
	transform: scale(1);
}

@media (max-width: 1023px) {
	.site-nav {
		--nav-top: var(--page-margin);
		--pill-pad: 10px;
		--logo-small: 48px;
	}
}

.site-nav--sticky {
	--logo-t: 1;
	--glass-t: 1;
	top: calc(var(--page-margin) + var(--nav-shift, 0px));
}

.site-nav--sticky.is-docked {
	top: var(--page-margin);
	transition: top 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-nav--sticky.is-docked.is-hidden {
	top: calc(-100% - 8px);
	pointer-events: none;
}

.site-nav--sticky.is-docked.is-hidden .site-nav__links,
.site-nav--sticky.is-docked.is-hidden .site-nav__pill {
	pointer-events: none;
}

.site-nav--sticky .site-nav__pill {
	padding: 0 var(--pill-pad);
}

.site-nav--sticky .site-nav__links {
	position: relative;
	top: auto;
	right: auto;
	height: auto;
}

.logo {
	grid-column: 1 / span 4;
	grid-row: 1;
	width: 100%;
	height: auto;
	align-self: start;
	justify-self: start;
	margin-top: calc(80px - var(--page-margin));
	z-index: 2;
}

[data-section-type] {
	background-color: var(--cream);
	padding-left: var(--page-margin);
	padding-right: var(--page-margin);
}

section + section {
	padding-top: var(--page-margin);
}

@media (max-width: 1023px) {
	section + section {
		padding-top: 0;
	}
}

[data-section-type="hero"] {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--grid-gap);
	height: 100vh;
	overflow-x: clip;
	padding: var(--page-margin);
}

.floating-gallery {
	--gap: var(--space-md);
	--spread: 45%;
	--nudge: calc(var(--spread) / 2);
	--stack: 30%;
	--shift: 50px;
	--peek: 0.35;
	--tile-col: calc((((100vw - (var(--page-margin) * 2) - (var(--grid-gap) * 23)) / 24 * 5) + (var(--grid-gap) * 4)) * 0.8);
	--tile-y: calc((100vh - 160px) / 2.3 * 0.8);
	--tile: min(var(--tile-col), var(--tile-y));
	grid-column: 6 / -1;
	grid-row: 1;
	align-self: center;
	justify-self: end;
	display: grid;
	grid-template-columns: var(--tile) var(--tile);
	grid-template-rows: var(--tile) var(--tile);
	gap: var(--gap);
	width: max-content;
	margin-right: calc((var(--tile) * var(--peek)) + var(--gap));
	padding-bottom: calc(var(--tile) * 0.3);
	box-sizing: content-box;
	overflow: visible;
	z-index: 1;
	pointer-events: none;
}

.floating-gallery > div {
	position: relative;
	width: var(--tile);
	height: var(--tile);
	min-width: 0;
	min-height: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--media-fill);
	pointer-events: auto;
}

.floating-gallery > div img,
.floating-gallery > div video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
}

.media-caption {
	position: absolute;
	right: var(--space-lg);
	bottom: var(--space-lg);
	z-index: 2;
	margin: 0;
	max-width: calc(100% - (var(--space-lg) * 2));
	font-family: 'Biro Script', cursive;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.25px;
	color: var(--white);
	text-align: right;
	transform: rotate(-3.88deg);
	transform-origin: bottom right;
	pointer-events: none;
}

.floating-gallery > div:nth-child(1) {
	grid-column: 1;
	grid-row: 2;
	transform: translate(calc(115% + var(--gap) - var(--nudge) - var(--shift)), var(--stack));
	z-index: 3;
}

.floating-gallery > div:nth-child(2) {
	grid-column: 1;
	grid-row: 1;
	transform: translate(calc(-1 * var(--spread) - var(--shift)), 50%);
	z-index: 2;
}

.floating-gallery > div:nth-child(3) {
	grid-column: 2;
	grid-row: 1;
	transform: translateX(calc(-1 * var(--nudge) - var(--shift)));
	z-index: 2;
}

.floating-gallery > div:nth-child(4) {
	grid-column: 2;
	grid-row: 2;
	transform: translate(
		calc(100% + var(--gap) - var(--nudge)),
		calc(-100% - (var(--gap) / 2) + (var(--stack) / 2))
	);
	z-index: 1;
}

.hero-title,
.store-links {
	position: absolute;
	bottom: var(--page-margin);
	z-index: 5;
}

.hero-title {
	left: var(--page-margin);
	right: var(--page-margin);
}

.hero-title > * {
	margin: 0;
}

.hero-title .h3 {
	line-height: 1;
}

.store-links {
	right: var(--page-margin);
	display: flex;
	align-items: center;
	height: 40px;
	gap: var(--space-xs);
	z-index: 5;
}

.store-links__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 14px;
	border-radius: var(--radius-mobile);
	background: #000;
	color: #fff;
	text-decoration: none;
	font-family: inherit;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
}

.store-links__button--image {
	padding: 0;
	background: transparent;
	border-radius: 0;
}

.store-links__button--image img {
	display: block;
	height: 34px;
	width: auto;
}

@media (max-width: 1023px) {
	[data-section-type="hero"] {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		grid-template-rows: minmax(0, 1fr) auto auto;
		height: 100svh;
	}

	.logo {
		display: none;
	}

	.floating-gallery {
		--bleed: var(--space-md);
		--chrome: calc((var(--page-margin) * 2) + (var(--grid-gap) * 2) + 120px);
		--tile-x: calc((100vw - var(--shift)) / 3.225);
		--tile-y: calc((100svh - var(--chrome)) / 2.3);
		--tile: min(var(--tile-x), var(--tile-y));
		grid-column: 1 / -1;
		grid-row: 1;
		justify-self: center;
		align-self: center;
		width: calc((3.225 * var(--tile)) + (var(--gap) * 2) + var(--shift));
		max-width: calc(100vw + (var(--bleed) * 2));
		height: auto;
		min-height: 0;
		margin-right: 0;
		padding-left: calc((var(--tile) * 0.45) + var(--shift));
		padding-bottom: calc(var(--tile) * 0.3);
		box-sizing: border-box;
		overflow: hidden;
	}

	.floating-gallery > div {
		width: var(--tile);
		height: var(--tile);
		min-width: 0;
		min-height: 0;
	}

	.floating-gallery .media-caption {
		right: var(--space-md);
		bottom: var(--space-md);
		max-width: calc(100% - (var(--space-md) * 2));
		font-size: 20px;
	}

	.hero-title,
	.store-links {
		position: relative;
		inset: auto;
		grid-column: 1 / -1;
		justify-self: stretch;
	}

	.hero-title {
		grid-row: 2;
	}

	.store-links {
		grid-row: 3;
		justify-content: flex-start;
		justify-self: start;
	}
}

[data-fixed-first] [data-section-type="hero"] {
	position: sticky;
	top: 0;
	z-index: 0;
}

[data-fixed-first] [data-section-type="hero"] ~ [data-section-type] {
	position: relative;
	z-index: 1;
	isolation: isolate;
}

@media (max-width: 1023px) {
	[data-fixed-first] [data-section-type="hero"] {
		position: relative;
		top: auto;
		z-index: auto;
	}

	[data-fixed-first] [data-section-type="hero"] ~ [data-section-type] {
		transform: translateZ(0);
	}

	[data-section-type="sticky-columns"] {
		z-index: 2;
	}

	.sticky-card--featured,
	.sticky-card--featured video {
		transform: translateZ(0);
	}
}

[data-fixed-first] [data-section-type="hero"] + [data-section-type]::before {
	content: "";
	position: absolute;
	top: calc(var(--space-md) * -1);
	right: 0;
	left: 0;
	z-index: 3;
	height: var(--space-md);
	background: linear-gradient(to top, var(--cream), transparent);
	pointer-events: none;
}

[data-section-type="hero-video"] {
	padding-bottom: 32px;
}

@media (max-width: 1023px) {
	[data-section-type="hero-video"] {
		padding-bottom: var(--space-md);
	}
}

.hero-video {
	aspect-ratio: 16 / 9;
}

.hero-video__mute {
	position: absolute;
	top: var(--space-md);
	right: var(--space-md);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cream);
	cursor: pointer;
}

.hero-video__mute-icon {
	display: none;
	width: 24px;
	height: 24px;
	fill: currentColor;
}

.hero-video__mute.is-muted .hero-video__mute-icon--off,
.hero-video__mute:not(.is-muted) .hero-video__mute-icon--on {
	display: block;
}

.hero-video__controls {
	position: absolute;
	inset: auto var(--space-md) var(--space-md);
	display: flex;
	align-items: center;
	gap: var(--space-md);
	z-index: 2;
}

.hero-video__toggle {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 81px;
	height: 37px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cream);
	font-family: 'Cooper Light', serif;
	font-size: 21px;
	line-height: 1;
	text-align: center;
	cursor: pointer;
}

.hero-video__progress {
	position: relative;
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	height: 24px;
	cursor: pointer;
}

.hero-video__progress-track,
.hero-video__progress-fill {
	display: block;
	width: 100%;
}

.hero-video__progress-track {
	height: 1px;
	background: color-mix(in srgb, var(--white) 20%, transparent);
}

.hero-video__progress-fill {
	height: 100%;
	background: var(--white);
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}

.hero-video__progress-marker,
.hero-video__progress-end {
	position: absolute;
	top: 50%;
	width: 1px;
	height: 17px;
	pointer-events: none;
	translate: 0 -50%;
}

.hero-video__progress-marker {
	left: 0;
	background: var(--white);
	will-change: transform;
}

.hero-video__progress-end {
	right: 0;
	background: color-mix(in srgb, var(--white) 20%, transparent);
}

[data-section-type="hero-text"] {
	padding-top: var(--space-md);
	padding-bottom: var(--space-xxl);
}

.hero-text {
	text-box: trim-both cap text;
	text-box-trim: trim-both;
	text-box-edge: cap text;
}

.hero-text :is(p, h1, h2, h3, h4, h5, h6, li, blockquote) {
	font: inherit;
	letter-spacing: inherit;
	text-box: inherit;
	text-box-trim: inherit;
	text-box-edge: inherit;
}

@media (min-width: 1200px) {
	.hero-text {
		grid-column: 1 / span 20;
		width: auto;
	}
}

[data-section-type="hero-cards"] {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--grid-gap);
	padding-bottom: var(--space-lg);
}

.hero-card {
	aspect-ratio: 15 / 17;
	background-color: var(--blue);
}

.hero-card__text {
	line-height: 120%;
}

.overlay-copy.hero-card__copy {
	gap: var(--space-md);
}

@media (max-width: 767px) {
	[data-section-type="hero-cards"] {
		grid-template-columns: minmax(0, 1fr);
	}
}

[data-section-type="steps"] {
	padding-top: var(--space-md);
	padding-bottom: var(--space-lg);
}

.steps__rule {
	margin: 0 0 var(--space-md);
}

.steps__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-areas:
		"one two"
		". three";
	column-gap: var(--grid-gap);
	row-gap: var(--space-xl);
}

.steps__grid.has-gallery {
	grid-template-areas:
		"one two"
		"gallery gallery"
		". three";
}

.step {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-xs);
}

.step:nth-of-type(1) { grid-area: one; }
.step:nth-of-type(2) { grid-area: two; }
.step:nth-of-type(3) { grid-area: three; }

.steps__gallery {
	grid-area: gallery;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-md);
	min-width: 0;
}

.steps__gallery-items {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--grid-gap);
	width: 100%;
}

.steps__gallery-item {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-md);
	min-width: 0;
}

.steps__gallery-item .media-frame {
	width: 100%;
	aspect-ratio: 1;
}

.step__subtitle {
	margin: 0;
}

@media (max-width: 767px) {
	.steps__grid,
	.steps__grid.has-gallery {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"one"
			"two"
			"gallery"
			"three";
		row-gap: var(--space-lg);
	}

	.steps__gallery-items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

[data-section-type="hero-background"],
.hero-background {
	overflow: hidden;
	border-radius: 0;
}

[data-section-type="hero-background"] {
	padding: 0;
}

section + [data-section-type="hero-background"] {
	padding-top: 0;
}

.hero-background {
	display: grid;
	position: relative;
	width: 100%;
	color: var(--white);
}

.hero-background__ratio {
	grid-area: 1 / 1;
	padding-bottom: calc(15 / 17 * 100%);
	pointer-events: none;
}

.hero-background__layers,
.hero-background__overlay {
	grid-area: 1 / 1;
}

.hero-background__layers {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.hero-background__layer {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.45s ease, visibility 0.45s ease;
}

.hero-background__layer.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-background__overlay {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: var(--space-lg) var(--space-lg) var(--space-xl);
}

.hero-background__title {
	align-self: center;
	width: min(78%, 920px);
	margin: 0;
	text-align: center;
}

.hero-background__grow {
	flex: 1 1 auto;
	min-height: var(--space-xxl);
}

.hero-background__bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	gap: var(--space-lg);
}

.hero-background__body {
	margin: 0;
}

.hero-background__bodies {
	position: relative;
	flex: 1;
	min-width: 0;
	max-width: min(52%, 640px);
}

.hero-background__body:not(.is-active) {
	position: absolute;
	inset: auto 0 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.hero-background__triggers {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-lg);
	min-width: 280px;
}

.hero-background__list-title {
	margin: 0;
	padding-left: calc(16 / 14 * 1em);
	font-size: 17px;
	line-height: 120%;
	letter-spacing: 0;
}

.hero-background__list {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
	min-width: 0;
}

.hero-background__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--space-lg);
	align-items: baseline;
	width: 100%;
	min-height: 24px;
	padding: 3px 0 3px calc(16 / 14 * 1em);
	border: 0;
	background: transparent;
	color: var(--white);
	font: inherit;
	font-size: 17px;
	line-height: 120%;
	letter-spacing: 0;
	text-align: left;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.hero-background__item:hover,
.hero-background__item:focus-visible,
.hero-background__item.is-active {
	opacity: 1;
}

.hero-background__ring {
	position: absolute;
	left: 0;
	top: 50%;
	width: calc(9 / 14 * 1em);
	height: calc(9 / 14 * 1em);
	margin-top: calc(-9 / 14 * 0.5em);
	overflow: visible;
	transform: rotate(-90deg);
	pointer-events: none;
	opacity: 0;
}

.hero-background__item.is-active .hero-background__ring {
	opacity: 1;
}

.hero-background__ring-progress {
	fill: none;
	stroke: currentColor;
	stroke-width: 0.5;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

[data-autoplay] .hero-background__item.is-active .hero-background__ring-progress {
	stroke-dashoffset: 1;
}

[data-autoplay] .hero-background__item.is-active.is-filling .hero-background__ring-progress {
	animation: hero-background-ring 5s linear forwards;
}

@keyframes hero-background-ring {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

.hero-background__item.is-active::after {
	content: "";
	position: absolute;
	left: calc(2 / 14 * 1em);
	top: 50%;
	width: calc(5 / 14 * 1em);
	height: calc(5 / 14 * 1em);
	margin-top: calc(-5 / 14 * 0.5em);
	border-radius: var(--radius-circle);
	background: currentColor;
	pointer-events: none;
}

.hero-background__item-type {
	text-align: left;
}

@media (max-width: 767px) {
	.hero-background__overlay {
		padding: var(--space-lg) var(--space-md) var(--space-lg);
	}

	.hero-background__title {
		width: 100%;
	}

	.hero-background__grow {
		margin-top: 0;
		min-height: var(--space-xl);
	}

	.hero-background__bottom {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-lg);
	}

	.hero-background__bodies {
		max-width: none;
	}

	.hero-background__triggers,
	.hero-background__list {
		min-width: 0;
	}

	.hero-background__triggers {
		gap: 24px;
	}

	.hero-background__list-title,
	.hero-background__item {
		font-size: 12px;
	}
}

[data-section-type="carousel"] {
	row-gap: var(--space-xxl);
	align-items: stretch;
	padding-top: var(--space-md);
	padding-bottom: var(--space-xxl);
}

.carousel__section-title {
	margin: 0;
	padding-top: var(--space-md);
}

.carousel__media {
	grid-column: 5 / span 8;
	min-width: 0;
}

.carousel__viewport {
	aspect-ratio: 3 / 2;
	touch-action: pan-y;
	user-select: none;
	background-color: var(--blue);
}

.carousel__track {
	display: flex;
	height: 100%;
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.carousel__slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.carousel__slide img,
.carousel__slide video {
	pointer-events: none;
}

.carousel__pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0;
	margin-top: var(--space-sm);
}

.carousel__dot {
	position: relative;
	width: 24px;
	height: 24px;
	margin: 0 -4px;
	padding: 0;
	border: 0;
	border-radius: var(--radius-circle);
	background: transparent;
	cursor: pointer;
}

.carousel__dot::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--space-xs);
	height: var(--space-xs);
	border-radius: inherit;
	background: var(--burgandy);
	opacity: 0.25;
	transform: translate(-50%, -50%);
}

.carousel__dot.is-active::before {
	opacity: 1;
}

.carousel__copy {
	grid-column: 14 / span 7;
	justify-content: center;
	align-self: stretch;
	min-width: 0;
	padding-block: var(--space-md);
	border-top: var(--border);
	border-bottom: var(--border);
}

.carousel__title,
.carousel__quote,
.sticky-quote,
.sticky-quote__text,
.sticky-columns__title,
.sticky-text__statement {
	margin: 0;
}

.carousel__subtitle {
	margin: var(--space-sm) 0 0;
}

.carousel__statement,
.carousel__button {
	margin-top: var(--space-md);
}

.carousel__button {
	align-self: flex-end;
	color: inherit;
	text-align: right;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 1023px) {
	[data-section-type="carousel"] {
		row-gap: var(--space-md);
		padding-bottom: var(--space-md);
	}

	.carousel__section-title,
	.carousel__media,
	.carousel__copy {
		grid-column: 1 / -1;
	}
}

[data-section-type="sticky-columns"] {
	align-items: stretch;
	padding-block: var(--space-md);
	background-color: var(--blue);
	min-height: calc(100vh - (var(--page-margin) * 2));
	--sticky-card-ratio: 416 / 482;
}

.sticky-columns__left {
	grid-column: 1 / span 12;
	align-content: start;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--grid-gap);
	row-gap: var(--space-lg);
}

.sticky-columns__right {
	grid-column: 13 / span 12;
	gap: var(--space-xl);
	min-width: 0;
}

.sticky-card,
.sticky-text,
.sticky-quote {
	min-width: 0;
	max-width: 100%;
}

.sticky-card {
	color: var(--cream);
	background-color: var(--blue);
}

.sticky-columns__pin {
	grid-column: 1 / span 7;
	align-self: start;
	width: 100%;
}

.sticky-columns__pin.is-sticky {
	position: sticky;
	top: calc(100vh - var(--page-margin) - var(--pin-h, 50vh));
}

.sticky-card--featured {
	width: 100%;
}

.sticky-card--featured,
.sticky-card--media {
	aspect-ratio: var(--sticky-card-ratio);
}

.sticky-card .sticky-card__file--mobile {
	display: none;
}

.overlay-copy.sticky-card__copy {
	gap: var(--space-xs);
}

.sticky-card__stack {
	position: absolute;
	inset: auto var(--space-md) var(--space-md);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-md);
	min-width: 0;
	max-width: calc(100% - (var(--space-md) * 2));
}

.sticky-card .overlay-copy.sticky-card__copy {
	position: static;
	inset: auto;
}

.sticky-card .hero-video__controls {
	position: static;
	inset: auto;
	width: 100%;
}

.sticky-card--media .sticky-card__stack {
	max-width: 298px;
}

.sticky-card--media .sticky-card__caption,
.sticky-quote__person,
.sticky-text__button {
	font-size: 18px;
	line-height: 120%;
}

.sticky-quote {
	padding-top: var(--space-sm);
}

.sticky-quote__person {
	margin: 0 0 var(--space-md);
}

.sticky-text__button {
	display: inline-flex;
	align-items: center;
	color: inherit;
	text-decoration: none;
	text-transform: none;
	margin-top: var(--space-lg);
}

.sticky-text__button::before {
	content: "";
	width: 0;
	height: 6px;
	margin-right: 0;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: var(--radius-circle);
	background: currentColor;
	opacity: 0;
	transform: scale(0);
	transform-origin: center;
	transition:
		width 0.2s ease,
		margin-right 0.2s ease,
		opacity 0.2s ease,
		transform 0.2s ease;
}

.sticky-text__button:hover::before,
.sticky-text__button:focus-visible::before {
	width: 6px;
	margin-right: var(--space-xs);
	opacity: 1;
	transform: scale(1);
}

.sticky-text {
	position: relative;
	display: grid;
	padding: var(--space-xl) var(--space-lg) var(--space-lg);
	border-radius: var(--radius);
	color: var(--blue);
	background-color: var(--burgandy);
}

.sticky-text::before {
	content: "";
	grid-area: 1 / 1;
	padding-bottom: calc(482 / 416 * 100%);
	pointer-events: none;
}

.sticky-text__statement {
	grid-area: 1 / 1;
	align-self: end;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-stroke: 0.015em var(--burgandy);
}

@media (max-width: 1023px) {
	[data-section-type="sticky-columns"] {
		row-gap: var(--space-md);
		min-height: 0;
	}

	.sticky-columns__left,
	.sticky-columns__right {
		grid-column: 1 / -1;
		min-width: 0;
		gap: var(--space-md);
	}

	.sticky-columns__left {
		position: static;
		height: auto;
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		row-gap: var(--space-md);
	}

	.sticky-columns__pin,
	.sticky-columns__pin.is-sticky,
	.sticky-card--featured {
		grid-column: 1 / -1;
		aspect-ratio: auto;
		position: static;
		top: auto;
		width: 100%;
	}

	.sticky-card--featured {
		aspect-ratio: 2 / 3;
	}

	.sticky-card--media .sticky-card__stack,
	.sticky-card--media .sticky-card__copy {
		max-width: 100%;
	}

	.sticky-card .sticky-card__file--desktop {
		display: none;
	}

	.sticky-card .sticky-card__file--mobile {
		display: block;
	}

	.sticky-text {
		padding: var(--space-xl) var(--space-md) var(--space-lg);
		overflow-wrap: break-word;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-nav,
	.carousel__track {
		opacity: 1;
		transform: none;
		transition: none;
		animation: none;
		will-change: auto;
	}
}

.instagram-feed {
	position: relative;
	z-index: 1;
	padding: var(--space-lg) var(--page-margin);
	background-color: var(--cream);
	color: var(--burgandy);
}

.instagram-feed__title {
	display: inline-block;
	margin: 0 0 var(--space-md);
	color: inherit;
	text-decoration: none;
}

.instagram-feed__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--space-md);
}

.instagram-feed__item {
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius);
	overflow: hidden;
}

.instagram-feed__item img,
.instagram-feed__item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.instagram-feed__open {
	position: absolute;
	right: var(--space-md);
	bottom: var(--space-md);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	overflow: hidden;
	border-radius: var(--radius-circle);
	pointer-events: none;
}

.instagram-feed__open-effect,
.instagram-feed__open-tint,
.instagram-feed__open-shine {
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.instagram-feed__open-effect {
	background: rgb(255 250 242 / 0.18);
	-webkit-backdrop-filter: blur(10px) saturate(160%);
	backdrop-filter: blur(10px) saturate(160%);
}

.instagram-feed__open-tint {
	background:
		radial-gradient(circle at 30% 24%, rgb(255 255 255 / 0.28) 0%, transparent 38%),
		radial-gradient(circle at 78% 80%, rgb(255 255 255 / 0.16) 0%, transparent 34%),
		radial-gradient(circle at 50% 46%, rgb(255 250 242 / 0.28) 0%, rgb(255 250 242 / 0.42) 72%);
}

.instagram-feed__open-shine {
	background: conic-gradient(
		from 215deg,
		rgb(255 255 255 / 0.95) 0deg,
		rgb(255 255 255 / 0.18) 50deg,
		rgb(255 255 255 / 0.04) 95deg,
		rgb(255 255 255 / 0.55) 155deg,
		rgb(255 255 255 / 0.08) 215deg,
		rgb(255 255 255 / 0.92) 285deg,
		rgb(255 255 255 / 0.95) 360deg
	);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1.75px), #000 calc(100% - 1.15px));
	mask: radial-gradient(farthest-side, transparent calc(100% - 1.75px), #000 calc(100% - 1.15px));
}

.instagram-feed__open svg {
	position: relative;
	z-index: 1;
	display: block;
	width: 16px;
	height: 16px;
}

@media (max-width: 1023px) {
	.instagram-feed__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.instagram-feed__item:nth-child(5) {
		display: none;
	}
}

.site-footer {
	--footer-line: 24px;
	position: relative;
	z-index: 1;
	align-content: space-between;
	row-gap: var(--space-xl);
	min-height: 600px;
	padding: var(--space-xl) var(--page-margin) 18px;
	background-color: var(--cream);
	color: var(--burgandy);
}

.site-footer a {
	color: inherit;
	text-decoration: none;
}

.site-footer__links a,
.site-footer__social a {
	display: inline-flex;
	align-items: center;
	min-width: 24px;
	min-height: var(--footer-line);
	line-height: var(--footer-line);
}

.site-footer__links,
.site-footer__social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	font-size: 18px;
	line-height: var(--footer-line);
}

.site-footer__meta {
	grid-column: 1 / span 6;
	grid-row: 1;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: var(--grid-gap);
	row-gap: var(--space-lg);
	align-content: start;
}

.site-footer__links {
	grid-column: 1 / span 3;
}

.site-footer__social {
	grid-column: 4 / span 3;
}

.site-footer__location {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 18px;
	line-height: var(--footer-line);
}

.site-footer__subscribe {
	grid-column: 13 / span 12;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-self: stretch;
	gap: 2px;
	min-width: 0;
	color: var(--burgandy);
	font-size: 18px;
	line-height: var(--footer-line);
}

.site-footer__subscribe-heading {
	margin: 0;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
	color: var(--burgandy);
}

.site-footer__form,
.site-footer__form :is(*, *::placeholder) {
	color: var(--burgandy);
	font-size: 18px;
	font-family: 'Sofia Pro', sans-serif;
}

.site-footer__form :is(form, .klaviyo-form, [class*="klaviyo-form"], [data-testid="form-row"], .klaviyo-emailinput) {
	width: 100%;
	max-width: none;
	background: transparent;
}

html body .site-footer__form *:not(svg):not(path):not(input):not(textarea):not(button) {
	font-family: 'Sofia Pro', sans-serif !important;
	font-size: 18px !important;
	box-sizing: border-box !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--burgandy) !important;
}

html body .site-footer__form [data-testid="form-row"] {
	width: 100% !important;
	padding-bottom: 4px !important;
	border-bottom: 0.5px solid var(--burgandy) !important;
	align-items: stretch !important;
}

html body .site-footer__form [data-testid="form-row"] > [data-testid="form-component"]:first-child {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
}

html body .site-footer__form [data-testid="form-row"] > [data-testid="form-component"]:last-child {
	flex: 0 0 auto !important;
	width: auto !important;
}

html body .site-footer__form :is(input[type="email"], input[type="text"], textarea),
html body .site-footer__form :is(input[type="email"], input[type="text"], textarea):is(:focus, :focus-visible, :active),
html body .site-footer__form button {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: none !important;
	background: transparent !important;
	color: var(--burgandy) !important;
	-webkit-text-fill-color: var(--burgandy) !important;
	caret-color: var(--burgandy) !important;
	box-shadow: none !important;
	min-height: var(--footer-line) !important;
	height: auto !important;
	line-height: var(--footer-line) !important;
	font-family: 'Sofia Pro', sans-serif !important;
	font-size: 18px !important;
}

html body .site-footer__form :is(input[type="email"], input[type="text"], textarea) {
	width: 100% !important;
}

html body .site-footer__form button {
	width: auto !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

html body .site-footer__form :is(input[type="email"], input[type="text"], textarea)::placeholder {
	font-family: 'Sofia Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: inherit !important;
	color: #610000 !important;
	opacity: 1 !important;
	padding: 0 !important;
	transform: none !important;
}

html body .site-footer__form :is(input[type="email"], input[type="text"], textarea)::-webkit-input-placeholder {
	font-family: 'Sofia Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: #610000 !important;
	opacity: 1 !important;
}

html body .site-footer__form :is(input[type="email"], input[type="text"], textarea)::-moz-placeholder {
	font-family: 'Sofia Pro', sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: #610000 !important;
	opacity: 1 !important;
}

.site-footer__statement {
	grid-column: 1 / span 12;
	grid-row: 2;
	align-self: end;
	font-size: 28px;
}

.site-footer__statement :is(p, h1, h2, h3, h4, h5, h6) {
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

.site-footer__logo {
	grid-column: 18 / span 7;
	grid-row: 2;
	align-self: end;
	justify-self: end;
	display: block;
	width: 100%;
	max-width: 250px;
	height: auto;
}

@media (max-width: 1023px) {
	.site-footer {
		min-height: 0;
		row-gap: var(--space-lg);
		padding: var(--space-lg) var(--page-margin) 18px;
	}

	.site-footer__meta,
	.site-footer__links,
	.site-footer__social,
	.site-footer__location,
	.site-footer__subscribe,
	.site-footer__statement,
	.site-footer__logo {
		grid-column: 1 / -1;
		grid-row: auto;
	}

	.site-footer__meta {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-lg);
	}

	.site-footer__statement {
		font-size: 18px;
	}

	.site-footer__logo {
		justify-self: stretch;
		width: 100%;
		max-width: none;
	}
}

[data-section-type="klaviyo-signup"] {
	padding: var(--space-md);
}

.klaviyo-signup {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 1;
	padding: 0;
	border-radius: var(--radius);
}

.klaviyo-signup__media {
	pointer-events: none;
}

.klaviyo-signup__media--mobile {
	display: none;
}

.klaviyo-signup__form {
	position: relative;
	z-index: 1;
	justify-self: stretch;
	width: auto;
	margin-inline: 24px !important;
	padding: 0;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form {
	font-family: 'Sofia Pro', sans-serif !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form *:not(svg):not(path) {
	font-family: 'Sofia Pro', sans-serif !important;
	box-sizing: border-box !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form :is(
	form,
	.klaviyo-form,
	[class*="klaviyo-form"],
	[data-testid="form-row"],
	.klaviyo-emailinput
) {
	width: 100% !important;
	max-width: none !important;
	background: transparent !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] {
	border-bottom: 1px solid var(--cream) !important;
	align-items: stretch !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] > [data-testid="form-component"]:first-child {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] > [data-testid="form-component"]:last-child {
	flex: 0 0 auto !important;
	width: auto !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"],
html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"]:is(:focus, :focus-visible, :active),
html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form button.needsclick.klaviyo-form-button {
	padding: 20px 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: none !important;
	background: transparent !important;
	color: var(--cream) !important;
	box-shadow: none !important;
	line-height: 1.2 !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"] {
	width: 100% !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form button.needsclick.klaviyo-form-button {
	width: auto !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"]::placeholder,
html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"]::-webkit-input-placeholder {
	color: var(--cream) !important;
	opacity: 0.7 !important;
	font-size: inherit !important;
	line-height: inherit !important;
	padding: 0 !important;
	transform: none !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form:not(:has(input[type="email"])) {
	text-align: center !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form:not(:has(input[type="email"])) *:not(svg):not(path) {
	color: var(--cream) !important;
	text-align: center !important;
	line-height: 1.5 !important;
	border: 0 !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form:not(:has(input[type="email"])) :is(p, h1, h2, h3, h4, span, div) {
	color: var(--cream) !important;
}

html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form:not(:has(input[type="email"])) p + p,
html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form:not(:has(input[type="email"])) [data-testid="form-component"] + [data-testid="form-component"] {
	margin-top: var(--space-md) !important;
}

@media (max-width: 1023px) {
	.klaviyo-signup {
		aspect-ratio: auto;
		min-height: 70vh;
	}

	.klaviyo-signup.has-mobile-media .klaviyo-signup__media--desktop {
		display: none;
	}

	.klaviyo-signup.has-mobile-media .klaviyo-signup__media--mobile {
		display: block;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form,
	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form *:not(svg):not(path),
	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"],
	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form button.needsclick.klaviyo-form-button {
		font-size: 18px !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"]::placeholder,
	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"]::-webkit-input-placeholder {
		font-size: 18px !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] {
		flex-direction: column !important;
		align-items: stretch !important;
		border-bottom: 0 !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] > [data-testid="form-component"]:first-child {
		flex: 0 0 auto !important;
		width: 100% !important;
		border-bottom: 1px solid var(--cream) !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form [data-testid="form-row"] > [data-testid="form-component"]:last-child {
		flex: 0 0 auto !important;
		width: 100% !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form input.needsclick[type="email"],
	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form button.needsclick.klaviyo-form-button {
		width: 100% !important;
	}

	html body [data-section-type="klaviyo-signup"] .klaviyo-signup__form button.needsclick.klaviyo-form-button {
		text-align: left !important;
	}
}

@media (max-width: 1023px) {
	[data-section-type="hero-video"],
	[data-section-type="hero-text"],
	[data-section-type="hero-cards"],
	[data-section-type="steps"],
	[data-section-type="carousel"],
	[data-section-type="sticky-columns"],
	[data-section-type="klaviyo-signup"],
	[data-section-type="instagram-feed"] {
		padding-top: var(--space-md);
		padding-bottom: var(--space-md);
	}

	[data-section-type="hero-background"] {
		padding: 0;
	}

	[data-section-type="klaviyo-signup"] {
		padding-left: var(--page-margin);
		padding-right: var(--page-margin);
	}

	.instagram-feed {
		padding-block: var(--space-md);
	}

	[data-section-type="carousel"] .carousel__copy {
		margin-block: 0;
	}
}

.klaviyo-waitlist {
	position: fixed;
	inset: 0;
	z-index: 20;
	display: grid;
	place-items: center;
	padding: var(--page-margin);
	background: rgb(0 0 0 / 0.1);
}

.klaviyo-waitlist[hidden] {
	display: none;
}

.klaviyo-waitlist__panel {
	position: relative;
	width: min(700px, 100%);
	max-height: calc(100dvh - (var(--page-margin) * 2));
	overflow: auto;
	padding: 48px var(--space-lg) var(--space-lg);
	border-radius: var(--radius);
	background: var(--cream);
	color: var(--burgandy);
}

.klaviyo-waitlist__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

body.is-klaviyo-waitlist-open {
	overflow: hidden;
}
