/* Phone sizing. Loaded last; desktop is unchanged.
   Readable text is at least 12 px, tap targets at least 44 px tall,
   and form fields 16 px so iOS does not zoom in on focus. */
@media (max-width: 760px) {
  /* Labels and small print */
  .eyebrow, .hero-copy .eyebrow, .volunteer .eyebrow, dialog .eyebrow, .future-purpose .eyebrow { font-size: 12px; letter-spacing: 1.2px; }
  .number { font-size: 12px; letter-spacing: 1px; }
  .hero-note, .section-footnote, .start .start-note, .start .form-note { font-size: 13px; line-height: 1.6; }
  .mission-strip .wrap { font-size: 13px; text-align: center; }
  .footer p, .footer > a:last-child { font-size: 13px; }
  .footer p { max-width: none; }
  .section-heading > p, .steps p { font-size: 14px; }
  .terminal-quote-section .future-quote figcaption { font-size: 13px; }

  /* Terminal panel text */
  .volunteer .terminal-label { font-size: 12px; }
  .volunteer .terminal-note, .volunteer .terminal-hint { font-size: 13px; }

  /* Tap targets */
  .brand { min-height: 44px; }
  .header .button { min-height: 44px; padding: 10px 14px; font-size: 13px; }
  .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; padding: 0 8px; }
  .service a { min-height: 44px; font-size: 14px; }
  .future-quote figcaption a, .footer a.footer-domain { display: inline-flex; align-items: center; min-height: 44px; }
  .footer > a:last-child { display: flex; align-items: center; min-height: 44px; padding-top: 6px; }
  .footer-links { width: 100%; border-top: 1px solid var(--line); padding-top: 6px; font-size: 13px; gap: 24px; }
  .footer-links a { display: inline-flex; align-items: center; min-height: 44px; }
  .hero-art .art-caption { font-size: 12px; bottom: -34px; }
  #request-dialog .close:focus-visible, #contact-dialog .close:focus-visible { outline-offset: -4px; }
  .agent-prompt .copy-prompt { min-height: 44px; padding: 0 16px; font-size: 13px; }

  /* Request dialog: full width sheet, larger fields and choices */
  dialog#request-dialog, dialog#contact-dialog { width: 100%; max-width: none; max-height: 100vh; max-height: 100dvh; height: 100vh; height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: 0 18px 28px; }
  #request-dialog .dialog-bar, #contact-dialog .dialog-bar { position: sticky; top: 0; right: auto; z-index: 2; display: flex; justify-content: flex-end; margin: 0 -18px; padding: 4px 8px; background: var(--paper); border-bottom: 1px solid var(--line); }
  #request-dialog .close, #contact-dialog .close { width: 44px; height: 44px; }
  #request-dialog .request-panel, #contact-dialog .request-panel, #request-dialog .contact-panel, #contact-dialog .contact-panel, #request-dialog .request-done, #contact-dialog .request-done { padding-top: 18px; }
  #request-form legend, #contact-form legend { font-size: 12px; letter-spacing: 1.2px; }
  #request-form input[type=text], #contact-form input[type=text], #request-form input[type=email], #contact-form input[type=email], #request-form select, #contact-form select, #request-form textarea, #contact-form textarea { font-size: 16px; padding: 12px; }
  label { font-size: 14px; }
  label.choice { min-height: 44px; align-items: center; font-size: 15px; padding: 4px 0; }
  label.choice input { width: 20px; height: 20px; margin: 0; }
  .choices { gap: 2px; }
  .confirm label.choice { align-items: flex-start; padding: 10px 0; }
  .confirm label.choice input { margin-top: 2px; }
  .field-error { font-size: 13px; }
  #request-dialog .fine, #contact-dialog .fine, .draft-note { font-size: 13px; line-height: 1.6; }
  #request-form .button, #contact-form .button, .request-done .button { width: 100%; min-height: 52px; font-size: 15px; }
  .link-button { min-height: 44px; }
  #turnstile-retry { font-size: 14px; }
}
