@font-face {
	font-family: Inter; font-style: normal; font-weight: 500; font-display: swap;
	src: url('../fonts/inter/latin-500.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.elementor-widget-tooto-capabilities-carousel {
	--tooto-cc-top: 80px; --tooto-cc-right: 80px; --tooto-cc-bottom: 80px; --tooto-cc-left: 80px;
	--tooto-cc-copy-width: 510px; --tooto-cc-copy-gap: 12px;
	--tooto-cc-link-spacing: 24px; --tooto-cc-link-icon-size: 10.54px; --tooto-cc-link-icon-gap: 10px;
	--tooto-cc-nav-right: 80px; --tooto-cc-nav-bottom: 80px; --tooto-cc-nav-color: #fff;
	--tooto-cc-nav-active: #ca1717; --tooto-cc-nav-dot-size: 6px; --tooto-cc-nav-gap: 12px; --tooto-cc-nav-arrow-size: 28px;
}
.tooto-capabilities-carousel {
	--tooto-cc-height: 100svh;
	position: relative; width: 100%; min-width: 0; color: #fff; background: #303030; isolation: isolate;
}
@supports (height: 100dvh) { .tooto-capabilities-carousel { --tooto-cc-height: 100dvh; } }
.tooto-capabilities-carousel__viewport { width: 100%; min-width: 0; position: relative; }
.tooto-capabilities-carousel__slide {
	position: relative; min-height: var(--tooto-cc-height); background: #303030; box-sizing: border-box;
	padding: var(--tooto-cc-top) var(--tooto-cc-right) var(--tooto-cc-bottom) var(--tooto-cc-left);
	display: flex; align-items: flex-end;
}
.tooto-capabilities-carousel__image,
.tooto-capabilities-carousel__media,
.tooto-capabilities-carousel__overlay { position: absolute; inset: 0; pointer-events: none; }
.tooto-capabilities-carousel__image { transition-property: transform; transition-timing-function: var(--swiper-wrapper-transition-timing-function, ease); }
.tooto-capabilities-carousel__media { background-size: cover; background-position: center; background-repeat: no-repeat; }
.tooto-capabilities-carousel__overlay { background-image: linear-gradient(180deg, #0000 30%, #000a 100%); }
.tooto-capabilities-carousel__caption { position: relative; z-index: 1; width: min(100%, var(--tooto-cc-copy-width)); }
.tooto-capabilities-carousel__title { margin: 0; color: #fff; font: 700 22px/1.25 Montserrat, sans-serif; text-transform: uppercase; overflow-wrap: anywhere; }
.tooto-capabilities-carousel__body { display: flow-root; margin-top: var(--tooto-cc-copy-gap); color: #fff; font: 400 16px/1.4 Poppins, sans-serif; overflow-wrap: anywhere; }
.tooto-capabilities-carousel__body > :first-child { margin-top: 0; }
.tooto-capabilities-carousel__body > :last-child { margin-bottom: 0; }
.tooto-capabilities-carousel__link {
	display: inline-flex; align-items: center; gap: var(--tooto-cc-link-icon-gap); max-width: 100%; min-height: 24px;
	margin-top: var(--tooto-cc-link-spacing); border-bottom: 1px solid currentColor;
	color: #fff; font: 500 16px/1.4 Inter, sans-serif; text-decoration: none;
	/* Keep theme transition:all away from the Swiper Animate transform. */
	transition: color 180ms;
}
.tooto-capabilities-carousel__link:hover { color: #fff; }
.tooto-capabilities-carousel__link-text { min-width: 0; overflow-wrap: anywhere; }
.tooto-capabilities-carousel__link-icon {
	flex: 0 0 auto; width: var(--tooto-cc-link-icon-size); height: var(--tooto-cc-link-icon-size);
	background-color: currentColor; mask: url('../svg/capabilities/arrow-right.svg') center / contain no-repeat;
}
.tooto-capabilities-carousel[data-tooto-carousel-ready] .tooto-capabilities-carousel__viewport { height: var(--tooto-cc-height); overflow: hidden; touch-action: pan-y pinch-zoom; }
.tooto-capabilities-carousel[data-tooto-carousel-ready] .tooto-capabilities-carousel__slide { min-height: 0; height: 100%; padding: 0; overflow: hidden; }
.tooto-capabilities-carousel[data-tooto-carousel-ready] .tooto-capabilities-carousel__caption {
	position: absolute; left: max(var(--tooto-cc-left), env(safe-area-inset-left));
	bottom: max(var(--tooto-cc-bottom), env(safe-area-inset-bottom));
	width: min(var(--tooto-cc-copy-width), calc(100% - var(--tooto-cc-left) - max(var(--tooto-cc-right), var(--tooto-cc-nav-right) + var(--tooto-cc-navigation-width, 0px) + 24px)));
	max-height: calc(100% - var(--tooto-cc-top) - var(--tooto-cc-bottom));
	overflow-y: auto; overscroll-behavior-y: auto; scrollbar-width: thin; scrollbar-color: #fff8 transparent;
}
/* Entrance transforms can temporarily exceed the caption without actual text overflow. */
.tooto-capabilities-carousel[data-tooto-carousel-ready] .tooto-capabilities-carousel__caption:has(.ani.animated) { overflow-y: hidden; }
.tooto-capabilities-carousel .ani.animated { animation-fill-mode: both; }
.tooto-capabilities-carousel__navigation { position: absolute; z-index: 2; right: max(var(--tooto-cc-nav-right), env(safe-area-inset-right)); bottom: max(var(--tooto-cc-nav-bottom), env(safe-area-inset-bottom)); display: flex; align-items: center; gap: var(--tooto-cc-nav-gap); max-width: calc(100% - 48px); }
.tooto-capabilities-carousel__navigation[hidden] { display: none; }
.tooto-capabilities-carousel__pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0; }
.tooto-capabilities-carousel .tooto-capabilities-carousel__navigation button {
	display: grid; place-items: center; border: 0; border-radius: 0; padding: 0; margin: 0; min-height: 44px;
	background: transparent; box-shadow: none; color: var(--tooto-cc-nav-color); cursor: pointer; transition: color 180ms;
}
.tooto-capabilities-carousel .tooto-capabilities-carousel__arrow { flex: 0 0 auto; width: max(44px, var(--tooto-cc-nav-arrow-size)); }
.tooto-capabilities-carousel__arrow span { display: block; width: var(--tooto-cc-nav-arrow-size); height: calc(var(--tooto-cc-nav-arrow-size) * 20 / 28); background: currentColor; mask: url('../svg/contact/arrow.svg') center / contain no-repeat; }
.tooto-capabilities-carousel__previous span { transform: rotate(180deg); }
.tooto-capabilities-carousel .tooto-capabilities-carousel__dot { width: max(12px, calc(var(--tooto-cc-nav-dot-size) + 6px)); flex: 0 0 auto; }
.tooto-capabilities-carousel__dot::before { content: ''; display: block; width: var(--tooto-cc-nav-dot-size); height: var(--tooto-cc-nav-dot-size); border-radius: 50%; background: currentColor; opacity: .5; }
.tooto-capabilities-carousel .tooto-capabilities-carousel__dot[aria-current="true"] { color: var(--tooto-cc-nav-active); }
.tooto-capabilities-carousel__dot[aria-current="true"]::before,
.tooto-capabilities-carousel__dot:hover::before { opacity: 1; }
.tooto-capabilities-carousel .tooto-capabilities-carousel__arrow:hover { color: var(--tooto-cc-nav-active); }
.tooto-capabilities-carousel:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.tooto-capabilities-carousel :is(button, a, [tabindex="0"]):focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) { .tooto-capabilities-carousel *, .tooto-capabilities-carousel *::before { transition: none; } }

/* Share the Blocksy content boundaries while keeping the background full width. */
@media (min-width: 1000px) {
	.tooto-capabilities-carousel {
		--tooto-cc-content-inset: calc((100% - min(var(--theme-container-width, 90%), var(--theme-normal-container-max-width, 1560px))) / 2);
		--tooto-cc-left: var(--tooto-cc-content-inset);
		--tooto-cc-right: var(--tooto-cc-content-inset);
		--tooto-cc-nav-right: var(--tooto-cc-content-inset);
	}
}
