/* ==========================================================================
   About page — performance layer (visual parity, lighter paint)
   Scoped: .iuk-about
   ========================================================================== */

.iuk-about .ab-page,
.iuk-about .ab-hero,
.iuk-about .ab-network,
.iuk-about .ab-section--flow {
	contain: layout style;
}

.iuk-about .ab-section--flow:not(.ab-hero) {
	content-visibility: auto;
	contain-intrinsic-size: auto 400px;
}

/* Light sweep + page pass — GPU translate (visual unchanged) */
.iuk-about .ab-page__light-pass {
	position: fixed;
	inset: -20% -30%;
	overflow: hidden;
	contain: strict;
	transform: translateZ(0);
	background: none;
	animation: none;
}

.iuk-about .ab-page__light-pass::before {
	content: '';
	position: absolute;
	top: -10%;
	bottom: -10%;
	left: 0;
	width: 42%;
	background: linear-gradient(
		100deg,
		transparent 0%,
		transparent 38%,
		rgba(255, 255, 255, 0.025) 48%,
		rgba(6, 182, 212, 0.04) 52%,
		transparent 62%,
		transparent 100%
	);
	opacity: 0.85;
	will-change: transform, opacity;
	animation: ab-page-light-pass-gpu 18s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}

@keyframes ab-page-light-pass-gpu {
	0% {
		transform: translate3d(130%, 0, 0);
		opacity: 0.5;
	}
	45% {
		opacity: 0.9;
	}
	100% {
		transform: translate3d(-130%, 0, 0);
		opacity: 0.5;
	}
}

.iuk-about .ab-page__light-pass.is-scroll-paused::before {
	animation-play-state: paused;
}

.iuk-about .ab-hero__sweep {
	overflow: hidden;
	background: none;
	animation: none;
}

.iuk-about .ab-hero__sweep::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 48%;
	background: linear-gradient(
		105deg,
		transparent 0%,
		transparent 40%,
		rgba(255, 255, 255, 0.05) 50%,
		rgba(6, 182, 212, 0.03) 54%,
		transparent 60%,
		transparent 100%
	);
	will-change: transform;
	animation: ab-hero-sweep-gpu 11s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

@keyframes ab-hero-sweep-gpu {
	0% {
		transform: translate3d(115%, 0, 0);
	}
	100% {
		transform: translate3d(-115%, 0, 0);
	}
}

.iuk-about .ab-hero:not(.is-hero-live) .ab-hero__sweep::before {
	animation-play-state: paused;
}

.iuk-about .ab-hero__photo {
	will-change: transform;
	transform: translate3d(0, 0, 0) scale(1.04);
}

.iuk-about .ab-hero.is-hero-live .ab-hero__photo {
	will-change: transform;
}

.iuk-about .ab-network__link--travel {
	will-change: auto;
}

