/* ==========================================================================
   HOMEFRAME — Responsive layer
   ========================================================================== */

@media (max-width: 1080px) {
  .solutions-grid { grid-template-columns: repeat(2, 1fr); }
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-row { grid-template-columns: repeat(2, 1fr); row-gap: 2rem; }
  .case-card { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid .footer-col:last-child { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .pricing-teaser { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .solutions-grid { grid-template-columns: 1fr; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .case-card { padding: 2rem; border-radius: var(--radius-m); }
}

@media (max-width: 1080px) {
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .resource-grid { grid-template-columns: repeat(2, 1fr); }
  .process-row { grid-template-columns: repeat(2, 1fr); }
  .solution-detail { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .newsletter-box { grid-template-columns: 1fr; text-align: center; }
  .newsletter-box form { justify-content: center; }
}

@media (max-width: 640px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .resource-grid { grid-template-columns: 1fr; }
  .process-row { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .newsletter-box form { flex-direction: column; }
  .mark-grid { grid-template-columns: repeat(2, 1fr); }
  .page-hero h1 { font-size: var(--fs-40); }
}

/* Mobile nav panel (toggled via js/navigation.js) */
.nav-links.is-open {
  display: flex;
  position: fixed;
  inset: 0;
  top: 0;
  background: var(--midnight);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  z-index: 90;
}
.nav-links.is-open a { font-size: var(--fs-28); font-family: var(--font-display); }

/* ---------- Extra-small phones (≤480px) ---------- */
@media (max-width: 480px) {
  .stat-row { grid-template-columns: 1fr; row-gap: 1.75rem; }
  .team-grid { grid-template-columns: 1fr; }
  .mark-grid { grid-template-columns: repeat(2, 1fr); }
  .page-hero h1 { font-size: var(--fs-40); }
  .btn { padding: 0.9rem 1.4rem; }
  h1, h2, h3 { overflow-wrap: break-word; word-break: break-word; }
}
