
.join-flow-section{padding-top:25px}
.submit-section{padding-top:25px}
.form-layout{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:55px;
  align-items:start;
}
.form-intro{
  position:sticky;
  top:105px;
}
.form-intro h2{
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 18px;
}
.form-intro>p{color:var(--muted);font-size:1.02rem}
.submission-checklist{
  margin-top:28px;
  background:#edf6f5;
  border:1px solid #d3e9e6;
  border-radius:18px;
  padding:23px;
}
.submission-checklist h3{font-family:"Space Grotesk";margin:0 0 10px}
.submission-checklist ul{padding-left:20px;margin:0;color:#536170}
.submission-checklist li+li{margin-top:8px}
.form-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:32px;
  box-shadow:0 16px 45px rgba(16,24,40,.06);
}
.form-section-title{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:15px;
  align-items:start;
  padding:10px 0 18px;
  margin-top:14px;
  border-bottom:1px solid var(--line);
}
.form-section-title:first-of-type{margin-top:0}
.form-section-title>span{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;
  background:#edf6f5;
  color:var(--primary);
  font-family:"Space Grotesk";
  font-weight:700;
}
.form-section-title h3{
  font-family:"Space Grotesk";
  font-size:1.25rem;
  margin:0 0 2px;
}
.form-section-title p{margin:0;color:var(--muted);font-size:.88rem}
.form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:17px;
  padding:22px 0 15px;
}
.form-grid.two-columns{grid-template-columns:1fr 1fr}
.form-grid label{display:flex;flex-direction:column;gap:7px}
.form-grid label>span{
  font-size:.84rem;
  font-weight:750;
  color:#344054;
}
.form-grid input,
.form-grid textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 14px;
  background:#f9fbfc;
  color:var(--text);
  outline:none;
  transition:.15s ease;
}
.form-grid textarea{resize:vertical;min-height:120px}
.form-grid input:focus,
.form-grid textarea:focus{
  background:#fff;
  border-color:#65bdb5;
  box-shadow:0 0 0 3px rgba(22,182,168,.1);
}
.form-grid small{color:#7a8795;font-size:.76rem}
.checkbox-group{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px 0;
}
.checkbox-row{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:13px 14px;
  background:#f9fbfc;
  border:1px solid var(--line);
  border-radius:12px;
  cursor:pointer;
}
.checkbox-row input{
  margin-top:4px;
  width:17px;height:17px;
  accent-color:var(--primary);
}
.checkbox-row span{font-size:.88rem;color:#465264}
.submit-button{
  width:100%;
  padding:15px 20px;
  font-size:1rem;
}
.form-note{
  text-align:center;
  color:#7a8795;
  font-size:.78rem;
  margin:13px auto 0;
  max-width:620px;
}
.hidden-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(1px,1px,1px,1px)!important;
  white-space:nowrap!important;
}
.success-main{
  min-height:calc(100vh - 76px);
  display:grid;
  place-items:center;
  padding:70px 20px;
}
.success-card{
  width:min(720px,100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:48px;
  text-align:center;
  box-shadow:var(--shadow);
}
.success-icon{
  width:68px;height:68px;
  display:grid;place-items:center;
  margin:0 auto 22px;
  border-radius:50%;
  background:#e5f8f3;
  color:var(--primary);
  font-size:2rem;
  font-weight:800;
}
.success-card h1{
  font-family:"Space Grotesk";
  font-size:clamp(2rem,5vw,3.6rem);
  line-height:1.05;
  letter-spacing:-.04em;
  margin:0 0 18px;
}
.success-card>p{color:var(--muted);font-size:1.02rem}
.success-next{
  margin:28px 0;
  text-align:left;
  background:#f7fafc;
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px 24px;
}
.success-next ol{margin-bottom:0;color:#52606f}
.success-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:900px){
  .form-layout{grid-template-columns:1fr}
  .form-intro{position:static}
}
@media(max-width:620px){
  .form-grid.two-columns{grid-template-columns:1fr}
  .form-card{padding:22px}
  .success-card{padding:30px 22px}
}
