.tooto-engineering-carousel { min-width: 0; overflow: visible; }
.tooto-engineering-carousel__viewport.swiper { width: 100%; margin-inline: auto; overflow: visible; }
.tooto-engineering-carousel__slide { position: relative; width: max(1px, var(--tooto-engineering-image-width, min(90%, 1760px))); min-width: 0; height: auto; flex-shrink: 0; }
.tooto-engineering-carousel__image { position: relative; aspect-ratio: var(--tooto-engineering-image-ratio, 1246 / 614); overflow: hidden; background: #ececec; }
.tooto-engineering-carousel__image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.tooto-engineering-carousel__image::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent var(--tooto-engineering-overlay-start, 43.241%), var(--tooto-engineering-overlay-color, #000000c9) var(--tooto-engineering-overlay-end, 118.08%)); }
.tooto-engineering-carousel__caption { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: 33px 48px; pointer-events: none; }
.tooto-engineering-carousel__copy { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: var(--tooto-engineering-number-gap, 6px); align-items: baseline; width: var(--tooto-engineering-copy-width, min(100%, 848px)); max-width: 100%; min-height: 0; max-height: 100%; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ffffff80 transparent; pointer-events: auto; }
.tooto-engineering-carousel__heading { min-width: 0; margin: 0; font-size: inherit; line-height: 1; }
.tooto-engineering-carousel__number { flex-shrink: 0; color: var(--tooto-engineering-number-color, #fff); font: 600 24px/1 Montserrat, sans-serif; }
.tooto-engineering-carousel__title { min-width: 0; color: var(--tooto-engineering-title-color, #fff); font: 600 24px/1 Montserrat, sans-serif; text-transform: uppercase; overflow-wrap: anywhere; }
.tooto-engineering-carousel__body { grid-column: 1 / -1; margin-top: var(--tooto-engineering-copy-gap, 16px); color: var(--tooto-engineering-body-color, #fff); font: 400 14px/1.7 Poppins, sans-serif; overflow-wrap: anywhere; }
.tooto-engineering-carousel__body > :last-child { margin-bottom: 0; }
.tooto-engineering-carousel__body a { color: inherit; text-decoration: underline; }
.tooto-engineering-carousel[data-tooto-ready] .swiper-slide:not(.swiper-slide-active) .tooto-engineering-carousel__caption,
.tooto-engineering-carousel[data-tooto-ready] .swiper-slide:not(.swiper-slide-active) .tooto-engineering-carousel__image::after { visibility: hidden; }
/* Native hit targets cover only neighboring photographs; no visible navigation row. */
.tooto-engineering-carousel .tooto-engineering-carousel__select { display: none; position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; cursor: pointer; }
.tooto-engineering-carousel[data-tooto-ready] :is(.swiper-slide-prev, .swiper-slide-next) .tooto-engineering-carousel__select { display: block; }
.tooto-engineering-carousel__action { display: flex; justify-content: center; padding-inline: 24px; margin-top: var(--tooto-engineering-link-spacing, 32px); }
.tooto-engineering-carousel__link {
	display: inline-flex; align-items: center; justify-content: center; min-width: min(100%, var(--tooto-engineering-link-width, 170px)); max-width: 100%; min-height: 44px;
	padding: 12px 24px; border: var(--tooto-engineering-link-border-width, 1px) solid var(--tooto-engineering-link-border-color, #959595); border-radius: var(--tooto-engineering-link-radius, 0px);
	color: var(--tooto-engineering-link-color, #959595); background: var(--tooto-engineering-link-background, transparent); font: 500 16px/1.4 Poppins, sans-serif; text-align: center; text-decoration: none; overflow-wrap: anywhere;
	transition: color 180ms, background-color 180ms, border-color 180ms;
}
@media (hover: hover) and (pointer: fine) {
	.tooto-engineering-carousel__link:hover { color: var(--tooto-engineering-link-hover-color, #f33030); background: var(--tooto-engineering-link-hover-background, transparent); border-color: var(--tooto-engineering-link-hover-border, #f33030); }
}
.tooto-engineering-carousel__pagination { display: none; }
.tooto-engineering-carousel :is(a, button, [tabindex]):focus-visible { outline: 2px solid var(--theme-palette-color-1, #f33030); outline-offset: -2px; }
.tooto-engineering-carousel:focus-visible { outline: 2px solid var(--theme-palette-color-1, #f33030); outline-offset: -2px; }
/* Readable originals when the shared runtime is unavailable. */
.tooto-engineering-carousel__viewport:not(.swiper-initialized) > .swiper-wrapper { display: grid; justify-items: center; gap: var(--tooto-engineering-gap, 24px); }
@media (prefers-reduced-motion: reduce) { .tooto-engineering-carousel__link { transition: none; } }

.tooto-engineering-carousel .tooto-engineering-carousel__arrow { display: none; }
