.gea-elementor-landing-template {
	--container: 1240px;
	--gutter: 24px;
	--section: clamp(88px, 12vw, 136px);
	--paper: #f6f5f0;
	--white: #ffffff;
	--ink: #0a1c2e;
	--ink-deep: #06121f;
	--ink-soft: #0e2740;
	--slate: #5c6b7a;
	--slate-light: #8fa6bc;
	--mist-warm: #e5e2d8;
	--mist-cool: #dfe4eb;
	--accent: #0a6bf0;
	--accent-deep: #0857c9;
	--cyan: #19d9dc;
	--grad: linear-gradient(90deg, #0a6bf0, #19d9dc);
}

/* Only the home page: its hero container is transparent over the video and
   relies on this dark backdrop. Other landing pages (Certificaciones) keep
   02-base's paper background, like the mockup's body. */
.gea-elementor-landing-template.home #page.site {
	background: var(--ink-deep);
}

.gea-elementor-landing-template .site-main,
.gea-elementor-landing-template .site-sidebar,
.gea-elementor-landing-template .content-area,
.gea-elementor-landing-template .gea-elementor-landing__article,
.gea-elementor-landing-template .gea-elementor-landing__content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0;
	margin-right: 0;
}

.gea-elementor-landing-template .site-main.gea-elementor-landing {
	padding: 0;
}

.gea-elementor-landing-template .site-main.gea-elementor-landing,
.gea-elementor-landing-template .gea-elementor-landing__article,
.gea-elementor-landing-template .gea-elementor-landing__content {
	width: 100%;
	max-width: none;
	margin: 0;
	border: 0;
}

/* .site-main prefix: outranks 02-base's `.site-main article[id^="post-"]`
   bottom padding, which left a 24px strip above the footer */
.gea-elementor-landing-template .site-main .gea-elementor-landing__article {
	padding: 0;
}

.gea-elementor-landing-template .gea-elementor-landing__content > *:first-child {
	margin-top: 0;
}

.gea-elementor-landing-template .gea-elementor-landing__content > *:last-child {
	margin-bottom: 0;
}

.gea-elementor-landing-template .gea-elementor-landing__content .elementor {
	width: 100%;
}

.gea-elementor-landing-template .gea-elementor-landing__content .elementor-section-wrap,
.gea-elementor-landing-template .gea-elementor-landing__content .e-con-wrap,
.gea-elementor-landing-template .gea-elementor-landing__content .e-parent,
.gea-elementor-landing-template .gea-elementor-landing__content .e-child {
	max-width: none;
}

.gea-elementor-landing-template .gea-elementor-landing__content .elementor-top-section,
.gea-elementor-landing-template .gea-elementor-landing__content .e-con {
	margin-top: 0;
	margin-bottom: 0;
}

