[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
:focus-visible { outline: 3px solid #5B3DF5; outline-offset: 3px; }

/* honeypot: off-screen, not display:none so bots still fill it */
.lb-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* contact form */
.lb-type:has(input:checked) { border-color: #5B3DF5 !important; background: #F3F0FF !important; }
#contact-form input[type="text"]:focus,
#contact-form input[type="email"]:focus,
#contact-form textarea:focus { outline: none; border-color: #5B3DF5 !important; box-shadow: 0 0 0 3px rgba(91, 61, 245, 0.2); }
#contact-form [aria-invalid="true"] { border-color: #C4183A !important; }
#contact-form button[disabled] { opacity: 0.6; cursor: wait; }

/* small phones: keep header on one row (CTA lives in the drawer) */
@media (max-width: 520px) {
  .lb-cta { display: none !important; }
  .lb-logo { font-size: 15px !important; padding: 0 16px !important; }
}
