@charset "utf-8";

/*------------------------------------------------------------------------------
  2026 first-view animation
------------------------------------------------------------------------------*/

.fv2026-object--wind .fv2026-layer--wind-wing {
	animation: fv2026-new-wind-spin 11s linear infinite;
}

.fv2026-object--ship {
	animation: fv2026-new-ship-drive 15.5s cubic-bezier(0.45, 0, 0.35, 1) infinite alternate;
	will-change: transform;
}

.fv2026-object--map #root {
	stroke-dasharray: 126;
	stroke-dashoffset: 126;
	animation: fv2026-new-map-route 6.8s ease-in-out -0.9s infinite;
}

.fv2026-object--ai-robot2 {
	animation: fv2026-new-farm-drone 10.8s ease-in-out -3.2s infinite;
	will-change: transform;
}

.fv2026-layer--ai-water {
	animation: fv2026-new-water-scan 3.6s ease-in-out infinite;
}

.fv2026-layer--ai-water1 {
	animation-delay: -0.2s;
}

.fv2026-layer--ai-water2 {
	animation-delay: -1.05s;
}

.fv2026-layer--ai-water3 {
	animation-delay: -1.9s;
}

.fv2026-layer--ai-water4 {
	animation-delay: -2.75s;
}

.fv2026-object--car {
	animation: fv2026-new-car-drive 14.2s cubic-bezier(0.42, 0, 0.32, 1) -7.4s infinite alternate;
	will-change: transform;
}

.fv2026-object--car .fv2026-layer--wave {
	clip-path: inset(47% 0 53% 0);
	animation: fv2026-new-wave-rise 6.4s ease-in-out -1.4s infinite;
}

.fv2026-object--air {
	animation: fv2026-new-air-glide 20s cubic-bezier(0.38, 0, 0.22, 1) infinite;
	will-change: transform, opacity;
}

.fv2026-object--sate-track {
	animation: fv2026-new-sate-float 48s cubic-bezier(0.45, 0, 0.55, 1) infinite;
	will-change: transform;
}

.fv2026-object--sate-bank {
	transform: scale(1) rotate(6deg);
	transform-origin: 26.8% 30%;
	animation: none;
}

.fv2026-object--drone-path {
	animation: fv2026-new-drone-route 20s ease-in-out infinite;
	will-change: transform;
}

.fv2026-object--drone-bank {
	transform: scale(0.82);
	transform-origin: 83.1% 35.5%;
	animation: fv2026-new-drone-bank 20s ease-in-out infinite;
}

.fv2026-layer--drone-wing {
	animation: fv2026-new-propeller-swing 0.82s ease-in-out infinite alternate;
}

.fv2026-layer--d1w2 {
	animation-delay: -0.17s;
}

.fv2026-layer--d1w3 {
	animation-delay: -0.31s;
}

.fv2026-layer--d1w4 {
	animation-delay: -0.48s;
}

@keyframes fv2026-new-wind-spin {
	to { transform: rotate(1turn); }
}

@keyframes fv2026-new-ship-drive {
	0% { transform: translate3d(-6.6%, 0, 0); }
	100% { transform: translate3d(0.5%, 0, 0); }
}

@keyframes fv2026-new-map-route {
	0%, 13% { stroke-dashoffset: 126; opacity: 0; }
	20% { opacity: 1; }
	64%, 82% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: -126; opacity: 0; }
}

@keyframes fv2026-new-farm-drone {
	0%, 100% { transform: translate3d(-1.5%, 0.2%, 0); }
	28% { transform: translate3d(-0.4%, -0.75%, 0); }
	57% { transform: translate3d(1.2%, -0.2%, 0); }
	78% { transform: translate3d(0.35%, -0.95%, 0); }
}

@keyframes fv2026-new-water-scan {
	0%, 14%, 100% { opacity: 0; }
	29% { opacity: 0.92; }
	58% { opacity: 0.66; }
	76% { opacity: 0; }
}

@keyframes fv2026-new-car-drive {
	0% { transform: translate3d(-6%, 0, 0); }
	100% { transform: translate3d(2.4%, 0, 0); }
}

@keyframes fv2026-new-wave-rise {
	0%, 14% { clip-path: inset(47% 0 53% 0); opacity: 0; }
	22% { opacity: 1; }
	62%, 78% { clip-path: inset(41.5% 0 53% 0); opacity: 1; }
	92%, 100% { clip-path: inset(41.5% 0 53% 0); opacity: 0; }
}

@keyframes fv2026-new-air-glide {
	0% { transform: translate3d(18%, 18%, 0); opacity: 0; }
	5% { transform: translate3d(18%, 18%, 0); opacity: 1; }
	18% { transform: translate3d(13%, 13%, 0); opacity: 1; }
	24% { transform: translate3d(10%, 10%, 0); opacity: 1; }
	50% { transform: translate3d(-14%, -10%, 0); opacity: 1; }
	62%, 100% { transform: translate3d(-14%, -10%, 0); opacity: 0; }
}