.gea-elementor-landing-template .gea-elementor-landing__content .elementor-section.elementor-section-boxed > .elementor-container,
.gea-elementor-landing-template .gea-elementor-landing__content .elementor-container.gea-shell,
.gea-elementor-landing-template .gea-elementor-landing__content .e-con.gea-shell,
.gea-elementor-landing-template .gea-elementor-landing__content .e-con > .gea-shell {
	width: min(var(--container), calc(100% - (var(--gutter) * 2)));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

.gea-elementor-landing-template .gea-elementor-landing__content .elementor-section.elementor-section-full_width > .elementor-container,
.gea-elementor-landing-template .gea-elementor-landing__content .e-con[data-container-type="flex"] {
	max-width: none;
}

.gea-elementor-landing-template .gea-shell {
	width: min(var(--container), calc(100% - (var(--gutter) * 2)));
	margin-left: auto;
	margin-right: auto;
}

.gea-elementor-landing-template .gea-section {
	padding-top: var(--section);
	padding-bottom: var(--section);
}

.gea-elementor-landing-template .gea-section--paper {
	background: var(--paper);
}

.gea-elementor-landing-template .gea-section--white {
	background: var(--white);
}

.gea-elementor-landing-template .gea-section--dark {
	background: linear-gradient(180deg, var(--ink) 0%, var(--ink-deep) 100%);
	color: var(--white);
}

.gea-elementor-landing-template .gea-label {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	font-size: clamp(16px, 1.3vw, 19px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

.gea-elementor-landing-template .gea-label::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: 0.42em;
	background: var(--accent);
	flex-shrink: 0;
}

.gea-elementor-landing-template .gea-label--light {
	color: var(--slate-light);
}

.gea-elementor-landing-template .label,
.gea-elementor-landing-template .hero__card-label .elementor-heading-title {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	font-size: clamp(16px, 1.3vw, 19px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ink);
}

.gea-elementor-landing-template .label::before,
.gea-elementor-landing-template .hero__card-label .elementor-heading-title::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: 0.42em;
	background: var(--accent);
	flex-shrink: 0;
}

.gea-elementor-landing-template .label--light,
.gea-elementor-landing-template .label--light .elementor-heading-title,
.gea-elementor-landing-template .hero__card-label .elementor-heading-title {
	color: rgba(255, 255, 255, 0.92);
}

.gea-elementor-landing-template .gea-grad-text {
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.gea-elementor-landing-template .grad-text {
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.gea-elementor-landing-template .display .elementor-heading-title,
.gea-elementor-landing-template .display {
	font-size: clamp(40px, 4.8vw, 64px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--white);
}

.gea-elementor-landing-template .display em {
	font-style: normal;
}

.gea-elementor-landing-template .btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1;
	border: 1px solid transparent;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.gea-elementor-landing-template .btn .elementor-button:hover {
	transform: translateY(-1px);
}

.gea-elementor-landing-template .btn--glass .elementor-button {
	background: rgba(10, 16, 24, 0.5);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	color: var(--white);
}

.gea-elementor-landing-template .btn--glass:hover .elementor-button {
	background: rgba(10, 16, 24, 0.68);
}

.gea-elementor-landing-template .btn--glass-soft .elementor-button {
	background: rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	color: var(--white);
}

.gea-elementor-landing-template .btn--glass-soft:hover .elementor-button {
	background: rgba(255, 255, 255, 0.24);
}

.gea-elementor-landing-template .hero {
	position: relative;
	min-height: 100svh;
	background: var(--ink-deep);
	color: var(--white);
	overflow: hidden;
}

.gea-elementor-landing-template .hero > .elementor-background-video-container,
.gea-elementor-landing-template .hero > .elementor-background-video-container video {
	width: 100%;
	height: 100%;
}

.gea-elementor-landing-template .hero > .elementor-background-video-container video {
	object-fit: cover;
}

.gea-elementor-landing-template .hero.e-con {
	min-height: 100svh;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}

/* Sub-pages (Innovación GEA, Cotización, ficha de producto...) reuse the
   "hero" class for its dark background/overflow treatment, but their
   shorter ".hero--sub" variant needs 78svh, not the homepage's full-height
   100svh. Compound-class selectors (one class more than the rules above)
   so this wins regardless of source order in this file. */
.gea-elementor-landing-template .hero.hero--sub,
.gea-elementor-landing-template .hero.hero--sub.e-con {
	min-height: 78svh;
}

.gea-elementor-landing-template .hero__shell.e-con {
	position: relative;
	z-index: 2;
	min-height: 100svh;
	box-sizing: border-box;
}

.gea-elementor-landing-template .hero__title,
.gea-elementor-landing-template .hero__title .elementor-heading-title {
	width: 100%;
	max-width: none;
	text-align: left;
}

.gea-elementor-landing-template .hero__row.e-con {
	width: 100%;
}

.gea-elementor-landing-template .hero__copy.e-con {
	min-width: 0;
}

.gea-elementor-landing-template .hero__copy > .elementor-widget,
.gea-elementor-landing-template .hero__copy > .e-con {
	width: 100%;
}

.gea-elementor-landing-template .hero__copy .label,
.gea-elementor-landing-template .hero__copy .label .elementor-heading-title {
	margin-bottom: 14px;
	color: var(--slate-light);
}

.gea-elementor-landing-template .hero__copy .display .elementor-heading-title,
.gea-elementor-landing-template .hero__copy .display {
	max-width: 10.2ch;
	text-wrap: balance;
}

.gea-elementor-landing-template .hero__cta.e-con {
	min-width: 0;
}

.gea-elementor-landing-template .hero__card.e-con {
	background: rgba(10, 16, 24, 0.72);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
}

.gea-elementor-landing-template .hero__card-copy.e-con {
	min-width: 0;
}

.gea-elementor-landing-template .hero__card-copy .elementor-heading-title {
	color: var(--white);
}

.gea-elementor-landing-template .hero__card-copy .hero__card-label .elementor-heading-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--slate-light);
}

.gea-elementor-landing-template .hero__card-copy .elementor-widget-heading:last-child .elementor-heading-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.gea-elementor-landing-template .hero__card-media.e-con {
	min-width: 0;
}

.gea-elementor-landing-template .hero__card-media img {
	width: 100%;
	height: 106px;
	object-fit: cover;
	border-radius: 12px;
}

.gea-elementor-landing-template .site-header--mockup {
	position: fixed;
	inset: 0 0 auto;
	z-index: 100;
	padding: 24px 0;
	color: var(--white);
	pointer-events: none;
	transition: padding 0.35s ease;
}

.gea-elementor-landing-template .site-header--mockup.is-scrolled {
	padding: 12px 0;
}

.gea-elementor-landing-template .site-header--mockup a,
.gea-elementor-landing-template .site-header--mockup button {
	pointer-events: auto;
}

.gea-elementor-landing-template .site-header--mockup .site-header__inner.nav__inner {
	width: calc(100% - 48px);
	max-width: none;
	margin-inline: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.gea-elementor-landing-template .site-header--mockup .nav__logo-group {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	width: auto;
	margin: 0;
}

.gea-elementor-landing-template .site-header--mockup .nav__logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0; /* never yields width to the menu pill, so the logo isn't squashed */
	padding: 8px 16px;
	border-radius: 16px;
	transition: padding 0.3s ease;
	background: rgba(10, 16, 24, 0.5);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
}

/* 4 group logos (.nav__brand sizes live in style.css) */
.gea-elementor-landing-template .site-header--mockup .nav__logo--group {
	gap: clamp(12px, 1.3vw, 22px);
	padding: 10px clamp(14px, 1.4vw, 20px);
}

.gea-elementor-landing-template .site-header--mockup .site-branding__meta {
	display: none;
}

.gea-elementor-landing-template .site-header--mockup .nav__links {
	display: flex;
	align-items: center;
	gap: 4px;
	width: auto;
	margin: 0 0 0 auto;
	padding: 7px;
	border-radius: 16px;
	background: rgba(10, 16, 24, 0.5);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
}

.gea-elementor-landing-template .site-header--mockup .nav__menu {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li {
	display: flex;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	padding: 10px 16px;
	border-radius: 10px;
	background: transparent;
	color: var(--white);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0;
	white-space: nowrap;
	opacity: 0.92;
	transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li > a:hover,
.gea-elementor-landing-template .site-header--mockup .nav__menu > li > a:focus-visible,
.gea-elementor-landing-template .site-header--mockup .nav__menu > .current-menu-item > a,
.gea-elementor-landing-template .site-header--mockup .nav__menu > .current_page_item > a,
.gea-elementor-landing-template .site-header--mockup .nav__menu > .current-menu-ancestor > a,
.gea-elementor-landing-template .site-header--mockup .nav__menu > .current_page_ancestor > a {
	background: rgba(255, 255, 255, 0.1);
	color: var(--white);
	opacity: 1;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-innovation > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: linear-gradient(90deg, rgba(10, 107, 240, 0.22), rgba(25, 217, 220, 0.22));
	font-weight: 500;
	opacity: 1;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-innovation > a::before {
	content: "✦";
	font-size: 11px;
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-innovation > a:hover,
.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-innovation.current-menu-item > a {
	background: linear-gradient(90deg, rgba(10, 107, 240, 0.4), rgba(25, 217, 220, 0.34));
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-cta > a {
	margin-left: 6px;
	background: var(--accent);
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	opacity: 1;
}

.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-cta > a:hover,
.gea-elementor-landing-template .site-header--mockup .nav__menu > li.menu-item-cta.current-menu-item > a {
	background: var(--accent-deep);
}

.gea-elementor-landing-template .site-header--mockup .nav__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	width: 60px;
	height: 60px;
	border-radius: 14px;
	background: rgba(10, 16, 24, 0.5);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	color: var(--white);
}

.gea-elementor-landing-template .site-header--mockup .nav__burger span {
	display: block;
	width: 22px;
	height: 1.6px;
	background: currentColor;
	transition: transform 0.3s ease;
}

.gea-elementor-landing-template .mobile-menu {
	z-index: 90;
	background: var(--ink-deep);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 24px;
}

.gea-elementor-landing-template .mobile-menu__links,
.gea-elementor-landing-template .mobile-menu__menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gea-elementor-landing-template .mobile-menu__links a,
.gea-elementor-landing-template .mobile-menu__menu li a {
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: var(--white);
	font-size: 32px;
	font-weight: 300;
	letter-spacing: -0.02em;
}

.gea-elementor-landing-template .mobile-menu__menu li.menu-item-cta a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
	padding: 15px 28px;
	border-radius: 999px;
	background: var(--accent);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.gea-elementor-landing-template .mobile-menu__menu li.menu-item-cta a::after {
	content: "→";
}

@media (max-width: 767px) {
	.gea-elementor-landing-template {
		--gutter: 12px;
	}

	.gea-elementor-landing-template .hero__shell.e-con {
		min-height: auto;
	}

	.gea-elementor-landing-template .hero__row.e-con {
		--flex-direction: column;
		--align-items: flex-start;
		--gap: 20px;
	}

	.gea-elementor-landing-template .hero__copy.e-con,
	.gea-elementor-landing-template .hero__cta.e-con,
	.gea-elementor-landing-template .hero__card.e-con {
		--width: 100%;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.gea-elementor-landing-template .hero__copy.e-con {
		max-width: 100%;
	}

	.gea-elementor-landing-template .hero__copy .display .elementor-heading-title,
	.gea-elementor-landing-template .hero__copy .display {
		max-width: 9ch;
		font-size: clamp(42px, 12vw, 66px);
	}

	.gea-elementor-landing-template .hero__cta.e-con {
		--flex-direction: column;
		--align-items: stretch;
	}

	.gea-elementor-landing-template .hero__cta .elementor-widget-button,
	.gea-elementor-landing-template .hero__cta .elementor-widget-button .elementor-button-wrapper,
	.gea-elementor-landing-template .hero__cta .elementor-widget-button .elementor-button {
		width: 100%;
	}

	.gea-elementor-landing-template .btn .elementor-button {
		width: 100%;
		justify-content: center;
	}

	.gea-elementor-landing-template .hero__card.e-con {
		padding: 14px;
	}

	.gea-elementor-landing-template .hero__card-media.e-con {
		width: 96px;
		flex-basis: 96px;
	}

}

/* tablets and below: burger menu (the full menu only fits next to the 4
   group logos from 1280 px up) */
@media (max-width: 1279px) {
	.gea-elementor-landing-template .site-header--mockup .nav__links {
		display: none;
	}

	.gea-elementor-landing-template .site-header--mockup .nav__burger {
		width: 64px;
		height: 64px;
	}

	.gea-elementor-landing-template .site-header--mockup .nav__burger {
		display: inline-flex;
	}
}

@media (max-width: 640px) {
	.gea-elementor-landing-template .site-header--mockup .nav__logo {
		padding: 7px 12px;
	}

	/* the 4 logos in 2 × 2 to make room for the menu button */
	.gea-elementor-landing-template .site-header--mockup .nav__logo--group {
		display: inline-grid;
		grid-template-columns: repeat(2, auto);
		gap: 8px 14px;
		padding: 9px 14px;
	}

	.gea-elementor-landing-template .site-header--mockup .nav__burger {
		width: 60px;
		height: 60px;
	}
}

.gea-elementor-landing-template .statsbar {
	background: var(--paper);
	border-bottom: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .statsbar.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: center;
	--align-items: stretch;
	--gap: 0;
	padding: 0;
}

.gea-elementor-landing-template .stats.e-con,
.gea-elementor-landing-template .services.e-con,
.gea-elementor-landing-template .section__head.e-con,
.gea-elementor-landing-template .split.e-con,
.gea-elementor-landing-template .cert.e-con,
.gea-elementor-landing-template .contact__split.e-con,
.gea-elementor-landing-template .footer__top.e-con,
.gea-elementor-landing-template .footer__bottom.e-con,
.gea-elementor-landing-template .hero__bottom.e-con,
.gea-elementor-landing-template .hero__cta.e-con,
.gea-elementor-landing-template .hero__card.e-con,
.gea-elementor-landing-template .slider__nav.e-con {
	--display: flex;
}

.gea-elementor-landing-template .stats.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: stretch;
	--gap: 0;
}

.gea-elementor-landing-template .stat.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 4px;
	flex: 1 1 0;
	padding: 26px 24px 28px;
	border-left: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .stat:first-child {
	border-left: 0;
	padding-left: 0;
}

.gea-elementor-landing-template .stat strong,
.gea-elementor-landing-template .stat .elementor-heading-title {
	display: block;
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 300;
	letter-spacing: -0.01em;
	color: var(--ink);
}

.gea-elementor-landing-template .stat p,
.gea-elementor-landing-template .stat .elementor-widget-text-editor {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--slate);
}

.gea-elementor-landing-template .marquee {
	overflow: hidden;
	border-bottom: 1px solid var(--mist-warm);
	padding: 20px 0;
	background: var(--paper);
}

.gea-elementor-landing-template .marquee__track.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: flex-start;
	--align-items: center;
	--gap: 36px;
	width: max-content;
	animation: gea-marquee 36s linear infinite;
}

.gea-elementor-landing-template .marquee__track .elementor-heading-title,
.gea-elementor-landing-template .marquee__track p {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--slate);
	white-space: nowrap;
}

.gea-elementor-landing-template .marquee__track .marquee__sep .elementor-heading-title {
	font-size: 9px;
	color: var(--accent);
}

@keyframes gea-marquee {
	to {
		transform: translateX(-50%);
	}
}

.gea-elementor-landing-template .section {
	padding-top: var(--section);
	padding-bottom: var(--section);
}

.gea-elementor-landing-template .section--tint {
	background: var(--white);
	border-block: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .section__head.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: flex-end;
	--gap: 48px;
	margin-bottom: 64px;
}

.gea-elementor-landing-template .section__head .label,
.gea-elementor-landing-template .section__head .gea-label,
.gea-elementor-landing-template .split__text .label,
.gea-elementor-landing-template .cert__text .label,
.gea-elementor-landing-template .contact__info .label {
	margin-bottom: 18px;
}

.gea-elementor-landing-template .section__intro,
.gea-elementor-landing-template .section__intro .elementor-widget-container,
.gea-elementor-landing-template .section__intro p {
	max-width: 380px;
	font-size: 16px;
	color: var(--slate);
	padding-bottom: 6px;
}

.gea-elementor-landing-template .section__intro--left,
.gea-elementor-landing-template .section__intro--left p {
	max-width: 420px;
	margin-top: 24px;
}

.gea-elementor-landing-template .section__foot {
	display: flex;
	justify-content: center;
	margin-top: 56px;
}

.gea-elementor-landing-template .split.e-con,
.gea-elementor-landing-template .contact__split.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: center;
	--gap: clamp(48px, 6vw, 96px);
}

.gea-elementor-landing-template .split--top.e-con {
	--align-items: flex-start;
}

.gea-elementor-landing-template .split__body.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 18px;
	max-width: 480px;
}

