/** Homepage enterprise technology ecosystem slider. */
.avc-tech-ecosystem { --tech-gap: 1.5rem; --tech-duration: 36s; position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); background-color: var(--avc-surface-alt); background-image: radial-gradient(circle at 12% 10%, rgb(45 91 255 / 9%), transparent 30%), radial-gradient(circle at 88% 88%, rgb(249 115 22 / 7%), transparent 24%); }
.avc-tech-ecosystem::before { position: absolute; z-index: -1; inset: 0; opacity: .3; background-image: radial-gradient(var(--avc-border) 1px, transparent 1px); background-size: 2rem 2rem; content: ""; pointer-events: none; }
.avc-tech-ecosystem__glow { position: absolute; z-index: -1; top: -8rem; right: 8%; width: 20rem; aspect-ratio: 1; border-radius: 50%; background: rgb(45 91 255 / 8%); filter: blur(4rem); pointer-events: none; }
.avc-tech-ecosystem__container { width: 100%; max-width: 1320px; margin-inline: auto; padding-inline: 24px; }
.avc-tech-ecosystem__header { max-width: 52rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.avc-tech-ecosystem__eyebrow { margin: 0 0 var(--avc-space-2); color: var(--avc-secondary); font-size: var(--avc-text-sm, .8125rem); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.avc-tech-ecosystem__title { margin: 0; color: var(--avc-primary); line-height: 1.08; letter-spacing: -.035em; }
.avc-tech-ecosystem__description { max-width: 46rem; margin: var(--avc-space-2) 0 0; color: var(--avc-muted); font-size: clamp(1rem, 2vw, 1.125rem); }
.avc-tech-slider { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; }
.avc-tech-ecosystem__viewport { position: relative; width: 100%; max-width: 100%; min-width: 0; overflow: hidden; padding-block: .5rem 1.5rem; scrollbar-width: none; -ms-overflow-style: none; }
.avc-tech-ecosystem__viewport::-webkit-scrollbar { display: none; }
.avc-tech-ecosystem__viewport:focus-visible { outline: 3px solid var(--avc-focus); outline-offset: 2px; }
.avc-tech-ecosystem__track { display: flex; width: max-content; will-change: transform; animation: avc-technology-marquee var(--tech-duration) linear infinite; }
.avc-tech-ecosystem__group { display: flex; flex-shrink: 0; gap: var(--tech-gap); padding-right: var(--tech-gap); }
.avc-tech-slider:focus-within .avc-tech-ecosystem__track, .avc-tech-slider.is-interacting .avc-tech-ecosystem__track, .avc-tech-slider.is-paused .avc-tech-ecosystem__track { animation-play-state: paused; }
.avc-tech-card { display: flex; width: 290px; min-width: 0; min-height: 17rem; flex: 0 0 290px; flex-direction: column; padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid var(--avc-border); border-radius: clamp(1.25rem, 2vw, 1.5rem); background: rgb(255 255 255 / 92%); box-shadow: 0 12px 36px rgb(21 33 59 / 7%); backdrop-filter: blur(10px); transition: border-color var(--avc-transition, .3s ease), box-shadow var(--avc-transition, .3s ease), transform var(--avc-transition, .3s ease); }
.avc-tech-card:hover { border-color: color-mix(in srgb, var(--avc-accent) 35%, var(--avc-border)); box-shadow: 0 18px 44px rgb(21 33 59 / 12%); transform: translateY(-5px); }
.avc-tech-card__icon { display: block; width: auto; height: 42px; max-width: 100%; object-fit: contain; object-position: left center; }
.avc-tech-card__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--avc-space-1); margin-top: auto; padding-top: var(--avc-space-3); }
.avc-tech-card h3 { margin: 0; color: var(--avc-primary); font-size: 1.2rem; }
.avc-tech-card__heading span { flex: 0 0 auto; padding: .3rem .6rem; border-radius: 999px; color: var(--avc-secondary); background: var(--avc-surface-alt); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.avc-tech-card > p { margin: var(--avc-space-2) 0 0; color: var(--avc-muted); font-size: .925rem; line-height: 1.65; }
@keyframes avc-technology-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@media (hover: hover) { .avc-tech-slider:hover .avc-tech-ecosystem__track { animation-play-state: paused; } }
@media (min-width: 48rem) and (max-width: 74.99rem) {
	.avc-tech-ecosystem { --tech-duration: 30s; }
	.avc-tech-card { width: 270px; flex-basis: 270px; }
}
@media (max-width: 47.99rem) {
	.avc-tech-ecosystem { --tech-gap: 1rem; --tech-duration: 26s; }
	.avc-tech-ecosystem__container { padding-inline: 16px; }
	.avc-tech-card { width: min(84vw, 300px); min-height: 16rem; flex-basis: min(84vw, 300px); }
}
@media (prefers-reduced-motion: reduce) {
	.avc-tech-ecosystem__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-inline: contain; }
	.avc-tech-ecosystem__viewport::-webkit-scrollbar { display: none; }
	.avc-tech-ecosystem__track { animation: none; transform: none; will-change: auto; }
	.avc-tech-ecosystem__group[aria-hidden="true"] { display: none; }
	.avc-tech-card { scroll-snap-align: start; transition: none; }
}
