/* Shared touch and narrow-screen improvements for the public pages. */
a,button,summary{touch-action:manipulation}
@media(max-width:760px){
  html{scroll-padding-top:16px}
  body{overflow-wrap:break-word}
  header,main,footer{padding-left:20px;padding-right:20px}
  header{flex-wrap:wrap;gap:18px;padding-top:20px;padding-bottom:18px}
  nav{display:flex;width:100%;gap:8px;flex-wrap:wrap}
  nav>a:not(.button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:13px}
  nav .button{flex:1;min-width:145px;min-height:48px;font-size:14px;padding:12px 15px}
  h1{font-size:clamp(34px,9vw,46px);letter-spacing:-1.2px;line-height:1.13}
  h2{letter-spacing:-.8px;line-height:1.2}
  .hero{padding-top:26px;gap:28px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .button,.path .button,.cta .button{box-sizing:border-box;min-height:54px;width:100%;font-size:16px;padding:15px 18px;text-align:center;line-height:1.4}
  .lead{font-size:17px;line-height:1.7}
  .fine,.example p,.path p,.test-box p,details p,.not-live{font-size:14px;line-height:1.75}
  .example{box-sizing:border-box;width:100%;padding:16px}
  .example .label{left:28px;top:28px;font-size:9px;max-width:calc(100% - 56px)}
  .path,.test-box{padding:22px}
  summary{box-sizing:border-box;min-height:52px;padding:8px 24px 8px 0;font-size:16px}
  .midnight{min-height:320px;padding:26px}
  .facts{grid-template-columns:1fr;gap:14px}
  footer a{display:flex;align-items:center;min-height:44px;font-size:13px}
}
@media(max-width:360px){
  header,main,footer{padding-left:16px;padding-right:16px}
  .brand{font-size:28px}
  .path,.test-box{padding:18px}
}
