/**
 * Hero motion — ثبتتو pen ribbons (not engineering grid)
 */

.sh-hero {
	isolation: isolate;
	overflow: hidden;
}

.sh-hero__fx {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

/* Shared FX: calligraphy paths + drifting pen arcs */
.sh-hero__fx-lines,
.sh-geo-fx {
	position: absolute;
	inset: 0;
	opacity: 0.88;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
	background: none;
	mask-image: radial-gradient(ellipse 88% 82% at 50% 42%, #000 26%, transparent 84%);
	-webkit-mask-image: radial-gradient(ellipse 88% 82% at 50% 42%, #000 26%, transparent 84%);
}

.sh-hero__fx-lines::before,
.sh-geo-fx::before {
	content: "";
	position: absolute;
	inset: -10% -6%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 820' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-70 240C160 90 430 160 720 210s500 70 850-55' stroke='%23ffaa01' stroke-opacity='.42' stroke-width='2.2'/%3E%3Cpath d='M-100 445C150 545 490 315 780 390s440 125 820-35' stroke='%23ffffff' stroke-opacity='.2' stroke-width='1.45'/%3E%3Cpath d='M-40 615C240 515 560 690 870 575s440-80 700 45' stroke='%23ffaa01' stroke-opacity='.3' stroke-width='3.6'/%3E%3Cpath d='M90 145C340 230 540 65 820 135s340 100 640-50' stroke='%23ffaa01' stroke-opacity='.18' stroke-width='1.15'/%3E%3Cpath d='M1165 108c52 8 88 62 58 108c-22 34-82 28-90-12' stroke='%23ffaa01' stroke-opacity='.22' stroke-width='2.6'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	animation: sabteto-hm-ink 32s ease-in-out infinite;
}

.sh-hero__fx-lines span,
.sh-geo-fx span {
	position: absolute;
	display: block;
	width: 165%;
	height: 22rem;
	inset-inline-start: -32%;
	background: none;
	border: 0;
	border-radius: 50%;
	border-top: 2px solid rgba(255, 170, 1, 0.42);
	filter: drop-shadow(0 0 8px rgba(255, 170, 1, 0.22));
	animation: sabteto-hm-line 14s ease-in-out infinite;
}

.sh-hero__fx-lines span:nth-child(1),
.sh-geo-fx span:nth-child(1) {
	top: 8%;
	transform: rotate(-9deg);
	animation-delay: 0s;
	border-top-width: 2.4px;
}

.sh-hero__fx-lines span:nth-child(2),
.sh-geo-fx span:nth-child(2) {
	top: 34%;
	transform: rotate(5deg);
	animation-delay: -3.5s;
	border-top-color: rgba(255, 255, 255, 0.28);
	filter: drop-shadow(0 0 7px rgba(255, 255, 255, 0.16));
	border-top-width: 1.5px;
}

.sh-hero__fx-lines span:nth-child(3),
.sh-geo-fx span:nth-child(3) {
	top: 52%;
	transform: rotate(-4deg);
	animation-delay: -7s;
	border-top-width: 3.2px;
	border-top-color: rgba(255, 170, 1, 0.34);
}

.sh-hero__fx-lines span:nth-child(4),
.sh-geo-fx span:nth-child(4) {
	top: 18%;
	transform: rotate(11deg);
	animation-delay: -10s;
	opacity: 0.62;
	border-top-width: 1.2px;
}

/* Mid-page section hosting continuous geo motion */
.sh-sec--geo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.sh-sec--geo > .sabteto-container {
	position: relative;
	z-index: 1;
}

.sh-hero__accent {
	z-index: 1;
}

.sh-hero__main {
	position: relative;
	z-index: 2;
}

@keyframes sabteto-hm-ink {
	0%,
	100% {
		transform: translate3d(-1.6%, 0.4%) scale(1.03);
	}
	50% {
		transform: translate3d(2.2%, -1.1%) scale(1.06);
	}
}

@keyframes sabteto-hm-line {
	0%,
	100% {
		opacity: 0.45;
		translate: -2% 0;
	}
	50% {
		opacity: 0.9;
		translate: 7% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sh-hero__fx-lines,
	.sh-hero__fx-lines::before,
	.sh-hero__fx-lines span,
	.sh-geo-fx,
	.sh-geo-fx::before,
	.sh-geo-fx span {
		animation: none !important;
	}

	.sh-hero__fx-lines,
	.sh-geo-fx {
		opacity: 0.7;
	}

	.sh-hero__enter {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.sh-steps--draw::before,
	.sh-steps--draw::after,
	.sh-steps--draw li,
	.sh-steps--draw li em {
		transition: none !important;
	}

	.sh-steps--draw::before,
	.sh-steps--draw::after {
		transform: none !important;
		opacity: 0.7 !important;
	}

	.sh-steps--draw li {
		opacity: 1 !important;
		transform: none !important;
	}

	.sabteto-form-pulse {
		animation: none !important;
	}
}

/* —— Motion A: hero staggered entrance —— */
.sh-hero__enter {
	opacity: 0;
	transform: translateY(1.1rem);
	transition:
		opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: calc(var(--enter, 0) * 90ms + 80ms);
}

.sh-hero.is-ready .sh-hero__enter {
	opacity: 1;
	transform: none;
}

/* —— Motion B: process-draw (steps connector) —— */
.sh-steps--draw {
	position: relative;
}

/* Desktop: horizontal gold draw-line through step markers */
.sh-steps--draw::before {
	content: "";
	position: absolute;
	inset-inline: 6%;
	top: 2.55rem;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		rgba(255, 170, 1, 0.2),
		#ffaa01 35%,
		#ffaa01 65%,
		rgba(255, 170, 1, 0.2)
	);
	box-shadow: 0 0 16px rgba(255, 170, 1, 0.45);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
	z-index: 0;
	opacity: 0;
}

@media (min-width: 900px) {
	.sh-steps--draw::before {
		opacity: 1;
	}
}

.sh-steps--draw.is-drawn::before {
	transform: scaleX(1);
}

/* Mobile: vertical connector */
@media (max-width: 899px) {
	.sh-steps--draw::after {
		content: "";
		position: absolute;
		inset-inline-start: 1.55rem;
		top: 2.6rem;
		bottom: 1.5rem;
		width: 3px;
		border-radius: 999px;
		background: linear-gradient(
			180deg,
			rgba(255, 170, 1, 0.25),
			#ffaa01 40%,
			rgba(255, 170, 1, 0.25)
		);
		box-shadow: 0 0 14px rgba(255, 170, 1, 0.35);
		transform: scaleY(0);
		transform-origin: top center;
		transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
		z-index: 0;
		pointer-events: none;
	}

	.sh-steps--draw.is-drawn::after {
		transform: scaleY(1);
	}
}

.sh-steps--draw li {
	position: relative;
	z-index: 1;
	opacity: 0;
	transform: translateY(1.25rem) scale(0.97);
	transition:
		opacity 0.55s ease,
		transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		border-color 0.35s ease,
		box-shadow 0.35s ease;
}

.sh-steps--draw.is-drawn li {
	opacity: 1;
	transform: none;
}

.sh-steps--draw.is-drawn li:nth-child(1) { transition-delay: 0.08s; }
.sh-steps--draw.is-drawn li:nth-child(2) { transition-delay: 0.22s; }
.sh-steps--draw.is-drawn li:nth-child(3) { transition-delay: 0.36s; }
.sh-steps--draw.is-drawn li:nth-child(4) { transition-delay: 0.5s; }

.sh-steps--draw li em {
	position: relative;
	z-index: 2;
	transition: box-shadow 0.4s ease, transform 0.4s ease;
}

.sh-steps--draw.is-drawn li em {
	box-shadow:
		0 0 0 5px rgba(255, 170, 1, 0.22),
		0 0 18px rgba(255, 170, 1, 0.35);
	transform: scale(1.06);
}

.sh-steps--draw.is-drawn li {
	border-color: rgba(255, 170, 1, 0.35);
	box-shadow: 0 10px 28px rgba(11, 34, 56, 0.08);
}

/* —— form-pulse (brief CTA) —— */
@keyframes sabteto-form-pulse {
	0%,
	100% {
		box-shadow: 0 6px 18px rgba(255, 170, 1, 0.28);
	}
	50% {
		box-shadow: 0 8px 28px rgba(255, 170, 1, 0.48);
	}
}

.sabteto-form-pulse {
	animation: sabteto-form-pulse 2.8s ease-in-out infinite;
}

