.container {
	width: calc(100% - 2*var(--container-gutter, 15px));
	max-width: var(--container-width, none);
	margin-inline: auto
}

.container--fluid {
	--container-width: 100%
}

.container--md {
	--container-width: 75rem
}

.container--sm {
	--container-width: 50rem
}

.title-l {
	font-family: var(--ff-primary);
	font-size: 1.5rem;
	line-height: 1.15
}

.title-xl,
.cms h2 {
	font-family: var(--ff-primary);
	font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
	line-height: 1.2
}

.title-1xl {
	font-family: var(--ff-primary);
	font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
	line-height: 1
}

.title-2xl {
	font-family: var(--ff-primary);
	font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
	line-height: 1
}

.title-3xl {
	font-family: var(--ff-primary);
	font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
	line-height: 1
}

@media(max-width: 89.98rem) {
	.xxl-title-l {
		font-family: var(--ff-primary);
		font-size: 1.5rem;
		line-height: 1.15
	}

	.xxl-title-xl {
		font-family: var(--ff-primary);
		font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
		line-height: 1.2
	}

	.xxl-title-1xl {
		font-family: var(--ff-primary);
		font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
		line-height: 1
	}

	.xxl-title-2xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
		line-height: 1
	}

	.xxl-title-3xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
		line-height: 1
	}
}

@media(max-width: 78.98rem) {
	.xl-title-l {
		font-family: var(--ff-primary);
		font-size: 1.5rem;
		line-height: 1.15
	}

	.xl-title-xl {
		font-family: var(--ff-primary);
		font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
		line-height: 1.2
	}

	.xl-title-1xl {
		font-family: var(--ff-primary);
		font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
		line-height: 1
	}

	.xl-title-2xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
		line-height: 1
	}

	.xl-title-3xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
		line-height: 1
	}
}

@media(max-width: 63.98rem) {
	.lg-title-l {
		font-family: var(--ff-primary);
		font-size: 1.5rem;
		line-height: 1.15
	}

	.lg-title-xl {
		font-family: var(--ff-primary);
		font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
		line-height: 1.2
	}

	.lg-title-1xl {
		font-family: var(--ff-primary);
		font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
		line-height: 1
	}

	.lg-title-2xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
		line-height: 1
	}

	.lg-title-3xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
		line-height: 1
	}
}

@media(max-width: 47.98rem) {
	.md-title-l {
		font-family: var(--ff-primary);
		font-size: 1.5rem;
		line-height: 1.15
	}

	.md-title-xl {
		font-family: var(--ff-primary);
		font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
		line-height: 1.2
	}

	.md-title-1xl {
		font-family: var(--ff-primary);
		font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
		line-height: 1
	}

	.md-title-2xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
		line-height: 1
	}

	.md-title-3xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
		line-height: 1
	}
}

@media(max-width: 35.98rem) {
	.sm-title-l {
		font-family: var(--ff-primary);
		font-size: 1.5rem;
		line-height: 1.15
	}

	.sm-title-xl {
		font-family: var(--ff-primary);
		font-size: clamp(2rem, 2.7777777778vw + .5rem, 2.5rem);
		line-height: 1.2
	}

	.sm-title-1xl {
		font-family: var(--ff-primary);
		font-size: clamp(3rem, 4.4444444444vw + .5rem, 4rem);
		line-height: 1
	}

	.sm-title-2xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.33rem, 5.5555555556vw + .5rem, 5rem);
		line-height: 1
	}

	.sm-title-3xl {
		font-family: var(--ff-primary);
		font-size: clamp(3.5rem, 6.6666666667vw + .5rem, 6rem);
		line-height: 1
	}
}

