/* ==========================================================================
   Responsive — Tablet (<=900px) und Mobile (<=600px)
   ========================================================================== */

@media (max-width: 900px) {
	.section { padding-block: var(--space-lg); }
	.hero-grid { grid-template-columns: 1fr; }
	.hero-visual { order: -1; }
	.hero-frame { aspect-ratio: 16/10; }
	.split-grid { grid-template-columns: 1fr !important; direction: ltr !important; }
	.service-detail-head { grid-template-columns: 1fr; }
	.contact-grid { grid-template-columns: 1fr; }
	.footer-top { padding-block: var(--space-lg) var(--space-md); }
	.gallery-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 11rem; }
	.gallery-item,
	.gallery-item:nth-child(1),
	.gallery-item:nth-child(2),
	.gallery-item:nth-child(3),
	.gallery-item:nth-child(4),
	.gallery-item:nth-child(5) { grid-column: span 2; grid-row: span 1; }
}

@media (max-width: 600px) {
	body { font-size: 15.5px; }
	h1 { font-size: clamp(2.1rem, 9vw, 2.6rem); }
	.stat-row { grid-template-columns: 1fr; gap: 1px; }
	.process-item { grid-template-columns: 3rem 1fr; gap: var(--space-2xs); }
	.cta-band { flex-direction: column; align-items: flex-start; text-align: left; padding: var(--space-md); }
	.gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 9.5rem; }
	.gallery-item { grid-column: span 1 !important; grid-row: span 1 !important; }
	.hero-badge { position: static; margin-top: -2.5rem; margin-inline: 1rem 0; width: fit-content; }
	.testimonial-block { padding: var(--space-md) var(--space-sm); }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
}

/* Tap-Ziele */
@media (pointer: coarse) {
	.footer-col a,
	.primary-nav a { min-height: 44px; display: inline-flex; align-items: center; }
}