.gea-elementor-landing-template .split__body p,
.gea-elementor-landing-template .split__body .elementor-widget-text-editor {
	color: var(--slate);
}

.gea-elementor-landing-template .statement .elementor-heading-title,
.gea-elementor-landing-template .statement {
	font-size: clamp(27px, 3.4vw, 42px);
	font-weight: 300;
	line-height: 1.22;
	letter-spacing: -0.015em;
	margin: 22px 0 30px;
	color: var(--ink);
}

.gea-elementor-landing-template .statement .w {
	color: var(--mist-warm);
	transition: color 0.35s ease;
}

.gea-elementor-landing-template .statement .w.is-lit {
	color: var(--ink);
}

.gea-elementor-landing-template .visual-card,
.gea-elementor-landing-template .visual-card .elementor-widget-container {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
}

.gea-elementor-landing-template .visual-card img {
	display: block;
	width: 100%;
	height: auto;
}

.gea-elementor-landing-template .visual-card__badge.e-con {
	position: absolute;
	left: 20px;
	bottom: 20px;
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 3px;
	background: var(--white);
	border-radius: 12px;
	padding: 14px 20px;
}

.gea-elementor-landing-template .visual-card__badge-label .elementor-heading-title {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--slate);
}

.gea-elementor-landing-template .visual-card__badge-value .elementor-heading-title {
	font-size: 20px;
	font-weight: 300;
	letter-spacing: 0.02em;
	color: var(--ink);
}

