/* Sell2Builder lead-form styling (replaces Gravity Forms markup) */
.s2b-form-wrapper { max-width: 640px; margin: 0 auto; }
.s2b-lead-form { width: 100%; }
.s2b-field { margin: 0 0 14px; text-align: left; }
.s2b-lead-form .gfield_label {
  display: block;
  font-weight: 700;
  margin: 0 0 6px;
  font-size: 15px;
}
.s2b-lead-form .gfield_required { color: #e74c3c; }
.s2b-input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.4;
  border: 1px solid #cfd6dd;
  border-radius: 6px;
  background: #fff;
  color: #222;
}
.s2b-input:focus {
  outline: none;
  border-color: #2d8cf0;
  box-shadow: 0 0 0 3px rgba(45,140,240,.15);
}
.s2b-submit {
  display: inline-block;
  width: 100%;
  cursor: pointer;
  border: none;
  border-radius: 6px;
  padding: 15px 22px;
  font-size: 19px; /* >=18.66px bold = WCAG "large text" for the orange/white pair */
  font-weight: 700;
  margin-top: 4px;
}
/* honeypot: hidden from humans, visible to bots */
.s2b-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

/* Thank-you page */
.s2b-thankyou {
  max-width: 720px;
  margin: 60px auto;
  padding: 0 20px;
  text-align: center;
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.s2b-thankyou h1 { font-size: 34px; margin-bottom: 14px; }
.s2b-thankyou p { font-size: 18px; line-height: 1.6; color: #444; }
.s2b-thankyou .s2b-back { display: inline-block; margin-top: 24px; font-weight: 700; }

/* Homepage hero: benefits list + objection line */
.hero-content .s2b-hero-benefits {
  list-style: none; padding: 0; margin: 14px 0 12px;
}
.hero-content .s2b-hero-benefits li {
  position: relative; padding-left: 30px; margin: 0 0 8px;
  font-size: 17px; line-height: 1.4;
}
.hero-content .s2b-hero-benefits li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background: url("circle-check.svg") no-repeat center / contain;
}
.hero-content .s2b-hero-objection {
  font-size: 15px; line-height: 1.4; opacity: .92; margin: 0;
}
/* Phones: the benefits list + objection line push the address form ~1500px
   below the fold. Hide them so the form lands on the first screen; the same
   points are repeated in the sections below. */
@media (max-width: 767px) {
  .hero-content .s2b-hero-benefits,
  .hero-content .s2b-hero-objection { display: none; }
  /* 36px wraps the headline to 5 lines on a 375px phone; presets use !important */
  .hero-content h1.has-larger-font-size { font-size: 30px !important; line-height: 1.15; }
  .hero-content p.has-large-font-size { font-size: 20px !important; }
}

/* Lead form status + confirmation */
.s2b-status { margin-top: 10px; font-size: 15px; line-height: 1.4; min-height: 0; }
.s2b-status--error { color: #ffd9d4; background: rgba(160,30,20,.55); border-radius: 6px; padding: 10px 12px; }
.s2b-lead-form button[disabled] { opacity: .7; cursor: wait; }
.s2b-thanks { text-align: center; padding: 28px 18px; background: rgba(255,255,255,.96); border-radius: 8px; color: #222; }
.s2b-thanks-icon { width: 56px; height: 56px; line-height: 56px; margin: 0 auto 12px; border-radius: 50%; background: #27ae60; color: #fff; font-size: 30px; font-weight: 700; }
.s2b-thanks h3 { margin: 0 0 8px; font-size: 24px; }
.s2b-thanks p { margin: 0 0 6px; font-size: 16px; color: #444; }
.s2b-thanks-phone a { font-weight: 700; color: #1a6f8a; text-decoration: none; }

/* ---- Two-step funnel ---- */
/* Step 1: address-only */
.s2b-step1 .s2b-field { margin-bottom: 12px; }
#carrot-lead-generation-banner .s2b-step1 { display: flex; align-items: flex-end; gap: 10px; }
#carrot-lead-generation-banner .s2b-step1 .gfield_label { display: none; }
#carrot-lead-generation-banner .s2b-step1 .s2b-field { margin: 0; min-width: 260px; }
#carrot-lead-generation-banner .s2b-step1 .s2b-submit { width: auto; white-space: nowrap; margin: 0; }
@media (max-width: 1024px) {
  #carrot-lead-generation-banner .s2b-step1 { flex-direction: column; align-items: stretch; }
  #carrot-lead-generation-banner .s2b-step1 .s2b-field { min-width: 0; }
}

/* Step 2 page */
.s2b-step2 { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: start; margin: 10px 0 40px; }
.s2b-step-label { text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 700; color: #1a6f8a; margin: 0 0 6px; }
.s2b-step2 h1 { margin: 0 0 8px; font-size: 32px; line-height: 1.2; }
.s2b-step2-intro { font-size: 17px; color: #444; margin: 0 0 18px; }
.s2b-step2 .s2b-form-wrapper { max-width: none; margin: 0; }
.s2b-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.s2b-textarea { resize: vertical; min-height: 96px; font-family: inherit; }
.s2b-optional { font-weight: 400; color: #777; font-size: 13px; }
.s2b-privacy { font-size: 14px; color: #555; margin: 4px 0 12px; }
.s2b-consent { font-size: 12px; line-height: 1.45; color: #777; margin: 12px 0 0; }
.s2b-step2 .s2b-status--error { color: #8a1c14; background: #fdecea; }
.s2b-trust { background: #f6f8fa; border: 1px solid #e3e8ee; border-radius: 10px; padding: 26px 26px 20px; }
.s2b-trust h2 { font-size: 21px; line-height: 1.3; margin: 0 0 16px; }
.s2b-trust ul { list-style: none; margin: 0 0 16px; padding: 0; }
.s2b-trust li { position: relative; padding-left: 30px; margin: 0 0 12px; font-size: 15.5px; line-height: 1.45; color: #333; }
.s2b-trust li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: url("circle-check.svg") no-repeat center / contain; }
.s2b-trust-link a { font-weight: 700; color: #1a6f8a; text-decoration: none; }
.s2b-trust-phone { margin: 10px 0 0; font-size: 15px; color: #444; }
.s2b-trust-phone a { font-weight: 700; color: #1a6f8a; text-decoration: none; }
@media (max-width: 860px) {
  .s2b-step2 { grid-template-columns: 1fr; gap: 28px; }
  .s2b-row { grid-template-columns: 1fr; gap: 0; }
  .s2b-step2 h1 { font-size: 26px; }
}
.s2b-step2 .s2b-lead-form { margin: 0 !important; width: 100%; box-sizing: border-box; }
.s2b-step2 .s2b-optional, .s2b-step2 .s2b-privacy, .s2b-step2 .s2b-consent { color: rgba(255,255,255,.88); }
.s2b-step2 .s2b-consent a { color: #fff; }
.s2b-step1-lead { font-weight: 700; font-size: 18px; margin: 0 0 12px; }
#carrot-lead-generation-banner .s2b-step1-lead { display: none; }
.hero-form .s2b-form-wrapper { background: rgba(255,255,255,.96); border-radius: 10px; padding: 24px 22px 20px; color: #222; box-shadow: 0 6px 24px rgba(0,0,0,.25); }
.hero-form .s2b-step1 .gfield_label { color: #333; }
.hero-form .s2b-step1-lead { color: #1a1a1a; }
