@font-face {
	font-display: swap;
	font-family: FS Me;
	font-weight: 300;
	src: local("FSMeWeb Light"), local("FSMeWeb-Light"), url(font/fsme/FSMeWeb-Light.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-style: italic;
	font-weight: 300;
	src: local("FSMeWeb LightItalic"), local("FSMeWeb-LightItalic"), url(font/fsme/FSMeWeb-LightItalic.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-weight: 500;
	src: local("FSMeWeb Regular"), local("FSMeWeb-Regular"), url(font/fsme/FSMeWeb-Regular.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-style: italic;
	font-weight: 500;
	src: local("FSMeWeb Italic"), local("FSMeWeb-Italic"), url(font/fsme/FSMeWeb-Italic.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-weight: 700;
	src: local("FSMeWeb Bold"), local("FSMeWeb-Bold"), url(font/fsme/FSMeWeb-Bold.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-style: italic;
	font-weight: 700;
	src: local("FSMeWeb BoldItalic"), local("FSMeWeb-BoldItalic"), url(font/fsme/FSMeWeb-BoldItalic.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-weight: 900;
	src: local("FSMeWeb Heavy"), local("FSMeWeb-Heavy"), url(font/fsme/FSMeWeb-Heavy.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: FS Me;
	font-style: italic;
	font-weight: 900;
	src: local("FSMeWeb HeavyItalic"), local("FSMeWeb-HeavyItalic"), url(font/fsme/FSMeWeb-HeavyItalic.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-weight: 400;
	src: local("WF-006389-009281-000003"), url(font/fedra_serif/WF-006389-009281-000003.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-style: italic;
	font-weight: 400;
	src: local("WF-006389-009281-000003"), url(font/fedra_serif/WF-006389-009281-000003.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-weight: 500;
	src: local("WF-006389-009281-000046"), url(font/fedra_serif/WF-006389-009281-000046.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-style: italic;
	font-weight: 500;
	src: local("WF-006389-009281-000047"), url(font/fedra_serif/WF-006389-009281-000047.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-weight: 600;
	src: local("WF-006389-009281-000050"), url(font/fedra_serif/WF-006389-009281-000050.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-style: italic;
	font-weight: 600;
	src: local("WF-006389-009281-000051"), url(font/fedra_serif/WF-006389-009281-000051.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-weight: 700;
	src: local("WF-006389-009281-000054"), url(font/fedra_serif/WF-006389-009281-000054.woff) format("woff")
}

@font-face {
	font-display: swap;
	font-family: Fedra Serif;
	font-style: italic;
	font-weight: 700;
	src: local("WF-006389-009281-000055"), url(font/fedra_serif/WF-006389-009281-000055.woff) format("woff")
}

:root {
	--brand-teal: #118da0;
	--text-color: #333;
	--border-color: #d9d9d9;
	--alert-height: 44px;
	--header-height: 88px;
	--container-max: 1440px;
	--header-radius: 8px;
	--header-button-size: 56px;
	--header-button-icon-size: 24px;
	--header-button-background-color: transparent;
	--header-button-background-color-hover: #71022e;
	--header-button-background-color-hover: #fbf4f4;
	--header-button-icon-filter-hover: brightness(0) saturate(100%) invert(9%) sepia(94%) saturate(3182%) hue-rotate(322deg) brightness(106%) contrast(112%);
	--header-button-color: #333;
	--header-button-color-hover:#8e0038
}

@media (min-width: 1180px) {
	:root {
		--alert-height: 44px;
		--header-height: 108px;
		--header-button-size:64px
	}
}

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

* {
	scroll-margin-top:calc(var(--alert-height) + var(--header-height) + 1rem)
}

body, html {
	color: var(--text-color);
	font-size: 14px;
	font-style: normal;
	line-height: 1.5;
	margin:0
}

body, button, html {
	font-family:FS Me, Arial, Helvetica, sans-serif
}

body {
	padding-top:0
}

@media (min-width: 768px) {
	body {
		font-size: 16px;
		line-height:24px
	}
}

h1 {
	color: var(--brand-r);
	font-family:Fedra Serif, Georgia, Times New Roman, serif !important
}

.section-heading {
	color: var(--brand-r);
	font-family: "Fedra Serif", Georgia, Times New Roman, serif;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 600;
	line-height: 1.05;
	margin: 0 0 28px;
	text-align:center
}

.section-eyebrow {
	color: #333;
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .08em;
	margin: -20px 0 42px;
	text-align: center;
	text-transform:uppercase
}

.txt__teaser {
	font-size: 18px;
	line-height:27px
}

[popover] {
	color:var(--text-color)
}

main.esc_container.new-navigation {
	margin-top:0
}

.skip-to-content {
	background: var(--brand-r);
	border-radius: 0 0 16px 16px;
	color: #fff;
	height: 34px;
	inset: 0 auto auto 50%;
	line-height: 1;
	padding: 8px 24px;
	position: absolute;
	text-decoration: none;
	transform: translate(-50%, -120%);
	transition: transform .2s;
	z-index:700
}

.skip-to-content:focus {
	transform:translate(-50%)
}

.top-alert {
	background: var(--brand-r);
	color: #fff;
	height: var(--alert-height);
	position: relative;
	width: 100%;
	z-index:1
}

.top-alert__inner {
	align-items: center;
	display: flex;
	font-size: 12px;
	gap: 12px;
	height: 100%;
	justify-content: center;
	letter-spacing: .02em;
	margin: 0 auto;
	max-width: var(--container-max);
	padding: 0 16px;
	text-align: center;
	text-transform:uppercase
}

.top-alert__inner img {
	flex: 0 0 auto;
	height: 18px;
	width:18px
}

@media (min-width: 1180px) {
	.top-alert__inner {
		font-size: 14px;
		gap: 5px;
		padding:0 24px
	}

	.top-alert__inner img {
		height: 20px;
		width:20px
	}
}

.site-header {
	background: #fff;
	height: var(--header-height);
	position: sticky;
	top: 0;
	width: 100%;
	z-index:500
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 16px;
	height: 100%;
	margin: 0 auto;
	max-width: var(--container-max);
	padding:0 16px
}

@media (min-width: 1180px) {
	.site-header__inner {
		gap: 32px;
		padding:0 32px
	}
}

@media (min-width: 1440px) {
	.site-header__inner {
		gap:48px
	}
}

.site-header__logo {
	align-items: flex-start;
	border-radius: var(--header-radius);
	color: inherit;
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	text-decoration:none
}

.site-header__logo img {
	display: block;
	height: auto;
	max-width: 100%;
	width:110px
}

.site-header__tag {
	background: var(--brand-teal);
	color: #fff;
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 6px;
	padding:3px 10px
}

@media (min-width: 1180px) {
	.site-header__logo img {
		width:170px
	}

	.site-header__tag {
		font-size: 14px;
		margin-top: 8px;
		padding:4px 16px
	}
}

.site-header__nav {
	display: none;
	flex:0 1 auto
}

@media (min-width: 1180px) {
	.site-header__nav {
		display:block
	}
}

.site-header__nav-list {
	align-items: center;
	display: flex;
	gap: clamp(24px, 4vw, 35px);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding:0
}

.site-header__nav-item {
	margin: 0;
	padding:0
}

.site-header__nav-link {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: var(--header-radius);
	color: var(--text-color);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 16px;
	gap: 10px;
	line-height: 1.2;
	min-height: 48px;
	padding: 10px 12px;
	text-decoration:none
}

.site-header__chevron {
	fill: currentColor;
	flex: 0 0 auto;
	height: 7px;
	margin-left: 6px;
	transition: transform .2s ease, fill .2s ease;
	width:12px
}

.site-header__nav-link:hover {
	color:#8e0038
}

.site-header__nav-link[aria-expanded=true] .site-header__chevron {
	transform:rotate(180deg)
}

.site-header__actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 12px;
	margin-left:auto
}

@media (min-width: 1440px) {
	.site-header__actions {
		gap:16px
	}
}

.site-header__cta {
	align-items: center;
	background: var(--brand-r);
	border-radius: 18px;
	color: #fff;
	display: none;
	font-size: 20px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-width: 225px;
	padding: 16px 32px;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
	white-space:nowrap
}

.site-header__cta:hover {
	transform:translateY(-2px)
}

@media (min-width: 1180px) {
	.site-header__cta {
		display:inline-flex
	}
}

.icon-button {
	align-items: center;
	background: var(--header-button-background-color);
	border: 0;
	border-radius: var(--header-radius);
	color: var(--header-button-color);
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	font: inherit;
	gap: 4px;
	height: var(--header-button-size);
	justify-content: center;
	padding: 0;
	text-decoration: none;
	width:var(--header-button-size)
}

.icon-button img, .icon-button__icon {
	height: var(--header-button-icon-size);
	pointer-events: none;
	width:var(--header-button-icon-size)
}

.icon-button span, .icon-button__text {
	font-size: 10px;
	line-height: 1;
	pointer-events: none;
	text-align:center
}

@media (min-width: 1180px) {
	.icon-button--menu {
		display:none
	}
}

.icon-button--menu[aria-expanded=true] .icon-button__icon, .icon-button--menu[aria-expanded=true] .icon-button__text--open, .icon-button__text--close {
	display:none
}

.icon-button--menu[aria-expanded=true] .icon-button__text--close {
	display:inline
}

.icon-button--menu:hover img {
	filter:var(--header-button-icon-filter-hover)
}

@media (hover: hover) and(pointer: fine) {
	.icon-button:hover, .site-header__nav-link:hover {
		background: var(--header-button-background-color-hover);
		color: var(--header-button-color-hover);
		text-decoration:none
	}

	.site-header__cta:hover {
		background: #71022e;
		color: #fff;
		text-decoration:none
	}
}

.icon-button:focus-visible, .site-header__cta:focus-visible, .site-header__nav-link:focus-visible {
	outline: 2px solid var(--brand-r);
	outline-offset:2px
}

.site-header__logo:focus-visible {
	outline: 2px solid var(--brand-r);
	outline-offset:2px
}

:root {
	--mobile-menu-top: 132px;
	--mobile-menu-z:90
}

.icon-button--menu[aria-expanded=true] .icon-button__icon--burger, .icon-button--menu[aria-expanded=true] .icon-button__text--open, .icon-button__icon--close, .icon-button__text--close {
	display:none
}

.icon-button--menu[aria-expanded=true] .icon-button__icon--close, .icon-button--menu[aria-expanded=true] .icon-button__text--close {
	display:inline
}

.icon-button--menu {
	background: transparent;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	-webkit-appearance:none
}

.icon-button--menu:active, .icon-button--menu:focus, .icon-button--menu:focus-visible, .icon-button--menu:hover {
	background: transparent;
	color: inherit !important;
	outline:none
}

.icon-button--menu .icon-button__icon {
	filter: none !important;
	opacity:1 !important
}

body.menu-open {
	overflow:hidden
}

.mobile-menu {
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: var(--mobile-menu-top);
	z-index:var(--mobile-menu-z)
}

.mobile-menu:before {
	background: rgba(0, 0, 0, .08);
	content: "";
	inset: 0;
	opacity: 0;
	position: absolute;
	transition:opacity .28s ease
}

.mobile-menu__panel {
	background: #fff;
	bottom: 0;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform .34s cubic-bezier(.22, .61, .36, 1);
	width: 100%;
	-webkit-overflow-scrolling: touch;
	box-shadow:-10px 0 30px rgba(0, 0, 0, .08)
}

.mobile-menu.is-open {
	pointer-events:auto
}

.mobile-menu.is-open:before {
	opacity:1
}

.mobile-menu.is-open .mobile-menu__panel {
	transform:translateX(0)
}

.mobile-menu__list {
	list-style: none;
	margin: 0;
	padding:0
}

.mobile-menu__item {
	align-items: center;
	border-top: 1px solid #d6d6d6;
	display: flex;
	justify-content: space-between;
	min-height: 84px;
	padding:0 28px
}

.mobile-menu__item:last-child {
	border-bottom:1px solid #d6d6d6
}

.mobile-menu__item a {
	color: #2f3237;
	flex: 1 1 auto;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.15;
	text-decoration:none
}

.mobile-menu__arrow {
	border-bottom: 2px solid #444;
	border-right: 2px solid #444;
	flex: 0 0 auto;
	height: 11px;
	margin-left: 18px;
	transform: rotate(-45deg);
	width:11px
}

.mobile-menu__item:active {
	background:rgba(0, 0, 0, .03)
}

.mobile-menu__footer {
	background: linear-gradient(0deg, #f3f3f3 78%, hsla(0, 0%, 95%, 0));
	margin-top: auto;
	padding:24px 24px calc(24px + env(safe-area-inset-bottom))
}

.mobile-menu__cta {
	align-items: center;
	background: var(--brand-r);
	border-radius: 16px;
	color: #fff;
	display: flex;
	font-size: 1.05rem;
	font-weight: 700;
	justify-content: center;
	min-height: 58px;
	padding: 0 24px;
	text-decoration: none;
	transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease
}

.mobile-menu__cta:hover {
	box-shadow: 0 10px 20px rgba(0, 0, 0, .12);
	transform:translateY(-1px)
}

@media (min-width: 981px) {
	.mobile-menu {
		display:none
	}
}

@media (max-width: 640px) {
	.mobile-menu__item {
		min-height: 76px;
		padding:0 42px 0 22px
	}

	.mobile-menu__item a {
		font-size:1.2rem
	}

	.mobile-menu__footer {
		padding:20px 20px calc(20px + env(safe-area-inset-bottom))
	}

	.mobile-menu__cta {
		border-radius: 14px;
		min-height:54px
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobile-menu:before, .mobile-menu__cta, .mobile-menu__panel {
		transition:none
	}
}

:root {
	--brand-r: #8e0038;
	--brand-r-dark: #71022e;
	--hero-panel-bg: #e2f6fa;
	--text-color: #222;
	--hero-max-width: 1680px;
	--hero-radius: 28px;
	--hero-image-radius: 24px;
	--hero-side-pad: 12px;
	--hero-top-space: 0px;
	--hero-bottom-space: 28px;
	--hero-image-overlap-x: 25px;
	--hero-image-overlap-y:25px
}

.hero {
	background: #fff;
	padding:var(--hero-top-space) var(--hero-side-pad) var(--hero-bottom-space)
}

.hero, .hero__panel {
	overflow: hidden;
	position:relative
}

.hero__panel {
	background: var(--hero-panel-bg);
	background: linear-gradient(135deg, #e2f6fa, #eaf3f6);
	border-radius: var(--hero-radius);
	margin: 0 auto;
	max-width:var(--hero-max-width)
}

.hero__panel.hero__panel-green {
	background: #E3F0E6;
}
.hero__panel.hero__panel-taupe {
	background: #FFEEDE;
}

.hero__panel:before {
	background: radial-gradient(circle, hsla(0, 0%, 100%, .65) 0, hsla(0, 0%, 100%, .35) 25%, hsla(0, 0%, 100%, .12) 45%, hsla(0, 0%, 100%, 0) 65%);
	content: "";
	height: 900px;
	pointer-events: none;
	position: absolute;
	right: -250px;
	top: -200px;
	width: 900px;
	z-index:1
}

.hero__inner {
	display: flex;
	flex-direction: column;
	position:relative
}

.hero__media {
	order: 1;
	padding: 0;
	will-change:transform
}

.hero__media img {
	border-radius: 0;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
	will-change:transform
}

.hero__content {
	order: 2;
	padding: 20px 18px 22px;
	position: relative;
	z-index:3
}

.hero__eyebrow {
	color: var(--brand-r);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
	margin: 0 0 10px;
	text-transform:uppercase
}

.hero__title {
	color: #000;
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: clamp(2rem, 8vw, 4rem);
	font-weight: 600;
	line-height: 1.02;
	margin:0 0 14px
}

.hero__text {
	color: var(--text-color);
	margin: 0;
	max-width:680px
}

.hero__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top:22px
}

.hero__button {
	align-items: center;
	border-radius: 18px;
	display: inline-flex;
	font-size: 17px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 54px;
	padding: 14px 22px;
	text-decoration: none;
	transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease
}

.hero__button:hover {
	transform:translateY(-2px)
}

.hero__button--primary {
	background: var(--brand-r);
	color:#fff
}

.hero__button--primary:hover {
	background:var(--brand-r-dark)
}

.hero__button--secondary {
	background: #fff;
	border: 1px solid var(--brand-r);
	color:var(--brand-r)
}

.hero__button--secondary:hover {
	background:rgba(142, 0, 56, 0)
}

.hero__button:focus-visible {
	outline: 2px solid var(--brand-r);
	outline-offset:2px
}

.hero-fade {
	backface-visibility: hidden;
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .8s cubic-bezier(.22, 1, .36, 1), transform .8s cubic-bezier(.22, 1, .36, 1);
	will-change:opacity, transform
}

.hero--loaded .hero-fade {
	opacity: 1;
	transform:translateY(0)
}

.hero-fade--1 {
	transition-delay:.1s
}

.hero-fade--2 {
	transition-delay:.22s
}

.hero-fade--3 {
	transition-delay:.36s
}

.hero-fade--4 {
	transition-delay:.5s
}

@media (min-width: 768px) {
	:root {
		--hero-side-pad: 24px;
		--hero-top-space: 24px;
		--hero-bottom-space:48px
	}

	.hero__content {
		padding:32px 32px 36px
	}

	.hero__actions {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 16px;
		margin-top:28px
	}

	.hero__button {
		min-width:220px
	}
}

@media (min-width: 1152px) {
	:root {
		--hero-side-pad: 32px;
		--hero-top-space: 28px;
		--hero-bottom-space: 64px;
		--hero-image-overlap-x: 25px;
		--hero-image-overlap-y:25px
	}

	.hero {
		margin-right:var(--hero-image-overlap-x)
	}

	.hero__panel {
		overflow:visible
	}

	.hero__inner {
		min-height:620px
	}

	.hero__content {
		max-width: 55%;
		order: 1;
		padding:132px 52px 82px
	}

	.hero__eyebrow {
		font-size: 14px;
		margin-bottom:14px
	}

	.hero__title {
		margin-bottom:18px
	}

	.hero__text {
		max-width:690px
	}

	.hero__actions {
		gap: 18px;
		margin-top:40px
	}

	.hero__button {
		min-height: 60px;
		min-width: 300px;
		padding:16px 30px
	}

	.hero__media {
		bottom: 38px;
		order: 2;
		position: absolute;
		right: calc(var(--hero-image-overlap-x) * -1);
		top: calc(var(--hero-image-overlap-y) * -1);
		transform: translateY(0);
		width: min(48%, 800px);
		z-index:2
	}

	.hero__media img {
		border-radius: var(--hero-image-radius);
		height: 100%;
		transform-origin: center center;
		width:100%
	}
}

@media (min-width: 1440px) {
	.hero__content {
		max-width: 55%;
		padding:138px 52px 88px
	}

	.hero__title {
		font-size:3.4rem
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero--loaded .hero-fade, .hero-fade, .hero__media, .hero__media img {
		opacity: 1 !important;
		transform: none !important;
		transition:none !important
	}
}

.value-section {
	overflow: hidden;
	padding:40px 16px 56px
}

.value-section__inner {
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
	margin: 0 auto;
	max-width: 1400px;
	overflow:visible
}

.value-section__content {
	max-width:640px
}

.value-section__icons {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-bottom:28px
}

.value-section__icons img {
	display: block;
	height: 52px;
	width:52px
}

.value-section__title {
	color: var(--brand-r);
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 600;
	line-height: 1.05;
	margin:0 0 22px
}

.value-section__copy-wrap {
	display:grid
}

.value-copy {
	grid-area: 1/1;
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
	transition: opacity .5s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.22, .61, .36, 1), visibility 0s linear .5s;
	visibility:hidden
}

.value-copy.is-active {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	transition: opacity .5s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.22, .61, .36, 1), visibility 0s linear 0s;
	visibility:visible
}

h3.value-section__text {
	font-size: 14px;
	letter-spacing: .16em;
	margin-top:-1rem
}

.value-copy .value-section__text {
	opacity: 0;
	transform: translateY(8px);
	transition:opacity .5s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.22, .61, .36, 1)
}

.value-copy.is-active .value-section__text {
	opacity: 1;
	transform:translateY(0)
}

.value-copy.is-active .value-section__text:first-of-type {
	transition-delay:.04s
}

.value-copy.is-active .value-section__text:nth-of-type(2) {
	transition-delay:.12s
}

.value-copy.is-active .value-section__text:nth-of-type(3) {
	transition-delay:.2s
}

.value-copy .value-copy__title, .value-copy h3, .value-copy h4 {
	opacity: 0;
	transform: translateY(8px);
	transition:opacity .5s cubic-bezier(.22, .61, .36, 1), transform .5s cubic-bezier(.22, .61, .36, 1)
}

.value-copy.is-active .value-copy__title, .value-copy.is-active h3, .value-copy.is-active h4 {
	opacity: 1;
	transform: translateY(0);
	transition-delay:0s
}

@media (prefers-reduced-motion: reduce) {
	.value-copy, .value-copy .value-copy__title, .value-copy .value-section__text, .value-copy h3, .value-copy h4 {
		transform: none;
		transition:none
	}
}

.value-section__text {
	color: #222;
	font-size: 16px;
	line-height: 1.65;
	margin:0 0 26px
}

.value-section__controls {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top:20px
}

.value-section__control {
	background: #fff;
	border: 1px solid var(--brand-r);
	border-radius: 12px;
	color: var(--brand-r);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 44px;
	padding: 10px 16px;
	transition:background-color .2s ease, color .2s ease, border-color .2s ease
}

.value-section__control[aria-pressed=true] {
	background: var(--brand-r);
	color:#fff
}

.value-section__status {
	color: #555;
	font-size:14px
}

.value-section__visual {
	min-height: 900px;
	overflow: visible;
	position:relative
}

.value-section__rings {
	inset: 0;
	pointer-events: none;
	position:absolute
}

.value-section__rings:after, .value-section__rings:before {
	border: 2px solid rgba(142, 0, 56, .18);
	border-radius: 50%;
	content: "";
	position:absolute
}

.value-section__rings:before {
	height: 290px;
	right: 18px;
	top: 250px;
	width:290px
}

.value-section__rings:after {
	border-color: rgba(142, 0, 56, .38);
	height: 390px;
	right: -24px;
	top: 200px;
	width:390px
}

.value-cards {
	height: 100%;
	overflow: visible;
	position: relative;
	width:100%
}

.value-card {
	--orbit-x: 0px;
	--orbit-y: 0px;
	--card-rotate: 0deg;
	--card-scale: 1;
	--card-z: 1;
	appearance: none;
	-webkit-appearance: none;
	background: #f7f4f6;
	border: 1px solid #c9c0c5;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .05);
	cursor: pointer;
	left: 0;
	padding: 10px;
	position: absolute;
	top: 0;
	transform: translate(var(--orbit-x), var(--orbit-y)) rotate(var(--card-rotate)) scale(var(--card-scale));
	transition: transform .9s cubic-bezier(.22, .61, .36, 1), box-shadow .35s ease, border-color .35s ease, opacity .35s ease, background-color .35s ease;
	width: min(300px, 78vw);
	z-index:var(--card-z)
}

.value-card img {
	aspect-ratio: .78/1;
	border-radius: 12px;
	display: block;
	object-fit: cover;
	width:100%
}

.value-card__tag {
	align-items: center;
	border-radius: 12px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 400;
	gap: 8px;
	left: 22px;
	line-height: 1;
	min-height: 32px;
	padding: 6px 14px;
	position: absolute;
	top:22px
}

.value-card__icon {
	fill: currentColor;
	flex-shrink: 0;
	height: 16px;
	width:16px
}

.value-card__tag--berry {
	background: var(--brand-r);
	color:#fff
}

.value-card__tag--gold {
	background: #dfc12d;
	color:#222
}

.value-card__tag--pink {
	background: #cf5ca4;
	color:#fff
}

.value-card.is-active {
	border-color: rgba(142, 0, 56, .32);
	box-shadow:0 22px 42px rgba(0, 0, 0, .16)
}

@media (hover: hover) and(pointer: fine) {
	.value-card:hover {
		box-shadow:0 24px 48px rgba(0, 0, 0, .18)
	}

	.value-section__control:hover {
		background:rgba(142, 0, 56, .06)
	}

	.value-section__control[aria-pressed=true]:hover {
		background: #71022e;
		border-color: #71022e;
		color:#fff
	}
}

.value-card:focus-visible, .value-section__control:focus-visible {
	outline: 2px solid var(--brand-r);
	outline-offset:3px
}

@media (min-width: 768px) {
	.value-section {
		padding:0 24px
	}

	.value-section__visual {
		min-height:900px
	}

	.value-card {
		width:290px
	}

	.value-section__rings:before {
		height: 420px;
		right: 34px;
		top: 120px;
		width:420px
	}

	.value-section__rings:after {
		height: 520px;
		right: -10px;
		top: 70px;
		width:520px
	}
}

@media (min-width: 1152px) {
	.value-section {
		padding:0 32px
	}

	.value-section__inner {
		align-items: start;
		gap: 0;
		grid-template-columns:minmax(340px, .75fr) minmax(420px, 1.05fr)
	}

	.value-section__content {
		padding-top:158px
	}

	.value-section__copy-wrap {
		min-height:360px
	}

	.value-section__visual {
		min-height:900px
	}

	.value-card {
		width:305px
	}

	.value-section__rings:before {
		height: 500px;
		right: 18px;
		top: 180px;
		width:500px
	}

	.value-section__rings:after {
		height: 620px;
		right: -28px;
		top: 120px;
		width:620px
	}
}

@media (min-width: 1440px) {
	.value-section__visual {
		min-height:900px
	}
}

@media (prefers-reduced-motion: reduce) {
	.value-card, .value-copy, .value-section__control {
		transition:none
	}
}

.value-card {
	will-change:transform
}

@media (max-width: 639px) {
	.value-section__visual {
		height: 320px;
		min-height: 320px;
		position:relative
	}

	.value-section__rings {
		display:none
	}

	.value-card {
		border-radius: 14px;
		left: 50%;
		max-width: 260px;
		padding: 8px;
		position: absolute;
		top: 0;
		transform: translateX(-50%) scale(1) !important;
		transform-origin: center;
		transition: transform .45s cubic-bezier(.22, .61, .36, 1), opacity .35s ease, box-shadow .35s ease;
		width:78%
	}

	.value-card.is-active {
		opacity: 1;
		transform: translateX(-50%) translateY(0) scale(1) !important;
		z-index:3
	}

	.value-card.is-prev {
		opacity: .85;
		transform: translateX(calc(-50% - 140px)) scale(.88) !important;
		z-index:1
	}

	.value-card.is-next {
		opacity: .9;
		transform: translateX(calc(-50% + 140px)) scale(.88) !important;
		z-index:2
	}

	.value-card__tag {
		font-size: 11px;
		left: 12px;
		padding: 4px 10px;
		top:12px
	}

	.value-section__copy-wrap {
		min-height:240px
	}

	.value-card.is-prev {
		transform:translateX(calc(-50% - 140px)) rotate(-4deg) scale(.88) !important
	}

	.value-card.is-next {
		transform:translateX(calc(-50% + 140px)) rotate(4deg) scale(.88) !important
	}
}

.trust-section {
	background: var(--hero-panel-bg);
	padding: 80px 20px;
	text-align:center
}

.trust-section__inner {
	margin: 0 auto;
	max-width:640px
}

.trust-section__title {
	color: var(--brand-r);
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 600;
	line-height: 1.2;
	margin:0 0 28px
}

.trust-section__content {
	color: #333;
	font-size: 16px;
	line-height:1.7
}

.trust-section__content p {
	margin:0 0 18px
}

.trust-section__actions {
	margin-top:0
}

.btn {
	align-items: center;
	border: none;
	border-radius: 12px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px;
	text-decoration: none;
	transition:background .2s ease
}

.btn--primary {
	background: var(--brand-r);
	color:#fff
}

.btn--primary:hover {
	background:#71022e
}

.solutions-section {
	padding:48px 16px 64px
}

.solutions-section__inner {
	margin: 0 auto;
	max-width:1200px
}

.solutions-section__content {
	margin: 0 auto 4rem;
	max-width:640px
}

.solutions-section__title {
	color: var(--brand-r);
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 600;
	line-height: 1.05;
	margin: 0 0 28px;
	text-align:center
}

.solutions-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr;
	perspective:1400px
}

.solution-card {
	background: #fff;
	border: 1px solid #cbc4c7;
	border-radius: 16px;
	color: inherit;
	cursor: default;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	padding-bottom: 50px;
	position: relative;
	text-decoration: none;
	transform-style: preserve-3d;
	transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s cubic-bezier(.22, 1, .36, 1), border-color .25s ease, background-color .25s ease, opacity .7s cubic-bezier(.22, 1, .36, 1);
	will-change:transform, box-shadow, opacity
}

.solution-card__media {
	overflow: hidden;
	padding: 8px 8px 0;
	position:relative
}

.solution-card__media:after {
	background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .22));
	border-radius: 10px 10px 0 0;
	content: "";
	inset: 8px 8px 0 8px;
	opacity: .35;
	pointer-events: none;
	position: absolute;
	transition:opacity .35s ease
}

.solution-card__media img {
	aspect-ratio: 1.35/1;
	border-radius: 10px;
	display: block;
	object-fit: cover;
	width:100%
}

.solution-card__body {
	padding: 22px;
	transform: translateZ(0);
	transition:transform .35s cubic-bezier(.22, 1, .36, 1)
}

.solution-card__title {
	align-items: center;
	color: #8c0032;
	display: flex;
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: clamp(1.5rem, 2vw, 2rem);
	font-weight: 600;
	gap: 14px;
	justify-content: space-between;
	line-height: 1.15;
	margin:0 0 10px
}

.solution-card__text {
	color: #555;
	font-size: 15px;
	line-height: 1.65;
	margin:0
}

.solution-card__arrow {
	flex: 0 0 auto;
	font-size: 1.15rem;
	line-height: 1;
	transform: translateX(0);
	transition:transform .3s ease
}

.solution-fade {
	opacity: 0;
	transform:translateY(32px)
}

.solution-card.is-visible {
	opacity: 1;
	transform:translateY(0)
}

.solution-card:focus-visible {
	outline: 2px solid var(--brand-r);
	outline-offset:3px
}

@media (hover: hover) and(pointer: fine) {
	.solution-card:hover .solution-card__media:after {
		opacity:.5
	}

	.solution-card:hover .solution-card__body {
		transform:translateZ(14px)
	}

	.solution-card:hover .solution-card__arrow {
		transform:translateX(6px)
	}
}

@media (min-width: 768px) {
	.solutions-section {
		padding:64px 24px 80px
	}

	.solutions-section__title {
		margin-bottom:36px
	}

	.solutions-grid {
		gap: 24px;
		grid-template-columns:repeat(2, minmax(0, 1fr))
	}

	.solution-card__body {
		padding:22px
	}
}

@media (min-width: 1152px) {
	.solutions-section {
		padding:72px 32px 96px
	}

	.solutions-grid {
		gap: 20px;
		grid-template-columns:repeat(2, minmax(0, 1fr))
	}

	.solution-card__body {
		padding:22px
	}

	.solution-card__title {
		font-size:2rem
	}

	.solution-card__text {
		font-size:14px
	}
}

@media (prefers-reduced-motion: reduce) {
	.solution-card, .solution-card.is-visible, .solution-card__arrow, .solution-card__body, .solution-card__media img, .solution-card__media:after, .solution-fade {
		transform: none !important;
		transition:none !important
	}

	.solution-card.is-visible, .solution-fade {
		opacity:1 !important
	}
}

.logo-marquee-section {
	padding:80px 0 60px
}

.logo-marquee {
	overflow: hidden;
	padding: 24px 0;
	position:relative
}

.logo-marquee__viewport {
	overflow: hidden;
	width:100%
}

.logo-marquee__track {
	align-items: center;
	animation: logoMarquee 24s linear infinite;
	display: flex;
	width:max-content
}

.logo-marquee__item {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	justify-content: center;
	padding:0 42px
}

.logo-marquee__item img {
	display: block;
	height: 100px;
	max-width: 200px;
	object-fit: contain;
	opacity: .95;
	width:auto
}

.logo-marquee__fade {
	bottom: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 80px;
	z-index:2
}

.logo-marquee__fade--left {
	background: linear-gradient(90deg, #fff 0, hsla(30, 27%, 96%, 0));
	left:0
}

.logo-marquee__fade--right {
	background: linear-gradient(270deg, #fff 0, hsla(30, 27%, 96%, 0));
	right:0
}

@keyframes logoMarquee {
	0% {
		transform:translateX(0)
	}

	to {
		transform:translateX(-50%)
	}
}

@media (max-width: 767px) {
	.logo-marquee {
		padding:18px 0
	}

	.logo-marquee__item {
		padding:0 26px
	}

	.logo-marquee__item img {
		max-height: 42px;
		max-width:140px
	}

	.logo-marquee__fade {
		width:36px
	}
}

@media (prefers-reduced-motion: reduce) {
	.logo-marquee__track {
		animation:none
	}
}

.glance-section {
	background: #ffeedf;
	padding:90px 20px 80px
}

.glance-section__inner {
	margin: 0 auto;
	max-width:1180px
}

.glance-section__eyebrow {
	color: var(--brand-r);
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .14em;
	margin: 0 0 18px;
	text-align: center;
	text-transform:uppercase
}

.glance-section__title {
	color: #2f3237;
	font-family: "Fedra Serif", Georgia, Times New Roman, serif;
	font-size: clamp(2.6rem, 6vw, 4.2rem);
	font-weight: 600;
	line-height: 1.02;
	margin: 0 0 20px;
	text-align:center
}

.glance-section__intro {
	color: #3e4045;
	font-size: 1.05rem;
	line-height: 1.8;
	margin: 0 auto 64px;
	max-width: 640px;
	text-align:center
}

.glance-stats {
	align-items: start;
	display: grid;
	gap: 48px;
	grid-template-columns:repeat(3, minmax(0, 1fr))
}

.glance-stat {
	padding: 10px 20px 0;
	text-align:center
}

.glance-stat__icon {
	align-items: center;
	display: flex;
	height: 88px;
	justify-content: center;
	margin-bottom:26px
}

.glance-stat__icon img {
	display: block;
	max-height: 64px;
	max-width: 72px;
	width:auto
}

.glance-stat__value {
	color: #111;
	font-family: "Fedra Serif", Georgia, Times New Roman, serif;
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 600;
	line-height: 1.1;
	margin:0 0 18px
}

.glance-stat__label {
	color: var(--brand-r);
	font-size: .92rem;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.7;
	margin: 0;
	text-transform:uppercase
}

.reveal {
	opacity: 0;
	transform: translateY(40px);
	transition:opacity .8s cubic-bezier(.22, .61, .36, 1), transform .8s cubic-bezier(.22, .61, .36, 1)
}

.reveal.reveal-visible {
	opacity: 1;
	transform:translateY(0)
}

.glance-stat:first-child {
	transition-delay:.1s
}

.glance-stat:nth-child(2) {
	transition-delay:.25s
}

.glance-stat:nth-child(3) {
	transition-delay:.4s
}

@media (prefers-reduced-motion: reduce) {
	.reveal {
		opacity: 1;
		transform: none;
		transition:none
	}
}

@media (max-width: 900px) {
	.glance-section {
		padding:72px 20px 64px
	}

	.glance-section__intro {
		margin-bottom:48px
	}

	.glance-stats {
		gap: 42px;
		grid-template-columns:1fr
	}

	.glance-stat {
		margin: 0 auto;
		max-width:420px
	}
}

@media (max-width: 640px) {
	.glance-section__title {
		font-size:clamp(2.2rem, 10vw, 3.2rem)
	}

	.glance-section__intro {
		font-size: 1rem;
		line-height:1.75
	}

	.glance-stat__icon {
		height: 72px;
		margin-bottom:20px
	}

	.glance-stat__icon img {
		max-height:52px
	}

	.glance-stat__label {
		font-size: .84rem;
		letter-spacing:.12em
	}
}

.contact-panel {
	overflow: hidden;
	padding:0 32px
}

.contact-panel__inner {
	margin: 0 auto;
	max-width:800px
}

.contact-panel__grid {
	align-items: start;
	display: block;
	gap: 72px;
	grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr)
}

.contact-form {
	max-width:100%
}

.contact-form__group {
	margin-bottom:28px
}

.contact-form__label {
	color: #2f3237;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	margin:0 0 10px
}

.contact-form__input, .contact-form__select, .contact-form__textarea {
	background: transparent;
	border: 1.5px solid #c9c4c4;
	border-radius: 8px;
	box-sizing: border-box;
	color: #2f3237;
	font: inherit;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
	width:100%
}

.contact-form__input, .contact-form__select {
	font-size: 1rem;
	min-height: 58px;
	padding:0 18px
}

.contact-form__textarea {
	font-size: 1rem;
	line-height: 1.5;
	min-height: 194px;
	padding: 18px;
	resize:vertical
}

.contact-form__input::placeholder, .contact-form__textarea::placeholder {
	color: #666;
	opacity:1
}

.contact-form__input:focus, .contact-form__select:focus, .contact-form__textarea:focus {
	background: #fff;
	border-color: var(--brand-r);
	box-shadow: 0 0 0 4px rgba(170, 0, 74, .1);
	outline:none
}

.contact-form__select-wrap {
	position:relative
}

.contact-form__select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	padding-right:56px
}

.contact-form__select-wrap:after {
	border-bottom: 2px solid #2f3237;
	border-right: 2px solid #2f3237;
	content: "";
	height: 10px;
	pointer-events: none;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-60%) rotate(45deg);
	width:10px
}

.contact-form__button {
	align-items: center;
	background: var(--brand-r);
	border: 0;
	border-radius: 18px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	justify-content: center;
	min-height: 58px;
	min-width: 310px;
	padding: 0 28px;
	transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease
}

.contact-form__button:hover {
	transform:translateY(-1px)
}

.contact-form__button:focus {
	box-shadow: 0 0 0 4px rgba(170, 0, 74, .14);
	outline:none
}

.contact-panel__info-col {
	position:relative
}

.contact-panel__call {
	margin-bottom:40px
}

.contact-panel__call-label {
	color: #111;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.1;
	margin:0 0 8px
}

.contact-panel__call-number {
	color: var(--brand-r);
	display: inline-block;
	font-size: clamp(3.2rem, 6vw, 4.2rem);
	font-weight: 600;
	line-height: .95;
	text-decoration:none
}

.contact-panel__call-number:hover {
	text-decoration: underline;
	text-underline-offset:.08em
}

.contact-panel__icons {
	min-height: 620px;
	position: relative;
	width:100%
}

.contact-panel__icon {
	display: block;
	height: auto;
	max-height: 88px;
	max-width: 88px;
	position: absolute;
	width:auto
}

.contact-panel__icon--ticket {
	left: 10px;
	top: 210px;
	width:78px
}

.contact-panel__icon--document {
	right: 120px;
	top: 110px;
	width:76px
}

.contact-panel__icon--medical {
	left: 140px;
	top: 420px;
	width:88px
}

.contact-panel__icon--mobile {
	right: 0;
	top: 320px;
	width:64px
}

@media (max-width: 1200px) {
	.contact-panel__grid {
		gap:48px
	}

	.contact-panel__info-col {
		min-height:680px
	}

	.contact-panel__icons {
		min-height:540px
	}

	.contact-panel__icon--document {
		right:70px
	}
}

@media (max-width: 980px) {
	.contact-panel {
		padding:72px 20px
	}

	.contact-panel__grid {
		gap: 48px;
		grid-template-columns:1fr
	}

	.contact-panel__info-col {
		min-height:auto
	}

	.contact-panel__call {
		text-align:center
	}

	.contact-panel__icons {
		margin: 0 auto;
		max-width: 520px;
		min-height:280px
	}

	.contact-panel__icon--ticket {
		left: 20px;
		top:70px
	}

	.contact-panel__icon--document {
		right: 60px;
		top:0
	}

	.contact-panel__icon--medical {
		left: 170px;
		top:150px
	}

	.contact-panel__icon--mobile {
		right: 0;
		top:120px
	}
}

@media (max-width: 640px) {
	.contact-form__group {
		margin-bottom:22px
	}

	.contact-form__input, .contact-form__select {
		border-radius: 8px;
		min-height:54px
	}

	.contact-form__textarea {
		border-radius: 8px;
		min-height:170px
	}

	.contact-form__button {
		min-width: 0;
		width:100%
	}

	.contact-panel__call-label {
		font-size:1.8rem
	}

	.contact-panel__call-number {
		font-size:clamp(2.5rem, 12vw, 4rem)
	}

	.contact-panel__icons {
		min-height:220px
	}

	.contact-panel__icon {
		transform: scale(.85);
		transform-origin:center
	}

	.contact-panel__icon--ticket {
		left:0
	}

	.contact-panel__icon--document {
		right:20px
	}

	.contact-panel__icon--medical {
		left:110px
	}
}

.cta-contact {
	padding: 0 20px 100px;
	text-align:center
}

.cta-title {
	color: #8c0032;
	font-family: Fedra Serif, Georgia, Times New Roman, serif;
	font-size: 56px;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 600;
	margin-bottom:20px
}

.cta-intro {
	color: #555;
	line-height: 1.6;
	margin: 0 auto 15px;
	max-width:520px
}

.cta-actions {
	display: flex;
	gap: 50px;
	justify-content:center
}

.cta-link {
	align-items: center;
	color: #8c0032;
	display: flex;
	font-size: 22px;
	font-weight: 600;
	gap: 12px;
	text-decoration:none
}

.cta-link:hover {
	text-decoration:underline
}

.cta-icon {
	font-size:26px
}

.cta-link {
	transition:transform .2s ease
}

.cta-link:hover {
	transform:translateX(4px)
}

.site-footer {
	background: #ffeede;
	padding-top:70px
}

.footer-inner {
	display: grid;
	gap: 80px;
	grid-template-columns:1fr
}

.footer-col h4 {
	font-size: 14px;
	letter-spacing: .05em;
	margin-bottom: 20px;
	text-transform:uppercase
}

.footer-col ul {
	list-style: none;
	margin: 0;
	padding:0
}

.footer-col li {
	margin-bottom:12px
}

.footer-col a {
	color: #222;
	text-decoration:none
}

.footer-col a:hover {
	text-decoration:underline
}

.footer-brand {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align:center
}

.footer-brand img {
	margin-bottom: 25px;
	max-width:110px
}

a.footer-cta {
	background: #8c0032;
	border-radius: 18px;
	color: #fff;
	display: inline-block;
	font-weight: 600;
	padding: 14px 28px;
	text-decoration:none
}

a.footer-cta:hover {
	background: #6e0027;
	text-decoration:none
}

.footer-legal {
	color: #333;
	font-size: 12px;
	line-height: 1.5;
	margin: 60px auto;
	max-width: 900px;
	padding: 0 1rem;
	text-align:center
}

.footer-bottom {
	background: #fff;
	padding:20px 0
}

.footer-bottom-links {
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 25px;
	justify-content:center
}

.footer-bottom-links a {
	color: #8c0032;
	text-decoration:none
}

.footer-bottom-links a:hover {
	text-decoration:underline
}

@media (max-width: 900px) {
	.footer-inner {
		grid-template-columns: 1fr;
		text-align:center
	}

	.cta-actions {
		flex-direction: column;
		gap:20px
	}
}

.js-countup {
	display: inline-block;
	font-variant-numeric: tabular-nums;
	min-width: 7.5ch;
	will-change:contents
}

.js-countup .digit {
	display: inline-block;
	transition:transform .3s ease
}

.js-countup .digit.bounce {
	animation: digitBounce .4s ease;
	color:var(--accent-color)
}

@keyframes digitBounce {
	0% {
		transform:translateY(0)
	}

	40% {
		transform:translateY(-2px) scale(1.2)
	}

	to {
		transform:translateY(0)
	}
}

@media (max-width: 600px) {
	.top-alert__inner img {
		display: none
	}
}





/* CF7 wrapper */
.contact-form .wpcf7 {
	width: 100%;
}

.contact-form .wpcf7-form {
	display: block;
}

/* fields generated by CF7 can sometimes add margin wrappers */
.contact-form .wpcf7-form p {
	margin: 0;
}

.contact-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

/* make CF7 fields behave like your existing inputs */
.contact-form .wpcf7-text,
.contact-form .wpcf7-email,
.contact-form .wpcf7-tel,
.contact-form .wpcf7-select,
.contact-form .wpcf7-textarea {
	width: 100%;
	box-sizing: border-box;
}

/* submit button generated by CF7 */
.contact-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: 0;
	appearance: none;
}

/* spinner */
.contact-form .wpcf7-spinner {
	margin: 12px 0 0 12px;
	vertical-align: middle;
}

/* validation message under fields */
.contact-form .wpcf7-not-valid-tip {
	margin-top: 8px;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #c0392b;
}

/* invalid fields */
.contact-form .wpcf7-not-valid {
	border-color: #c0392b !important;
}

/* response output box */
.contact-form .wpcf7-response-output {
	margin: 24px 0 0 !important;
	padding: 12px 16px !important;
	border-radius: 10px;
	font-size: 0.95rem;
	line-height: 1.5;
}

/* validation error */
.contact-form form.invalid .wpcf7-response-output,
.contact-form form.unaccepted .wpcf7-response-output,
.contact-form form.payment-required .wpcf7-response-output {
	border: 1px solid #c0392b;
	background: rgba(192, 57, 43, 0.08);
	color: #7a1f15;
}

/* successful submit */
.contact-form form.sent .wpcf7-response-output {
	border: 1px solid #2e7d32;
	background: rgba(46, 125, 50, 0.08);
	color: #1f5a23;
}

/* spam / failed send */
.contact-form form.failed .wpcf7-response-output,
.contact-form form.aborted .wpcf7-response-output,
.contact-form form.spam .wpcf7-response-output {
	border: 1px solid #b26a00;
	background: rgba(178, 106, 0, 0.08);
	color: #7a4a00;
}

/* optional: textarea height */
.contact-form .wpcf7-textarea {
	min-height: 140px;
	resize: vertical;
}





#silktide-wrapper {
  --focus: 0 0 0 2px #ffffff, 0 0 0 4px #000000, 0 0 0 6px #ffffff;
  --boxShadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
  --fontFamily: "FS Me", Arial, Helvetica, sans-serif;
  --primaryColor: #8e0038;
  --backgroundColor: #ffffff;
  --textColor: #000000;
  --backdropBackgroundColor: #00000033;
  --backdropBackgroundBlur: 0px;
  --cookieIconColor: #000000;
  --cookieIconBackgroundColor: #FFFFFF;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
  border: 0px;
  display: flex;
  justify-content: center;
  align-items: center
}

/* Backdrop (Global) */
#silktide-backdrop-global {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  border: 0px;
  display: none;
}

/* --------------------------------
  Links
-------------------------------- */
#silktide-wrapper a {
  all: unset;
  display: inline-block;
  color: var(--primaryColor);
  text-decoration: underline;
}

#silktide-wrapper a:hover {
  cursor: pointer;
  color: var(--textColor);
}

/* --------------------------------
  Focus Styles
-------------------------------- */
#silktide-wrapper a:focus,
#silktide-wrapper #silktide-banner button:focus,
#silktide-wrapper #silktide-modal button:focus,
#silktide-wrapper #silktide-cookie-icon:focus {
  outline: none;
  box-shadow: var(--focus);
  border-radius: 5px;
}

#silktide-wrapper #silktide-cookie-icon:focus {
  border-radius: 50%;
}

/* --------------------------------
  General Styles
-------------------------------- */

#silktide-wrapper .st-button {
  color: var(--backgroundColor);
  background-color: var(--primaryColor);
  border: 2px solid var(--primaryColor);
  padding: 10px 20px;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  font-size: 16px;
  line-height: 24px;
  cursor: pointer;
  border-radius: 5px;
  font-weight: 400;
}


.preferences {
  font-weight: 400;	
}

#silktide-wrapper .st-button--primary {
}

