/* BeaconFire Welcome New — a code-owned rendition of the legacy Welcome page rhythm. */

/* Elementor gives generated containers a 10px default inset and the global footer uses a
 * sticky-underlay. Keep this page flush with the legacy page and above that underlay. */
.elementor-13721 { position: relative; z-index: 2; }
.elementor-13721 > .elementor-element { padding: 0; }
.elementor-13721 .bf-welcome-hero,
.elementor-13721 .bf-welcome-section,
.elementor-13721 .bf-welcome-cta { position: relative; z-index: 2; }


.elementor-widget-beaconfire-welcome-hero,
.elementor-widget-beaconfire-welcome-solutions,
.elementor-widget-beaconfire-welcome-workflow,
.elementor-widget-beaconfire-welcome-industries,
.elementor-widget-beaconfire-welcome-why-us,
.elementor-widget-beaconfire-welcome-perspectives,
.elementor-widget-beaconfire-welcome-cta { width: 100%; }

.bf-welcome-hero *,
.bf-welcome-section *,
.bf-welcome-cta *,
.bf-welcome-hero *::before,
.bf-welcome-section *::before,
.bf-welcome-cta *::before,
.bf-welcome-hero *::after,
.bf-welcome-section *::after,
.bf-welcome-cta *::after { box-sizing: border-box; }

.bf-welcome-hero,
.bf-welcome-section,
.bf-welcome-cta {
  --bf-black: #050505;
  --bf-white: #fff;
  --bf-gray: #fafafa;
  --bf-ink: #1f1f1f;
  --bf-muted: #595959;
  font-family: "Open Sans", Arial, sans-serif;
  color: var(--bf-ink);
}

