.wachapp-tech-page {
	--wachapp-tech-surface: rgba(255, 255, 255, 0.72);
	--wachapp-tech-surface-strong: rgba(255, 255, 255, 0.94);
	--wachapp-tech-border: rgba(15, 23, 42, 0.09);
	--wachapp-tech-text-soft: rgba(15, 23, 42, 0.68);
	--wachapp-tech-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
	--wachapp-tech-radius: 1.5rem;
	--wachapp-tech-accent: 99, 102, 241;
	position: relative;
	max-width: 100%;
	min-height: 100%;
	padding-top: calc(1.5rem + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) !important;
	padding-bottom: calc(1.5rem + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))) !important;
	overscroll-behavior-x: none;
	background:
		radial-gradient(circle at 10% 4%, rgba(99, 102, 241, 0.12), transparent 29rem),
		radial-gradient(circle at 92% 18%, rgba(14, 165, 233, 0.11), transparent 30rem),
		var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .wachapp-tech-page {
	--wachapp-tech-surface: rgba(15, 23, 42, 0.66);
	--wachapp-tech-surface-strong: rgba(15, 23, 42, 0.93);
	--wachapp-tech-border: rgba(255, 255, 255, 0.09);
	--wachapp-tech-text-soft: rgba(226, 232, 240, 0.72);
	--wachapp-tech-shadow: 0 26px 70px rgba(0, 0, 0, 0.34);
	background:
		radial-gradient(circle at 10% 4%, rgba(99, 102, 241, 0.18), transparent 31rem),
		radial-gradient(circle at 92% 18%, rgba(14, 165, 233, 0.14), transparent 32rem),
		var(--bs-tertiary-bg);
}

.wachapp-tech-page a {
	text-underline-offset: 0.18em;
}

.wachapp-tech-page > .container {
	padding-left: max(calc(var(--bs-gutter-x) * 0.5), var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));
	padding-right: max(calc(var(--bs-gutter-x) * 0.5), var(--safe-area-inset-right, env(safe-area-inset-right, 0px)));
}

html.wachapp-techstack-active,
body.wachapp-techstack-active {
	scroll-snap-type: none !important;
	scroll-behavior: auto;
	overscroll-behavior-x: none;
}

.wachapp-tech-page *,
.wachapp-tech-page *::before,
.wachapp-tech-page *::after {
	scroll-snap-align: none !important;
	scroll-snap-stop: normal !important;
}

.wachapp-tech-page section[id] {
	scroll-margin-top: calc(7rem + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));
}

.wachapp-tech-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border: 1px solid var(--wachapp-tech-border);
	border-radius: clamp(1.5rem, 4vw, 2.3rem);
	background:
		linear-gradient(135deg, rgba(99, 102, 241, 0.14), transparent 36%),
		linear-gradient(315deg, rgba(16, 185, 129, 0.1), transparent 38%),
		var(--wachapp-tech-surface);
	box-shadow: var(--wachapp-tech-shadow);
	backdrop-filter: blur(18px);
}

.wachapp-tech-hero::after {
	content: "";
	position: absolute;
	inset: auto -15% -55% 35%;
	height: 70%;
	background: radial-gradient(circle, rgba(99, 102, 241, 0.16), transparent 68%);
	filter: blur(24px);
	z-index: -1;
}

