
:root {
	--color-brand: #ff7417;
	--color-brand-primary: #ff7417;
	--color-brand-tertiary: #2c333f;
	--color-brand-ribbon: #2c333f;
	--color-brand-ribbon-text: #fc761f;
	--color-logo-mark-on-brand: #facc15;
	--color-brand-soft: #fee4d2;
	--color-ink: #2c333f;
	--color-white: #fff;
	--color-glass: rgba(135, 130, 117, .48);
	--color-surface-dark: #050505;
	--font-body: "Outfit", system-ui, sans-serif;
	--font-display: "Bebas Neue", Impact, sans-serif;
	--radius-pill: 100rem;
	--radius-focus: .8rem;
	--space-1: .4rem;
	--space-2: .8rem;
	--space-3: 1.2rem;
	--space-4: 1.6rem;
	--space-5: 2.4rem;
	--space-6: 3.2rem;
	--space-7: 4.8rem;
	--space-8: 6.4rem;
	--page-max: 151.2rem;
	--lightningcss-dark: initial;
	color-scheme: dark;
}

* {
	box-sizing: border-box;
}

html, body {
	font-size: 10px;
}

@media screen and (width>=1200px) and (width<=1439px) and (height>=480px) and (height<=767px) and (hover:hover) and (pointer:fine) {
	html {
		font-size: 7px;
	}
}

@media (resolution<=.85x) {
	html {
		font-size: 8.67px;
	}
}

html {
	scroll-behavior: smooth;
	min-block-size: 100%;
}

body {
	background: var(--color-surface-dark);
	min-block-size: 100%;
	color: var(--color-white);
	font-family: var(--font-body);
	text-rendering: geometricprecision;
	-webkit-font-smoothing: antialiased;
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.5;
}

:where(h1,h2,h3,p,ul) {
	margin: 0;
}

:where(ul) {
	padding: 0;
}

:where(a) {
	color: inherit;
	text-decoration: none;
}

:where(img,svg) {
	display: block;
}

:where(img) {
	max-inline-size: 100%;
}

:where(a,button):focus-visible {
	outline: .3rem solid var(--color-brand);
	outline-offset: .4rem;
	border-radius: var(--radius-focus);
}

.button {
	--button-bg: var(--color-brand);
	--button-color: var(--color-ink);
	--button-icon-bg: var(--color-ink);
	--button-icon-color: var(--color-brand);
	box-sizing: border-box;
	border-radius: var(--radius-pill);
	background: var(--button-bg);
	min-block-size: 4rem;
	color: var(--button-color);
	font-family: var(--font-body);
	letter-spacing: 0;
	white-space: nowrap;
	cursor: pointer;
	border: 0;
	justify-content: center;
	align-items: center;
	gap: .9rem;
	padding: .5rem .4rem .5rem 1.2rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.1;
	transition: transform .18s, background-color .18s, color .18s;
	display: inline-flex;
}

.button:hover {
	transform: translateY(-.2rem);
}

.button.is-gsap-intro {
	transition: none;
}

.button:active {
	transform: translateY(0);
}

.button__icon {
	background: var(--button-icon-bg);
	block-size: 3rem;
	inline-size: 3rem;
	color: var(--button-icon-color);
	border-radius: 50%;
	flex: none;
	place-items: center;
	transition: background-color .18s, color .18s;
	display: inline-grid;
}

.button__icon-svg {
	block-size: 1.7rem;
	inline-size: 1.7rem;
}

.button--large {
	gap: 1.6rem;
	min-block-size: 6.4rem;
	padding: .95rem .8rem .95rem 2.6rem;
	font-size: 2.2rem;
}

.button--large .button__icon {
	block-size: 4.5rem;
	inline-size: 4.5rem;
}

.button--large .button__icon-svg {
	block-size: 1.244rem;
	inline-size: 1.244rem;
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto;
	}
	
	.button, .button__icon {
		transition: none;
	}
	
	.button:hover, .button:active {
		transform: none;
	}
}

html {
	scroll-behavior: auto;
	overscroll-behavior: none;
	overflow-y: scroll;
}

body {
	overflow-x: hidden;
}

body.has-scroll-smoother {
	overflow: hidden;
}

#scroll-wrapper {
	min-block-size: 100svh;
	inline-size: 100%;
	position: relative;
	overflow: hidden;
}

#scroll-content {
	will-change: transform;
	backface-visibility: hidden;
	min-block-size: 100svh;
	inline-size: 100%;
	overflow: visible;
	transform: translate(0, 0);
}

[data-smooth-scrub] {
	will-change: transform;
}

@media (prefers-reduced-motion:reduce) {
	body.has-scroll-smoother {
		overflow: hidden auto;
	}
	
	#scroll-wrapper {
		overflow: visible;
	}
	
	#scroll-content, [data-smooth-scrub] {
		will-change: auto;
		transform: none !important;
	}
}

.open-header {
	--open-header-logo-mark: var(--color-brand);
	--open-header-logo-text: var(--color-white);
	--open-header-cta-bg: var(--color-brand);
	--open-header-cta-color: var(--color-ink);
	--open-header-cta-icon-bg: var(--color-ink);
	--open-header-cta-icon-color: var(--color-brand);
	z-index: 70;
	align-items: center;
	gap: var(--space-3);
	pointer-events: none;
	grid-template-columns: minmax(0, 1fr) auto;
	inline-size: min(100% - 3.2rem, 141.2rem);
	display: grid;
	position: fixed;
	inset-block-start: clamp(1.6rem, 4.8vw, 2.4rem);
	inset-inline-start: 50%;
	transform: translate(-50%);
}

.open-header > * {
	pointer-events: auto;
}

.open-header__brand {
	z-index: 2;
	inline-size: clamp(14.6rem, 38vw, 20.4rem);
	display: block;
	position: relative;
}

.open-header__logo {
	block-size: auto;
	inline-size: 100%;
	overflow: visible;
}

.open-header__logo path {
	transition: fill .18s;
}

.open-header--on-light {
	--open-header-logo-text: var(--color-ink);
}

.open-header--logo-dark {
	--open-header-logo-mark: var(--color-ink);
	--open-header-logo-text: var(--color-ink);
}

.open-header--on-brand {
	--open-header-logo-mark: var(--color-ink);
	--open-header-logo-text: var(--color-ink);
	--open-header-cta-bg: var(--color-ink);
	--open-header-cta-color: var(--color-brand-primary);
	--open-header-cta-icon-bg: var(--color-brand-primary);
	--open-header-cta-icon-color: var(--color-ink);
}

.open-header__cta {
	--button-bg: var(--open-header-cta-bg);
	--button-color: var(--open-header-cta-color);
	--button-icon-bg: var(--open-header-cta-icon-bg);
	--button-icon-color: var(--open-header-cta-icon-color);
	justify-self: end;
	padding-inline: 1.8rem .5rem;
	font-size: 1.5rem;
	font-weight: 700;
	display: none;
}

.main-nav {
	justify-self: center;
	min-inline-size: 0;
	display: none;
	position: relative;
}

.main-nav__bar {
	border-radius: var(--radius-pill);
	-webkit-backdrop-filter: blur(2rem);
	background: rgba(112, 106, 94, .62);
	position: relative;
	overflow: hidden;
}

.main-nav__list {
	z-index: 1;
	align-items: center;
	gap: .2rem;
	min-block-size: 5.4rem;
	min-inline-size: max-content;
	padding: .55rem;
	list-style: none;
	display: flex;
	position: relative;
}

.main-nav__indicator {
	z-index: 0;
	border-radius: var(--radius-pill);
	background: var(--color-brand);
	pointer-events: none;
	will-change: transform, inline-size, block-size;
	display: block;
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	transform: translate(0, 0);
}

.main-nav__link {
	z-index: 1;
	border-radius: var(--radius-pill);
	min-block-size: 4rem;
	color: var(--color-white);
	font-family: var(--font-body);
	letter-spacing: 0;
	cursor: pointer;
	background: 0 0;
	border: 0;
	justify-content: center;
	align-items: center;
	padding-inline: 1.35rem;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.375;
	transition: color .18s;
	display: inline-flex;
	position: relative;
}

.main-nav__link:hover, .main-nav__link:focus-visible, .main-nav__link--active {
	color: var(--color-ink);
}

.main-nav--megamenu-open .main-nav__link[aria-current=page] {
	color: var(--color-white);
}

.main-nav__link--button[aria-expanded=true] {
	color: var(--color-ink);
}

.main-nav__megamenu {
	z-index: 4;
	inline-size: clamp(68rem, 50.6vw, 77.2rem);
	color: var(--color-white);
	position: absolute;
	inset-block-start: calc(100% + 1rem);
	inset-inline-start: 50%;
}

.main-nav__megamenu[hidden] {
	display: none;
}

.main-nav__megamenu-inner {
	-webkit-backdrop-filter: blur(2rem);
	background: rgba(75, 70, 61, .64);
	border: .1rem solid rgba(255, 255, 255, .12);
	border-radius: 2rem;
	grid-template-columns: minmax(0, 1fr) 28rem;
	gap: 2.4rem 2.8rem;
	padding: 1.8rem 1.8rem 1.2rem;
	display: grid;
	overflow: hidden;
	box-shadow: 0 2.8rem 7rem rgba(0, 0, 0, .32);
}

.main-nav__solutions {
	list-style: none;
}

.main-nav__solution:not(:last-child) {
	border-block-end: .1rem solid rgba(255, 255, 255, .14);
}

.main-nav__link-item {
	color: var(--color-white);
	letter-spacing: 0;
	grid-template-columns: 16.2rem minmax(0, 1fr);
	align-items: start;
	gap: 1.2rem;
	padding-block: 1.18rem;
	font-size: 1.26rem;
	line-height: 1.42;
	transition: color .18s, transform .18s;
	display: grid;
}

.main-nav__link-item:hover, .main-nav__link-item:focus-visible {
	color: var(--color-brand-soft);
	transform: translate(.2rem);
}

.main-nav__link-item strong {
	font-size: 1.42rem;
	font-weight: 800;
	line-height: 1.32;
}

.main-nav__link-item span {
	color: rgba(255, 255, 255, .82);
}

.main-nav__preview {
	contain: layout paint;
	background: rgba(255, 255, 255, .08);
	border-radius: 1.4rem;
	align-self: stretch;
	min-block-size: 25.6rem;
	inline-size: 28rem;
	margin: 0;
	overflow: hidden;
}