/* Replace expensive backdrop-filter with solid glass (no stacking) */
.iuk-about .ab-glass,
.iuk-about .ab-control-panel,
.iuk-about .ab-excellence-card,
.iuk-about .ab-trust-pill,
.iuk-about .av-btn--light,
.iuk-about .ab-who__card.ab-glass,
.iuk-about .ab-editorial__panel.ab-glass,
.iuk-about .av-process__timeline,
.iuk-about .ab-mission__timeline,
.iuk-about .ab-module,
.iuk-about a.iuk-header__phone.iuk-btn--phone-glass {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.iuk-about .iuk-header--scrolled {
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.iuk-about a.iuk-header__phone.iuk-btn--phone-glass {
	background: rgba(255, 255, 255, 0.16) !important;
}

.iuk-about .ab-glass,
.iuk-about .ab-who__card.ab-glass {
	background: rgba(14, 22, 38, 0.88);
}

.iuk-about .ab-control-panel,
.iuk-about .ab-ops-deck {
	background: rgba(11, 17, 32, 0.9);
}

.iuk-about .ab-editorial__panel.ab-glass {
	background: rgba(12, 20, 36, 0.92);
}

.iuk-about .av-process__timeline,
.iuk-about .ab-mission__timeline {
	background: rgba(12, 18, 32, 0.85);
}

.iuk-about .ab-trust-pill {
	background: rgba(255, 255, 255, 0.08);
}

/* Softer shadows — fewer repaints on hover */
.iuk-about .ab-metric.stat-card,
.iuk-about .ab-module,
.iuk-about .ab-excellence-card,
.iuk-about .ab-who__card.ab-glass {
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
	transition: transform 0.4s var(--av-ease), border-color 0.4s var(--av-ease), opacity 0.4s;
}

.iuk-about .ab-metric.stat-card:hover,
.iuk-about .ab-module:hover,
.iuk-about .ab-excellence-card:hover {
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.32);
	transform: translate3d(0, -4px, 0);
}

.iuk-about .ab-network__link.is-active {
	filter: none;
}

.iuk-about .ab-mission .av-process__line-fill {
	filter: none;
}

.iuk-about .av-cta__glow {
	filter: blur(48px);
}

.iuk-about .ab-metrics__glow {
	filter: none;
	opacity: 0.85;
}

/* Disable box-shadow keyframe loops (border/opacity only) */
.iuk-about .ab-metric.stat-card {
	animation: none;
}

.iuk-about #ab-metrics.is-animating .ab-metric.stat-card.is-in {
	animation: ab-metric-breathe 5s ease-in-out infinite;
	animation-delay: var(--pulse-delay, 0s);
}

.iuk-about .ab-pulse-dot {
	animation: ab-pulse-dot-gpu 2s ease-in-out infinite;
	box-shadow: 0 0 10px var(--av-green);
}

@keyframes ab-pulse-dot-gpu {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.35);
		opacity: 0.75;
	}
}

.iuk-about .ab-network__node--hub::before {
	animation: ab-hub-pulse-gpu 2.5s ease-in-out infinite;
}

@keyframes ab-hub-pulse-gpu {
	0%, 100% {
		opacity: 0.4;
		transform: translate3d(-50%, -50%, 0) scale(0.9);
	}
	50% {
		opacity: 1;
		transform: translate3d(-50%, -50%, 0) scale(1.12);
	}
}

.iuk-about .ab-network__node {
	transition: border-color 0.4s var(--av-ease), transform 0.4s var(--av-ease), opacity 0.4s;
}

.iuk-about .ab-network__node::after {
	transition: opacity 0.4s var(--av-ease);
	box-shadow: 0 0 16px rgba(6, 182, 212, 0.2);
}

.iuk-about .ab-network__node.is-pulse::after {
	opacity: 1;
}

.iuk-about .ab-network__node[data-code].is-target {
	box-shadow: 0 0 18px rgba(6, 182, 212, 0.32);
}

.iuk-about .ab-module,
.iuk-about .ab-excellence-card,
.iuk-about .ab-control-panel__row,
.iuk-about .ab-why-card__icon {
	transition: transform 0.4s var(--av-ease), border-color 0.4s var(--av-ease), opacity 0.4s;
}

.iuk-about .ab-proof-strip__track {
	will-change: transform;
}

/* GPU-friendly pulses */
.iuk-about .ab-pulse-dot,
.iuk-about .ab-network__node--hub::before {
	will-change: transform, opacity;
}

.iuk-about .ab-stagger__item {
	will-change: opacity, transform;
}

.iuk-about .ab-stagger__item.is-in {
	will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
	.iuk-about .ab-hero__photo {
		will-change: auto;
		transform: none;
	}

	.iuk-about .ab-page__light-pass::before,
	.iuk-about .ab-hero__sweep::before,
	.iuk-about .ab-pulse-dot,
	.iuk-about .ab-network__node--hub::before {
		animation: none;
	}
}
