/* Menú mobile inmersivo: pantalla completa que se abre en círculo desde el botón */
.menu-cta, .menu-foot { display:none; }
@media(max-width:991px) {
  /* Sin backdrop-filter: si no, el menú fijo se posicionaría dentro del header y no en la pantalla */
  .rubik-header { backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
  html.menu-open { overflow:hidden; }
  html.menu-open .rubik-header { z-index:200; }
  .rubik-nav>.rubik-brand, .rubik-nav>.menu-toggle, .rubik-nav>.theme-toggle { position:relative; z-index:3; }

  .menu-toggle { width:46px; height:46px; min-height:46px; padding:0!important; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .menu-bars { position:relative; width:20px; height:14px; display:block; }
  .menu-bars i { position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:currentColor; transition:transform .45s cubic-bezier(.7,0,.2,1), opacity .25s, width .3s; }
  .menu-bars i:nth-child(1) { top:0; }
  .menu-bars i:nth-child(2) { top:6px; width:70%; }
  .menu-bars i:nth-child(3) { top:12px; }
  .menu-toggle[aria-expanded=true] { background:#ffffff14; border-color:#75f1bb; color:#75f1bb; }
  .menu-toggle[aria-expanded=true] .menu-bars i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] .menu-bars i:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded=true] .menu-bars i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

  .rubik-nav>nav { --mx:calc(100% - 40px); --my:48px; counter-reset:menu;
    display:flex!important; flex-direction:column; justify-content:center; gap:0; margin:0; border:0; order:0; flex-basis:auto;
    position:fixed; inset:0; z-index:1; height:100dvh; padding:112px 30px calc(30px + env(safe-area-inset-bottom)); overflow-y:auto;
    background:radial-gradient(circle at 85% 12%,#75f1bb26,transparent 46%),radial-gradient(circle at 5% 95%,#4b6ef533,transparent 50%),linear-gradient(180deg,#090e18f2,#070b14fa),url(../img/journey/m-ia.webp) center/cover #070b14;
    clip-path:circle(0 at var(--mx) var(--my)); -webkit-clip-path:circle(0 at var(--mx) var(--my)); visibility:hidden;
    transition:clip-path .7s cubic-bezier(.7,0,.2,1), -webkit-clip-path .7s cubic-bezier(.7,0,.2,1), visibility 0s .7s; }
  .rubik-nav>nav.is-open { clip-path:circle(160vmax at var(--mx) var(--my)); -webkit-clip-path:circle(160vmax at var(--mx) var(--my)); visibility:visible;
    transition:clip-path .8s cubic-bezier(.7,0,.2,1), -webkit-clip-path .8s cubic-bezier(.7,0,.2,1), visibility 0s; }

  .rubik-nav>nav>a { counter-increment:menu; display:flex; align-items:baseline; gap:16px; padding:14px 0; border-bottom:1px solid #ffffff14; color:#fff;
    font-size:clamp(1.9rem,8.4vw,2.6rem); font-weight:750; letter-spacing:-.04em; line-height:1.1; min-height:56px;
    opacity:0; transform:translateY(34px); transition:opacity .35s, transform .35s, color .2s; }
  .rubik-nav>nav>a:before { content:counter(menu,decimal-leading-zero); font-size:.72rem; font-weight:600; letter-spacing:.14em; color:#75f1bb; min-width:26px; }
  .rubik-nav>nav>a[aria-current=true] { color:#75f1bb; }
  .rubik-nav>nav>a:active { color:#75f1bb; transform:translateX(6px); }
  .rubik-nav>nav.is-open>a { opacity:1; transform:none; transition:opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1), color .2s; }
  .rubik-nav>nav.is-open>a:nth-of-type(1) { transition-delay:.28s; }
  .rubik-nav>nav.is-open>a:nth-of-type(2) { transition-delay:.34s; }
  .rubik-nav>nav.is-open>a:nth-of-type(3) { transition-delay:.40s; }
  .rubik-nav>nav.is-open>a:nth-of-type(4) { transition-delay:.46s; }
  .rubik-nav>nav.is-open>a:nth-of-type(5) { transition-delay:.52s; }
  .rubik-nav>nav.is-open>a:nth-of-type(6) { transition-delay:.58s; }

  .menu-cta { display:flex; align-items:center; justify-content:space-between; margin-top:30px; min-height:56px; padding:0 24px; border-radius:50px; background:#75f1bb; color:#092c21; font-size:1rem; font-weight:700;
    opacity:0; transform:translateY(24px); transition:opacity .3s, transform .3s; }
  .menu-foot { display:block; margin:18px 0 0; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#8ea1bf; opacity:0; transition:opacity .3s; }
  .rubik-nav>nav.is-open .menu-cta { opacity:1; transform:none; transition:opacity .5s .68s, transform .5s .68s; }
  .rubik-nav>nav.is-open .menu-foot { opacity:1; transition:opacity .5s .8s; }
}
@media(max-width:991px) and (max-height:600px) { .rubik-nav>nav { padding-top:92px; } .rubik-nav>nav>a { padding-block:8px; min-height:44px; font-size:1.6rem; } .menu-cta { margin-top:16px; } }
@media(prefers-reduced-motion:reduce) {
  .rubik-nav>nav, .rubik-nav>nav.is-open, .rubik-nav>nav>a, .menu-cta, .menu-foot, .menu-bars i { transition-duration:.01s!important; transition-delay:0s!important; }
}
