/* ==========================================================================
   RESPONSIVE OVERRIDES
   Fluid type/spacing already handles most scaling via clamp();
   this file fine-tunes layout at specific breakpoints.
   ========================================================================== */

/* ---- 1920px+ : constrain line-length on ultra-wide ---- */
@media (min-width: 1600px) {
  .hero__lead { max-width: 50ch; }
}

/* ---- 1280px : large desktop ---- */
@media (max-width: 1280px) {
  .why-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ---- 1024px : small desktop / large tablet ---- */
@media (max-width: 1024px) {
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__cta-inner { gap: var(--space-sm); }
  .footer__cta-text h3 { font-size: 1.15rem; }
}

/* Tablet portrait */
@media (max-width: 768px) {
  .footer__cta-inner {
    flex-direction: column;
    text-align: center;
  }
  .footer__cta-btn { width: 100%; max-width: 280px; text-align: center; }
  .footer__grid { gap: var(--space-lg); }
}

/* Large phone */
@media (max-width: 480px) {
  .footer__grid { grid-template-columns: 1fr; }
  .footer__trust-row { justify-content: flex-start; }
  .footer__trust-item { padding: 0 var(--space-sm); }
  .footer__newsletter-form { flex-direction: column; }
  .footer__newsletter-btn { width: 100%; text-align: center; }
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.6rem;
  }
  .footer__bottom-links { gap: var(--space-sm); }
  .back-to-top {
    bottom: 1.2rem;
    right: 1.2rem;
    width: 42px;
    height: 42px;
  }
}
/* ---- 320px : smallest supported phone ---- */
@media (max-width: 340px) {
  :root { --container-pad: 1rem; }
  .brand span.brand__text-sub { display: none; }
  .hero__trust { flex-direction: column; gap: var(--space-sm); }
}

/* ---- Landscape phones with short viewport height ---- */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: auto; padding-block: 7rem 3rem; }
  .mobile-menu__list { gap: var(--space-xs); }
  .mobile-menu__list a { font-size: 1.4rem; }
}
