/* ==========================================================================
   Tablet ≤900px
   ========================================================================== */

@media (max-width: 900px) {
	.grid-12 {
		grid-template-columns: 1fr;
	}

	.col-5,
	.col-7 {
		grid-column: 1 / -1;
	}

	.services__intro {
		position: static;
		margin-bottom: var(--space-md);
	}

	.service-cards {
		grid-template-columns: 1fr;
	}

	.service-card:first-child {
		grid-template-columns: 1fr;
	}

	.site-footer__col {
		grid-column: span 6;
	}

	.process__list {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.25rem;
	}

	.signature-band__media {
		order: -1;
	}

	/* Desktop hover dropdown is irrelevant on touch; collapses with nav below */
	.site-header__nav .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		display: none;
	}

	.site-header__nav {
		display: none;
	}

	.site-header__phone {
		display: none;
	}

	.site-header__cta {
		display: none;
	}

	.burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* ==========================================================================
   Mobile ≤600px
   ========================================================================== */

@media (max-width: 600px) {
	h1 { font-size: clamp(2.5rem, 10vw, 3.375rem); }

	.site-footer__col {
		grid-column: 1 / -1;
	}

	.process__list {
		grid-template-columns: 1fr;
	}

	.hero__media {
		border-radius: calc(var(--radius-feature) / 2);
	}

	.break-band__quote {
		font-size: var(--step-2);
	}
}

/* ==========================================================================
   Touch targets
   ========================================================================== */

@media (max-width: 900px) {
	.mobile-menu a,
	.burger,
	.btn {
		min-height: 44px;
	}
}
