/* ============================================================
   Responsive: Tablet (<=900px) und Mobile (<=600px).
   Mobile-First-Basiswerte liegen bereits in den anderen Dateien
   (clamp/%/rem); hier folgen die strukturellen Umbrueche.
   ============================================================ */

@media (max-width: 900px) {
	.primary-nav { display: none; }
	.header-cta { display: none; } /* CTA darf den Burger nicht aus dem Viewport draengen */
	.burger { display: flex; }

	.footer-brand,
	.footer-contact,
	.footer-nav { grid-column: span 12; }

	.service-row,
	.service-row--reverse {
		grid-template-columns: 1fr;
	}
	.service-row--reverse .service-media,
	.service-row--reverse .service-content,
	.service-row .service-media,
	.service-row .service-content {
		order: initial;
	}
	.service-media { aspect-ratio: 16 / 10; clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%); }

	.about-teaser-inner {
		grid-template-columns: 1fr;
	}
	.about-teaser-media { order: -1; aspect-ratio: 16/10; }
	.about-teaser-content { order: 0; }

	.contact-teaser-inner {
		grid-template-columns: 1fr;
	}
	.contact-teaser-map { min-height: 260px; }

	.slide-caption { max-width: 82%; }
}

@media (max-width: 600px) {
	.container { padding-left: 1.1rem; padding-right: 1.1rem; }

	.hero-title { font-size: clamp(2.1rem, 1.6rem + 4vw, 2.8rem); }
	.hero-subtitle { font-size: 1.05rem; }

	.contact-bar-inner { flex-direction: column; align-items: flex-start; gap: 0.6rem; padding-top: 0.75rem; padding-bottom: 0.75rem; }

	.slider-track { aspect-ratio: 4 / 5; }
	.slide-caption { max-width: 100%; border-top-right-radius: 0; padding: 1.1rem 1.25rem; }
	.slider-arrow { width: 40px; height: 40px; }

	.break-quote { font-size: clamp(1.5rem, 1.2rem + 3vw, 2rem); }

	.footer-inner { text-align: left; }

	.mobile-drawer { width: 100vw; }

	/* Sicherheitsnetz: keine Hover/Focus-Within-Transforms auf Touch-Geraeten haengen lassen */
	.service-row:hover .service-media img,
	.link-arrow:hover,
	.link-arrow:focus-visible {
		transform: none;
		gap: 0.5em;
	}
}

/* Nie horizontales Scrollen zulassen (Sicherheitsnetz, Ursache sollte vermieden sein) */
html, body { overflow-x: hidden; max-width: 100%; }
