/**
 * Mobile-only navigation + scroll safety
 * Desktop (≥769px) is intentionally untouched.
 */

/* --------------------------------------------------------------------------
   Native scroll on touch / small screens (Lenis off via JS)
   Do NOT put overflow-y on body — that creates a nested scrollport and
   kills iOS/Android momentum scrolling.
   -------------------------------------------------------------------------- */
@media (max-width: 767px), (pointer: coarse) {
	html {
		scroll-behavior: auto !important;
		overflow-x: clip;
		overflow-y: visible;
		overscroll-behavior-x: none;
	}

	html.lenis,
	html.lenis body {
		height: auto !important;
	}

	html.lenis,
	html.lenis-smooth {
		scroll-behavior: auto !important;
	}

	body {
		scroll-behavior: auto !important;
		overflow-x: clip;
		overflow-y: visible;
		overscroll-behavior-x: none;
	}

	/* Scroll lock: fixed body + padding so sticky→fixed header does not jump content */
	html.is-mobile-menu-open,
	html.is-mobile-menu-open body {
		overflow: hidden !important;
		touch-action: none;
		overscroll-behavior: none;
	}

	html.is-mobile-menu-open body {
		position: fixed;
		left: 0;
		right: 0;
		width: 100%;
		/* Replaces in-flow sticky header space after it becomes position:fixed */
		padding-top: var(--wm-menu-header-lock-h, var(--header-height, 72px));
	}

	/* Kill nested page-height scroll traps — one document scroll only */
	.wm-main,
	.wm-page,
	.site-content,
	#site-content,
	.wm-sp-process--editorial .wm-sp-process__sticky,
	.wm-sp-process--editorial .wm-sp-process__viewport,
	.wm-sp-process--steps .wm-sp-process__sticky {
		overflow-y: visible;
		max-height: none;
	}

	.wm-sp-process--editorial .wm-sp-process__scroll-track,
	.wm-sp-process--steps .wm-sp-process__scroll-track {
		height: auto !important;
	}

	.wm-sp-process--editorial .wm-sp-process__sticky,
	.wm-sp-process--steps .wm-sp-process__sticky {
		position: static !important;
		height: auto !important;
	}

	.wm-sp-process--editorial .wm-sp-process__rail,
	.wm-sp-process--editorial .wm-sp-process__steps-track {
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
	}

	/* Intentional horizontal carousels only — not the page */
	.wm-testimonials--slider .wm-testimonials__grid,
	.wm-testimonials--quote .wm-testimonials__track,
	.wm-testimonials-editorial__track,
	.reviews-carousel,
	.wm-portfolio-slider,
	.wm-sp-ed-nav__list {
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		touch-action: pan-x pan-y;
	}

	.wm-ab-reviews__viewport {
		overscroll-behavior-x: contain;
		touch-action: pan-y;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.wm-ab-reviews {
		overflow-x: clip;
	}

	:is(.is-front-page, .is-about-page) .reviews-section,
	:is(.is-front-page, .is-about-page) .reviews-carousel-bleed,
	.wm-portfolio-preview__bleed,
	.wm-rad-hero {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	:is(.is-front-page, .is-about-page) .reviews-section,
	.wm-portfolio-preview__bleed {
		overflow-x: clip;
	}
}

/* --------------------------------------------------------------------------
   Mobile header — opaque page-bg bar (matches body, no seam)
   Real selectors: #wm-header.wm-header > .wm-header__inner
   Over dark sections header stays page-bg so content is covered cleanly
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	:root {
		--header-height: 64px;
		--wm-mobile-header-row: 64px;
	}

	.wm-header__nav-shell {
		display: none !important;
	}

	/*
	 * Sticky in document flow — content starts below header.
	 * Kill absolute/fixed overlays from contact/case pages.
	 * Case study in-hero state is overridden below.
	 */
	body .wm-header,
	body .wm-header.is-scrolled,
	body .wm-header.is-page-loaded,
	body.is-contact-page .wm-header,
	body.is-contact-page .wm-header.is-scrolled,
	body.is-services-page .wm-header,
	body.is-services-page .wm-header.is-scrolled,
	body.is-about-page .wm-header,
	body.is-about-page.is-about-dark-nav .wm-header,
	body.is-partner-page .wm-header,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header,
	body.is-on-dark .wm-header,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header.is-scrolled {
		position: sticky !important;
		top: 0 !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		z-index: 1000 !important;
		box-sizing: border-box;
		padding-top: env(safe-area-inset-top, 0px);
		background-color: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		background: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		opacity: 1 !important;
		border: none !important;
		border-bottom: none !important;
		border-bottom-left-radius: 12px !important;
		border-bottom-right-radius: 12px !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		mix-blend-mode: normal !important;
		transition:
			background-color 0.35s ease,
			background 0.35s ease,
			border-radius 0.35s ease;
	}

	body .wm-header__inner,
	body .wm-header.is-scrolled .wm-header__inner,
	body.is-services-page .wm-header__inner,
	body.is-about-page.is-about-dark-nav .wm-header__inner,
	body.is-on-dark .wm-header__inner,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header__inner,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header__inner,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header.is-scrolled .wm-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		width: 100%;
		height: var(--wm-mobile-header-row) !important;
		min-height: var(--wm-mobile-header-row) !important;
		padding-block: 0 !important;
		padding-inline: 16px !important;
		background-color: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		background: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		border: none !important;
		border-bottom-left-radius: 12px !important;
		border-bottom-right-radius: 12px !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		transition:
			background-color 0.35s ease,
			background 0.35s ease,
			border-radius 0.35s ease;
	}

	/* Logo — black by default on mobile (case-study hero overrides below) */
	body .wm-header__logo-img,
	body .wm-header .custom-logo-link img,
	body .wm-header.is-scrolled .wm-header__logo-img,
	body .wm-header.is-scrolled .custom-logo-link img,
	body.is-contact-page .wm-header .wm-header__logo-img,
	body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__logo-img,
	body.is-services-page.has-dark-hero .wm-header .wm-header__logo-img,
	body.is-services-page.has-dark-hero .wm-header:not(.is-scrolled) .wm-header__logo-img,
	body.is-about-page.is-about-dark-nav .wm-header__logo-img,
	body.is-on-dark .wm-header__logo-img,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header__logo-img,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header .custom-logo-link img,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header__logo-img,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header .custom-logo-link img {
		display: block;
		height: 24px !important;
		width: auto;
		filter: none !important;
		mix-blend-mode: normal !important;
		opacity: 1 !important;
		transition: filter 0.35s ease;
	}

	body .wm-header__logo-text,
	body .wm-header.is-scrolled .wm-header__logo-text,
	body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__logo-text,
	body.is-services-page.has-dark-hero .wm-header:not(.is-scrolled) .wm-header__logo-text,
	body.is-about-page.is-about-dark-nav .wm-header__logo-text,
	body.is-on-dark .wm-header__logo-text,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header__logo-text,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header__logo-text {
		color: #0a0a0a !important;
		opacity: 1 !important;
		transition: color 0.35s ease;
	}

	body .wm-header__logo {
		position: relative;
		z-index: 2;
		display: inline-flex;
		align-items: center;
	}

	/* Burger — black by default (case-study hero overrides below) */
	body .wm-header__burger,
	body .wm-header.is-scrolled .wm-header__burger,
	body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__burger,
	body.is-services-page.has-dark-hero .wm-header:not(.is-scrolled) .wm-header__burger,
	body.is-about-page.is-about-dark-nav .wm-header__burger,
	body.is-on-dark .wm-header__burger,
	:is(body.is-services-page, body.is-partner-page).is-on-dark .wm-header__burger,
	body.is-single-rad:not(.is-rad-hero-active) .wm-header__burger {
		display: inline-flex !important;
		position: relative;
		z-index: 2;
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		margin: 0;
		padding: 0;
		align-items: center;
		justify-content: center;
		color: #0a0a0a !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		opacity: 1 !important;
		transition: color 0.35s ease;
	}

	.wm-header__burger-icon {
		display: none !important;
	}

	.wm-header__burger-lines {
		position: relative;
		display: block;
		width: 26px;
		height: 10px;
	}

	.wm-header__burger-line {
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		height: 1.5px;
		background: currentColor;
		border-radius: 1px;
		transform-origin: center;
		transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.wm-header__burger-line:first-child {
		top: 0;
	}

	.wm-header__burger-line:last-child {
		bottom: 0;
	}

	/* Hamburger → X (existing animation preserved) */
	body.is-mobile-menu-open .wm-header__burger-line:first-child {
		transform: translateY(4.25px) rotate(45deg);
	}

	body.is-mobile-menu-open .wm-header__burger-line:last-child {
		transform: translateY(-4.25px) rotate(-45deg);
	}

	/*
	 * Case study — transparent overlay while hero is in view.
	 * Toggled by rad-single.js via body.is-rad-hero-active.
	 */
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-page-loaded {
		position: sticky !important;
		top: 0 !important;
		z-index: 1000 !important;
		background-color: transparent !important;
		background: transparent !important;
		border: none !important;
		border-bottom: none !important;
		border-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header__inner,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled .wm-header__inner {
		background-color: transparent !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		box-shadow: none !important;
	}

	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header__logo-img,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header .custom-logo-link img,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled .wm-header__logo-img,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled .custom-logo-link img {
		filter: brightness(0) invert(1) !important;
	}

	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header__logo-text,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled .wm-header__logo-text,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header__burger,
	body.is-single-rad.is-rad-hero-active:not(.is-mobile-menu-open) .wm-header.is-scrolled .wm-header__burger {
		color: #ffffff !important;
	}

	/*
	 * Body is position:fixed with top:-scrollY — sticky header would stick to
	 * the body top (above the viewport). Pin it to the viewport instead.
	 */
	body.is-mobile-menu-open .wm-header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 1000 !important;
		background-color: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		background: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		border: none !important;
		border-bottom: none !important;
		border-bottom-left-radius: 12px !important;
		border-bottom-right-radius: 12px !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	body.is-mobile-menu-open .wm-header__inner {
		background-color: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		background: var(--page-bg, var(--light-bg, #FBFCFE)) !important;
		border: none !important;
		border-bottom-left-radius: 12px !important;
		border-bottom-right-radius: 12px !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}

	body.is-mobile-menu-open .wm-header__logo-img,
	body.is-mobile-menu-open .wm-header .custom-logo-link img {
		filter: none !important;
	}

	body.is-mobile-menu-open .wm-header__logo-text,
	body.is-mobile-menu-open .wm-header__burger {
		color: #0a0a0a !important;
	}
}

/* --------------------------------------------------------------------------
   Fullscreen mobile menu — light panel, true slide down / slide up
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.wm-mobile-panel {
		--wm-mobile-menu-header-offset: var(
			--wm-menu-header-lock-h,
			calc(env(safe-area-inset-top, 0px) + var(--header-height, 72px))
		);
		--wm-mobile-panel-open-duration: 700ms;
		--wm-mobile-panel-close-duration: 550ms;
		--wm-mobile-panel-ease: cubic-bezier(0.65, 0, 0.35, 1);
		--wm-mobile-link-duration: 420ms;
		--wm-mobile-link-ease: cubic-bezier(0.22, 1, 0.36, 1);
		--wm-mobile-link-start: 480ms;
		--wm-mobile-link-stagger: 60ms;
		position: fixed;
		top: var(--wm-mobile-menu-header-offset);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 310;
		width: 100%;
		height: auto;
		min-height: 0;
		display: flex !important;
		flex-direction: column;
		padding:
			12px
			16px
			calc(env(safe-area-inset-bottom, 0px) + 28px);
		background: var(--light-bg, #FBFCFE);
		color: var(--color-ink-black, #0a0a0a);
		opacity: 1 !important;
		visibility: visible;
		pointer-events: none;
		transform: translate3d(0, calc(-100% - 48px), 0);
		transition: transform var(--wm-mobile-panel-close-duration) var(--wm-mobile-panel-ease);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		gap: 0;
		will-change: transform;
	}

	/* Fully closed: remove from paint so footer cannot peek under the header */
	.wm-mobile-panel[hidden] {
		display: none !important;
		pointer-events: none;
		visibility: hidden;
		transform: translate3d(0, calc(-100% - 48px), 0);
		transition: none;
	}

	.wm-mobile-panel.is-open:not(.is-closing) {
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		transition-duration: var(--wm-mobile-panel-open-duration);
	}

	.wm-mobile-panel.is-closing {
		pointer-events: none;
		transform: translate3d(0, calc(-100% - 48px), 0);
		transition-duration: var(--wm-mobile-panel-close-duration);
	}

	/* Hide legacy panel chrome — header provides logo + X */
	.wm-mobile-panel__top,
	.wm-mobile-panel__close,
	.wm-mobile-panel__cta {
		display: none !important;
	}

	.wm-mobile-panel__inner {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 100%;
		width: 100%;
		justify-content: flex-end;
	}

	.wm-mobile-panel__nav {
		flex: 0 0 auto;
		display: flex;
		align-items: stretch;
		margin-top: auto;
	}

	.wm-mobile-menu,
	.wm-mobile-panel__nav > ul {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
		gap: 0;
	}

	.wm-mobile-menu .menu-item,
	.wm-mobile-panel__nav .menu-item,
	.wm-mobile-panel__nav > ul > li {
		margin: 0;
		padding: 0;
		border: 0;
		opacity: 0;
		transform: translate3d(0, 18px, 0);
		transition:
			opacity var(--wm-mobile-link-duration) var(--wm-mobile-link-ease),
			transform var(--wm-mobile-link-duration) var(--wm-mobile-link-ease);
		transition-delay: 0ms;
		will-change: opacity, transform;
	}

	.wm-mobile-menu .menu-item:first-child,
	.wm-mobile-panel__nav .menu-item:first-child,
	.wm-mobile-panel__nav > ul > li:first-child {
		border: 0;
	}

	/* Slide-in-up after panel opens — staggered nav links */
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item,
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item,
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(1),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(1),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(1) {
		transition-delay: calc(var(--wm-mobile-link-start) + (0 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(2),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(2),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(2) {
		transition-delay: calc(var(--wm-mobile-link-start) + (1 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(3),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(3),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(3) {
		transition-delay: calc(var(--wm-mobile-link-start) + (2 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(4),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(4),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(4) {
		transition-delay: calc(var(--wm-mobile-link-start) + (3 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(5),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(5),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(5) {
		transition-delay: calc(var(--wm-mobile-link-start) + (4 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(6),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(6),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(6) {
		transition-delay: calc(var(--wm-mobile-link-start) + (5 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-menu .menu-item:nth-child(n + 7),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav .menu-item:nth-child(n + 7),
	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__nav > ul > li:nth-child(n + 7) {
		transition-delay: calc(var(--wm-mobile-link-start) + (6 * var(--wm-mobile-link-stagger)));
	}

	/* On close: soft fade/slide out (no snap) — reopen resets via class cycle */
	.wm-mobile-panel.is-closing .wm-mobile-menu .menu-item,
	.wm-mobile-panel.is-closing .wm-mobile-panel__nav .menu-item,
	.wm-mobile-panel.is-closing .wm-mobile-panel__nav > ul > li,
	.wm-mobile-panel.is-closing .wm-mobile-panel__email,
	.wm-mobile-panel.is-closing .wm-mobile-panel__socials a {
		opacity: 0;
		transform: translate3d(0, 12px, 0);
		transition:
			opacity 280ms var(--wm-mobile-panel-ease),
			transform 280ms var(--wm-mobile-panel-ease);
		transition-delay: 0ms;
	}

	.wm-mobile-menu a,
	.wm-mobile-panel__nav a {
		display: block;
		padding: 10px 0;
		font-family: var(--font-display), 'Inter Tight', sans-serif;
		font-size: 28px !important;
		font-weight: 400 !important;
		line-height: 1.15 !important;
		letter-spacing: -0.025em !important;
		text-transform: none !important;
		color: rgba(15, 17, 21, 0.38) !important;
		text-decoration: none;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		white-space: normal !important;
		transition: color 250ms ease;
	}

	.wm-mobile-menu a:hover,
	.wm-mobile-menu a:focus-visible,
	.wm-mobile-panel__nav a:hover,
	.wm-mobile-panel__nav a:focus-visible {
		color: var(--color-ink-black, #0a0a0a) !important;
	}

	.wm-mobile-menu .current-menu-item > a,
	.wm-mobile-menu .current_page_item > a,
	.wm-mobile-panel__nav .current-menu-item > a,
	.wm-mobile-panel__nav .current_page_item > a,
	.wm-mobile-panel__nav a.is-active {
		color: var(--color-ink-black, #0a0a0a) !important;
	}

	.wm-mobile-menu .current-menu-item > a::before,
	.wm-mobile-menu .current_page_item > a::before,
	.wm-mobile-panel__nav .current-menu-item > a::before,
	.wm-mobile-panel__nav .current_page_item > a::before {
		content: none !important;
	}

	.wm-mobile-panel__footer {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 16px 24px;
		margin-top: 0;
		flex-shrink: 0;
		padding-top: 28px;
		border-top: 0;
	}

	.wm-mobile-panel__email,
	.wm-mobile-panel__socials a {
		display: inline-block;
		font-family: var(--font-display), 'Inter Tight', sans-serif;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 0;
		text-transform: none;
		color: rgba(15, 17, 21, 0.45);
		text-decoration: none;
		opacity: 0;
		transform: translate3d(0, 14px, 0);
		transition:
			opacity var(--wm-mobile-link-duration) var(--wm-mobile-link-ease),
			transform var(--wm-mobile-link-duration) var(--wm-mobile-link-ease),
			color 250ms ease;
		transition-delay: 0ms;
		will-change: opacity, transform;
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__email {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: calc(var(--wm-mobile-link-start) + (7 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__socials a:nth-child(1) {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: calc(var(--wm-mobile-link-start) + (8 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel.is-open:not(.is-closing) .wm-mobile-panel__socials a:nth-child(2) {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: calc(var(--wm-mobile-link-start) + (9 * var(--wm-mobile-link-stagger)));
	}

	.wm-mobile-panel__email:hover,
	.wm-mobile-panel__email:focus-visible,
	.wm-mobile-panel__socials a:hover,
	.wm-mobile-panel__socials a:focus-visible {
		color: var(--color-ink-black, #0a0a0a);
	}

	.wm-mobile-panel__socials {
		display: flex;
		align-items: center;
		gap: 20px;
	}
}

/* Desktop: keep panel fully inert */
@media (min-width: 769px) {
	.wm-mobile-panel {
		display: none !important;
	}

	.wm-header__burger {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wm-mobile-panel,
	.wm-mobile-menu .menu-item,
	.wm-mobile-panel__nav .menu-item,
	.wm-mobile-panel__nav > ul > li,
	.wm-mobile-panel__email,
	.wm-mobile-panel__socials a,
	.wm-mobile-panel__footer,
	.wm-header__burger-line {
		transition: none !important;
	}

	.wm-mobile-panel {
		transform: translate3d(0, calc(-100% - 48px), 0);
	}

	.wm-mobile-panel.is-open:not(.is-closing) {
		transform: none;
	}

	.wm-mobile-menu .menu-item,
	.wm-mobile-panel__nav .menu-item,
	.wm-mobile-panel__nav > ul > li,
	.wm-mobile-panel__email,
	.wm-mobile-panel__socials a,
	.wm-mobile-panel__footer {
		opacity: 1 !important;
		transform: none !important;
	}
}