.wachapp-tech-hero-grid {
	position: absolute;
	inset: 0;
	z-index: -2;
	opacity: 0.42;
	background-image:
		linear-gradient(rgba(99, 102, 241, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(99, 102, 241, 0.08) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(to bottom right, black, transparent 82%);
}

.wachapp-tech-glow {
	position: absolute;
	z-index: -1;
	width: 18rem;
	height: 18rem;
	border-radius: 50%;
	filter: blur(70px);
	opacity: 0.4;
	pointer-events: none;
}

.wachapp-tech-glow-one {
	top: -8rem;
	left: -7rem;
	background: rgba(124, 58, 237, 0.48);
}

.wachapp-tech-glow-two {
	right: -6rem;
	bottom: -8rem;
	background: rgba(14, 165, 233, 0.42);
}

.wachapp-tech-kicker {
	background: rgba(255, 255, 255, 0.52);
	border-color: var(--wachapp-tech-border) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
	letter-spacing: 0.08em;
}

[data-bs-theme="dark"] .wachapp-tech-kicker {
	background: rgba(15, 23, 42, 0.52);
}

.wachapp-tech-live-dot {
	position: relative;
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 50%;
	background: #22c55e;
}

/* Pulsring: statischer Shadow-Layer, Animation nur noch transform/opacity. */
.wachapp-tech-live-dot::after {
	position: absolute;
	inset: 0;
	content: "";
	border-radius: inherit;
	box-shadow: 0 0 0 0.7rem rgba(34, 197, 94, 0.52);
	opacity: 0;
	transform: scale(.35);
	will-change: transform, opacity;
	backface-visibility: hidden;
	animation: wachapp-tech-pulse 2s infinite;
	pointer-events: none;
}

.wachapp-tech-title {
	max-width: 12ch;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.wachapp-tech-gradient-text {
	position: relative;
	display: block;
	contain: paint;
	padding-bottom: 0.08em;
	background: linear-gradient(100deg, #7c3aed 0%, #2563eb 32%, #06b6d4 62%, #10b981 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	background-size: 100% auto;
}

/*
 * Gleiche wandernde Farbstimmung ohne background-position-Paint pro Frame:
 * Zwei fertig gerasterte Textverläufe werden nur über opacity überblendet.
 */
.wachapp-tech-gradient-text::after {
	position: absolute;
	inset: 0;
	content: attr(data-text);
	background: linear-gradient(100deg, #10b981 0%, #06b6d4 38%, #2563eb 68%, #7c3aed 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	opacity: 0;
	pointer-events: none;
	animation: wachapp-tech-gradient 8s linear infinite;
}

.wachapp-tech-lead {
	max-width: 47rem;
}

.wachapp-tech-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.48rem 0.78rem;
	border: 1px solid var(--wachapp-tech-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.5);
	font-size: 0.82rem;
	font-weight: 700;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
	transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

[data-bs-theme="dark"] .wachapp-tech-chip {
	background: rgba(15, 23, 42, 0.54);
}

.wachapp-tech-chip:hover {
	transform: translateY(-2px);
	border-color: rgba(99, 102, 241, 0.35);
}

.wachapp-tech-hero-stat {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 5.6rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wachapp-tech-border);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.42);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

[data-bs-theme="dark"] .wachapp-tech-hero-stat {
	background: rgba(15, 23, 42, 0.42);
}

.wachapp-tech-hero-stat-value {
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.05;
}

.wachapp-tech-hero-stat-label {
	margin-top: 0.35rem;
	font-size: 0.74rem;
	font-weight: 600;
	color: var(--bs-secondary-color);
}

.wachapp-tech-orbit-stage {
	position: relative;
	width: min(100%, 28rem);
	aspect-ratio: 1;
	border-radius: 50%;
	background:
		radial-gradient(circle at center, rgba(99, 102, 241, 0.13), transparent 42%),
		radial-gradient(circle at 65% 34%, rgba(14, 165, 233, 0.11), transparent 32%);
}

.wachapp-tech-orbit-stage::before {
	content: "";
	position: absolute;
	inset: 8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.48), transparent 64%);
	filter: blur(18px);
}

[data-bs-theme="dark"] .wachapp-tech-orbit-stage::before {
	background: radial-gradient(circle, rgba(99, 102, 241, 0.2), transparent 64%);
}

.wachapp-tech-orbit-ring {
	position: absolute;
	inset: 11%;
	border: 1px solid rgba(99, 102, 241, 0.26);
	border-radius: 50%;
	box-shadow: inset 0 0 30px rgba(99, 102, 241, 0.06);
}

.wachapp-tech-orbit-ring::after {
	content: "";
	position: absolute;
	inset: -0.22rem;
	border-radius: 50%;
	border-top: 2px solid rgba(99, 102, 241, 0.72);
	border-right: 2px solid transparent;
	animation: wachapp-tech-spin 12s linear infinite;
}

.wachapp-tech-orbit-ring-inner {
	inset: 25%;
	border-color: rgba(14, 165, 233, 0.24);
}

.wachapp-tech-orbit-ring-inner::after {
	border-top-color: rgba(16, 185, 129, 0.72);
	animation-duration: 8s;
	animation-direction: reverse;
}

.wachapp-tech-orbit-core {
	position: absolute;
	inset: 33%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 1px solid var(--wachapp-tech-border);
	border-radius: 50%;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.22), transparent 58%),
		var(--wachapp-tech-surface-strong);
	box-shadow: 0 0 0 0.55rem rgba(99, 102, 241, 0.08), 0 20px 50px rgba(15, 23, 42, 0.16);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.wachapp-tech-orbit-core-icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 0.45rem;
	border-radius: 1rem;
	color: #fff;
	font-size: 1.35rem;
	background: linear-gradient(135deg, #7c3aed, #2563eb 52%, #06b6d4);
	box-shadow: 0 10px 30px rgba(79, 70, 229, 0.35);
}

.wachapp-tech-orbit-core strong {
	font-size: clamp(0.95rem, 2vw, 1.2rem);
}

.wachapp-tech-orbit-core span {
	max-width: 8rem;
	font-size: 0.62rem;
	color: var(--bs-secondary-color);
}

.wachapp-tech-orbit-node {
	position: absolute;
	display: grid;
	place-items: center;
	width: clamp(2.45rem, 8vw, 3.4rem);
	height: clamp(2.45rem, 8vw, 3.4rem);
	border: 1px solid var(--wachapp-tech-border);
	border-radius: 1rem;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.32), transparent 62%),
		var(--wachapp-tech-surface-strong);
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
	font-size: clamp(1rem, 3vw, 1.45rem);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	will-change: transform;
	backface-visibility: hidden;
	animation: wachapp-tech-float 4.8s ease-in-out infinite;
}

