@media (min-width: 640px) {
  .container { width: min(100% - 3rem, var(--content-width)); }
  .hero { padding: 8rem 0 8.5rem; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .product-features { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
  .quote-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-list { grid-template-columns: repeat(2, 1fr); }
  .contact-content { display: grid; grid-template-columns: 1.4fr 0.8fr; gap: 3rem; align-items: end; }
  .contact-actions { margin-top: 0; }
}

@media (min-width: 760px) {
  .demo-preview-content { grid-template-columns: minmax(0, 1.1fr) minmax(14.5rem, 0.9fr); align-items: start; padding: 2rem; }
}

@media (min-width: 900px) {
  .software-product-card { width: 74%; }
  .menu-toggle { display: none; }
  .primary-navigation { display: flex; flex-basis: auto; align-items: center; gap: 1.4rem; padding: 0; }
  .primary-navigation > a:not(.button) { padding: 0; }
  .primary-navigation > a:not(.button):hover, .primary-navigation > a:not(.button):focus-visible { color: var(--color-accent); }
  .services-grid, .demo-grid { grid-template-columns: repeat(3, 1fr); }
  .steps-list { grid-template-columns: repeat(5, 1fr); gap: 0.75rem; }
  .steps-list li { min-height: 14rem; padding: 3.9rem 1rem 1rem; border-top: 2px solid var(--color-accent); border-left: 0; }
  .steps-list span { top: 1rem; left: 1rem; }
  .feature-list { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 479px) {
  .hero { padding: 5.25rem 0 5.75rem; }
  .hero::after { right: 1rem; width: 7rem; }
  .button-group { display: grid; grid-template-columns: 1fr; }
  .button-group .button { width: 100%; }
}

@media (max-width: 639px) {
  .demo-link { min-height: 2.75rem; padding-block: 0.5rem; }
  .quote-form .radio-group label { min-height: 2.75rem; padding-inline: 0.5rem; }
}

@media (max-width: 359px) {
  .visual-grid, .visual-detail-row { grid-template-columns: 1fr; }
  .visual-tile:last-child { grid-column: auto; }
}