@font-face {
  font-family: "Geist Mono";
  src: url("./font/geist-mono.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
	--viewport-w: 100vw;
	--header-h: 5.125rem;
	--ff-primary: 'Lato', sans-serif;
	--ff-secondary: "Geist Mono";
	--container-width: 100rem;
	--container-gutter: clamp(1rem, 2.2222222222vw + 0.5rem, 2rem);
	--black: #1c1f26;
	--white: #FFF;
	--orange: #f97316;
	--darkblue: #111d38;
}

@media(max-width: 63.98rem) {
	:root {
		--header-h: 4rem
	}
}

[data-theme=light] {
	--thm-bdr: rgba(25, 27, 45, 0.1);
	--thm-bg: var(--white);
	--thm-txt: var(--black);
	--thm-acnt: #1B9A98;
	--thm-acnt-2: #6478B6;
	color-scheme: light
}

[data-theme=dark] {
	--thm-bdr: rgba(255, 255, 255, 0.15);
	--thm-bg: var(--black);
	--thm-txt: var(--white);
	--thm-acnt: #50EBE5;
	--thm-acnt-2: #50eb97;
	color-scheme: dark
}

@keyframes autoscroll-horizontal {
	to {
		transform: translateX(calc(var(--direction, -1) * 100%))
	}
}

@keyframes scroll-button {

	0%,
	16%,
	100% {
		translate: 0 0
	}

	8% {
		translate: 0 100%
	}

	8.1% {
		translate: 0 -100%
	}
}

@keyframes spin {
	to {
		rotate: 360deg
	}
}

@font-face {
	font-family: "Britti Sans";
	src: url(../fonts/brittisans/400.woff2) format("woff2");
	font-weight: 400;
	font-style: normal;
	font-stretch: normal
}

@font-face {
	font-family: "Britti Sans";
	src: url(../fonts/brittisans/500.woff2) format("woff2");
	font-weight: 500;
	font-style: normal;
	font-stretch: normal
}

@font-face {
	font-family: "Geist Mono";
	src: url(../fonts/geistmono/variable.ttf) format("truetype-variations");
	font-weight: "variable";
	font-style: normal;
	font-stretch: normal
}

* {
	margin: 0;
	padding: 0
}

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

html {
	box-sizing: border-box
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit
}

hr {
	border: 0
}

button,
input,
select,
textarea {
	border: 0;
	border-radius: 0;
	background-color: rgba(0, 0, 0, 0);
	appearance: none;
	letter-spacing: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit
}

a,
button,
select,
input,
textarea {
	color: inherit
}

a,
button {
	cursor: pointer
}

button {
	text-transform: inherit
}

a {
	text-decoration: none
}

fieldset {
	border: 0
}

ol li,
ul li {
	list-style-type: none
}

ul {
	margin: 0;
	padding: 0
}

ul li {
	list-style-type: none
}

mark {
	background-color: inherit;
	color: inherit
}

[hidden] {
	display: none !important
}

html,
body {
	max-width: var(--viewport-w);
	height: auto
}

@media(hover: hover) {

	html,
	body {
		overscroll-behavior: none
	}
}

html {
	font-size: clamp(1rem, .55vw + .5rem, 1.25rem)
}

body {
	display: flex;
	min-height: 100dvh;
	flex-direction: column;
	background-color: var(--thm-bg);
	font-family: var(--ff-primary);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.125;
	color: var(--thm-txt);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden
}

.wrapper {
	z-index: 1;
	flex: 1 1 auto;
	overflow: clip
}

.quick-access {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	justify-content: center;
	align-items: center;
	pointer-events: none
}

.quick-access:not(:focus-within) {
	opacity: 0
}

.quick-access-link:not(:focus-visible) {
	width: 0;
	height: 0;
	position: absolute;
	overflow: hidden
}

.icon {
	display: inline-block;
	width: 1em;
	min-width: 1em;
	height: 1em;
	min-height: 1em;
	fill: none
}

.icon [fill] {
	fill: currentColor
}

.icon [stroke] {
	stroke: currentColor
}

.anchor {
	display: block;
	position: relative;
	top: -80px;
	visibility: hidden
}

.word {
	display: inline-block
}

.screen-reader-text,
.slider-a11y {
	width: 0;
	height: 0;
	position: absolute;
	overflow: hidden
}

:is(.media-contain, .media-cover) {
	position: relative;
	overflow: hidden
}

:is(.media-contain, .media-cover) :is(img, video, iframe) {
	display: block;
	position: absolute;
	inset: 0
}

.media-contain :is(img, video) {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	margin: auto
}

.media-contain iframe {
	margin: auto
}

.media-cover :is(img, video, iframe) {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.media-parallax {
	position: relative;
	overflow: hidden
}

.media-parallax :is(img, video, iframe) {
	display: block;
	width: 100%;
	height: calc(100% + var(--parallax-size, 10%));
	position: absolute;
	inset: calc(var(--parallax-size, 10%)/-2) 0;
	object-fit: cover;
	translate: 0 calc(var(--parallax-offset, 0)*var(--parallax-size, 10%))
}

[data-theme]:not([data-theme=light]) img[data-theme=light],
[data-theme]:not([data-theme=dark]) img[data-theme=dark] {
	display: none
}

.logos-item,
.header-contact,
.header-lang-link,
.header-lang-toggle,
.header-nav-toggle,
.header-logo {
	position: relative
}

.logos-item::before,
.header-contact::before,
.header-lang-link::before,
.header-lang-toggle::before,
.header-nav-toggle::before,
.header-logo::before {
	position: absolute;
	inset: 0;
	border: 1px solid var(--thm-acnt-2);
	clip-path: polygon(0% 0%, 0% 100%, 0 100%, 0 100%, 0 100%, 0 0, 0 0, 0 0, 100% 0, 100% 0, 100% 0, 100% 100%, 100% 100%, 100% 100%, 0 100%, 0 100%, 0 100%, 100% 100%, 100% 0%);
	content: "";
	pointer-events: none;
	transition: clip-path .3s ease
}

.logos-item:hover::before,
.header-contact:hover::before,
.header-lang-link:hover::before,
.header-lang-toggle:hover::before,
.header-nav-toggle:hover::before,
.header-logo:hover::before {
	clip-path: polygon(0% 0%, 0% 100%, 0.75rem 100%, 0.75rem calc(100% - 0.75rem), 0 calc(100% - 0.75rem), 0 0.75rem, 0.75rem 0.75rem, 0.75rem 0, calc(100% - 0.75rem) 0, calc(100% - 0.75rem) 0.75rem, 100% 0.75rem, 100% calc(100% - 0.75rem), calc(100% - 0.75rem) calc(100% - 0.75rem), calc(100% - 0.75rem) 100%, 0.75rem 100%, 0.75rem calc(100% - 0.75rem), 0.75rem 100%, 100% 100%, 100% 0%)
}

/* [data-reveal=shuffle]:not([data-split=true]) {
	color: rgba(0, 0, 0, 0)
}

[data-reveal=words]:not([data-split=true]) {
	color: rgba(0, 0, 0, 0)
} */

[data-reveal=words] .word {
	opacity: 0;
	transition: opacity .6s ease
}

[data-reveal=words] .word[data-animate=true] {
	opacity: 1
}

/* [data-reveal=opacity] {
	opacity: 0;
	transition: opacity .3s ease
} */

[data-reveal=opacity][data-animate=true] {
	opacity: 1
}

.cms p:not(:first-child),
.cms ul:not(:first-child),
.cms ol:not(:first-child),
.cms h1:not(:first-child),
.cms h2:not(:first-child),
.cms h3:not(:first-child),
.cms h4:not(:first-child),
.cms h5:not(:first-child),
.cms h6:not(:first-child),
.cms table:not(:first-child) {
	margin-top: 1em
}

.cms img {
	display: block;
	width: 100%;
	height: auto
}

.cms ol:not([class]) li {
	list-style: decimal
}

.cms a {
	text-decoration: underline
}

.cms table th,
.cms table td {
	padding-block: .25rem
}

.cms table th:not(:last-child),
.cms table td:not(:last-child) {
	padding-right: 1rem
}

.cms ul {
	list-style: none;
	padding-top: 10px
}

.cms ul li {
	position: relative;
	padding-left: 20px;
	padding-bottom: 10px
}

.cms ul li::before {
	content: "";
	position: absolute;
	top: .25rem;
	left: 0;
	width: 8.485px;
	aspect-ratio: 1;
	background-color: pink;
	background-color: currentColor;
	transform: rotate(45deg)
}

.dflex {
	display: flex;
	align-items: center;
	vertical-align: middle
}

.txt-c {
	text-align: center
}

.m-a {
	margin: auto
}

.z1 {
	z-index: 1
}

.rel {
	position: relative
}

.title-h1 {
	font-size: 3rem;
	line-height: 3.5rem
}

@media(max-width: 47.98rem) {
	.title-h1 {
		font-size: 2.3rem;
		line-height: initial
	}
}

.title-h2 {
	font-size: 2.25rem;
	line-height: 2.75rem
}

@media(max-width: 47.98rem) {
	.title-h2 {
		font-size: 2rem;
		line-height: initial
	}
}

@media(max-width: 35.98rem) {
	.title-h2 {
		font-size: 1.6rem;
		line-height: initial
	}
}

.title-h3 {
	font-size: 1.75rem;
	font-weight: 500;
	line-height: 2.25rem
}

@media(max-width: 47.98rem) {
	.title-h3 {
		font-size: 1.5rem;
		line-height: initial
	}
}

.disp-mob {
	display: none
}

@media(max-width: 47.98rem) {
	.disp-mob {
		display: block
	}
}

.disp-desk {
	display: block
}

@media(max-width: 47.98rem) {
	.disp-desk {
		display: none
	}
}

.infobulle {
	position: relative;
	display: inline-block
}

@media(max-width: 63.98rem) {
	.infobulle {
		position: inherit
	}
}

.infobulle svg {
	cursor: pointer
}

.infobulle .infobulle_text {
	visibility: hidden;
	width: 600px;
	background-color: #6478b6;
	color: #fff;
	font-size: 1.1rem;
	line-height: 135%;
	padding: .8rem;
	border-top-left-radius: 1.25rem;
	border-top-right-radius: 1.25rem;
	border-bottom-right-radius: 1.25rem;
	position: absolute;
	bottom: 100%;
	z-index: 1
}

@media(max-width: 63.98rem) {
	.infobulle .infobulle_text {
		font-size: 1rem;
		left: 0%;
		right: 0;
		width: 100%;
		border-bottom-left-radius: 1.25rem
	}

	.infobulle .infobulle_text:before {
		content: "";
		position: absolute;
		bottom: -8px;
		left: 306px;
		border-style: solid;
		border-width: 8px 8px 0 8px;
		border-color: #6478b6 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
		display: inline-block
	}
}

@media(max-width: 47.98rem) {
	.infobulle .infobulle_text {
		font-size: .8rem
	}

	.infobulle .infobulle_text:before {
		content: "";
		left: 260px
	}
}

@media(max-width: 35.98rem) {
	.infobulle .infobulle_text:before {
		content: "";
		left: 212px
	}
}

@media(max-width: 300px) {
	.infobulle .infobulle_text:before {
		content: none
	}
}

.infobulle svg:hover+.infobulle_text {
	visibility: visible
}

.button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 1rem;
	padding: .5rem;
	color: var(--thm-acnt);
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1.15;
	text-transform: uppercase;
	background: color-mix(in srgb, var(--thm-acnt), transparent 84%);
	backdrop-filter: blur(12px);
	cursor: pointer;
	transition: background-color .3s ease
}

.button-icon,
.select-arrow,
.phone-code-arrow {
	display: flex;
	min-width: 1rem;
	aspect-ratio: 1;
	position: relative;
	border: 1px solid currentColor;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	font-size: .625rem;
	transition: inherit
}

.button-icon:not(:has(.icon))::before,
.select-arrow:not(:has(.icon))::before,
.phone-code-arrow:not(:has(.icon))::before,
.button-icon:not(:has(.icon))::after,
.select-arrow:not(:has(.icon))::after,
.phone-code-arrow:not(:has(.icon))::after {
	content: "";
	position: absolute;
	border-radius: 1px;
	background: currentColor;
	content: ""
}

.button-icon:not(:has(.icon))::before,
.select-arrow:not(:has(.icon))::before,
.phone-code-arrow:not(:has(.icon))::before {
	width: .5rem;
	height: 1px;
	top: calc(50% - .5px);
	left: calc(50% - .25rem)
}

.button-icon:not(:has(.icon))::after,
.select-arrow:not(:has(.icon))::after,
.phone-code-arrow:not(:has(.icon))::after {
	width: 1px;
	height: .5rem;
	top: calc(50% - .25rem);
	left: calc(50% - .5px);
	transition: rotate .2s ease
}

.button:is(:hover, [aria-expanded=true]),
details[open] .button {
	color: var(--thm-acnt-2);
	background: color-mix(in srgb, var(--thm-acnt-2), transparent 84%)
}

.button:is(:hover, [aria-expanded=true]) .button-icon,
.button:is(:hover, [aria-expanded=true]) .select-arrow,
.button:is(:hover, [aria-expanded=true]) .phone-code-arrow,
details[open] .button .button-icon,
details[open] .button .select-arrow,
details[open] .button .phone-code-arrow {
	color: currentColor
}

.button[aria-expanded=true] .button-icon,
.button[aria-expanded=true] .select-arrow,
.button[aria-expanded=true] .phone-code-arrow,
details[open] .button .button-icon,
details[open] .button .select-arrow,
details[open] .button .phone-code-arrow {
	color: currentColor
}

.button[aria-expanded=true] .button-icon:not(:has(svg))::after,
.button[aria-expanded=true] .select-arrow:not(:has(svg))::after,
.button[aria-expanded=true] .phone-code-arrow:not(:has(svg))::after,
details[open] .button .button-icon:not(:has(svg))::after,
details[open] .button .select-arrow:not(:has(svg))::after,
details[open] .button .phone-code-arrow:not(:has(svg))::after {
	rotate: 90deg
}

.secondary-button {
	display: inline-flex;
	padding: .625rem 1rem;
	border: 1px solid var(--thm-bdr);
	border-radius: .125rem;
	align-items: center;
	gap: .5rem;
	background: color-mix(in srgb, var(--thm-txt), transparent 95%);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .75rem
}

.secondary-button-icon {
	font-size: 1rem;
	color: var(--thm-acnt-2)
}

.contact-card {
	width: 100%;
	position: relative;
	padding: 2.5rem;
	border: 1px solid var(--thm-bdr);
	border-radius: .25rem
}

.contact-card-copy {
	display: flex;
	width: fit-content;
	position: relative;
	z-index: 1;
	margin-left: auto;
	align-items: center;
	gap: .625rem;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .75rem;
	transition: color .4s ease
}

.contact-card-copy::before {
	content: "["
}

.contact-card-copy::after {
	content: "]"
}

.contact-card-copy-icon {
	color: var(--thm-acnt-2)
}

.contact-card-copy:hover {
	color: var(--thm-acnt-2)
}

.contact-card-title {
	width: fit-content;
	margin-top: 2.5rem;
	background-image: linear-gradient(90deg, var(--thm-acnt-2), var(--thm-acnt-2));
	background-repeat: no-repeat;
	background-size: 0% 1px;
	background-position: bottom left;
	transition: color .4s ease, background-size .4s ease
}

.contact-card-footer {
	display: flex;
	margin-top: 1rem;
	justify-content: space-between;
	align-items: center
}

.contact-card-arrow {
	display: flex;
	width: 1em;
	justify-content: end;
	color: var(--thm-acnt-2);
	overflow: hidden
}

.contact-card-arrow .icon {
	transition: translate .4s ease
}

.contact-card-link {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	text-indent: 100vw;
	white-space: nowrap;
	overflow: hidden
}

.contact-card:has(.contact-card-link:hover) .contact-card-title {
	background-size: 100% 1px;
	color: var(--thm-acnt-2)
}

.contact-card:has(.contact-card-link:hover) .contact-card-arrow .icon {
	translate: 100% 0
}

.post-card {
	position: relative
}

.post-card-image {
	aspect-ratio: 1/.625;
	position: relative;
	margin-bottom: 1.5rem;
	background: color-mix(in srgb, var(--thm-txt), transparent 96%)
}

.post-card-image-inner {
	position: absolute;
	inset: 0;
	scale: .85;
	clip-path: polygon(0% 6%, 100% 6%, 100% 94%, 0% 94%);
	transition: scale .35s ease, clip-path .35s ease
}

.post-card-category,
.post-card-title {
	transition: color .35s ease
}

.post-card-category {
	margin-bottom: .75rem;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	color: var(--thm-acnt)
}

.post-card-title {
	font-size: 1.25rem;
	font-weight: 500
}

.post-card-link {
	position: absolute;
	inset: 0;
	text-indent: 100vw;
	white-space: nowrap;
	overflow: hidden
}

.post-card:hover .post-card-image-inner {
	scale: 1;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}

.post-card:hover .post-card-category,
.post-card:hover .post-card-title {
	color: var(--thm-acnt-2)
}

@media(max-width: 78.98rem) {
	.post-card-title {
		font-size: 1.5rem;
		margin-bottom: .75rem
	}

	.post-card-text {
		font-size: .875rem;
		margin-bottom: .75rem
	}
}

@media(max-width: 47.98rem) {
	.post-card-link-content {
		position: static
	}
}

.member-card {
	display: flex;
	padding-block: 1rem;
	align-items: start;
	gap: 1.25rem
}

.member-card-image {
	min-width: 8.75rem;
	aspect-ratio: 1
}

.member-card-name {
	margin-bottom: .5rem
}

a.member-card-function {
	color: var(--thm-acnt-2);
}

.member-card-function {
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1.15;
	color: var(--thm-acnt)
}

.figure-card-title {
	display: block;
	text-align: right;
	color: var(--thm-acnt-2)
}

.highlight-card {
	display: flex;
	position: relative;
	isolation: isolate;
	padding-block: 1.5rem;
	border-top: 1px solid var(--thm-bdr);
	flex-direction: column;
	background: var(--thm-bg);
	color: var(--thm-txt);
	transition: background-color .3s ease, color .3s ease
}

.highlight-card-image {
	width: 100%;
	height: calc(100% + 1px);
	position: absolute;
	inset: -1px 0 0 0;
	z-index: -1;
	opacity: 0;
	transition: opacity .3s ease
}

.highlight-card-title,
.highlight-card-subtitle,
.highlight-card-info {
	width: calc(100% - 3rem)
}

.highlight-card-title {
	text-transform: uppercase;
	color: var(--thm-acnt);
	transition: translate .3s ease, color .3s ease
}

.highlight-card-subtitle {
	font-size: 1rem;
	transition: translate .3s ease, color .3s ease
}

.highlight-card-subtitle:not(:first-child) {
	margin-top: 1rem
}

.highlight-card-info {
	margin-bottom: auto;
	transition: translate .3s ease, opacity .3s ease
}

.highlight-card-info[inert] {
	opacity: 0
}

.highlight-card-info:not(:first-child) {
	margin-top: 1.5rem
}

.highlight-card-info-item:not(:last-child) {
	margin-bottom: 1rem
}

.highlight-card-toggle {
	width: 100%;
	position: sticky;
	bottom: 1.5rem;
	margin-top: 2.5rem;
	margin-inline: auto;
	order: 1;
	will-change: width;
	transition: width .3s ease
}

@media(hover: hover) {
	.highlight-card[data-animate=true] .highlight-card-image {
		opacity: .15
	}

	.highlight-card:hover .highlight-card-image {
		opacity: 1
	}

	.highlight-card:hover .highlight-card-title,
	.highlight-card:hover .highlight-card-subtitle,
	.highlight-card:hover .highlight-card-info {
		translate: 1.5rem
	}

	.highlight-card:hover .highlight-card-title {
		color: var(--thm-acnt-2)
	}

	.highlight-card:hover .highlight-card-toggle {
		width: calc(100% - 3rem)
	}
}

@media(hover: none) {
	.highlight-card[data-animate=true] .highlight-card-image {
		opacity: 1
	}

	.highlight-card[data-animate=true] .highlight-card-title {
		color: var(--thm-acnt-2)
	}
}

.highlight-card:is([data-animate=true], :has([aria-expanded=true])) .highlight-card-title,
.highlight-card:is([data-animate=true], :has([aria-expanded=true])) .highlight-card-subtitle,
.highlight-card:is([data-animate=true], :has([aria-expanded=true])) .highlight-card-info {
	translate: 1.5rem
}

.highlight-card:is([data-animate=true], :has([aria-expanded=true])) .highlight-card-toggle {
	width: calc(100% - 3rem)
}

.highlight-card:has([aria-expanded=true]) .highlight-card-image {
	opacity: 0
}

.highlight-card:has([aria-expanded=true]) .highlight-card-title {
	color: var(--thm-acnt-2)
}

.redirection-card {
	display: flex;
	aspect-ratio: 1/.65;
	position: relative;
	isolation: isolate;
	padding-block: 1.5rem;
	border-top: 1px solid var(--thm-bdr);
	flex-direction: column
}

.redirection-card-image {
	width: 100%;
	height: calc(100% + 1px);
	position: absolute;
	inset: -1px 0 0 0;
	z-index: -1;
	opacity: 0;
	transition: opacity .3s ease
}

.redirection-card-title {
	width: calc(100% - 3rem);
	margin-bottom: 2.5rem;
	transition: translate .3s ease, color .3s ease
}

.redirection-card-link {
	width: 100%;
	position: sticky;
	bottom: 1.5rem;
	margin-top: auto;
	margin-inline: auto;
	will-change: width;
	transition: width .3s ease
}

@media(hover: hover) {
	.redirection-card[data-animate=true] .redirection-card-image {
		opacity: .15
	}

	.redirection-card:hover .redirection-card-image {
		opacity: 1
	}

	.redirection-card:hover .redirection-card-title {
		color: var(--thm-acnt-2);
		translate: 1.5rem
	}

	.redirection-card:hover .redirection-card-link {
		width: calc(100% - 3rem)
	}
}

@media(hover: none) {
	.redirection-card[data-animate=true] .redirection-card-image {
		opacity: 1
	}

	.redirection-card[data-animate=true] .redirection-card-title {
		color: var(--thm-acnt-2)
	}
}

.redirection-card:is([data-animate=true]) .redirection-card-title {
	translate: 1.5rem
}

.redirection-card:is([data-animate=true]) .redirection-card-link {
	width: calc(100% - 3rem)
}

@media(prefers-reduced-motion: no-preference) {
	.skeleton {
		animation: flash 1s alternate infinite
	}
}

.skeleton-text::before,
.skeleton-title::before {
	display: block;
	width: 100%;
	height: 1em;
	background: currentColor;
	content: "";
	opacity: .5
}

.skeleton-title {
	width: min(var(--length, 100%), 90%);
	padding-block: .1em
}

.skeleton-text {
	width: 100%;
	padding-block: .25em
}

.skeleton-text+.skeleton-text:last-child {
	width: 75%
}

.post-card.skeleton .post-card-category {
	width: 15ch
}

.post-card.skeleton .post-card-title {
	width: 100%
}

.lightbox {
	display: flex;
	position: fixed;
	inset: 0;
	z-index: 1000;
	padding: var(--container-gutter);
	background: rgba(0, 0, 0, .9);
	backdrop-filter: blur(10px);
	flex-direction: column;
	color: var(--white);
	transition: opacity .3s ease
}

.lightbox[inert] {
	opacity: 0
}

.lightbox-close {
	padding: 1rem;
	margin-left: auto
}

.lightbox .slider-wrapper {
	flex: 1 1 auto;
	margin-block: 1rem
}

.lightbox .slider-arrows {
	margin-left: auto
}

.pagination {
	margin-top: 3rem
}

.pagination,
.pagination-list {
	display: flex;
	align-items: center;
	gap: 1rem
}

.pagination-arrow {
	display: flex;
	min-width: 1.5rem;
	aspect-ratio: 1;
	border: 1px solid var(--thm-acnt);
	border-radius: 100%;
	justify-content: center;
	align-items: center;
	font-size: .75rem;
	color: var(--thm-acnt)
}

.pagination-arrow:disabled {
	opacity: .5;
	cursor: default
}

.pagination-link {
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500
}

.pagination-link[aria-current=true] {
	color: var(--thm-acnt)
}

.input {
	display: block;
	width: 100%;
	padding: .75rem 1rem;
	border: 1px solid var(--thm-bdr);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.input[aria-invalid=true] {
	border-color: var(--orange)
}

.input[type=file]::file-selector-button {
	padding: .75rem 1rem;
	margin-right: .75rem;
	background: var(--thm-bdr);
	cursor: pointer
}

textarea.input {
	height: calc(7.5em + 1.5rem + 2px);
	min-height: calc(1.5em + 1.5rem + 2px);
	resize: vertical
}

.select,
.phone-code {
	position: relative
}

.select-inner,
.phone-code-inner {
	display: block;
	width: 100%;
	padding: .75rem 3rem .75rem 1rem;
	border: 1px solid var(--thm-bdr);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.select-inner[aria-invalid=true],
[aria-invalid=true].phone-code-inner {
	border-color: var(--orange)
}

.select-inner option,
.phone-code-inner option {
	background: var(--thm-bg);
	color: var(--thm-txt)
}

.select-arrow,
.phone-code-arrow {
	position: absolute;
	top: calc(50% - .5rem);
	right: 1rem;
	color: var(--thm-acnt);
	pointer-events: none
}

.radio,
.checkbox {
	display: flex;
	align-items: start
}

.radio-input,
.checkbox-input {
	display: flex;
	min-width: 1.125rem;
	aspect-ratio: 1/1;
	border: 1px solid var(--thm-acnt);
	justify-content: center;
	align-items: center;
	background: color-mix(in srgb, var(--thm-acnt), transparent 84%);
	color: rgba(0, 0, 0, 0);
	cursor: pointer
}

.radio-input[aria-invalid=true],
.checkbox-input[aria-invalid=true] {
	border-color: var(--orange);
	background: color-mix(in srgb, var(--orange), transparent 84%)
}

.radio-input::before,
.checkbox-input::before {
	display: block;
	width: .375rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: currentColor;
	content: ""
}

.radio-input:checked,
.checkbox-input:checked {
	border-color: var(--thm-acnt-2);
	background: var(--thm-acnt-2);
	color: var(--white)
}

.radio-label,
.checkbox-label {
	padding-left: 1rem
}

.radio-label a,
.checkbox-label a {
	text-decoration: underline
}

.radio-input {
	border-radius: 100%
}

.phone {
	display: flex
}

.phone-code {
	display: flex;
	width: calc(15ch + 4rem);
	margin-right: -1px
}

.turnstile {
	height: 65px
}

.form {
	--gap-x: min(var(--container-gutter), 2rem);
	--gap-y: 2rem
}

.form-wrapper {
	display: grid;
	height: var(--form-h, auto);
	align-items: start
}

.form-page {
	grid-area: 1/1
}

@media(prefers-reduced-motion: no-preference) {
	.form-page {
		transition: opacity .3s ease, translate .3s ease
	}
}

.form-page[inert] {
	opacity: 0;
	translate: calc(-1*var(--spc-x))
}

.form-page:not([inert])+.form-page[inert] {
	translate: var(--spc-x)
}

.form-status {
	padding: 1.1875rem 1rem;
	border: 1px solid
}

.form-status:not(:last-child) {
	margin-bottom: 2rem
}

.form-status[data-status=error] {
	color: var(--orange)
}

.form-title {
	margin-bottom: 1rem
}

.form-subtitle {
	margin-bottom: 1rem
}

.form-mandatory {
	margin-bottom: 2.5rem;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500
}

.form-group {
	display: grid;
	gap: var(--gap-y) var(--gap-x)
}

.form-item:has(.form-error) :is(.form-label, .form-required) {
	color: var(--orange)
}

.form-label {
	display: block;
	margin-bottom: 1rem;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500
}

.form-required {
	color: var(--thm-acnt)
}

.form-description {
	display: block;
	margin-top: .5rem;
	font-size: .875rem
}

.checkbox+.form-description {
	margin-top: 1.5rem
}

.form-description a {
	text-decoration: underline
}

.form-error {
	margin-top: .5rem;
	font-size: .875rem;
	font-weight: 500;
	color: var(--orange)
}

.form-choices {
	display: flex;
	flex-direction: column;
	gap: .625rem
}

.form-footer {
	display: flex;
	margin-top: 2.5rem;
	align-items: center;
	gap: 1rem
}

.form-footer[inert] {
	display: none
}

.form-prev,
.form-next,
.form-submit {
	flex: 1
}

.form-prev .button,
.form-next .button,
.form-submit .button {
	width: 100%
}

.form-next,
.form-submit {
	position: relative;
	background: color-mix(in srgb, var(--thm-acnt), transparent 84%);
	color: var(--thm-acnt)
}

[data-loading=true] .form-next>*,
[data-loading=true] .form-submit>* {
	visibility: hidden
}

[data-loading=true] .form-next::after,
[data-loading=true] .form-submit::after {
	display: block;
	width: 1.25rem;
	aspect-ratio: 1/1;
	position: absolute;
	inset: 0;
	border: 2px solid color-mix(in srgb, currentColor, transparent 75%);
	border-radius: 100%;
	border-top-color: currentColor;
	margin: auto;
	content: "";
	animation: spin 1s linear infinite
}

.form:has(.form-page):not(:has(.form-page:not([inert]) [required])) .form-mandatory {
	display: none
}

@media(min-width: 64rem) {
	.form-group {
		grid-template-columns: repeat(12, 1fr)
	}

	.form-item,
	.form-item--12 {
		grid-column: span 12
	}

	.form-item--9 {
		grid-column: span 9
	}

	.form-item--6 {
		grid-column: span 6
	}

	.form-item--4 {
		grid-column: span 4
	}

	.form-item--3 {
		grid-column: span 3
	}
}

@media(max-width: 63.98rem) {
	.form-group {
		grid-template-columns: 100%
	}
}

.pre-title {
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: 1rem;
	line-height: 1.15;
	color: var(--thm-acnt-2)
}

@media(max-width: 47.98rem) {
	.pre-title {
		font-size: .875rem
	}
}

.c-quote {
	position: relative;
	isolation: isolate;
	overflow: clip;
	--spacing: 4.5rem
}

.c-quote-icon {
	display: flex;
	width: 2.75rem;
	min-width: 2.75rem;
	aspect-ratio: 1;
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid var(--thm-bdr);
	border-radius: .125rem;
	justify-content: center;
	align-items: center;
	font-size: 1.25rem;
	color: var(--thm-txt)
}

.c-quote-text {
	padding-left: calc(var(--spacing) + 2.75rem)
}

.c-quote-author {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--spacing);
	margin-top: 3rem
}

.c-quote-author-image {
	width: 3rem;
	min-width: 3rem;
	aspect-ratio: 1;
	border-radius: 100vmax
}

.c-quote-author-name {
	color: var(--thm-acnt);
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: .5rem
}

.c-quote-author-position {
	color: color-mix(in srgb, var(--thm-txt), transparent 64%)
}

@media(max-width: 47.98rem) {
	.c-quote {
		--spacing: 1.5rem
	}
}

.breadcrumbs-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 3rem
}

.breadcrumbs-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-transform: uppercase;
	font-size: .75rem;
	font-weight: 400;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.breadcrumbs-item[aria-current=page] {
	color: var(--thm-txt)
}

.breadcrumbs-link {
	transition: color .3s ease
}

.breadcrumbs-link:hover {
	color: var(--thm-txt)
}

.breadcrumbs-arrow {
	color: var(--thm-acnt-2)
}

.slider {
	--slide-w: calc(100% / var(--per-view, 1) - var(--gap, 1.5rem));
	overflow-x: clip
}

.slider-wrapper {
	display: flex;
	width: 100%
}

.slider-track {
	display: flex;
	width: calc(100% + var(--gap, 1.5rem));
	margin-right: calc(-1*var(--gap, 1.5rem));
	row-gap: 1rem;
	touch-action: pan-y;
	translate: calc(var(--track-x, 0%) + var(--track-drag, 0%))
}

.slider-item {
	display: flex;
	min-width: min(var(--slide-w, 100%), 100% - var(--gap, 1.5rem));
	margin-right: var(--gap, 1.5rem);
	flex: 0
}

.slider-controls {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: 1rem
}

.slider-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: min(var(--container-gutter)/2, 1rem)
}