.main-nav__preview-image {
	object-fit: cover;
	opacity: 1;
	will-change: opacity;
	block-size: 25.6rem;
	inline-size: 28rem;
	transition: opacity .18s;
	transform: translate(0, 0);
}

.main-nav__preview-image.is-switching {
	opacity: .16;
}

.main-nav__megamenu-cta {
	grid-column: 1/-1;
	justify-self: end;
	min-block-size: 4rem;
	min-inline-size: 28rem;
	padding-inline: 2.4rem .5rem;
	font-size: 1.5rem;
}

.mobile-menu__trigger {
	border-radius: var(--radius-pill);
	min-block-size: 4.6rem;
	color: var(--color-white);
	font-family: var(--font-body);
	letter-spacing: 0;
	-webkit-backdrop-filter: blur(1.4rem);
	cursor: pointer;
	background: rgba(112, 106, 94, .78);
	border: 0;
	justify-content: center;
	align-items: center;
	gap: .8rem;
	padding: .8rem 1.4rem .8rem 1.8rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	display: inline-flex;
}

.mobile-menu__trigger-icon {
	gap: .3rem;
	inline-size: 1.4rem;
	display: grid;
}

.mobile-menu__trigger-line {
	border-radius: var(--radius-pill);
	transform-origin: 50%;
	background: currentColor;
	block-size: .16rem;
	inline-size: 100%;
	display: block;
}

.mobile-menu {
	z-index: 1;
	inline-size: min(100vw - 3.2rem, 35rem);
	color: var(--color-white);
	-webkit-backdrop-filter: blur(2rem);
	transform-origin: top;
	will-change: transform, opacity;
	contain: layout paint;
	background: rgba(84, 79, 70, .62);
	border: .1rem solid rgba(255, 255, 255, .12);
	border-radius: 3.2rem;
	position: fixed;
	inset-block-start: 7.6rem;
	inset-inline-end: 0;
	overflow: hidden;
	box-shadow: 0 2.6rem 7rem rgba(0, 0, 0, .32);
}

.mobile-menu[hidden] {
	display: none;
}

.mobile-menu__track {
	min-block-size: 37.6rem;
	inline-size: 100%;
	position: relative;
	overflow: hidden;
}

.mobile-menu__pane {
	will-change: transform;
	min-block-size: 37.6rem;
	position: absolute;
	inset: 0;
}

.mobile-menu__pane--main {
	position: relative;
}

.mobile-menu__pane--submenu {
	transform: translate(100%);
}

.mobile-menu__list {
	list-style: none;
}

.mobile-menu__item:not(:last-child), .mobile-menu__back {
	border-block-end: .1rem solid rgba(255, 255, 255, .12);
}

.mobile-menu__link, .mobile-menu__submenu-trigger, .mobile-menu__back, .mobile-menu__solution {
	min-block-size: 5.6rem;
	inline-size: 100%;
	color: var(--color-white);
	font-family: var(--font-body);
	letter-spacing: 0;
	text-align: start;
	cursor: pointer;
	background: 0 0;
	border: 0;
	align-items: center;
	padding-inline: 2.8rem;
	display: flex;
}

.mobile-menu__link, .mobile-menu__submenu-trigger {
	font-size: 2.2rem;
	font-weight: 800;
	line-height: 1.12;
}

.mobile-menu__back {
	min-block-size: 6.8rem;
	font-size: 2rem;
	font-weight: 800;
}

.mobile-menu__solution {
	min-block-size: 5.65rem;
	font-size: 1.48rem;
	font-weight: 800;
	line-height: 1.25;
}

.mobile-menu__link:hover, .mobile-menu__submenu-trigger:hover, .mobile-menu__back:hover, .mobile-menu__solution:hover {
	color: var(--color-brand-soft);
}

body.open-header--mobile-menu-open {
	overflow: hidden;
}

@media (width>=48em) {
	.open-header {
		grid-template-columns: 20.4rem minmax(0, 1fr) 16.9rem;
		gap: 2.4rem;
	}
	
	.main-nav {
		grid-area: 1/2;
		display: block;
	}
	
	.open-header__cta {
		inline-size: 16.9rem;
		display: inline-flex;
	}
	
	.mobile-menu, .mobile-menu__trigger {
		display: none;
	}
}

@media (width>=75em) {
	.open-header {
		inset-block-start: clamp(2rem, 5.45svh, 5.5rem);
	}
}

@media (width<=24em) {
	.mobile-menu {
		inline-size: calc(100vw - 2.4rem);
	}
	
	.mobile-menu__link, .mobile-menu__submenu-trigger {
		font-size: 2rem;
	}
}

@media (prefers-reduced-motion:reduce) {
	.open-header__logo, .open-header__logo path, .main-nav__indicator, .main-nav__link, .main-nav__link-item, .main-nav__preview-image, .mobile-menu, .mobile-menu__pane {
		will-change: auto;
		transition: none;
	}
}

.hero-ch {
	--hero-ch-side: 3.1rem;
	--hero-ch-bottom: 11rem;
	--hero-ch-copy: var(--color-white);
	--hero-ch-soft: #f7eee6;
	--hero-ch-glass: rgba(188, 184, 176, .46);
	--hero-ch-glass-border: rgba(255, 255, 255, .16);
	isolation: isolate;
	background: var(--color-surface-dark);
	min-block-size: 100svh;
	padding: 12rem var(--hero-ch-side) var(--hero-ch-bottom);
	backface-visibility: hidden;
	align-items: end;
	display: grid;
	position: relative;
	overflow: hidden;
	transform: translate(0, 0);
}

.hero-ch__media, .hero-ch__picture, .hero-ch__background, .hero-ch__shade {
	block-size: 100%;
	inline-size: 100%;
	position: absolute;
	inset: 0;
}

.hero-ch__media {
	z-index: -1;
	pointer-events: none;
}

.hero-ch__picture {
	overflow: hidden;
}

.hero-ch__background {
	object-fit: cover;
	object-position: 76% top;
	-webkit-user-select: none;
	user-select: none;
	backface-visibility: hidden;
	will-change: transform, opacity;
	transform: translate(0, 0);
}

.hero-ch__media, .hero-ch__picture, .hero-ch__background {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.hero-ch__shade {
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .08) 52%, rgba(0, 0, 0, .32) 100%), linear-gradient(rgba(0, 0, 0, .06), rgba(0, 0, 0, .06));
}

.hero-ch__content {
	z-index: 2;
	inline-size: min(100%, 32.6rem);
	color: var(--hero-ch-copy);
	position: relative;
}

.hero-ch__title-mask {
	will-change: transform;
	display: block;
	overflow: hidden;
}

.hero-ch__title {
	color: var(--hero-ch-soft);
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	margin: 0;
	font-size: clamp(5.2rem, 13vw, 6.2rem);
	font-weight: 400;
	line-height: .96;
}

.hero-ch__title-accent {
	text-underline-offset: .13em;
	text-decoration-line: underline;
	text-decoration-thickness: .055em;
}

.hero-ch__copy {
	max-inline-size: 31.8rem;
	color: var(--hero-ch-copy);
	letter-spacing: 0;
	text-wrap: pretty;
	margin-block-start: 1.6rem;
	font-size: clamp(1.65rem, 4.6vw, 1.9rem);
	font-weight: 400;
	line-height: 1.34;
}

.hero-ch__cta {
	gap: 1rem;
	min-block-size: 4rem;
	inline-size: min(100%, 23.8rem);
	margin-block-start: 1.4rem;
	padding: .5rem .5rem .5rem 2rem;
	font-size: 1.55rem;
}

.hero-ch__cta .button__icon {
	block-size: 3.2rem;
	inline-size: 3.2rem;
}

.hero-ch__benefits, .hero-ch__badges {
	display: none;
}

.hero-ch__clients {
	z-index: 2;
	pointer-events: none;
	position: absolute;
	inset-block-end: 1.2rem;
	inset-inline: 0;
	overflow: hidden;
}

.hero-ch__clients-track {
	will-change: transform;
	align-items: center;
	inline-size: max-content;
	display: flex;
	transform: translate(0, 0);
}

.hero-ch__clients-group {
	flex: none;
	justify-content: flex-start;
	align-items: center;
	gap: 4.8rem;
	min-inline-size: max(60rem, 100vw);
	padding-inline-start: 17rem;
	list-style: none;
	display: flex;
}

.hero-ch__client {
	flex: none;
	place-items: center;
	min-inline-size: 6.6rem;
	display: grid;
}

.hero-ch__client-logo {
	object-fit: contain;
	opacity: .98;
	filter: drop-shadow(0 .7rem 1.6rem rgba(0, 0, 0, .24));
	inline-size: auto;
}

.hero-ch__client-logo--gls {
	inline-size: 7.9rem;
}

.hero-ch__client-logo--cercle, .hero-ch__client-logo--calvet {
	inline-size: 5rem;
}

.hero-ch__client-logo--tiburon {
	inline-size: 8.4rem;
}

.hero-ch__client-logo--vuitantas {
	inline-size: 5.9rem;
}

.hero-ch__client-logo--unlugar {
	inline-size: 10.7rem;
}

@media (width<=24em) {
	.hero-ch {
		--hero-ch-side: 2.4rem;
		--hero-ch-bottom: 10.6rem;
	}
	
	.hero-ch__content {
		inline-size: min(100%, 31.4rem);
	}
	
	.hero-ch__copy {
		font-size: 1.6rem;
	}
	
	.hero-ch__cta {
		inline-size: 24rem;
		font-size: 1.45rem;
	}
}

@media (width>=48em) {
	.hero-ch {
		--hero-ch-side: 4rem;
		--hero-ch-bottom: 11rem;
	}
	
	.hero-ch__content {
		inline-size: min(100%, 50rem);
	}
}

