/* Enso hero slider loader (preview only, Cryder 2026-11-13) */
.enso-sl .block-full-height-slider {
	position: relative;
	background: #142248;
	min-height: max(670px, 100vh);
	overflow: hidden;
}
@media (max-width: 767px) {
	.enso-sl .block-full-height-slider { min-height: max(670px, calc(100vh - 80px)); }
}
/* Before Owl initialises: hide the carousel, keep only the first slide in flow (no stacking, no layout shift). */
.enso-sl .block-full-height-slider .owl-carousel {
	display: block;
	opacity: 0;
	transition: opacity .6s ease;
}
.enso-sl .block-full-height-slider .owl-carousel:not(.owl-loaded) > .slide-item:not(:first-child) { display: none; }
/* If main.js has not yet turned .bg-img into a background, show the image as a cover background. */
.enso-sl .block-full-height-slider .slide-item { position: relative; isolation: isolate; }
.enso-sl .block-full-height-slider .slide-item > .bg-img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; }
.enso-sl .block-full-height-slider .slide-item > .bg-img img { width: 100%; height: 100%; object-fit: cover; }
/* Reveal: Owl ready, or the ~3s fallback. */
.enso-sl.enso-sl-ready .block-full-height-slider .owl-carousel,
.enso-sl.enso-sl-timeout .block-full-height-slider .owl-carousel { opacity: 1; }
/* Branded loader: Enso light-blue ring on the navy hero. */
.enso-sl .block-full-height-slider::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 46px;
	height: 46px;
	margin: -23px 0 0 -23px;
	border: 3px solid rgba(255, 255, 255, .2);
	border-top-color: #7dc7ff;
	border-radius: 50%;
	animation: enso-sl-spin .9s linear infinite;
	transition: opacity .3s ease;
	pointer-events: none;
	z-index: 5;
}
.enso-sl.enso-sl-ready .block-full-height-slider::after,
.enso-sl.enso-sl-timeout .block-full-height-slider::after { opacity: 0; animation: none; }
@keyframes enso-sl-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.enso-sl .block-full-height-slider .owl-carousel { transition: none; }
	.enso-sl .block-full-height-slider::after { animation-duration: 2s; }
}