.slider-pagination-button {
	display: flex;
	position: relative;
	z-index: 1;
	border: 2px solid rgba(0, 0, 0, 0)
}

.slider-pagination-button[aria-current=true] {
	border-color: var(--thm-acnt-2)
}

.slider-arrows {
	display: flex;
	gap: 1px
}

.slider-arrow {
	padding: 1rem
}

.slider-arrow[disabled] {
	opacity: .5;
	pointer-events: none
}

@media(prefers-reduced-motion: reduce) {
	.slider-track {
		transition: translate 1ms linear
	}
}

@media(prefers-reduced-motion: no-preference) {
	.slider-track {
		transition: var(--transitions, translate 0.35s ease)
	}
}

.header {
	display: flex;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 999;
	padding-bottom: 1px;
	gap: 1px;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1;
	color: var(--thm-txt);
	transition: color .3s ease
}

.header::before,
.header::after {
	position: absolute;
	content: "";
	opacity: 0;
	pointer-events: none
}

.header::before {
	inset: 0;
	z-index: -1;
	background: var(--thm-bg);
	opacity: var(--scrub, 0);
	transition: background-color .3s ease
}

.header::after {
	width: 100%;
	height: calc(100dvh - 100%);
	top: 100%;
	left: 0;
	z-index: -3;
	background: rgba(0, 0, 0, .75);
	transition: opacity .6s ease
}

.header:has(.header-nav-wrapper:not([inert]))::after {
	opacity: 1;
	pointer-events: all
}

.header-logo,
.header-nav,
.header-lang,
.header-contact {
	box-shadow: -1px 0 0 0 var(--thm-bdr), 0 1px 0 0 var(--thm-bdr)
}

.header-logo {
	padding: 1rem 2rem;
	transition: color .3s ease
}

.header-logo-inner {
	display: block
}

.header-logo [fill] {
	fill: currentColor
}

.header-logo:hover {
	color: var(--thm-acnt-2)
}

.header-nav {
	flex: 1 1 auto
}

.header-nav::after {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: var(--thm-acnt);
	content: "";
	transform: scaleX(var(--scroll-progress, 0));
	transform-origin: left
}

.header-nav-toggle {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 1rem;
	align-items: center;
	justify-content: center;
	gap: .5rem
}

[aria-expanded=true] .header-nav-toggle-label:first-of-type,
[aria-expanded=false] .header-nav-toggle-label:last-of-type {
	display: none
}

.header-nav-toggle:hover .header-nav-toggle-icon {
	color: var(--thm-acnt-2)
}

.header-nav-toggle[aria-expanded=true] .header-nav-toggle-icon::before {
	translate: 0 calc(.125rem + 1px)
}

.header-nav-toggle[aria-expanded=true] .header-nav-toggle-icon::after {
	translate: 0 calc(-0.125rem - 1px)
}

.header-nav-toggle-icon {
	display: grid;
	min-width: 1.75rem;
	gap: .25rem;
	transition: color .3s ease
}

.header-nav-toggle-icon::before,
.header-nav-toggle-icon::after {
	width: 100%;
	height: 1px;
	background: currentColor;
	content: "";
	transition: translate .3s ease
}

.header-nav-wrapper {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	background: var(--thm-bg);
	transition: translate .6s ease
}

.header-nav-wrapper[inert] {
	translate: 0 -100%
}

.header-nav-list {
	display: grid;
	gap: 1.25rem
}

.header-nav-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	text-transform: uppercase;
	font-size: 1.5rem;
	line-height: 1.3
}

.header-nav-link::before {
	min-width: .375rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: currentColor;
	content: "";
	scale: 0;
	transition: scale .3s ease
}

.header-nav-link-label {
	translate: -0.875rem;
	transition: translate .3s ease
}

.header-nav-link:hover::before {
	scale: 1
}

.header-nav-link:hover .header-nav-link-label {
	translate: 0
}

.header-nav-button {
	width: 100%
}

.header-lang {
	position: relative
}

.header-lang-toggle {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 1.75rem 2rem;
	justify-content: center;
	align-items: center
}

.header-lang-list {
	width: calc(100% + 2px);
	position: absolute;
	left: -1px;
	border: 1px solid var(--thm-bdr);
	background: var(--thm-bg);
	transition: opacity .3s ease, translate .3s ease
}

.header-lang-list[inert] {
	opacity: 0
}

.header-lang-item:not(:last-child) {
	border-bottom: 1px solid var(--thm-bdr)
}

.header-lang-link {
	display: flex;
	width: 100%;
	padding: 1.75rem 2rem;
	justify-content: center;
	align-items: center
}

.header-contact {
	display: flex;
	padding: 1.75rem 2.5rem;
	justify-content: center;
	align-items: center;
	gap: .5rem
}

