/* GEMT responsive breakpoints - single source of truth */

/* Large tablet / small desktop */
@media (max-width: 900px) {
  :root {
    --gutter: 20px;
    --container-pad: 24px;
  }

  .why-grid,
  .card-grid,
  .blog-grid,
  .machine-grid,
  .values-list,
  .expect-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .teaser-grid,
  .stone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-detail-grid,
  .contact-grid,
  .mv-split {
    grid-template-columns: 1fr;
  }

  /* Keep hero two-column until 900px (handled in components) */


  .card.wide { grid-column: span 2; }
}

/* Phone and small tablet */
@media (max-width: 640px) {
  :root {
    --gutter: 16px;
    --container-pad: 16px;
    --header-h: 64px;
  }

  .why-grid,
  .card-grid,
  .blog-grid,
  .machine-grid,
  .teaser-grid,
  .stone-grid,
  .values-list,
  .expect-list,
  .footer-grid,
  .contact-grid,
  .mv-split,
  .form-row,
  .work-perks,
  .product-lines,
  .service-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card.wide { grid-column: auto; }

  section { padding: 48px 0; }
  .section-tight { padding: 36px 0; }
  .section-head { margin-bottom: 24px; max-width: 100%; }

  .hero { padding: 48px 0 56px; }
  .page-hero { padding: 40px 0 36px; }

  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.75rem, 7vw, 2.25rem);
  }

  h1, h2, h3, p {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-actions .btn { width: 100%; }

  .cta-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  :root { --container-pad: 14px; }
}
