.od-mobile-menu {
	--od-mobile-panel: #10100f;
	--od-mobile-panel-text: #ebe7da;
	--od-mobile-line: rgba(235, 231, 218, 0.18);
	--od-mobile-label-size: clamp(48px, 15vw, 78px);
	--od-mobile-noise-color: rgba(235, 231, 218, 0.58);
	--od-mobile-noise-opacity: 0.72;
	--od-mobile-noise-blur: 1.1px;
	display: inline-flex;
	position: relative;
	z-index: 1240;
}

.od-mobile-menu-fixed-container {
	isolation: isolate;
	position: relative;
	z-index: 1260;
}

.od-mobile-menu-fixed-container.od-mobile-menu-static-container {
	position: relative;
}

.od-mobile-menu-layer-ancestor {
	z-index: 1260;
}

.od-mobile-menu-layer-ancestor--static {
	position: relative;
}

.od-mobile-menu-range-hidden {
	display: none !important;
}

.od-mobile-menu__toggle {
	align-items: center;
	background: #181818;
	border: 0;
	border-radius: 999px;
	color: #f7f5ef;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	gap: 10px;
	height: 34px;
	justify-content: center;
	min-width: 102px;
	padding: 0 13px 0 16px;
	position: relative;
	transition: background 180ms ease, transform 180ms ease;
	z-index: 1280;
}

.od-mobile-menu__toggle:active {
	transform: translateY(1px) scale(0.98);
}

.od-mobile-menu__toggle-text {
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.04em;
}

.od-mobile-menu__toggle-glyph {
	display: grid;
	gap: 5px;
	width: 17px;
}

.od-mobile-menu__toggle-glyph span {
	background: currentColor;
	display: block;
	height: 1px;
	transform-origin: center;
	transition: transform 260ms cubic-bezier(0.7, 0, 0.2, 1), opacity 180ms ease;
}

.od-mobile-menu.is-open .od-mobile-menu__toggle-glyph span:first-child {
	transform: translateY(3px) rotate(35deg);
}

.od-mobile-menu.is-open .od-mobile-menu__toggle-glyph span:last-child {
	transform: translateY(-3px) rotate(-35deg);
}

.od-mobile-menu__panel {
	bottom: auto !important;
	height: 100dvh;
	left: 0 !important;
	margin: 0 !important;
	max-height: none !important;
	max-width: none !important;
	opacity: 0;
	overflow: hidden;
	padding: 0 !important;
	pointer-events: none;
	position: fixed;
	right: auto !important;
	top: 0 !important;
	transition: opacity 240ms ease;
	width: 100vw;
	z-index: 1220;
}

.od-mobile-menu.is-open .od-mobile-menu__panel,
.od-mobile-menu__panel.is-open {
	opacity: 1;
	pointer-events: auto;
}

.od-mobile-menu__scrim {
	background: rgba(16, 16, 15, 0.22);
	inset: 0;
	position: absolute;
}

.od-mobile-menu__surface {
	background:
		linear-gradient(140deg, rgba(255, 255, 255, 0.08), transparent 34%),
		radial-gradient(circle at 88% 16%, rgba(255, 68, 71, 0.24), transparent 28%),
		var(--od-mobile-panel);
	color: var(--od-mobile-panel-text);
	display: grid;
	grid-template-rows: auto 1fr;
	inset: 0;
	min-height: 100dvh;
	overflow: hidden;
	padding: 86px 18px max(34px, env(safe-area-inset-bottom));
	position: absolute;
	transform: translateY(-18px) scale(0.98);
	transition: transform 420ms cubic-bezier(0.7, 0, 0.2, 1);
}

.od-mobile-menu.is-open .od-mobile-menu__surface,
.od-mobile-menu__panel.is-open .od-mobile-menu__surface {
	transform: translateY(0) scale(1);
}

.od-mobile-menu__surface::before {
	background:
		repeating-linear-gradient(
			90deg,
			rgba(235, 231, 218, 0.08) 0,
			rgba(235, 231, 218, 0.08) 1px,
			transparent 1px,
			transparent 18vw
		);
	content: "";
	inset: 0;
	opacity: 0.38;
	pointer-events: none;
	position: absolute;
}

.od-mobile-menu__surface::after {
	background: linear-gradient(180deg, transparent, rgba(255, 68, 71, 0.16), transparent);
	content: "";
	height: 26vh;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: -30%;
}