.header-contact:hover::after {
	background: var(--thm-acnt-2)
}

.header-contact::after {
	display: block;
	min-width: .375rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: currentColor;
	content: "";
	transition: background-color .3s ease
}

.header-theme {
	display: flex;
	width: 100%;
	padding: .5rem;
	margin-top: auto;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	background: var(--thm-txt);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1.15;
	color: var(--thm-bg);
	transition: background-color .3s ease, color .3s ease
}

.header-theme-icon {
	width: 1em;
	aspect-ratio: 1;
	position: relative
}

.header-theme-icon .icon {
	position: absolute;
	inset: 0;
	transition: opacity .2s ease
}

html[data-theme=dark] .header-theme-icon .icon:first-child,
html[data-theme=light] .header-theme-icon .icon:last-child {
	opacity: 0
}

.header-theme:hover {
	background: color-mix(in srgb, var(--thm-txt), var(--thm-bg) 5%)
}

@media(min-width: 48rem) {
	.header-nav-wrapper {
		display: grid;
		padding: calc(var(--header-h) + 2rem) 2rem 2rem;
		border-bottom: 1px solid var(--thm-bdr);
		grid-template-columns: auto 1fr;
		gap: 8rem
	}

	.header-nav-body {
		display: flex;
		flex-wrap: wrap;
		align-items: start;
		gap: 2rem 8rem
	}

	.header-nav-list {
		flex: 1
	}

	.header-nav-image {
		min-width: 20rem;
		aspect-ratio: 1/1.33
	}

	.header-nav-footer {
		display: none
	}

	.header-lang-list {
		top: calc(100% + 1px);
		border-top: 0
	}

	.header-lang-list[inert] {
		translate: 0 -100%
	}
}

@media(max-width: 47.98rem) {
	.header-logo {
		padding: .75rem 1rem
	}

	.header-logo-inner {
		width: 7.8125rem
	}

	.header-nav-toggle {
		justify-content: end
	}

	.header-nav-wrapper {
		display: flex;
		height: 100dvh;
		flex-direction: column
	}

	.header-nav-image {
		display: none
	}

	.header-nav-body {
		display: flex;
		padding: calc(var(--header-h) + 2rem) var(--container-gutter) 2rem;
		flex-direction: column;
		flex: 1 1 auto;
		overflow: auto
	}

	.header-nav-list {
		gap: 1rem
	}

	.header-nav-list:not(:last-child) {
		margin-bottom: 2rem
	}

	.header-nav-footer {
		display: flex;
		border-top: 1px solid var(--thm-bdr)
	}

	.header-lang {
		flex: 1
	}

	.header-lang-toggle {
		padding-block: 1.5625rem
	}

	.header-lang-list {
		bottom: calc(100% + 1px);
		border-bottom: 0
	}

	.header-lang-list[inert] {
		translate: 0 100%
	}

	.header-contact {
		padding-block: 1.5625rem;
		flex: 1
	}

	.header>:is(.header-lang, .header-contact) {
		display: none
	}
}

.footer {
	display: flex;
	width: 100%;
	position: relative;
	border-top: 1px solid var(--thm-bdr);
	margin-top: 7.5rem;
	flex-direction: column;
	justify-content: space-between;
	background: var(--darkblue);;
	color: var(--thm-txt)
}

:has(.banner:last-child)~.footer {
	margin-top: 0
}

.footer-wrapper {
	display: grid
}

.footer-section {
	padding: clamp(1.5rem, 2.7777777778vw + .5rem, 2.5rem) min(2rem, var(--container-gutter))
}

.footer-socials {
	display: grid;
	gap: 1rem
}

.footer-title {
	text-align: center
}

.footer-logo:not([data-ready=true]) {
	opacity: 0
}

.footer-logo-wrapper {
	aspect-ratio: 1/.88;
	position: relative;
	transform: scale(calc(1 - 0.5 * var(--scrub, 1)))
}

.footer-logo-box {
	--depth: calc(.7 * var(--unit));
	width: var(--width);
	height: var(--height);
	position: absolute;
	top: var(--top);
	left: var(--left);
	transform-style: preserve-3d;
	transform: rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg)) rotateZ(var(--rotate-z))
}

.footer-logo-box:is(:first-child, :nth-child(2)) {
	--width: var(--unit);
	--height: var(--unit);
	--top: calc(50% - var(--unit) / 2);
	--rotate-z: 45deg
}

.footer-logo-box:is(:last-child, :nth-child(3)) {
	--width: calc(2 * var(--unit));
	--height: var(--unit);
	--left: calc(50% - var(--unit))
}

.footer-logo-box:first-child {
	--left: calc(50% - var(--unit) * 2);
	--rotate-x: calc(-135deg * var(--scrub, 0))
}

.footer-logo-box:nth-child(2) {
	--left: calc(50% + var(--unit) / 3);
	--rotate-x: calc(135deg * var(--scrub, 0))
}

.footer-logo-box:nth-child(3) {
	--top: calc(50% - var(--unit) * 2);
	--rotate-y: calc(-135deg * var(--scrub, 0));
	--rotate-z: -45deg
}

.footer-logo-box:last-child {
	--top: calc(50% + var(--unit));
	--rotate-y: calc(135deg * var(--scrub, 0));
	--rotate-z: 45deg
}

.footer-logo-face {
	position: absolute;
	border: 1.5px solid var(--thm-acnt);
	background: var(--darkblue);
}

.footer-logo-face:is(.footer-logo-face--front, .footer-logo-face--back) {
	width: var(--width);
	height: var(--height)
}

.footer-logo-face:is(.footer-logo-face--right, .footer-logo-face--left) {
	width: var(--depth);
	height: var(--height);
	left: calc((100% - var(--depth))/2)
}

.footer-logo-face:is(.footer-logo-face--top, .footer-logo-face--bottom) {
	width: var(--width);
	height: var(--depth);
	top: calc((100% - var(--depth))/2)
}

.footer-logo-face--front {
	transform: translateZ(calc(var(--depth) / 2))
}

.footer-logo-face--back {
	transform: rotateY(180deg) translateZ(calc(var(--depth) / 2))
}

.footer-logo-face--right {
	transform: rotateY(90deg) translateZ(calc(var(--width) / 2))
}

.footer-logo-face--left {
	transform: rotateY(-90deg) translateZ(calc(var(--width) / 2))
}

.footer-logo-face--top {
	transform: rotateX(90deg) translateZ(calc(var(--height) / 2))
}

.footer-logo-face--bottom {
	transform: rotateX(-90deg) translateZ(calc(var(--height) / 2))
}

.footer .form-group {
	--gap-y: 1.5rem
}

.footer .form-footer {
	margin-top: 1.5rem
}

.footer .form .text {
	font-size: 1.5rem;
	line-height: 1.15
}

.footer-nav {
	display: flex;
	padding: 1.5rem var(--container-gutter);
	border-top: 1px solid var(--thm-bdr);
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1.15
}

.footer-nav-list {
	display: flex;
	align-items: center;
	gap: .5rem 1rem
}

.footer-nav-list:last-child {
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

@media(min-width: 64rem) {
	.footer-wrapper {
		grid-template-columns: repeat(3, 1fr)
	}

	.footer-section:not(:last-child) {
		border-right: 1px solid var(--thm-bdr)
	}
}

@media(max-width: 63.98rem) {
	.footer-section:not(:last-child) {
		border-bottom: 1px solid var(--thm-bdr)
	}

	.footer-section:not(:first-child):not(:last-child) {
		order: -1
	}
}

@media(max-width: 47.98rem) {
	.footer-nav {
		align-items: end
	}

	.footer-nav-list {
		flex-direction: column;
		align-items: start
	}

	.footer-nav-list:last-child {
		align-items: end;
		text-align: right
	}
}

.hero {
	padding-top: calc(var(--header-h) + 10rem)
}

.hero-subtitle {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: 500
}

.hero-text {
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.hero-media {
	width: 100%;
	aspect-ratio: 1/.58;
	margin-top: 2.5rem
}

@media(min-width: 64rem) {
	.hero-header {
		display: flex;
		justify-content: space-between;
		align-items: end;
		gap: 1.5rem
	}

	.hero-title {
		width: 50%
	}

	.hero-content {
		width: 40%
	}
}

@media(max-width: 63.98rem) {
	.hero-content {
		margin-top: 2rem
	}
}

.home-hero {
	display: flex;
	width: 100%;
	min-height: 100svh;
	position: relative;
	isolation: isolate;
	padding: calc(var(--header-h) + var(--container-gutter)) var(--container-gutter) var(--container-gutter);
	flex-direction: column;
	color: var(--white)
}

.home-hero-video {
	position: absolute;
	inset: 0;
	z-index: -1
}

.home-hero-title {
	max-width: 75rem;
	text-wrap: balance
}

.home-hero-toast {
	display: flex;
	width: calc(100% - 2.5rem);
	max-width: 27.375rem;
	padding: 1rem;
	margin: auto 0 0 auto;
	align-items: center;
	gap: 1rem;
	background: color-mix(in srgb, var(--black), transparent 44%);
	backdrop-filter: blur(24px)
}

.home-hero-toast-image {
	display: flex;
	min-width: 40%;
	aspect-ratio: 16/9;
	justify-content: center;
	align-items: center
}

.home-hero-toast-button {
	padding: 1rem
}

.home-hero-toast-pre {
	margin-bottom: .75rem;
	color: var(--thm-acnt)
}

.home-hero-toast-title {
	font-weight: 500
}

.home-hero-scroll {
	position: absolute;
	left: var(--container-gutter);
	bottom: var(--container-gutter);
	font-size: 1.5rem;
	overflow: hidden
}

.home-hero-scroll-up {
	position: absolute;
	top: -100%;
	left: 0;
	animation: 2.6s ease infinite homeHeroArrow
}

.home-hero-scroll-down {
	display: block;
	animation: 2.6s ease infinite homeHeroArrow
}

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

	25%,
	100% {
		transform: translateY(100%)
	}
}

.hero-post {
	padding-block: calc(var(--header-h) + 2.5rem) 7.5rem
}

.hero-post-meta {
	display: flex;
	margin-top: 1.5rem;
	align-items: center;
	gap: 1.5rem
}

.hero-post-tag {
	padding: .5rem;
	border: 1px solid var(--thm-bdr);
	border-radius: .125rem;
	background: color-mix(in srgb, var(--thm-txt), transparent 95%);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .75rem
}

.hero-post-date {
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .75rem;
	font-weight: 400;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.hero-post-image {
	width: 100%;
	aspect-ratio: 1.77;
	border-radius: .25rem;
	margin-top: 2.5rem
}

.hero-vehicles {
	padding-top: calc(var(--header-h) + 10rem);
	padding-bottom: 3rem
}

.hero-vehicles-header {
	max-width: 56rem
}

.hero-vehicles-title,
.hero-vehicles-text {
	display: inline
}

.hero-vehicles-text {
	color: color-mix(in srgb, currentColor, transparent 36%)
}

.hero-vehicles-media {
	aspect-ratio: 16/9;
	margin-top: 2.5rem
}

.hero-services {
	padding-top: calc(var(--header-h) + 10rem);
	background-color: var(--thm-bg)
}

.hero-services-heading {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2rem
}

.hero-services-title {
	width: min(42rem, 100%)
}

.hero-services-intro {
	width: min(35rem, 100%)
}

.hero-services-intro-text {
	color: color-mix(in srgb, currentColor, transparent 64%)
}

.hero-services-media {
	aspect-ratio: 16/9;
	margin-top: 2.5rem
}

.hero-contact {
	padding-block: calc(var(--header-h) + 2.5rem) 7.5rem
}

.hero-contact-title {
	max-width: 57rem
}

.hero-newsroom {
	position: relative;
	isolation: isolate;
	padding-block: calc(var(--header-h) + 7.5rem) 5rem;
	background-color: var(--black);
	text-align: center
}

.hero-newsroom-title {
	color: var(--white)
}

.hero-newsroom-media {
	position: absolute;
	inset: 0;
	z-index: -1
}

.banner {
	display: flex;
	min-height: calc(100svh - var(--header-h));
	position: relative;
	isolation: isolate;
	padding-block: 2rem;
	align-items: end;
	color: var(--white);
	overflow: hidden
}

.banner-media {
	--parallax-size: 25%;
	position: absolute;
	inset: 0;
	z-index: -1
}

.banner-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 2.5rem 2rem
}

.banner-partners {
	padding: 1.5rem;
	border-radius: .25rem;
	border: 1px solid hsla(0, 0%, 100%, .1);
	background: hsla(0, 0%, 100%, .02);
	backdrop-filter: blur(35px)
}

.banner-partners-list {
	display: grid;
	margin-top: 2rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem
}

.banner-partners-item {
	display: flex;
	padding: clamp(.75rem, 1.6666666667vw + .5rem, 1.5rem);
	border-radius: .25rem;
	justify-content: center;
	align-items: center;
	background-color: var(--white)
}

.banner-partners-logo {
	display: block;
	max-width: 100%;
	height: auto
}

.banner-link {
	width: 100%;
	margin-top: 2rem
}

@media(min-width: 64rem) {
	.banner-partners {
		width: 40%
	}

	.banner-content {
		width: 50%
	}
}

@media(max-width: 63.98rem) {
	.banner-wrapper {
		flex-direction: column
	}

	.banner-partners,
	.banner-content {
		width: 100%
	}
}

.market {
	margin-top: 5rem;
	counter-reset: market
}

.market-item {
	display: grid;
	position: sticky;
	top: var(--header-h);
	padding-block: 1.5rem;
	border-top: 1px solid var(--thm-bdr);
	align-items: start;
	gap: .5rem 1.5rem;
	background: var(--thm-bg);
	counter-increment: market
}

.market-item::before {
	font-size: 1.5rem;
	font-weight: 500;
	content: counter(market, decimal-leading-zero)
}

@media(min-width: 64rem) {
	.market-item {
		grid-template-columns: 2fr 5fr 5fr
	}
}

@media(max-width: 63.98rem) {
	.market-item {
		grid-template-columns: 1fr 5fr
	}

	.market-text {
		grid-column: 2;
		grid-row: 2
	}
}

.figures {
	position: relative;
	isolation: isolate;
	margin-top: 7.5rem
}

.figures-header {
	margin-bottom: 3.5rem;
	text-align: center
}

.figures-title {
	display: block;
	margin-top: 1rem
}

.figures-logo {
	display: grid;
	position: absolute;
	inset: 0;
	z-index: -1
}

.figures-logo-background,
.figures-logo-foreground {
	width: 100%;
	height: 100%;
	grid-area: 1/1
}

.figures-logo-foreground {
	mask-image: radial-gradient(circle, #FFF, rgba(255, 255, 255, 0) 300px);
	mask-position: calc(var(--mouse-x) - 50vw) calc(var(--mouse-y) - 50vh);
	mask-type: luminance
}

.figures-logo-foreground .figures-logo-inner {
	stroke-opacity: .5;
	stroke: var(--thm-acnt-2)
}

.figures-logo-foreground .figures-logo-inner:first-child {
	stroke-width: 2px;
	filter: blur(6px)
}

.figures-logo-inner {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	inset: 0;
	margin: auto;
	fill: none;
	stroke: var(--thm-bdr)
}

.figures-list {
	display: grid;
	gap: 1.5rem
}

@media(min-width: 64rem) {
	.figures-item {
		width: 25%;
		margin-left: 33%
	}

	.figures-item:nth-child(2n+2) {
		margin-left: 0
	}

	.figures-item:nth-child(3n+3) {
		margin-left: 50%
	}

	.figures-item:nth-child(4n+4) {
		margin-left: 16%
	}

	.figures-item:nth-child(5n+5) {
		margin-left: 60%
	}
}

.team {
	margin-top: 7.5rem
}

.team-title:not(:last-child) {
	margin-bottom: 2rem
}

.team-link {
	width: 100%
}

.team-list {
	display: grid;
	padding-block: 1px;
	gap: 1px
}

.team-item {
	box-shadow: 0 -1px 0 0 var(--thm-bdr), 0 1px 0 0 var(--thm-bdr)
}

@media(min-width: 64rem) {
	.team-wrapper {
		display: flex;
		justify-content: space-between;
		align-items: start;
		gap: 1.5rem
	}

	.team-header {
		width: 40%;
		position: sticky;
		top: calc(var(--header-h) + 2rem)
	}

	.team-list {
		width: 50%
	}
}

@media(max-width: 63.98rem) {
	.team-header {
		margin-bottom: 2.5rem
	}
}

.contacts {
	padding-top: 4.5rem
}

.contacts-title {
	margin-bottom: 3rem
}

.contacts-list {
	display: grid;
	gap: 2rem
}

.contacts-item {
	display: flex
}

@media(min-width: 64rem) {
	.contacts-list {
		grid-template-columns: 1fr 1fr
	}
}

.bigtext {
	padding-bottom: 3.5rem;
	border-bottom: 1px solid var(--thm-bdr)
}

.titletext-title {
	margin-bottom: 1.5rem
}

.titletext-text p:not(:last-child) {
	margin-bottom: 1rem
}

.titletext-text a {
	text-decoration: underline
}

.titletext-text ol,
.titletext-text ul {
	margin-bottom: 1.25rem;
	margin-left: 1rem;
	font-weight: 400
}

.titletext-text ol:last-child,
.titletext-text ul:last-child {
	margin-bottom: 0
}

.titletext-text li::marker {
	color: #6478b6
}

.titletext-text li:not(:last-child) {
	margin-bottom: .5rem
}

.titletext-text ol li {
	list-style-type: decimal
}

.titletext-text ul li {
	list-style-type: disc
}

.downloads-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem
}

.quote {
	border: 1px solid var(--thm-bdr);
	border-radius: .25rem
}

.quote-container {
	display: flex;
	padding: 2rem;
	justify-content: space-between;
	gap: 2rem 6rem
}

.quote-container:has(.quote-image) {
	gap: 2rem calc(6rem - 55px)
}

.quote-left {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem 1rem
}

.quote-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.75rem;
	width: 2.75rem;
	border: 1px solid var(--thm-bdr)
}

