  /* Make sure footer never clips on mobile */
  .as-footer, .as-footer * { box-sizing:border-box; }
  .as-footer { width:100%; overflow:visible; }
  .as-footer__grid { width:100%; }
  .as-footer__col { min-width:0; } /* prevents grid items from forcing overflow */
  .as-footer a:hover { color:#fff !important; text-decoration:underline; text-underline-offset:2px; }

  /* ✅ Robust responsive grid (no “cut off”) */
  @media (max-width: 980px){
    .as-footer__grid{
      grid-template-columns: 1fr 1fr !important;
      gap:1.5rem !important;
    }
  }
  @media (max-width: 560px){
    .as-footer__grid{
      grid-template-columns: 1fr !important;
      gap:1.25rem !important;
    }
    .as-footer__bottom{
      flex-direction:column !important;
      align-items:flex-start !important;
    }
  }

  /* Long links won't push width */
  .as-footer a{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  /* Back to top hover/focus */
  #backToTop:hover { filter:brightness(1.12); transform:translateY(-1px); }
  #backToTop:active { transform:translateY(0); }
  #backToTop:focus { outline:2px solid rgba(255,193,7,.55); outline-offset:3px; }