/* DashMan — mobile / touch / slow-network hardening. Loaded last on every page. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:76px}
body{overflow-wrap:break-word}
img,video,svg,canvas,iframe{max-width:100%}
h1,h2,h3,h4,p,li,td,th,summary,a{overflow-wrap:break-word;min-width:0}
pre,code{white-space:pre-wrap;word-break:break-word}
input,select,textarea{font-size:16px} /* stops iOS zoom-on-focus */

/* tap targets >= 44px (WCAG 2.5.5 / Apple HIG) */
nav.site .brand,footer.site a,.legal-links a,.toc a,a.eyebrow[href]{display:inline-flex;align-items:center;min-height:44px}
nav.site:not(.has-menu) .navlinks a{display:inline-flex;align-items:center;min-height:44px}
nav.site.has-menu .navlinks a{min-height:44px}
.pill,.cta-btn,button,select{min-height:44px}
footer.site a,.legal-links a,.toc a,nav.site:not(.has-menu) .navlinks a{min-width:44px;justify-content:center}
nav.site .brand{min-width:44px}
.pill{display:inline-flex;align-items:center;justify-content:center}
details.qa summary{min-height:44px;align-items:center}
.legal-links{gap:4px 18px!important}

/* thumb-reach bottom bar (portrait phones only) */
.mbar{display:none}
@media (max-width:560px) and (min-height:480px){
  .mbar{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:0;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(251,250,247,.97);border-top:1px solid #E0DCD1;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .mbar a{display:flex;align-items:center;justify-content:center;min-height:56px;font:600 14px/1.1 "Instrument Sans","Helvetica Neue",sans-serif;color:#101010;text-align:center;padding:0 6px}
  .mbar a.mbar-cta{background:#0E6B54;color:#FBFAF7;margin:6px 8px;min-height:44px;border-radius:100px}
  footer.site{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  #dmc{bottom:calc(68px + env(safe-area-inset-bottom))!important;left:10px!important;right:10px!important}
}
@media (max-width:560px){
  .wrap,.narrow{padding-left:20px;padding-right:20px}
  nav.site .row{padding:0 16px}
  /* static-nav pages: keep brand + CTA, the bottom bar carries the links */
  nav.site:not(.has-menu) .navlinks a:not(.pill){display:none}
  nav.site:not(.has-menu) .navlinks .pill{padding:0 16px}
  h1.pg{font-size:clamp(30px,9vw,40px)}
  .lead{font-size:18px}
}
@media (max-width:820px){table.pt,table.cmp{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table.pt{font-size:14px}}
/* phones on their side: short viewport — don't burn 64px on a sticky bar */
@media (orientation:landscape) and (max-height:500px){nav.site{position:static}}
@media (prefers-reduced-motion:reduce){.ticker .tk{animation:none}html{scroll-behavior:auto}}
