html[data-tooto-cap-captured] { overflow: hidden; overscroll-behavior-y: none; scrollbar-gutter: stable; }
.elementor-widget-tooto-scroll-capabilities {
	--tooto-cap-top: 80px;
	--tooto-cap-right: 80px;
	--tooto-cap-bottom: 80px;
	--tooto-cap-left: 80px;
	--tooto-cap-copy-width: 510px;
	--tooto-cap-copy-gap: 12px;
	--tooto-cap-nav-right: 80px;
	--tooto-cap-nav-bottom: 80px;
	--tooto-cap-nav-length: 28px;
	--tooto-cap-nav-color: #fff;
}
.tooto-scroll-capabilities {
	--tooto-cap-height: calc(100svh - var(--tooto-cap-header, 0px));
	position: relative;
	width: 100%;
	min-width: 0;
	color: #fff;
	background: #303030;
	isolation: isolate;
}
@supports (height: 100dvh) {
	.tooto-scroll-capabilities { --tooto-cap-height: calc(100dvh - var(--tooto-cap-header, 0px)); }
}
.tooto-scroll-capabilities__viewport { position: relative; }
.tooto-scroll-capabilities__slide {
	position: relative;
	min-height: var(--tooto-cap-height);
	background: #303030;
	padding: var(--tooto-cap-top) var(--tooto-cap-right) var(--tooto-cap-bottom) var(--tooto-cap-left);
	display: flex;
	align-items: flex-end;
}
.tooto-scroll-capabilities__image,
.tooto-scroll-capabilities__media,
.tooto-scroll-capabilities__overlay { position: absolute; inset: 0; pointer-events: none; }
.tooto-scroll-capabilities__media { background-size: cover; background-position: center; background-repeat: no-repeat; }
.tooto-scroll-capabilities__overlay { background-image: linear-gradient(180deg, #0000 30%, #000a 100%); }
.tooto-scroll-capabilities__caption { position: relative; width: min(100%, var(--tooto-cap-copy-width)); z-index: 1; }
.tooto-scroll-capabilities__title { margin: 0; color: #fff; font: 700 22px/1.25 Montserrat, sans-serif; text-transform: uppercase; overflow-wrap: anywhere; }
.tooto-scroll-capabilities__body { display: flow-root; color: #fff; font: 400 16px/1.4 Poppins, sans-serif; overflow-wrap: anywhere; }
.tooto-scroll-capabilities__body > :first-child { margin-top: 0; }
.tooto-scroll-capabilities__body > :last-child { margin-bottom: 0; }
.tooto-scroll-capabilities__body-mask { margin-top: var(--tooto-cap-copy-gap); }
.tooto-scroll-capabilities__navigation,
.tooto-scroll-capabilities__skip { display: none; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__viewport {
	height: var(--tooto-cap-height);
	overflow: hidden;
	overflow: clip;
}
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__slide {
	position: absolute;
	inset: 0;
	min-height: 0;
	padding: 0;
	background: transparent;
	visibility: hidden;
	pointer-events: none;
}
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__slide[data-tooto-cap-visible] { visibility: visible; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__slide[data-tooto-cap-current] { pointer-events: auto; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__caption {
	position: absolute;
	left: max(var(--tooto-cap-left), env(safe-area-inset-left));
	right: max(var(--tooto-cap-right), env(safe-area-inset-right));
	bottom: max(var(--tooto-cap-bottom), env(safe-area-inset-bottom));
	width: auto;
	max-width: var(--tooto-cap-copy-width);
	max-height: calc(100% - max(var(--tooto-cap-top), env(safe-area-inset-top)) - max(var(--tooto-cap-bottom), env(safe-area-inset-bottom)));
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scrollbar-width: thin;
	scrollbar-color: #fff8 transparent;
}
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__title-mask { height: var(--tooto-cap-title-height); overflow: hidden; }
.tooto-scroll-capabilities[data-tooto-cap-intercept]:not([data-tooto-cap-state="active"]) .tooto-scroll-capabilities__caption { overflow-y: clip; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__body-mask { height: var(--tooto-cap-body-height); overflow: hidden; }
.tooto-scroll-capabilities[data-tooto-cap-ready] [data-tooto-cap-overflow] :is(.tooto-scroll-capabilities__title-mask, .tooto-scroll-capabilities__body-mask) { height: auto; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__navigation {
	position: absolute;
	z-index: 3;
	right: max(calc(var(--tooto-cap-nav-right) - 21px), env(safe-area-inset-right));
	bottom: max(var(--tooto-cap-nav-bottom), env(safe-area-inset-bottom));
	display: flex;
	flex-direction: column;
	max-height: calc(100% - 32px);
	overflow-y: auto;
	scrollbar-width: none;
}
.tooto-scroll-capabilities .tooto-scroll-capabilities__navigation button {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	min-height: 0;
	height: var(--tooto-cap-nav-length);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}
.tooto-scroll-capabilities__navigation button::before { content: ''; width: 2px; height: 100%; background: var(--tooto-cap-nav-color); opacity: .35; transition: opacity 180ms; }
.tooto-scroll-capabilities__navigation button:is([aria-current="true"], :hover, :focus-visible)::before { opacity: 1; }
.tooto-scroll-capabilities .tooto-scroll-capabilities__navigation[hidden] { display: none; }
.tooto-scroll-capabilities[data-tooto-cap-ready] .tooto-scroll-capabilities__skip { display: block; position: absolute; z-index: 4; top: 12px; left: 12px; clip-path: inset(50%); }
.tooto-scroll-capabilities .tooto-scroll-capabilities__skip:focus-visible { clip-path: none; background: #fff; color: #161616; }
.tooto-scroll-capabilities:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.tooto-scroll-capabilities :is(button, a):focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) {
	.tooto-scroll-capabilities__navigation button::before { transition: none; }
}
