.frd-form-shell {
  --frd-navy: #022a5b;
  --frd-gold: #d39d07;
  --frd-border: #dce3ed;
  --frd-bg: #f7f9fc;
  --frd-text: #172033;
  --frd-hero-bg: linear-gradient(135deg, var(--frd-navy), #063b7a);
  --frd-hero-text: #fff;
  --frd-hero-align: left;
  --frd-shell-bg: transparent;
  --frd-form-bg: #fff;
  --frd-shell-padding: 24px;
  --frd-hero-padding: 34px;
  --frd-form-padding: 22px;
  --frd-hero-radius: 8px;
  --frd-form-radius: 8px;
  --frd-field-radius: 6px;
  --frd-button-radius: 6px;
  --frd-form-shadow: none;
  --frd-logo-bg: transparent;
  --frd-logo-width: 180px;
  --frd-logo-padding: 0;
  --frd-section-border: 1px solid var(--frd-border);
  color: var(--frd-text);
  font-family: inherit;
  max-width: 1060px;
  margin: 0 auto;
  padding: var(--frd-shell-padding);
  background: var(--frd-shell-bg);
}

.frd-form-hero {
  background: var(--frd-hero-bg);
  color: var(--frd-hero-text);
  text-align: var(--frd-hero-align);
  padding: var(--frd-hero-padding);
  border-radius: var(--frd-hero-radius);
  margin-bottom: 18px;
}

.frd-logo-wrap {
  margin-bottom: 18px;
}

.frd-logo-align-left {
  text-align: left;
}

.frd-logo-align-center {
  text-align: center;
}

.frd-logo-align-right {
  text-align: right;
}

.frd-company-logo {
  display: inline-block;
  max-width: var(--frd-logo-width);
  max-height: 76px;
  object-fit: contain;
  margin: 0;
  padding: var(--frd-logo-padding);
  border-radius: var(--frd-field-radius);
  background: var(--frd-logo-bg);
}

.frd-eyebrow {
  display: inline-flex;
  color: var(--frd-gold);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.frd-form-hero h2 {
  color: var(--frd-hero-text);
  margin: 0 0 8px;
  font-size: 30px;
  line-height: 1.15;
}

.frd-form-hero p {
  margin: 0;
  max-width: 620px;
  color: var(--frd-hero-text);
  opacity: .86;
}

.frd-financing-form {
  background: var(--frd-form-bg);
  border: 1px solid var(--frd-border);
  border-radius: var(--frd-form-radius);
  padding: var(--frd-form-padding);
  box-shadow: var(--frd-form-shadow);
}

.frd-step-status {
  display: grid;
  gap: 12px;
  padding: 16px;
  margin-bottom: 8px;
  background: var(--frd-bg);
  border: 1px solid var(--frd-border);
  border-radius: var(--frd-form-radius);
}

.frd-step-kicker {
  display: block;
  margin-bottom: 4px;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.frd-step-status h3 {
  margin: 0;
  color: var(--frd-navy);
  font-size: 22px;
}

.frd-step-track {
  height: 8px;
  overflow: hidden;
  background: #e8eef7;
  border-radius: 999px;
}

.frd-step-track span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--frd-gold);
  border-radius: inherit;
  transition: width .24s ease;
}

.frd-section {
  border-bottom: var(--frd-section-border);
  padding: 22px 0;
  display: none;
}

.frd-section.frd-step-active {
  display: block;
}

.frd-section:first-child {
  padding-top: 0;
}

.frd-section:last-of-type {
  border-bottom: 0;
}

.frd-section-heading {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.frd-section-heading > span {
  background: var(--frd-gold);
  color: #fff;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  font-weight: 700;
  flex: 0 0 30px;
}

.frd-section-heading h3 {
  margin: 0 0 2px;
  color: var(--frd-navy);
  font-size: 20px;
}

.frd-section-heading p {
  margin: 0;
  color: #667085;
  font-size: 14px;
}

.frd-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.frd-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.frd-field span,
.frd-consent span {
  font-weight: 650;
  color: #263349;
}

.frd-field input,
.frd-field select,
.frd-field textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cfd8e3;
  border-radius: var(--frd-field-radius);
  padding: 10px 12px;
  font: inherit;
  background: #fff;
  color: var(--frd-text);
}

.frd-field input[readonly] {
  background: var(--frd-bg);
  font-weight: 700;
  color: var(--frd-navy);
}

.frd-field small {
  color: #667085;
}

.frd-hidden {
  display: none !important;
}

.frd-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid var(--frd-border);
  border-radius: var(--frd-field-radius);
  background: var(--frd-bg);
}

.frd-consent input {
  margin-top: 4px;
}

.frd-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 18px;
}

.frd-actions button {
  background: var(--frd-navy);
  color: #fff;
  border: 0;
  border-radius: var(--frd-button-radius);
  min-height: 48px;
  padding: 0 24px;
  font-weight: 700;
  cursor: pointer;
}

.frd-actions .frd-secondary-button {
  background: #fff;
  color: var(--frd-navy);
  border: 1px solid var(--frd-border);
}

.frd-actions button:hover {
  background: #003370;
}

.frd-actions .frd-secondary-button:hover {
  background: var(--frd-bg);
}

.frd-field-error input,
.frd-field-error select,
.frd-field-error textarea,
.frd-field-error.frd-consent {
  border-color: #f20040;
  box-shadow: 0 0 0 2px rgba(242, 0, 64, .08);
}

.frd-alert {
  border-radius: 6px;
  padding: 13px 15px;
  margin-bottom: 16px;
  font-weight: 650;
}

.frd-alert-success {
  background: #ecf8e8;
  border: 1px solid #bfe8b3;
  color: #276b12;
}

.frd-alert-error {
  background: #fff0f3;
  border: 1px solid #ffc7d4;
  color: #a9002d;
}

.frd-admin-detail h3 {
  color: #022a5b;
  margin-top: 18px;
}

@media (max-width: 760px) {
  .frd-form-shell {
    padding: 12px;
  }

  .frd-form-hero {
    padding: 24px;
  }

  .frd-form-hero h2 {
    font-size: 24px;
  }

  .frd-financing-form {
    padding: 16px;
  }

  .frd-grid {
    grid-template-columns: 1fr;
  }

  .frd-actions {
    flex-direction: column;
    justify-content: stretch;
  }

  .frd-actions button {
    width: 100%;
  }
}
