/* apply.css
   Page-type stylesheet for /apply.html, the working group application.
   Loads after /nav.css and /lhc-core.css. Tokens come from lhc-core.css.
*/

.ap-hero{background:var(--indigo);color:var(--white);padding:4rem 2rem 3.4rem}
.ap-hero .inner{max-width:720px;margin:0 auto}
.ap-badge{
  display:inline-block;font-family:'League Spartan',sans-serif;font-size:.74rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--periwinkle);
  border:1.5px solid rgba(199,199,236,.55);padding:.33rem 1rem;border-radius:100px;margin-bottom:1.2rem;
}
.ap-hero h1{
  font-family:'League Spartan',sans-serif;font-weight:800;
  font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.08;letter-spacing:-.02em;margin-bottom:1rem;
}
.ap-hero p{font-size:1.1rem;line-height:1.65;color:rgba(255,255,255,.85);max-width:62ch}
.ap-cohort{margin-top:1rem;display:inline-block;background:rgba(255,255,255,.12);
  border:1.5px solid rgba(199,199,236,.5);border-radius:10px;padding:.6rem .9rem;
  font-family:"League Spartan",sans-serif;font-weight:700;font-size:.95rem;color:var(--white)}

.ap-section{padding:3.4rem 2rem}
.ap-section.on-white{background:var(--white)}
.ap-section.on-lav{background:var(--lav-soft)}
.ap-section .inner{max-width:720px;margin:0 auto}
.ap-label{
  font-family:'League Spartan',sans-serif;font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:var(--indigo-light);margin-bottom:.7rem;
}
.ap-section h2{
  font-family:'League Spartan',sans-serif;font-weight:800;font-size:clamp(1.5rem,3vw,2rem);
  color:var(--indigo);line-height:1.15;margin-bottom:.8rem;
}
.ap-section p{font-size:1.04rem;line-height:1.7;color:var(--text-light);margin-bottom:1rem;max-width:68ch}
.ap-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.7rem}
.ap-list li{
  background:var(--white);border:1px solid var(--border);border-left:4px solid var(--periwinkle);
  border-radius:10px;padding:.95rem 1.1rem;font-size:1rem;line-height:1.6;color:var(--text);
}
.ap-section.on-white .ap-list li{background:var(--lav-soft)}

/* ---- the form ---- */
.ap-form{display:grid;gap:1.3rem;margin-top:1.6rem}
.ap-field{display:grid;gap:.4rem}
.ap-field label{
  font-family:'League Spartan',sans-serif;font-weight:700;font-size:.95rem;color:var(--indigo);line-height:1.35;
}
.ap-field .hint{font-size:.9rem;line-height:1.5;color:var(--text-muted)}
.ap-field input,.ap-field select,.ap-field textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--text);background:var(--white);
  border:1.5px solid var(--border);border-radius:10px;padding:.7rem .85rem;line-height:1.5;
}
.ap-field textarea{min-height:7rem;resize:vertical}
.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{outline:3px solid var(--periwinkle);outline-offset:1px;border-color:var(--indigo)}
.ap-two{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.ap-send{
  font-family:'League Spartan',sans-serif;font-weight:700;font-size:1rem;background:var(--accent);
  color:var(--indigo);border:none;border-radius:10px;padding:.8rem 1.6rem;min-height:48px;justify-self:start;
}
.ap-send:hover{background:var(--peach-bright)}
.ap-send[disabled]{opacity:.6}
.ap-status{font-size:1rem;line-height:1.6;color:var(--indigo);font-weight:600;min-height:1.4rem}
.ap-status.err{color:#9b2c2c}
.ap-foot{font-size:1rem;line-height:1.7;color:var(--text-light);margin-top:1.6rem}
.ap-foot a{color:var(--indigo)}

@media (max-width:640px){
  .ap-hero{padding:3.2rem 1.25rem 2.6rem}
  .ap-section{padding:2.8rem 1.25rem}
  .ap-two{grid-template-columns:1fr}
}
