/**
 * Header, footer and the three Home screens.
 */

.elementor-location-header {
	position: fixed;
	z-index: 100;
	top: 16px;
	right: 24px;
	left: 24px;
	pointer-events: none;
}

.elementor-location-header .elementor-element {
	pointer-events: auto;
}

.elementor-location-header .sbe-header.e-con {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 28px;
	padding: 16px 22px 16px 14px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 10px 28px rgba(4, 16, 40, 0.14);
	backdrop-filter: blur(12px);
}

.sbe-logo {
	display: block;
	width: auto;
	height: 46px;
}

.sbe-tagline .elementor-heading-title {
	margin: 0;
	color: #506874;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.sbe-header > .elementor-element {
	width: auto;
	flex-grow: 0;
	align-self: center;
}

.elementor-location-header .elementor-widget-nav-menu {
	flex-grow: 1;
	width: auto;
	margin-left: auto;
}

.elementor-location-header .elementor-nav-menu--main {
	display: flex;
}

.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
	display: flex;
	align-items: center;
	gap: 18px;
}

.elementor-location-header .elementor-nav-menu a.elementor-item {
	padding: 8px 2px;
	color: #3d4654;
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.elementor-location-header .elementor-nav-menu a.elementor-item::before,
.elementor-location-header .elementor-nav-menu a.elementor-item::after {
	display: none;
}

.elementor-location-header .elementor-nav-menu--main a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main a.elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main a.elementor-item.elementor-item-active {
	color: #0000a8;
}

.elementor-location-header .elementor-nav-menu .sub-arrow {
	display: none;
}

.sbe-lang select {
	padding: 6px 12px;
	border: 1px solid #d5dbe3;
	border-radius: 999px;
	background: #fff;
	color: #141414;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.elementor-location-footer {
	background: #fff;
}

.sbe-footer {
	padding: 18px 24px 22px;
	color: #5c6570;
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.sbe-footer a {
	color: #0000a8;
}

html:has(body.sbe-home),
body.sbe-home {
	overflow-x: clip;
}

body.sbe-home .site-main,
body.sbe-home .page-content {
	margin: 0;
	padding: 0;
}

body.sbe-home .page-header {
	display: none;
}

.sbe-screen {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: 100vh;
	min-height: 100dvh;
	scroll-snap-align: start;
}

.sbe-screen--photo::before,
.sbe-screen--stats::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
}

.sbe-screen--photo::before {
	background: linear-gradient(90deg, rgba(4, 16, 40, 0.66) 0%, rgba(4, 16, 40, 0.28) 58%, rgba(4, 16, 40, 0.12) 100%);
}

.sbe-screen--stats::before {
	background: rgba(0, 48, 46, 0.34);
}

.sbe-screen__content {
	position: relative;
	z-index: 1;
	width: min(780px, calc(100% - 12vw));
	padding: 112px 0 72px 6vw;
}

.sbe-screen .elementor-heading-title,
.sbe-screen .elementor-widget-text-editor {
	color: #fff;
	font-family: Montserrat, sans-serif;
}

.sbe-screen .elementor-heading-title {
	margin: 0;
	font-size: clamp(34px, 2.9vw, 50px);
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

.sbe-screen .elementor-heading-title .sbe-hero-light {
	font-weight: 400;
}

.sbe-screen--valor .elementor-heading-title {
	display: inline-block;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.85);
}

.sbe-screen .elementor-widget-text-editor {
	max-width: 34rem;
	margin-top: 22px;
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 400;
	line-height: 1.35;
}

.sbe-screen--stats .sbe-screen__content.e-con {
	flex: 1 1 0;
	flex-direction: column;
	align-items: flex-start;
	width: auto;
	min-width: 0;
	max-width: 100%;
	padding: 0 24px;
}

.sbe-screen--stats .elementor-heading-title {
	font-size: clamp(22px, 2vw, 32px);
	font-weight: 700;
	text-align: left;
}

.sbe-screen--stats .sbe-stat .elementor-heading-title {
	min-height: 3.4em;
}

@media (max-width: 900px) {
	.sbe-screen--stats.e-con {
		--justify-content: flex-start;
		--align-items: stretch;
		--min-height: 0px;
		align-items: stretch;
		justify-content: flex-start;
		height: auto;
		padding: 112px 20px 48px;
	}

	.sbe-screen--stats .e-con-boxed > .e-con-inner {
		--flex-direction: column;
		flex-direction: column;
		align-items: stretch;
		gap: 36px;
	}

	.sbe-screen--stats .sbe-screen__content {
		width: 100%;
		padding: 0;
	}

	.sbe-screen--stats .sbe-stat .elementor-heading-title {
		min-height: 0;
	}

}

@media (max-width: 760px) {
	.sbe-hero-slider,
	.sbe-screen {
		min-height: 100dvh;
	}

	.sbe-screen__content {
		width: calc(100% - 32px);
		padding: 108px 0 40px 16px;
	}

	.sbe-screen .elementor-heading-title {
		font-size: clamp(28px, 8vw, 36px);
	}

	.sbe-screen .elementor-widget-text-editor {
		font-size: 17px;
	}

	.sbe-screen .elementor-button {
		padding: 12px 18px;
		font-size: 13px;
	}
}

.sbe-screen--stats .elementor-counter {
	align-items: flex-start;
	max-width: 100%;
}

.sbe-screen--stats .elementor-counter .elementor-counter-number-wrapper {
	flex: 0 0 auto;
	align-self: flex-start;
	justify-content: flex-start;
	align-items: baseline;
	width: auto;
	max-width: 100%;
	margin-top: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.85);
	color: #00ffff;
	font-size: 82px;
}

