@media (max-width: 1199px) {
	h1 {
		font-size: 56px;
	}

	h2 {
		font-size: 40px;
	}

	.hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 0.95fr);
		gap: 44px;
	}

	.case-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brand-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.top-contact-inner {
		align-items: flex-start;
		flex-direction: column;
		padding: 12px 0;
		gap: 10px;
	}

	.main-header-inner {
		min-height: 76px;
	}

	.mobile-menu-toggle {
		display: inline-flex;
	}

	.header-cta {
		display: none;
	}

	.primary-navigation {
		position: absolute;
		left: 16px;
		right: 16px;
		top: calc(100% + 1px);
		display: none;
		padding: 16px;
		background: var(--white);
		border: 1px solid var(--border-color);
		border-radius: var(--radius);
		box-shadow: var(--shadow-md);
	}

	.primary-navigation.is-open {
		display: block;
	}

	.primary-navigation .menu {
		display: block;
	}

	.primary-navigation a {
		width: calc(100% - 44px);
		padding: 12px 0;
	}

	.primary-navigation li {
		border-bottom: 1px solid var(--border-color);
	}

	.primary-navigation li:last-child {
		border-bottom: 0;
	}

	.primary-navigation .sub-menu {
		position: static;
		display: none;
		min-width: 0;
		padding: 0 0 12px 16px;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-navigation .submenu-open > .sub-menu {
		display: block;
	}

	.submenu-toggle {
		position: absolute;
		right: 0;
		top: 6px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: 1px solid var(--border-color);
		border-radius: var(--radius);
		background: var(--light-bg);
		color: var(--dark-color);
		cursor: pointer;
	}

	.hero-section {
		padding: 86px 0;
	}

	.hero-grid,
	.about-grid,
	.why-grid,
	.faq-grid,
	.ng-two-column,
	.ng-cta-inner,
	.content-layout {
		grid-template-columns: 1fr;
	}

	.hero-visual {
		min-height: 0;
	}

	.hero-main-image {
		min-height: 360px;
	}

	.services-grid,
	.blog-grid,
	.devices-grid,
	.testimonial-grid,
	.ng-card-grid,
	.ng-contact-grid,
	.ng-review-grid,
	.post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.process-grid,
	.stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.faq-copy {
		position: static;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 15px;
	}

	h1 {
		font-size: 42px;
	}

	h2,
	.entry-header h1,
	.archive-header h1,
	.not-found h1 {
		font-size: 32px;
	}

	h3 {
		font-size: 20px;
	}

	.section {
		padding: 76px 0;
	}

	.top-contact-list {
		display: grid;
		gap: 8px;
	}

	.hero-section {
		padding: 72px 0;
	}

	.hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hero-actions .ts-button,
	.video-link {
		width: 100%;
		justify-content: center;
	}

	.hero-photo-card {
		position: static;
		margin-top: 14px;
		width: 100%;
	}

	.hero-visual::before {
		display: none;
	}

	.feature-card-row,
	.services-grid,
	.process-grid,
	.stats-grid,
	.case-grid,
	.team-grid,
	.blog-grid,
	.devices-grid,
	.testimonial-grid,
	.ng-card-grid,
	.ng-contact-grid,
	.ng-review-grid,
	.post-grid,
	.brand-grid,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.brands-heading {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.experience-badge {
		right: 16px;
		bottom: 16px;
	}

	.video-showcase {
		min-height: 360px;
	}

	.stat-card strong {
		font-size: 40px;
	}

	.footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		padding: 18px 0;
	}

	.search-form {
		flex-direction: column;
	}

	.search-submit,
	.ts-button {
		width: 100%;
	}
}

@media (max-width: 575px) {
	.ts-container {
		width: min(100% - 24px, 1180px);
	}

	h1 {
		font-size: 36px;
	}

	h2,
	.entry-header h1,
	.archive-header h1,
	.not-found h1 {
		font-size: 28px;
	}

	.main-header-inner {
		gap: 12px;
	}

	.site-logo span {
		max-width: 150px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.hero-main-image {
		min-height: 280px;
	}

	.mini-feature-card,
	.service-card,
	.process-card,
	.entry-content-wrap,
	.empty-state,
	.not-found {
		padding: 24px;
	}

	.why-feature {
		grid-template-columns: 1fr;
	}

	.footer-bottom nav {
		flex-wrap: wrap;
	}
}
