/* Shared phone typography, loaded after each page's existing styles. */
@media (max-width: 760px) {
  [hidden] { display: none !important; }
  body { font-size: 17px; line-height: 1.7; }

  header:has(nav) { flex-wrap: wrap; gap: 18px; }
  header:has(nav) .brand { font-size: 14px; letter-spacing: 1px; }
  header nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
    font-size: 16px !important;
    align-items: stretch;
  }
  header nav a, header nav button {
    display: flex;
    align-items: center;
    min-height: 48px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #345063;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }
  header nav a[href="#journey"] { display: flex; }
  header nav a:hover, header nav a[aria-current] { background: #193544; }

  .hero p, .lead, .bio-copy p, .hub-hero p, .media-card p,
  .press-item p, .intro, .channel-card p, .principles-message p,
  .video-intro p, .video-caption p, .more-videos p,
  .experience-heading p, .story-panel p, .human-story > p { font-size: 17px; }
  .story-panel .stage-lead { font-size: 18px; }
  .story-panel .stage-detail { font-size: 15px; }

  .eyebrow, .role, .tag, .strip, .studio-heading, .studio-footer,
  .flight-stats span, .stamp, .stage-tag { font-size: 12px; letter-spacing: 1px; }
  .stamp { position: static; margin-top: 12px; }
  .hero { padding-bottom: 36px; }
  .hero-actions .cta { font-size: 16px; }
  .flight-stats { flex-wrap: wrap; gap: 20px; }

  .album h3 { font-size: 16px; }
  .album .meta, .meta, .album-bottom, .single-format,
  .format, .notice, .details, .source-note, .hub-note,
  .service small, .press-item time, .press-item a,
  .channel-card .form-note, .translation-note, .tool-list,
  .audio-feedback, .sample-title, .sample-time,
  .sample-label, .sample-volume, .release-badge { font-size: 14px; }
  .track, .track small, .track a { font-size: 15px; }
  .album-bottom { gap: 10px; flex-wrap: wrap; }
  .single-format select { max-width: 100%; }

  .text-button, .sample-button, .filterbar button, .language-links a,
  .end-links a, .video-caption a, .direct-link,
  .transport button, .station, .voice-buttons button, .audio-button,
  .audio-feedback button, .instrument-bar button, .boarding button,
  .send-button, .campaign-link, .video-cta {
    font-size: 16px;
    line-height: 1.4;
    min-height: 44px;
    padding: 10px 12px;
    white-space: normal;
  }
  .video-caption a, .direct-link { display: inline-flex; align-items: center; }
  .track a { white-space: normal; }
  .track .text-button { font-size: 16px; }
  .bio-content aside { font-size: 16px; }
  .bio-content aside a { padding: 10px 0; min-height: 44px; }
  .transport { flex-wrap: wrap; }
  .transport .progress { min-width: 40px; }
  .station span { font-size: 12px; }

  input:not([type=range]), select, textarea { font-size: 16px; min-height: 44px; max-width: 100%; }
  label, .optional { font-size: 16px; }
  .tools > * { min-width: 0; max-width: 100%; }
  .close, .sample-close, .sample-toggle { min-width: 44px; min-height: 44px; }
  summary { font-size: 16px; min-height: 44px; }
  footer, .footer, .contact-footer { font-size: 14px; }
  footer a, .footer a, .contact-footer a { display: inline-block; padding-block: 10px; min-height: 44px; }

  .site-language-bar { font-size: 16px; }
  .site-language-bar summary { font-size: 16px; min-height: 44px; padding: 10px 12px; }
  .site-language-bar nav { font-size: 16px !important; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(340px, calc(100vw - 32px)); }
  .site-language-bar nav a { min-height: 44px; padding: 10px 8px; font-size: 16px; white-space: normal; }
}

@media (max-width: 480px) {
  .station-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .link-grid { grid-template-columns: 1fr; }
  .grid { grid-template-columns: 1fr; }
}
