.main {
		will-change: transform;
}

.row > *,
.custom-ws-initial {
		white-space: initial !important;
}

.vw-5 {
		width: 5vw !important;
}

.min-vw-5 {
		min-width: 5vw !important;
}

.max-vw-5 {
		max-width: 5vw !important;
}

.vw-10 {
		width: 10vw !important;
}

.min-vw-10 {
		min-width: 10vw !important;
}

.max-vw-10 {
		max-width: 10vw !important;
}

.vw-15 {
		width: 15vw !important;
}

.min-vw-15 {
		min-width: 15vw !important;
}

.max-vw-15 {
		max-width: 15vw !important;
}

.vw-20 {
		width: 20vw !important;
}

.min-vw-20 {
		min-width: 20vw !important;
}

.max-vw-20 {
		max-width: 20vw !important;
}

.vw-25 {
		width: 25vw !important;
}

.min-vw-25 {
		min-width: 25vw !important;
}

.max-vw-25 {
		max-width: 25vw !important;
}

.vw-30 {
		width: 30vw !important;
}

.min-vw-30 {
		min-width: 30vw !important;
}

.max-vw-30 {
		max-width: 30vw !important;
}

.vw-35 {
		width: 35vw !important;
}

.min-vw-35 {
		min-width: 35vw !important;
}

.max-vw-35 {
		max-width: 35vw !important;
}

.vw-40 {
		width: 40vw !important;
}

.min-vw-40 {
		min-width: 40vw !important;
}

.max-vw-40 {
		max-width: 40vw !important;
}

.vw-45 {
		width: 45vw !important;
}

.min-vw-45 {
		min-width: 45vw !important;
}

.max-vw-45 {
		max-width: 45vw !important;
}

.vw-50 {
		width: 50vw !important;
}

.min-vw-50 {
		min-width: 50vw !important;
}

.max-vw-50 {
		max-width: 50vw !important;
}

.vw-55 {
		width: 55vw !important;
}

.min-vw-55 {
		min-width: 55vw !important;
}

.max-vw-55 {
		max-width: 55vw !important;
}

.vw-60 {
		width: 60vw !important;
}

.min-vw-60 {
		min-width: 60vw !important;
}

.max-vw-60 {
		max-width: 60vw !important;
}

.vw-65 {
		width: 65vw !important;
}

.min-vw-65 {
		min-width: 65vw !important;
}

.max-vw-65 {
		max-width: 65vw !important;
}

.vw-70 {
		width: 70vw !important;
}

.min-vw-70 {
		min-width: 70vw !important;
}

.max-vw-70 {
		max-width: 70vw !important;
}

.vw-75 {
		width: 75vw !important;
}

.min-vw-75 {
		min-width: 75vw !important;
}

.max-vw-75 {
		max-width: 75vw !important;
}

.vw-80 {
		width: 80vw !important;
}

.min-vw-80 {
		min-width: 80vw !important;
}

.max-vw-80 {
		max-width: 80vw !important;
}

.vw-85 {
		width: 85vw !important;
}

.min-vw-85 {
		min-width: 85vw !important;
}

.max-vw-85 {
		max-width: 85vw !important;
}

.vw-90 {
		width: 90vw !important;
}

.min-vw-90 {
		min-width: 90vw !important;
}

.max-vw-90 {
		max-width: 90vw !important;
}

.vw-95 {
		width: 95vw !important;
}

.min-vw-95 {
		min-width: 95vw !important;
}

.max-vw-95 {
		max-width: 95vw !important;
}

.vw-100 {
		width: 100vw !important;
}

.min-vw-100 {
		min-width: 100vw !important;
}

.max-vw-100 {
		max-width: 100vw !important;
}

.min-vh-100 {
		min-height: 100vh !important;
}

.vh-100 {
		height: 100vh !important;
}