.sbe-screen--stats .elementor-counter .elementor-counter-number-prefix,
.sbe-screen--stats .elementor-counter .elementor-counter-number-suffix,
.sbe-screen--stats .elementor-counter .elementor-counter-number {
	flex-grow: 0;
}

.sbe-screen--stats .elementor-counter .elementor-counter-number-prefix:empty {
	display: none;
}

.sbe-screen--stats .elementor-counter-number,
.sbe-screen--stats .elementor-counter-number-suffix {
	color: #00ffff;
	font-weight: 900;
}

.sbe-screen--stats .elementor-counter-number-suffix {
	font-size: 0.46em;
	font-weight: 700;
}

.sbe-screen--stats .elementor-counter .elementor-counter-title {
	flex: 0 0 auto;
	justify-content: flex-start;
	margin-top: 12px;
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.35;
	text-align: left;
}

.sbe-stat + .sbe-stat .elementor-heading-title {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.75);
}

.sbe-screen .elementor-button {
	padding: 14px 28px;
	border-radius: 999px;
	background-color: #0000a8;
	color: #fff;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.sbe-screen .elementor-widget-button {
	margin-top: 28px;
}

html.sbe-js .sbe-value-line {
	opacity: 0;
	transform: translateY(14px);
}

html.sbe-js .sbe-value-line.is-in {
	animation: sbe-rise 0.8s ease forwards;
}

@keyframes sbe-rise {
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.sbe-js .sbe-value-line,
	html.sbe-js .sbe-value-line.is-in {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.sbe-hero-slider {
	position: relative;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
	scroll-snap-align: start;
}

.sbe-hero-slider > .sbe-screen.e-con {
	position: absolute;
	inset: 0;
	height: 100%;
	min-height: 0;
	opacity: 0;
	pointer-events: none;
	scroll-snap-align: none;
}

.sbe-hero-slider.is-animated > .sbe-screen.e-con {
	transition: opacity 0.8s ease;
}

.sbe-hero-slider > .sbe-screen.e-con.is-active {
	z-index: 1;
	opacity: 1;
	pointer-events: auto;
}

.sbe-hero-slider__dots {
	position: absolute;
	z-index: 2;
	bottom: 28px;
	left: 50%;
	display: flex;
	gap: 4px;
	transform: translateX(-50%);
}

.sbe-hero-slider .sbe-hero-slider__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

.sbe-hero-slider .sbe-hero-slider__dot::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
}

.sbe-hero-slider .sbe-hero-slider__dot.is-active::before {
	background: #fff;
}

.sbe-hero-slider .sbe-hero-slider__dot:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	border-radius: 50%;
}

