/* Mobile uses its own reading layout instead of compressing desktop columns. */
@media (max-width: 850px) {
  :root { --mobile-gutter: clamp(20px, 5vw, 32px); }
  .container { width: calc(100% - 2 * var(--mobile-gutter)); max-width: 680px; }
  .nav-shell { width: calc(100% - 2 * var(--mobile-gutter)); gap: 12px; }
  .menu-toggle { flex-shrink: 0; }
  .mobile-nav a { min-height: 48px; display: flex; align-items: center; }
  .container > *, .chapter-copy, .step-content, .contact-form-panel,
  .image-dialog-header > div { min-width: 0; }
  .section { padding-block: 64px; }
  .hero { height: auto; min-height: 100svh; max-height: none; }
  .hero-inner { min-height: 100svh; height: auto; padding-top: 108px; }
  .hero-label { max-width: 290px; font-size: 12px; line-height: 1.7; }
  .hero-copy { margin-top: auto; padding: clamp(140px, 25svh, 240px) 0 28px; }
  .hero-copy h1 { font-size: clamp(36px, 9.4vw, 62px); line-height: 1.16; text-wrap: initial; }
  .hero-description { margin-top: 24px; }
  .hero-description p { max-width: 540px; font-size: 16px; line-height: 1.7; }
  .hero-description .button { width: 100%; margin-top: 24px; min-width: 0; }
  .button { min-height: 54px; padding: 15px 20px; gap: 16px; font-size: 15px; }
  .button span { flex-shrink: 0; }
  .hero-bottom { padding-block: 12px 18px; }
  .hero-shade { background: linear-gradient(0deg, #051026 0%, #051026dc 25%, #05102655 65%, #05102620); }
  .statement { font-size: clamp(32px, 8.4vw, 48px); line-height: 1.25; text-wrap: initial; }
  .intro-bottom { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 28px; }
  .intro-bottom p { font-size: 16px; line-height: 1.8; }
  .intro-bottom .round-link { width: 48px; height: 48px; }
  .section-heading h2, .partnership-section h2, .faq-intro h2,
  .process-heading h2, .research-heading h2, .contact-copy h2 {
    font-size: clamp(32px, 8.6vw, 48px); line-height: 1.18; text-wrap: initial;
  }
  .solutions-section { padding-top: 64px; }
  .experience-links { gap: 8px 12px; flex-wrap: wrap; }
  .experience-links .text-link { padding-inline: 0; font-size: 14px; }
  .skip-experience { width: 100%; margin-left: 0; }
  .chapter { padding-block: 48px; gap: 28px; }
  .chapter-copy h3 { font-size: clamp(30px, 8vw, 44px); line-height: 1.2; text-wrap: initial; }
  .chapter-copy > .eyebrow { flex-wrap: wrap; gap: 4px 16px; font-size: 12px; }
  .chapter-copy > .eyebrow span { white-space: nowrap; }
  .chapter-copy > p:not(.eyebrow) { font-size: 16px; max-width: none; line-height: 1.8; margin-top: 24px; }
  .chapter li { display: flex; font-size: 15px; }
  .chapter li::before { flex-shrink: 0; }
  .chapter .text-link { width: 100%; font-size: 15px; line-height: 1.6; min-height: 48px; }
  .inline-visual { padding: 0; border: 1px solid var(--line); }
  .inline-visual .image-expand { position: static; width: 100%; justify-content: space-between; padding: 12px 16px; }
  .inline-visual img { width: 100%; height: auto; }
  .inline-visual figcaption { padding: 16px; margin: 0; font-size: 12px; }
  .process-heading, .research-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .process-summary, .research-heading > p { font-size: 16px; max-width: none; }
  .process-steps { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-block: 36px; }
  .process-steps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px 16px; padding: 0 0 24px; border-bottom: 1px solid var(--line); align-items: center; }
  .process-steps li:last-child { padding-bottom: 24px; }
  .process-steps li::after { display: none !important; }
  .step-number { width: 40px; height: 40px; font-size: 13px; }
  .step-content { display: contents; }
  .step-content h3 { font-size: 23px; max-width: none; }
  .step-content p { grid-column: 1 / -1; font-size: 16px; max-width: none; margin: 0; }
  .integration-note { border: 0; padding: 0; margin: 0; }
  .integration-note p { font-size: 14px; }
  .integration-note a { flex-shrink: 1; gap: 12px; max-width: 100%; }
  .research-publications { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 36px; }
  .publication-meta { flex-direction: column; gap: 6px; margin-bottom: 20px; }
  .publication h3 { font-size: clamp(27px, 7.3vw, 36px); }
  .publication > p, .partnership-bottom p { font-size: 16px; }
  .resource-download { flex-direction: column; align-items: stretch; gap: 24px; margin-top: 36px; padding-top: 32px; }
  .resource-download .button { max-width: none; width: 100%; }
  .partnership-bottom { gap: 28px; margin-top: 32px; }
  .faq-section { gap: 28px; }
  .faq-intro > p:not(.eyebrow), .faq-list summary, details > p { font-size: 16px; }
  .faq-list summary { gap: 16px; padding-block: 24px; line-height: 1.6; }
  .faq-list summary > span { flex-shrink: 0; }
  details > p { padding-right: 0; }
  .contact-layout { gap: 40px; }
  .contact-copy > p:not(.eyebrow) { font-size: 16px; max-width: none; }
  .contact-copy > .text-link { font-size: 15px; }
  .contact-form-panel { padding-top: 32px; border-top: 1px solid var(--line); }
  .contact-form-panel h3 { font-size: clamp(25px, 6.5vw, 32px); line-height: 1.25; text-wrap: initial; }
  .contact-form-panel form > p:first-of-type { font-size: 16px; }
  .two-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .contact-form-panel input, .contact-form-panel select { min-width: 0; font-size: 16px; height: 56px; }
  .contact-form-panel input::placeholder { font-size: 16px; }
  .form-privacy, .form-footnote { font-size: 13px; }
  .mobile-action { padding-inline: var(--mobile-gutter); }
  .mobile-action .button { min-height: 50px; font-size: 15px; }
  .footer { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .footer-links { align-items: start; display: grid; grid-template-columns: 1fr; gap: 0; font-size: 14px; }
  .footer-links button { justify-self: start; }
  #image-dialog { padding: 16px; overflow: auto; max-height: 90svh; }
  .image-dialog-header { gap: 12px; }
  .image-dialog-header h2 { font-size: 23px; line-height: 1.3; text-wrap: initial; }
  .image-dialog-header .eyebrow { font-size: 12px; }
  .image-dialog-tools p { font-size: 13px; }
}
@media (max-width: 359px) {
  :root { --mobile-gutter: 16px; }
  .brand-pair { gap: 8px; }
  .hexa-logo { width: 96px; }
  .careverse-logo { width: 82px; }
  .hero-copy h1 { font-size: 33px; }
  .step-content h3 { font-size: 21px; }
}
@media (max-width: 850px) and (max-height: 500px) {
  .hero-inner { padding-top: 100px; }
  .hero-copy { padding-top: 64px; }
  .mobile-nav { max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; }
}

