/* Phone layouts use the available width and remain stable as Safari chrome moves. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (max-width: 800px), (max-width: 1020px) and (max-height: 500px) {
  :root { --document-frame: 0px; --page: 20px; }
  body { padding-inline: 0; }
  main { min-width: 0; border-inline: 0; }
  body:has(#top.nu-world) .site-header[data-site-nav] {
    left: 0; right: 0; width: 100%; transform: none;
  }
  .site-header[data-site-nav] { padding-inline: 20px; }
  .site-header[data-site-nav] .main-nav { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  input:not([type="checkbox"]):not([type="radio"]), textarea, select,
  .nu-guide form input, .nu-directory-tools input { font-size: 16px; }
  .section-pad { padding: 64px var(--page); }
  .section-heading { gap: 20px; }
  /* Desktop entrance layers must not cover or shrink the phone's reading flow. */
  .scene > .scene-transition, .nu-gloss-sweep { display: none !important; }
  .js .scene .reveal, #leaders .leader-card {
    opacity: 1 !important; filter: none !important; transform: none !important;
    translate: none !important; rotate: none !important; scale: none !important;
  }
  #leaders .leader-grid { opacity: 1 !important; translate: none !important; transform: none !important; }
  #top.nu-world .nu-world-stage { min-height: 0; padding-top: 108px; gap: 28px; }
  #top.nu-world { min-height: 0; }
  #services { padding: 64px var(--page); }
  #services .service-board { min-width: 0; }
  #services .service-nav { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; overflow: visible; }
  #services .service-tab { display: grid; grid-template-columns: 24px minmax(0,1fr) 20px; min-width: 0; width: 100%; min-height: 68px; padding: 14px 12px; gap: 10px; text-align: left; }
  #services .service-tab strong { font-size: 18px; overflow-wrap: anywhere; }
  #services .service-tab > span { width: auto; grid-column: 1; grid-row: 1; }
  #services .service-tab > strong { grid-column: 2; grid-row: 1; }
  #services .service-tab > i { grid-column: 3; grid-row: 1; }
  #services .services-heading { margin-bottom: 28px; }
  #services .service-board { margin-top: 28px; }
  #services .service-panel { min-width: 0; padding: 24px 16px; }
  #services .service-panel-top { flex-wrap: wrap; gap: 10px; }
  #services .service-panel .deliverable-grid { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; }
  #services .service-panel .deliverable-grid span { min-width: 0; grid-column: auto; padding: 12px; font-size: 14px; }
  #services .service-actions { flex-direction: column; align-items: stretch; gap: 16px; }
  #services #service-page-link { width: 100%; padding: 16px; gap: 12px; font-size: 17px; }
  #services .service-coming-soon strong { font-size: clamp(26px,8vw,44px); }
  #message .president-stage { gap: 24px; }
  #leaders { padding: 64px var(--page); }
  #leaders .leader-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  #leaders .leader-visual { aspect-ratio: 4 / 4.5; height: auto; }
  #leaders .leader-meta h3 { font-size: 24px; }
  #leaders .leader-card p { font-size: 15px; }
  #leaders .nu-directory-tools { margin-top: 24px; }
  #reach-out .meeting-heading h2 { font-size: clamp(40px,11vw,58px); }
  .nu-guide-home { margin-top: 28px; }
  .nu-guide-message { font-size: 16px; line-height: 1.55; }
  .nu-guide-options button, .nu-guide-options a { font-size: 14px; min-height: 44px; }
  .nu-guide-dock { max-width: calc(100% - 20px); max-height: calc(100svh - 88px); bottom: max(10px, env(safe-area-inset-bottom)); }
  #culture-game.nu-chess-game { padding: 64px var(--page); }
  #culture-game .nu-chess-roster > button { min-width: 0; }
  #culture-game .nu-chess-roster > button strong { font-size: 11px; overflow-wrap: anywhere; }
  .service-brand-content #content-production { padding: 64px var(--page) !important; }
  .service-brand-content .studio-continuum-shell { gap: 28px; }
  .service-brand-content .studio-answers { padding: 64px var(--page); gap: 28px; }
  .service-brand-content #studio-continuum-title,
  .service-brand-content #studio-continuum-title strong { font-size: clamp(32px,9vw,44px) !important; }
  .case-detail { min-width: 0; max-width: 100%; }
  .case-detail-main { min-width: 0; grid-template-columns: minmax(0,1fr); }
  .case-detail-main h3 { font-size: clamp(28px,8vw,40px); overflow-wrap: anywhere; }
  .profile-stage__identity-copy { min-width: 0; }
  .profile-stage__identity-copy h1 { white-space: normal; overflow-wrap: anywhere; }
  .site-footer { flex-wrap: wrap; justify-content: flex-start; gap: 20px; padding: 24px var(--page); }
}
@media (max-width: 480px) {
  .team-profile-page .team-lobby { padding-inline: 16px; }
  .team-profile-page .profile-section { padding-inline: 20px; }
}
@media (max-width: 800px), (max-width: 1020px) and (max-height: 500px) {
  #leaders::after { display: none; }
  /* One pillar chooser on phones: the interactive Services tabs. */
  #top .nu-world-services, main > .nu-pillar-directory { display: none; }
  #top .nu-world-waypoints { margin-bottom: 0; }
}
@media (min-width: 701px) and (max-width: 1020px) and (max-height: 500px) {
  #leaders .leader-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
