/* Runtime bridge only. Load after relational-v1.css, before inner-page detail CSS.
   research-v10.js owns state; the reference owns layout, palette and focus rings. */

#intake-form[hidden] {
  display: none !important;
}

.form-card .form-success {
  display: none;
  justify-items: start;
  align-content: start;
  gap: 14px;
  color: var(--ink);
}

.form-card .form-success.is-visible {
  display: grid;
}

.form-success .success-mark {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
}

.form-success .eyebrow {
  color: var(--muted);
}

.form-success h3 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: -.031em;
}

.form-success > p:not(.eyebrow) {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.form-success .success-ref {
  max-width: 100%;
  margin-block: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .1em;
  overflow-wrap: anywhere;
}

/* The reference's secondary button is inverse; reset lives on paper. */
.form-success .button-secondary {
  color: var(--ink);
  border-color: #8a957d;
}

.form-success .button-secondary:hover,
.form-success .button-secondary:focus-visible {
  color: var(--ink);
  border-color: var(--ink);
}

.form-card .form-alert:not(.is-visible),
.form-card .form-alert:empty {
  display: none;
}

.form-card .form-alert.is-visible:not(:empty) {
  display: block;
}

.contact-section .field.is-invalid .field-error {
  display: block;
  margin-top: 6px;
  color: var(--ar-error, #933b2e);
  font-size: 12px;
  line-height: 1.6;
}

.contact-section .field.is-invalid input,
.contact-section .field.is-invalid select,
.contact-section .field.is-invalid textarea {
  border-color: var(--ar-error, #933b2e);
}

.form-foot button[type='submit']:disabled {
  cursor: wait;
}

/* The reference already supplies visible keyboard focus and reduced-motion
   rules. Do not introduce reveal hiding, entrance effects or new motion here. */
@media (max-width: 640px) {
  body.menu-open {
    overflow: hidden;
  }

  /* Preserve the reference's .is-open layout and paper/dark header palette.
     A short landscape viewport must still let every navigation item scroll. */
  body.menu-open .site-nav.is-open {
    max-height: calc(100vh - 72px);
    max-height: calc(100dvh - 72px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .form-success h3 {
    font-size: 30px;
  }
}
