@media (max-width: 1024px) {
  #hero .grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .hero__media img {
    max-width: 460px;
  }
}

@media (max-width: 900px) {
  .header-inner {
    flex-wrap: wrap;
    gap: .75rem;
  }
  .site-nav {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem 1rem;
  }
  .site-nav a.btn {
    margin-left: auto;
  }
   footer .foot-top {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  footer .btn.btn-invert {
    width: 100%;
    max-width: 22rem;
    justify-self: start;
  }
  footer .foot-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 2rem;
  }
}

/* <= 900px: single-column hero, centered media */
@media (max-width: 900px) {
  #hero .grid {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .hero__media {
    justify-content: center;
    margin-top: .5rem;
  }
  .hero__media img {
    max-width: 420px;
  }
}

/* <= 600px: tighten hero spacing + button reachability */
@media (max-width: 600px) {
  .hero__cta .btn {
    width: 100%;
    max-width: 22rem;
  }
}

@media (max-width: 600px) {
  .site-nav {
    justify-content: center;
  }
  .site-nav a.btn {
    width: 100%;
    max-width: 22rem;
    margin: .5rem auto 0;
  }
}

/* ===== Audience Mobile Stack ===== */
@media (max-width: 900px) {
  /* stack headline and paragraph */
  #audience .container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  #audience .container > p {
    grid-column: 1;
  }

  /* stack tiles vertically */
  .audience-segments {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    margin-top: 1.5rem;
  }

  .segment {
    border-left: 0; /* remove vertical divider */
    border-top: 1px solid color-mix(in oklab, var(--ink), transparent 70%);
    padding-top: 1.25rem;
  }

  .audience-segments .segment:first-child {
    border-top: 0;  /* remove border above first tile */
    padding-top: 0;
  }

  /* prevent sideways scroll caused by 100dvw breakout */
  html, body {
    overflow-x: hidden;
  }
}

/* <= 900px: make each .card single-column, tighten gaps */
@media (max-width: 900px) {
  .card {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 2rem;
  }
  .card .media img {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }
}

/* <= 600px: slightly smaller padding */
@media (max-width: 600px) {
  .card {
    padding: 1.5rem;
  }
}