@media (width>=75em) {
	.hero-ch {
		--hero-ch-side: clamp(4rem, 3.82vw, 5.8rem);
		--hero-ch-bottom: clamp(8rem, 9.2svh, 9.1rem);
		min-block-size: 100svh;
		padding: 0;
		display: block;
	}
	
	.hero-ch__background {
		object-position: center center;
	}
	
	.hero-ch__shade {
		background: linear-gradient(rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, .28) 100%), linear-gradient(90deg, rgba(0, 0, 0, .18) 0%, rgba(0, 0, 0, .09) 42%, rgba(0, 0, 0, 0) 72%, rgba(0, 0, 0, .08) 100%);
	}
	
	.hero-ch__content {
		inline-size: min(78rem, 56vw);
		position: absolute;
		inset-block-start: clamp(28rem, 37.6svh, 37.4rem);
		inset-inline-start: max(var(--hero-ch-side), (100vw - 141.2rem) / 2);
	}
	
	.hero-ch__title-mask {
		clip: auto;
		clip-path: none;
		white-space: normal;
		will-change: transform;
		block-size: auto;
		inline-size: auto;
		margin: 0;
		display: block;
		position: static;
		overflow: hidden;
	}
	
	.hero-ch__title {
		text-wrap: balance;
		max-inline-size: 11.2em;
		font-size: clamp(5.6rem, 2.4rem + 2.25vw + 2.05svh, 7.15rem);
		line-height: 1.02;
	}
	
	.hero-ch__copy {
		max-inline-size: 75rem;
		margin-block-start: clamp(1.5rem, 2svh, 2rem);
		font-size: clamp(1.85rem, 1.08rem + .46vw + .47svh, 2.2rem);
		font-weight: 400;
		line-height: 1.53;
	}
	
	.hero-ch__cta {
		gap: 1.6rem;
		min-block-size: 6.4rem;
		inline-size: min(100%, 33.5rem);
		margin-block-start: clamp(2.5rem, 3.4svh, 3.6rem);
		padding: .95rem .9rem .95rem 3.8rem;
		font-size: 2.2rem;
	}
	
	.hero-ch__cta .button__icon {
		block-size: 4.5rem;
		inline-size: 4.5rem;
	}
	
	.hero-ch__benefits {
		color: var(--hero-ch-copy);
		flex-wrap: wrap;
		align-items: center;
		gap: 1.4rem 3.2rem;
		margin-block-start: clamp(2.4rem, 3.15svh, 3.2rem);
		font-size: clamp(1.45rem, .98rem + .3vw + .25svh, 1.75rem);
		font-weight: 500;
		line-height: 1;
		list-style: none;
		display: flex;
	}
	
	.hero-ch__benefit {
		white-space: nowrap;
		align-items: center;
		gap: 3.2rem;
		display: inline-flex;
	}
	
	.hero-ch__benefit:not(:last-child):after {
		content: "";
		opacity: .86;
		background: currentColor;
		border-radius: 50%;
		block-size: .4rem;
		inline-size: .4rem;
		display: block;
	}
	
	.hero-ch__badges {
		z-index: 2;
		pointer-events: none;
		display: block;
		position: absolute;
		inset: 0;
	}
	
	.hero-ch__badge-item {
		border: .1rem solid var(--hero-ch-glass-border);
		background: var(--hero-ch-glass);
		min-block-size: 9.2rem;
		inline-size: 23.7rem;
		color: var(--hero-ch-copy);
		-webkit-backdrop-filter: blur(1.2rem);
		will-change: transform, opacity;
		border-radius: 1.2rem;
		padding: 2.4rem 2.6rem 2.1rem;
		position: absolute;
		box-shadow: 0 2.2rem 4.5rem rgba(0, 0, 0, .16);
	}
	
	.hero-ch__badge-item--entry {
		inset-block-start: clamp(16.8rem, 22.7svh, 22.3rem);
		inset-inline-start: 48.2%;
	}
	
	.hero-ch__badge-item--incident {
		inset-block-start: clamp(31rem, 41.3svh, 40.6rem);
		inset-inline-end: clamp(6rem, 6.1vw, 9.2rem);
	}
	
	.hero-ch__badge-item--report {
		inset-block-end: clamp(14rem, 22svh, 21.7rem);
		inset-inline-end: clamp(15rem, 14.3vw, 21.6rem);
	}
	
	.hero-ch__badge-title {
		font-family: var(--font-body);
		letter-spacing: 0;
		margin: 0;
		font-size: 1.32rem;
		font-weight: 700;
		line-height: 1.2;
	}
	
	.hero-ch__badge-copy {
		letter-spacing: 0;
		opacity: .82;
		margin-block-start: 1rem;
		font-size: 1.22rem;
		font-weight: 400;
		line-height: 1.18;
	}
	
	.hero-ch__clients {
		inline-size: 100%;
		inset-block-end: clamp(2.8rem, 3.2svh, 3.3rem);
		inset-inline: 0;
		transform: none;
	}
	
	.hero-ch__clients-group {
		justify-content: space-evenly;
		gap: 0;
		min-inline-size: 100%;
		padding-inline-start: 0;
	}
	
	.hero-ch__client--gls {
		display: none;
	}
	
	.hero-ch__client {
		min-inline-size: 12.4rem;
	}
}

@media (width>=75em) and (height<=45em) {
	.hero-ch__content {
		inset-block-start: 31svh;
	}
	
	.hero-ch__title {
		font-size: clamp(4.8rem, 2.2rem + 2vw + 1.5svh, 6.2rem);
	}
	
	.hero-ch__copy {
		margin-block-start: 1.2rem;
		font-size: 1.75rem;
		line-height: 1.42;
	}
	
	.hero-ch__cta {
		min-block-size: 5.8rem;
		margin-block-start: 2rem;
		font-size: 1.95rem;
	}
	
	.hero-ch__benefits {
		margin-block-start: 2rem;
	}
	
	.hero-ch__badge-item--entry {
		inset-block-start: 17.6svh;
	}
	
	.hero-ch__badge-item--incident {
		inset-block-start: 40svh;
	}
	
	.hero-ch__badge-item--report {
		inset-block-end: 14.4svh;
	}
	
	.hero-ch__clients {
		inset-block-end: 2rem;
	}
}

@media (prefers-reduced-motion:reduce) {
	.hero-ch, .hero-ch__background, .hero-ch__title-mask, .hero-ch__badge-item, .hero-ch__clients-track {
		will-change: auto;
		transform: none;
	}
}

.problematica {
	--problematica-bg: #232730;
	--problematica-pill-bg: rgba(255, 255, 255, .08);
	--problematica-pill-border: rgba(255, 255, 255, .12);
	--problematica-pill-text: rgba(255, 255, 255, .72);
	--problematica-title-color: #fff;
	--problematica-body-color: rgba(255, 255, 255, .65);
	--color-sticker-orange: #ff7417;
	--color-sticker-white: #fff;
	--color-sticker-grey: #8a9bb0;
	--color-sticker-ink: #1a1e24;
	--problematica-strong-color: var(--color-white);
	--problematica-marquee-color: rgba(255, 255, 255, .04);
	--problematica-marquee-offset: 6rem;
	background: var(--problematica-bg);
	isolation: isolate;
	min-block-size: 100dvh;
	padding-block: clamp(20rem, 24vw, 28rem) clamp(7rem, 10vw, 9rem);
	position: relative;
	overflow: clip;
}

.problematica--light {
	--problematica-bg: #fff;
	--problematica-pill-bg: rgba(44, 51, 63, .06);
	--problematica-pill-border: rgba(44, 51, 63, .12);
	--problematica-pill-text: rgba(44, 51, 63, .72);
	--problematica-title-color: #2c333f;
	--problematica-body-color: rgba(44, 51, 63, .76);
	--color-sticker-orange: #fc761f;
	--color-sticker-white: #fff0ab;
	--color-sticker-grey: #6b7079;
	--color-sticker-ink: #2c333f;
	--problematica-strong-color: #2c333f;
	--problematica-marquee-color: rgba(44, 51, 63, .04);
}

.problematica__marquee {
	z-index: 0;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	position: absolute;
	inset-block-start: var(--problematica-marquee-offset);
	inset-inline: 0;
	overflow: hidden;
}

.problematica__marquee-track {
	will-change: transform;
	align-items: flex-start;
	min-inline-size: max-content;
	animation: 50s linear infinite problematica-scroll;
	display: flex;
}

.problematica__marquee-text {
	color: var(--problematica-marquee-color);
	font-family: var(--font-display);
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	flex: none;
	padding-inline-end: 2rem;
	font-size: clamp(7rem, 22vw, 18rem);
	font-weight: 400;
	line-height: 1;
	display: inline-block;
}

.problematica__inner {
	z-index: 1;
	inline-size: 100%;
	max-inline-size: var(--page-max);
	padding-inline: var(--space-4);
	flex-direction: column;
	align-items: center;
	margin-inline: auto;
	display: flex;
	position: relative;
}

.problematica__header {
	text-align: center;
	flex-direction: column;
	align-items: center;
	inline-size: 100%;
	max-inline-size: 112rem;
	margin-block-end: clamp(5.8rem, 8vw, 7rem);
	display: flex;
}

.problematica__pill {
	background: var(--problematica-pill-bg);
	border: .1rem solid var(--problematica-pill-border);
	border-radius: var(--radius-pill);
	max-inline-size: 24rem;
	color: var(--problematica-pill-text);
	font-family: var(--font-body);
	letter-spacing: .01em;
	text-wrap: balance;
	margin-block-end: clamp(2rem, 4vw, 3.2rem);
	padding: .6rem 1.8rem;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.4;
	display: inline-block;
}

.problematica__title {
	max-inline-size: 32rem;
	color: var(--problematica-title-color);
	font-family: var(--font-body);
	letter-spacing: -.02em;
	text-wrap: wrap;
	margin-block-end: clamp(1.6rem, 3vw, 2.4rem);
	font-size: clamp(2.4rem, 5vw, 4.6rem);
	font-weight: 800;
	line-height: 1.12;
}

.problematica__body {
	color: var(--problematica-body-color);
	font-family: var(--font-body);
	text-wrap: pretty;
	max-inline-size: 118rem;
	font-size: clamp(1.6rem, 1.9vw, 2.8rem);
	font-weight: 400;
	line-height: 1.6;
}

.problematica__body strong {
	color: var(--problematica-strong-color);
	font-weight: 700;
}

.problematica__stickers {
	justify-content: center;
	inline-size: 100%;
	display: flex;
}

.problematica__sticker-list {
	flex-direction: column;
	align-items: center;
	gap: 0;
	min-block-size: clamp(24rem, 40vw, 36rem);
	inline-size: clamp(28rem, 80vw, 52rem);
	margin: clamp(2rem, 2.4vw, 2.4rem) 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	position: relative;
}

.problematica__sticker-item {
	font-family: var(--font-display);
	text-transform: uppercase;
	letter-spacing: .06em;
	box-shadow: none;
	-webkit-user-select: none;
	user-select: none;
	cursor: default;
	white-space: nowrap;
	will-change: transform, opacity;
	border-radius: 0;
	margin-block-start: -.6rem;
	padding: 1rem 2rem;
	font-size: clamp(1.6rem, 3vw, 2.8rem);
	font-weight: 400;
	line-height: 1.2;
	display: inline-block;
	position: relative;
}

