html { scroll-behavior: smooth; }
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial, "Helvetica Neue", sans-serif; }
.app-wrapper { display: flex; flex-direction: column; min-height: 100vh; }

/* Hero */
 

/* Sections */
 
/* Cards and features */
.service-card { border: 0; border-radius: 0.75rem; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 14px 38px rgba(0,0,0,0.12); }
.feature-box { background: #fff; padding: 1.25rem; border-radius: .75rem; box-shadow: 0 8px 24px rgba(0,0,0,.06); display:flex; align-items:center; gap:.75rem; }
.feature-box i { font-size: 1.5rem; }
.hover-rise { transition: transform .3s ease, box-shadow .3s ease; }
.hover-rise:hover { transform: translateY(-6px); box-shadow: 0 14px 38px rgba(0,0,0,0.12); }

/* Reveal animations */
.reveal,  
.fade-in-up { transform: translateY(16px); }
.delay-1 { animation-delay: .15s; }
.delay-2 { animation-delay: .3s; }
@keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }

/* Carousel */
.carousel .carousel-item img { object-fit: cover; height: 420px; }

/* Navbar spacing for anchor scroll */
:target { scroll-margin-top: 80px; }

/* Forms */
.validation-message { color: #dc3545; font-size: .9rem; }

/* Responsive tweaks */
@media (max-width: 576px) {
	.hero-section .display-4 { font-size: 2.25rem; }
	.carousel .carousel-item img { height: 260px; }
}
.hero-section {
	background: linear-gradient(135deg, #004e92, #000428);
	position: relative;
	overflow: hidden;
}

	.hero-section::after {
		content: "";
		position: absolute;
		inset: 0;
		background: radial-gradient(circle at top right, rgba(255,255,255,0.1), transparent 70%);
	}

.fade-in-up {
	opacity: 0;
	transform: translateY(20px);
	animation: fadeInUp 1s forwards;
}

	.fade-in-up.delay-1 {
		animation-delay: 0.3s;
	}

	.fade-in-up.delay-2 {
		animation-delay: 0.6s;
	}

@keyframes fadeInUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.section-padding {
	padding: 80px 0;
}

.section-title {
	font-size: 2.5rem;
	position: relative;
	display: inline-block;
}

	.section-title::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: -10px;
		width: 80px;
		height: 3px;
		background-color: #0078d7;
		transform: translateX(-50%);
	}

.reveal {
	opacity: 0;
	transform: translateY(30px);
	animation: revealUp 1s forwards;
}

	.reveal.delay-1 {
		animation-delay: 0.2s;
	}

	.reveal.delay-2 {
		animation-delay: 0.4s;
	}

	.reveal.delay-3 {
		animation-delay: 0.6s;
	}

	.reveal.delay-4 {
		animation-delay: 0.8s;
	}

@keyframes revealUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}



