/* Sticky footer shell + base document layout (pairs with index.html chrome) */
input, textarea, select { font-size: 16px !important; }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
html {
  background-color: #0a0a1a !important;
  overscroll-behavior: none;
}
body {
  background-color: #0a0a1a !important;
  overscroll-behavior: none;
}
    body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; font-size: 13px; line-height: 1.6; color: #ffffff !important; position: relative; z-index: 0; background: transparent; -webkit-font-smoothing: antialiased; }
    body::after { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(46,125,210,0.15) 1px, transparent 1px); background-size: 50px 50px; animation: moveGrid 20s linear infinite; z-index: -1; }
    @keyframes moveGrid { 0% { transform: translate(0, 0); } 100% { transform: translate(50px, 50px); } }

/* B2B shell: column flex so footer sits at bottom when content is short */
body {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.menu-open{overflow:hidden;position:fixed;width:100%}

main.site-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
