/* STX+ v115: site-wide mobile hardening.
   Goal: nothing may ever be wider than the screen, so phones never get a zoomed-out page. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
body{max-width:100%;overflow-x:hidden;overflow-x:clip}
img,video,canvas{max-width:100%}
/* long words and URLs wrap instead of pushing the layout */
p,li,h1,h2,h3,h4,td,th,dd{overflow-wrap:break-word}
/* footer links wrap onto several lines on narrow screens */
.footer-links{flex-wrap:wrap;gap:10px 24px;max-width:100%}
.footer-top{min-width:0}
.footer-bottom{flex-wrap:wrap;gap:8px 20px}
.footer-legal{flex-wrap:wrap}
@media(max-width:600px){
  .footer-top{flex-direction:column;gap:22px}
  .footer-links{gap:12px 22px;font-size:.92rem}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
/* legal pages: the grid column must be allowed to shrink, and wide tables scroll inside themselves */
.lg-grid>*,.lg-doc{min-width:0}
@media(max-width:900px){
  .lg-grid{grid-template-columns:minmax(0,1fr)!important}
  table.lg-t{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .lg-t td:first-child{white-space:normal}
}
/* product pages: keep the top bar inside the screen */
@media(max-width:600px){
  header .nav-right{gap:6px!important;min-width:0}
  header .nav-right .plan-pill,header .nav-right a.btn-outline:not(:last-of-type){display:none!important}
  header .nav-right a.btn-outline{padding:8px 12px!important;font-size:.62rem!important;white-space:nowrap}
}
/* iPhone notch / home bar */
@supports(padding:max(0px)){
  footer{padding-bottom:max(0px,env(safe-area-inset-bottom))}
}
/* focus is always visible for keyboard users */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #5ec8ff;outline-offset:3px}
/* tapping targets never flash grey on iOS */
a,button{-webkit-tap-highlight-color:transparent}
