@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  src: url('/hanken-grotesk.944e15cd5602.woff2') format('woff2');
}

/* Application presentation shares the landing's brand; question flow stays unchanged. */
.application-page {
  --wash: #f5f6f9;
  background: var(--wash);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.application-page h1, .application-page h2, .application-page h3 {
  font-family: 'Hanken Grotesk', Inter, Arial, sans-serif;
  font-weight: 700;
}
.application-page .site-header { background: #242a38; border: 0; }
.application-page .header-inner { height: 80px; max-width: 1200px; }
.application-page .wordmark { gap: 24px; }
.application-page .brand-divider { display: none; }
.application-page .wordmark small { color: #c1c9d8; font-size: 11px; font-weight: 700; letter-spacing: 1.2px; }
.application-page .application-back { color: #c1c9d8; font-size: 14px; font-weight: 600; }
.application-page .application-back:hover { color: #f2f4f8; }
.application-page .site-header a:focus-visible { outline-color: #ff827a; }
.application-page .application-main { flex: 1; padding-top: 48px; padding-bottom: 48px; }
.application-page .application-heading { margin-bottom: 32px; }
.application-page .application-heading .eyebrow { font-size: 11px; line-height: 16px; letter-spacing: 1.2px; margin-bottom: 16px; }
.application-page .application-heading h1 { font-size: 40px; line-height: 48px; letter-spacing: -.6px; margin-bottom: 16px; }
.application-page .application-heading p { font-size: 16px; line-height: 26px; }
.application-page .application-heading.compact { margin-bottom: 20px; }
.application-page .application-heading.compact h1 { font-size: 24px; line-height: 32px; margin-bottom: 0; }
.application-page .application-heading.compact .eyebrow,
.application-page .application-heading.compact > p:not(.eyebrow) { display: none; }
.application-page .intake-availability { margin-bottom: 16px; }
.application-page #intake-status { color: var(--muted); font-size: 14px; line-height: 22px; margin: 0; }
.application-page #intake-retry { margin-top: 8px; }
.application-page .application-card { border-radius: 8px; border: 1px solid #e1e5ec; box-shadow: none; padding: 32px; }
.application-page .form-title { font-size: 28px; line-height: 36px; letter-spacing: -.3px; font-weight: 700; }
.application-page .form-description, .application-page .question-section-intro { line-height: 26px; }
.application-page .form-description { margin-bottom: 24px; }
.application-page .question-section h3 { font-size: 22px; line-height: 28px; }
.application-page .question-section { margin-top: 24px; padding-top: 20px; scroll-margin-top: 20px; }
.application-page .question-section:focus-visible { outline: 2px solid var(--red); outline-offset: 8px; }
.application-page .question-section h3 { margin-bottom: 8px; }
.application-page .field, .application-page fieldset { margin-bottom: 18px; }
.application-page textarea { min-height: 96px; }
.application-page .question-navigation { display: block; color: var(--ink); margin-bottom: 24px; }
.application-page .question-navigation p { color: var(--muted); font-size: 14px; line-height: 22px; margin: 0 0 4px; }
.application-page .question-navigation ul { display: flex; flex-wrap: wrap; gap: 0 24px; list-style: none; padding: 0; margin: 0; }
.application-page .question-navigation a { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; min-height: 44px; font-size: 14px; line-height: 22px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.application-page .question-navigation a span { color: var(--muted); font-weight: 400; }
.application-page .question-navigation a:hover { color: var(--red); }
.application-page .review-group h3 { font-family: Inter, Arial, sans-serif; font-size: 16px; }
.application-page .review-group button { min-height: 44px; margin-top: 4px; font-size: 14px; }
.application-page .review-empty { color: var(--muted); margin-top: 12px; font-size: 14px; line-height: 22px; }
.application-page .review-empty summary { cursor: pointer; min-height: 44px; padding-block: 11px; }
.application-page .review-empty ul { margin: 0 0 8px; padding-left: 20px; }
.application-page .choice { border-radius: 8px; }
.application-page input:not([type=radio]):not([type=checkbox]), .application-page select, .application-page textarea { border-radius: 6px; }
.application-page .button { border-radius: 6px; font-size: 14px; line-height: 20px; min-height: 48px; padding: 13px 24px; }
.application-page .button.secondary { border-color: #858c98; }
.application-page #form-content > :last-child, .application-page #form-content > .question-section:last-child > :last-child { margin-bottom: 0; }
.application-page .form-actions { margin-top: 24px; padding-top: 24px; }
.application-page .stage-marker { font-family: Inter, Arial, sans-serif; }
.application-page footer { background: #fff; color: #5d687a; border-top: 1px solid #e1e5ec; }
.application-page .footer-inner { padding-block: 24px; }
.application-page .footer-inner > span { font-size: 13px; }
.application-page .footer-inner > a { color: var(--ink); font-size: 14px; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 600px) {
  .application-page .header-inner { height: 72px; }
  .application-page .brand-logo { width: 118px; }
  .application-page .application-back { font-size: 13px; gap: 6px; }
  .application-page .application-main { padding-top: 32px; padding-bottom: 32px; }
  .application-page .application-heading h1 { font-size: 30px; line-height: 38px; }
  .application-page .application-card { padding: 24px 20px; }
  .application-page .form-title { font-size: 24px; line-height: 30px; }
  .application-page .form-actions .button { padding-inline: 18px; }
  .application-page .footer-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
  .application-page .footer-inner > span { order: 0; flex-basis: auto; }
}
