.hero {
  display: flex;
  align-items: center; /* vertical centering */
  height: 100vh;
  background: url('background.png') center/cover no-repeat;
}

/* ==== Mobile polish (paste AFTER your current CSS) ==== */

/* General fixes */
:where(h1,h2,h3,p,li){ overflow-wrap:anywhere; }
body{ overflow-x:hidden; }
img{ height:auto; display:block; }

/* iOS notch safety */
@supports (padding: max(0px)) {
  body{ padding-bottom:max(env(safe-area-inset-bottom), 0px); }
}

/* ≤ 860px */
@media (max-width: 860px){
  .container{ width:min(1200px,92vw); }
  .nav{ padding:8px 0; }
  .brand img{ width:44px; height:44px; }
  .hero{ padding:56px 0 48px; }
  .hero-grid{ grid-template-columns:1fr; gap:20px; }
  .hero-card{ padding:18px; }
  .cta .btn{ flex:1 1 auto; text-align:center; }

  /* Mobile nav panel */
  nav ul{
    display:none;
    position:absolute; left:0; right:0; top:72px;
    background:var(--white);
    border-bottom:1px solid #e9eef6; box-shadow:var(--shadow);
    padding:12px 4vw; gap:8px; flex-direction:column;
  }
  nav a{ display:block; padding:12px 10px; }
}

/* ≤ 620px */
@media (max-width: 620px){
  h1{ font-size:clamp(1.75rem, 7vw, 2.1rem); }
  .sub{ font-size:.95rem; }
  .grid-3{ grid-template-columns:1fr; }
  .program-img{ height:160px; object-fit:cover; border-radius:14px; }
  .impact .stats{ grid-template-columns:1fr 1fr; gap:12px; }
  .donor-grid{ grid-template-columns:1fr; }
  .checkboxes{ grid-template-columns:1fr; }
  .inline{ gap:8px; }
  footer .footgrid{ grid-template-columns:1fr; }
  .sticky-donate{ right:12px; bottom:12px; }
}

/* ≤ 480px */
@media (max-width: 480px){
  .btn{ padding:12px 14px; min-height:44px; }
  input, select, textarea{ font-size:16px; min-height:44px; }
  .amounts{ gap:8px; }
  .amount-btn{ padding:8px 12px; }
  .program-img{ height:140px; }
  .impact .stats{ grid-template-columns:1fr; }
  .testimonial blockquote{ padding:18px; }
  .stat .num{ font-size:1.6rem; }
  .hero p{ margin-bottom:18px; }
}
