/* Phone layouts for the public website. Desktop workbench demos keep their own tokens. */
@media (max-width: 767px) {
  html { scroll-padding-top: 72px; }
  #scroll-section .framer-1ojaeqe { padding-inline: 16px; gap: 24px !important; }
  #scroll-section .framer-5mpfu7,
  #scroll-section .framer-1raaxh-container { width: 100% !important; max-width: 420px; }
  #scroll-section .framer-1oqqnth { scale: 1 !important; translate: none !important; }
  #scroll-section [data-framer-name="dashboard image"]:has([data-crux-demo="hero"]) { aspect-ratio: 16 / 10 !important; }
  .crux-nav { top: env(safe-area-inset-top, 0px); }
  .crux-nav-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
  .crux-nav-links { gap: 8px; padding-inline: 12px; }
  .crux-nav-links a.crux-btn { height: 44px; }
  .cwp-bar { width: 100%; padding: 4px; gap: 2px; }
  .cwp-tabs { flex: 1; min-width: 0; gap: 2px; }
  .cwp-tab { flex: 1; min-width: 0; height: 44px; padding-inline: 6px; font-size: 12px; }
  .cwp-pause { width: 44px; height: 44px; flex: none; }
  .cwp-divider { margin-inline: 0; }
  .cwp-caption { font-size: 13px; line-height: 1.6; padding: 6px 12px; }
  .crux-announce { max-width: calc(100vw - 32px); gap: 8px; padding-left: 10px; font-size: 11px; }
  .crux-announce-text { min-width: 0; overflow-wrap: anywhere; }
  .crux-announce a { height: 44px; padding-inline: 10px; }
  #join { scroll-margin-top: 68px; }
  #join h2 { font-size: clamp(32px, 8.5vw, 44px) !important; line-height: 1.1 !important; }
  #join .framer-17n6nig-container { width: 100% !important; }
  .framer-1jeh961 a { min-height: 44px; display: inline-flex; align-items: center; }
}
@media (max-width: 600px) {
  #scroll-section form.crux-waitlist,
  #join form.crux-waitlist { width: 100% !important; max-width: 420px; flex-direction: column; align-items: stretch; gap: 10px; }
  #scroll-section form.crux-waitlist > input[type=email],
  #join form.crux-waitlist > input[type=email] { flex: none !important; width: 100% !important; min-width: 0; height: 48px; font-size: 16px; padding-inline: 16px; }
  #scroll-section form.crux-waitlist > button,
  #join form.crux-waitlist > button { flex: none; width: 100% !important; height: 48px; min-height: 48px; font-size: 15px; }
  form.crux-waitlist .crux-waitlist-msg { font-size: 13px; line-height: 1.5; text-align: center; }
  form.crux-waitlist .crux-waitlist-msg:empty { display: none; }
}
@media (pointer: coarse) {
  .crux-logo a { min-height: 44px; }
  .crux-btn { touch-action: manipulation; }
}
@media(max-width:640px) {
  .crux-nav-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); height:auto; gap:4px 8px; padding:8px 12px 12px; }
  .crux-nav-links a.crux-btn { grid-column:1 / -1; margin-left:0; }
  .crux-nav[data-mode="open"] .crux-nav-shell { height:160px; }
}
@media(max-width:767px) {
  [data-crux-demo="hero"] .ch-project,
  [data-crux-demo="hero"] .ch-presence { display:none; }
  [data-crux-demo="hero"] .ch-share { width:28px; padding:0; justify-content:center; gap:0; font-size:0; }
  [data-crux-demo="hero"] .ch-agent-notch[data-phase="working"] { max-width:210px; }
}
