@media (max-width: 640px) {
  .social-work-app { min-width: 0; }
  .sw-cover, .sw-units, .sw-tools, .sw-home-footer { width: min(100% - 20px, 1180px); }
  .sw-cover { min-height: auto; margin-top: 10px; margin-bottom: 48px; padding: 46px 24px 26px; }
  .sw-cover-border { inset: 12px; }
  .sw-cover-border::after { inset: 5px; }
  .sw-corner { width: 26px; height: 26px; }
  .sw-corner-tl, .sw-corner-tr { top: 7px; }
  .sw-corner-bl, .sw-corner-br { bottom: 7px; }
  .sw-corner-tl, .sw-corner-bl { left: 7px; }
  .sw-corner-tr, .sw-corner-br { right: 7px; }
  .sw-badge { font-size: .62rem; letter-spacing: .13em; }
  .sw-subject-code { margin-top: 14px; font-size: .68rem; }
  .sw-cover h1 { font-size: clamp(2.45rem, 13vw, 4.1rem); line-height: .94; }
  .sw-subtitle { margin-top: 18px; font-size: .98rem; }
  .sw-emblem { width: 120px; height: 120px; margin: 32px auto 24px; }
  .sw-description { font-size: .98rem; line-height: 1.65; }
  .sw-primary-btn { width: min(100%, 300px); min-height: 52px; padding-inline: 20px; }
  .sw-stats { width: 100%; gap: 8px; margin-top: 32px; }
  .sw-stat { flex: 1; min-width: 0; }
  .sw-stat strong { font-size: 1.2rem; }
  .sw-stat span { font-size: .55rem; letter-spacing: .08em; }
  .sw-cover-footer { flex-direction: column; align-items: center; padding-top: 36px; text-align: center; font-size: .55rem; }
  .sw-section-heading { margin-bottom: 22px; }
  .sw-section-heading h2 { font-size: 2.15rem; }
  .sw-section-heading p { font-size: .94rem; }
  .sw-unit-grid { gap: 12px; }
  .sw-unit-card { min-height: 158px; padding: 22px 18px; }
  .sw-unit-title { font-size: 1.06rem; }
  .sw-tool-grid { grid-template-columns: 1fr; gap: 10px; }
  .sw-tool-card { min-height: 104px; }
  .sw-progress { width: min(100% - 20px, 900px); padding: 22px 18px; margin-bottom: 48px; }
  .sw-progress-head, .sw-progress-actions { flex-direction: column; align-items: stretch; }
  .sw-progress-head p { margin-top: 5px; }
  .sw-resume-btn { width: 100%; }
  .sw-home-footer { flex-direction: column; text-align: center; padding-bottom: 28px; }
  .sw-home-footer nav { flex-wrap: wrap; justify-content: center; gap: 14px 20px; }
}
@media (max-width: 380px) {
  .sw-cover { padding-inline: 20px; }
  .sw-cover h1 { font-size: 2.3rem; }
  .sw-emblem { width: 108px; height: 108px; }
  .sw-description { font-size: .92rem; }
  .sw-stats { gap: 4px; }
  .sw-stat span { font-size: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .sw-primary-btn, .sw-unit-card, .sw-progress-bar { transition: none; } }
