/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .hero-content { grid-template-columns: 1fr; gap: 80px; padding-top: 140px; }
  .hero-mark { max-width: 340px; margin: 0 auto; }
  .button-spot-inner { grid-template-columns: 1fr; gap: 60px; }
  .origin-inner { grid-template-columns: 1fr; gap: 80px; }
  .modules-grid { grid-template-columns: 1fr 1fr; }
  .module-card.large { grid-row: span 1; min-height: 280px; }
  .standards-grid { grid-template-columns: repeat(2, 1fr); }
  .promise-grid { grid-template-columns: 1fr; gap: 40px; }
}
/* Clear the fixed nav + hamburger so the top-right corner doesn't collide */
@media (max-width: 960px) {
  .hero .bracket.tr { top: 96px; right: 24px; }
}

@media (max-width: 640px) {
  .section, .platform, .button-spot, .origin, .standards, .philosophy, .values, .cta-strip, .contact { padding-left: 22px; padding-right: 22px; }
  .hero-content { padding: 130px 22px 100px; }
  .hero .bracket { width: 50px; height: 50px; }
  .hero .bracket.tr { top: 88px; right: 18px; }
  .hero .bracket.bl { bottom: 20px; left: 20px; }
  .modules-grid { grid-template-columns: 1fr; }
  .standards-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 16px; text-align: center; }
  .section-head { flex-wrap: wrap; gap: 12px; }
  .section-label { margin-left: 0; }
  .hero-cta-group { flex-direction: column; align-items: flex-start; gap: 16px; }
  .btn-primary { padding: 16px 28px; }
  .cta-strip .cta-row { flex-direction: column; gap: 24px; }
  .philosophy::before { font-size: 180px; left: 20px; top: 30px; }
  .module-card.large::after { width: 50px; height: 50px; top: 32px; right: 28px; }
  .module-card.large { padding: 28px 22px; min-height: 240px; }
  .module-card { padding: 24px 22px; }
  .module-card .mod-name { font-size: 24px; }
  .module-card.large .mod-name { font-size: 30px; }
  .demo-action { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 28px; }
  .demo-action button { padding: 14px 16px; width: 100%; }
}
