/* ==========================================================================
   SISTAEYES RESPONSIVE DESIGN SYSTEM
   Breakpoints: 320px, 375px, 414px, 768px, 1024px, 1280px, 1440px, 1920px
   ========================================================================== */

@media (max-width: 1024px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .investigator-body {
    grid-template-columns: 1fr;
  }
  .investigator-console {
    border-right: none;
    border-bottom: 1px solid #334155;
  }
  .sandbox-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
  }
  .usecase-grid {
    grid-template-columns: 1fr 1fr;
  }
  .loop-steps-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .trajectory-stepper {
    grid-template-columns: repeat(3, 1fr);
  }
  .graph-explorer-box {
    grid-template-columns: 1fr;
  }
  .graph-sidebar {
    border-left: none;
    border-top: 1px solid var(--border-subtle);
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 70px;
  }
  .main-nav {
    display: none;
  }
  .mobile-nav-toggle {
    display: block;
  }
  .hero-section {
    padding: 3.5rem 0 2.5rem;
  }
  .paradigm-grid {
    grid-template-columns: 1fr;
  }
  .counterfactual-results-grid {
    grid-template-columns: 1fr;
  }
  .loop-detail-pane {
    grid-template-columns: 1fr;
  }
  .usecase-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .loop-steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .trajectory-stepper {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-live-telemetry {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .trajectory-stepper {
    grid-template-columns: 1fr;
  }
  .loop-steps-grid {
    grid-template-columns: 1fr;
  }
  .action-selector-bar {
    flex-direction: column;
  }
}

/* Mobile Drawer Overlay */
.mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  z-index: 2000;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.mobile-drawer.open {
  display: block;
  opacity: 1;
}
.mobile-drawer-content {
  position: absolute;
  top: 0;
  right: 0;
  width: 85%;
  max-width: 340px;
  height: 100%;
  background: #FFFFFF;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  box-shadow: -4px 0 20px rgba(0,0,0,0.15);
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.mobile-drawer.open .mobile-drawer-content {
  transform: translateX(0);
}
.mobile-drawer-close {
  align-self: flex-end;
  background: transparent;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--text-main);
}
.mobile-nav-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.mobile-nav-links a {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-main);
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
