/* ============================================================================
   FOH mobile type floor (2026-10-17). Loaded LAST on every page of both sites.
   Phones and small tablets only (<= 860px). Desktop styling is unchanged.
   Minimums: body copy 16px+ / small labels, eyebrows, captions 13px+ at Outfit 400 /
   buttons, nav, form labels 14px / footer and legal text 14px / form inputs 16px
   (stops iOS zoom-on-focus) / tap targets 44px tall / body line-height 1.5+.
   ========================================================================== */
@media (max-width: 860px) {
  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { line-height: 1.6; }

  /* Body copy: nothing under 16px */
  .proj.open p, .proj-meta div, .proj-meta dd, .nom-steps li, .rows .role, .director .muted,
  .chk, .nom-form label.chk, .status { font-size: 16px; }
  .proj-meta div { line-height: 1.5; }

  /* Eyebrows, kickers, captions, small labels: 13px, Outfit 400, slightly tighter tracking */
  .kicker, .nl-kicker, .rows .idx, .director .kicker, figcaption, figcaption span, .frame figcaption,
  .stage-cap, .stage-cap span, .proj-status, .proj.open p.proj-status, .proj-meta dt, .draft, .draft b {
    font-size: 13px; letter-spacing: .14em;
  }
  .kicker, .nl-kicker, .rows .idx, .director .kicker, figcaption, figcaption span, .stage-cap span,
  .proj-meta dt, .proj-status { font-weight: 400; }
  .draft { line-height: 1.45; font-weight: 400; }

  /* Buttons, nav, controls: 14px Outfit 400, 44px tap height */
  .btn, .btn-donate, .nav-links a, .nav .ask-m, .menu, .stage-btn, .stage-btn span, .tabs a, .wp,
  .nom-submit, .dn-close, .nl-form button, .dn-submit { font-size: 14px; letter-spacing: .12em; font-weight: 400; }
  .dn-submit, .nom-submit, .btn-donate { font-weight: 500; }
  .btn, .nav-links a.ask, .tabs a {
    display: inline-flex; align-items: flex-end; min-height: 44px; padding-bottom: 6px; box-sizing: border-box;
  }
  .btn-donate, .nav .ask-m, .menu, .dn-close, .nl-form button, .nom-submit, .dn-submit {
    min-height: 44px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  }
  button.btn { justify-content: flex-start; }
  .brand { min-height: 44px; display: flex; align-items: center; }
  .menu { min-width: 44px; }
  .dn-close { min-width: 44px; }
  .dn-check, .chk { min-height: 44px; align-items: center; }

  /* Live nav at phone width: keep "Write the board" + "Donate" on one line */
  .nav-links { gap: 14px; }
  .nav-links a.ask, .nav-links a.btn-donate { letter-spacing: .08em; }
  .nav-links a.btn-donate { padding-left: 14px; padding-right: 14px; }
  /* Draft drop-down menu links: full-width 44px rows */
  .nav-links.open { gap: 2px; }
  .nav-links.open a { display: flex; align-items: center; min-height: 44px; width: 100%; }

  /* Form labels and helper text */
  form label, .nom-form .f label, .nom-form .lbl, .dn-form .dn-label, .dn-form legend, legend,
  .dn-chips.two .dn-chip span, .dn-chip input[value=other] + span {
    font-size: 14px; letter-spacing: .1em; font-weight: 400;
  }
  .opt span small, .f small, .nom-form .hint, #nom-summary-hint, .nom-fine, .nom-form .err, .nl-status,
  .dn-fine, .dn-fine a, .src, .src a, .tbd { font-size: 14px; font-weight: 400; line-height: 1.5; }
  input, select, textarea { font-size: 16px !important; }

  /* Footer and legal pages: 14px floor, Outfit 400 */
  footer, footer div, footer p, footer a, footer span, footer .fine, footer .leaders, footer .film-credit,
  .nl-copy, .nl-fine, .nl-fine a { font-size: 14px; font-weight: 400; line-height: 1.6; letter-spacing: .03em; }
  footer .nl-title { font-size: 26px; line-height: 1.1; letter-spacing: 0; }
  footer .nl-kicker { font-size: 14px; letter-spacing: .14em; }
  footer .legal { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 0; }
  footer .legal a { display: inline-flex; align-items: center; min-height: 44px; }
  .doc, .doc p, .doc li { font-size: 16px; line-height: 1.65; }
  .doc .updated, .doc li a { font-size: 14px; font-weight: 400; }
  .doc .toc a { font-size: 14px; display: inline-flex; align-items: center; min-height: 44px; }
  .tbd { font-size: 1em; }
  footer .tbd { font-size: 14px; }
  select { min-height: 44px; }
  footer .top a, footer p a { display: inline-block; padding: 13px 0; margin: -13px 0; }
}