.problematica__sticker-item--orange {
	background: var(--color-sticker-orange);
	color: var(--color-sticker-ink);
}

.problematica__sticker-item--white {
	background: var(--color-sticker-white);
	color: var(--color-sticker-ink);
}

.problematica__sticker-item--grey {
	background: var(--color-sticker-grey);
	color: var(--color-sticker-ink);
}

.problematica__sticker-item:first-child {
	z-index: 7;
	align-self: flex-end;
	margin-inline-end: 4rem;
	transform: rotate(4deg);
}

.problematica__sticker-item:nth-child(2) {
	z-index: 6;
	align-self: flex-start;
	margin-inline-start: 2rem;
	transform: rotate(-5deg);
}

.problematica__sticker-item:nth-child(3) {
	z-index: 5;
	align-self: center;
	margin-inline-start: 4rem;
	transform: rotate(1deg);
}

.problematica__sticker-item:nth-child(4) {
	z-index: 4;
	align-self: flex-start;
	margin-inline-start: 0;
	transform: rotate(-6deg);
}

.problematica__sticker-item:nth-child(5) {
	z-index: 3;
	align-self: flex-end;
	margin-inline-end: -1rem;
	transform: rotate(3deg);
}

.problematica__sticker-item:nth-child(6) {
	z-index: 2;
	align-self: flex-start;
	margin-inline-start: 2rem;
	transform: rotate(-4deg);
}

.problematica__sticker-item:nth-child(7) {
	z-index: 1;
	align-self: center;
	margin-inline-start: 6rem;
	transform: rotate(2deg);
}

@media (width>=48em) {
	.problematica__title {
		max-inline-size: 104rem;
	}
	
	.problematica__pill {
		max-inline-size: 44rem;
		font-size: 1.3rem;
	}
	
	.problematica__sticker-list {
		min-block-size: 38rem;
		inline-size: 58rem;
	}
	
	.problematica__sticker-item {
		margin-block-start: -.8rem;
	}
	
	.problematica__sticker-item:first-child {
		align-self: center;
		margin-inline: 12rem 0;
	}
	
	.problematica__sticker-item:nth-child(3) {
		margin-inline-start: 8rem;
	}
	
	.problematica__sticker-item:nth-child(4) {
		margin-inline-start: -2rem;
	}
	
	.problematica__sticker-item:nth-child(5) {
		align-self: center;
		margin-inline: 14rem 0;
	}
	
	.problematica__sticker-item:nth-child(7) {
		margin-inline-start: 8rem;
	}
}

@media (prefers-reduced-motion:reduce) {
	.problematica__marquee-track {
		will-change: auto;
		animation: none;
	}
	
	.problematica__sticker-item {
		will-change: auto;
	}
}

@keyframes problematica-scroll {
	0% {
		transform: translate(0, 0);
	}
	
	to {
		transform: translate(-50%);
	}
}

.soluciones-variante {
	--soluciones-bg: #2c333f;
	--soluciones-panel: #2c333f;
	--soluciones-ink: #fff0ab;
	--soluciones-muted: rgba(255, 240, 171, .82);
	--soluciones-soft: rgba(255, 255, 255, .08);
	--soluciones-orange: #fc761f;
	--soluciones-eyebrow-color: rgba(255, 255, 255, .86);
	--soluciones-visual-overlay-rgb: 44, 51, 63;
	--soluciones-content-gutter: clamp(2.4rem, 6vw, 7.2rem);
	--soluciones-split: 56%;
	background: var(--soluciones-bg);
	color: var(--soluciones-ink);
	--lightningcss-dark: initial;
	color-scheme: dark;
	position: relative;
	overflow: clip;
}

.soluciones-variante__heading {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	block-size: .1rem;
	inline-size: .1rem;
	margin: -.1rem;
	padding: 0;
	position: absolute;
	overflow: hidden;
}

.soluciones-variante__pin {
	background: var(--soluciones-bg);
	isolation: isolate;
	position: relative;
}

.soluciones-variante__slides {
	position: relative;
}

.soluciones-variante__slide {
	color: var(--soluciones-ink);
	isolation: isolate;
	background: 0 0;
	flex-direction: column;
	display: flex;
	position: relative;
}

.soluciones-variante__content {
	z-index: 2;
	padding: 8.6rem var(--soluciones-content-gutter) 6.4rem;
	background: var(--soluciones-panel);
	align-items: center;
	display: flex;
	position: relative;
}

.soluciones-variante__content-inner {
	flex-direction: column;
	inline-size: min(100%, 68rem);
	margin: 0 auto;
	display: flex;
}

.soluciones-variante__eyebrow {
	border-radius: var(--radius-pill);
	background: var(--soluciones-soft);
	min-block-size: 2.7rem;
	color: var(--soluciones-eyebrow-color);
	align-self: flex-start;
	align-items: center;
	padding: .35rem 1.45rem;
	font-size: clamp(1.15rem, 2.9vw, 1.35rem);
	line-height: 1.15;
	display: inline-flex;
}

.soluciones-variante__title {
	color: var(--soluciones-ink);
	font-family: var(--font-display);
	letter-spacing: .01em;
	text-transform: uppercase;
	text-wrap: balance;
	margin-block-start: 2rem;
	font-size: clamp(5.8rem, 15vw, 8.2rem);
	font-weight: 400;
	line-height: .91;
}

.soluciones-variante__copy {
	max-inline-size: 66rem;
	color: var(--soluciones-muted);
	letter-spacing: .01em;
	text-wrap: pretty;
	margin-block-start: 3.2rem;
	font-size: clamp(1.95rem, 5vw, 2.45rem);
	font-weight: 400;
	line-height: 1.25;
}

.soluciones-variante__copy strong {
	color: var(--soluciones-ink);
	font-weight: 800;
}

.soluciones-variante__features {
	gap: 1.9rem;
	margin-block-start: 3.8rem;
	list-style: none;
	display: grid;
}

.soluciones-variante__features li {
	color: var(--soluciones-muted);
	text-wrap: pretty;
	padding-inline-start: 4rem;
	font-size: clamp(1.9rem, 4.6vw, 2.35rem);
	line-height: 1.28;
	position: relative;
}

.soluciones-variante__features li:before {
	content: "✓";
	color: var(--soluciones-ink);
	font-size: 3rem;
	font-weight: 800;
	line-height: 1;
	position: absolute;
	inset-block-start: -.2rem;
	inset-inline-start: 0;
}

.soluciones-variante__actions {
	flex-wrap: wrap;
	align-items: center;
	gap: 1.8rem 4.2rem;
	margin-block-start: 4.6rem;
	display: flex;
}

.soluciones-variante__cta {
	--button-bg: var(--soluciones-orange);
	--button-color: var(--color-ink);
	--button-icon-bg: var(--color-ink);
	--button-icon-color: var(--soluciones-orange);
	min-block-size: 5.6rem;
	padding: .6rem .6rem .6rem 2.6rem;
	font-size: clamp(1.6rem, 4vw, 2rem);
}

.soluciones-variante__visual {
	z-index: 1;
	aspect-ratio: 16/10;
	background: #171d26;
	margin: 0;
	position: relative;
	overflow: hidden;
}

.soluciones-variante__visual:before {
	content: "";
	z-index: 2;
	background: linear-gradient(180deg, var(--soluciones-panel) 0%, rgba(var(--soluciones-visual-overlay-rgb), 0) 22%), linear-gradient(90deg, rgba(var(--soluciones-visual-overlay-rgb), .42) 0%, rgba(var(--soluciones-visual-overlay-rgb), 0) 34%);
	pointer-events: none;
	position: absolute;
	inset: 0;
}

.soluciones-variante__image {
	object-fit: cover;
	object-position: center;
	block-size: 100%;
	inline-size: 100%;
	max-inline-size: none;
	display: block;
}

@media (width>=48em) {
	.soluciones-variante__content {
		padding-block: 11.2rem 8.6rem;
	}
	
	.soluciones-variante__content-inner {
		inline-size: min(100%, 72rem);
	}
	
	.soluciones-variante__visual {
		aspect-ratio: 16/8;
	}
}

@media (width>=75em) {
	.soluciones-variante__slide {
		grid-template-columns: minmax(0, var(--soluciones-split)) minmax(0, calc(100% - var(--soluciones-split)));
		flex-direction: row;
		align-items: stretch;
		display: grid;
	}
	
	.soluciones-variante__content {
		grid-area: 1/1;
		padding-block: clamp(6rem, 7.5vh, 9rem) clamp(4.5rem, 5.5vh, 6.8rem);
		padding-inline: max(7.2rem, 50vw - 68.4rem) clamp(9rem, 8.2vw, 14.2rem);
	}
	
	.soluciones-variante__content-inner {
		inline-size: min(100%, 73rem);
		margin: 0;
	}
	
	.soluciones-variante__title {
		margin-block-start: 1.8rem;
		font-size: clamp(5.2rem, 4.5vw, 6.8rem);
		line-height: .91;
	}
	
	.soluciones-variante__copy {
		margin-block-start: clamp(2.4rem, 3.2vh, 3.6rem);
		font-size: clamp(1.8rem, 1.3vw, 2.1rem);
		line-height: 1.25;
	}
	
	.soluciones-variante__features {
		gap: 1.4rem;
		margin-block-start: clamp(2.6rem, 3.5vh, 3.8rem);
	}
	
	.soluciones-variante__features li {
		padding-inline-start: 3.8rem;
		font-size: clamp(1.7rem, 1.25vw, 1.95rem);
	}
	
	.soluciones-variante__actions {
		gap: 2rem 4rem;
		padding-block-start: clamp(2.8rem, 4.5vh, 4.2rem);
	}
	
	.soluciones-variante__cta {
		min-inline-size: 30rem;
	}
	
	.soluciones-variante__visual {
		aspect-ratio: auto;
		grid-area: 1/2;
		min-block-size: 100%;
	}
	
	.soluciones-variante__visual:before {
		background: linear-gradient(90deg, rgba(var(--soluciones-visual-overlay-rgb), .42) 0%, rgba(var(--soluciones-visual-overlay-rgb), .12) 17%, rgba(var(--soluciones-visual-overlay-rgb), 0) 38%), linear-gradient(180deg, rgba(var(--soluciones-visual-overlay-rgb), .1), rgba(var(--soluciones-visual-overlay-rgb), .08));
	}
}

