
/* VistaStay Med — mobile-first app-style navigation & speed layer */
.vsm-mobile-nav,.vsm-mobile-menu{display:none}
@media (max-width:700px){
  html{scroll-padding-top:76px}
  body{padding-top:76px!important;padding-bottom:72px!important;overflow-x:hidden}
  /* Hide the old desktop/mobile header on phones; the new compact bar replaces it. */
  .site-header{display:none!important}
  .vsm-mobile-nav{
    position:fixed;left:0;right:0;top:0;height:76px;z-index:2000;
    display:flex;align-items:center;gap:5px;padding:7px 8px;
    background:rgba(2,25,42,.96);border-bottom:1px solid rgba(101,224,216,.22);
    box-shadow:0 8px 28px rgba(0,0,0,.28);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  .vsm-mobile-brand{flex:0 0 clamp(92px,28vw,128px);height:60px;display:flex;align-items:center}
  .vsm-mobile-brand img{width:100%;height:auto;max-height:54px;object-fit:contain}
  .vsm-mobile-items{display:flex;align-items:stretch;justify-content:space-between;flex:1;min-width:0;height:62px}
  .vsm-mobile-item{
    flex:1;min-width:0;border:0;background:transparent;color:#dcecf4;text-decoration:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    border-radius:10px;padding:3px 1px;line-height:1;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .vsm-mobile-item:active{background:rgba(34,201,191,.14);transform:scale(.96)}
  .vsm-mobile-item.is-active{color:#54e3db}
  .vsm-mobile-icon{width:23px;height:23px;display:block;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .vsm-mobile-item span{font:700 9.5px/1.05 Inter,system-ui,sans-serif;letter-spacing:-.01em;white-space:nowrap}
  .vsm-menu-btn .vsm-mobile-icon{transition:transform .25s ease}
  .vsm-menu-btn[aria-expanded="true"] .vsm-mobile-icon{transform:rotate(90deg)}

  .vsm-mobile-menu{
    position:fixed;display:block;left:8px;right:8px;top:82px;z-index:1999;
    max-height:calc(100dvh - 160px);overflow:auto;overscroll-behavior:contain;
    padding:12px;background:linear-gradient(165deg,#031e31,#052f48);
    border:1px solid rgba(101,224,216,.22);border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.46);opacity:0;visibility:hidden;
    transform:translateY(-10px) scale(.985);pointer-events:none;transition:.22s ease;
  }
  .vsm-mobile-menu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .vsm-mobile-menu a{
    display:flex;align-items:center;gap:12px;min-height:50px;padding:10px 12px;
    color:#f5fbfd;text-decoration:none;border-radius:12px;font:700 14px/1.2 Inter,system-ui,sans-serif;
  }
  .vsm-mobile-menu a:active{background:rgba(34,201,191,.16)}
  .vsm-mobile-menu .vsm-menu-section{margin:8px 8px 4px;color:#65e0d8;font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em;text-transform:uppercase}
  .vsm-menu-icon{width:20px;height:20px;color:#65e0d8;flex:0 0 20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .vsm-menu-cta{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
  .vsm-menu-cta a{justify-content:center;background:rgba(101,224,216,.12);border:1px solid rgba(101,224,216,.25)}
  .vsm-menu-cta a:last-child{background:#f5aa16;color:#032b43;border-color:#f5aa16}
  .vsm-mobile-scrim{position:fixed;inset:76px 0 72px;z-index:1998;background:rgba(0,10,18,.42);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
  .vsm-mobile-scrim.open{opacity:1;visibility:visible;pointer-events:auto}

  /* Reference-style bottom action bar */
  .mobile-action-bar{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2001!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
    padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;
    background:rgba(3,15,25,.96)!important;border-top:1px solid rgba(101,224,216,.18)!important;
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  .mobile-action-bar a{
    min-height:53px!important;border-radius:16px!important;display:flex!important;align-items:center;justify-content:center;gap:8px;
    padding:10px!important;font:800 14px/1 Inter,system-ui,sans-serif!important;
    background:#f5fbfc!important;color:#032b43!important;border:0!important;
    box-shadow:0 4px 14px rgba(0,0,0,.16);
  }
  .mobile-action-bar a:last-child{background:#ffb31b!important;color:#032b43!important}

  /* Speed: preserve the visual design but remove expensive desktop effects on phones. */
  #vsHeroCanvas,#vsCursor{display:none!important}
  .site-header + main .vs-hero,.site-header + main .hero{padding-top:22px!important}
  .vs-hero-grid{opacity:.35!important}
  .vs-orb{animation:none!important}
  .vs-card,.vs-product-card,.vs-solution-card{transform:none!important}
  [data-parallax]{transform:none!important}
  .vs-section{content-visibility:auto;contain-intrinsic-size:700px}
  img{content-visibility:auto}
}
@media (max-width:390px){
  .vsm-mobile-nav{gap:2px;padding-left:5px;padding-right:5px}
  .vsm-mobile-brand{flex-basis:96px}
  .vsm-mobile-item span{font-size:8.5px}
  .vsm-mobile-icon{width:21px;height:21px}
}
@media (prefers-reduced-motion:reduce){.vsm-mobile-menu{transition:none}.vsm-mobile-item:active{transform:none}}