#silktide-wrapper .st-button--primary:hover {
  background-color: var(--backgroundColor);
  color: var(--primaryColor);
}

#silktide-wrapper .st-button--secondary {
  background-color: var(--backgroundColor);
  color: var(--primaryColor);
}

#silktide-wrapper .st-button--secondary:hover {
  background-color: var(--primaryColor);
  color: var(--backgroundColor);
}

/* --------------------------------
  Banner
-------------------------------- */
#silktide-banner {
  font-family: var(--fontFamily);
  color: var(--textColor);
  background-color: var(--backgroundColor);
  box-sizing: border-box;
  padding: 32px;
  border-radius: 5px;
  pointer-events: auto;
  border: 0px;
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: 650px;
  max-width: calc(100% - 32px);
  transform: translate(0, -20px);
  opacity: 0;
  animation: silktide-slideInDown 350ms ease-out forwards;
  animation-delay: 0.3s;
  box-shadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
}

#silktide-banner:focus {
  border-radius: 50%;
}

#silktide-banner.center {
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  position: fixed;
  transform: translate(-50%, calc(-50% - 20px));
  animation: silktide-slideInDown-center 350ms ease-out forwards;
}

#silktide-banner.bottomLeft {
  bottom: 16px;
  left: 16px;
  position: fixed;
}

