.uk-button-primary {
	background: var(--fy-color-action);
	color: var(--fy-color-action-contrast);
}

/* Team Grid */
.fy-team-grid {
	--fy-team-columns: 3;
	--fy-team-tablet-columns: 2;
	--fy-team-mobile-columns: 1;
	--fy-team-gap: var(--fy-space-5);
	color: var(--fy-color-text);
}

.fy-team-grid__container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-team-grid--container-wide .fy-team-grid__container { max-width: var(--fy-container-xl); }
.fy-team-grid--container-full .fy-team-grid__container { max-width: none; }

.fy-team-grid__header {
	margin-bottom: var(--fy-space-8);
	max-width: 48rem;
}

.fy-team-grid__eyebrow {
	color: var(--fy-color-primary);
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	letter-spacing: var(--fy-letter-spacing-label);
	margin: 0 0 var(--fy-space-3);
	text-transform: uppercase;
}

.fy-team-grid__title {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: var(--fy-font-weight-heading);
	line-height: var(--fy-line-height-title);
	margin: 0;
}

.fy-team-grid__intro {
	color: var(--fy-color-muted);
	font-size: var(--fy-font-size-lg);
	line-height: var(--fy-line-height);
	margin-top: var(--fy-space-4);
}

.fy-team-grid__intro > :last-child { margin-bottom: 0; }

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

.fy-team-grid--columns-2 { --fy-team-columns: 2; }
.fy-team-grid--columns-3 { --fy-team-columns: 3; }
.fy-team-grid--columns-4 { --fy-team-columns: 4; }
.fy-team-grid--tablet-1 { --fy-team-tablet-columns: 1; }
.fy-team-grid--tablet-2 { --fy-team-tablet-columns: 2; }
.fy-team-grid--tablet-3 { --fy-team-tablet-columns: 3; }
.fy-team-grid--mobile-1 { --fy-team-mobile-columns: 1; }
.fy-team-grid--mobile-2 { --fy-team-mobile-columns: 2; }
.fy-team-grid--gap-small { --fy-team-gap: var(--fy-space-3); }
.fy-team-grid--gap-medium { --fy-team-gap: var(--fy-space-5); }
.fy-team-grid--gap-large { --fy-team-gap: var(--fy-space-8); }

.fy-team-card {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	background: var(--4yt-card-bg);
	border: 1px solid var(--fy-color-border);
	border-radius: var(--fy-radius-lg);
	box-shadow: var(--fy-shadow-sm);
	color: var(--4yt-card-text);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: border-color var(--fy-transition-fast), box-shadow var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-team-card:hover,
.fy-team-card:focus-within,
.fy-team-card:focus {
	border-color: color-mix(in srgb, var(--fy-color-primary) 45%, var(--fy-color-border));
	box-shadow: var(--fy-shadow-md);
	outline: none;
	transform: translateY(-3px);
}

.fy-team-grid--card-dark .fy-team-card {
	--4yt-card-bg: var(--fy-color-secondary);
	--4yt-card-text: #eef3f6;
	--4yt-card-text-muted: #bdcbd5;
	--4yt-card-heading: #ffffff;
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: #ff9a52;
	border-color: rgb(255 255 255 / 0.18);
}

.fy-team-grid--card-outline .fy-team-card { background: transparent; box-shadow: none; }
.fy-team-grid--card-plain .fy-team-card { background: transparent; border-color: transparent; box-shadow: none; }

.fy-team-card__media,
.fy-team-card__placeholder {
	aspect-ratio: 4 / 5;
	background: var(--fy-color-surface-strong);
	overflow: hidden;
	position: relative;
}

.fy-team-grid--ratio-square .fy-team-card__media,
.fy-team-grid--ratio-square .fy-team-card__placeholder { aspect-ratio: 1; }
.fy-team-grid--ratio-landscape .fy-team-card__media,
.fy-team-grid--ratio-landscape .fy-team-card__placeholder { aspect-ratio: 4 / 3; }
.fy-team-grid--ratio-original .fy-team-card__media { aspect-ratio: auto; min-height: 15rem; }

.fy-team-card__image {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transition: opacity 420ms ease, transform 650ms ease;
	width: 100%;
}

.fy-team-card__image--primary { opacity: 1; }
.fy-team-card__image--hover { opacity: 0; transform: scale(1.035); }

@media (hover: hover) and (pointer: fine) {
	.fy-team-card--has-hover:hover .fy-team-card__image--primary,
	.fy-team-card--has-hover:focus-within .fy-team-card__image--primary,
	.fy-team-card--has-hover:focus .fy-team-card__image--primary { opacity: 0; transform: scale(1.025); }

	.fy-team-card--has-hover:hover .fy-team-card__image--hover,
	.fy-team-card--has-hover:focus-within .fy-team-card__image--hover,
	.fy-team-card--has-hover:focus .fy-team-card__image--hover { opacity: 1; transform: scale(1); }
}

.fy-team-card__placeholder {
	align-items: center;
	color: var(--fy-color-primary);
	display: flex;
	justify-content: center;
}

.fy-team-grid--card-dark .fy-team-card__placeholder { background: #252b35; color: var(--fy-color-accent); }
.fy-team-card__placeholder svg { height: 5rem; width: 5rem; }

.fy-team-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding: var(--fy-space-5);
}

.fy-team-card__heading { align-items: center; display: block; }
.fy-team-card--profile-icon .fy-team-card__heading {
	display: grid;
	gap: var(--fy-space-3);
	grid-template-columns: 2.65rem minmax(0, 1fr);
}
.fy-team-grid--align-center .fy-team-card__heading { justify-content: center; }

.fy-team-card__role-icon {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--4yt-card-icon) 34%, transparent);
	border-radius: 999px;
	color: var(--4yt-card-icon);
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.65rem;
	justify-content: center;
	width: 2.65rem;
}

.fy-team-card__role-icon svg { height: 1.35rem; width: 1.35rem; }

.fy-team-card h3 {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-card-title);
	line-height: var(--fy-line-height-title);
	margin: 0;
}

.fy-team-card__function {
	color: var(--fy-color-primary);
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-badge);
	margin: var(--fy-space-1) 0 0;
}

.fy-team-grid--card-dark .fy-team-card__function { color: var(--fy-color-accent); }

.fy-team-card__description {
	color: var(--4yt-card-text-muted);
	line-height: var(--fy-line-height);
	margin-top: var(--fy-space-4);
}

.fy-team-card__contacts { list-style: none; margin: var(--fy-space-5) 0 0; min-width: 0; padding: 0; width: 100%; }
.fy-team-card__contacts li + li { margin-top: var(--fy-space-2); }

.fy-team-card__contacts a {
	align-items: center;
	color: var(--4yt-card-link);
	display: grid;
	gap: var(--fy-space-3);
	grid-template-columns: 2.65rem minmax(0, 1fr);
	min-width: 0;
	text-decoration: none;
	width: 100%;
}

.fy-team-card__contacts a:hover { color: var(--fy-color-link-hover); }
.fy-team-grid--card-dark .fy-team-card__contacts a:hover { color: #ffb47d; }
.fy-team-card__contacts svg { color: var(--4yt-card-icon); height: 1.1rem; justify-self: center; width: 1.1rem; }
.fy-team-card__contacts span { min-width: 0; overflow-wrap: normal; word-break: normal; }
.fy-team-card__contacts a[href^="mailto:"] span { font-size: clamp(0.78rem, 1.05vw, 1rem); white-space: nowrap; }

.fy-team-card__profile {
	align-items: center;
	color: var(--4yt-card-link);
	display: inline-flex;
	font-weight: var(--fy-font-weight-button);
	gap: var(--fy-space-2);
	margin-top: auto;
	padding-top: var(--fy-space-5);
	text-decoration-color: var(--fy-color-accent);
	text-underline-offset: 0.2em;
}

.fy-team-card__profile span { color: var(--fy-color-accent); font-size: 1.3em; transition: transform var(--fy-transition-fast); }
.fy-team-card__profile:hover span { transform: translateX(3px); }
.fy-team-grid--align-center .fy-team-card { text-align: center; }
.fy-team-grid--align-center .fy-team-card__contacts a,
.fy-team-grid--align-center .fy-team-card__profile { justify-content: center; }
.fy-team-grid__empty { color: var(--fy-color-muted); }

@media (max-width: 959px) {
	.fy-team-grid__grid { grid-template-columns: repeat(var(--fy-team-tablet-columns), minmax(0, 1fr)); }
}

@media (max-width: 639px) {
	.fy-team-grid__grid { grid-template-columns: repeat(var(--fy-team-mobile-columns), minmax(0, 1fr)); }
	.fy-team-grid__header { margin-bottom: var(--fy-space-6); }
	.fy-team-grid__title { font-size: clamp(1.8rem, 9vw, 2.6rem); }
	.fy-team-card__body { padding: var(--fy-space-4); }
	.fy-team-card__contacts a {
		gap: var(--fy-space-2);
		grid-template-columns: 1.5rem minmax(0, 1fr);
	}
	.fy-team-card__contacts a[href^="mailto:"] span {
		overflow-wrap: normal;
		white-space: nowrap;
		word-break: normal;
	}
}

.uk-button-primary:hover,
.uk-button-primary:focus,
.uk-button-primary:active {
	background: var(--fy-color-action-hover);
	color: var(--fy-color-action-contrast);
}

.uk-button-secondary {
	background: var(--fy-color-secondary);
	color: #ffffff;
}

.uk-button-secondary:hover,
.uk-button-secondary:focus,
.uk-button-secondary:active {
	background: var(--fy-color-secondary-hover);
	color: #ffffff;
}

.uk-button-default {
	background: transparent;
	border-color: var(--fy-color-primary);
	color: var(--fy-color-link);
}

.uk-button-default:hover,
.uk-button-default:focus,
.uk-button-default:active {
	background: var(--fy-color-surface-soft);
	border-color: var(--fy-color-primary-hover);
	color: var(--fy-color-secondary);
}

.uk-link,
.uk-link-toggle:hover .uk-link,
.uk-article a:not(.uk-button) {
	color: var(--fy-color-link);
	text-decoration-color: var(--fy-color-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.22em;
}

.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-article a:not(.uk-button):hover {
	color: var(--fy-color-link-hover);
	text-decoration-color: var(--fy-color-accent-hover);
}

.uk-button:focus-visible,
.fy-button:focus-visible,
.fy-booking-button:focus-visible,
.uk-link:focus-visible,
.uk-article a:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--fy-color-accent) 58%, transparent);
	outline-offset: 3px;
}

.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded="true"],
.uk-navbar-nav > li.uk-active > a {
	color: var(--fy-color-accent);
}

.fy-container {
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-container--wide {
	max-width: var(--fy-container-xl);
}

.fy-section {
	margin-block: var(--fy-space-12);
}

.fy-section--tight {
	margin-block: var(--fy-space-8);
}

.fy-section--dark {
	background: var(--fy-color-bg-dark);
	color: #eef4f7;
}

.fy-section--warm {
	background: var(--fy-color-surface-soft);
}

.fy-card,
.fy-trip-card,
.fy-empty {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 86%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--4yt-card-bg);
	border: 1px solid var(--4yt-card-border);
	border-radius: var(--fy-radius-lg);
	box-shadow: var(--fy-shadow-sm);
	color: var(--4yt-card-text);
	min-width: 0;
	transition: border-color var(--fy-transition-fast), box-shadow var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-card:hover,
.fy-trip-card:hover {
	border-color: color-mix(in srgb, var(--fy-color-primary) 28%, var(--fy-color-border));
	box-shadow: var(--fy-shadow-md);
	transform: translateY(-2px);
}

.fy-card {
	padding: var(--fy-space-5);
}

.fy-card-header,
.fy-card-body,
.fy-card-footer {
	padding: var(--fy-space-5);
}

.fy-empty {
	padding: var(--fy-space-8);
	text-align: center;
}

.fy-empty h3,
.fy-empty p {
	margin: 0;
}

.fy-empty h3 {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	line-height: var(--fy-line-height-tight);
}

.fy-empty p {
	color: var(--4yt-card-text-muted);
	margin-top: var(--fy-space-2);
}

.fy-trip-grid {
	display: grid;
	gap: var(--fy-space-5);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	width: 100%;
}

.fy-trip-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.fy-trips-grid__card-link {
	border-radius: inherit;
	inset: 0;
	position: absolute;
	z-index: 2;
}

.fy-trips-grid__card-link:focus-visible {
	outline: 3px solid var(--4yt-card-link, var(--fy-color-link));
	outline-offset: -3px;
}

.fy-trips-grid__media-link,
.fy-trips-grid__title-link {
	color: inherit;
	position: relative;
	text-decoration: none;
	z-index: 3;
}

.fy-trips-grid__media-link {
	display: block;
}

.fy-trips-grid__button-zone,
.fy-trips-grid__actions,
.fy-trips-grid__actions a,
.fy-trips-grid__actions button {
	position: relative;
	z-index: 4;
}

.fy-badge,
.fy-status {
	align-items: center;
	background: var(--fy-color-badge);
	border: 1px solid var(--fy-color-badge);
	border-radius: 999px;
	color: var(--fy-color-badge-contrast);
	display: inline-flex;
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	letter-spacing: 0;
	line-height: 1;
	padding: 0.38rem 0.68rem;
	white-space: nowrap;
}

.fy-status--free,
.fy-status--success,
.fy-badge--success {
	background: var(--fy-color-success-soft);
	border-color: color-mix(in srgb, var(--fy-color-success) 35%, var(--fy-color-border));
	color: var(--fy-color-success);
}

.fy-status--inactive,
.fy-status--warning,
.fy-badge--warning {
	background: var(--fy-color-warning-soft);
	border-color: color-mix(in srgb, var(--fy-color-warning) 35%, var(--fy-color-border));
	color: var(--fy-color-warning);
}

.fy-status--sold-out,
.fy-status--danger,
.fy-badge--danger {
	background: var(--fy-color-danger-soft);
	border-color: color-mix(in srgb, var(--fy-color-danger) 38%, var(--fy-color-border));
	color: var(--fy-color-danger);
}

.fy-badge--info {
	background: var(--fy-color-info-soft);
	border-color: color-mix(in srgb, var(--fy-color-info) 35%, var(--fy-color-border));
	color: var(--fy-color-info);
}

.fy-badge--neutral {
	background: var(--fy-color-violet-soft);
	border-color: color-mix(in srgb, var(--fy-color-violet) 35%, var(--fy-color-border));
	color: var(--fy-color-violet);
}

.fy-button,
.fy-booking-button {
	align-items: center;
	background: var(--fy-color-action);
	border: 1px solid var(--fy-color-action);
	border-radius: var(--fy-radius-md);
	box-shadow: 0 8px 18px rgb(95 112 128 / 0.22);
	color: var(--fy-color-action-contrast);
	display: inline-flex;
	font-weight: 500;
	gap: var(--fy-space-2);
	justify-content: center;
	min-height: var(--fy-button-height);
	padding-inline: var(--fy-button-padding-x);
	text-decoration: none;
	transition: background-color var(--fy-transition-fast), border-color var(--fy-transition-fast), box-shadow var(--fy-transition-fast), color var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-button:hover,
.fy-booking-button:hover {
	background: var(--fy-color-action-hover);
	border-color: var(--fy-color-action-hover);
	box-shadow: 0 12px 24px rgb(77 93 108 / 0.28);
	color: var(--fy-color-action-contrast);
	transform: translateY(-1px);
}

.fy-button--secondary {
	background: var(--fy-color-secondary);
	border-color: var(--fy-color-secondary);
	box-shadow: 0 10px 22px rgb(46 52 64 / 0.18);
	color: #ffffff;
}

.fy-button--secondary:hover {
	background: var(--fy-color-secondary-hover);
	border-color: var(--fy-color-secondary-hover);
	color: #ffffff;
}

.fy-button--ghost {
	background: transparent;
	border-color: color-mix(in srgb, var(--4yt-card-link, var(--fy-color-secondary)) 24%, var(--4yt-card-border, var(--fy-color-border)));
	box-shadow: none;
	color: var(--4yt-card-link, var(--fy-color-secondary));
}

.fy-button--ghost:hover {
	background: color-mix(in srgb, var(--4yt-card-link, var(--fy-color-secondary)) 9%, transparent);
	color: var(--4yt-card-link, var(--fy-color-secondary));
}

.fy-button--disabled,
.fy-button--disabled:hover {
	background: color-mix(in srgb, var(--4yt-card-text, var(--fy-color-text)) 7%, transparent);
	border-color: var(--4yt-card-border, var(--fy-color-border));
	box-shadow: none;
	color: var(--4yt-card-text-muted, var(--fy-color-muted));
	cursor: not-allowed;
	transform: none;
}

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

.fy-meta-grid > *,
.fy-trips-grid__meta-item {
	background: color-mix(in srgb, var(--4yt-card-text, var(--fy-color-text)) 6%, transparent);
	border: 1px solid var(--4yt-card-border, var(--fy-color-border));
	border-radius: var(--fy-radius-md);
	min-width: 0;
	padding: var(--fy-space-2) var(--fy-space-3);
}

.fy-icon-badge {
	align-items: center;
	background: var(--4yt-card-accent, var(--fy-color-primary));
	border-radius: 999px;
	color: var(--fy-color-primary-contrast);
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	width: 2.75rem;
}

.fy-hero {
	--fy-hero-min-height: 680px;
	--fy-hero-overlay-color: rgb(46 52 64 / 0.62);
	--4yt-card-text: currentColor;
	--4yt-card-text-muted: color-mix(in srgb, currentColor 82%, transparent);
	--4yt-card-heading: currentColor;
	--4yt-card-accent: var(--fy-color-primary);
	align-items: stretch;
	background: var(--fy-color-bg-dark);
	color: #ffffff;
	display: flex;
	isolation: isolate;
	min-height: var(--fy-hero-min-height);
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fy-hero--height-small {
	--fy-hero-min-height: 420px;
}

.fy-hero--height-medium {
	--fy-hero-min-height: 560px;
}

.fy-hero--height-large {
	--fy-hero-min-height: 700px;
}

.fy-hero--height-viewport {
	--fy-hero-min-height: min(100vh, 880px);
}

.fy-hero--height-custom {
	--fy-hero-min-height: var(--fy-hero-custom-height, 640px);
}

.fy-hero__media {
	background-image: var(--fy-hero-bg-image);
	background-position: center;
	background-size: cover;
	inset: 0;
	position: absolute;
	z-index: 0;
}

.fy-hero__media picture,
.fy-hero__media img {
	display: block;
	height: 100%;
	width: 100%;
}

.fy-hero__media img {
	object-fit: cover;
	object-position: center;
}

.fy-hero--image-left-center .fy-hero__media {
	background-position: left center;
}

.fy-hero--image-left-center .fy-hero__media img {
	object-position: left center;
}

.fy-hero--image-right-center .fy-hero__media {
	background-position: right center;
}

.fy-hero--image-right-center .fy-hero__media img {
	object-position: right center;
}

.fy-hero--image-center-top .fy-hero__media {
	background-position: center top;
}

.fy-hero--image-center-top .fy-hero__media img {
	object-position: center top;
}

.fy-hero--image-center-bottom .fy-hero__media {
	background-position: center bottom;
}

.fy-hero--image-center-bottom .fy-hero__media img {
	object-position: center bottom;
}

.fy-hero__overlay {
	background: var(--fy-hero-overlay-color);
	inset: 0;
	opacity: 1;
	position: absolute;
	z-index: 1;
}

.fy-hero--overlay-none .fy-hero__overlay {
	opacity: 0;
}

.fy-hero--overlay-light .fy-hero__overlay {
	opacity: 0.32;
}

.fy-hero--overlay-medium .fy-hero__overlay {
	opacity: 0.62;
}

.fy-hero--overlay-strong .fy-hero__overlay {
	opacity: 0.78;
}

.fy-hero--overlay-gradient-left .fy-hero__overlay {
	background: linear-gradient(90deg, var(--fy-hero-overlay-color) 0%, rgb(46 52 64 / 0.42) 45%, transparent 100%);
}

.fy-hero--overlay-gradient-right .fy-hero__overlay {
	background: linear-gradient(270deg, var(--fy-hero-overlay-color) 0%, rgb(46 52 64 / 0.42) 45%, transparent 100%);
}

.fy-hero--overlay-gradient-bottom .fy-hero__overlay {
	background: linear-gradient(0deg, var(--fy-hero-overlay-color) 0%, rgb(46 52 64 / 0.42) 42%, transparent 100%);
}

.fy-hero--overlay-color-black {
	--fy-hero-overlay-color: rgb(0 0 0 / 0.68);
}

.fy-hero--overlay-color-navy {
	--fy-hero-overlay-color: rgb(46 52 64 / 0.68);
}

.fy-hero__container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	position: relative;
	width: 100%;
	z-index: 2;
}

.fy-hero--container-wide .fy-hero__container {
	max-width: var(--fy-container-xl);
}

.fy-hero--container-full .fy-hero__container {
	max-width: none;
}

.fy-hero__layout {
	align-items: center;
	display: grid;
	gap: var(--fy-space-8);
	grid-template-columns: minmax(0, 1fr);
	height: 100%;
	min-height: var(--fy-hero-min-height);
	padding-block: var(--fy-space-12);
}

.fy-hero--padding-small .fy-hero__layout {
	padding-block: var(--fy-space-8);
}

.fy-hero--padding-medium .fy-hero__layout {
	padding-block: var(--fy-space-12);
}

.fy-hero--padding-large .fy-hero__layout {
	padding-block: var(--fy-space-16);
}

.fy-hero--valign-top .fy-hero__layout {
	align-items: start;
}

.fy-hero--valign-middle .fy-hero__layout {
	align-items: center;
}

.fy-hero--valign-bottom .fy-hero__layout {
	align-items: end;
}

.fy-hero__content {
	border-radius: var(--fy-radius-xl);
	box-sizing: border-box;
	max-width: 44rem;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.fy-hero--content-narrow .fy-hero__content {
	max-width: 34rem;
}

.fy-hero--content-medium .fy-hero__content {
	max-width: 44rem;
}

.fy-hero--content-wide .fy-hero__content {
	max-width: 58rem;
}

.fy-hero--align-center .fy-hero__content {
	margin-inline: auto;
}

.fy-hero--align-right .fy-hero__content {
	margin-left: auto;
}

.fy-hero--text-center .fy-hero__content {
	text-align: center;
}

.fy-hero--text-right .fy-hero__content {
	text-align: right;
}

.fy-hero--surface-glass .fy-hero__content,
.fy-hero--surface-light .fy-hero__content,
.fy-hero--surface-dark .fy-hero__content,
.fy-hero--surface-outline .fy-hero__content {
	padding: var(--fy-space-6);
}

.fy-hero--surface-glass .fy-hero__content {
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.24);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.1);
	--4yt-card-callout-text: #edf2f7;
	backdrop-filter: blur(16px);
	background: rgb(255 255 255 / 0.16);
	border: 1px solid rgb(255 255 255 / 0.24);
	box-shadow: var(--fy-shadow-md);
}

.fy-hero--surface-light .fy-hero__content {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 86%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--fy-color-surface);
	box-shadow: var(--fy-shadow-md);
	color: var(--4yt-card-text);
}

