/* Life Stream Forms — on-brand styling */
.lsform { --lsf-blue:#009fe4; --lsf-dark:#212326; --lsf-line:#dde7ee; --lsf-slate:#546f79;
  max-width: 640px; margin: 0; }
.lsform .lsf-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.lsform .lsf-field { margin-bottom: 18px; }
.lsform .lsf-label { display:block; font-weight:700; color:var(--lsf-dark); font-size:14px; margin-bottom:7px; }
.lsform .lsf-req { color:var(--lsf-blue); }
.lsform input[type=text], .lsform input[type=email], .lsform input[type=tel], .lsform textarea {
  width:100%; padding:13px 15px; border:1px solid var(--lsf-line); border-radius:12px; background:#fff;
  color:var(--lsf-dark); font-size:16px; font-family:inherit; transition:border-color .2s, box-shadow .2s; }
.lsform textarea { min-height:140px; resize:vertical; }
.lsform input:focus, .lsform textarea:focus { outline:none; border-color:var(--lsf-blue); box-shadow:0 0 0 4px rgba(0,159,228,.14); }
.lsform .lsf-choices { display:flex; flex-wrap:wrap; gap:10px; }
.lsform .lsf-choice { display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--lsf-line);
  border-radius:100px; cursor:pointer; font-size:15px; color:var(--lsf-dark); background:#fff; transition:border-color .15s, background .15s; }
.lsform .lsf-choice:hover { border-color:var(--lsf-blue); }
.lsform .lsf-choice input { accent-color:var(--lsf-blue); width:17px; height:17px; }
.lsform .lsf-submit { background:var(--lsf-blue); color:#fff; border:0; cursor:pointer; border-radius:100px;
  padding:14px 30px; font-weight:700; font-size:16px; box-shadow:0 10px 26px rgba(0,159,228,.32);
  transition:transform .2s, background .2s, box-shadow .2s; }
.lsform .lsf-submit:hover { background:#36b8ef; transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,159,228,.42); }
.lsform .lsf-submit:disabled { opacity:.7; cursor:default; transform:none; }
.lsform .lsf-msg { margin-top:14px; font-weight:600; }
.lsform .lsf-msg.lsf-err { color:#c0392b; }
.lsf-thanks { display:flex; flex-direction:column; align-items:flex-start; gap:10px; color:var(--lsf-dark, #212326);
  background:#f1f7fb; border-left:3px solid #009fe4; border-radius:0 16px 16px 0; padding:24px 26px; font-size:18px; line-height:1.5; }
.lsf-thanks svg { color:#009fe4; }
.lsf-thanks p { margin:0; }