@media (min-width: 576px) {
		.vw-sm-5 {
				width: 5vw !important;
		}
		.min-vw-sm-5 {
				min-width: 5vw !important;
		}
		.max-vw-sm-5 {
				max-width: 5vw !important;
		}
		.vw-sm-10 {
				width: 10vw !important;
		}
		.min-vw-sm-10 {
				min-width: 10vw !important;
		}
		.max-vw-sm-10 {
				max-width: 10vw !important;
		}
		.vw-sm-15 {
				width: 15vw !important;
		}
		.min-vw-sm-15 {
				min-width: 15vw !important;
		}
		.max-vw-sm-15 {
				max-width: 15vw !important;
		}
		.vw-sm-20 {
				width: 20vw !important;
		}
		.min-vw-sm-20 {
				min-width: 20vw !important;
		}
		.max-vw-sm-20 {
				max-width: 20vw !important;
		}
		.vw-sm-25 {
				width: 25vw !important;
		}
		.min-vw-sm-25 {
				min-width: 25vw !important;
		}
		.max-vw-sm-25 {
				max-width: 25vw !important;
		}
		.vw-sm-30 {
				width: 30vw !important;
		}
		.min-vw-sm-30 {
				min-width: 30vw !important;
		}
		.max-vw-sm-30 {
				max-width: 30vw !important;
		}
		.vw-sm-35 {
				width: 35vw !important;
		}
		.min-vw-sm-35 {
				min-width: 35vw !important;
		}
		.max-vw-sm-35 {
				max-width: 35vw !important;
		}
		.vw-sm-40 {
				width: 40vw !important;
		}
		.min-vw-sm-40 {
				min-width: 40vw !important;
		}
		.max-vw-sm-40 {
				max-width: 40vw !important;
		}
		.vw-sm-45 {
				width: 45vw !important;
		}
		.min-vw-sm-45 {
				min-width: 45vw !important;
		}
		.max-vw-sm-45 {
				max-width: 45vw !important;
		}
		.vw-sm-50 {
				width: 50vw !important;
		}
		.min-vw-sm-50 {
				min-width: 50vw !important;
		}
		.max-vw-sm-50 {
				max-width: 50vw !important;
		}
		.vw-sm-55 {
				width: 55vw !important;
		}
		.min-vw-sm-55 {
				min-width: 55vw !important;
		}
		.max-vw-sm-55 {
				max-width: 55vw !important;
		}
		.vw-sm-60 {
				width: 60vw !important;
		}
		.min-vw-sm-60 {
				min-width: 60vw !important;
		}
		.max-vw-sm-60 {
				max-width: 60vw !important;
		}
		.vw-sm-65 {
				width: 65vw !important;
		}
		.min-vw-sm-65 {
				min-width: 65vw !important;
		}
		.max-vw-sm-65 {
				max-width: 65vw !important;
		}
		.vw-sm-70 {
				width: 70vw !important;
		}
		.min-vw-sm-70 {
				min-width: 70vw !important;
		}
		.max-vw-sm-70 {
				max-width: 70vw !important;
		}
		.vw-sm-75 {
				width: 75vw !important;
		}
		.min-vw-sm-75 {
				min-width: 75vw !important;
		}
		.max-vw-sm-75 {
				max-width: 75vw !important;
		}
		.vw-sm-80 {
				width: 80vw !important;
		}
		.min-vw-sm-80 {
				min-width: 80vw !important;
		}
		.max-vw-sm-80 {
				max-width: 80vw !important;
		}
		.vw-sm-85 {
				width: 85vw !important;
		}
		.min-vw-sm-85 {
				min-width: 85vw !important;
		}
		.max-vw-sm-85 {
				max-width: 85vw !important;
		}
		.vw-sm-90 {
				width: 90vw !important;
		}
		.min-vw-sm-90 {
				min-width: 90vw !important;
		}
		.max-vw-sm-90 {
				max-width: 90vw !important;
		}
		.vw-sm-95 {
				width: 95vw !important;
		}
		.min-vw-sm-95 {
				min-width: 95vw !important;
		}
		.max-vw-sm-95 {
				max-width: 95vw !important;
		}
		.vw-sm-100 {
				width: 100vw !important;
		}
		.min-vw-sm-100 {
				min-width: 100vw !important;
		}
		.max-vw-sm-100 {
				max-width: 100vw !important;
		}
		.min-vh-sm-100 {
				min-height: 100vh !important;
		}
		.vh-sm-100 {
				height: 100vh !important;
		}
}

@media (min-width: 768px) {
		.vw-md-5 {
				width: 5vw !important;
		}
		.min-vw-md-5 {
				min-width: 5vw !important;
		}
		.max-vw-md-5 {
				max-width: 5vw !important;
		}
		.vw-md-10 {
				width: 10vw !important;
		}
		.min-vw-md-10 {
				min-width: 10vw !important;
		}
		.max-vw-md-10 {
				max-width: 10vw !important;
		}
		.vw-md-15 {
				width: 15vw !important;
		}
		.min-vw-md-15 {
				min-width: 15vw !important;
		}
		.max-vw-md-15 {
				max-width: 15vw !important;
		}
		.vw-md-20 {
				width: 20vw !important;
		}
		.min-vw-md-20 {
				min-width: 20vw !important;
		}
		.max-vw-md-20 {
				max-width: 20vw !important;
		}
		.vw-md-25 {
				width: 25vw !important;
		}
		.min-vw-md-25 {
				min-width: 25vw !important;
		}
		.max-vw-md-25 {
				max-width: 25vw !important;
		}
		.vw-md-30 {
				width: 30vw !important;
		}
		.min-vw-md-30 {
				min-width: 30vw !important;
		}
		.max-vw-md-30 {
				max-width: 30vw !important;
		}
		.vw-md-35 {
				width: 35vw !important;
		}
		.min-vw-md-35 {
				min-width: 35vw !important;
		}
		.max-vw-md-35 {
				max-width: 35vw !important;
		}
		.vw-md-40 {
				width: 40vw !important;
		}
		.min-vw-md-40 {
				min-width: 40vw !important;
		}
		.max-vw-md-40 {
				max-width: 40vw !important;
		}
		.vw-md-45 {
				width: 45vw !important;
		}
		.min-vw-md-45 {
				min-width: 45vw !important;
		}
		.max-vw-md-45 {
				max-width: 45vw !important;
		}
		.vw-md-50 {
				width: 50vw !important;
		}
		.min-vw-md-50 {
				min-width: 50vw !important;
		}
		.max-vw-md-50 {
				max-width: 50vw !important;
		}
		.vw-md-55 {
				width: 55vw !important;
		}
		.min-vw-md-55 {
				min-width: 55vw !important;
		}
		.max-vw-md-55 {
				max-width: 55vw !important;
		}
		.vw-md-60 {
				width: 60vw !important;
		}
		.min-vw-md-60 {
				min-width: 60vw !important;
		}
		.max-vw-md-60 {
				max-width: 60vw !important;
		}
		.vw-md-65 {
				width: 65vw !important;
		}
		.min-vw-md-65 {
				min-width: 65vw !important;
		}
		.max-vw-md-65 {
				max-width: 65vw !important;
		}
		.vw-md-70 {
				width: 70vw !important;
		}
		.min-vw-md-70 {
				min-width: 70vw !important;
		}
		.max-vw-md-70 {
				max-width: 70vw !important;
		}
		.vw-md-75 {
				width: 75vw !important;
		}
		.min-vw-md-75 {
				min-width: 75vw !important;
		}
		.max-vw-md-75 {
				max-width: 75vw !important;
		}
		.vw-md-80 {
				width: 80vw !important;
		}
		.min-vw-md-80 {
				min-width: 80vw !important;
		}
		.max-vw-md-80 {
				max-width: 80vw !important;
		}
		.vw-md-85 {
				width: 85vw !important;
		}
		.min-vw-md-85 {
				min-width: 85vw !important;
		}
		.max-vw-md-85 {
				max-width: 85vw !important;
		}
		.vw-md-90 {
				width: 90vw !important;
		}
		.min-vw-md-90 {
				min-width: 90vw !important;
		}
		.max-vw-md-90 {
				max-width: 90vw !important;
		}
		.vw-md-95 {
				width: 95vw !important;
		}
		.min-vw-md-95 {
				min-width: 95vw !important;
		}
		.max-vw-md-95 {
				max-width: 95vw !important;
		}
		.vw-md-100 {
				width: 100vw !important;
		}
		.min-vw-md-100 {
				min-width: 100vw !important;
		}
		.max-vw-md-100 {
				max-width: 100vw !important;
		}
		.min-vh-md-100 {
				min-height: 100vh !important;
		}
		.vh-md-100 {
				height: 100vh !important;
		}
}