.fy-hero--surface-dark .fy-hero__content {
	--4yt-card-bg: var(--fy-color-bg-dark);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.08);
	--4yt-card-callout-text: #edf2f7;
	background: rgb(46 52 64 / 0.9);
	box-shadow: var(--fy-shadow-md);
	color: var(--4yt-card-text);
}

.fy-hero--surface-outline .fy-hero__content {
	border: 1px solid rgb(255 255 255 / 0.36);
}

.fy-hero__eyebrow {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-size: var(--fy-font-size-xs);
	font-weight: 500;
	letter-spacing: var(--fy-letter-spacing-label);
	margin: 0 0 var(--fy-space-3);
	text-transform: uppercase;
}

.fy-hero__title {
	color: var(--4yt-card-heading, currentColor);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2.2rem, 4.6vw, 4.5rem);
	font-weight: var(--fy-font-weight-hero);
	letter-spacing: 0;
	line-height: var(--fy-line-height-hero);
	margin: 0;
	max-width: 12ch;
	overflow-wrap: normal;
	word-break: normal;
}

.fy-hero--title-medium .fy-hero__title {
	font-size: clamp(1.95rem, 3.2vw, 3rem);
}

.fy-hero--title-large .fy-hero__title {
	font-size: clamp(2.15rem, 4.1vw, 4rem);
}

.fy-hero--title-xlarge .fy-hero__title {
	font-size: clamp(2.35rem, 4.8vw, 4.5rem);
}

.fy-hero--title-display .fy-hero__title {
	font-size: clamp(2.55rem, 5.6vw, 5rem);
}

.fy-hero--title-width-narrow .fy-hero__title {
	max-width: 9ch;
}

.fy-hero--title-width-medium .fy-hero__title {
	max-width: 12ch;
}

.fy-hero--title-width-wide .fy-hero__title {
	max-width: 16ch;
}

.fy-hero--text-center .fy-hero__title {
	margin-inline: auto;
}

.fy-hero--text-right .fy-hero__title {
	margin-left: auto;
}

.fy-hero__text {
	color: var(--4yt-card-text-muted, color-mix(in srgb, currentColor 82%, transparent));
	font-size: var(--fy-font-size-lg);
	line-height: 1.6;
	margin-top: var(--fy-space-5);
	max-width: 42rem;
}

.fy-hero--text-center .fy-hero__text {
	margin-inline: auto;
}

.fy-hero--text-right .fy-hero__text {
	margin-left: auto;
}

.fy-hero--color-dark,
.fy-hero--surface-light {
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	color: var(--fy-color-text);
}

.fy-hero--color-light,
.fy-hero--surface-dark,
.fy-hero--surface-glass {
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	color: #ffffff;
}

.fy-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-3);
	margin-top: var(--fy-space-6);
}

.fy-hero--buttons-center .fy-hero__actions {
	justify-content: center;
}

.fy-hero--buttons-right .fy-hero__actions {
	justify-content: flex-end;
}

.fy-button--gold,
.fy-button--primary {
	background: var(--fy-color-action);
	border-color: var(--fy-color-action);
	color: var(--fy-color-action-contrast);
}

.fy-button--navy {
	background: var(--fy-color-secondary);
	border-color: var(--fy-color-secondary);
	box-shadow: 0 10px 22px rgb(46 52 64 / 0.18);
	color: #ffffff;
}

.fy-button--navy:hover {
	background: var(--fy-color-secondary-hover);
	border-color: var(--fy-color-secondary-hover);
	color: #ffffff;
}

.fy-button--outline {
	background: transparent;
	border-color: currentColor;
	box-shadow: none;
	color: currentColor;
}

.fy-button--text {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: currentColor;
	min-height: auto;
	padding-inline: 0;
}

.fy-button--small {
	min-height: var(--fy-button-height-sm);
	padding-inline: var(--fy-space-4);
}

.fy-button--large {
	min-height: var(--fy-button-height);
	padding-inline: var(--fy-space-6);
}

.fy-hero__foreground {
	min-width: 0;
	position: relative;
	z-index: 1;
}

.fy-hero__foreground img {
	border-radius: var(--fy-radius-xl);
	box-shadow: var(--fy-shadow-lg);
	display: block;
	height: auto;
	max-height: min(68vh, 620px);
	object-fit: cover;
	width: 100%;
}

.fy-hero--split .fy-hero__layout {
	grid-template-columns: minmax(0, 0.92fr) minmax(260px, 0.78fr);
}

.fy-hero--split .fy-hero__content {
	max-width: 46rem;
}

.fy-hero--centered .fy-hero__content {
	margin-inline: auto;
	text-align: center;
}

.fy-hero--centered .fy-hero__actions {
	justify-content: center;
}

.fy-hero--image-focus .fy-hero__content {
	max-width: 60rem;
}

.fy-hero--minimal {
	--fy-hero-min-height: 360px;
	background: var(--fy-color-surface-soft);
}

.fy-hero--minimal .fy-hero__overlay {
	display: none;
}

.fy-hero__slideshow,
.fy-hero__slides,
.fy-hero__slide,
.fy-hero__video {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.fy-hero__slide {
	display: grid;
	min-height: var(--fy-hero-min-height);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--fy-hero-slide-duration, 600ms) ease, transform var(--fy-hero-slide-duration, 600ms) ease;
}

.fy-hero__slide.is-active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

.fy-hero--slideshow-slide .fy-hero__slide {
	transform: translateX(5%);
}

.fy-hero--slideshow-slide .fy-hero__slide.is-active {
	transform: translateX(0);
}

.fy-hero__slide-media,
.fy-hero__slide-media img,
.fy-hero__video-poster,
.fy-hero__video-poster img,
.fy-hero__video-el,
.fy-hero__video-frame {
	display: block;
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.fy-hero__slide-media img,
.fy-hero__video-poster img,
.fy-hero__video-el,
.fy-hero__video-frame {
	border: 0;
	object-fit: cover;
	object-position: center;
}

.fy-hero__slide--image-left-center .fy-hero__slide-media img {
	object-position: left center;
}

.fy-hero__slide--image-right-center .fy-hero__slide-media img {
	object-position: right center;
}

.fy-hero__slide--image-center-top .fy-hero__slide-media img {
	object-position: center top;
}

.fy-hero__slide--image-center-bottom .fy-hero__slide-media img {
	object-position: center bottom;
}

.fy-hero__slide-overlay {
	background: var(--fy-hero-slide-overlay-color, var(--fy-hero-overlay-color));
	inset: 0;
	opacity: 0.62;
	position: absolute;
	z-index: 1;
}

.fy-hero__slide--overlay-none .fy-hero__slide-overlay {
	opacity: 0;
}

.fy-hero__slide--overlay-light .fy-hero__slide-overlay {
	opacity: 0.34;
}

.fy-hero__slide--overlay-strong .fy-hero__slide-overlay {
	opacity: 0.78;
}

.fy-hero__slide .fy-hero__container {
	z-index: 2;
}

.fy-hero__slide--align-center .fy-hero__content {
	margin-inline: auto;
	text-align: center;
}

.fy-hero__slide--align-right .fy-hero__content {
	margin-left: auto;
	text-align: right;
}

.fy-hero__slide--valign-top .fy-hero__layout {
	align-items: start;
}

.fy-hero__slide--valign-middle .fy-hero__layout {
	align-items: center;
}

.fy-hero__slide--valign-bottom .fy-hero__layout {
	align-items: end;
}

.fy-hero--kenburns .fy-hero__slide.is-active .fy-hero__slide-media img {
	animation: fy-hero-kenburns 6s ease both;
}

.fy-hero--content-animate .fy-hero__slide.is-active .fy-hero__content {
	animation: fy-hero-content-fade 0.55s ease both;
}

.fy-hero__nav {
	align-items: center;
	background: rgb(255 255 255 / 0.88);
	border: 1px solid rgb(255 255 255 / 0.42);
	border-radius: 999px;
	box-shadow: var(--fy-shadow-md);
	color: var(--fy-color-secondary);
	cursor: pointer;
	display: inline-flex;
	font-size: 2rem;
	height: 3rem;
	justify-content: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3rem;
	z-index: 4;
}

.fy-hero__nav:focus-visible,
.fy-hero__dots button:focus-visible,
.fy-hero__play:focus-visible {
	outline: 3px solid var(--fy-color-primary);
	outline-offset: 3px;
}

.fy-hero__nav--prev {
	left: var(--fy-space-5);
}

.fy-hero__nav--next {
	right: var(--fy-space-5);
}

.fy-hero__dots {
	bottom: var(--fy-space-5);
	display: flex;
	gap: var(--fy-space-2);
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	z-index: 4;
}

.fy-hero__dots button {
	background: rgb(255 255 255 / 0.62);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 0.72rem;
	padding: 0;
	width: 0.72rem;
}

.fy-hero__dots button[aria-selected="true"] {
	background: var(--fy-color-primary);
	width: 2rem;
}

.fy-hero__progress {
	background: var(--fy-color-primary);
	bottom: 0;
	height: 3px;
	left: 0;
	position: absolute;
	transform-origin: left center;
	width: 100%;
	z-index: 4;
}

.fy-hero--media-slideshow .fy-hero__progress {
	animation: fy-hero-progress var(--fy-hero-progress-duration, 6000ms) linear infinite;
}

.fy-hero__video-poster {
	z-index: 0;
}

.fy-hero__video-el,
.fy-hero__video-frame {
	z-index: 1;
}

.fy-hero__play {
	align-items: center;
	background: rgb(255 255 255 / 0.92);
	border: 1px solid rgb(255 255 255 / 0.42);
	border-radius: 999px;
	box-shadow: var(--fy-shadow-lg);
	color: var(--fy-color-secondary);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.6rem;
	height: 4.5rem;
	justify-content: center;
	left: 50%;
	padding-left: 0.18rem;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 4.5rem;
	z-index: 4;
}

.fy-hero.is-video-playing .fy-hero__play {
	opacity: 0;
	pointer-events: none;
}

@keyframes fy-hero-kenburns {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.06);
	}
}