.wachapp-tech-node-wordpress { top: 4%; left: 43%; color: #21759b; }
.wachapp-tech-node-php { top: 17%; right: 7%; color: #777bb4; animation-delay: -0.7s; }
.wachapp-tech-node-windows { top: 44%; right: 0; color: #0078d4; animation-delay: -1.4s; }
.wachapp-tech-node-android { right: 12%; bottom: 12%; color: #3ddc84; animation-delay: -2.1s; }
.wachapp-tech-node-apple { top: 48%; left: 0; color: var(--bs-body-color); animation-delay: -4.8s; }
.wachapp-tech-node-cloud { bottom: 2%; left: 43%; color: #4285f4; animation-delay: -2.8s; }
.wachapp-tech-node-bootstrap { left: 8%; bottom: 13%; color: #7952b3; animation-delay: -3.5s; }
.wachapp-tech-node-security { top: 20%; left: 4%; color: #10b981; animation-delay: -4.2s; }

.wachapp-tech-terminal {
	position: absolute;
	right: -2%;
	bottom: 1%;
	width: min(72%, 15rem);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0.9rem;
	background: rgba(2, 6, 23, 0.9);
	box-shadow: 0 18px 44px rgba(2, 6, 23, 0.34);
	color: #cbd5e1;
	transform: rotate(-2deg);
}

.wachapp-tech-terminal-head {
	display: flex;
	gap: 0.34rem;
	padding: 0.55rem 0.7rem;
	background: rgba(255, 255, 255, 0.05);
}

.wachapp-tech-terminal-head span {
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 50%;
	background: #ef4444;
}

.wachapp-tech-terminal-head span:nth-child(2) { background: #f59e0b; }
.wachapp-tech-terminal-head span:nth-child(3) { background: #22c55e; }

.wachapp-tech-terminal-body {
	padding: 0.7rem 0.8rem 0.8rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.6rem;
	line-height: 1.7;
}

.wachapp-tech-terminal-cursor {
	display: inline-block;
	color: #60a5fa;
	animation: wachapp-tech-blink 1s steps(1) infinite;
}

.wachapp-tech-nav {
	position: sticky;
	top: calc(var(--wachapp-tech-nav-top, 1rem) + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));
	z-index: 30;
	padding: 0.55rem;
	border: 1px solid var(--wachapp-tech-border);
	border-radius: 1.15rem;
	background: var(--wachapp-tech-surface-strong);
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.1);
	backdrop-filter: blur(18px);
}

.wachapp-tech-nav-scroll {
	overflow-x: auto;
	overflow-y: hidden;
	max-width: 100%;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-inline: contain;
	scroll-behavior: auto;
	scroll-snap-type: none !important;
	touch-action: pan-x pan-y;
}

.wachapp-tech-nav-scroll::-webkit-scrollbar {
	display: none;
}

.wachapp-tech-nav-link {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	flex: 0 0 auto;
	padding: 0.62rem 0.82rem;
	border-radius: 0.8rem;
	color: var(--bs-secondary-color);
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.wachapp-tech-nav-link:hover {
	color: var(--bs-body-color);
	background: rgba(99, 102, 241, 0.08);
	transform: translateY(-1px);
}

.wachapp-tech-nav-link:focus-visible {
	outline: 0.18rem solid rgba(99, 102, 241, 0.42);
	outline-offset: 0.12rem;
}

.wachapp-tech-nav-link.active {
	color: #fff;
	background: linear-gradient(135deg, #7c3aed, #2563eb 60%, #0891b2);
	box-shadow: 0 8px 22px rgba(79, 70, 229, 0.26);
}

.wachapp-tech-section {
	--wachapp-tech-accent: 99, 102, 241;
	position: relative;
}

.wachapp-tech-section::before {
	content: "";
	position: absolute;
	top: 2.9rem;
	left: -2rem;
	width: 0.28rem;
	height: calc(100% - 2.9rem);
	border-radius: 999px;
	background: linear-gradient(to bottom, rgba(var(--wachapp-tech-accent), 0.62), transparent 78%);
	opacity: 0.62;
}

.wachapp-tech-section-code { --wachapp-tech-accent: 99, 102, 241; }
.wachapp-tech-section-platform { --wachapp-tech-accent: 37, 99, 235; }
.wachapp-tech-section-frontend { --wachapp-tech-accent: 6, 182, 212; }
.wachapp-tech-section-security { --wachapp-tech-accent: 16, 185, 129; }
.wachapp-tech-section-android { --wachapp-tech-accent: 61, 220, 132; }
.wachapp-tech-section-apple { --wachapp-tech-accent: 142, 142, 147; }
.wachapp-tech-section-windows { --wachapp-tech-accent: 0, 120, 212; }
.wachapp-tech-section-google { --wachapp-tech-accent: 66, 133, 244; }
.wachapp-tech-section-design { --wachapp-tech-accent: 236, 72, 153; }
.wachapp-tech-section-ai { --wachapp-tech-accent: 139, 92, 246; }
.wachapp-tech-section-development { --wachapp-tech-accent: 249, 115, 22; }
.wachapp-tech-section-pwa { --wachapp-tech-accent: 234, 179, 8; }
.wachapp-tech-section-thanks { --wachapp-tech-accent: 244, 63, 94; }

.wachapp-tech-section-head {
	position: relative;
	padding-left: 1.15rem;
}

.wachapp-tech-section-head::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2rem;
	bottom: 0.2rem;
	width: 0.25rem;
	border-radius: 999px;
	background: rgb(var(--wachapp-tech-accent));
	box-shadow: 0 0 24px rgba(var(--wachapp-tech-accent), 0.45);
}

.wachapp-tech-section-head h2 {
	font-weight: 800;
	letter-spacing: -0.02em;
}

.wachapp-tech-card {
	--wachapp-tech-pointer-x: 50%;
	--wachapp-tech-pointer-y: 50%;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--wachapp-tech-radius) !important;
	background: var(--wachapp-tech-surface);
	box-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
	backdrop-filter: blur(16px);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.wachapp-tech-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	border: 1px solid var(--wachapp-tech-border);
	border-radius: inherit;
	pointer-events: none;
}

.wachapp-tech-card::after {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -1;
	border-radius: inherit;
	background:
		radial-gradient(22rem circle at var(--wachapp-tech-pointer-x) var(--wachapp-tech-pointer-y), rgba(var(--wachapp-tech-accent), 0.16), transparent 42%),
		linear-gradient(135deg, rgba(var(--wachapp-tech-accent), 0.08), transparent 42%);
	opacity: 0.82;
	pointer-events: none;
}

.wachapp-tech-card:hover {
	transform: translateY(-7px);
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.14), 0 0 0 1px rgba(var(--wachapp-tech-accent), 0.16);
}

[data-bs-theme="dark"] .wachapp-tech-card:hover {
	box-shadow: 0 26px 64px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(var(--wachapp-tech-accent), 0.2);
}

.wachapp-tech-card .card-body {
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
}

.wachapp-tech-card .card-body > a:last-child {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 0.65rem;
	font-weight: 700;
	text-decoration: none;
}

.wachapp-tech-card .card-body > a:last-child:hover {
	text-decoration: underline;
}

.wachapp-tech-card-icon {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 2.45rem;
	height: 2.45rem;
	border: 1px solid rgba(var(--wachapp-tech-accent), 0.2);
	border-radius: 0.85rem;
	color: rgb(var(--wachapp-tech-accent));
	background: rgba(var(--wachapp-tech-accent), 0.1);
	box-shadow: 0 10px 24px rgba(var(--wachapp-tech-accent), 0.12);
	font-size: 1.15rem;
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.wachapp-tech-card:hover .wachapp-tech-card-icon {
	transform: rotate(-5deg) scale(1.08);
	box-shadow: 0 14px 30px rgba(var(--wachapp-tech-accent), 0.22);
}

.wachapp-tech-card h3 {
	font-weight: 800;
	letter-spacing: -0.015em;
}

.wachapp-tech-card .badge,
.wachapp-tech-card [class*="bg-"][class*="subtle"] {
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}


.wachapp-tech-package-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.wachapp-tech-package-chip {
	display: inline-flex;
	align-items: center;
	min-height: 1.85rem;
	padding: 0.28rem 0.55rem;
	border: 1px solid rgba(var(--wachapp-tech-accent), 0.2);
	border-radius: 0.65rem;
	background: rgba(var(--wachapp-tech-accent), 0.075);
	color: var(--bs-body-color);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	white-space: normal;
	overflow-wrap: anywhere;
}

[data-bs-theme="dark"] .wachapp-tech-package-chip {
	background: rgba(var(--wachapp-tech-accent), 0.13);
}

.wachapp-tech-code-stat {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--wachapp-tech-border);
	background: rgba(var(--wachapp-tech-accent), 0.055);
}

.wachapp-tech-code-stat::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.34) 50%, transparent 65%);
	transform: translateX(-130%);
	animation: wachapp-tech-scan 5.5s ease-in-out infinite;
	pointer-events: none;
}

[data-bs-theme="dark"] .wachapp-tech-code-stat::after {
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.08) 50%, transparent 65%);
}

.wachapp-tech-code-stat [data-loc-target] {
	font-size: clamp(1.25rem, 3vw, 1.8rem) !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.04em;
}

.wachapp-tech-icon-40 {
	width: 2.5rem;
	height: 2.5rem;
}

.wachapp-tech-icon-52 {
	width: 3.25rem;
	height: 3.25rem;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
}


.wachapp-tech-hero .wachapp-tech-live-dot::after,
.wachapp-tech-hero .wachapp-tech-gradient-text::after,
.wachapp-tech-hero .wachapp-tech-orbit-ring::after,
.wachapp-tech-hero .wachapp-tech-orbit-node,
.wachapp-tech-hero .wachapp-tech-terminal-cursor {
	animation-play-state: paused;
}

.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-live-dot::after,
.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-gradient-text::after,
.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-orbit-ring::after,
.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-orbit-node,
.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-terminal-cursor {
	animation-play-state: running;
}

.wachapp-tech-hero.is-tech-hero-visible.is-tech-document-visible .wachapp-tech-gradient-text::after {
	will-change: opacity;
}

.wachapp-tech-hero:not(.is-tech-hero-visible) .wachapp-tech-gradient-text::after,
.wachapp-tech-hero:not(.is-tech-document-visible) .wachapp-tech-gradient-text::after {
	will-change: auto;
}

.wachapp-tech-section-thanks {
	padding: clamp(1.3rem, 3vw, 2rem);
	border: 1px solid var(--wachapp-tech-border);
	border-radius: var(--wachapp-tech-radius);
	background:
		linear-gradient(135deg, rgba(244, 63, 94, 0.08), transparent 34%),
		var(--wachapp-tech-surface);
	box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

[data-wachapp-tech-reveal] {
	opacity: 0;
	transform: translateY(22px) scale(0.985);
	transition:
		opacity 620ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 620ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--wachapp-tech-delay, 0ms);
}

[data-wachapp-tech-reveal].is-visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

@keyframes wachapp-tech-pulse {
	0% { opacity: .72; transform: scale(.35); }
	70%, 100% { opacity: 0; transform: scale(1); }
}

@keyframes wachapp-tech-gradient {
	0%, 100% { opacity: 0; }
	50% { opacity: 1; }
}

@keyframes wachapp-tech-spin {
	to { transform: rotate(360deg); }
}

@keyframes wachapp-tech-float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50% { transform: translateY(-0.55rem) rotate(2deg); }
}