.gea-elementor-landing-template .slider.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: flex-start;
	--align-items: stretch;
	--gap: 18px;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	padding-left: max(24px, calc((100vw - var(--container)) / 2));
	padding-right: 24px;
	scroll-padding-left: max(24px, calc((100vw - var(--container)) / 2));
	scrollbar-width: none;
}

.gea-elementor-landing-template .slider::-webkit-scrollbar {
	display: none;
	height: 0;
}

.gea-elementor-landing-template .slide.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 0;
	flex: 0 0 clamp(260px, 27vw, 360px);
	scroll-snap-align: start;
}

.gea-elementor-landing-template .slide__media .elementor-widget-container {
	aspect-ratio: 1 / 1;
	border-radius: 18px;
	overflow: hidden;
	transform: translateZ(0);
	transition: border-radius 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.gea-elementor-landing-template .slide__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.gea-elementor-landing-template .slide:hover .slide__media .elementor-widget-container {
	border-radius: 80px;
}

.gea-elementor-landing-template .slide:hover .slide__media img {
	transform: scale(1.06);
}

.gea-elementor-landing-template .slide__num .elementor-heading-title {
	margin: 20px 0 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--slate);
}

.gea-elementor-landing-template .slide h3 .elementor-heading-title,
.gea-elementor-landing-template .slide .elementor-widget-heading:not(.slide__num) .elementor-heading-title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-bottom: 8px;
	transition: color 0.25s ease;
}

