/* ============================================================
   Mobile compaction for the long-form legal / policy pages that
   share the subpage.css skeleton:
     terms.html, privacy.html, student-conduct-code.html

   These are the longest pages on the site after the homepage
   (privacy measured 7.2 screens, terms 4.1, conduct 5.0 at 390px)
   and they were still rendering desktop section padding (48px tops)
   with a 439-473px hero above the first line of text.

   Hero values are deliberately identical to contact-mobile-compact.css
   and courses-mobile-compact.css so all subpage heroes stay in lockstep.
   Desktop unchanged — all rules are @media (max-width: 768px), scoped
   to body.page-legal.
   ============================================================ */

@media (max-width: 768px) {

  /* ---------- Hero ---------- */

  body.page-legal .hero--inner.hero--photo {
    margin-top: 72px;
    padding: 52px 18px 40px;
  }

  body.page-legal .hero--inner .eyebrow {
    font-size: 0.68rem;
    margin-bottom: 8px;
  }

  body.page-legal .hero--inner h1 {
    font-size: clamp(1.45rem, 6.2vw, 1.85rem);
    margin-bottom: 10px;
    line-height: 1.18;
  }

  body.page-legal .hero--inner .lead {
    font-size: 0.92rem;
    line-height: 1.45;
    max-width: 34ch;
    margin-inline: auto;
  }

  body.page-legal .hero--inner .hero-actions {
    margin-top: 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  body.page-legal .hero--inner .hero-actions .btn {
    width: 100%;
    max-width: none;
    min-height: 44px;
    justify-content: center;
  }

  /* ---------- Body ---------- */

  body.page-legal .content-section {
    padding-top: 24px;
    padding-bottom: 36px;
  }

  body.page-legal .crumb {
    font-size: 0.78rem;
    margin-bottom: 14px;
  }

  body.page-legal .legal-meta {
    font-size: 0.82rem;
    margin-bottom: 14px;
  }

  body.page-legal .legal-note {
    padding: 14px 16px;
    margin: 14px 0 18px;
  }

  /* Long statutory text: keep it comfortably readable, just less airy. */
  body.page-legal .prose h2 {
    font-size: 1.1rem;
    margin: 20px 0 8px;
  }

  body.page-legal .prose h3 {
    font-size: 1rem;
    margin: 16px 0 7px;
  }

  body.page-legal .prose p,
  body.page-legal .prose li {
    font-size: 0.92rem;
    line-height: 1.6;
  }

  body.page-legal .prose p {
    margin-bottom: 11px;
  }

  body.page-legal .prose ul {
    margin: 0 0 11px 1.1em;
  }

  body.page-legal .prose li {
    margin-bottom: 6px;
  }

  body.page-legal .stack-sm > * + * {
    margin-top: 11px;
  }

  /* ---------- Closing CTA ---------- */

  body.page-legal .cta-band {
    padding: 20px 16px;
    margin-top: 22px;
  }

  body.page-legal .cta-band h2 {
    font-size: 1.12rem;
  }

  body.page-legal .cta-band p {
    font-size: 0.88rem;
    line-height: 1.45;
  }

  body.page-legal .page-actions {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 14px;
  }

  body.page-legal .page-actions .btn {
    width: 100%;
    min-height: 44px;
    justify-content: center;
  }
}
