.fso-intro{margin-bottom:32px;}
.fso-intro p{color:var(--ink-soft);font-size:15.5px;line-height:1.65;margin-bottom:12px;}
.fso-intro strong{color:var(--ink);}

.fso-form{max-width:640px;}
.fso-section{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--border);}
.fso-section:last-of-type{border-bottom:none;margin-bottom:8px;padding-bottom:0;}
.fso-section-title{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:10px;}
.fso-help{
  background:var(--cream-deep);border:1px solid var(--border);border-radius:12px;
  padding:12px 16px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;margin-bottom:18px;
}
.fso-help strong{color:var(--ink);}
.fso-lock{
  display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  color:var(--orange-deep);background:#FDEDEA;border:1px solid #F3C7BC;border-radius:var(--radius-pill);
  padding:2px 8px;vertical-align:middle;
}

.fso-trustee-card{
  background:var(--cream-deep);border:1px solid var(--border);border-radius:14px;
  padding:20px 20px 6px;margin-bottom:16px;
}
.fso-trustee-heading{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:14px;}
.fso-trustee-card .form-field input,.fso-trustee-card .form-field textarea,.fso-trustee-card .form-field select{background:var(--white);}
.fso-trustee-2col{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
@media (max-width:520px){
  .fso-trustee-2col{grid-template-columns:1fr;}
}

.btn-add-trustee{
  display:block;width:100%;margin-top:6px;padding:12px 0;text-align:center;
  background:var(--cream-deep);border:1.5px dashed var(--border);border-radius:12px;
  font-size:14px;font-weight:700;color:var(--ink-soft);cursor:pointer;
}
.btn-add-trustee:hover{color:var(--ink);border-color:var(--orange);}
.btn-add-trustee[disabled]{display:none;}

/* Mobile only: the site-wide .wrap padding + .form-card padding leave very
   little room for fields (worst on the 2-column trustee rows), so on small
   screens we shrink both — scoped to this page only via :has(), so it
   doesn't touch any other page that also uses .wrap or .form-card. */
@media (max-width:600px){
  body:has(.fso-form) .wrap{padding:0 14px;}
  .fso-form{padding:22px 16px;border-radius:18px;}
  .fso-trustee-card{padding:16px 14px 2px;border-radius:12px;}
}