.quote-image {
	width: 100px;
	aspect-ratio: 1;
	border-radius: 100%
}

.quote-text {
	margin-bottom: 1.5rem
}

.quote-author {
	font-size: 1rem;
	color: var(--thm-acnt-2)
}

@media(min-width: 48rem) {
	.quote-left {
		flex-direction: column
	}
}

@media(max-width: 47.98rem) {
	.quote-icon {
		order: 1
	}

	.quote-container {
		flex-direction: column
	}
}

.video {
	padding-bottom: 3rem
}

.video-title {
	margin-bottom: 3rem
}

.video-player {
	aspect-ratio: 16/9;
	border-radius: .25rem
}

.video-cover {
	display: flex;
	position: absolute;
	inset: 0;
	z-index: 2;
	justify-content: center;
	align-items: center;
	cursor: pointer
}

.video-cover img {
	transform: scale(1.1);
	transition: transform .9s cubic-bezier(0.19, 1, 0.22, 1)
}

.video-cover:hover img {
	transform: scale(1.05)
}

.video-button {
	display: flex;
	position: relative;
	z-index: 1;
	padding: .5rem 1rem;
	border-radius: .25rem;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	background: #6478b6;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .75rem;
	line-height: 1.2;
	color: #fff;
	transition: background-color .3s ease, opacity .3s ease
}

:hover>.video-button {
	background-color: #fff;
	color: #6478b6
}

.video-iframe {
	border: 0
}

.video-cover:hover img {
	transform: scale(1.05)
}

.video--playing .video-cover {
	display: none
}

.carousel {
	--gap: 0px
}

.carousel-image {
	width: 100%;
	aspect-ratio: 1.77
}

.carousel .slider-wrapper {
	position: relative;
	border-radius: .25rem;
	margin-bottom: 1.5rem;
	overflow: clip
}

.carousel .slider-pagination {
	flex: 1 1 auto
}

.carousel .slider-pagination-button {
	width: calc(25% - .75rem);
	aspect-ratio: 1.77;
	border-radius: .25rem
}

@media(max-width: 63.98rem) {
	.carousel .slider-pagination-button {
		max-width: 3rem;
		aspect-ratio: 1
	}
}

.image {
	position: relative
}

.image-inner {
	display: block;
	max-width: 100%;
	height: auto
}

.image-zoom,
.carousel-zoom {
	display: flex;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	padding: .5rem;
	border-radius: .25rem 0 0 0;
	background: var(--thm-bg);
	font-size: 1.75rem
}

.highlights-wrapper {
	display: grid;
	gap: 2rem
}

@media(min-width: 64rem) {
	.highlights-wrapper {
		grid-template-columns: repeat(4, 1fr)
	}
}

.points-of-interest {
	margin-top: 7.5rem
}

.points-of-interest-title:not(:last-child) {
	display: inline-block;
	width: 50%;
	vertical-align: middle
}

.points-of-interest-text:not(:first-child) {
	display: inline
}

.points-of-interest-info {
	display: grid;
	margin-top: 2.5rem;
	gap: 2rem
}

.points-of-interest-info-item {
	padding-top: 1rem;
	border-top: 1px solid var(--thm-bdr)
}

.points-of-interest-info-title {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 1rem;
	text-transform: uppercase;
	font-size: .875rem;
	line-height: 1.15
}

.points-of-interest-info-title::after {
	display: block;
	min-width: .375rem;
	aspect-ratio: 1;
	border-radius: 100%;
	margin-block: .3125rem;
	background: currentColor;
	content: ""
}

.points-of-interest-info-text,
.points-of-interest-image-text,
.goals-subtitle.title-l {
	margin-top: .5rem;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.points-of-interest-image {
	position: relative;
	margin-top: 2.5rem
}

.points-of-interest-image-inner {
	display: block;
	width: 100%;
	height: auto
}

.points-of-interest-image-toggle {
	display: flex;
	width: 1.75rem;
	aspect-ratio: 1;
	isolation: isolate;
	border-radius: 100%;
	margin: -0.75rem;
	justify-content: center;
	align-items: center;
	color: var(--orange)
}

.points-of-interest-image-toggle::before {
	width: 100%;
	aspect-ratio: 1;
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-color: var(--white);
	content: "";
	transition: scale .3s ease
}

.points-of-interest-image-toggle::after {
    width: 1rem;
    aspect-ratio: 1;
    position: absolute;
    top: calc(50% - .5rem);
    left: calc(50% - .5rem);
	border-radius: inherit;
	background-color: currentColor;
	content: "";
	transition: scale .3s ease
}

.points-of-interest-image-toggle .icon {
	transition: scale .3s ease
}

.points-of-interest-image-toggle[aria-expanded=false] .icon {
	scale: 0
}

.points-of-interest-image-toggle[aria-expanded=false]:hover::before {
	scale: 1.25
}

.points-of-interest-image-toggle[aria-expanded=true]::after {
	scale: 0
}

.points-of-interest-image-tooltip {
	padding: 1rem 1.5rem;
	border: 1px solid var(--thm-bdr);
	border-radius: .25rem;
	background-color: var(--thm-bg);
	overflow: clip;
	transition: opacity .3s ease
}

.points-of-interest-image-tooltip[inert] {
	opacity: 0
}

.showCard.points-of-interest-image-tooltip[inert] {
	opacity: 1
}

.points-of-interest-image-title {
	text-transform: uppercase;
	font-size: .875rem;
	line-height: 1.15
}

@media(min-width: 64rem) {
	.points-of-interest-info {
		grid-template-columns: repeat(3, 1fr)
	}

	.points-of-interest-image-item {
		position: absolute;
		top: var(--y);
		left: var(--x);
		z-index: 1
	}

	.points-of-interest-image-toggle {
		position: relative
	}

	.points-of-interest-image-tooltip {
		width: max-content;
		position: absolute;
		z-index: 1
	}

	.points-of-interest-image-tooltip[data-y=top] {
		bottom: 1rem
	}

	.points-of-interest-image-tooltip[data-y=bottom] {
		top: 1rem
	}

	.points-of-interest-image-tooltip[data-x=left] {
		right: 1rem
	}

	.points-of-interest-image-tooltip[data-x=right] {
		left: 1rem
	}
}

@media(max-width: 63.98rem) {
	.points-of-interest-inner {
		flex-direction: column
	}

	.points-of-interest-image-toggle {
		position: absolute;
		top: var(--y);
		left: var(--x);
		z-index: 1
	}

	.points-of-interest-image-tooltip {
		width: max-content;
		height: fit-content;
		max-width: calc(var(--viewport-w) - 2*var(--container-gutter));
		max-height: calc(100dvh - 2*var(--header-h) - 2*var(--container-gutter));
		position: fixed;
		inset: 0;
		z-index: 1000;
		margin: auto;
		box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .75)
	}
}

@media(min-width: 64rem) {
	.vehicles::after {
		display: block;
		width: 100%;
		height: calc(var(--count, 1)*100lvh);
		content: ""
	}

	.vehicles-background,
	.vehicles-foreground {
		display: grid;
		height: 100lvh;
		position: sticky;
		top: 0
	}

	.vehicles-background-item,
	.vehicles-foreground-item {
		grid-area: 1/1
	}

	.vehicles-background-item {
		clip-path: polygon(0% 0%, 100% 0%, 100% 12.5%, 0% 12.5%, 0% 12.5%, 100% 12.5%, 100% 25%, 0% 25%, 0% 25%, 100% 25%, 100% 37.5%, 0% 37.5%, 0% 37.5%, 100% 37.5%, 100% 50%, 0% 50%, 0% 50%, 100% 50%, 100% 62.5%, 0% 62.5%, 0% 62.5%, 100% 62.5%, 100% 75%, 0% 75%, 0% 75%, 100% 75%, 100% 87.5%, 0% 87.5%, 0% 87.5%, 100% 87.5%, 100% 100%, 0% 100%);
		transition: clip-path .5s ease
	}

	:not([inert])~.vehicles-background-item {
		clip-path: polygon(0% 12.5%, 100% 12.5%, 100% 12.5%, 0% 12.5%, 0% 25%, 100% 25%, 100% 25%, 0% 25%, 0% 37.5%, 100% 37.5%, 100% 37.5%, 0% 37.5%, 0% 50%, 100% 50%, 100% 50%, 0% 50%, 0% 62.5%, 100% 62.5%, 100% 62.5%, 0% 62.5%, 0% 75%, 100% 75%, 100% 75%, 0% 75%, 0% 87.5%, 100% 87.5%, 100% 87.5%, 0% 87.5%, 0% 100%, 100% 100%, 100% 100%, 0% 100%)
	}

	.vehicles-foreground {
		margin-top: -100lvh
	}
}

@media(max-width: 63.98rem) {
	.vehicles {
		display: grid;
		grid-template-columns: 100%
	}

	.vehicles-background,
	.vehicles-foreground {
		display: contents
	}

	.vehicles-background-item,
	.vehicles-foreground-item {
		order: var(--index)
	}

	.vehicles-background-item {
		aspect-ratio: 16/9
	}
}

.vehicle-title:not(:last-child),
.vehicle-tagline:not(:last-child) {
	margin-bottom: 1rem
}

.vehicle-features {
	display: grid;
	gap: 0 2rem
}

