/* KAYA homepage after-hero: Frame 45 stats + Browse By Section.
   Desktop sizes use ITG-style min(rem, vw) against a 1920px artboard. */

.kaya-stats {
	--kaya-stats-pad-x: min(6.25rem, 5.2083333333vw);
	--kaya-stats-pad-top: min(1.625rem, 1.3541666667vw);
	--kaya-stats-pad-bottom: min(3.4375rem, 2.8645833333vw);
	--kaya-stats-inner: min(107.5rem, 89.5833333333vw);
	--kaya-stats-gap: min(3.75rem, 3.125vw);
	--kaya-stats-item-gap: min(1.25rem, 1.0416666667vw);
	--kaya-stats-fs: min(1rem, 0.8333333333vw);
	--kaya-stats-strip-h: min(1.4375rem, 1.1979166667vw);
	--kaya-stats-strip-leaf-h: min(2.1875rem, 1.8229166667vw);
	--kaya-stats-strip-overflow: min(0.75rem, 0.625vw);
	--kaya-stats-overlap: min(0.1875rem, 0.15625vw);

	position: relative;
	z-index: 0;
	width: 100%;
	margin-top: calc(-1 * var(--kaya-stats-overlap));
	overflow: visible;
	background-color: transparent;
	background-image: linear-gradient(var(--kaya-orange-light), var(--kaya-orange-light));
	background-repeat: no-repeat;
	background-size: 100% calc(100% - var(--kaya-stats-strip-overflow));
	box-sizing: border-box;
	padding: var(--kaya-stats-pad-top) var(--kaya-stats-pad-x) calc(var(--kaya-stats-pad-bottom) + var(--kaya-stats-strip-overflow));
}

.kaya-stats__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	width: var(--kaya-stats-inner);
	max-width: 100%;
	margin: 0 auto;
	gap: var(--kaya-stats-gap);
}

.kaya-stats__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--kaya-stats-item-gap);
	flex: 0 0 auto;
}

.kaya-stats__icon {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: var(--kaya-stats-blob-w);
	height: var(--kaya-stats-blob-h);
	overflow: visible;
}

.kaya-stats__icon-blob {
	display: block;
	width: var(--kaya-stats-blob-w);
	height: var(--kaya-stats-blob-h);
	max-width: none;
}

.kaya-stats__icon-leaf {
	position: absolute;
	left: var(--kaya-stats-leaf-l);
	top: var(--kaya-stats-leaf-t);
	width: var(--kaya-stats-leaf-w);
	height: var(--kaya-stats-leaf-h);
	max-width: none;
}

.kaya-stats__icon--years {
	--kaya-stats-blob-w: min(4.5rem, 3.75vw);
	--kaya-stats-blob-h: min(4.1994375rem, 3.49953125vw);
	--kaya-stats-leaf-w: min(2.8235rem, 2.3539583333vw);
	--kaya-stats-leaf-h: min(2.15975rem, 1.7997916667vw);
	--kaya-stats-leaf-l: min(0.7125rem, 0.59375vw);
	--kaya-stats-leaf-t: min(0.975rem, 0.8125vw);
}

.kaya-stats__icon--safeguarding {
	--kaya-stats-blob-w: min(4.5rem, 3.75vw);
	--kaya-stats-blob-h: min(4.3459375rem, 3.6216145833vw);
	--kaya-stats-leaf-w: min(1.846875rem, 1.5390625vw);
	--kaya-stats-leaf-h: min(2.5125625rem, 2.0938020833vw);
	--kaya-stats-leaf-l: min(1.460625rem, 1.2171875vw);
	--kaya-stats-leaf-t: min(0.8075rem, 0.6729166667vw);
}

.kaya-stats__icon--partners {
	--kaya-stats-blob-w: min(4.5rem, 3.75vw);
	--kaya-stats-blob-h: min(4.606375rem, 3.8386458333vw);
	--kaya-stats-leaf-w: min(2.3418125rem, 1.9515104167vw);
	--kaya-stats-leaf-h: min(2.5048125rem, 2.08734375vw);
	--kaya-stats-leaf-l: min(0.9675rem, 0.80625vw);
	--kaya-stats-leaf-t: min(1.0125rem, 0.84375vw);
}

