:root {
	--accent-1: #6fe6fc;
	--accent-2: #b0ce88;
	--accent-3: #000000;
	--text: #0b0b0b;
}

body,
html {
	height: 100%;
}

body {
	font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto,
		"Helvetica Neue", Arial;
	color: var(--text);
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.9),
		rgba(255, 255, 255, 0.8)
	);
}

.site-header .navbar-brand {
	color: var(--accent-3);
}
.site-header .nav-link {
	color: var(--accent-3);
}
.site-header .nav-link.active,
.site-header .nav-link:hover {
	color: var(--accent-1);
}

.site-header {
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(6px);
	position: sticky;
	top: 0;
	z-index: 30;
}

.navbar-brand {
	color: var(--accent-3);
}

.hero {
	min-height: 85vh;

	/* Plain fallback to the original uploaded jpeg in case optimized files aren't present */
	background-image: url("../images/background-v1.png?v=05112025");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: center;
	position: relative;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(11, 11, 11, 0.6),
		rgba(11, 11, 11, 0.2)
	);
}

.hero .container {
	position: relative;
	z-index: 2;
}

.video-iframe-section {
	position: relative;
	border-radius: 5px;
	max-width: 260px;
	margin: 0 auto 2rem auto;
}

.video-iframe-section iframe {
	width: 430px;
	height: 240px;
	border-radius: 25px;
}

/* Tablet and smaller screens */
@media (max-width: 768px) {
	.video-iframe-section {
		width: 100%;
		max-width: 450px;
		height: auto;
	}

	.video-iframe-section iframe {
		width: 100%;
		height: 295px;
	}
}

/* Mobile devices */
@media (max-width: 480px) {
	.video-iframe-section {
		width: 100%;
		max-width: 100%;
	}

	.video-iframe-section iframe {
		width: 100%;
		height: 220px;
	}
}

/* Stack hero content vertically on small screens */
@media (max-width: 425px) {
	.hero {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		padding-top: 2rem;
		min-height: auto;
	}

	.video-iframe-section {
		margin-bottom: 2rem;
	}

	.hero .container:last-child {
		margin-top: 0;
	}
}

.btn-primary {
	background: var(--accent-1);
	border-color: var(--accent-1);
	color: #000;
}

.btn-outline-light {
	--bs-btn-color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
}

.service-icon {
	font-size: 48px;
	color: var(--accent-2);
}

.service-icon i {
	display: none;
}
.emoji-fallback {
	font-size: 44px;
	display: inline-block;
	line-height: 1;
	color: var(--accent-2);
}
.service-icon {
	text-align: center;
}

.card {
	border: none;
	box-shadow: 0 6px 18px rgba(11, 11, 11, 0.06);
}

.site-footer {
	background: #000;
}

.site-footer .container {
	gap: 12px;
}

@media (max-width: 767px) {
	.hero {
		min-height: 50vh;

		background-image: url("../images/background-v1.png?v=05112025");
	}
}

@media (max-width: 767px) {
	.emoji-fallback {
		font-size: 36px;
	}
	.service-icon {
		font-size: 36px;
	}
}

/* Mobile Navigation Styles */
.navbar-toggler {
	border: 1px solid var(--accent-3);
	padding: 4px 8px;
}

.navbar-toggler:focus {
	box-shadow: 0 0 0 0.2rem rgba(111, 230, 252, 0.25);
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

@media (max-width: 991.98px) {
	.navbar-nav {
		text-align: center;
		padding-top: 1rem;
	}

	.nav-link {
		padding: 0.5rem 1rem !important;
	}
}