#silktide-banner.bottomCenter {
  bottom: 16px;
  left: 50%;
  position: fixed;
  transform: translate(-50%, -20px);
  animation: silktide-slideInDown-bottomCenter 350ms ease-out forwards;
}

#silktide-banner .preferences {
  
  background-color: var(--backgroundColor);
  border: 2px solid var(--primaryColor);
  color: var(--primaryColor);
  
  /*
  display: flex;
  gap: 5px;
  border: none;
  padding: 0px;
  background-color: transparent;
  color: var(--primaryColor);
  cursor: pointer;
  font-size: 16px;
  */
}

/*
#silktide-banner .preferences span {
  display: block;
  white-space: nowrap;
  text-decoration: underline;
}

#silktide-banner .preferences span:hover {
  color: var(--textColor);
}
*/


#silktide-banner p {
  font-size: 16px;
  line-height: 24px;
  margin: 0px 0px 15px;
  font-weight: 400;
  text-align: center
}

#silktide-banner a {
  display: inline-block;
  color: var(--primaryColor);
  text-decoration: underline;
  background-color: var(--backgroundColor);
  font-weight: 400;
}

#silktide-banner a:hover {
  color: var(--textColor);
}

#silktide-banner a.silktide-logo {
  display: block;
  fill: var(--primaryColor); /* passed down to svg > path */
  margin-left: auto;
  width: 24px;
  height: 24px;
}