.kaya-stats__icon--destinations {
	--kaya-stats-blob-w: min(4.420625rem, 3.6838541667vw);
	--kaya-stats-blob-h: min(4.5rem, 3.75vw);
	--kaya-stats-leaf-w: min(2.0614375rem, 1.7178645833vw);
	--kaya-stats-leaf-h: min(2.7121875rem, 2.26015625vw);
	--kaya-stats-leaf-l: min(1.223125rem, 1.0192708333vw);
	--kaya-stats-leaf-t: min(0.749375rem, 0.6244791667vw);
}

.kaya-stats__icon--support {
	--kaya-stats-blob-w: min(4.5rem, 3.75vw);
	--kaya-stats-blob-h: min(4.069375rem, 3.3911458333vw);
	--kaya-stats-leaf-w: min(2.7003125rem, 2.2502604167vw);
	--kaya-stats-leaf-h: min(1.7906875rem, 1.4922395833vw);
	--kaya-stats-leaf-l: min(0.824375rem, 0.6869791667vw);
	--kaya-stats-leaf-t: min(1.274375rem, 1.0619791667vw);
}

.kaya-stats__label {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	font-family: "Montserrat", sans-serif;
	font-weight: 900;
	font-size: var(--kaya-stats-fs);
	line-height: normal;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--kaya-brown);
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: "lnum" 1, "pnum" 1;
}

.kaya-stats__line {
	display: block;
}

.kaya-stats__strip {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--kaya-stats-strip-overflow);
	z-index: 1;
	height: var(--kaya-stats-strip-h);
	overflow: visible;
	line-height: 0;
	pointer-events: none;
}

.kaya-stats__strip img {
	display: block;
	width: 100%;
	height: var(--kaya-stats-strip-leaf-h);
	max-width: none;
	object-fit: fill;
	object-position: top;
}

.kaya-stats__dots {
	display: none;
}

.kaya-browse {
	--kaya-browse-pad-x: min(6.25rem, 5.2083333333vw);
	--kaya-browse-pad-top: min(5.0625rem, 4.21875vw);
	--kaya-browse-inner: min(107.5rem, 89.5833333333vw);
	--kaya-browse-gap: min(2.5rem, 2.0833333333vw);
	--kaya-browse-tile-h: min(31.25rem, 26.0416666667vw);
	--kaya-browse-radius: min(1.25rem, 1.0416666667vw);
	--kaya-browse-shadow: min(1.25rem, 1.0416666667vw);
	--kaya-browse-content-gap: min(1.625rem, 1.3541666667vw);
	--kaya-browse-title-gap: min(0.25rem, 0.2083333333vw);
	--kaya-browse-kicker-fs: min(1.5rem, 1.25vw);
	--kaya-browse-heading-fs: min(2.5rem, 2.0833333333vw);
	--kaya-browse-cta-py: min(1rem, 0.8333333333vw);
	--kaya-browse-cta-px: min(1.25rem, 1.0416666667vw);
	--kaya-browse-cta-gap: min(1rem, 0.8333333333vw);
	--kaya-browse-cta-radius: min(0.625rem, 0.5208333333vw);
	--kaya-browse-cta-fs: min(0.875rem, 0.7291666667vw);
	--kaya-browse-cta-lh: min(1.0625rem, 0.8854166667vw);
	--kaya-browse-cta-icon-w: min(1.25rem, 1.0416666667vw);
	--kaya-browse-cta-icon-h: min(0.875rem, 0.7291666667vw);
	--kaya-browse-cta-leaf-w: min(1.317375rem, 1.0978125vw);
	--kaya-browse-cta-leaf-h: min(0.9423125rem, 0.7852604167vw);
	--kaya-browse-cta-leaf-t: min(0.0336875rem, 0.0280729167vw);

	width: 100%;
	background-color: var(--kaya-white);
	box-sizing: border-box;
	padding: var(--kaya-browse-pad-top) var(--kaya-browse-pad-x) 0;
}

