/* Small-screen overrides only; desktop styles remain in their original files. */
@media (max-width: 1180px) {
  .nav-links { display: none; }
  .mobile-toggle { display: flex; }
  .mobile-drawer {
    top: var(--mobile-menu-top, var(--nav-height));
    height: calc(100vh - var(--mobile-menu-top, var(--nav-height)));
    height: calc(100dvh - var(--mobile-menu-top, var(--nav-height)));
    visibility: hidden;
    gap: 1.5rem;
  }
  .mobile-drawer.open { visibility: visible; }
}

@media (max-width: 768px) {
  .container { padding-left: 1rem; padding-right: 1rem; }
  main, main * { min-width: 0; }
  main, .site-footer, .mobile-drawer { overflow-wrap: anywhere; }
  .simulator-grid, .contact-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .hero-split-grid, .outcomes-grid { grid-template-columns: minmax(0, 1fr); }
  .brand-link { min-width: 0; gap: 0.5rem; flex-shrink: 1; }
  .nav-actions { flex-shrink: 0; margin-left: auto; }
  .brand-text { min-width: 0; white-space: normal; }
  .brand-name { font-size: 0.85rem; }
  .brand-tagline-visible { font-size: 0.6rem; white-space: normal; letter-spacing: 0.02em; }
  .mobile-toggle { flex-shrink: 0; width: 44px; height: 44px; }
  .brand-motto-highlight { font-size: 0.7rem; text-align: center; }
  .top-announcement-content { justify-content: center; padding: 0; }
  .section-hero { padding-top: 2.5rem; }
  .hallmark-banner { font-size: 0.75rem; border-radius: var(--radius-md); }
  .btn { white-space: normal; text-align: center; min-height: 44px; }
  .btn svg, .mobile-nav-link > span { flex-shrink: 0; }
  .terminal-header, .terminal-footer, .formula-row, .quick-spec-item {
    flex-wrap: wrap; gap: 0.75rem;
  }
  .workshop-breadcrumbs { flex-wrap: wrap; }
  .form-input, .form-select, .form-textarea { font-size: 16px; }
  .modal-backdrop { padding: 0.75rem; }
  .modal-dialog { max-height: calc(100dvh - 1.5rem); }
  .modal-header, .modal-body { padding: 1.25rem; }
  .modal-close-btn { flex-shrink: 0; width: 44px; height: 44px; }
  .workshop-subnav a, .act-btn, .t-run-btn, .t-reset-btn { min-height: 44px; }
  .req-block { border-right: none; }
  .req-block:nth-last-child(2) { border-bottom: 1px solid var(--border-subtle); }
}

@media (max-width: 600px) {
  .nav-actions .open-register-modal { display: none; }
  .nav-container { gap: 0.5rem; }
}

@media (max-width: 480px) {
  .workshop-summary-card, .instructor-full-card, .req-block,
  .org-profile-card, .math-playground-card, .outcome-card,
  .contact-grid > *, .simulator-card, .workshop-box {
    padding: 1.25rem !important;
  }
  .instructor-full-header { align-items: flex-start; flex-wrap: wrap; }
  .terminal-actions { flex-wrap: wrap; }
  .hero-main-column .btn-lg { width: 100%; padding-left: 1rem; padding-right: 1rem; }
  .contact-grid > div > div { flex-wrap: wrap; }
}