#silktide-banner .actions {
  display: flex;
  gap: 16px;
  flex-direction: column;
  margin-top: 24px;
}

@media (min-width: 600px) {
  #silktide-banner .actions {
	flex-direction: row;
	align-items: center;
	display: flex;
	justify-content: center;
  }
}

#silktide-banner .actions-row {
  display: flex;
  gap: 16px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-grow: 1;
}

/* --------------------------------
  Modal
-------------------------------- */
#silktide-modal {
  display: none;
  pointer-events: auto;
  width: 800px;
  max-width: 100%;
  max-height: 100%;
  border: 0px;
  transform: translate(0px, -20px);
  opacity: 0;
  animation: silktide-slideInUp-center 350ms ease-out forwards;
  box-shadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
  font-family: var(--fontFamily);
  color: var(--textColor);
  flex-direction: column;
  padding: 30px;
  background-color: var(--backgroundColor);
  border-radius: 5px;
  box-sizing: border-box;
}

/* --------------------------------
  Modal - Header
-------------------------------- */
#silktide-modal header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 16px;
}

#silktide-modal h1 {
  font-family: var(--fontFamily);
  color: var(--textColor);
  font-size: 24px;
  font-weight: 500;
  margin: 0px;
}

#silktide-modal .modal-close {
  display: inline-flex;
  border: none;
  padding: 10px;
  border: 0px;
  cursor: pointer;
  background: var(--backgroundColor);
  color: var(--primaryColor);
}