@keyframes fy-hero-content-fade {
	from {
		opacity: 0;
		transform: translateY(12px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fy-hero-progress {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fy-hero__slide,
	.fy-hero--kenburns .fy-hero__slide.is-active .fy-hero__slide-media img,
	.fy-hero--content-animate .fy-hero__slide.is-active .fy-hero__content,
	.fy-hero--media-slideshow .fy-hero__progress {
		animation: none;
		transition: none;
	}
}

@media (max-width: 959px) {
	.fy-hero {
		--fy-hero-min-height: 520px;
	}

	.fy-hero--height-small {
		--fy-hero-min-height: 360px;
	}

	.fy-hero--height-viewport {
		--fy-hero-min-height: 720px;
	}

	.fy-hero__layout,
	.fy-hero--split .fy-hero__layout {
		gap: var(--fy-space-6);
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-hero__foreground {
		order: 2;
	}

	.fy-hero__nav {
		height: 2.75rem;
		width: 2.75rem;
	}
}

@media (max-width: 767px) {
	.fy-hero {
		--fy-hero-min-height: 460px;
	}

	.fy-hero__slide--mobile-image-left-center .fy-hero__slide-media img {
		object-position: left center;
	}

	.fy-hero__slide--mobile-image-right-center .fy-hero__slide-media img {
		object-position: right center;
	}

	.fy-hero__slide--mobile-image-center-top .fy-hero__slide-media img {
		object-position: center top;
	}

	.fy-hero__slide--mobile-image-center-bottom .fy-hero__slide-media img {
		object-position: center bottom;
	}

	.fy-hero__media {
		background-image: var(--fy-hero-mobile-bg-image, var(--fy-hero-bg-image));
	}

	.fy-hero__layout {
		padding-block: var(--fy-space-8);
	}

	.fy-hero--surface-glass .fy-hero__content,
	.fy-hero--surface-light .fy-hero__content,
	.fy-hero--surface-dark .fy-hero__content,
	.fy-hero--surface-outline .fy-hero__content {
		padding: var(--fy-space-5);
	}

	.fy-hero__title,
	.fy-hero--title-display .fy-hero__title,
	.fy-hero--title-xlarge .fy-hero__title {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.fy-hero__text {
		font-size: var(--fy-font-size-base);
	}

	.fy-hero--mobile-buttons-stacked .fy-hero__actions,
	.fy-hero--mobile-buttons-full .fy-hero__actions {
		flex-direction: column;
	}

	.fy-hero--mobile-buttons-full .fy-hero__button {
		width: 100%;
	}

	.fy-hero__nav {
		display: none;
	}

	.fy-hero__dots {
		bottom: var(--fy-space-3);
	}

	.fy-hero__play {
		height: 3.75rem;
		width: 3.75rem;
	}

	.fy-hero__video[data-fy-video-mobile="0"] .fy-hero__video-el,
	.fy-hero__video[data-fy-video-mobile="0"] .fy-hero__video-frame {
		display: none;
	}
}

.fy-feature-bar {
	background: var(--fy-color-bg-dark);
	color: #ffffff;
	display: grid;
	gap: var(--fy-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	padding: var(--fy-space-5);
}

.fy-feature-bar .fy-icon-badge {
	background: transparent;
	border: 1px solid rgb(95 112 128 / 0.45);
	color: var(--fy-color-primary);
}

.fy-image-content {
	--fy-image-content-gap: var(--fy-space-8);
	background: transparent;
	box-sizing: border-box;
	color: var(--fy-color-text);
	min-width: 0;
	overflow: hidden;
	padding-block: var(--fy-space-12);
	width: 100%;
}

.fy-image-content--padding-small {
	padding-block: var(--fy-space-8);
}

.fy-image-content--padding-medium {
	padding-block: var(--fy-space-12);
}

.fy-image-content--padding-large {
	padding-block: var(--fy-space-16);
}

.fy-image-content__container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-image-content--container-wide .fy-image-content__container {
	max-width: var(--fy-container-xl);
}

.fy-image-content--container-full .fy-image-content__container {
	max-width: none;
}

.fy-image-content__layout {
	align-items: center;
	display: grid;
	gap: var(--fy-image-content-gap);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-width: 0;
}

.fy-image-content--gap-small {
	--fy-image-content-gap: var(--fy-space-5);
}

.fy-image-content--gap-medium {
	--fy-image-content-gap: var(--fy-space-8);
}

.fy-image-content--gap-large {
	--fy-image-content-gap: var(--fy-space-12);
}

.fy-image-content--columns-40-60 .fy-image-content__layout {
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.fy-image-content--columns-60-40 .fy-image-content__layout {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}

.fy-image-content--columns-33-67 .fy-image-content__layout {
	grid-template-columns: minmax(0, 0.67fr) minmax(0, 1.33fr);
}

.fy-image-content--columns-67-33 .fy-image-content__layout {
	grid-template-columns: minmax(0, 1.33fr) minmax(0, 0.67fr);
}

.fy-image-content--image-right .fy-image-content__media,
.fy-image-content--reverse .fy-image-content__media,
.fy-image-content--compact .fy-image-content__media {
	order: 2;
}

.fy-image-content--image-right .fy-image-content__content,
.fy-image-content--reverse .fy-image-content__content,
.fy-image-content--compact .fy-image-content__content {
	order: 1;
}

.fy-image-content--image-top .fy-image-content__layout,
.fy-image-content--image-bottom .fy-image-content__layout {
	grid-template-columns: minmax(0, 1fr);
}

.fy-image-content--image-bottom .fy-image-content__media {
	order: 2;
}

.fy-image-content--valign-top .fy-image-content__layout {
	align-items: start;
}

.fy-image-content--valign-middle .fy-image-content__layout {
	align-items: center;
}

.fy-image-content--valign-bottom .fy-image-content__layout {
	align-items: end;
}

.fy-image-content__media {
	aspect-ratio: 4 / 3;
	background: var(--fy-color-surface-soft);
	border-radius: var(--fy-radius-xl);
	box-shadow: var(--fy-shadow-md);
	min-height: 0;
	min-width: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fy-image-content__media picture,
.fy-image-content__media img {
	display: block;
	height: 100%;
	width: 100%;
}

.fy-image-content__image {
	object-fit: cover;
	object-position: center;
	transition: transform 260ms ease;
}

.fy-image-content:hover .fy-image-content__image {
	transform: scale(1.025);
}

.fy-image-content--ratio-landscape .fy-image-content__media {
	aspect-ratio: 4 / 3;
}

.fy-image-content--ratio-wide .fy-image-content__media {
	aspect-ratio: 16 / 9;
}

.fy-image-content--ratio-portrait .fy-image-content__media {
	aspect-ratio: 3 / 4;
}

.fy-image-content--ratio-square .fy-image-content__media {
	aspect-ratio: 1 / 1;
}

.fy-image-content--ratio-original .fy-image-content__media {
	aspect-ratio: auto;
}

.fy-image-content--height-small .fy-image-content__media {
	max-height: 320px;
}

.fy-image-content--height-medium .fy-image-content__media {
	max-height: 480px;
}

.fy-image-content--height-large .fy-image-content__media {
	max-height: 640px;
}

.fy-image-content--height-auto .fy-image-content__media {
	max-height: none;
}

.fy-image-content--fit-contain .fy-image-content__image {
	object-fit: contain;
}

.fy-image-content--image-position-left .fy-image-content__image {
	object-position: left center;
}

.fy-image-content--image-position-right .fy-image-content__image {
	object-position: right center;
}

.fy-image-content--image-position-top .fy-image-content__image {
	object-position: center top;
}

.fy-image-content--image-position-bottom .fy-image-content__image {
	object-position: center bottom;
}

.fy-image-content__media--empty {
	align-items: center;
	display: flex;
	justify-content: center;
}

.fy-image-content__media--empty span {
	border: 2px solid rgb(12 41 64 / 0.16);
	border-radius: var(--fy-radius-lg);
	display: block;
	height: 34%;
	position: relative;
	width: 38%;
}

.fy-image-content__media--empty span::before,
.fy-image-content__media--empty span::after {
	background: rgb(12 41 64 / 0.16);
	content: "";
	position: absolute;
}

.fy-image-content__media--empty span::before {
	border-radius: 50%;
	height: 18%;
	right: 18%;
	top: 18%;
	width: 18%;
}

.fy-image-content__media--empty span::after {
	clip-path: polygon(0 100%, 36% 46%, 56% 70%, 72% 52%, 100% 100%);
	height: 52%;
	inset: auto 10% 12%;
}

.fy-image-content__content {
	border-radius: var(--fy-radius-xl);
	box-sizing: border-box;
	min-width: 0;
	position: relative;
}

.fy-image-content--surface-light .fy-image-content__content,
.fy-image-content--surface-paper .fy-image-content__content,
.fy-image-content--surface-navy .fy-image-content__content,
.fy-image-content--surface-glass .fy-image-content__content,
.fy-image-content--surface-outline .fy-image-content__content {
	padding: var(--fy-space-6);
}

.fy-image-content--surface-light .fy-image-content__content {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 86%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--fy-color-surface);
	box-shadow: var(--fy-shadow-sm);
	color: var(--4yt-card-text);
}

.fy-image-content--surface-paper .fy-image-content__content {
	--4yt-card-bg: var(--fy-color-surface-soft);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-border));
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--fy-color-surface-soft);
	box-shadow: var(--fy-shadow-md);
	color: var(--4yt-card-text);
}

.fy-image-content--surface-navy .fy-image-content__content {
	--4yt-card-bg: var(--fy-color-bg-dark);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.08);
	--4yt-card-callout-text: #edf2f7;
	background: var(--fy-color-bg-dark);
	box-shadow: var(--fy-shadow-md);
	color: var(--4yt-card-text);
}

.fy-image-content--surface-glass .fy-image-content__content {
	backdrop-filter: blur(16px);
	background: rgb(255 255 255 / 0.7);
	border: 1px solid rgb(255 255 255 / 0.42);
	box-shadow: var(--fy-shadow-md);
}

.fy-image-content--surface-outline .fy-image-content__content {
	border: 1px solid var(--fy-color-border);
}

.fy-image-content--color-light,
.fy-image-content--surface-navy {
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	color: #fff;
}

.fy-image-content--color-dark {
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	color: var(--fy-color-text);
}

.fy-image-content__badge {
	border: 1px solid transparent;
	border-radius: var(--fy-radius-pill);
	display: inline-flex;
	font-size: var(--fy-font-size-xs);
	font-weight: 500;
	margin-bottom: var(--fy-space-4);
	padding: 0.35rem 0.7rem;
	text-transform: uppercase;
}

.fy-image-content--badge-gold .fy-image-content__badge {
	background: var(--fy-color-badge);
	border-color: var(--fy-color-badge);
	color: var(--fy-color-badge-contrast);
}

.fy-image-content--badge-blue .fy-image-content__badge {
	background: rgb(38 109 211 / 0.12);
	border-color: rgb(38 109 211 / 0.24);
	color: var(--fy-color-info);
}

.fy-image-content--badge-light .fy-image-content__badge {
	background: rgb(255 255 255 / 0.82);
	color: var(--fy-color-text);
}

.fy-image-content--badge-outline .fy-image-content__badge {
	background: transparent;
	border-color: currentColor;
	color: currentColor;
}

.fy-image-content__eyebrow {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-meta);
	letter-spacing: var(--fy-letter-spacing-label);
	margin: 0 0 var(--fy-space-3);
	text-transform: uppercase;
}

.fy-image-content__title {
	color: var(--4yt-card-heading, currentColor);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 3.8vw, 4rem);
	font-weight: var(--fy-font-weight-heading);
	line-height: var(--fy-line-height-title);
	margin: 0;
	max-width: 13ch;
	overflow-wrap: normal;
	word-break: normal;
}

.fy-image-content--title-medium .fy-image-content__title {
	font-size: clamp(1.85rem, 3vw, 3rem);
}

.fy-image-content--title-large .fy-image-content__title {
	font-size: clamp(2rem, 3.8vw, 4rem);
}

.fy-image-content--title-xlarge .fy-image-content__title {
	font-size: clamp(2.35rem, 5vw, 5rem);
}

.fy-image-content__text {
	color: var(--4yt-card-text-muted, color-mix(in srgb, currentColor 78%, transparent));
	font-size: var(--fy-font-size-lg);
	font-weight: 400;
	line-height: 1.65;
	margin-top: var(--fy-space-5);
	max-width: 42rem;
}

.fy-image-content--text-width-narrow .fy-image-content__text,
.fy-image-content--text-width-narrow .fy-image-content__list {
	max-width: 30rem;
}

.fy-image-content--text-width-medium .fy-image-content__text,
.fy-image-content--text-width-medium .fy-image-content__list {
	max-width: 42rem;
}

.fy-image-content--text-width-wide .fy-image-content__text,
.fy-image-content--text-width-wide .fy-image-content__list {
	max-width: 54rem;
}

.fy-image-content__list {
	display: grid;
	gap: var(--fy-space-3);
	font-weight: 400;
	line-height: 1.5;
	margin: var(--fy-space-5) 0 0;
	padding: 0;
}

.fy-image-content--list-gap-small .fy-image-content__list {
	gap: var(--fy-space-2);
}

.fy-image-content--list-gap-medium .fy-image-content__list,
.fy-image-content--list-gap-default .fy-image-content__list {
	gap: var(--fy-space-3);
}

.fy-image-content--list-gap-large .fy-image-content__list {
	gap: var(--fy-space-4);
}

.fy-image-content--list-columns-2 .fy-image-content__list,
.fy-image-content--list-columns-3 .fy-image-content__list {
	grid-template-columns: 1fr;
}

.fy-image-content__list li {
	display: block;
	min-width: 0;
}

.fy-image-content__list-item {
	align-items: flex-start;
	display: flex;
	gap: var(--fy-space-3);
	min-width: 0;
}

.fy-image-content__list-link {
	align-items: flex-start;
	color: inherit;
	display: flex;
	flex: 1 1 auto;
	gap: var(--fy-space-3);
	text-decoration: none;
}

.fy-image-content__list-link:hover .fy-image-content__list-text {
	color: var(--fy-color-primary);
}

.fy-image-content__list-icon {
	align-items: center;
	color: var(--fy-image-content-list-icon-color, var(--4yt-card-icon, var(--fy-color-primary)));
	display: inline-flex;
	flex: 0 0 auto;
	height: 1.25rem;
	justify-content: center;
	margin-top: 0.1rem;
	width: 1.25rem;
}

.fy-image-content--list-icon-small .fy-image-content__list-icon {
	height: 1rem;
	width: 1rem;
}

.fy-image-content--list-icon-small .fy-image-content__list-icon svg {
	height: 1rem;
	width: 1rem;
}

.fy-image-content--list-icon-medium .fy-image-content__list-icon svg,
.fy-image-content--list-icon-default .fy-image-content__list-icon svg {
	height: 1.25rem;
	width: 1.25rem;
}

.fy-image-content--list-icon-large .fy-image-content__list-icon {
	height: 1.5rem;
	width: 1.5rem;
}

.fy-image-content--list-icon-large .fy-image-content__list-icon svg {
	height: 1.5rem;
	width: 1.5rem;
}

.fy-image-content--list-icon-color-gold {
	--fy-image-content-list-icon-color: var(--fy-color-primary);
}

.fy-image-content--list-icon-color-navy {
	--fy-image-content-list-icon-color: var(--4yt-card-icon, var(--fy-color-secondary));
}

.fy-image-content--list-icon-color-green {
	--fy-image-content-list-icon-color: #2f8f5b;
}

.fy-image-content__list-text {
	min-width: 0;
}

.fy-image-content__list-item--highlight .fy-image-content__list-text {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-weight: 500;
}

.fy-image-content--list-plain .fy-image-content__list {
	list-style: none;
}

.fy-image-content--list-points .fy-image-content__list {
	list-style: disc;
	padding-left: 1.2rem;
}

.fy-image-content--list-points .fy-image-content__list-item {
	display: block;
}

.fy-image-content--list-plain .fy-image-content__list li {
	border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
	padding-top: var(--fy-space-2);
}

.fy-image-content--list-check .fy-image-content__list,
.fy-image-content--list-icons .fy-image-content__list,
.fy-image-content--list-cards .fy-image-content__list {
	list-style: none;
}

.fy-image-content--list-check .fy-image-content__list-icon {
	background: var(--4yt-card-accent, var(--fy-color-primary));
	border-radius: 999px;
	color: var(--fy-color-primary-contrast);
	font-size: 0.75rem;
	font-weight: 500;
	height: 1.25rem;
	width: 1.25rem;
}

.fy-image-content--list-cards .fy-image-content__list-item {
	background: color-mix(in srgb, currentColor 7%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
	border-radius: var(--fy-radius-md);
	height: 100%;
	padding: var(--fy-space-4);
}

.fy-image-content--list-numbered .fy-image-content__list {
	counter-reset: fy-image-content-list;
	list-style: none;
}

.fy-image-content--list-numbered .fy-image-content__list li {
	counter-increment: fy-image-content-list;
}

.fy-image-content--list-numbered .fy-image-content__list-item::before {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	content: counter(fy-image-content-list, decimal-leading-zero);
	flex: 0 0 auto;
	font-size: var(--fy-font-size-xs);
	font-weight: 500;
	line-height: 1.5rem;
	min-width: 1.5rem;
}

.fy-image-content--list-numbered .fy-image-content__list-icon {
	display: none;
}

.fy-image-content--list-plain .fy-image-content__list-icon {
	display: none;
}

.fy-image-content--list-points .fy-image-content__list-icon {
	display: none;
}

@media (min-width: 768px) {
	.fy-image-content--list-columns-2 .fy-image-content__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-image-content--list-columns-3 .fy-image-content__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.fy-image-content__stat {
	align-items: baseline;
	background: color-mix(in srgb, currentColor 7%, transparent);
	border-radius: var(--fy-radius-lg);
	display: inline-flex;
	gap: var(--fy-space-3);
	margin-top: var(--fy-space-5);
	padding: var(--fy-space-3) var(--fy-space-4);
}

.fy-image-content__stat strong {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1;
}

.fy-image-content__stat span {
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-meta);
}

.fy-image-content__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-3);
	margin-top: var(--fy-space-6);
}

.fy-image-content--buttons-center .fy-image-content__actions {
	justify-content: center;
}

.fy-image-content--buttons-right .fy-image-content__actions {
	justify-content: flex-end;
}

.fy-image-content--overlap .fy-image-content__layout {
	gap: 0;
}

.fy-image-content--overlap .fy-image-content__content {
	margin-left: calc(var(--fy-space-10) * -1);
	z-index: 2;
}

.fy-image-content--overlap.fy-image-content--image-right .fy-image-content__content,
.fy-image-content--overlap.fy-image-content--reverse .fy-image-content__content {
	margin-left: 0;
	margin-right: calc(var(--fy-space-10) * -1);
}

.fy-image-content--image-focus .fy-image-content__media {
	border-radius: var(--fy-radius-xl);
	box-shadow: var(--fy-shadow-lg);
}

.fy-image-content--compact .fy-image-content__content {
	padding: var(--fy-space-5);
}

.fy-image-content--compact .fy-image-content__text {
	font-size: var(--fy-font-size-base);
	margin-top: var(--fy-space-4);
}

.fy-image-content--compact .fy-image-content__actions {
	margin-top: var(--fy-space-5);
}

.fy-image-content--minimal .fy-image-content__badge,
.fy-image-content--minimal .fy-image-content__list,
.fy-image-content--minimal .fy-image-content__stat {
	display: none;
}

@media (max-width: 959px) {
	.fy-image-content__layout,
	.fy-image-content--columns-40-60 .fy-image-content__layout,
	.fy-image-content--columns-60-40 .fy-image-content__layout,
	.fy-image-content--columns-33-67 .fy-image-content__layout,
	.fy-image-content--columns-67-33 .fy-image-content__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.fy-image-content--overlap .fy-image-content__content,
	.fy-image-content--overlap.fy-image-content--image-right .fy-image-content__content,
	.fy-image-content--overlap.fy-image-content--reverse .fy-image-content__content {
		margin-inline: 0;
	}
}

@media (max-width: 767px) {
	.fy-image-content {
		padding-block: var(--fy-space-8);
	}

	.fy-image-content__layout,
	.fy-image-content--columns-40-60 .fy-image-content__layout,
	.fy-image-content--columns-60-40 .fy-image-content__layout,
	.fy-image-content--columns-33-67 .fy-image-content__layout,
	.fy-image-content--columns-67-33 .fy-image-content__layout {
		gap: var(--fy-space-6);
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-image-content__media,
	.fy-image-content--image-right .fy-image-content__media,
	.fy-image-content--reverse .fy-image-content__media,
	.fy-image-content--compact .fy-image-content__media {
		order: 1;
	}

	.fy-image-content__content,
	.fy-image-content--image-right .fy-image-content__content,
	.fy-image-content--reverse .fy-image-content__content,
	.fy-image-content--compact .fy-image-content__content {
		order: 2;
	}

	.fy-image-content--mobile-content-first .fy-image-content__content {
		order: 1;
	}

	.fy-image-content--mobile-content-first .fy-image-content__media {
		order: 2;
	}

	.fy-image-content--surface-light .fy-image-content__content,
	.fy-image-content--surface-paper .fy-image-content__content,
	.fy-image-content--surface-navy .fy-image-content__content,
	.fy-image-content--surface-glass .fy-image-content__content,
	.fy-image-content--surface-outline .fy-image-content__content {
		padding: var(--fy-space-5);
	}

	.fy-image-content__title,
	.fy-image-content--title-xlarge .fy-image-content__title {
		font-size: clamp(2rem, 10vw, 3.2rem);
	}

	.fy-image-content__text {
		font-size: var(--fy-font-size-base);
	}

	.fy-image-content--mobile-buttons-stacked .fy-image-content__actions,
	.fy-image-content--mobile-buttons-full .fy-image-content__actions {
		flex-direction: column;
	}

	.fy-image-content--mobile-buttons-full .fy-image-content__button {
		width: 100%;
	}
}

.fy-cta {
	--fy-cta-padding-y: var(--fy-space-10);
	--fy-cta-radius: var(--fy-radius-xl);
	--fy-cta-overlay: transparent;
	--fy-cta-bg-image: none;
	--fy-cta-mobile-bg-image: var(--fy-cta-bg-image);
	background: transparent;
	color: var(--fy-color-text);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.fy-cta--padding-small {
	--fy-cta-padding-y: var(--fy-space-6);
}

.fy-cta--padding-medium {
	--fy-cta-padding-y: var(--fy-space-10);
}

.fy-cta--padding-large {
	--fy-cta-padding-y: var(--fy-space-12);
}

.fy-cta--padding-xlarge {
	--fy-cta-padding-y: var(--fy-space-16);
}

.fy-cta__media,
.fy-cta__overlay {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.fy-cta__media {
	background-image: var(--fy-cta-bg-image);
	background-position: center;
	background-size: cover;
	z-index: 0;
}

.fy-cta__media picture,
.fy-cta__media img {
	display: block;
	height: 100%;
	width: 100%;
}

.fy-cta__media img {
	object-fit: cover;
}

.fy-cta__overlay {
	background: var(--fy-cta-overlay);
	z-index: 1;
}

.fy-cta--overlay-light {
	--fy-cta-overlay: rgb(46 52 64 / 0.32);
}

.fy-cta--overlay-medium {
	--fy-cta-overlay: rgb(46 52 64 / 0.52);
}

.fy-cta--overlay-strong {
	--fy-cta-overlay: rgb(46 52 64 / 0.72);
}

.fy-cta--overlay-gradient-left {
	--fy-cta-overlay: linear-gradient(90deg, rgb(46 52 64 / 0.82) 0%, rgb(46 52 64 / 0.52) 48%, rgb(46 52 64 / 0.08) 100%);
}

.fy-cta--overlay-gradient-right {
	--fy-cta-overlay: linear-gradient(270deg, rgb(46 52 64 / 0.82) 0%, rgb(46 52 64 / 0.52) 48%, rgb(46 52 64 / 0.08) 100%);
}

.fy-cta__inner {
	--4yt-card-bg: var(--fy-color-surface-warm);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 86%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--fy-color-surface-warm);
	border: 1px solid transparent;
	border-radius: var(--fy-cta-radius);
	display: grid;
	gap: var(--fy-space-8);
	grid-template-columns: minmax(0, 1fr);
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding: var(--fy-cta-padding-y) var(--fy-space-8);
	position: relative;
	z-index: 2;
}

.fy-cta--container-wide .fy-cta__inner {
	max-width: var(--fy-container-xl);
}

.fy-cta--container-full .fy-cta__inner {
	border-radius: 0;
	max-width: none;
}

.fy-cta--width-narrow .fy-cta__inner {
	max-width: var(--fy-container-sm);
}

.fy-cta--width-medium .fy-cta__inner {
	max-width: var(--fy-container-md);
}

.fy-cta--width-wide .fy-cta__inner {
	max-width: var(--fy-container-xl);
}

.fy-cta--surface-light .fy-cta__inner {
	--4yt-card-bg: var(--fy-color-surface);
	background: var(--fy-color-surface);
	color: var(--4yt-card-text);
}

.fy-cta--surface-paper .fy-cta__inner {
	--4yt-card-bg: var(--fy-color-surface-warm);
	background: var(--fy-color-surface-warm);
	color: var(--4yt-card-text);
}

.fy-cta--surface-navy .fy-cta__inner {
	--4yt-card-bg: var(--fy-color-secondary);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.08);
	--4yt-card-callout-text: #edf2f7;
	background: var(--fy-color-secondary);
	color: var(--4yt-card-text);
}

.fy-cta--surface-gold .fy-cta__inner {
	--4yt-card-bg: var(--fy-color-primary);
	--4yt-card-text: var(--fy-color-primary-contrast);
	--4yt-card-text-muted: color-mix(in srgb, var(--fy-color-primary-contrast) 76%, transparent);
	--4yt-card-heading: var(--fy-color-primary-contrast);
	--4yt-card-accent: var(--fy-color-secondary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-secondary) 24%, transparent);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.68);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-secondary);
	--4yt-card-link: var(--fy-color-secondary);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.26);
	--4yt-card-callout-text: var(--fy-color-primary-contrast);
	background: linear-gradient(135deg, var(--fy-color-primary), var(--fy-color-primary-hover));
	color: var(--4yt-card-text);
}

.fy-cta--surface-outline .fy-cta__inner {
	background: transparent;
	border-color: var(--fy-color-border);
	box-shadow: none;
}

.fy-cta--surface-glass .fy-cta__inner {
	--4yt-card-bg: rgb(255 255 255 / 0.14);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: rgb(255 255 255 / 0.28);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-primary);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.1);
	--4yt-card-callout-text: #edf2f7;
	background: rgb(255 255 255 / 0.14);
	backdrop-filter: blur(18px);
	border-color: rgb(255 255 255 / 0.28);
	color: var(--4yt-card-text);
}

