/* Reading-first typography for phones and small tablets. Poppins stays local.
   Text remains in the normal flow; no fixed heights or text-size suppression. */
@media (max-width: 860px) {
  :root { --pad: clamp(20px, 5.2vw, 32px); }
  body { font-size: 17px; line-height: 1.7; }

  .hero-description,
  .body-copy,
  .theme-row p,
  .section-intro,
  .pub-content p,
  .past-event p,
  .meeting-card > p:not(.overline):not(.meeting-date),
  .linkedin-description,
  .linkedin-card p,
  .logistiher-copy p,
  .contact-copy p,
  .contact-form-notice,
  .thought-card-summary,
  .thoughts-preview-heading p:not(.section-label),
  .blog-intro,
  .blog-feature-copy p:not(.overline),
  .blog-newsletter p,
  .thought-cta > p:not(.overline),
  .point-detail > p:not(.overline):not(.point-status),
  .point-question,
  .sc-heading > p:last-child,
  .sc-step p {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    color: #3b4c59;
    overflow-wrap: break-word;
  }
  .lead, .xbs-lead, .thought-lead {
    font-size: 18px;
    line-height: 1.7;
    color: #354854;
  }
  .event-copy p { font-size: 17px; line-height: 1.7; color: #e2eaf0; }
  .cargo-snapshot .section-intro { color: #d2dfe8; }
  .snapshot-disclosure, .snapshot-caveat, .snapshot-selection {
    font-size: 16px;
    line-height: 1.7;
    color: #d2dfe8;
  }
  .snapshot-metric dt, .snapshot-tables table, .snapshot-detail summary {
    font-size: 16px;
    line-height: 1.65;
  }

  .hero h1, .thought-head h1, .article-head h1, .thoughts-index.blog-index h1 {
    font-size: clamp(32px, 8.5vw, 44px);
    font-weight: 500;
    line-height: 1.23;
    letter-spacing: -1px;
    overflow-wrap: break-word;
    text-wrap: balance;
  }
  .section h2, .blog-newsletter h2 {
    font-size: clamp(29px, 7.5vw, 38px);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.65px;
    overflow-wrap: break-word;
  }
  .theme-row h3, .pub-content h3, .linkedin-card h3,
  .thought-card h3, .thoughts-index .thought-card h2,
  .meeting-card h3, .blog-feature-copy h2, .thoughts-index .blog-feature-copy h2,
  .blog-external-card h3, .point-detail h4 {
    font-size: 23px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -.35px;
    overflow-wrap: break-word;
  }
  .sc-heading h4 { font-size: 21px; font-weight: 500; line-height: 1.4; }
  .sc-step h5 { font-size: 17px; line-height: 1.5; color: #344f63; }
  .article-layout, .thought-layout { display: block; }
  .article-toc { position: static; margin-bottom: 32px; }
  .article-body p, .thought-section > p, .thought-section > ul > li {
    font-size: 18px;
    line-height: 1.72;
    font-weight: 400;
    color: #354854;
    overflow-wrap: break-word;
  }
  .article-body h2, .thought-section > h2, .thought-sources > h2, .thought-cta > h2 {
    font-size: 26px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -.4px;
    overflow-wrap: break-word;
  }
  .thought-toc > a, .article-toc a { font-size: 16px; line-height: 1.65; color: #40596c; }
  .thought-sources li, .thought-citation-link { font-size: 15px; line-height: 1.7; }
  .article-language-note, .article-source p, .blog-feature-copy small,
  .publication-note, .linkedin-note, .xbs-note,
  .security-note, .security-sources, .scene-hint, .security-practice ul,
  .sc-note, .sc-status, .sc-reduced-note, .sc-audio-note,
  .archive-heading p, .archive-meta, .archive-category {
    font-size: 15px;
    line-height: 1.7;
    color: #4d6272;
  }
  .archive-row h4 { font-size: 17px; font-weight: 500; line-height: 1.55; }
  .button, .text-link, .pub-footer .text-link, .linkedin-card .text-link,
  .meeting-card .text-link, .event-actions .button,
  .hero-actions .button, .hero-actions .text-link,
  .thought-card-footer .text-link, .article-source .text-link {
    font-size: 16px;
    line-height: 1.55;
    min-height: 44px;
  }
  .scene-tabs button, .point-choice, .archive-filters button,
  .archive-show-all, .sc-card button { font-size: 15px; line-height: 1.55; min-height: 44px; }
  .scene-navigation button { min-width: 44px; min-height: 44px; }

  #contact-form input:not([type="hidden"]), #contact-form textarea,
  #contact-form select, .archive-search input {
    font-size: 16px;
    line-height: 1.6;
    min-height: 48px;
    max-width: 100%;
  }
  #contact-form label { font-size: 16px; line-height: 1.55; color: #344d60; }
  #contact-form .form-hint, #contact-form .contact-privacy,
  #contact-form .form-required-note {
    font-size: 15px;
    line-height: 1.65;
    color: #4d6272;
  }
  #contact-form .form-field-error, #contact-form .form-validation-summary {
    font-size: 15px;
    line-height: 1.65;
  }
  #contact-form fieldset button, #contact-form .form-status {
    font-size: 17px;
    line-height: 1.65;
  }
  .analytics-consent p { font-size: 15px; line-height: 1.65; }
  .analytics-consent-actions button { font-size: 15px; min-height: 44px; }
  .footer-desc, .footer-bottom { color: #526575; line-height: 1.7; }
}

@media (max-width: 480px) {
  .brand-name { font-size: 12px; line-height: 1.5; letter-spacing: .25px; max-width: 94px; }
  .header-inner { gap: 5px; }
  .brand { gap: 8px; }
  .thought-card, .pub-content, .blog-feature-copy, .blog-external-card,
  .thought-cta, .thought-toc { padding: 20px; }
  .thought-card-footer { flex-wrap: wrap; gap: 8px 16px; }
  .thought-section > h2, .article-body h2, .thought-cta > h2 { font-size: 25px; }
  .scene-lower { padding: 20px 16px; }
  .scene-tabs button { padding-inline: 10px; }
  .scene-hint { padding-inline: 16px; }
  .snapshot-metric { gap: 12px; }
  .snapshot-metric dt { max-width: 60%; }
  .snapshot-metric dd { min-width: 80px; }
}
