/* Smooth underline animation for nav links */
.link-underline {
	position: relative;
}
.link-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	height: 2px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.link-underline:hover::after {
	transform: scaleX(1);
}
.link-underline.gradient::after {
	background: linear-gradient(90deg, #22d3ee, #3b82f6, #a855f7);
}

/* Scroll reveal */
.reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.show {
	opacity: 1;
	transform: translateY(0);
}