@media (min-width: 992px) {
		.vw-lg-5 {
				width: 5vw !important;
		}
		.min-vw-lg-5 {
				min-width: 5vw !important;
		}
		.max-vw-lg-5 {
				max-width: 5vw !important;
		}
		.vw-lg-10 {
				width: 10vw !important;
		}
		.min-vw-lg-10 {
				min-width: 10vw !important;
		}
		.max-vw-lg-10 {
				max-width: 10vw !important;
		}
		.vw-lg-15 {
				width: 15vw !important;
		}
		.min-vw-lg-15 {
				min-width: 15vw !important;
		}
		.max-vw-lg-15 {
				max-width: 15vw !important;
		}
		.vw-lg-20 {
				width: 20vw !important;
		}
		.min-vw-lg-20 {
				min-width: 20vw !important;
		}
		.max-vw-lg-20 {
				max-width: 20vw !important;
		}
		.vw-lg-25 {
				width: 25vw !important;
		}
		.min-vw-lg-25 {
				min-width: 25vw !important;
		}
		.max-vw-lg-25 {
				max-width: 25vw !important;
		}
		.vw-lg-30 {
				width: 30vw !important;
		}
		.min-vw-lg-30 {
				min-width: 30vw !important;
		}
		.max-vw-lg-30 {
				max-width: 30vw !important;
		}
		.vw-lg-35 {
				width: 35vw !important;
		}
		.min-vw-lg-35 {
				min-width: 35vw !important;
		}
		.max-vw-lg-35 {
				max-width: 35vw !important;
		}
		.vw-lg-40 {
				width: 40vw !important;
		}
		.min-vw-lg-40 {
				min-width: 40vw !important;
		}
		.max-vw-lg-40 {
				max-width: 40vw !important;
		}
		.vw-lg-45 {
				width: 45vw !important;
		}
		.min-vw-lg-45 {
				min-width: 45vw !important;
		}
		.max-vw-lg-45 {
				max-width: 45vw !important;
		}
		.vw-lg-50 {
				width: 50vw !important;
		}
		.min-vw-lg-50 {
				min-width: 50vw !important;
		}
		.max-vw-lg-50 {
				max-width: 50vw !important;
		}
		.vw-lg-55 {
				width: 55vw !important;
		}
		.min-vw-lg-55 {
				min-width: 55vw !important;
		}
		.max-vw-lg-55 {
				max-width: 55vw !important;
		}
		.vw-lg-60 {
				width: 60vw !important;
		}
		.min-vw-lg-60 {
				min-width: 60vw !important;
		}
		.max-vw-lg-60 {
				max-width: 60vw !important;
		}
		.vw-lg-65 {
				width: 65vw !important;
		}
		.min-vw-lg-65 {
				min-width: 65vw !important;
		}
		.max-vw-lg-65 {
				max-width: 65vw !important;
		}
		.vw-lg-70 {
				width: 70vw !important;
		}
		.min-vw-lg-70 {
				min-width: 70vw !important;
		}
		.max-vw-lg-70 {
				max-width: 70vw !important;
		}
		.vw-lg-75 {
				width: 75vw !important;
		}
		.min-vw-lg-75 {
				min-width: 75vw !important;
		}
		.max-vw-lg-75 {
				max-width: 75vw !important;
		}
		.vw-lg-80 {
				width: 80vw !important;
		}
		.min-vw-lg-80 {
				min-width: 80vw !important;
		}
		.max-vw-lg-80 {
				max-width: 80vw !important;
		}
		.vw-lg-85 {
				width: 85vw !important;
		}
		.min-vw-lg-85 {
				min-width: 85vw !important;
		}
		.max-vw-lg-85 {
				max-width: 85vw !important;
		}
		.vw-lg-90 {
				width: 90vw !important;
		}
		.min-vw-lg-90 {
				min-width: 90vw !important;
		}
		.max-vw-lg-90 {
				max-width: 90vw !important;
		}
		.vw-lg-95 {
				width: 95vw !important;
		}
		.min-vw-lg-95 {
				min-width: 95vw !important;
		}
		.max-vw-lg-95 {
				max-width: 95vw !important;
		}
		.vw-lg-100 {
				width: 100vw !important;
		}
		.min-vw-lg-100 {
				min-width: 100vw !important;
		}
		.max-vw-lg-100 {
				max-width: 100vw !important;
		}
		.min-vh-lg-100 {
				min-height: 100vh !important;
		}
		.vh-lg-100 {
				height: 100vh !important;
		}
}

