/* TSA Marine — Responsive rules (v2) */

@media (max-width: 1100px) {
	.footer-widgets { grid-template-columns: 1.6fr 1fr 1fr; }
}

@media (max-width: 1024px) {
	.services-grid, .why-grid, .testimonials-grid, .post-grid, .projects-grid { grid-template-columns: repeat(2, 1fr); }
	.industries-grid { grid-template-columns: repeat(3, 1fr); }
	.stats-grid { grid-template-columns: repeat(2, 1fr); }
	.content-with-sidebar { grid-template-columns: 1fr; }
	.grid-2 { grid-template-columns: 1fr; gap: 36px; align-items: start; }
	.values-grid { grid-template-columns: 1fr 1fr; }
	.footer-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 900px) {
	.menu-toggle { display: inline-flex; }
	.main-navigation {
		position: absolute; top: calc(100% + 1px); left: 0; right: 0;
		background: #fff;
		backdrop-filter: saturate(180%) blur(16px);
		border-top: 1px solid var(--tsa-border);
		box-shadow: var(--tsa-shadow);
		display: none; max-height: calc(100vh - 120px); overflow-y: auto;
	}
	.main-navigation.is-open { display: block; animation: tsa-slide-down .3s var(--tsa-ease); }
	@keyframes tsa-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
	.main-navigation ul { flex-direction: column; align-items: stretch; padding: 14px var(--tsa-gutter) 22px; gap: 2px; }
	.main-navigation a { padding: 13px 14px; border-radius: var(--tsa-radius-sm); font-size: 1rem; }
	.main-navigation .sub-menu { position: static; display: block; box-shadow: none; border: none; padding: 0 0 0 14px; min-width: 0; }
	.hide-md { display: none !important; }
}

@media (max-width: 782px) {
	.tsa-topbar__inner { flex-direction: column; gap: 8px; padding: 10px 0; }
	.tsa-topbar__info { justify-content: center; gap: 16px; }
	.hide-sm { display: none !important; }

	.services-grid, .why-grid, .testimonials-grid, .post-grid, .projects-grid { grid-template-columns: 1fr; }
	.industries-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-widgets { grid-template-columns: 1fr; gap: 32px; }
	.form-row { grid-template-columns: 1fr; }
	.values-grid { grid-template-columns: 1fr; }
	.profile-table th { width: 150px; }
	.map-embed iframe { height: 320px; }
}

@media (max-width: 520px) {
	.industries-grid { grid-template-columns: 1fr 1fr; }
	.stats-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
	.hero__badges { flex-direction: column; gap: 16px; }
	.hero__actions .btn { width: 100%; }
	.profile-table th, .profile-table td { display: block; width: 100%; }
	.footer-bottom__inner { justify-content: center; text-align: center; }
}
