/* Professional waitlist page. Uses the tokens defined in site.css. */
.pro-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 22px 0 0; }
.guide-body h3 { margin: 26px 0 6px; color: var(--text); font-size: 19px; line-height: 1.35; letter-spacing: -.3px; }
.guide-body h3 + p { margin-top: 0; }
.pro-form-card { margin: 44px 0 12px; padding: 28px; border: 1px solid var(--teal); border-radius: 20px; background: #fff; scroll-margin-top: 90px; }
.pro-form-card h2 { margin: 0 0 4px; font-size: clamp(24px, 4vw, 30px); line-height: 1.25; letter-spacing: -.7px; }
.pro-form-card > .guide-small { margin: 0 0 18px; }
.pro-form { display: grid; gap: 16px; }
.pro-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pro-row { display: grid; gap: 6px; min-width: 0; }
.pro-row label { color: var(--text); font-size: 14px; font-weight: 750; }
.pro-row label span { color: var(--muted); font-weight: 600; }
.pro-row input, .pro-row select, .pro-row textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--navy); color: var(--text); font: inherit; font-size: 16px; }
.pro-row textarea { min-height: 92px; resize: vertical; line-height: 1.5; }
.pro-row input:focus-visible, .pro-row select:focus-visible, .pro-row textarea:focus-visible { outline: 3px solid var(--teal); outline-offset: 1px; }
.pro-row [aria-invalid="true"] { border-color: #b3261e; box-shadow: inset 0 0 0 1px #b3261e; }
.pro-hint { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.pro-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pro-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--text); font-size: 14px; line-height: 1.5; cursor: pointer; }
.pro-consent input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--teal); }
.pro-consent input[aria-invalid="true"] { outline: 2px solid #b3261e; outline-offset: 2px; }
.pro-submit { justify-self: start; min-width: 200px; border: 0; font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; }
.pro-submit:disabled { opacity: .6; cursor: progress; transform: none; }
.pro-status { margin: 0; min-height: 1.5em; color: var(--muted); font-size: 14px; line-height: 1.5; }
.pro-status:empty { display: none; }
.pro-status.is-error { color: #b3261e; font-weight: 650; }
.pro-done { padding: 18px 20px; border-radius: 14px; background: #e3eeea; outline: none; }
.pro-done h3 { margin: 0 0 6px; color: var(--teal); font-size: 19px; }
.pro-done p { margin: 0; color: var(--text); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .pro-form-card { padding: 20px; border-radius: 16px; }
  .pro-grid { grid-template-columns: 1fr; }
  .pro-submit { width: 100%; }
}