@media (min-width: 1200px) {
		.vw-xl-5 {
				width: 5vw !important;
		}
		.min-vw-xl-5 {
				min-width: 5vw !important;
		}
		.max-vw-xl-5 {
				max-width: 5vw !important;
		}
		.vw-xl-10 {
				width: 10vw !important;
		}
		.min-vw-xl-10 {
				min-width: 10vw !important;
		}
		.max-vw-xl-10 {
				max-width: 10vw !important;
		}
		.vw-xl-15 {
				width: 15vw !important;
		}
		.min-vw-xl-15 {
				min-width: 15vw !important;
		}
		.max-vw-xl-15 {
				max-width: 15vw !important;
		}
		.vw-xl-20 {
				width: 20vw !important;
		}
		.min-vw-xl-20 {
				min-width: 20vw !important;
		}
		.max-vw-xl-20 {
				max-width: 20vw !important;
		}
		.vw-xl-25 {
				width: 25vw !important;
		}
		.min-vw-xl-25 {
				min-width: 25vw !important;
		}
		.max-vw-xl-25 {
				max-width: 25vw !important;
		}
		.vw-xl-30 {
				width: 30vw !important;
		}
		.min-vw-xl-30 {
				min-width: 30vw !important;
		}
		.max-vw-xl-30 {
				max-width: 30vw !important;
		}
		.vw-xl-35 {
				width: 35vw !important;
		}
		.min-vw-xl-35 {
				min-width: 35vw !important;
		}
		.max-vw-xl-35 {
				max-width: 35vw !important;
		}
		.vw-xl-40 {
				width: 40vw !important;
		}
		.min-vw-xl-40 {
				min-width: 40vw !important;
		}
		.max-vw-xl-40 {
				max-width: 40vw !important;
		}
		.vw-xl-45 {
				width: 45vw !important;
		}
		.min-vw-xl-45 {
				min-width: 45vw !important;
		}
		.max-vw-xl-45 {
				max-width: 45vw !important;
		}
		.vw-xl-50 {
				width: 50vw !important;
		}
		.min-vw-xl-50 {
				min-width: 50vw !important;
		}
		.max-vw-xl-50 {
				max-width: 50vw !important;
		}
		.vw-xl-55 {
				width: 55vw !important;
		}
		.min-vw-xl-55 {
				min-width: 55vw !important;
		}
		.max-vw-xl-55 {
				max-width: 55vw !important;
		}
		.vw-xl-60 {
				width: 60vw !important;
		}
		.min-vw-xl-60 {
				min-width: 60vw !important;
		}
		.max-vw-xl-60 {
				max-width: 60vw !important;
		}
		.vw-xl-65 {
				width: 65vw !important;
		}
		.min-vw-xl-65 {
				min-width: 65vw !important;
		}
		.max-vw-xl-65 {
				max-width: 65vw !important;
		}
		.vw-xl-70 {
				width: 70vw !important;
		}
		.min-vw-xl-70 {
				min-width: 70vw !important;
		}
		.max-vw-xl-70 {
				max-width: 70vw !important;
		}
		.vw-xl-75 {
				width: 75vw !important;
		}
		.min-vw-xl-75 {
				min-width: 75vw !important;
		}
		.max-vw-xl-75 {
				max-width: 75vw !important;
		}
		.vw-xl-80 {
				width: 80vw !important;
		}
		.min-vw-xl-80 {
				min-width: 80vw !important;
		}
		.max-vw-xl-80 {
				max-width: 80vw !important;
		}
		.vw-xl-85 {
				width: 85vw !important;
		}
		.min-vw-xl-85 {
				min-width: 85vw !important;
		}
		.max-vw-xl-85 {
				max-width: 85vw !important;
		}
		.vw-xl-90 {
				width: 90vw !important;
		}
		.min-vw-xl-90 {
				min-width: 90vw !important;
		}
		.max-vw-xl-90 {
				max-width: 90vw !important;
		}
		.vw-xl-95 {
				width: 95vw !important;
		}
		.min-vw-xl-95 {
				min-width: 95vw !important;
		}
		.max-vw-xl-95 {
				max-width: 95vw !important;
		}
		.vw-xl-100 {
				width: 100vw !important;
		}
		.min-vw-xl-100 {
				min-width: 100vw !important;
		}
		.max-vw-xl-100 {
				max-width: 100vw !important;
		}
		.min-vh-xl-100 {
				min-height: 100vh !important;
		}
		.vh-xl-100 {
				height: 100vh !important;
		}
}