@media (prefers-reduced-motion: reduce) {
	.sbe-hero-slider.is-animated > .sbe-screen.e-con {
		transition: none;
	}
}

#nosotros {
	scroll-margin-top: 96px;
}

#nosotros.e-con {
	padding: 0;
}

.sbe-nosotros {
	--sbe-nosotros-bg: none;
	position: relative;
	padding: 132px 40px 48px;
	background: #fff;
}

.sbe-nosotros::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: 220px;
	background-image: var(--sbe-nosotros-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.sbe-nosotros__panel {
	display: grid;
	grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1.35fr);
	gap: 36px;
	position: relative;
	z-index: 1;
	max-width: 1240px;
	margin: 0 auto;
	padding: 42px 40px 32px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-nosotros__copy,
.sbe-directorio,
.sbe-directorio__viewport {
	min-width: 0;
}

.sbe-nosotros__copy h2 {
	margin: 0 0 22px;
	color: #4e5963;
	font-size: clamp(28px, 2.2vw, 36px);
	font-weight: 900;
	line-height: 1.05;
}

.sbe-nosotros__copy p {
	margin: 0 0 14px;
	color: #2c3338;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
}

.sbe-directorio__title {
	margin: 0 0 18px;
	color: #0000a8;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.sbe-directorio__viewport {
	overflow: hidden;
}

.sbe-directorio__track {
	display: flex;
	gap: 18px;
	transition: transform 0.35s ease;
}

.sbe-person {
	display: flex;
	flex: 0 0 calc((100% - 36px) / 3);
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
}

.sbe-person__photo {
	display: block;
	width: 100%;
	height: 210px;
	margin-bottom: 12px;
	object-fit: cover;
	object-position: center top;
	background: #d5d8dc;
	border-radius: 8px;
}

.sbe-person__photo--empty {
	display: grid;
	place-items: center;
	color: #7d868e;
	font-size: 28px;
	font-weight: 700;
	border: 1px dashed #aeb6bd;
}

.sbe-person__name {
	margin: 0 0 6px;
	color: #1c242b;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}

.sbe-person__role p {
	margin: 0;
	color: #3d464d;
	font-size: 13px;
	line-height: 1.35;
}

.sbe-person__mail {
	display: inline-flex;
	gap: 6px;
	align-items: flex-start;
	margin-top: 10px;
	color: #0000a8;
	font-size: 11px;
	line-height: 1.3;
	text-decoration: none;
	overflow-wrap: break-word;
}

.sbe-person__mail-icon {
	flex: 0 0 auto;
	margin-top: 1px;
}

.sbe-person__mail:hover,
.sbe-person__mail:focus-visible {
	text-decoration: underline;
}

.sbe-directorio__nav,
.sbe-servicios__nav,
.sbe-proyectos__nav,
.sbe-novedades__nav {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin-top: 18px;
}

.sbe-directorio__nav button,
.sbe-servicios__nav button,
.sbe-proyectos__nav button,
.sbe-novedades__nav button {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	padding: 0;
	color: #0000a8;
	font-size: 24px;
	line-height: 1;
	background: #fff;
	border: 1px solid #c5ccd2;
	border-radius: 50%;
	cursor: pointer;
}

.sbe-directorio__nav button:disabled,
.sbe-servicios__nav button:disabled,
.sbe-proyectos__nav button:disabled,
.sbe-novedades__nav button:disabled {
	color: #9aa3aa;
	cursor: default;
}

.sbe-directorio__nav button:focus-visible,
.sbe-servicios__nav button:focus-visible,
.sbe-proyectos__nav button:focus-visible,
.sbe-novedades__nav button:focus-visible {
	outline: 2px solid #0000a8;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.sbe-directorio__track {
		transition: none;
	}
}

@media (max-width: 980px) {
	.sbe-nosotros__panel {
		grid-template-columns: 1fr;
	}

	.sbe-person {
		flex-basis: calc((100% - 18px) / 2);
	}
}

@media (max-width: 640px) {
	.sbe-nosotros {
		padding: 96px 16px 32px;
	}

	.sbe-nosotros::before {
		height: 160px;
	}

	.sbe-nosotros__panel {
		padding: 24px 18px 20px;
	}

	.sbe-person {
		flex-basis: 100%;
	}
}

@media (max-width: 1024px) {
	.sbe-tagline {
		display: none;
	}

	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
		display: none;
	}

	.elementor-location-header .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		background: transparent;
		color: #0000a8;
	}

	.elementor-location-header .elementor-menu-toggle svg {
		fill: #0000a8;
		width: 22px;
		height: 22px;
	}

	.elementor-location-header .sbe-nav {
		position: relative;
		flex-grow: 0;
		margin-left: auto;
	}

	.elementor-location-header .elementor-nav-menu--dropdown {
		position: absolute;
		z-index: 30;
		top: calc(100% + 10px);
		right: 0;
		width: min(260px, calc(100vw - 48px));
		padding: 8px 0;
		background: #fff;
		border-radius: 18px;
		box-shadow: 0 10px 28px rgba(4, 16, 40, 0.14);
	}

	.elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown {
		max-height: none !important;
		overflow: visible !important;
		transform: none !important;
		animation: none !important;
	}

	.elementor-location-header .elementor-nav-menu--dropdown .elementor-nav-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item {
		display: block;
		padding: 12px 16px;
	}

	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:focus,
	.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
		background-color: transparent;
		color: #0000a8;
	}
}

