/* The phone type scale. Loaded last, phones only.
   One rule: nothing a person is meant to read is under 11px, and secondary text
   is ink, not slate. The desktop composition is untouched.
   Scale — micro 11 · label 12 · body 13–15 · names 13–14 · card headline 20. */
@media (max-width: 760px), (max-width: 1200px) and (orientation: portrait) {
  :root { --phone-micro: 11px; --phone-label: 12px; --phone-body: 13px; }

  /* ---- the door ---- */
  #door.human-threshold .door-mast { font-size: 15px; }             /* the wordmark, with its badge at cap height */
  #door .threshold-nav button { font-size: var(--phone-label); }
  #door #door-play { gap: 6px; min-height: 0; padding: 2px 0; }                  /* one line under the ring: "Play the journey · With sound" */
  #door #door-play .play-copy b { display: inline; font-size: 13px; }
  #door #door-play .play-copy i { display: inline; margin: 0; font-size: var(--phone-micro); color: #4a4335; }
  #door #door-play .play-copy i::before { content: ' · '; }
  #door .threshold-story { font-size: var(--phone-label); color: #3a3f38; bottom: 30px; }
  #door .threshold-footer { bottom: 30px; max-width: 58%; column-gap: 12px; }
  #door .threshold-scroll, #door #ambient-toggle { font-size: var(--phone-micro); letter-spacing: .04em; color: #3a3f38; }
  #door .threshold-footer .site-copyright { font-size: var(--phone-micro); color: #4a4335; bottom: -19px; }

  /* ---- the instrument ---- */
  .immersive-world #hud .hud-nav > button { font-size: var(--phone-label); }
  #hud .transport button { font-size: var(--phone-label); }
  #hud #hud-sound { font-size: var(--phone-label); }
  .immersive-world #world-context { font-size: var(--phone-label); }
  #hud .hud-line { font-size: var(--phone-label); }                 /* tablets: the KM line and its chapter name */
  #hud .hud-dist > em { font-size: var(--phone-micro); }

  /* ---- the cards, the slips, the closing words ---- */
  .immersive-world .card i { font-size: var(--phone-label); margin-bottom: 10px; }
  .immersive-world .card b { font-size: 20px; }
  .immersive-world .card em { font-size: var(--phone-body); line-height: 1.8; }
  #slips .slip { background: linear-gradient(170deg, rgba(16,20,27,.74), rgba(16,20,27,.6)); }   /* the glass is darker on phones so the small lines read over a bright frame */
  #slips .slip i, #slips .slip em { font-size: var(--phone-micro); line-height: 1.65; letter-spacing: .05em; }
  #slips .slip b { font-size: 16px; }
  #slips .slip em.no, #slips .slip .no strong { color: #e4eaf3; }
  #close-type i { font-size: var(--phone-label); }

  /* ---- the authorization scene ---- */
  .authorization-scene .auth-request > p { font-size: var(--phone-label); }
  .authorization-scene .auth-gates span { font-size: var(--phone-label); }
  .authorization-scene .auth-gates small { font-size: var(--phone-micro); color: #4a4335; }
  .authorization-scene .auth-window-meta { font-size: var(--phone-micro); color: #4a4335; }
  .authorization-scene .auth-outcome { font-size: 14px; }
  .authorization-scene .auth-explanation { font-size: var(--phone-label); }
  .authorization-scene .auth-explore { font-size: var(--phone-label); }

  /* ---- the film dialogs ---- */
  .film-dialog .dialog-caption { font-size: var(--phone-label); color: var(--ink); }
  .film-dialog .chapter-list span { font-size: var(--phone-label); gap: 8px; }
  .film-dialog .chapter-list small { font-size: var(--phone-micro); }
  .film-dialog .story-link, .film-dialog .story-more { font-size: var(--phone-body); }
  .film-dialog.story-dialog > p:not(.dialog-caption) { font-size: 14px; line-height: 1.85; }

  /* ---- the world dialog ---- */
  .world-dialog .world-dialog-head { font-size: var(--phone-label); }
  .world-dialog .world-dialog-head button { font-size: var(--phone-label); }
  .world-dialog .world-tabs { gap: 6px; }
  .world-dialog .world-tabs button { font-size: var(--phone-label); }
  .world-dialog .world-panel .world-caption { font-size: var(--phone-label); }
  .world-dialog .world-panel p { font-size: 14px; line-height: 1.85; }
  .world-dialog .world-panel .world-lead { font-size: 16px; }
  .world-dialog .world-gates dt, .world-dialog .world-gates dd { font-size: var(--phone-body); }
  .world-dialog .world-link { font-size: var(--phone-body); }
  .world-dialog .world-link.secondary { font-size: var(--phone-label); }
  .world-dialog .world-panel .world-stage { font-size: var(--phone-micro); color: #4a4335; }
  .world-dialog .world-request figcaption { font-size: var(--phone-micro); color: #4a4335; }
  .world-dialog .world-cases button { font-size: var(--phone-micro); }
  .world-dialog .world-result b { font-size: 14px; }
  .world-dialog .world-result p { font-size: var(--phone-body); }
  .world-dialog .world-request .world-demo-note { font-size: var(--phone-micro); color: #4a4335; }
  .world-dialog .world-dialog-foot a { font-size: var(--phone-label); }
  .world-dialog .world-dialog-foot .site-copyright { font-size: var(--phone-micro); }

  /* ---- the intent dialog ---- */
  .intent-dialog .intent-head, .intent-dialog .intent-head button { font-size: var(--phone-label); }
  .intent-dialog .intent-intro { font-size: var(--phone-body); }
  .intent-dialog .intent-action figcaption { font-size: var(--phone-micro); color: #4a4335; }
  .intent-dialog .intent-action > p { font-size: var(--phone-label); }
  .intent-dialog .intent-gates p { font-size: var(--phone-label); }
  .intent-dialog .intent-gates small { font-size: var(--phone-micro); color: #4a4335; }
  .intent-dialog .intent-lifetime > div:first-child { font-size: var(--phone-micro); color: #4a4335; }
  .intent-dialog .intent-result p { font-size: var(--phone-body); }
  .intent-dialog .intent-controls button { font-size: var(--phone-label); }
  .intent-dialog .intent-privacy { font-size: var(--phone-body); }
  .intent-dialog .intent-demo-note { font-size: var(--phone-micro); color: #4a4335; }
  .intent-dialog .site-copyright { font-size: var(--phone-micro); }

  /* ---- the closing page ---- */
  .immersive-world #seal .seal-kicker { font-size: var(--phone-label); color: var(--ink); max-width: 30ch; letter-spacing: .08em; }
  .immersive-world #seal .seal-line { font-size: 15px; }
  .immersive-world #seal input#claim-email { font-size: 16px; }          /* 16px: iOS does not zoom the page on focus */
  .immersive-world #seal #claim-email::placeholder { font-size: var(--phone-label); }
  .immersive-world #seal #claim-seal { font-size: var(--phone-label); }
  .immersive-world #seal .interest-note { font-size: var(--phone-body); color: var(--ink); }
  .immersive-world #seal #claim-standing { font-size: var(--phone-body); }
  .immersive-world #seal .cta-vaults { font-size: var(--phone-label); color: var(--ink); }
  .immersive-world #seal .world-final-links { gap: 20px; }
  .immersive-world #seal .world-final-links button { font-size: var(--phone-label); }
  .immersive-world #seal .seal-legal { gap: 22px; }
  .immersive-world #seal .seal-legal a { font-size: var(--phone-label); color: var(--ink); }
  .immersive-world #seal #seal-replay { font-size: var(--phone-label); color: var(--ink); }
  .immersive-world #seal .site-copyright { font-size: var(--phone-micro); color: #4a4335; }
}

/* The names beside the pair: phones only. Tablets in portrait keep their wider labels. */
@media (max-width: 760px), (max-width: 900px) and (orientation: portrait) {
  #door .presence-label { width: clamp(58px, 17vw, 72px); gap: 4px; }
  #door .presence-label > span:first-child { font-size: clamp(12px, 3.3vw, 14px); line-height: 1.25; }
  #door .presence-label small { font-size: var(--phone-micro); line-height: 1.45; min-height: 0; white-space: normal; max-width: none; }
  #door .presence-label .presence-trace { width: 40px; height: 12px; }
  #door .presence-caption { font-size: clamp(18px, 4.6vw, 28px); }
}

/* ---- the pages: company, business, how, manifesto, privacy, terms, contact ---- */
@media (max-width: 760px), (max-width: 1100px) and (orientation: portrait) {
  body.company .site-nav a { font-size: 11px; }
  body.company .hero-category, body.company .section-index { font-size: 11px; }
  body.company .hero-bottom, body.company .hero-bottom .ambient-toggle { font-size: 11px; }
  body.company .hero-actions .button-primary, body.company .hero-actions .text-link { font-size: 12px; }
  body.company .portrait-caption, body.company .inner-hero figcaption { font-size: 11px; }
  body.company .enterprise-domains { font-size: 11px; }
  body.company .world-copy .text-link { font-size: 12px; }
  body.company .film-invitation small { font-size: 11px; }
  body.company .demo-top > span, body.company .proof-request > .small-label, body.company .proof-outcome > .small-label { font-size: 11px; }
  body.company .request-scope > span { font-size: 11px; }
  body.company .request-scope > p, body.company .proof-validity p { font-size: 12px; }
  body.company .case-picker button, body.company .demo-note { font-size: 11px; }
  body.company .execution-path > div > span { font-size: 11px; }
  body.company .stage-note { font-size: 11px !important; }   /* company.css marks it !important */
  body.company .footer-top > p, body.company .footer-top .text-link { font-size: 12px; }
  body.company .footer-bottom { font-size: 11px; }
  body.company .footer-bottom a { font-size: 11px; }
  body.page .room .eyebrow { font-size: 11px; }
  body.page .letterform :is(input, select, textarea) { font-size: 16px; }   /* no iOS focus zoom */
}
