@media (max-width: 900px) {
	:root {
		--jsp-header-h: 68px;
		--jsp-gutter: clamp(18px, 5vw, 30px);
	}

	.jsp-header__inner {
		grid-template-columns: 1fr auto;
		gap: 16px;
	}

	.jsp-nav--desktop {
		display: none;
	}

	.jsp-menu-toggle {
		display: inline-grid;
	}

	.jsp-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.jsp-footer__meta {
		grid-column: 1 / -1;
		text-align: left;
	}
}

@media (max-width: 640px) {
	.jsp-header__actions {
		gap: 0;
	}

	.jsp-icon-button {
		width: 38px;
		height: 38px;
	}

	.jsp-page-intro {
		padding-top: 64px;
	}

	.jsp-page-intro h1 {
		font-size: clamp(3.3rem, 18vw, 6rem);
	}

	.jsp-page-intro__description {
		margin-top: 26px;
		font-size: 1rem;
	}

	.jsp-footer__inner {
		grid-template-columns: 1fr;
	}

	.jsp-footer__meta {
		grid-column: auto;
	}

	.jsp-search form {
		grid-template-columns: 1fr;
	}

	.jsp-search button {
		min-height: 48px;
	}
}