h1, h2, h3 {
		font-weight: bold;
		line-height: 1;
}

h2 {
		font-size: 3em;
		margin-bottom: 0.5em;
}

h3 {
		font-size: 2.5em;
		margin-bottom: 0.4em;
		text-transform: none;
}

h5 {
		color: var(--default);
		letter-spacing: 2px;
		margin-bottom: 0.8em;
		font-weight: 500;
		font-size: 0.9em;
}

.text-0-5 {
		font-size: 12.8px;
		font-size: 0.8rem;
}

p {
		line-height: 28.8px;
		line-height: 1.8rem;
}

p.lead {
		font-size: 1.3em;
		font-weight: 500;
		line-height: 36.8px;
		line-height: 2.3rem;
		color: var(--tertiary);
}

.custom-text-1 {
		mix-blend-mode: difference;
		font-weight: bold;
		font-size: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
		line-height: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
}

.custom-link-1 {
		display: inline-block;
		position: relative;
}

.custom-link-1:after {
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		background: var(--primary);
		transition: cubic-bezier(0.55, 0, 0.1, 1) transform 300ms;
		width: 100%;
		transform: translateY(0px);
}

.custom-link-1.custom-link-1-light:after {
		background: var(--light);
}

.custom-link-1:hover {
		text-decoration: none !important;
}

.custom-link-1:hover:after {
		transform: translateY(3px);
}

.custom-list-1 li {
		padding: 4px 0;
}

.custom-border-radius-1 {
		border-radius: 8px;
}

@media (min-width: 1199px) {
		.custom-border-left-1 {
				border-left: 1px solid rgba(0, 0, 0, 0.12) !important;
		}
		.custom-border-right-1 {
				border-right: 1px solid rgba(0, 0, 0, 0.12) !important;
		}
		.custom-border-top-1 {
				border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
		}
		.custom-border-bottom-1 {
				border-bottom: 1px solid rgba(0, 0, 0, 0.12) !important;
		}
		.custom-border-bottom-2 {
				background-image: linear-gradient(to right, #999 0 10%, rgba(255, 255, 255, 0) 10%);
				background-position: bottom;
				background-size: 8px 1px;
				background-repeat: repeat-x;
		}
}

#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		z-index: 9999;
}

#header .header-body {
		/* Navy m26 (#0d1d49) com opacidade leve — bolhas do hero aparecem por trás
		   sem apagar o texto do menu. O blur reforça a legibilidade. */
		background: rgba(13, 29, 73, 0.75);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		border: 0;
		box-shadow: 0 2px 24px rgba(13, 29, 73, 0.35);
}

#header .nav-link,
#header .header-logo a {
		text-shadow: 0 1px 6px rgba(13, 29, 73, 0.55);
}

.custom-stroke-text-effect-1 {
		-webkit-text-fill-color: transparent;
		-webkit-text-stroke-width: 1.5px;
		-webkit-text-stroke-color: var(--light);
		white-space: nowrap;
}

.custom-hero-font-1 {
		font-size: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
		line-height: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
}

.custom-hero-font-2 {
		font-size: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
		line-height: calc(40px + 50 * ((100vw - 300px) / (1200 - 300)));
}

/* ==================================================================
   Efeito bolha no hover — usado no hero "Saia" / "da bolha"
   e também em qualquer texto marcado com .m26-bubble-text
   (ex.: h2 "Nossas Especialidades", h2 "Saia da bolha" no contato).
   ==================================================================
   - Pseudo-elementos sobem como bolhas ao redor do texto.
   - Texto recebe um leve glow + wobble (oscilação tipo membrana de bolha).
   - Respeita prefers-reduced-motion.
   ================================================================== */
.custom-hero-font-1,
.custom-hero-font-2,
.m26-bubble-text {
		position: relative;
		display: inline-block;
		cursor: default;
		transition:
				transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
				text-shadow 0.4s ease;
		overflow: visible;
}

/* Quando .m26-bubble-text está em um link, mantém pointer */
a.m26-bubble-text,
a > .m26-bubble-text,
.m26-bubble-text > a {
		cursor: pointer;
}

/* Em links, o efeito não muda a cor original do texto */
a.m26-bubble-text,
a.m26-bubble-text:hover,
a.m26-bubble-text:focus {
		text-decoration: none;
}

