/* Forest Finance site-wide visual system v1
 *
 * The homepage is intentionally excluded: homepage-v050.css is the approved,
 * locked reference. These rules normalise every other public template without
 * changing page copy, form structure or behaviour.
 */

.ffw-site:not([data-ffw-page="home"]) {
  --ff-site-shadow-raised: 0 16px 40px rgba(45, 46, 46, 0.08);
  --ff-site-shadow-control: 0 6px 18px rgba(45, 46, 46, 0.08);
  color: var(--ff-charcoal) !important;
  background: var(--ff-ivory) !important;
}

/* Persistent navigation */
.ffw-site:not([data-ffw-page="home"]) .ffw-header {
  background: var(--ff-ivory) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: var(--ff-site-shadow-raised) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-nav a,
.ffw-site:not([data-ffw-page="home"]) .ffw-nav-toggle,
.ffw-site:not([data-ffw-page="home"]) .ffw-client-login {
  color: var(--ff-charcoal) !important;
}

/* Solid Ivory heroes replace legacy warm gradients. Referral heroes retain
 * their intentional Forest emphasis treatment. */
.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark) {
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark)::before,
.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark)::after {
  filter: none !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark) :is(h1, h2, h3) {
  color: var(--ff-forest) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark) p:not(.ffw-eyebrow) {
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-referral-hero, .ffw-hero--referral, .ffw-hero--partner-route, .ffw-hero--dark) {
  background-color: var(--ff-forest) !important;
  background-image: none !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-referral-hero, .ffw-hero--referral, .ffw-hero--partner-route, .ffw-hero--dark) :is(h1, h2, h3, p, .ffw-eyebrow) {
  color: var(--ff-ivory) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-referral-hero__grid > div .ffw-btn--primary {
  border-color: var(--ff-ivory) !important;
  background: var(--ff-ivory) !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-referral-hero__grid > div .ffw-btn--ghost {
  border-color: var(--ff-ivory) !important;
  color: var(--ff-ivory) !important;
}

/* Approved White/Ivory section alternation. */
.ffw-site:not([data-ffw-page="home"]) .ffw-section:not(.ffw-section--mist):not(.ffw-section--journey-form):not(.ffw-section--contact-form) {
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section--mist {
  background-color: #fff !important;
  background-image: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section :is(h2, h3, h4) {
  color: var(--ff-forest) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section p:not(.ffw-eyebrow),
.ffw-site:not([data-ffw-page="home"]) .ffw-section li {
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-eyebrow, .ffw-card__tag, .ffw-approved-card__tag) {
  color: var(--ff-earth) !important;
}

/* Reciprocal content panels. */
.ffw-site:not([data-ffw-page="home"]) .ffw-section:not(.ffw-section--mist) :is(.ffw-card, .ffw-approved-card, .ffw-copy-card, .ffw-price-card, .ffw-resource-card) {
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section--mist :is(.ffw-card, .ffw-approved-card, .ffw-copy-card, .ffw-price-card, .ffw-resource-card) {
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-card, .ffw-approved-card, .ffw-copy-card, .ffw-price-card, .ffw-resource-card) :is(h2, h3, h4) {
  color: var(--ff-forest) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-card, .ffw-approved-card, .ffw-copy-card, .ffw-price-card, .ffw-resource-card) p {
  color: var(--ff-charcoal) !important;
}

/* Featured pricing remains the permitted one-card Forest emphasis. */
.ffw-site:not([data-ffw-page="home"]) .ffw-price-card--featured {
  border-color: var(--ff-forest) !important;
  background-color: var(--ff-forest) !important;
  color: var(--ff-ivory) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-price-card--featured :is(h2, h3, h4, p, li, strong, small, .ffw-eyebrow, .ffw-card__tag) {
  color: var(--ff-ivory) !important;
}

/* Small Earth diamonds are not part of the approved card language. */
.ffw-site:not([data-ffw-page="home"]) .ffw-card__icon {
  display: none !important;
}

/* Compact proof strip, matching the homepage rhythm. */
.ffw-site:not([data-ffw-page="home"]) .ffw-trust-strip {
  padding: 0 !important;
  border: 0 !important;
  background: var(--ff-forest) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-trust-strip > .ffw-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-trust-item {
  display: block !important;
  min-width: 0 !important;
  padding: 20px clamp(22px, 3vw, 46px) !important;
  border-right: 1px solid rgba(247, 243, 234, 0.28) !important;
  text-align: left !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-trust-item:last-child {
  border-right: 0 !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-trust-item strong {
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ff-ivory) !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-trust-item em {
  display: block !important;
  margin-top: 7px !important;
  color: var(--ff-ivory) !important;
  font-family: var(--ff-font-label) !important;
  font-size: 0.67rem !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0.075em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

/* Standard button hierarchy. */
.ffw-site:not([data-ffw-page="home"]) :is(.ffw-btn--primary, .ffw-crm-step-next, .ffw-crm-step-submit) {
  border-color: var(--ff-forest) !important;
  background-color: var(--ff-forest) !important;
  background-image: none !important;
  color: var(--ff-ivory) !important;
  box-shadow: var(--ff-site-shadow-control) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-btn--secondary {
  border-color: var(--ff-stone) !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

/* Hero forms use the approved solid White card and Ivory controls. */
.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-referral-hero) :is(.ffw-hero-form-panel, .ffw-crm-form) {
  border-color: var(--ff-stone) !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-referral-hero) .ffw-hero-form-panel {
  border-radius: 18px !important;
  box-shadow: var(--ff-site-shadow-raised) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-referral-hero) .ffw-crm-form :is(h2, h3, p, label, legend, small, .ffw-crm-field__label, .ffw-crm-step-count) {
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-referral-hero) :is(.ffw-hero-form-panel__head .ffw-eyebrow, .ffw-crm-form > .ffw-eyebrow, .ffw-crm-field__required),
.ffw-site:not([data-ffw-page="home"]) .ffw-crm-form--placement-lower :is(.ffw-eyebrow, .ffw-crm-field__required) {
  color: var(--ff-earth) !important;
}

.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-referral-hero) .ffw-crm-form :is(input:not([type="checkbox"]), select, textarea, .ffw-crm-stepper) {
  border-color: var(--ff-stone) !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

/* Every form step marker is a true circle. */
.ffw-site:not([data-ffw-page="home"]) .ffw-crm-stepper__item,
.ffw-site:not([data-ffw-page="home"]) .ffw-crm-stepper__item.is-active {
  width: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-crm-stepper__dot {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 50% !important;
  background: var(--ff-stone) !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-crm-stepper__item.is-active .ffw-crm-stepper__dot {
  background: var(--ff-forest) !important;
  color: var(--ff-ivory) !important;
}

/* Lower enquiry modules follow the approved homepage composition. */
.ffw-site:not([data-ffw-page="home"]) :is(.ffw-section--journey-form, .ffw-section--contact-form, .ffw-section--referral-form-lower) {
  background: #fff !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated::before,
.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell::before,
.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support h2::after {
  display: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
  grid-template-columns: minmax(300px, 0.78fr) minmax(500px, 1.22fr) !important;
  grid-template-areas:
    "heading heading"
    "support form" !important;
  align-items: stretch !important;
  gap: 32px !important;
  width: min(1220px, calc(100% - 64px)) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-module-head {
  grid-area: heading !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid var(--ff-stone) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-support,
.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-support-stack {
  grid-area: support !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-support {
  position: relative !important;
  top: auto !important;
  height: 100% !important;
  padding: 36px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background: var(--ff-ivory) !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-panel {
  grid-area: form !important;
  align-self: stretch !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-crm-form--placement-lower {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 36px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background: var(--ff-ivory) !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-crm-form--placement-lower :is(h2, h3, p, label, legend, small, .ffw-crm-field__label, .ffw-crm-step-count) {
  color: var(--ff-charcoal) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-crm-form--placement-lower :is(input:not([type="checkbox"]), select, textarea, .ffw-crm-stepper, .ffw-final-content-panel),
.ffw-site:not([data-ffw-page="home"]) .ffw-lower-form-support :is(.ffw-steps-list li, .ffw-lower-form-note) {
  border-color: var(--ff-stone) !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) [data-ffw-lower-form-page="lets-talk"] {
  grid-template-columns: 1fr !important;
  grid-template-areas: "heading" "form" !important;
  max-width: 900px !important;
}

/* Final conversion bands: light outer section, Forest emphasis panel. */
.ffw-site:not([data-ffw-page="home"]) .ffw-cta-band {
  background: var(--ff-ivory) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-cta-band > .ffw-container {
  border-radius: 18px !important;
  background: var(--ff-forest) !important;
  color: var(--ff-ivory) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-cta-band > .ffw-container :is(h2, h3, p, .ffw-eyebrow) {
  color: var(--ff-ivory) !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-cta-band > .ffw-container :is(.ffw-btn, a.ffw-btn) {
  border-color: var(--ff-ivory) !important;
  background: var(--ff-ivory) !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site:not([data-ffw-page="home"]) .ffw-section--seo-links {
  background: var(--ff-ivory) !important;
}

@media (max-width: 980px) {
  .ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
    grid-template-columns: 1fr !important;
    grid-template-areas: "heading" "support" "form" !important;
    width: min(100% - 40px, 720px) !important;
  }
}

@media (max-width: 760px) {
  .ffw-site:not([data-ffw-page="home"]) .ffw-trust-strip > .ffw-container {
    grid-template-columns: 1fr !important;
  }

  .ffw-site:not([data-ffw-page="home"]) .ffw-trust-item {
    padding: 16px 22px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(247, 243, 234, 0.28) !important;
  }

  .ffw-site:not([data-ffw-page="home"]) .ffw-trust-item:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 680px) {
  .ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
    width: min(100% - 32px, 560px) !important;
    gap: 20px !important;
  }

  .ffw-site:not([data-ffw-page="home"]) :is(.ffw-lower-form-support, .ffw-crm-form--placement-lower) {
    padding: 26px !important;
  }
}

/*
 * v0.51.12 article placement
 *
 * Guide articles are rendered inside Enfold's narrower editorial column. Keep
 * the approved lower-form components, but stack their panels at every viewport
 * width so the shared minimum columns can never overlap the article container.
 */
.ffw-site.ffw-article-form-embed {
  width: 100% !important;
  max-width: none !important;
  margin: 64px 0 0 !important;
}

.ffw-site.ffw-article-form-embed .ffw-section--lower-form-integrated {
  padding: 56px 0 !important;
}

.ffw-site.ffw-site.ffw-site.ffw-article-form-embed .ffw-section--lower-form-integrated .ffw-lower-form-shell {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas: "heading" "support" "form" !important;
  grid-template-rows: auto auto auto !important;
  width: 100% !important;
  gap: 24px !important;
}

.ffw-site.ffw-site.ffw-site.ffw-article-form-embed .ffw-section--lower-form-integrated .ffw-lower-form-module-head {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}

.ffw-site.ffw-site.ffw-site.ffw-article-form-embed .ffw-section--lower-form-integrated .ffw-lower-form-module-head > :is(h2, p:not(.ffw-eyebrow)) {
  grid-column: 1 !important;
  justify-self: start !important;
}

/*
 * Cascade guarantees
 *
 * The legacy bundle contains a small number of deliberately high-specificity
 * compatibility rules. Keep these final declarations explicit so the approved
 * site-wide system wins on non-home pages while the locked homepage remains
 * completely outside this stylesheet's scope.
 */
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) :is(.ffw-hero, .ffw-thank-you-hero):not(.ffw-referral-hero):not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark) {
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-hero:not(.ffw-hero--referral):not(.ffw-hero--partner-route):not(.ffw-hero--dark) .ffw-btn.ffw-btn--primary {
  border-color: var(--ff-forest) !important;
  background-color: var(--ff-forest) !important;
  background-image: none !important;
  color: var(--ff-ivory) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) :is(.ffw-referral-hero, .ffw-hero--referral, .ffw-hero--partner-route, .ffw-hero--dark) .ffw-btn.ffw-btn--primary {
  border-color: var(--ff-ivory) !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form.ffw-crm-form--placement-lower {
  border-color: var(--ff-stone) !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form.ffw-crm-form--placement-lower :is(input:not([type="checkbox"]), select, textarea, .ffw-crm-stepper, .ffw-final-content-panel) {
  border-color: var(--ff-stone) !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-crm-stepper__dot {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 50% !important;
}

@media (max-width: 910px) {
  html.ffw-partner-route-html {
    min-width: 0 !important;
  }
}

/*
 * v0.51.11 shared lower-page enquiry form
 *
 * This is the final cascade authority for the approved lower-form pattern on
 * non-home pages. It intentionally outranks legacy green-form compatibility
 * rules without changing the locked homepage implementation.
 */
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated {
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated::before,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated::after,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell::before,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell::after,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support::before,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support::after,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower::before,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower::after {
  display: none !important;
  content: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
  grid-template-columns: minmax(300px, 0.78fr) minmax(500px, 1.22fr) !important;
  grid-template-areas:
    "heading heading"
    "support form" !important;
  grid-template-rows: auto 1fr !important;
  gap: 32px !important;
  align-items: stretch !important;
  width: min(1220px, calc(100% - 64px)) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head {
  grid-area: heading !important;
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  gap: 12px 40px !important;
  align-items: end !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 28px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ff-stone) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support-stack {
  grid-area: support !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support {
  position: relative !important;
  top: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 36px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-panel {
  grid-area: form !important;
  align-self: stretch !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form.ffw-crm-form--placement-lower {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 36px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 18px !important;
  background-color: var(--ff-ivory) !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head > *,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support > *,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head > .ffw-eyebrow {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head > h2 {
  grid-column: 1 !important;
  margin: 0 !important;
  max-width: 17ch !important;
  font-size: clamp(2.15rem, 4vw, 3.65rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
  overflow-wrap: break-word !important;
  text-wrap: balance !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head > p:not(.ffw-eyebrow) {
  grid-column: 2 !important;
  margin: 0 !important;
  max-width: 48ch !important;
  justify-self: end !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support > h2 {
  margin: 10px 0 16px !important;
  max-width: 17ch !important;
  font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: break-word !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support > p:not(.ffw-eyebrow) {
  margin: 0 0 20px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated :is(.ffw-lower-form-module-head, .ffw-lower-form-support) .ffw-eyebrow,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower > .ffw-eyebrow {
  color: var(--ff-earth) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form.ffw-crm-form--placement-lower > p.ffw-eyebrow {
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ff-earth) !important;
  box-shadow: none !important;
  margin: 0 0 9px !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated :is(.ffw-lower-form-module-head, .ffw-lower-form-support) :is(h2, h3),
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower :is(h2, h3) {
  color: var(--ff-forest) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower > h2 {
  margin: 0 0 10px !important;
  font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  overflow-wrap: break-word !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower > h2 + p {
  margin: 0 0 24px !important;
  max-width: 52ch !important;
  line-height: 1.5 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated :is(.ffw-lower-form-module-head, .ffw-lower-form-support) p:not(.ffw-eyebrow),
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower :is(p, label, legend, small, .ffw-crm-field__label, .ffw-crm-step-count, .ffw-crm-step-intro) {
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower :is(input:not([type="checkbox"]), select, textarea, .ffw-crm-stepper, .ffw-final-content-panel),
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support :is(.ffw-steps-list li, .ffw-lower-form-note) {
  border-color: var(--ff-stone) !important;
  background-color: #fff !important;
  background-image: none !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-stepper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 26px !important;
  padding: 8px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 999px !important;
  overflow-x: auto !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-stepper__item,
.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-stepper__item.is-active {
  display: block !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-stepper__dot {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  flex: 0 0 34px !important;
  border-radius: 50% !important;
  background-color: var(--ff-stone) !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-stepper__item.is-active .ffw-crm-stepper__dot {
  background-color: var(--ff-forest) !important;
  color: var(--ff-ivory) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-form-section {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-form-section > legend {
  margin: 0 0 10px !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-step-intro {
  margin: 0 0 18px !important;
  line-height: 1.5 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-form-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 20px !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-field {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower :is(input:not([type="checkbox"]), select, textarea) {
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 14px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ff-charcoal) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-step-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 28px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid var(--ff-stone) !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-step-count {
  margin-right: auto !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower :is(.ffw-crm-step-next, .ffw-crm-step-submit) {
  min-height: 46px !important;
  padding: 11px 18px !important;
  border: 1px solid var(--ff-forest) !important;
  border-radius: 10px !important;
  background: var(--ff-forest) !important;
  color: var(--ff-ivory) !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-crm-step-prev {
  min-height: 46px !important;
  padding: 11px 16px !important;
  border: 1px solid var(--ff-stone) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ff-charcoal) !important;
  box-shadow: none !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form--placement-lower .ffw-form-smallprint {
  margin: 16px 0 0 !important;
  font-size: 0.76rem !important;
  line-height: 1.45 !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated [data-ffw-lower-form-page="lets-talk"] {
  grid-template-columns: minmax(0, 900px) !important;
  grid-template-areas: "heading" "form" !important;
  grid-template-rows: auto auto !important;
  justify-content: center !important;
  row-gap: 32px !important;
}

.ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated [data-ffw-lower-form-page="lets-talk"] .ffw-lower-form-module-head {
  border-bottom: 0 !important;
}

@media (max-width: 980px) {
  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "heading" "support" "form" !important;
    grid-template-rows: auto auto auto !important;
    width: min(100% - 40px, 720px) !important;
    gap: 24px !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-panel {
    margin-top: 0 !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head > :is(h2, p:not(.ffw-eyebrow)) {
    grid-column: 1 !important;
    justify-self: start !important;
  }
}

@media (max-width: 680px) {
  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-shell {
    width: min(100% - 32px, 560px) !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-module-head {
    padding: 0 0 22px !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-lower-form-support {
    padding: 26px !important;
  }

  .ffw-site.ffw-site.ffw-site:not([data-ffw-page="home"]) .ffw-section--lower-form-integrated .ffw-crm-form.ffw-crm-form--placement-lower {
    padding: 26px !important;
  }
}
