/* Our own additions on top of the Webflow export (manuchers-spectacular-site.webflow.*.css,
   which is left byte-for-byte as Webflow built it). */

/* Book a Demo form: honeypot field, off-screen for people (see functions/api/demo-request.js). */
.demo-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Book a Demo form: room for the Cloudflare Turnstile check above the Submit button. */
.demo-turnstile { min-height: 65px; margin-bottom: 16px; }

/* Phone menu (767px and narrower). The template hides every nav link at this width and its
   own phone menu only held template placeholders, so phones had no navigation; Webflow's
   hamburger (.w-nav-button) was also covered by .navigation-cover and did nothing.
   Markup: .ha-menu-button in the navbar, #ha-mobile-menu after it; logic in site.js. */
.ha-menu-button, .ha-mobile-menu { display: none; }
@media screen and (max-width: 767px) {
  /* .navbar.w-nav matches the specificity of Webflow's .w-nav[data-collapse="tiny"] rule;
     this file loads later, so it wins. */
  .navbar .navigation-cover, .navbar.w-nav .w-nav-button { display: none; }
  .ha-menu-button {
    display: flex; flex: 0 0 44px; flex-direction: column; justify-content: center; gap: 5px;
    width: 44px; height: 44px; margin: auto 0 auto auto; padding: 10px;
    background: transparent; border: 0; cursor: pointer;
  }
  .ha-menu-button span {
    display: block; height: 2px; border-radius: 1px; background: rgb(15, 15, 0);
    transition: transform .2s ease, opacity .2s ease;
  }
  .ha-menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .ha-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .ha-menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .ha-mobile-menu:not([hidden]) {
    display: block; position: fixed; z-index: 1001; background: #fff;
    border-top: 1px solid #e2e7f1; box-shadow: 0 16px 32px rgba(9, 11, 25, .14);
  }
  .ha-mobile-menu a {
    display: block; padding: 18px 20px; border-bottom: 1px solid #e2e7f1;
    color: rgb(15, 15, 0); font-family: Inter, sans-serif; font-size: 14px; line-height: 20px;
    letter-spacing: 3px; text-transform: uppercase; text-decoration: none;
  }
  .ha-mobile-menu a:last-child { border-bottom: 0; }
}