.gea-elementor-landing-template .slide:hover .elementor-widget-heading:not(.slide__num) .elementor-heading-title {
	color: var(--accent);
}

.gea-elementor-landing-template .slide p,
.gea-elementor-landing-template .slide .elementor-widget-text-editor {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--slate);
}

.gea-elementor-landing-template .slider__nav.e-con {
	--flex-direction: row;
	--justify-content: flex-end;
	--align-items: center;
	--gap: 10px;
	margin-top: 28px;
}

.gea-elementor-landing-template .circle-btn .elementor-button {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--mist-cool);
	border-radius: 50%;
	background: transparent;
	color: var(--ink);
	font-size: 17px;
}

.gea-elementor-landing-template .circle-btn:hover .elementor-button {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white);
}

.gea-elementor-landing-template .btn--dark .elementor-button {
	background: var(--ink);
	color: var(--white);
}

.gea-elementor-landing-template .btn--dark:hover .elementor-button {
	background: var(--accent);
}

.gea-elementor-landing-template .btn--ghost-light .elementor-button {
	border-color: rgba(255, 255, 255, 0.35);
	color: var(--white);
	background: transparent;
}

.gea-elementor-landing-template .btn--ghost-light:hover .elementor-button {
	border-color: var(--white);
}

.gea-elementor-landing-template .summit {
	position: relative;
	padding: clamp(88px, 14vw, 160px) 0;
	background: linear-gradient(135deg, var(--ink) 0%, var(--ink-deep) 100%);
	color: var(--white);
	overflow: hidden;
}

