.elementor-kit-81{--e-global-color-primary:#E8334A;--e-global-color-secondary:#F5A623;--e-global-color-text:#D8D9E0;--e-global-color-accent:#F06070;--e-global-color-6ced647:#CF2540;--e-global-color-ac6b66b:#A82035;--e-global-color-56354a8:#393F77;--e-global-color-0399cc2:#0A0A10;--e-global-color-700f8aa:#121219;--e-global-color-78c7358:#181925;--e-global-color-b593e62:#9A9CAD;--e-global-color-e2c532f:#FFFFFF;--e-global-color-42598cf:#E2E2E430;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:900;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:900;--e-global-typography-secondary-letter-spacing:-0.03em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-2c04cb3-font-family:"Inter";--e-global-typography-2c04cb3-font-size:11px;--e-global-typography-2c04cb3-font-weight:700;--e-global-typography-2c04cb3-text-transform:uppercase;--e-global-typography-84be521-font-family:"Inter";--e-global-typography-84be521-font-size:20px;--e-global-typography-84be521-font-weight:800;--e-global-typography-9b2fc93-font-family:"DM Serif Display";--e-global-typography-9b2fc93-font-weight:400;--e-global-typography-9b2fc93-font-style:italic;background-color:var( --e-global-color-0399cc2 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-81 button,.elementor-kit-81 input[type="button"],.elementor-kit-81 input[type="submit"],.elementor-kit-81 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );color:#FFFFFF;box-shadow:0px 8px 24px 0px rgba(232, 50.99999999999998, 73.99999999999984, 0.3);border-radius:14px 14px 14px 14px;padding:18px 18px 28px 28px;}.elementor-kit-81 button:hover,.elementor-kit-81 button:focus,.elementor-kit-81 input[type="button"]:hover,.elementor-kit-81 input[type="button"]:focus,.elementor-kit-81 input[type="submit"]:hover,.elementor-kit-81 input[type="submit"]:focus,.elementor-kit-81 .elementor-button:hover,.elementor-kit-81 .elementor-button:focus{background-color:var( --e-global-color-6ced647 );}.elementor-kit-81 e-page-transition{background-color:#FFBC7D;}.elementor-kit-81 a{color:var( --e-global-color-accent );}.elementor-kit-81 h1{color:var( --e-global-color-e2c532f );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-81 h2{color:var( --e-global-color-e2c532f );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-81 h3{color:var( --e-global-color-e2c532f );font-family:var( --e-global-typography-84be521-font-family ), Sans-serif;font-size:var( --e-global-typography-84be521-font-size );font-weight:var( --e-global-typography-84be521-font-weight );line-height:var( --e-global-typography-84be521-line-height );}.elementor-kit-81 h4{color:var( --e-global-color-e2c532f );}.elementor-kit-81 h5{color:var( --e-global-color-e2c532f );}.elementor-kit-81 h6{color:var( --e-global-color-e2c532f );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-81{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.03px;--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-size:14px;--e-global-typography-2c04cb3-font-size:11px;--e-global-typography-84be521-font-size:17px;--e-global-typography-84be521-line-height:1.25em;--e-global-typography-9b2fc93-font-size:26px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-81 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-81 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-81 h3{font-size:var( --e-global-typography-84be521-font-size );line-height:var( --e-global-typography-84be521-line-height );}.elementor-kit-81 button,.elementor-kit-81 input[type="button"],.elementor-kit-81 input[type="submit"],.elementor-kit-81 .elementor-button{font-size:var( --e-global-typography-accent-font-size );padding:18px 18px 28px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-81{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.03px;--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-size:14px;--e-global-typography-2c04cb3-font-size:11px;--e-global-typography-84be521-font-size:17px;--e-global-typography-84be521-line-height:1.25em;--e-global-typography-9b2fc93-font-size:26px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-81 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-81 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-81 h3{font-size:var( --e-global-typography-84be521-font-size );line-height:var( --e-global-typography-84be521-line-height );}.elementor-kit-81 button,.elementor-kit-81 input[type="button"],.elementor-kit-81 input[type="submit"],.elementor-kit-81 .elementor-button{font-size:var( --e-global-typography-accent-font-size );padding:18px 18px 28px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   7 Riverside â€” Free Audit form
   Paste into: Elementor > Site Settings > Custom CSS
   (or Page Settings > Advanced > Custom CSS for this page only)

   REQUIRED: add the CSS class  rs-audit  to the CONTAINER that holds the form
   (Elementor > select container > Advanced > CSS Classes)

   Everything below is scoped to .rs-audit so nothing else on the site moves.
   ========================================================================== */

.rs-audit {
  --rs-card:        #1c1f28;  /* card surface â€” lighter than the section bg */
  --rs-card-border: #2e3340;
  --rs-field:       #242833;
  --rs-field-border:#363c4a;
  --rs-red:         #e8394a;  /* match your brand red if it differs */
  --rs-red-hover:   #d32a3b;
  --rs-text:        #ffffff;
  --rs-text-dim:    #9aa1b0;
  --rs-text-faint:  #6f7686;
  --rs-radius:      14px;
}

/* --------------------------------------------------------------------------
   1. THE CARD â€” the single biggest visual fix.
   Lifts the form off the section background instead of letting it float.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-form {
  background: var(--rs-card);
  border: 1px solid var(--rs-card-border);
  border-radius: var(--rs-radius);
  padding: 32px 34px !important;
  max-width: 640px;
  margin-left: auto;
  width: 100%;
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   2. FIELDS â€” contrast, breathing room, and a real focus state.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-field-group {
  margin-bottom: 12px;
}

.rs-audit .elementor-field-group > .elementor-field-textual,
.rs-audit .elementor-field-group .elementor-select-wrapper select {
  background: var(--rs-field) !important;
  border: 1px solid var(--rs-field-border) !important;
  border-radius: 8px !important;
  color: var(--rs-text) !important;
  font-size: 15px !important;
  min-height: 50px;
  padding: 12px 14px !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  box-shadow: none !important;
}

.rs-audit .elementor-field-textual::placeholder {
  color: var(--rs-text-faint) !important;
  opacity: 1;
}

/* Hover â€” a small signal that the field is live */
.rs-audit .elementor-field-group > .elementor-field-textual:hover,
.rs-audit .elementor-field-group .elementor-select-wrapper select:hover {
  border-color: #4a5162 !important;
}

/* Focus â€” red border pulls the eye down the form, one field at a time */
.rs-audit .elementor-field-group > .elementor-field-textual:focus,
.rs-audit .elementor-field-group .elementor-select-wrapper select:focus {
  border-color: var(--rs-red) !important;
  box-shadow: 0 0 0 3px rgba(232, 57, 74, .15) !important;
  outline: none !important;
}

/* Selects â€” kill the default arrow, draw a consistent one */
.rs-audit .elementor-field-group .elementor-select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 38px !important;
}