.bf-welcome__eyebrow { margin: 0 0 18px; color: #767676; font-size: 12px; font-weight: 600; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.bf-welcome__button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 28px; border: 1px solid transparent; border-radius: 27px; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.25; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.bf-welcome__button:hover { transform: translateY(-1px); }
.bf-welcome__button--light { background: #fff; color: #000; }
.bf-welcome__button--light:hover { background: transparent; border-color: #fff; color: #fff; }
.bf-welcome__button--dark { background: #000; color: #fff; }
.bf-welcome__button--dark:hover { background: transparent; border-color: #000; color: #000; }

/* Legacy banner geometry: 800px black carousel, centered scene, bottom caption, side arrows and dots. */
.bf-welcome-hero { position: relative; height: 800px; overflow: hidden; background: #050505; color: #fff; }
.bf-welcome-hero__slides, .bf-welcome-hero__slide { position: absolute; inset: 0; }
.bf-welcome-hero__slide { z-index: 1; visibility: hidden; pointer-events: none; transform: translate3d(0, 0, 0); }
.bf-welcome-hero__slide.is-active { z-index: 2; visibility: visible; pointer-events: auto; }
.bf-welcome-hero__slide.is-entering,
.bf-welcome-hero__slide.is-leaving { visibility: visible; pointer-events: none; transition: transform .5s ease; will-change: transform; }
.bf-welcome-hero__slide.is-entering { z-index: 3; }
.bf-welcome-hero__slide.is-leaving { z-index: 2; }
.bf-welcome-hero__slide.is-entering-next { transform: translate3d(100%, 0, 0); }
.bf-welcome-hero__slide.is-entering-prev { transform: translate3d(-100%, 0, 0); }
.bf-welcome-hero.is-animating .bf-welcome-hero__slide.is-entering { transform: translate3d(0, 0, 0); }
.bf-welcome-hero.is-animating.is-next .bf-welcome-hero__slide.is-leaving { transform: translate3d(-100%, 0, 0); }
.bf-welcome-hero.is-animating.is-prev .bf-welcome-hero__slide.is-leaving { transform: translate3d(100%, 0, 0); }
.bf-welcome-hero__slide--one { background: #050505; }
.bf-welcome-hero__slide--three { background: #e2e2e2; color: #000; }
.bf-welcome-hero__scene { position: absolute; overflow: hidden; }
.bf-welcome-hero__scene .bf-welcome__spline { width: 100%; height: 100%; }
.bf-welcome-hero__scene responsive-spline { display: block; width: 100%; height: 100%; }
.bf-welcome-hero__scene--one { top: 110px; left: 54%; width: min(1140px, 80vw); height: 430px; transform: translateX(-50%); }
.bf-welcome-hero__scene--three { top: 100px; left: 5.5%; width: 40%; height: 600px; }
.bf-welcome-hero__headline { position: absolute; z-index: 2; }
.bf-welcome-hero__headline span { display: block; margin-bottom: 10px; font-size: 13px; letter-spacing: .05em; }
.bf-welcome-hero__headline h1, .bf-welcome-hero__headline h2 { margin: 0; font-size: clamp(38px, 4vw, 58px); font-weight: 700; letter-spacing: -.04em; line-height: 1.02; }
.bf-welcome-hero__headline--one { top: 108px; left: 8.5%; width: min(335px, 27vw); }
.bf-welcome-hero__headline--three { top: 50%; left: 47%; width: 44%; padding-left: 50px; color: #000; transform: translateY(-50%); }
.bf-welcome-hero__headline--three h2 { max-width: 11ch; }
.bf-welcome-hero__headline--three p { max-width: 480px; margin: 24px 0 0; font-size: 18px; line-height: 1.55; }
.bf-welcome-hero__headline--three ul { max-width: 500px; margin: 20px 0 0; padding: 0; list-style: none; }
.bf-welcome-hero__headline--three li { margin: 6px 0; font-size: 13px; line-height: 1.35; }
.bf-welcome-hero__headline--three li::before { content: "•"; margin-right: 8px; }
.bf-welcome-hero__headline--three .bf-welcome__button { margin-top: 24px; }
.bf-welcome-hero__caption { position: absolute; z-index: 3; bottom: 76px; left: 50%; width: min(100% - 48px, 1100px); transform: translateX(-50%); text-align: center; }
.bf-welcome-hero__caption p { margin: 0 0 26px; font-size: 20px; line-height: 1.35; }
.bf-welcome-hero__caption .bf-welcome__button { min-height: 48px; }
.bf-welcome-hero__arrow { position: absolute; z-index: 5; top: 50%; display: grid; width: 50px; height: 50px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: rgb(255 255 255 / 12.5%); color: #fff; cursor: pointer; font-family: Arial, sans-serif; font-size: 40px; font-weight: 200; line-height: 1; transform: translateY(-50%); transition: background-color .25s ease, color .25s ease; }
.bf-welcome-hero__arrow:hover { background: rgb(255 255 255 / 24%); }
.bf-welcome-hero.is-light .bf-welcome-hero__arrow { background: rgb(0 0 0 / 6%); color: #000; }
.bf-welcome-hero.is-light .bf-welcome-hero__arrow:hover { background: rgb(0 0 0 / 14%); }
.bf-welcome-hero__arrow--prev { left: 20px; }
.bf-welcome-hero__arrow--next { right: 20px; }
.bf-welcome-hero__dots { position: absolute; z-index: 6; bottom: 18px; left: 50%; display: flex; gap: 12px; transform: translateX(-50%); }
.bf-welcome-hero__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / 50%); cursor: pointer; transition: background-color .25s ease; }
.bf-welcome-hero__dots button.is-active { background: #fff; }
.bf-welcome-hero.is-light .bf-welcome-hero__dots button { background: rgb(0 0 0 / 30%); }
.bf-welcome-hero.is-light .bf-welcome-hero__dots button.is-active { background: #000; }

/* Old What We Do: centered intro followed by six equal, image-led tiles. */
.bf-welcome-solutions { background: #fff; }
.bf-welcome-solutions__intro { display: flex; max-width: 1230px; min-height: 478px; margin: 0 auto; padding: 112px 40px 86px; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.bf-welcome-solutions__intro h2, .bf-welcome-why__intro h2, .bf-welcome-industries > .bf-welcome__shell h2, .bf-welcome-perspectives__title h2 { margin: 0; color: #000; font-size: clamp(28px, 3.35vw, 48px); font-weight: 600; line-height: 1.1; text-transform: uppercase; }
.bf-welcome-solutions__intro > p:last-child { max-width: 1083px; margin: 28px auto 0; font-size: 16px; line-height: 2; }
.bf-welcome-solutions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bf-welcome-solution-card { position: relative; display: flex; min-height: 418px; padding: 34px 28px 36px; flex-direction: column; align-items: center; text-align: center; }
.bf-welcome-solution-card:nth-child(odd) { background: #000; color: #fff; }
.bf-welcome-solution-card:nth-child(even) { background: #fff; color: #000; }
.bf-welcome-solution-card__copy { position: relative; z-index: 1; display: flex; width: 100%; flex: 1; flex-direction: column; align-items: center; }
.bf-welcome-solution-card h3 { max-width: 280px; margin: 0; font-size: 20px; font-weight: 400; line-height: 1.15; }
.bf-welcome-solution-card p { max-width: 270px; margin: 12px 0 0; font-size: 14px; line-height: 1.45; }
.bf-welcome-solution-card ul { width: 100%; max-width: 290px; margin: 10px 0 0; padding: 0; list-style: none; }
.bf-welcome-solution-card li { font-size: 12px; line-height: 1.4; }
.bf-welcome-solution-card img { display: block; width: min(172%, 270px); height: 137px; margin: 10px auto 0; object-fit: contain; }
.bf-welcome-card-link { position: absolute; bottom: 26px; left: 50%; padding: 0 5px 10px; border-bottom: 1px solid currentColor; color: inherit; font-size: 12px; line-height: 1; text-decoration: none; transform: translateX(-50%); }
.bf-welcome-card-link span { margin-left: 4px; }

/* The new workflow content uses the same open, white-and-black system without introducing editorial cards. */
.bf-welcome-workflow { background: #fff; }
.bf-welcome-workflow .bf-welcome__shell { padding: 104px 8.3% 116px; }
.bf-welcome-workflow .bf-welcome-section__heading { text-align: center; }
.bf-welcome-workflow .bf-welcome-section__heading h2 { margin: 0; color: #000; font-size: 48px; text-transform: uppercase; }
.bf-welcome-workflow .bf-welcome-section__heading .bf-welcome__eyebrow { display: none; }
.bf-welcome-workflow__steps { margin-top: 70px; border-top: 1px solid #ddd; }
.bf-welcome-workflow__step { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 20px; padding: 28px 0; border-bottom: 1px solid #ddd; }
.bf-welcome-workflow__step > span { font-size: 12px; font-weight: 600; }
.bf-welcome-workflow__step h3 { margin: 0; color: #000; font-size: 24px; font-weight: 400; }
.bf-welcome-workflow__step p { max-width: 700px; margin: 12px 0 0; color: #595959; font-size: 15px; line-height: 1.55; }
.bf-welcome-workflow__security { display: grid; margin-top: 60px; padding-top: 35px; grid-template-columns: 1fr 1fr; gap: 60px; border-top: 1px solid #ddd; }
.bf-welcome-workflow__security h3 { margin: 0; color: #000; font-size: 32px; font-weight: 500; }
.bf-welcome-workflow__security p { margin: 14px 0 0; color: #595959; line-height: 1.55; }
.bf-welcome-workflow__security ul { display: grid; margin: 0; padding: 0; grid-template-columns: 1fr 1fr; gap: 0 24px; list-style: none; }
.bf-welcome-workflow__security li { padding: 12px 0; border-bottom: 1px solid #ddd; font-size: 14px; line-height: 1.4; }

/* Old Industry accordion: gray canvas, centered title and generous left title indent. */
.bf-welcome-industries { background: #fafafa; }
.bf-welcome-industries > .bf-welcome__shell { padding: 112px 0 0; }
.bf-welcome-industries .bf-welcome-section__heading { display: block; text-align: center; }
.bf-welcome-industries .bf-welcome-section__heading .bf-welcome__eyebrow { display: none; }
.bf-welcome-industries .bf-welcome-section__heading > p:last-child { display: none; }
.bf-welcome-industries__list { margin-top: 58px; }
.bf-welcome-industries details { border-bottom: 1px solid #e0e0e0; }
.bf-welcome-industries summary { display: grid; min-height: 67px; padding: 18px 4% 18px 21%; grid-template-columns: 52px minmax(0, 1fr) 24px; align-items: center; gap: 10px; cursor: pointer; list-style: none; }
.bf-welcome-industries summary::-webkit-details-marker { display: none; }
.bf-welcome-industries summary > span { font-size: 12px; }
.bf-welcome-industries summary strong { font-family: Inter, "Open Sans", sans-serif; font-size: 16px; font-weight: 500; }
.bf-welcome-industries summary i { color: #000; font-size: 19px; font-style: normal; font-weight: 300; text-align: center; }
.bf-welcome-industries details[open] summary i { font-size: 0; }
.bf-welcome-industries details[open] summary i::after { content: "−"; font-size: 19px; }
.bf-welcome-industries__details { display: grid; max-width: 910px; padding: 0 6% 22px 26.5%; grid-template-columns: 1fr auto; gap: 34px; }
.bf-welcome-industries__details p { margin: 0; font-size: 14px; line-height: 1.55; }
.bf-welcome-industries__details ul { margin: 0; padding: 0; list-style: none; }
.bf-welcome-industries__details li { font-size: 12px; line-height: 1.55; }
.bf-welcome-industries__details li::before { content: "•"; margin-right: 6px; }

/* Old Why Choosing Us: light gray gradient, white rounded image cards, 3 + 2 centered. */
.bf-welcome-why { padding: 112px 40px 120px; background: linear-gradient(#fff 0%, #fafafa 44%, #f7f7f7 100%); }
.bf-welcome-why__intro { text-align: center; }
.bf-welcome-why__intro .bf-welcome__eyebrow { display: none; }
.bf-welcome-why__intro > p:not(.bf-welcome__eyebrow) { max-width: 1000px; margin: 18px auto 0; font-size: 15px; line-height: 1.7; }
.bf-welcome-why__intro > .bf-welcome-why__intro-detail { max-width: 1000px; margin-top: 10px; color: #595959; font-size: 14px; line-height: 1.65; }
.bf-welcome-why__grid { display: grid; max-width: 1360px; margin: 44px auto 0; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.bf-welcome-why-card { grid-column: span 2; min-height: 310px; padding: 12px 12px 22px; border-radius: 9px; background: #fff; box-shadow: 0 5px 18px rgb(0 0 0 / 10%); text-align: center; }
.bf-welcome-why-card:nth-child(4) { grid-column: 2 / span 2; }
.bf-welcome-why-card__image { height: 176px; overflow: hidden; border-radius: 8px; background: #050505; }
.bf-welcome-why-card__image img { width: 100%; height: 100%; object-fit: contain; }
.bf-welcome-why-card h3 { margin: 16px 0 0; color: #1f1f1f; font-size: 16px; font-weight: 400; line-height: 1.15; text-transform: uppercase; }
.bf-welcome-why-card p { margin: 9px auto 0; color: #595959; font-size: 12px; line-height: 1.4; }

/* Old Customer Reviews: left title / narrow right review stream, then the retained five logos. */
.bf-welcome-perspectives { padding: 112px 8.3% 0; background: #fff; }
.bf-welcome-perspectives__reviews-wrap { display: grid; grid-template-columns: 42% minmax(0, 58%); }
.bf-welcome-perspectives__title { padding-top: 4px; }
.bf-welcome-perspectives__title .bf-welcome__eyebrow { display: none; }
.bf-welcome-perspectives__title h2 { max-width: 9ch; }
.bf-welcome-perspectives__title > p:last-child { max-width: 250px; margin: 22px 0 0; color: #595959; font-size: 14px; line-height: 1.5; }
.bf-welcome-perspectives__reviews { padding-left: 30px; border-left: 1px solid #ddd; }
.bf-welcome-perspective-card { padding: 0 0 30px; }
.bf-welcome-perspective-card + .bf-welcome-perspective-card { padding-top: 20px; border-top: 0; }
.bf-welcome-perspective-card__meta { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }
.bf-welcome-perspective-card__meta > span:first-child { font-size: 11px; }
.bf-welcome-perspective-card__meta strong { display: block; max-width: 420px; font-size: 14px; font-weight: 400; line-height: 1.3; text-transform: none; }
.bf-welcome-perspective-card__stars { display: block; margin-top: 3px; color: #ffab09; font-size: 12px; letter-spacing: 2px; }
.bf-welcome-perspective-card blockquote { max-width: 620px; margin: 10px 0 0 38px; color: #000; font-size: 14px; line-height: 1.65; }
.bf-welcome-perspectives__awards { min-height: 430px; padding: 112px 0 92px; text-align: center; }
.bf-welcome-perspectives__awards h3 { margin: 0; color: #000; font-size: 28px; font-weight: 600; text-transform: uppercase; }
.bf-welcome-perspectives__awards > div { display: flex; min-height: 160px; align-items: center; justify-content: center; gap: 42px; margin-top: 42px; }
.bf-welcome-perspectives__awards img { display: block; width: 150px; height: 105px; object-fit: contain; }

/* Old Start With Us Today CTA: compact black block with left-aligned white copy and logo. */
.bf-welcome-cta { position: relative; min-height: 456px; overflow: hidden; background: #000; color: #fff; }
.bf-welcome-cta__shell { position: relative; z-index: 1; display: flex; min-height: 456px; padding: 80px 8.3%; flex-direction: column; align-items: flex-start; justify-content: center; }
.bf-welcome-cta__copy { position: relative; z-index: 2; max-width: 680px; }
.bf-welcome-cta__copy .bf-welcome__eyebrow { display: none; }
.bf-welcome-cta__copy h2 { margin: 0; color: #fff; font-size: 48px; font-weight: 600; line-height: 1.08; text-transform: uppercase; }
.bf-welcome-cta__copy > p:not(.bf-welcome__eyebrow) { max-width: 640px; margin: 16px 0 0; color: #fff; font-size: 17px; line-height: 1.45; }
.bf-welcome-cta__copy .bf-welcome__button { margin-top: 22px; padding: 8px 24px; min-height: 40px; font-size: 14px; }
.bf-welcome-cta__logo { position: absolute; z-index: 1; top: 28px; left: 8.3%; width: 42px; height: 42px; object-fit: contain; filter: brightness(0) invert(1); }

@media (max-width: 1024px) {
  .bf-welcome-hero { height: 600px; }
  .bf-welcome-hero__scene--one { top: 80px; width: 85vw; height: 360px; }
  .bf-welcome-hero__headline--one { top: 82px; left: 6%; width: min(335px, 35vw); }
  .bf-welcome-hero__headline h1, .bf-welcome-hero__headline h2 { font-size: 40px; }
  .bf-welcome-hero__caption { bottom: 48px; }
  .bf-welcome-hero__caption p { font-size: 18px; }
  .bf-welcome-hero__scene--three { top: 85px; left: 4%; width: 43%; height: 430px; }
  .bf-welcome-hero__headline--three { top: 50%; left: 47%; width: 49%; padding: 0 25px 0 0; transform: translateY(-50%); }
  .bf-welcome-solution-card { min-height: 360px; padding-inline: 18px; }
  .bf-welcome-solution-card h3 { font-size: 16px; }
  .bf-welcome-industries summary { padding-left: 12%; }
  .bf-welcome-industries__details { padding-left: 17%; }
}

@media (max-width: 767px) {
  .bf-welcome__button { min-height: 40px; padding: 8px 20px; font-size: 14px; }
  .bf-welcome-hero { height: 620px; }
  .bf-welcome-hero__scene--one { top: 130px; left: 50%; width: 125vw; height: 310px; }
  .bf-welcome-hero__headline--one { top: 82px; left: 24px; max-width: calc(100% - 48px); }
  .bf-welcome-hero__headline--one h1 { font-size: 32px; }
  .bf-welcome-hero__headline--one span { font-size: 11px; }
  .bf-welcome-hero__caption { bottom: 58px; width: calc(100% - 48px); }
  .bf-welcome-hero__caption p { font-size: 15px; }
  .bf-welcome-hero__arrow { width: 38px; height: 38px; font-size: 30px; }
  .bf-welcome-hero__arrow--prev { left: 12px; }
  .bf-welcome-hero__arrow--next { right: 12px; }
  .bf-welcome-hero__scene--three { top: 20px; left: 10%; width: 80%; height: 220px; }
  .bf-welcome-hero__headline--three { top: 250px; left: 24px; width: calc(100% - 48px); padding: 0; transform: none; }
  .bf-welcome-hero__headline--three h2 { font-size: 32px; }
  .bf-welcome-hero__headline--three p { margin-top: 12px; font-size: 14px; }
  .bf-welcome-hero__headline--three ul { display: none; }
  .bf-welcome-hero__headline--three .bf-welcome__button { margin-top: 16px; }
  .bf-welcome-solutions__intro { min-height: 0; padding: 70px 24px 50px; }
  .bf-welcome-solutions__intro h2, .bf-welcome-why__intro h2, .bf-welcome-industries > .bf-welcome__shell h2, .bf-welcome-perspectives__title h2 { font-size: 26px; }
  .bf-welcome-solutions__intro > p:last-child { margin-top: 18px; font-size: 13px; line-height: 1.7; }
  .bf-welcome-solutions__grid { grid-template-columns: 1fr 1fr; }
  .bf-welcome-solution-card { min-height: 300px; padding: 24px 12px 32px; }
  .bf-welcome-solution-card h3 { font-size: 15px; }
  .bf-welcome-solution-card p { font-size: 11px; }
  .bf-welcome-solution-card li { font-size: 10px; }
  .bf-welcome-solution-card img { width: 100%; height: 88px; }
  .bf-welcome-card-link { bottom: 18px; font-size: 10px; }
  .bf-welcome-workflow .bf-welcome__shell { padding: 70px 24px; }
  .bf-welcome-workflow .bf-welcome-section__heading h2 { font-size: 28px; }
  .bf-welcome-workflow__steps { margin-top: 42px; }
  .bf-welcome-workflow__step { grid-template-columns: 38px 1fr; gap: 8px; padding: 22px 0; }
  .bf-welcome-workflow__step h3 { font-size: 18px; }
  .bf-welcome-workflow__step p { font-size: 13px; }
  .bf-welcome-workflow__security { display: block; margin-top: 42px; }
  .bf-welcome-workflow__security h3 { font-size: 26px; }
  .bf-welcome-workflow__security ul { margin-top: 20px; grid-template-columns: 1fr; }
  .bf-welcome-industries > .bf-welcome__shell { padding-top: 70px; }
  .bf-welcome-industries__list { margin-top: 38px; }
  .bf-welcome-industries summary { min-height: 58px; padding: 14px 18px 14px 24px; grid-template-columns: 32px 1fr 18px; }
  .bf-welcome-industries summary strong { font-size: 14px; }
  .bf-welcome-industries__details { display: block; padding: 0 24px 20px 56px; }
  .bf-welcome-industries__details ul { margin-top: 12px; }
  .bf-welcome-why { padding: 70px 16px; }
  .bf-welcome-why__intro > p:not(.bf-welcome__eyebrow) { font-size: 13px; line-height: 1.7; }
  .bf-welcome-why__intro > .bf-welcome-why__intro-detail { font-size: 12px; line-height: 1.6; }
  .bf-welcome-why__grid { margin-top: 32px; grid-template-columns: 1fr 1fr; gap: 10px; }
  .bf-welcome-why-card, .bf-welcome-why-card:nth-child(4) { grid-column: auto; min-height: 250px; padding: 7px 7px 14px; }
  .bf-welcome-why-card__image { height: 118px; }
  .bf-welcome-why-card h3 { margin-top: 10px; font-size: 11px; }
  .bf-welcome-why-card p { font-size: 10px; }
  .bf-welcome-perspectives { padding: 70px 24px 0; }
  .bf-welcome-perspectives__reviews-wrap { display: block; }
  .bf-welcome-perspectives__title { text-align: center; }
  .bf-welcome-perspectives__title h2 { max-width: none; }
  .bf-welcome-perspectives__title > p:last-child { max-width: 290px; margin: 16px auto 0; font-size: 13px; }
  .bf-welcome-perspectives__reviews { margin-top: 42px; padding-left: 0; border-left: 0; }
  .bf-welcome-perspective-card { padding-bottom: 24px; }
  .bf-welcome-perspective-card blockquote { margin-left: 38px; font-size: 13px; }
  .bf-welcome-perspectives__awards { min-height: 300px; padding: 70px 0 56px; }
  .bf-welcome-perspectives__awards h3 { font-size: 22px; }
  .bf-welcome-perspectives__awards > div { min-height: 150px; gap: 12px; flex-wrap: wrap; }
  .bf-welcome-perspectives__awards img { width: 90px; height: 66px; }
  .bf-welcome-cta, .bf-welcome-cta__shell { min-height: 260px; }
  .bf-welcome-cta__shell { padding: 60px 40px 40px; }
  .bf-welcome-cta__copy h2 { font-size: 27px; }
  .bf-welcome-cta__copy > p:not(.bf-welcome__eyebrow) { font-size: 12px; }
  .bf-welcome-cta__logo { top: 18px; left: 40px; width: 32px; height: 32px; }
}

@media (prefers-reduced-motion: reduce) { .bf-welcome-hero__slide, .bf-welcome__button { transition: none !important; } }

/* -------------------------------------------------------------------------
 * Visual parity pass: keep the new content, restore the legacy page rhythm.
 * ------------------------------------------------------------------------- */
body.page-id-13721 .scroll-sticky-header { display: none !important; }

.bf-welcome-site-header {
  position: relative;
  z-index: 20;
  height: 80px;
  min-height: 80px;
  margin-bottom: -80px;
  box-sizing: border-box;
  background: transparent;
  color: #111;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  transition: color .3s ease;
}
.bf-welcome-site-header.is-on-dark { color: #fff; }
.bf-welcome-site-header__inner {
  display: grid;
  width: 100%;
  min-height: 80px;
  margin: 0 auto;
  grid-template-columns: 18.75% minmax(0, 1fr) 150px;
  align-items: center;
  gap: 20px;
}
.bf-welcome-site-header__brand {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
}
.bf-welcome-site-header__brand img {
  display: block;
  width: min(100%, 240px);
  height: 48px;
  object-fit: contain;
}
.bf-welcome-site-header__nav {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
}
.bf-welcome-site-header__nav a {
  position: relative;
  display: inline-flex;
  min-height: 30px;
  padding: 0 clamp(8px, 1.17vw, 15px);
  align-items: center;
  color: inherit;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}
.bf-welcome-site-header__nav a::after {
  position: absolute;
  right: clamp(8px, 1.17vw, 15px);
  bottom: 0;
  left: clamp(8px, 1.17vw, 15px);
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}
.bf-welcome-site-header__nav a:hover::after,
.bf-welcome-site-header__nav a.is-current::after { transform: scaleX(1); }
.bf-welcome-site-header__search {
  display: flex;
  width: 130px;
  height: 40px;
  margin-right: 20px;
  align-items: center;
  overflow: hidden;
  border-radius: 30px;
  background: #fff;
}
.bf-welcome-site-header__search input {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 4px 0 13px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #6b7280;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
}
.bf-welcome-site-header__search input::placeholder { color: #6b7280; }
.bf-welcome-site-header__search button {
  display: grid;
  width: 32px;
  height: 40px;
  padding: 0;
  flex: 0 0 32px;
  place-items: center;
  border: 0;
  background: transparent;
  color: #111;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}
.bf-welcome-site-header__menu-toggle { display: none; }

.elementor-13721 > .elementor-element { width: 100%; max-width: none; }
#solutions, #industries { scroll-margin-top: 96px; }
.elementor-13721 .bf-welcome__shell { width: min(1180px, calc(100% - 80px)); margin-right: auto; margin-left: auto; }
.bf-welcome-hero__scene--one { top: 78px; right: 1%; left: auto; width: min(58vw, 920px); height: 505px; transform: none; }
.bf-welcome-hero__headline--one { top: 166px; left: max(7%, calc((100vw - 1440px) / 2 + 80px)); width: min(510px, 37%); }
.bf-welcome-hero__headline--one h1 { font-size: clamp(44px, 4.25vw, 66px); line-height: 1.01; }
.bf-welcome-hero__headline--one span { margin-bottom: 18px; font-size: 14px; }
.bf-welcome-hero__caption--one { bottom: 116px; left: max(7%, calc((100vw - 1440px) / 2 + 80px)); width: min(500px, 38%); transform: none; text-align: left; }
.bf-welcome-hero__caption--one p { margin-bottom: 24px; font-size: 18px; line-height: 1.55; }
.bf-welcome-hero__caption--one .bf-welcome__button { min-height: 50px; padding-inline: 30px; }
.bf-welcome-hero__headline--three { top: 50%; left: 47%; width: 44%; padding-left: 50px; transform: translateY(-50%); }
.bf-welcome-hero__headline--three h2 { font-size: clamp(42px, 4vw, 62px); }
.bf-welcome-hero__headline--three p { font-size: 17px; }
.bf-welcome-hero__scene--three { top: 100px; left: 5.5%; width: 40%; height: 600px; }
.bf-welcome-hero__arrow { width: 54px; height: 54px; background: rgb(0 0 0 / 20%); }
.bf-welcome-hero__arrow--prev { left: 28px; }
.bf-welcome-hero__arrow--next { right: 28px; }
.bf-welcome-hero__dots { bottom: 24px; gap: 14px; }
.bf-welcome-hero__dots button { width: 9px; height: 9px; }

.bf-welcome-solutions__intro { width: min(1230px, 100%); min-height: 478px; padding: 124px 55px 92px; }
.bf-welcome-solutions__intro h2,
.bf-welcome-why__intro h2,
.bf-welcome-industries > .bf-welcome__shell h2,
.bf-welcome-perspectives__title h2 { font-size: clamp(34px, 3.6vw, 54px); letter-spacing: -.035em; }
.bf-welcome-solutions__intro > p:last-child { max-width: 1120px; margin-top: 32px; font-size: 17px; line-height: 1.9; }
.bf-welcome-solution-card { min-height: 418px; padding: 48px 36px 42px; }
.bf-welcome-solution-card h3 { max-width: 330px; font-size: 23px; line-height: 1.16; }
.bf-welcome-solution-card p { max-width: 330px; margin-top: 16px; font-size: 15px; line-height: 1.55; }
.bf-welcome-solution-card ul { max-width: 330px; margin-top: 14px; }
.bf-welcome-solution-card li { font-size: 13px; line-height: 1.55; }
.bf-welcome-solution-card img { width: min(100%, 300px); height: 154px; margin-top: 18px; }
.bf-welcome-card-link { bottom: 30px; font-size: 13px; }

.bf-welcome-workflow .bf-welcome__shell { padding: 126px 0 132px; }
.bf-welcome-workflow .bf-welcome-section__heading h2 { font-size: clamp(36px, 3.6vw, 54px); letter-spacing: -.035em; }
.bf-welcome-workflow__steps { margin-top: 82px; }
.bf-welcome-workflow__step { grid-template-columns: 90px minmax(0, 1fr); gap: 28px; padding: 34px 0; }
.bf-welcome-workflow__step > span { font-size: 14px; }
.bf-welcome-workflow__step h3 { font-size: 28px; }
.bf-welcome-workflow__step p { max-width: 820px; margin-top: 15px; font-size: 16px; line-height: 1.65; }
.bf-welcome-workflow__security { margin-top: 76px; padding-top: 42px; gap: 90px; }
.bf-welcome-workflow__security h3 { font-size: 36px; }
.bf-welcome-workflow__security p { font-size: 16px; }
.bf-welcome-workflow__security li { padding: 15px 0; font-size: 15px; }

.bf-welcome-industries > .bf-welcome__shell { width: min(1240px, calc(100% - 80px)); padding: 126px 0 0; }
.bf-welcome-industries__list { margin-top: 70px; }
.bf-welcome-industries summary { min-height: 76px; padding: 21px 3% 21px 16%; grid-template-columns: 58px minmax(0, 1fr) 28px; gap: 14px; }
.bf-welcome-industries summary > span { font-size: 14px; }
.bf-welcome-industries summary strong { font-size: 20px; }
.bf-welcome-industries summary i { font-size: 23px; }
.bf-welcome-industries__details { max-width: 1080px; padding: 0 7% 28px 22.1%; grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; }
.bf-welcome-industries__details p { font-size: 16px; line-height: 1.65; }
.bf-welcome-industries__details li { font-size: 14px; line-height: 1.7; }

.bf-welcome-why { padding: 132px 40px 142px; }
.bf-welcome-why__intro > p:not(.bf-welcome__eyebrow) { margin-top: 22px; font-size: 17px; }
.bf-welcome-why__intro > .bf-welcome-why__intro-detail { margin-top: 12px; font-size: 15px; }
.bf-welcome-why__grid { max-width: 1280px; margin-top: 56px; gap: 18px; }
.bf-welcome-why-card { min-height: 356px; padding: 15px 15px 28px; border-radius: 12px; }
.bf-welcome-why-card__image { height: 192px; border-radius: 10px; background: #f4f4f4; }
.bf-welcome-why-card__image img { width: 112px; height: 112px; margin: 40px auto; object-fit: contain; }
.bf-welcome-why-card h3 { margin-top: 20px; font-size: 18px; }
.bf-welcome-why-card p { max-width: 250px; margin-top: 12px; font-size: 13px; line-height: 1.55; }

.bf-welcome-perspectives { padding: 132px max(8.3%, calc((100vw - 1440px) / 2 + 80px)) 0; }
.bf-welcome-perspectives__reviews-wrap { grid-template-columns: 38% minmax(0, 62%); }
.bf-welcome-perspectives__title h2 { max-width: 10ch; }
.bf-welcome-perspectives__title > p:last-child { max-width: 300px; margin-top: 26px; font-size: 16px; line-height: 1.65; }
.bf-welcome-perspectives__reviews { padding-left: 46px; }
.bf-welcome-perspective-card { padding-bottom: 38px; }
.bf-welcome-perspective-card + .bf-welcome-perspective-card { padding-top: 30px; }
.bf-welcome-perspective-card__meta { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; }
.bf-welcome-perspective-card__meta > span:first-child { font-size: 13px; }
.bf-welcome-perspective-card__meta strong { max-width: 560px; font-size: 17px; }
.bf-welcome-perspective-card__stars { margin-top: 5px; font-size: 14px; }
.bf-welcome-perspective-card blockquote { max-width: 760px; margin: 14px 0 0 50px; font-size: 16px; line-height: 1.75; }
.bf-welcome-perspectives__awards { min-height: 500px; padding: 132px 0 104px; }
.bf-welcome-perspectives__awards h3 { font-size: 34px; }
.bf-welcome-perspectives__awards > div { min-height: 210px; gap: clamp(34px, 4vw, 76px); margin-top: 52px; }
.bf-welcome-perspectives__awards img { width: 176px; height: 150px; }

.bf-welcome-cta { min-height: 456px; }
.bf-welcome-cta__shell { min-height: 456px; padding: 94px max(8.3%, calc((100vw - 1440px) / 2 + 80px)); }
.bf-welcome-cta__copy { max-width: 760px; }
.bf-welcome-cta__copy h2 { font-size: clamp(38px, 4vw, 58px); letter-spacing: -.035em; }
.bf-welcome-cta__copy > p:not(.bf-welcome__eyebrow) { max-width: 700px; margin-top: 22px; font-size: 18px; line-height: 1.6; }
.bf-welcome-cta__copy .bf-welcome__button { margin-top: 30px; min-height: 48px; padding: 11px 30px; font-size: 15px; }
.bf-welcome-cta__logo { top: 34px; left: max(8.3%, calc((100vw - 1440px) / 2 + 80px)); width: 54px; height: 54px; }

@media (max-width: 1100px) {
  .bf-welcome-site-header__inner { grid-template-columns: 18% minmax(0, 1fr) 130px; gap: 12px; }
  .bf-welcome-site-header__nav a { padding-inline: 7px; font-size: 12px; }
  .bf-welcome-site-header__nav a::after { right: 7px; left: 7px; }
  .bf-welcome-site-header__search { width: 118px; margin-right: 12px; }
  .bf-welcome-hero__headline--one,
  .bf-welcome-hero__caption--one { left: 6%; }
  .bf-welcome-hero__headline--one { width: 40%; }
  .bf-welcome-hero__caption--one { width: 42%; }
  .bf-welcome-hero__scene--one { width: 60%; }
  .elementor-13721 .bf-welcome__shell { width: min(100% - 48px, 960px); }
  .bf-welcome-industries > .bf-welcome__shell { width: min(100% - 48px, 960px); }
}

@media (max-width: 767px) {
  .bf-welcome-site-header { height: 65px; min-height: 65px; margin-bottom: -65px; }
  .bf-welcome-site-header__inner { min-height: 65px; padding: 0 15px; grid-template-columns: minmax(0, 1fr) 32px; gap: 16px; }
  .bf-welcome-site-header__brand { justify-content: flex-start; }
  .bf-welcome-site-header__brand img { width: 150px; height: 42px; object-position: left center; }
  .bf-welcome-site-header__nav {
    position: absolute;
    top: 65px;
    right: 15px;
    left: 15px;
    display: none;
    padding: 16px;
    flex-direction: column;
    align-items: stretch;
    border-radius: 8px;
    background: rgb(226 226 226 / 98%);
    box-shadow: 0 12px 30px rgb(0 0 0 / 18%);
    color: #111;
  }
  .bf-welcome-site-header.is-on-dark .bf-welcome-site-header__nav { background: rgb(5 5 5 / 98%); color: #fff; }
  .bf-welcome-site-header__nav.is-open { display: flex; }
  .bf-welcome-site-header__nav a { min-height: 42px; padding: 8px 10px; font-size: 16px; }
  .bf-welcome-site-header__nav a::after { right: 10px; bottom: 4px; left: 10px; }
  .bf-welcome-site-header__search { display: none; }
  .bf-welcome-site-header__menu-toggle {
    display: grid;
    width: 32px;
    height: 32px;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
  }
  .bf-welcome-site-header__menu-toggle svg { width: 32px; height: 32px; }
  .bf-welcome-hero__scene--one { top: 138px; right: -22%; left: auto; width: 145%; height: 285px; }
  .bf-welcome-hero__headline--one { top: 62px; left: 24px; width: calc(100% - 48px); }
  .bf-welcome-hero__headline--one h1 { max-width: 11ch; font-size: 34px; }
  .bf-welcome-hero__caption--one { bottom: 48px; left: 24px; width: calc(100% - 48px); }
  .bf-welcome-hero__caption--one p { max-width: 330px; font-size: 14px; line-height: 1.5; }
  .bf-welcome-hero__scene--three { top: 20px; left: 10%; width: 80%; height: 245px; }
  .bf-welcome-hero__headline--three { top: 258px; left: 24px; width: calc(100% - 48px); padding: 0; transform: none; }
  .bf-welcome-hero__headline--three h2 { font-size: 34px; }
  .bf-welcome-solutions__intro { padding: 78px 24px 58px; }
  .bf-welcome-solutions__intro > p:last-child { font-size: 14px; line-height: 1.75; }
  .bf-welcome-solution-card { min-height: 330px; padding: 28px 13px 35px; }
  .bf-welcome-solution-card h3 { font-size: 16px; }
  .bf-welcome-solution-card p { font-size: 12px; line-height: 1.45; }
  .bf-welcome-solution-card li { font-size: 11px; }
  .bf-welcome-solution-card img { height: 104px; margin-top: 12px; }
  .elementor-13721 .bf-welcome__shell,
  .bf-welcome-industries > .bf-welcome__shell { width: calc(100% - 48px); }
  .bf-welcome-workflow .bf-welcome__shell { padding: 78px 0 82px; }
  .bf-welcome-workflow__step h3 { font-size: 20px; }
  .bf-welcome-workflow__step p { font-size: 14px; }
  .bf-welcome-industries > .bf-welcome__shell { padding-top: 78px; }
  .bf-welcome-industries summary { padding-left: 0; }
  .bf-welcome-industries__details { padding-left: 44px; }
  .bf-welcome-why { padding: 78px 16px 88px; }
  .bf-welcome-why__intro > p:not(.bf-welcome__eyebrow) { font-size: 14px; line-height: 1.7; }
  .bf-welcome-why__intro > .bf-welcome-why__intro-detail { font-size: 13px; line-height: 1.6; }
  .bf-welcome-why-card__image img { width: 82px; height: 82px; margin: 26px auto; }
  .bf-welcome-perspectives { padding: 78px 24px 0; }
  .bf-welcome-perspective-card__meta strong { font-size: 14px; }
  .bf-welcome-perspective-card blockquote { font-size: 14px; line-height: 1.65; }
  .bf-welcome-perspectives__awards { min-height: 360px; padding: 78px 0 68px; }
  .bf-welcome-perspectives__awards img { width: 102px; height: 86px; }
  .bf-welcome-cta__shell { min-height: 300px; padding: 70px 40px 46px; }
  .bf-welcome-cta__copy h2 { font-size: 31px; }
  .bf-welcome-cta__copy > p:not(.bf-welcome__eyebrow) { font-size: 14px; line-height: 1.5; }
}
