/* VECC Motion System — frozen visual language from Theme 1.6.1; accessible partner conveyor restored in 1.6.2. */
:root {
	--vecc-motion-fast: 180ms;
	--vecc-motion-base: 520ms;
	--vecc-motion-slow: 780ms;
	--vecc-motion-page: 300ms;
	--vecc-ease-out: cubic-bezier(.2,.72,.2,1);
	--vecc-ease-sport: cubic-bezier(.16,.8,.28,1);
	--vecc-stagger-step: 60ms;
}

.vecc-motion-v2 .vecc-reveal,
.vecc-motion-v2 .vecc-reveal-up,
.vecc-motion-v2 .vecc-reveal-down,
.vecc-motion-v2 .vecc-reveal-left,
.vecc-motion-v2 .vecc-reveal-right,
.vecc-motion-v2 .vecc-reveal-scale,
.vecc-motion-v2 .vecc-reveal-fade,
.vecc-motion-v2 .vecc-reveal-mask {
	opacity: 0;
	transition-delay: var(--vecc-delay, var(--delay, 0ms));
	transition-duration: var(--vecc-motion-base);
	transition-property: opacity, transform, clip-path;
	transition-timing-function: var(--vecc-ease-out);
	will-change: opacity, transform;
}
.vecc-motion-v2 .vecc-reveal,
.vecc-motion-v2 .vecc-reveal-up { transform: translate3d(0,22px,0); }
.vecc-motion-v2 .vecc-reveal-down { transform: translate3d(0,-16px,0); }
.vecc-motion-v2 .vecc-reveal-left { transform: translate3d(-34px,0,0); }
.vecc-motion-v2 .vecc-reveal-right { transform: translate3d(34px,0,0); }
.vecc-motion-v2 .vecc-reveal-scale { transform: scale(.965); transition-duration: var(--vecc-motion-slow); }
.vecc-motion-v2 .vecc-reveal-fade { transform: none; transition-duration: 420ms; }
.vecc-motion-v2 .vecc-reveal-mask { clip-path: inset(0 100% 0 0); transform: translate3d(-10px,0,0); transition-duration: var(--vecc-motion-slow); }
.vecc-motion-v2 .vecc-heading-reveal.vecc-reveal-mask,
.vecc-motion-v2 h1.vecc-reveal-mask,
.vecc-motion-v2 h2.vecc-reveal-mask { clip-path: inset(0 0 100% 0); transform: translate3d(0,20px,0); }
.vecc-motion-v2 .is-visible.vecc-reveal,
.vecc-motion-v2 .is-visible.vecc-reveal-up,
.vecc-motion-v2 .is-visible.vecc-reveal-down,
.vecc-motion-v2 .is-visible.vecc-reveal-left,
.vecc-motion-v2 .is-visible.vecc-reveal-right,
.vecc-motion-v2 .is-visible.vecc-reveal-scale,
.vecc-motion-v2 .is-visible.vecc-reveal-fade,
.vecc-motion-v2 .is-visible.vecc-reveal-mask { opacity: 1; clip-path: inset(0); transform: none; }

.vecc-motion-v2 [data-vecc-stagger] > * {
	transition-delay: calc(var(--vecc-delay,0ms) + var(--vecc-stagger-index,0) * var(--vecc-stagger-step,60ms)) !important;
}
.vecc-motion-v2 .vecc-section-head::after { transform: scaleX(0); transform-origin: left; transition: transform var(--vecc-motion-slow) var(--vecc-ease-sport) 120ms; }
.vecc-motion-v2 .vecc-section-head.is-visible::after,
.vecc-motion-v2 .vecc-section-head:has(.is-visible)::after { transform: scaleX(1); }

.vecc-motion-v2 .vecc-heading-reveal em,
.vecc-motion-v2 .vecc-heading-reveal strong,
.vecc-motion-v2 .vecc-display strong,
.vecc-motion-v2 .vecc-section-head h2 em {
	display: inline-block;
	clip-path: inset(0 100% 0 0);
	transition: clip-path var(--vecc-motion-slow) var(--vecc-ease-sport) 220ms, color var(--vecc-motion-base) ease 220ms;
}
.vecc-motion-v2 .vecc-heading-reveal.is-visible em,
.vecc-motion-v2 .vecc-heading-reveal.is-visible strong,
.vecc-motion-v2 .vecc-display.is-visible strong,
.vecc-motion-v2 .vecc-section-head h2.is-visible em { clip-path: inset(0); }

.vecc-motion-v2 .vecc-image-reveal { overflow: hidden; isolation: isolate; }
.vecc-motion-v2 .vecc-image-reveal img,
.vecc-motion-v2 .vecc-image-reveal::before { transition: transform 1s var(--vecc-ease-out); }
.vecc-motion-v2 .vecc-image-reveal:not(.is-visible) img { transform: scale(1.055); }
.vecc-motion-v2 .vecc-image-reveal.is-visible img { transform: scale(1); }

.vecc-motion-v2 .vecc-hero-sequence .vecc-actions { overflow: visible; }
.vecc-motion-v2 .vecc-hero__rail.vecc-reveal-line,
.vecc-motion-v2 .vecc-team-hero__facts.vecc-reveal-line,
.vecc-motion-v2 .vecc-player-facts.vecc-reveal-line { opacity: 0; transform: scaleX(.9); transform-origin: left; transition: opacity var(--vecc-motion-base) ease var(--vecc-delay,0ms), transform var(--vecc-motion-slow) var(--vecc-ease-sport) var(--vecc-delay,0ms); }
.vecc-motion-v2 .vecc-reveal-line.is-visible { opacity: 1; transform: scaleX(1); }

