/* Member mobile density. Reading documents and editable fields keep their own scale. */
@media screen and (max-width: 600px) {
  body:is(.logged-in,.guest-workspace) > .topbar .law-united-wordmark { font-size: 22px !important; }
  body:is(.logged-in,.guest-workspace) .app-shell { padding-top: 12px !important; }
  body:is(.logged-in,.guest-workspace) .welcome { padding: 16px !important; margin-bottom: 10px !important; }
  body:is(.logged-in,.guest-workspace) .welcome h1 { font-size: 22px !important; line-height: 1.2; }
  body:is(.logged-in,.guest-workspace) .welcome p { line-height: 1.45; }
  body:is(.logged-in,.guest-workspace) .feed-heading { gap: 8px; margin-block: 16px 10px; }
  body:is(.logged-in,.guest-workspace) .feed-heading h2 { font-size: 20px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .feed-tabs button { padding-inline: 11px !important; }

  body:is(.logged-in,.guest-workspace) .post-head { padding: 12px 14px 10px; }
  body:is(.logged-in,.guest-workspace) .post-author strong { font-size: 14px; }
  body:is(.logged-in,.guest-workspace) .post-author small,
  body:is(.logged-in,.guest-workspace) .post-author > span { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .post-copy,
  body:is(.logged-in,.guest-workspace) .post.card:has(.poll-results) .post-copy { font-size: 14px; line-height: 1.6; }
  body:is(.logged-in,.guest-workspace) .post > .post-copy { margin-block: 12px 14px; padding-inline: 14px; }
  body:is(.logged-in,.guest-workspace) .post-head + .post-topic { margin: 10px 14px 0; }
  body:is(.logged-in,.guest-workspace) .post-editorial-preview { margin: 12px 14px 8px; padding: 16px; }
  body:is(.logged-in,.guest-workspace) .post-editorial-preview h3 { font-size: 20px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .post-meta { margin: 6px 14px 0; padding-block: 9px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .comment-body { font-size: 14px; line-height: 1.55; }

  body:is(.logged-in,.guest-workspace) .drawer-head { min-height: 60px !important; padding: 8px 14px !important; }
  body:is(.logged-in,.guest-workspace) .drawer-head h2 { font-size: 20px !important; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .mobile-more-heading { padding-bottom: 4px; }
  body:is(.logged-in,.guest-workspace) .mobile-more-heading strong { font-size: 21px; }
  body:is(.logged-in,.guest-workspace) .mobile-more-heading small { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) > .mobile-more-panel :is(button[role="menuitem"], a[role="menuitem"]) { min-height: 56px; }

  body:is(.logged-in,.guest-workspace) :is(.jobs-hero, .events-hero, .firms-hero, .colleges-hero) { padding: 18px 16px; }
  body:is(.logged-in,.guest-workspace) :is(.jobs-hero, .events-hero, .firms-hero, .colleges-hero) h1 { font-size: 22px !important; line-height: 1.2 !important; letter-spacing: -.3px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) > label { margin-top: 14px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-directory-head, .colleges-directory-head) { margin-top: 18px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-directory-head, .colleges-directory-head) h2 { font-size: 21px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card, .college-card) h3 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace).firm-detail-view .firm-profile-name h1,
  body:is(.logged-in,.guest-workspace) .college-profile-identity h1 { font-size: 22px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) :is(.firm-panel, .college-panel) h2 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) #profilePage .name-row h1 { font-size: 22px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-card { padding-block: 16px; }
  body:is(.logged-in,.guest-workspace) #profilePage .section-heading { margin-bottom: 10px; }
  body:is(.logged-in,.guest-workspace) #profilePage .timeline-item { padding-bottom: 16px; }

  /* Library navigation only; the judgment reader remains a reading document. */
  body:is(.logged-in,.guest-workspace) .judgment-app-hero { padding: 20px 16px !important; }
  body:is(.logged-in,.guest-workspace) .judgment-app-hero .judgment-hero-copy h1 { margin-block: 8px 12px; font-size: 24px !important; line-height: 1.15; letter-spacing: -.4px; }
  body:is(.logged-in,.guest-workspace) .judgment-app-hero .judgment-hero-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .judgment-app-hero .judgment-desk-mark { margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) .judgment-section-head h2 { font-size: 21px; }
  body:is(.logged-in,.guest-workspace) .judgment-library-empty { padding: 30px 18px; }
  body:is(.logged-in,.guest-workspace) .judgment-library-empty h3 { font-size: 21px; }

  /* Résumé controls only: never match .resume-document or any printed page. */
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-head { padding: max(8px, env(safe-area-inset-top)) 14px 8px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-heading h1 { font-size: 22px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-workflow-nav button { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-readiness-screen { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-readiness-hero { padding: 16px; margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-readiness-hero h2 { font-size: 23px; line-height: 1.2; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-readiness-hero p:last-child { font-size: 13px; line-height: 1.45; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-app-identity { margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-app-identity strong { font-size: 16px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-missing-card h3 { font-size: 19px; }
  body:is(.logged-in,.guest-workspace) .resume-app .template-panel-title { padding: 12px 14px 10px; }
  body:is(.logged-in,.guest-workspace) .resume-app .template-panel-title h2 { font-size: 22px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-details-options { margin-top: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-details-options > summary { min-height: 64px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer { min-height: 70px; padding: 10px 14px max(10px, env(safe-area-inset-bottom)); }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer button { padding-block: 10px; }
}

/* A single compact scale also covers larger phones and portrait tablets.
   Scope each component instead of scaling the page: text zoom, form fields,
   touch targets and document/print measurements must remain independent. */
@media screen and (max-width: 768px) {
  body:is(.logged-in,.guest-workspace) {
    --lu-app-header: calc(56px + env(safe-area-inset-top, 0px));
    --lu-app-dock: calc(60px + env(safe-area-inset-bottom, 0px));
    font-size: 14px;
  }
  body:is(.logged-in,.guest-workspace) > .topbar { padding-top: calc(6px + env(safe-area-inset-top, 0px)) !important; padding-bottom: 6px !important; }
  body:is(.logged-in,.guest-workspace) > .topbar .law-united-wordmark { font-size: 21px !important; }
  body:is(.logged-in,.guest-workspace) > .mobile-nav { padding-top: 4px !important; padding-bottom: calc(4px + env(safe-area-inset-bottom, 0px)) !important; }
  body:is(.logged-in,.guest-workspace) > .mobile-nav button { min-height: 52px !important; padding-block: 4px !important; gap: 2px !important; }
  body:is(.logged-in,.guest-workspace) > .mobile-nav button > span { width: 22px; height: 22px; flex-basis: 22px; }
  body:is(.logged-in,.guest-workspace) > .mobile-nav svg { width: 21px; height: 21px; }
  body:is(.logged-in,.guest-workspace) .app-shell { padding: 10px 10px 16px !important; }
  body:is(.logged-in,.guest-workspace) .welcome { padding: 12px 14px !important; margin-bottom: 8px !important; }
  body:is(.logged-in,.guest-workspace) .welcome h1 { font-size: 20px !important; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .welcome p { margin-top: 4px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .feed .composer { padding: 10px !important; }
  body:is(.logged-in,.guest-workspace) .feed #openComposerInline { font-size: 13px; }
  body:is(.logged-in,.guest-workspace) .feed-heading { gap: 6px; margin-block: 12px 8px; }
  body:is(.logged-in,.guest-workspace) .feed-heading h2 { font-size: 18px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .feed-tabs button { padding-inline: 10px !important; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .post-head { padding: 10px 12px 8px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .post-author strong { font-size: 13px; }
  body:is(.logged-in,.guest-workspace) .post-author :is(small, span) { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .post-copy,
  body:is(.logged-in,.guest-workspace) .post.card:has(.poll-results) .post-copy { font-size: 14px; line-height: 1.55; }
  body:is(.logged-in,.guest-workspace) .post > .post-copy { margin-block: 10px 12px; padding-inline: 12px; }
  body:is(.logged-in,.guest-workspace) .post-head + .post-topic { margin: 8px 12px 0; }
  body:is(.logged-in,.guest-workspace) .post-editorial-preview { margin: 10px 12px 6px; padding: 12px; }
  body:is(.logged-in,.guest-workspace) .post-editorial-preview h3 { font-size: 18px; line-height: 1.35; }
  body:is(.logged-in,.guest-workspace) .post .post-preview-toggle { margin-inline: 12px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .post .post-editorial-preview .post-preview-toggle { margin-inline: 0; }
  body:is(.logged-in,.guest-workspace) .post-meta { margin: 4px 12px 0; padding-block: 8px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .post-actions button { min-height: 44px !important; font-size: 12px !important; }
  body:is(.logged-in,.guest-workspace) .comment-body { font-size: 14px; line-height: 1.55; }

  body:is(.logged-in,.guest-workspace) .drawer-head { height: auto; min-height: 56px !important; padding: 6px 12px !important; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .drawer-head h2 { font-size: 19px !important; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .drawer-head .eyebrow { font-size: 11px; letter-spacing: .08em; margin-bottom: 2px; }
  body:is(.logged-in,.guest-workspace) > .mobile-more-panel { padding-inline: 12px !important; gap: 6px !important; }
  body:is(.logged-in,.guest-workspace) .mobile-more-heading strong { font-size: 20px; }
  body:is(.logged-in,.guest-workspace) > .mobile-more-panel :is(button[role="menuitem"], a[role="menuitem"]) { min-height: 52px; padding: 8px 10px !important; font-size: 12px !important; }
  body:is(.logged-in,.guest-workspace) .network-tabs { padding-inline: 8px; overflow-x: auto; }
  body:is(.logged-in,.guest-workspace) .network-tabs button { flex-shrink: 0; padding: 10px 9px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .network-tabs span { font-size: 11px; }
  body:is(.logged-in,.guest-workspace) .network-content { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .network-person { padding: 10px; gap: 8px; margin-bottom: 8px; }
  body:is(.logged-in,.guest-workspace) .network-person strong { font-size: 14px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .network-person small { font-size: 12px; line-height: 1.45; }
  body:is(.logged-in,.guest-workspace) .network-actions button { padding: 8px 10px; font-size: 12px; }

  body:is(.logged-in,.guest-workspace) .messages-drawer > .drawer-head { height: auto; }
  body:is(.logged-in,.guest-workspace) .message-connection { max-width: 125px; padding: 5px 7px; font-size: 11px; white-space: normal; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .message-connection i { flex: 0 0 8px; }
  body:is(.logged-in,.guest-workspace) .conversation-search { height: 44px; margin: 10px 12px; }
  body:is(.logged-in,.guest-workspace) .conversation-search > button { min-width: 44px; }
  body:is(.logged-in,.guest-workspace) .conversation-label { margin: 12px 14px 6px; font-size: 12px; letter-spacing: .04em; }
  body:is(.logged-in,.guest-workspace) .person-row { min-height: 68px; padding: 10px 12px; gap: 10px; }
  body:is(.logged-in,.guest-workspace) .person-row .avatar { width: 40px; height: 40px; flex: 0 0 40px; }
  body:is(.logged-in,.guest-workspace) .person-row :is(small, em) { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .person-row time { right: 12px; font-size: 11px; }
  body:is(.logged-in,.guest-workspace) .person-row .person-row-copy { padding-right: 48px; }
  body:is(.logged-in,.guest-workspace) .conversation-unread { font-size: 11px; }
  body:is(.logged-in,.guest-workspace) .chat-header { height: 56px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .chat-header strong { font-size: 14px; }
  body:is(.logged-in,.guest-workspace) .chat-header small { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .chat-header > button,
  body:is(.logged-in,.guest-workspace) .chat-message-search button { min-width: 44px; min-height: 44px; }
  body:is(.logged-in,.guest-workspace) .chat-header > button { display: grid; place-items: center; flex: none; }
  body:is(.logged-in,.guest-workspace) .mobile-chat-back { padding: 6px 12px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .messages-drawer .chat-messages { padding: 10px; }
  body:is(.logged-in,.guest-workspace) .message-bubble { padding: 8px 10px 6px; font-size: 14px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .message-bubble footer :is(time, span),
  body:is(.logged-in,.guest-workspace) .message-delivery { font-size: 11px !important; }
  body:is(.logged-in,.guest-workspace) .chat-date { margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) .chat-date span,
  body:is(.logged-in,.guest-workspace) :is(.message-typing, .message-composer-meta) { font-size: 11px; }
  body:is(.logged-in,.guest-workspace) :is(.conversation-list-state small, .messages-drawer .empty-state, .new-conversation p) { font-size: 13px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .new-conversation { padding: 24px 12px 12px; }
  body:is(.logged-in,.guest-workspace) .chat-tool { width: 44px; min-width: 44px; }

  body:is(.logged-in,.guest-workspace) .notification-item { padding: 12px; gap: 10px; }
  body:is(.logged-in,.guest-workspace) .notification-item p { font-size: 14px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .notification-item small { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .notification-preferences-link { padding: 12px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .notification-preferences-link :is(small, button) { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .saved-library-tools { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .saved-library-tools > div { margin-bottom: 8px; }
  body:is(.logged-in,.guest-workspace) .saved-library-tools > div strong { font-size: 16px; }
  body:is(.logged-in,.guest-workspace) .saved-library-tools > div span { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .saved-library-tools label { min-height: 44px; }
  body:is(.logged-in,.guest-workspace) .saved-library-results { padding: 10px 12px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .saved-card-main { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .saved-card-main h3 { font-size: 17px; line-height: 1.4; margin-block: 8px 12px; }
  body:is(.logged-in,.guest-workspace) :is(.saved-type, .saved-author strong, .saved-author small, .saved-card-actions button) { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .saved-card-actions { padding: 4px 8px; }
  body:is(.logged-in,.guest-workspace) .saved-card-actions .saved-remove { min-width: 44px; }
  body:is(.logged-in,.guest-workspace) .saved-library-empty { padding: 28px 16px; }
  body:is(.logged-in,.guest-workspace) .saved-library-empty p { font-size: 13px; }

  body:is(.logged-in,.guest-workspace) .global-search-header { gap: 8px; padding-bottom: 10px; }
  body:is(.logged-in,.guest-workspace) .global-search-intro h1 { font-size: 22px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .global-search-intro > p:last-child { margin-top: 6px; }
  body:is(.logged-in,.guest-workspace) .global-search-filters { padding-block: 8px; }
  body:is(.logged-in,.guest-workspace) .global-search-filters button { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) :is(.global-search-welcome, .global-search-empty, .global-search-error) { padding: 16px 14px; }
  body:is(.logged-in,.guest-workspace) :is(.global-search-welcome, .global-search-empty, .global-search-error) h2 { font-size: 20px; }
  body:is(.logged-in,.guest-workspace) .search-result-heading { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .search-result-heading h2 { font-size: 18px; }
  body:is(.logged-in,.guest-workspace) .search-result-copy strong { font-size: 14px; }

  body:is(.logged-in,.guest-workspace) :is(.article-hero, .article-editor-intro) h1 { font-size: 24px !important; line-height: 1.25 !important; }
  body:is(.logged-in,.guest-workspace) .article-hero { padding: 24px 16px; }
  body:is(.logged-in,.guest-workspace) .article-editor-shell { padding-top: 16px; }
  body:is(.logged-in,.guest-workspace) .article-inspiration { padding: 14px; margin-block: 16px; }
  body:is(.logged-in,.guest-workspace) .inspiration-heading h2 { font-size: 20px; }
  body:is(.logged-in,.guest-workspace) .article-idea-grid button { min-height: 70px; padding: 12px; }
  body:is(.logged-in,.guest-workspace) .article-idea-grid :is(strong, small) { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .editor-side-card { padding: 14px; }
  body:is(.logged-in,.guest-workspace) .editor-side-card :is(label, li, .seo-tip) { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .modal-head :is(h2, h3) { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .profile-form { padding: 0 16px 20px; }
  body:is(.logged-in,.guest-workspace) .profile-form label { margin-block: 10px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .judgment-app-hero { padding: 16px !important; }
  body:is(.logged-in,.guest-workspace) .judgment-app-hero .judgment-hero-copy h1 { font-size: 22px !important; line-height: 1.25; margin-block: 6px 10px; }
  body:is(.logged-in,.guest-workspace) .judgment-section-head h2 { font-size: 20px; }
  /* Compact the editorial summary header, preserving the source PDF and
     the long-form judgment text's separate reading/print scale. */
  body:is(.logged-in,.guest-workspace) .judgment-reader > header { padding: 20px 16px; }
  body:is(.logged-in,.guest-workspace) .judgment-reader > header h1 { font-size: 24px !important; line-height: 1.25 !important; }
  body:is(.logged-in,.guest-workspace) .judgment-reader .judgment-quick-heading h2 { font-size: 22px !important; line-height: 1.3 !important; }
  body:is(.logged-in,.guest-workspace).mobile-keyboard-open { --lu-app-dock: 0px; }
}

@media screen and (max-width: 768px) and (prefers-reduced-motion: reduce) {
  body:is(.logged-in,.guest-workspace) .modal-backdrop > .modal { animation: none !important; transition: none !important; }
}

/* A compact/landscape phone still leaves useful space for the résumé preview. */
@media screen and (max-width: 600px) and (max-height: 500px) {
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-head { grid-template-columns: minmax(0, 1fr) 44px; gap: 6px; padding-inline: 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-heading { display: none; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-workflow-nav { grid-column: 1; grid-row: 1; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-workflow-nav button { padding-inline: 3px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-workflow-nav button span { width: 16px; height: 16px; margin-right: 3px; font-size: 9px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-head > button { grid-column: 2; grid-row: 1; }
  body:is(.logged-in,.guest-workspace) .resume-app .preview-toolbar { min-height: 54px; padding-block: 5px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-export-help { padding: 8px 14px; font-size: 12px; line-height: 1.35; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer { min-height: 66px; padding-block: 8px max(8px, env(safe-area-inset-bottom)); }
}
