/* Fallback copy of the shared form system, scoped, so the intake renders even without system.css */
.gx-root .form-stage { display: grid; gap: 1.5rem; align-items: start; }
.gx-root .form-aside h2 { max-width: 16ch; }
.gx-root .reassure { padding-left: 1.1rem; }
.gx-root .reassure li + li { margin-top: 0.45rem; }
.gx-root .aside-phone a { font-weight: 700; }
.gx-root .form-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  box-shadow: 0 24px 50px rgba(12, 39, 68, 0.1);
  padding: 1.25rem;
}
.gx-root .stepper { display: flex; flex-wrap: wrap; gap: 0.45rem; list-style: none; padding: 0; margin: 0 0 0.8rem; }
.gx-root .stepper-item { display: flex; align-items: center; gap: 0.35rem; color: var(--muted); font-size: 0.86rem; min-height: 44px; }
.gx-root .stepper-index {
  width: 1.6rem; height: 1.6rem; border-radius: 99px; display: grid; place-items: center;
  border: 1px solid var(--line); font-size: 0.78rem;
}
.gx-root .stepper-item.is-current { color: var(--navy-deep); font-weight: 700; }
.gx-root .stepper-item.is-current .stepper-index,.gx-root .stepper-item.is-done .stepper-index { background: var(--navy); color: white; border-color: var(--navy); }
.gx-root .field-grid { display: grid; gap: 0.85rem; }
.gx-root .field { display: grid; gap: 0.3rem; min-width: 0; }
.gx-root .field-label { font-size: 0.92rem; font-weight: 650; }
.gx-root .field input,.gx-root .field select,.gx-root .field textarea {
  width: 100%;
  min-height: 48px;
  border-radius: 0.8rem;
  border: 1px solid #c9bfae;
  background: #fff;
  padding: 0.7rem 0.85rem;
  font: inherit;
}
.gx-root .field textarea { min-height: 8rem; }
.gx-root .field-hint { margin: 0; color: var(--muted); font-size: 0.88rem; }
.gx-root .chip-grid { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.gx-root .chip { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: 0.35rem 0.8rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; }
.gx-root .chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gx-root .chip:has(input:checked) { border-color: var(--navy); background: #e7eef6; }
.gx-root .chip:has(input:focus-visible) { outline: 3px solid var(--navy); outline-offset: 2px; }
.gx-root .wizard-next span { display: inline-block; margin-left: 0.25rem; }
.gx-root .wizard-submit.is-loading .btn-label { visibility: hidden; }
.gx-root .wizard-submit .spinner { display: none; width: 1rem; height: 1rem; border-radius: 99px; border: 2px solid rgba(255,255,255,0.4); border-top-color: white; position: absolute; }
.gx-root .wizard-submit { position: relative; }
.gx-root .wizard-submit.is-loading .spinner { display: block; }
.gx-root .check { width: 3rem; height: 3rem; border-radius: 99px; display: grid; place-items: center; background: #e7f0e9; color: #14532d; font-size: 1.4rem; margin: 0; }
@media (min-width: 900px) { .gx-root .form-stage { grid-template-columns: 0.85fr 1.15fr; } .gx-root .field-grid { grid-template-columns: 1fr 1fr; } .gx-root .field-span { grid-column: 1 / -1; } }
.gx-root .wizard-meter { height: 0.35rem; background: var(--line); border-radius: 99px; overflow: hidden; }
.gx-root .wizard-meter > span { display: block; height: 100%; background: var(--navy); transition: width 300ms ease; }
.gx-root .wizard-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.gx-root .wizard-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
@keyframes spin { to { transform: rotate(360deg); } }
.gx-root .wizard-submit.is-loading .spinner { animation: spin 700ms linear infinite; }

/* Intake forms: extends the shared form system (system.css) */
.gx-root .gx-fallback { padding: 1.25rem; }
.gx-root.is-ready .gx-fallback { display: none; }
.gx-form { min-width: 0; }
@media (min-width: 900px) { .gx-form { padding: 1.75rem 2rem; } }
.gx-form .stepper { flex-wrap: nowrap; gap: 0.25rem; overflow: hidden; }
.gx-form .stepper-item { flex: 1 1 0; min-width: 0; }
.gx-stepbtn { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 0.4rem; min-height: 44px; width: 100%; padding: 0 0.35rem; border-radius: 0.6rem; color: inherit; font: inherit; cursor: pointer; }
.gx-stepbtn:disabled { cursor: default; }
.gx-stepbtn:focus-visible { outline: 3px solid var(--navy); outline-offset: 2px; }
.stepper-item.is-done .gx-stepbtn:hover { background: #eef3f8; }
.gx-stepbtn .stepper-index { flex: 0 0 auto; transition: background 200ms ease, color 200ms ease; }
.gx-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 899px) {
  .gx-form .stepper-item { flex: 0 0 auto; }
  .gx-form .stepper-item.is-current { flex: 1 1 auto; }
  .gx-form .stepper-item:not(.is-current) .gx-name { display: none; }
}
.gx-form .wizard-step legend { padding: 0; margin: 0 0 1rem; }
.gx-req { color: #9a3412; }
.gx-form .field-label { font-size: 0.95rem; }
.gx-form .field input:focus, .gx-form .field textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 4px rgba(18, 69, 118, 0.15); }
.gx-form .field-error { font-weight: 600; font-size: 0.9rem; margin: 0; }
.gx-form .chip { transition: border-color 160ms ease, background 160ms ease; font-weight: 600; }
.gx-form .chip:hover { border-color: var(--navy); }
.gx-form .chip-grid.gx-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.55rem; }
@media (min-width: 700px) { .gx-form .chip-grid.gx-cards { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); } }
.gx-form .gx-cards .chip { display: flex; border-radius: 0.85rem; padding: 0.7rem 0.9rem; line-height: 1.35; }
.gx-check { display: flex; gap: 0.75rem; align-items: flex-start; cursor: pointer; padding: 0.85rem 1rem; border: 1px solid var(--line); border-radius: 0.85rem; background: #fbf8f2; font-size: 0.92rem; line-height: 1.5; font-weight: 400; }
.gx-form .gx-check input { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; min-height: 0; margin: 0.1rem 0 0; padding: 0; accent-color: var(--navy); }
.gx-consent:has([aria-invalid="true"]) .gx-check { border-color: var(--danger); }
.gx-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.gx-banner:not([hidden]) { padding: 0.75rem 1rem; border-radius: 0.75rem; background: #fdecea; border: 1px solid #f3c1bb; font-weight: 600; }
.gx-form .wizard-actions { align-items: center; padding-top: 1rem; border-top: 1px solid var(--line); margin-top: 1.25rem; }
.gx-form .wizard-actions .wizard-next, .gx-form .wizard-actions .wizard-submit { margin-left: auto; }
.gx-form .btn-ghost { color: var(--navy); border-color: var(--navy); background: transparent; }
.gx-form .btn[hidden] { display: none; }
.gx-form .wizard-submit:disabled, .gx-form .wizard-back:disabled { opacity: 0.7; cursor: progress; }
.gx-success { text-align: center; padding: 1.5rem 0.5rem; }
.gx-success .check { margin: 0 auto 0.5rem; }
@media (max-width: 599px) { .gx-form .wizard-actions .btn { flex: 1 1 auto; } .gx-form .wizard-actions .wizard-next, .gx-form .wizard-actions .wizard-submit { margin-left: 0; } }
@media (prefers-reduced-motion: no-preference) {
  .gx-step.is-active { animation: gx-in 300ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .gx-success:not([hidden]) { animation: gx-in 350ms ease; }
}
@keyframes gx-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* consent boxes on the eligibility, contact and service request forms */
.consent-choice { display: flex; gap: 0.7rem; align-items: flex-start; margin: 0.9rem 0 0.2rem; font-size: 0.92rem; line-height: 1.5; cursor: pointer; grid-column: 1 / -1; }
.consent-choice input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; min-height: 0; margin: 0.15rem 0 0; accent-color: var(--navy); }
.consent-choice span { color: var(--ink) !important; }
@media (min-width: 900px) { .gx-root .form-aside { position: sticky; top: 6.5rem; } }
.gx-form .gx-step:not([hidden]) + .gx-step:not([hidden]) { margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--line); }
/* Tap targets of at least 44px (2026-11-04 QA). */
.gx-stepbtn { min-width: 44px; }
