/* VS Guide Leads – every rule is scoped to .vsgl so other forms on the site are not affected. */
.vsgl{--vsgl-accent:#F78E3A;--vsgl-navy:#012F48;--vsgl-ink:#10202B;--vsgl-muted:#5B6B75;--vsgl-field:#FBF8F4;--vsgl-line:#E6DED3;--vsgl-red:#C0392B;
  position:relative;box-sizing:border-box;width:100%;max-width:680px;margin:0 auto;background:#fff;color:var(--vsgl-ink);
  border-radius:22px;border-top:5px solid var(--vsgl-accent);padding:24px 28px 22px;box-shadow:0 24px 60px -28px rgba(1,47,72,.45);
  font-family:inherit;text-align:left;line-height:1.45}
.vsgl.vsgl-flat{background:transparent;box-shadow:none;border-top:0;padding:0;border-radius:0}
.vsgl *,.vsgl *::before,.vsgl *::after{box-sizing:border-box}
.vsgl [hidden]{display:none!important}
.vsgl .vsgl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.vsgl .vsgl-eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--vsgl-accent);margin:0 0 6px}
.vsgl .vsgl-title{font-size:23px!important;line-height:1.2!important;font-weight:700!important;color:var(--vsgl-navy)!important;margin:0 0 6px!important;padding:0!important;text-transform:none!important;letter-spacing:-.01em}
.vsgl .vsgl-sub{font-size:14px;color:var(--vsgl-muted);margin:0 0 14px}

.vsgl .vsgl-field{margin:0 0 12px;padding:0;border:0;min-width:0}
.vsgl .vsgl-label{display:block;font-size:13px!important;font-weight:600!important;color:var(--vsgl-navy)!important;margin:0 0 6px!important;padding:0!important;float:none;width:auto}
.vsgl .vsgl-label span{color:var(--vsgl-accent)}

/* purpose cards */
.vsgl .vsgl-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vsgl .vsgl-card{position:relative;display:block;margin:0!important;cursor:pointer}
.vsgl .vsgl-card input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.vsgl .vsgl-card span{display:flex;align-items:center;min-height:42px;padding:8px 10px 8px 34px;border:1px solid var(--vsgl-line);background:var(--vsgl-field);
  border-radius:12px;font-size:13px;font-weight:500;color:var(--vsgl-ink);line-height:1.25;transition:border-color .15s,background .15s;position:relative}