.custom-hero-font-1::before,
.custom-hero-font-1::after,
.custom-hero-font-2::before,
.custom-hero-font-2::after,
.m26-bubble-text::before,
.m26-bubble-text::after {
		content: "";
		position: absolute;
		border-radius: 50%;
		border: 1.5px solid rgba(255, 255, 255, 0.55);
		background: radial-gradient(circle at 30% 30%,
				rgba(255, 255, 255, 0.40),
				rgba(255, 255, 255, 0.08) 60%,
				rgba(255, 255, 255, 0) 72%);
		box-shadow:
				0 0 14px rgba(173, 216, 255, 0.35),
				inset 0 0 6px rgba(255, 255, 255, 0.45);
		opacity: 0;
		pointer-events: none;
}

.custom-hero-font-1::before,
.custom-hero-font-2::before,
.m26-bubble-text::before {
		width: 22px;
		height: 22px;
		left: 8%;
		bottom: 8%;
}

.custom-hero-font-1::after,
.custom-hero-font-2::after,
.m26-bubble-text::after {
		width: 14px;
		height: 14px;
		right: 12%;
		bottom: 4%;
}

/* Hero usa bolhas um pouco maiores (texto gigante) */
.custom-hero-font-1::before,
.custom-hero-font-2::before {
		width: 28px;
		height: 28px;
}

.custom-hero-font-1::after,
.custom-hero-font-2::after {
		width: 18px;
		height: 18px;
}

.custom-hero-font-1:hover,
.custom-hero-font-2:hover,
.m26-bubble-text:hover {
		transform: scale(1.04);
		text-shadow:
				0 0 18px rgba(255, 255, 255, 0.35),
				0 0 4px rgba(173, 216, 255, 0.85);
		animation: m26-hero-bubble-wobble 1.4s ease-in-out infinite;
}

.custom-hero-font-1:hover::before,
.custom-hero-font-2:hover::before,
.m26-bubble-text:hover::before {
		animation: m26-hero-bubble-rise-1 1.8s ease-out infinite;
}

.custom-hero-font-1:hover::after,
.custom-hero-font-2:hover::after,
.m26-bubble-text:hover::after {
		animation: m26-hero-bubble-rise-2 2.2s ease-out 0.45s infinite;
}

.m26-specialties-copy h5 {
		margin-bottom: 8px;
}

.m26-specialties-copy h2 {
		margin-bottom: 14px;
}

.m26-specialties-copy p {
		line-height: 1.35;
		margin-bottom: 10px;
}

.m26-specialties-copy p.lead {
		line-height: 1.3;
		margin-bottom: 10px;
}

.m26-specialties-copy .dn-link-btn {
		margin-top: 8px;
}

@keyframes m26-hero-bubble-rise-1 {
		0%   { opacity: 0; transform: translate(0, 10%) scale(0.4); }
		15%  { opacity: 0.85; }
		70%  { opacity: 0.6; }
		100% { opacity: 0; transform: translate(20%, -190%) scale(1.6); }
}

@keyframes m26-hero-bubble-rise-2 {
		0%   { opacity: 0; transform: translate(0, 0) scale(0.3); }
		20%  { opacity: 1; }
		80%  { opacity: 0.5; }
		100% { opacity: 0; transform: translate(-30%, -220%) scale(1.8); }
}

@keyframes m26-hero-bubble-wobble {
		0%, 100% { transform: scale(1.04, 1.04); }
		25%      { transform: scale(1.06, 1.02); }
		50%      { transform: scale(1.04, 1.04); }
		75%      { transform: scale(1.02, 1.06); }
}

@media (prefers-reduced-motion: reduce) {
		.custom-hero-font-1:hover,
		.custom-hero-font-2:hover,
		.m26-bubble-text:hover {
				animation: none;
				transform: none;
		}
		.custom-hero-font-1:hover::before,
		.custom-hero-font-1:hover::after,
		.custom-hero-font-2:hover::before,
		.custom-hero-font-2:hover::after,
		.m26-bubble-text:hover::before,
		.m26-bubble-text:hover::after {
				animation: none;
				opacity: 0.6;
		}
}