@media (max-width: 782px) {
	.elementor-location-header {
		right: 12px;
		left: 12px;
	}

	.sbe-header {
		gap: 12px;
		padding-right: 12px;
	}
}

#servicios {
	scroll-margin-top: 96px;
}

#servicios.e-con {
	padding: 0;
}

.sbe-servicios {
	--sbe-servicios-bg: none;
	position: relative;
	padding: 132px 40px 48px;
	background: #fff;
}

.sbe-servicios::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: 220px;
	background-image: var(--sbe-servicios-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.sbe-servicios__panel {
	position: relative;
	z-index: 1;
	max-width: 1240px;
	margin: 0 auto;
	padding: 22px 22px 14px 10px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-servicios__carousel {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 6px;
	row-gap: 12px;
	align-items: start;
	min-width: 0;
}

.sbe-servicios__label,
.sbe-proyectos__label {
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	margin: 10px 0 0;
	color: var(--e-global-color-primary, #0000a8);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.sbe-servicios__viewport {
	grid-column: 2;
	grid-row: 1;
	container-type: inline-size;
	container-name: sbe-servicios;
	min-width: 0;
	overflow: hidden;
}

.sbe-servicios__track {
	display: flex;
	gap: 14px;
	align-items: stretch;
	transition: transform 0.35s ease;
}

.sbe-service {
	display: flex;
	flex: 0 0 calc((100% - 42px) / 4);
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	background: transparent;
	border-radius: 0;
	container-type: inline-size;
}

.sbe-servicios .sbe-service__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.sbe-servicios .sbe-service__link:focus-visible {
	outline: 2px solid #0000a8;
	outline-offset: 3px;
}

.sbe-servicios .sbe-service__photo {
	display: block;
	width: 100%;
	height: 148px;
	object-fit: cover;
	object-position: center 30%;
	border-top-left-radius: 72px;
}

.sbe-servicios .sbe-service__photo--cut {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	object-fit: unset;
	border-top-left-radius: 0;
}

.sbe-servicios .sbe-service__title,
.sbe-servicios .sbe-service__note {
	margin: -20px 0 0;
	padding: 16px 16px 14px;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.12;
	border-radius: 0;
}

.sbe-servicios .sbe-service__title {
	box-sizing: border-box;
	height: 132px;
	overflow: hidden;
	flex-shrink: 0;
	font-size: 27px;
}

.sbe-servicios .sbe-service:has(.sbe-service__photo--cut) .sbe-service__title {
	position: relative;
	z-index: 0;
	width: 84%;
	height: calc(156px + 20cqw);
	margin: -20% 0 0 16%;
	padding-top: calc(20% + 18px);
}

.sbe-servicios .sbe-service:has(.sbe-service__photo--cut) .sbe-service__text {
	box-sizing: border-box;
	width: 84%;
	margin-left: 16%;
	margin-right: 0;
}

.sbe-servicios .sbe-service__note {
	display: block;
	margin: 4px 0 0;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
}

.sbe-service--blue .sbe-service__title {
	background: var(--e-global-color-primary, #0000a8);
}

.sbe-service--green .sbe-service__title {
	background: var(--e-global-color-secondary, #00a998);
}

.sbe-service__text {
	flex-grow: 1;
	margin: 0;
	padding: 12px 14px 16px;
	color: #3a434a;
	font-size: 15px;
	line-height: 1.4;
	background: #fff;
	border-radius: 0 0 16px 16px;
}

.sbe-servicios__nav,
.sbe-proyectos__nav {
	grid-column: 2;
	grid-row: 2;
}

@container (max-width: 1040px) {
	.sbe-service {
		flex-basis: calc((100% - 28px) / 3);
	}
}

@container (max-width: 760px) {
	.sbe-service {
		flex-basis: calc((100% - 14px) / 2);
	}
}

@container (max-width: 520px) {
	.sbe-service {
		flex-basis: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sbe-servicios__track {
		transition: none;
	}
}

@media (max-width: 640px) {
	.sbe-servicios {
		padding: 96px 16px 32px;
	}

	.sbe-servicios::before {
		height: 160px;
	}

	.sbe-servicios__panel {
		padding: 18px 14px 12px;
	}

	.sbe-servicios__carousel {
		grid-template-columns: 1fr;
	}

	.sbe-servicios__label,
	.sbe-servicios__viewport,
	.sbe-servicios__nav {
		grid-column: 1;
		grid-row: auto;
	}

	.sbe-servicios__label,
	.sbe-proyectos__label {
		writing-mode: horizontal-tb;
		transform: none;
		justify-self: start;
	}

	.sbe-servicios .sbe-service__photo {
		border-top-left-radius: 48px;
	}

	.sbe-servicios .sbe-service__photo--cut {
		border-top-left-radius: 0;
	}
}

#proyectos {
	scroll-margin-top: 96px;
}

#proyectos.e-con {
	padding: 0;
}

.sbe-proyectos {
	--sbe-proyectos-bg: none;
	position: relative;
	padding: 132px 40px 48px;
	background: #fff;
}

.sbe-proyectos::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: 220px;
	background-image: var(--sbe-proyectos-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.sbe-proyectos__panel {
	position: relative;
	z-index: 1;
	max-width: 1240px;
	margin: 0 auto;
	padding: 22px 22px 14px 10px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-proyectos__carousel {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 6px;
	row-gap: 12px;
	align-items: start;
	container-type: inline-size;
	container-name: sbe-proyectos;
	min-width: 0;
}

.sbe-proyectos__viewport {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	overflow: hidden;
}

.sbe-proyectos__track {
	display: flex;
	gap: 16px;
	align-items: stretch;
	transition: transform 0.35s ease;
}

.sbe-project {
	display: flex;
	flex: 0 0 calc((100% - 32px) / 3);
	flex-direction: column;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border-radius: 16px;
}

.sbe-proyectos .sbe-project__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.sbe-proyectos .sbe-project__link:focus-visible {
	outline: 2px solid #0000a8;
	outline-offset: 3px;
}

.sbe-project__media {
	position: relative;
	margin: 0;
}

.sbe-proyectos .sbe-project__photo {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
}

.sbe-proyectos .sbe-project__title {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 36px 14px 12px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	background: linear-gradient(180deg, rgba(12, 16, 20, 0) 0%, rgba(12, 16, 20, 0.82) 70%);
}

.sbe-project__text {
	flex-grow: 1;
	margin: 0;
	padding: 14px 14px 16px;
	color: #3a434a;
	font-size: 15px;
	line-height: 1.45;
}

@container (max-width: 980px) {
	.sbe-project {
		flex-basis: calc((100% - 16px) / 2);
	}
}

@container (max-width: 640px) {
	.sbe-project {
		flex-basis: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sbe-proyectos__track {
		transition: none;
	}
}

@media (max-width: 640px) {
	.sbe-proyectos {
		padding: 96px 16px 32px;
	}

	.sbe-proyectos::before {
		height: 160px;
	}

	.sbe-proyectos__panel {
		padding: 18px 14px 12px;
	}

	.sbe-proyectos__carousel {
		grid-template-columns: 1fr;
	}

	.sbe-proyectos__label,
	.sbe-proyectos__viewport,
	.sbe-proyectos__nav {
		grid-column: 1;
		grid-row: auto;
	}
}

#novedades {
	scroll-margin-top: 96px;
}

#novedades.e-con {
	padding: 0;
}

#novedades.e-con:not(:has(.sbe-novedades)) {
	display: none;
}

.sbe-novedades {
	--sbe-novedades-bg: none;
	position: relative;
	padding: 132px 40px 48px;
	background: #fff;
}

.sbe-novedades::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	left: 0;
	height: 220px;
	background-image: var(--sbe-novedades-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.sbe-novedades__heading {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sbe-novedades__panel {
	position: relative;
	z-index: 1;
	max-width: 1240px;
	margin: 0 auto;
	padding: 22px 18px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-novedades__carousel {
	min-width: 0;
}

.sbe-novedades__viewport {
	min-width: 0;
	overflow: hidden;
}

.sbe-novedades__track {
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 0.35s ease;
}

.sbe-novedad {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr);
	gap: 14px;
	align-items: stretch;
	box-sizing: border-box;
	min-width: 0;
	min-height: 168px;
}

.sbe-novedad:has(> .sbe-novedad__link) {
	display: block;
}

.sbe-novedades .sbe-novedad__link {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr);
	gap: 14px;
	align-items: stretch;
	box-sizing: border-box;
	height: 100%;
	min-height: 168px;
	color: inherit;
	text-decoration: none;
}

.sbe-novedades .sbe-novedad__link:focus-visible {
	outline: 2px solid #0000a8;
	outline-offset: 3px;
}

.sbe-novedad__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 0 4.5% 0 15% / 0 17% 0 56%;
	min-height: 168px;
}

.sbe-novedad--cut {
	min-height: 0;
}

.sbe-novedad--cut .sbe-novedad__media {
	align-self: start;
	aspect-ratio: 726 / 191;
	min-height: 0;
	border-radius: 0;
	background: transparent;
}

.sbe-novedades .sbe-novedad__photo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sbe-novedad--cut .sbe-novedad__photo {
	object-fit: fill;
}

.sbe-novedad--cut .sbe-novedad__caption {
	padding-left: 14%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 16% 100%, 9% 91%, 6% 82%, 3.5% 71%, 1.5% 54%, 0 36%);
}

.sbe-novedad__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 36px 16px 14px;
	background: linear-gradient(180deg, rgba(12, 16, 20, 0) 0%, rgba(12, 16, 20, 0.78) 72%);
}

.sbe-novedades .sbe-novedad__title {
	margin: 0;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.15;
}

.sbe-novedad__subtitle {
	margin: 2px 0 0;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
}

.sbe-novedad__copy {
	margin: 0;
	padding: 16px 22px;
	color: #4a555d;
	font-size: 15px;
	line-height: 1.4;
	column-count: 2;
	column-gap: 28px;
	column-fill: balance;
	background: #fff;
	border-radius: 16px;
}

@media (prefers-reduced-motion: reduce) {
	.sbe-novedades__track {
		transition: none;
	}
}

@media (max-width: 760px) {
	.sbe-novedad,
	.sbe-novedades .sbe-novedad__link {
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(0, 1fr);
		min-height: 0;
	}

	.sbe-novedad__media {
		min-height: 180px;
	}

	.sbe-novedad--cut .sbe-novedad__media {
		min-height: 0;
	}

	.sbe-novedad__copy {
		column-count: 1;
	}
}

@media (max-width: 640px) {
	.sbe-novedades {
		padding: 96px 16px 32px;
	}

	.sbe-novedades::before {
		height: 160px;
	}

	.sbe-novedades__panel {
		padding: 16px 10px;
	}
}

#contacto {
	scroll-margin-top: 96px;
}

#contacto.e-con {
	padding: 0;
}