.rs-audit .elementor-field-group .elementor-select-wrapper::before {
  color: var(--rs-text-faint);
  font-size: 12px;
  right: 15px;
  pointer-events: none;
}

/* Selects stay white whether or not anything is chosen â€” deliberate.

   An earlier version dimmed the unselected state via :invalid, but that
   .elementor-kit-81 only matches REQUIRED selects, so an optional one stayed white
   and the two fields looked different for no reason a visitor could see.
   Rather than patch it with :has(), we dropped the dimming altogether:
   both selects read the same, which is what actually looked right on the page.

   If you ever want the placeholder dimmed again, add:
     .rs-audit .elementor-field-group select:has(option[value=""]:checked)
       { color: var(--rs-text-faint) !important; }  */

.rs-audit .elementor-field-group select option {
  background: var(--rs-field);
  color: var(--rs-text);
}

/* --------------------------------------------------------------------------
   3. CTA â€” flat and dense. The glow was softening the edge, not adding weight.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-field-type-submit {
  margin-top: 6px;
}

.rs-audit .elementor-button[type="submit"] {
  background: var(--rs-red) !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  min-height: 54px;
  text-transform: none !important;
  transition: background .15s ease, transform .08s ease;
  width: 100%;
}

.rs-audit .elementor-button[type="submit"]:hover {
  background: var(--rs-red-hover) !important;
  box-shadow: none !important;
}

.rs-audit .elementor-button[type="submit"]:active {
  transform: scale(.985);
}

/* --------------------------------------------------------------------------
   4. IN-CARD HEADER â€” headline + subhead live inside the card so the form
   carries its own context. Add via an HTML field at the top of the form
   (markup is in the copy sheet).
   -------------------------------------------------------------------------- */

