/* Mobile & tablet layout overrides (inline styles kept for desktop) */

@media (max-width: 900px) {
  .site-nav-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .site-nav-links {
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
  }

  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .stack-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .case-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .case-grid > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .case-grid article {
    width: 100% !important;
    max-width: 100% !important;
  }

  .case-toc {
    position: static !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 18px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .case-toc::-webkit-scrollbar {
    display: none;
  }

  .case-toc > * {
    flex: 0 0 auto !important;
  }

  [data-card] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px 20px !important;
  }

  .decision-row,
  .table-row {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .site-header {
    padding-top: 48px !important;
    padding-bottom: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .site-main {
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .site-footer {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .hero-title {
    font-size: 2.75rem !important;
    line-height: 1.08 !important;
  }

  .case-title {
    font-size: 2.125rem !important;
    line-height: 1.18 !important;
    padding-bottom: 0.08em !important;
    overflow-wrap: break-word !important;
  }

  .work-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }

  pre,
  [style*="white-space:pre"] {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 480px) {
  .hero-title {
    font-size: 2.25rem !important;
  }

  .case-title {
    font-size: 1.8rem !important;
    line-height: 1.2 !important;
  }

  .site-nav-links {
    font-size: 11px !important;
  }

  .hero-cta-row a {
    flex: 1 1 100%;
    justify-content: center;
  }
}
