/* Figma SP375: preserve the CTA, 44px controls and the existing desktop header. */
.rc-menu-toggle { display: none; }
.re-header__mobile-entry { display: none; }
.rc-site-menu { display: none; }
.rc-site-menu[open] { display: flex; }
.rc-body.rc-menu-open { position: fixed; top: var(--rc-menu-scroll-offset); left: 0; width: 100%; overflow: hidden; }

@media screen and (max-width: 767px) {
	.rc-header, .rs-header, .re-header { height: 74px; border: 0; box-shadow: inset 0 -1px var(--rc-line); }
	.rc-header__in, .rs-header__in { height: 74px; display: flex; align-items: center; padding: 0 24px; }
	.rs-header__in { gap: 12px; }
	.rs-header__logo { margin-right: auto; flex-shrink: 0; }
	.rs-header__requirements, .rs-header__nav, .rc-header__nav { display: none; }
	.rs-header__entry { flex: 0 0 122px; margin: 0; }
	.rc-header__in { position: relative; gap: 0; }
	.rc-header__in::before { position: absolute; left: 24px; bottom: 0; margin: 0; }
	.rc-header__logo { flex: 0 0 99px; padding: 0; }
	.rc-header__label { flex: 1; min-width: 0; margin-left: 7px; padding: 0; font-size: 9px; letter-spacing: 0; white-space: nowrap; }
	.rc-header__contact { flex: 0 0 106px; width: 106px; margin: 0; padding: 0; justify-content: center; }
	.rc-header .rc-menu-toggle { margin-left: 12px; }
	.re-header { box-shadow: inset 0 -1px #323236; }
	.re-header__in { gap: 12px; }
	.re-header__brand { margin-right: auto; flex: 0 0 116px; }
	.re-header__label, .re-header__nav { display: none; }
	.re-header__mobile-entry { display: flex; flex: 0 0 122px; height: 42px; align-items: center; justify-content: center; background: #fff; color: var(--rc-red); font-size: 12.5px; font-weight: 700; }
	.rc-menu-toggle { position: relative; display: block; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; color: var(--rc-ink); background: transparent; border: 1px solid var(--rc-line); cursor: pointer; }
	.rc-menu-toggle span { position: absolute; left: 10px; width: 22px; height: 1.5px; background: currentColor; }
	.rc-menu-toggle span:nth-child(1) { top: 13px; }
	.rc-menu-toggle span:nth-child(2) { top: 20px; }
	.rc-menu-toggle span:nth-child(3) { top: 27px; }
	.re-header .rc-menu-toggle { color: #fff; border-color: #55555A; }
	.re-header .rc-menu-toggle span { left: 9px; width: 24px; }
	.re-header .rc-menu-toggle span:nth-child(1) { top: 16.5px; }
	.re-header .rc-menu-toggle span:nth-child(2) { top: 24.5px; }
	.re-header .rc-menu-toggle span:nth-child(3) { display: none; }
}

.rc-site-menu { position: fixed; inset: 0; margin: 0; padding: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; border: 0; background: #fff; color: var(--rc-ink); flex-direction: column; overflow: hidden; font-family: var(--rc-jp); line-height: 1.5; }
.rc-site-menu::backdrop { background: #fff; }
.rc-site-menu__header { display: flex; flex: 0 0 74px; align-items: center; gap: 12px; padding: 0 24px; box-shadow: inset 0 -1px var(--rc-line); }
.rc-site-menu__brand { position: relative; display: flex; flex: 1; min-width: 0; height: 74px; flex-direction: column; justify-content: center; }
.rc-site-menu__brand::after { content: ""; position: absolute; bottom: 0; left: 0; width: 92px; height: 3px; background: var(--rc-red); }
.rc-site-menu__brand img { width: 92px; height: auto; }
.rc-site-menu__brand-label { position: absolute; left: 106px; top: 29px; font: 700 9px/16px var(--rc-en); }
.rc-site-menu__cta { display: flex; flex: 0 0 122px; align-items: center; justify-content: center; height: 42px; background: var(--rc-red); color: #fff; font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.rc-site-menu__close { display: flex; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; border: 1px solid var(--rc-line); color: var(--rc-ink); background: transparent; cursor: pointer; }
.rc-site-menu--hub .rc-site-menu__brand img { width: 99px; height: auto; }
.rc-site-menu--hub .rc-site-menu__brand::after { width: 99px; }
.rc-site-menu--hub .rc-site-menu__cta { flex-basis: 106px; height: 40px; font-size: 12px; }
.rc-site-menu--entertainer .rc-site-menu__header { padding: 0 20px; background: #101012; color: #fff; box-shadow: inset 0 -1px #323236; }
.rc-site-menu--entertainer .rc-site-menu__brand img { width: 102px; height: auto; margin-left: 6px; }
.rc-site-menu--entertainer .rc-site-menu__brand small { margin-top: 6px; padding-left: 6px; font-family: var(--rc-en); font-size: 6px; letter-spacing: .16em; color: #B9B9BE; line-height: 1.9; white-space: nowrap; }
.rc-site-menu--entertainer .rc-site-menu__brand::after { display: none; }
.rc-site-menu--entertainer .rc-site-menu__cta { background: #fff; color: var(--rc-red); }
.rc-site-menu--entertainer .rc-site-menu__close { border-color: #55555A; color: #fff; }
.rc-site-menu__label { flex: 0 0 auto; margin: 10px 24px 8px; font-size: 12px; font-weight: 700; line-height: 18px; color: #74747E; }
.rc-site-menu__nav { flex: 1; min-height: 0; padding: 0 24px max(32px, env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; }
.rc-site-menu__list { margin: 0; padding: 0; list-style: none; }
.rc-site-menu__list[hidden] { display: none; }
.rc-site-menu__row { display: flex; align-items: center; min-height: 52px; margin-left: calc(var(--menu-depth) * 16px); border-bottom: 1px solid var(--rc-line); }
.rc-site-menu__link, .rc-site-menu__group-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 1; min-width: 0; min-height: 51px; padding: 12px 0; border: 0; border-radius: 0; background: transparent; color: var(--rc-ink); font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.5; text-align: left; text-decoration: none; cursor: pointer; }
.rc-site-menu__list--nested .rc-site-menu__link, .rc-site-menu__list--nested .rc-site-menu__group-label { color: #74747E; font-size: 14px; }
.rc-site-menu__link > svg { flex: none; margin-right: 6px; color: #74747E; }
.rc-site-menu__expand { display: flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; background: #fff; color: var(--rc-ink); cursor: pointer; }
.rc-site-menu__expand[aria-expanded="true"] svg { transform: rotate(180deg); }
.rc-site-menu__item--legal .rc-site-menu__row { min-height: 40px; border: 0; }
.rc-site-menu__item:not(.rc-site-menu__item--legal) + .rc-site-menu__item--legal { padding-top: 24px; }
.rc-site-menu__item--legal .rc-site-menu__link { min-height: 40px; padding: 8px 0; font-size: 12px; font-weight: 400; color: #74747E; }
.rc-menu-toggle:focus-visible, .rc-site-menu :is(a, button):focus-visible { outline: 2px solid var(--rc-red); outline-offset: 2px; }
.rc-site-menu--entertainer .rc-site-menu__header :focus-visible, .re-header .rc-menu-toggle:focus-visible { outline-color: #fff; }

@media screen and (max-width: 359px) {
	.rs-header__in, .rc-header__in, .rc-site-menu__header { padding-left: 16px; padding-right: 16px; }
	.rc-header__in::before { left: 16px; }
	.rc-header__label, .rc-site-menu__brand-label { display: none; }
	.rc-header__contact { margin-left: auto; }
	.re-header__in, .rc-site-menu--entertainer .rc-site-menu__header { padding-left: 12px; padding-right: 12px; }
	.re-header__mobile-entry, .rc-site-menu--entertainer .rc-site-menu__cta { flex-basis: 110px; }
}
