/* =============================================================================
 *  RESPONSIVE — breakpoints, last in the cascade so it can override.
 * ===========================================================================*/

/* ---------- large tablet / small desktop ---------- */
@media (max-width: 1024px) {
  .features__grid { grid-template-columns: repeat(2, 1fr); }
  .download__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}

/* ---------- tablet ---------- */
@media (max-width: 860px) {
  .about__grid { grid-template-columns: 1fr; }
  .about__media { max-width: 560px; margin-inline: auto; }
  .faq__layout { grid-template-columns: 1fr; }
  .faq__head { position: static; text-align: center; }
  .faq__head .section__title { text-align: center; }

  /* mobile nav drawer */
  .nav__links {
    position: fixed; inset: var(--nav-h) 0 auto 0;
    flex-direction: column; align-items: stretch; gap: 0;
    padding: 1rem var(--gutter) 2rem;
    background: rgba(10,15,12,.97);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--c-line);
    transform: translateY(-12px); opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity var(--t-med), transform var(--t-med), visibility var(--t-med);
  }
  .nav__links.is-open { transform: none; opacity: 1; visibility: visible; pointer-events: auto; }
  .nav__links a { padding: 1rem .5rem; font-size: 1.1rem; border-bottom: 1px solid var(--c-line); }
  .nav__links a::after { display: none; }
  .nav__burger { display: flex; }
  .nav__cta span { display: none; }
  .nav__cta { padding: .6rem; }
}

/* ---------- mobile ---------- */
@media (max-width: 620px) {
  :root { --nav-h: 64px; }
  .features__grid { grid-template-columns: 1fr; }
  .download__grid { grid-template-columns: 1fr; }
  .gallery__grid { grid-template-columns: repeat(2, 1fr); }
  .gallery__item--wide { grid-column: span 2; }
  .reqs { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__bottom { flex-direction: column; gap: .4rem; text-align: center; }

  .hero__meta { gap: 1.5rem; }
  .hero__meta strong { font-size: 1.5rem; }
  .hero__cta { flex-direction: column; align-items: stretch; }
  .hero__cta .btn { width: 100%; }
  .showcase__scrim { background: linear-gradient(180deg, rgba(10,15,12,.5), rgba(10,15,12,.85)); }

  .download__hero { flex-direction: column; align-items: flex-start; }
  .download__hero-btn { width: 100%; }
  .cta__actions { flex-direction: column; align-items: stretch; }
  .cta__actions .btn { width: 100%; }
  .lightbox__nav { width: 44px; height: 44px; }
}

/* ---------- short / landscape ---------- */
@media (max-height: 560px) and (orientation: landscape) {
  .hero { min-height: 620px; }
  .hero__scroll { display: none; }
}

/* coarse pointers: disable hover-only tilt transforms cleanly */
@media (hover: none) {
  .feature-card:hover, .download-card:hover { transform: none; }
}