/* Notebook 1366x768: manter scroll horizontal, compactando a altura útil. */
@media (min-width: 1200px) and (max-width: 1439.98px), (min-width: 1200px) and (max-height: 819.98px) {
		body.sitemap-2026 .smoothScroll section,
		body.sitemap-2026 .smoothScroll .min-vh-100,
		body.sitemap-2026 .smoothScroll .min-vh-xl-100,
		body.sitemap-2026 .smoothScroll .vh-xl-100 {
				height: calc(100vh - 72px) !important;
				min-height: calc(100vh - 72px) !important;
		}

		/* Mantém flex-start apenas onde o conteúdo é longo e pode estourar
		   a altura útil em 1366x768. Para hero/serviços/contato o conteúdo
		   cabe — usamos center para distribuição vertical proporcional. */
		body.sitemap-2026 .smoothScroll #about,
		body.sitemap-2026 .smoothScroll #work {
				align-items: flex-start !important;
		}

		body.sitemap-2026 .smoothScroll #home,
		body.sitemap-2026 .smoothScroll #services,
		body.sitemap-2026 .smoothScroll #contact,
		body.sitemap-2026 .smoothScroll .custom-home-blog {
				align-items: center !important;
		}

		body.sitemap-2026 .smoothScroll .p-5 {
				padding: 2.5rem !important;
		}

		/* Wrapper interno do hero também centralizado verticalmente */
		body.sitemap-2026 .smoothScroll #home .vw-100 {
				align-items: center !important;
		}

		body.sitemap-2026 .smoothScroll #home .custom-home-hero__content,
		body.sitemap-2026 .smoothScroll #home > div > div {
				padding-top: 3%;
				padding-bottom: 3%;
		}

		body.sitemap-2026 .smoothScroll #home .custom-hero-font-1,
		body.sitemap-2026 .smoothScroll #home .custom-hero-font-2 {
				font-size: clamp(44px, 6.2vw, 84px);
				line-height: 0.98;
		}

		body.sitemap-2026 .smoothScroll #home .max-vw-xl-25 {
				max-width: 20vw !important;
		}

		body.sitemap-2026 .smoothScroll #home .line-height-5 {
				line-height: 1.35 !important;
		}

		/* Centraliza verticalmente o parágrafo direito anulando o pt-4 fixo
		   (Bootstrap = 1.5rem). Com align-items-center do flex pai e padding
		   em %, o texto fica proporcional ao "Saia" em telas 1366x768. */
		body.sitemap-2026 .smoothScroll #home .max-vw-xl-25 .pt-4,
		body.sitemap-2026 .smoothScroll #home .max-vw-xl-25 > .pt-4,
		body.sitemap-2026 .smoothScroll #home .text-xl-start .pt-4 {
				padding-top: 0 !important;
		}

		/* Reduz o gap entre "Saia" e "da bolha" usando % de viewport
		   para manter o conjunto centralizado proporcionalmente. */
		body.sitemap-2026 .smoothScroll #home .text-center.w-100.mt-4 {
				margin-top: 1.5% !important;
		}

		body.sitemap-2026 .smoothScroll #home .bottom-20 {
				bottom: 10px !important;
		}

		/* Colunas internas: #work mantém flex-start (imagens longas);
		   #services/#contact/.custom-home-blog vão para center. */
		body.sitemap-2026 .smoothScroll #work > div {
				align-items: flex-start !important;
		}

		body.sitemap-2026 .smoothScroll #services > div,
		body.sitemap-2026 .smoothScroll #contact > div,
		body.sitemap-2026 .smoothScroll .custom-home-blog > div {
				align-items: center !important;
		}

		body.sitemap-2026 .smoothScroll h2 {
				font-size: 2.7em;
				line-height: 0.96;
				margin-bottom: 0.45em;
		}

		body.sitemap-2026 .smoothScroll #services h4 {
				font-size: 2.15em;
				line-height: 1.05;
				margin-top: 0.85rem !important;
		}

		body.sitemap-2026 .smoothScroll #about p,
		body.sitemap-2026 .smoothScroll #services p,
		body.sitemap-2026 .smoothScroll #work p,
		body.sitemap-2026 .smoothScroll #contact p,
		body.sitemap-2026 .smoothScroll .custom-home-blog p {
				margin-bottom: 0.85rem;
		}

		body.sitemap-2026 .smoothScroll .text-xl-15 {
				font-size: 4.15em !important;
		}
}

.custom-el-1 {
		margin-right: -30vw;
		border-radius: 50%;
		width: 30vw;
		height: 30vw;
}

.custom-el-2 {
		width: 20vw;
		height: 15vw;
		margin-left: -2px;
}

.custom-el-3 {
		bottom: 30%;
}

.custom-el-4 {
		width: 2px;
		background: var(--light);
		height: 150px;
		display: block;
		margin-right: 14px;
		float: left;
}

.custom-el-5 {
		top: -100px;
		left: 14px;
}

.custom-el-6 {
		bottom: -100px;
		right: 14px;
}

/* ============================================
   Mobile / Tablet Floating Navigation
   ============================================ */
#mobile-float-nav {
	display: none;
	position: fixed;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10000;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

@media (max-width: 1199px) {
	#mobile-float-nav {
		display: flex;
	}
}

.mfn-toggle {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #A9C9FF;
	border: none;
	color: #0a0a0a;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 16px rgba(0,0,0,0.45), 0 0 0 3px rgba(169,201,255,0.18);
	font-size: 1rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	margin-bottom: 4px;
}

.mfn-toggle:hover {
	transform: scale(1.08);
	box-shadow: 0 6px 22px rgba(0,0,0,0.5), 0 0 0 4px rgba(169,201,255,0.28);
}

.mfn-items {
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.mfn-items.mfn-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translateX(-14px) scale(0.9);
}