.gea-elementor-landing-template .summit__ghost {
	position: absolute;
	inset: auto auto 18px 50%;
	transform: translateX(-50%);
	font-size: clamp(90px, 20vw, 260px);
	font-weight: 300;
	line-height: 0.9;
	letter-spacing: -0.08em;
	color: rgb(255 255 255 / 0.06);
	pointer-events: none;
	white-space: nowrap;
}

.gea-elementor-landing-template .summit__content.e-con {
	position: relative;
	z-index: 1;
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: center;
	--gap: 22px;
	text-align: center;
}

.gea-elementor-landing-template .summit__title .elementor-heading-title {
	font-size: clamp(34px, 5.4vw, 60px);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -0.03em;
	color: var(--white);
}

.gea-elementor-landing-template .summit__body,
.gea-elementor-landing-template .summit__body p {
	max-width: 640px;
	color: var(--slate-light);
	font-size: 17px;
}

.gea-elementor-landing-template .services.e-con {
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: stretch;
	--gap: 0;
	border-top: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .service.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: center;
	--gap: 24px;
	padding: 28px 0;
	border-bottom: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .service__num .elementor-heading-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--slate);
}

.gea-elementor-landing-template .service__text h3 .elementor-heading-title,
.gea-elementor-landing-template .service__text .elementor-widget-heading .elementor-heading-title {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.gea-elementor-landing-template .service__text p,
.gea-elementor-landing-template .service__text .elementor-widget-text-editor {
	margin-top: 10px;
	max-width: 640px;
	color: var(--slate);
}

.gea-elementor-landing-template .values__split.e-con {
	--align-items: flex-start;
}

.gea-elementor-landing-template .accordion .elementor-accordion-item {
	border: 0;
	border-bottom: 1px solid var(--mist-warm);
}

.gea-elementor-landing-template .accordion .elementor-tab-title {
	padding: 24px 0;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--ink);
}

