body.has-open-mobile-nav {
	overflow: hidden;
	overscroll-behavior: none;
}

body .site-header__navigation .mobile-nav__cta {
	display: none;
}

@media (max-width: 67.99rem) {
	body.has-open-mobile-nav .site-header__inner {
		padding-top: env(safe-area-inset-top, 0px);
	}

	.site-header__navigation .wp-block-navigation__responsive-container-open {
		display: grid;
		width: 3rem;
		height: 3rem;
		place-items: center;
		padding: 0;
		border: 1px solid rgba(17, 24, 39, 0.12);
		border-radius: var(--od-radius-pill);
		background: rgba(255, 255, 255, 0.72);
		color: var(--od-color-ink);
	}

	.site-header__navigation .wp-block-navigation__responsive-container-open:hover {
		background: var(--od-color-white);
	}

	.site-header__navigation .wp-block-navigation__responsive-container-open svg {
		width: 1.4rem;
		height: 1.4rem;
	}

	.site-header__navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: flex;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.5rem);
	}

	.site-header__navigation .wp-block-navigation__responsive-container {
		transition:
			opacity var(--od-transition-base) var(--od-ease-standard),
			transform var(--od-transition-base) var(--od-ease-emphasized),
			visibility var(--od-transition-base) step-end;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		z-index: var(--od-z-overlay);
		inset: 0;
		display: block;
		width: 100%;
		height: 100vh;
		height: 100dvh;
		min-height: 0;
		padding:
			calc(env(safe-area-inset-top, 0px) + 5.75rem)
			clamp(var(--od-space-5), 6vw, var(--od-space-10))
			calc(env(safe-area-inset-bottom, 0px) + var(--od-space-5));
		background: #fbfafc;
		color: var(--od-color-ink);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		overscroll-behavior: contain;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		transition:
			opacity var(--od-transition-base) var(--od-ease-standard),
			transform var(--od-transition-base) var(--od-ease-emphasized),
			visibility 0s step-start;
	}

	body .site-header__navigation .wp-block-navigation__responsive-close,
	body .site-header__navigation .wp-block-navigation__responsive-dialog,
	body .site-header__navigation .wp-block-navigation__responsive-container-content {
		width: 100%;
		min-height: 100%;
	}

	body .site-header__navigation .wp-block-navigation__responsive-dialog {
		display: flex;
		flex-direction: column;
	}

	.site-header__navigation .wp-block-navigation__responsive-container-close {
		position: fixed;
		z-index: var(--od-z-overlay-control);
		top: calc(env(safe-area-inset-top, 0px) + var(--od-space-4));
		right: clamp(var(--od-space-4), 4vw, var(--od-space-8));
		display: grid;
		width: 3rem;
		height: 3rem;
		place-items: center;
		padding: 0;
		border: 1px solid rgba(17, 24, 39, 0.14);
		border-radius: var(--od-radius-sm);
		background: transparent;
		box-shadow: none;
		color: var(--od-color-ink);
	}

	.site-header__navigation .wp-block-navigation__responsive-container-close:hover {
		background: rgba(17, 24, 39, 0.05);
	}

	.site-header__navigation .wp-block-navigation__responsive-container-close svg {
		width: 1.35rem;
		height: 1.35rem;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container-content {
		display: flex;
		flex: 1 0 auto;
		align-items: stretch;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex;
		width: min(100%, 36rem);
		min-height: 100%;
		flex: 1 0 auto;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: clamp(0.5rem, 1.5vh, 0.9rem);
		margin: 0 auto;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
		margin: 0;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:first-child {
		margin-top: auto;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 0.24em 0;
		color: var(--od-color-ink);
		font-size: clamp(1.75rem, 5.5vw, 2.5rem);
		font-weight: 610;
		letter-spacing: -0.035em;
		line-height: 1.1;
		text-align: left;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
		display: none;
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .mobile-nav__cta {
		display: flex;
		margin-top: auto;
		padding-top: clamp(var(--od-space-5), 3vh, var(--od-space-8));
	}

	body .site-header__navigation .wp-block-navigation__responsive-container.is-menu-open .mobile-nav__cta .wp-block-navigation-item__content {
		display: inline-flex;
		width: 100%;
		min-height: 3.25rem;
		align-items: center;
		justify-content: center;
		padding: 0.8rem var(--od-space-6);
		border-radius: var(--od-radius-md);
		background: var(--od-color-ink);
		color: var(--od-color-white);
		font-size: 1rem;
		font-weight: 560;
		letter-spacing: -0.01em;
		line-height: 1.2;
		text-align: center;
	}
}

@media (min-width: 68rem) {
	body .site-header__navigation .mobile-nav__cta {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header__navigation .wp-block-navigation__responsive-container {
		transition: none;
	}
}