.mfn-item {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(10, 10, 10, 0.88);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(169, 201, 255, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	color: #fff !important;
	box-shadow: 0 3px 12px rgba(0,0,0,0.35);
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
	font-size: 0.85rem;
	position: relative;
}

.mfn-item:hover,
.mfn-item:active {
	background: #A9C9FF;
	color: #0a0a0a !important;
	transform: scale(1.12);
	box-shadow: 0 6px 20px rgba(169,201,255,0.4);
}

.mfn-item::after {
	content: attr(data-label);
	position: absolute;
	left: calc(100% + 10px);
	background: rgba(10,10,10,0.88);
	color: #fff;
	font-size: 0.7rem;
	letter-spacing: 0.5px;
	padding: 4px 9px;
	border-radius: 4px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
	text-shadow: none;
}

.mfn-item:hover::after {
	opacity: 1;
}

@keyframes arrowMove {
		0% {
				transform: translateY(5px);
		}
		50% {
				transform: translateY(10px);
		}
		100% {
				transform: translateY(5px);
		}
}

.custom-arrow-anim {
		animation: arrowMove 600ms ease;
		animation-iteration-count: infinite;
}

/* ============================================
   Ajustes responsivos — home index (v20260420d)
   1) Sobre: fonte + imagem menores em 1366x768
   2) Serviços: fonte menor + espaçamento +10px
   3) Portfólio: 10px no topo das imagens
   4) Certificados no lugar do element-2 (.m26-cert-grid)
   5) Copyright com fonte reduzida
   ============================================ */

/* 1) Sobre — caber em notebooks 1366x768 */
@media (min-width: 1200px) and (max-width: 1439.98px),
       (min-width: 1200px) and (max-height: 819.98px) {
    body.sitemap-2026 .smoothScroll #about .p-5 {
        padding: 1.25rem 1.75rem !important;
    }
    body.sitemap-2026 .smoothScroll #about h5 {
        font-size: 0.85em;
        margin-top: 0 !important;
        margin-bottom: 0.35em;
    }
    body.sitemap-2026 .smoothScroll #about h2 {
        font-size: 2.05em !important;
        line-height: 1 !important;
        margin-bottom: 0.45rem !important;
    }
    body.sitemap-2026 .smoothScroll #about p.lead {
        font-size: 0.95rem;
        line-height: 1.35;
        margin-bottom: 0.55rem;
    }
    body.sitemap-2026 .smoothScroll #about p {
        font-size: 0.82rem;
        line-height: 1.3;
        margin-bottom: 0.4rem;
    }
    body.sitemap-2026 .smoothScroll #about .dn-link-btn {
        font-size: 0.85rem;
    }
    body.sitemap-2026 .smoothScroll #about .mt-4 {
        margin-top: 0.75rem !important;
    }
    body.sitemap-2026 .smoothScroll #about .col-lg-6.border-left-light .p-5 {
        padding: 1rem !important;
    }
    body.sitemap-2026 .smoothScroll #about img.custom-border-radius-1 {
        max-height: 58vh;
        width: auto;
        margin: 0 auto;
        display: inline-block;
    }
}

/* 2) Serviços — fonte menor + 10px extras de espaçamento */
@media (min-width: 1200px) {
    body.sitemap-2026 .smoothScroll #services h4 {
        font-size: 1.55em;
        line-height: 1.15;
        margin-top: calc(1.5rem + 10px) !important;
    }
    body.sitemap-2026 .smoothScroll #services h4:first-of-type {
        margin-top: 1rem !important;
    }
}

/* 3) Portfólio — 10px de espaçamento no topo de cada imagem */
body.sitemap-2026 .smoothScroll #work .thumb-info {
    margin-top: 10px;
}
body.sitemap-2026 .smoothScroll #work .d-flex.flex-column > a + a {
    margin-top: 10px;
}

/* 4) Certificados (substitui custom-el-2) — coluna única à esquerda, 120x120 */
.m26-cert-grid {
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 16px;
    pointer-events: none;
    opacity: 0.95;
    z-index: 0;
}
.m26-cert-grid img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    filter: drop-shadow(0 4px 18px rgba(0, 0, 0, 0.35));
}
@media (max-width: 991.98px) {
    .m26-cert-grid {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        padding: 18px 14px;
        gap: 12px;
    }
    .m26-cert-grid img {
        width: 90px;
        height: 90px;
    }
}

/* 5) Copyright — fonte menor (home hero + footer do #contact) */
body.sitemap-2026 .smoothScroll #home .bottom-20 .text-3,
body.sitemap-2026 .smoothScroll #contact .font-unbounded.text-3 {
    font-size: 0.72rem !important;
    letter-spacing: 0.02em;
}

/* 6) Badges de certificação — secção azul-marinho do index.php
   .m26-badges-grid: grid 2×2 com imagens proporcionais e espaço lateral.
   Mobile-first: coluna dupla já no mobile; no desktop encaixa no flex-row do Bootstrap. */

/* Mobile / tablet: bloco normal */
.m26-badges-section {
    padding: 16px 20px 36px;
}
.m26-badges-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.m26-badges-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}
.m26-badge {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}
.m26-badge img {
    width: 100%;
    height: 100%;
    max-width: 120px;
    max-height: 120px;
    object-fit: contain;
    display: block;
}
/* Tablet (576px–1199px) — grid um pouco maior */
@media (min-width: 576px) and (max-width: 1199px) {
    .m26-badges-grid {
        max-width: 380px;
        gap: 16px;
    }
}
/* Desktop XL (1200px+) — flex-item fixo dentro do flex-row do Bootstrap.
   width: auto + flex-shrink:0 evita que o item colapse ou expanda demais. */
@media (min-width: 1200px) {
    .m26-badges-section {
        flex: 0 0 auto;          /* não cresce nem encolhe */
        width: auto;
        padding: 40px 40px 40px 60px;
        display: flex;
        align-items: center;
        align-self: center;
    }
    .m26-badges-grid {
        width: 280px;
        max-width: none;
        gap: 14px;
    }
    .m26-badge img {
        max-width: 120px;
        max-height: 120px;
    }
}
