.application-page { max-width: 1120px; }
.application-intro { margin-bottom: 2rem; }
.directory-application { margin: 0; }
.application-section { background:#fff; border:1px solid rgba(29,63,87,.13); border-radius:10px; padding:1.65rem; margin:0 0 1.5rem; box-shadow:0 10px 25px rgba(28,56,77,.045); }
.section-heading { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.4rem; }
.section-heading>span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 2.1rem; width:2.1rem; height:2.1rem; border-radius:999px; background:#2d6988; color:#fff; font-weight:700; }
.section-heading h2 { margin:0 0 .25rem; color:#1f455d; font-size:1.35rem; }
.section-heading p { margin:0; color:#667781; }
.form-grid { display:grid; gap:1rem; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.directory-application .field { margin:0 0 1.15rem; }
.directory-application label { color:#253f4f; font-weight:600; }
.directory-application input[type=text], .directory-application input[type=email], .directory-application input[type=tel], .directory-application input[type=url], .directory-application input[type=date], .directory-application select, .directory-application textarea { width:100%; border:1px solid #cbd6dc; border-radius:6px; background:#fff; color:#263b47; }
.directory-application input:focus, .directory-application select:focus, .directory-application textarea:focus { border-color:#3b7694; box-shadow:0 0 0 3px rgba(59,118,148,.1); }
.help, .submit-note { margin-top:.4rem; color:#70808a; font-size:.88rem; line-height:1.45; }
.checkbox-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem .9rem; padding:.4rem 0; }
.checkbox-stack { display:grid; gap:.55rem; }
.check { display:flex; gap:.55rem; align-items:flex-start; font-weight:400 !important; line-height:1.4; }
.check input { margin-top:.23rem; flex:0 0 auto; }
.agreement { padding:.8rem .9rem; border:1px solid #dbe3e7; border-radius:6px; margin-bottom:.65rem; background:#f9fbfc; }
.academy-report-section { border-color:rgba(38,118,80,.28); }
.academy-warning { padding:.9rem 1rem; border-left:4px solid #2f8058; background:#f0f8f3; color:#335747; border-radius:4px; }
.submit-row { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:1.35rem; }
.bf-honeypot { position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.application-error { max-width:900px; margin:3rem auto; background:#fff; border:1px solid #e3c1c1; border-radius:10px; padding:1.5rem; }
.application-error h1 { color:#8a3232; }
@media screen and (max-width:980px){.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.form-grid.three{grid-template-columns:1fr 1fr;}}
@media screen and (max-width:736px){.application-section{padding:1.15rem}.form-grid.two,.form-grid.three,.checkbox-grid{grid-template-columns:1fr}.section-heading{gap:.7rem}.submit-row .button{width:100%;text-align:center}}


/* v1.1 public-application control fixes */
.directory-application select[multiple] {
  min-height: 17rem;
  padding: .45rem .55rem;
  line-height: 1.45;
  background: #fff;
}
.directory-application select[multiple] option {
  padding: .22rem .35rem;
}
.directory-application .check input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  appearance: auto !important;
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 1rem !important;
  height: 1rem !important;
  min-width: 1rem !important;
  margin: .18rem .5rem 0 0 !important;
  padding: 0 !important;
  border: initial !important;
  box-shadow: none !important;
  clip: auto !important;
}
.directory-application .check > span::before,
.directory-application .check > span::after {
  display: none !important;
  content: none !important;
}
.directory-application .checkbox-stack .check,
.directory-application .agreement {
  cursor: pointer;
}