.vehicle-features-item {
	padding-block: 1rem;
	border-top: 1px solid var(--thm-bdr)
}

.vehicle-features-title {
	text-transform: uppercase;
	font-size: .875rem;
	font-weight: 500
}

@media(min-width: 64rem) {
	.vehicle {
		color: #fff
	}

	.vehicle-wrapper {
		display: flex;
		height: 100lvh;
		padding-block: calc(var(--header-h) + 2.5rem) 1.5rem;
		flex-direction: column
	}

	.vehicle-title,
	.vehicle-features {
		transition: opacity .5s ease
	}

	[inert] .vehicle-title,
	[inert] .vehicle-features {
		opacity: 0
	}

	.vehicle-tagline {
		color: inherit
	}

	.vehicle-tagline .word {
		overflow: clip
	}

	.vehicle-tagline .char {
		display: inline-block;
		transition: translate .5s ease
	}

	[inert] .vehicle-tagline .char {
		translate: 0 -100%
	}

	:not([inert])~[inert] .vehicle-tagline .char {
		translate: 0 100%
	}

	.vehicle-features {
		margin-top: auto;
		grid-template-columns: 1fr 1fr;
		align-items: end
	}

	.vehicle-features-item {
		display: flex;
		flex-direction: column
	}

	.vehicle-features-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: .5rem;
		order: 1
	}

	.vehicle-features-toggle {
		min-width: 30%
	}

	.vehicle-features-text {
		display: grid;
		grid-template-rows: 1fr;
		transition: grid-template-rows .4s ease, opacity .4s ease
	}

	.vehicle-features-text[inert] {
		grid-template-rows: 0fr
	}

	.vehicle-features-text-inner {
		overflow: hidden
	}

	.vehicle-features-text-content {
		padding-block: .5rem
	}
}

@media(max-width: 63.98rem) {
	.vehicle-wrapper {
		padding-block: 2rem
	}

	.vehicle-features-toggle {
		display: none
	}

	.vehicle-features-text {
		margin-top: 1rem
	}
}

.features {
	margin-top: 7.5rem
}

.features-header:not(:first-child) {
	margin-top: 1rem
}

.features-text:not(:first-child) {
	margin-top: 1.5rem
}

.features-table:not(:first-child) {
	margin-top: 2.5rem
}

.features-table table {
	border-collapse: collapse;
	font-size: .875rem;
	table-layout: fixed
}

.features-table th,
.features-table td {
	padding: 1.5rem;
	border: 1px solid var(--thm-bdr)
}

.features-table th {
	text-align: inherit;
	font-weight: inherit
}

.features-table th[scope=rowgroup] {
	vertical-align: top;
	font-size: 1.25rem;
	font-weight: 500
}

.features-table th:empty {
	border: 0
}

.features-first-row th:not([rowspan]),
.features-first-row td {
	border-bottom: 0
}

.features-middle-row th:not([rowspan]),
.features-middle-row td {
	padding-top: 0;
	border-block: 0
}

.features-last-row th:not([rowspan]),
.features-last-row td {
	padding-top: 0;
	border-top: 0
}

.features-highlight {
	background: color-mix(in srgb, currentColor, transparent 96%)
}

.features-vehicle {
	text-transform: uppercase;
	font-weight: 500;
	color: var(--thm-acnt-2)
}

.features-thumbnail {
	display: inline-block;
	position: relative;
	margin-left: .25rem;
	vertical-align: top
}

.features-thumbnail-toggle {
	position: relative;
	top: -0.125rem;
	display: flex;
	min-width: .8rem;
	aspect-ratio: 1;
	border-radius: 100%;
	justify-content: center;
	align-items: center;
	background: var(--thm-acnt);
	font-size: .625rem;
	text-transform: lowercase;
	line-height: 0;
	color: var(--white)
}

.features-thumbnail-inner {
	position: absolute;
	width: min(20rem, 100vw - 2*var(--container-gutter));
	aspect-ratio: 1/.5;
	border-radius: .25rem
}

.features-thumbnail-inner[inert] {
	opacity: 0
}

.features-thumbnail-inner[data-y=top] {
	bottom: calc(100% + .5rem)
}

.features-thumbnail-inner[data-y=bottom] {
	top: calc(100% + .5rem)
}

.features-thumbnail-inner[data-x=left] {
	right: 0
}

.features-thumbnail-inner[data-x=right] {
	left: 0
}

.features-value-inner {
	display: inline-flex;
	align-items: start;
	gap: .5rem;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1.2
}

.features-value-icon {
	margin-top: .125rem;
	opacity: .4
}

@media(min-width: 64rem) {
	.features-header {
		display: flex;
		justify-content: space-between;
		align-items: start
	}

	.features-title,
	.features-text {
		width: 40%
	}

	.features-table table {
		width: 100%
	}

	.features-heading,
	.features-value-title {
		display: none
	}
}

@media(max-width: 63.98rem) {
	.features-table {
		width: calc(100% + 2*var(--container-gutter));
		padding-inline: var(--container-gutter);
		margin-inline: calc(-1*var(--container-gutter));
		overflow: auto
	}

	.features-table th,
	.features-table td {
		min-width: min(16rem, 100vw - 3*var(--container-gutter));
		vertical-align: top
	}

	.features-table th:is(:empty, [scope=rowgroup], [scope=row]) {
		display: none
	}

	.features-heading {
		margin-bottom: 1.5rem;
		text-transform: uppercase;
		font-size: 1.125rem
	}

	.features-value-title {
		font-weight: 700
	}
}

.mixed {
	padding-top: 7.5rem;
	background-color: var(--thm-bg)
}

.mixed-wrapper {
	display: flex;
	justify-content: space-between;
	gap: 3.5rem
}

.mixed-pre {
	margin-bottom: 1rem
}

.mixed-title {
	color: var(--thm-txt)
}

.mixed-title:not(:last-child) {
	margin-bottom: 1.5rem
}

.mixed-text {
	color: var(--thm-txt);
	font-weight: 400
}

.mixed-text:not(:last-child) {
	margin-bottom: 2.5rem
}

.mixed-subtitle {
	color: var(--thm-txt);
	font-weight: 500
}

.mixed-subtitle:not(:last-child) {
	margin-bottom: 1.5rem
}

.mixed-list {
	display: grid;
	margin-top: 1.5rem
}

.mixed-list-item {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	border-top: 1px solid var(--thm-bdr);
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.14;
	text-transform: uppercase
}

.mixed-list-item:last-child {
	border-bottom: 1px solid var(--thm-bdr)
}

.mixed-list-item::after {
	content: "";
	display: inline-block;
	width: .375rem;
	min-width: .375rem;
	height: .375rem;
	background: var(--thm-txt);
	border-radius: 100vmax
}

.mixed-quote {
	margin-top: 2.5rem
}

@media(min-width: 64rem) {
	.mixed-content {
		width: 55%;
		align-self: center
	}

	.mixed--sticky .mixed-content {
		position: sticky;
		top: calc(var(--header-h) + 2rem);
		align-self: start
	}

	.mixed-media {
		width: 37%;
		aspect-ratio: 1/1.33;
		margin-inline: calc(-1*var(--container-gutter)) 0
	}

	.mixed--reverse .mixed-media {
		order: 1;
		margin-inline: 0 calc(-1*var(--container-gutter))
	}
}

@media(max-width: 63.98rem) {
	.mixed-wrapper {
		flex-direction: column
	}

	.mixed-media {
		aspect-ratio: 1
	}
}

.services {
	padding-top: 5rem;
	background-color: var(--thm-bg)
}

.services-heading {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2rem;
	margin-bottom: 7.5rem
}

.services-title {
	width: min(42rem, 100%);
	color: var(--thm-txt)
}

.services-intro {
	width: min(34.6875rem, 100%)
}

.services-intro-title {
	color: var(--thm-txt);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.1
}

.services-intro-text {
	color: color-mix(in srgb, var(--thm-txt), transparent 64%);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.125;
	margin-top: 1rem
}

.services-section {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 2rem;
	padding: 1.5rem 0 7.5rem;
	border-top: 1px solid var(--thm-bdr);
	background-color: var(--thm-bg)
}

.services-section--is-sticky {
	position: sticky;
	top: var(--header-h);
	z-index: 1
}

.services-section-content {
	flex: 1;
	display: flex;
	flex-direction: row;
	gap: 2rem
}

.services-section-media {
	width: 20rem;
	min-width: 20rem;
	aspect-ratio: .85
}

.services-section-texts {
	width: 20rem;
	min-width: 20rem
}

.services-section-title {
	color: var(--thm-txt);
	margin-bottom: 2rem
}

.services-section-subtitle {
	color: var(--thm-txt);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.125;
	margin-bottom: 1rem
}

.services-section-text {
	color: color-mix(in srgb, var(--thm-txt), transparent 64%);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.125;
	padding-top: .5rem;
	border-top: 1px solid var(--thm-bdr)
}

.services-list {
	flex: 1;
	max-width: 34.7rem
}

.services-list-item {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-block: 1rem;
	border-top: 1px solid var(--thm-bdr);
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.14;
	text-transform: uppercase
}

.services-list-item:last-child {
	border-bottom: 1px solid var(--thm-bdr)
}

.services-list-item::after {
	content: "";
	display: inline-block;
	width: .375rem;
	min-width: .375rem;
	height: .375rem;
	background: var(--thm-txt);
	border-radius: 100vmax
}

@media(max-width: 63.98rem) {
	.services-section {
		flex-direction: column
	}

	.services-section-texts {
		width: 100%;
		min-width: none
	}

	.services-list {
		max-width: 100%
	}
}

@media(max-width: 47.98rem) {
	.services-heading {
		flex-direction: column
	}

	.services-section-content {
		flex-direction: column
	}

	.services-section-mdia {
		width: 100%;
		min-width: none;
		aspect-ratio: 1
	}

	.services-section-texts {
		max-width: 100%
	}
}

.comparison {
	padding-block: 7.5rem;
	background-color: var(--thm-bg)
}

.comparison-wrapper {
	display: grid;
	gap: 2rem 1.25rem;
	counter-reset: comparison
}

.comparison-content {
	max-width: 100%;
	overflow: auto;
	margin-top: 4rem
}

.comparison-table {
	width: 100%;
	min-width: 30rem;
	border-collapse: collapse;
	table-layout: fixed
}

.comparison-table-title {
	padding: 0 1rem 1rem 1rem;
	font-weight: 500;
	text-align: start
}

.comparison-table-subtitle {
	position: relative;
	padding: 1rem 2rem 1rem 1rem;
	background-color: color-mix(in srgb, var(--thm-txt), transparent 96%);
	border: 1px solid var(--thm-bdr);
	color: var(--thm-acnt);
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.14;
	text-transform: uppercase
}

.comparison-table-subtitle::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	display: inline-block;
	width: .375rem;
	min-width: .375rem;
	height: .375rem;
	background: var(--thm-acnt);
	border-radius: 100vmax
}

.comparison-table-item {
	color: color-mix(in srgb, var(--thm-txt), transparent 36%);
	font-size: 1rem;
	font-weight: 400;
	text-align: start;
	padding: 1rem;
	border: 1px solid var(--thm-bdr);
	background-color: var(--thm-bg)
}

.comparison-table-item--empty {
	text-align: center;
	background-color: color-mix(in srgb, var(--thm-txt), transparent 96%)
}

.comparison-link {
	display: flex;
	width: fit-content;
	margin: 2.5rem 0 0 auto
}

@media(min-width: 64rem) {
	.comparison-wrapper {
		grid-template-columns: repeat(3, 1fr)
	}

	.comparison-pre:not(:last-child) {
		display: inline-block
	}

	.comparison-title:not(:first-child) {
		display: inline;
		margin-left: 15rem
	}
}

.logos {
	position: relative
}

.logos-title-inner {
	padding: .5rem 1rem;
	background: var(--thm-acnt-2);
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	line-height: 1.15;
	color: var(--black)
}

.logos-list {
	display: flex;
	width: fit-content;
	gap: 1px;
	animation: logos 10s linear infinite
}

.logos-list:hover,
.logos-list--pause {
	animation-play-state: paused
}

.logos-item {
	display: flex;
	min-width: 15rem;
	aspect-ratio: 1;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--thm-bdr)
}

.logos-item:not(:last-child) {
	border-right: 0
}

.logos-item img {
	display: block;
	width: 8rem;
	height: 4rem;
	opacity: .16;
	object-fit: contain;
	transition: opacity .6s ease
}

[data-theme=light] .logos-item img {
	filter: invert(1)
}

.logos-item:hover img {
	opacity: .6
}

@media(min-width: 48rem) {
	.logos-title {
		--diagonal: 3.25rem;
		position: absolute;
		bottom: calc(100% + var(--diagonal));
		left: calc(50% + var(--diagonal));
		opacity: 0;
		pointer-events: none;
		translate: -1rem 1rem;
		transition: opacity .4s ease, translate .4s ease
	}

	.logos-title::before {
		width: var(--diagonal);
		height: var(--diagonal);
		position: absolute;
		top: 100%;
		left: calc(-1*var(--diagonal));
		background: linear-gradient(to top left, transparent 0%, transparent calc(50% - 0.8px), var(--thm-acnt-2) 50%, transparent calc(50% + 0.8px), transparent 100%);
		content: "";
		translate: 1rem -1rem;
		transition: opacity .4s ease, translate .4s ease
	}

	:hover>.logos-title {
		opacity: 1;
		translate: 0 0
	}

	:hover>.logos-title::before {
		translate: 0 0
	}
}

