/* Phone-only typography. Keep desktop styling and spacing tokens intact. */
@media (max-width: 767px) {
  :root {
    --text-xs: 1rem;
    --text-xs--line-height: 1.5;
    --text-sm: 1.125rem;
    --text-sm--line-height: 1.6;
    --text-base: 1.25rem;
    --text-base--line-height: 1.65;
    --text-lg: 1.375rem;
    --text-lg--line-height: 1.5;
    --text-xl: 1.5rem;
    --text-xl--line-height: 1.4;
    --text-2xl: 1.75rem;
    --text-2xl--line-height: 1.3;
  }

  body { font-size: 1.25rem; line-height: 1.65; }

  p, li, label, input, textarea, select,
  .text-xs, .text-sm, .text-base {
    line-height: 1.6;
  }

  p, li { overflow-wrap: anywhere; }
  h1, h2, h3 { overflow-wrap: anywhere; text-wrap: balance; }
  h1 { font-size: clamp(2.5rem, 9vw, 3rem); line-height: 1.15; }
  h2 { font-size: 2.125rem; line-height: 1.25; }
  h3 { line-height: 1.35; }

  label { font-size: 1.125rem; }
  input:not([type="checkbox"]):not([type="radio"]), textarea, select {
    font-size: 1.125rem;
    min-height: 3rem;
  }

  button, [data-slot="button"] {
    font-size: 1.125rem;
    line-height: 1.4;
    min-height: 2.75rem;
    height: auto;
    white-space: normal;
    padding-top: .65rem;
    padding-bottom: .65rem;
  }

  a[href^="mailto:"], a[href^="tel:"] { overflow-wrap: anywhere; min-width: 0; }
  nav a { line-height: 1.5; }
  .prose { font-size: 1.25rem; line-height: 1.7; }
}
