/* COLSING — menú móvil lateral aprobado.
   Solo actúa en pantallas <= 960 px; la navegación de escritorio permanece intacta. */
.mobile-drawer-scrim{display:none}

@media (max-width:960px){
  :root{
    --mobile-menu-lime:var(--lime,#def22c);
    --mobile-menu-bg:#0c0c0a;
    --mobile-menu-line:rgba(255,255,255,.085);
    --mobile-menu-text:rgba(255,255,255,.68);
    --mobile-menu-ease:cubic-bezier(.4,0,.2,1);
  }

  /* Botón hamburguesa del header. */
  .nmob{
    width:44px!important;height:44px!important;padding:0!important;
    border:1px solid rgba(222,242,44,.22)!important;border-radius:12px!important;
    background:rgba(222,242,44,.075)!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex-direction:column!important;gap:5px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  }
  .nmob:hover,.nmob:focus-visible{background:rgba(222,242,44,.12)!important;border-color:rgba(222,242,44,.36)!important}
  .nmob span,.nmob[aria-expanded="true"] span{
    width:19px!important;height:1.5px!important;background:var(--mobile-menu-lime)!important;
    transform:none!important;opacity:1!important;position:static!important;
  }

  .mobile-drawer-scrim{
    display:block;position:fixed;inset:0;z-index:198;
    background:rgba(0,0,0,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .34s var(--mobile-menu-ease),visibility .34s;
  }
  .mobile-drawer-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto}

  .drawer.mobile-drawer{
    display:flex!important;position:fixed!important;inset:0 0 0 auto!important;z-index:200!important;
    width:min(90vw,354px)!important;max-width:354px!important;height:100dvh!important;
    padding:0!important;margin:0!important;overflow:hidden!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;
    opacity:1!important;visibility:visible!important;
    background:linear-gradient(180deg,rgba(18,18,16,.992),rgba(8,8,7,.997))!important;
    border:0!important;border-left:1px solid rgba(222,242,44,.16)!important;border-radius:0!important;
    box-shadow:-30px 0 70px rgba(0,0,0,.52)!important;
    transform:translateX(104%)!important;
    transition:transform .42s var(--mobile-menu-ease)!important;
    -webkit-backdrop-filter:blur(22px)!important;backdrop-filter:blur(22px)!important;
  }
  .drawer.mobile-drawer::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(circle at 100% 0,rgba(222,242,44,.075),transparent 31%);
  }
  .drawer.mobile-drawer.open{transform:translateX(0)!important}

  .mobile-drawer-head{
    position:relative;z-index:2;min-height:78px;
    padding:calc(14px + env(safe-area-inset-top)) 16px 14px 18px;
    display:flex;align-items:center;justify-content:space-between;
    border-bottom:1px solid var(--mobile-menu-line);flex:0 0 auto;
  }
  .mobile-drawer-brand{width:125px;height:39px;display:flex;align-items:center;text-decoration:none}
  .mobile-drawer-brand img{display:block;width:100%;height:100%;object-fit:contain}
  .mobile-drawer-close.dclose{
    position:static!important;inset:auto!important;width:42px!important;height:42px!important;padding:0!important;
    border:1px solid rgba(255,255,255,.13)!important;border-radius:12px!important;
    background:rgba(255,255,255,.035)!important;color:rgba(255,255,255,.82)!important;
    display:grid!important;place-items:center!important;font-size:0!important;
    transition:background .22s var(--mobile-menu-ease),border-color .22s var(--mobile-menu-ease)!important;
  }
  .mobile-drawer-close:hover,.mobile-drawer-close:focus-visible{
    background:rgba(222,242,44,.08)!important;border-color:rgba(222,242,44,.25)!important;color:#fff!important;
  }
  .mobile-drawer-close svg{width:18px;height:18px}

  .mobile-drawer-scroll{
    position:relative;z-index:2;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
    padding:14px 14px 18px;scrollbar-width:thin;scrollbar-color:rgba(222,242,44,.24) transparent;
  }
  .mobile-drawer-scroll::-webkit-scrollbar{width:5px}
  .mobile-drawer-scroll::-webkit-scrollbar-thumb{background:rgba(222,242,44,.22);border-radius:999px}
  .mobile-menu-label{
    padding:3px 10px 10px;color:rgba(255,255,255,.34);
    font:700 10px/1.2 Manrope,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  }
  /* Aislamiento respecto a las reglas de revelado del nav principal de la portada. */
  .mobile-nav-list{
    display:grid!important;gap:7px;position:relative!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:none!important;background:transparent!important;
  }

  /* El icono queda fuera del glass. El glass comienza después del icono. */
  .mobile-nav-item{
    position:relative!important;width:100%!important;min-height:48px!important;margin:0!important;padding:0 0 0 4px!important;
    border:0!important;border-radius:0!important;background:transparent!important;color:var(--mobile-menu-text)!important;
    display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;
    text-decoration:none!important;text-align:left!important;cursor:pointer!important;
    font-family:Manrope,system-ui,sans-serif!important;box-shadow:none!important;
    transition:color .22s var(--mobile-menu-ease)!important;
  }
  .mobile-nav-item::before,.mobile-nav-item::after{content:none!important;display:none!important}
  .mobile-nav-icon{
    width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
    background:rgba(255,255,255,.035);color:rgba(255,255,255,.58);
    transition:color .22s var(--mobile-menu-ease),background .22s var(--mobile-menu-ease),transform .22s var(--mobile-menu-ease);
  }
  .mobile-nav-icon svg{width:17px;height:17px}
  .mobile-nav-main{
    min-width:0;min-height:42px;padding:0 13px 0 15px;border:0;border-radius:12px;
    display:flex;align-items:center;gap:8px;color:inherit;
    transition:background .22s var(--mobile-menu-ease),box-shadow .22s var(--mobile-menu-ease),color .22s var(--mobile-menu-ease);
  }
  .mobile-nav-text{min-width:0;font-size:13px;font-weight:450;line-height:1.25;letter-spacing:0;color:inherit}
  .mobile-nav-item:hover,.mobile-nav-item:focus-visible{color:#fff!important;outline:none!important}
  .mobile-nav-item:hover .mobile-nav-main,.mobile-nav-item:focus-visible .mobile-nav-main{background:rgba(255,255,255,.035)}
  .mobile-nav-item.is-active{color:#fff!important}
  .mobile-nav-item.is-active .mobile-nav-main{
    background:linear-gradient(90deg,rgba(222,242,44,.115),rgba(222,242,44,.035));
    box-shadow:0 8px 24px rgba(0,0,0,.11),inset 0 1px 0 rgba(255,255,255,.035);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  .mobile-nav-item.is-active .mobile-nav-icon,
  .mobile-services.is-open .mobile-services-toggle .mobile-nav-icon{
    background:transparent;color:var(--mobile-menu-lime);transform:translateX(1px);
  }

  .mobile-services{width:100%!important;margin:0!important}
  .mobile-nav-chevron{
    width:18px;height:18px;margin-left:auto;color:rgba(255,255,255,.38);flex:0 0 auto;
    transition:transform .26s var(--mobile-menu-ease),color .2s var(--mobile-menu-ease);
  }
  .mobile-services.is-open .mobile-services-toggle{color:#fff!important}
  .mobile-services.is-open .mobile-services-toggle .mobile-nav-main{
    background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  .mobile-services.is-open .mobile-services-toggle.is-active .mobile-nav-main{
    background:linear-gradient(90deg,rgba(222,242,44,.115),rgba(222,242,44,.035));
  }
  .mobile-services.is-open .mobile-nav-chevron{transform:rotate(180deg);color:var(--mobile-menu-lime)}

  .mobile-services-panel{
    position:static!important;inset:auto!important;width:auto!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
    box-shadow:none!important;display:grid!important;grid-template-rows:0fr!important;opacity:1!important;visibility:visible!important;
    transform:none!important;pointer-events:auto!important;overflow:hidden!important;
    transition:grid-template-rows .34s var(--mobile-menu-ease)!important;
  }
  .mobile-services-panel.is-open{grid-template-rows:1fr!important}
  .mobile-services-inner{min-height:0!important;overflow:hidden!important;padding:0!important;border:0!important;background:transparent!important}
  .mobile-service-tree{
    position:relative;margin:6px 0 4px 31px!important;padding:5px 0 5px 22px!important;
    display:grid!important;grid-template-columns:1fr!important;gap:4px!important;border:0!important;
  }
  .mobile-service-tree::before{
    content:"";position:absolute;left:1px;top:4px;bottom:19px;width:1px;
    background:linear-gradient(rgba(222,242,44,.22),rgba(255,255,255,.065));
  }
  .mobile-service-link{
    position:relative!important;min-height:42px!important;width:100%!important;margin:0!important;padding:8px 12px!important;
    border:0!important;border-radius:10px!important;background:transparent!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
    color:rgba(255,255,255,.52)!important;text-decoration:none!important;text-align:left!important;
    font:450 11.5px/1.28 Manrope,system-ui,sans-serif!important;letter-spacing:0!important;
    transition:background .2s var(--mobile-menu-ease),color .2s var(--mobile-menu-ease)!important;
  }
  .mobile-service-link::before{
    content:""!important;display:block!important;position:absolute!important;left:-21px!important;top:50%!important;
    width:14px!important;height:1px!important;background:rgba(222,242,44,.22)!important;
  }
  .mobile-service-link::after{content:none!important;display:none!important}
  .mobile-service-text{min-width:0}
  .mobile-service-arrow{color:rgba(255,255,255,.28);font-size:14px;line-height:1;transition:color .2s,transform .2s}
  .mobile-service-link:hover,.mobile-service-link:focus-visible,.mobile-service-link.is-current{
    background:rgba(222,242,44,.06)!important;color:#fff!important;outline:none!important;
  }
  .mobile-service-link:hover .mobile-service-arrow,.mobile-service-link:focus-visible .mobile-service-arrow,.mobile-service-link.is-current .mobile-service-arrow{
    color:var(--mobile-menu-lime);transform:translateX(2px);
  }

  .mobile-drawer-foot{
    position:relative;z-index:3;flex:0 0 auto;padding:14px 14px calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid var(--mobile-menu-line);background:rgba(8,8,7,.94);display:grid;gap:10px;
  }
  .mobile-language{min-height:44px;display:flex;align-items:center;justify-content:flex-end;gap:10px}
  .mobile-lang-btn{
    width:43px;height:43px;padding:0;border:0!important;border-radius:50%;background:rgba(255,255,255,.035);
    color:rgba(255,255,255,.55);display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;
    transition:background .2s var(--mobile-menu-ease),color .2s var(--mobile-menu-ease),transform .2s var(--mobile-menu-ease);
  }
  .mobile-lang-btn:hover,.mobile-lang-btn:focus-visible{
    background:rgba(255,255,255,.065);color:#fff;transform:translateY(-1px);outline:none;
  }
  .mobile-lang-btn.is-active{background:rgba(222,242,44,.115);color:var(--mobile-menu-lime)}
  .mobile-lang-flag{font-size:16px;line-height:1;filter:saturate(.9)}
  .mobile-lang-code{font:500 8.5px/1 Manrope,system-ui,sans-serif;letter-spacing:.06em}
  .mobile-lang-btn.is-active .mobile-lang-flag{filter:saturate(1.08)}

  .mobile-menu-cta{
    height:49px;padding:0 18px;border:0;border-radius:13px;background:var(--mobile-menu-lime);color:#0a0a08;
    display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;
    font:800 12px/1 Manrope,system-ui,sans-serif;letter-spacing:.01em;
    transition:background .22s var(--mobile-menu-ease),transform .22s var(--mobile-menu-ease);
  }
  .mobile-menu-cta:hover,.mobile-menu-cta:focus-visible{background:#c8da20;transform:translateY(-1px);outline:none}
  .mobile-menu-cta svg{width:16px;height:16px}
}

@media (max-width:390px){
  .drawer.mobile-drawer{width:92vw!important}
  .mobile-drawer-scroll{padding-inline:11px}
  .mobile-drawer-foot{padding-inline:11px}
}

@media (prefers-reduced-motion:reduce){
  .drawer.mobile-drawer,.mobile-drawer-scrim,.mobile-services-panel,.mobile-nav-chevron{transition-duration:.01ms!important}
}