.sbe-contacto {
	--sbe-contacto-bg: none;
	position: relative;
	padding: 132px 40px 64px;
	background: #0b3a66;
}

.sbe-contacto::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background-image: var(--sbe-contacto-bg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}

.sbe-contacto__heading {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sbe-contacto__panel {
	position: relative;
	z-index: 1;
	max-width: 1180px;
	margin: 0 auto;
	padding: 42px 48px 36px;
	background: #e7eaee;
	border-radius: 36px;
}

.sbe-contacto__form {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	grid-template-areas:
		"fields message"
		"offices message";
	gap: 28px 48px;
	align-items: stretch;
}

.sbe-contacto__notice {
	margin: 0 0 18px;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	line-height: 1.4;
}

.sbe-contacto__notice--sent {
	color: #0b6b4a;
}

.sbe-contacto__notice--error {
	color: #9d1c1c;
}

.sbe-contacto__fields {
	grid-area: fields;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.sbe-contacto__field {
	margin: 0;
}

.sbe-contacto__label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sbe-contacto__field input,
.sbe-contacto__message textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #d5dbe3;
	background: #fff;
	color: #141414;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	line-height: 1.3;
}

.sbe-contacto__field input {
	height: 48px;
	padding: 0 22px;
	border-radius: 999px;
}

.sbe-contacto__field input::placeholder,
.sbe-contacto__message textarea::placeholder {
	color: #8b949e;
}

.sbe-contacto__field input:focus-visible,
.sbe-contacto__message textarea:focus-visible,
.sbe-contacto__send:focus-visible {
	outline: 2px solid #0000a8;
	outline-offset: 2px;
}

.sbe-contacto__offices {
	grid-area: offices;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-self: end;
}

.sbe-contacto__office {
	margin: 0;
	color: #3a434a;
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-style: normal;
	line-height: 1.45;
}

.sbe-contacto__office strong {
	color: #141414;
	font-weight: 700;
}

.sbe-contacto__name {
	display: block;
	margin-bottom: 2px;
}

.sbe-contacto__office a {
	color: inherit;
	text-decoration: none;
}

.sbe-contacto__office a:hover,
.sbe-contacto__office a:focus-visible {
	color: #0000a8;
}

.sbe-contacto__message {
	grid-area: message;
	position: relative;
	min-height: 100%;
}

.sbe-contacto__message textarea {
	display: block;
	height: 100%;
	min-height: 360px;
	padding: 18px 18px 64px;
	border-radius: 22px;
	resize: vertical;
}

.sbe-contacto__send {
	position: absolute;
	right: 16px;
	bottom: 16px;
	padding: 8px 16px;
	border: 1px solid #c5ccd2;
	border-radius: 8px;
	background: #e4e7eb;
	color: #3a434a;
	font-family: Montserrat, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	cursor: pointer;
}

.sbe-contacto__send:hover {
	background: #0000a8;
	border-color: #0000a8;
	color: #fff;
}

.sbe-contacto__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

@media (max-width: 800px) {
	.sbe-contacto {
		padding: 96px 16px 40px;
	}

	.sbe-contacto__panel {
		padding: 22px 16px 18px;
		border-radius: 24px;
	}

	.sbe-contacto__form {
		grid-template-columns: 1fr;
		grid-template-areas:
			"fields"
			"message"
			"offices";
		gap: 18px;
	}

	.sbe-contacto__message textarea {
		min-height: 220px;
	}

	.sbe-contacto__offices {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

#partners {
	scroll-margin-top: 96px;
}

#partners.e-con {
	padding: 0;
}

#partners.e-con:not(:has(.sbe-partners)) {
	display: none;
}