@media (width>=75em) and (height<=45em) {
	.soluciones-variante__content {
		padding-block: clamp(4rem, 8vh, 6rem) clamp(3rem, 6vh, 5rem);
	}
	
	.soluciones-variante__title {
		margin-block-start: 1.5rem;
		font-size: clamp(4rem, 8vh, 5.2rem);
	}
	
	.soluciones-variante__copy {
		margin-block-start: 1.8rem;
		font-size: clamp(1.6rem, 3.2vh, 1.85rem);
	}
	
	.soluciones-variante__features {
		gap: 1rem;
		margin-block-start: 2rem;
	}
	
	.soluciones-variante__features li {
		padding-inline-start: 3.2rem;
		font-size: clamp(1.5rem, 3vh, 1.75rem);
	}
	
	.soluciones-variante__features li:before {
		font-size: 2.2rem;
		inset-block-start: -.1rem;
	}
	
	.soluciones-variante__actions {
		gap: 1.5rem 3rem;
		padding-block-start: 2.2rem;
	}
	
	.soluciones-variante__cta {
		min-block-size: 4.8rem;
		min-inline-size: 28rem;
		padding: .4rem .4rem .4rem 2rem;
		font-size: 1.6rem;
	}
}

.beneficios-marquee {
	--beneficios-marquee-bg: var(--color-brand-tertiary);
	--beneficios-marquee-solid: var(--color-white);
	--beneficios-marquee-outline: rgba(255, 255, 255, .86);
	--beneficios-marquee-watermark-opacity: 1;
	background: var(--beneficios-marquee-bg);
	min-block-size: 100svh;
	color: var(--beneficios-marquee-solid);
	--lightningcss-dark: initial;
	color-scheme: dark;
	isolation: isolate;
	contain: layout style paint;
	position: relative;
	overflow: hidden;
}

.beneficios-marquee__watermark {
	z-index: 0;
	block-size: auto;
	inline-size: clamp(76rem, 112svh, 112rem);
	max-inline-size: none;
	opacity: var(--beneficios-marquee-watermark-opacity);
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-18%, -50%);
}

.beneficios-marquee__stage {
	z-index: 1;
	align-content: center;
	min-block-size: 100svh;
	padding-block: clamp(7rem, 10vw, 12rem);
	display: grid;
	position: relative;
	overflow: hidden;
}

.beneficios-marquee__title, .beneficios-marquee__sr-list {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	block-size: .1rem;
	inline-size: .1rem;
	margin: -.1rem;
	padding: 0;
	position: absolute;
	overflow: hidden;
}

.beneficios-marquee__rows {
	gap: clamp(2.2rem, 5vw, 3.6rem);
	display: grid;
}

.beneficios-marquee__row {
	inline-size: 100%;
	overflow: visible;
}

.beneficios-marquee__track {
	backface-visibility: hidden;
	will-change: transform;
	align-items: center;
	gap: clamp(3.2rem, 7vw, 6.4rem);
	inline-size: max-content;
	display: flex;
	transform: translate(0, 0);
}

.beneficios-marquee__phrase {
	white-space: nowrap;
	flex: none;
	align-items: center;
	gap: clamp(1.6rem, 3.4vw, 3.8rem);
	display: inline-flex;
}

.beneficios-marquee__text, .beneficios-marquee__separator {
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
	font-size: clamp(5.8rem, 17vw, 10.4rem);
	font-weight: 400;
	line-height: .84;
	display: inline-block;
}

.beneficios-marquee__text--solid, .beneficios-marquee__separator {
	color: var(--beneficios-marquee-solid);
}

.beneficios-marquee__text--outline {
	color: rgba(0, 0, 0, 0);
	-webkit-text-stroke: .075rem var(--beneficios-marquee-outline);
}

@media (width>=48em) {
	.beneficios-marquee__watermark {
		inline-size: clamp(102rem, 114svh, 128rem);
		transform: translate(-16%, -50%);
	}
	
	.beneficios-marquee__rows {
		gap: clamp(2.6rem, 3.6svh, 3.8rem);
	}
	
	.beneficios-marquee__track {
		gap: clamp(4rem, 5vw, 7.2rem);
	}
	
	.beneficios-marquee__phrase {
		gap: clamp(2.4rem, 2.8vw, 4.6rem);
	}
	
	.beneficios-marquee__text, .beneficios-marquee__separator {
		font-size: clamp(9.2rem, 12.4svh, 12.8rem);
		line-height: .82;
	}
	
	.beneficios-marquee__text--outline {
		-webkit-text-stroke-width: .09rem;
	}
}

@media (width>=64em) {
	.beneficios-marquee__watermark {
		inline-size: clamp(118rem, 114svh, 142rem);
		transform: translate(-14%, -50%);
	}
	
	.beneficios-marquee__stage {
		padding-block: clamp(8rem, 8svh, 10rem);
	}
	
	.beneficios-marquee__rows {
		gap: clamp(2.8rem, 3.4svh, 3.6rem);
	}
	
	.beneficios-marquee__text, .beneficios-marquee__separator {
		font-size: clamp(11.4rem, 13.2svh, 14rem);
	}
	
	.beneficios-marquee__text--outline {
		-webkit-text-stroke-width: .1rem;
	}
}

@media (width>=90em) {
	.beneficios-marquee__text, .beneficios-marquee__separator {
		font-size: clamp(12.2rem, 13.6svh, 14.6rem);
	}
}

@media (prefers-reduced-motion:reduce) {
	.beneficios-marquee__track {
		will-change: auto;
	}
}

.fichajes-control-horario {
	--fichajes-control-bg: #2c333f;
	--fichajes-control-ink: var(--color-white);
	--fichajes-control-muted: rgba(255, 255, 255, .88);
	--fichajes-control-outline: rgba(255, 255, 255, .86);
	--fichajes-control-watermark: rgba(35, 42, 52, .92);
	--fichajes-control-content-max: 151.2rem;
	background: var(--fichajes-control-bg);
	color: var(--fichajes-control-ink);
	--lightningcss-dark: initial;
	color-scheme: dark;
	isolation: isolate;
	position: relative;
	overflow: clip;
}

.fichajes-control-horario__seo-title {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	block-size: .1rem;
	inline-size: .1rem;
	margin: -.1rem;
	padding: 0;
	position: absolute;
	overflow: hidden;
}

.fichajes-control-horario__sticky {
	background: var(--fichajes-control-bg);
	isolation: isolate;
	position: relative;
	overflow: hidden;
}

.fichajes-control-horario__watermark {
	z-index: 0;
	opacity: .78;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	block-size: auto;
	inline-size: clamp(76rem, 112svh, 112rem);
	max-inline-size: none;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-18%, -50%);
}

.fichajes-control-horario__slide {
	z-index: 1;
	min-block-size: 100svh;
	inline-size: min(100%, var(--fichajes-control-content-max));
	grid-template-rows: auto minmax(18rem, 1fr) auto;
	grid-template-areas: "content" "media" "actions";
	gap: 2.4rem;
	margin-inline: auto;
	padding: 8.2rem 2.6rem 4.8rem;
	display: grid;
	position: relative;
}

.fichajes-control-horario__content {
	grid-area: content;
	align-self: end;
	max-inline-size: 100rem;
}

.fichajes-control-horario__title {
	color: var(--fichajes-control-ink);
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	font-size: clamp(3.6rem, 11.7vw, 4.8rem);
	font-weight: 400;
	line-height: .92;
}

.fichajes-control-horario__title-solid, .fichajes-control-horario__title-outline {
	display: inline;
}

.fichajes-control-horario__title-solid {
	color: var(--fichajes-control-ink);
	font-weight: 400;
}

.fichajes-control-horario__title-outline {
	color: rgba(0, 0, 0, 0);
	-webkit-text-stroke: .08rem var(--fichajes-control-outline);
}

.fichajes-control-horario__copy {
	max-inline-size: 64rem;
	color: var(--fichajes-control-muted);
	letter-spacing: 0;
	text-wrap: pretty;
	margin-block-start: 2.8rem;
	font-size: clamp(1.7rem, 4.4vw, 2.05rem);
	font-weight: 400;
	line-height: 1.45;
}

.fichajes-control-horario__media {
	z-index: 1;
	pointer-events: none;
	grid-area: media;
	place-self: center;
	place-items: center;
	margin: 0;
	display: grid;
	position: relative;
}

.fichajes-control-horario__image {
	object-fit: contain;
	filter: drop-shadow(0 2.4rem 3.4rem rgba(0, 0, 0, .22));
	block-size: auto;
	max-block-size: 100%;
}

.fichajes-control-horario__image--rfid {
	inline-size: min(67vw, 28rem);
}

.fichajes-control-horario__image--portal {
	inline-size: min(54vw, 22rem);
}

.fichajes-control-horario__actions {
	z-index: 2;
	grid-area: actions;
	align-self: start;
	gap: 2rem;
	display: grid;
	position: relative;
}

.fichajes-control-horario__cta-wrapper {
	justify-content: flex-start;
	align-items: center;
	inline-size: 100%;
	display: flex;
}

.fichajes-control-horario__cta {
	text-align: center;
	white-space: normal;
	justify-content: space-between;
	gap: 1.2rem;
	min-block-size: 5.8rem;
	inline-size: min(100%, 34rem);
	padding-inline: 2.1rem .55rem;
	font-size: clamp(1.56rem, 4vw, 1.9rem);
}

.fichajes-control-horario__cta .button__icon {
	block-size: 4.2rem;
	inline-size: 4.2rem;
}

.fichajes-control-horario__features {
	color: rgba(255, 255, 255, .95);
	letter-spacing: 0;
	flex-wrap: wrap;
	gap: 1rem 2rem;
	max-inline-size: 43rem;
	font-size: clamp(1.58rem, 4vw, 1.84rem);
	font-weight: 500;
	line-height: 1.32;
	list-style: none;
	display: flex;
}

.fichajes-control-horario__features li {
	position: relative;
}

.fichajes-control-horario__features li + li {
	padding-inline-start: 2.2rem;
}

.fichajes-control-horario__features li + li:before {
	content: "";
	background: currentColor;
	border-radius: 50%;
	block-size: .35rem;
	inline-size: .35rem;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 0;
	transform: translateY(-50%);
}

.fichajes-control-horario.is-fichajes-control-horario-animated {
	overflow: visible;
}

