/**
 * Greenfield canonical: Form
 * v3.21.19
 */

.ssla-section.ssla-g-form {
  background-color: var(--ssla-bg-color, transparent);
  color: var(--g-form-fg);
  padding: var(--g-form-section-padding);
}
.ssla-g-form-inner {
  max-width: var(--g-form-content-max-width);
  margin: 0 auto;
  padding: var(--paint-section-padding, 80px) 24px;
  display: flex;
  flex-direction: column;
  gap: var(--g-form-gap, 40px);
}
.ssla-g-form-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ssla-g-form-eyebrow {
  font: 600 12px/1.2 var(--shell-bf, system-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--g-form-eyebrow);
}
.ssla-g-form-heading {
  font: 700 var(--g-form-heading-size, clamp(26px, 3.5vw, 40px))/1.2 var(--g-form-heading-family, var(--shell-hf, system-ui));
  color: var(--g-form-heading);
  margin: 0;
}
.ssla-g-form-lede {
  font: 400 var(--g-form-body-size, 18px)/1.55 var(--g-form-body-family, var(--shell-bf, system-ui));
  color: var(--g-form-body);
  margin: 0;
}
.ssla-g-form-secondary-cta {
  font: 600 14px/1 var(--shell-bf, system-ui);
  color: var(--g-form-heading);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  align-self: flex-start;
  padding-bottom: 2px;
}
.ssla-g-form-formwrap { display: flex; flex-direction: column; gap: 12px; }
.ssla-g-form-form :where(input, textarea, select) {
  border: 1px solid var(--g-form-field-border);
  background: transparent;
  color: inherit;
  font: 400 15px/1.4 var(--g-form-body-family, var(--shell-bf, system-ui));
  padding: 12px 14px;
  width: 100%;
}

/* Layout — split places content beside the form */
.ssla-g-form--layout-split .ssla-g-form-inner {
  flex-direction: row;
  align-items: flex-start;
}
.ssla-g-form--layout-split .ssla-g-form-content { flex: 1 1 45%; }
.ssla-g-form--layout-split .ssla-g-form-formwrap { flex: 1 1 55%; }
.ssla-g-form--layout-stacked .ssla-g-form-inner { max-width: 640px; }

/* Density — minimal hides eyebrow, lede, secondary CTA */
.ssla-g-form--density-minimal .ssla-g-form-eyebrow,
.ssla-g-form--density-minimal .ssla-g-form-lede,
.ssla-g-form--density-minimal .ssla-g-form-secondary-cta { display: none; }

/* Skeleton */
.ssla-g-form {
  --g-form-fg:                 var(--brand-fg);
  --g-form-eyebrow:            var(--brand-accent);
  --g-form-heading:            var(--brand-fg);
  --g-form-body:               var(--brand-fg);
  --g-form-field-border:       rgba(0,0,0,0.20);
  --g-form-heading-family:     var(--shell-hf, system-ui);
  --g-form-heading-size:       clamp(26px, 3.5vw, 40px);
  --g-form-body-family:        var(--shell-bf, system-ui);
  --g-form-body-size:          18px;
  --g-form-section-padding:    0;
  --g-form-content-max-width:  1100px;
  --g-form-gap:                40px;
}

/* Tone */
.ssla-g-form--tone-light {
  --g-form-fg:            #1a1a1a;
  --g-form-heading:       #1a1a1a;
  --g-form-body:          #4a4a4a;
  --g-form-field-border:  rgba(0,0,0,0.20);
}
.ssla-g-form--tone-dark {
  --g-form-fg:            #f5f5f5;
  --g-form-heading:       #ffffff;
  --g-form-body:          #d0d0d0;
  --g-form-field-border:  rgba(255,255,255,0.22);
}
.ssla-g-form--tone-accent {
  --g-form-fg:            var(--preset-accent-fg, #1a1a1a);
  --g-form-heading:       var(--preset-accent-fg, #1a1a1a);
  --g-form-body:          var(--preset-accent-fg, #1a1a1a);
}

@media (max-width: 768px) {
  .ssla-g-form-inner { padding: 40px 16px; }
  .ssla-g-form--layout-split .ssla-g-form-inner { flex-direction: column; }
  .ssla-g-form-heading { font-size: clamp(22px, 5vw, 30px); }
}
