/* Apply hero — stacked intro */
.apply-hero{
  padding:5rem 3rem 0;
  border-bottom:1px solid var(--border);
}
.apply-intro{max-width:540px;margin-bottom:2.5rem}
.apply-sub{font-size:.87rem;color:var(--ink3);line-height:1.85;max-width:420px;margin-top:1rem}

/* Program selector */
.prog-select{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  border-top:1px solid var(--border);
  margin:0 -3rem;
}
.prog-btn{
  padding:1.5rem 2rem;background:none;border:none;
  text-align:left;cursor:pointer;transition:background .15s;
  border-right:1px solid var(--border);
}
.prog-btn:last-child{border-right:none}
.prog-btn:hover{background:var(--bg2)}
.prog-btn.active{background:var(--gpale)}
.prog-name{
  display:block;font-family:'Fraunces',serif;font-size:1.05rem;
  font-weight:300;color:var(--ink);margin-bottom:.25rem;
}
.prog-detail{
  font-family:'IBM Plex Mono',monospace;font-size:.56rem;
  letter-spacing:.08em;color:var(--ink3);
}
.prog-btn.active .prog-name{color:var(--green)}

/* Form */
.app-form-sec{padding:3rem}
.app-form{max-width:720px}

.form-section{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--border)}
.form-section:last-of-type{border-bottom:none}
.form-section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}
.form-section-n{
  font-family:'IBM Plex Mono',monospace;font-size:.56rem;
  letter-spacing:.1em;color:var(--ink3);
}
.form-section-title{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:300;color:var(--ink)}
.form-note{
  font-size:.79rem;color:var(--ink3);line-height:1.75;
  max-width:560px;margin-bottom:1.5rem;
}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{display:flex;flex-direction:column;gap:.35rem}
.form-field.full{grid-column:1 / -1}
.form-field label{
  font-family:'IBM Plex Mono',monospace;font-size:.6rem;
  letter-spacing:.06em;color:var(--ink2);
}
.form-field input,
.form-field select,
.form-field textarea{
  padding:.78rem 1rem;font-family:'Inter',sans-serif;font-size:.83rem;
  color:var(--ink);background:var(--bg2);border:1px solid var(--borderM);
  outline:none;transition:border-color .15s;appearance:none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{border-color:var(--green)}
.form-field input::placeholder,
.form-field textarea::placeholder{color:var(--ink3)}
.form-field textarea{resize:vertical;min-height:60px;line-height:1.6}

.form-submit-area{margin-top:2rem}
.wl-submit{
  padding:.82rem 2rem;background:var(--ink);color:var(--bg);border:none;
  font-family:'IBM Plex Mono',monospace;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;cursor:pointer;transition:background .15s;
}
.wl-submit:hover{background:var(--green)}
.wl-fine{font-family:'IBM Plex Mono',monospace;font-size:.56rem;color:var(--ink3);letter-spacing:.04em;margin-top:.75rem}
.wl-success{
  display:none;font-family:'Fraunces',serif;font-style:italic;
  font-weight:300;font-size:1.4rem;color:var(--green);line-height:1.5;padding:2rem 0;
}

/* FAQ */
.faq-list{display:flex;flex-direction:column;margin-top:2.5rem}
.faq-item{
  display:grid;grid-template-columns:1fr 2fr;
  gap:3rem;padding:1.5rem 0;border-top:1px solid var(--border);
}
.faq-item:last-child{border-bottom:1px solid var(--border)}
.faq-q{font-size:.87rem;font-weight:500;color:var(--ink);line-height:1.5}
.faq-a{font-size:.82rem;color:var(--ink3);line-height:1.8}

/* RESPONSIVE — apply */
@media(max-width:860px){
  .apply-hero{padding:3rem 1.5rem 0}
  .app-form-sec{padding:2rem 1.5rem}
  .prog-select{grid-template-columns:1fr;margin:0 -1.5rem}
  .prog-btn{border-right:none;border-bottom:1px solid var(--border)}
  .prog-btn:last-child{border-bottom:none}
  .form-grid{grid-template-columns:1fr}
  .faq-item{grid-template-columns:1fr;gap:.65rem}
}