.rs-audit .rs-head {
  margin: 0 0 18px;
}

.rs-audit .rs-head h3 {
  color: var(--rs-text);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 6px;
}

.rs-audit .rs-head p {
  color: var(--rs-text-dim);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

/* --------------------------------------------------------------------------
   5. SCARCITY BADGE â€” only ship this if the number is real.
   -------------------------------------------------------------------------- */

.rs-audit .rs-badge {
  align-items: center;
  background: rgba(232, 57, 74, .12);
  border-radius: 20px;
  color: #f5a3ab;
  display: inline-flex;
  font-size: 11px;
  font-weight: 600;
  gap: 6px;
  letter-spacing: .06em;
  line-height: 1.2;
  margin-bottom: 14px;
  padding: 5px 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.rs-audit .rs-badge::before {
  background: var(--rs-red);
  border-radius: 50%;
  content: "";
  flex-shrink: 0;
  height: 6px;
  width: 6px;
  animation: rs-pulse 2s ease-in-out infinite;
}

@keyframes rs-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .35; }
}

/* --------------------------------------------------------------------------
   6. PROGRESS BAR â€” pure CSS, fills as fields get valid. The Zeigarnik nudge:
   a half-finished bar is harder to abandon than an empty form.
   -------------------------------------------------------------------------- */

.rs-audit .rs-progress {
  display: flex;
  gap: 5px;
  margin: 0 0 18px;
}

.rs-audit .rs-progress span {
  background: var(--rs-field-border);
  border-radius: 2px;
  flex: 1;
  height: 3px;
  transition: background .25s ease;
}

.rs-audit .rs-progress span.is-done {
  background: var(--rs-red);
}

/* --------------------------------------------------------------------------
   7. MICROCOPY + SOCIAL PROOF â€” the strip under the button is the highest-
   converting real estate on the page. Don't leave it empty.
   -------------------------------------------------------------------------- */

.rs-audit .rs-note {
  color: var(--rs-text-faint);
  font-size: 12px;
  line-height: 1.5;
  margin: 12px 0 0;
  text-align: center;
}

.rs-audit .rs-proof {
  align-items: center;
  border-top: 1px solid var(--rs-card-border);
  display: flex;
  gap: 10px;
  margin-top: 16px;
  padding-top: 14px;
}

.rs-audit .rs-proof-avatars {
  display: flex;
  flex-shrink: 0;
}

.rs-audit .rs-proof-avatars img,
.rs-audit .rs-proof-avatars span {
  background: var(--rs-field);
  border: 2px solid var(--rs-card);
  border-radius: 50%;
  height: 28px;
  width: 28px;
  object-fit: cover;
}

.rs-audit .rs-proof-avatars > *:not(:first-child) {
  margin-left: -10px;
}

.rs-audit .rs-proof p {
  color: var(--rs-text-dim);
  font-size: 12px;
  line-height: 1.4;
  margin: 0;
}

.rs-audit .rs-proof strong {
  color: var(--rs-text);
  font-weight: 600;
}