#silktide-modal .modal-close svg {
  fill: var(--primaryColor);
}

/* --------------------------------
  Modal - Content
-------------------------------- */

#silktide-modal section {
  flex: 1;
  overflow-y: auto;
  margin-top: 32px;
  padding-right: 7px; /* Prevents scrollbar from appearing over the switches */
}

#silktide-modal section::-webkit-scrollbar {
  display: block; /* Force scrollbars to show */
  width: 5px; /* Width of the scrollbar */
}

#silktide-modal section::-webkit-scrollbar-thumb {
  background-color: var(--textColor); /* Color of the scrollbar thumb */
  border-radius: 10px; /* Rounded corners for the thumb */
}

#silktide-modal p {
  font-size: 16px;
  line-height: 24px;
  color: var(--textColor);
  margin: 0px 0px 15px;
  font-weight: 400
}

#silktide-modal p:last-of-type {
  margin: 0px;
}

#silktide-modal fieldset {
  padding: 0px;
  border: none;
  margin: 0px 0px 32px;
}

#silktide-modal fieldset:last-of-type {
  margin: 0px;
}

#silktide-modal legend {
  padding: 0px;
  margin: 0px 0px 10px;
  font-weight: 700;
  color: var(--textColor);
  font-size: 16px;
}

#silktide-modal .cookie-type-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;  
}

