@media (max-width: 1040px) {
	.primary-nav {
		position: fixed;
		inset: 74px 0 auto 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		background: #fff;
		border-bottom: 1px solid var(--line);
		padding: 18px;
		box-shadow: var(--shadow);
	}
	.primary-nav.is-open { display: flex; }
	.primary-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
	.primary-nav .menu a { display: block; padding: 12px 0; }
	.menu-toggle { display: block; }
	.hero-grid, .two-col, .cta-inner { grid-template-columns: 1fr; }
	.steps { grid-template-columns: repeat(3, 1fr); }
	.card-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	body { padding-bottom: 66px; }
	.container { width: min(100% - 28px, 1200px); }
	.hero { padding: 46px 0 36px; }
	.hero {
		min-height: auto;
		background-position: center;
	}
	.hero::before { background-position: center right; }
	.hero::after {
		background:
			linear-gradient(180deg, rgba(7,27,56,.9) 0%, rgba(15,47,95,.78) 58%, rgba(7,27,56,.68) 100%);
	}
	h1 { font-size: 37px; }
	h2 { font-size: 29px; }
	.hero-subtitle { font-size: 17px; }
	.hero-actions { flex-direction: column; }
	.form-actions { grid-template-columns: 1fr; }
	.btn { width: 100%; }
	.trust-points, .form-grid, .upload-grid, .card-grid, .pill-grid, .brand-grid, .benefit-list, .footer-grid { grid-template-columns: 1fr; }
	.bmsj-lead-form { padding: 18px; }
	.form-section-head { grid-template-columns: 30px minmax(0, 1fr); }
	.form-section-head span { width: 30px; height: 30px; }
	.upload-grid label { min-height: 76px; }
	.steps { grid-template-columns: 1fr; }
	.span-2 { grid-column: auto; }
	.section { padding: 52px 0; }
	.mobile-bottom-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 98;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		background: #fff;
		border-top: 1px solid var(--line);
		box-shadow: 0 -10px 24px rgba(15,47,95,.1);
	}
	.mobile-bottom-nav a {
		min-height: 58px;
		display: grid;
		place-items: center;
		text-decoration: none;
		font-size: 12px;
		font-weight: 850;
		color: var(--primary);
	}
	.mobile-bottom-nav .nav-wa {
		background: var(--wa);
		color: #fff;
		margin: 7px;
		min-height: 44px;
		border-radius: var(--radius);
	}
}
