/* A viewport reveal keeps fixed navigation and ScrollTrigger pins in place. */
:root{scrollbar-gutter:stable}
.page-shell{position:relative;background:#fff;--menu-content-scale:1;--menu-content-shift:0px;--menu-dim:0}
.page-shell::after{content:'';position:fixed;inset:0;z-index:30;background:#160a24;opacity:var(--menu-dim);pointer-events:none}
.menu-open{background:#21142e}
.menu-open .page-shell :is(.hero-content,.partners,.about-inner,.solutions-inner,.orbit-viewport,.interlude>h2,.interlude>.text-particles,.process-inner,.cta-content,.footer-inner){scale:var(--menu-content-scale);translate:var(--menu-content-shift) 0;transform-origin:center center}
.menu-toggle{width:94px;height:44px;min-width:0;min-height:44px;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:#ffffffed;color:var(--purple);border:1px solid #ffffffa6;font-size:19px;box-shadow:0 2px 18px #21142e0a}
.menu-toggle::after{content:none}
.menu-toggle-plus{font:300 22px Arial,sans-serif}
.site-menu{position:fixed;inset:0;margin:0;z-index:100;isolation:isolate;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;background:transparent;overflow:hidden;color:#fff}
.site-menu[open]{display:block;animation:none}
.site-menu::backdrop{background:transparent;backdrop-filter:none}
.menu-panel{position:absolute;inset:0 0 0 auto;z-index:1;width:clamp(290px,30vw,440px);padding:110px clamp(28px,3vw,48px) 36px;display:flex;flex-direction:column;background:#21142e;overflow-y:auto;overscroll-behavior:contain}
.menu-close{position:fixed;top:clamp(20px,2.2vw,36px);right:4.3%;z-index:2;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;align-self:auto;gap:0;border-radius:999px;background:#fff;color:var(--purple);overflow:hidden}
.menu-close .menu-close-label{position:absolute;white-space:nowrap;font:400 19px Kanit,Arial,sans-serif;opacity:0}
.menu-close .menu-close-icon{position:absolute;font:300 32px Arial,sans-serif;line-height:1}
.menu-mobile-dock{display:contents}
.menu-mobile-brand{display:none}
.menu-links{margin-block:auto;gap:10px;align-items:flex-start;padding-block:24px}
.menu-links a,.menu-links button{font-size:clamp(30px,2.6vw,42px);line-height:1.2;font-weight:300;min-height:48px;padding:5px 0;color:#fff;text-align:left}
.menu-links a:hover,.menu-links button:hover,.menu-links a:focus-visible,.menu-links button:focus-visible{transform:none;color:var(--pink)}
.menu-signature{color:#d6c4e8;font-size:14px;font-weight:200;margin-top:28px}
.site-menu :is(a,button):focus-visible{outline-color:#ff63ef;outline-offset:5px}
@media(max-width:760px){
  .site-header,.menu-mobile-dock{position:fixed;inset:auto auto calc(16px + env(safe-area-inset-bottom,0px)) 50%;transform:translateX(-50%);width:min(360px,calc(100% - 32px));height:64px;max-width:none;padding:9px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #ebe5f2;border-radius:999px;background:#fffffff2;box-shadow:0 6px 28px #21142e1f;backdrop-filter:blur(18px)}
  .site-header{z-index:40}
  .menu-open .site-header{visibility:hidden}
  .header-brand,.menu-mobile-brand{display:grid;place-items:center;width:44px;height:44px;aspect-ratio:auto;flex-shrink:0}
  .header-brand img,.menu-mobile-brand img{width:44px;height:44px;object-fit:contain}
  .menu-toggle{font-size:18px;width:90px;padding:0 8px;border:0;box-shadow:none;background:transparent}
  .menu-mobile-dock{z-index:3}
  .menu-close{position:relative;inset:auto;flex-shrink:0;background:transparent}
  .menu-panel{inset:auto 0 0;width:100%;height:min(540px,calc(100dvh - 96px));padding:28px 32px calc(112px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0}
  .menu-links{padding-block:12px;gap:10px}
  .menu-links a,.menu-links button{font-size:30px;min-height:48px}
  .menu-signature{font-size:13px;margin-top:18px}
  .hero{padding:64px 0 calc(112px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.menu-open .page-shell :is(.hero-content,.partners,.about-inner,.solutions-inner,.orbit-viewport,.interlude>h2,.interlude>.text-particles,.process-inner,.cta-content,.footer-inner){scale:1;translate:0 0}}
