/* Shared small-screen refinements, including short landscape viewports. */
@media(max-width:800px){
  header .nav{gap:10px}header .brand{min-width:0;gap:6px;font-size:clamp(.68rem,2.8vw,.85rem)}
  header .brand img{width:28px;height:28px;flex-shrink:0}.menu-toggle{flex-shrink:0}
  header #main-menu{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
  .legal-footer{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .legal-footer a{display:inline-flex;align-items:center;min-height:44px}
  .button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.button .arrow{flex-shrink:0}
  .cta-actions{max-width:100%}.cta-actions .button{white-space:normal}
  h1,h2,h3,h4{overflow-wrap:anywhere} .eyebrow{overflow-wrap:anywhere}
  .hero-grid>*{min-width:0}.hero-photo:before{transform:translate(8px,8px)}
}
@media(max-width:560px){
  .support,.process,.body-section,.manifesto{padding-top:64px;padding-bottom:64px}
  .section-top h2,.process h2,.body-section h2,.cta h2{font-size:clamp(2rem,8.5vw,2.8rem)}
  .hero h1{font-size:clamp(2rem,8.7vw,3rem)}
  .card{padding:24px 20px}.cta-actions{flex-direction:column;align-items:flex-start}
  .card .button,.process .button{width:auto}.footer-inner>div{max-width:100%}
}