@keyframes fv2026-new-sate-float {
	0%, 100% { transform: translate3d(-8%, 0%, 0); }
	50% { transform: translate3d(60%, 40%, 0); }
}

@keyframes fv2026-new-sate-bank {
  0%, 100% { transform: scale(1) rotate(-72deg); }
  25% { transform: scale(1) rotate(-33deg); }
  50% { transform: scale(1) rotate(6deg); }
  75% { transform: scale(1) rotate(-33deg); }
}

@keyframes fv2026-new-drone-route {
	0%, 100% { transform: translate3d(0%, -2.5%, 0); }
	50% { transform: translate3d(-18%, -2.5%, 0); }
}

@keyframes fv2026-new-drone-bank {
	0%, 100% { transform: scale(0.82) rotate(6deg); }
	25% { transform: scale(0.82) rotate(-11deg); }
	50% { transform: scale(0.82) rotate(-28deg); }
	75% { transform: scale(0.82) rotate(-11deg); }
}

@keyframes fv2026-new-propeller-swing {
	from { transform: rotate(-5deg); }
	to { transform: rotate(5deg); }
}

@keyframes fv2026-p2-scan-shape {
	0%, 2%, 25%, 100% {
		opacity: 0;
	}
	8% {
		opacity: 0.9;
	}
	14%, 20% {
		opacity: 1;
	}
	24% {
		opacity: 0;
	}
}

@keyframes fv2026-p2-wave-reveal {
	0%, 6%, 100% {
		transform: scaleY(0);
	}
	18%, 64% {
		transform: scaleY(1);
	}
	76% {
		transform: scaleY(0);
	}
}

@keyframes fv2026-p2-pin-pop {
	0%, 8%, 100% {
		opacity: 0;
		transform: translateY(18px) scale(0.88);
	}
	13% {
		opacity: 1;
		transform: translateY(-8px) scale(1.06);
	}
	18%, 42% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
	50% {
		opacity: 0;
		transform: translateY(10px) scale(0.95);
	}
}

@keyframes fv2026-p2-drone-route-a {
	0%, 25% {
		transform: translate3d(9%, -2%, 0) scale(0.52) rotate(-2deg);
	}
	50%, 75% {
		transform: translate3d(18%, 7%, 0) scale(0.5) rotate(1deg);
	}
	100% {
		transform: translate3d(9%, -2%, 0) scale(0.52) rotate(-2deg);
	}
}

@keyframes fv2026-p2-drone-route-b {
	0%, 25% {
		transform: translate3d(54%, 0, 0) scale(0.5) rotate(2deg);
	}
	37.5% {
		transform: translate3d(24%, 20%, 0) scale(0.51) rotate(-1deg);
	}
	50%, 75% {
		transform: translate3d(-6%, 13%, 0) scale(0.52) rotate(-2deg);
	}
	87.5% {
		transform: translate3d(24%, 20%, 0) scale(0.51) rotate(1deg);
	}
	100% {
		transform: translate3d(54%, 0, 0) scale(0.5) rotate(2deg);
	}
}

@keyframes fv2026-p2-drone-beam-a {
	0%, 25% { opacity: 0.86; transform: rotate(-8deg) scaleY(1.12); }
	28% { opacity: 0; transform: rotate(-8deg) scaleY(1); }
	47%, 78% { opacity: 0; transform: rotate(-42deg) scaleY(1); }
	97% { opacity: 0; transform: rotate(-8deg) scaleY(1); }
	100% { opacity: 0.86; transform: rotate(-8deg) scaleY(1.12); }
}

@keyframes fv2026-p2-drone-beam-b {
	0%, 25% { opacity: 0.86; transform: rotate(-104deg) scaleY(1.55); }
	28% { opacity: 0; transform: rotate(-104deg) scaleY(1.38); }
	47% { opacity: 0; transform: rotate(38deg) scaleY(1); }
	50%, 75% { opacity: 0.86; transform: rotate(38deg) scaleY(1.14); }
	78% { opacity: 0; transform: rotate(38deg) scaleY(1); }
	97% { opacity: 0; transform: rotate(-104deg) scaleY(1.38); }
	100% { opacity: 0.86; transform: rotate(-104deg) scaleY(1.55); }
}

@media (prefers-reduced-motion: reduce) {
	.fv2026 *,
	.fv2026 *::before,
	.fv2026 *::after {
		animation: none !important;
	}

	.fv2026-object--map #root,
	.fv2026-layer--wave,
	.fv2026-layer--ai-water {
		opacity: 1;
		clip-path: none;
		stroke-dashoffset: 0;
	}
}
