/* Live inquiry form and search landing links; sample widgets keep their own data. */
.desktop-nav { margin-left: 0; gap: clamp(16px, 2vw, 29px); }
.nav-link[aria-expanded="true"] { color: var(--purple); }
.nav-link[aria-expanded="true"] > .icon { transform: rotate(180deg); }
.solutions-menu { width: 370px; max-width: calc(100vw - 40px); }
.nav-menu .menu-icon { flex-shrink: 0; }
.nav-menu small { line-height: 1.5; }
.mobile-nav { max-height: calc(100svh - 73px); overflow-y: auto; overscroll-behavior: contain; }
.mobile-solutions { border-bottom: 1px solid var(--line); margin-bottom: 8px; padding-bottom: 8px; }
.mobile-solutions summary { display: flex; align-items: center; justify-content: space-between; padding: 12px 8px; font-size: 14px; font-weight: 650; cursor: pointer; list-style: none; }
.mobile-solutions summary::-webkit-details-marker { display: none; }
.mobile-solutions summary > .icon { width: 16px; height: 16px; }
.mobile-solutions[open] summary { color: var(--purple); }
.mobile-solutions[open] summary > .icon { transform: rotate(180deg); }
.mobile-nav .solution-link { justify-content: flex-start; align-items: center; gap: 12px; border-radius: 9px; min-height: 64px; }
.mobile-nav .solution-link:hover { background: var(--soft); }
.solution-link .menu-icon { flex-shrink: 0; }
.solution-link b { display: block; font-size: 13px; line-height: 1.5; }
.solution-link small { display: block; font-size: 11px; line-height: 1.5; color: var(--muted); margin-top: 3px; }
.anchor-target { display: block; scroll-margin-top: 106px; }
#demo-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; max-height: min(90svh, 840px); }
#demo-dialog .dialog-header { padding-block: 12px; }
.demo-dialog-body { padding-block: 20px; overflow-y: auto; overscroll-behavior: contain; }
.demo-dialog-body h2 { font-size: clamp(25px, 4vw, 31px); line-height: 1.2; margin-block: 12px; }
.demo-dialog-body > p { margin-bottom: 18px; max-width: none; font-size: 13px; }
#demo-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 14px; }
#demo-form .form-row { gap: 14px; }
#demo-form label { min-width: 0; }
#demo-form input, #demo-form select, #demo-form textarea { width: 100%; min-width: 0; box-sizing: border-box; font: inherit; border: 1px solid #d8d2e4; border-radius: 7px; padding: 11px 12px; color: #51415e; background: white; }
#demo-form input:focus-visible, #demo-form select:focus-visible, #demo-form textarea:focus-visible { outline: 3px solid #6547ff; outline-offset: 2px; }
#demo-form textarea { resize: vertical; min-height: 80px; max-height: 180px; font-size: 14px; }
#demo-form .contact-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; line-height: 1.65; }
#demo-form .contact-consent input { width: 17px; height: 17px; padding: 0; flex-shrink: 0; margin: 3px 0 0; accent-color: #6547ff; }
#demo-form .crm-sms-choice { padding: 14px; border: 1px solid #cce5da; border-radius: 9px; background: #f5fbf8; }
#demo-form .crm-sms-choice .contact-consent { font-size: 13px; color: #3b5147; }
#demo-form .crm-sms-choice input { accent-color: #177354; }
.crm-sms-disclosure { display: block; margin: 5px 0; }
#demo-form .crm-sms-choice p { margin: 8px 0 0 26px; color: #51695d; font-size: 12px; line-height: 1.6; }
#demo-form a { color: #4327d6; text-decoration: underline; text-underline-offset: 3px; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
#demo-dialog .contact-actions { display: flex; flex-wrap: nowrap; justify-content: flex-end; padding-block: 12px; }
#demo-dialog .contact-actions .button { min-height: 42px; font-size: 13px; }
#contact-submit { min-width: 165px; }
#contact-submit:disabled { opacity: .75; cursor: wait; white-space: normal; }
#demo-feedback { line-height: 1.7; font-size: 14px; }
#demo-feedback.contact-error { background: #fff5f2; border: 1px solid #efc1b8; color: #8c3b2a; }
.contact-email { margin: 16px 0 0; font-size: 12px; color: #686073; }
.legal-links { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 20px 0; border-top: 1px solid #e9e7f0; font-size: 12px; line-height: 1.6; color: #6e5b7a; }
.legal-links a:hover { color: #4327d6; text-decoration: underline; }
.footer-solutions { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid #e9e7f0; padding: 22px 0; font-size: 12px; color: #6e5b7a; }
.footer-solutions a:hover { color: #4327d6; }
.site-footer .concept-note { line-height: 1.8; }
@media (max-width: 470px) {
  #demo-form .form-row { display: grid; grid-template-columns: 1fr; }
  #demo-form input, #demo-form select, #demo-form textarea { font-size: 16px; }
  .demo-dialog-body { padding: 20px; }
  .legal-links { gap: 10px 16px; }
}
