/*
 * Scroll-in animations (assets/js/reveal.js).
 * Hidden states only apply to sections the script marked .t1-reveal; .is-in plays them.
 * Uses the individual translate / scale / rotate properties so the elements' own layout transforms stay intact.
 */
:root {
	--t1-rv-pace: 1; /* 0.8 = quick … 1.6 = slow. Set in T1 Site Settings → General → Animation speed. */
	--t1-rv-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
	--t1-rv-out: cubic-bezier(0.2, 0.7, 0.25, 1);
}

/* ---------- Shared: section title ---------- */
.t1-rv-title.t1-reveal {
	transition: opacity calc(0.8s * var(--t1-rv-pace)) ease, translate calc(0.9s * var(--t1-rv-pace)) var(--t1-rv-out);
}

.t1-rv-title.t1-reveal:not(.is-in) {
	opacity: 0;
	translate: 0 16px;
}

/* ---------- Dominate Underserved Markets ---------- */
.t1-reveal .t1-rv-diamond {
	transition: opacity calc(0.7s * var(--t1-rv-pace)) ease calc(0.1s * var(--t1-rv-pace)), scale calc(1s * var(--t1-rv-pace)) var(--t1-rv-pop) calc(0.1s * var(--t1-rv-pace)), rotate calc(1s * var(--t1-rv-pace)) var(--t1-rv-out) calc(0.1s * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-diamond {
	opacity: 0;
	scale: 0.5;
	rotate: -90deg;
}

.t1-reveal .t1-rv-arrows {
	clip-path: circle(75% at 50% 50%);
	transition: clip-path calc(0.9s * var(--t1-rv-pace)) var(--t1-rv-out) calc(0.4s * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-arrows {
	clip-path: circle(0% at 50% 50%);
}

.t1-reveal .t1-rv-circle {
	transition: opacity calc(0.45s * var(--t1-rv-pace)) ease calc((550ms + var(--i, 0) * 100ms) * var(--t1-rv-pace)), scale calc(0.75s * var(--t1-rv-pace)) var(--t1-rv-pop) calc((550ms + var(--i, 0) * 100ms) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-circle {
	opacity: 0;
	scale: 0.3;
}

.t1-reveal .t1-rv-item {
	transition: opacity calc(0.8s * var(--t1-rv-pace)) ease calc((650ms + var(--i, 0) * 110ms) * var(--t1-rv-pace)), translate calc(0.9s * var(--t1-rv-pace)) var(--t1-rv-out) calc((650ms + var(--i, 0) * 110ms) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-item {
	opacity: 0;
	translate: -32px 0;
}

.t1-reveal:not(.is-in) .t1-rv-item.is-right {
	translate: 32px 0;
}

@media (max-width: 767px) {
	.t1-reveal:not(.is-in) .t1-rv-item,
	.t1-reveal:not(.is-in) .t1-rv-item.is-right {
		translate: 0 20px;
	}
}

/* ---------- Category Leader Transformation (circle layout) ---------- */
@media (min-width: 1025px) {
	.t1-reveal .t1-radial__center {
		transform-origin: 0 0; /* keeps it centred while it scales/rotates */
		transition: opacity calc(0.7s * var(--t1-rv-pace)) ease calc(0.1s * var(--t1-rv-pace)), scale calc(1s * var(--t1-rv-pace)) var(--t1-rv-pop) calc(0.1s * var(--t1-rv-pace)), rotate calc(1s * var(--t1-rv-pace)) var(--t1-rv-out) calc(0.1s * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__center {
		opacity: 0;
		scale: 0.5;
		rotate: -90deg;
	}

	.t1-reveal .t1-radial__arrows line {
		stroke-dasharray: 1;
		transition: stroke-dashoffset calc(0.55s * var(--t1-rv-pace)) ease calc((350ms + var(--p, 0) * 45ms) * var(--t1-rv-pace)), opacity calc(0.15s * var(--t1-rv-pace)) linear calc((350ms + var(--p, 0) * 45ms) * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__arrows line {
		stroke-dashoffset: 1;
		opacity: 0;
	}

	.t1-reveal .t1-radial__num {
		transform-origin: 0 0;
		transition: opacity calc(0.4s * var(--t1-rv-pace)) ease calc((500ms + var(--p, 0) * 45ms) * var(--t1-rv-pace)), scale calc(0.7s * var(--t1-rv-pace)) var(--t1-rv-pop) calc((500ms + var(--p, 0) * 45ms) * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__num {
		opacity: 0;
		scale: 0.3;
	}

	.t1-reveal .t1-radial__label {
		transition: opacity calc(0.7s * var(--t1-rv-pace)) ease calc((620ms + var(--p, 0) * 45ms) * var(--t1-rv-pace)), translate calc(0.8s * var(--t1-rv-pace)) var(--t1-rv-out) calc((620ms + var(--p, 0) * 45ms) * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__item.is-right .t1-radial__label {
		opacity: 0;
		translate: -16px 0;
	}

	.t1-reveal:not(.is-in) .t1-radial__item.is-left .t1-radial__label {
		opacity: 0;
		translate: 16px 0;
	}

	.t1-reveal:not(.is-in) .t1-radial__item.is-top .t1-radial__label {
		opacity: 0;
		translate: 0 12px;
	}

	.t1-reveal:not(.is-in) .t1-radial__item.is-bottom .t1-radial__label {
		opacity: 0;
		translate: 0 -12px;
	}
}

/* Tablet / mobile list: items fade up one after another. */
@media (max-width: 1024px) {
	.t1-reveal .t1-radial__center {
		transition: opacity calc(0.7s * var(--t1-rv-pace)) ease calc(0.1s * var(--t1-rv-pace)), scale calc(0.9s * var(--t1-rv-pace)) var(--t1-rv-pop) calc(0.1s * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__center {
		opacity: 0;
		scale: 0.6;
	}

	.t1-reveal .t1-radial__item {
		transition: opacity calc(0.6s * var(--t1-rv-pace)) ease calc((250ms + var(--i, 0) * 55ms) * var(--t1-rv-pace)), translate calc(0.7s * var(--t1-rv-pace)) var(--t1-rv-out) calc((250ms + var(--i, 0) * 55ms) * var(--t1-rv-pace));
	}

	.t1-reveal:not(.is-in) .t1-radial__item {
		opacity: 0;
		translate: 0 14px;
	}
}

/* ---------- Shared building blocks for the other sections ---------- */
.t1-reveal .t1-rv-up {
	transition: opacity calc(0.8s * var(--t1-rv-pace)) ease calc((var(--d, 0ms)) * var(--t1-rv-pace)), translate calc(0.9s * var(--t1-rv-pace)) var(--t1-rv-out) calc((var(--d, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-up {
	opacity: 0;
	translate: 0 18px;
}

.t1-reveal .t1-rv-pop {
	transition: opacity calc(0.6s * var(--t1-rv-pace)) ease calc((var(--d, 0ms)) * var(--t1-rv-pace)), scale calc(0.8s * var(--t1-rv-pace)) var(--t1-rv-pop) calc((var(--d, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-pop {
	opacity: 0;
	scale: 0.4;
}

.t1-reveal .t1-rv-right {
	transition: opacity calc(1s * var(--t1-rv-pace)) ease calc((var(--d, 0ms)) * var(--t1-rv-pace)), translate calc(1.1s * var(--t1-rv-pace)) var(--t1-rv-out) calc((var(--d, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-right {
	opacity: 0;
	translate: 40px 0;
}

/* Text that writes itself word by word. */
.t1-reveal .t1-w {
	display: inline-block;
	transition: opacity calc(0.55s * var(--t1-rv-pace)) ease calc((var(--wd, 0ms)) * var(--t1-rv-pace)), translate calc(0.65s * var(--t1-rv-pace)) var(--t1-rv-out) calc((var(--wd, 0ms)) * var(--t1-rv-pace)), filter calc(0.65s * var(--t1-rv-pace)) ease calc((var(--wd, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-w {
	opacity: 0;
	translate: 0 0.45em;
	filter: blur(4px);
}

/* Client Work tiles: wipe in from a random side, settle from a slight zoom. */
.t1-reveal .t1-rv-tile {
	clip-path: inset(0 0 0 0);
	transition: clip-path calc(1.2s * var(--t1-rv-pace)) cubic-bezier(0.77, 0, 0.18, 1) calc((var(--d, 0ms)) * var(--t1-rv-pace)), scale calc(1.5s * var(--t1-rv-pace)) var(--t1-rv-out) calc((var(--d, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-tile {
	clip-path: var(--clip, inset(0 0 100% 0));
	scale: 1.06;
}

/* Leadership photos open as circles. */
.t1-reveal .t1-rv-photo {
	clip-path: circle(50% at 50% 50%);
	transition: clip-path calc(1.1s * var(--t1-rv-pace)) var(--t1-rv-out) calc((var(--d, 0ms)) * var(--t1-rv-pace));
}

.t1-reveal:not(.is-in) .t1-rv-photo {
	clip-path: circle(0% at 50% 50%);
}

/* Limited Roster background settles. */
.t1-reveal .t1-rv-zoom {
	transition: scale calc(2.6s * var(--t1-rv-pace)) var(--t1-rv-out);
}

.t1-reveal:not(.is-in) .t1-rv-zoom {
	scale: 1.12;
}