.gea-elementor-landing-template .accordion .elementor-tab-content {
	padding: 0 0 24px;
	border: 0;
	color: var(--slate);
}

.gea-elementor-landing-template .cert.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: center;
	--gap: 42px;
}

.gea-elementor-landing-template .cert__seal img {
	width: 120px;
	height: 120px;
}

.gea-elementor-landing-template .cert__text p,
.gea-elementor-landing-template .cert__text .elementor-widget-text-editor {
	color: var(--slate);
}

.gea-elementor-landing-template .cert__list.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 14px;
}

.gea-elementor-landing-template .cert__item .elementor-heading-title {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--ink);
}

.gea-elementor-landing-template .quote {
	text-align: center;
}

.gea-elementor-landing-template .quote__body .elementor-heading-title {
	font-size: clamp(30px, 4.2vw, 46px);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--ink);
}

.gea-elementor-landing-template .quote__meta,
.gea-elementor-landing-template .quote__meta p {
	margin-top: 18px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--slate);
}

.gea-elementor-landing-template .section--contact {
	background: linear-gradient(180deg, var(--ink) 0%, var(--ink-deep) 100%);
	color: var(--white);
}

.gea-elementor-landing-template .contact__info,
.gea-elementor-landing-template .contact__card {
	min-width: 0;
}

.gea-elementor-landing-template .contact__lead,
.gea-elementor-landing-template .contact__lead p {
	max-width: 430px;
	color: var(--slate-light);
	font-size: 17px;
}

.gea-elementor-landing-template .contact__rows.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 20px;
	margin-top: 28px;
}

.gea-elementor-landing-template .contact__row.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 6px;
}

.gea-elementor-landing-template .contact__label .elementor-heading-title {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--slate-light);
}

.gea-elementor-landing-template .contact__row a,
.gea-elementor-landing-template .contact__row p,
.gea-elementor-landing-template .contact__row .elementor-widget-text-editor {
	color: var(--white);
}

.gea-elementor-landing-template .contact__card.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 16px;
	padding: 34px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(16px) saturate(1.2);
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 22px;
}

.gea-elementor-landing-template .contact__card .elementor-heading-title,
.gea-elementor-landing-template .contact__card p {
	color: var(--white);
}

.gea-elementor-landing-template .contact__card-note,
.gea-elementor-landing-template .contact__card-note p {
	color: var(--slate-light);
	font-size: 14px;
}

.gea-elementor-landing-template .contact__form.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: stretch;
	--gap: 16px;
	width: 100%;
}

.gea-elementor-landing-template .field-row.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: stretch;
	--gap: 14px;
}

.gea-elementor-landing-template .field.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 8px;
	flex: 1 1 0;
	width: 100%;
	padding: 16px 18px;
	border: 1px solid rgb(255 255 255 / 0.16);
	border-radius: 18px;
	background: rgb(255 255 255 / 0.04);
}

.gea-elementor-landing-template .field__label .elementor-heading-title {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--slate-light);
}

.gea-elementor-landing-template .field__value,
.gea-elementor-landing-template .field__value p {
	color: rgb(255 255 255 / 0.72);
	font-size: 15px;
	line-height: 1.45;
}

.gea-elementor-landing-template .footer {
	position: relative;
	padding: 56px 0 28px;
	background: var(--ink-deep);
	color: var(--white);
}

.gea-elementor-landing-template .footer__ridge img {
	width: 100%;
	height: auto;
	opacity: 0.45;
}

