:root {
	--brand-sky: #0ea5e9;
	--brand-dark: #0f172a;
}

body {
	font-family: 'Plus Jakarta Sans', sans-serif;
	background-color: #ffffff;
	color: #1e293b;
}

h1, h2, h3, .font-serif {
	font-family: 'Playfair Display', serif;
}

.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.active {
	opacity: 1;
	transform: translateY(0);
}

.nav-link-active {
	color: var(--brand-sky);
}

.mobile-menu-open {
	overflow: hidden;
}

#mobile-menu {
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.desktop-dropdown-panel {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, -8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.desktop-dropdown:hover .desktop-dropdown-panel,
.desktop-dropdown:focus-within .desktop-dropdown-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.desktop-dropdown:hover .desktop-dropdown-chevron,
.desktop-dropdown:focus-within .desktop-dropdown-chevron {
	transform: rotate(180deg);
}

.gradient-text {
	background: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
