

body {
	margin: 0;
	font-family: 'Montserrat', sans-serif;
	line-height: 1.6;
	color: #333;
	overflow-x: hidden;
	position: relative;
	background: linear-gradient(135deg, #f0f4ff, #e8f0ff);
}

body::before {
	content: '';
	position: fixed;
	top: 0;           
	left: 0;
	width: 300%;
	height: 600%;       
	background: repeating-linear-gradient(
		45deg,
		rgba(109, 28, 217, 0.08) 0px,
		rgba(109, 28, 217, 0.08) 1px,
		transparent 1px,
		transparent 40px
	);
	z-index: -2;
	animation: driftLines 10s linear infinite;
}

@keyframes driftLines {
	0% {
		transform: translate(0, 0);
	}

	100% {
		transform: translate(-285px, 0);
	}
}

body::after {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 200%;
	background-image: radial-gradient(rgba(0, 61, 130, 0.06) 1px, transparent 1px);
	background-size: 30px 30px;
	z-index: -1;
}

header {
	background: linear-gradient(135deg, #003d82, #6d28d9);
	color: white;
	text-align: center;
	padding: 100px 20px 120px;
	position: relative;
	overflow: hidden;
}

header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 120px;
	background: linear-gradient(
		to bottom,
		rgba(1,1,1,0),
		rgba(1,1,1,1)
	);
	pointer-events: none;
}

header img.logo {
	max-width: 150px;
	height: 150px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 20px;
	transition: transform 0.4s;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

header img.logo:hover {
	transform: scale(1.05);
}

header h1 {
	margin: 0;
	font-size: 3rem;
}

header p {
	font-size: 1.3rem;
	color: #e0e0e0;
	margin-top: 10px;
}

/* --- SECTIONS --- */
section {
	padding: 80px 20px;
	max-width: 1000px;
	margin: auto;
}

section h2 {
	font-size: 2.2rem;
	color: #003d82;
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}

section h2::after {
	content: '';
	width: 80px;
	height: 4px;
	background: #6d28d9;
	margin: 10px auto 0;
	display: block;
	border-radius: 2px;
}

.services {
	display: flex;
	gap: 40px;
	flex-wrap: nowrap;
	justify-content: center;
}

.service-box {
	background: rgba(255, 255, 255, 0.85);
	padding: 30px 25px;
	min-width: 260px;
	max-width: 300px;
	text-align: center;
	border-radius: 20px;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1);
	transition: transform 0.4s, box-shadow 0.4s;
}

.service-box:hover {
	transform: translateY(-10px) scale(1.05);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

@media (max-width: 480px) {
	.services {
		flex-direction: column;
		align-items: center;
	}
}

.email-form {
	background: rgba(255, 255, 255, 0.9);
	padding: 40px 30px;
	border-radius: 20px;
	max-width: 500px;
	margin: auto;
	text-align: center;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
}

input[type="email"] {
	width: 90%;
	padding: 14px;
	border-radius: 10px;
	border: 1px solid #ccc;
}

button {
	margin-top: 16px;
	padding: 14px 25px;
	background: #6d28d9;
	color: white;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	transition: 0.3s;
}

button:hover {
	background: #5b1fc1;
	transform: scale(1.05);
}

footer {
	background: linear-gradient(135deg, #003d82, #6d28d9);
	color: grey;
	text-align: center;
	padding: 40px 10px;
}

@media (max-width: 768px) {
	header h1 {
		font-size: 2.2rem;
	}

	.service-box {
		min-width: 220px;
	}
}

@media (max-width: 480px) {
	header img.logo {
		width: 120px;
		height: 120px;
	}

	.email-form {
		padding: 30px 20px;
	}
}