.gea-elementor-landing-template .footer__top.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: flex-start;
	--gap: 40px;
	padding-top: 24px;
}

.gea-elementor-landing-template .footer__brand.e-con,
.gea-elementor-landing-template .footer__col.e-con {
	--display: flex;
	--flex-direction: column;
	--justify-content: flex-start;
	--align-items: flex-start;
	--gap: 10px;
}

.gea-elementor-landing-template .footer__tagline .elementor-heading-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--slate-light);
}

.gea-elementor-landing-template .footer__col h4 .elementor-heading-title,
.gea-elementor-landing-template .footer__col .elementor-widget-heading .elementor-heading-title {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--white);
}

.gea-elementor-landing-template .footer__col a,
.gea-elementor-landing-template .footer__col p,
.gea-elementor-landing-template .footer__brand p {
	color: rgb(255 255 255 / 0.78);
}

.gea-elementor-landing-template .footer__bottom.e-con {
	--flex-direction: row;
	--justify-content: space-between;
	--align-items: center;
	--gap: 24px;
	margin-top: 40px;
	padding-top: 18px;
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.gea-elementor-landing-template .footer__legal.e-con {
	--display: flex;
	--flex-direction: row;
	--justify-content: flex-end;
	--align-items: center;
	--gap: 18px;
}

.gea-elementor-landing-template .footer__alt .elementor-heading-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--slate-light);
}

.gea-elementor-landing-template .link-arrow a,
.gea-elementor-landing-template .link-arrow .elementor-button,
.gea-elementor-landing-template .link-arrow .elementor-heading-title {
	color: var(--accent);
}

@media (max-width: 1024px) {
	.gea-elementor-landing-template .section__head.e-con,
	.gea-elementor-landing-template .split.e-con,
	.gea-elementor-landing-template .cert.e-con,
	.gea-elementor-landing-template .contact__split.e-con,
	.gea-elementor-landing-template .footer__top.e-con,
	.gea-elementor-landing-template .footer__bottom.e-con {
		--flex-direction: column;
		--align-items: flex-start;
	}

	.gea-elementor-landing-template .stats.e-con {
		--flex-wrap: wrap;
	}

	.gea-elementor-landing-template .stat.e-con {
		flex: 1 1 50%;
	}
}

@media (max-width: 767px) {
	.gea-elementor-landing-template .stats.e-con,
	.gea-elementor-landing-template .service.e-con,
	.gea-elementor-landing-template .footer__legal.e-con {
		--flex-direction: column;
		--align-items: flex-start;
	}

	.gea-elementor-landing-template .stat.e-con {
		flex: 1 1 100%;
		padding-left: 0;
		border-left: 0;
		border-top: 1px solid var(--mist-warm);
	}

	.gea-elementor-landing-template .stat:first-child {
		border-top: 0;
	}

	.gea-elementor-landing-template .slider.e-con {
		padding-left: 12px;
		padding-right: 12px;
		scroll-padding-left: 12px;
	}

	.gea-elementor-landing-template .contact__card.e-con {
		padding: 24px;
	}

	.gea-elementor-landing-template .field-row.e-con {
		--flex-direction: column;
	}
}

/* Anchor jumps (#servicios, #grupo…) stop below the floating header, like
   design-mockup's `section, #ubicaciones { scroll-margin-top: 84px }`. */
.gea-elementor-landing-template .e-con[id] {
	scroll-margin-top: 84px;
}

/* ============================================================
   Large screens (≥1800 px: QHD, 4K, ultra-wide) — design-mockup's
   "PANTALLAS GRANDES" layer. Below 1800 px nothing changes. Elementor
   content uses its own Widescreen breakpoint (Kit, 1800 px).
   ============================================================ */
@media (min-width: 1800px) {
	/* The template redefines these on body, so the :root values from
	   01-variables.css never reach it — restate the large-screen ones here. */
	.gea-elementor-landing-template {
		--container: min(76vw, 1920px);
		--section: clamp(136px, 7vw, 200px);
	}

	.gea-elementor-landing-template .site-header--mockup .nav__menu > li > a {
		padding: 11px 18px;
		font-size: 15.5px;
	}

	.gea-elementor-landing-template .label,
	.gea-elementor-landing-template .gea-label {
		font-size: clamp(19px, 0.95vw, 24px);
	}
}
