.application {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--sp-16);
  padding-block: 140px var(--sp-section);
}
.application__intro h1 {
  font: 400 52px/1.1 var(--font-display);
  letter-spacing: 0;
  margin-block: var(--sp-8);
}
.application__intro > p:not(.kicker) { color: var(--c-muted); margin-bottom: var(--sp-6); }
.application__intro img { width: 100%; max-width: 400px; aspect-ratio: 4/3; object-fit: cover; margin-top: var(--sp-12); }
.application__form { min-width: 0; }
.application__form > label { display: block; }
.application__form > input, .application__form textarea {
  display: block;
  width: 100%;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--c-muted);
  border-radius: 0;
  padding: var(--sp-4) 0;
  margin-bottom: var(--sp-8);
  background: transparent;
  color: var(--c-ink);
  font: inherit;
}
.application__form textarea { resize: vertical; min-height: 160px; margin-bottom: var(--sp-2); }
.application__form small { display: block; margin-bottom: var(--sp-8); color: var(--c-muted); }
.application__form input::file-selector-button { font: inherit; background: var(--c-bg); border: 1px solid var(--c-line); padding: var(--sp-2) var(--sp-3); margin-right: var(--sp-3); cursor: pointer; }
.application__form fieldset { border: 0; padding: 0; margin: 0 0 var(--sp-8); }
.application__form legend { margin-bottom: var(--sp-4); }
.application__form .application__check { display: flex; align-items: start; gap: var(--sp-3); }
.application input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 5px; accent-color: var(--c-ink); }
#application-notice { margin-block: var(--sp-6); font-size: var(--fs-kicker); color: var(--c-muted); }
.application button:disabled { opacity: .5; cursor: not-allowed; }
.application :focus-visible { outline: 2px solid var(--c-ink); outline-offset: 5px; }
.application__error {
  border: 1px solid var(--c-ink);
  padding: var(--sp-4);
  margin-bottom: var(--sp-6);
  color: var(--c-ink);
  font-weight: 600;
}

@media (max-width: 767px) {
  .application { grid-template-columns: minmax(0, 1fr); padding-top: 120px; gap: var(--sp-12); }
  .application__intro h1 { font-size: 36px; }
  .application__intro img { display: none; }
}
