/* Shared full-screen mobile navigation. Desktop navigation keeps its own layout. */
@media(max-width:900px){
 dialog.mobile-menu{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;min-height:0;padding:0;border:0;border-radius:0;background:#080f12;color:#edf7f7;box-shadow:none;backdrop-filter:none;overflow:hidden;overscroll-behavior:contain;z-index:1000;isolation:isolate}
 dialog.mobile-menu::backdrop{background:#080f12}
 dialog.mobile-menu[hidden]{display:none!important}
 dialog.mobile-menu[open]:not([hidden]){display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;animation:mn-curtain .38s cubic-bezier(.22,.7,.25,1) both}
 dialog.mobile-menu.is-leaving[open]{animation:mn-leave .18s ease-in both}
 dialog.mobile-menu:before{content:'';position:absolute;z-index:-1;width:115vw;height:75vh;left:18%;top:10%;pointer-events:none;background:radial-gradient(ellipse,#00efdf0e,transparent 67%);transition:top .5s,left .5s}
 dialog.mobile-menu[data-active=labs]:before{top:30%;left:-35%}
 dialog.mobile-menu[data-active=studio]:before{top:50%;left:5%}
 .mobile-menu .mn-header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:calc(18px + env(safe-area-inset-top)) 24px 18px;background:#080f12e8;border-bottom:1px solid #ffffff0a;flex-shrink:0}
 .mobile-menu .mn-brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
 .mobile-menu .mn-brand img{display:block;width:142px;height:44px;object-fit:contain}
 .mobile-menu button.mn-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #ffffff28;border-radius:50%;padding:0;background:transparent;color:#c7dce0;transition:background .2s,border-color .2s}
 .mobile-menu .mn-close svg{width:21px;height:21px;fill:none}
 .mobile-menu .mn-close:hover{background:#00efdf0a;border-color:#00efdf88}
 .mobile-menu .mn-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:27px 24px 25px;scrollbar-width:thin;scrollbar-color:#00efdf44 transparent;-webkit-overflow-scrolling:touch}
 .mobile-menu .mn-kicker{font:8px/1.5 Arial,sans-serif;letter-spacing:.18em;color:#72939d;margin:0 0 10px}
 .mobile-menu .mn-intro{font:400 23px/1.2 Arial,sans-serif;letter-spacing:-.04em;color:#b4c9ce;margin:0 0 25px}
 .mobile-menu .mn-intro em{color:#00efdf;font-family:Georgia,serif;font-weight:400}
 .mobile-menu .mn-groups>.org-nav-group{position:relative;display:block;border-bottom:1px solid #ffffff17;background:none}
 .mobile-menu .mn-groups>.org-nav-group>summary{position:relative;list-style:none;display:grid;grid-template-columns:16px minmax(0,1fr) 31px;gap:13px;align-items:center;min-height:98px;padding:19px 0;color:#eaf4f5;white-space:normal}
 .mobile-menu .mn-groups>.org-nav-group>summary::-webkit-details-marker{display:none}
 .mobile-menu .mn-number{font:9px/1 Arial,sans-serif;color:#54727c;align-self:start;padding-top:8px;letter-spacing:.03em;transition:color .2s}
 .mobile-menu .mn-title{display:block;min-width:0}
 .mobile-menu .mn-title strong{display:block;font:400 clamp(30px,8.2vw,43px)/1.08 Arial,sans-serif;letter-spacing:-.05em;white-space:nowrap;transition:color .2s}
 .mobile-menu .mn-title small{display:block;font:11px/1.5 Arial,sans-serif;color:#7899a3;letter-spacing:0;margin-top:8px}
 .mobile-menu .mn-expand{display:grid;place-items:center;width:29px;height:29px;border:1px solid #ffffff26;border-radius:50%;color:#718f99;transition:color .2s,border-color .2s,transform .25s}
 .mobile-menu .mn-expand svg{width:15px;height:15px}
 .mobile-menu .mn-groups>.org-nav-group>summary:after{content:'';position:absolute;left:29px;bottom:-1px;right:0;height:1px;background:linear-gradient(90deg,#00efdfb3,#00efdf00);transform:scaleX(0);transform-origin:left;transition:transform .3s}
 .mobile-menu .mn-groups>.org-nav-group[open]>summary .mn-title strong,.mobile-menu .mn-groups>.org-nav-group[open]>summary .mn-number{color:#00efdf}
 .mobile-menu .mn-groups>.org-nav-group[open]>summary .mn-title small{color:#acd0d3}
 .mobile-menu .mn-groups>.org-nav-group[open]>summary .mn-expand{color:#00efdf;border-color:#00efdf66;transform:rotate(45deg)}
 .mobile-menu .mn-groups>.org-nav-group[open]>summary:after{transform:scaleX(1)}
 .mobile-menu .mn-groups>.org-nav-group>.universe-panel{position:static;inset:auto;width:auto;max-height:none;margin:0;padding:3px 0 22px 29px;border:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;overflow:visible;color:#edf7f7}
 .mobile-menu .mn-groups .universe-panel>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:59px;padding:11px 10px 11px 0;border-radius:0;background:none;text-decoration:none;border-bottom:1px solid #ffffff08;color:#d5e6e8;transition:color .18s,padding-left .2s}
 .mobile-menu .mn-groups .universe-panel>a>span{font:400 18px/1.25 Arial,sans-serif;letter-spacing:-.025em}
 .mobile-menu .mn-groups .universe-panel>a>small{font:11px/1.4 Arial,sans-serif;color:#7598a2;letter-spacing:0}
 .mobile-menu .mn-groups .universe-panel>a:hover,.mobile-menu .mn-groups .universe-panel>a:focus-visible,.mobile-menu .mn-groups .universe-panel>a[aria-current=page]{color:#00efdf;background:none;padding-left:7px}
 .mobile-menu .mn-groups .org-menu-label{display:block;font:8px/1.5 Arial,sans-serif;letter-spacing:.15em;color:#7799a3;margin:16px 0 4px;padding-top:15px;border-color:#ffffff16}
 .mobile-menu .mn-footer{position:relative;padding:19px 24px calc(24px + env(safe-area-inset-bottom));background:#080f12;border-top:1px solid #00efdf26}
 .mobile-menu .mn-footer>span{display:block;font:8px/1.4 Arial,sans-serif;letter-spacing:.15em;color:#638792;margin-bottom:9px}
 .mobile-menu .mn-footer>.org-mobile-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:0;min-height:49px;font:400 32px/1.1 Arial,sans-serif;letter-spacing:-.05em;color:#00efdf;border:0;background:none;text-align:left}
 .mobile-menu .mn-contact-arrow{display:grid;place-items:center;width:47px;height:47px;flex-shrink:0;border:1px solid #00efdf88;border-radius:50%;background:#00efdf0a;transition:transform .2s,background .2s}
 .mobile-menu .mn-contact-arrow svg{width:23px;height:23px}
 .mobile-menu .org-mobile-contact:hover .mn-contact-arrow{transform:translateX(3px);background:#00efdf1a}
 .mobile-menu a:focus-visible,.mobile-menu button:focus-visible{outline:2px solid #00efdf;outline-offset:4px}
 .mobile-menu .mn-groups>details>summary:focus-visible{outline:1px solid #00efdf;outline-offset:4px;border-radius:4px}
 .mobile-menu[open] .mn-header,.mobile-menu[open] .mn-intro,.mobile-menu[open] .mn-kicker,.mobile-menu[open] .mn-groups>details,.mobile-menu[open] .mn-footer{animation:mn-item .4s ease-out both}
 .mobile-menu[open] .mn-groups>details:nth-child(1){animation-delay:.04s}.mobile-menu[open] .mn-groups>details:nth-child(2){animation-delay:.08s}.mobile-menu[open] .mn-groups>details:nth-child(3){animation-delay:.12s}.mobile-menu[open] .mn-footer{animation-delay:.14s}
 .mobile-menu .mn-groups>details[open]>.universe-panel{animation:mn-panel .24s ease-out both}
}
@media(max-width:380px){.mobile-menu .mn-header{padding-left:21px;padding-right:21px}.mobile-menu .mn-body,.mobile-menu .mn-footer{padding-left:21px;padding-right:21px}.mobile-menu .mn-title strong{font-size:30px}.mobile-menu .mn-title small{font-size:10.5px}.mobile-menu .mn-groups>.org-nav-group>summary{gap:11px}}
@media(max-height:700px) and (max-width:900px){.mobile-menu .mn-header{min-height:76px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}.mobile-menu .mn-brand img{width:127px;height:39px}.mobile-menu .mn-body{padding-top:20px;padding-bottom:18px}.mobile-menu .mn-intro{font-size:21px;margin-bottom:15px}.mobile-menu .mn-kicker{margin-bottom:8px}.mobile-menu .mn-groups>.org-nav-group>summary{min-height:87px;padding-top:15px;padding-bottom:15px}.mobile-menu .mn-footer{padding-top:15px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}
@keyframes mn-curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes mn-leave{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
@keyframes mn-item{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes mn-panel{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){dialog.mobile-menu,.mobile-menu *,.mobile-menu:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