.fichajes-control-horario.is-fichajes-control-horario-animated .fichajes-control-horario__sticky {
	block-size: 100svh;
	min-block-size: 100svh;
}

.fichajes-control-horario.is-fichajes-control-horario-animated .fichajes-control-horario__slide {
	min-block-size: 100svh;
	position: absolute;
	inset: 0;
}

.fichajes-control-horario.is-fichajes-control-horario-animated .fichajes-control-horario__slide--rfid {
	position: relative;
}

.fichajes-control-horario.is-fichajes-control-horario-animated .fichajes-control-horario__slide--portal {
	opacity: 0;
	pointer-events: none;
}

.fichajes-control-horario.is-fichajes-control-horario-animated [data-fichajes-control-horario-part], .fichajes-control-horario.is-fichajes-control-horario-animated [data-fichajes-control-horario-media] {
	will-change: transform, opacity;
}

@media (width>=48em) {
	.fichajes-control-horario__watermark {
		inline-size: clamp(102rem, 114svh, 128rem);
		transform: translate(-16%, -50%);
	}
	
	.fichajes-control-horario__slide {
		padding: 10.4rem var(--space-6) 7.4rem;
		grid-template: "content media" "actions media"/minmax(0, 78rem) minmax(26rem, 36rem);
		place-content: center space-between;
		align-items: center;
		gap: 4.2rem 4.8rem;
	}
	
	.fichajes-control-horario__content, .fichajes-control-horario__actions {
		justify-self: start;
	}
	
	.fichajes-control-horario__title {
		max-inline-size: 78rem;
		font-size: clamp(5.4rem, 7vw, 7.6rem);
		line-height: 1.02;
	}
	
	.fichajes-control-horario__copy {
		max-inline-size: 78rem;
		margin-block-start: 3.2rem;
		font-size: clamp(2.1rem, 2.1vw, 2.8rem);
		line-height: 1.34;
	}
	
	.fichajes-control-horario__actions {
		gap: 3.1rem;
	}
	
	.fichajes-control-horario__cta {
		white-space: nowrap;
		min-block-size: 6.4rem;
		inline-size: auto;
		min-inline-size: 40.4rem;
		max-inline-size: 52rem;
		padding-inline: 2.4rem .7rem;
		font-size: 2.1rem;
	}
	
	.fichajes-control-horario__features {
		gap: 1.2rem 3.6rem;
		max-inline-size: none;
		font-size: 1.9rem;
	}
	
	.fichajes-control-horario__features li + li {
		padding-inline-start: 3.2rem;
	}
	
	.fichajes-control-horario__image--rfid {
		inline-size: min(38vw, 43rem);
	}
	
	.fichajes-control-horario__image--portal {
		inline-size: min(28vw, 30rem);
	}
}

@media (width>=74.625em) {
	.fichajes-control-horario__watermark {
		opacity: .88;
		inline-size: clamp(118rem, 114svh, 142rem);
		transform: translate(-14%, -50%);
	}
	
	.fichajes-control-horario__slide {
		grid-template-columns: minmax(0, 94rem) minmax(34rem, 46rem);
		gap: 4.6rem 5.8rem;
		padding: 9.4rem 7.6rem 7.2rem;
	}
	
	.fichajes-control-horario__content {
		align-self: end;
		padding-block-start: 1.8rem;
	}
	
	.fichajes-control-horario__title {
		max-inline-size: 94rem;
		font-size: clamp(6.6rem, 4.92vw, 7.4rem);
		line-height: 1.08;
	}
	
	.fichajes-control-horario__copy {
		max-inline-size: 94rem;
		margin-block-start: 4rem;
		font-size: clamp(2.5rem, 1.9vw, 2.8rem);
		line-height: 1.34;
	}
	
	.fichajes-control-horario__actions {
		align-self: start;
	}
	
	.fichajes-control-horario__image--rfid {
		inline-size: min(37vw, 56rem);
	}
	
	.fichajes-control-horario__image--portal {
		inline-size: min(27vw, 39rem);
	}
}

@media (width<=25em) {
	.fichajes-control-horario__slide {
		padding-inline: 2.2rem;
	}
	
	.fichajes-control-horario__title {
		font-size: clamp(3.3rem, 11vw, 4.1rem);
	}
	
	.fichajes-control-horario__copy {
		font-size: 1.62rem;
	}
	
	.fichajes-control-horario__cta {
		font-size: 1.48rem;
	}
}

@media (width>=75em) and (height<=44em) {
	.fichajes-control-horario__title {
		font-size: clamp(5.28rem, 3.93vw, 5.92rem);
	}
	
	.fichajes-control-horario__copy {
		margin-block-start: 2.8rem;
		font-size: clamp(2rem, 1.52vw, 2.24rem);
	}
}

@media (prefers-reduced-motion:reduce) {
	.fichajes-control-horario [data-fichajes-control-horario-part], .fichajes-control-horario [data-fichajes-control-horario-media] {
		will-change: auto;
	}
}

.fichajes-control-horario--orange {
	--fichajes-control-bg: #fc761f;
	--fichajes-control-ink: #2c333f;
	--fichajes-control-muted: #2c333f;
	--fichajes-control-outline: rgba(44, 51, 63, .86);
	--fichajes-control-watermark: rgba(252, 118, 31, .92);
	--lightningcss-light: initial;
	color-scheme: light;
}

.fichajes-control-horario--orange .fichajes-control-horario__watermark {
	opacity: .12;
}

.fichajes-control-horario--orange .fichajes-control-horario__cta {
	--button-bg: #2c333f;
	--button-color: #fc761f;
	--button-icon-bg: #fc761f;
	--button-icon-color: #2c333f;
}

.fichajes-control-horario--orange .fichajes-control-horario__features {
	display: none !important;
}

.fichajes-control-horario--orange .fichajes-control-horario__image {
	filter: none;
}

@media (width>=48em) {
	.fichajes-control-horario--orange .fichajes-control-horario__image--rfid {
		inline-size: min(46vw, 52rem);
	}
	
	.fichajes-control-horario--orange .fichajes-control-horario__image--portal {
		inline-size: min(34vw, 36rem);
	}
}

@media (width>=74.625em) {
	.fichajes-control-horario--orange .fichajes-control-horario__image--rfid {
		inline-size: min(45vw, 68rem);
	}
	
	.fichajes-control-horario--orange .fichajes-control-horario__image--portal {
		inline-size: min(33vw, 47rem);
	}
}

.pricing {
	--pricing-bg: var(--color-white);
	--pricing-ink: var(--color-ink);
	--pricing-copy-muted: rgba(44, 51, 63, .88);
	--pricing-card-bg: var(--color-brand-primary);
	--pricing-card-ink: var(--color-white);
	background: var(--pricing-bg);
	color: var(--pricing-ink);
	--lightningcss-light: initial;
	color-scheme: light;
	isolation: isolate;
	position: relative;
	overflow: clip;
}

.pricing__watermark-logo {
	z-index: 0;
	opacity: .9;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	block-size: auto;
	inline-size: clamp(76rem, 112svh, 112rem);
	max-inline-size: none;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-18%, -50%);
}

.pricing__watermark-marquee {
	z-index: 0;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	inline-size: 100%;
	position: absolute;
	inset-block-start: clamp(2.4rem, 4vw, 4.8rem);
	inset-inline-start: 0;
	overflow: hidden;
}

.pricing__watermark-track {
	white-space: nowrap;
	will-change: transform;
	inline-size: max-content;
	animation: 38s linear infinite pricingMarquee;
	display: flex;
}

.pricing__watermark-track span {
	font-family: var(--font-display);
	color: #eaebec;
	font-size: clamp(8rem, 12vw, 15rem);
	line-height: 1;
	display: inline-block;
}

@keyframes pricingMarquee {
	0% {
		transform: translate(0, 0);
	}
	
	to {
		transform: translate(-50%);
	}
}

.pricing__stage {
	z-index: 1;
	min-block-size: 100svh;
	inline-size: min(100%, var(--page-max));
	padding-block: clamp(8rem, 10vw, 12rem);
	padding-inline: var(--space-5);
	align-content: center;
	margin-inline: auto;
	display: grid;
	position: relative;
}

.pricing__header {
	text-align: center;
	max-inline-size: 64rem;
	margin-inline: auto;
}

.pricing__title {
	color: var(--pricing-ink);
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	margin: 0;
	font-size: clamp(2.4rem, 5.8vw, 3.6rem);
	font-weight: 400;
	line-height: 1.05;
}

.pricing__copy {
	color: var(--pricing-copy-muted);
	letter-spacing: 0;
	text-wrap: pretty;
	margin-block-start: 1.8rem;
	font-size: clamp(1.65rem, 4.4vw, 1.9rem);
	font-weight: 400;
	line-height: 1.45;
}

.pricing__content {
	flex-direction: column;
	align-items: center;
	inline-size: 100%;
	margin-block-start: 4.2rem;
	display: flex;
}

.pricing__card {
	z-index: 2;
	background: var(--pricing-card-bg);
	inline-size: min(100%, 35.8rem);
	color: var(--pricing-card-ink);
	will-change: transform, opacity;
	border-radius: 3rem;
	padding: 3.6rem 2.8rem;
	position: relative;
	box-shadow: 0 2.4rem 4.8rem rgba(0, 0, 0, .16);
}

.pricing__card-badge {
	justify-content: flex-start;
	display: flex;
}

.pricing__card-tag {
	border-radius: var(--radius-pill);
	text-transform: uppercase;
	letter-spacing: .05em;
	background: rgba(255, 255, 255, .12);
	border: .1rem solid rgba(255, 255, 255, .28);
	padding: .6rem 1.6rem .7rem;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.1;
	display: inline-block;
}

.pricing__card-price-group {
	flex-direction: column;
	align-items: flex-start;
	margin-block-start: 2.8rem;
	display: flex;
}

.pricing__card-price {
	font-family: var(--font-display);
	letter-spacing: 0;
	font-size: clamp(5.4rem, 12vw, 6.8rem);
	font-weight: 400;
	line-height: .9;
}

.pricing__card-subprice {
	opacity: .92;
	letter-spacing: 0;
	margin-block-start: .8rem;
	font-size: 1.45rem;
	font-weight: 500;
}

.pricing__card-list {
	gap: 1.4rem;
	margin-block: 3.6rem 4rem;
	list-style: none;
	display: grid;
}

.pricing__card-item {
	padding-inline-start: 2.8rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
	position: relative;
}