.sbe-partners {
	padding: 8px 40px 48px;
	background: #fff;
}

.sbe-partners + .sbe-partners {
	padding-top: 0;
}

.sbe-partners__panel {
	max-width: 1240px;
	margin: 0 auto;
	padding: 20px 18px 16px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-partners__heading {
	margin: 0 0 10px 8px;
	color: var(--e-global-color-primary, #0000a8);
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	text-align: left;
}

.sbe-partners__viewport {
	container-type: inline-size;
	min-width: 0;
	overflow: hidden;
	touch-action: pan-y;
	cursor: grab;
}

.sbe-partners__viewport.is-dragging {
	cursor: grabbing;
}

.sbe-partners__track {
	display: flex;
	gap: 28px;
	transition: transform 0.45s ease;
}

.sbe-partners__logo {
	display: flex;
	flex: 0 0 calc((100% - 112px) / 5);
	align-items: center;
	justify-content: center;
	height: 88px;
	margin: 0;
}

.sbe-partners__img {
	display: block;
	max-width: 100%;
	max-height: 64px;
	width: auto;
	height: auto;
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
}

@container (max-width: 900px) {
	.sbe-partners__logo {
		flex-basis: calc((100% - 56px) / 3);
	}
}

@container (max-width: 520px) {
	.sbe-partners__logo {
		flex-basis: calc((100% - 28px) / 2);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sbe-partners__track {
		transition: none;
	}
}

@media (max-width: 640px) {
	.sbe-partners {
		padding: 8px 16px 32px;
	}

	.sbe-partners__panel {
		padding: 16px 10px 12px;
	}
}

.sbe-ficha {
	box-sizing: border-box;
	max-width: 1240px;
	margin: 0 auto;
	padding: 128px 40px 64px;
}

.sbe-ficha__panel {
	padding: 22px;
	background: #e6e8eb;
	border-radius: 28px;
}

.sbe-ficha .sbe-ficha__back {
	display: inline-block;
	margin: 0 0 14px;
	color: #0000a8;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.sbe-ficha .sbe-ficha__back:hover,
.sbe-ficha .sbe-ficha__back:focus-visible {
	color: #0000a8;
	text-decoration: underline;
}

.sbe-ficha__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 16px;
}

.sbe-ficha__photo {
	display: block;
	width: 100%;
	height: min(460px, 56vw);
	object-fit: cover;
}

.sbe-ficha__photo--cut {
	height: auto;
	object-fit: unset;
	background: #e6e8eb;
}

.sbe-ficha .sbe-ficha__media > .sbe-ficha__title,
.sbe-ficha .sbe-ficha__caption {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 72px 22px 18px;
	color: #fff;
	background: linear-gradient(180deg, rgba(12, 16, 20, 0) 0%, rgba(12, 16, 20, 0.82) 70%);
}

.sbe-ficha .sbe-ficha__title {
	margin: 0;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
}

.sbe-ficha .sbe-ficha__caption .sbe-ficha__title {
	position: static;
	padding: 0;
	background: none;
}

.sbe-ficha .sbe-ficha__subtitle {
	margin: 6px 0 0;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

.sbe-ficha .sbe-ficha__title--plain {
	position: static;
	margin: 0 8px 12px;
	padding: 0;
	color: #0000a8;
	background: none;
}

.sbe-ficha .sbe-ficha__subtitle--plain {
	margin: 0 8px 12px;
	color: #3a434a;
}

.sbe-ficha__body {
	padding: 22px 8px 8px;
	color: #141414;
	font-size: 16px;
	line-height: 1.55;
}

.sbe-ficha .sbe-ficha__body p,
.sbe-ficha .sbe-ficha__scope p {
	margin: 0 0 14px;
	color: #141414;
}

.sbe-ficha__meta {
	margin: 0 0 12px;
	color: #0000a8;
	font-size: 14px;
	font-weight: 700;
}

.sbe-ficha__meta span + span::before {
	content: " · ";
}

.sbe-ficha__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.sbe-ficha__gallery-photo {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
	border-radius: 12px;
}

@media (max-width: 640px) {
	.sbe-ficha {
		padding: 108px 16px 40px;
	}

	.sbe-ficha__panel {
		padding: 16px;
		border-radius: 20px;
	}

	.sbe-ficha .sbe-ficha__title {
		font-size: 22px;
	}

	.sbe-ficha .sbe-ficha__media > .sbe-ficha__title,
	.sbe-ficha .sbe-ficha__caption {
		padding: 56px 14px 14px;
	}

	.sbe-ficha__gallery {
		grid-template-columns: 1fr 1fr;
	}
}