.vecc-motion-v2 .vecc-sports-card-sequence > * { opacity: 0; transform: translate3d(-10px,0,0); transition: opacity 320ms ease, transform 420ms var(--vecc-ease-out); }
.vecc-motion-v2 .vecc-sports-card-sequence.is-visible > * { opacity: 1; transform: none; }
.vecc-motion-v2 .vecc-sports-card-sequence.is-visible > *:nth-child(2) { transition-delay: 55ms; }
.vecc-motion-v2 .vecc-sports-card-sequence.is-visible > *:nth-child(3) { transition-delay: 100ms; }
.vecc-motion-v2 .vecc-sports-card-sequence.is-visible > *:nth-child(4) { transition-delay: 145ms; }
.vecc-motion-v2 [data-vecc-status="result"] { border-left: 3px solid var(--vecc-navy); }
.vecc-motion-v2 [data-vecc-status="live"] > b,
.vecc-motion-v2 .vecc-status--live { color: #d92d38; }
.vecc-motion-v2 [data-vecc-status="live"] > b::before,
.vecc-motion-v2 .vecc-status--live::before { background: #d92d38; box-shadow: 0 0 0 0 rgba(217,45,56,.38); }

.vecc-motion-v2 .vecc-heritage-sequence::before { transform: scaleX(0); transform-origin: left; transition: transform 900ms var(--vecc-ease-sport) 160ms; }
.vecc-motion-v2 .vecc-heritage-sequence.is-visible::before { transform: scaleX(1); }

.vecc-motion-v2 .vecc-team-card h2,
.vecc-motion-v2 .vecc-squad-grid h3,
.vecc-motion-v2 .vecc-squad-grid p { transition: color var(--vecc-motion-fast) ease, transform var(--vecc-motion-fast) ease; }
.vecc-motion-v2 .vecc-team-card:hover h2,
.vecc-motion-v2 .vecc-squad-grid a:hover h3 { color: var(--vecc-blue); transform: translate3d(3px,0,0); }
.vecc-motion-v2 .vecc-squad-grid a:hover p { transform: translate3d(3px,0,0); }
.vecc-motion-v2 .vecc-player-badges span { transition: background var(--vecc-motion-fast) ease, transform var(--vecc-motion-fast) ease; }
.vecc-motion-v2 .vecc-squad-grid a:hover .vecc-player-badges span { background: var(--vecc-green); transform: translate3d(3px,0,0); }

.vecc-motion-v2 .vecc-club-partner-grid { scroll-snap-type: x mandatory; scrollbar-width: thin; }
.vecc-motion-v2 .vecc-partner-card { scroll-snap-align: start; }
.vecc-motion-v2 .vecc-match-list { transition: opacity 120ms ease, transform 120ms ease; }
.vecc-motion-v2 .vecc-match-list.is-filtering { opacity: .35; transform: translate3d(0,4px,0); }

.vecc-motion-v2 .vecc-site a:not(.vecc-btn):not(.vecc-team-card):not(.vecc-partner-card):not(.vecc-path):not(.vecc-event-card) { text-decoration-thickness: 1px; text-underline-offset: .22em; }
.vecc-motion-v2 .vecc-page-ready main { animation: vecc-page-settle var(--vecc-motion-page) var(--vecc-ease-out) both; }
@keyframes vecc-page-settle { from { opacity: .96; transform: translate3d(0,6px,0); } to { opacity: 1; transform: none; } }

.vecc-motion-debug [class*="vecc-reveal"],
.vecc-motion-debug [data-vecc-stagger] { outline: 2px dashed #e5484d !important; outline-offset: 3px; }

@supports not (clip-path: inset(0)) {
	.vecc-motion-v2 .vecc-reveal-mask { clip-path: none; transform: translate3d(0,16px,0); }
	.vecc-motion-v2 .vecc-heading-reveal em,
	.vecc-motion-v2 .vecc-heading-reveal strong,
	.vecc-motion-v2 .vecc-display strong,
	.vecc-motion-v2 .vecc-section-head h2 em { clip-path: none; }
}

@media (max-width: 820px) {
	:root { --vecc-motion-base: 400ms; --vecc-motion-slow: 560ms; --vecc-stagger-step: 34ms; }
	.vecc-motion-v2 .vecc-reveal-left { transform: translate3d(-18px,0,0); }
	.vecc-motion-v2 .vecc-reveal-right { transform: translate3d(18px,0,0); }
	.vecc-motion-v2 .vecc-reveal-up { transform: translate3d(0,15px,0); }
	.vecc-motion-v2 .vecc-scroll-cue { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.vecc-motion-v2 *, .vecc-motion-v2 *::before, .vecc-motion-v2 *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-delay: 0ms !important; transition-duration: .01ms !important; }
	.vecc-motion-v2 .vecc-reveal, .vecc-motion-v2 [class*="vecc-reveal-"] { opacity: 1 !important; clip-path: none !important; transform: none !important; }
	.vecc-motion-v2 .vecc-heading-reveal em, .vecc-motion-v2 .vecc-heading-reveal strong, .vecc-motion-v2 .vecc-display strong, .vecc-motion-v2 .vecc-section-head h2 em { clip-path: none !important; }
	.vecc-motion-v2 .vecc-sports-card-sequence > * { opacity: 1 !important; transform: none !important; }
	.vecc-motion-v2 .vecc-section-head::after { transform: scaleX(1) !important; }
}