.kaya-browse__inner {
	display: flex;
	align-items: center;
	width: var(--kaya-browse-inner);
	max-width: 100%;
	margin: 0 auto;
	gap: var(--kaya-browse-gap);
}

.kaya-browse__tile {
	position: relative;
	display: flex;
	flex: 7 1 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: var(--kaya-browse-tile-h);
	overflow: hidden;
	border-radius: var(--kaya-browse-radius);
	box-shadow: 0 0 var(--kaya-browse-shadow) rgba(0, 0, 0, 0.1);
	text-decoration: none;
	color: var(--kaya-white);
	box-sizing: border-box;
	transition: flex-grow 0.4s ease-in-out;
}

/* Figma Browse By hover: hovered tile 1080, the other 600, of a 1680 content row.
   Side-by-side only. Stacked tiles (max-width 999px) stay equal. */
@media (hover: hover) and (pointer: fine) and (min-width: 1000px) {
	.kaya-browse__inner:has(.kaya-browse__tile:hover) .kaya-browse__tile,
	.kaya-browse__inner:has(.kaya-browse__tile:focus-visible) .kaya-browse__tile {
		flex-grow: 5;
	}

	.kaya-browse__inner:has(.kaya-browse__tile:hover) .kaya-browse__tile:hover,
	.kaya-browse__inner:has(.kaya-browse__tile:focus-visible) .kaya-browse__tile:focus-visible {
		flex-grow: 9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kaya-browse__tile,
	.kaya-browse__cta {
		transition: none;
	}
}

.kaya-browse__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: var(--kaya-browse-radius);
	pointer-events: none;
}

.kaya-browse__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--kaya-browse-content-gap);
	width: 100%;
}

.kaya-browse__titles {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--kaya-browse-title-gap);
	width: 100%;
	text-align: center;
	color: var(--kaya-white);
}

.kaya-browse__kicker,
.kaya-browse__heading {
	margin: 0;
	padding: 0;
	width: 100%;
	font-family: "Montserrat", sans-serif;
	font-weight: 900;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--kaya-white);
}

.kaya-browse__kicker {
	font-size: var(--kaya-browse-kicker-fs);
	line-height: var(--kaya-browse-kicker-fs);
}

.kaya-browse__heading {
	font-size: var(--kaya-browse-heading-fs);
	line-height: var(--kaya-browse-heading-fs);
}

.kaya-browse__cta {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--kaya-browse-cta-gap);
	margin: 0;
	padding: var(--kaya-browse-cta-py) var(--kaya-browse-cta-px);
	border-radius: var(--kaya-browse-cta-radius);
	background: var(--kaya-white);
	color: var(--kaya-brown);
	flex: 0 0 auto;
	transition: background-color 0.4s ease-in-out;
}

.kaya-browse__cta-label {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: var(--kaya-browse-cta-fs);
	line-height: var(--kaya-browse-cta-lh);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--kaya-brown);
	white-space: nowrap;
}

.kaya-browse__cta-icon {
	display: block;
	position: relative;
	width: var(--kaya-browse-cta-icon-w);
	height: var(--kaya-browse-cta-icon-h);
	overflow: visible;
	flex: 0 0 var(--kaya-browse-cta-icon-w);
}

.kaya-browse__cta-icon img {
	display: block;
	position: absolute;
	top: calc(-1 * var(--kaya-browse-cta-leaf-t));
	left: 0;
	width: var(--kaya-browse-cta-leaf-w);
	height: var(--kaya-browse-cta-leaf-h);
	max-width: none;
}

a.kaya-browse__tile:hover .kaya-browse__cta,
a.kaya-browse__tile:focus .kaya-browse__cta,
a.kaya-browse__tile:focus-visible .kaya-browse__cta {
	background-color: var(--kaya-orange);
}