.fy-cta--surface-image {
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: rgb(255 255 255 / 0.22);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-primary);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.1);
	--4yt-card-callout-text: #edf2f7;
	background: var(--fy-color-bg-dark);
	color: #ffffff;
	min-height: 440px;
}

.fy-cta--surface-image .fy-cta__inner {
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #c8d3df;
	--4yt-card-heading: #ffffff;
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: rgb(255 255 255 / 0.22);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-primary);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.1);
	--4yt-card-callout-text: #edf2f7;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	min-height: 440px;
}

.fy-cta--radius-none {
	--fy-cta-radius: 0;
}

.fy-cta--radius-small {
	--fy-cta-radius: var(--fy-radius-sm);
}

.fy-cta--radius-medium {
	--fy-cta-radius: var(--fy-radius-md);
}

.fy-cta--radius-large {
	--fy-cta-radius: var(--fy-radius-xl);
}

.fy-cta--shadow-none .fy-cta__inner {
	box-shadow: none;
}

.fy-cta--shadow-subtle .fy-cta__inner {
	box-shadow: var(--fy-shadow-sm);
}

.fy-cta--shadow-medium .fy-cta__inner {
	box-shadow: var(--fy-shadow-md);
}

.fy-cta--shadow-strong .fy-cta__inner {
	box-shadow: var(--fy-shadow-lg);
}

.fy-cta--buttons-right .fy-cta__inner,
.fy-cta--buttons-column .fy-cta__inner,
.fy-cta--split .fy-cta__inner {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
}

.fy-cta--split-50-50 .fy-cta__inner {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.fy-cta--split-60-40 .fy-cta__inner {
	grid-template-columns: minmax(0, 0.6fr) minmax(0, 0.4fr);
}

.fy-cta--split-40-60 .fy-cta__inner {
	grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
}

.fy-cta--valign-top .fy-cta__inner {
	align-items: start;
}

.fy-cta--valign-middle .fy-cta__inner {
	align-items: center;
}

.fy-cta--valign-bottom .fy-cta__inner {
	align-items: end;
}

.fy-cta__content,
.fy-cta__side {
	min-width: 0;
}

.fy-cta__side {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--fy-space-5);
	justify-content: center;
}

.fy-cta--align-center .fy-cta__content,
.fy-cta--align-center .fy-cta__side {
	align-items: center;
	text-align: center;
}

.fy-cta--align-right .fy-cta__content,
.fy-cta--align-right .fy-cta__side {
	align-items: flex-end;
	text-align: right;
}

.fy-cta__eyebrow {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-size: var(--fy-font-size-xs);
	font-weight: 500;
	letter-spacing: var(--fy-letter-spacing-label);
	margin: 0 0 var(--fy-space-3);
	text-transform: uppercase;
}

.fy-cta--surface-gold .fy-cta__eyebrow {
	color: var(--4yt-card-accent);
}

.fy-cta__title {
	color: var(--4yt-card-heading, inherit);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-title);
	margin: 0;
	max-width: 14ch;
	overflow-wrap: normal;
	word-break: normal;
}

.fy-cta--title-medium .fy-cta__title {
	font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.fy-cta--title-large .fy-cta__title {
	font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.fy-cta--title-xlarge .fy-cta__title {
	font-size: clamp(2.6rem, 5vw, 4.5rem);
}

.fy-cta--align-center .fy-cta__title {
	margin-inline: auto;
}

.fy-cta--align-right .fy-cta__title {
	margin-left: auto;
}

.fy-cta__text {
	color: var(--4yt-card-text-muted, color-mix(in srgb, currentColor 82%, transparent));
	font-size: var(--fy-font-size-lg);
	font-weight: var(--fy-font-weight-body);
	line-height: 1.62;
	margin-top: var(--fy-space-4);
	max-width: 46rem;
	overflow-wrap: normal;
	word-break: normal;
}

.fy-cta__note {
	border-left: 3px solid var(--4yt-card-accent, var(--fy-color-primary));
	color: var(--4yt-card-text-muted, color-mix(in srgb, currentColor 74%, transparent));
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-meta);
	margin: var(--fy-space-5) 0 0;
	padding-left: var(--fy-space-4);
}

.fy-cta--align-center .fy-cta__note {
	border-left: 0;
	border-top: 3px solid var(--fy-color-primary);
	margin-inline: auto;
	padding-left: 0;
	padding-top: var(--fy-space-3);
}

.fy-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-3);
	width: 100%;
}

.fy-cta--buttons-below .fy-cta__side,
.fy-cta--centered .fy-cta__side,
.fy-cta--minimal .fy-cta__side {
	grid-column: 1;
}

.fy-cta--buttons-below .fy-cta__actions,
.fy-cta--centered .fy-cta__actions {
	justify-content: inherit;
}

.fy-cta--buttons-column .fy-cta__actions {
	flex-direction: column;
}

.fy-cta__contact {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-3);
	width: 100%;
}

.fy-cta__contact-link,
.fy-cta__contact-note {
	color: inherit;
	font-size: var(--fy-font-size-sm);
	font-weight: 500;
	text-decoration: none;
}

.fy-cta__contact-link {
	align-items: center;
	background: color-mix(in srgb, currentColor 7%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	border-radius: var(--fy-radius-md);
	display: inline-flex;
	gap: var(--fy-space-2);
	padding: var(--fy-space-2) var(--fy-space-3);
}

.fy-cta__contact-link span {
	background: var(--fy-color-primary);
	border-radius: 999px;
	display: inline-block;
	height: 0.55rem;
	width: 0.55rem;
}

.fy-cta--contact-line .fy-cta__contact-link,
.fy-cta--contact-line .fy-cta__contact-note {
	background: transparent;
	border: 0;
	padding: 0;
}

.fy-cta--contact-cards .fy-cta__contact {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
}

.fy-cta--contact-cards .fy-cta__contact-link,
.fy-cta--contact-cards .fy-cta__contact-note {
	background: color-mix(in srgb, currentColor 8%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
	border-radius: var(--fy-radius-lg);
	padding: var(--fy-space-4);
}

.fy-cta--classic .fy-cta__inner {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.38fr);
}

.fy-cta--buttons-below.fy-cta--classic .fy-cta__inner,
.fy-cta--buttons-below.fy-cta--split .fy-cta__inner,
.fy-cta--buttons-below.fy-cta--gold .fy-cta__inner {
	grid-template-columns: minmax(0, 1fr);
}

.fy-cta--centered .fy-cta__inner {
	text-align: center;
}

.fy-cta--centered .fy-cta__title,
.fy-cta--centered .fy-cta__text {
	margin-inline: auto;
}

.fy-cta--centered .fy-cta__side,
.fy-cta--centered .fy-cta__actions,
.fy-cta--centered .fy-cta__contact {
	align-items: center;
	justify-content: center;
}

.fy-cta--image .fy-cta__inner {
	min-height: 520px;
}

.fy-cta--split .fy-cta__side {
	background: color-mix(in srgb, currentColor 9%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
	border-radius: var(--fy-radius-lg);
	padding: var(--fy-space-5);
}

.fy-cta--gold .fy-button--outline {
	border-color: color-mix(in srgb, var(--fy-color-secondary) 42%, transparent);
	color: var(--fy-color-secondary);
}

.fy-cta--minimal .fy-cta__inner {
	gap: var(--fy-space-4);
	padding: var(--fy-space-6);
}

.fy-cta--minimal .fy-cta__text {
	font-size: var(--fy-font-size-base);
	margin-top: var(--fy-space-3);
}

.fy-cta--minimal .fy-cta__note,
.fy-cta--minimal .fy-cta__contact {
	display: none;
}

@media (max-width: 959px) {
	.fy-cta--buttons-right .fy-cta__inner,
	.fy-cta--buttons-column .fy-cta__inner,
	.fy-cta--split .fy-cta__inner,
	.fy-cta--classic .fy-cta__inner,
	.fy-cta--split-50-50 .fy-cta__inner,
	.fy-cta--split-60-40 .fy-cta__inner,
	.fy-cta--split-40-60 .fy-cta__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-cta__inner {
		padding-inline: var(--fy-space-6);
	}
}

@media (max-width: 767px) {
	.fy-cta {
		--fy-cta-padding-y: var(--fy-space-8);
	}

	.fy-cta__media {
		background-image: var(--fy-cta-mobile-bg-image);
	}

	.fy-cta__inner {
		padding: var(--fy-cta-padding-y) var(--fy-space-5);
	}

	.fy-cta__title,
	.fy-cta--title-xlarge .fy-cta__title {
		font-size: clamp(2rem, 10vw, 3.2rem);
	}

	.fy-cta__text {
		font-size: var(--fy-font-size-base);
	}

	.fy-cta--mobile-buttons-stacked .fy-cta__actions,
	.fy-cta--mobile-buttons-full .fy-cta__actions {
		flex-direction: column;
	}

	.fy-cta--mobile-buttons-full .fy-cta__button {
		width: 100%;
	}
}

.fy-category-card {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: var(--fy-color-border);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--4yt-card-bg);
	border: 1px solid var(--4yt-card-border);
	border-radius: var(--fy-radius-xl);
	box-shadow: var(--fy-shadow-sm);
	color: var(--4yt-card-text);
	overflow: hidden;
	transition: box-shadow var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-category-card:hover {
	box-shadow: var(--fy-shadow-md);
	transform: translateY(-2px);
}

.fy-feature-cards {
	--fy-feature-card-padding: var(--fy-space-6);
	--fy-feature-card-image-gap: var(--fy-space-6);
	--fy-feature-card-content-gap: var(--fy-space-3);
	--fy-feature-card-button-gap: var(--fy-space-5);
	--fy-feature-detail-gap: var(--fy-space-2);
	--fy-feature-detail-padding: var(--fy-space-4);
	--4yt-card-bg: transparent;
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: transparent;
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	--4yt-card-button-bg: var(--fy-color-primary);
	--4yt-card-button-text: var(--fy-color-primary-contrast);
	--4yt-card-button-border: var(--fy-color-primary);
	--4yt-card-gallery-badge-bg: rgb(46 52 64 / 0.82);
	--4yt-card-gallery-badge-text: #ffffff;
	--4yt-button-bg: var(--4yt-card-button-bg);
	--4yt-button-color: var(--4yt-card-button-text);
	--4yt-button-border: var(--4yt-card-button-border);
	--4yt-button-hover-bg: var(--fy-color-primary-hover);
	--4yt-button-hover-color: var(--fy-color-primary-contrast);
	--4yt-button-hover-border: var(--fy-color-primary-hover);
	--4yt-button-focus-ring: color-mix(in srgb, var(--4yt-button-border) 42%, transparent);
	color: var(--fy-color-text);
	margin-block: var(--fy-space-12);
}

.fy-feature-cards--detail-padding-none {
	--fy-feature-detail-padding: 0;
}

.fy-feature-cards--detail-padding-small {
	--fy-feature-detail-padding: var(--fy-space-2);
}

.fy-feature-cards--detail-padding-medium,
.fy-feature-cards--detail-padding-default {
	--fy-feature-detail-padding: var(--fy-space-4);
}

.fy-feature-cards--detail-padding-large {
	--fy-feature-detail-padding: var(--fy-space-6);
}

.fy-feature-cards__container {
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-feature-cards--container-wide .fy-feature-cards__container {
	max-width: var(--fy-container-xl);
}

.fy-feature-cards--container-full .fy-feature-cards__container {
	max-width: none;
}

.fy-feature-cards__header {
	margin-bottom: var(--fy-space-8);
	max-width: 760px;
}

.fy-feature-cards--align-center .fy-feature-cards__header {
	margin-inline: auto;
	text-align: center;
}

.fy-feature-cards--align-right .fy-feature-cards__header {
	margin-left: auto;
	text-align: right;
}

.fy-feature-cards--text-width-small .fy-feature-cards__header {
	max-width: 560px;
}

.fy-feature-cards--text-width-large .fy-feature-cards__header {
	max-width: 920px;
}

.fy-feature-cards--text-width-full .fy-feature-cards__header {
	max-width: none;
}

.fy-feature-cards__eyebrow,
.fy-feature-card__eyebrow {
	color: var(--4yt-card-accent, var(--fy-color-primary));
	font-size: var(--fy-font-size-sm);
	font-weight: 500;
	letter-spacing: 0.055em;
	margin: 0 0 var(--fy-space-1);
	text-transform: uppercase;
}

.fy-feature-cards__title {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-feature-cards__intro {
	color: var(--fy-color-muted);
	font-size: var(--fy-font-size-lg);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-space-3);
}

.fy-feature-cards__intro > :last-child,
.fy-feature-card__text > :last-child {
	margin-bottom: 0;
}

.fy-feature-cards__grid {
	display: grid;
	gap: var(--fy-space-5);
	grid-template-columns: repeat(1, minmax(0, 1fr));
	min-width: 0;
}

.fy-feature-cards--equal-height-yes .fy-feature-cards__grid,
.fy-feature-cards--equal-height-default .fy-feature-cards__grid {
	grid-auto-rows: 1fr;
}

.fy-feature-cards--gap-small .fy-feature-cards__grid {
	gap: var(--fy-space-3);
}

.fy-feature-cards--gap-large .fy-feature-cards__grid {
	gap: var(--fy-space-8);
}

.fy-feature-card {
	--4yt-card-bg: transparent;
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: transparent;
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	--4yt-button-bg: var(--4yt-card-button-bg, var(--fy-color-primary));
	--4yt-button-color: var(--4yt-card-button-text, var(--fy-color-primary-contrast));
	--4yt-button-border: var(--4yt-card-button-border, var(--fy-color-primary));
	--4yt-button-hover-bg: var(--fy-color-primary-hover);
	--4yt-button-hover-color: var(--fy-color-primary-contrast);
	--4yt-button-hover-border: var(--fy-color-primary-hover);
	--4yt-button-focus-ring: color-mix(in srgb, var(--4yt-button-border) 42%, transparent);
	background: transparent;
	border: 1px solid transparent;
	border-radius: var(--fy-radius-lg);
	color: var(--4yt-card-text);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	padding: var(--fy-feature-card-padding);
	position: relative;
	text-decoration: none;
	transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, color 200ms ease, transform 200ms ease;
}

.fy-feature-cards--equal-height-yes .fy-feature-card,
.fy-feature-cards--equal-height-default .fy-feature-card {
	height: 100%;
}

.fy-feature-cards--equal-height-no .fy-feature-card {
	align-self: start;
}

.fy-feature-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	position: relative;
}

.fy-feature-card__card-link {
	border-radius: inherit;
	inset: 0;
	position: absolute;
	z-index: 2;
}

.fy-feature-card__card-link:focus-visible {
	outline: 3px solid var(--4yt-button-focus-ring);
	outline-offset: -3px;
}

.fy-feature-card__media-link,
.fy-feature-card__title-link {
	color: inherit;
	position: relative;
	text-decoration: none;
	z-index: 3;
}

.fy-feature-card__media-link {
	display: block;
	height: 100%;
}

.fy-feature-card__title-link:hover,
.fy-feature-card__title-link:focus {
	color: var(--4yt-card-link);
}

.fy-feature-cards--content-align-middle .fy-feature-card__body {
	justify-content: center;
}

.fy-feature-cards--content-align-bottom .fy-feature-card__body {
	justify-content: flex-end;
}

.fy-feature-card__image-wrap {
	aspect-ratio: 16 / 9;
	background: var(--fy-color-surface-soft);
	border-radius: calc(var(--fy-radius-lg) - 0.12rem);
	margin: 0 0 var(--fy-feature-card-image-gap);
	overflow: hidden;
}

.fy-feature-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fy-feature-card__image-wrap picture {
	display: block;
	height: 100%;
}

.fy-feature-cards--ratio-4-3 .fy-feature-card__image-wrap {
	aspect-ratio: 4 / 3;
}

.fy-feature-cards--ratio-1-1 .fy-feature-card__image-wrap {
	aspect-ratio: 1 / 1;
}

.fy-feature-cards--ratio-wide .fy-feature-card__image-wrap {
	aspect-ratio: 21 / 9;
}

.fy-feature-card__icon {
	align-items: center;
	background: color-mix(in srgb, var(--4yt-card-icon) 15%, transparent);
	border: 1px solid color-mix(in srgb, var(--4yt-card-icon) 24%, transparent);
	border-radius: var(--fy-radius-md);
	color: var(--4yt-card-icon);
	display: inline-flex;
	height: 3rem;
	justify-content: center;
	margin-bottom: var(--fy-space-4);
	width: 3rem;
}

.fy-feature-card__icon > svg {
	height: 1.4rem;
	width: 1.4rem;
}

.fy-feature-cards--icon-small .fy-feature-card__icon {
	height: 2.5rem;
	width: 2.5rem;
}

.fy-feature-cards--icon-large .fy-feature-card__icon {
	height: 3.75rem;
	width: 3.75rem;
}

.fy-feature-cards--icon-large .fy-feature-card__icon > svg {
	height: 1.8rem;
	width: 1.8rem;
}

.fy-feature-cards--icon-xlarge .fy-feature-card__icon {
	height: 5.5rem;
	width: 5.5rem;
}

.fy-feature-cards--icon-xlarge .fy-feature-card__icon > svg {
	height: 2.8rem;
	width: 2.8rem;
}

.fy-feature-cards--icon-color-navy .fy-feature-card__icon {
	background: color-mix(in srgb, var(--fy-color-secondary) 9%, transparent);
	border-color: color-mix(in srgb, var(--fy-color-secondary) 18%, transparent);
	color: var(--fy-color-secondary);
}

.fy-feature-cards--icon-color-dark .fy-feature-card__icon {
	background: color-mix(in srgb, var(--fy-color-heading) 8%, transparent);
	border-color: color-mix(in srgb, var(--fy-color-heading) 16%, transparent);
	color: var(--fy-color-heading);
}

.fy-feature-cards--card-navy.fy-feature-cards--icon-color-navy .fy-feature-card__icon,
.fy-feature-cards--card-navy.fy-feature-cards--icon-color-dark .fy-feature-card__icon,
.fy-feature-cards--preset-dark.fy-feature-cards--icon-color-navy .fy-feature-card__icon,
.fy-feature-cards--preset-dark.fy-feature-cards--icon-color-dark .fy-feature-card__icon {
	background: color-mix(in srgb, var(--4yt-card-icon) 14%, transparent);
	border-color: color-mix(in srgb, var(--4yt-card-icon) 24%, transparent);
	color: var(--4yt-card-icon);
}

.fy-feature-cards--icon-color-light .fy-feature-card__icon {
	background: color-mix(in srgb, #ffffff 14%, transparent);
	border-color: color-mix(in srgb, #ffffff 24%, transparent);
	color: #ffffff;
}

.fy-feature-cards--icon-position-center .fy-feature-card__icon {
	margin-inline: auto;
}

.fy-feature-card__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-2);
	margin-bottom: var(--fy-space-3);
}

.fy-feature-card__badge {
	background: var(--fy-color-badge);
	border: 1px solid color-mix(in srgb, var(--4yt-card-accent) 26%, var(--4yt-card-border));
	border-radius: 999px;
	color: var(--fy-color-badge-contrast);
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	letter-spacing: 0;
	line-height: 1;
	padding: 0.36rem 0.64rem;
}

.fy-feature-card__metric {
	color: var(--4yt-card-accent);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: 1;
}

.fy-feature-card__title {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: 500;
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-feature-card__text {
	color: var(--4yt-card-text-muted);
	font-size: var(--fy-font-size-base);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-feature-card-content-gap);
}

.fy-feature-card__button {
	align-self: flex-start;
	background: var(--4yt-button-bg);
	border-color: var(--4yt-button-border);
	border-radius: calc(var(--fy-radius-md) + 0.12rem);
	box-shadow: 0 8px 18px color-mix(in srgb, var(--4yt-button-bg) 24%, transparent);
	color: var(--4yt-button-color);
	font-size: var(--fy-font-size-sm);
	font-weight: 500;
	line-height: 1.15;
	min-height: var(--fy-button-height-sm);
	max-width: 100%;
	padding-inline: var(--fy-space-5);
	position: relative;
	z-index: 3;
	width: fit-content;
}

.fy-feature-card__button.fy-button--small {
	font-size: var(--fy-font-size-xs);
	line-height: 1.15;
	min-height: 2.1rem;
	padding-block: 0.42rem;
	padding-inline: var(--fy-space-4);
}

.fy-feature-card__button.fy-button--medium {
	font-size: var(--fy-font-size-sm);
	line-height: 1.15;
	min-height: var(--fy-button-height-sm);
	padding-block: 0.54rem;
	padding-inline: var(--fy-space-5);
}

.fy-feature-card__button.fy-button--large {
	font-size: var(--fy-font-size-base);
	line-height: 1.18;
	min-height: var(--fy-button-height);
	padding-block: 0.68rem;
	padding-inline: var(--fy-space-6);
}

.fy-feature-card__actions {
	display: flex;
	justify-content: flex-start;
	margin-top: var(--fy-feature-card-button-gap);
	min-width: 0;
	padding-top: 0;
	position: relative;
	z-index: 3;
}

.fy-feature-cards--equal-height-yes .fy-feature-card__actions,
.fy-feature-cards--equal-height-default .fy-feature-card__actions {
	margin-top: var(--fy-space-5);
	padding-top: 0;
}

.fy-feature-card__button:hover,
.fy-feature-card__button:focus,
.fy-feature-card__button:active {
	background: var(--4yt-button-hover-bg);
	border-color: var(--4yt-button-hover-border);
	box-shadow: 0 12px 24px color-mix(in srgb, var(--4yt-button-hover-bg) 26%, transparent);
	color: var(--4yt-button-hover-color);
	transform: translateY(-1px);
}

.fy-feature-card__button:focus-visible {
	background: var(--4yt-button-hover-bg);
	border-color: var(--4yt-button-hover-border);
	box-shadow: 0 0 0 3px var(--4yt-button-focus-ring), 0 12px 24px color-mix(in srgb, var(--4yt-button-hover-bg) 26%, transparent);
	color: var(--4yt-button-hover-color);
	outline: 2px solid transparent;
	outline-offset: 3px;
}

.fy-feature-card__button--text,
.fy-feature-card__button.fy-button--text {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--4yt-card-link);
}

.fy-feature-card__button.fy-button--primary {
	background: var(--fy-color-action);
	border-color: var(--fy-color-action);
	color: var(--fy-color-action-contrast);
}

.fy-feature-card__button.fy-button--outline {
	background: transparent;
	border-color: var(--4yt-button-border);
	box-shadow: none;
	color: var(--4yt-button-border);
}

.fy-feature-card__button.fy-button--secondary {
	background: var(--fy-color-secondary);
	border-color: var(--fy-color-secondary);
	color: #ffffff;
}

.fy-feature-card__button.fy-button--primary:hover,
.fy-feature-card__button.fy-button--primary:focus,
.fy-feature-card__button.fy-button--primary:active,
.fy-feature-card__button.fy-button--outline:hover,
.fy-feature-card__button.fy-button--outline:focus,
.fy-feature-card__button.fy-button--outline:active,
.fy-feature-card__button.fy-button--secondary:hover,
.fy-feature-card__button.fy-button--secondary:focus,
.fy-feature-card__button.fy-button--secondary:active {
	background: var(--4yt-button-hover-bg);
	border-color: var(--4yt-button-hover-border);
	color: var(--4yt-button-hover-color);
}

.fy-feature-card__button.fy-button--primary:focus-visible,
.fy-feature-card__button.fy-button--outline:focus-visible,
.fy-feature-card__button.fy-button--secondary:focus-visible {
	background: var(--4yt-button-hover-bg);
	border-color: var(--4yt-button-hover-border);
	box-shadow: 0 0 0 3px var(--4yt-button-focus-ring), 0 12px 24px color-mix(in srgb, var(--4yt-button-hover-bg) 26%, transparent);
	color: var(--4yt-button-hover-color);
}

.fy-feature-card__button.fy-button--primary:hover,
.fy-feature-card__button.fy-button--primary:focus,
.fy-feature-card__button.fy-button--primary:active,
.fy-feature-card__button.fy-button--primary:focus-visible {
	background: var(--fy-color-action-hover);
	border-color: var(--fy-color-action-hover);
	color: var(--fy-color-action-contrast);
}

.fy-feature-card__button.fy-button--text:hover,
.fy-feature-card__button.fy-button--text:focus,
.fy-feature-card__button.fy-button--text:active,
.fy-feature-card__button--text:hover,
.fy-feature-card__button--text:focus,
.fy-feature-card__button--text:active {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--4yt-button-hover-border);
}

