[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; }
}

/* ---- phone & tablet layout fixes ---- */
.lb-vs-inline, .lb-flow-down { display: none; }
@media (max-width: 983px) {
  .lb-vs { display: none !important; }
  .lb-vs-inline { display: flex !important; }
}
@media (max-width: 700px) {
  .lb-pipe-arrow { flex: 1 1 100% !important; justify-content: center; }
  .lb-pipe-arrow svg { transform: rotate(90deg); }
  .lb-round { border-radius: 28px !important; }
}
@media (max-width: 600px) {
  .lb-flow { flex-direction: column !important; align-items: stretch !important; }
  .lb-flow-down { display: flex !important; justify-content: center; }
  .lb-flow-target { writing-mode: horizontal-tb !important; justify-content: center; padding: 12px !important; letter-spacing: 0.1em !important; }
  .lb-kpi { font-size: 18px !important; }
  .lb-growth { font-size: 48px !important; }
  .lb-growth-arrow { margin-bottom: 44px !important; width: 28px; height: 28px; }
  .lb-case-h2 { font-size: 22px !important; }
  .lb-case-h1 { font-size: 30px !important; }
  .lb-foot-logo { font-size: 26px !important; }
  .lb-gift { top: 200px !important; }
  .lb-rank-num { font-size: 15px !important; }
  .lb-cta-big { font-size: 15px !important; padding-left: 22px !important; }
}

@media (max-width: 600px) {
  .lb-rank-avatar { display: none !important; }
  .lb-growth-row { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
  .lb-growth-row .lb-growth-arrow { transform: rotate(90deg); margin: 0 0 0 10px !important; }
}