@keyframes wachapp-tech-blink {
	0%, 45% { opacity: 1; }
	46%, 100% { opacity: 0; }
}

@keyframes wachapp-tech-scan {
	0%, 42% { transform: translateX(-130%); }
	68%, 100% { transform: translateX(130%); }
}

@media (min-width: 992px) {
	.wachapp-tech-page {
		padding-top: calc(3rem + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) !important;
		padding-bottom: calc(3rem + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))) !important;
	}
}

@media (max-width: 991.98px) {
	.wachapp-tech-title {
		max-width: none;
	}

	.wachapp-tech-orbit-stage {
		max-width: 24rem;
	}

	.wachapp-tech-section::before {
		display: none;
	}

	.wachapp-tech-terminal {
		right: 0;
	}

	.wachapp-tech-hero,
	.wachapp-tech-nav,
	.wachapp-tech-card,
	.wachapp-tech-orbit-core,
	.wachapp-tech-orbit-node {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.wachapp-tech-nav {
		background: var(--bs-body-bg);
		box-shadow: 0 10px 26px rgba(15, 23, 42, 0.11);
	}

	[data-bs-theme="dark"] .wachapp-tech-nav {
		background: #111827;
	}
}

@media (max-width: 575.98px) {
	.wachapp-tech-page {
		padding-top: calc(1rem + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) !important;
		padding-bottom: calc(1.25rem + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))) !important;
	}

	.wachapp-tech-hero {
		padding: 1.15rem;
		border-radius: 1.35rem;
	}

	.wachapp-tech-title {
		font-size: clamp(2.15rem, 11vw, 3.3rem);
	}

	.wachapp-tech-orbit-stage {
		width: min(100%, 21rem);
	}

	.wachapp-tech-terminal {
		width: 72%;
		transform: none;
	}

	.wachapp-tech-terminal-body {
		font-size: 0.54rem;
	}

	.wachapp-tech-nav {
		margin-inline: 0;
		padding: 0.45rem;
		border-radius: 1rem;
	}

	.wachapp-tech-nav-link {
		padding: 0.58rem 0.72rem;
		font-size: 0.76rem;
	}

	.wachapp-tech-section-head {
		padding-left: 0.85rem;
	}

	.wachapp-tech-card .card-body {
		padding: 1.05rem;
	}

	.wachapp-tech-glow {
		filter: blur(44px);
		opacity: 0.28;
	}
}

@media (hover: none), (pointer: coarse) {
	[data-wachapp-tech-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.wachapp-tech-chip:hover,
	.wachapp-tech-nav-link:hover,
	.wachapp-tech-card:hover,
	.wachapp-tech-card:hover .wachapp-tech-card-icon {
		transform: none;
	}

	.wachapp-tech-card:hover {
		box-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
	}

	[data-bs-theme="dark"] .wachapp-tech-card:hover {
		box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
	}

	.wachapp-tech-orbit-node {
		animation: none;
	}

	.wachapp-tech-code-stat::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wachapp-tech-page *,
	.wachapp-tech-page *::before,
	.wachapp-tech-page *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	[data-wachapp-tech-reveal] {
		opacity: 1;
		transform: none;
	}
}