.vsgl .vsgl-card span::before{content:"";position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:1.5px solid #C9BFB2;background:#fff;transition:all .15s}
.vsgl .vsgl-card:hover span{border-color:#d6c9b8}
.vsgl .vsgl-card input:checked + span{border-color:var(--vsgl-accent);background:#FEF1E6;color:#7a3708}
.vsgl .vsgl-card input:checked + span::before{border-color:var(--vsgl-accent);box-shadow:inset 0 0 0 4px #fff;background:var(--vsgl-accent)}
.vsgl .vsgl-card input:focus-visible + span{outline:2px solid var(--vsgl-accent);outline-offset:2px}

/* inputs */
.vsgl.vsgl input[type=text],.vsgl.vsgl input[type=email],.vsgl.vsgl input[type=tel],.vsgl.vsgl select{
  display:block!important;width:100%!important;height:46px!important;margin:0!important;padding:0 14px!important;
  border:1px solid var(--vsgl-line)!important;border-radius:12px!important;background:var(--vsgl-field)!important;
  color:var(--vsgl-ink)!important;font:inherit!important;font-size:15px!important;box-shadow:none!important;outline:none!important;
  -webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.vsgl.vsgl select{padding-right:38px!important;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6B75' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:16px!important}
.vsgl.vsgl input::placeholder{color:#98A2A8;opacity:1}
.vsgl.vsgl input:focus,.vsgl.vsgl select:focus{border-color:var(--vsgl-accent)!important;box-shadow:0 0 0 3px rgba(247,142,58,.18)!important;background-color:#fff!important}
.vsgl .vsgl-phone{display:grid;grid-template-columns:116px 1fr;gap:8px}

/* consent */
.vsgl .vsgl-consent{display:flex!important;gap:10px;align-items:flex-start;font-size:12.5px!important;font-weight:400!important;color:var(--vsgl-muted)!important;cursor:pointer;margin:2px 0 0!important}
.vsgl .vsgl-consent input{width:18px!important;height:18px!important;margin:1px 0 0!important;flex:none;accent-color:var(--vsgl-accent)}
.vsgl .vsgl-consent a{color:var(--vsgl-navy);text-decoration:underline}

/* errors */
.vsgl .vsgl-msg{display:block;font-size:12px;color:var(--vsgl-red);margin-top:5px;min-height:0}
.vsgl .vsgl-msg:empty{display:none}
.vsgl .vsgl-bad input[type=text],.vsgl .vsgl-bad input[type=email],.vsgl .vsgl-bad input[type=tel],.vsgl .vsgl-bad select,.vsgl .vsgl-bad .vsgl-card span{border-color:var(--vsgl-red)!important}
.vsgl .vsgl-error{font-size:13px;color:var(--vsgl-red);margin:0 0 10px}
.vsgl .vsgl-error:empty{display:none}

/* button */
.vsgl .vsgl-btn{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%!important;height:50px!important;margin:4px 0 0!important;padding:0 20px!important;
  border:0!important;border-radius:999px!important;background:var(--vsgl-accent)!important;color:#fff!important;font:inherit!important;font-size:16px!important;font-weight:700!important;
  text-decoration:none!important;cursor:pointer;box-shadow:none!important;transition:filter .15s,transform .15s;text-transform:none!important;letter-spacing:0!important}
.vsgl .vsgl-btn:hover{filter:brightness(.94);transform:translateY(-1px)}
.vsgl .vsgl-btn[disabled]{opacity:.7;cursor:wait;transform:none}
.vsgl .vsgl-btn.vsgl-busy span::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;vertical-align:-2px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:vsgl-spin .7s linear infinite}
@keyframes vsgl-spin{to{transform:rotate(360deg)}}

/* success */
.vsgl .vsgl-done{text-align:center;padding:14px 4px 4px}
.vsgl .vsgl-tick{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:var(--vsgl-accent);color:#fff;font-size:28px;line-height:58px;font-weight:700}
.vsgl .vsgl-dl{max-width:280px;margin:10px auto 0!important}

/* ---------- layout ---------- */
.vsgl .vsgl-back{display:block;margin:8px auto 0;padding:6px 10px;border:0;background:none!important;color:var(--vsgl-muted)!important;font:inherit;font-size:13.5px;cursor:pointer;box-shadow:none!important}
.vsgl .vsgl-back:hover{color:var(--vsgl-navy)!important}
.vsgl .vsgl-stepnum{display:none;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--vsgl-accent);margin:0 0 6px}
.vsgl .vsgl-sn2{display:none}
.vsgl[data-step="2"] .vsgl-sn1{display:none}
.vsgl[data-step="2"] .vsgl-sn2{display:inline}

/* Desktop / tablet: everything on one compact screen, two columns */
@media (min-width:641px){
  .vsgl .vsgl-form{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
  .vsgl .vsgl-s1,.vsgl .vsgl-s2{display:contents}
  .vsgl .vsgl-head,.vsgl .vsgl-purpose,.vsgl .vsgl-agree,.vsgl .vsgl-error,.vsgl .vsgl-submit{grid-column:1/-1}
  .vsgl .vsgl-cards{grid-template-columns:repeat(3,1fr)}
  .vsgl .vsgl-next,.vsgl .vsgl-back{display:none!important}
}

/* Phone: two short steps, so nothing needs scrolling */
@media (max-width:640px){
  .vsgl{padding:18px 16px 14px;border-radius:18px}
  .vsgl .vsgl-eyebrow,.vsgl .vsgl-sub{display:none}
  .vsgl .vsgl-stepnum{display:block}
  .vsgl .vsgl-title{font-size:19px!important;margin:0 0 12px!important}
  .vsgl .vsgl-card span{min-height:44px;font-size:13px}
  .vsgl[data-step="1"] .vsgl-s2{display:none}
  .vsgl[data-step="2"] .vsgl-s1{display:none}
  .vsgl .vsgl-field{margin:0 0 11px}
}
@media (max-width:340px){ .vsgl .vsgl-cards{grid-template-columns:1fr} }
