.founding-contractor-page {
  --founding-gap: 1rem;
}

.founding-hero,
.founding-form-card {
  padding-block: clamp(2rem, 6vw, 4rem);
}

.founding-campaign-line {
  max-width: 50rem;
  font-size: clamp(1.12rem, 2vw, 1.35rem);
}

.founding-disclosure,
#founding-contractor-status {
  color: var(--seo-muted);
}

.founding-trade-grid,
.founding-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--founding-gap);
}

.founding-trade-card,
.founding-form-card,
.founding-success {
  padding: 1.25rem;
  border: 1px solid var(--seo-border);
  border-radius: 1rem;
  background: var(--seo-surface);
}

.founding-trade-card {
  text-decoration: none;
}

.founding-trade-card:hover {
  border-color: var(--seo-accent);
}

.founding-form-card {
  max-width: var(--seo-max);
  margin-block: 2rem;
}

.founding-field-grid label,
.founding-consent {
  display: grid;
  gap: .45rem;
  font-weight: 700;
}

.founding-field-grid input,
.founding-field-grid select {
  min-height: 2.75rem;
  padding: .6rem .7rem;
  border: 1px solid var(--seo-border);
  border-radius: .5rem;
  background: var(--seo-bg);
  color: var(--seo-text);
  font: inherit;
}

.founding-consent {
  grid-template-columns: auto 1fr;
  align-items: start;
  margin-top: 1rem;
  font-weight: 400;
}

.founding-consent input {
  margin-top: .3rem;
}

.founding-form-actions {
  margin-top: 1rem;
}

.founding-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.founding-contractor-page :is(input, select, button, a):focus-visible {
  outline: 3px solid var(--seo-accent);
  outline-offset: 3px;
}

.founding-contractor-page button:disabled,
.founding-contractor-page [aria-busy="true"] .seo-cta {
  cursor: wait;
  opacity: .6;
}

.founding-success {
  margin-top: 1rem;
}

@media (max-width: 720px) {
  .founding-trade-grid,
  .founding-field-grid {
    grid-template-columns: 1fr;
  }
}
