/* Mobile-only natural justification.
   Long-form prose and method summaries use browser-native justification.
   Final lines remain left aligned and compact content is never space-between stretched.
   Desktop is intentionally untouched. */
@media (max-width: 820px) {
  .hero-copy,
  .proof-row p,
  .section-head > p,
  .system-body > p,
  .feature-project p,
  .lab-row > p,
  .oss-entry p,
  .timeline-row > p,
  .depth p,
  .contact p,
  .case-title .lede,
  .case-head > p,
  .record-row p,
  .callout,
  .system-body .methods {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: auto !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .system-body .methods {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    text-wrap: pretty !important;
    white-space: normal !important;
  }

  /* Compact labels, headings, metrics and metadata stay naturally aligned. */
  .tech,
  .lab-row .stack,
  .oss-entry .domain,
  .meta-row dd,
  .skill-lines,
  .evidence-line,
  .contact-links,
  .hero h1,
  .section-head h2,
  .contact h2,
  .case-title h1,
  .case-head h2,
  .system-name h3,
  .oss-entry h3,
  .timeline-row h3,
  .lab-row h3,
  .depth h3 {
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-spacing: normal !important;
  }
}

@media (max-width: 380px) {
  .hero-copy,
  .proof-row p,
  .section-head > p,
  .system-body > p,
  .feature-project p,
  .lab-row > p,
  .oss-entry p,
  .timeline-row > p,
  .depth p,
  .contact p,
  .system-body .methods {
    text-align: justify !important;
    text-align-last: left !important;
    text-justify: auto !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    overflow-wrap: break-word !important;
  }
}