.od-mobile-menu.is-open .od-mobile-menu__surface::after,
.od-mobile-menu__panel.is-open .od-mobile-menu__surface::after {
	animation: odMobileScanLine 1.7s 180ms cubic-bezier(0.7, 0, 0.2, 1) forwards;
}

.od-mobile-menu__topline,
.od-mobile-menu__nav {
	position: relative;
	z-index: 1;
}

.od-mobile-menu__topline {
	border-bottom: 1px solid var(--od-mobile-line);
	color: rgba(235, 231, 218, 0.52);
	display: flex;
	font-size: 11px;
	font-weight: 560;
	justify-content: space-between;
	letter-spacing: 0.08em;
	padding-bottom: 16px;
}

.od-mobile-menu__nav {
	align-content: center;
	display: grid;
	gap: 0;
	padding-block: clamp(28px, 9vh, 86px);
}

.od-mobile-menu__item {
	border-bottom: 1px solid var(--od-mobile-line);
	color: inherit;
	display: grid;
	gap: 10px;
	grid-template-columns: 42px 1fr;
	min-height: 112px;
	opacity: 0;
	padding: 18px 0 20px;
	text-decoration: none;
	transform: translateY(28px);
	transition: color 180ms ease, transform 180ms ease, opacity 420ms ease;
}

.od-mobile-menu.is-open .od-mobile-menu__item,
.od-mobile-menu__panel.is-open .od-mobile-menu__item {
	opacity: 1;
	transform: translateY(0);
}

.od-mobile-menu.is-open .od-mobile-menu__item:nth-child(1),
.od-mobile-menu__panel.is-open .od-mobile-menu__item:nth-child(1) {
	transition-delay: 80ms;
}

.od-mobile-menu.is-open .od-mobile-menu__item:nth-child(2),
.od-mobile-menu__panel.is-open .od-mobile-menu__item:nth-child(2) {
	transition-delay: 145ms;
}

.od-mobile-menu.is-open .od-mobile-menu__item:nth-child(3),
.od-mobile-menu__panel.is-open .od-mobile-menu__item:nth-child(3) {
	transition-delay: 210ms;
}

.od-mobile-menu.is-open .od-mobile-menu__item:nth-child(4),
.od-mobile-menu__panel.is-open .od-mobile-menu__item:nth-child(4) {
	transition-delay: 275ms;
}

.od-mobile-menu__item:active {
	transform: translateY(1px) scale(0.992);
}

.od-mobile-menu__item.is-active,
.od-mobile-menu__item:hover,
.od-mobile-menu__item:focus-visible {
	color: #ffffff;
	outline: none;
}

.od-mobile-menu__count {
	color: rgba(235, 231, 218, 0.36);
	font-size: 12px;
	padding-top: 13px;
}

.od-mobile-menu__label {
	font-size: var(--od-mobile-label-size);
	font-weight: 280;
	letter-spacing: 0;
	line-height: 0.92;
}

.od-mobile-menu__label-char {
	display: inline-block;
	min-width: 0;
	overflow: hidden;
}

.od-mobile-menu__label-char.is-noise {
	color: var(--od-mobile-noise-color);
	filter: blur(var(--od-mobile-noise-blur));
	opacity: var(--od-mobile-noise-opacity);
	transform: translateY(-0.015em);
}

.od-mobile-menu__label-char.is-revealed {
	color: currentColor;
	filter: blur(0);
	opacity: 1;
}

.od-mobile-menu__meta {
	color: rgba(235, 231, 218, 0.42);
	font-size: 12px;
	grid-column: 2;
	letter-spacing: 0.02em;
}

body.od-mobile-menu-is-open {
	overflow: hidden;
}

@media (min-width: 761px) {
	.od-mobile-menu--display-mobile,
	.od-mobile-menu-display-target--mobile {
		display: none;
	}
}

@media (max-width: 380px) {
	.od-mobile-menu__item {
		min-height: 96px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.od-mobile-menu,
	.od-mobile-menu *,
	.od-mobile-menu *::before,
	.od-mobile-menu *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@keyframes odMobileScanLine {
	0% {
		opacity: 0;
		transform: translateY(0);
	}

	22% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translateY(130vh);
	}
}
