/* =========================================
	 VELTREXO - Responsive overrides
	 Loaded after style.css so mobile rules win cleanly.
	 ========================================= */

@media (prefers-reduced-motion: reduce) {
	.anim-fade-down,
	.anim-fade-up,
	.anim-fade-in-scale,
	.chart-bars .bar,
	.btn-veltrexo-primary,
	.hero-visual,
	.eyebrow::before,
	.hero-visual-dot {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

@media (max-width: 991px) {
	.hero-headline {
		font-size: 40px;
	}

	.hero-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.hero-visual {
		margin-top: 0;
	}

	.hero-ctas {
		margin-bottom: 20px;
	}

	.veltrexo-nav {
		padding: 12px 15px;
	}

	.veltrexo-nav .container-veltrexo {
		position: relative;
		min-height: 42px;
	}

	.contact-detail-list {
    backdrop-filter: blur(20px);
    background-color: rgba(0, 0, 0, 0.05);
    border: 1px solid #00d4aa;
    padding: 14px;
    border-radius: 12px;
    align-items: center;
	}

	.veltrexo-nav .logo {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		max-width: 96px;
		width: 96px;
	}

	.veltrexo-nav .logo img {
		width: 96px;
	}

	.veltrexo-mobile-toggle {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}

@media (max-width: 900px) {
	.diff-strip,
	.services-grid {
		grid-template-columns: 1fr;
	}

	.diff-strip {
		gap: 40px;
	}

	.diff-col {
		border-left: none;
		border-top: 1px solid var(--border-subtle);
		padding: 32px 12px 0;
	}

	.diff-col:first-child {
		border-top: none;
		padding-top: 0;
	}

	.services-grid {
		gap: 16px;
	}

	.process-timeline {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.process-line {
		top: 0;
		bottom: 0;
		left: 6px;
		right: auto;
		width: 2px;
		height: auto;
	}

	.process-line-fill {
		width: 100%;
		height: 100%;
		transform-origin: top center;
	}

	.process-step {
		text-align: left;
		padding-top: 0;
		padding-left: 32px;
	}

	.process-dot {
		top: 4px;
		left: 0;
		transform: none;
	}

	.process-step p {
		margin-left: 0;
		max-width: none;
	}
}

@media (max-width: 800px) {
	.case-study-card {
		grid-template-columns: 1fr;
	}

	.cs-metric {
		padding: 28px 24px;
	}
}

@media (max-width: 900px) {
	.contact-form-layout {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.contact-form-heading {
		max-width: 560px;
		margin: 0 auto;
		text-align: center;
	}
}

@media (max-width: 700px) {
	.testi-slider {
		gap: 10px;
	}

	.testi-card {
		padding: 32px 24px;
	}

	.testi-arrow {
		width: 34px;
		height: 34px;
	}

	#contact-form-el {
		grid-template-columns: 1fr;
	}

	.cf-field:nth-child(3),
	.cf-field:nth-child(6),
	.cf-consent,
	.cf-submit,
	.cf-feedback {
		grid-column: auto;
	}
}

@media (max-width: 600px) {
	.site-footer {
		padding-top: 40px;
		padding-bottom: 28px;
	}

	.footer-top {
		display: flex;
		flex-direction: column;
		gap: 24px;
		padding-bottom: 26px;
	}

	.footer-columns {
		display: flex;
		flex-direction: column;
		gap: 22px;
	}

	.footer-col {
		gap: 10px;
	}

	.footer-col a {
		width: 100%;
	}

	.footer-socials {
		margin-top: 12px;
	}

	.footer-bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.footer-bottom-note {
		text-align: left;
	}

	:root {
		--spacing-section: 40px;
		--spacing-dense-section: 40px;
	}

	.trust-bar,
	.differentiation,
	.services,
	.process,
	.testimonials,
	.faq-section {
		padding-top: var(--spacing-section);
		padding-bottom: var(--spacing-section);
	}

	.trust-label {
		font-size: 11.5px;
		margin-bottom: 28px;
	}

	.trust-track {
		gap: 44px;
	}

	.trust-logo {
		font-size: 15px;
	}

	.section-heading {
		margin-bottom: var(--section-heading-gap-mobile);
	}

	.service-card {
		padding: 26px 22px;
	}

	.case-studies {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.cs-content {
		padding: 28px 24px;
	}

	.cs-content h3 {
		font-size: 18px;
	}

	.cs-stat {
		font-size: 38px;
	}

	.process .section-heading {
		margin-bottom: 44px;
	}

	.testi-mark {
		font-size: 42px;
	}

	.contact-form-section {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.cf-panel {
		padding: 28px 22px;
		min-height: 0;
	}

	.cf-country-dropdown {
		width: 200px;
	}
}