@media only screen and (max-width: 999px) {
	/* Contact trust bar keeps its previous mobile wrap. */
	.kaya-contact-trust {
		padding-top: 24px;
		padding-bottom: 48px;
	}

	.kaya-contact-trust .kaya-stats__inner {
		flex-wrap: wrap;
		gap: 20px 24px;
	}

	.kaya-contact-trust .kaya-stats__item {
		flex: 1 1 calc(50% - 24px);
		justify-content: flex-start;
	}

	/* Figma mobile homepage stats: 393px frame, two stats per view, 8px dots. */
	.kaya-stats:not(.kaya-contact-trust) {
		--kaya-stats-fs: 12px;
		--kaya-stats-item-gap: 12px;
		margin-top: 0;
		padding: 32px 20px 40px;
		background-size: 100% 100%;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__strip {
		display: none;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__inner {
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: 100%;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__inner::-webkit-scrollbar {
		display: none;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__item {
		flex: 0 0 50%;
		justify-content: flex-start;
		min-width: 0;
		scroll-snap-align: start;
		box-sizing: border-box;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__label {
		line-height: 16px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__icon--years {
		--kaya-stats-blob-w: 40px;
		--kaya-stats-blob-h: 37.3px;
		--kaya-stats-leaf-w: 25.1px;
		--kaya-stats-leaf-h: 19.2px;
		--kaya-stats-leaf-l: 6.3px;
		--kaya-stats-leaf-t: 8.7px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__icon--safeguarding {
		--kaya-stats-blob-w: 40px;
		--kaya-stats-blob-h: 38.6px;
		--kaya-stats-leaf-w: 16.4px;
		--kaya-stats-leaf-h: 22.3px;
		--kaya-stats-leaf-l: 13px;
		--kaya-stats-leaf-t: 7.2px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__icon--partners {
		--kaya-stats-blob-w: 40px;
		--kaya-stats-blob-h: 40.9px;
		--kaya-stats-leaf-w: 20.8px;
		--kaya-stats-leaf-h: 22.3px;
		--kaya-stats-leaf-l: 8.6px;
		--kaya-stats-leaf-t: 9px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__icon--destinations {
		--kaya-stats-blob-w: 39.3px;
		--kaya-stats-blob-h: 40px;
		--kaya-stats-leaf-w: 18.3px;
		--kaya-stats-leaf-h: 24.1px;
		--kaya-stats-leaf-l: 10.9px;
		--kaya-stats-leaf-t: 6.7px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__icon--support {
		--kaya-stats-blob-w: 40px;
		--kaya-stats-blob-h: 36.2px;
		--kaya-stats-leaf-w: 24px;
		--kaya-stats-leaf-h: 15.9px;
		--kaya-stats-leaf-l: 7.3px;
		--kaya-stats-leaf-t: 11.3px;
	}

	.kaya-stats:not(.kaya-contact-trust) .kaya-stats__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		margin: 24px 0 0;
		padding: 0;
	}

	.kaya-stats__dot {
		width: 8px;
		height: 8px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #d3c6c1;
		cursor: pointer;
	}

	.kaya-stats__dot.is-active {
		background: var(--kaya-brown);
	}

	/* Figma mobile Browse By: 20px inset, 60px pad, square 20px-radius tiles, 20px gap. */
	.kaya-browse {
		--kaya-browse-radius: 20px;
		--kaya-browse-shadow: 20px;
		--kaya-browse-content-gap: 24px;
		--kaya-browse-title-gap: 4px;
		--kaya-browse-kicker-fs: 18px;
		--kaya-browse-heading-fs: 28px;
		--kaya-browse-cta-py: 13px;
		--kaya-browse-cta-px: 20px;
		--kaya-browse-cta-gap: 16px;
		--kaya-browse-cta-radius: 12px;
		--kaya-browse-cta-fs: 14px;
		--kaya-browse-cta-lh: 17px;
		--kaya-browse-cta-icon-w: 20px;
		--kaya-browse-cta-icon-h: 14px;
		--kaya-browse-cta-leaf-w: 21px;
		--kaya-browse-cta-leaf-h: 15px;
		--kaya-browse-cta-leaf-t: 0px;
		padding: 60px 20px;
	}

	.kaya-browse__inner {
		flex-direction: column;
		gap: 20px;
		width: 100%;
	}

	.kaya-browse__tile {
		width: 100%;
		flex: 1 1 auto;
		height: auto;
		aspect-ratio: 1 / 1;
		transition: none;
	}

	.kaya-browse__inner:has(.kaya-browse__tile:hover) .kaya-browse__tile,
	.kaya-browse__inner:has(.kaya-browse__tile:hover) .kaya-browse__tile:hover,
	.kaya-browse__inner:has(.kaya-browse__tile:focus-visible) .kaya-browse__tile,
	.kaya-browse__inner:has(.kaya-browse__tile:focus-visible) .kaya-browse__tile:focus-visible {
		flex-grow: 1;
	}

	.kaya-browse__cta-label {
		white-space: nowrap;
	}
}

/* Frame 135 — What type of group are you? */
.kaya-groups {
	--kaya-groups-pad-x: min(6.25rem, 5.2083333333vw);
	--kaya-groups-pad-top: min(7.5rem, 6.25vw);
	--kaya-groups-inner: min(107.5rem, 89.5833333333vw);
	--kaya-groups-gap: min(2.5rem, 2.0833333333vw);
	--kaya-groups-heading-fs: min(2.5rem, 2.0833333333vw);
	--kaya-groups-card-w: min(25rem, 20.8333333333vw);
	--kaya-groups-photo-h: min(21.5625rem, 17.96875vw);
	--kaya-groups-photo-open-h: min(12.5rem, 10.4166666667vw);
	--kaya-groups-body-collapsed-h: min(4.5rem, 3.75vw);
	--kaya-groups-body-open-h: min(13.5625rem, 11.3020833333vw);
	--kaya-groups-radius: min(1.25rem, 1.0416666667vw);
	--kaya-groups-tear-h: min(0.62516875rem, 0.5210vw);
	--kaya-groups-body-pt: min(1.25rem, 1.0416666667vw);
	--kaya-groups-body-px: min(1.25rem, 1.0416666667vw);
	--kaya-groups-body-pb: min(1.75rem, 1.4583333333vw);
	--kaya-groups-title-fs: min(1.5rem, 1.25vw);
	--kaya-groups-text-fs: min(1rem, 0.8333333333vw);
	--kaya-groups-text-lh: min(1.5rem, 1.25vw);
	--kaya-groups-copy-gap: min(0.75rem, 0.625vw);
	--kaya-groups-cta-gap: min(1rem, 0.8333333333vw);
	--kaya-groups-cta-fs: min(0.875rem, 0.7291666667vw);
	--kaya-groups-cta-lh: min(1.0625rem, 0.8854166667vw);
	--kaya-groups-cta-icon-w: min(1.25rem, 1.0416666667vw);
	--kaya-groups-cta-icon-h: min(0.875rem, 0.7291666667vw);
	--kaya-groups-cta-leaf-w: min(1.317375rem, 1.0978125vw);
	--kaya-groups-cta-leaf-h: min(0.9423125rem, 0.7852604167vw);
	--kaya-groups-cta-leaf-t: min(0.0336875rem, 0.0280729167vw);

	width: 100%;
	background-color: var(--kaya-white);
	box-sizing: border-box;
	padding: var(--kaya-groups-pad-top) var(--kaya-groups-pad-x) 0;
}

.kaya-groups__heading {
	margin: 0 auto var(--kaya-groups-gap);
	padding: 0;
	max-width: min(52.5rem, 43.75vw);
	font-family: "Montserrat", sans-serif;
	font-weight: 900;
	font-size: var(--kaya-groups-heading-fs);
	line-height: var(--kaya-groups-heading-fs);
	letter-spacing: -0.03em;
	text-transform: uppercase;
	text-align: center;
	color: var(--kaya-brown);
}

.kaya-groups__grid {
	display: flex;
	align-items: stretch;
	width: var(--kaya-groups-inner);
	max-width: 100%;
	margin: 0 auto;
	gap: var(--kaya-groups-gap);
}

.kaya-groups__card {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
	width: var(--kaya-groups-card-w);
}

.kaya-groups__photo {
	position: relative;
	flex: 0 0 auto;
	height: var(--kaya-groups-photo-h);
	overflow: visible;
	transition: height 0.28s ease;
}

.kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__photo {
	height: var(--kaya-groups-photo-open-h);
}

.kaya-groups__photo-clip {
	position: absolute;
	inset: 0;
	overflow: hidden;
	border-radius: var(--kaya-groups-radius) var(--kaya-groups-radius) 0 0;
}

.kaya-groups__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__img {
	top: 0;
	left: 0;
	width: 100%;
	height: 150%;
	object-position: center top;
}

.kaya-groups__tear {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	height: var(--kaya-groups-tear-h);
	overflow: visible;
	line-height: 0;
	pointer-events: none;
}

.kaya-groups__tear img {
	display: block;
	width: 100%;
	height: var(--kaya-groups-tear-h);
	max-width: none;
	object-fit: fill;
}

.kaya-groups__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-start;
	box-sizing: border-box;
	padding: var(--kaya-groups-body-pt) var(--kaya-groups-body-px) var(--kaya-groups-body-pb);
	background-color: var(--kaya-orange-light);
	border-radius: 0 0 var(--kaya-groups-radius) var(--kaya-groups-radius);
	transition: height 0.28s ease;
}

.kaya-groups__card.has-details .kaya-groups__body {
	flex: 0 0 auto;
	height: var(--kaya-groups-body-collapsed-h);
	overflow: hidden;
}

.kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__body {
	height: var(--kaya-groups-body-open-h);
	justify-content: space-between;
}

.kaya-groups__title {
	margin: 0;
	padding: 0;
	font-family: "Montserrat", sans-serif;
	font-weight: 900;
	font-size: var(--kaya-groups-title-fs);
	line-height: var(--kaya-groups-title-fs);
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--kaya-maroon);
}

.kaya-groups__details {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1 1 auto;
	gap: 0;
	min-height: 0;
	height: 0;
	margin-top: 0;
	overflow: hidden;
	visibility: hidden;
}

.kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__details {
	height: auto;
	margin-top: var(--kaya-groups-copy-gap);
	overflow: visible;
	visibility: visible;
}

.kaya-groups__text {
	margin: 0;
	padding: 0;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: var(--kaya-groups-text-fs);
	line-height: var(--kaya-groups-text-lh);
	letter-spacing: 0;
	color: var(--kaya-brown);
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: "lnum" 1, "pnum" 1;
}

.kaya-groups__cta {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--kaya-groups-cta-gap);
	margin-top: auto;
	align-self: flex-start;
	text-decoration: none;
	color: var(--kaya-maroon);
}

.kaya-groups__cta-label {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: var(--kaya-groups-cta-fs);
	line-height: var(--kaya-groups-cta-lh);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--kaya-maroon);
	white-space: nowrap;
}

.kaya-groups__cta-icon {
	display: block;
	position: relative;
	width: var(--kaya-groups-cta-icon-w);
	height: var(--kaya-groups-cta-icon-h);
	overflow: visible;
	flex: 0 0 var(--kaya-groups-cta-icon-w);
}

.kaya-groups__cta-icon img {
	display: block;
	position: absolute;
	top: calc(-1 * var(--kaya-groups-cta-leaf-t));
	left: 0;
	width: var(--kaya-groups-cta-leaf-w);
	height: var(--kaya-groups-cta-leaf-h);
	max-width: none;
}

a.kaya-groups__cta:hover,
a.kaya-groups__cta:focus {
	opacity: 0.92;
}

.kaya-groups__dots {
	display: none;
}

.kaya-dest-card__toggle {
	display: none;
}

@media only screen and (max-width: 999px) {
	/* Destination cards keep the previous mobile stack. */
	.kaya-dest-cards {
		padding-top: 48px;
		padding-bottom: 24px;
	}

	.kaya-dest-cards .kaya-groups__heading {
		max-width: none;
	}

	.kaya-dest-cards .kaya-groups__card,
	.kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__body,
	.kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__body {
		width: 100%;
		height: auto;
	}

	.kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__body {
		overflow: visible;
	}

	.kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__details {
		height: auto;
		margin-top: var(--kaya-groups-copy-gap);
		overflow: visible;
		visibility: visible;
	}

	.kaya-dest-cards .kaya-groups__photo,
	.kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__photo,
	.kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__photo {
		height: auto;
		aspect-ratio: 400 / 345;
	}

	.kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__photo {
		aspect-ratio: 400 / 200;
	}

	.kaya-dest-cards .kaya-groups__cta-label {
		white-space: normal;
	}

	/* Figma mobile group types: 24/28 heading, 280px cards, 20px peek gap, 8px dots. */
	.kaya-groups:not(.kaya-dest-cards) {
		--kaya-groups-radius: 20px;
		--kaya-groups-tear-h: 10px;
		--kaya-groups-title-fs: 16px;
		--kaya-groups-text-fs: 16px;
		--kaya-groups-text-lh: 24px;
		--kaya-groups-copy-gap: 12px;
		--kaya-groups-cta-fs: 14px;
		--kaya-groups-cta-lh: 17px;
		--kaya-groups-cta-gap: 12px;
		--kaya-groups-cta-icon-w: 20px;
		--kaya-groups-cta-icon-h: 14px;
		--kaya-groups-cta-leaf-w: 21px;
		--kaya-groups-cta-leaf-h: 15px;
		--kaya-groups-cta-leaf-t: 0px;
		padding: 0 0 40px;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__heading {
		max-width: 291px;
		margin: 0 auto 40px;
		font-size: 28px;
		line-height: 28px;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__grid {
		flex-wrap: nowrap;
		justify-content: flex-start;
		width: 100%;
		gap: 20px;
		padding-left: 20px;
		padding-right: calc(100% - 300px);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 20px;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__grid::-webkit-scrollbar {
		display: none;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card {
		flex: 0 0 280px;
		width: 280px;
		scroll-snap-align: start;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__photo,
	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details .kaya-groups__photo,
	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__photo {
		height: auto;
		aspect-ratio: 280 / 238;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__img {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__body,
	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details .kaya-groups__body,
	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__body {
		width: 100%;
		height: auto;
		justify-content: flex-start;
		padding: 22px 16px;
		overflow: hidden;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__title {
		text-align: center;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details:is(:hover, :focus-within) .kaya-groups__details {
		height: 0;
		margin-top: 0;
		overflow: hidden;
		visibility: hidden;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__card.has-details.is-open .kaya-groups__details {
		height: auto;
		margin-top: 12px;
		overflow: visible;
		visibility: visible;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__text {
		text-align: center;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__cta {
		align-self: center;
	}

	.kaya-groups:not(.kaya-dest-cards) .kaya-groups__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		margin: 20px 0 0;
		padding: 0;
	}

	.kaya-groups__dot {
		width: 8px;
		height: 8px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #d3c6c1;
		cursor: pointer;
	}

	.kaya-groups__dot.is-active {
		background: var(--kaya-brown);
	}

	/* Continent destination cards — Figma Frame 123 + Frame 296, 1210:28208 / 1210:28210. */
	body.tax-kaya_continent .kaya-dest-cards {
		--kaya-groups-radius: 20px;
		--kaya-groups-tear-h: 15px;
		--kaya-groups-title-fs: 18px;
		--kaya-groups-text-fs: 16px;
		--kaya-groups-text-lh: 24px;
		--kaya-groups-copy-gap: 12px;
		--kaya-groups-cta-fs: 12px;
		--kaya-groups-cta-lh: 15px;
		--kaya-groups-cta-gap: 16px;
		--kaya-groups-cta-icon-w: 20px;
		--kaya-groups-cta-icon-h: 14px;
		--kaya-groups-cta-leaf-w: 21.078px;
		--kaya-groups-cta-leaf-h: 15.077px;
		--kaya-groups-cta-leaf-t: 0px;
		padding: 60px 20px 0;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__heading {
		width: 291px;
		max-width: 100%;
		margin: 0 auto 40px;
		font-size: 28px;
		line-height: 28px;
		letter-spacing: -0.84px;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__grid {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		width: 100%;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details {
		width: 100%;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-dest-card__hit {
		pointer-events: none;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__photo,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__photo,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within) .kaya-groups__photo {
		display: none;
		height: 0;
		aspect-ratio: auto;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details.is-open .kaya-groups__photo {
		display: block;
		height: 200px;
		aspect-ratio: auto;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details.is-open .kaya-groups__img {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__body,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__body,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within, .is-open) .kaya-groups__body {
		position: relative;
		height: auto;
		justify-content: flex-start;
		padding: 20px;
		border-radius: 20px;
		overflow: visible;
		background-color: var(--kaya-orange-light);
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details.is-open .kaya-groups__body {
		border-radius: 0 0 20px 20px;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-dest-card__toggle {
		display: block;
		position: absolute;
		z-index: 3;
		top: 0;
		right: 0;
		left: 0;
		height: 48px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details:not(.is-open) .kaya-dest-card__toggle {
		height: 100%;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-dest-card__chevron {
		position: absolute;
		top: 25px;
		right: 20px;
		width: 16px;
		height: 8px;
		overflow: visible;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-dest-card__chevron img {
		display: block;
		position: absolute;
		top: -1.06px;
		left: -1.06px;
		width: 18.1213px;
		height: 11.182px;
		max-width: none;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.is-open .kaya-dest-card__chevron {
		transform: rotate(180deg);
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__title {
		padding-right: 36px;
		font-size: 18px;
		line-height: 18px;
		letter-spacing: -0.54px;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details .kaya-groups__details,
	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details:is(:hover, :focus-within) .kaya-groups__details {
		display: none;
		height: 0;
		margin-top: 0;
		visibility: hidden;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__card.has-details.is-open .kaya-groups__details {
		display: flex;
		height: auto;
		margin-top: 12px;
		gap: 12px;
		overflow: visible;
		visibility: visible;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__text {
		display: block;
		-webkit-line-clamp: unset;
		line-clamp: unset;
		max-height: none;
		overflow: visible;
		font-size: 16px;
		line-height: 24px;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__cta {
		margin-top: 0;
		align-self: flex-start;
		gap: 16px;
	}

	body.tax-kaya_continent .kaya-dest-cards .kaya-groups__cta-label {
		font-size: 12px;
		line-height: 15px;
		white-space: nowrap;
	}
}

/* Dashed wave — Figma Frame 281 (749:3230), homepage-only between Program ideas and Why choose. */
.kaya-home-dash {
	--kaya-dash-h: min(16.936125rem, 14.1134375vw);
	--kaya-dash-pad: min(5rem, 4.1666666667vw);
	--kaya-dash-leaf-w: min(120.643125rem, 100.5463541667vw);
	--kaya-dash-leaf-h: min(6.936125rem, 5.7801041667vw);
	--kaya-dash-shift: min(-0.3125rem, -0.2604166667vw);

	box-sizing: border-box;
	width: 100%;
	height: var(--kaya-dash-h);
	padding: var(--kaya-dash-pad) 0;
	overflow: hidden;
	background-color: var(--kaya-orange-light);
	line-height: 0;
	pointer-events: none;
}

.kaya-home-dash img {
	display: block;
	width: var(--kaya-dash-leaf-w);
	height: var(--kaya-dash-leaf-h);
	max-width: none;
	margin-left: var(--kaya-dash-shift);
	object-fit: fill;
}

/* Mobile homepage — same wave, cropped to the 393px frame (nine dashes). */
@media only screen and (max-width: 999px) {
	.kaya-home-dash {
		height: auto;
		padding: 13px 0 58px;
	}

	.kaya-home-dash img {
		width: 1245px;
		height: auto;
		margin-left: -668px;
	}
}
