.apply { padding: 120px 0 80px; }
.apply [hidden] { display: none !important; }
.apply__container { max-width: 760px; }

.apply__header { margin-bottom: 32px; }
.apply__title { font-family: var(--font-serif); font-weight: 400; font-size: clamp(34px, 5vw, 46px); line-height: 1.15; margin: 8px 0 14px; }
.apply__lead { color: var(--text-muted); font-size: 17px; }
.apply__status {
  margin-top: 16px; display: inline-block; padding: 8px 14px; border-radius: 8px;
  background: rgba(232,151,186,0.12); border: 1px solid rgba(232,151,186,0.3); color: var(--blush); font-size: 14px;
}

.apply__about, .apply__expect {
  background: var(--card-bg); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 22px 24px; margin-bottom: 28px;
}
.apply__about h2, .apply__expect h2 { font-family: var(--font-serif); font-weight: 400; font-size: 22px; margin-bottom: 10px; }
.apply__about ul { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.apply__about li { padding-left: 18px; position: relative; color: var(--text); }
.apply__about li::before { content: ''; position: absolute; left: 0; top: 0.7em; width: 7px; height: 7px; border-radius: 50%; background: var(--blush); }
.apply__about p, .apply__expect p { color: var(--text-muted); }
.apply__expect p + p { margin-top: 10px; }

.apply__form { display: flex; flex-direction: column; gap: 22px; }
.apply__field { display: flex; flex-direction: column; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.apply__field > span:first-child, .apply__field legend { font-weight: 600; color: var(--text); padding: 0; }
.apply__req { color: var(--blush); }
.apply__help { font-size: 13px; color: var(--text-muted); line-height: 1.5; }
.apply__field input[type="text"], .apply__field textarea {
  width: 100%; padding: 12px 14px; border-radius: 10px;
  border: 1px solid rgba(196,174,255,0.2); background: var(--bg-2); color: var(--text);
  font: inherit; font-size: 15px; resize: vertical; transition: border-color 0.2s;
}
.apply__field input[type="text"]:focus, .apply__field textarea:focus { outline: none; border-color: var(--lavender); }
.apply__field [aria-invalid="true"] { border-color: #e88 !important; }
.apply__choices { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.apply__choices label {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px;
  border: 1px solid var(--border); border-radius: 10px; cursor: pointer; transition: border-color 0.2s, background 0.2s;
}
.apply__choices label:has(input:checked) { border-color: var(--lavender); background: rgba(196,174,255,0.1); }
.apply__choices input { accent-color: var(--purple); width: 16px; height: 16px; }

.apply__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.apply__error { padding: 12px 16px; border-radius: 10px; background: rgba(232,136,136,0.12); border: 1px solid rgba(232,136,136,0.35); color: #f2b3b3; }
.apply__form .btn { align-self: flex-start; }
.apply__form .btn:disabled { opacity: 0.6; cursor: wait; transform: none; }
.apply__privacy { font-size: 13px; color: var(--text-muted); margin-top: -8px; }

.apply__done {
  background: var(--card-bg); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; align-items: flex-start;
}
.apply__done h2 { font-family: var(--font-serif); font-weight: 400; font-size: 30px; }
.apply__done p { color: var(--text-muted); }

@media (max-width: 640px) {
  .apply { padding-top: 96px; }
}
