/* ==========================================================================
   Mobile-First-Absicherung — Breakpoints 900px (Tablet) & 600px (Handy)
   ========================================================================== */

body {
	overflow-x: hidden;
}

@media (max-width: 900px) {
	.site-nav {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: min(320px, 84vw);
		background: var(--color-surface);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: calc(var(--header-h) + 24px) 28px 32px;
		gap: 24px;
		transform: translateX(100%);
		transition: transform var(--dur-med) var(--ease-out);
		z-index: var(--z-drawer);
		box-shadow: var(--shadow-lg);
	}
	.site-nav.is-open {
		transform: translateX(0);
	}
	.nav-menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		width: 100%;
	}
	.nav-menu a { font-size: 1.05rem; padding: 6px 0; }
	.nav-cta { width: 100%; justify-content: center; }
	.burger { display: inline-flex; }

	.nav-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: var(--color-bg-soft);
		margin-top: 8px;
		width: 100%;
	}

	.hero__inner,
	.page-hero__inner {
		grid-template-columns: 1fr;
	}
	.hero__media { order: -1; }
	.hero__floating-card { left: 16px; bottom: -20px; }

	.bento-grid,
	.bento-grid--contact-preview,
	.bento-grid--kontakt,
	.bento-grid--team,
	.service-nav-grid { grid-template-columns: repeat(2, 1fr); }

	.bento-cell--xl { grid-column: span 2; }
	.bento-grid--about .bento-cell--media-left { grid-template-columns: 1fr; }
	.bento-cell--map,
	.bento-cell--form { grid-column: span 2; }

	.footer__grid { grid-template-columns: 1fr 1fr; }
	.footer__brand { grid-column: span 2; }

	.stats-band { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

@media (max-width: 600px) {
	.wrap { padding: 0 18px; }
	.section { padding: clamp(40px, 10vw, 64px) 0; }

	.hero h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
	.hero__actions .btn { width: 100%; }
	.hero__floating-card { position: static; margin-top: 16px; width: 100%; }
	.hero__media-inner { transform: none; }

	.bento-grid,
	.bento-grid--contact-preview,
	.bento-grid--kontakt,
	.bento-grid--team,
	.service-nav-grid { grid-template-columns: 1fr; }

	.bento-cell--sm,
	.bento-cell--md,
	.bento-cell--lg,
	.bento-cell--xl,
	.bento-cell--team { grid-column: span 1; grid-row: span 1; }
	.bento-cell--lg .bento-cell__media { aspect-ratio: 4/3; }

	.bento-cell--map,
	.bento-cell--form { grid-column: span 1; }
	.bento-cell--form form,
	.bento-cell--form .sbk-contact-form { grid-template-columns: 1fr; }
	.bento-cell--form form p,
	.bento-cell--form .sbk-contact-form p,
	.bento-cell--form button,
	.bento-cell--form input[type="submit"] { grid-column: span 1; width: 100%; justify-self: stretch; text-align: center; }

	.stats-band { grid-template-columns: 1fr; text-align: center; }

	.footer__grid { grid-template-columns: 1fr; }
	.footer__brand { grid-column: span 1; }

	.cta-band { flex-direction: column; align-items: flex-start; }
	.cta-band__actions { width: 100%; }
	.cta-band__actions .btn { flex: 1; }

	.slider__slide { flex-basis: 92%; }
}