/* --------------------------------
  Modal - Switches
-------------------------------- */
#silktide-modal .switch {
  flex-shrink: 0;
  position: relative;
  display: inline-block;
  height: 34px;
  width: 74px;
  cursor: pointer;
}

#silktide-modal .switch:focus-within {
  outline: none;
  box-shadow: var(--focus);
  border-radius: 25px;
}

#silktide-modal .switch input {
  opacity: 0;
  position: absolute;
}

/* Unchecked Switch Styles */
#silktide-modal .switch__pill {
  position: relative;
  display: block;
  height: 34px;
  width: 74px;
  background: var(--textColor);
  border-radius: 25px;
}

#silktide-modal .switch__dot {
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  height: 30px;
  width: 30px;
  background: var(--backgroundColor);
  border-radius: 50%;
  transition: left 150ms ease-out;
}

#silktide-modal .switch__off,
#silktide-modal .switch__on {
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 500;
  color: var(--backgroundColor);
  position: absolute;
  top: 7px;
  right: 8px;
  transition: right 150ms ease-out, opacity 150ms ease-out;
}

#silktide-modal .switch__off {
  opacity: 1;
}

#silktide-modal .switch__on {
  opacity: 0;
}

/* Checked Switch Styles */
#silktide-modal .switch input:checked + .switch__pill {
  background: var(--primaryColor);
}