/* --------------------------------------------------------------------------
   8. VALIDATION + SUCCESS states â€” Elementor's defaults are unreadable on dark.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-message {
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 12px;
  padding: 12px 14px;
}

.rs-audit .elementor-message-danger {
  background: rgba(232, 57, 74, .12);
  color: #f5a3ab;
}

.rs-audit .elementor-message-success {
  background: rgba(29, 158, 117, .14);
  color: #9fe1cb;
}

.rs-audit .elementor-field-group.elementor-error .elementor-field-textual {
  border-color: var(--rs-red) !important;
}

/* --------------------------------------------------------------------------
   9. GRID â€” gaps come from per-field padding, not from column-gap.

   Why: column-gap subtracts from the row but Elementor's own widths
   (elementor-col-60 = width 60%) don't know about it, so 60 + 40 + gap
   overflows 100% and the second field wraps to a new line. Negative margins
   on the wrapper + padding on each field is how Elementor does it natively,
   and it works for ANY column split â€” 50/50, 60/40, 33/33/33.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-form-fields-wrapper {
  display: flex;
  flex-wrap: wrap;
  row-gap: 12px;
  margin-left: -5px;
  margin-right: -5px;
  width: calc(100% + 10px);
}

/* Elementor adds a negative bottom margin here to cancel out the fields' own
   margins. We zeroed those margins, so the compensation now just eats the
   card's bottom padding. Kill it. */
.rs-audit .elementor-form-fields-wrapper {
  margin-bottom: 0 !important;
}

.rs-audit .elementor-form-fields-wrapper > .elementor-field-group:last-child {
  margin-bottom: 0 !important;
}

.rs-audit .elementor-field-group {
  box-sizing: border-box;
  margin-bottom: 0 !important;
  padding: 0 5px !important;
}

/* --------------------------------------------------------------------------
   10. FIELD ORDER â€” Elementor always renders the submit button last in the DOM,
   so an HTML field can never sit below it. Flex order fixes that.

   The sibling .elementor-kit-81 picks out the SECOND html field (the proof block)
   without needing a field ID â€” any html field preceded by another one.
   -------------------------------------------------------------------------- */

.rs-audit .elementor-field-type-html  { order: 0; }
.rs-audit .elementor-field-group      { order: 1; }
.rs-audit .elementor-field-type-submit { order: 2; }

.rs-audit .elementor-field-type-html ~ .elementor-field-type-html {
  order: 3;
}

/* Blocks that must span the full card width */
.rs-audit .elementor-field-type-html,
.rs-audit .elementor-field-type-submit {
  width: 100% !important;
  max-width: 100% !important;
}

/* The proof block is last in visual order â€” it owns the bottom edge */
.rs-audit .elementor-field-type-html ~ .elementor-field-type-html .rs-proof {
  margin-bottom: 0;
}

/* Tighten the run from the last field down to the button */
.rs-audit .elementor-field-type-submit {
  margin-top: 4px;
}

/* Keep the scarcity badge clear of the sticky header.
   Adjust the value to your actual header height. */
.rs-audit {
  padding-top: 40px;
}

/* --------------------------------------------------------------------------
   10b. TABLET â€” same two-column logic, slightly narrower card.
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) and (min-width: 768px) {
  .rs-audit .elementor-form {
    max-width: 560px;
    margin-right: auto;
  }
}

/* --------------------------------------------------------------------------
   11. MOBILE â€” the form should be the first thing a phone user can act on.
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  .rs-audit .elementor-form {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 767px) {
  .rs-audit .elementor-form {
    border-radius: 12px;
    padding: 22px 18px 18px;
  }

  /* Everything stacks on a phone regardless of the desktop column setting */
  .rs-audit .elementor-field-group {
    width: 100% !important;
    max-width: 100% !important;
  }

  .rs-audit .rs-head h3 {
    font-size: 20px;
  }

  /* Badge on one line â€” narrower tracking and padding buy back ~30px,
     which is enough for the full string on a 320px screen. */
  .rs-audit .rs-badge {
    font-size: 10px;
    letter-spacing: .03em;
    gap: 5px;
    padding: 5px 10px;
  }

  /* Very narrow phones: shrink rather than wrap */
  @media (max-width: 359px) {
    .rs-audit .rs-badge {
      font-size: 9px;
      letter-spacing: .02em;
      padding: 4px 9px;
    }
  }

  /* 16px minimum stops iOS Safari from zooming on focus */
  .rs-audit .elementor-field-group > .elementor-field-textual,
  .rs-audit .elementor-field-group .elementor-select-wrapper select {
    font-size: 16px !important;
  }

  .rs-audit .elementor-button[type="submit"] {
    min-height: 56px;
  }
}/* End custom CSS */