/* Public phone layouts: readable content, touch targets, and bounded previews.
   Device illustrations keep their own typography; page copy does not shrink. */
.mobile-preview-switch, .mobile-preview-hint { display: none; }
.mobile-menu-backdrop { position: fixed; inset: var(--mobile-nav-top, 72px) 0 0; z-index: 38; background: #14243e66; backdrop-filter: blur(4px); }
@media (max-width: 900px) {
  html.mobile-navigation-open { overflow: hidden; }
  .site-header .mobile-menu-button { width: 44px; height: 44px; align-items: center; }
  .site-header .button.small { min-height: 44px; padding-inline: 12px; }
  #mobile-menu.mobile-menu { top: var(--mobile-nav-top, 72px); left: 0; right: 0; max-height: calc(100dvh - var(--mobile-nav-top, 72px) - 12px); padding: 8px 24px max(20px, env(safe-area-inset-bottom)); border-radius: 0 0 20px 20px; border-top: 0; overflow-y: auto; overscroll-behavior: contain; background: #fff; }
  #mobile-menu.mobile-menu > a, #mobile-menu.mobile-menu > button, #mobile-menu.mobile-menu summary { min-height: 48px; font-size: 15px !important; padding: 12px 0 !important; text-align: left; }
  #mobile-menu.mobile-menu details a { min-height: 44px; font-size: 14px !important; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 88px; }
  .site-header { padding-inline: 16px; }
  .nav-actions { gap: 8px; }
  .section-shell { margin-inline: 0; border-left: 0; border-right: 0; }
  .section-marker { padding-inline: 24px; font-size: 9px; }
  .intro-content, .section-heading, .company-heading { padding-inline: 24px; }
  .intro-content p, .section-heading > p, .company-heading p, .principles p, .questions p, .closing p, .service-discovery p { font-size: 14px; line-height: 1.7; }
  .intro-content { padding-block: 40px; }
  .principles article { padding: 20px 24px; }
  [data-public-page=home] .intro { padding-block: 32px; }
  [data-public-page=home] .intro-content { padding-block: 28px 32px; }
  [data-public-page=home] .principles { gap: 0; padding: 0 24px; }
  [data-public-page=home] .principles article { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 14px; padding-block: 20px; }
  [data-public-page=home] .principles article > * { grid-column: 2; }
  [data-public-page=home] .principles .number { grid-column: 1; grid-row: 1 / 3; margin: 0; }
  [data-public-page=home] .principles h3 { font-size: 19px; margin: 8px 0; }
  [data-public-page=home] .principles p { font-size: 14px; line-height: 1.65; }
  [data-public-page=home] .principles .handoff-line { font-size: 11px; margin-top: 16px; padding-top: 12px; }
  [data-public-page=home] .company { padding-block: 32px; }
  [data-public-page=home] .company-heading { padding-block: 24px; }
  .questions { padding: 40px 24px; }
  .faq-list summary { font-size: 14px; min-height: 56px; gap: 16px; }
  .faq-list summary > span { flex-shrink: 0; }
  .site-footer a, .site-footer button { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  .site-footer .brand { display: inline-flex; }
  .legal-footer-nav { flex-wrap: wrap; gap: 4px 20px; }
  .dialog-close { width: 44px; height: 44px; }
  input, select, textarea { font-size: 16px; }
  .hero { height: auto; min-height: 620px; padding-bottom: 90px; }
  .hero .hero-copy { padding: 144px 24px 0; }
  .hero .hero-copy p { font-size: 14px; line-height: 1.65; max-width: 340px; }
  .hero .hero-ctas .button { min-height: 48px; font-size: 13px; }
  .hero .hero-copy .eyebrow { font-size: 9px; }
  .hero .orbit-card { scale: .6; pointer-events: none; }
  .hero .sales-card, .hero .marketing-card { top: 5px; }
  .hero .people-card, .hero .ai-card { display: none; }
  .hero .hero-bottom { bottom: 16px; }
  #platform:has(+ .intelligence-agent-story) .section-heading { padding: 32px 24px 24px; margin: 0; }
  #platform .feature-tabs { padding: 0 12px; }
  #platform .feature-tab { min-height: 78px; padding: 12px 4px; }
  #platform .feature-tab::after { font-size: 10px; line-height: 1.3; white-space: normal; }
  #platform #feature-scene { padding: 20px 16px 28px; }
  #platform .pv-controls { gap: 4px; flex-wrap: wrap; }
  #platform .pv-controls button { min-height: 44px; font-size: 12px; padding: 10px 12px; }
  #platform .workflow-summary { padding: 12px 20px 16px; }
  #platform .workflow-summary h3 { font-size: 30px; line-height: 1.1; }
  #platform .workflow-summary p { font-size: 14px; line-height: 1.6; }
  .mobile-preview-switch { display: flex; width: max-content; max-width: 100%; margin: 0 auto 22px; padding: 4px; gap: 4px; background: #edf2fa; border: 1px solid #dfe6f2; border-radius: 30px; grid-column: 1 / -1; }
  .mobile-preview-switch button { min-height: 44px; padding: 9px 20px; border-radius: 24px; color: #5b6c85; font-size: 13px; }
  .mobile-preview-switch button[aria-pressed=true] { color: #245cf5; background: white; box-shadow: 0 2px 5px #23416a12; }
  #platform .pv-stage.device-pair, #intelligence #marketing .marketing-devices { display: block; }
  [data-mobile-preview=phone] > .pv-scene, [data-mobile-preview=phone] > .marketing-desktop,
  [data-mobile-preview=desktop] > .native-pair, [data-mobile-preview=desktop] > #marketing-native-preview { display: none !important; }
  #platform .device-pair > .pv-scene { height: 520px; overscroll-behavior: auto; }
  #platform .device-pair > .pv-scene > .pv-window { min-width: 680px; }
  .mobile-preview-hint { font-size: 12px; line-height: 1.5; color: #62738d; text-align: center; margin-top: 12px; }
  [data-mobile-preview=desktop] > .mobile-preview-hint { display: block; }
  #platform .stage-footer { gap: 16px; align-items: center; }
  #platform .stage-footer > span { font-size: 10px; max-width: 50%; }
  #platform .stage-footer button { min-height: 44px; font-size: 12px; }
  #intelligence #marketing { margin-inline: 20px; }
  #intelligence #marketing .marketing-intro h2 { font-size: 38px; }
  #intelligence #marketing .marketing-intro p, #intelligence #marketing .marketing-copy p { font-size: 14px; line-height: 1.7; }
  #intelligence #marketing .real-marketing { padding: 18px 12px; gap: 16px; }
  #intelligence #marketing .marketing-art-head { font-size: 12px; }
  #intelligence #marketing .marketing-art-head .tag { display: none; }
  #marketing-native-preview { margin-inline: auto; max-width: 100%; }
  #intelligence #marketing .marketing-copy { gap: 20px; }
  #intelligence #marketing .production-copy { gap: 0; }
  #intelligence #marketing .production-copy > div { padding: 14px 0; }
  #intelligence #marketing .production-copy dt { font-size: 14px; }
  #intelligence #marketing .production-copy dd { font-size: 13px; margin-top: 5px; }
  #intelligence #marketing .journey-link-row { display: grid; gap: 0; }
  #intelligence #marketing .journey-link-row a, #intelligence #marketing .text-link { font-size: 13px; min-height: 44px; display: flex; align-items: center; }
  #intelligence #marketing .art-caption { font-size: 10px; }
  #intelligence .bm-agent-intro > p, #intelligence .bm-agent-sent p,
  #intelligence .bm-agent-assistant p, #intelligence .bm-agent-composer > p { font-size: 14px; line-height: 1.65; }
  #intelligence .bm-agent-clients button, #intelligence .bm-agent-controls button,
  #intelligence .bm-agent-composer button.bm-agent-profile-question { min-height: 44px; }
  #intelligence .bm-agent-note { font-size: 11px; }
  .company .team-tile { padding: 20px 48px 20px 80px; min-height: 112px; }
  .company .team-tile .person-focus { padding-top: 6px; font-size: 11px; }
  .company .team-tile strong { font-size: 16px; }
  .company .bloom-team .team-tile .initials { position: absolute; top: 20px; left: 20px; width: 40px; height: 40px; margin: 0; }
  .company .team-tile .person-identity strong { font: 500 16px/1.35 var(--sans); }
  .company .team-tile .person-identity small { font-size: 12px; margin-top: 5px; }
  .company .team-tile .person-focus { position: static; max-width: none; }
  .company .team-tile .person-toggle { position: absolute; right: 16px; top: 20px; margin: 0; width: 24px; height: 24px; }
  .company .team-tile .person-toggle:before { content: none; }
  .company .team-expanded-compact .team-close { width: 44px; height: 44px; }
  .company .team-tile small { font-size: 12px; line-height: 1.45; }
  .service-discovery { padding: 40px 24px; gap: 24px; }
  .service-discovery h2 { font-size: 40px; }
  .product-hero-copy > p, .product-section > p { font-size: 15px; }
  .product-actions { flex-wrap: wrap; gap: 12px 20px; }
  .product-actions > a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  .product-anchor-nav { overflow-x: auto; scroll-padding-inline: 20px; scrollbar-width: thin; }
  .product-anchor-nav a { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  .product-preview { margin-inline: 0; }
  .product-preview-note { font-size: 11px; }
}
@media (max-width: 360px) {
  .site-header { padding-inline: 12px; }
  .site-header .brand span { font-size: 30px; }
  .site-header .brand img { width: 24px; height: 24px; }
  .nav-actions { gap: 4px; }
  #intelligence #marketing { margin-inline: 12px; }
  #intelligence #marketing .real-marketing { padding-inline: 6px; }
}
