/* ---------- TABLET / NARROW DESKTOP ---------- */
@media (min-width: 821px) and (max-width: 1500px) {
  .hero-photo {
    object-position: 50% top;
  }
}

/* ---------- TABLET AND BELOW ---------- */
@media (max-width: 820px) {
  .services-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .about-photo { max-width: 280px; aspect-ratio: 4/5; }
  .hero-creds { display: none; }
  .tm-row { flex-wrap: wrap; gap: 16px; }
  .tm-arrow { display: none; }
  .tm-step { flex-basis: calc(33% - 12px); }
  .hero-photo { object-position: 59% top; }
}

/* ---------- SMALL CHAIN LAYOUT ---------- */
@media (max-width: 600px) {
  .chain-row {
    flex-direction: column;
    gap: 0;
    align-items: center;
  }
  .chain-join {
    width: 1px;
    height: 24px;
    margin: 4px 0;
  }
  .chain-join::after {
    width: 1px;
    height: 100%;
  }
  .chain-link { margin: 12px 0; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 480px) {
  .tm-caption { font-size: 15px; }
  .process-steps { grid-template-columns: 1fr; }
  .tm-step { flex-basis: calc(50% - 12px); }
  nav .nav-cta { display: none; }
  .hero { min-height: 100svh; }
  .hero-content { padding-bottom: 5vh; padding-top: 8vh; }
  .hero-photo { object-position: 60% top; }
}

/* ---------- IPHONE SE ---------- */
@media (max-width: 380px) {
  .hero {
    padding-top: 260px;
  }
}
