@media (max-width: 1100px) {
	.location-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.branch-grid-wide {
		grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	}

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

	.service-columns,
	.option-columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.service-columns-single,
	.service-columns-single .service-lines {
		grid-template-columns: 1fr;
		columns: 1;
	}

	.intro-title {
		font-size: 2.4rem;
	}

	.locality-title,
	.branch-title {
		font-size: 2.2rem;
	}
}

@media (max-width: 782px) {
	.masthead-inner {
		flex-wrap: wrap;
		gap: var(--gap-2);
	}

	.nav-toggle {
		display: block;
	}

	.masthead-nav {
		display: none;
		flex: 1 0 100%;
		margin-left: 0;
	}

	.masthead-nav.is-open {
		display: block;
	}

	.nav-list {
		flex-direction: column;
		gap: var(--gap-2);
		padding-top: var(--gap-2);
	}

	.page-shell {
		padding: var(--gap-3) var(--gap-3) var(--gap-4);
	}

	.intro-panel,
	.intro-panel.has-visual,
	.locality-head,
	.locality-head.has-visual,
	.branch-head,
	.branch-head.has-visual,
	.panel-row,
	.location-grid,
	.location-grid-compact,
	.branch-grid-wide,
	.branch-grid-pair,
	.service-columns-single,
	.nearby-grid,
	.service-columns,
	.option-columns,
	.foot-inner {
		grid-template-columns: 1fr;
	}

	.intro-panel,
	.locality-head,
	.branch-head {
		padding: var(--gap-4) var(--gap-3);
	}

	.intro-panel.has-visual {
		padding: 0;
	}

	.intro-panel.has-visual .intro-copy {
		padding: var(--gap-4) var(--gap-3);
	}

	.intro-title {
		font-size: 2rem;
	}

	.locality-title,
	.branch-title {
		font-size: 1.9rem;
	}

	.block-title {
		font-size: 1.5rem;
	}

	.panel {
		padding: var(--gap-3);
	}

	.branch-shots,
	.service-shots {
		grid-template-columns: repeat(3, 1fr);
	}

	.branch-item {
		gap: var(--gap-2);
	}

	.branch-shot {
		width: 76px;
		height: 76px;
	}

	.jump-nav {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.jump-link {
		text-align: center;
	}

	.map-holder {
		height: 230px;
	}

	.brandmark-image {
		height: 34px;
		max-width: 190px;
	}

	.foot-logo-image {
		height: 32px;
		max-width: 190px;
	}

	.page-banner-image {
		height: 220px;
	}

	.page-banner-copy {
		left: var(--gap-3);
		right: var(--gap-3);
		bottom: var(--gap-3);
	}

	.viewer {
		padding: 56px 12px;
	}

	.to-top {
		right: 14px;
		bottom: 14px;
	}
}