.pricing__card-item:before {
	content: "✓";
	font-size: 1.8rem;
	font-weight: 700;
	position: absolute;
	inset-block-start: -.1rem;
	inset-inline-start: 0;
}

.pricing__card-cta-wrapper {
	inline-size: 100%;
	display: flex;
}

.pricing__card-cta {
	--button-bg: var(--color-brand-tertiary);
	--button-color: var(--color-white);
	--button-icon-bg: var(--color-brand-primary);
	--button-icon-color: var(--color-brand-tertiary);
	justify-content: space-between;
	min-block-size: 5.8rem;
	inline-size: 100%;
	padding-inline: 2.4rem .6rem;
	font-size: 1.8rem;
	box-shadow: 0 1.2rem 2.4rem rgba(0, 0, 0, .12);
}

.pricing__card-cta .button__icon {
	block-size: 3.8rem;
	inline-size: 3.8rem;
}

.pricing__card-cta .button__icon-svg {
	block-size: 1.7rem;
	inline-size: 1.7rem;
}

.pricing__media {
	display: none;
}

@media (width>=48em) {
	.pricing__watermark-logo {
		inline-size: clamp(102rem, 114svh, 128rem);
		transform: translate(-16%, -50%);
	}
	
	.pricing__watermark-track span {
		font-size: clamp(12rem, 14vw, 20rem);
	}
	
	.pricing__stage {
		padding-inline: var(--space-6);
		padding-block-start: clamp(12rem, 10vw + 4rem, 16rem);
	}
	
	.pricing__header {
		max-inline-size: 120rem;
	}
	
	.pricing__title {
		font-size: clamp(2.8rem, 3.2vw, 4.2rem);
		line-height: 1.02;
	}
	
	.pricing__copy {
		margin-block-start: 2.2rem;
		font-size: clamp(1.85rem, 1.7vw, 2.2rem);
		line-height: 1.4;
	}
	
	.pricing__content {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		margin-block-start: 5.4rem;
	}
	
	.pricing__card {
		inline-size: 42rem;
		padding: 4.8rem 4rem;
	}
	
	.pricing__media {
		filter: drop-shadow(0 3.2rem 4.8rem rgba(0, 0, 0, .32));
		will-change: transform;
		z-index: 3;
		flex: none;
		inline-size: 24rem;
		margin: 0;
		margin-block-start: 8.2rem;
		margin-inline-start: -4.2rem;
		display: block;
		transform: rotate(6deg);
	}
	
	.pricing__media--rfid {
		filter: drop-shadow(0 3.2rem 4.8rem rgba(0, 0, 0, .24));
		margin-block-start: 12rem;
		margin-inline: 0 -5.4rem;
		transform: rotate(-4deg);
	}
	
	.pricing__image {
		block-size: auto;
		inline-size: 100%;
		display: block;
	}
}

@media (width>=75em) {
	.pricing__watermark-logo {
		inline-size: clamp(118rem, 114svh, 142rem);
		transform: translate(-14%, -50%);
	}
	
	.pricing__media {
		inline-size: 27rem;
		margin-block-start: 10rem;
		margin-inline-start: -5rem;
	}
	
	.pricing__media--rfid {
		margin-block-start: 15rem;
		margin-inline: 0 -6.4rem;
	}
}

@media (prefers-reduced-motion:reduce) {
	.pricing__card, .pricing__media {
		will-change: auto;
		transform: none;
	}
	
	.pricing__watermark-track {
		animation: none;
	}
}

.faqs {
	--faqs-bg: #fff;
	--faqs-ink: var(--color-ink);
	--faqs-muted: rgba(44, 51, 63, .78);
	--faqs-width: min(90.8rem, calc(100vw - 4.8rem));
	background: var(--faqs-bg);
	min-block-size: 100svh;
	color: var(--faqs-ink);
	--lightningcss-light: initial;
	color-scheme: light;
	isolation: isolate;
	border: none;
	outline: none;
	margin-block: -3px;
	position: relative;
	overflow: hidden;
}

.faqs__inner {
	z-index: 1;
	inline-size: min(100%, var(--page-max));
	flex-direction: column;
	align-items: center;
	min-block-size: 100svh;
	margin-inline: auto;
	padding: clamp(14.4rem, 21.2svh, 22.8rem) clamp(2.4rem, 5vw, 6.4rem) clamp(7rem, 8.8svh, 9rem);
	display: flex;
	position: relative;
}

.faqs__header {
	text-align: center;
}

.faqs__title {
	color: var(--faqs-ink);
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	text-wrap: balance;
	font-size: clamp(4.8rem, 4.55vw, 6.4rem);
	font-weight: 400;
	line-height: .92;
}

.faqs__subtitle {
	color: var(--faqs-ink);
	letter-spacing: .04em;
	text-wrap: balance;
	margin-block-start: clamp(1.2rem, 1.7svh, 1.8rem);
	font-size: clamp(2rem, 1.8vw, 2.8rem);
	font-weight: 400;
	line-height: 1.12;
}

.faqs__list {
	inline-size: var(--faqs-width);
	gap: clamp(2.2rem, 3.4svh, 3.5rem);
	margin-block-start: clamp(6.8rem, 10.5svh, 10.8rem);
	display: grid;
}

.faqs__item {
	color: var(--faqs-ink);
	border: none;
	outline: none;
	position: relative;
}

.faqs__question {
	min-block-size: 2.8rem;
	color: var(--faqs-ink);
	letter-spacing: 0;
	cursor: pointer;
	outline: none;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 3.2rem;
	font-size: clamp(1.8rem, 1.45vw, 2.3rem);
	font-weight: 500;
	line-height: 1.2;
	list-style: none;
	display: grid;
}

.faqs__question::-webkit-details-marker {
	display: none;
}

.faqs__question::marker {
	content: "";
}

.faqs__question span:first-child {
	text-wrap: pretty;
}

.faqs__icon {
	block-size: 2.3rem;
	inline-size: 2.3rem;
	color: var(--faqs-ink);
	margin-inline-end: .2rem;
	display: block;
	position: relative;
}

.faqs__icon:before, .faqs__icon:after {
	content: "";
	background: currentColor;
	border-radius: 99rem;
	block-size: .22rem;
	inline-size: 2.1rem;
	transition: opacity .18s, transform .18s;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
}

.faqs__icon:after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faqs__item[open] .faqs__icon:after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(0);
}

.faqs__answer {
	max-inline-size: 87rem;
	color: var(--faqs-muted);
	letter-spacing: .02em;
	text-wrap: pretty;
	padding-block-start: clamp(1.2rem, 1.5svh, 1.7rem);
	padding-inline-end: clamp(4rem, 5vw, 7rem);
	font-size: clamp(1.55rem, 1.15vw, 1.8rem);
	font-weight: 400;
	line-height: 1.55;
}

.faqs__answer p {
	margin: 0;
}

@media (width<=47.999em) {
	.faqs {
		min-block-size: auto;
	}
	
	.faqs__inner {
		min-block-size: auto;
		padding-block: 14.4rem 8rem;
	}
	
	.faqs__subtitle {
		letter-spacing: .01em;
	}
	
	.faqs__list {
		gap: 2.5rem;
		inline-size: min(100%, 64rem);
		margin-block-start: 5.6rem;
	}
	
	.faqs__question {
		gap: 2rem;
	}
	
	.faqs__icon {
		block-size: 2rem;
		inline-size: 2rem;
	}
	
	.faqs__icon:before, .faqs__icon:after {
		inline-size: 1.9rem;
	}
	
	.faqs__answer {
		padding-inline-end: 0;
	}
}

@media (prefers-reduced-motion:reduce) {
	.faqs__icon:before, .faqs__icon:after {
		transition: none;
	}
}

.open-footer {
	--open-footer-bg: #fff;
	--open-footer-panel: #2c333f;
	--open-footer-ink: var(--color-ink);
	--open-footer-copy: rgba(255, 255, 255, .96);
	--open-footer-muted: rgba(255, 255, 255, .88);
	--open-footer-marquee: rgba(44, 51, 63, .07);
	background: var(--open-footer-bg);
	color: var(--open-footer-ink);
	--lightningcss-light: initial;
	color-scheme: light;
	isolation: isolate;
	margin-block-start: -3px;
	position: relative;
	overflow: clip;
}

.open-footer__marquee {
	z-index: 0;
	inline-size: 100vw;
	color: var(--open-footer-marquee);
	font-family: var(--font-display);
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	gap: 0;
	font-size: 6.5rem;
	font-weight: 400;
	line-height: .9;
	display: flex;
	position: absolute;
	inset-block-start: 10.8rem;
	inset-inline-start: 0;
	overflow: hidden;
}

.open-footer__marquee-track {
	will-change: transform;
	flex-shrink: 0;
	animation: 16s linear infinite open-footer-marquee-scroll;
	display: inline-block;
}

@keyframes open-footer-marquee-scroll {
	0% {
		transform: translate(0, 0);
	}
	
	to {
		transform: translate(-100%);
	}
}

.open-footer__inner {
	z-index: 1;
	inline-size: 100%;
	max-inline-size: var(--page-max);
	margin-inline: auto;
	padding-block-start: 22.9rem;
	position: relative;
}

.open-footer__model {
	z-index: 3;
	aspect-ratio: 1;
	pointer-events: none;
	inline-size: 21.6rem;
	padding: 3rem;
	position: absolute;
	inset-block-start: 12.4rem;
	inset-inline-start: 50%;
	translate: -50%;
	rotate: 0deg;
	scale: 1;
}

.open-footer__model-canvas, .open-footer__model-fallback {
	filter: drop-shadow(0 2.2rem 2.6rem rgba(13, 18, 27, .18));
	block-size: 100%;
	inline-size: 100%;
	position: absolute;
	inset: 0;
}

.open-footer__model-canvas {
	opacity: 0;
	transition: opacity .26s;
}

.open-footer__model-fallback {
	object-fit: contain;
	opacity: 1;
	transition: opacity .26s;
}

.open-footer[data-model-loaded=true] .open-footer__model-canvas {
	opacity: 1;
}

.open-footer[data-model-loaded=true] .open-footer__model-fallback {
	opacity: 0;
}

.open-footer__panel {
	z-index: 1;
	background: var(--open-footer-panel);
	min-block-size: 141.2rem;
	color: var(--open-footer-copy);
	position: relative;
	overflow: hidden;
}

