/* One global-menu presentation for the static Home and React reading pages.
   Chapter dots remain separate and keep their own page-specific labels/counts.
   The legacy Home cascade has important layout rules; resolve them here, not
   by changing cinematic titles, reading typography or modal/focus behavior. */
.kc-editorial dialog.kc-primary-menu:not([open]) { display: none; }
body.concept-c .c-motion-menu .kc-primary-menu,
.kc-editorial .kc-primary-menu {
  inset: 0 !important;
  width: 100% !important;
  height: 100svh !important;
  max-width: none;
  max-height: none;
  box-sizing: border-box;
  margin: 0;
  padding: 100px clamp(24px, 9vw, 160px) 64px !important;
  display: block;
  align-content: start;
  overflow-y: auto !important;
  overflow-x: hidden;
  overscroll-behavior: contain;
  background: #03142df5 !important;
  border: 0 !important;
  color: #f1f5f8;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.concept-c .kc-primary-menu::after,
body.concept-c .kc-primary-menu .c-motion-menu-meta,
body.concept-c .kc-primary-menu .c-motion-menu-brand,
body.concept-c .kc-primary-menu .kc-menu-echo { display: none !important; }
body.concept-c .kc-primary-menu .c-motion-menu-nav,
.kc-editorial .kc-primary-menu nav {
  display: flex;
  flex-direction: column;
  width: 100% !important;
  max-height: none;
  gap: 0;
  margin: 0 !important;
  overflow: visible;
}
body.concept-c .kc-primary-menu .c-motion-menu-nav a,
.kc-editorial .kc-primary-menu nav a {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 24px !important;
  align-items: center;
  gap: 20px !important;
  min-height: 70px;
  padding: 12px 0 !important;
  border-bottom: 1px solid #ffffff26;
  color: #f1f5f8;
  text-decoration: none;
}
body.concept-c .kc-primary-menu .c-motion-menu-nav strong,
.kc-editorial .kc-primary-menu nav a > span {
  font-family: var(--kc-type-brand);
  font-weight: 600;
  font-synthesis: none;
  font-size: var(--kc-type-menu-size) !important;
  line-height: var(--kc-type-menu-leading) !important;
  letter-spacing: var(--kc-type-menu-tracking) !important;
  transform: none !important;
  -webkit-text-stroke: 0 transparent !important;
}
body.concept-c .kc-primary-menu .c-motion-menu-nav a > span,
.kc-editorial .kc-primary-menu nav small {
  font-family: var(--kc-type-brand);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .15em;
  color: #f2c230;
}
body.concept-c .kc-primary-menu .c-motion-menu-nav a > i,
.kc-editorial .kc-primary-menu nav a > i {
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-style: normal;
  color: inherit;
}
body.concept-c .kc-primary-menu .c-motion-menu-nav a:is([aria-current="page"], :hover, :focus-visible),
.kc-editorial .kc-primary-menu nav a:is([aria-current="page"], :hover, :focus-visible) { color: #f2c230; }
body.concept-c .kc-primary-menu .c-motion-menu-nav a:focus-visible,
.kc-editorial .kc-primary-menu nav a:focus-visible { outline: 2px solid #f2c230; outline-offset: 5px; }
body.concept-c .kc-primary-menu .c-motion-menu-nav a::after { display: none; }
body.concept-c .kc-primary-menu .c-motion-menu-close,
.kc-editorial .kc-primary-menu .kc-editorial__menu-close {
  position: absolute;
  top: 26px !important;
  right: 32px !important;
  left: auto;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 1px solid #ffffff60;
  border-radius: 50%;
  background: none;
  color: #f1f5f8;
  transform: none !important;
  cursor: pointer;
}
body.concept-c .kc-primary-menu .c-motion-menu-close i,
.kc-editorial .kc-primary-menu .kc-editorial__menu-close i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
}
body.concept-c .kc-primary-menu .c-motion-menu-close i:last-child,
.kc-editorial .kc-primary-menu .kc-editorial__menu-close i:last-child { transform: translate(-50%, -50%) rotate(-45deg); }
body.concept-c .kc-primary-menu .kc-primary-menu__signature,
.kc-editorial .kc-primary-menu .kc-primary-menu__signature {
  font-family: var(--kc-type-brand);
  font-size: 9px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .15em;
  margin: 30px 0 0;
  opacity: .65;
}
body.concept-c .kc-primary-menu .c-motion-menu-foot {
  position: static;
  justify-content: flex-end;
  margin-top: 16px;
}
@media (max-width: 700px) {
  body.concept-c .kc-primary-menu .c-motion-menu-nav a,
  .kc-editorial .kc-primary-menu nav a { grid-template-columns: 24px minmax(0, 1fr) 20px !important; gap: 12px !important; }
}
@media (max-height: 600px) {
  body.concept-c .c-motion-menu .kc-primary-menu,
  .kc-editorial .kc-primary-menu { padding-top: 86px !important; padding-bottom: 28px !important; }
  body.concept-c .kc-primary-menu .c-motion-menu-nav strong,
  .kc-editorial .kc-primary-menu nav a > span { font-size: clamp(24px, min(5.15vw, 8dvh), 48px) !important; }
  body.concept-c .kc-primary-menu .c-motion-menu-nav a,
  .kc-editorial .kc-primary-menu nav a { min-height: 52px; padding: 8px 0 !important; }
}
