/* Phone layouts use readable content at its natural height, not scaled desktop panels. */
@media (max-width: 800px) {
  html { scroll-padding-top: 24px; }
  .pl-container { width: calc(100% - 32px); }
  .pl-section { padding: 56px 0; }
  .pl-section-head { margin-bottom: 28px; }
  .pl-hero__title { font-size: clamp(34px, 8.8vw, 46px); line-height: 1.12; letter-spacing: -1.3px; }
  .portal-landing h2, #problem h2, .atlas-copy h2 { font-size: 32px; line-height: 1.18; letter-spacing: -.8px; }
  .pl-case h3, .pl-bento h3, .pl-role-card h3 { font-size: 25px; line-height: 1.25; }
  .pl-step__title { font-size: 27px; line-height: 1.22; }
  .pl-hero__lead, .copy-detail p, .pl-role-card p, .pl-final__lead, .pl-faq p, .pl-security p, .pl-security__list li, .atlas-copy p { font-size: 16px; line-height: 1.65; }
  .pl-eyebrow, .atlas-copy .pl-eyebrow, .pl-trust-strip__label { font-size: 12px; letter-spacing: 1px; }
  .pl-btn, .pl-final__cta .pl-btn, .pl-deal-card__cta .pl-btn { min-height: 48px; font-size: 15px; padding: 12px 16px; line-height: 1.4; white-space: normal; }
  .pl-hero__cta, .pl-final__cta { display: grid; grid-template-columns: 1fr; gap: 10px; width: 100%; }
  .pl-role-card__cta { width: 100%; }
  .pl-role-switch { display: flex; gap: 20px; }
  .pl-role-switch__btn { font-size: 15px; min-height: 48px; }
  .pl-hero__trust { flex-wrap: wrap; gap: 10px 18px; font-size: 12px; }
  .pl-trust-strip__items { grid-template-columns: 1fr; gap: 14px; }
  .pl-trust-pill { font-size: 14px; }
  .copy-detail summary, .pl-faq summary { min-height: 48px; font-size: 16px; line-height: 1.5; }
  .copy-detail summary { width: 100%; justify-content: space-between; gap: 16px; }
  .copy-detail summary:after, .pl-faq summary:after { flex-shrink: 0; }
  .landing-topbar { padding-inline: 16px; gap: 8px; }
  .theme-toggle, .menu-toggle { min-width: 44px; min-height: 44px; padding: 10px; }
  .menu-toggle { font-size: 14px; }
  .landing-topbar .login { display: none; }
  #mobile-menu { padding: 16px; gap: 4px 12px; }
  #mobile-menu a { min-height: 44px; display: flex; align-items: center; font-size: 15px; }
  .hero-stage { height: auto; display: flex; flex-direction: column; overflow: hidden; }
  .hero-app-title, .hero-app-tabs { padding: 14px 16px; font-size: 14px; }
  .hero-app-tabs { gap: 4px; justify-content: space-between; }
  .hero-app-tabs span { padding: 7px 8px; }
  .hero-stage .hero-spec, .hero-stage .hero-photo, .hero-stage .float, .hero-stage .stage-bottom, .hero-stage .asset-note { position: relative; inset: auto; width: auto; }
  .hero-spec { order: 2; margin: 18px 16px 0; font-size: 14px; }
  .hero-spec>b { font-size: 22px; }
  .hero-spec>small, .hero-spec .status-chip { font-size: 12px; }
  .hero-photo { order: 3; height: 225px; margin: 0; }
  .hero-stage .deal-float { order: 4; margin: 0 16px 12px; padding: 16px; }
  .hero-stage .hero-pdf { order: 5; margin: 0 16px 18px; padding: 14px; }
  .hero-pdf .file-check { margin-left: auto; }
  .float-head, .float-meta, .float-bottom, .hero-pdf small, .pdf-icon { font-size: 12px; }
  .float-bottom { flex-wrap: wrap; gap: 8px; }
  .hero-pdf b { font-size: 15px; }
  .hero-stage .stage-bottom { order: 6; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 0 16px; font-size: 12px; }
  .hero-stage .asset-note { order: 7; writing-mode: horizontal-tb; margin: 12px 16px 16px; font-size: 12px; text-align: center; }

  .pl-cases, .pl-bento { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .case-visual, .feature-visual { height: auto; min-height: 0; padding: 20px; gap: 18px; align-items: stretch; }
  .case-visual>.visual-example-label, .feature-visual>.visual-example-label { font-size: 12px; margin: 0; align-self: stretch; }
  .case-visual>:last-child { margin-block: 0; }
  .case-visual .mini-document, .feature-visual .mini-document { max-width: none; padding: 18px; transform: none; }
  .mini-document>small { font-size: 12px; letter-spacing: .3px; }
  .case-visual .mini-document>strong { font-size: 24px; }
  .document-head, .case-visual .document-head, .document-price, .case-visual .document-price, .feature-visual .document-price { font-size: 12px; }
  .document-stamp, .case-visual .document-stamp { font-size: 12px; }
  .chat-avatar { font-size: 12px; }
  .mini-chat, .case-visual .mini-chat { gap: 12px; }
  .chat-message, .case-visual .chat-message { font-size: 14px; line-height: 1.5; padding: 12px; }
  .chat-message small, .file-message small { font-size: 12px; }
  .file-message { font-size: 13px; padding: 10px; gap: 8px; }
  .file-message>div { min-width: 0; overflow-wrap: anywhere; }
  .file-message>span { font-size: 12px; flex-shrink: 0; }
  .mini-pipeline, .case-visual .mini-pipeline, .feature-visual .mini-pipeline { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
  .mini-pipeline>div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .mini-pipeline label, .case-visual .mini-pipeline label, .feature-visual .mini-pipeline label { grid-column: 1/-1; font-size: 14px; padding: 0 0 2px; }
  .mini-pipeline article, .case-visual .mini-pipeline article, .feature-visual .mini-pipeline article { padding: 12px; margin: 0; }
  .mini-pipeline b, .case-visual .mini-pipeline b, .feature-visual .mini-pipeline b { font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }
  .mini-pipeline small, .case-visual .mini-pipeline small { font-size: 12px; }
  .mini-pipeline .moving-deal, .pipeline-target { grid-column: 1/-1; }
  .mini-pipeline .status-chip, .case-visual .mini-pipeline .status-chip, .feature-visual .mini-pipeline .status-chip { font-size: 12px; margin-top: 12px; padding: 6px 8px; }
  .pipeline-target { min-height: 58px; }
  .stock-status-heading { font-size: 12px; }
  .stock-head { font-size: 14px; gap: 10px; flex-wrap: wrap; }
  .stock-row, .case-visual .stock-row { grid-template-columns: minmax(0,1fr) auto; gap: 6px 12px; padding: 12px 0; font-size: 14px; }
  .stock-row b, .case-visual .stock-row b { grid-column: 2; font-size: 12px; }
  .stock-equipment small { font-size: 12px; }
  .feature-visual .company-pass>div, .feature-visual .event-log, .event-log, .closing-proof .event-log { font-size: 14px; }
  .event-log time, .feature-visual .event-log time { font-size: 12px; white-space: nowrap; }
  .event-log>div { gap: 10px; }
  .feature-visual .catalog-caption { font-size: 16px; }
  .catalog-tags { flex-wrap: wrap; }
  .catalog-tags span { font-size: 12px; }
  .visual-example-label, .demo-tag { font-size: 12px; }
  .status-chip, .catalog-caption .status-chip { font-size: 12px; max-width: 100%; white-space: normal; }

  .proof-composition { height: auto; display: grid; gap: 20px; padding: 20px; }
  .proof-composition>svg { display: none; }
  .proof-composition .proof-node, .proof-composition .proof-center, .proof-composition .proof-history { position: relative; inset: auto; width: 100%; transform: none!important; }
  .proof-composition .mini-document { max-width: none; padding: 16px; }
  .proof-composition .document-price, .proof-composition .document-stamp { font-size: 12px; }
  .proof-composition .proof-center { padding: 18px; }
  .proof-center small, .proof-history { font-size: 12px; white-space: normal; }
  .proof-history { text-align: center; }
  .proof-chat .mini-chat { padding: 0; }

  .journey-layout { grid-template-columns: 44px minmax(0,1fr); gap: 8px; }
  .journey-ruler { top: 24px; }
  .rail-links a { min-height: 48px; width: 44px; margin-left: 0; justify-content: center; }
  .rail-number { font-size: 12px; width: 30px; height: 30px; }
  .rail-track { left: 21px; }
  .pl-step { min-height: 0; padding-bottom: 44px; }
  .app-chrome, .role-visual .app-chrome { padding: 12px; gap: 8px; font-size: 12px; flex-wrap: wrap; }
  .app-brand { font-size: 12px; }
  .app-navigation, .role-visual .app-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 8px; font-size: 13px; }
  .app-navigation>span { padding: 8px; }
  .app-content, .role-visual .app-content { padding: 12px; min-height: 0; }
  .catalog-layout, .deal-document-layout, .close-workspace, .chat-workspace { grid-template-columns: minmax(0,1fr); }
  .catalog-layout>div, .deal-document-layout>div, .close-workspace>div { min-width: 0; }
  .catalog-toolbar { font-size: 12px; }
  .mock-search { flex-basis: 100%; font-size: 14px; padding: 10px; }
  .catalog-caption { flex-wrap: wrap; font-size: 16px; }
  .tech-properties { grid-template-columns: repeat(2,minmax(0,1fr)); font-size: 12px; gap: 14px; }
  .tech-properties b { font-size: 15px; }
  .tech-properties>span:last-child { grid-column: 1/-1; }
  .tech-properties>span:last-child b { font-size: 22px; }
  .catalog-results .pl-step-grid { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .pl-step-card { padding: 12px; font-size: 15px; }
  .pl-step-card__meta, .pl-step-card__stock { font-size: 12px; line-height: 1.6; }
  .mock-action, .mock-composer { font-size: 14px; }
  .document-preview { padding: 0; transform: none!important; }
  .pl-deal-card__head { font-size: 17px; }
  .pl-deal-card__rows { font-size: 14px; }
  .pl-deal-card__label { display: block; color: var(--muted); margin-bottom: 5px; }
  .pl-deal-card__sub { font-size: 12px; line-height: 1.6; }
  .pl-deal-card__cta { display: grid; grid-template-columns: minmax(0,1fr); }
  .pl-kp__row { display: grid; grid-template-columns: minmax(0,1fr); gap: 4px; font-size: 14px; }
  .pl-kp__row>span:last-child { font-weight: 600; }
  .pl-bubble { font-size: 15px; line-height: 1.6; padding: 12px; max-width: 100%; overflow-wrap: anywhere; }
  .pl-bubble__meta { font-size: 12px; }
  .pl-bubble__attach { max-width: 100%; flex-wrap: wrap; }
  .chat-workspace aside { grid-template-columns: 64px minmax(0,1fr); align-items: center; gap: 12px; }
  .chat-workspace .contact-card { grid-column: 1/-1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .chat-workspace .contact-card .company-monogram { width: 32px; height: 32px; font-size: 12px; }
  .chat-workspace .contact-card b { font-size: 14px; }
  .chat-workspace .contact-card .status-chip { margin-left: auto; }
  .chat-workspace .chat-tech { grid-column: 1; grid-row: 2; height: 58px; }
  .chat-workspace .chat-tech-name { grid-column: 2; grid-row: 2; font-size: 14px; }
  .chat-workspace aside>.file-message { grid-column: 1/-1; }
  .feature-visual>.mini-chat { max-width: 420px; }
  .chat-workspace .contact-card { grid-row: auto; }
  .pl-close__check { font-size: 14px; line-height: 1.5; }
  .pl-close__dot { flex-shrink: 0; }
  .pl-close__badge { float: none; display: block; width: fit-content; font-size: 12px; margin-top: 8px; }
  .approval-pair { flex-direction: column; font-size: 14px; }
  .access-diagram { padding: 16px; }
  .access-actors { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); gap: 6px; align-items: start; }
  .access-actors>div:not(.access-connection) { text-align: center; }
  .access-actors small { font-size: 12px; line-height: 1.5; }
  .access-connection { margin: 32px 0 0; font-size: 20px; }
  .access-deal { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 12px; padding: 14px; }
  .access-deal>.status-chip { grid-column: 1/-1; margin: 0; font-size: 12px; }
  .access-deal b { font-size: 15px; }
  .access-deal small { font-size: 12px; }
  .access-private { font-size: 12px; gap: 12px; }
  .server-visual { gap: 10px; flex-wrap: wrap; font-size: 14px; }
  .server-stack { flex-shrink: 0; }
  .server-visual small { font-size: 12px; }
  .atlas-copy .atlas-touch-hint { display: block; font-size: 14px; margin-top: 12px; }
  .atlas-copy .map-caption { font-size: 12px; max-width: none; }
  .atlas-legend { font-size: 12px; gap: 12px; }
  .atlas-motion-toggle { min-height: 44px; font-size: 12px; }
  .atlas-tooltip { width: 270px; padding: 16px; }
  .atlas-tooltip>strong { font-size: 16px; }
  .atlas-tooltip dl>div, .atlas-tooltip>p { font-size: 14px; }
  .atlas-hub-label { font-size: 12px; }
  .atlas-city>span { width: 4px; height: 4px; }
  .atlas-city--stock>span { width: 5px; height: 5px; }
  .atlas-city--hub>span { width: 9px; height: 9px; }
  .pl-footer__grid { grid-template-columns: minmax(0,1fr); }
  .pl-footer__about { font-size: 15px; }
  .pl-footer__legal, .pl-footer__bottom, .pl-footer__col-hint { font-size: 13px; }
  .pl-footer__col a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; }
}