@media(max-width: 47.98rem) {
	.logos {
		display: flex;
		border-block: 1px solid var(--thm-bdr)
	}

	.logos-title {
		display: flex;
		min-width: 50%;
		position: relative;
		z-index: 1;
		padding: 1.5rem var(--container-gutter);
		justify-content: center;
		align-items: center;
		background-image: linear-gradient(90deg, var(--thm-bg) 80%, transparent 100%);
		text-align: center
	}

	.logos-list {
		animation-duration: 20s
	}

	.logos-item {
		min-width: 12rem;
		border-block: 0
	}

	.logos-item[data-show] img {
		opacity: .6
	}

	.logos-item[data-show]::after {
		opacity: 1
	}
}

@keyframes logos {
	from {
		transform: translateX(0%)
	}

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

.convictions-wrapper {
	display: grid;
	margin-top: 5rem;
	grid-template-columns: repeat(3, 1fr)
}

.convictions-item {
	display: flex;
	aspect-ratio: 20/23;
	position: relative;
	isolation: isolate;
	flex-direction: column;
	justify-content: flex-end;
	padding: 4rem;
	border-bottom: 1px solid var(--thm-bdr)
}

.convictions-item:not(:last-child) {
	border-right: 1px dotted var(--thm-bdr)
}

.convictions-item-image {
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	transition: opacity .4s ease
}

.convictions-item-content {
	position: sticky
}

.convictions-item-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--ff-primary);
	font-size: 1.5rem;
	line-height: 1.15
}

.convictions-item-icon {
	color: var(--thm-acnt);
	transition: color .4s ease
}

.convictions-item-text {
	margin-top: 1.75rem
}

.convictions-item[data-show] .convictions-item-image {
	opacity: .15
}

@media(min-width: 64rem) {
	.convictions {
		padding-top: 5rem
	}

	.convictions-pre:not(:last-child) {
		display: inline-block
	}

	.convictions-title:not(:first-child) {
		display: inline;
		margin-left: 15rem
	}

	.convictions-item {
		padding: 4rem
	}

	.convictions-item-content {
		bottom: 4rem;
		transition: color .3s ease, translate .3s ease
	}

	.convictions-item:first-child {
		padding-right: 7rem
	}

	:hover>.convictions-item:first-child .convictions-item-content {
		translate: 3rem 0
	}

	.convictions-item:last-child {
		padding-left: 7rem
	}

	:hover>.convictions-item:last-child .convictions-item-content {
		translate: -3rem 0
	}

	:hover>.convictions-item .convictions-item-image {
		opacity: .15
	}

	.convictions-item:hover>.convictions-item-image {
		opacity: 1
	}

	.convictions-item:hover>.convictions-item-content {
		color: var(--white)
	}

	.convictions-item:hover>.convictions-item-icon {
		color: var(--thm-acnt-2)
	}
}

@media(max-width: 63.98rem) {
	.convictions {
		padding-top: 3rem
	}

	.convictions-header {
		padding-inline: 1rem
	}

	.convictions-title {
		display: block;
		margin-top: .75rem;
		margin-left: 0
	}

	.convictions-wrapper {
		grid-template-columns: auto;
		margin-top: 1.5rem
	}

	.convictions-item {
		aspect-ratio: 25/20;
		padding: 1rem;
		opacity: .65;
		transition: opacity .3s ease
	}

	.convictions-item-content {
		bottom: 1rem;
		transition: color .3s ease
	}

	.convictions-item-text {
		margin-top: .5rem
	}

	.convictions-item[data-show] {
		opacity: 1
	}

	.convictions-item[data-show] .convictions-item-image {
		opacity: 1
	}

	.convictions-item[data-show] .convictions-item-content {
		color: var(--white)
	}

	.convictions-item[data-show] .convictions-item-icon {
		color: var(--thm-acnt-2)
	}
}

.trust {
	padding-top: 7.5rem
}

.trust-header {
	width: calc(33.3333333333% - 2rem);
	margin: auto;
	text-align: center
}

.trust-title {
	display: block;
	margin-top: 1rem
}

.trust-wrapper {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 2rem;
	margin-top: 4rem
}

.trust-item {
	position: sticky;
	bottom: 2rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0 2rem;
	margin-top: 1px;
	padding: 2rem;
	background-color: var(--thm-bg);
	border-top: 1px solid var(--thm-bdr)
}

.trust-item:nth-last-child(2),
.trust-item:last-child {
	border-bottom: 1px solid var(--thm-bdr)
}

.trust-item-text {
	color: var(--white, #FFF);
	font-family: var(--ff-primary);
	font-size: 1.25rem;
	line-height: 1.1
}

.trust-item-image {
	flex: 0 0 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	height: auto;
	background: var(--darkblue)
}

.trust-item-image-inner {
	display: block;
	width: 30%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain
}

@media(max-width: 63.98rem) {
	.trust {
		padding-top: 5rem
	}

	.trust-header {
		width: 100%;
		padding-inline: 1rem
	}

	.trust-wrapper {
		grid-template-columns: auto;
		margin-top: 1.5rem
	}

	.trust-item {
		padding: 1rem 1rem 2rem
	}

	.trust-item-image {
		flex: 0 0 6.5rem;
		width: 6.5rem
	}

	.trust-item:nth-last-child(2) {
		border-bottom: none
	}
}

.proposals {
	padding-top: 7.5rem
}

.proposals-item {
	display: grid
}

.proposals-item-content {
	display: flex;
	flex-direction: column
}

.proposals-item-toggle {
	order: 1
}

.proposals-item-text[inert] {
	opacity: 0
}

.proposals-item-media {
	aspect-ratio: 4/3
}

@media(min-width: 64rem) {
	.proposals-item {
		grid-template-columns: 1fr 1fr;
		gap: var(--container-gutter)
	}

	.proposals-item:not(:last-child) {
		margin-bottom: 5rem
	}

	.proposals-item-toggle:not([aria-expanded=true]) {
		translate: 0 var(--offset, 0px)
	}

	.proposals-item-text {
		flex: 1 1 auto;
		padding-bottom: 2rem;
		margin-top: 2rem;
		transition: opacity .3s ease
	}

	.proposals-item-media {
		scale: var(--scrub, 0);
		transform-origin: top left
	}

	:nth-child(even)>.proposals-item-media {
		order: -1;
		transform-origin: top right
	}
}

@media(max-width: 63.98rem) {
	.proposals-item:not(:last-child) {
		margin-bottom: 2.5rem
	}

	.proposals-item-content {
		margin-top: 1.5rem;
		order: 1
	}

	.proposals-item-text {
		display: grid;
		margin-top: 1.5rem;
		grid-template-rows: 1fr;
		transition: grid-template-rows .4s ease, opacity .4s ease
	}

	.proposals-item-text[inert] {
		grid-template-rows: 0fr
	}

	.proposals-item-text-inner {
		overflow: hidden
	}

	.proposals-item-text-content {
		padding-bottom: 1rem
	}

	.proposals-item-media {
		width: calc(100% + 2*var(--container-gutter));
		margin-inline: calc(-1*var(--container-gutter))
	}
}

.values {
	margin-top: 7.5rem;
	padding-inline: 2rem
}

.values-item {
	position: sticky;
	top: calc(var(--header-h) - 1px);
	display: flex;
	align-items: flex-start;
	gap: 1rem 1.5rem;
	margin-top: 4.5rem;
	padding-block: 1.5rem 3rem;
	background-color: var(--thm-bg);
	border-top: 1px solid var(--thm-bdr)
}

.values-item-image {
	flex: 0 0 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	background: var(--darkblue)
}

.values-item-image-inner {
	display: block;
	width: 30%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain
}

.values-item-content {
	flex: 1;
	display: flex;
	gap: 1rem 5rem
}

.values-item-title {
	flex: 1
}

.values-item-text {
	flex: 0 0 calc(41.6666666667% - 1.5rem);
	flex: 1;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

@media(max-width: 63.98rem) {
	.values {
		margin-block: 5rem 2.5rem;
		padding-inline: 0
	}

	.values-item {
		margin-top: 2.5rem;
		padding: 1rem
	}

	.values-item-image {
		flex: 0 0 6.5rem;
		width: 6.5rem
	}

	.values-item-content {
		flex-direction: column
	}
}

.showroom {
	display: flex;
	aspect-ratio: 12/7;
	position: relative;
	isolation: isolate;
	padding-top: 5rem;
	flex-direction: column;
	justify-content: space-between;
	overflow: clip
}

.showroom:hover .showroom-button {
	transform: translateY(0)
}

.showroom-image {
	position: absolute;
	z-index: -1;
	translate: var(--x, 0%) var(--y, 0%);
	transition: transform .3s ease-out
}

.showroom-header {
	width: 50%;
	margin: 0 auto;
	text-align: center
}

.showroom-title {
	display: block;
	margin-top: 1rem;
	color: var(--white)
}

.showroom-content {
	display: flex;
	padding-bottom: 6rem;
	flex-direction: column;
	justify-content: space-between;
	flex: 1
}

.showroom-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: end
}

.showroom-item {
	text-align: center
}

.showroom-item-title,
.showroom-item-text {
	overflow: hidden
}

.showroom-item-title span,
.showroom-item-text span {
	display: inline-block
}

.showroom-item-title {
	color: var(--white)
}

.showroom-item-text {
	margin-top: .7rem
}

.showroom-button {
	width: 100%
}

@media(min-width: 64rem) {
	.showroom-image {
		inset: -2.5% -5%
	}

	.showroom-item-title,
	.showroom-item-text {
		overflow: hidden
	}

	.showroom-item-title span,
	.showroom-item-text span {
		transform: translateY(100%);
		transition: transform .6s cubic-bezier(0.6, 0, 0.3, 1)
	}

	[data-active] .showroom-item-title span,
	[data-active] .showroom-item-text span {
		transform: translate(0%)
	}

	.showroom-button {
		position: sticky;
		bottom: 0;
		z-index: 1;
		transform: translateY(100%);
		transition-property: transform, color, background-color
	}
}

@media(max-width: 63.98rem) {
	.showroom {
		--offset: 1;
		aspect-ratio: auto;
		height: calc(90vh - var(--header-h));
		padding: 3rem 1rem 1rem
	}

	.showroom-image,
	.showroom-wrapper {
		width: 300%;
		transform: translateX(calc(var(--offset) * -33%));
		transition: transform .6s ease
	}

	.showroom-image {
		height: 100%;
		top: 0;
		left: 0
	}

	.showroom-header {
		width: 100%
	}

	.showroom-title {
		margin-top: .75rem
	}

	.showroom-content {
		padding-bottom: 2rem
	}

	.showroom-item-title {
		font-size: 1.5rem;
		line-height: 1.15
	}

	.showroom-item-text {
		margin-top: .5rem
	}
}

.drivers {
	margin-top: 7.5rem;
	padding-inline: 2rem
}

.drivers-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem 2rem;
	margin-top: 2.5rem
}

.drivers-item {
	display: flex;
	align-items: flex-start;
	gap: 0 1.5rem;
	padding-top: 1.5rem;
	padding-right: 1.5rem;
	border-top: 1px solid var(--thm-bdr)
}

.drivers-item-image {
	flex: 0 0 7.0625rem;
	display: block;
	aspect-ratio: 113/149;
	object-fit: cover
}

.drivers-item-text {
	flex: 1
}

@media(max-width: 63.98rem) {
	.drivers {
		margin-top: 5rem;
		padding-inline: 0
	}

	.drivers-title {
		padding-inline: 1rem
	}

	.drivers-wrapper {
		grid-template-columns: auto;
		margin-top: 1.5rem
	}

	.drivers-item {
		position: sticky;
		top: calc(var(--header-h) - 1px);
		padding: 1rem 1rem 0;
		background-color: var(--thm-bg)
	}

	.drivers-item-text {
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.125
	}
}

.testimonies {
	display: flex;
	margin-top: 7.5rem;
	border-top: 1px solid var(--thm-bdr)
}

.testimonies-header {
	flex: 0 0 41.6666666667%;
	border-right: 1px solid var(--thm-bdr);
	overflow: hidden
}

.testimonies-title {
	width: 66.66%;
	margin-bottom: 8.5rem;
	padding-top: 2rem;
	padding-left: 2rem
}

.testimonies-slider {
	flex: 0 0 58.3333333333%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	padding: 3rem 2rem 2rem
}

.testimonies-item-wrapper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0 1.5rem
}

.testimonies-item-wrapper+.testimonies-item-wrapper {
	margin-top: 3rem
}

.testimonies-item-icon {
	flex: 0 0 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	border: 1px solid var(--thm-bdr)
}

.testimonies-item-text {
	flex: 0 0 71.4285714286%;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.15
}

.testimonies-item-image {
	flex: 0 0 3rem;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	object-fit: cover
}

.testimonies-item-bottom {
	flex: 0 0 71.4285714286%
}

.testimonies-item-name {
	color: var(--thm-acnt);
	font-family: var(--ff-secondary);
	font-size: 1rem;
	line-height: 1.15;
	text-transform: uppercase
}

.testimonies-item-job {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.125;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%);
	margin-top: .5rem
}

@media(min-width: 64rem) {
	.testimonies-slider {
		border-bottom: 1px solid var(--thm-bdr)
	}
}

@media(max-width: 63.98rem) {
	.testimonies {
		display: block;
		margin-top: 5rem
	}

	.testimonies-title {
		width: 100%;
		padding: 1.5rem 1rem;
		margin-bottom: 2.94rem
	}

	.testimonies-slider {
		padding: 2.5rem 1rem 1rem
	}

	.testimonies-wrapper+.testimonies-wrapper {
		margin-top: 2rem
	}

	.testimonies-item-text {
		font-size: var(--font-size-S, );
		line-height: 1.125
	}

	.testimonies-controls {
		margin-top: 5rem
	}
}