.open-footer__content {
	z-index: 2;
	inline-size: min(100%, 64rem);
	margin-inline: auto;
	padding: 12rem 2.4rem 7.8rem;
	display: grid;
	position: relative;
}

.open-footer__brand {
	max-inline-size: 35rem;
}

.open-footer__brand-title {
	color: var(--open-footer-copy);
	letter-spacing: 0;
	font-size: 2.9rem;
	font-weight: 800;
	line-height: 1.12;
}

.open-footer__brand-copy {
	color: var(--open-footer-copy);
	letter-spacing: 0;
	text-wrap: pretty;
	margin-block-start: 2.4rem;
	font-size: 2.1rem;
	font-weight: 400;
	line-height: 1.32;
}

.open-footer__nav {
	gap: 6.8rem;
	margin-block-start: 5.5rem;
	display: grid;
}

.open-footer__group-title {
	color: var(--open-footer-copy);
	letter-spacing: 0;
	font-size: 2.95rem;
	font-weight: 800;
	line-height: 1.12;
}

.open-footer__list {
	gap: 1.08rem;
	margin-block-start: 3.1rem;
	list-style: none;
	display: grid;
}

.open-footer__link {
	min-block-size: 3.4rem;
	color: var(--open-footer-muted);
	letter-spacing: 0;
	grid-template-columns: minmax(0, 1fr) 2.2rem;
	align-items: center;
	gap: 2.4rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.18;
	transition: color .18s, translate .18s;
	display: grid;
	translate: 0;
}

.open-footer__link:hover, .open-footer__link:focus-visible {
	color: var(--open-footer-copy);
	translate: .2rem;
}

.open-footer__link-icon {
	color: currentColor;
	justify-self: end;
	place-items: center;
	block-size: 2.2rem;
	inline-size: 2.2rem;
	display: inline-grid;
}

.open-footer__link-icon svg {
	block-size: 1.7rem;
	inline-size: 1.7rem;
}

.open-footer__social {
	display: none;
}

.open-footer__copyright {
	color: var(--open-footer-ink);
	letter-spacing: .01em;
	text-align: center;
	gap: .1rem;
	padding: 4.5rem 2.4rem 5.2rem;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.25;
	display: grid;
}

@media (width>=64em) {
	.open-footer {
		min-block-size: 113.5rem;
	}
	
	.open-footer__marquee {
		font-size: clamp(9.4rem, 6.9vw, 10.7rem);
		inset-block-start: 10.5rem;
	}
	
	.open-footer__inner {
		padding: 33.9rem 4.5rem 0;
	}
	
	.open-footer__model {
		inline-size: 37.5rem;
		padding: 4rem;
		inset-block-start: 18.6rem;
	}
	
	.open-footer__panel {
		border-radius: 4rem;
		min-block-size: 68.2rem;
	}
	
	.open-footer__content {
		grid-template-rows: auto auto 1fr auto;
		grid-template-columns: minmax(22rem, 37rem) clamp(3rem, 6.28vw, 9.5rem) minmax(22rem, 32.5rem) clamp(3rem, 12.17vw, 18.4rem) minmax(20rem, 26rem);
		column-gap: 0;
		min-block-size: 68.2rem;
		inline-size: 100%;
		max-inline-size: none;
		padding: 7.4rem 8.8rem 4rem;
	}
	
	.open-footer__brand {
		grid-column: 1;
		max-inline-size: 37rem;
	}
	
	.open-footer__brand-title {
		font-size: 2.2rem;
		line-height: 1.12;
	}
	
	.open-footer__brand-copy {
		margin-block-start: 2.4rem;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	
	.open-footer__nav {
		grid-area: 2/1/auto/-1;
		grid-template-columns: subgrid;
		column-gap: 0;
		margin-block-start: 8.7rem;
		display: grid;
	}
	
	.open-footer__group:first-child {
		grid-column: 1;
	}
	
	.open-footer__group:nth-child(2) {
		grid-column: 3;
	}
	
	.open-footer__group:nth-child(3) {
		grid-column: 5;
	}
	
	.open-footer__group-title {
		font-size: 2.2rem;
		line-height: 1.12;
	}
	
	.open-footer__list {
		gap: 1.23rem;
		margin-block-start: 3.35rem;
	}
	
	.open-footer__link {
		grid-template-columns: minmax(0, max-content) 2.2rem;
		justify-content: space-between;
		gap: .5rem;
		min-block-size: 2rem;
		font-size: 1.8rem;
		line-height: 1.2;
	}
	
	.open-footer__social {
		z-index: 2;
		grid-area: 4/5;
		justify-self: end;
		align-items: center;
		gap: 3.4rem;
		margin-block-start: 3rem;
		display: flex;
		position: relative;
	}
	
	.open-footer__social-link {
		color: var(--open-footer-muted);
		letter-spacing: 0;
		align-items: center;
		gap: .9rem;
		font-size: 1.8rem;
		font-weight: 400;
		line-height: 1.2;
		transition: color .18s, translate .18s;
		display: inline-flex;
		translate: 0;
	}
	
	.open-footer__social-link:hover, .open-footer__social-link:focus-visible {
		color: var(--open-footer-copy);
		translate: 0 -.15rem;
	}
	
	.open-footer__social-icon {
		block-size: 2.1rem;
		inline-size: 2.1rem;
	}
	
	.open-footer__copyright {
		padding-block: 3.7rem 3rem;
		font-size: 1.85rem;
		line-height: 1.25;
		display: block;
	}
}

@media (width>=90em) {
	.open-footer__content {
		column-gap: 0;
	}
}

@media (prefers-reduced-motion:reduce) {
	.open-footer__model-canvas, .open-footer__model-fallback, .open-footer__link, .open-footer__social-link {
		transition: none;
	}
	
	.open-footer__link:hover, .open-footer__link:focus-visible, .open-footer__social-link:hover, .open-footer__social-link:focus-visible {
		translate: 0;
	}
	
	.open-footer__marquee-track {
		animation: none;
	}
}

.floating-widgets {
	--floating-widgets-edge: 1rem;
	--floating-widgets-bottom: 1rem;
	--floating-widgets-panel: rgba(89, 86, 78, .94);
	--floating-widgets-brand: var(--color-brand-primary);
	--floating-widgets-ink: var(--color-ink);
	--floating-widgets-copy: var(--color-white);
	--floating-widgets-cookie: #ffb567;
	--floating-widgets-cookie-dot: var(--color-ink);
	--floating-widgets-z: 90;
	z-index: var(--floating-widgets-z);
	inset: auto 0 var(--floating-widgets-bottom);
	block-size: 0;
	color: var(--floating-widgets-copy);
	pointer-events: none;
	position: fixed;
}

.floating-widgets__cookies, .floating-widgets__whatsapp {
	pointer-events: auto;
	position: absolute;
	inset-block-end: 0;
}

.floating-widgets__cookies {
	-webkit-backdrop-filter: blur(2rem);
	background: rgba(112, 106, 94, .62);
	border-radius: 50%;
	place-items: center;
	block-size: 5.8rem;
	inline-size: 5.8rem;
	display: grid;
	inset-inline-start: var(--floating-widgets-edge);
}

.floating-widgets__cookies-icon-button, .floating-widgets__cookies-accept {
	font-family: var(--font-body);
	cursor: pointer;
	border: 0;
}

.floating-widgets__cookies-icon-button {
	block-size: 100%;
	inline-size: 100%;
	color: var(--floating-widgets-cookie);
	background: 0 0;
	border-radius: 50%;
	place-items: center;
	padding: 0;
	display: inline-grid;
}

.floating-widgets__cookie-icon {
	color: currentColor;
	place-items: center;
	block-size: 3.1rem;
	inline-size: 3.1rem;
	display: inline-grid;
}

.floating-widgets__cookie-icon svg {
	block-size: 100%;
	inline-size: 100%;
}

.floating-widgets__cookies-copy {
	color: var(--floating-widgets-copy);
	letter-spacing: 0;
	white-space: nowrap;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.08;
	display: none;
}

.floating-widgets__cookies-accept {
	border-radius: var(--radius-pill);
	background: var(--floating-widgets-brand);
	min-block-size: 4rem;
	min-inline-size: 8.9rem;
	color: var(--floating-widgets-ink);
	letter-spacing: 0;
	white-space: nowrap;
	justify-content: center;
	align-items: center;
	padding-inline: 1.6rem;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1;
	transition: transform .18s;
	display: none;
}

.floating-widgets__cookies-accept:hover {
	transform: translateY(-.1rem);
}

.floating-widgets__cookies.is-dismissed {
	display: none;
}

.floating-widgets__whatsapp {
	border-radius: 50%;
	place-items: center;
	block-size: 6.2rem;
	inline-size: 6.2rem;
	transition: filter .18s, transform .18s;
	display: inline-grid;
	inset-inline-end: var(--floating-widgets-edge);
}

.floating-widgets__whatsapp:hover {
	filter: drop-shadow(0 1.6rem 2rem rgba(0, 0, 0, .22));
	transform: translateY(-.2rem);
}

.floating-widgets__whatsapp img {
	block-size: 100%;
	inline-size: 100%;
}

@media (width>=48em) {
	.floating-widgets {
		--floating-widgets-edge: 2rem;
		--floating-widgets-bottom: 2rem;
	}
	
	.floating-widgets__cookies {
		border-radius: var(--radius-pill);
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 1.2rem;
		block-size: 5.4rem;
		inline-size: auto;
		min-inline-size: 27.2rem;
		padding: .7rem .75rem .7rem 1.5rem;
	}
	
	.floating-widgets__cookies-icon-button {
		block-size: 2.8rem;
		inline-size: 2.8rem;
	}
	
	.floating-widgets__cookie-icon {
		block-size: 2.6rem;
		inline-size: 2.6rem;
	}
	
	.floating-widgets__cookies-copy {
		display: block;
	}
	
	.floating-widgets__cookies-accept {
		display: inline-flex;
	}
	
	.floating-widgets__whatsapp {
		block-size: 6.4rem;
		inline-size: 6.4rem;
	}
}

@media (width>=64em) {
	.floating-widgets {
		--floating-widgets-edge: 3rem;
		--floating-widgets-bottom: 3rem;
	}
}

@media (prefers-reduced-motion:reduce) {
	.floating-widgets__cookies-accept, .floating-widgets__whatsapp {
		transition: none;
	}
	
	.floating-widgets__cookies-accept:hover, .floating-widgets__whatsapp:hover {
		transform: none;
	}
}