.fy-feature-card-modal {
	z-index: 1020;
}

.fy-feature-card-modal__dialog {
	border-radius: var(--fy-radius-xl);
	box-shadow: var(--fy-shadow-lg);
	max-height: calc(100vh - var(--fy-space-8));
	max-width: calc(100vw - var(--fy-space-8));
	overflow: hidden;
	width: min(44rem, calc(100vw - var(--fy-space-8)));
}

.fy-feature-card-modal__dialog--small {
	width: min(34rem, calc(100vw - var(--fy-space-8)));
}

.fy-feature-card-modal__dialog--medium {
	width: min(44rem, calc(100vw - var(--fy-space-8)));
}

.fy-feature-card-modal__dialog--large {
	width: min(64rem, calc(100vw - var(--fy-space-8)));
}

.fy-feature-card-modal__dialog--full {
	border-radius: 0;
	max-height: 100vh;
	max-width: 100vw;
	width: 100vw;
}

.fy-feature-card-modal__body {
	display: grid;
	gap: var(--fy-space-5);
	max-height: calc(100vh - var(--fy-space-8));
	overflow: auto;
	padding: var(--fy-space-6);
}

.fy-feature-card-modal__image {
	aspect-ratio: 16 / 9;
	border-radius: var(--fy-radius-lg);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fy-feature-card-modal__title {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-title);
	margin: 0;
}

.fy-feature-card-modal__content {
	color: var(--fy-color-text);
	font-size: var(--fy-font-size-base);
	line-height: var(--fy-line-height-relaxed);
}

.fy-feature-card-modal__content > :first-child {
	margin-top: 0;
}

.fy-feature-card-modal__content > :last-child {
	margin-bottom: 0;
}

.fy-feature-card-modal__video {
	min-width: 0;
}

.fy-feature-card-modal__iframe-wrap {
	aspect-ratio: 16 / 10;
	background: var(--fy-color-surface-soft);
	border: 1px solid var(--fy-color-border);
	border-radius: var(--fy-radius-lg);
	min-height: min(70vh, 36rem);
	overflow: hidden;
}

.fy-feature-card-modal__iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.fy-feature-card-modal__fallback {
	font-size: var(--fy-font-size-sm);
	margin: 0;
}

.fy-feature-card-modal__fallback a {
	color: var(--fy-color-link);
	font-weight: var(--fy-font-weight-button);
	text-decoration: none;
}

.fy-feature-card-modal__fallback a:hover,
.fy-feature-card-modal__fallback a:focus {
	color: var(--fy-color-link-hover);
	text-decoration: underline;
}

.fy-feature-card__intro {
	color: var(--4yt-card-heading);
	font-size: var(--fy-font-size-base);
	font-weight: var(--fy-font-weight-body);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-feature-card-content-gap);
}

.fy-feature-card__callout,
.fy-feature-card__note,
.fy-feature-card__benefits,
.fy-feature-card__quote {
	border-radius: var(--fy-radius-md);
	font-size: var(--fy-font-size-sm);
	line-height: var(--fy-line-height-relaxed);
	margin: var(--fy-space-4) 0 0;
	padding: var(--fy-feature-detail-padding);
}

.fy-feature-card__callout {
	background: var(--4yt-card-callout-bg);
	border: 1px solid color-mix(in srgb, var(--4yt-card-accent) 24%, var(--4yt-card-border));
	color: var(--4yt-card-callout-text);
}

.fy-feature-card__note {
	background: color-mix(in srgb, var(--4yt-card-text) 7%, transparent);
	border: 1px solid var(--4yt-card-border);
	color: var(--4yt-card-text-muted);
}

.fy-feature-card__benefits {
	background: color-mix(in srgb, var(--4yt-card-text) 6%, transparent);
	color: var(--4yt-card-heading);
}

.fy-feature-card__quote {
	border-left: 3px solid var(--4yt-card-accent);
	color: var(--4yt-card-heading);
	font-style: normal;
}

.fy-feature-card__gallery-image-link {
	display: block;
	height: 100%;
}

.fy-feature-card__gallery-badge,
.fy-feature-card__gallery-icon {
	align-items: center;
	background: var(--4yt-card-gallery-badge-bg);
	border: 1px solid rgb(255 255 255 / 0.18);
	border-radius: 999px;
	color: var(--4yt-card-gallery-badge-text);
	display: inline-flex;
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	gap: var(--fy-space-1);
	line-height: 1;
	position: absolute;
	text-decoration: none;
	z-index: 3;
}

.fy-feature-card__gallery-badge {
	left: var(--fy-space-3);
	padding: 0.42rem 0.68rem;
	top: var(--fy-space-3);
}

.fy-feature-card__gallery-icon {
	bottom: var(--fy-space-3);
	height: 2.35rem;
	justify-content: center;
	padding: 0;
	right: var(--fy-space-3);
	width: 2.35rem;
}

/* UIkit mounts Lightbox panels at body level, so navigation must be styled
 * independently from the card without modifying UIkit or YOOtheme core. */
body > .uk-lightbox {
	--fy-lightbox-control-bg: rgb(10 18 31 / 0.72);
	--fy-lightbox-control-color: #ffffff;
}

body > .uk-lightbox .uk-lightbox-button,
body > .uk-lightbox .uk-slidenav {
	align-items: center;
	background: var(--fy-lightbox-control-bg);
	border: 1px solid rgb(255 255 255 / 0.72);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--fy-lightbox-control-color) !important;
	display: inline-flex;
	height: 3.25rem;
	justify-content: center;
	opacity: 1;
	padding: 0.75rem;
	text-shadow: 0 1px 3px rgb(0 0 0 / 0.7);
	transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
	width: 3.25rem;
	z-index: 1100;
}

body > .uk-lightbox .uk-lightbox-button:hover,
body > .uk-lightbox .uk-slidenav:hover {
	background: rgb(255 255 255 / 0.22);
	border-color: #ffffff;
	color: #ffffff !important;
	transform: scale(1.06);
}

body > .uk-lightbox .uk-lightbox-button:focus-visible,
body > .uk-lightbox .uk-slidenav:focus-visible {
	border-color: #ffffff;
	box-shadow: 0 0 0 3px rgb(255 255 255 / 0.48);
	color: #ffffff !important;
	outline: 2px solid transparent;
	outline-offset: 3px;
}

body > .uk-lightbox .uk-lightbox-button svg,
body > .uk-lightbox .uk-slidenav svg {
	color: currentColor;
	height: 1.55rem;
	stroke: currentColor;
	width: 1.55rem;
}

body > .uk-lightbox .uk-position-center-left {
	left: max(0.75rem, env(safe-area-inset-left));
}

body > .uk-lightbox .uk-position-center-right {
	right: max(0.75rem, env(safe-area-inset-right));
}

body > .uk-lightbox .uk-lightbox-toolbar {
	background: linear-gradient(180deg, rgb(0 0 0 / 0.72), transparent);
	color: #ffffff;
	min-height: 4.25rem;
	z-index: 1090;
}

body > .uk-lightbox .uk-lightbox-toolbar-icon {
	color: #ffffff !important;
	min-height: 3rem;
	min-width: 3rem;
	opacity: 1;
}

body > .uk-lightbox .uk-lightbox-caption {
	background: linear-gradient(0deg, rgb(0 0 0 / 0.78), rgb(0 0 0 / 0.24));
	color: #ffffff;
	font-size: var(--fy-font-size-sm);
	line-height: var(--fy-line-height-relaxed);
	padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
	text-shadow: 0 1px 3px rgb(0 0 0 / 0.8);
	z-index: 1090;
}

@media (max-width: 639px) {
	body > .uk-lightbox .uk-lightbox-button,
	body > .uk-lightbox .uk-slidenav {
		height: 2.75rem;
		padding: 0.62rem;
		width: 2.75rem;
	}
}

.fy-feature-card__details-section {
	margin-top: clamp(1.5rem, 3vw, 2rem);
	min-height: 0;
}

.fy-feature-card__details-header {
	margin: 0 0 var(--fy-space-4);
}

.fy-feature-card__details-title {
	color: var(--4yt-card-heading);
	font-family: "DM Sans", var(--fy-font-family-heading);
	font-size: clamp(1rem, 1.6vw, 1.15rem);
	font-weight: 600;
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
	overflow-wrap: anywhere;
}

.fy-feature-card__details-intro {
	color: var(--4yt-card-text-muted);
	font-size: var(--fy-font-size-sm);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-space-2);
}

.fy-feature-card__details-intro > :first-child {
	margin-top: 0;
}

.fy-feature-card__details-intro > :last-child {
	margin-bottom: 0;
}

.fy-feature-card__highlights,
.fy-feature-card__technical {
	display: grid;
	gap: var(--fy-feature-detail-gap);
	margin: 0;
	min-height: 0;
}

.fy-feature-card__highlight,
.fy-feature-card__technical-item {
	align-items: center;
	background: color-mix(in srgb, var(--4yt-card-text) 6%, transparent);
	border: 1px solid var(--4yt-card-border);
	border-radius: var(--fy-radius-md);
	display: grid;
	gap: var(--fy-space-4);
	grid-template-columns: 2.5rem minmax(0, 1fr);
	padding: var(--fy-feature-detail-padding);
}

.fy-feature-card__highlight-content,
.fy-feature-card__technical-content {
	align-self: center;
	min-width: 0;
}

.fy-feature-card__highlight-icon,
.fy-feature-card__technical-icon {
	align-items: center;
	background: color-mix(in srgb, var(--4yt-card-icon) 16%, var(--4yt-card-bg));
	border: 1px solid color-mix(in srgb, var(--4yt-card-icon) 72%, transparent);
	border-radius: 999px;
	box-sizing: border-box;
	color: color-mix(in srgb, var(--4yt-card-icon) 88%, var(--4yt-card-heading));
	display: inline-flex;
	flex: 0 0 2.5rem;
	height: 2.5rem;
	justify-content: center;
	line-height: 0;
	min-height: 2.5rem;
	min-width: 2.5rem;
	overflow: hidden;
	width: 2.5rem;
}

.fy-feature-card__highlight-icon > svg,
.fy-feature-card__highlight-icon .uk-icon,
.fy-feature-card__technical-icon > svg,
.fy-feature-card__technical-icon .uk-icon {
	display: block;
	flex: none;
	height: 1.32rem;
	margin: 0;
	max-height: 1.32rem;
	max-width: 1.32rem;
	padding: 0;
	transform: none;
	width: 1.32rem;
}

.fy-feature-card__highlight-icon svg,
.fy-feature-card__technical-icon svg {
	color: currentColor;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.85;
}

.fy-feature-card__highlight-icon :is(path, circle, ellipse, line, polyline, polygon, rect),
.fy-feature-card__technical-icon :is(path, circle, ellipse, line, polyline, polygon, rect) {
	stroke: currentColor;
}

.fy-feature-card__highlight-icon--bus svg,
.fy-feature-card__highlight-icon--truck svg,
.fy-feature-card__highlight-icon--calendar svg,
.fy-feature-card__highlight-icon--world svg,
.fy-feature-card__highlight-icon--globe svg,
.fy-feature-card__highlight-icon--luggage svg,
.fy-feature-card__highlight-icon--suitcase svg {
	height: 1.38rem;
	max-height: 1.38rem;
	max-width: 1.38rem;
	width: 1.38rem;
}

.fy-feature-card__highlight-icon--user svg,
.fy-feature-card__highlight-icon--users svg,
.fy-feature-card__highlight-icon--star svg,
.fy-feature-card__highlight-icon--heart svg,
.fy-feature-card__highlight-icon--smile svg {
	height: 1.25rem;
	max-height: 1.25rem;
	max-width: 1.25rem;
	width: 1.25rem;
}

.fy-feature-card__highlight strong,
.fy-feature-card__technical-label {
	color: var(--4yt-card-heading);
	display: block;
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-card-title);
	line-height: var(--fy-line-height-tight);
	overflow-wrap: anywhere;
}

.fy-feature-card__highlight-content > span,
.fy-feature-card__technical-value {
	color: var(--4yt-card-text-muted);
	display: block;
	font-size: var(--fy-font-size-sm);
	line-height: var(--fy-line-height-relaxed);
	margin-top: 0.18rem;
	overflow-wrap: anywhere;
}

.fy-feature-card__highlight em,
.fy-feature-card__technical-content em {
	align-self: center;
	background: var(--4yt-card-badge-bg);
	border-radius: 999px;
	color: var(--4yt-card-badge-text);
	font-size: var(--fy-font-size-xs);
	font-style: normal;
	font-weight: var(--fy-font-weight-badge);
	justify-self: start;
	margin-top: var(--fy-space-2);
	padding: 0.3rem 0.55rem;
}

.fy-feature-card__highlight--navy .fy-feature-card__highlight-icon,
.fy-feature-card__highlight--navy em {
	background: color-mix(in srgb, var(--fy-color-primary) 14%, var(--fy-color-secondary));
	border-color: color-mix(in srgb, var(--fy-color-primary) 72%, transparent);
	color: #fffaf0;
}

.fy-feature-card__highlight--green .fy-feature-card__highlight-icon,
.fy-feature-card__highlight--green em {
	background: color-mix(in srgb, var(--fy-color-success) 15%, var(--4yt-card-bg));
	border-color: color-mix(in srgb, var(--fy-color-success) 62%, transparent);
	color: var(--fy-color-success);
}

.fy-feature-card__highlight--gold .fy-feature-card__highlight-icon {
	background: color-mix(in srgb, var(--fy-color-primary) 18%, var(--4yt-card-bg));
	border-color: color-mix(in srgb, var(--fy-color-primary) 76%, transparent);
	color: var(--4yt-card-heading);
}

