/* AIready mobile polish — loaded after aiready.css.
   Increases touch targets and constrains oversized canvases on small screens
   without changing visible type size or the desktop design. */

.contact-form-status:empty { display: none; }
.contact-form-status {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.5;
  opacity: .85;
}

/* Booking calendar placeholder should not look interactive */
.calendly-shell .calendly-placeholder { pointer-events: none; }

/* Social icons are placeholders until real profiles exist */
.footer-socials > span { display: inline-flex; cursor: default; }

@media (max-width: 900px) {
  /* --- Touch targets: pad the hit area, leave the type size alone --- */
  .master-footer .footer-group a {
    display: block;
    padding-block: 10px;
    min-height: 44px;
  }

  .nav .navlinks > a,
  .nav .product-trigger {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .master-footer .footer-socials span,
  .master-footer .footer-socials a {
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  .legal-contents a,
  .legal-page nav a {
    display: inline-block;
    padding-block: 11px;
    min-height: 44px;
  }

  .story-source a,
  .shift-story a {
    display: inline-block;
    padding-block: 6px;
  }

  /* --- Orbs: keep the animation inside the viewport and centred --- */
  .hero-product-orb,
  .product-orb {
    max-width: min(100%, 82vw);
    margin-inline: auto;
    left: auto;
    right: auto;
  }
}
