@media (max-width: 767px) {
	.velarium-process-step {
		align-items: center;
		text-align: center;
	}

	.velarium-process-step__marker {
		justify-content: center;
		width: 100%;
	}

	.velarium-process-step__desc {
		max-width: 22rem;
		margin-inline: auto;
	}
}

@media (min-width: 640px) {
	.velarium-services__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.velarium-benefits__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.velarium-gallery__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	.velarium-about__grid {
		grid-template-columns: 1fr 1fr;
	}

	.velarium-footer__grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 0.9fr);
	}

	.velarium-footer--no-contact .velarium-footer__grid {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	}

	.velarium-process__timeline {
		grid-template-columns: repeat(5, 1fr);
		gap: 1rem;
	}

	.velarium-process-step {
		align-items: center;
		text-align: center;
		position: relative;
	}

	.velarium-process-step__marker {
		justify-content: center;
		width: 100%;
	}

	.velarium-process-step__desc {
		max-width: 14rem;
		margin-inline: auto;
	}

	.velarium-process-step__badge {
		position: relative;
		z-index: 1;
		box-shadow:
			0 0 0 4px var(--vel-bg-alt),
			0 4px 12px color-mix(in srgb, var(--step-color) 35%, transparent);
	}

	.velarium-process-step:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 28px;
		left: calc(50% + 28px);
		width: calc(100% - 56px + 1rem);
		height: 2px;
		transform: translateY(-50%);
		z-index: 0;
		pointer-events: none;
		border-radius: 999px;
		opacity: 0.45;
	}

	.velarium-process-step--1:not(:last-child)::after {
		background: linear-gradient(90deg, #5ba4d9, #0033a0);
	}

	.velarium-process-step--2:not(:last-child)::after {
		background: linear-gradient(90deg, #0033a0, #e8941a);
	}

	.velarium-process-step--3:not(:last-child)::after {
		background: linear-gradient(90deg, #e8941a, #10a151);
	}

	.velarium-process-step--4:not(:last-child)::after {
		background: linear-gradient(90deg, #10a151, #c4760a);
	}
}

@media (min-width: 1024px) {
	.velarium-process-step__desc {
		min-height: 4.65em;
	}

	.velarium-services__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.velarium-benefits__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.velarium-gallery__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	.velarium-gallery__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 430px) {
	.velarium-hero__title {
		max-width: none;
	}

	.velarium-hero__sail--2,
	.velarium-hero__sail--3 {
		display: none;
	}
}

@media (max-width: 900px) {
	.velarium-gallery-item__label {
		opacity: 1;
	}

	body.velarium-sticky-visible #contacto {
		scroll-margin-bottom: 5rem;
	}

	body.velarium-sticky-visible .velarium-contact.velarium-section {
		min-height: calc(100dvh - var(--vel-header-height) - 4.5rem);
	}

	body.velarium-sticky-visible .velarium-contact__mobile {
		min-height: calc(100dvh - var(--vel-header-height) - 4.5rem - 1rem);
	}
}

@media (min-width: 768px) {
	.velarium-contact__channels .velarium-btn {
		flex: 0 1 auto;
	}
}
