/* Member tools: compact reading scale and spacing without shrinking inputs,
   touch targets, or the measured résumé/PDF documents. Load after feature CSS. */
@media screen and (max-width: 768px) {
  body:is(.logged-in,.guest-workspace) :is(.jobs-page, .events-page, .firms-page, .colleges-page) {
    font-size: 14px;
    line-height: 1.5;
  }

  /* Careers and events use their existing list/detail and filter-sheet flows. */
  body:is(.logged-in,.guest-workspace) .jobs-app-header { padding-block: 12px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) #eventsPage .event-app-header { gap: 8px; margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) .jobs-app-header h1,
  body:is(.logged-in,.guest-workspace) #eventsPage .event-app-header h1 { font-size: 20px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .jobs-app-header p,
  body:is(.logged-in,.guest-workspace) #eventsPage .event-app-header p { font-size: 12px; margin-top: 3px; }
  body:is(.logged-in,.guest-workspace) :is(#jobsAppPost, #eventAppCreate) { font-size: 12px; padding-inline: 12px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .jobs-list { gap: 8px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card { padding: 12px; }
  body:is(.logged-in,.guest-workspace).events-view #eventsList .event-card-row { padding: 12px; gap: 10px; margin-bottom: 8px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card h3,
  body:is(.logged-in,.guest-workspace) #eventsList .event-card-copy h3 { font-size: 15px; line-height: 1.4; margin-block: 3px 5px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card p { margin-block: 6px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card footer { margin-top: 10px; padding-top: 8px; font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card :is(.job-card-type, .job-pill, .job-card-open),
  body:is(.logged-in,.guest-workspace) #eventsList .event-card-copy > small { font-size: 12px; line-height: 1.4; letter-spacing: 0; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-card-open { right: 12px; bottom: 12px; }
  body:is(.logged-in,.guest-workspace) #eventsList .event-card-copy h3 { margin-top: 4px; }
  body:is(.logged-in,.guest-workspace) #eventsPage .event-type-strip { padding-bottom: 8px; }
  body:is(.logged-in,.guest-workspace) #eventsPage .event-type-strip button { padding-inline: 12px; }
  body:is(.logged-in,.guest-workspace) #eventAppClear { min-height: 44px; }

  body:is(.logged-in,.guest-workspace) .jobs-page .job-detail-head { padding: 14px; }
  body:is(.logged-in,.guest-workspace).jobs-view .jobs-page .job-detail h1 {
    font-size: 20px;
    line-height: 1.3;
    overflow-wrap: anywhere !important;
  }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-detail-head .company { font-size: 13px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-detail .job-pill,
  body:is(.logged-in,.guest-workspace) .jobs-app-apply small { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-detail-copy { padding: 14px; margin-top: 10px; font-size: 14px; line-height: 1.6; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-detail-copy :is(h2, h3) { font-size: 17px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-facts { margin-block: 10px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-fact { padding: 10px 12px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-fact > span { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) .jobs-page .job-fact > strong { font-size: 13px; }
  body:is(.logged-in,.guest-workspace).events-view #eventDetail .event-detail-card { padding: 14px; }
  body:is(.logged-in,.guest-workspace) #eventDetail .event-detail-card h1 { font-size: 20px !important; line-height: 1.3 !important; }
  body:is(.logged-in,.guest-workspace) #eventDetail .event-facts { padding-block: 12px; }
  body:is(.logged-in,.guest-workspace) #eventDetail .event-facts > div { padding: 10px; }
  body:is(.logged-in,.guest-workspace) #eventDetail .event-registration-deadline small,
  body:is(.logged-in,.guest-workspace) #eventDetail .event-format { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) #eventDetail .event-description { font-size: 14px; line-height: 1.6; }
  body:is(.logged-in,.guest-workspace) :is(.jobs-app-filter-sheet, .event-app-sheet) { padding-inline: 14px; }
  body:is(.logged-in,.guest-workspace) :is(.jobs-app-filter-sheet, .event-app-sheet) header { margin-bottom: 14px; }
  body:is(.logged-in,.guest-workspace) :is(.jobs-app-filter-sheet, .event-app-sheet) h2 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) :is(.jobs-app-filter-sheet, .event-app-sheet) footer { margin-top: 16px; }

  /* Directories and organisation profiles keep a consistent phone scale,
     including 601–768px where earlier compact overrides stopped applying. */
  body:is(.logged-in,.guest-workspace) :is(.firms-page-top, .colleges-page-top) { margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) { padding: 16px; gap: 14px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) h1 { font-size: 22px !important; line-height: 1.25 !important; margin-block: 6px 10px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) p { font-size: 14px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) > label { height: 48px; min-height: 48px; margin-top: 12px; padding-inline: 12px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-directory-head, .colleges-directory-head) { margin-block: 16px 12px; }
  body:is(.logged-in,.guest-workspace) :is(.firms-directory-head, .colleges-directory-head) h2 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card-grid, .college-card-grid) { gap: 10px; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card, .college-card) { min-height: 0; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card, .college-card) h3 { font-size: 18px; line-height: 1.35; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card-body, .college-card-body) { padding: 0 14px 14px; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card-body, .college-card-body) > p:not(.eyebrow) { font-size: 14px; line-height: 1.5; min-height: 0; }
  body:is(.logged-in,.guest-workspace) :is(.firm-card-meta, .college-card-meta, .college-programmes span) { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .college-programmes { margin-top: 10px; padding-top: 10px; }
  body:is(.logged-in,.guest-workspace) :is(.firm-directory-back, .college-directory-back) { margin-bottom: 12px; font-size: 13px; }
  body:is(.logged-in,.guest-workspace).firm-detail-view .firm-profile-identity,
  body:is(.logged-in,.guest-workspace) .college-profile-identity { gap: 12px; padding-inline: 14px; padding-bottom: 14px; }
  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 !important; line-height: 1.25 !important; }
  body:is(.logged-in,.guest-workspace) :is(.firm-profile-name, .college-profile-copy) > p:not(.eyebrow) { font-size: 14px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .college-stats :is(b, b:first-child) { padding-block: 10px; font-size: 20px; }
  body:is(.logged-in,.guest-workspace) .college-stats small,
  body:is(.logged-in,.guest-workspace).firm-detail-view .firm-stats span { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) :is(.firm-profile-grid, .college-profile-grid) { margin-top: 14px; }
  body:is(.logged-in,.guest-workspace).firm-detail-view .firm-panel,
  body:is(.logged-in,.guest-workspace) .college-panel { padding: 16px 14px; margin-bottom: 10px; }
  body:is(.logged-in,.guest-workspace) :is(.firm-panel, .college-panel) h2 { font-size: 19px; line-height: 1.35; margin-bottom: 12px; }
  body:is(.logged-in,.guest-workspace).firm-detail-view .firm-about-copy,
  body:is(.logged-in,.guest-workspace) :is(.college-about, .college-update > p) { font-size: 14px; line-height: 1.6; }
  body:is(.logged-in,.guest-workspace) .college-programme-grid article { padding: 12px; min-height: 0; }
  body:is(.logged-in,.guest-workspace) .college-programme-grid strong { font-size: 14px; }
  body:is(.logged-in,.guest-workspace) :is(.college-contact dt, .firm-contact dt, .college-update small),
  body:is(.logged-in,.guest-workspace).firm-detail-view :is(.firm-job small, .firm-update-head small) { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) .college-contact dd { font-size: 14px; line-height: 1.5; }

  /* Smaller section spacing, while preserving profile editing affordances. */
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-cover { height: 120px; }
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-name { padding-top: 10px; }
  body:is(.logged-in,.guest-workspace) #profilePage .name-row h1 { font-size: 20px !important; line-height: 1.3 !important; }
  body:is(.logged-in,.guest-workspace) #profilePage .identity-meta { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(.dossier-grid, .dossier-main, .dossier-side) { gap: 10px; }
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-card,
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-side .dossier-card { padding: 14px; }
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-card .section-heading { margin-bottom: 10px; }
  body:is(.logged-in,.guest-workspace) #profilePage .dossier-card .section-heading h2 { font-size: 16px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) #profilePage .timeline-item { padding-bottom: 12px; }
  body:is(.logged-in,.guest-workspace) #profilePage .timeline-head h3 { font-size: 15px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(.timeline-head time, .timeline-meta, .details-card label, .dossier-post small) { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(.long-value, .timeline-item > p, .dossier-post p) { font-size: 14px; line-height: 1.6; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(#profileOwnerActions, #profileMemberActions) { gap: 8px; padding-top: 10px; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(#profileOwnerActions, #profileMemberActions) > button { font-size: 13px; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(#profileCredentials, #profileCertifications) .credential-card { padding: 12px !important; }
  body:is(.logged-in,.guest-workspace) #profilePage :is(#profileCredentials, #profileCertifications) .credential-card-heading small { font-size: 12px; }
  body:is(.logged-in,.guest-workspace) #profilePage #addStoryButton { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }

  /* Forms need 16px text to avoid automatic zoom when focused in iOS Safari. */
  body:is(.logged-in,.guest-workspace) :is(#jobForm, #eventForm, #firmForm, #firmSettingsForm, #firmPostForm,
      #firmMemberForm, #firmMemberEditForm, #collegeForm) .modal-head h2 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) :is(#jobForm, #eventForm, #firmForm, #firmSettingsForm, #firmPostForm,
      #firmMemberForm, #firmMemberEditForm, #collegeForm) .modal-head p { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) :is(#jobForm, #eventForm, #firmForm, #firmSettingsForm, #firmPostForm,
      #firmMemberForm, #firmMemberEditForm, #collegeForm) :is(label, .modal-footer > span) { font-size: 12px; line-height: 1.5; }
  body:is(.logged-in,.guest-workspace) :is(#jobForm, #eventForm, #firmForm, #firmSettingsForm, #firmPostForm,
      #firmMemberForm, #firmMemberEditForm, #collegeForm) :is(input, select, textarea),
  body:is(.logged-in,.guest-workspace) .firm-inline-editor :is(input, select, textarea),
  body:is(.logged-in,.guest-workspace) :is(.jobs-app-filter-sheet, .event-app-sheet) select,
  body:is(.logged-in,.guest-workspace) :is(.firms-hero, .colleges-hero) input { font-size: 16px !important; }
  body:is(.logged-in,.guest-workspace) :is(#jobForm, #eventForm, #firmForm, #firmSettingsForm, #firmPostForm,
      #firmMemberForm, #firmMemberEditForm, #collegeForm) .modal-head > button {
    flex: 0 0 44px;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
  }
  body:is(.logged-in,.guest-workspace) .firm-inline-actions button { min-height: 44px; }
  body:is(.logged-in,.guest-workspace) :is(#firmForm, #firmSettingsForm) .modal-head { padding: 16px 14px; gap: 10px; }
  body:is(.logged-in,.guest-workspace) :is(#firmForm, #firmSettingsForm) .firm-form-grid { padding: 16px 14px; gap: 12px; }
  body:is(.logged-in,.guest-workspace) :is(#firmForm, #firmSettingsForm) .modal-footer { padding: 12px 14px; gap: 8px; }

  /* Only builder chrome is adjusted. No selector enters .resume-document,
     #resumePreview, the full-page document, or print styles. */
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-head { gap: 8px; padding: max(8px, env(safe-area-inset-top)) 12px 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-heading h1 { font-size: 20px; line-height: 1.3; }
  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: 14px; margin-bottom: 10px; gap: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-readiness-hero h2 { font-size: 22px; line-height: 1.25; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-app-identity { margin-bottom: 10px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-app-identity strong { font-size: 16px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-missing-card { padding: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-missing-card h3 { font-size: 18px; line-height: 1.35; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-missing-list button { padding: 10px; min-height: 60px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-details-options { margin-top: 10px; padding-inline: 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-details-options > summary { min-height: 60px; }
  body:is(.logged-in,.guest-workspace) .resume-app .template-panel-title { padding: 10px 12px; }
  body:is(.logged-in,.guest-workspace) .resume-app .template-panel-title h2 { font-size: 20px; line-height: 1.3; }
  body:is(.logged-in,.guest-workspace) .resume-app .template-panel-title small,
  body:is(.logged-in,.guest-workspace) .resume-app .resume-template-card small { font-size: 12px; line-height: 1.4; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-template-list { padding: 3px 12px 12px; gap: 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-template-card { flex-basis: 132px; min-width: 132px; padding: 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer { min-height: 68px; padding: 8px 12px max(8px, env(safe-area-inset-bottom)); gap: 8px; }
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer button,
  body:is(.logged-in,.guest-workspace) .resume-app .resume-studio-footer #downloadResume { font-size: 13px; padding-inline: 12px; min-height: 48px; }
}