.goals {
	margin-top: 5rem
}

.goals-header {
	margin-bottom: 4rem
}

.goals-title {
	display: block;
	margin-top: 1rem
}

.goals-subtitle {
	margin-bottom: 2rem
}

.goals-list {
	display: grid;
	padding-block: 1px;
	gap: 1px
}

.goals-item {
	padding-block: 1.5rem;
	background: var(--thm-bg);
	box-shadow: 0 -1px 0 0 var(--thm-bdr), 0 1px 0 0 var(--thm-bdr);
	font-weight: 500
}

.goals-item-title {
	font-size: 1.25rem
}

.goals-item-text {
	margin-top: 1rem;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

@media(min-width: 64rem) {
	.goals {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: start
	}

	.goals-images-item {
		height: calc(100dvh - var(--header-h));
		position: sticky;
		top: var(--header-h);
		opacity: var(--scrub, 1)
	}

	.goals-content {
		display: flex;
		height: calc(100dvh - var(--header-h));
		position: sticky;
		top: var(--header-h);
		padding: 4rem calc(2*var(--container-gutter)) 2rem;
		flex-direction: column
	}

	.goals-list {
		display: grid;
		margin-top: auto;
		grid-auto-rows: 1fr
	}

	.goals-item {
		display: flex;
		grid-area: 1/1;
		flex-direction: column;
		justify-content: center;
		opacity: 1;
		translate: 0 max(0px, var(--scrub, 0px) - 50vh)
	}
}

@media(max-width: 63.98rem) {
	.goals-images {
		display: none
	}

	.goals-content {
		padding-inline: var(--container-gutter)
	}
}

.columns {
	margin-top: 7.5rem
}

.columns-wrapper {
	display: flex;
	padding-top: 2rem;
	border-top: 1px solid var(--thm-bdr);
	gap: 2rem
}

.columns-title {
	display: block;
	margin-top: 1rem
}

.columns-image {
	aspect-ratio: 1/1.33
}

.columns-subtitle {
	font-size: 1.25rem
}

.columns-subtitle:not(:last-child) {
	margin-bottom: 1rem
}

.columns-text {
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

@media(min-width: 64rem) {
	.columns-wrapper {
		align-items: start
	}

	.columns-header,
	.columns-image {
		width: calc((50% - 3rem)/2)
	}

	.columns-content {
		width: 40%;
		margin-left: auto
	}
}

@media(max-width: 63.98rem) {
	.columns-wrapper {
		flex-direction: column
	}
}

.redirections {
	margin-top: 7.5rem
}

.redirections-wrapper:has(.redirections-header) {
	padding-top: 2rem;
	border-top: 1px solid var(--thm-bdr)
}

.redirections-header {
	max-width: 56.625rem;
	margin-bottom: 4rem
}

.redirections-title {
	display: block;
	margin-top: 1rem
}

.redirections-list {
	display: grid;
	gap: 2rem
}

@media(min-width: 64rem) {
	.redirections-list {
		grid-template-columns: repeat(2, 1fr)
	}
}

.news {
	margin-top: 7.5rem
}

.news-wrapper:has(.news-header) {
	padding-top: 2rem;
	border-top: 1px solid var(--thm-bdr)
}

.news-header {
	max-width: 56.625rem;
	margin-bottom: 1rem
}

.news-title {
	display: block;
	margin-top: 1rem
}

.news-list {
	display: grid;
	gap: 2rem
}

@media(min-width: 48rem) {
	.news-list {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(min-width: 64rem) {
	.news-list {
		grid-template-columns: repeat(3, 1fr)
	}
}

.media {
	margin-top: 5rem;
	text-align: center
}

.media-title {
	margin-bottom: 3rem
}

.media-image {
	display: block;
	width: 100%;
	height: auto
}

.benefits {
	margin-top: 7.5rem
}

.benefits-pre {
	margin-bottom: 1rem;
	text-align: center
}

.benefits-title {
	text-align: center
}

.benefits-wrapper {
	display: grid;
	margin-top: 5rem;
	align-items: start;
	gap: 2rem calc(2*var(--container-gutter))
}

.benefits-subtitle {
	display: flex;
	margin-bottom: 1.5rem;
	align-items: center;
	gap: .5rem
}

.benefits-icon {
	font-size: 1rem;
	color: var(--thm-acnt)
}

.benefits-list {
	border: 1px solid var(--thm-bdr);
	background: color-mix(in srgb, var(--thm-txt), transparent 96%)
}

.benefits-item {
	display: flex;
	padding: 1rem;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.14;
	text-transform: uppercase
}

.benefits-item:not(:last-child) {
	border-bottom: 1px solid var(--thm-bdr)
}

.benefits-item::after {
	display: block;
	width: .375rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: currentColor;
	content: ""
}

@media(min-width: 48rem) {
	.benefits-wrapper {
		grid-template-columns: 1fr 1fr
	}
}

.ecoindex-grade {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem
}

.ecoindex-grade-item {
	display: flex;
	width: clamp(3rem, 5vw, 5rem);
	aspect-ratio: 1;
	padding: .75rem;
	border: 1px solid;
	border-radius: .5rem;
	justify-content: flex-end;
	align-items: flex-end;
	font-weight: 500;
	line-height: 1
}

.ecoindex-grade-item:nth-child(1) {
	color: #4d9e30
}

.ecoindex-grade-item:nth-child(1).ecoindex-grade-item--active {
	background-color: #4d9e30;
	color: #fff
}

.ecoindex-grade-item:nth-child(2) {
	color: #50b84b
}

.ecoindex-grade-item:nth-child(2).ecoindex-grade-item--active {
	background-color: #50b84b;
	color: #fff
}

.ecoindex-grade-item:nth-child(3) {
	color: #cadb2a
}

.ecoindex-grade-item:nth-child(3).ecoindex-grade-item--active {
	background-color: #cadb2a;
	color: #fff
}

.ecoindex-grade-item:nth-child(4) {
	color: #f6eb13
}

.ecoindex-grade-item:nth-child(4).ecoindex-grade-item--active {
	background-color: #f6eb13;
	color: #fff
}

.ecoindex-grade-item:nth-child(5) {
	color: #fecd07
}

.ecoindex-grade-item:nth-child(5).ecoindex-grade-item--active {
	background-color: #fecd07;
	color: #fff
}

.ecoindex-grade-item:nth-child(6) {
	color: #fa9f47
}

.ecoindex-grade-item:nth-child(6).ecoindex-grade-item--active {
	background-color: #fa9f47;
	color: #fff
}

.ecoindex-grade-item:nth-child(7) {
	color: #ef3a3b
}

.ecoindex-grade-item:nth-child(7).ecoindex-grade-item--active {
	background-color: #ef3a3b;
	color: #fff
}

.error {
	display: flex;
	min-height: 100svh;
	padding: 2rem var(--container-gutter) calc(2rem + var(--header-h)) var(--container-gutter);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center
}

.error-title {
	margin-bottom: 2rem;
	color: var(--thm-acnt-2)
}

.error-button {
	margin-top: 2.5rem
}

.contact-wrapper {
	padding-block: 2.5rem 7.5rem;
	border-top: 1px solid var(--thm-bdr)
}

.contact-info-item:not(:first-child) {
	padding-top: 2rem;
	border-top: 1px solid rgba(12, 12, 12, .06);
	margin-top: 2rem
}

.contact-info-title {
	display: flex;
	align-items: start;
	gap: 1.125rem;
	text-transform: uppercase;
	font-size: .75rem;
	color: var(--thm-acnt)
}

.contact-info-text {
	margin-top: 1rem
}

@media(min-width: 64rem) {
	.contact-wrapper {
		display: flex;
		justify-content: space-between;
		align-items: start
	}

	.contact-info {
		width: 40%;
		order: -1
	}

	.contact-form {
		width: 50%
	}
}

@media(max-width: 63.98rem) {
	.contact-info {
		margin-top: 4rem
	}
}

.newsroom {
	padding-bottom: 7.5rem
}

.newsroom-wrapper {
	display: grid;
	align-items: start;
	gap: 3rem 10%
}

.newsroom-filters {
	position: sticky;
	z-index: 100;
	text-transform: uppercase;
	font-family: var(--ff-secondary);
	font-size: .875rem;
	font-weight: 500
}

.newsroom-filters-item {
	display: flex;
	align-items: center;
	gap: .25rem
}

.newsroom-filters-input {
	min-width: .25rem;
	aspect-ratio: 1;
	background: var(--thm-acnt-2);
	scale: 0;
	transition: scale .2s ease
}

.newsroom-filters-input:checked {
	scale: 1
}

.newsroom-filters-label {
	cursor: pointer;
	translate: -0.5rem 0;
	transition: color .2s ease, translate .2s ease
}

:checked+.newsroom-filters-label {
	color: var(--thm-acnt-2);
	translate: 0 0
}

.newsroom-list {
	display: grid;
	gap: 3.5rem 2rem
}

@media(min-width: 64rem) {
	.newsroom {
		padding-top: 3rem
	}

	.newsroom-wrapper {
		grid-template-columns: 25% 1fr
	}

	.newsroom-filters {
		display: flex;
		max-width: 17.5rem;
		top: calc(var(--header-h) + 3rem);
		justify-content: space-between;
		align-items: start;
		gap: 1rem
	}

	.newsroom-filters-list {
		display: grid;
		gap: .5rem
	}

	.newsroom-list {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width: 63.98rem) {
	.newsroom-wrapper {
		grid-template-columns: 100%
	}

	.newsroom-filters {
		top: var(--header-h);
		border-bottom: 1px solid var(--thm-bdr);
		margin-inline: calc(-1*var(--container-gutter));
		background: var(--thm-bg)
	}

	.newsroom-filters-title {
		margin: 1rem var(--container-gutter)
	}

	.newsroom-filters-list {
		display: flex;
		padding-bottom: 1rem;
		gap: var(--container-gutter);
		white-space: nowrap;
		overflow: auto
	}

	.newsroom-filters-list::before,
	.newsroom-filters-list::after {
		content: ""
	}
}

.post-wrapper {
	display: flex;
	align-items: start;
	gap: var(--container-gutter)
}

.post-nav {
	position: sticky
}

.post-nav-link {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	text-transform: uppercase;
	font-size: .75rem;
	color: color-mix(in srgb, var(--thm-txt), transparent 36%)
}

.post-nav-link:hover,
.post-nav-link[aria-current=true] {
	color: var(--thm-txt)
}

.post-section:not(:first-child) {
	padding-top: 4.5rem
}

@media(min-width: 64rem) {
	.post-nav {
		display: flex;
		width: calc(33.3333333333% - var(--container-gutter)/2);
		max-height: calc(100dvh - var(--header-h) - 3rem);
		top: calc(var(--header-h) + 1.5rem);
		flex-direction: column;
		align-items: start
	}

	.post-nav-list {
		display: grid;
		width: 100%;
		padding: 2rem;
		border: 1px solid var(--thm-bdr);
		border-radius: .25rem;
		margin-bottom: 1.5rem;
		gap: 1.5rem;
		flex: 1 1 auto;
		background: color-mix(in srgb, var(--thm-txt), transparent 95%);
		overflow: auto
	}

	.post-nav-link {
		transition: color .3s ease
	}

	.post-nav-link-label {
		translate: -0.875rem;
		transition: translate .3s ease
	}

	[aria-current=true] .post-nav-link-label {
		translate: 0
	}

	.post-nav-link::before {
		min-width: .375rem;
		aspect-ratio: 1;
		border-radius: 50%;
		background: currentColor;
		content: "";
		scale: 0;
		transition: scale .3s ease
	}

	.post-nav-link[aria-current=true]::before {
		scale: 1
	}

	.post-content {
		width: calc(66.6666666667% - var(--container-gutter)/2)
	}
}

@media(max-width: 63.98rem) {
	.post-wrapper {
		flex-direction: column
	}

	.post-nav {
		display: flex;
		width: calc(100% + 2*var(--container-gutter));
		top: var(--header-h);
		z-index: 700;
		border-bottom: 1px solid var(--thm-bdr);
		margin-inline: calc(-1*var(--container-gutter));
		background: var(--thm-bg)
	}

	.post-nav::before,
	.post-nav::after {
		display: block;
		min-width: var(--container-gutter);
		position: relative;
		z-index: 1;
		align-self: stretch;
		content: ""
	}

	.post-nav::before {
		margin-right: calc(-1*var(--container-gutter));
		background-image: linear-gradient(90deg, var(--thm-bg), color-mix(in srgb, var(--thm-bg), transparent 100%))
	}

	.post-nav::after {
		margin-left: calc(-1*var(--container-gutter));
		background-image: linear-gradient(-90deg, var(--thm-bg), color-mix(in srgb, var(--thm-bg), transparent 100%))
	}

	.post-nav-list {
		display: flex;
		padding-left: var(--container-gutter);
		gap: var(--container-gutter);
		white-space: nowrap;
		overflow: auto
	}

	.post-nav-list::after {
		min-width: var(--container-gutter);
		margin-left: calc(-1*var(--container-gutter));
		content: ""
	}

	.post-nav-item {
		display: flex
	}

	.post-nav-link {
		padding-block: 1rem;
		align-items: center;
		background-image: linear-gradient(var(--thm-acnt-2), var(--thm-acnt-2));
		background-repeat: no-repeat;
		background-position: bottom;
		background-size: 100% 0px;
		transition: color .3s ease, background-size .3s ease
	}

	.post-nav-link[aria-current=true] {
		background-size: 100% 3px
	}

	.post-share {
		margin: 1rem 1rem 1rem auto;
		order: 1;
		white-space: nowrap
	}

	.post-content {
		width: 100%
	}
}