#silktide-modal .switch input:checked ~ .switch__dot {
  left: calc(100% - 32px);
}

#silktide-modal .switch input:checked ~ .switch__off {
  right: calc(100% - 32px);
  opacity: 0;
}

#silktide-modal .switch input:checked ~ .switch__on {
  right: calc(100% - 34px);
  opacity: 1;
}

/* Disabled Switch Styles */
#silktide-modal .switch input:disabled + .switch__pill {
  opacity: 0.65;
  cursor: not-allowed;
}

/* --------------------------------
  Modal - Footer
-------------------------------- */
#silktide-modal footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
}

@media (min-width: 600px) {
  #silktide-modal footer {
	flex-direction: row;
	align-items: center;
  }
}

#silktide-modal footer a {
  margin-left: auto;
}

/* Cookie Icon */
#silktide-cookie-icon {
  display: none !important;
  position: fixed;
  bottom: 10px;
  left: 10px;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  padding: 0px;
  border: none;
  background-color: var(--cookieIconColor);
  cursor: pointer;
  box-shadow: 0px 0px 6px 0px #0000001a;
  pointer-events: auto;
  animation: silktide-fadeIn 0.3s ease-in-out forwards;
}

#silktide-cookie-icon.bottomRight {
  left: auto;
  right: 10px;
}

#silktide-cookie-icon svg {
  fill: var(--cookieIconBackgroundColor);
}

/* --------------------------------
  Backdrop
-------------------------------- */
#silktide-backdrop {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--backdropBackgroundColor);
  backdrop-filter: blur(var(--backdropBackgroundBlur));
  pointer-events: all;
}

/* --------------------------------
  Animations
-------------------------------- */
@keyframes silktide-fadeIn {
  from {
	opacity: 0;
  }
  to {
	opacity: 1;
  }
}

@keyframes silktide-slideInDown {
  from {
	opacity: 0;
	transform: translateY(-20px);
  }
  to {
	opacity: 1;
	transform: translateY(0);
  }
}

@keyframes silktide-slideInDown-center {
  from {
	opacity: 0;
	transform: translate(-50%, calc(-50% - 20px));
  }
  to {
	opacity: 1;
	transform: translate(-50%, -50%);
  }
}

@keyframes silktide-slideInDown-bottomCenter {
  from {
	opacity: 0;
	transform: translate(-50%, -20px);
  }
  to {
	opacity: 1;
	transform: translate(-50%, 0);
  }
}

@keyframes silktide-slideInUp-center {
  from {
	opacity: 0;
	transform: translate(0px, 20px);
  }
  to {
	opacity: 1;
	transform: translate(0px, 0px);
  }
}
#silktide-wrapper .st-button.preferences-save {
	background-color: var(--backgroundColor);
	border: 2px solid var(--primaryColor);
	color: var(--primaryColor);	
}

#silktide-wrapper .st-button.reject-all {
	background-color: var(--backgroundColor);
	border: 2px solid var(--primaryColor);
	color: var(--primaryColor);
}


.b2b-page {
	background: #fff;
	color: #222;
	overflow: hidden;
}

.b2b-page h2 {
	color: var(--brand-r);
	font-family: "Fedra Serif", Georgia, serif;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 24px;
}

.b2b-page p {
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 18px;
}


