/* Tommy & Spartan — Founding 20 application form */

.f20-hero { padding: 56px 0 64px; }
.f20-hero-lockup { margin-bottom: 40px; }
.f20-hero-lockup img { display: block; }
.f20-title { font-size: 30px; line-height: 1.14; color: var(--advisory-paper); font-weight: 400; max-width: 600px; }
.f20-intro { margin-top: 28px; }
.f20-intro p { font-size: 16px; line-height: 1.625; color: rgba(245, 239, 227, 0.82); max-width: 600px; }
.f20-intro p + p { margin-top: 16px; }

.f20-form-wrap { padding: 56px 24px 80px; }

.f20-section { padding: 40px 0; border-bottom: 1px solid rgba(15, 27, 45, 0.1); }
.f20-section:first-child { padding-top: 0; }
.f20-section-kicker { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.22em; color: var(--advisory-gold-2); margin-bottom: 12px; }
.f20-section-title { font-size: 24px; color: var(--advisory-navy); font-weight: 400; }
.f20-section-sub { margin-top: 6px; font-size: 14.5px; font-style: italic; color: rgba(15, 27, 45, 0.6); }

.f20-field { margin-top: 28px; border: 0; }
.f20-field label, .f20-field legend { display: block; font-size: 14.5px; font-weight: 500; line-height: 1.5; color: var(--advisory-navy); margin-bottom: 10px; }
.f20-field .req { color: var(--advisory-gold-2); }

.f20-field input[type="text"],
.f20-field input[type="email"],
.f20-field input[type="url"],
.f20-field textarea {
  width: 100%;
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--advisory-navy);
  background: #FFFFFF;
  border: 1px solid rgba(15, 27, 45, 0.22);
  border-radius: 2px;
  padding: 11px 13px;
}
.f20-field input:focus, .f20-field textarea:focus {
  outline: none;
  border-color: var(--advisory-gold);
  box-shadow: 0 0 0 2px rgba(201, 168, 76, 0.25);
}
.f20-field textarea { resize: vertical; min-height: 96px; }

.f20-radios label {
  display: flex; align-items: flex-start; gap: 10px;
  font-weight: 400; font-size: 14.5px; color: rgba(15, 27, 45, 0.85);
  margin: 0 0 9px; cursor: pointer;
}
.f20-radios input[type="radio"] {
  flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px;
  accent-color: var(--advisory-gold-2);
}

.f20-field.f20-invalid input[type="text"],
.f20-field.f20-invalid input[type="email"],
.f20-field.f20-invalid input[type="url"],
.f20-field.f20-invalid textarea { border-color: #B03030; }
.f20-field.f20-invalid legend, .f20-field.f20-invalid > label { color: #B03030; }

.f20-error { margin-top: 32px; font-size: 14px; color: #B03030; }

.f20-submit { margin-top: 36px; cursor: pointer; border: 0; font-family: var(--font-sans); }
.f20-submit[disabled] { opacity: 0.6; cursor: default; }
.f20-fineprint { margin-top: 20px; font-size: 12.5px; color: rgba(15, 27, 45, 0.55); }
.f20-fineprint a { color: var(--advisory-gold-2); }

.f20-confirm p { margin-top: 20px; font-size: 16px; line-height: 1.625; color: rgba(15, 27, 45, 0.78); max-width: 560px; }
.rule-ink { margin-top: 40px; background-color: var(--advisory-gold); }

.f20-footer { padding: 28px 0; }
.f20-footer p { font-size: 12.5px; color: rgba(245, 239, 227, 0.55); letter-spacing: 0.06em; }

.f20-hidden { display: none; }
