body { margin: 0; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
a { color: #5B3EE8; text-decoration: none; }
a:hover { color: #0A0A0F; }
::selection { background: #DDD6FE; color: #0A0A0F; }
img { max-width: 100%; }
* { transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.x1:hover { background: #0A0A0F; color: #FFFFFF; }
.x2:hover { border-color: #C9BFF7; background: #FFFFFF; }
.x3:hover { border-color: #C9BFF7; }
.x4:focus { border-color: #5B3EE8; box-shadow: 0 0 0 4px rgba(91,62,232,0.12); }

@media (max-width: 900px) {
  section > div { padding-left: 22px !important; padding-right: 22px !important; }
  [style*="repeat(3, minmax"], [style*="repeat(2, minmax"] { grid-template-columns: minmax(0, 1fr) !important; }
  h1 { font-size: 38px !important; }
  h2 { font-size: 30px !important; }
  header > div { padding: 14px 22px !important; }
}

[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
#access { scroll-margin-top: 90px; }
.lead-form { box-sizing: border-box; background: #F9FAFB; border: 1px solid #E9E7F3; border-radius: 24px; padding: 32px; display: grid; gap: 12px; width: 100%; max-width: 520px; text-align: left; }
.lead-form label { font-size: 13px; font-weight: 700; color: #4A4A63; }
.lead-form input:not([type="hidden"]), .lead-form select, .lead-form textarea { box-sizing: border-box; width: 100%; padding: 14px; font: inherit; font-size: 16px; color: #0A0A0F; background: white; border: 1px solid #D6D1E8; border-radius: 10px; }
.lead-form textarea { resize: vertical; }
.lead-form :is(input,select,textarea):focus-visible { outline: 2px solid #5B3EE8; outline-offset: 2px; }
.lead-form button { padding: 16px; font: inherit; font-weight: 700; background: #5B3EE8; color: white; border: 0; border-radius: 999px; cursor: pointer; }
.lead-form button:disabled { opacity: .65; cursor: wait; }
.form-note { margin: 0; font-size: 12px; line-height: 1.6; color: #6B6B87; }
#access-confirm { color: #3D2B99; font-size: 14px; line-height: 1.6; }
#access-error { color: #A12222; font-size: 14px; line-height: 1.6; }
@media (max-width: 480px) { header > div { gap: 10px !important; } header > div > div:last-child { gap: 12px !important; } header img { max-width: 88px; height: auto !important; } .lead-form { padding: 22px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