.b2b-image {

	border-radius: 16px;
	overflow: hidden;
	width: 100%;
	height: 100%;

}

.b2b-image img {

	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;

}


.b2b-kicker {
	color: var(--brand-r);
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.b2b-intro {
	margin: 80px auto 180px;
	max-width: 820px;
	padding: 0 20px;
	text-align: center;
}
.b2b-outro {
	margin: 80px auto 80px;
	max-width: 820px;
	padding: 0 20px;
	text-align: center;
}

.b2b-logo-row {

	align-items: center;
	display: flex;
	gap: 90px;
	justify-content: center;
	margin-top: 42px;
	flex-wrap: wrap;

}

.b2b-logo-row img {

	max-height: 60px;
	width: auto;
	object-fit: contain;
	transition: all .3s ease;

}


.b2b-logo-row img {

	opacity: 0;
	transform: translateY(20px);
	animation: b2bFadeUp .6s ease forwards;

}

.b2b-logo-row img:nth-child(1) { animation-delay: .1s; }

.b2b-logo-row img:nth-child(2) { animation-delay: .25s; }

.b2b-logo-row img:nth-child(3) { animation-delay: .4s; }


.b2b-split {
	align-items: center;
	display: grid;
	gap: 90px;
	grid-template-columns: 1fr 1fr;
	margin: 0 auto 90px;
	max-width: 1400px;
	padding: 0 20px;
}

.b2b-placeholder {
	background: #d9d9d9;
	border-radius: 16px;
	min-height: 380px;
	width: 100%;
}

.b2b-tick-list {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.b2b-tick-list li {
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 12px;
	padding-left: 28px;
	position: relative;
}

.b2b-tick-list li {

	padding-left: 34px;
	position: relative;

}

.b2b-tick-list li:before {

	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 18px;
	height: 18px;
	background-image: url("assets/icon/plane.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;

}

.b2b-why {
	background: #ffead8;
	margin: 0 0 90px;
	padding: 80px 20px 90px;
	text-align: center;
}
.b2b-why h2 {
	color: #333
}

.b2b-why__grid {
	display: grid;
	gap: 60px 90px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 55px auto 0;
	max-width: 1080px;
	text-align: left;
}

.b2b-feature {
	display: grid;
	grid-template-columns: 70px 1fr;
	column-gap: 24px;
	row-gap: 26px;
	position: relative;
}

.b2b-feature:before {
	content: "";
	display: block;
	width: 54px;
	height: 54px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	grid-column: 1;
	grid-row: 1;
	margin-top: 4px;
}

.b2b-feature h3 {
	align-self: center;
	color: #000;
	font-size: 28px;
	line-height: 1.25;
	margin: 0;
	grid-column: 2;
	grid-row: 1;
}

.b2b-feature p {
	color: #000;
	font-size: 18px;
	line-height: 1.55;
	grid-column: 1 / -1;
	margin: 0;
}

.b2b-feature--customer:before {
	background-image: url("assets/icon/tick.svg");
}

.b2b-feature--tick:before {
	background-image: url("assets/icon/up.svg");
}

.b2b-feature--flex:before {
	background-image: url("assets/icon/flex.svg");
}

.b2b-feature--up:before {
	background-image: url("assets/icon/customer.svg");
}

.b2b-feature {

	opacity: 0;
	transform: translateY(28px);
	transition: opacity .6s ease, transform .6s ease;
	will-change: opacity, transform;

}

.b2b-feature.is-visible {

	opacity: 1;
	transform: translateY(0);

}

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

.b2b-content-blocks {
	padding: 0;
}

.b2b-leadership {
	margin: 30px auto 90px;
	max-width: 760px;
	padding: 0 20px;
	text-align: center;
}

.b2b-leadership__grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 36px;
}

.b2b-person {
	align-items: flex-start;
	background: #d9d9d9;
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 270px;
	padding: 28px;
	text-align: left;
}

.b2b-person span {
	color: #222;
	font-size: 22px;
	font-weight: 700;
}

.b2b-person small {
	color: var(--brand-r);
	font-size: 12px;
	font-weight: 700;
	margin-top: 6px;
	text-transform: uppercase;
}

.b2b-contact {
	margin: 0 auto 100px;
	max-width: 760px;
	padding: 0 20px;
	text-align: center;
}

.b2b-contact h2 {
	font-size: clamp(2.8rem, 6vw, 4.4rem);
}

.b2b-contact__grid {
	align-items: center;
	display: grid;
	gap: 60px;
	grid-template-columns: 1fr 1fr;
	text-align: left;
}

.b2b-contact__links {
	display: grid;
	gap: 14px;
}

.b2b-contact__links a {
	color: var(--brand-r);
	font-size: 24px;
	text-decoration: underline;
}

/* optional anchor target for hero button */
#products {
	scroll-margin-top: 120px;
}

@media (max-width: 900px) {
	.b2b-intro {
		margin: 56px auto 64px;
	}

	.b2b-logo-row {
		flex-direction: column;
		gap: 28px;
	}

	.b2b-split,
	.b2b-contact__grid {
		grid-template-columns: 1fr;
	}

	.b2b-split {
		gap: 34px;
		margin-bottom: 64px;
	}

	.b2b-split--reverse .b2b-placeholder {
		order: 2;
	}

	.b2b-placeholder {
		min-height: 280px;
	}

	.b2b-why {
		margin-bottom: 64px;
		padding: 64px 20px;
	}

	.b2b-why__grid,
	.b2b-leadership__grid {
		grid-template-columns: 1fr;
	}

	.b2b-feature {
		padding-left: 0px;
	}

	.b2b-feature:before {
		font-size: 34px;
	}

	.b2b-contact__grid {
		gap: 28px;
		text-align: center;
	}
}


@media (max-width: 900px) {

	.b2b-feature {
		grid-template-columns: 52px 1fr;
		column-gap: 18px;
		row-gap: 18px;
	}
	.b2b-feature:before {
		width: 42px;
		height: 42px;
	}
	.b2b-feature h3 {
		font-size: 22px;
	}
	.b2b-feature p {
		font-size: 16px;
	}

}

@media (max-width: 900px) {

	.b2b-split {
		display: flex;
		flex-direction: column;
	}
	/* force image first */
	.b2b-split > .b2b-image,
	.b2b-split > .b2b-placeholder {
		order: 1;
	}
	/* text second */
	.b2b-split > div:not(.b2b-image):not(.b2b-placeholder) {
		order: 2;
	}

}


.b2b-page h2.bl_sm {	
	font-size: 2.1rem;
	line-height: 1.4;
	padding-top: 2rem;
}
.mt-5 {
	margin-top: 3rem !important
}
.b2b-wh__text {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 1rem;
} 
.b2b-why.mb-0 {
	margin-bottom: 0 !important
}


.b2b-mga {
	background: var(--hero-panel-bg);
	padding: 90px 20px;
}

.b2b-mga__inner {
	margin: 0 auto;
	max-width: 1180px;
}

.b2b-mga h2 {
	text-align: center;
	margin-bottom: 56px;
}

.b2b-mga__grid {
	display: grid;
	gap: 42px 70px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.b2b-mga__item {
	opacity: 0;
	position: relative;
	transform: translateY(28px);
	transition: opacity .6s ease-out, transform .6s cubic-bezier(.22, 1, .36, 1);
}

.b2b-mga__item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.b2b-mga__item h3 {
	align-items: flex-start;
	color: #000;
	display: flex;
	font-size: 24px;
	gap: 16px;
	line-height: 1.25;
	margin: 0 0 14px;
}

.b2b-mga__item h3:before {
	background-image: url("assets/icon/tick.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	flex: 0 0 28px;
	height: 28px;
	margin-top: 1px;
	width: 28px;
}

.b2b-mga__item p {
	color: #000;
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}

.b2b-mga__footer {
	background: #ffead8;
	border-radius: 18px;
	margin: 60px auto 0;
	max-width: 760px;
	padding: 34px 38px;
	text-align: left;
}

.ac {
	text-align: center;
	padding-bottom: 2rem
}

.b2b-mga__travel h2 {
	margin-bottom: 1rem
}

@media (max-width: 900px) {
	.b2b-mga {
		padding: 64px 20px;
	}

	.b2b-mga__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.b2b-mga h2 {
		margin-bottom: 40px;
	}

	.b2b-mga__item h3 {
		font-size: 21px;
	}

	.b2b-mga__item p {
		font-size: 16px;
	}

	.b2b-mga__footer {
		padding: 28px 24px;
	}
}
