/**
 * Services data-value — timeline SVG animata (desktop + mobile).
 *
 * @package GDS-Fullcreative
 */

.gds-services-section--data-value .gds-services-data-value__timeline {
	overflow: visible;
}

.gds-services-section--data-value .gds-services-data-value__graphic,
.gds-services-section--data-value .gds-services-data-value__graphic-svg-wrap {
	display: block;
	width: 100%;
	max-width: var(--gds-services-data-value-timeline-max-w);
	height: auto;
	aspect-ratio: var(--gds-services-data-value-timeline-ratio);
	margin-inline: auto;
	border: none;
	outline: none;
	background: transparent;
	object-fit: contain;
}

.gds-services-section--data-value .gds-services-data-value__timeline--mobile .gds-services-data-value__graphic,
.gds-services-section--data-value .gds-services-data-value__timeline--mobile .gds-services-data-value__graphic-svg-wrap {
	max-width: var(--gds-services-data-value-timeline-mobile-max-w);
	aspect-ratio: var(--gds-services-data-value-timeline-mobile-ratio);
}

.gds-services-section--data-value .gds-services-data-value__graphic-svg-wrap svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.gds-services-data-value__timeline--mobile {
	display: none;
}

html.gds-anim-js .gds-services-section--data-value .gds-services-data-value__graphic:not(.gds-svg-ready),
html.gds-anim-js .gds-services-section--data-value .gds-services-data-value__graphic-svg-wrap:not(.gds-svg-ready) {
	opacity: 0;
	visibility: hidden;
}

@keyframes gds-dv-show {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes gds-dv-node-in {
	from {
		opacity: 0;
		transform: scale(0.5);
	}
	70% {
		opacity: 1;
		transform: scale(1.06);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes gds-dv-fade-up {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes gds-dv-fade-down {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Stato iniziale — desktop */
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-h-line,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-cap,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy {
	opacity: 0;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-h-line {
	animation: gds-dv-show 0.9s ease 0s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-cap--start {
	animation: gds-dv-show 0.5s ease 1s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-cap--end {
	animation: gds-dv-show 0.5s ease 1.2s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path--1 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1.5s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path--2 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path--3 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2.5s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path--4 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line--assess {
	animation: gds-dv-show 0.55s ease 1.5s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring--assess {
	animation: gds-dv-show 0.45s ease 1.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label--assess {
	animation: gds-dv-fade-up 0.55s ease 1.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy--assess {
	animation: gds-dv-fade-up 0.6s ease 1.75s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line--design {
	animation: gds-dv-show 0.55s ease 2s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring--design {
	animation: gds-dv-show 0.45s ease 2.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label--design {
	animation: gds-dv-fade-down 0.55s ease 2.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy--design {
	animation: gds-dv-fade-down 0.6s ease 2.25s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line--deliver {
	animation: gds-dv-show 0.55s ease 2.5s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring--deliver {
	animation: gds-dv-show 0.45s ease 2.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label--deliver {
	animation: gds-dv-fade-up 0.55s ease 2.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy--deliver {
	animation: gds-dv-fade-up 0.6s ease 2.75s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line--sustain {
	animation: gds-dv-show 0.55s ease 3s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring--sustain {
	animation: gds-dv-show 0.45s ease 3.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label--sustain {
	animation: gds-dv-fade-down 0.55s ease 3.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy--sustain {
	animation: gds-dv-fade-down 0.6s ease 3.25s forwards;
}

/* Stato iniziale — mobile */
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-v-line,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-cap,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label,
.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy {
	opacity: 0;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-v-line--main {
	animation: gds-dv-show 0.9s ease 0s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-cap--start {
	animation: gds-dv-show 0.5s ease 1s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-cap--end {
	animation: gds-dv-show 0.5s ease 1.2s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path--1 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1.5s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path--2 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path--3 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2.5s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path--4 {
	animation: gds-dv-node-in 0.6s cubic-bezier(0.22, 1, 0.36, 1) 3s forwards;
	transform-box: fill-box;
	transform-origin: center;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line--assess {
	animation: gds-dv-show 0.55s ease 1.5s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring--assess {
	animation: gds-dv-show 0.45s ease 1.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label--assess {
	animation: gds-dv-fade-up 0.55s ease 1.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy--assess {
	animation: gds-dv-fade-up 0.6s ease 1.75s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line--design {
	animation: gds-dv-show 0.55s ease 2s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring--design {
	animation: gds-dv-show 0.45s ease 2.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label--design {
	animation: gds-dv-fade-up 0.55s ease 2.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy--design {
	animation: gds-dv-fade-up 0.6s ease 2.25s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line--deliver {
	animation: gds-dv-show 0.55s ease 2.5s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring--deliver {
	animation: gds-dv-show 0.45s ease 2.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label--deliver {
	animation: gds-dv-fade-up 0.55s ease 2.6s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy--deliver {
	animation: gds-dv-fade-up 0.6s ease 2.75s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line--sustain {
	animation: gds-dv-show 0.55s ease 3s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring--sustain {
	animation: gds-dv-show 0.45s ease 3.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label--sustain {
	animation: gds-dv-fade-up 0.55s ease 3.1s forwards;
}

.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy--sustain {
	animation: gds-dv-fade-up 0.6s ease 3.25s forwards;
}

@media (max-width: 1280px) {
	.gds-services-section--data-value {
		min-height: auto;
	}

	.gds-services-data-value__timeline--desktop {
		display: none;
	}

	.gds-services-data-value__timeline--mobile {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.gds-anim-js .gds-services-section--data-value .gds-services-data-value__graphic,
	html.gds-anim-js .gds-services-section--data-value .gds-services-data-value__graphic-svg-wrap {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-h-line,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-v-line,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-cap,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-ring,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-node-path,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-label,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--desktop .gds-dv-copy,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-h-line,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-v-line,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-cap,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-ring,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-node-path,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-label,
	.gds-services-section--data-value.gds-anim-is-active .gds-services-data-value__timeline--mobile .gds-dv-copy {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		stroke-dasharray: 5 5 !important;
		stroke-dashoffset: 0 !important;
	}
}
