/* ==========================================================================
   AAISA redesign — responsive rules
   Tested widths: 320 / 375 / 390 / 414 / 430 / 768 / 1024 / 1366 / 1920
   ========================================================================== */

/* ---------- ≤1120px : tighten nav ---------- */
@media (max-width: 1120px) {
  .nav a, .nav .nav__top { padding: 10px 9px; font-size: .93rem; }
  .brand img { height: 42px; }
}

/* ---------- ≤1024px : tablet — collapse to hamburger ---------- */
@media (max-width: 1024px) {
  .nav { display: none; }
  .header__cta { display: none; }
  .nav-toggle { display: block; }
  .hero__inner { grid-template-columns: 1fr; }
  .hero__media { min-height: 380px; margin-top: 12px; }
  .split { grid-template-columns: 1fr; }
  .footer__main { grid-template-columns: 1fr 1fr; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .factband { grid-template-columns: repeat(3, 1fr); }
  .land__inner { grid-template-columns: 180px 1fr; }
  .banner { grid-template-columns: auto 1fr; }
  .banner .btn { grid-column: 2; justify-self: start; }
}

/* ---------- ≤768px : large phones / small tablets ---------- */
@media (max-width: 768px) {
  body { font-size: 1rem; }
  .utility { display: none; }  /* utility info is repeated in footer */
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .grid-5 { grid-template-columns: repeat(2, 1fr); }
  .factband { grid-template-columns: 1fr; }
  .meta-band { grid-template-columns: 1fr; }
  .newsletter { grid-template-columns: 1fr; }
  .newsletter form { grid-template-columns: 1fr; }
  .newsletter form .btn { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .cta-band { grid-template-columns: 1fr; }
  .cta-band__actions { flex-direction: row; flex-wrap: wrap; }
  .banner { grid-template-columns: 1fr; }
  .banner .btn { grid-column: 1; }
  .dir-grid { grid-template-columns: repeat(2, 1fr); }
  .land__inner { grid-template-columns: 1fr; }
  .land__mark { min-height: 150px; }
  .footer__main { grid-template-columns: 1fr; gap: 28px; }
  .hero__media { min-height: 330px; }
  .hero__badge { left: auto; right: 0; top: 46%; }
}

/* ---------- ≤560px : phones ---------- */
@media (max-width: 560px) {
  .container { padding-inline: 18px; }
  .factband { grid-template-columns: 1fr !important; }  /* inline 2-col overrides must collapse too */
  .grid-5 { grid-template-columns: 1fr !important; }
  .hero__media { min-height: 270px; }
  .hero__photo--1 { width: 68%; height: 52%; right: 0; }
  .hero__photo--2 { width: 58%; height: 40%; }
  .hero__photo--3 { display: none; }
  .hero__badge { padding: 9px 13px; font-size: .84rem; left: 0; bottom: 0; top: auto; }
  .hero__actions .btn { width: 100%; }
  .section-head { margin-bottom: 26px; }
  .toolbar { flex-direction: column; align-items: stretch; }
  .toolbar select { width: 100%; }
  .dir-grid { grid-template-columns: 1fr; }
  .accordion__btn { padding: 16px 18px; font-size: .99rem; }
  .accordion__panel { padding: 0 18px 18px; }
  .res-list li { flex-direction: column; align-items: flex-start; }
  .res-list .res-title { padding-left: 4px; }
  .btn { width: auto; }
  .to-top { right: 14px; bottom: 14px; width: 46px; height: 46px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- ≤380px : small phones ---------- */
@media (max-width: 380px) {
  body { font-size: .98rem; }
  .brand img { height: 36px; }
  .brand-text b { font-size: .95rem; }
  .hero h1 { font-size: 1.9rem; }
  .hero__media { min-height: 230px; }
}

/* ---------- ≥1600px : large desktops ---------- */
@media (min-width: 1600px) {
  :root { --wrap: 1280px; }
  .hero__media { min-height: 520px; }
}

/* ---------- print ---------- */
@media print {
  .header, .utility, .mobile-panel, .to-top, .newsletter, .brand-strip, .footer__funders { display: none !important; }
  body { color: #000; }
  a { color: #000; text-decoration: underline; }
}