.fy-feature-card__highlight--light .fy-feature-card__highlight-icon {
	background: color-mix(in srgb, #ffffff 76%, var(--4yt-card-icon));
	border-color: color-mix(in srgb, var(--4yt-card-icon) 54%, transparent);
	color: var(--4yt-card-heading);
}

.fy-feature-cards--highlights-pills .fy-feature-card__highlights,
.fy-feature-cards--technical-badges .fy-feature-card__technical {
	display: flex;
	flex-wrap: wrap;
}

.fy-feature-cards--highlights-pills .fy-feature-card__highlight,
.fy-feature-cards--technical-badges .fy-feature-card__technical-item {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	gap: var(--fy-space-2);
	min-height: calc(2.5rem + (var(--fy-feature-detail-padding) * 0.8));
	padding: calc(var(--fy-feature-detail-padding) * 0.55) calc(var(--fy-feature-detail-padding) * 0.9);
}

.fy-feature-cards--highlights-pills .fy-feature-card__highlight span,
.fy-feature-cards--highlights-pills .fy-feature-card__highlight em,
.fy-feature-cards--technical-badges .fy-feature-card__technical-icon,
.fy-feature-cards--technical-badges .fy-feature-card__technical-label,
.fy-feature-cards--technical-badges .fy-feature-card__technical-item em {
	display: none;
}

.fy-feature-cards--highlights-two-columns .fy-feature-card__highlights,
.fy-feature-cards--technical-two-columns .fy-feature-card__technical,
.fy-feature-cards--highlights-feature-grid .fy-feature-card__highlights,
.fy-feature-cards--technical-premium-cards .fy-feature-card__technical {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fy-feature-cards--highlights-three-columns .fy-feature-card__highlights {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fy-feature-cards--technical-stats .fy-feature-card__technical {
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.fy-feature-cards--technical-stats .fy-feature-card__technical-item {
	display: block;
	text-align: center;
}

.fy-feature-cards--technical-stats .fy-feature-card__technical-icon {
	margin-inline: auto;
}

.fy-feature-cards--technical-stats .fy-feature-card__technical-value {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-heading);
	overflow-wrap: anywhere;
}

.fy-feature-card__carousel {
	display: grid;
	gap: var(--fy-space-2);
	grid-auto-columns: minmax(120px, 38%);
	grid-auto-flow: column;
	margin-top: var(--fy-space-5);
	overflow-x: auto;
	padding-bottom: var(--fy-space-1);
	scroll-snap-type: x mandatory;
}

.fy-feature-card__carousel img {
	aspect-ratio: 4 / 3;
	border-radius: var(--fy-radius-md);
	display: block;
	object-fit: cover;
	scroll-snap-align: start;
	width: 100%;
}

.fy-feature-card__gallery-actions {
	margin-top: var(--fy-space-5);
	position: relative;
	z-index: 3;
}

.fy-feature-card__cta {
	color: var(--4yt-card-link);
	display: inline-flex;
	font-weight: var(--fy-font-weight-button);
	margin-top: var(--fy-space-5);
	position: relative;
	text-decoration: none;
	z-index: 3;
}

.fy-feature-cards--description-compact .fy-feature-card__callout,
.fy-feature-cards--description-compact .fy-feature-card__quote,
.fy-feature-cards--description-compact .fy-feature-card__benefits,
.fy-feature-cards--description-compact .fy-feature-card__note {
	display: none;
}

.fy-feature-cards--description-editorial .fy-feature-card__quote {
	background: transparent;
	font-size: var(--fy-font-size-base);
	padding-inline: var(--fy-space-4);
}

.fy-feature-cards--card-light .fy-feature-card,
.fy-feature-cards--preset-cards .fy-feature-card {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 82%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 13%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	--4yt-card-button-bg: var(--fy-color-primary);
	--4yt-card-button-text: var(--fy-color-primary-contrast);
	--4yt-card-button-border: var(--fy-color-primary);
	--4yt-button-bg: var(--fy-color-primary);
	--4yt-button-color: var(--fy-color-primary-contrast);
	--4yt-button-border: var(--fy-color-primary);
	--4yt-button-hover-bg: var(--fy-color-primary-hover);
	--4yt-button-hover-color: var(--fy-color-primary-contrast);
	--4yt-button-hover-border: var(--fy-color-primary-hover);
	--4yt-button-focus-ring: color-mix(in srgb, var(--fy-color-primary) 42%, transparent);
	background: var(--4yt-card-bg);
	border-color: var(--4yt-card-border);
	box-shadow: var(--fy-shadow-sm);
}

.fy-feature-cards--card-paper .fy-feature-card,
.fy-feature-cards--preset-premium .fy-feature-card {
	--4yt-card-bg: var(--fy-color-surface-soft);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-border));
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 14%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	--4yt-card-button-bg: var(--fy-color-primary);
	--4yt-card-button-text: var(--fy-color-primary-contrast);
	--4yt-card-button-border: var(--fy-color-primary);
	--4yt-button-bg: var(--fy-color-primary);
	--4yt-button-color: var(--fy-color-primary-contrast);
	--4yt-button-border: var(--fy-color-primary);
	--4yt-button-hover-bg: var(--fy-color-primary-hover);
	--4yt-button-hover-color: var(--fy-color-primary-contrast);
	--4yt-button-hover-border: var(--fy-color-primary-hover);
	--4yt-button-focus-ring: color-mix(in srgb, var(--fy-color-primary) 42%, transparent);
	background: linear-gradient(180deg, color-mix(in srgb, var(--fy-color-surface) 94%, #ffffff), var(--fy-color-surface-soft));
	border-color: var(--4yt-card-border);
	box-shadow: 0 22px 50px rgb(46 52 64 / 0.12);
}

.fy-feature-cards--card-paper .fy-feature-card::before,
.fy-feature-cards--preset-premium .fy-feature-card::before {
	background: var(--fy-color-primary);
	content: "";
	inset: 0 auto 0 0;
	position: absolute;
	width: 3px;
}

.fy-feature-cards--card-navy .fy-feature-card,
.fy-feature-cards--preset-dark .fy-feature-card {
	--4yt-card-bg: var(--fy-color-secondary);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.08);
	--4yt-card-callout-text: #edf2f7;
	--4yt-card-button-bg: var(--fy-color-primary);
	--4yt-card-button-text: var(--fy-color-secondary);
	--4yt-card-button-border: var(--fy-color-primary);
	--4yt-card-gallery-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-gallery-badge-text: var(--fy-color-secondary);
	--4yt-button-bg: var(--fy-color-primary);
	--4yt-button-color: var(--fy-color-secondary);
	--4yt-button-border: var(--fy-color-primary);
	--4yt-button-hover-bg: color-mix(in srgb, var(--fy-color-primary) 86%, #8a5e00);
	--4yt-button-hover-color: var(--fy-color-secondary);
	--4yt-button-hover-border: color-mix(in srgb, var(--fy-color-primary) 86%, #8a5e00);
	--4yt-button-focus-ring: rgb(255 255 255 / 0.34);
	background: var(--4yt-card-bg);
	border-color: var(--4yt-card-border);
	box-shadow: 0 18px 42px rgb(46 52 64 / 0.2);
	color: var(--4yt-card-text);
}

.fy-feature-cards--card-gold .fy-feature-card {
	--4yt-card-bg: color-mix(in srgb, var(--fy-color-primary) 88%, #ffffff);
	--4yt-card-text: var(--fy-color-primary-contrast);
	--4yt-card-text-muted: color-mix(in srgb, var(--fy-color-primary-contrast) 74%, transparent);
	--4yt-card-heading: var(--fy-color-primary-contrast);
	--4yt-card-accent: var(--fy-color-secondary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-secondary) 24%, transparent);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.72);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-secondary);
	--4yt-card-link: var(--fy-color-secondary);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.28);
	--4yt-card-callout-text: var(--fy-color-primary-contrast);
	--4yt-card-button-bg: var(--fy-color-secondary);
	--4yt-card-button-text: #ffffff;
	--4yt-card-button-border: var(--fy-color-secondary);
	--4yt-card-gallery-badge-bg: var(--fy-color-secondary);
	--4yt-card-gallery-badge-text: #ffffff;
	--4yt-button-bg: var(--fy-color-secondary);
	--4yt-button-color: #ffffff;
	--4yt-button-border: var(--fy-color-secondary);
	--4yt-button-hover-bg: var(--fy-color-secondary-hover);
	--4yt-button-hover-color: #ffffff;
	--4yt-button-hover-border: var(--fy-color-secondary-hover);
	--4yt-button-focus-ring: color-mix(in srgb, var(--fy-color-secondary) 36%, transparent);
	background: color-mix(in srgb, var(--fy-color-primary) 88%, #ffffff);
	border-color: var(--4yt-card-border);
	color: var(--4yt-card-text);
}

.fy-feature-cards--card-outline .fy-feature-card,
.fy-feature-cards--preset-outline .fy-feature-card {
	--4yt-card-bg: transparent;
	--4yt-card-border: color-mix(in srgb, var(--fy-color-secondary) 24%, var(--fy-color-border));
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 10%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: transparent;
	border-color: var(--4yt-card-border);
	box-shadow: none;
}

.fy-feature-cards--card-glass .fy-feature-card {
	--4yt-card-bg: color-mix(in srgb, #ffffff 62%, transparent);
	--4yt-card-border: color-mix(in srgb, #ffffff 58%, var(--fy-color-border));
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-badge-bg: color-mix(in srgb, #ffffff 80%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, #ffffff 52%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: color-mix(in srgb, #ffffff 62%, transparent);
	border-color: var(--4yt-card-border);
	box-shadow: 0 18px 42px rgb(46 52 64 / 0.11);
}

.fy-feature-cards--card-plain .fy-feature-card,
.fy-feature-cards--preset-minimal .fy-feature-card,
.fy-feature-cards--preset-icon-focus .fy-feature-card {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.fy-feature-cards--preset-icon-focus .fy-feature-card {
	align-items: center;
	text-align: center;
}

.fy-feature-cards--preset-icon-focus .fy-feature-card__actions {
	justify-content: center;
}

.fy-feature-cards--preset-icon-focus .fy-feature-card__button {
	align-self: center;
}

.fy-feature-cards--preset-modern .fy-feature-card__icon {
	background: var(--fy-color-secondary);
	border-color: var(--fy-color-secondary);
	color: var(--fy-color-accent);
}

.fy-feature-cards--preset-premium-car-fleet .fy-feature-card,
.fy-feature-cards--preset-travel-types .fy-feature-card,
.fy-feature-cards--preset-hotel .fy-feature-card {
	border-color: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-border));
}

.fy-feature-cards--preset-image-cards .fy-feature-card {
	padding-top: var(--fy-space-5);
}

.fy-feature-cards--radius-none .fy-feature-card,
.fy-feature-cards--radius-none .fy-feature-card__image-wrap {
	border-radius: 0;
}

.fy-feature-cards--radius-small .fy-feature-card,
.fy-feature-cards--radius-small .fy-feature-card__image-wrap {
	border-radius: var(--fy-radius-sm);
}

.fy-feature-cards--radius-medium .fy-feature-card,
.fy-feature-cards--radius-medium .fy-feature-card__image-wrap {
	border-radius: var(--fy-radius-md);
}

.fy-feature-cards--radius-large .fy-feature-card,
.fy-feature-cards--radius-large .fy-feature-card__image-wrap {
	border-radius: var(--fy-radius-lg);
}

.fy-feature-cards--shadow-none .fy-feature-card {
	box-shadow: none;
}

.fy-feature-cards--shadow-subtle .fy-feature-card {
	box-shadow: var(--fy-shadow-sm);
}

.fy-feature-cards--shadow-medium .fy-feature-card {
	box-shadow: var(--fy-shadow-md);
}

.fy-feature-cards--shadow-premium .fy-feature-card {
	box-shadow: 0 22px 50px rgb(46 52 64 / 0.14);
}

.fy-feature-cards--hover-lift .fy-feature-card:hover {
	box-shadow: 0 22px 52px rgb(46 52 64 / 0.14);
	transform: translateY(-3px);
}

.fy-feature-cards--hover-lift .fy-feature-card:focus-within,
.fy-feature-cards--hover-lift .fy-feature-card:focus-visible {
	box-shadow: 0 22px 52px rgb(46 52 64 / 0.14);
	transform: translateY(-3px);
}

.fy-feature-cards--hover-accent .fy-feature-card:hover {
	border-color: color-mix(in srgb, var(--fy-color-primary) 42%, var(--fy-color-border));
	transform: translateY(-2px);
}

.fy-feature-cards--hover-accent .fy-feature-card:focus-within,
.fy-feature-cards--hover-accent .fy-feature-card:focus-visible {
	border-color: color-mix(in srgb, var(--fy-color-primary) 42%, var(--fy-color-border));
	transform: translateY(-2px);
}

.fy-feature-cards--hover-glow .fy-feature-card:hover {
	box-shadow: 0 18px 40px rgb(95 112 128 / 0.2);
	transform: translateY(-2px);
}

.fy-feature-cards--hover-glow .fy-feature-card:focus-within,
.fy-feature-cards--hover-glow .fy-feature-card:focus-visible {
	box-shadow: 0 18px 40px rgb(95 112 128 / 0.2);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.fy-feature-card,
	.fy-feature-card__button {
		transition-duration: 1ms;
	}

	.fy-feature-cards--hover-lift .fy-feature-card:hover,
	.fy-feature-cards--hover-lift .fy-feature-card:focus-within,
	.fy-feature-cards--hover-lift .fy-feature-card:focus-visible,
	.fy-feature-cards--hover-accent .fy-feature-card:hover,
	.fy-feature-cards--hover-accent .fy-feature-card:focus-within,
	.fy-feature-cards--hover-accent .fy-feature-card:focus-visible,
	.fy-feature-cards--hover-glow .fy-feature-card:hover,
	.fy-feature-cards--hover-glow .fy-feature-card:focus-within,
	.fy-feature-cards--hover-glow .fy-feature-card:focus-visible,
	.fy-feature-card__button:hover,
	.fy-feature-card__button:focus,
	.fy-feature-card__button:active {
		transform: none;
	}
}

.fy-feature-cards--animation-fade .fy-feature-card {
	animation: fy-feature-fade 0.45s ease both;
}

.fy-feature-cards--animation-slide .fy-feature-card {
	animation: fy-feature-slide 0.5s ease both;
}

.fy-feature-cards--animation-scale .fy-feature-card {
	animation: fy-feature-scale 0.42s ease both;
}

.fy-feature-cards--button-none .fy-feature-card__button,
.fy-feature-cards--button-card .fy-feature-card__button {
	display: none;
}

.fy-feature-cards--mode-none .fy-feature-card__image-wrap,
.fy-feature-cards--mode-none .fy-feature-card__icon,
.fy-feature-cards--mode-image .fy-feature-card__icon,
.fy-feature-cards--mode-icon .fy-feature-card__image-wrap {
	display: none;
}

.fy-feature-cards--media-image-left .fy-feature-card--image-left,
.fy-feature-cards--media-icon-left .fy-feature-card--icon-left {
	display: grid;
	gap: var(--fy-space-5);
	grid-template-columns: auto minmax(0, 1fr);
}

.fy-feature-cards--media-image-left .fy-feature-card__image-wrap {
	aspect-ratio: 4 / 3;
	border-radius: var(--fy-radius-md);
	height: 100%;
	margin: 0;
	min-height: 150px;
	width: min(220px, 30vw);
}

.fy-feature-cards--media-icon-left .fy-feature-card__icon {
	grid-column: 1;
	margin-bottom: 0;
}

.fy-feature-cards--media-icon-left .fy-feature-card__body {
	display: grid;
	gap: 0 var(--fy-space-4);
	grid-template-columns: auto minmax(0, 1fr);
}

.fy-feature-cards--media-icon-left .fy-feature-card__icon {
	grid-row: 1 / span 5;
}

.fy-feature-cards--media-icon-left .fy-feature-card__meta,
.fy-feature-cards--media-icon-left .fy-feature-card__eyebrow,
.fy-feature-cards--media-icon-left .fy-feature-card__title,
.fy-feature-cards--media-icon-left .fy-feature-card__text,
.fy-feature-cards--media-icon-left .fy-feature-card__actions {
	grid-column: 2;
}

.fy-feature-cards--layout-slider .fy-feature-cards__grid {
	display: flex;
	overflow-x: auto;
	padding-bottom: var(--fy-space-2);
	scroll-snap-type: x mandatory;
}

.fy-feature-cards--layout-slider .fy-feature-card {
	flex: 0 0 min(360px, 86vw);
	scroll-snap-align: start;
}

.fy-feature-cards--layout-masonry .fy-feature-cards__grid {
	column-count: 1;
	display: block;
}

.fy-feature-cards--layout-masonry .fy-feature-card {
	break-inside: avoid;
	margin-bottom: var(--fy-space-5);
}

@keyframes fy-feature-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fy-feature-slide {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fy-feature-scale {
	from {
		opacity: 0;
		transform: scale(0.96);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.fy-booking-modal {
	--fy-booking-modal-width: 90vw;
	--fy-booking-modal-height: 90vh;
}

.fy-timeline {
	--fy-timeline-card-padding: var(--fy-space-5);
	--fy-timeline-date-axis-width: min(14rem, 38vw);
	--fy-timeline-gap: var(--fy-space-6);
	--fy-timeline-line: color-mix(in srgb, var(--fy-color-border) 80%, transparent);
	--fy-timeline-marker-gap: var(--fy-space-4);
	--fy-timeline-marker-size: 3rem;
	color: var(--fy-color-text);
	margin-block: var(--fy-space-12);
}

.fy-timeline--padding-none {
	--fy-timeline-card-padding: 0;
}

.fy-timeline--padding-small {
	--fy-timeline-card-padding: var(--fy-space-3);
}

.fy-timeline--padding-medium,
.fy-timeline--padding-default {
	--fy-timeline-card-padding: var(--fy-space-5);
}

.fy-timeline--padding-large {
	--fy-timeline-card-padding: var(--fy-space-8);
}

.fy-timeline--density-compact {
	--fy-timeline-gap: var(--fy-space-4);
}

.fy-timeline--density-spacious {
	--fy-timeline-gap: var(--fy-space-8);
}

.fy-timeline--line-gold {
	--fy-timeline-line: color-mix(in srgb, var(--fy-color-primary) 70%, var(--fy-color-border));
}

.fy-timeline--line-dotted {
	--fy-timeline-line-style: dotted;
}

.fy-timeline--layout-minimal {
	--fy-timeline-card-padding: var(--fy-space-2) 0 var(--fy-space-4);
	--fy-timeline-gap: var(--fy-space-4);
	--fy-timeline-line: color-mix(in srgb, var(--fy-color-muted) 30%, transparent);
	--fy-timeline-marker-gap: var(--fy-space-3);
	--fy-timeline-marker-size: 1.35rem;
}

.fy-timeline--layout-luxury {
	--fy-timeline-card-padding: var(--fy-space-8);
	--fy-timeline-date-axis-width: min(15rem, 40vw);
	--fy-timeline-gap: var(--fy-space-10);
	--fy-timeline-line: color-mix(in srgb, var(--fy-color-primary) 78%, transparent);
	--fy-timeline-marker-gap: var(--fy-space-6);
	--fy-timeline-marker-size: 3.3rem;
	background: linear-gradient(135deg, var(--fy-color-bg-dark), var(--fy-color-secondary-hover));
	border-radius: var(--fy-radius-xl);
	color: #edf2f7;
	padding-block: var(--fy-space-12);
}

.fy-timeline--layout-cards {
	--fy-timeline-card-padding: var(--fy-space-6);
	--fy-timeline-gap: var(--fy-space-5);
	--fy-timeline-marker-size: 2.7rem;
}

.fy-timeline__container {
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-timeline--container-wide .fy-timeline__container {
	max-width: var(--fy-container-xl);
}

.fy-timeline--container-full .fy-timeline__container {
	max-width: none;
}

.fy-timeline--width-narrow .fy-timeline__container {
	max-width: var(--fy-container-sm);
}

.fy-timeline--width-medium .fy-timeline__container {
	max-width: var(--fy-container-md);
}

.fy-timeline__header {
	margin-bottom: var(--fy-space-8);
	max-width: 760px;
}

.fy-timeline--align-center .fy-timeline__header {
	margin-inline: auto;
	text-align: center;
}

.fy-timeline__eyebrow {
	color: var(--fy-color-primary);
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-badge);
	letter-spacing: 0;
	margin: 0 0 var(--fy-space-2);
	text-transform: uppercase;
}

.fy-timeline__title {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-timeline__intro {
	color: var(--fy-color-muted);
	font-size: var(--fy-font-size-lg);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-space-3);
}

.fy-timeline__track {
	display: grid;
	gap: var(--fy-timeline-gap);
	position: relative;
}

.fy-timeline--layout-cards .fy-timeline__track {
	gap: var(--fy-space-5);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.fy-timeline__track::before {
	border-left: 2px var(--fy-timeline-line-style, solid) var(--fy-timeline-line);
	content: "";
	inset: 0 auto 0 calc(var(--fy-timeline-marker-size) / 2);
	position: absolute;
	z-index: 0;
}

.fy-timeline--layout-cards .fy-timeline__track::before {
	display: none;
}

.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline__track::before {
	inset: 0 auto 0 calc(var(--fy-timeline-date-axis-width) / 2);
}

.fy-timeline-item {
	display: grid;
	gap: var(--fy-timeline-marker-gap);
	grid-template-columns: minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
	position: relative;
	z-index: 1;
}

.fy-timeline--layout-cards .fy-timeline-item {
	display: flex;
	flex-direction: column;
	gap: var(--fy-space-3);
	position: relative;
}

.fy-timeline--layout-cards .fy-timeline-item:not(:last-child)::after {
	background: color-mix(in srgb, var(--fy-color-primary) 30%, transparent);
	content: "";
	height: 1px;
	left: calc(50% + var(--fy-timeline-marker-size));
	position: absolute;
	right: calc(-1 * var(--fy-space-5));
	top: calc(var(--fy-timeline-marker-size) / 2);
	z-index: 0;
}

.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item {
	grid-template-columns: var(--fy-timeline-date-axis-width) minmax(0, 1fr);
}

.fy-timeline-item__marker {
	align-self: start;
	display: flex;
	justify-content: center;
	min-width: var(--fy-timeline-marker-size);
	position: relative;
	z-index: 2;
}

.fy-timeline--layout-cards .fy-timeline-item__marker {
	justify-content: flex-start;
	min-width: 0;
	width: auto;
}

.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item__marker {
	min-width: 0;
	width: var(--fy-timeline-date-axis-width);
}

.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item__marker::before {
	display: none;
}

.fy-timeline-item__marker-inner {
	align-items: center;
	background: var(--fy-color-surface);
	border: 1px solid color-mix(in srgb, var(--fy-color-primary) 34%, var(--fy-color-border));
	border-radius: 999px;
	box-sizing: border-box;
	box-shadow: var(--fy-shadow-sm);
	color: var(--fy-color-primary);
	display: inline-flex;
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-badge);
	justify-content: center;
	line-height: 1;
	min-height: var(--fy-timeline-marker-size);
	min-width: var(--fy-timeline-marker-size);
	padding: var(--fy-space-2) var(--fy-space-4);
	position: relative;
	white-space: nowrap;
	width: auto;
	z-index: 2;
}

.fy-timeline--layout-minimal .fy-timeline-item:not(.fy-timeline-item--marker-date) .fy-timeline-item__marker-inner {
	background: var(--fy-color-bg);
	border-color: color-mix(in srgb, var(--fy-color-muted) 28%, transparent);
	box-shadow: none;
	color: var(--fy-color-muted);
	font-size: 0;
	min-height: var(--fy-timeline-marker-size);
	min-width: var(--fy-timeline-marker-size);
	padding: 0;
}

.fy-timeline--layout-luxury .fy-timeline-item__marker-inner {
	background: var(--fy-color-bg-dark);
	border-color: color-mix(in srgb, var(--fy-color-primary) 62%, transparent);
	box-shadow: 0 0 0 6px rgb(244 121 32 / 0.1), var(--fy-shadow-md);
	color: var(--fy-color-primary);
}

.fy-timeline--layout-cards .fy-timeline-item__marker-inner {
	background: var(--fy-color-secondary);
	border-color: color-mix(in srgb, var(--fy-color-primary) 36%, transparent);
	box-shadow: none;
	color: var(--fy-color-accent);
}

.fy-timeline-item--marker-icon .fy-timeline-item__marker-inner,
.fy-timeline-item--marker-number .fy-timeline-item__marker-inner,
.fy-timeline-item--marker-dot .fy-timeline-item__marker-inner,
.fy-timeline-item--date-marker-circle:not(.fy-timeline-item--marker-date) .fy-timeline-item__marker-inner {
	aspect-ratio: 1;
	height: var(--fy-timeline-marker-size);
	padding: 0;
	width: var(--fy-timeline-marker-size);
}

.fy-timeline-item--marker-date .fy-timeline-item__marker-inner {
	aspect-ratio: auto;
	height: auto;
	max-width: none;
	min-height: var(--fy-timeline-marker-size);
	min-width: var(--fy-timeline-marker-size);
	overflow: visible;
	padding-inline: var(--fy-space-4);
	text-overflow: clip;
	white-space: nowrap;
	width: max-content;
}

.fy-timeline-item--marker-date.fy-timeline-item--date-marker-plain .fy-timeline-item__marker-inner {
	background: var(--fy-color-bg);
	border-color: transparent;
	box-shadow: none;
}

.fy-timeline-item--marker-date.fy-timeline-item--date-marker-circle .fy-timeline-item__marker-inner {
	aspect-ratio: auto;
	height: auto;
}

.fy-timeline-item__card {
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 84%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: var(--4yt-card-bg);
	border: 1px solid var(--4yt-card-border);
	border-radius: var(--fy-radius-lg);
	box-shadow: var(--fy-shadow-sm);
	color: var(--4yt-card-text);
	display: grid;
	gap: var(--fy-space-4);
	min-width: 0;
	overflow: hidden;
	padding: var(--fy-timeline-card-padding);
	transition: border-color var(--fy-transition-fast), box-shadow var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-timeline--layout-minimal .fy-timeline-item__card {
	background: transparent;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--fy-color-muted) 18%, transparent);
	border-radius: 0;
	box-shadow: none;
	gap: var(--fy-space-2);
	padding-inline: 0;
}

.fy-timeline--layout-minimal .fy-timeline-item__meta {
	margin-bottom: 0;
}

.fy-timeline--layout-minimal .fy-timeline-item h3 {
	font-size: var(--fy-font-size-lg);
}

.fy-timeline--layout-minimal .fy-timeline-item__description {
	font-size: var(--fy-font-size-sm);
	margin-top: var(--fy-space-2);
}

.fy-timeline--layout-luxury .fy-timeline-item__card {
	background: linear-gradient(180deg, color-mix(in srgb, var(--fy-color-secondary-hover) 82%, #ffffff), var(--fy-color-secondary));
	border-color: rgb(255 255 255 / 0.18);
	box-shadow: 0 30px 70px rgb(0 0 0 / 0.24);
	color: #edf2f7;
}

.fy-timeline--layout-luxury .fy-timeline-item__media {
	border: 1px solid rgb(255 255 255 / 0.16);
	border-radius: var(--fy-radius-lg);
}

.fy-timeline--layout-luxury .fy-timeline-item__meta {
	margin-bottom: var(--fy-space-3);
}

.fy-timeline--layout-luxury .fy-timeline-item h3 {
	font-size: clamp(1.6rem, 2.4vw, 2.3rem);
}

.fy-timeline--layout-luxury .fy-timeline-item__description {
	font-size: var(--fy-font-size-lg);
}

.fy-timeline--layout-cards .fy-timeline-item__card {
	height: 100%;
	padding-top: calc(var(--fy-timeline-card-padding) + var(--fy-space-2));
}

.fy-timeline--layout-cards .fy-timeline-item__marker {
	margin-bottom: calc(var(--fy-timeline-marker-size) * -0.65);
	margin-left: var(--fy-space-5);
}

.fy-timeline-item__card:hover {
	border-color: color-mix(in srgb, var(--fy-color-primary) 36%, var(--fy-color-border));
	transform: translateY(-2px);
}

.fy-timeline-item__media {
	aspect-ratio: 16 / 9;
	background: var(--fy-color-surface-soft);
	border-radius: var(--fy-radius-md);
	overflow: hidden;
	position: relative;
}

.fy-timeline-item__media img,
.fy-timeline-item__carousel img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fy-timeline--ratio-4-3 .fy-timeline-item__media {
	aspect-ratio: 4 / 3;
}

.fy-timeline--ratio-1-1 .fy-timeline-item__media {
	aspect-ratio: 1 / 1;
}

.fy-timeline--ratio-wide .fy-timeline-item__media {
	aspect-ratio: 21 / 9;
}

.fy-timeline-item__gallery-badge,
.fy-timeline-item__gallery-icon {
	align-items: center;
	background: rgb(46 52 64 / 0.82);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	gap: var(--fy-space-1);
	position: absolute;
	text-decoration: none;
	z-index: 2;
}

.fy-timeline-item__gallery-badge {
	left: var(--fy-space-3);
	padding: 0.42rem 0.68rem;
	top: var(--fy-space-3);
}

.fy-timeline-item__gallery-icon {
	bottom: var(--fy-space-3);
	height: 2.35rem;
	justify-content: center;
	right: var(--fy-space-3);
	width: 2.35rem;
}

.fy-timeline-item__meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-2);
	margin-bottom: var(--fy-space-2);
}

.fy-timeline-item__meta strong {
	color: var(--4yt-card-accent);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-heading);
	line-height: 1;
}

.fy-timeline-item__meta span,
.fy-timeline-item__meta em {
	background: var(--4yt-card-badge-bg);
	border-radius: 999px;
	color: var(--4yt-card-badge-text);
	font-size: var(--fy-font-size-xs);
	font-style: normal;
	font-weight: var(--fy-font-weight-badge);
	padding: 0.35rem 0.62rem;
}

.fy-timeline-item h3 {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-timeline-item__subtitle {
	color: var(--4yt-card-heading);
	margin: var(--fy-space-2) 0 0;
}

.fy-timeline-item__description {
	color: var(--4yt-card-text-muted);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-space-3);
	overflow-wrap: anywhere;
}

.fy-timeline-item__links,
.fy-timeline-item__gallery-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-3);
	margin-top: var(--fy-space-4);
}

.fy-timeline-item__links a,
.fy-timeline-item__place {
	color: var(--4yt-card-link);
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-meta);
	text-decoration: none;
}

.fy-timeline-item__button {
	align-self: flex-start;
	margin-top: var(--fy-space-5);
}

.fy-timeline-item__carousel {
	display: grid;
	gap: var(--fy-space-2);
	grid-auto-columns: minmax(120px, 34%);
	grid-auto-flow: column;
	margin-top: var(--fy-space-4);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.fy-timeline-item__carousel img {
	aspect-ratio: 4 / 3;
	border-radius: var(--fy-radius-md);
	scroll-snap-align: start;
}

.fy-timeline--media-left .fy-timeline-item__card,
.fy-timeline--media-right .fy-timeline-item__card {
	grid-template-columns: minmax(180px, 0.38fr) minmax(0, 1fr);
}

.fy-timeline--media-right .fy-timeline-item__media {
	order: 2;
}

.fy-timeline--card-paper .fy-timeline-item__card {
	--4yt-card-bg: var(--fy-color-surface-soft);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-border));
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 14%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	--4yt-card-callout-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-callout-text: var(--fy-color-heading);
	background: linear-gradient(180deg, color-mix(in srgb, var(--fy-color-surface) 94%, #ffffff), var(--fy-color-surface-soft));
	box-shadow: 0 22px 50px rgb(46 52 64 / 0.12);
}

.fy-timeline--card-navy .fy-timeline-item__card,
.fy-timeline--template-luxury .fy-timeline-item__card {
	--4yt-card-bg: var(--fy-color-secondary);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	--4yt-card-callout-bg: rgb(255 255 255 / 0.08);
	--4yt-card-callout-text: #edf2f7;
	background: var(--4yt-card-bg);
	border-color: var(--4yt-card-border);
	color: var(--4yt-card-text);
}

.fy-timeline--card-outline .fy-timeline-item__card {
	--4yt-card-bg: transparent;
	--4yt-card-border: color-mix(in srgb, var(--fy-color-secondary) 24%, var(--fy-color-border));
	background: transparent;
	border-color: var(--4yt-card-border);
	box-shadow: none;
}

.fy-timeline--card-glass .fy-timeline-item__card {
	--4yt-card-bg: color-mix(in srgb, #ffffff 62%, transparent);
	--4yt-card-border: color-mix(in srgb, #ffffff 58%, var(--fy-color-border));
	background: color-mix(in srgb, #ffffff 62%, transparent);
	border-color: var(--4yt-card-border);
}

.fy-timeline--card-plain .fy-timeline-item__card,
.fy-timeline--template-minimal .fy-timeline-item__card {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.fy-timeline--shadow-none .fy-timeline-item__card {
	box-shadow: none;
}

.fy-timeline--shadow-medium .fy-timeline-item__card {
	box-shadow: var(--fy-shadow-md);
}

.fy-timeline--shadow-premium .fy-timeline-item__card {
	box-shadow: 0 24px 56px rgb(46 52 64 / 0.16);
}

.fy-timeline--layout-horizontal .fy-timeline__track,
.fy-timeline--layout-roadmap .fy-timeline__track {
	display: flex;
	overflow-x: auto;
	padding-bottom: var(--fy-space-3);
	padding-top: var(--fy-space-1);
	scroll-snap-type: x mandatory;
}

.fy-timeline--layout-horizontal .fy-timeline__track::before,
.fy-timeline--layout-roadmap .fy-timeline__track::before {
	border-left: 0;
	border-top: 2px var(--fy-timeline-line-style, solid) var(--fy-timeline-line);
	inset: calc(var(--fy-timeline-marker-size) / 2) 0 auto 0;
}

.fy-timeline--layout-horizontal .fy-timeline-item,
.fy-timeline--layout-roadmap .fy-timeline-item {
	flex: 0 0 min(380px, 86vw);
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	scroll-snap-align: start;
}

.fy-timeline--layout-horizontal .fy-timeline-item__marker,
.fy-timeline--layout-roadmap .fy-timeline-item__marker {
	justify-content: center;
	min-width: 0;
	width: 100%;
}

.fy-timeline--layout-horizontal .fy-timeline-item__card,
.fy-timeline--layout-roadmap .fy-timeline-item__card {
	width: 100%;
}

.fy-timeline--layout-alternating .fy-timeline-item {
	grid-template-columns: minmax(0, 1fr) minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
}

.fy-timeline--layout-alternating.fy-timeline--marker-date {
	--fy-timeline-marker-gap: var(--fy-space-5);
}

.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline-item {
	grid-template-columns: minmax(0, 1fr) minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
}

.fy-timeline--layout-alternating.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item {
	grid-template-columns: minmax(0, 1fr) minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
}

.fy-timeline--layout-alternating .fy-timeline__track::before {
	left: 50%;
}

.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline__track::before {
	inset: 0 auto 0 50%;
}

.fy-timeline--layout-alternating.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline__track::before {
	inset: 0 auto 0 50%;
}

.fy-timeline--layout-alternating .fy-timeline-item__marker {
	grid-column: 2;
	justify-content: center;
	min-width: 0;
	width: auto;
}

.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline-item__marker {
	width: auto;
}

.fy-timeline--layout-alternating .fy-timeline-item__card {
	grid-column: 3;
	justify-self: stretch;
	max-width: 38rem;
	min-width: 0;
	width: 100%;
}

.fy-timeline--layout-alternating .fy-timeline-item:nth-child(even) .fy-timeline-item__card {
	grid-column: 1;
	grid-row: 1;
	justify-self: stretch;
	min-width: 0;
	width: 100%;
}

.fy-timeline--layout-alternating.fy-timeline--media-left .fy-timeline-item__card,
.fy-timeline--layout-alternating.fy-timeline--media-right .fy-timeline-item__card {
	grid-template-columns: minmax(0, 1fr);
}

.fy-timeline--layout-alternating .fy-timeline-item__content {
	min-width: 0;
}

.fy-timeline--layout-alternating .fy-timeline-item__meta {
	min-width: 0;
}

.fy-timeline--layout-alternating .fy-timeline-item__meta span,
.fy-timeline--layout-alternating .fy-timeline-item__meta em {
	overflow-wrap: anywhere;
	white-space: normal;
}

.fy-timeline--animation-fade .fy-timeline-item {
	animation: fy-feature-fade 0.45s ease both;
}

.fy-timeline--animation-slide .fy-timeline-item {
	animation: fy-feature-slide 0.5s ease both;
}

.fy-timeline--animation-scale .fy-timeline-item {
	animation: fy-feature-scale 0.42s ease both;
}

@media (max-width: 959px) {
	.fy-timeline--layout-alternating .fy-timeline-item,
	.fy-timeline-item,
	.fy-timeline--media-left .fy-timeline-item__card,
	.fy-timeline--media-right .fy-timeline-item__card {
		grid-template-columns: minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
	}

	.fy-timeline--layout-alternating .fy-timeline__track::before {
		left: calc(var(--fy-timeline-marker-size) / 2);
	}

	.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline__track::before {
		left: calc(var(--fy-timeline-date-axis-width) / 2);
	}

	.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item {
		grid-template-columns: var(--fy-timeline-date-axis-width) minmax(0, 1fr);
	}

	.fy-timeline--layout-alternating .fy-timeline-item__marker,
	.fy-timeline--layout-alternating .fy-timeline-item__card {
		grid-column: auto;
		grid-row: auto;
	}

	.fy-timeline--media-left .fy-timeline-item__card,
	.fy-timeline--media-right .fy-timeline-item__card {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-timeline--media-right .fy-timeline-item__media {
		order: 0;
	}
}

@media (max-width: 1099px) {
	.fy-timeline--layout-alternating {
		--fy-timeline-date-axis-width: min(13rem, 34vw);
	}

	.fy-timeline--layout-alternating .fy-timeline__track::before,
	.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline__track::before {
		left: calc(var(--fy-timeline-date-axis-width) / 2);
	}

	.fy-timeline--layout-alternating .fy-timeline-item,
	.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline-item {
		grid-template-columns: var(--fy-timeline-date-axis-width) minmax(0, 1fr);
	}

	.fy-timeline--layout-alternating .fy-timeline-item__marker {
		grid-column: 1;
		grid-row: 1;
		width: var(--fy-timeline-date-axis-width);
	}

	.fy-timeline--layout-alternating .fy-timeline-item__card,
	.fy-timeline--layout-alternating .fy-timeline-item:nth-child(even) .fy-timeline-item__card {
		grid-column: 2;
		grid-row: 1;
		justify-self: stretch;
		max-width: none;
		width: 100%;
	}

	.fy-timeline--layout-alternating.fy-timeline--media-left .fy-timeline-item__card,
	.fy-timeline--layout-alternating.fy-timeline--media-right .fy-timeline-item__card {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-timeline--layout-alternating.fy-timeline--media-right .fy-timeline-item__media {
		order: 0;
	}
}

@media (min-width: 1280px) {
	.fy-timeline--layout-alternating.fy-timeline--media-left .fy-timeline-item__card,
	.fy-timeline--layout-alternating.fy-timeline--media-right .fy-timeline-item__card {
		grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.fy-timeline {
		--fy-timeline-card-padding: var(--fy-space-4);
		--fy-timeline-date-axis-width: min(100%, 14rem);
		--fy-timeline-gap: var(--fy-space-5);
		--fy-timeline-marker-gap: var(--fy-space-3);
		--fy-timeline-marker-size: 2.6rem;
		margin-block: var(--fy-space-8);
	}

	.fy-timeline__container {
		padding-inline: var(--fy-space-3);
	}

	.fy-timeline__header {
		margin-bottom: var(--fy-space-5);
	}

	.fy-timeline__title {
		font-size: clamp(1.8rem, 9vw, 2.6rem);
	}

	.fy-timeline__intro {
		font-size: var(--fy-font-size-base);
	}

	.fy-timeline-item {
		gap: var(--fy-space-3);
	}

	.fy-timeline-item--marker-date .fy-timeline-item__marker-inner {
		font-size: var(--fy-font-size-xs);
		max-width: none;
		min-height: var(--fy-timeline-marker-size);
		padding: var(--fy-space-2) var(--fy-space-3);
	}

	.fy-timeline--layout-horizontal .fy-timeline__track {
		display: grid;
		overflow-x: visible;
		padding-block: 0;
		scroll-snap-type: none;
	}

	.fy-timeline--layout-horizontal .fy-timeline__track::before {
		border-left: 2px var(--fy-timeline-line-style, solid) var(--fy-timeline-line);
		border-top: 0;
		inset: 0 auto 0 calc(var(--fy-timeline-marker-size) / 2);
	}

	.fy-timeline--layout-horizontal.fy-timeline--marker-date .fy-timeline__track::before {
		inset: 0 auto 0 calc(var(--fy-timeline-date-axis-width) / 2);
	}

	.fy-timeline--layout-horizontal .fy-timeline-item {
		display: grid;
		flex: none;
		grid-template-columns: minmax(var(--fy-timeline-marker-size), max-content) minmax(0, 1fr);
		justify-items: stretch;
		scroll-snap-align: none;
	}

	.fy-timeline--layout-horizontal.fy-timeline--marker-date .fy-timeline-item {
		grid-template-columns: var(--fy-timeline-date-axis-width) minmax(0, 1fr);
	}

	.fy-timeline--layout-horizontal .fy-timeline-item__marker {
		justify-content: center;
		min-width: var(--fy-timeline-marker-size);
		width: auto;
	}

	.fy-timeline--layout-horizontal.fy-timeline--marker-date .fy-timeline-item__marker {
		min-width: 0;
		width: var(--fy-timeline-date-axis-width);
	}

	.fy-timeline--layout-cards .fy-timeline__track {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-timeline--layout-cards .fy-timeline-item:not(:last-child)::after {
		display: none;
	}

	.fy-timeline--layout-cards .fy-timeline-item__marker {
		margin-left: var(--fy-space-4);
	}

	.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline__track::before {
		border-left: 2px var(--fy-timeline-line-style, solid) var(--fy-timeline-line);
		inset: 0 auto 0 calc(var(--fy-timeline-date-axis-width) / 2);
	}

	.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item__marker {
		justify-content: center;
		width: var(--fy-timeline-date-axis-width);
	}

	.fy-timeline--marker-date:not(.fy-timeline--layout-horizontal):not(.fy-timeline--layout-roadmap) .fy-timeline-item__marker::before {
		display: none;
	}

	.fy-timeline--layout-alternating .fy-timeline-item,
	.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline-item {
		grid-template-columns: minmax(0, 1fr);
	}

	.fy-timeline--layout-alternating .fy-timeline__track::before,
	.fy-timeline--layout-alternating.fy-timeline--marker-date .fy-timeline__track::before {
		inset: 0 auto 0 calc(var(--fy-timeline-date-axis-width) / 2);
	}

	.fy-timeline--layout-alternating .fy-timeline-item__marker {
		grid-column: 1;
		grid-row: 1;
		width: var(--fy-timeline-date-axis-width);
	}

	.fy-timeline--layout-alternating .fy-timeline-item__card,
	.fy-timeline--layout-alternating .fy-timeline-item:nth-child(even) .fy-timeline-item__card {
		grid-column: 1;
		grid-row: 2;
		justify-self: stretch;
		max-width: none;
		width: 100%;
	}
}

.fy-space-top-small {
	margin-top: var(--fy-space-2);
}

.fy-space-top-medium {
	margin-top: var(--fy-space-4);
}

.fy-space-top-large {
	margin-top: var(--fy-space-6);
}

.fy-space-bottom-small {
	margin-bottom: var(--fy-space-2);
}

.fy-space-bottom-medium {
	margin-bottom: var(--fy-space-4);
}

.fy-space-bottom-large {
	margin-bottom: var(--fy-space-6);
}

.fy-statistics {
	--fy-stat-columns: 4;
	--fy-stat-gap: var(--fy-space-5);
	--fy-stat-padding: var(--fy-space-5);
	--fy-stat-radius: var(--fy-radius-lg);
	--fy-stat-shadow: var(--fy-shadow-sm);
	--fy-stat-number-size: clamp(2.5rem, 5vw, 4.8rem);
	--fy-stat-icon-size: 2.75rem;
	--4yt-card-bg: var(--fy-color-surface);
	--4yt-card-text: var(--fy-color-text);
	--4yt-card-text-muted: var(--fy-color-muted);
	--4yt-card-heading: var(--fy-color-heading);
	--4yt-card-accent: var(--fy-color-primary);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-border) 84%, transparent);
	--4yt-card-badge-bg: color-mix(in srgb, var(--fy-color-primary) 12%, transparent);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-primary);
	--4yt-card-link: var(--fy-color-link);
	color: var(--fy-color-text);
	margin-block: var(--fy-space-10);
}

.fy-statistics__container {
	margin-inline: auto;
	max-width: var(--fy-container-lg);
	min-width: 0;
	padding-inline: var(--fy-space-4);
	width: 100%;
}

.fy-statistics--container-wide .fy-statistics__container {
	max-width: var(--fy-container-xl);
}

.fy-statistics--container-full .fy-statistics__container {
	max-width: none;
}

.fy-statistics__header {
	margin-bottom: var(--fy-space-7);
	max-width: 760px;
}

.fy-statistics--align-center .fy-statistics__header {
	margin-inline: auto;
	text-align: center;
}

.fy-statistics__eyebrow {
	color: var(--fy-color-primary);
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-badge);
	letter-spacing: 0;
	margin: 0 0 var(--fy-space-2);
	text-transform: uppercase;
}

.fy-statistics__title {
	color: var(--fy-color-heading);
	font-family: var(--fy-font-family-heading);
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-statistics__intro {
	color: var(--fy-color-muted);
	font-size: var(--fy-font-size-lg);
	line-height: var(--fy-line-height-relaxed);
	margin-top: var(--fy-space-3);
}

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

.fy-statistics--columns-1 {
	--fy-stat-columns: 1;
}

.fy-statistics--columns-2 {
	--fy-stat-columns: 2;
}

.fy-statistics--columns-3 {
	--fy-stat-columns: 3;
}

.fy-statistics--columns-4 {
	--fy-stat-columns: 4;
}

.fy-statistics--columns-5 {
	--fy-stat-columns: 5;
}

.fy-statistics--columns-6 {
	--fy-stat-columns: 6;
}

.fy-statistics--columns-auto .fy-statistics__grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.fy-statistics--gap-small {
	--fy-stat-gap: var(--fy-space-3);
}

.fy-statistics--gap-large {
	--fy-stat-gap: var(--fy-space-7);
}

.fy-statistics--padding-none {
	--fy-stat-padding: 0;
}

.fy-statistics--padding-small {
	--fy-stat-padding: var(--fy-space-3);
}

.fy-statistics--padding-large {
	--fy-stat-padding: var(--fy-space-7);
}

.fy-statistics--radius-none {
	--fy-stat-radius: 0;
}

.fy-statistics--radius-small {
	--fy-stat-radius: var(--fy-radius-sm);
}

.fy-statistics--radius-medium {
	--fy-stat-radius: var(--fy-radius-md);
}

.fy-statistics--radius-large {
	--fy-stat-radius: var(--fy-radius-lg);
}

.fy-statistics--shadow-none {
	--fy-stat-shadow: none;
}

.fy-statistics--shadow-subtle {
	--fy-stat-shadow: var(--fy-shadow-sm);
}

.fy-statistics--shadow-medium {
	--fy-stat-shadow: var(--fy-shadow-md);
}

.fy-statistics--shadow-premium {
	--fy-stat-shadow: 0 24px 56px rgb(46 52 64 / 0.16);
}

.fy-statistics--number-medium {
	--fy-stat-number-size: clamp(2rem, 3.6vw, 3.2rem);
}

.fy-statistics--number-large {
	--fy-stat-number-size: clamp(2.4rem, 4.5vw, 4rem);
}

.fy-statistics--number-xlarge {
	--fy-stat-number-size: clamp(2.8rem, 5.8vw, 5.4rem);
}

.fy-statistics--icon-small {
	--fy-stat-icon-size: 2.2rem;
}

.fy-statistics--icon-large {
	--fy-stat-icon-size: 3.3rem;
}

.fy-statistics-item {
	background: var(--4yt-card-bg);
	border: 1px solid var(--4yt-card-border);
	border-radius: var(--fy-stat-radius);
	box-shadow: var(--fy-stat-shadow);
	box-sizing: border-box;
	color: var(--4yt-card-text);
	display: grid;
	gap: var(--fy-space-3);
	min-width: 0;
	overflow: hidden;
	padding: var(--fy-stat-padding);
	position: relative;
	transition: border-color var(--fy-transition-fast), box-shadow var(--fy-transition-fast), transform var(--fy-transition-fast);
}

.fy-statistics--hover-lift .fy-statistics-item:hover {
	transform: translateY(-3px);
}

.fy-statistics--hover-accent .fy-statistics-item::after {
	background: var(--4yt-card-accent);
	content: "";
	height: 3px;
	inset: auto var(--fy-stat-padding) 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--fy-transition-fast);
}

.fy-statistics--hover-accent .fy-statistics-item:hover::after {
	transform: scaleX(1);
}

.fy-statistics--card-plain .fy-statistics-item,
.fy-statistics--layout-classic .fy-statistics-item,
.fy-statistics--layout-minimal .fy-statistics-item {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.fy-statistics--card-paper .fy-statistics-item,
.fy-statistics--template-premium .fy-statistics-item {
	--4yt-card-bg: var(--fy-color-surface-soft);
	--4yt-card-border: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-border));
	background: linear-gradient(180deg, color-mix(in srgb, var(--fy-color-surface) 94%, #ffffff), var(--fy-color-surface-soft));
}

.fy-statistics--card-navy .fy-statistics-item,
.fy-statistics--layout-kpi-dashboard .fy-statistics-item {
	--4yt-card-bg: var(--fy-color-secondary);
	--4yt-card-text: #edf2f7;
	--4yt-card-text-muted: #b9c6d4;
	--4yt-card-heading: #fffaf0;
	--4yt-card-accent: var(--fy-color-accent);
	--4yt-card-border: rgb(255 255 255 / 0.18);
	--4yt-card-badge-bg: rgb(255 255 255 / 0.9);
	--4yt-card-badge-text: var(--fy-color-secondary);
	--4yt-card-icon: var(--fy-color-accent);
	--4yt-card-link: var(--fy-color-accent);
	background: var(--4yt-card-bg);
	color: var(--4yt-card-text);
}

.fy-statistics--card-outline .fy-statistics-item {
	--4yt-card-bg: transparent;
	--4yt-card-border: color-mix(in srgb, var(--fy-color-secondary) 24%, var(--fy-color-border));
	box-shadow: none;
}

.fy-statistics--card-glass .fy-statistics-item {
	--4yt-card-bg: color-mix(in srgb, #ffffff 62%, transparent);
	--4yt-card-border: color-mix(in srgb, #ffffff 58%, var(--fy-color-border));
	backdrop-filter: blur(14px);
}

.fy-statistics--card-gold .fy-statistics-item {
	--4yt-card-bg: color-mix(in srgb, var(--fy-color-primary) 18%, var(--fy-color-surface));
	--4yt-card-border: color-mix(in srgb, var(--fy-color-primary) 46%, var(--fy-color-border));
	--4yt-card-accent: var(--fy-color-secondary);
	--4yt-card-badge-bg: var(--fy-color-secondary);
	--4yt-card-badge-text: #ffffff;
}

.fy-statistics--layout-minimal .fy-statistics__grid {
	border-block: 1px solid color-mix(in srgb, var(--fy-color-border) 80%, transparent);
	padding-block: var(--fy-space-5);
}

.fy-statistics--layout-minimal .fy-statistics-item {
	gap: var(--fy-space-1);
	padding-block: var(--fy-space-2);
}

.fy-statistics--layout-kpi-dashboard .fy-statistics__grid {
	grid-template-columns: repeat(var(--fy-stat-columns), minmax(min(100%, 300px), 1fr));
}

.fy-statistics--layout-kpi-dashboard .fy-statistics-item {
	gap: var(--fy-space-4);
}

.fy-statistics--align-center .fy-statistics-item {
	text-align: center;
}

.fy-statistics--align-center .fy-statistics-item__topline {
	justify-content: center;
}

.fy-statistics-item__media {
	aspect-ratio: 16 / 9;
	background: var(--fy-color-surface-soft);
	border-radius: max(0px, calc(var(--fy-stat-radius) - 4px));
	overflow: hidden;
}

.fy-statistics-item__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fy-statistics-item__topline {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fy-space-2);
	justify-content: space-between;
	min-width: 0;
}

.fy-statistics-item__icon {
	align-items: center;
	background: color-mix(in srgb, var(--4yt-card-accent) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--4yt-card-accent) 24%, transparent);
	border-radius: 999px;
	color: var(--4yt-card-icon);
	display: inline-flex;
	height: var(--fy-stat-icon-size);
	justify-content: center;
	width: var(--fy-stat-icon-size);
}

.fy-statistics-item__badge,
.fy-statistics-item__trend {
	background: var(--fy-color-badge);
	border-radius: 999px;
	color: var(--fy-color-badge-contrast);
	display: inline-flex;
	font-size: var(--fy-font-size-xs);
	font-weight: var(--fy-font-weight-badge);
	line-height: 1.2;
	max-width: 100%;
	padding: 0.42rem 0.68rem;
	white-space: normal;
}

.fy-statistics-item__value {
	color: var(--4yt-card-accent);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-stat-number-size);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: 1;
	overflow-wrap: anywhere;
}

.fy-statistics-item h3 {
	color: var(--4yt-card-heading);
	font-family: var(--fy-font-family-heading);
	font-size: var(--fy-font-size-xl);
	font-weight: var(--fy-font-weight-heading);
	letter-spacing: 0;
	line-height: var(--fy-line-height-tight);
	margin: 0;
}

.fy-statistics-item__subtitle {
	color: var(--4yt-card-heading);
	margin: 0;
}

.fy-statistics-item__description {
	color: var(--4yt-card-text-muted);
	line-height: var(--fy-line-height-relaxed);
	overflow-wrap: anywhere;
}

.fy-statistics-item__trend {
	justify-self: start;
	width: fit-content;
}

.fy-statistics--align-center .fy-statistics-item__trend {
	justify-self: center;
}

.fy-statistics-item__trend--up {
	background: color-mix(in srgb, var(--fy-color-success) 18%, var(--4yt-card-badge-bg));
}

.fy-statistics-item__trend--down {
	background: color-mix(in srgb, var(--fy-color-danger) 16%, var(--4yt-card-badge-bg));
}

.fy-statistics-item__trend--star {
	background: var(--fy-color-primary);
	color: var(--fy-color-secondary);
}

.fy-statistics-item__button,
.fy-statistics-item__link {
	align-self: end;
	justify-self: start;
	margin-top: var(--fy-space-2);
}

.fy-statistics-item__link {
	color: var(--4yt-card-link);
	font-size: var(--fy-font-size-sm);
	font-weight: var(--fy-font-weight-button);
	text-decoration: none;
}

.fy-statistics-item__link:hover {
	color: var(--4yt-card-accent);
	text-decoration: underline;
}

.fy-statistics--align-center .fy-statistics-item__button,
.fy-statistics--align-center .fy-statistics-item__link {
	justify-self: center;
}

@media (max-width: 959px) {
	.fy-statistics--tablet-1 {
		--fy-stat-columns: 1;
	}

	.fy-statistics--tablet-2 {
		--fy-stat-columns: 2;
	}

	.fy-statistics--tablet-3 {
		--fy-stat-columns: 3;
	}

	.fy-statistics--tablet-auto .fy-statistics__grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	}
}

@media (max-width: 767px) {
	.fy-statistics {
		--fy-stat-gap: var(--fy-space-4);
		--fy-stat-padding: var(--fy-space-4);
		--fy-stat-number-size: clamp(2.2rem, 12vw, 3.4rem);
		margin-block: var(--fy-space-8);
	}

	.fy-statistics__container {
		padding-inline: var(--fy-space-3);
	}

	.fy-statistics__header {
		margin-bottom: var(--fy-space-5);
	}

	.fy-statistics__title {
		font-size: clamp(1.8rem, 9vw, 2.6rem);
	}

	.fy-statistics__intro {
		font-size: var(--fy-font-size-base);
	}

	.fy-statistics--mobile-1 {
		--fy-stat-columns: 1;
	}

	.fy-statistics--mobile-2 {
		--fy-stat-columns: 2;
	}

	.fy-statistics--columns-auto .fy-statistics__grid,
	.fy-statistics--tablet-auto .fy-statistics__grid {
		grid-template-columns: repeat(var(--fy-stat-columns), minmax(0, 1fr));
	}
}

.fy-meta-gap-small {
	gap: var(--fy-space-2);
}

.fy-meta-gap-medium {
	gap: var(--fy-space-4);
}

.fy-meta-gap-large {
	gap: var(--fy-space-6);
}

.fy-meta-cols-mobile-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.fy-meta-cols-mobile-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 640px) {
	.fy-meta-cols-tablet-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-meta-cols-tablet-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-feature-cards--tablet-1 .fy-feature-cards__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-feature-cards--tablet-2 .fy-feature-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-feature-cards--tablet-3 .fy-feature-cards__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fy-feature-cards--layout-single .fy-feature-cards__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-feature-cards--layout-masonry.fy-feature-cards--tablet-2 .fy-feature-cards__grid {
		column-count: 2;
	}

	.fy-feature-cards--layout-masonry.fy-feature-cards--tablet-3 .fy-feature-cards__grid {
		column-count: 3;
	}
}

@media (min-width: 960px) {
	.fy-meta-cols-desktop-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-meta-cols-desktop-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-meta-cols-desktop-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fy-meta-cols-desktop-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.fy-feature-cards--cols-2 .fy-feature-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-feature-cards--cols-3 .fy-feature-cards__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fy-feature-cards--cols-4 .fy-feature-cards__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.fy-feature-cards--layout-single .fy-feature-cards__grid,
	.fy-feature-cards--cols-1 .fy-feature-cards__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-feature-cards--layout-highlight .fy-feature-card:first-child {
		grid-column: span 2;
		grid-row: span 2;
		padding: var(--fy-space-8);
	}

	.fy-feature-cards--layout-highlight .fy-feature-card:first-child .fy-feature-card__title {
		font-size: clamp(1.9rem, 2.6vw, 2.7rem);
	}

	.fy-feature-cards--layout-masonry.fy-feature-cards--cols-2 .fy-feature-cards__grid {
		column-count: 2;
	}

	.fy-feature-cards--layout-masonry.fy-feature-cards--cols-3 .fy-feature-cards__grid {
		column-count: 3;
	}

	.fy-feature-cards--layout-masonry.fy-feature-cards--cols-4 .fy-feature-cards__grid {
		column-count: 4;
	}
}

@media (max-width: 767px) {
	.fy-container {
		padding-inline: var(--fy-space-3);
	}

	.fy-section {
		margin-block: var(--fy-space-8);
	}

	.fy-card {
		padding: var(--fy-space-4);
	}

	.fy-feature-cards {
		--fy-feature-card-padding: var(--fy-space-5);
		--fy-feature-card-image-gap: var(--fy-space-5);
		--fy-feature-card-button-gap: var(--fy-space-4);
		--fy-feature-detail-gap: var(--fy-space-2);
		--fy-feature-detail-padding: var(--fy-space-3);
		margin-block: var(--fy-space-8);
	}

	.fy-feature-cards--detail-padding-none {
		--fy-feature-detail-padding: 0;
	}

	.fy-feature-cards--detail-padding-small {
		--fy-feature-detail-padding: var(--fy-space-2);
	}

	.fy-feature-cards--detail-padding-large {
		--fy-feature-detail-padding: var(--fy-space-4);
	}

	.fy-feature-cards__container {
		padding-inline: var(--fy-space-3);
	}

	.fy-feature-cards__header {
		margin-bottom: var(--fy-space-5);
	}

	.fy-feature-cards__title {
		font-size: clamp(1.8rem, 9vw, 2.6rem);
	}

	.fy-feature-cards__intro {
		font-size: var(--fy-font-size-base);
	}

	.fy-feature-cards--mobile-1 .fy-feature-cards__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-feature-cards--mobile-2 .fy-feature-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fy-feature-cards--highlights-two-columns .fy-feature-card__highlights,
	.fy-feature-cards--highlights-three-columns .fy-feature-card__highlights,
	.fy-feature-cards--highlights-feature-grid .fy-feature-card__highlights,
	.fy-feature-cards--technical-two-columns .fy-feature-card__technical,
	.fy-feature-cards--technical-premium-cards .fy-feature-card__technical,
	.fy-feature-cards--technical-stats .fy-feature-card__technical {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.fy-feature-cards--media-image-left .fy-feature-card--image-left,
	.fy-feature-cards--media-icon-left .fy-feature-card--icon-left,
	.fy-feature-cards--media-icon-left .fy-feature-card__body {
		display: flex;
		flex-direction: column;
	}

	.fy-feature-cards--media-image-left .fy-feature-card__image-wrap {
		aspect-ratio: 16 / 9;
		margin: 0 0 var(--fy-space-5);
		min-height: 0;
		width: auto;
	}
}
