/* ELVARIS SOFTWARE LTD — responsive.css
   Structural collapses. Fluid sizing is handled by clamp()/minmax() elsewhere. */

@media (max-width: 1180px) {
  .primary-nav__list { gap: 0.85rem; }
  .primary-nav__list a { font-size: 0.875rem; }
}

@media (max-width: 1080px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scenario-grid,
  .related-grid,
  .principles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Nav switches to full-screen menu */
@media (max-width: 1000px) {
  .primary-nav__list,
  .header-actions .btn-primary { display: none; }
  .menu-toggle { display: inline-flex; }
  .two-col,
  .dual-activity { grid-template-columns: minmax(0, 1fr); }
  .limits-list { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .scenario-grid,
  .related-grid,
  .principles-grid,
  .fact-strip { grid-template-columns: minmax(0, 1fr); }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .grid { --cols: 1 !important; }
  .section-index { display: none; }
  .cut-top { clip-path: none; margin-top: 0; padding-top: clamp(3.75rem, 8.5vw, 7.5rem); }
}

@media (max-width: 560px) {
  .btn { width: 100%; }
  .cta-row .btn { width: auto; flex: 1 1 auto; min-width: 150px; }
  .service-card__actions .btn { width: auto; flex: 1 1 auto; }
  .mobile-menu__domains { grid-template-columns: minmax(0, 1fr); }
  .hero-cinematic { min-height: 0; padding-block: 0; }
  .hero-cinematic__inner { padding-block: 8rem 3rem; }
}

/* Very narrow devices (320px) */
@media (max-width: 380px) {
  :root { --header-h: 68px; }
  .logo .wordmark { font-size: 1.08rem; }
  .logo svg { width: 26px; height: 26px; }
  .menu-toggle { padding: 0.5em 0.8em; font-size: 0.8rem; }
  .service-meta-rail { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 1001px) {
  .menu-toggle { display: none; }
}

/* Touch targets: small buttons must still meet the 44px minimum on
   touch-primary devices, where btn-sm would otherwise render at 40px. */
@media (pointer: coarse) {
  .btn-sm { min-height: 44px; padding-block: 0.7em; }
  .svc-card__view { min-height: 44px; align-items: center; }
}
@media (max-width: 900px) {
  .svc-card__actions .btn-sm { min-height: 46px; }
  .svc-card__actions { gap: 0.85rem; }
}
