/* ============================================================
   Bennett Financials — Merged Stylesheet
   Generated from: index.html, fractional-cfo-services.html,
                   tax-planning.html, plastic-surgeons.html

   All classes use bf- prefix for WordPress isolation.
   ============================================================ */


/* ============================================================
   BASE STYLES (shared across all pages)
   Reset, Variables, Typography, Navigation, Buttons, Sections,
   Footer, Animations, Reveal Effects
   ============================================================ */


*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --cream: #FFFFFF;
  --cream-dark: #F3F3F3;
  --white: #FFFFFF;
  --orange: #5B29DD;
  --orange-hover: #4A1FC8;
  --orange-light: rgba(91, 41, 221, 0.06);
  --orange-border: rgba(91, 41, 221, 0.18);
  --text-primary: #201843;
  --text-secondary: #37405B;
  --text-muted: #6B7190;
  --text-faint: #9CA0B8;
  --border: #E4E2EC;
  --border-light: #F0EEF6;
  --green: #00C853;
  --amber: #FF9100;
  --red: #FF1744;
  --accent2: #7D51FE;
  --accent3: #8965E7;
  --accent-shade: #F4F0FF;
  --ink: #1a1145;
  --purple: #5B29DD;
  --muted: #6B7190;
  --font-serif: 'Instrument Serif', Georgia, serif;
  --font-sans: 'Rethink Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --section-gap: 80px;
  --container-max: 1440px;
  --radius: 8px;
  --radius-lg: 12px;
  --radius-xl: 12px;
  --radius-full: 100px;
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); background: var(--white); color: var(--text-primary); line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
.bf-container { max-width: var(--container-max); margin: 0 auto; padding: 0 32px; }

.bf-h1 { font-family: var(--font-sans); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 20px; }
.bf-h2 { font-family: var(--font-sans); font-size: clamp(1.75rem, 3.5vw, 2.75rem); font-weight: 500; line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 16px; }
.bf-body-lg { font-size: 1.0625rem; color: var(--text-secondary); line-height: 1.7; }
.bf-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 0.8125rem; font-weight: 600; color: var(--text-muted);
  letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 20px;
}
.bf-eyebrow::before {
  content: ''; width: 7px; height: 7px; flex-shrink: 0;
  background: var(--orange); border-radius: 50%;
  animation: bf-eyebrow-pulse 2s ease-in-out infinite;
}
@keyframes bf-eyebrow-pulse {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(91,41,221,0.4); }
  50% { opacity: 0.7; transform: scale(0.8); box-shadow: 0 0 0 5px rgba(91,41,221,0); }
}
/* Scramble text animation */
.bf-eyebrow[data-scramble] { overflow: hidden; }
.bf-eyebrow__dot { display: none; }
.bf-serif-italic { font-style: normal; }

/* cursor dot removed */

/* ===========================
   NAV — with scroll shadow
   =========================== */
/* Top notification bar */
.bf-topbar { background: linear-gradient(90deg, #2a1463, var(--accent3), #2a1463); color: var(--white); text-align: center; padding: 10px 16px; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.02em; overflow: hidden; max-height: 50px; transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease; }
.bf-topbar.bf-is-hidden { max-height: 0; padding: 0 16px; opacity: 0; }
.bf-topbar a { color: var(--white); text-decoration: underline; text-underline-offset: 2px; font-weight: 700; margin-left: 6px; }
.bf-topbar a:hover { opacity: 0.85; }

.bf-nav { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--border-light); padding: 0 32px; transition: box-shadow 0.3s ease; }
.bf-nav.bf-is-scrolled { box-shadow: 0 4px 30px rgba(0,0,0,0.06); }
.bf-nav__inner { max-width: var(--container-max); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 72px; }
.bf-nav__logo { display: flex; align-items: center; }
.bf-nav__logo img { height: 36px; width: auto; transition: opacity 0.3s ease; }
.bf-nav__logo:hover img { opacity: 0.8; }
.bf-nav__links { display: flex; align-items: center; gap: 36px; list-style: none; }
.bf-nav__link { font-size: 0.875rem; font-weight: 600; color: var(--text-primary); transition: color 0.2s; position: relative; }
.bf-nav__link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--orange); transition: width 0.3s ease; border-radius: 2px; }
.bf-nav__link:hover { color: var(--text-primary); }
.bf-nav__link:hover::after { width: 100%; }
.bf-nav__cta { display: inline-flex; align-items: center; gap: 6px; padding: 10px 24px; background: var(--orange); color: var(--white); border-radius: var(--radius-full); font-size: 0.8125rem; font-weight: 600; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; overflow: hidden; }
.bf-nav__cta::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent); transform: translateX(-100%); transition: transform 0.5s; }
.bf-nav__cta:hover { background: var(--orange-hover); transform: translateY(-1px); box-shadow: 0 4px 15px rgba(91,41,221,0.3); }
.bf-nav__cta:hover::before { transform: translateX(100%); }
.bf-nav__mobile-toggle { display: none; background: none; border: none; cursor: pointer; color: var(--text-primary); padding: 8px; }

/* Mega menu — desktop */
.bf-nav__dropdown { position: relative; }
.bf-nav__link--has-dropdown { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.bf-nav__link-chevron { width: 12px; height: 12px; transition: transform 0.3s ease; flex-shrink: 0; }
.bf-nav__mega {
  position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%) translateY(8px);
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,0.08), 0 4px 12px rgba(0,0,0,0.04);
  padding: 16px; min-width: 220px; opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  z-index: 150;
}
.bf-nav__mega::before {
  content: ''; position: absolute; top: -16px; left: 0; right: 0; height: 16px;
}
.bf-nav__dropdown:hover .bf-nav__mega,
.bf-nav__dropdown.bf-is-open .bf-nav__mega {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0);
}
.bf-nav__dropdown:hover .bf-nav__link-chevron { transform: rotate(180deg); }
.bf-nav__mega-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.bf-nav__mega-list a {
  display: block; padding: 10px 14px; font-size: 0.875rem; font-weight: 500; color: var(--text-secondary);
  border-radius: var(--radius); transition: all 0.2s ease; white-space: nowrap;
}
.bf-nav__mega-list a:hover { background: var(--accent-shade); color: var(--orange); }
.bf-nav__mega-grid--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8px; }

@media (max-width: 768px) {
  .bf-nav__links {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: #fff;
    z-index: 9999; flex-direction: column; align-items: center; justify-content: center; gap: 32px;
  }
  .bf-nav__links.bf-is-open { display: flex; }
  .bf-nav__link { font-size: 1.25rem; }
  .bf-nav__cta { font-size: 1rem; padding: 14px 32px; }
  .bf-nav__mobile-toggle { display: flex; z-index: 10000; position: relative; }
  .bf-nav.bf-menu-open { z-index: 9998; backdrop-filter: none; -webkit-backdrop-filter: none; }
  /* Mobile mega menu accordion */
  .bf-nav__dropdown { width: 100%; text-align: center; }
  .bf-nav__link--has-dropdown { justify-content: center; }
  .bf-nav__mega {
    position: static !important; transform: none !important; opacity: 1; visibility: visible;
    box-shadow: none; border: none; background: transparent;
    padding: 0; min-width: 0; display: none; pointer-events: auto;
    max-height: 0; overflow: hidden; transition: max-height 0.35s ease;
    left: auto;
  }
  .bf-nav__dropdown.bf-is-open .bf-nav__mega { display: block; max-height: 600px; }
  .bf-nav__dropdown.bf-is-open .bf-nav__link-chevron { transform: rotate(180deg); }
  .bf-nav__mega-list { align-items: center; gap: 0; padding: 8px 0; width: 100%; }
  .bf-nav__mega-list a { font-size: 1rem; color: var(--text-muted); padding: 8px 16px; white-space: normal; text-align: center; }
  .bf-nav__mega-grid--2col { grid-template-columns: 1fr; }
}

/* ===========================
   BUTTONS — Enhanced with shine + magnetic
   =========================== */
.bf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 32px; border-radius: var(--radius-full); font-size: 0.9375rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); white-space: nowrap; border: 1.5px solid transparent; position: relative; overflow: hidden; }
.bf-btn--primary { background: var(--orange); color: var(--white); border-color: var(--orange); }
.bf-btn--primary::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.6s ease; }
.bf-btn--primary:hover { background: var(--orange-hover); border-color: var(--orange-hover); transform: translateY(-3px); box-shadow: 0 12px 35px rgba(91,41,221,0.3); }
.bf-btn--primary:hover::before { left: 100%; }
.bf-btn--primary:active { transform: translateY(-1px); box-shadow: 0 4px 15px rgba(91,41,221,0.2); }
.bf-btn--secondary { background: transparent; color: var(--text-primary); border-color: var(--border); }
.bf-btn--secondary:hover { border-color: var(--text-primary); transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,0,0,0.06); }
.bf-btn--large { padding: 16px 40px; font-size: 1rem; }
.bf-btn__arrow { transition: transform 0.3s ease; }
.bf-btn:hover .bf-btn__arrow { transform: translateX(4px); }

/* ===========================
   HERO — with floating orbs
   =========================== */
.bf-hero { padding: 20px 0 0; background: var(--cream); overflow: hidden; position: relative; }

/* Floating decorative orbs */
.bf-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.35;
  pointer-events: none;
  animation: bf-float 20s ease-in-out infinite;
}
.bf-hero__orb--1 { width: 400px; height: 400px; background: rgba(91,41,221,0.08); top: -80px; right: -80px; }
.bf-hero__orb--2 { width: 300px; height: 300px; background: rgba(125,81,254,0.06); bottom: 80px; left: -60px; animation-delay: -8s; }
.bf-hero__orb--3 { width: 200px; height: 200px; background: rgba(91,41,221,0.04); top: 40%; left: 40%; animation-delay: -14s; }

@keyframes bf-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(25px, -20px) scale(1.06); }
  66% { transform: translate(-15px, 15px) scale(0.94); }
}

.bf-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; position: relative; z-index: 1; min-width: 0; }
.bf-hero__inner > * { min-width: 0; }
.bf-hero__left { padding-top: 32px; }

/* Text reveal animation for headline */
.bf-hero__headline { margin-bottom: 28px; }
.bf-text-reveal { display: inline-block; overflow: hidden; }
.bf-text-reveal__inner {
  display: inline-block;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
}
.bf-text-reveal.bf-is-visible .bf-text-reveal__inner {
  transform: translateY(0);
  opacity: 1;
}

.bf-hero__sub { max-width: 480px; margin-bottom: 40px; }
.bf-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.bf-hero__fine { font-size: 0.8125rem; color: var(--text-faint); }
.bf-hero__right { display: flex; flex-direction: column; align-items: flex-end; }
.bf-hero__video { width: 100%; height: 100%; border-radius: var(--radius-xl); overflow: hidden; }
.bf-hero__video video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Marquee trust bar */
.bf-hero__trust { padding: 48px 0 64px; overflow: hidden; position: relative; }
.bf-hero__trust::before,
.bf-hero__trust::after {
  content: ''; position: absolute; top: 48px; bottom: 64px; width: 80px; z-index: 2; pointer-events: none;
}
.bf-hero__trust::before { left: 0; background: linear-gradient(90deg, var(--cream), transparent); }
.bf-hero__trust::after { right: 0; background: linear-gradient(270deg, var(--cream), transparent); }

.bf-hero__trust-label {
  font-size: 0.75rem; font-weight: 500; color: var(--text-faint);
  text-transform: uppercase; letter-spacing: 0.08em;
  text-align: center; margin-bottom: 20px;
}

.bf-marquee { display: flex; align-items: center; gap: 64px; width: max-content; animation: bf-marquee 25s linear infinite; }
.bf-marquee:hover { animation-play-state: paused; }
@keyframes bf-marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

.bf-hero__trust-logo {
  display: flex; align-items: center; flex-shrink: 0;
  height: 36px; opacity: 0.5; transition: opacity 0.3s;
  filter: grayscale(100%);
}
.bf-hero__trust-logo:hover { opacity: 1; filter: grayscale(0%); }
.bf-hero__trust-logo img { height: 100%; width: auto; object-fit: contain; }

@media (max-width: 900px) { .bf-hero__inner { grid-template-columns: 1fr; gap: 48px; } .bf-hero__right { align-items: stretch; min-width: 0; } .bf-hero__video { max-width: 100%; } }
@media (max-width: 480px) { .bf-hero { padding: 24px 0 0; } .bf-hero__left { padding-top: 0; } .bf-hero__sub { margin-bottom: 20px; } .bf-hero__fine { margin-bottom: 0; } .bf-hero__trust { padding: 20px 0 20px; } .bf-hero__inner { gap: 16px !important; } .bf-hero__inner > div:last-child { margin-top: 0 !important; } .bf-hero__ctas { flex-direction: column; } .bf-btn--large { width: 100%; font-size: 0.8125rem; padding: 14px 24px; } .bf-btn { font-size: 0.8125rem; padding: 12px 20px; white-space: normal; text-align: center; } }

/* ===========================
   BROWSER — with tilt effect
   =========================== */
.bf-browser { width: 100%; max-width: 560px; background: var(--white); border-radius: var(--radius-xl); border: 1px solid var(--border); box-shadow: 0 24px 80px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.03); overflow: hidden; transition: transform 0.4s ease, box-shadow 0.4s ease; will-change: transform; }
.bf-browser:hover { box-shadow: 0 32px 90px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.04); }
.bf-browser__bar { display: flex; align-items: center; gap: 8px; padding: 12px 18px; background: var(--cream); border-bottom: 1px solid var(--border-light); }
.bf-browser__dot { width: 10px; height: 10px; border-radius: 50%; }
.bf-browser__dot:nth-child(1) { background: #E8A0A0; }
.bf-browser__dot:nth-child(2) { background: #E8D4A0; }
.bf-browser__dot:nth-child(3) { background: #A0D8B0; }
.bf-browser__url { flex: 1; text-align: center; font-size: 0.75rem; color: var(--text-faint); background: var(--white); border: 1px solid var(--border-light); border-radius: 8px; padding: 5px 16px; margin: 0 24px; }
.bf-browser__content { padding: 28px; background: var(--accent-shade); }

/* ===========================
   SCORECARD (unchanged logic, warm tones)
   =========================== */
.bf-scorecard { background: #201843; border-radius: var(--radius-xl); padding: 24px; overflow: hidden; position: relative; color: #fff; }
.bf-scorecard__header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.bf-scorecard__title { font-size: 0.875rem; font-weight: 700; }
.bf-scorecard__subtitle { font-size: 0.6875rem; font-weight: 500; color: rgba(255,255,255,0.35); text-transform: uppercase; letter-spacing: 0.04em; margin-top: 4px; }
.bf-scorecard__live { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; background: rgba(0,200,83,0.12); border: 1px solid rgba(0,200,83,0.25); border-radius: var(--radius-full); font-size: 0.6875rem; font-weight: 700; color: var(--green); text-transform: uppercase; letter-spacing: 0.04em; }
.bf-scorecard__live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); animation: bf-pulse 2s ease-in-out infinite; }
@keyframes bf-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.75)} }
.bf-scorecard__metrics { display: flex; flex-direction: column; gap: 16px; }
.bf-scorecard__metric { display: flex; flex-direction: column; gap: 5px; opacity: 0; transform: translateY(6px); transition: opacity 0.35s ease, transform 0.35s ease; }
.bf-scorecard__metric.bf-is-revealed { opacity: 1; transform: translateY(0); }
.bf-scorecard__metric-top { display: flex; align-items: center; justify-content: space-between; }
.bf-scorecard__metric-name { font-size: 0.75rem; font-weight: 600; color: rgba(255,255,255,0.55); }
.bf-scorecard__metric-values { display: flex; align-items: center; gap: 8px; }
.bf-scorecard__metric-current { font-size: 0.8125rem; font-weight: 700; }
.bf-scorecard__metric-current--warn { color: var(--amber); }
.bf-scorecard__metric-current--danger { color: var(--red); }
.bf-scorecard__metric-target { font-size: 0.625rem; color: rgba(255,255,255,0.25); }
.bf-scorecard__bar-track { height: 4px; background: rgba(255,255,255,0.06); border-radius: var(--radius-full); position: relative; }
.bf-scorecard__bar-fill { height: 100%; border-radius: var(--radius-full); width: 0%; transition: width 1s cubic-bezier(0.25,1,0.5,1); }
.bf-scorecard__bar-fill--warn { background: linear-gradient(90deg, #FF9100, #FFB300); }
.bf-scorecard__bar-fill--danger { background: linear-gradient(90deg, #FF1744, #FF5252); }
.bf-scorecard__bar-target-line { position: absolute; top: -3px; bottom: -3px; width: 2px; background: rgba(255,255,255,0.2); border-radius: 2px; transform: translateX(-50%); }
.bf-scorecard__metric-gap { font-size: 0.5625rem; font-weight: 600; }
.bf-scorecard__metric-gap--warn { color: var(--amber); }
.bf-scorecard__metric-gap--danger { color: var(--red); }
.bf-scorecard__metric--result { margin-top: 4px; padding: 14px 16px; background: rgba(0,200,83,0.08); border: 1px solid rgba(0,200,83,0.18); border-radius: var(--radius); gap: 6px; }
.bf-scorecard__metric--result .bf-scorecard__metric-name { color: rgba(255,255,255,0.8); }
.bf-scorecard__result-note { font-size: 0.625rem; color: rgba(255,255,255,0.35); }
.bf-scorecard__result-note strong { color: var(--green); font-weight: 700; }
.bf-scorecard__recovery { display: flex; align-items: baseline; gap: 8px; margin-top: 2px; }
.bf-scorecard__recovery-amount { font-size: 1.625rem; font-weight: 800; color: var(--green); letter-spacing: -0.04em; line-height: 1; }
.bf-scorecard__recovery-label { font-size: 0.6875rem; color: rgba(255,255,255,0.4); }
.bf-scorecard__footer { margin-top: 14px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.05); font-size: 0.5625rem; color: rgba(255,255,255,0.18); text-align: center; display: flex; align-items: center; justify-content: center; gap: 5px; }
.bf-scorecard__scanline { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(91,41,221,0.7), transparent); pointer-events: none; opacity: 0; top: 60px; z-index: 2; }
.bf-scorecard[data-state="scanning"] .bf-scorecard__scanline { animation: bf-scan 2.4s ease-in-out forwards; }
@keyframes bf-scan { 0%{top:60px;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:calc(100% - 14px);opacity:0} }
.bf-scorecard__scan-phase { display: none; flex-direction: column; gap: 8px; }
.bf-scorecard[data-state="scanning"] .bf-scorecard__scan-phase { display: flex; }
.bf-scorecard[data-state="scanning"] .bf-scorecard__metrics { display: none; }
.bf-scorecard[data-state="scanning"] .bf-scorecard__footer { opacity: 0; }
.bf-scorecard__scan-label { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; color: rgba(255,255,255,0.35); margin-bottom: 4px; }
.bf-scorecard__scan-spinner { width: 12px; height: 12px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.08); border-top-color: var(--orange); animation: bf-spin 0.75s linear infinite; }
@keyframes bf-spin { to{transform:rotate(360deg)} }
.bf-scorecard__skeleton { height: 44px; border-radius: 8px; background: linear-gradient(90deg, rgba(255,255,255,0.02) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.02) 75%); background-size: 200% 100%; animation: bf-shimmer 1.6s ease-in-out infinite; }
.bf-scorecard__skeleton--sm { height: 36px; }
.bf-scorecard__skeleton--result { height: 56px; margin-top: 4px; }
@keyframes bf-shimmer { 0%{background-position:200% 0}100%{background-position:-200% 0} }
.bf-scorecard[data-state="complete"] .bf-scorecard__recovery-amount { animation: bf-pop 0.5s ease-out; }
@keyframes bf-pop { 0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)} }

/* ===========================
   SECTIONS
   =========================== */
.bf-section { padding: var(--section-gap) 0; position: relative; }
.bf-section--white { background: var(--white); }
.bf-section--cream { background: var(--accent-shade); }
.bf-section__header { margin-bottom: 64px; }
.bf-section__header--center { text-align: center; max-width: 640px; margin-left: auto; margin-right: auto; }
.bf-section__header .bf-body-lg { margin-top: 16px; }

/* Section decorative wave dividers */
.bf-wave {
  position: relative; width: 100%; overflow: hidden; line-height: 0;
  margin-bottom: -2px; /* eliminate gap/seam */
}
.bf-wave svg { position: relative; display: block; width: calc(100% + 2px); margin-left: -1px; }
.bf-wave--cream svg { fill: var(--cream); }
.bf-wave--white svg { fill: var(--white); }
.bf-wave--dark svg { fill: #201843; }
.bf-wave--dark { background: var(--white); }
.bf-wave--cream { background: #201843; }

/* ===========================
   VIDEO CASE STUDIES — Side scroller
   =========================== */
.bf-cases { padding: 80px 0; background: var(--white); overflow: hidden; }
.bf-cases__top { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; }
.bf-cases__header { text-align: left; }
.bf-cases__header .bf-h2 { margin-bottom: 0; }
.bf-cases__arrows { display: flex; gap: 8px; flex-shrink: 0; }
.bf-cases__arrow {
  width: 48px; height: 48px; border-radius: 50%;
  border: 1.5px solid var(--border); background: transparent;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--text-primary);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bf-cases__arrow:hover { border-color: var(--orange); color: var(--orange); transform: scale(1.05); }
.bf-cases__arrow svg { width: 20px; height: 20px; }

.bf-cases__scroller { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.bf-cases__scroller::-webkit-scrollbar { display: none; }

.bf-cases__track {
  display: flex; gap: 32px; width: max-content;
  padding-left: max(32px, calc((100vw - var(--container-max)) / 2 + 32px));
  padding-right: 32px;
}

/* Lightbox */
.bf-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.85); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.bf-lightbox.bf-is-active { opacity: 1; visibility: visible; }
.bf-lightbox__inner {
  position: relative; width: 90vw; max-width: 960px; aspect-ratio: 16/9;
  border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,0.5);
  transform: scale(0.9); transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bf-lightbox.bf-is-active .bf-lightbox__inner { transform: scale(1); }
.bf-lightbox__inner iframe { width: 100%; height: 100%; border: none; }
.bf-lightbox__close {
  position: absolute; top: -48px; right: 0;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);
  color: #fff; font-size: 1.25rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s;
}
.bf-lightbox__close:hover { background: rgba(255,255,255,0.2); }

.bf-cases__card {
  flex-shrink: 0; width: 720px;
  overflow: hidden;
  background: transparent;
  border: none;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  text-decoration: none; color: var(--text-primary);
  display: flex; flex-direction: column;
}
.bf-cases__card:hover { transform: translateY(-3px); }

.bf-cases__thumb { position: relative; overflow: hidden; aspect-ratio: 16/9; border-radius: var(--radius-xl); }
.bf-cases__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.bf-cases__card:hover .bf-cases__thumb img { transform: scale(1.02); }

.bf-cases__play {
  position: absolute; bottom: 16px; left: 16px;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--orange); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(91,41,221,0.35);
  transition: transform 0.3s, box-shadow 0.3s;
}
.bf-cases__card:hover .bf-cases__play { transform: scale(1.1); box-shadow: 0 6px 24px rgba(91,41,221,0.45); }

.bf-cases__company-badge {
  position: absolute; top: 14px; left: 14px;
  padding: 5px 12px; border-radius: var(--radius-full);
  background: rgba(49,44,79,0.85); backdrop-filter: blur(8px);
  font-size: 0.6875rem; font-weight: 700; color: #fff;
  letter-spacing: 0.02em;
}

.bf-cases__info {
  padding: 16px 4px; flex: 1; display: flex; flex-direction: column;
}
.bf-cases__quote { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 12px; }
.bf-cases__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bf-cases__author { margin-bottom: 0; }
.bf-cases__name { font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); display: block; }
.bf-cases__role { font-size: 0.8125rem; color: var(--text-muted); display: block; margin-top: 2px; }
.bf-cases__link-text {
  font-size: 0.8125rem; font-weight: 600; color: #fff; background: var(--text-primary);
  padding: 10px 22px; border-radius: var(--radius-full);
  display: inline-flex; align-items: center; gap: 6px;
  transition: all 0.3s; white-space: nowrap; flex-shrink: 0;
  text-decoration: none;
}
.bf-cases__card:hover .bf-cases__link-text { background: var(--orange); }

@media (max-width: 768px) { .bf-cases__card { width: 320px; } }

/* Page hero (dark variant used on case-studies, pricing) */
.bf-page-hero { background: linear-gradient(135deg,#1a1145 0%,#2a1463 55%,#1e1250 100%); min-height: 80vh; display: flex; align-items: center; position: relative; overflow: hidden; padding: 0; }
.bf-page-hero__orb { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.bf-page-hero__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; max-width: 1100px; margin: 0 auto; }
.bf-page-hero__stats { display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.1); border-radius: 16px; overflow: hidden; max-width: 700px; margin: 0 auto; }
.bf-page-hero__stat { background: rgba(255,255,255,.06); padding: 28px 20px; text-align: center; }
.bf-page-hero__stat + .bf-page-hero__stat { border-left: 1px solid rgba(255,255,255,.08); }
.bf-page-hero__price-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 40px; backdrop-filter: blur(10px); }
@media (max-width: 860px) { .bf-page-hero__grid { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 600px) { .bf-page-hero__stats { grid-template-columns: 1fr; } .bf-page-hero__stat + .bf-page-hero__stat { border-left: none; border-top: 1px solid rgba(255,255,255,.08); } }

/* ===========================
   PROBLEM — Video left, copy right
   =========================== */
.bf-problem { background: var(--white); padding: var(--section-gap) 0; }

.bf-problem__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}

.bf-problem__visual {
  display: flex; align-items: center; justify-content: center;
}
.bf-problem__graph {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 32px; width: 100%; box-shadow: 0 20px 60px rgba(91,41,221,0.06); overflow: hidden;
}
.bf-problem__graph-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.bf-problem__graph-title { font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); display: block; }
.bf-problem__graph-sub { font-size: 0.75rem; color: var(--text-muted); }
.bf-problem__graph-legend { display: flex; gap: 16px; }
.bf-problem__graph-legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; color: var(--text-muted); font-weight: 500; }
.bf-problem__graph-legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.bf-problem__graph-legend-dot--revenue { background: var(--accent3); }
.bf-problem__graph-legend-dot--cash { background: var(--orange); }
.bf-problem__graph-legend-dot--gci { background: var(--accent3); }
.bf-problem__graph-legend-dot--margin { background: var(--orange); }
.bf-problem__chart { width: 100%; height: 180px; display: block; }
.bf-problem__chart-line--revenue { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.bf-problem__chart-line--cash { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.bf-problem__chart-line--gci { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.bf-problem__chart-line--margin { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.bf-problem__chart-area { opacity: 0; }
.bf-problem__chart-area--gci { opacity: 0; }
.bf-problem__chart-area--margin { opacity: 0; }
.bf-reveal.bf-is-visible .bf-problem__chart-line--revenue { animation: bf-draw-line 2s ease-out forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-line--cash { animation: bf-draw-line 2s ease-out 0.3s forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-line--gci { animation: bf-draw-line 2s ease-out forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-line--margin { animation: bf-draw-line 2s ease-out 0.3s forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-area { animation: bf-fade-in 1s ease-out 1s forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-area--gci { animation: bf-fade-in 1s ease-out 1s forwards; }
.bf-reveal.bf-is-visible .bf-problem__chart-area--margin { animation: bf-fade-in 1s ease-out 1s forwards; }
@keyframes bf-draw-line { to { stroke-dashoffset: 0; } }
@keyframes bf-fade-in { to { opacity: 1; } }
.bf-problem__graph-labels { display: flex; justify-content: space-between; padding: 8px 0 0; }
.bf-problem__graph-labels span { font-size: 0.6875rem; color: var(--text-faint); font-weight: 500; }
.bf-problem__graph-footer { display: flex; gap: 24px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border-light); }
.bf-problem__graph-stat { display: flex; flex-direction: column; gap: 2px; }
.bf-problem__graph-stat-label { font-size: 0.6875rem; color: var(--text-muted); font-weight: 500; text-transform: uppercase; letter-spacing: 0.04em; }
.bf-problem__graph-stat-val { font-size: 1.125rem; font-weight: 700; }
.bf-problem__graph-stat-val--up { color: var(--accent2); }
.bf-problem__graph-stat-val--down { color: var(--orange); }

.bf-problem__copy .bf-eyebrow { margin-bottom: 16px; }
.bf-problem__copy .bf-h2 { margin-bottom: 20px; }
.bf-problem__copy .bf-h2 em { font-style: normal; color: inherit; }
.bf-problem__copy p {
  font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 32px;
}

@media (max-width: 768px) {
  .bf-problem__grid { grid-template-columns: 1fr; gap: 40px; }
  .bf-problem__mosaic { grid-template-rows: 200px 200px; }
  .bf-problem__mosaic-img--tall { grid-row: auto; }
}

/* ===========================
   FULL STACK — Kinetic-inspired layout
   =========================== */
.bf-fullstack { padding: 0; background: var(--white); }

.bf-fullstack__header { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 64px; }
.bf-fullstack__header-right { padding-top: 8px; }
.bf-fullstack__header-right p { font-size: 1.0625rem; color: var(--text-secondary); line-height: 1.8; margin-bottom: 28px; }
.bf-fullstack__link {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 32px; border-radius: var(--radius-full);
  font-size: 0.9375rem; font-weight: 600; color: var(--text-primary);
  border: 1.5px solid var(--border); background: transparent;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  text-decoration: none;
}
.bf-fullstack__link:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(91,41,221,0.1); }
.bf-fullstack__link-icon { display: none; }

/* Full-width video with overlay text */
.bf-fullstack__video {
  margin-bottom: 0; width: 100%; overflow: hidden; height: 650px;
  position: relative;
}
.bf-fullstack__video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.bf-fullstack__video::after {
  display: none;
}
.bf-fullstack__video-content {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
  color: #fff;
}
.bf-fullstack__video-inner {
  background: #201843;
  max-width: var(--container-max); margin: 0 auto;
  padding: 48px 32px 48px;
}
.bf-fullstack__video-inner-row {
  display: grid; grid-template-columns: auto 1fr; gap: 48px; align-items: center;
}
.bf-fullstack__video-inner-right { max-width: 480px; }
.bf-fullstack__video-content .bf-eyebrow { color: rgba(255,255,255,0.5); margin-bottom: 16px; }
.bf-fullstack__video-content .bf-h2 { color: #fff; margin-bottom: 20px; }
.bf-fullstack__video-content p {
  font-size: 0.9375rem; color: rgba(255,255,255,0.6); line-height: 1.75;
  margin-bottom: 0;
}

/* Dark stats bar */
.bf-fullstack__stats {
  background: #201843; padding: 48px 0; margin-top: 0;
  position: relative; overflow: hidden;
}
.bf-fullstack__stats::before { display: none; }
.bf-fullstack__stats-legend { display: flex; gap: 24px; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.08); position: relative; z-index: 1; }
.bf-fullstack__stats-legend-item { font-size: 0.8125rem; font-weight: 600; color: rgba(255,255,255,0.6); display: flex; align-items: center; gap: 8px; }
.bf-fullstack__stats-dot { width: 8px; height: 8px; border-radius: 50%; }
.bf-fullstack__stats-dot--purple { background: var(--accent2); }
.bf-fullstack__stats-dot--gray { background: rgba(255,255,255,0.25); }

.bf-fullstack__stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; z-index: 1; }
.bf-fullstack__stat { padding: 0 32px; border-right: 1px solid rgba(255,255,255,0.08); }
.bf-fullstack__stat:first-child { padding-left: 0; }
.bf-fullstack__stat:last-child { border-right: none; padding-right: 0; }
.bf-fullstack__stat-label { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.85); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; }
.bf-fullstack__stat-sub { font-size: 0.8125rem; color: rgba(255,255,255,0.35); margin-bottom: 16px; }
.bf-fullstack__stat-numbers { display: flex; align-items: baseline; gap: 8px; }
.bf-fullstack__stat-big { font-family: var(--font-sans); font-size: 3.5rem; font-weight: 600; color: #fff; line-height: 1; letter-spacing: -0.03em; }
.bf-fullstack__stat-unit { font-size: 1.5rem; }
.bf-fullstack__stat-small { font-family: var(--font-sans); font-size: 1.75rem; font-weight: 400; color: rgba(255,255,255,0.2); }

@media (max-width: 768px) {
  .bf-fullstack__header { grid-template-columns: 1fr; gap: 24px; }
  .bf-fullstack__video-inner-row { grid-template-columns: 1fr; gap: 24px; }
  .bf-fullstack__visual-inner { flex-wrap: wrap; }
  .bf-fullstack__visual-arrow { display: none; }
  .bf-fullstack__stats-grid { grid-template-columns: 1fr; gap: 32px; }
  .bf-fullstack__stat { border-right: none; padding: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 32px; }
  .bf-fullstack__stat:last-child { border-bottom: none; padding-bottom: 0; }
}

/* ===========================
   60/15/15 — with cursor spotlight
   =========================== */
/* ===========================
   FRAMEWORK — Light modern cards
   =========================== */
.bf-standard { background: var(--white); padding: var(--section-gap) 0; }
.bf-standard__header { margin-bottom: 56px; }
.bf-standard__header .bf-h2 { margin-bottom: 16px; }
.bf-standard__header p { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; max-width: 560px; }

.bf-standard__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  margin-bottom: 0;
}

.bf-standard__card {
  background: var(--accent-shade); border: 1px solid var(--border-light);
  border-radius: var(--radius-xl); padding: 36px 28px;
  position: relative; overflow: hidden;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.bf-standard__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--accent2); opacity: 0; transition: opacity 0.3s;
}
.bf-standard__card:hover { transform: translateY(-4px); box-shadow: 0 16px 50px rgba(91,41,221,0.08); }
.bf-standard__card:hover::before { opacity: 1; }

.bf-standard__card-num {
  font-family: var(--font-sans); font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 600; color: var(--text-primary); line-height: 1;
  letter-spacing: -0.03em; margin-bottom: 12px;
}
.bf-standard__card-label {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary);
  text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 12px;
}
.bf-standard__card-bar {
  height: 4px; border-radius: 4px; background: var(--border);
  margin-bottom: 16px; overflow: hidden;
}
.bf-standard__card-bar-fill {
  height: 100%; border-radius: 4px; width: 0%;
  background: var(--accent2);
  transition: width 1.2s cubic-bezier(0.25,1,0.5,1);
}
.bf-standard__card-desc {
  font-size: 0.8125rem; color: var(--text-muted); line-height: 1.6;
}

/* Result card — highlighted */
.bf-standard__card--result {
  background: #201843; border-color: transparent; color: #fff;
}
.bf-standard__card--result .bf-standard__card-num { color: #fff; }
.bf-standard__card--result .bf-standard__card-label { color: var(--accent2); }
.bf-standard__card--result .bf-standard__card-bar { background: rgba(255,255,255,0.1); }
.bf-standard__card--result .bf-standard__card-bar-fill { background: var(--accent2); }
.bf-standard__card--result .bf-standard__card-desc { color: rgba(255,255,255,0.5); }
.bf-standard__card--result::before { background: var(--accent2); opacity: 1; }
.bf-standard__card--result:hover { box-shadow: 0 16px 50px rgba(32,24,67,0.3); }

@media (max-width: 768px) { .bf-standard__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bf-standard__grid { grid-template-columns: 1fr; } }

/* ===========================
   SERVICES — Cards with glow tracking
   =========================== */
.bf-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

.bf-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 36px 28px; transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative; overflow: hidden;
}
/* Top accent line on hover */
.bf-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--orange), #D4941A);
  opacity: 0; transition: opacity 0.3s;
}
.bf-card:hover::before { opacity: 1; }
.bf-card:hover { border-color: var(--orange-border); box-shadow: 0 16px 50px rgba(91,41,221,0.08); transform: translateY(-6px); }
.bf-card__icon { width: 44px; height: 44px; background: var(--orange-light); border-radius: var(--radius); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; color: var(--orange); transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; z-index: 1; }
.bf-card:hover .bf-card__icon { background: var(--orange); color: var(--white); transform: scale(1.1) rotate(-4deg); }
.bf-card__title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; position: relative; z-index: 1; }
.bf-card__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.65; position: relative; z-index: 1; }
@media (max-width: 900px) { .bf-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bf-cards-grid { grid-template-columns: 1fr; } }

/* ===========================
   PROCESS — Enhanced steps
   =========================== */
/* ===========================
   HOW IT WORKS — Zigzag steps with animated visuals
   =========================== */
.bf-steps { padding: var(--section-gap) 0; background: var(--white); }
.bf-steps__header { text-align: center; max-width: 800px; margin: 0 auto 80px; }
.bf-steps__header .bf-body-lg { margin-top: 12px; font-size: 0.875rem; color: var(--text-muted); }
.bf-steps__header-link { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); margin-top: 16px; transition: color 0.3s, gap 0.3s; }
.bf-steps__header-link:hover { color: var(--orange); gap: 10px; }

.bf-steps__row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px; }
.bf-steps__row:last-child { margin-bottom: 0; }
.bf-steps__row--reverse { direction: rtl; }
.bf-steps__row--reverse > * { direction: ltr; }

.bf-steps__title { font-family: var(--font-sans); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--text-primary); margin-bottom: 16px; line-height: 1.2; }
.bf-steps__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 20px; }
.bf-steps__link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 28px; border-radius: var(--radius-full); font-size: 0.875rem; font-weight: 600; color: var(--text-primary); border: 1.5px solid var(--border); background: transparent; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); text-decoration: none; }
.bf-steps__link:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(91,41,221,0.1); }

/* Visual container with purple hue */
.bf-steps__visual {
  background: rgba(91,41,221,0.04); border-radius: var(--radius-xl);
  padding: 60px;
}

/* Animated visual cards — light branded */
.bf-steps__anim-card {
  background: var(--white); color: var(--text-primary);
  border: 1px solid var(--border);
  border-radius: var(--radius-xl); padding: 32px; position: relative;
  box-shadow: 0 20px 60px rgba(91,41,221,0.06);
  overflow: hidden;
}
.bf-steps__anim-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3), var(--accent2));
  background-size: 200% 100%; animation: bf-gradient-bar 3s linear infinite;
}
@keyframes bf-gradient-bar { 0%{background-position:0% 0} 100%{background-position:200% 0} }
.bf-steps__anim-header {
  display: flex; align-items: center; gap: 10px;
  font-size: 0.8125rem; font-weight: 600; color: var(--text-primary);
  margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--border);
}
.bf-steps__anim-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); animation: bf-pulse-dot 2s ease-in-out infinite; }
.bf-steps__anim-dot--green { background: var(--accent2); }
.bf-steps__anim-dot--purple { background: var(--accent3); }

/* Scan animation bars */
.bf-steps__anim-bars { display: flex; flex-direction: column; gap: 16px; }
.bf-steps__anim-bar { display: grid; grid-template-columns: 80px 1fr 40px; gap: 12px; align-items: center; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); }
.bf-steps__anim-bar-track { height: 8px; background: var(--border-light); border-radius: 4px; overflow: hidden; }
.bf-steps__anim-bar-fill { height: 100%; border-radius: 4px; width: 0; background: var(--bar-color, var(--orange)); animation: bf-bar-grow 1.5s ease-out forwards; animation-play-state: paused; }
.bf-reveal.bf-is-visible .bf-steps__anim-bar-fill { animation-play-state: running; }
@keyframes bf-bar-grow { to { width: var(--bar-w); } }
.bf-steps__anim-bar-val { font-weight: 700; color: var(--text-primary); text-align: right; }

/* Result line */
.bf-steps__anim-result {
  margin-top: 20px; padding: 14px 18px; border-radius: var(--radius);
  background: rgba(91,41,221,0.06); border: 1px solid rgba(91,41,221,0.12);
  font-size: 0.8125rem; color: var(--text-secondary);
  display: flex; justify-content: space-between; align-items: center;
}
.bf-steps__anim-result strong { color: var(--orange); font-weight: 700; }
.bf-steps__anim-result--green { background: rgba(91,41,221,0.06); border-color: rgba(91,41,221,0.12); }
.bf-steps__anim-result--green strong { color: var(--orange); }

/* Checklist animation */
.bf-steps__anim-checklist { display: flex; flex-direction: column; gap: 14px; }
.bf-steps__anim-check {
  display: flex; align-items: center; gap: 10px; font-size: 0.875rem; color: var(--text-muted);
  opacity: 0; transform: translateX(-8px);
  animation: bf-check-in 0.4s ease forwards; animation-play-state: paused;
}
.bf-reveal.bf-is-visible .bf-steps__anim-check { animation-play-state: running; }
.bf-steps__anim-check:nth-child(1) { animation-delay: 0.2s; }
.bf-steps__anim-check:nth-child(2) { animation-delay: 0.5s; }
.bf-steps__anim-check:nth-child(3) { animation-delay: 0.8s; }
.bf-steps__anim-check:nth-child(4) { animation-delay: 1.1s; }
@keyframes bf-check-in { to { opacity: 1; transform: translateX(0); } }
.bf-steps__anim-check--done { color: var(--text-primary); }
.bf-steps__anim-check--done svg { color: var(--orange); }
.bf-steps__anim-check--active { color: var(--text-muted); }
.bf-steps__anim-check--active svg { color: var(--accent3); animation: bf-pulse-dot 1.5s ease-in-out infinite; }

/* KPI grid */
.bf-steps__anim-kpis { display: flex; flex-direction: column; gap: 12px; }
.bf-steps__anim-kpi { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border-light); }
.bf-steps__anim-kpi:last-child { border-bottom: none; }
.bf-steps__anim-kpi-label { font-size: 0.875rem; color: var(--text-secondary); }
.bf-steps__anim-kpi-val { font-size: 0.875rem; font-weight: 700; display: flex; align-items: center; gap: 4px; }
.bf-steps__anim-kpi-val--up { color: var(--orange); }
.bf-steps__anim-kpi-val--green { color: var(--orange); }

@media (max-width: 768px) {
  .bf-steps__row, .bf-steps__row--reverse { grid-template-columns: 1fr; gap: 40px; direction: ltr; }
  .bf-steps__row { margin-bottom: 64px; }
}

/* ===========================
   TESTIMONIALS — Enhanced
   =========================== */
.bf-testimonials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bf-testimonial {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 36px 28px; display: flex; flex-direction: column;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; overflow: hidden;
}
/* no mouse-tracking glow */
.bf-testimonial:hover { border-color: var(--orange-border); box-shadow: 0 12px 40px rgba(91,41,221,0.06); transform: translateY(-4px); }

/* Large decorative quote mark */
.bf-testimonial__quote-mark {
  position: absolute; top: 20px; right: 24px;
  font-family: var(--font-serif); font-size: 5rem; line-height: 1; color: var(--cream-dark);
  pointer-events: none; transition: color 0.3s;
}
.bf-testimonial:hover .bf-testimonial__quote-mark { color: rgba(91,41,221,0.1); }

.bf-testimonial__company { display: inline-flex; align-items: center; gap: 8px; font-size: 0.75rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 20px; padding: 6px 12px; background: var(--cream); border-radius: var(--radius-full); width: fit-content; position: relative; z-index: 1; }
.bf-testimonial__company-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.bf-testimonial__quote { font-family: var(--font-serif); font-size: 1.125rem; color: var(--text-primary); line-height: 1.6; flex: 1; margin-bottom: 28px; position: relative; z-index: 1; }
.bf-testimonial__author { display: flex; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid var(--border-light); position: relative; z-index: 1; }
.bf-testimonial__avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--cream-dark); color: var(--text-muted); display: flex; align-items: center; justify-content: center; font-size: 0.6875rem; font-weight: 700; transition: all 0.3s; }
.bf-testimonial:hover .bf-testimonial__avatar { background: var(--orange-light); color: var(--orange); }
.bf-testimonial__name { font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); }
.bf-testimonial__role { font-size: 0.8125rem; color: var(--text-muted); margin-top: 1px; }
.bf-testimonials-grid > :nth-child(3) { grid-column: 1 / -1; }
@media (max-width: 768px) { .bf-testimonials-grid { grid-template-columns: 1fr; } .bf-testimonials-grid > :nth-child(3) { grid-column: auto; } }

/* ===========================
   STATS BAR — Animated counters
   =========================== */
.bf-stats-bar { padding: 80px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--white); }
.bf-stats-bar__inner { display: flex; justify-content: center; align-items: center; }
.bf-stats-bar__item { text-align: center; padding: 0 56px; border-right: 1px solid var(--border); }
.bf-stats-bar__item:last-child { border-right: none; }
.bf-stats-bar__num { font-family: var(--font-serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; color: var(--text-primary); line-height: 1; letter-spacing: -0.02em; }
.bf-stats-bar__label { font-size: 0.875rem; color: var(--text-muted); margin-top: 8px; }
@media (max-width: 768px) { .bf-stats-bar__item { padding: 0 32px; } }
@media (max-width: 480px) { .bf-stats-bar__item { border-right: none; padding: 16px 0; } .bf-stats-bar__inner { flex-direction: column; } }

/* ===========================
   FAQ — Enhanced accordion
   =========================== */
/* FAQ — two-column layout with card-style items */
.bf-faq__layout {
  display: block;
}
.bf-faq__header { margin-bottom: 48px; text-align: left; }
.bf-faq__header .bf-h2 { margin-bottom: 16px; }
.bf-faq__header p { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; }

.bf-faq__list {
  column-count: 2; column-gap: 48px; padding-top: 0;
}
.bf-faq__item {
  break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
  display: block; background: none; border: none; border-bottom: 1px solid var(--border-light);
  border-radius: var(--radius-xl); overflow: hidden;
  transition: all 0.3s ease;
}
.bf-faq__item:hover { border-bottom-color: var(--orange-border); }
.bf-faq__item.bf-is-open { border-bottom-color: var(--orange-border); background: none; box-shadow: none; }
.bf-faq__qtitle { margin: 0; padding: 0; font: inherit; letter-spacing: normal; }
.bf-faq__question {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0; cursor: pointer; background: none; border: none;
  width: 100%; font-family: var(--font-sans); font-size: 0.875rem;
  font-weight: 600; color: var(--text-primary); text-align: left;
  transition: color 0.2s; gap: 16px; line-height: 1.4;
}
.bf-faq__question:hover { color: var(--orange); }
.bf-faq__item.bf-is-open .bf-faq__question { color: var(--orange); }
.bf-faq__icon {
  width: 18px; height: 18px; color: var(--text-faint); flex-shrink: 0;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.3s;
}
.bf-faq__item.bf-is-open .bf-faq__icon { transform: rotate(45deg); color: var(--orange); }
.bf-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
.bf-faq__answer-inner { padding: 0 0 18px; font-size: 0.875rem; color: var(--text-muted); line-height: 1.65; }
.bf-faq__item.bf-is-open .bf-faq__answer { max-height: 800px; }

@media (max-width: 768px) {
  .bf-faq__layout { grid-template-columns: 1fr; gap: 40px; }
  .bf-faq__list { column-count: 1; padding-top: 0; }
}

/* ===========================
   CTA — Enhanced with glow
   =========================== */
.bf-cta {
  padding: 0; position: relative; overflow: hidden;
  background: #170f32;
}
.bf-cta__split {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 550px;
}
.bf-cta__left {
  background: #201843; padding: 80px 64px 80px max(32px, calc((100vw - var(--container-max)) / 2 + 32px)); display: flex; flex-direction: column; justify-content: center;
}
.bf-cta .bf-eyebrow { color: rgba(255,255,255,0.5); margin-bottom: 16px; }
.bf-cta .bf-h2 { color: #fff; margin-bottom: 0; }
.bf-cta__body { font-size: 1.0625rem; color: rgba(255,255,255,0.65) !important; line-height: 1.75; max-width: 520px; margin: 24px 0 32px; }
.bf-cta__fine { margin-top: 20px; font-size: 0.8125rem; color: rgba(255,255,255,0.35) !important; }
.bf-cta__right { position: relative; overflow: hidden; }
.bf-cta__right video { width: 100%; height: 100%; object-fit: cover; display: block; }
.bf-underline-accent { text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 3px; text-underline-offset: 6px; }

/* ===========================
   FOOTER — Enhanced
   =========================== */
/* Dark professional footer */
.bf-footer { background: #170f32; color: rgba(255,255,255,0.5); padding: 0; }

/* Top — logo + desc */
.bf-footer__top {
  padding: 48px 0; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.bf-footer__desc { font-size: 0.8125rem; color: rgba(255,255,255,0.35); line-height: 1.7; max-width: 420px; }
.bf-footer__brand { margin-bottom: 20px; }
.bf-footer__brand img { height: 36px; width: auto; filter: brightness(0) invert(1); }

/* Links grid */
.bf-footer__inner {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 40px; padding: 48px 0; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.bf-footer__cta-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; border-radius: var(--radius-full);
  background: var(--orange); color: #fff;
  font-size: 0.8125rem; font-weight: 600; transition: all 0.3s;
  text-decoration: none;
}
.bf-footer__cta-btn:hover { background: var(--accent2); }
.bf-footer__col-title { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.8); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 16px; }
.bf-footer__col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.bf-footer__col a { font-size: 0.8125rem; color: rgba(255,255,255,0.4); transition: color 0.25s; }
.bf-footer__col a:hover { color: #fff; }

/* Badges row */
.bf-footer__badges {
  display: flex; align-items: center; gap: 32px; padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.bf-footer__badge { height: 48px; }

/* Copyright */
.bf-footer__bottom {
  padding: 24px 0; display: flex; align-items: center; justify-content: space-between;
  font-size: 0.75rem; color: rgba(255,255,255,0.25);
}
.bf-footer__back-top { font-size: 0.75rem; color: rgba(255,255,255,0.4); font-weight: 600; cursor: pointer; transition: color 0.3s; background: none; border: none; }
.bf-footer__back-top:hover { color: #fff; }

@media (max-width: 768px) {
  .bf-footer__top { flex-direction: column; gap: 24px; align-items: flex-start; }
  .bf-footer__inner { grid-template-columns: 1fr 1fr; }
  .bf-footer__badges { flex-wrap: wrap; gap: 24px; }
  .bf-footer__bottom { flex-direction: column; gap: 12px; }
}

@media (max-width: 768px) {
  .bf-cta { overflow: hidden; }
  .bf-cta__split { grid-template-columns: 1fr; max-width: 100vw; overflow: hidden; }
  .bf-cta__left { padding: 48px 24px; max-width: 100%; overflow: hidden; }
  .bf-cta__right { min-height: 300px; max-width: 100%; }
}

/* ===========================
   REVEAL ANIMATIONS — Enhanced
   =========================== */
.bf-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.bf-reveal.bf-is-visible { opacity: 1; transform: translateY(0); }
.bf-reveal--d1 { transition-delay: 0.12s; }
.bf-reveal--d2 { transition-delay: 0.24s; }
.bf-reveal--d3 { transition-delay: 0.36s; }
.bf-reveal--d4 { transition-delay: 0.48s; }

/* Scale-up variant */
.bf-reveal--scale { transform: translateY(24px) scale(0.96); }
.bf-reveal--scale.bf-is-visible { transform: translateY(0) scale(1); }

/* Slide-in from left */
.bf-reveal--left { opacity: 0; transform: translateX(-40px); }
.bf-reveal--left.bf-is-visible { opacity: 1; transform: translateX(0); }

/* Slide-in from right */
.bf-reveal--right { opacity: 0; transform: translateX(40px); }
.bf-reveal--right.bf-is-visible { opacity: 1; transform: translateX(0); }

@media (prefers-reduced-motion: reduce) { .bf-reveal, .bf-reveal--scale, .bf-reveal--left, .bf-reveal--right { opacity: 1; transform: none; transition: none; } }



/* ============================================================
   FRACTIONAL CFO SERVICES PAGE — SPECIFIC STYLES
   ============================================================ */


ul, ol { list-style: none; }

img, svg { display: block; max-width: 100%; }

/* ===========================
   TYPOGRAPHY
   =========================== */
.bf-h1 { font-family: var(--font-sans); font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 20px; }

.bf-eyebrow[data-scramble] { overflow: hidden; }

/* ===========================
   NAV
   =========================== */
.bf-topbar { background: linear-gradient(90deg, #2a1463, var(--accent3), #2a1463); color: var(--white); text-align: center; padding: 10px 16px; font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.02em; }

/* Mega menu */
.bf-nav__dropdown { position: relative; }

@media (max-width: 768px) {
  .bf-nav__links {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: #fff;
    z-index: 9999; flex-direction: column; align-items: center; justify-content: center; gap: 32px;
  }
  .bf-nav__links.bf-is-open { display: flex; }
  .bf-nav__link { font-size: 1.25rem; }
  .bf-nav__cta { font-size: 1rem; padding: 14px 32px; }
  .bf-nav__mobile-toggle { display: flex; z-index: 10000; position: relative; }
  .bf-nav.bf-menu-open { z-index: 9998; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .bf-nav__dropdown { width: 100%; text-align: center; }
  .bf-nav__link--has-dropdown { justify-content: center; }
  .bf-nav__mega {
    position: static !important; transform: none !important; opacity: 1; visibility: visible;
    box-shadow: none; border: none; background: transparent;
    padding: 0; min-width: 0; display: none; pointer-events: auto;
    max-height: 0; overflow: hidden; transition: max-height 0.35s ease;
    left: auto;
  }
  .bf-nav__dropdown.bf-is-open .bf-nav__mega { display: block; max-height: 600px; }
  .bf-nav__dropdown.bf-is-open .bf-nav__link-chevron { transform: rotate(180deg); }
  .bf-nav__mega-list { align-items: center; gap: 0; padding: 8px 0; width: 100%; }
  .bf-nav__mega-list a { font-size: 1rem; color: var(--text-muted); padding: 8px 16px; white-space: normal; text-align: center; }
  .bf-nav__mega-grid--2col { grid-template-columns: 1fr; }
}

/* ===========================
   BUTTONS
   =========================== */
.bf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 32px; border-radius: var(--radius-full); font-size: 0.9375rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); white-space: nowrap; border: 1.5px solid transparent; position: relative; overflow: hidden; }

.bf-btn--white { background: #fff; color: var(--text-primary); border-color: #fff; }

.bf-btn--white:hover { background: var(--accent-shade); transform: translateY(-3px); box-shadow: 0 12px 35px rgba(0,0,0,0.15); }

.bf-section--dark { background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); color: #fff; }

.bf-section--darker { background: linear-gradient(135deg, #120d28, #1a1145, #120d28); color: #fff; }

/* ===========================
   HERO
   =========================== */
.bf-hero { padding: 20px 0 0; background: var(--cream); overflow: hidden; position: relative; }

.bf-hero__orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.35; pointer-events: none; animation: bf-float 20s ease-in-out infinite; }

.bf-hero__right { display: flex; align-items: stretch; justify-content: center; border-radius: var(--radius-xl); overflow: hidden; }

.bf-hero__right img, .bf-hero__right video { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--radius-xl); }

.bf-hero__badge { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; padding: 8px 20px; border-radius: var(--radius-full); background: var(--accent-shade); color: var(--orange); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.01em; }

/* Marquee trust bar */
.bf-hero__trust { padding: 48px 0 20px; overflow: hidden; position: relative; }

.bf-hero__trust::before,
.bf-hero__trust::after {
  content: ''; position: absolute; top: 48px; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}

@media (max-width: 900px) { .bf-hero__inner { grid-template-columns: 1fr; gap: 48px; } .bf-hero__right { align-items: stretch; } }

/* ===========================
   PROBLEM (DARK)
   =========================== */
.bf-problem-dark { background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); padding: var(--section-gap) 0; }

.bf-problem-dark .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-problem-dark .bf-eyebrow::before { background: var(--accent2); }

.bf-problem-dark .bf-h2 { color: #fff; }

.bf-problem-dark__body { font-size: 1.0625rem; color: rgba(255,255,255,0.6); line-height: 1.75; max-width: 720px; margin: 0 auto; text-align: center; }

/* ===========================
   FEATURES — alternating rows
   =========================== */
.bf-features { padding: var(--section-gap) 0; background: var(--white); }

.bf-features__row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 100px; }

.bf-features__row:last-child { margin-bottom: 0; }

.bf-features__row--reverse { direction: rtl; }

.bf-features__row--reverse > * { direction: ltr; }

.bf-features__label { font-size: 0.6875rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 12px; }

.bf-features__title { font-family: var(--font-sans); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--text-primary); margin-bottom: 16px; line-height: 1.2; }

.bf-features__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 20px; }

.bf-features__bullets { display: flex; flex-direction: column; gap: 12px; }

.bf-features__bullet { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }

.bf-features__check { width: 20px; height: 20px; border-radius: 50%; background: rgba(0,200,83,0.1); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

.bf-features__visual {
  background: var(--accent-shade); border-radius: 0; padding: 60px;
  display: flex; align-items: center; justify-content: center;
}

.bf-features__visual-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 32px; width: 100%; box-shadow: 0 20px 60px rgba(91,41,221,0.06); position: relative; overflow: hidden;
}

.bf-features__visual-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3), var(--accent2));
  background-size: 200% 100%; animation: bf-gradient-bar 3s linear infinite;
}

.bf-features__visual-header {
  display: flex; align-items: center; gap: 10px; font-size: 0.8125rem; font-weight: 600;
  color: var(--text-primary); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--border);
}

.bf-features__visual-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); animation: bf-pulse-dot 2s ease-in-out infinite; }

@keyframes bf-pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.75)} }

.bf-features__visual-icon { display: none; }

.bf-features__visual-data { display: flex; flex-direction: column; gap: 14px; }

.bf-features__visual-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border-light); font-size: 0.8125rem; color: var(--text-secondary); }

.bf-features__visual-row:last-child { border-bottom: none; }

.bf-features__visual-metric { display: grid; grid-template-columns: 80px 1fr 40px; gap: 12px; align-items: center; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); }

.bf-features__bar-track { height: 8px; background: var(--border-light); border-radius: 4px; overflow: hidden; }

.bf-features__bar-fill { height: 100%; border-radius: 4px; width: 0; background: var(--bar-color, var(--orange)); animation: bf-bar-grow 1.5s ease-out forwards; animation-play-state: paused; }

.bf-reveal.bf-is-visible .bf-features__bar-fill { animation-play-state: running; }

.bf-features__visual-result { margin-top: 16px; padding: 14px 18px; border-radius: var(--radius); background: rgba(91,41,221,0.06); border: 1px solid rgba(91,41,221,0.12); font-size: 0.8125rem; color: var(--text-secondary); display: flex; justify-content: space-between; align-items: center; }

.bf-features__visual-result strong { color: var(--orange); font-weight: 700; }

.bf-features__visual-check { display: flex; align-items: center; gap: 10px; font-size: 0.875rem; color: var(--text-primary); }

.bf-features__visual-check svg { color: var(--orange); flex-shrink: 0; }

@media (max-width: 768px) {
  .bf-features__row, .bf-features__row--reverse { grid-template-columns: 1fr; gap: 40px; direction: ltr; }
  .bf-features__row { margin-bottom: 64px; }
}

/* ===========================
   HOW IT WORKS — 3 steps
   =========================== */
.bf-steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.bf-steps-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 36px 28px; transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; overflow: hidden;
}

.bf-steps-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--accent2); opacity: 0; transition: opacity 0.3s;
}

.bf-steps-card:hover { transform: translateY(-4px); box-shadow: 0 16px 50px rgba(91,41,221,0.08); }

.bf-steps-card:hover::before { opacity: 1; }

.bf-steps-card__num {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--accent-shade); color: var(--orange);
  font-size: 0.875rem; font-weight: 700; margin-bottom: 20px;
}

.bf-steps-card__title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.bf-steps-card__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.7; }

@media (max-width: 768px) { .bf-steps-grid { grid-template-columns: 1fr; } }

/* ===========================
   STATS — dark section
   =========================== */
.bf-stats-dark { background: #201843; padding: var(--section-gap) 0; overflow: hidden; }

.bf-stats-dark .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-stats-dark .bf-eyebrow::before { background: var(--accent2); }

.bf-stats-dark .bf-h2 { color: #fff; }

.bf-stats-dark__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 48px; }

.bf-stats-dark__item { padding: 0 32px; border-right: 1px solid rgba(255,255,255,0.08); }

.bf-stats-dark__item:first-child { padding-left: 0; }

.bf-stats-dark__item:last-child { border-right: none; padding-right: 0; }

.bf-stats-dark__num { font-family: var(--font-sans); font-size: 3.5rem; font-weight: 600; color: #fff; line-height: 1; letter-spacing: -0.03em; margin-bottom: 8px; }

.bf-stats-dark__label { font-size: 0.9375rem; color: rgba(255,255,255,0.45); line-height: 1.5; }

@media (max-width: 768px) {
  .bf-stats-dark__grid { grid-template-columns: 1fr; gap: 32px; }
  .bf-stats-dark__item { border-right: none; padding: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 32px; }
  .bf-stats-dark__item:last-child { border-bottom: none; padding-bottom: 0; }
}

/* ===========================
   FIT SECTION
   =========================== */
.bf-fit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 960px; margin: 0 auto; }

.bf-fit__col { display: flex; flex-direction: column; gap: 16px; }

.bf-fit__col-title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; display: flex; align-items: center; gap: 8px; }

.bf-fit__item { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }

.bf-fit__icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

.bf-fit__icon--yes { background: rgba(0,200,83,0.1); color: var(--green); }

.bf-fit__icon--no { background: rgba(255,23,68,0.08); color: var(--red); }

@media (max-width: 768px) { .bf-fit__grid { grid-template-columns: 1fr; gap: 40px; } }

/* ===========================
   FAQ — two-column layout
   =========================== */
.bf-faq__layout { display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: start; }

.bf-faq__item {
  background: none; border: none; border-bottom: 1px solid var(--border-light);
  border-radius: 0; overflow: hidden; transition: all 0.3s ease;
}

.bf-faq__item.bf-is-open { border-bottom-color: var(--orange-border); }

.bf-faq__item.bf-is-open .bf-faq__answer { max-height: 800px; }

/* ===========================
   CTA — dark split with video
   =========================== */
.bf-cta { padding: 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #120d28, #1a1145, #120d28); }

.bf-cta__left {
  background: linear-gradient(135deg, #1a1145, #251558); padding: 80px 64px 80px max(32px, calc((100vw - var(--container-max)) / 2 + 32px));
  display: flex; flex-direction: column; justify-content: center;
}

.bf-cta__body { font-size: 1.0625rem; color: rgba(255,255,255,0.65); line-height: 1.75; max-width: 520px; margin: 24px 0 32px; }

.bf-cta__fine { margin-top: 20px; font-size: 0.8125rem; color: rgba(255,255,255,0.35); }

@media (max-width: 768px) {
  .bf-cta__split { grid-template-columns: 1fr; max-width: 100vw; overflow: hidden; }
  .bf-cta__left { padding: 48px 24px; max-width: 100%; overflow: hidden; }
  .bf-cta__right { min-height: 300px; max-width: 100%; }
}

/* ===========================
   FOOTER
   =========================== */
.bf-footer { background: #170f32; color: rgba(255,255,255,0.5); padding: 0; }

.bf-footer__top { padding: 48px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }

.bf-footer__inner {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 40px; padding: 48px 0; border-bottom: 1px solid rgba(255,255,255,0.08);
}

.bf-footer__badges { display: flex; align-items: center; gap: 32px; padding: 32px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }

.bf-footer__bottom { padding: 24px 0; display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem; color: rgba(255,255,255,0.25); }

@media (max-width: 768px) {
  .bf-footer__inner { grid-template-columns: 1fr 1fr; }
  .bf-footer__badges { flex-wrap: wrap; gap: 24px; }
  .bf-footer__bottom { flex-direction: column; gap: 12px; }
}

/* ===========================
   REVEAL ANIMATIONS
   =========================== */
.bf-reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }

.bf-reveal--scale { transform: translateY(24px) scale(0.96); }

@media (prefers-reduced-motion: reduce) { .bf-reveal, .bf-reveal--scale { opacity: 1; transform: none; transition: none; } }

/* ===========================
   TIMELINE PHASES
   =========================== */
.bf-phases { display: flex; flex-direction: column; gap: 24px; position: relative; }

.bf-phase {
  display: grid; grid-template-columns: 56px 1fr; gap: 28px; align-items: start;
  padding: 32px; position: relative; background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-xl); transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.bf-phase:hover { border-color: var(--orange-border); box-shadow: 0 16px 50px rgba(91,41,221,0.08); transform: translateY(-3px); }

.bf-phase__marker {
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 700; color: #fff; z-index: 1; flex-shrink: 0;
}

.bf-phase__label { font-size: 0.6875rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 6px; }

.bf-phase__title { font-family: var(--font-sans); font-size: clamp(1.25rem, 2.5vw, 1.5rem); font-weight: 600; color: var(--text-primary); margin-bottom: 12px; }

.bf-phase__desc { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 16px; }

.bf-phase__tags { display: flex; flex-wrap: wrap; gap: 8px; }

.bf-phase__tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: var(--radius-full);
  background: var(--accent-shade); border: 1px solid var(--orange-border);
  font-size: 0.75rem; font-weight: 600; color: var(--orange);
}

.bf-phase__tag svg { flex-shrink: 0; }

.bf-phase__progress { margin-top: 16px; }

.bf-phase__progress-label { display: flex; justify-content: space-between; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }

.bf-phase__progress-bar { height: 6px; background: var(--border-light); border-radius: 3px; overflow: hidden; }

.bf-phase__progress-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, var(--accent2), var(--accent3)); }

@media (max-width: 768px) { .bf-phase { grid-template-columns: 1fr; } .bf-phase__marker { margin-bottom: 8px; } }

/* ===========================
   PROOF STATS GRID
   =========================== */
.bf-proof-section { background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); padding: var(--section-gap) 0; overflow: hidden; }

.bf-proof-section .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-proof-section .bf-eyebrow::before { background: var(--accent2); }

.bf-proof-section .bf-h2 { color: #fff; }

.bf-proof-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 48px; }

.bf-proof-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl);
  padding: 36px 24px; text-align: center; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative; overflow: hidden;
}

.bf-proof-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3)); opacity: 0; transition: opacity 0.3s;
}

.bf-proof-card:hover { transform: translateY(-6px); background: rgba(255,255,255,0.07); border-color: rgba(125,81,254,0.3); box-shadow: 0 20px 50px rgba(91,41,221,0.2); }

.bf-proof-card:hover::before { opacity: 1; }

.bf-proof-card__num { font-family: var(--font-sans); font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 700; color: #fff; margin-bottom: 10px; letter-spacing: -0.03em; line-height: 1; }

.bf-proof-card__label { font-size: 0.8125rem; color: rgba(255,255,255,0.45); line-height: 1.6; }

@media (max-width: 900px) { .bf-proof-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 480px) { .bf-proof-grid { grid-template-columns: 1fr; } }

/* ===========================
   TESTIMONIALS
   =========================== */
.bf-testimonials { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }

.bf-testimonial {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 40px 36px; position: relative; overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 20px rgba(91,41,221,0.04);
}

.bf-testimonial::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3));
}

.bf-testimonial:hover { transform: translateY(-4px); box-shadow: 0 20px 50px rgba(91,41,221,0.1); border-color: var(--orange-border); }

.bf-testimonial__quote-icon {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  margin-bottom: 20px; flex-shrink: 0;
}

.bf-testimonial__quote { font-size: 1.0625rem; color: var(--text-primary); line-height: 1.75; margin-bottom: 28px; font-style: normal; font-weight: 400; }

.bf-testimonial__footer { display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid var(--border-light); }

.bf-testimonial__avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 700; color: #fff; flex-shrink: 0;
  letter-spacing: -0.02em;
}

.bf-testimonial__info { display: flex; flex-direction: column; }

.bf-testimonial__author { font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); }

.bf-testimonial__role { font-size: 0.8125rem; color: var(--text-muted); margin-top: 2px; }

@media (max-width: 768px) { .bf-testimonials { grid-template-columns: 1fr; } }

/* ===========================
   THE SYSTEM — 4 number cards
   =========================== */
.bf-system-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 56px; }

.bf-system-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl);
  padding: 40px 24px 36px; text-align: center; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative; overflow: hidden;
}

.bf-system-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3)); opacity: 0; transition: opacity 0.3s;
}

.bf-system-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(125,81,254,0.35); transform: translateY(-6px); box-shadow: 0 20px 50px rgba(91,41,221,0.2); }

.bf-system-card:hover::before { opacity: 1; }

.bf-system-card--highlight { background: linear-gradient(135deg, rgba(91,41,221,0.25), rgba(125,81,254,0.15)); border-color: rgba(125,81,254,0.4); }

.bf-system-card--highlight::before { opacity: 1; }

.bf-system-card__icon {
  width: 48px; height: 48px; border-radius: 50%; margin: 0 auto 20px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
}

.bf-system-card--highlight .bf-system-card__icon { background: rgba(125,81,254,0.25); border-color: rgba(125,81,254,0.4); }

.bf-system-card__num { font-size: clamp(2.75rem, 5vw, 3.75rem); font-weight: 700; color: #fff; letter-spacing: -0.04em; line-height: 1; }

.bf-system-card--highlight .bf-system-card__num { background: linear-gradient(135deg, #fff, #c4b5fd); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.bf-system-card__label { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.1em; margin-top: 10px; }

.bf-system-card__bar { height: 4px; background: rgba(255,255,255,0.08); border-radius: 2px; margin-top: 16px; overflow: hidden; }

.bf-system-card__bar-fill { height: 100%; border-radius: 2px; background: linear-gradient(90deg, var(--accent2), var(--accent3)); }

.bf-system-card__desc { font-size: 0.8125rem; color: rgba(255,255,255,0.4); margin-top: 14px; line-height: 1.5; }

.bf-system-equation { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 32px; flex-wrap: wrap; }

.bf-system-equation__item { font-size: 0.8125rem; font-weight: 600; color: rgba(255,255,255,0.5); display: flex; align-items: center; gap: 8px; }

.bf-system-equation__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); }

.bf-system-equation__equals { font-size: 1.25rem; font-weight: 700; color: rgba(255,255,255,0.3); }

@media (max-width: 900px) { .bf-system-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 480px) { .bf-system-grid { grid-template-columns: 1fr; } .bf-system-equation { gap: 12px; } }

/* ===========================
   WHO THIS IS FOR — enhanced
   =========================== */
.bf-whofit { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }

.bf-whofit__list { display: flex; flex-direction: column; gap: 20px; }

.bf-whofit__item { display: flex; align-items: flex-start; gap: 14px; }

.bf-whofit__check {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px;
  color: #fff;
}

.bf-whofit__item-title { font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); margin-bottom: 2px; }

.bf-whofit__item-desc { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.5; }

.bf-whofit__right { display: flex; align-items: center; justify-content: center; }

.bf-whofit__card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 32px; width: 100%; box-shadow: 0 20px 60px rgba(91,41,221,0.06);
  position: relative; overflow: hidden;
}

.bf-whofit__card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3));
}

.bf-whofit__card-header {
  display: flex; align-items: center; gap: 10px; font-size: 0.8125rem; font-weight: 600;
  color: var(--text-primary); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--border);
}

.bf-whofit__card-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); animation: bf-pulse-dot 2s ease-in-out infinite; }

.bf-whofit__card-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid var(--border-light);
  font-size: 0.8125rem; color: var(--text-secondary);
}

.bf-whofit__card-result {
  margin-top: 16px; padding: 14px 18px; border-radius: var(--radius);
  background: rgba(91,41,221,0.06); border: 1px solid rgba(91,41,221,0.12);
  font-size: 0.8125rem; color: var(--text-secondary);
  display: flex; justify-content: space-between; align-items: center;
}

.bf-whofit__card-result strong { color: var(--orange); font-weight: 700; }

@media (max-width: 768px) { .bf-whofit { grid-template-columns: 1fr; gap: 40px; } }

/* ===========================
   ONGOING CADENCE — feature points
   =========================== */
.bf-cadence-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; max-width: 960px; margin-left: auto; margin-right: auto; }

.bf-cadence-item {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 32px 24px; text-align: center; transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.bf-cadence-item:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(91,41,221,0.08); border-color: var(--orange-border); }

.bf-cadence-item__icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}

.bf-cadence-item__title { font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }

.bf-cadence-item__desc { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.6; }

@media (max-width: 768px) { .bf-cadence-grid { grid-template-columns: 1fr; } }

/* ===========================
   ENTERPRISE VALUE — enhanced
   =========================== */
.bf-ev-compare { display: grid; grid-template-columns: 1fr 80px 1fr; gap: 0; margin-top: 48px; max-width: 720px; margin-left: auto; margin-right: auto; align-items: center; }

.bf-ev-card {
  text-align: center; padding: 40px 28px; border-radius: var(--radius-xl);
  border: 1px solid rgba(255,255,255,0.08);
}

.bf-ev-card--high { background: rgba(91,41,221,0.2); border-color: rgba(125,81,254,0.4); }

.bf-ev-card--low { background: rgba(255,255,255,0.04); }

.bf-ev-card__tag { font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 12px; }

.bf-ev-card--high .bf-ev-card__tag { color: var(--accent3); }

.bf-ev-card--low .bf-ev-card__tag { color: rgba(255,255,255,0.35); }

.bf-ev-card__num { font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 700; color: #fff; letter-spacing: -0.03em; line-height: 1; }

.bf-ev-card--low .bf-ev-card__num { color: rgba(255,255,255,0.4); }

.bf-ev-card__label { font-size: 0.8125rem; color: rgba(255,255,255,0.45); margin-top: 8px; }

.bf-ev-vs { text-align: center; font-size: 0.8125rem; font-weight: 700; color: rgba(255,255,255,0.25); text-transform: uppercase; letter-spacing: 0.1em; }

@media (max-width: 480px) { .bf-ev-compare { grid-template-columns: 1fr; gap: 16px; } .bf-ev-vs { padding: 8px 0; } }



/* ============================================================
   TAX PLANNING PAGE — SPECIFIC STYLES
   ============================================================ */


/* ===========================
   HERO
   =========================== */
.bf-svc-hero { padding: 80px 0 var(--section-gap); background: var(--cream); overflow: hidden; position: relative; }

.bf-svc-hero__orb {
  position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.35; pointer-events: none;
  animation: bf-float 20s ease-in-out infinite;
}

.bf-svc-hero__orb--1 { width: 400px; height: 400px; background: rgba(91,41,221,0.08); top: -80px; right: -80px; }

.bf-svc-hero__orb--2 { width: 300px; height: 300px; background: rgba(125,81,254,0.06); bottom: 80px; left: -60px; animation-delay: -8s; }

.bf-svc-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: stretch; position: relative; z-index: 1; }

.bf-svc-hero__left { display: flex; flex-direction: column; align-items: flex-start; }

.bf-svc-hero__right {
  background: transparent; border: none; border-radius: var(--radius-xl);
  padding: 0; display: flex; align-items: stretch; justify-content: center; overflow: hidden;
}

.bf-svc-hero__right-icon { color: var(--orange); opacity: 0.3; }

.bf-svc-hero__badge { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: var(--radius-full); background: var(--accent-shade); border: 1px solid var(--orange-border); color: var(--orange); font-size: 0.8125rem; font-weight: 600; margin-top: 28px; }

/* ===========================
   PROBLEM — dark section (tax-planning)
   =========================== */
.bf-tp-problem { padding: var(--section-gap) 0; background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); }

.bf-tp-problem__inner { max-width: 720px; margin: 0 auto; text-align: center; }

.bf-tp-problem .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-tp-problem .bf-h2 { color: #fff; }

.bf-tp-problem__body { font-size: 1.0625rem; color: rgba(255,255,255,0.6); line-height: 1.75; margin-top: 24px; text-align: left; }

.bf-tp-problem__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; max-width: 1100px; margin: 0 auto; }

.bf-tp-problem__text { text-align: left; }

.bf-tp-problem__text .bf-h2 { text-align: left; }

.bf-tp-problem__callout { font-size: 1.125rem; font-weight: 600; color: #fff; line-height: 1.6; margin-top: 24px; padding-left: 20px; border-left: 3px solid var(--accent2); }

.bf-tp-problem__card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-xl);
  padding: 32px; position: relative; overflow: hidden;
}

.bf-tp-problem__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent2), var(--accent3)); }

.bf-tp-problem__card-header {
  display: flex; align-items: center; gap: 10px; font-size: 0.8125rem; font-weight: 600;
  color: rgba(255,255,255,0.7); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.08);
}

.bf-tp-problem__card-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: bf-pulse-red 2s ease-in-out infinite; }

@keyframes bf-pulse-red { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.75)} }

.bf-tp-problem__card-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.8125rem; color: rgba(255,255,255,0.5);
}

.bf-tp-problem__card-row:last-child { border-bottom: none; }

.bf-tp-problem__card-result {
  margin-top: 16px; padding: 14px 18px; border-radius: var(--radius);
  background: rgba(255,23,68,0.1); border: 1px solid rgba(255,23,68,0.2);
  font-size: 0.8125rem; color: rgba(255,255,255,0.6);
  display: flex; justify-content: space-between; align-items: center;
}

.bf-tp-problem__card-result strong { color: var(--red); font-weight: 700; }

@media (max-width: 768px) { .bf-tp-problem__grid { grid-template-columns: 1fr; gap: 32px; } }

/* ===========================
   FEATURES — alternating rows
   =========================== */
.bf-section { padding: var(--section-gap) 0; }

.bf-section--light { background: var(--cream); }

.bf-section__header { text-align: center; max-width: 640px; margin: 0 auto 64px; display: flex; flex-direction: column; align-items: center; }

.bf-feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding: 40px 0; }

.bf-feature-row--reverse .bf-feature-row__content { order: -1; }

.bf-feature-row__visual {
  background: var(--accent-shade); border: 1px solid var(--orange-border); border-radius: var(--radius-xl);
  padding: 32px; display: flex; flex-direction: column; justify-content: center; min-height: 260px;
  transition: all 0.3s ease;
}

.bf-feature-row__visual:hover { border-color: var(--orange); box-shadow: 0 8px 30px rgba(91,41,221,0.06); }

.bf-feature-row__icon { color: var(--orange); opacity: 0.35; }

.bf-features__visual-metric { display: grid; grid-template-columns: 55px 1fr 45px; gap: 12px; align-items: center; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); }

.bf-feature-row__content { display: flex; flex-direction: column; gap: 14px; }

.bf-feature-row__label { font-size: 0.6875rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.1em; }

.bf-feature-row__title { font-family: var(--font-sans); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--text-primary); letter-spacing: -0.02em; line-height: 1.15; }

.bf-feature-row__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.75; }

.bf-feature-row__bullets { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }

.bf-feature-row__bullet { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }

.bf-feature-row__check { width: 20px; height: 20px; border-radius: 50%; background: rgba(0,200,83,0.1); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

/* ===========================
   HOW IT WORKS
   =========================== */
.bf-tp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; max-width: 960px; margin: 0 auto; }

.bf-tp-step { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px 28px; transition: all 0.3s ease; }

.bf-tp-step:hover { border-color: var(--orange-border); box-shadow: 0 8px 30px rgba(91,41,221,0.06); transform: translateY(-3px); }

.bf-tp-step__num { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--accent-shade); color: var(--orange); font-size: 0.875rem; font-weight: 700; margin-bottom: 16px; }

.bf-tp-step__title { font-size: 1.0625rem; font-weight: 600; color: var(--text-primary); margin-bottom: 10px; }

.bf-tp-step__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.7; }

/* ===========================
   STATS — dark section
   =========================== */
.bf-stats-section { padding: var(--section-gap) 0; background: #170f32; }

.bf-stats-section .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-stats-section .bf-h2 { color: #fff; }

.bf-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 960px; margin: 0 auto; }

.bf-stat { text-align: center; padding: 28px 16px; }

.bf-stat__number { font-family: var(--font-sans); font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 500; color: #fff; letter-spacing: -0.02em; }

.bf-stat__label { font-size: 0.8125rem; color: rgba(255,255,255,0.45); line-height: 1.55; margin-top: 8px; }

/* ===========================
   IS THIS FOR YOU
   =========================== */
.bf-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 900px; margin: 0 auto; }

.bf-fit__col { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px 28px; }

.bf-fit__col--yes { border-color: var(--green); border-width: 1.5px; }

.bf-fit__col-title { font-size: 1.0625rem; font-weight: 600; color: var(--text-primary); margin-bottom: 16px; }

.bf-fit__items { display: flex; flex-direction: column; gap: 12px; }

.bf-fit__icon--no { background: #FEF2F2; color: #EF4444; }

@media (prefers-reduced-motion: reduce) { .bf-reveal { opacity: 1; transform: none; transition: none; } }

/* Marquee trust bar */
.bf-svc-hero__trust { padding: 48px 0 0; overflow: hidden; position: relative; }

.bf-svc-hero__trust::before,
.bf-svc-hero__trust::after {
  content: ''; position: absolute; top: 48px; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}

.bf-svc-hero__trust::before { left: 0; background: linear-gradient(90deg, var(--cream), transparent); }

.bf-svc-hero__trust::after { right: 0; background: linear-gradient(270deg, var(--cream), transparent); }

.bf-svc-hero__trust-label {
  font-size: 0.75rem; font-weight: 500; color: var(--text-faint);
  text-transform: uppercase; letter-spacing: 0.08em; text-align: center; margin-bottom: 20px;
}

.bf-svc-hero__trust-logo {
  display: flex; align-items: center; flex-shrink: 0;
  height: 36px; opacity: 0.5; transition: opacity 0.3s; filter: grayscale(100%);
}

.bf-svc-hero__trust-logo:hover { opacity: 1; filter: grayscale(0%); }

.bf-svc-hero__trust-logo img { height: 100%; width: auto; object-fit: contain; }

/* ===========================
   PROOF STATS + TESTIMONIALS
   =========================== */
.bf-proof-section { background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); padding: var(--section-gap) 0; overflow: hidden; }

.bf-testimonials { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }

.bf-testimonial__quote-icon {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  margin-bottom: 20px;
}

.bf-testimonial__quote { font-size: 1.0625rem; color: var(--text-primary); line-height: 1.75; margin-bottom: 28px; font-style: normal; }

.bf-testimonial__avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--accent2), var(--accent3));
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 700; color: #fff; flex-shrink: 0; object-fit: cover;
}

@media (max-width: 768px) { .bf-testimonials { grid-template-columns: 1fr; } }

/* ===========================
   THE CATCH — centered text
   =========================== */
.bf-catch { padding: var(--section-gap) 0; background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); }

.bf-catch__inner { max-width: 720px; margin: 0 auto; text-align: center; }

.bf-catch .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-catch .bf-h2 { color: #fff; }

.bf-catch__body { font-size: 1.0625rem; color: rgba(255,255,255,0.6); line-height: 1.75; margin-top: 24px; text-align: left; }
.bf-catch__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 960px; margin: 0 auto; }
@media (max-width: 768px) { .bf-catch__grid { grid-template-columns: 1fr; } }

/* ===========================
   MOBILE RESPONSIVE
   =========================== */
@media (max-width: 768px) {
  :root { --section-gap: 56px; }

  .bf-nav__links {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: #fff;
    z-index: 9999; flex-direction: column; align-items: center; justify-content: center; gap: 32px;
  }
  .bf-nav__links.bf-is-open { display: flex; }
  .bf-nav__link { font-size: 1.25rem; }
  .bf-nav__cta { font-size: 1rem; padding: 14px 32px; }
  .bf-nav__mobile-toggle { display: flex; z-index: 10000; position: relative; }
  .bf-nav.bf-menu-open { z-index: 9998; backdrop-filter: none; -webkit-backdrop-filter: none; }

  /* Mobile mega menu accordion */
  .bf-nav__dropdown { width: 100%; text-align: center; }
  .bf-nav__link--has-dropdown { justify-content: center; }
  .bf-nav__mega {
    position: static !important; transform: none !important; opacity: 1; visibility: visible;
    box-shadow: none; border: none; background: transparent;
    padding: 0; min-width: 0; display: none; pointer-events: auto;
    max-height: 0; overflow: hidden; transition: max-height 0.35s ease;
    left: auto;
  }
  .bf-nav__dropdown.bf-is-open .bf-nav__mega { display: block; max-height: 600px; }
  .bf-nav__dropdown.bf-is-open .bf-nav__link-chevron { transform: rotate(180deg); }
  .bf-nav__mega-list { align-items: center; gap: 0; padding: 8px 0; width: 100%; }
  .bf-nav__mega-list a { font-size: 1rem; color: var(--text-muted); padding: 8px 16px; white-space: normal; text-align: center; }
  .bf-nav__mega-grid--2col { grid-template-columns: 1fr; }

  .bf-svc-hero { padding: 56px 0 var(--section-gap); }
  .bf-svc-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .bf-svc-hero__left { align-items: center; text-align: center; }

  .bf-feature-row { grid-template-columns: 1fr; gap: 32px; }
  .bf-feature-row--reverse .bf-feature-row__content { order: 0; }
  .bf-feature-row__visual { min-height: 200px; padding: 32px; }

  .bf-tp-steps { grid-template-columns: 1fr; }
  .bf-stats { grid-template-columns: 1fr 1fr; }
  .bf-fit { grid-template-columns: 1fr; }
  .bf-faq__layout { grid-template-columns: 1fr; gap: 40px; }

  .bf-cta { overflow: hidden; }
  .bf-cta__split { grid-template-columns: 1fr; max-width: 100vw; overflow: hidden; }
  .bf-cta__left { padding: 48px 24px; max-width: 100%; overflow: hidden; }
  .bf-cta__right { min-height: 300px; max-width: 100%; }

  .bf-footer__top { flex-direction: column; gap: 24px; align-items: flex-start; }
  .bf-footer__inner { grid-template-columns: 1fr 1fr; }
  .bf-footer__badges { flex-wrap: wrap; gap: 24px; }
  .bf-footer__bottom { flex-direction: column; gap: 12px; }
}

@media (max-width: 480px) {
  .bf-btn--large { width: 100%; }
  .bf-stats { grid-template-columns: 1fr; }
}



/* ============================================================
   PLASTIC SURGEONS PAGE — SPECIFIC STYLES
   ============================================================ */


/* ===========================
   Pain mirror cards
   =========================== */
.bf-pain-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 48px; max-width: 960px; margin-left: auto; margin-right: auto; }

.bf-pain-card {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl);
  padding: 32px 28px; position: relative; overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.bf-pain-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--accent2), var(--accent3)); opacity: 0; transition: opacity 0.3s;
}

.bf-pain-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(125,81,254,0.35); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(91,41,221,0.15); }

.bf-pain-card:hover::before { opacity: 1; }

.bf-pain-card__icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, rgba(125,81,254,0.3), rgba(91,41,221,0.15));
  border: 1px solid rgba(125,81,254,0.3);
  display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
}

.bf-pain-card__title { font-size: 0.9375rem; font-weight: 700; color: #fff; margin-bottom: 10px; }

.bf-pain-card__text { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }

@media (max-width: 768px) { .bf-pain-grid { grid-template-columns: 1fr; } }

/* ===========================
   Leak check deliverable cards
   =========================== */
.bf-leak-section { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; margin-top: 48px; }
.bf-leak-section__content { display: flex; flex-direction: column; gap: 0; }
.bf-leak-section__intro { font-size: 1rem; font-weight: 600; color: var(--text-primary); margin-bottom: 32px; }
.bf-leak-section__visual { position: sticky; top: 120px; }
.bf-leak-section__img-wrap { position: relative; border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 24px 80px rgba(91,41,221,0.10), 0 0 0 1px var(--border); }
.bf-leak-section__img-wrap img { width: 100%; display: block; border-radius: var(--radius-xl); }
.bf-leak-section__img-wrap::after { content: ''; position: absolute; inset: 0; border-radius: var(--radius-xl); border: 1px solid var(--border); pointer-events: none; }
.bf-leak-section__img-caption { margin-top: 16px; text-align: center; font-size: 0.8125rem; color: var(--text-faint); font-style: italic; }
.bf-leak-section__img-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 12px; }
.bf-leak-section__img-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--radius-full); background: var(--accent-shade); border: 1px solid var(--orange-border); font-size: 0.75rem; color: var(--orange); font-weight: 500; }
.bf-leak-section__img-tag svg { flex-shrink: 0; }

@media (max-width: 900px) {
  .bf-leak-section { grid-template-columns: 1fr; gap: 40px; }
  .bf-leak-section__visual { position: static; order: -1; }
}

.bf-leak-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }

.bf-leak-card {
  background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 36px 28px; transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; overflow: hidden;
}

.bf-leak-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent2), var(--accent3)); opacity: 0; transition: opacity 0.3s; }

.bf-leak-card:hover { transform: translateY(-4px); box-shadow: 0 16px 50px rgba(91,41,221,0.08); }

.bf-leak-card:hover::before { opacity: 1; }

.bf-leak-card__num { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--accent2), var(--accent3)); color: #fff; font-size: 0.875rem; font-weight: 700; margin-bottom: 20px; }

.bf-leak-card__title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }

.bf-leak-card__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.7; }

.bf-leak-card__highlight { margin-top: 14px; padding: 10px 14px; border-radius: var(--radius); background: var(--accent-shade); border: 1px solid var(--orange-border); font-size: 0.8125rem; color: var(--orange); font-weight: 600; }

@media (max-width: 768px) { .bf-leak-grid { grid-template-columns: 1fr; } }

/* Leak check dark items */
.bf-leak-item { display: flex; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--border-light); }
.bf-leak-item:last-child { border-bottom: none; }
.bf-leak-item__num { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--accent2), var(--accent3)); color: #fff; font-size: 1rem; font-weight: 700; }
.bf-leak-item__body { flex: 1; }
.bf-leak-item__title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 8px; }
.bf-leak-item__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.75; }
.bf-leak-item__highlight { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 8px 14px; border-radius: var(--radius); background: var(--accent-shade); border: 1px solid var(--orange-border); font-size: 0.8125rem; color: var(--orange); font-weight: 600; }
.bf-leak-item__highlight svg { flex-shrink: 0; }

/* ===========================
   Phase timeline cards
   =========================== */
.bf-phases { display: flex; flex-direction: column; gap: 24px; position: relative; }

.bf-phase__desc { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; }

.bf-phase__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

.bf-whofit__check--no { background: rgba(255,23,68,0.1); color: var(--red); }

/* ===========================
   Proof dark section
   =========================== */
.bf-proof-dark { background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); padding: var(--section-gap) 0; }

.bf-proof-dark .bf-eyebrow { color: rgba(255,255,255,0.5); }

.bf-proof-dark .bf-eyebrow::before { background: var(--accent2); }

.bf-proof-dark .bf-h2 { color: #fff; }

.bf-proof-dark__body { font-size: 1.0625rem; color: rgba(255,255,255,0.6); line-height: 1.75; max-width: 720px; margin: 0 auto; }

.bf-proof-dark__callout {
  margin-top: 32px; padding: 24px 28px; border-radius: var(--radius-xl);
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
  max-width: 720px; margin-left: auto; margin-right: auto;
}

.bf-proof-dark__callout-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 0.9375rem; color: rgba(255,255,255,0.6); }

.bf-proof-dark__callout-item svg { color: var(--accent2); flex-shrink: 0; }

/* ===========================
   Fit section
   =========================== */
.bf-fit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 900px; margin: 0 auto; }

.bf-fit-col { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl); padding: 32px 28px; }

.bf-fit-col--yes { border-color: var(--green); border-width: 1.5px; }

.bf-fit-col__title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 16px; }

.bf-fit-col__items { display: flex; flex-direction: column; gap: 12px; }

.bf-fit-col__item { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }

.bf-fit-col__icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

.bf-fit-col__icon--yes { background: rgba(0,200,83,0.1); color: var(--green); }

.bf-fit-col__icon--no { background: rgba(255,23,68,0.08); color: var(--red); }

@media (max-width: 768px) { .bf-fit-grid { grid-template-columns: 1fr; } }

.bf-faq__item.bf-is-open .bf-faq__answer { max-height: 800px; }

/* ===========================
   Sticky mobile book button
   =========================== */
.bf-sticky-book {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  background: var(--orange); color: #fff; text-align: center;
  padding: 16px 24px; font-size: 0.9375rem; font-weight: 700;
  text-decoration: none; gap: 8px; align-items: center; justify-content: center;
  box-shadow: 0 -4px 20px rgba(91,41,221,0.3);
  transition: background 0.3s ease;
}
.bf-sticky-book:hover { background: var(--orange-hover); }
.bf-sticky-book svg { display: inline; vertical-align: middle; margin-left: 4px; }
@media (max-width: 768px) { .bf-sticky-book { display: flex; } }

/* ===========================
   Logo scroller
   =========================== */
.bf-hero__trust { padding: 48px 0 20px; overflow: hidden; position: relative; }


/* ===========================
   SIGNAL CARDS (Sound Familiar)
   =========================== */
.bf-signal { padding: var(--section-gap) 0; background: linear-gradient(160deg,#12092e 0%,#1c0f40 50%,#12092e 100%); }
.bf-signal .bf-section__header--center { margin-bottom: 0; }
.bf-signal .bf-eyebrow { color: rgba(255,255,255,0.5); }
.bf-signal .bf-eyebrow::before { background: rgba(255,255,255,0.4); }
.bf-signal .bf-h2 { color: #fff; }
.bf-signal__sub { font-size: 1rem; color: rgba(255,255,255,0.55); line-height: 1.7; max-width: 560px; margin: 0 auto; text-align: center; }
.bf-signal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.bf-signal__card { position: relative; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl); padding: 32px 28px; display: flex; flex-direction: column; transition: all 0.3s ease; overflow: hidden; }
.bf-signal__card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent2)); opacity: 0; transition: opacity 0.3s; }
.bf-signal__card:hover { background: rgba(255,255,255,0.08); border-color: rgba(125,81,254,0.35); transform: translateY(-4px); box-shadow: 0 16px 40px rgba(91,41,221,0.15); }
.bf-signal__card:hover::before { opacity: 1; }
.bf-signal__card-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); margin-bottom: 20px; }
.bf-signal__card-title { font-size: 0.9375rem; font-weight: 700; color: #fff; margin-bottom: 10px; line-height: 1.4; }
.bf-signal__card-text { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }
.bf-signal__cta { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 48px; text-align: center; }
.bf-signal__cta-text { font-size: 0.8125rem; color: rgba(255,255,255,0.4); margin: 0; }
@media (max-width: 900px) { .bf-signal__grid { grid-template-columns: 1fr; gap: 16px; } }

/* =========================== CFO EXIT PLANNING PAGE =========================== */

/* ===========================
   PROBLEM -- dark section
   =========================== */
.bf-problem--dark { padding: var(--section-gap) 0; background: linear-gradient(135deg, #1a1145, #2a1463, #1a1145); }
.bf-problem--dark .bf-problem__inner { max-width: 680px; margin: 0 auto; text-align: center; }
.bf-problem--dark .bf-eyebrow { color: rgba(255,255,255,0.5); }
.bf-problem--dark .bf-eyebrow::before { background: rgba(255,255,255,0.5); }
.bf-problem--dark .bf-h2 { color: #fff; }
.bf-problem--dark .bf-problem__body { font-size: 1.0625rem; color: rgba(255,255,255,0.6); line-height: 1.8; margin-top: 24px; }
.bf-problem--dark .bf-section__header--center { margin-bottom: 0; }
.bf-problem--dark .bf-pain-grid { margin-top: 48px; }
.bf-problem--dark .bf-pain-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: 28px 24px; transition: all 0.3s ease; }
.bf-problem--dark .bf-pain-card:hover { background: rgba(255,255,255,0.08); border-color: rgba(125,81,254,0.35); transform: translateY(-4px); }
.bf-problem--dark .bf-pain-card__icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); margin-bottom: 16px; }
.bf-problem--dark .bf-pain-card__title { font-size: 0.9375rem; font-weight: 700; color: #fff; margin-bottom: 10px; }
.bf-problem--dark .bf-pain-card__text { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }
@media (max-width: 768px) { .bf-problem--dark .bf-pain-grid { grid-template-columns: 1fr !important; } }

/* ===========================
   FEATURES -- alternating grid
   =========================== */
.bf-features { padding: var(--section-gap) 0; }
.bf-feature-row { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding: 48px 0; border-top: 1px solid var(--border-light); }
.bf-feature-row:first-child { border-top: none; }
.bf-feature-row--reverse .bf-feature-row__content { order: -1; }
.bf-feature-row__visual {
  background: var(--accent-shade); border: 1px solid var(--orange-border); border-radius: var(--radius-xl);
  padding: 48px; display: flex; flex-direction: column; justify-content: center; min-height: 260px;
  transition: all 0.3s ease;
}
.bf-feature-row__visual:hover { border-color: var(--orange); box-shadow: 0 8px 30px rgba(91,41,221,0.06); }
.bf-feature-row__icon { color: var(--orange); opacity: 0.4; }
.bf-features__visual-icon { display: none; }
.bf-features__visual-data { display: flex; flex-direction: column; gap: 14px; }
.bf-features__visual-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border-light); font-size: 0.8125rem; color: var(--text-secondary); }
.bf-features__visual-row:last-child { border-bottom: none; }
.bf-features__visual-metric { display: grid; grid-template-columns: 80px 1fr 40px; gap: 12px; align-items: center; font-size: 0.75rem; font-weight: 600; color: var(--text-muted); }
.bf-features__bar-track { height: 8px; background: var(--border-light); border-radius: 4px; overflow: hidden; }
.bf-features__bar-fill { height: 100%; border-radius: 4px; width: 0; background: var(--bar-color, var(--orange)); animation: bf-bar-grow 1.5s ease-out forwards; animation-play-state: paused; }
.bf-reveal.bf-is-visible .bf-features__bar-fill { animation-play-state: running; }
@keyframes bf-bar-grow { to { width: var(--bar-w); } }
.bf-features__visual-result { margin-top: 16px; padding: 14px 18px; border-radius: var(--radius); background: rgba(91,41,221,0.06); border: 1px solid rgba(91,41,221,0.12); font-size: 0.8125rem; color: var(--text-secondary); display: flex; justify-content: space-between; align-items: center; }
.bf-features__visual-result strong { color: var(--orange); font-weight: 700; }
.bf-features__visual-check { display: flex; align-items: center; gap: 10px; font-size: 0.875rem; color: var(--text-primary); }
.bf-features__visual-check svg { color: var(--orange); flex-shrink: 0; }
.bf-feature-row__content { display: flex; flex-direction: column; gap: 14px; }
.bf-feature-row__label { font-size: 0.6875rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.1em; }
.bf-feature-row__title { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--text-primary); letter-spacing: -0.02em; line-height: 1.15; }
.bf-feature-row__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.75; }
.bf-feature-row__bullets { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.bf-feature-row__bullet { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }
.bf-feature-row__check { width: 20px; height: 20px; border-radius: 50%; background: rgba(0,200,83,0.1); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }

@media (max-width: 768px) {
  .bf-feature-row { grid-template-columns: 1fr; gap: 32px; }
  .bf-feature-row--reverse .bf-feature-row__content { order: 0; }
  .bf-feature-row__visual { padding: 32px; min-height: 200px; }
}

/* ===========================
   STEPS
   =========================== */
.bf-step { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 32px 28px; transition: all 0.3s ease; }
.bf-step:hover { border-color: var(--orange-border); box-shadow: 0 8px 30px rgba(91,41,221,0.06); transform: translateY(-2px); }
.bf-step__num { font-size: 0.75rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 12px; }
.bf-step__title { font-size: 1.125rem; font-weight: 600; color: var(--text-primary); margin-bottom: 12px; }
.bf-step__desc { font-size: 0.9375rem; color: var(--text-muted); line-height: 1.7; }

/* Phase timeline */
.bf-phases { display: flex; flex-direction: column; gap: 24px; position: relative; }
.bf-phase { display: grid; grid-template-columns: 56px 1fr; gap: 28px; align-items: start; padding: 32px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-xl); transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
.bf-phase:hover { border-color: var(--orange-border); box-shadow: 0 16px 50px rgba(91,41,221,0.08); transform: translateY(-3px); }
.bf-phase__marker { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, var(--accent2), var(--accent3)); display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.bf-phase__label { font-size: 0.6875rem; font-weight: 700; color: var(--orange); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 6px; }
.bf-phase__title { font-size: clamp(1.25rem, 2.5vw, 1.5rem); font-weight: 600; color: var(--text-primary); margin-bottom: 12px; }
.bf-phase__desc { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; margin-bottom: 16px; }
.bf-phase__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.bf-phase__tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: var(--radius-full); background: var(--accent-shade); border: 1px solid var(--orange-border); font-size: 0.75rem; font-weight: 600; color: var(--orange); }
.bf-phase__tag svg { flex-shrink: 0; }
@media (max-width: 768px) { .bf-phase { grid-template-columns: 1fr; } .bf-phase__marker { margin-bottom: 8px; } }

/* ===========================
   STATS -- dark section
   =========================== */
.bf-stats-section { padding: var(--section-gap) 0; background: linear-gradient(135deg, #120d28, #1a1145, #120d28); }
.bf-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; max-width: 960px; margin: 0 auto; }
.bf-stat { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-lg); padding: 28px 24px; text-align: center; transition: all 0.3s ease; }
.bf-stat:hover { border-color: rgba(255,255,255,0.15); box-shadow: 0 8px 30px rgba(0,0,0,0.2); transform: translateY(-2px); }
.bf-stat__num { font-size: 1.5rem; font-weight: 600; color: #fff; letter-spacing: -0.02em; margin-bottom: 8px; }
.bf-stat__desc { font-size: 0.8125rem; color: rgba(255,255,255,0.5); line-height: 1.55; }

@media (max-width: 960px) { .bf-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bf-stats { grid-template-columns: 1fr; } }

/* ===========================
   FIT SECTION
   =========================== */
.bf-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 900px; margin: 0 auto; }
.bf-fit__col-title { font-size: 1.0625rem; font-weight: 600; color: var(--text-primary); margin-bottom: 16px; }
.bf-fit__list { display: flex; flex-direction: column; gap: 12px; }
.bf-fit__item { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.6; }
.bf-fit__icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
.bf-fit__icon--yes { background: rgba(0,200,83,0.1); color: var(--green); }
.bf-fit__icon--no { background: rgba(255,23,68,0.08); color: var(--red); }

@media (max-width: 768px) { .bf-fit { grid-template-columns: 1fr; } }

/* ===========================
   FAQ -- two-column layout
   =========================== */
.bf-faq__layout { display: block; }
.bf-faq__header { margin-bottom: 48px; text-align: left; }
.bf-faq__header .bf-h2 { margin-bottom: 16px; }
.bf-faq__header p { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.75; }
.bf-faq__list {
  column-count: 2; column-gap: 48px; padding-top: 0;
}
.bf-faq__item {
  break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid;
  display: block; background: none; border: none; border-bottom: 1px solid var(--border-light);
  border-radius: 0; overflow: hidden; transition: all 0.3s ease;
}
.bf-faq__item:hover { border-bottom-color: var(--orange-border); }
.bf-faq__item.bf-is-open { border-bottom-color: var(--orange-border); background: none; box-shadow: none; }
.bf-faq__qtitle { margin: 0; padding: 0; font: inherit; letter-spacing: normal; }
.bf-faq__question {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0; cursor: pointer; background: none; border: none;
  width: 100%; font-family: var(--font-sans); font-size: 0.875rem;
  font-weight: 600; color: var(--text-primary); text-align: left;
  transition: color 0.2s; gap: 16px; line-height: 1.4;
}
.bf-faq__question:hover { color: var(--orange); }
.bf-faq__item.bf-is-open .bf-faq__question { color: var(--orange); }
.bf-faq__icon {
  width: 18px; height: 18px; color: var(--text-faint); flex-shrink: 0;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.3s;
}
.bf-faq__item.bf-is-open .bf-faq__icon { transform: rotate(45deg); color: var(--orange); }
.bf-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); }
.bf-faq__answer-inner { padding: 0 0 18px; font-size: 0.875rem; color: var(--text-muted); line-height: 1.65; }
.bf-faq__item.bf-is-open .bf-faq__answer { max-height: 800px; }

@media (max-width: 768px) {
  .bf-faq__layout { grid-template-columns: 1fr; gap: 40px; }
  .bf-faq__list { column-count: 1; padding-top: 0; }
}

/* ===========================
   CTA -- dark split with video
   =========================== */
.bf-cta {
  padding: 0; position: relative; overflow: hidden;
  background: linear-gradient(135deg, #120d28, #1a1145, #120d28);
}
.bf-cta__split {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 550px;
}
.bf-cta__left {
  background: linear-gradient(135deg, #1a1145, #251558); padding: 80px 64px 80px max(32px, calc((100vw - var(--container-max)) / 2 + 32px)); display: flex; flex-direction: column; justify-content: center;
}
.bf-cta .bf-eyebrow { color: rgba(255,255,255,0.5); margin-bottom: 16px; }
.bf-cta .bf-eyebrow::before { background: rgba(255,255,255,0.5); }
.bf-cta .bf-h2 { color: #fff; margin-bottom: 0; }
.bf-cta__body { font-size: 1.0625rem; color: rgba(255,255,255,0.65) !important; line-height: 1.75; max-width: 520px; margin: 24px 0 32px; }
.bf-cta__fine { margin-top: 20px; font-size: 0.8125rem; color: rgba(255,255,255,0.35) !important; }
.bf-cta__right { position: relative; overflow: hidden; }
.bf-cta__right video { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 768px) {
  .bf-cta { overflow: hidden; }
  .bf-cta__split { grid-template-columns: 1fr; max-width: 100vw; overflow: hidden; }
  .bf-cta__left { padding: 48px 24px; max-width: 100%; overflow: hidden; }
  .bf-cta__right { min-height: 300px; max-width: 100%; }
}



/* ============================================================
   LEAK CHECK PAGE — page-scoped overrides (leak-check.html)
   ============================================================ */
/* Tighter content frame */
.bf-lc-page .bf-container { max-width: 1280px; }

/* Section rhythm — pull padding in slightly so dense sections feel intentional */
.bf-lc-page .bf-section { padding: 72px 0; }
.bf-lc-page .bf-hero { padding: 72px 0 48px; min-height: 0; }
.bf-lc-page .bf-problem-dark { padding: 72px 0; }

/* What You Get — collapse 2-col (content+visual) layout, then 2x2 grid the items */
.bf-lc-page .bf-leak-section {
  grid-template-columns: 1fr;
  max-width: 960px;
  margin: 48px auto 0;
  gap: 0;
}
.bf-lc-page .bf-leak-section__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.bf-lc-page .bf-leak-item {
  display: flex;
  gap: 16px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px;
  margin: 0;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.bf-lc-page .bf-leak-item:hover {
  border-color: var(--orange-border);
  box-shadow: 0 12px 32px rgba(91,41,221,.08);
  transform: translateY(-2px);
}
@media (max-width: 720px) {
  .bf-lc-page .bf-leak-section__content { grid-template-columns: 1fr; }
}

/* How It Works — phases get a card frame */
.bf-lc-page .bf-phases { max-width: 820px; gap: 16px; }
.bf-lc-page .bf-phase {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.bf-lc-page .bf-phase:hover {
  border-color: var(--orange-border);
  box-shadow: 0 12px 32px rgba(91,41,221,.08);
}

/* Who This Is For — keep the two-column flow tight on 1280 */
.bf-lc-page .bf-whofit { max-width: 1100px; margin: 0 auto; }


/* FAQ — single-column centered layout, items as cards */
.bf-lc-page .bf-faq__layout { display: block; max-width: 760px; margin: 0 auto; }
.bf-lc-page .bf-faq__header { text-align: center; margin-bottom: 40px; }
.bf-lc-page .bf-faq__header .bf-eyebrow { justify-content: center; }
.bf-lc-page .bf-faq__list { column-count: 1; padding-top: 0; max-width: 100%; }
.bf-lc-page .bf-faq__item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin-bottom: 12px;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.bf-lc-page .bf-faq__item:hover { border-color: var(--orange-border); box-shadow: 0 4px 16px rgba(91,41,221,.05); }
.bf-lc-page .bf-faq__question { padding: 20px 24px; font-weight: 700; }
.bf-lc-page .bf-faq__answer-inner { padding: 0 24px 20px; }

/* Why Free — pain cards centered and tighter */
.bf-lc-page .bf-problem-dark .bf-pain-grid { max-width: 760px; margin-left: auto; margin-right: auto; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 720px) {
  .bf-lc-page .bf-problem-dark .bf-pain-grid { grid-template-columns: 1fr; }
}

/* Booking iframe — frame it like a card, no jarring whitespace */
.bf-lc-page #book iframe {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 40px rgba(91,41,221,.08);
  min-height: 720px;
}

/* Bennett Financials 2026 design-system normalization.
   Loaded after the inherited authored stylesheet so shared visual decisions
   remain centralized while page-specific layout rules continue to work. */

:root {
  --bf-brand-950: #160d36;
  --bf-brand-900: #20134b;
  --bf-brand-800: #302065;
  --bf-brand-700: #4b28b5;
  --bf-brand-600: #5b29dd;
  --bf-brand-500: #7450e8;
  --bf-brand-100: #eee9ff;
  --bf-brand-50: #f8f6ff;
  --bf-ink: #1f1938;
  --bf-body: #4f5167;
  --bf-muted: #70738b;
  --bf-line: #e7e3f0;
  --bf-line-strong: #d8d1e8;
  --bf-surface: #fff;
  --bf-surface-soft: #f8f7fb;
  --bf-shadow-sm: 0 1px 2px rgba(22, 13, 54, .04), 0 8px 24px rgba(22, 13, 54, .05);
  --bf-shadow-md: 0 2px 4px rgba(22, 13, 54, .04), 0 18px 48px rgba(22, 13, 54, .09);
  --bf-shadow-lg: 0 8px 24px rgba(22, 13, 54, .08), 0 32px 80px rgba(22, 13, 54, .14);
  --bf-radius-sm: 10px;
  --bf-radius-md: 16px;
  --bf-radius-lg: 24px;
  --bf-content: 1180px;
  --bf-section-y: clamp(72px, 8vw, 112px);
  --cream: var(--bf-surface-soft);
  --cream-dark: #f1eef7;
  --orange: var(--bf-brand-600);
  --orange-hover: var(--bf-brand-700);
  --orange-light: var(--bf-brand-50);
  --orange-border: rgba(91, 41, 221, .22);
  --text-primary: var(--bf-ink);
  --text-secondary: var(--bf-body);
  --text-muted: var(--bf-muted);
  --text-faint: #9294a6;
  --border: var(--bf-line);
  --border-light: #f0edf5;
  --accent-shade: var(--bf-brand-50);
  --ink: var(--bf-brand-950);
  --purple: var(--bf-brand-600);
  --muted: var(--bf-muted);
  --section-gap: var(--bf-section-y);
  --container-max: var(--bf-content);
  --radius: var(--bf-radius-sm);
  --radius-lg: var(--bf-radius-md);
  --radius-xl: var(--bf-radius-lg);
}

html {
  scroll-padding-top: 96px;
  background: var(--bf-surface);
}

body {
  background: var(--bf-surface);
  color: var(--bf-ink);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

::selection {
  color: #fff;
  background: var(--bf-brand-600);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(91, 41, 221, .35);
  outline-offset: 3px;
}

.bf-container {
  width: min(100% - 40px, var(--bf-content));
  max-width: none;
  padding: 0;
}

.bf-h1,
.bf-hero h1 {
  max-width: 14ch;
  font-size: clamp(2.65rem, 6vw, 5rem);
  font-weight: 650;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-h2,
.bf-section h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 620;
  line-height: 1.05;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.bf-body-lg {
  max-width: 64ch;
  color: var(--bf-body);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.72;
}

.bf-eyebrow {
  gap: 9px;
  margin-bottom: 18px;
  color: var(--bf-brand-700);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .12em;
}

.bf-eyebrow::before {
  width: 8px;
  height: 8px;
  background: var(--bf-brand-600);
  animation: none;
  box-shadow: 0 0 0 5px rgba(91, 41, 221, .1);
}

.bf-topbar {
  padding: 9px 20px;
  background: var(--bf-brand-950);
  font-size: .78rem;
  letter-spacing: .015em;
}

.bf-nav {
  padding: 0 24px;
  border-color: rgba(31, 25, 56, .08);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 0 rgba(31, 25, 56, .04);
}

.bf-nav__inner {
  max-width: var(--bf-content);
  height: 76px;
}

.bf-nav__links {
  gap: clamp(18px, 2vw, 32px);
}

.bf-nav__link {
  color: var(--bf-body);
  font-size: .84rem;
  font-weight: 650;
}

.bf-nav__cta,
.bf-btn {
  min-height: 48px;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: -.01em;
  box-shadow: none;
}

.bf-nav__cta {
  min-height: 42px;
  padding: 10px 20px;
}

.bf-btn--primary:hover,
.bf-nav__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(91, 41, 221, .24);
}

.bf-btn--secondary {
  border-color: var(--bf-line-strong);
  background: rgba(255, 255, 255, .72);
}

.bf-hero {
  padding: clamp(56px, 7vw, 96px) 0 clamp(48px, 6vw, 80px);
  background:
    radial-gradient(circle at 85% 8%, rgba(116, 80, 232, .14), transparent 28%),
    radial-gradient(circle at 5% 65%, rgba(91, 41, 221, .08), transparent 24%),
    linear-gradient(180deg, #fff 0%, var(--bf-brand-50) 100%);
}

.bf-hero__inner {
  gap: clamp(44px, 6vw, 84px);
  align-items: center;
}

.bf-hero__left {
  padding-top: 0;
}

.bf-hero__sub {
  max-width: 58ch;
  margin-bottom: 32px;
}

.bf-hero__right,
.bf-hero__video,
.bf-problem__visual,
.bf-features__visual,
.bf-feature-row__visual {
  border-radius: var(--bf-radius-lg);
  box-shadow: var(--bf-shadow-lg);
}

.bf-hero__trust {
  padding: 52px 0 0;
}

.bf-section {
  padding: var(--bf-section-y) 0;
}

.bf-section--cream,
.bf-section--light {
  background: var(--bf-surface-soft);
}

.bf-section--white {
  background: var(--bf-surface);
}

.bf-section--dark,
.bf-section--darker,
.bf-problem-dark {
  background:
    radial-gradient(circle at 85% 15%, rgba(116, 80, 232, .22), transparent 30%),
    linear-gradient(145deg, var(--bf-brand-950), var(--bf-brand-900));
}

.bf-section__header,
.bf-section__header--center {
  max-width: 760px;
  margin-right: auto;
  margin-bottom: clamp(42px, 5vw, 68px);
  margin-left: auto;
}

:where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-faq__item, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-stats-bar__item, .bf-pain-card, .bf-svc-card) {
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-md);
  background: var(--bf-surface);
  box-shadow: var(--bf-shadow-sm);
}

:where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-pain-card, .bf-svc-card) {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

:where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-pain-card, .bf-svc-card):hover {
  border-color: rgba(91, 41, 221, .26);
  box-shadow: var(--bf-shadow-md);
  transform: translateY(-3px);
}

.bf-proof-card,
.bf-ev-card,
.bf-stats-dark__item {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--bf-radius-md);
  background: rgba(255, 255, 255, .07);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.bf-faq__layout {
  gap: clamp(36px, 6vw, 72px);
}

.bf-faq__item {
  margin-bottom: 12px;
  overflow: clip;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.bf-faq__question {
  min-height: 64px;
  padding: 18px 22px;
  font-weight: 700;
}

.bf-faq__answer-inner {
  padding: 0 22px 22px;
  color: var(--bf-body);
}

.bf-cta {
  background:
    radial-gradient(circle at 100% 0, rgba(116, 80, 232, .35), transparent 34%),
    linear-gradient(135deg, var(--bf-brand-950), var(--bf-brand-800));
}

.bf-footer {
  background: var(--bf-brand-950);
}

.bf-footer__top,
.bf-footer__inner,
.bf-footer__badges,
.bf-footer__bottom {
  border-color: rgba(255, 255, 255, .1);
}

.bf-footer__desc {
  max-width: 54ch;
  color: rgba(255, 255, 255, .62);
}

.bf-footer__col-title {
  color: #fff;
  font-size: .78rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-footer a:hover {
  color: #fff;
}

.bf-sticky-book {
  right: 16px;
  bottom: 16px;
  left: 16px;
  justify-content: center;
  border-radius: 14px;
  box-shadow: var(--bf-shadow-lg);
}

.bf-embed-card,
.bf-contact-card {
  overflow: hidden;
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-lg);
  background: #fff;
  box-shadow: var(--bf-shadow-md);
}

.bf-embed-card iframe {
  display: block;
  width: 100%;
  min-height: 760px;
  border: 0;
}

.bf-contact-grid,
.bf-assessment-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

.bf-contact-card {
  padding: clamp(24px, 4vw, 36px);
}

.bf-contact-list {
  display: grid;
  gap: 16px;
  margin-top: 28px;
  list-style: none;
}

.bf-contact-list a {
  color: var(--bf-brand-700);
  font-weight: 700;
}

@media (max-width: 1024px) {
  .bf-nav__links { gap: 16px; }
  .bf-nav__link { font-size: .78rem; }
}

@media (max-width: 900px) {
  .bf-contact-grid,
  .bf-assessment-grid { grid-template-columns: 1fr; }
  .bf-hero__right { max-width: 680px; }
}

@media (max-width: 768px) {
  :root { --bf-section-y: 68px; }
  .bf-container { width: min(100% - 32px, var(--bf-content)); }
  .bf-topbar { padding: 8px 12px; font-size: .72rem; }
  .bf-nav { padding: 0 16px; }
  .bf-nav__inner { height: 68px; }
  .bf-nav__links { gap: 22px; padding: 76px 24px 32px; overflow-y: auto; }
  .bf-hero { padding: 56px 0 48px; }
  .bf-hero__inner { gap: 36px !important; }
  .bf-h1,
  .bf-hero h1 { font-size: clamp(2.45rem, 12vw, 3.9rem); }
  .bf-btn,
  .bf-btn--large {
    width: 100%;
    min-height: 50px;
    padding: 14px 20px;
    white-space: normal;
  }
  .bf-embed-card iframe { min-height: 680px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Page-policy presentation shared by remediated marketing pages. */

.bf-problem__visual,
.bf-features__visual,
.bf-feature-row__visual {
  position: relative;
}

.bf-illustrative {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid rgba(91, 41, 221, .2);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: var(--bf-brand-700);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 4px 16px rgba(22, 13, 54, .08);
}

.bf-contact-card h2 {
  max-width: 15ch;
}

.bf-contact-card .bf-system-grid {
  gap: 22px;
}

.bf-contact-card .bf-system-grid > div {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--bf-line);
}

.bf-contact-card .bf-system-grid > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.bf-contact-card strong {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-ink);
  font-size: 1rem;
}

.bf-contact-card p {
  color: var(--bf-body);
}

.bf-contact-card .bf-whofit__item {
  align-items: flex-start;
}

.bf-assessment-grid > *,
.bf-contact-grid > * {
  min-width: 0;
}

.bf-embed-card {
  max-width: 900px;
  margin: 0 auto;
}

.bf-embed-card + .bf-hero__fine a {
  color: var(--bf-brand-700);
}

.bf-section--dark .bf-eyebrow {
  color: #c9baff;
}

.bf-section--dark .bf-eyebrow::before {
  background: #c9baff;
  box-shadow: 0 0 0 5px rgba(201, 186, 255, .12);
}


.bf-advisor-card {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 760px;
  margin: 0 auto 24px;
  padding: 14px 18px;
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-md);
  background: var(--bf-surface);
  box-shadow: var(--bf-shadow-sm);
}

.bf-advisor-card__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: var(--bf-brand-900);
  color: #fff;
  font-weight: 800;
}

.bf-advisor-card span:nth-child(2) {
  display: grid;
  gap: 2px;
  color: var(--bf-ink);
}

.bf-advisor-card small {
  color: var(--bf-muted);
}

.bf-advisor-card a {
  margin-left: auto;
  color: var(--bf-brand-700);
  font-weight: 750;
}

.bf-footer--landing .bf-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

.bf-footer--landing nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
@media (max-width: 768px) {
  .bf-illustrative {
    top: 10px;
    right: 10px;
    min-height: 24px;
    padding: 4px 8px;
    font-size: .61rem;
  }

  .bf-contact-card {
    padding: 24px;
  }
}

/* Bennett Financials public-site refresh. Loaded last on every generated page. */

body.bf-site-v2 {
  --bf-violet-950: #160d36;
  --bf-violet-900: #20134b;
  --bf-violet-800: #302065;
  --bf-violet-700: #4b28b5;
  --bf-violet-600: #5b29dd;
  --bf-violet-500: #7450e8;
  --bf-violet-200: #d9ceff;
  --bf-violet-100: #eee9ff;
  --bf-violet-50: #f8f6ff;
  --bf-ink-950: #18132c;
  --bf-ink-800: #312c45;
  --bf-ink-700: #48445c;
  --bf-ink-600: #625f74;
  --bf-ink-500: #7b788c;
  --bf-white: #fff;
  --bf-canvas: #fbfaff;
  --bf-soft: #f6f4fa;
  --bf-line: #e7e3ef;
  --bf-line-strong: #d7d0e5;
  --bf-positive: #16865a;
  --bf-warning: #b66a07;
  --bf-negative: #c43d56;
  --bf-space-1: 4px;
  --bf-space-2: 8px;
  --bf-space-3: 12px;
  --bf-space-4: 16px;
  --bf-space-5: 24px;
  --bf-space-6: 32px;
  --bf-space-7: 48px;
  --bf-space-8: 64px;
  --bf-space-9: 80px;
  --bf-space-10: 96px;
  --bf-section-space: clamp(76px, 8vw, 120px);
  --bf-container-width: 1200px;
  --bf-copy-width: 680px;
  --bf-radius-xs: 8px;
  --bf-radius-sm: 12px;
  --bf-radius-md: 18px;
  --bf-radius-lg: 28px;
  --bf-shadow-1: 0 1px 2px rgba(24, 19, 44, .04), 0 8px 24px rgba(24, 19, 44, .05);
  --bf-shadow-2: 0 2px 6px rgba(24, 19, 44, .05), 0 22px 56px rgba(24, 19, 44, .1);
  --bf-shadow-3: 0 8px 24px rgba(24, 19, 44, .08), 0 36px 96px rgba(24, 19, 44, .14);
  --orange: var(--bf-violet-600);
  --orange-hover: var(--bf-violet-700);
  --orange-light: var(--bf-violet-50);
  --orange-border: rgba(91, 41, 221, .2);
  --accent2: var(--bf-violet-500);
  --accent3: #8965e7;
  --accent-shade: var(--bf-violet-50);
  --text-primary: var(--bf-ink-950);
  --text-secondary: var(--bf-ink-700);
  --text-muted: var(--bf-ink-600);
  --text-faint: var(--bf-ink-500);
  --border: var(--bf-line);
  --border-light: #f0edf5;
  --cream: var(--bf-white);
  --cream-dark: var(--bf-soft);
  --ink: var(--bf-violet-950);
  --purple: var(--bf-violet-600);
  --green: var(--bf-positive);
  --amber: var(--bf-warning);
  --red: var(--bf-negative);
  --section-gap: var(--bf-section-space);
  --container-max: var(--bf-container-width);
  --radius: var(--bf-radius-xs);
  --radius-lg: var(--bf-radius-md);
  --radius-xl: var(--bf-radius-lg);
  min-width: 320px;
  background: var(--bf-white);
  color: var(--bf-ink-950);
  font-size: 17px;
  line-height: 1.65;
}

body.bf-site-v2::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(rgba(91, 41, 221, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(91, 41, 221, .018) 1px, transparent 1px);
  background-size: 32px 32px;
  content: "";
  pointer-events: none;
}

.bf-site-v2 .bf-skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--bf-space-3);
  left: var(--bf-space-3);
  padding: 10px 16px;
  border-radius: var(--bf-radius-xs);
  background: var(--bf-violet-950);
  color: var(--bf-white);
  font-weight: 750;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}

.bf-site-v2 .bf-skip-link:focus { transform: translateY(0); }
.bf-site-v2 :where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid rgba(91, 41, 221, .38);
  outline-offset: 3px;
}
.bf-site-v2 img, .bf-site-v2 video, .bf-site-v2 svg { max-width: 100%; }
.bf-site-v2 .bf-container {
  width: min(calc(100% - 48px), var(--bf-container-width));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

.bf-site-v2 :where(.bf-h1, .bf-hero h1, .bf-svc-hero h1, .bf-page-hero h1, .bf-about-hero h1, .std-hero h1) {
  max-width: 15ch;
  margin: 0 0 var(--bf-space-5);
  color: var(--bf-ink-950);
  font-family: var(--font-sans);
  font-size: clamp(3rem, 6.3vw, 5.75rem);
  font-weight: 620;
  line-height: .96;
  letter-spacing: -.058em;
  text-wrap: balance;
}

.bf-site-v2 :where(.bf-h2, .bf-section h2, .bf-problem h2, .bf-features h2, .bf-cases h2, .bf-cta h2, .bf-restored-main h2) {
  margin: 0 0 var(--bf-space-4);
  color: var(--bf-ink-950);
  font-family: var(--font-sans);
  font-size: clamp(2.15rem, 4.3vw, 3.65rem);
  font-weight: 620;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.bf-site-v2 :where(h3, .bf-features__title, .bf-svc-row__title, .bf-steps__title) {
  color: var(--bf-ink-950);
  font-weight: 680;
  line-height: 1.18;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.bf-site-v2 :where(p, li) { text-wrap: pretty; }
.bf-site-v2 .bf-serif-italic {
  color: var(--bf-violet-600);
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.035em;
}

.bf-site-v2 .bf-body-lg,
.bf-site-v2 :where(.bf-hero__sub, .bf-svc-hero__sub, .bf-page-hero__sub) {
  max-width: 62ch;
  color: var(--bf-ink-700);
  font-size: clamp(1.08rem, 1.5vw, 1.22rem);
  line-height: 1.72;
}

.bf-site-v2 .bf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 var(--bf-space-5);
  color: var(--bf-violet-700);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.bf-site-v2 .bf-eyebrow::before {
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--bf-violet-600);
  box-shadow: none;
  animation: none;
}

.bf-site-v2 .bf-site-header { position: sticky; z-index: 200; top: 0; }
.bf-site-v2 .bf-topbar {
  max-height: 44px;
  padding: 0;
  overflow: hidden;
  background: var(--bf-violet-950);
  color: rgba(255, 255, 255, .82);
  font-size: .76rem;
  letter-spacing: .01em;
  transition: max-height 220ms ease, opacity 180ms ease;
}
.bf-site-v2 .bf-topbar__inner {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  gap: var(--bf-space-4);
}
.bf-site-v2 .bf-topbar strong {
  display: inline-flex;
  margin-right: var(--bf-space-2);
  padding: 3px 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  color: var(--bf-white);
  font-size: .64rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.bf-site-v2 .bf-topbar a {
  margin: 0;
  color: var(--bf-white);
  font-weight: 750;
  text-decoration: none;
}
.bf-site-v2 .bf-topbar a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bf-site-v2 .bf-topbar.bf-is-hidden { max-height: 0; padding: 0; opacity: 0; }

.bf-site-v2 .bf-nav {
  position: relative;
  top: auto;
  padding: 0;
  border-bottom: 1px solid rgba(24, 19, 44, .08);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 0 rgba(24, 19, 44, .025);
  backdrop-filter: blur(18px) saturate(150%);
}
.bf-site-v2 .bf-nav.bf-is-scrolled { box-shadow: 0 12px 38px rgba(24, 19, 44, .09); }
.bf-site-v2 .bf-nav__inner {
  width: min(calc(100% - 48px), var(--bf-container-width));
  max-width: none;
  height: 76px;
  margin-inline: auto;
}
.bf-site-v2 .bf-nav__logo img { width: auto; height: 34px; }
.bf-site-v2 .bf-nav__links { gap: clamp(17px, 2vw, 30px); }
.bf-site-v2 .bf-nav__link {
  padding-block: 26px;
  color: var(--bf-ink-700);
  font-size: .82rem;
  font-weight: 680;
  letter-spacing: -.005em;
}
.bf-site-v2 .bf-nav__link::after { bottom: 17px; height: 2px; background: var(--bf-violet-600); }
.bf-site-v2 :where(.bf-nav__link[aria-current="page"], .bf-nav__dropdown.bf-has-current > .bf-nav__link) { color: var(--bf-violet-700); }
.bf-site-v2 .bf-nav__link[aria-current="page"]::after,
.bf-site-v2 .bf-nav__dropdown.bf-has-current > .bf-nav__link::after { width: 100%; }

.bf-site-v2 .bf-nav__cta, .bf-site-v2 .bf-btn {
  min-height: 48px;
  border-radius: var(--bf-radius-sm);
  font-size: .88rem;
  font-weight: 750;
  letter-spacing: -.01em;
  box-shadow: none;
}
.bf-site-v2 .bf-nav__cta { min-height: 42px; padding: 10px 18px; }
.bf-site-v2 .bf-btn--large { min-height: 54px; padding: 15px 26px; }
.bf-site-v2 :where(.bf-btn--primary, .bf-nav__cta) {
  border-color: var(--bf-violet-600);
  background: var(--bf-violet-600);
  color: var(--bf-white);
}
.bf-site-v2 :where(.bf-btn--primary, .bf-nav__cta)::before { display: none; }
.bf-site-v2 :where(.bf-btn--primary, .bf-nav__cta):hover {
  border-color: var(--bf-violet-700);
  background: var(--bf-violet-700);
  box-shadow: 0 14px 30px rgba(91, 41, 221, .22);
  transform: translateY(-2px);
}
.bf-site-v2 .bf-btn--secondary {
  border-color: var(--bf-line-strong);
  background: rgba(255, 255, 255, .82);
  color: var(--bf-ink-950);
}
.bf-site-v2 .bf-btn--secondary:hover {
  border-color: rgba(91, 41, 221, .42);
  color: var(--bf-violet-700);
  box-shadow: var(--bf-shadow-1);
}
.bf-site-v2 .bf-nav__mega {
  top: calc(100% + 10px);
  padding: 10px;
  border-color: rgba(24, 19, 44, .1);
  border-radius: var(--bf-radius-md);
  box-shadow: var(--bf-shadow-2);
}
.bf-site-v2 .bf-nav__mega-list a {
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--bf-ink-700);
  font-size: .82rem;
}
.bf-site-v2 .bf-nav__mega-list a:hover { background: var(--bf-violet-50); color: var(--bf-violet-700); }

.bf-site-v2 :where(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero) {
  position: relative;
  padding: clamp(72px, 8vw, 112px) 0 clamp(56px, 7vw, 88px);
  overflow: hidden;
  border-bottom: 1px solid var(--bf-line);
  background: radial-gradient(circle at 86% 14%, rgba(116, 80, 232, .16), transparent 28%), radial-gradient(circle at 6% 80%, rgba(91, 41, 221, .08), transparent 25%), linear-gradient(180deg, var(--bf-white) 0%, var(--bf-violet-50) 100%);
}
.bf-site-v2 :where(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero)::after {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(91, 41, 221, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(91, 41, 221, .035) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), transparent 82%);
  pointer-events: none;
}
.bf-site-v2 :where(.bf-hero__inner, .bf-svc-hero__inner) {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(48px, 7vw, 96px);
  align-items: center;
}
.bf-site-v2 .bf-hero__left { max-width: 700px; padding-top: 0; }
.bf-site-v2 .bf-hero__sub { margin-bottom: var(--bf-space-6); }
.bf-site-v2 .bf-hero__ctas { gap: var(--bf-space-3); margin-bottom: var(--bf-space-4); }
.bf-site-v2 .bf-hero__fine {
  max-width: 62ch;
  color: var(--bf-ink-500);
  font-size: .78rem;
  line-height: 1.55;
}
.bf-site-v2 .bf-hero__right {
  min-width: 0;
  align-items: stretch !important;
  overflow: visible;
  border-radius: var(--bf-radius-lg);
}
.bf-site-v2 :where(.bf-hero__video, .bf-hero__right > img, .bf-hero__right > video) {
  min-height: 430px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(91, 41, 221, .14);
  border-radius: var(--bf-radius-lg);
  background: var(--bf-violet-950);
  box-shadow: var(--bf-shadow-3);
}
.bf-site-v2 .bf-hero__video :where(video, img) { width: 100%; height: 100%; object-fit: cover; }
.bf-site-v2 .bf-hero__orb { opacity: .18; animation: none; }
.bf-site-v2 .bf-hero__trust, .bf-site-v2 .bf-svc-hero__trust {
  position: relative;
  z-index: 1;
  padding: var(--bf-space-8) 0 0;
}
.bf-site-v2 .bf-hero__trust::before, .bf-site-v2 .bf-hero__trust::after,
.bf-site-v2 .bf-svc-hero__trust::before, .bf-site-v2 .bf-svc-hero__trust::after { display: none; }
.bf-site-v2 :where(.bf-hero__trust-label, .bf-svc-hero__trust-label) {
  margin-bottom: var(--bf-space-5);
  color: var(--bf-ink-500);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .12em;
}
.bf-site-v2 .bf-marquee {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(6, minmax(90px, 1fr));
  gap: clamp(22px, 4vw, 52px);
  animation: none;
}
.bf-site-v2 .bf-marquee > :nth-child(n + 7) { display: none; }
.bf-site-v2 :where(.bf-hero__trust-logo, .bf-svc-hero__trust-logo) {
  display: flex;
  height: 34px;
  align-items: center;
  justify-content: center;
  opacity: .55;
  filter: grayscale(1);
}

.bf-site-v2 :where(.bf-section, .bf-problem, .bf-standard, .bf-steps, .bf-features, .bf-cases, .bf-proof-section, .bf-stats-section, .bf-problem-dark, .bf-signal, .bf-catch, .bf-svc-block, .std-proof, .std-numbers, .std-calc-section, .std-ba, .std-install, .std-included, .std-industries, .std-faq) {
  padding-block: var(--bf-section-space) !important;
}
.bf-site-v2 :where(.bf-section, .bf-problem, .bf-standard, .bf-steps, .bf-features, .bf-cases, .bf-svc-block) {
  border-top: 1px solid rgba(24, 19, 44, .055);
}
.bf-site-v2 :where(.bf-section--cream, .bf-section--light, .bf-section--gray, .bf-standard, .bf-steps) {
  background: var(--bf-soft) !important;
}
.bf-site-v2 :where(.bf-section--white, .bf-features, .bf-cases, .bf-problem) {
  background: var(--bf-white) !important;
}
.bf-site-v2 :where(.bf-section--dark, .bf-section--darker, .bf-problem-dark, .bf-problem--dark, .bf-proof-section, .bf-proof-dark, .bf-stats-section, .bf-stats-dark) {
  color: var(--bf-white);
  background: radial-gradient(circle at 88% 12%, rgba(116, 80, 232, .27), transparent 30%), linear-gradient(145deg, var(--bf-violet-950), var(--bf-violet-900)) !important;
}
.bf-site-v2 :where(.bf-section--dark, .bf-section--darker, .bf-problem-dark, .bf-problem--dark, .bf-proof-section, .bf-proof-dark, .bf-stats-section, .bf-stats-dark) :where(.bf-h2, h2, h3) { color: var(--bf-white); }
.bf-site-v2 :where(.bf-section--dark, .bf-section--darker, .bf-problem-dark, .bf-problem--dark, .bf-proof-section, .bf-proof-dark, .bf-stats-section, .bf-stats-dark) :where(p, li) { color: rgba(255, 255, 255, .68); }

.bf-site-v2 :where(.bf-section__header, .bf-section__header--center, .bf-standard__header, .bf-steps__header, .bf-cases__header) {
  max-width: 760px;
  margin: 0 auto clamp(44px, 6vw, 72px) !important;
  text-align: center;
}
.bf-site-v2 :where(.bf-problem__grid, .bf-features__row, .bf-steps__row, .bf-founder__inner, .bf-story__grid, .bf-svc-row, .bf-catch__grid) {
  gap: clamp(44px, 7vw, 92px);
  align-items: center;
}
.bf-site-v2 .bf-features__row { margin-bottom: clamp(72px, 9vw, 128px); }
.bf-site-v2 :where(.bf-problem__copy, .bf-features__copy, .bf-steps__text, .bf-svc-row__content) { max-width: 600px; }
.bf-site-v2 :where(.bf-problem__copy p, .bf-features__desc, .bf-steps__desc, .bf-svc-row__desc, .bf-problem-dark__body, .bf-proof-dark__body) {
  color: var(--bf-ink-700);
  font-size: 1.02rem;
  line-height: 1.76;
}
.bf-site-v2 :where(.bf-problem__visual, .bf-features__visual, .bf-feature-row__visual, .bf-steps__visual, .bf-svc-row__visual, .bf-browser) {
  overflow: hidden;
  border: 1px solid var(--bf-line) !important;
  border-radius: var(--bf-radius-lg) !important;
  background: var(--bf-white) !important;
  box-shadow: var(--bf-shadow-2) !important;
}
.bf-site-v2 .bf-svc-row__visual {
  min-height: 300px;
  background: radial-gradient(circle at 50% 45%, rgba(116, 80, 232, .14), transparent 34%), var(--bf-violet-50) !important;
}
.bf-site-v2 .bf-svc-row__icon { color: var(--bf-violet-600); opacity: .8; }

.bf-site-v2 :where(.bf-system-grid, .bf-standard__grid, .bf-proof-grid, .bf-cases__grid, .bf-pain-grid, .bf-leak-grid, .bf-steps-grid, .bf-adv__grid, .bf-stats, .bf-stats-dark__grid) { gap: var(--bf-space-5); }
.bf-site-v2 :where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-faq__item, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-pain-card, .bf-svc-card, .bf-steps-card, .bf-adv__card, .bf-contact-card) {
  border: 1px solid var(--bf-line) !important;
  border-radius: var(--bf-radius-md) !important;
  background: var(--bf-white) !important;
  box-shadow: var(--bf-shadow-1) !important;
}
.bf-site-v2 :where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-pain-card, .bf-svc-card, .bf-steps-card, .bf-adv__card) {
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.bf-site-v2 :where(.bf-system-card, .bf-standard__card, .bf-cases__card, .bf-phase, .bf-leak-item, .bf-feature-row, .bf-whofit__card, .bf-pain-card, .bf-svc-card, .bf-steps-card, .bf-adv__card):hover {
  border-color: rgba(91, 41, 221, .28) !important;
  box-shadow: var(--bf-shadow-2) !important;
  transform: translateY(-3px);
}
.bf-site-v2 :where(.bf-system-card, .bf-standard__card, .bf-pain-card, .bf-svc-card, .bf-steps-card, .bf-adv__card) { padding: clamp(24px, 3vw, 34px); }
.bf-site-v2 :where(.bf-proof-card, .bf-ev-card, .bf-stats-dark__item) {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: var(--bf-radius-md) !important;
  background: rgba(255, 255, 255, .065) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}
.bf-site-v2 :where(.bf-proof-card__num, .bf-stats-dark__num, .bf-stat__num, .bf-standard__card-num) { letter-spacing: -.05em; }
.bf-site-v2 .bf-standard__card--result {
  border-color: rgba(91, 41, 221, .35) !important;
  background: var(--bf-violet-950) !important;
  color: var(--bf-white);
}
.bf-site-v2 .bf-standard__card--result :where(.bf-standard__card-num, .bf-standard__card-label) { color: var(--bf-white); }
.bf-site-v2 .bf-cases__card { overflow: hidden; }
.bf-site-v2 .bf-cases__quote { color: var(--bf-ink-800); font-size: 1.02rem; line-height: 1.7; }

.bf-site-v2 .bf-faq__layout { gap: clamp(40px, 7vw, 88px); }
.bf-site-v2 .bf-faq__item { margin-bottom: var(--bf-space-3); overflow: clip; }
.bf-site-v2 .bf-faq__question {
  min-height: 68px;
  padding: 20px 22px;
  color: var(--bf-ink-950);
  font-weight: 720;
}
.bf-site-v2 .bf-faq__answer-inner { padding: 0 22px 22px; color: var(--bf-ink-700); line-height: 1.72; }
.bf-site-v2 .bf-illustrative {
  top: 14px;
  right: 14px;
  min-height: 28px;
  border-color: rgba(91, 41, 221, .18);
  background: rgba(255, 255, 255, .94);
  color: var(--bf-violet-700);
  box-shadow: var(--bf-shadow-1);
}
.bf-site-v2.bf-template-industry .bf-hero__right > div {
  width: 100% !important;
  max-width: 520px !important;
  margin-inline: auto;
  padding: clamp(24px, 3vw, 34px) !important;
  border: 1px solid var(--bf-line) !important;
  border-radius: var(--bf-radius-lg) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: var(--bf-shadow-3) !important;
}

.bf-site-v2 .bf-cta { padding: clamp(24px, 4vw, 48px) !important; background: var(--bf-white) !important; }
.bf-site-v2 .bf-cta > .bf-container, .bf-site-v2 .bf-cta__split {
  overflow: hidden;
  border-radius: var(--bf-radius-lg);
  background: radial-gradient(circle at 95% 5%, rgba(116, 80, 232, .34), transparent 32%), linear-gradient(135deg, var(--bf-violet-950), var(--bf-violet-800)) !important;
  box-shadow: var(--bf-shadow-3);
}
.bf-site-v2 .bf-cta > .bf-container:not(.bf-cta__split) {
  max-width: var(--bf-container-width);
  padding: clamp(48px, 7vw, 88px);
}
.bf-site-v2 .bf-cta__left { padding: clamp(48px, 7vw, 88px) !important; }
.bf-site-v2 .bf-cta :where(.bf-h2, h2) { color: var(--bf-white); }
.bf-site-v2 .bf-cta :where(.bf-cta__body, .bf-cta__fine) { color: rgba(255, 255, 255, .68) !important; }
.bf-site-v2 .bf-cta .bf-btn--primary {
  border-color: var(--bf-white);
  background: var(--bf-white);
  color: var(--bf-violet-900);
}
.bf-site-v2 .bf-cta .bf-btn--primary:hover { border-color: var(--bf-violet-100); background: var(--bf-violet-100); }

.bf-site-v2 .bf-contact-grid, .bf-site-v2 .bf-assessment-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(40px, 7vw, 88px);
}
.bf-site-v2 .bf-contact-card { padding: clamp(28px, 4vw, 42px); }
.bf-site-v2 .bf-embed-card {
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-lg);
  background: var(--bf-white);
  box-shadow: var(--bf-shadow-2);
}
.bf-site-v2 .bf-advisor-card { padding: 16px 18px; border-radius: var(--bf-radius-md); }

.bf-site-v2.bf-template-article .bf-restored-main {
  width: min(calc(100% - 48px), 1120px);
  max-width: none !important;
  margin-inline: auto !important;
  padding: clamp(72px, 9vw, 120px) 0 !important;
  line-height: 1.75 !important;
}
.bf-site-v2.bf-template-article .bf-restored-main > article {
  width: min(100%, 760px);
  margin-inline: auto;
}
.bf-site-v2.bf-template-article .bf-restored-main h1 {
  max-width: 14ch;
  margin: 0 0 var(--bf-space-7) !important;
  color: var(--bf-ink-950);
  font-size: clamp(3rem, 6vw, 5.25rem) !important;
  font-weight: 620;
  line-height: .98 !important;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.bf-site-v2.bf-template-article .bf-restored-main h2 {
  margin: var(--bf-space-9) 0 var(--bf-space-5) !important;
  padding-top: var(--bf-space-5);
  border-top: 1px solid var(--bf-line);
  font-size: clamp(1.7rem, 3vw, 2.45rem) !important;
}
.bf-site-v2.bf-template-article .bf-restored-main h3 {
  margin: var(--bf-space-7) 0 var(--bf-space-4) !important;
  font-size: 1.35rem !important;
}
.bf-site-v2.bf-template-article .bf-restored-main :where(p, li) {
  max-width: 68ch !important;
  color: var(--bf-ink-700);
  font-size: 1.03rem;
}
.bf-site-v2.bf-template-article .bf-restored-main p { margin-bottom: 1.25em; }
.bf-site-v2.bf-template-article .bf-restored-main :where(ul, ol) {
  display: grid;
  gap: var(--bf-space-3);
  margin: var(--bf-space-5) 0 var(--bf-space-6);
  padding-left: 1.3em;
}
.bf-site-v2.bf-template-article .bf-restored-main a {
  color: var(--bf-violet-700) !important;
  font-weight: 680;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.bf-site-v2.bf-template-article .bf-restored-main blockquote {
  margin: var(--bf-space-7) 0;
  padding: var(--bf-space-6);
  border-left: 4px solid var(--bf-violet-600);
  border-radius: 0 var(--bf-radius-md) var(--bf-radius-md) 0;
  background: var(--bf-violet-50);
}
.bf-site-v2.bf-template-article .bf-restored-main :where(table, img) {
  margin-block: var(--bf-space-7);
  border-radius: var(--bf-radius-md);
}
.bf-site-v2.bf-page-media-articles .bf-restored-main > article { width: 100%; }
.bf-site-v2.bf-page-media-articles .bf-restored-main > article > section > div > div > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--bf-space-5);
}
.bf-site-v2.bf-page-media-articles .bf-restored-main > article > section > div > div > div > div {
  overflow: hidden;
  padding: var(--bf-space-5);
  border: 1px solid var(--bf-line);
  border-radius: var(--bf-radius-md);
  background: var(--bf-white);
  box-shadow: var(--bf-shadow-1);
}

.bf-site-v2.bf-template-framework :where(.std-num-card, .std-included__card, .std-industry-card, .std-faq__item) {
  border-color: var(--bf-line) !important;
  border-radius: var(--bf-radius-md) !important;
  box-shadow: var(--bf-shadow-1) !important;
}
.bf-site-v2.bf-template-framework :where(.std-big, .std-num-card__num) {
  color: var(--bf-violet-600);
  letter-spacing: -.055em;
}

.bf-site-v2 .bf-footer {
  padding: 0;
  background: var(--bf-violet-950);
  color: rgba(255, 255, 255, .62);
}
.bf-site-v2 .bf-footer .bf-container { width: min(calc(100% - 48px), var(--bf-container-width)); }
.bf-site-v2 .bf-footer__top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--bf-space-7);
  padding: var(--bf-space-9) 0 var(--bf-space-8);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.bf-site-v2 .bf-footer__brand img { height: 38px; }
.bf-site-v2 .bf-footer__desc {
  max-width: 52ch;
  color: rgba(255, 255, 255, .58);
  font-size: .9rem;
  line-height: 1.7;
}
.bf-site-v2 .bf-footer__top-action {
  display: grid;
  min-width: 280px;
  gap: var(--bf-space-3);
  justify-items: end;
  color: rgba(255, 255, 255, .7);
  font-size: .8rem;
}
.bf-site-v2 .bf-footer__cta-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: var(--bf-space-2);
  padding: 12px 18px;
  border-radius: var(--bf-radius-sm);
  background: var(--bf-white);
  color: var(--bf-violet-900) !important;
  font-size: .82rem;
  font-weight: 780;
}
.bf-site-v2 .bf-footer__inner {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 52px);
  padding: var(--bf-space-8) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.bf-site-v2 .bf-footer__col-title {
  margin-bottom: var(--bf-space-4);
  color: var(--bf-white);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
}
.bf-site-v2 .bf-footer__col ul { gap: var(--bf-space-3); }
.bf-site-v2 .bf-footer__col a { color: rgba(255, 255, 255, .52); font-size: .8rem; }
.bf-site-v2 .bf-footer__badges {
  gap: var(--bf-space-6);
  padding: var(--bf-space-6) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.bf-site-v2 .bf-footer__badge {
  max-width: 150px;
  height: 42px;
  opacity: .72;
  filter: grayscale(1) brightness(1.5);
}
.bf-site-v2 .bf-footer__bottom {
  flex-wrap: wrap;
  gap: var(--bf-space-4) var(--bf-space-6);
  padding: var(--bf-space-5) 0 var(--bf-space-7);
  color: rgba(255, 255, 255, .38);
}
.bf-site-v2 .bf-footer--landing .bf-footer__bottom {
  min-height: 96px;
  padding-block: var(--bf-space-6);
}
.bf-site-v2 .bf-sticky-book {
  right: var(--bf-space-4);
  bottom: var(--bf-space-4);
  left: var(--bf-space-4);
  min-height: 52px;
  justify-content: center;
  border-radius: var(--bf-radius-sm);
  box-shadow: var(--bf-shadow-3);
}

@media (max-width: 1100px) {
  .bf-site-v2 .bf-nav__links { gap: 14px; }
  .bf-site-v2 .bf-nav__link { font-size: .75rem; }
  .bf-site-v2 .bf-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  body.bf-site-v2 { --bf-section-space: 80px; }
  .bf-site-v2 :where(.bf-hero__inner, .bf-svc-hero__inner, .bf-contact-grid, .bf-assessment-grid) { grid-template-columns: 1fr; }
  .bf-site-v2 .bf-hero__right { width: min(100%, 680px); }
  .bf-site-v2 :where(.bf-hero__video, .bf-hero__right > img, .bf-hero__right > video) { min-height: 360px; }
  .bf-site-v2 .bf-marquee { grid-template-columns: repeat(3, minmax(90px, 1fr)); row-gap: var(--bf-space-6); }
  .bf-site-v2.bf-page-media-articles .bf-restored-main > article > section > div > div > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  body.bf-site-v2 { --bf-section-space: 68px; font-size: 16px; }
  .bf-site-v2 .bf-container,
  .bf-site-v2 .bf-nav__inner,
  .bf-site-v2 .bf-footer .bf-container,
  .bf-site-v2.bf-template-article .bf-restored-main { width: min(calc(100% - 32px), var(--bf-container-width)); }
  .bf-site-v2 .bf-topbar__inner { min-height: 36px; }
  .bf-site-v2 .bf-topbar__inner > span {
    max-width: 70%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .bf-site-v2 .bf-topbar strong { display: none; }
  .bf-site-v2 .bf-nav__inner { height: 68px; }
  .bf-site-v2 .bf-nav__logo img { height: 31px; }
  .bf-site-v2 .bf-nav__mobile-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bf-line);
    border-radius: var(--bf-radius-sm);
    background: var(--bf-white);
  }
  .bf-site-v2 .bf-nav__links {
    position: fixed;
    z-index: 9999;
    inset: 68px 0 0;
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 24px 20px 40px;
    overflow-y: auto;
    background: radial-gradient(circle at 100% 0, rgba(116, 80, 232, .12), transparent 30%), var(--bf-white);
  }
  .bf-site-v2 .bf-nav__links.bf-is-open { display: flex; }
  .bf-site-v2 .bf-nav__links > li { width: 100%; border-bottom: 1px solid var(--bf-line); }
  .bf-site-v2 .bf-nav__link, .bf-site-v2 .bf-nav__link--has-dropdown {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 4px;
    color: var(--bf-ink-950);
    font-size: 1rem;
  }
  .bf-site-v2 .bf-nav__link::after { display: none; }
  .bf-site-v2 .bf-nav__mega { padding: 0 0 14px 12px; }
  .bf-site-v2 .bf-nav__mega-list { align-items: stretch; }
  .bf-site-v2 .bf-nav__mega-list a { min-height: 44px; padding: 11px 8px; text-align: left; }
  .bf-site-v2 .bf-nav__cta {
    width: 100%;
    min-height: 52px;
    justify-content: center;
    margin-top: var(--bf-space-5);
  }
  .bf-site-v2 :where(.bf-h1, .bf-hero h1, .bf-svc-hero h1, .bf-page-hero h1, .bf-about-hero h1, .std-hero h1) { font-size: clamp(2.65rem, 12vw, 4rem); }
  .bf-site-v2 :where(.bf-h2, .bf-section h2, .bf-problem h2, .bf-features h2, .bf-cases h2, .bf-cta h2, .bf-restored-main h2) { font-size: clamp(2rem, 9vw, 3rem); }
  .bf-site-v2 :where(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero) { padding: 60px 0 52px; }
  .bf-site-v2 :where(.bf-hero__inner, .bf-svc-hero__inner) { gap: var(--bf-space-7) !important; }
  .bf-site-v2 :where(.bf-hero__video, .bf-hero__right > img, .bf-hero__right > video) { min-height: 0; aspect-ratio: 4 / 3; }
  .bf-site-v2 .bf-btn, .bf-site-v2 .bf-btn--large {
    width: 100%;
    min-height: 52px;
    padding: 14px 18px;
    white-space: normal;
  }
  .bf-site-v2 :where(.bf-problem__grid, .bf-features__row, .bf-steps__row, .bf-founder__inner, .bf-story__grid, .bf-svc-row, .bf-catch__grid) { gap: var(--bf-space-7); }
  .bf-site-v2 .bf-cta { padding: 16px !important; }
  .bf-site-v2 .bf-cta > .bf-container:not(.bf-cta__split), .bf-site-v2 .bf-cta__left { padding: 44px 24px !important; }
  .bf-site-v2 .bf-footer__top { align-items: flex-start; flex-direction: column; }
  .bf-site-v2 .bf-footer__top-action { min-width: 0; justify-items: start; }
  .bf-site-v2 .bf-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-site-v2 .bf-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 520px) {
  .bf-site-v2 .bf-topbar__inner { justify-content: space-between; gap: var(--bf-space-2); }
  .bf-site-v2 .bf-topbar { font-size: .68rem; }
  .bf-site-v2 .bf-marquee { grid-template-columns: repeat(2, minmax(90px, 1fr)); }
  .bf-site-v2 :where(.bf-system-grid, .bf-standard__grid, .bf-proof-grid, .bf-cases__grid, .bf-pain-grid, .bf-leak-grid, .bf-steps-grid, .bf-adv__grid, .bf-stats, .bf-stats-dark__grid) { grid-template-columns: 1fr !important; }
  .bf-site-v2 .bf-footer__inner { grid-template-columns: 1fr 1fr; }
  .bf-site-v2 .bf-footer__badges { align-items: flex-start; flex-direction: column; }
  .bf-site-v2.bf-page-media-articles .bf-restored-main > article > section > div > div > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .bf-site-v2 *, .bf-site-v2 *::before, .bf-site-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Industries band — anchor target for the header "Industries" mega-menu
   (/services#industries). A pill grid linking each industry page so the
   in-page anchor resolves to real content instead of scrolling nowhere.
   scroll-margin clears the sticky header when jumped to. */
.bf-site-v2 #industries { scroll-margin-top: 96px; }
.bf-site-v2 .bf-ind-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bf-space-3);
  justify-content: center;
  margin-top: var(--bf-space-6);
}
.bf-site-v2 .bf-ind-pill {
  display: inline-flex;
  align-items: center;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid var(--bf-line);
  background: var(--bf-surface);
  color: var(--bf-ink);
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, color .24s ease;
}
.bf-site-v2 .bf-ind-pill:hover {
  transform: translateY(-3px);
  border-color: rgba(91, 41, 221, .32);
  box-shadow: 0 16px 34px rgba(35, 22, 75, .12);
  color: #5b29dd;
}

/* Bennett Financials ? Experience refresh v3
   Final composition layer. Intentionally loaded after all migrated page styles. */

.bf-experience-v3 {
  --bf-v3-ink: #17102f;
  --bf-v3-ink-2: #24164d;
  --bf-v3-purple: #5b29dd;
  --bf-v3-purple-light: #8259eb;
  --bf-v3-lilac: #eee8ff;
  --bf-v3-cream: #f6f2ec;
  --bf-v3-paper: #fffdf9;
  --bf-v3-line: rgba(35, 22, 75, .12);
  --bf-v3-shadow: 0 32px 80px rgba(31, 18, 72, .14);
  color: var(--bf-v3-ink);
  background: var(--bf-v3-cream);
}

.bf-experience-v3::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 10% 8%, rgba(91, 41, 221, .09), transparent 30%),
    radial-gradient(circle at 92% 30%, rgba(130, 89, 235, .08), transparent 26%);
  content: "";
  pointer-events: none;
}

.bf-experience-v3 .bf-site-header {
  top: 0;
  filter: drop-shadow(0 14px 24px rgba(28, 16, 62, .08));
}

.bf-experience-v3 .bf-topbar {
  min-height: 34px;
  border: 0;
  color: rgba(255, 255, 255, .72);
  background: var(--bf-v3-ink);
}

.bf-experience-v3 .bf-topbar__inner {
  min-height: 34px;
  justify-content: center;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-experience-v3 .bf-topbar__inner::before {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #9b7bff;
  box-shadow: 0 0 0 5px rgba(155, 123, 255, .14);
  content: "";
}

.bf-experience-v3 .bf-nav {
  border-bottom: 1px solid rgba(35, 22, 75, .08);
  background: rgba(255, 253, 249, .94);
  backdrop-filter: blur(18px);
}

.bf-experience-v3 .bf-nav__inner {
  min-height: 82px;
  gap: 30px;
}

.bf-experience-v3 .bf-nav__logo {
  padding: 9px 12px;
  border: 1px solid var(--bf-v3-line);
  border-radius: 13px;
  background: #fff;
}

.bf-experience-v3 .bf-nav__logo img {
  width: auto;
  height: 31px;
}

.bf-experience-v3 .bf-nav__link {
  position: relative;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .015em;
}

.bf-experience-v3 .bf-nav__link::after {
  position: absolute;
  right: 12px;
  bottom: 4px;
  left: 12px;
  height: 2px;
  border-radius: 999px;
  background: var(--bf-v3-purple);
  content: "";
  transform: scaleX(0);
  transition: transform .2s ease;
}

.bf-experience-v3 .bf-nav__link:hover::after,
.bf-experience-v3 .bf-nav__link[aria-current="page"]::after {
  transform: scaleX(1);
}

.bf-experience-v3 .bf-nav__cta {
  min-height: 46px;
  padding-inline: 20px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--bf-v3-purple), #3d159e);
  box-shadow: 0 12px 26px rgba(91, 41, 221, .28);
}

.bf-experience-v3 .bf-nav__mega {
  overflow: hidden;
  padding: 10px;
  border: 1px solid var(--bf-v3-line);
  border-radius: 20px;
  background: rgba(255, 253, 249, .98);
  box-shadow: var(--bf-v3-shadow);
}

.bf-experience-v3 .bf-nav__mega a {
  min-height: 44px;
  border-radius: 11px;
}

.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel)
:is(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero) {
  position: relative;
  isolation: isolate;
  min-height: auto !important;
  overflow: hidden;
  padding: clamp(84px, 9vw, 136px) 0 clamp(104px, 11vw, 158px) !important;
  border: 0 !important;
  background:
    linear-gradient(120deg, rgba(255, 253, 249, .97), rgba(242, 236, 255, .94)) !important;
}

.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel)
:is(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero)::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image:
    linear-gradient(rgba(91, 41, 221, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 41, 221, .055) 1px, transparent 1px);
  background-size: 44px 44px;
  content: "";
  mask-image: linear-gradient(to right, #000, transparent 82%);
}

.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel)
:is(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero)::after {
  position: absolute;
  z-index: -1;
  top: -220px;
  right: -160px;
  width: 620px;
  height: 620px;
  border: 110px solid rgba(91, 41, 221, .08);
  border-radius: 50%;
  background: transparent;
  content: "";
}

.bf-experience-v3 .bf-hero__inner,
.bf-experience-v3 .bf-svc-hero__inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: clamp(52px, 7vw, 104px) !important;
  align-items: center;
}

.bf-experience-v3:not(.bf-template-funnel) :is(.bf-hero__left, .bf-svc-hero__left) {
  max-width: 730px !important;
}

.bf-experience-v3:not(.bf-template-funnel)
:is(.bf-h1, .bf-hero h1, .bf-svc-hero h1, .bf-page-hero h1, .bf-about-hero h1, .std-hero h1) {
  max-width: 12ch;
  margin: 18px 0 26px !important;
  color: var(--bf-v3-ink) !important;
  font-size: clamp(3.5rem, 6.4vw, 6.6rem) !important;
  line-height: .94 !important;
  letter-spacing: -.066em !important;
  text-wrap: balance;
}

.bf-experience-v3 .bf-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 30px;
  padding: 6px 11px;
  border: 1px solid rgba(91, 41, 221, .2);
  border-radius: 999px;
  color: var(--bf-v3-purple);
  background: rgba(255, 255, 255, .7);
  font-size: .66rem;
  letter-spacing: .14em;
}

.bf-experience-v3 .bf-eyebrow::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bf-v3-purple);
  box-shadow: 0 0 0 4px rgba(91, 41, 221, .11);
  content: "";
}

.bf-experience-v3 .bf-hero__sub {
  max-width: 62ch;
  color: #544d68 !important;
  font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important;
  line-height: 1.72 !important;
}

.bf-experience-v3 .bf-btn {
  min-height: 52px;
  border-radius: 12px;
  font-weight: 760;
}

.bf-experience-v3 .bf-btn--primary {
  border: 1px solid rgba(255, 255, 255, .16);
  background: linear-gradient(135deg, var(--bf-v3-purple), #3c1699);
  box-shadow: 0 14px 30px rgba(91, 41, 221, .25);
}

.bf-experience-v3 .bf-btn--secondary {
  border-color: var(--bf-v3-line);
  background: rgba(255, 255, 255, .72);
}

.bf-experience-v3 .bf-hero__right {
  position: relative;
  min-height: 440px;
  overflow: visible !important;
  padding: 10px;
  border: 1px solid rgba(91, 41, 221, .2);
  border-radius: 30px !important;
  background: rgba(255, 255, 255, .72);
  box-shadow: var(--bf-v3-shadow);
}

.bf-experience-v3 .bf-hero__right::before {
  position: absolute;
  z-index: -1;
  inset: 22px -20px -22px 20px;
  border-radius: 30px;
  background: linear-gradient(135deg, var(--bf-v3-purple), var(--bf-v3-ink));
  content: "";
  transform: rotate(2.5deg);
}

.bf-experience-v3 .bf-hero__right > :is(div, video, img),
.bf-experience-v3 .bf-hero__video {
  width: 100%;
  border-radius: 21px !important;
}

.bf-experience-v3 .bf-hero__right video {
  min-height: 420px !important;
  border-radius: 21px !important;
}

.bf-experience-v3 .bf-hero__trust {
  margin-top: 72px !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--bf-v3-line) !important;
}

.bf-experience-v3 .bf-marquee {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px !important;
  width: 100% !important;
  transform: none !important;
}

.bf-experience-v3 .bf-marquee > :nth-child(n + 7) {
  display: none !important;
}

.bf-experience-v3 .bf-hero__trust-logo {
  min-width: 0 !important;
  height: 68px !important;
  border: 1px solid rgba(35, 22, 75, .09) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .72) !important;
}

.bf-outcome-rail {
  position: relative;
  z-index: 10;
  margin-top: -55px;
  padding: 0 24px;
}

.bf-outcome-rail__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1180px, 100%);
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 86% -40%, rgba(130, 89, 235, .65), transparent 44%),
    var(--bf-v3-ink);
  box-shadow: 0 28px 64px rgba(23, 16, 47, .28);
}

.bf-outcome-rail__item {
  min-height: 132px;
  padding: 26px 28px;
  border-right: 1px solid rgba(255, 255, 255, .11);
}

.bf-outcome-rail__item:last-child {
  border-right: 0;
}

.bf-outcome-rail__index {
  display: block;
  margin-bottom: 20px;
  color: #a98fff;
  font-family: "Instrument Serif", Georgia, serif;
  font-size: 1.1rem;
  font-style: italic;
}

.bf-outcome-rail__label {
  display: block;
  max-width: 14ch;
  font-size: .9rem;
  font-weight: 720;
  line-height: 1.35;
}

.bf-experience-v3 .bf-composed-section {
  position: relative;
  width: auto !important;
  margin: 28px 24px !important;
  overflow: hidden;
  padding-block: clamp(88px, 9vw, 132px) !important;
  border: 1px solid rgba(35, 22, 75, .09);
  border-radius: 36px;
  box-shadow: 0 12px 32px rgba(35, 22, 75, .045);
}

.bf-experience-v3 .bf-composed-section[data-bf-section]::after {
  position: absolute;
  top: 28px;
  right: 34px;
  color: rgba(91, 41, 221, .24);
  content: attr(data-bf-section);
  font-family: "Instrument Serif", Georgia, serif;
  font-size: clamp(2rem, 4vw, 4.5rem);
  font-style: italic;
  line-height: 1;
  pointer-events: none;
}

.bf-experience-v3 .bf-composed-section:is(.bf-section--dark, .bf-problem-dark, .bf-proof-section, .bf-cta),
.bf-experience-v3 .bf-composed-section[style*="var(--ink)"] {
  border-color: rgba(255, 255, 255, .1);
  background:
    radial-gradient(circle at 92% 0, rgba(91, 41, 221, .38), transparent 36%),
    var(--bf-v3-ink) !important;
}

.bf-experience-v3 .bf-composed-section:is(.bf-section--dark, .bf-problem-dark, .bf-proof-section, .bf-cta)::after {
  color: rgba(255, 255, 255, .14);
}

.bf-experience-v3 .bf-section__header,
.bf-experience-v3 .bf-section__header--center {
  max-width: 850px;
  margin-bottom: clamp(42px, 6vw, 70px) !important;
}

.bf-experience-v3 .bf-section__header--center {
  margin-inline: auto;
}

.bf-experience-v3 :is(.bf-h2, .bf-section h2, .bf-composed-section h2) {
  letter-spacing: -.045em;
  text-wrap: balance;
}

.bf-experience-v3 :is(.bf-card, .bf-phase, .bf-service-card, .bf-industry-card, .bf-case-card, .bf-proof-card, .bf-contact-card, .bf-embed-card) {
  border: 1px solid rgba(35, 22, 75, .1) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 15px 36px rgba(35, 22, 75, .07);
}

.bf-experience-v3 :is(.bf-card, .bf-phase, .bf-service-card, .bf-industry-card, .bf-case-card) {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.bf-experience-v3 :is(.bf-card, .bf-phase, .bf-service-card, .bf-industry-card, .bf-case-card):hover {
  border-color: rgba(91, 41, 221, .28) !important;
  box-shadow: 0 24px 50px rgba(35, 22, 75, .12);
  transform: translateY(-6px);
}

/* Editorial and case-study rebuild */
.bf-experience-v3.bf-template-article .bf-restored-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--bf-v3-cream);
}

.bf-experience-v3.bf-template-article .bf-restored-main > article {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.bf-editorial-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(84px, 10vw, 140px) 24px 112px;
  color: #fff;
  background:
    radial-gradient(circle at 85% 5%, rgba(130, 89, 235, .64), transparent 34%),
    linear-gradient(135deg, var(--bf-v3-ink), var(--bf-v3-ink-2));
}

.bf-editorial-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 48px 48px;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
}

.bf-editorial-hero__inner {
  width: min(1120px, 100%);
  margin: auto;
}

.bf-editorial-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  color: #bba8ff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.bf-editorial-hero__kicker::before {
  width: 28px;
  height: 1px;
  background: currentColor;
  content: "";
}

.bf-editorial-hero h1 {
  max-width: 15ch !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(3.25rem, 6.5vw, 6.5rem) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
  text-wrap: balance;
}

.bf-editorial-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 34px;
  color: rgba(255, 255, 255, .65);
  font-size: .76rem;
  font-weight: 650;
}

.bf-editorial-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.bf-editorial-hero__meta span::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #9f83ff;
  content: "";
}

.bf-editorial-shell {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
  width: min(1180px, calc(100% - 48px));
  margin: -54px auto 110px;
}

.bf-editorial-toc {
  position: sticky;
  top: 142px;
  margin-top: 82px;
  padding: 24px;
  border: 1px solid var(--bf-v3-line);
  border-radius: 20px;
  background: rgba(255, 253, 249, .9);
  box-shadow: 0 14px 34px rgba(35, 22, 75, .07);
  backdrop-filter: blur(12px);
}

.bf-editorial-toc__label {
  margin: 0 0 16px !important;
  color: var(--bf-v3-purple) !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-editorial-toc ol {
  display: grid;
  gap: 4px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.bf-editorial-toc a {
  display: block;
  padding: 9px 10px;
  border-radius: 9px;
  color: #5d566e !important;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none !important;
}

.bf-editorial-toc a:hover {
  color: var(--bf-v3-purple) !important;
  background: var(--bf-v3-lilac);
}

.bf-editorial-toc__cta {
  display: block;
  margin-top: 18px;
  padding: 12px;
  border-radius: 10px;
  color: #fff !important;
  background: var(--bf-v3-purple);
  font-size: .74rem;
  font-weight: 760;
  text-align: center;
  text-decoration: none !important;
}

.bf-editorial-content {
  position: relative;
  padding: clamp(38px, 6vw, 76px);
  border: 1px solid var(--bf-v3-line);
  border-radius: 30px;
  background: var(--bf-v3-paper);
  box-shadow: var(--bf-v3-shadow);
}

.bf-editorial-content > p:first-child {
  margin-bottom: 2em;
  color: #352d4e !important;
  font-size: clamp(1.22rem, 2vw, 1.5rem) !important;
  line-height: 1.65 !important;
}

.bf-editorial-content h2 {
  scroll-margin-top: 150px;
  margin: 2.25em 0 .65em !important;
  padding-top: .35em;
  color: var(--bf-v3-ink) !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.045em !important;
}

.bf-editorial-content h2::before {
  display: block;
  width: 44px;
  height: 4px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: var(--bf-v3-purple);
  content: "";
}

.bf-editorial-content :is(p, li) {
  color: #554e63 !important;
  font-size: clamp(1rem, 1.2vw, 1.1rem) !important;
  line-height: 1.82 !important;
}

.bf-editorial-content strong {
  color: #2b2340;
}

.bf-editorial-content blockquote {
  margin: 38px 0 !important;
  padding: 30px 34px !important;
  border: 0 !important;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--bf-v3-purple), var(--bf-v3-ink));
}

.bf-video-story {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 34px 0;
  padding: 24px 26px;
  border: 1px solid rgba(91, 41, 221, .18);
  border-radius: 18px;
  color: var(--bf-v3-ink) !important;
  background: var(--bf-v3-lilac);
  text-decoration: none !important;
}

.bf-video-story__icon {
  display: grid;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--bf-v3-purple);
}

.bf-editorial-cta {
  margin-top: 64px;
  padding: clamp(30px, 5vw, 48px);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0, rgba(130, 89, 235, .7), transparent 45%),
    var(--bf-v3-ink);
}

.bf-editorial-cta p {
  max-width: 46ch;
  color: rgba(255, 255, 255, .68) !important;
}

.bf-editorial-cta a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  margin-top: 18px;
  padding: 0 18px;
  border-radius: 10px;
  color: var(--bf-v3-ink) !important;
  background: #fff;
  font-weight: 780;
  text-decoration: none !important;
}

.bf-editorial-cta h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}

.bf-editorial-cta h2::before {
  display: none;
}

.bf-media-intro h2 {
  display: none;
}

.bf-media-intro p {
  max-width: 58ch;
}
.bf-editorial-shell--wide {
  display: block;
  width: min(1040px, calc(100% - 48px));
}


/* Media repair */
.bf-variant-media .bf-editorial-shell {
  display: block;
  width: min(1240px, calc(100% - 48px));
}

.bf-variant-media .bf-editorial-content {
  padding: clamp(28px, 5vw, 58px);
}

.bf-media-list > div > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.bf-media-list > div > div > div {
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-v3-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(35, 22, 75, .07);
}

.bf-media-list > div > div > div:empty {
  display: none;
}

.bf-media-card__visual {
  display: grid !important;
  min-height: 150px;
  place-items: center;
  color: #fff !important;
  background:
    linear-gradient(135deg, rgba(91, 41, 221, .88), rgba(23, 16, 47, .96)),
    var(--bf-v3-purple);
  text-decoration: none !important;
}

.bf-media-card__brand {
  max-width: 90%;
  font-family: "Instrument Serif", Georgia, serif;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  font-style: italic;
  text-align: center;
}

.bf-media-list > div > div > div > div {
  padding: 20px 22px;
}

.bf-media-list h3 {
  margin: 8px 0 0 !important;
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
}

.bf-media-list h3 a {
  color: var(--bf-v3-ink) !important;
  text-decoration: none !important;
}

.bf-media-list > div > div > div > div:last-child {
  padding-top: 0;
}

.bf-media-list > div > div > div > div:last-child > a {
  color: var(--bf-v3-purple) !important;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none !important;
}

/* Focused funnels */
.bf-experience-v3.bf-template-funnel {
  background:
    radial-gradient(circle at 8% 8%, rgba(91, 41, 221, .12), transparent 30%),
    var(--bf-v3-cream);
}

.bf-experience-v3.bf-template-funnel .bf-hero {
  padding: clamp(68px, 9vw, 110px) 0 !important;
  background:
    radial-gradient(circle at 86% 0, rgba(130, 89, 235, .42), transparent 36%),
    var(--bf-v3-ink) !important;
}

.bf-experience-v3.bf-template-funnel .bf-hero :is(h1, .bf-hero__sub, .bf-hero__fine) {
  color: #fff !important;
}

.bf-experience-v3.bf-template-funnel .bf-hero__sub {
  color: rgba(255, 255, 255, .7) !important;
}

.bf-experience-v3.bf-template-funnel .bf-contact-card {
  padding: clamp(28px, 4vw, 44px);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .24);
}

@media (max-width: 1100px) {
  .bf-experience-v3 .bf-nav__inner { gap: 14px; }
  .bf-experience-v3 .bf-nav__links { gap: 2px; }
  .bf-experience-v3 .bf-hero__inner,
  .bf-experience-v3 .bf-svc-hero__inner {
    grid-template-columns: 1fr !important;
  }
  .bf-experience-v3 .bf-hero__right {
    width: min(100%, 760px);
    min-height: 360px;
  }
  .bf-outcome-rail__inner { grid-template-columns: repeat(2, 1fr); }
  .bf-outcome-rail__item:nth-child(2) { border-right: 0; }
  .bf-outcome-rail__item:nth-child(-n + 2) { border-bottom: 1px solid rgba(255, 255, 255, .11); }
  .bf-media-list > div > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .bf-experience-v3 .bf-topbar { display: none; }
  .bf-experience-v3 .bf-nav__inner { min-height: 72px; }
  .bf-experience-v3 .bf-nav__links {
    top: 72px;
    padding: 20px 20px 32px;
    border-radius: 0 0 24px 24px;
    background: var(--bf-v3-paper);
  }
  .bf-experience-v3 .bf-nav__link { min-height: 48px; font-size: .95rem; }
  .bf-experience-v3 .bf-nav__mega {
    margin: 0 8px 10px;
    border-radius: 14px;
    box-shadow: none;
  }
  .bf-editorial-shell {
    grid-template-columns: 1fr;
    margin-top: -36px;
  }
  .bf-editorial-toc {
    position: relative;
    top: 0;
    margin: 0;
  }
  .bf-composed-section { margin-inline: 14px !important; }
}

@media (max-width: 640px) {
  .bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel)
  :is(.bf-hero, .bf-svc-hero, .bf-page-hero, .bf-about-hero, .std-hero) {
    padding: 64px 0 98px !important;
  }
  .bf-experience-v3:not(.bf-template-funnel)
  :is(.bf-h1, .bf-hero h1, .bf-svc-hero h1, .bf-page-hero h1, .bf-about-hero h1, .std-hero h1) {
    font-size: clamp(2.8rem, 14vw, 4.2rem) !important;
  }
  .bf-experience-v3 .bf-hero__right {
    min-height: 0;
    padding: 7px;
    border-radius: 22px !important;
  }
  .bf-experience-v3 .bf-hero__right::before {
    inset: 14px -8px -14px 8px;
    border-radius: 22px;
  }
  .bf-experience-v3 .bf-hero__right video { min-height: 0 !important; aspect-ratio: 4 / 3; }
  .bf-experience-v3 .bf-marquee { grid-template-columns: repeat(3, 1fr); }
  .bf-experience-v3 .bf-hero__trust-logo { height: 58px !important; }
  .bf-outcome-rail { margin-top: -40px; padding-inline: 12px; }
  .bf-outcome-rail__inner { grid-template-columns: 1fr 1fr; border-radius: 18px; }
  .bf-outcome-rail__item { min-height: 112px; padding: 20px; }
  .bf-outcome-rail__index { margin-bottom: 12px; }
  .bf-outcome-rail__label { font-size: .78rem; }
  .bf-experience-v3 .bf-composed-section {
    margin: 14px 8px !important;
    padding-block: 72px !important;
    border-radius: 24px;
  }
  .bf-experience-v3 .bf-composed-section[data-bf-section]::after {
    top: 18px;
    right: 20px;
    font-size: 2.4rem;
  }
  .bf-editorial-hero { padding: 70px 20px 84px; }
  .bf-editorial-hero h1 { font-size: clamp(2.75rem, 13vw, 4.3rem) !important; }
  .bf-editorial-shell,
  .bf-variant-media .bf-editorial-shell {
    width: min(100% - 24px, 1180px);
    gap: 18px;
    margin-bottom: 72px;
  }
  .bf-editorial-content { padding: 30px 22px; border-radius: 22px; }
  .bf-editorial-toc { padding: 20px; }
  .bf-media-list > div > div { grid-template-columns: 1fr; }
  .bf-video-story { align-items: flex-start; padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .bf-experience-v3 :is(.bf-card, .bf-phase, .bf-service-card, .bf-industry-card, .bf-case-card) {
    transition: none;
  }
}

/* =========================================================================
   Bennett Financials public-site refresh — Experience v4 "Cinematic"
   -------------------------------------------------------------------------
   Apple-style cinematic system: big confident Sora display type, generous
   whitespace, full-bleed "moments", a floating product dashboard, dramatic
   dark sections with oversized numerals, and scroll-reveal motion. Keeps the
   Bennett violet (#5B29DD) as the single accent. Concatenated LAST so it
   out-cascades every earlier CSS generation.

   SCOPE: the homepage markup uses `.bfx-*` classes that exist nowhere else,
   so those rules are inherently homepage-only. Shared chrome (nav / footer /
   the injected outcome rail use `.bf-*` classes) is overridden under
   `body.bf-template-home` so the other 36 pages are untouched this round.
   Rollout = generalise these to `.bf-experience-v3`.
   ========================================================================= */

/* Cinematic design tokens — hoisted to every experience-v3 page so the
   generalised chrome (nav / topbar / mega / footer / buttons) resolves its
   variables site-wide, not just on the homepage. */
body.bf-experience-v3{
  --disp:'Sora',-apple-system,sans-serif;
  --sans:'Rethink Sans',-apple-system,sans-serif;
  /* No monospace per brief — labels use the sans, tracked + uppercased. */
  --mono:'Rethink Sans',-apple-system,sans-serif;
  --ink:#0A0A0F; --ink-2:#3A3A46; --mut:#8A8A98; --line:#EAEAF0; --line-2:#DFDEE8;
  --v:#5B29DD; --v-2:#7C3AED; --v-3:#9F7AEA; --v-soft:#F2EEFD;
  --paper:#FFFFFF; --paper-2:#F7F6FB;
}
/* Homepage body typography stays home-scoped for now (other templates keep
   their own body type until the Phase 2 type pass). */
body.bf-template-home{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  letter-spacing:-.01em;
}
body.bf-template-home .bfx{max-width:1180px;margin:0 auto;padding:0 40px}
body.bf-template-home .bfx-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--v-2);font-weight:500;display:inline-flex;align-items:center;gap:9px}
body.bf-template-home .bfx-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 16%,transparent)}
/* Hero + final CTA eyebrows read as a floating capability pill */
body.bf-template-home .bfx-hero>.bfx-eyebrow,
body.bf-template-home .bfx-final .bfx-eyebrow{border:1px solid var(--line-2);background:#fff;padding:9px 16px 9px 14px;border-radius:100px;box-shadow:0 6px 20px -12px rgba(30,16,74,.4)}
body.bf-template-home .bfx-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
body.bf-template-home .bfx-grad{background:linear-gradient(103deg,var(--v-2),var(--v-3) 60%,#c4a6f5);-webkit-background-clip:text;background-clip:text;color:transparent}
/* balance headline line-breaks so they don't wrap into awkward orphans */
body.bf-template-home :is(.bfx-h1,.bfx-moment h2,.bfx-problem__copy h2,.bfx-dark h2,.bfx-system h2,.bfx-shead h2,.bfx-results .bfx-cap,.bfx-final h2,.bfx-faq__head h2,.bfx-prow__text h3){text-wrap:balance}
body.bf-template-home .bfx-hero .bfx-grad{background:linear-gradient(103deg,var(--v),var(--v-2) 35%,#c4a6f5 55%,var(--v-2) 75%,var(--v));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bfx-shine 7s linear infinite}
@keyframes bfx-shine{to{background-position:220% center}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-hero .bfx-grad{animation:none}}

/* --- Kill inherited washes / orbs / glow from earlier layers ----------- */
body.bf-experience-v3.bf-template-home::before,
body.bf-experience-v3.bf-template-home::after,
body.bf-site-v2.bf-template-home::before{display:none!important;content:none!important}
/* The generator tags sections 2+ with `bf-composed-section`. Earlier layers
   turn each into an inset, rounded, bordered "frame" (margin + radius + shadow
   + its own !important padding) and hang a big numbered ::before/::after
   watermark on it. For the full-bleed cinematic system we strip ALL of that;
   the bfx- sections below define their own edge-to-edge rhythm (with
   !important, since the frame padding it replaces is itself !important). */
body.bf-template-home .bf-composed-section{
  margin:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;width:auto!important;padding-block:0!important;
}
body.bf-template-home .bf-composed-section::before,
body.bf-template-home .bf-composed-section::after{display:none!important;content:none!important}

/* --- Buttons ---------------------------------------------------------- */
/* ---- cool buttons (shared primary treatment + shine sweep) ---------- */
body.bf-experience-v3 :is(.bfx-btn,.bf-nav__cta,.bf-footer__cta-btn){position:relative;overflow:hidden;isolation:isolate}
body.bf-template-home .bfx-btn{font-family:var(--sans);font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:9px;padding:16px 28px;border-radius:100px;transition:transform .25s,box-shadow .25s,background .3s,color .2s;cursor:pointer}
body.bf-experience-v3 :is(.bfx-btn--v,.bf-nav__cta,.bf-footer__cta-btn){background:var(--ink)!important;color:#fff!important;box-shadow:0 10px 26px -10px rgba(10,10,15,.55),inset 0 1px 0 rgba(255,255,255,.12)}
body.bf-experience-v3 :is(.bfx-btn--v,.bf-nav__cta,.bf-footer__cta-btn):hover{background:linear-gradient(100deg,var(--v),var(--v-2) 58%,#a679ef)!important;transform:translateY(-2px);box-shadow:0 20px 42px -14px rgba(124,58,237,.6),inset 0 1px 0 rgba(255,255,255,.22)}
body.bf-experience-v3 :is(.bfx-btn--v,.bf-nav__cta,.bf-footer__cta-btn)::after{content:"";position:absolute;top:0;left:-85%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .6s ease;z-index:2}
body.bf-experience-v3 :is(.bfx-btn--v,.bf-nav__cta,.bf-footer__cta-btn):hover::after{left:145%}
body.bf-template-home .bfx-btn--o{color:var(--ink);gap:7px}
body.bf-template-home .bfx-btn--o svg{transition:transform .25s}
body.bf-template-home .bfx-btn--o:hover{color:var(--v)}
body.bf-template-home .bfx-btn--o:hover svg{transform:translateX(5px)}

/* --- Shared nav / header restyle (cinematic) -------------------------- */
body.bf-experience-v3 .bf-site-header,
body.bf-experience-v3 .bf-nav{background:rgba(255,255,255,.72)!important;backdrop-filter:blur(20px) saturate(180%)!important;border-bottom:1px solid rgba(10,10,15,.06)!important;box-shadow:none!important}
body.bf-experience-v3 .bf-topbar{background:var(--ink)!important;color:#E9E5F6!important;border:0!important;font-family:var(--mono)!important;letter-spacing:.02em}
body.bf-experience-v3 .bf-topbar a{color:#C3B6F0!important}
body.bf-experience-v3 .bf-nav__logo{border:0!important;background:none!important;padding:0!important}
body.bf-experience-v3 .bf-nav__link{color:var(--ink-2)!important;font-weight:500!important}
body.bf-experience-v3 .bf-nav__link:hover{color:var(--ink)!important}
body.bf-experience-v3 .bf-nav__cta{background:var(--ink)!important;color:#fff!important;border-radius:100px!important;border:0!important;box-shadow:none!important;font-weight:600!important}
body.bf-experience-v3 .bf-nav__cta:hover{background:var(--v)!important}

/* --- Injected outcome rail -> slim cinematic capability strip ---------- */
body.bf-experience-v3 .bf-outcome-rail{margin:0!important;padding:0!important}
body.bf-experience-v3 .bf-outcome-rail__inner{width:min(1180px,100%)!important;margin:0 auto!important;border:0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--paper)!important;box-shadow:none!important;color:var(--ink)!important}
body.bf-experience-v3 .bf-outcome-rail__item{border-right:1px solid var(--line)!important;padding:24px 28px!important;min-height:0!important;display:flex;align-items:center;gap:14px}
body.bf-experience-v3 .bf-outcome-rail__item:last-child{border-right:0!important}
body.bf-experience-v3 .bf-outcome-rail__index{margin:0!important;font-family:var(--mono)!important;font-style:normal!important;font-size:12px!important;color:var(--v-2)!important}
body.bf-experience-v3 .bf-outcome-rail__label{color:var(--ink)!important;font-family:var(--sans)!important;font-weight:600!important;font-size:15px!important;max-width:none!important}

/* ====================== HERO ========================================= */
body.bf-template-home .bfx-hero{text-align:center;padding:92px 0 0;position:relative;overflow:hidden;background:var(--paper)}
body.bf-template-home .bfx-hero::before{content:"";position:absolute;top:-14%;left:50%;transform:translateX(-50%);width:1200px;max-width:100vw;height:820px;pointer-events:none;z-index:0;
  background:radial-gradient(38% 42% at 22% 28%,rgba(124,58,237,.24),transparent 60%),radial-gradient(34% 40% at 80% 22%,rgba(236,72,153,.16),transparent 60%),radial-gradient(46% 46% at 56% 60%,rgba(96,132,255,.12),transparent 62%);
  filter:blur(14px);animation:bfx-aurora 17s ease-in-out infinite alternate}
@keyframes bfx-aurora{0%{transform:translateX(-50%) translateY(0) scale(1)}100%{transform:translateX(-48%) translateY(26px) scale(1.08)}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-hero::before{animation:none}}
body.bf-template-home .bfx-hero>*{position:relative;z-index:1}
body.bf-template-home .bfx-h1{font-family:var(--disp);font-weight:700;font-size:clamp(3.4rem,7.4vw,6.8rem);line-height:.98;letter-spacing:-.045em;margin:24px auto 0;max-width:16ch;color:var(--ink)}
body.bf-template-home .bfx-lead{font-family:var(--sans);font-size:21px;color:var(--ink-2);max-width:52ch;margin:28px auto 0;line-height:1.55;font-weight:400}
body.bf-template-home .bfx-cta-row{display:flex;gap:20px;justify-content:center;align-items:center;margin-top:38px;flex-wrap:wrap}
body.bf-template-home .bfx-fine{font-family:var(--mono);font-size:12.5px;color:var(--mut);margin-top:24px;letter-spacing:.04em}

/* hero stage: cinematic video + live dashboard floating over it */
body.bf-template-home .bfx-stage{position:relative;margin:70px auto 0;max-width:1060px;padding:0 40px}
body.bf-template-home .bfx-stage::before{content:"";position:absolute;inset:auto 0 -40px 0;height:64%;background:radial-gradient(ellipse at center bottom,rgba(124,58,237,.16),transparent 70%);filter:blur(22px);z-index:0}
body.bf-template-home .bfx-herofilm{position:relative;z-index:1;border-radius:24px;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(10,10,15,.08);box-shadow:0 2px 6px rgba(10,10,15,.05),0 50px 100px -34px rgba(30,16,74,.42)}
body.bf-template-home .bfx-herofilm video{width:100%;height:100%;object-fit:cover;display:block}
body.bf-template-home .bfx-herofilm::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(10,10,15,.28) 100%);pointer-events:none}
body.bf-template-home .bfx-dash{position:relative;z-index:1;border-radius:22px;background:#fff;border:1px solid rgba(10,10,15,.08);box-shadow:0 2px 4px rgba(10,10,15,.04),0 40px 80px -30px rgba(30,16,74,.30),0 80px 120px -60px rgba(124,58,237,.22);overflow:hidden}
/* small caption pill over the hero film */
body.bf-template-home .bfx-herofilm__badge{position:absolute;z-index:2;left:60px;bottom:24px;display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#fff;background:rgba(10,10,15,.42);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);padding:9px 16px;border-radius:100px}
body.bf-template-home .bfx-herofilm__dot{width:7px;height:7px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 0 rgba(61,214,140,.6);animation:bfx-pulse 2s infinite}
/* floating live-metric glass cards over the hero film */
body.bf-template-home .bfx-float{position:absolute;z-index:3;background:rgba(255,255,255,.7);backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.75);border-radius:16px;padding:13px 17px;box-shadow:0 26px 54px -26px rgba(30,16,74,.5),inset 0 1px 0 rgba(255,255,255,.6);display:flex;flex-direction:column;gap:3px;text-align:left;animation:bfx-bob 6.5s ease-in-out infinite}
body.bf-template-home .bfx-float--a{top:34px;left:-14px;animation-delay:.3s}
body.bf-template-home .bfx-float--b{bottom:64px;right:-14px;animation-delay:1.3s}
body.bf-template-home .bfx-float__k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
body.bf-template-home .bfx-float__v{font-family:var(--disp);font-weight:600;font-size:25px;letter-spacing:-.02em;color:var(--ink);line-height:1;display:inline-flex;align-items:baseline;gap:4px}
body.bf-template-home .bfx-float__tick{font-style:normal;font-size:15px;color:#0B9E63}
body.bf-template-home .bfx-float__t{font-size:11px;color:var(--v-2);font-weight:600}
@keyframes bfx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-float{animation:none}}
@media (max-width:820px){body.bf-template-home .bfx-float{display:none}}
@media (max-width:560px){body.bf-template-home .bfx-sys__grid{grid-template-columns:1fr}}
body.bf-template-home .bfx-dash__bar{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line)}
body.bf-template-home .bfx-dash__bar i{width:11px;height:11px;border-radius:50%;background:#E3E1EC;display:inline-block}
body.bf-template-home .bfx-dash__bar small{margin-left:10px;font-family:var(--mono);font-size:12px;color:var(--mut)}
body.bf-template-home .bfx-dash__live{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#0B9E63;display:inline-flex;align-items:center;gap:6px}
body.bf-template-home .bfx-dash__live::before{content:"";width:6px;height:6px;border-radius:50%;background:#0B9E63;box-shadow:0 0 0 0 rgba(11,158,99,.5);animation:bfx-pulse 2s infinite}
@keyframes bfx-pulse{0%{box-shadow:0 0 0 0 rgba(11,158,99,.5)}70%{box-shadow:0 0 0 6px rgba(11,158,99,0)}100%{box-shadow:0 0 0 0 rgba(11,158,99,0)}}
body.bf-template-home .bfx-dchart{position:relative}
body.bf-template-home .bfx-dlabels{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--dim,#A6A6B2)}
/* interactive chart overlay: hover crosshair, snapping dots, tooltip, live end dot */
body.bf-template-home .bfx-dplot{position:relative;cursor:crosshair;touch-action:pan-y}
body.bf-template-home .bfx-chart-ov{position:absolute;inset:0;pointer-events:none}
body.bf-template-home .bfx-chart-guide{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--v-2),transparent);opacity:0;transform:translateX(-.5px);transition:opacity .15s,left .12s ease}
body.bf-template-home .bfx-chart-dot{position:absolute;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s,left .12s ease,top .12s ease}
body.bf-template-home .bfx-chart-dot--rev{background:#7C3AED;box-shadow:0 0 0 4px rgba(124,58,237,.16)}
body.bf-template-home .bfx-chart-dot--cf{background:#D62B48;box-shadow:0 0 0 4px rgba(214,43,72,.16)}
body.bf-template-home .bfx-dplot.is-hover .bfx-chart-guide,
body.bf-template-home .bfx-dplot.is-hover .bfx-chart-dot{opacity:1}
/* always-on pulsing dot at the end of the revenue line */
body.bf-template-home .bfx-chart-end{position:absolute;left:100%;top:7.5%;width:9px;height:9px;border-radius:50%;background:#7C3AED;transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(124,58,237,.5);animation:bfx-pulse2 2.2s infinite}
@keyframes bfx-pulse2{0%{box-shadow:0 0 0 0 rgba(124,58,237,.5)}70%{box-shadow:0 0 0 9px rgba(124,58,237,0)}100%{box-shadow:0 0 0 0 rgba(124,58,237,0)}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-chart-end{animation:none}}
body.bf-template-home .bfx-chart-tip{position:absolute;transform:translate(-50%,-124%);background:var(--ink);color:#fff;border-radius:10px;padding:8px 12px;font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,left .12s ease,top .12s ease;box-shadow:0 14px 32px -12px rgba(0,0,0,.55);z-index:5}
body.bf-template-home .bfx-dplot.is-hover .bfx-chart-tip{opacity:1}
body.bf-template-home .bfx-chart-tip__m{display:block;font-family:var(--disp);font-weight:600;margin-bottom:3px}
body.bf-template-home .bfx-chart-tip__r,body.bf-template-home .bfx-chart-tip__c{display:block;font-family:var(--mono);font-size:10.5px}
body.bf-template-home .bfx-chart-tip__r{color:#B79BF2}
body.bf-template-home .bfx-chart-tip__c{color:#F0788C}
body.bf-template-home .bfx-dash__body{padding:26px 30px;display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:stretch}
body.bf-template-home .bfx-dh{display:flex;justify-content:space-between;align-items:baseline}
body.bf-template-home .bfx-dh b{font-size:16px;font-weight:700}
body.bf-template-home .bfx-dh span{font-family:var(--mono);font-size:12px;color:var(--mut)}
body.bf-template-home .bfx-dleg{display:flex;gap:16px;font-size:12px;color:var(--mut);margin:8px 0 12px}
body.bf-template-home .bfx-dleg i{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
body.bf-template-home .bfx-dash svg{width:100%;height:172px;display:block}
body.bf-template-home .bfx-dside{display:flex;flex-direction:column;gap:12px;justify-content:center}
body.bf-template-home .bfx-dstat{border:1px solid var(--line);border-radius:14px;padding:14px 18px 14px 16px;background:var(--paper-2);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border-left:3px solid var(--line-2)}
body.bf-template-home .bfx-dstat--up{border-left-color:#0B9E63}
body.bf-template-home .bfx-dstat--down{border-left-color:#D62B48}
body.bf-template-home .bfx-dstat small{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
body.bf-template-home .bfx-dstat b{font-family:var(--mono);font-size:22px;font-weight:600;letter-spacing:-.02em}
body.bf-template-home .bfx-up{color:#0B9E63}
body.bf-template-home .bfx-down{color:#D62B48}

/* trust */
body.bf-template-home .bfx-trust{text-align:center;padding:86px 0 24px}
body.bf-template-home .bfx-trust p{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:30px}
body.bf-template-home .bfx-trust__row{display:flex;justify-content:center;align-items:center;gap:52px;flex-wrap:wrap}
body.bf-template-home .bfx-trust__row img{height:30px;width:auto;opacity:.5;filter:grayscale(1);transition:.2s}
body.bf-template-home .bfx-trust__row img:hover{opacity:.9;filter:grayscale(0)}

/* ====================== STATEMENT MOMENT ============================= */
body.bf-template-home .bfx-moment{padding:148px 0!important;text-align:center}
body.bf-template-home .bfx-moment h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.7rem,5.6vw,4.9rem);line-height:1.03;letter-spacing:-.04em;max-width:18ch;margin:22px auto 0;color:var(--ink)}
body.bf-template-home .bfx-moment p{font-family:var(--sans);font-size:20px;color:var(--ink-2);max-width:56ch;margin:28px auto 0;line-height:1.6}
body.bf-template-home .bfx-hr{width:64px;height:3px;border-radius:2px;margin:30px auto 0;background:linear-gradient(90deg,var(--v),var(--v-3))}

/* ====================== PROBLEM (2-col + data viz) ================== */
body.bf-template-home .bfx-problem{padding:128px 0!important;background:var(--paper-2)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.bf-template-home .bfx-problem__grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
body.bf-template-home .bfx-problem__copy h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.035em;margin-top:20px;color:var(--ink)}
body.bf-template-home .bfx-problem__copy .bfx-hr{margin:26px 0}
body.bf-template-home .bfx-problem__copy p{font-family:var(--sans);font-size:18px;color:var(--ink-2);line-height:1.65}
body.bf-template-home .bfx-problem__viz .bfx-dash{box-shadow:0 30px 70px -34px rgba(30,16,74,.28),0 2px 6px rgba(10,10,15,.05)}
/* chart draws itself in on scroll (left-to-right wipe); full without JS */
body.bf-template-home.bfx-js .bfx-problem__viz .bfx-dchart svg{clip-path:inset(0 100% 0 0)}
body.bf-template-home.bfx-js .bfx-problem__viz.bfx-in .bfx-dchart svg{animation:bfx-wipe 1.6s cubic-bezier(.6,0,.2,1) .15s forwards}
@keyframes bfx-wipe{to{clip-path:inset(0 0 0 0)}}

/* ====================== DARK 60-15-15 =============================== */
body.bf-template-home .bfx-dark{background:var(--ink)!important;color:#fff;text-align:center;padding:140px 0!important;position:relative;overflow:hidden}
body.bf-template-home .bfx-dark::before{content:"";position:absolute;inset:-8%;background:radial-gradient(ellipse 55% 55% at 26% 12%,rgba(124,58,237,.32),transparent 60%),radial-gradient(ellipse 50% 50% at 82% 88%,rgba(236,72,153,.14),transparent 60%);pointer-events:none;animation:bfx-sysdrift 24s ease-in-out infinite alternate}
body.bf-template-home .bfx-dark::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 70% at 50% 40%,#000,transparent 75%);pointer-events:none}
body.bf-template-home .bfx-dark>*{position:relative;z-index:1}
body.bf-template-home .bfx-dark>*{position:relative;z-index:1}
body.bf-template-home .bfx-dark .bfx-eyebrow{color:var(--v-3)}
body.bf-template-home .bfx-dark h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.5rem,4.8vw,4.2rem);letter-spacing:-.04em;line-height:1.05;margin:22px auto 44px;max-width:20ch}
body.bf-template-home .bfx-nums{display:grid;grid-template-columns:repeat(4,1fr);max-width:1040px;margin:0 auto;border-top:1px solid rgba(255,255,255,.14)}
body.bf-template-home .bfx-num{padding:40px 24px 44px;border-right:1px solid rgba(255,255,255,.1);position:relative;transition:background .3s}
body.bf-template-home .bfx-num::before{content:"";position:absolute;top:-1px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--v-3),var(--v));transition:width .4s ease}
body.bf-template-home .bfx-num:hover{background:rgba(255,255,255,.03)}
body.bf-template-home .bfx-num:hover::before,body.bf-template-home .bfx-num--out::before{width:100%}
body.bf-template-home .bfx-num:last-child{border-right:0}
body.bf-template-home .bfx-num__tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:3px 8px;margin-bottom:22px}
body.bf-template-home .bfx-num--out .bfx-num__tag{color:var(--v-3);border-color:rgba(159,122,234,.4)}
body.bf-template-home .bfx-num__bar{height:5px;border-radius:100px;background:rgba(255,255,255,.1);margin:22px auto 0;max-width:130px;overflow:hidden}
body.bf-template-home .bfx-num__bar i{display:block;height:100%;width:var(--w);border-radius:100px;background:linear-gradient(90deg,var(--v-3),var(--v))}
body.bf-template-home .bfx-num--out .bfx-num__bar i{background:linear-gradient(90deg,#fff,var(--v-3))}
/* JS gating: fill from 0 on scroll; without JS bars show full */
body.bf-template-home.bfx-js .bfx-num__bar i{width:0;transition:width 1.3s cubic-bezier(.2,.7,.2,1) .25s}
body.bf-template-home.bfx-js .bfx-nums.bfx-in .bfx-num__bar i{width:var(--w)}
body.bf-template-home .bfx-num__n{font-family:var(--disp);font-weight:300;font-size:clamp(3.6rem,6.6vw,6rem);line-height:1;letter-spacing:-.04em}
body.bf-template-home .bfx-num__n sup{font-size:.34em;font-weight:400;vertical-align:super;color:rgba(255,255,255,.5)}
body.bf-template-home .bfx-num:last-child .bfx-num__n{background:linear-gradient(160deg,#fff,var(--v-3));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:500}
body.bf-template-home .bfx-num:last-child .bfx-num__n sup{color:var(--v-3)}
body.bf-template-home .bfx-num__l{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--v-3);margin-top:16px}
body.bf-template-home .bfx-num__d{font-family:var(--sans);font-size:14px;color:rgba(255,255,255,.55);margin:10px auto 0;line-height:1.5;max-width:22ch}

/* ====================== SYSTEM — The Full Stack ===================== */
body.bf-template-home .bfx-system{position:relative;overflow:hidden;background:var(--ink)!important;color:#fff;padding:140px 0!important}
body.bf-template-home .bfx-system::before{content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 55% 50% at 18% 8%,rgba(124,58,237,.32),transparent 60%),radial-gradient(ellipse 50% 50% at 86% 94%,rgba(236,72,153,.16),transparent 60%),radial-gradient(ellipse 40% 40% at 60% 50%,rgba(96,132,255,.1),transparent 62%);animation:bfx-sysdrift 20s ease-in-out infinite alternate}
@keyframes bfx-sysdrift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-2.5%,3.5%) scale(1.1)}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-system::before{animation:none}}
body.bf-template-home .bfx-system::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(ellipse 78% 66% at 50% 42%,#000,transparent 80%)}
body.bf-template-home .bfx-system .bfx{position:relative;z-index:1}
body.bf-template-home .bfx-system .bfx-eyebrow{color:var(--v-3)}
body.bf-template-home .bfx-system h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.4rem,4.6vw,3.9rem);letter-spacing:-.04em;line-height:1.03;color:#fff;margin-top:18px}
body.bf-template-home .bfx-sys__lead{font-family:var(--sans);color:rgba(255,255,255,.7);font-size:19px;line-height:1.6;max-width:56ch;margin:22px auto 0}
body.bf-template-home .bfx-sys__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px;perspective:1200px}
body.bf-template-home .bfx-sys__card{position:relative;padding:30px 26px 28px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));transition:border-color .3s,background .3s,box-shadow .3s;overflow:hidden;transform-style:preserve-3d;will-change:transform}
body.bf-template-home .bfx-sys__card>*{position:relative;z-index:1}
body.bf-template-home .bfx-sys__card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(159,122,234,.6),transparent 42%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s;pointer-events:none;z-index:2}
/* cursor spotlight glow — position set by JS via --mx/--my */
body.bf-template-home .bfx-sys__card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(159,122,234,.24),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:0}
body.bf-template-home .bfx-sys__card:hover{border-color:rgba(159,122,234,.4);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:0 34px 70px -30px rgba(124,58,237,.6)}
body.bf-template-home .bfx-sys__card:hover::before,body.bf-template-home .bfx-sys__card.is-live::after{opacity:1}
/* no-GSAP fallback: a gentle lift on hover so cards still respond */
body.bf-template-home .bfx-sys__card:not(.is-live):hover{transform:translateY(-6px)}
body.bf-template-home .bfx-sys__idx{position:absolute;top:22px;right:24px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.26)}
body.bf-template-home .bfx-sys__ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(124,58,237,.16);border:1px solid rgba(159,122,234,.28);color:var(--v-3);margin-bottom:20px}
body.bf-template-home .bfx-sys__ico svg{width:26px;height:26px}
body.bf-template-home .bfx-sys__card h3{font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:-.01em;color:#fff}
body.bf-template-home .bfx-sys__card p{font-family:var(--sans);font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.62);margin-top:10px}
body.bf-template-home .bfx-sys__card em{font-style:italic;color:rgba(255,255,255,.85)}
/* convergence rail: every function -> the standard */
body.bf-template-home .bfx-sys__rail{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:46px;flex-wrap:wrap}
body.bf-template-home .bfx-sys__rail-l{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5)}
body.bf-template-home .bfx-sys__rail-arrow{color:var(--v-3);display:inline-flex}
body.bf-template-home .bfx-sys__rail-arrow svg{width:22px;height:22px}
body.bf-template-home .bfx-sys__std{font-family:var(--disp);font-weight:600;font-size:22px;letter-spacing:.02em;background:linear-gradient(120deg,#fff,var(--v-3));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ====================== PROCESS ===================================== */
body.bf-template-home .bfx-process{padding:140px 0!important;background:radial-gradient(52% 42% at 6% -6%,rgba(124,58,237,.05),transparent 60%),radial-gradient(48% 44% at 100% 106%,rgba(236,72,153,.045),transparent 62%)}
body.bf-template-home .bfx-shead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;gap:24px;flex-wrap:wrap}
body.bf-template-home .bfx-shead h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.035em;line-height:1.05;max-width:16ch}
body.bf-template-home .bfx-shead__idx{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
body.bf-template-home .bfx-shead--center{flex-direction:column;align-items:center;text-align:center;gap:0;margin-bottom:64px}
body.bf-template-home .bfx-shead--center h2{margin-top:18px;max-width:20ch}
/* alternating process rows with UI mockups */
body.bf-template-home .bfx-prow{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:48px 0}
body.bf-template-home .bfx-prow + .bfx-prow{border-top:1px solid var(--line)}
body.bf-template-home .bfx-prow--rev .bfx-prow__text{order:2}
body.bf-template-home .bfx-prow--rev .bfx-prow__viz{order:1}
body.bf-template-home .bfx-prow__text .bfx-step__n{font-family:var(--disp);font-weight:600;font-size:66px;line-height:.9;letter-spacing:-.04em;background:linear-gradient(150deg,var(--v),var(--v-3) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
body.bf-template-home .bfx-prow__text h3{font-family:var(--disp);font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.02em;margin:12px 0 14px}
body.bf-template-home .bfx-prow__text p{font-family:var(--sans);font-size:17px;color:var(--ink-2);line-height:1.65;max-width:44ch}
/* process mockups presented as floating "app windows" so they pop off the
   white section instead of washing out */
body.bf-template-home .bfx-ui{background:#fff;border:1px solid var(--line-2);border-radius:16px;overflow:hidden;padding:0 28px 26px;box-shadow:0 44px 92px -44px rgba(30,16,74,.5),0 2px 10px rgba(10,10,15,.06)}
body.bf-template-home .bfx-ui__head{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--ink-2);position:relative;margin:0 -28px 22px;padding:14px 22px 14px 94px;border-bottom:1px solid var(--line);background:var(--paper-2)}
body.bf-template-home .bfx-ui__head::before{content:"";position:absolute;left:22px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:#FF5F57;box-shadow:15px 0 0 #FEBC2E,30px 0 0 #28C840}
body.bf-template-home .bfx-ui__dot{width:9px;height:9px;border-radius:50%}
body.bf-template-home .bfx-ui__dot--scan{background:#D62B48;animation:bfx-pulse 1.4s infinite}
body.bf-template-home .bfx-ui__dot--build{background:#F5A623}
body.bf-template-home .bfx-ui__dot--live{background:#3DD68C;animation:bfx-pulse 2s infinite}
body.bf-template-home .bfx-ui__bar{display:grid;grid-template-columns:92px 1fr 40px;align-items:center;gap:14px;margin-bottom:14px;font-size:13px;color:var(--ink-2)}
body.bf-template-home .bfx-ui__track{height:8px;border-radius:100px;background:#EEEBF5;overflow:hidden}
body.bf-template-home .bfx-ui__track i{display:block;height:100%;width:var(--w);border-radius:100px}
body.bf-template-home .bfx-ui__bar b{font-weight:600;text-align:right}
body.bf-template-home .bfx-ui__res{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:14px}
body.bf-template-home .bfx-ui__res span{color:var(--mut)}
body.bf-template-home .bfx-ui__res strong{font-family:var(--disp);font-size:18px;font-weight:600}
body.bf-template-home .bfx-ui__res--bad strong{color:#D62B48}
body.bf-template-home .bfx-ui__res--good strong{color:#0B9E63}
body.bf-template-home .bfx-ui__check{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink);margin-bottom:14px}
body.bf-template-home .bfx-ui__check svg{width:20px;height:20px;flex:none;padding:3px;border-radius:50%;box-sizing:border-box}
body.bf-template-home .bfx-ui__check--done svg{color:#fff;background:#0B9E63}
body.bf-template-home .bfx-ui__check--now{color:var(--mut)}
body.bf-template-home .bfx-ui__check--now svg{color:var(--v-2);background:var(--v-soft)}
body.bf-template-home .bfx-ui__kpi{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
body.bf-template-home .bfx-ui__kpi:last-of-type{border-bottom:0}
body.bf-template-home .bfx-ui__kpi b{font-weight:600}
body.bf-template-home .bfx-up{color:#0B9E63}
body.bf-template-home .bfx-down{color:#D62B48}

/* ====================== RESULTS ===================================== */
body.bf-template-home .bfx-results{padding:150px 0!important;text-align:center;position:relative;overflow:hidden;background:var(--ink)!important;color:#fff}
body.bf-template-home .bfx-results::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 30%,rgba(124,58,237,.34),transparent 62%),radial-gradient(40% 40% at 78% 78%,rgba(236,72,153,.16),transparent 60%);pointer-events:none;animation:bfx-aurora2 14s ease-in-out infinite alternate}
@keyframes bfx-aurora2{0%{transform:scale(1)}100%{transform:scale(1.12) translateY(-14px)}}
body.bf-template-home .bfx-results::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 60% 60% at 50% 35%,#000,transparent 72%);pointer-events:none}
body.bf-template-home .bfx-results>*{position:relative;z-index:1}
body.bf-template-home .bfx-results .bfx-eyebrow{color:var(--v-3)}
body.bf-template-home .bfx-results .bfx-big{font-family:var(--disp);font-weight:300;font-size:clamp(4.6rem,13vw,11rem);line-height:.9;letter-spacing:-.05em;background:linear-gradient(160deg,#fff 12%,var(--v-3) 52%,#f0a6d6);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:18px;filter:drop-shadow(0 8px 40px rgba(124,58,237,.4))}
body.bf-template-home .bfx-results .bfx-cap{font-family:var(--sans);font-size:19px;color:rgba(255,255,255,.72);margin-top:18px}
body.bf-template-home .bfx-rrow{display:flex;justify-content:center;margin:74px auto 0;border-top:1px solid rgba(255,255,255,.14);max-width:1040px}
body.bf-template-home .bfx-rcell{flex:1;padding:34px 22px 30px;border-right:1px solid rgba(255,255,255,.1);position:relative;transition:background .25s}
body.bf-template-home .bfx-rcell::before{content:"";position:absolute;top:-1px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--v-3),var(--v));transition:width .35s ease}
body.bf-template-home .bfx-rcell:hover{background:rgba(255,255,255,.04)}
body.bf-template-home .bfx-rcell:hover::before{width:100%}
body.bf-template-home .bfx-rcell:last-child{border-right:0}
body.bf-template-home .bfx-rcell b{font-family:var(--disp);font-size:clamp(1.5rem,2.5vw,2.2rem);font-weight:700;letter-spacing:-.02em;display:block;background:linear-gradient(120deg,#fff,var(--v-3));-webkit-background-clip:text;background-clip:text;color:transparent}
body.bf-template-home .bfx-rcell span{font-family:var(--sans);font-size:13px;color:rgba(255,255,255,.55);margin-top:10px;display:block;line-height:1.5}

/* ====================== CASE STUDIES (horizontal rail) ============== */
body.bf-template-home .bfx-cases{padding:120px 0 96px!important;overflow:hidden}
body.bf-template-home .bfx-cases .bfx-shead{margin-bottom:42px;align-items:flex-end;flex-wrap:nowrap;gap:32px}
body.bf-template-home .bfx-shead__lead{flex:1 1 auto;min-width:0}
body.bf-template-home .bfx-shead__lead h2{max-width:24ch}
@media (max-width:640px){
  body.bf-template-home .bfx-cases .bfx-shead{flex-wrap:wrap}
  body.bf-template-home .bfx-cases__nav{order:2}
}
/* arrow controls */
body.bf-template-home .bfx-cases__nav{display:flex;gap:10px;flex:none}
body.bf-template-home .bfx-arw{width:50px;height:50px;border-radius:100px;border:1px solid var(--line-2);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,border-color .2s,color .2s,box-shadow .2s;box-shadow:0 6px 18px -12px rgba(30,16,74,.4)}
body.bf-template-home .bfx-arw:hover{border-color:var(--v);color:var(--v);transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(124,58,237,.5)}
body.bf-template-home .bfx-arw:active{transform:translateY(0)}
body.bf-template-home .bfx-arw:disabled{opacity:.3;cursor:default;transform:none;box-shadow:none;border-color:var(--line);color:var(--mut)}
/* full-bleed rail, left edge aligned to the container gutter, both ends faded */
body.bf-template-home .bfx-cases__rail{
  --gut:max(40px,calc((100% - 1180px) / 2 + 40px));
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:14px var(--gut) 34px;scroll-padding-inline:var(--gut);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 calc(var(--gut) - 8px),#000 calc(100% - var(--gut) + 8px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 calc(var(--gut) - 8px),#000 calc(100% - var(--gut) + 8px),transparent 100%)}
body.bf-template-home .bfx-cases__rail::-webkit-scrollbar{display:none}
body.bf-template-home .bfx-case{flex:0 0 clamp(286px,82vw,378px);scroll-snap-align:start;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
body.bf-template-home .bfx-case:hover{border-color:rgba(124,58,237,.35);box-shadow:0 44px 84px -36px rgba(30,16,74,.4);transform:translateY(-6px)}
body.bf-template-home .bfx-case__metric{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--v);background:var(--v-soft);border-radius:100px;padding:6px 13px;margin-bottom:14px}
body.bf-template-home .bfx-case__top{aspect-ratio:16/10;background:linear-gradient(135deg,var(--v-2),#3a1580);position:relative;overflow:hidden}
body.bf-template-home .bfx-case__top iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* quote cards: a metric-forward panel with a ghosted quote glyph */
body.bf-template-home .bfx-case--quote .bfx-case__top{display:flex;flex-direction:column;justify-content:flex-end;padding:22px 22px 20px;background:linear-gradient(150deg,#6d34e6 0%,var(--v) 46%,#39147c 100%)}
body.bf-template-home .bfx-case--quote .bfx-case__top::after{content:"\201D";position:absolute;right:14px;top:-38px;font-family:var(--disp);font-weight:600;font-size:150px;line-height:1;color:rgba(255,255,255,.15)}
body.bf-template-home .bfx-case__stat{position:relative;z-index:1;font-family:var(--disp);font-weight:600;font-size:clamp(1.9rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1;color:#fff}
body.bf-template-home .bfx-case__statl{position:relative;z-index:1;font-family:var(--sans);font-size:12.5px;color:rgba(255,255,255,.82);margin-top:9px;max-width:24ch;line-height:1.4}
body.bf-template-home .bfx-case__badge{position:absolute;left:14px;top:14px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#fff;background:rgba(10,10,15,.5);backdrop-filter:blur(6px);padding:5px 10px;border-radius:6px}
body.bf-template-home .bfx-case__body{padding:24px;display:flex;flex-direction:column;min-height:170px}
body.bf-template-home .bfx-case__q{font-family:var(--disp);font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.42}
body.bf-template-home .bfx-case__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid var(--line);gap:12px}
body.bf-template-home .bfx-case__who b{font-size:14px;display:block}
body.bf-template-home .bfx-case__who span{font-size:12px;color:var(--mut)}
body.bf-template-home .bfx-case__link{font-family:var(--mono);font-size:12px;color:var(--v-2);transition:color .15s,transform .15s;flex:none}
body.bf-template-home .bfx-case__link:hover{color:var(--v);transform:translateX(3px)}

/* ====================== FAQ ========================================= */
/* FAQ on a soft paper-2 base + hairline top border so it separates cleanly
   from the white Case Studies above it (was white-on-white) and makes the
   white accordion cards pop. */
body.bf-template-home .bfx-faq{padding:116px 0 130px!important;border-top:1px solid var(--line-2)!important;background:radial-gradient(46% 40% at 100% -4%,rgba(124,58,237,.05),transparent 60%),radial-gradient(42% 40% at 0% 104%,rgba(236,72,153,.045),transparent 62%),var(--paper-2)}
body.bf-template-home .bfx-faq .bfx-shead--center{margin-bottom:46px}
/* single, centered column — balanced instead of the old lopsided 2-col split */
body.bf-template-home .bfx-faq__list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
/* CTA banner below the list: copy left, button right */
body.bf-template-home .bfx-faq__cta{max-width:820px;margin:26px auto 0;padding:24px 28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--v-soft),#fff 70%);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
body.bf-template-home .bfx-faq__cta-copy b{font-family:var(--disp);font-size:18px;font-weight:600;color:var(--ink);display:block}
body.bf-template-home .bfx-faq__cta p{font-family:var(--sans);font-size:15px;color:var(--ink-2);line-height:1.5;margin-top:4px}
body.bf-template-home .bfx-faq__cta .bfx-btn{flex:none}
/* FAQ as separate soft-card accordions (was bare hairline rows) */
body.bf-template-home .bfx-faq__list{display:flex;flex-direction:column;gap:12px}
body.bf-template-home .bfx-fitem{border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 22px;transition:border-color .22s,box-shadow .22s,background .22s}
body.bf-template-home .bfx-fitem:hover{border-color:var(--line-2);box-shadow:0 16px 34px -26px rgba(30,16,74,.5)}
body.bf-template-home .bfx-fitem summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--disp);font-size:16.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
body.bf-template-home .bfx-fitem summary::-webkit-details-marker{display:none}
body.bf-template-home .bfx-fitem summary:hover{color:var(--v-2)}
/* circular +/x toggle chip */
body.bf-template-home .bfx-fitem summary::after{content:"+";flex:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line-2);background:var(--paper-2);font-family:var(--mono);font-size:20px;line-height:0;color:var(--v-2);transition:transform .28s cubic-bezier(.2,.7,.2,1),background .2s,border-color .2s,color .2s}
body.bf-template-home .bfx-fitem summary:hover::after{border-color:var(--v-2);color:var(--v)}
body.bf-template-home .bfx-fitem[open] summary::after{transform:rotate(135deg);background:var(--v);border-color:var(--v);color:#fff}
body.bf-template-home .bfx-fitem[open] summary{color:var(--v-2)}
body.bf-template-home .bfx-fitem p{font-family:var(--sans);color:var(--ink-2);font-size:15px;line-height:1.65;padding:0 44px 22px 0;margin-top:-2px}

/* ====================== FINAL CTA =================================== */
body.bf-template-home .bfx-final{text-align:center;padding:150px 0!important;border-top:0;position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(140deg,#2a1066 0%,#5b29dd 44%,#7c3aed 66%,#a53c9c 100%)!important;background-size:160% 160%;animation:bfx-flow 16s ease-in-out infinite}
@keyframes bfx-flow{0%,100%{background-position:0% 40%}50%{background-position:100% 60%}}
@media (prefers-reduced-motion:reduce){body.bf-template-home .bfx-final{animation:none}}
/* radial light + fine grid over the gradient */
body.bf-template-home .bfx-final::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 55% at 20% 20%,rgba(255,255,255,.22),transparent 60%),radial-gradient(45% 55% at 82% 85%,rgba(236,72,153,.4),transparent 60%);pointer-events:none}
body.bf-template-home .bfx-final::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 70% at 50% 45%,#000,transparent 72%);pointer-events:none}
body.bf-template-home .bfx-final>*{position:relative;z-index:1}
body.bf-template-home .bfx-final .bfx-eyebrow{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;box-shadow:none!important;backdrop-filter:blur(6px)}
body.bf-template-home .bfx-final h2{font-family:var(--disp);font-weight:700;font-size:clamp(2.8rem,6vw,5.2rem);letter-spacing:-.04em;line-height:1.02;max-width:16ch;margin:22px auto 0;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.2)}
body.bf-template-home .bfx-final h2 .bfx-grad{background:linear-gradient(100deg,#fff,#ffd6f2 60%,#fff)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
body.bf-template-home .bfx-final p{font-family:var(--sans);font-size:20px;color:rgba(255,255,255,.82);margin:24px auto 38px;max-width:52ch}
/* white CTA button pops on the violet field */
body.bf-template-home .bfx-final .bfx-btn--v{background:#fff!important;color:var(--ink)!important;box-shadow:0 18px 44px -14px rgba(0,0,0,.4)!important}
body.bf-template-home .bfx-final .bfx-btn--v:hover{background:#fff!important;color:var(--v)!important;transform:translateY(-2px);box-shadow:0 24px 54px -14px rgba(0,0,0,.5)!important}
body.bf-template-home .bfx-final .bfx-btn--v::after{background:linear-gradient(100deg,transparent,rgba(124,58,237,.25),transparent)}
/* CTA actions: primary button + secondary link, then trust points */
body.bf-template-home .bfx-final__actions{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:38px}
body.bf-template-home .bfx-final__actions .bfx-btn--v{padding:17px 32px;font-size:16px}
body.bf-template-home .bfx-final__link{color:#fff;font-weight:600;font-size:15px;display:inline-flex;align-items:center;gap:8px;opacity:.9;transition:opacity .2s}
body.bf-template-home .bfx-final__link svg{transition:transform .2s}
body.bf-template-home .bfx-final__link:hover{opacity:1}
body.bf-template-home .bfx-final__link:hover svg{transform:translateX(4px)}
body.bf-template-home .bfx-final__trust{display:flex;gap:12px 26px;justify-content:center;flex-wrap:wrap;margin:36px 0 0;padding:0;list-style:none}
body.bf-template-home .bfx-final__trust li{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.74);display:flex;align-items:center;gap:9px}
body.bf-template-home .bfx-final__trust li::before{content:"";width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5)}

/* ---- Header / nav polish -------------------------------------------- */
body.bf-experience-v3 .bf-site-header,
body.bf-experience-v3 .bf-nav{transition:box-shadow .25s,background .25s!important}
body.bf-experience-v3 .bf-nav.bf-is-scrolled,
body.bf-experience-v3 .bf-site-header.bf-is-scrolled .bf-nav{background:rgba(255,255,255,.9)!important;box-shadow:0 10px 34px -14px rgba(30,16,74,.18)!important}
/* On scroll, the 34px promo top bar slides off and the nav pins flush to the
   top (sticky header offset up by the top bar's height). */
body.bf-experience-v3 .bf-site-header{top:-34px!important}
body.bf-experience-v3 .bf-topbar{font-size:12.5px;letter-spacing:.02em}
body.bf-experience-v3 .bf-topbar__inner{opacity:.95}
/* interactive pill-hover nav links. The cinematic hover is the pill background,
   so the base animated underline (.bf-nav__link::after) is switched off — else
   hover shows a pill AND an underline. */
body.bf-experience-v3 .bf-nav__link{padding:9px 15px!important;border-radius:100px!important;transition:background .18s,color .18s!important}
body.bf-experience-v3 .bf-nav__link::after{display:none!important}
body.bf-experience-v3 .bf-nav__link:hover{background:var(--v-soft)!important;color:var(--v)!important}
body.bf-experience-v3 .bf-nav__link-chevron{opacity:.5;transition:transform .2s}
body.bf-experience-v3 .bf-nav__dropdown:hover .bf-nav__link-chevron{transform:rotate(180deg);opacity:1}
/* hover bridge: a transparent strip over the gap between the trigger and the
   mega panel so moving the cursor down doesn't drop :hover and close the menu */
body.bf-experience-v3 .bf-nav__dropdown{position:relative}
body.bf-experience-v3 .bf-nav__dropdown::after{content:"";position:absolute;top:100%;left:-12px;right:-12px;height:22px;z-index:40}
/* ---- Mega menus ----------------------------------------------------- */
body.bf-experience-v3 .bf-nav__mega{border-radius:18px!important;border:1px solid var(--line)!important;box-shadow:0 40px 80px -34px rgba(30,16,74,.45)!important;background:#fff!important;padding:14px!important;min-width:340px!important;margin-top:12px!important}
body.bf-experience-v3 .bf-nav__mega::before{content:"";position:absolute;top:-7px;left:34px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg);border-radius:3px 0 0 0}
body.bf-experience-v3 .bf-nav__mega-list{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;margin:0!important}
body.bf-experience-v3 .bf-nav__mega-grid--2col{grid-template-columns:repeat(3,minmax(202px,1fr))!important;min-width:664px;gap:3px 6px!important}
/* "All X" heading row: a small tracked eyebrow label, not a big link */
body.bf-experience-v3 .bf-nav__mega-list li:first-child{grid-column:1/-1;margin-bottom:6px;padding-bottom:9px;border-bottom:1px solid var(--line)}
body.bf-experience-v3 .bf-nav__mega-list li:first-child a{font-family:var(--mono);font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--v-2)!important;padding:6px 14px 4px}
body.bf-experience-v3 .bf-nav__mega-list li:first-child a strong{color:var(--v-2)!important;font-weight:600!important}
body.bf-experience-v3 .bf-nav__mega-list a{display:block;padding:11px 14px;border-radius:12px;font-weight:500;color:var(--ink-2)!important;transition:background .15s,color .15s,transform .15s;white-space:nowrap}
body.bf-experience-v3 .bf-nav__mega-list a:hover{background:var(--v-soft)!important;color:var(--v)!important;transform:translateX(3px)}
body.bf-experience-v3 .bf-nav__mega-list a strong{color:var(--ink)!important;font-weight:700}
body.bf-experience-v3 .bf-nav__mega-list li:first-child a:hover{transform:none}
/* icon chip before each mega item */
body.bf-experience-v3 .bf-nav__mega-list li:not(:first-child) a{display:flex;align-items:center;gap:11px;font-size:14.5px}
body.bf-experience-v3 .bf-nav__mega-list li:not(:first-child) a::before{content:"";width:32px;height:32px;flex:none;border-radius:9px;background:var(--v-soft) center/17px 17px no-repeat;box-shadow:inset 0 0 0 1px rgba(124,58,237,.12);transition:background-color .15s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M9 9h6M9 13h6M9 17h3'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li:not(:first-child) a:hover::before{background-color:#fff}
/* per-category icons */
body.bf-experience-v3 .bf-nav__mega-list li a[href="/real-estate"]::before,
body.bf-experience-v3 .bf-nav__mega-list li a[href="/senior-living"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-7 9 7v10a1 1 0 0 1-1 1h-5v-6H10v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/cyber-security"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8.5-8 10-4.5-1.5-8-5-8-10V6z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/saas"]::before,
body.bf-experience-v3 .bf-nav__mega-list li a[href="/it-tech-services"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4 4 0 0 1-.5-8 5.5 5.5 0 0 1 10.6 1.4A3.5 3.5 0 0 1 17 18z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/marketing"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v3l3 1 2 4 2-1-1-3h1l7 4V6l-7 4H6a2 2 0 0 0-2 2z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/law-firms"]::before,
body.bf-experience-v3 .bf-nav__mega-list li a[href="/consulting-firms"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M6 8h12M6 8l-3 6a3 3 0 0 0 6 0zM18 8l3 6a3 3 0 0 1-6 0z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/e-commerce"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h2l2 11h9l2-7H7'/%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/coaching-consulting"]::before,
body.bf-experience-v3 .bf-nav__mega-list li a[href="/recruitment-firms"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20v-1a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v1M16 4a3 3 0 0 1 0 6M18 20v-1a4 4 0 0 0-2-3.4'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/healthcare"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.3-9-8.5A4.3 4.3 0 0 1 12 6a4.3 4.3 0 0 1 9 5.5C19 15.7 12 20 12 20z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/investment-companies"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16l5-5 3 3 7-7'/%3E%3Cpath d='M16 7h4v4'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/plastic-surgeons"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M3 12h18'/%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/fractional-cfo-services"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M7 19V9M12 19V5M17 19v-7'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/tax-planning"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5L5 19'/%3E%3Ccircle cx='7.5' cy='7.5' r='2'/%3E%3Ccircle cx='16.5' cy='16.5' r='2'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/cfo-exit-planning"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4'/%3E%3Cpath d='M10 8l4 4-4 4M14 12H4'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/blog"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='16' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/media-articles"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 9l5 3-5 3z'/%3E%3C/svg%3E")}
body.bf-experience-v3 .bf-nav__mega-list li a[href="/resources"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 5a2 2 0 0 1 2-2h11v16H7a2 2 0 0 0-2 2z'/%3E%3Cpath d='M5 19a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E")}

/* ---- FAQ polish ----------------------------------------------------- */
/* FAQ open state: violet-tinted card with lift */
body.bf-template-home .bfx-fitem[open]{border-color:rgba(124,58,237,.28);background:linear-gradient(180deg,var(--v-soft),#fff 62%);box-shadow:0 26px 54px -32px rgba(124,58,237,.45)}
body.bf-template-home .bfx-faq__cta{box-shadow:0 24px 54px -34px rgba(124,58,237,.4)}

/* ---- Footer: cinematic ink, brand watermark, CTA band --------------- */
body.bf-experience-v3 .bf-footer{position:relative;overflow:hidden;background:#08070f!important;background-image:radial-gradient(ellipse 80% 120% at 50% 0,rgba(124,58,237,.2),transparent 60%),radial-gradient(ellipse 40% 60% at 88% 12%,rgba(236,72,153,.1),transparent 60%)!important;border-top:0!important}
body.bf-experience-v3 .bf-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(159,122,234,.6),rgba(236,72,153,.4),transparent);z-index:3}
body.bf-experience-v3 .bf-footer::after{display:none;content:none}
body.bf-experience-v3 .bf-footer .bf-container{position:relative;z-index:1}
/* CTA band */
body.bf-experience-v3 .bf-footer__top{border-bottom:1px solid rgba(255,255,255,.1);align-items:center}
body.bf-experience-v3 .bf-footer__desc{color:rgba(255,255,255,.58)!important;max-width:38ch}
body.bf-experience-v3 .bf-footer__top-action{align-items:flex-end;gap:16px}
body.bf-experience-v3 .bf-footer__top-action span{font-family:var(--disp)!important;font-size:clamp(1.3rem,2.1vw,1.85rem)!important;font-weight:600!important;letter-spacing:-.02em!important;line-height:1.15;color:#fff!important;text-wrap:balance}
/* columns */
body.bf-experience-v3 .bf-footer__col-title{font-family:var(--sans)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--v-3)!important}
body.bf-experience-v3 .bf-footer__col a,body.bf-experience-v3 .bf-footer__bottom{color:rgba(255,255,255,.62)!important;transition:color .15s,transform .15s;display:inline-block}
body.bf-experience-v3 .bf-footer__col a:hover{color:#fff!important;transform:translateX(3px)}
/* trust badges: clean white chips with the logos in natural form */
body.bf-experience-v3 .bf-footer__badges{align-items:center;gap:16px}
body.bf-experience-v3 .bf-footer__badges a{display:inline-flex;transition:transform .2s}
body.bf-experience-v3 .bf-footer__badges a:hover{transform:translateY(-2px)}
body.bf-experience-v3 .bf-footer__badge{background:#fff!important;border-radius:10px!important;padding:9px 14px!important;height:46px!important;width:auto;object-fit:contain;box-shadow:0 8px 20px -12px rgba(0,0,0,.5)}
/* the CFO Leadership Council mark is white-on-transparent -> dark chip */
body.bf-experience-v3 .bf-footer__badges a:nth-child(2) .bf-footer__badge{background:#171033!important}
body.bf-experience-v3 .bf-footer__bottom{border-top:1px solid rgba(255,255,255,.1);display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between!important;gap:14px 24px}
/* back-to-top: a compact circular up-arrow control (matches the case rail
   arrows), pinned right. The label text is kept in the DOM for screen readers
   (font-size:0) while the arrow renders via a masked SVG. */
body.bf-experience-v3 .bf-footer__back-top{font-size:0;line-height:0;padding:0;flex:none;width:46px;height:46px;border-radius:100px;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.05);color:#fff!important;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .2s}
body.bf-experience-v3 .bf-footer__back-top::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M5 12l7-7 7 7'/%3E%3C/svg%3E") center/contain no-repeat}
body.bf-experience-v3 .bf-footer__back-top:hover{background:linear-gradient(100deg,var(--v),var(--v-2));border-color:transparent!important;transform:translateY(-3px)}
/* footer CTA sits on dark -> violet base so it pops (keeps the shine on hover) */
body.bf-experience-v3 .bf-footer__cta-btn{background:linear-gradient(100deg,var(--v),var(--v-2))!important;box-shadow:0 12px 30px -12px rgba(124,58,237,.6)!important}
body.bf-experience-v3 .bf-footer__cta-btn:hover{filter:brightness(1.08)}

/* ====================== SCROLL REVEAL ================================
   The hidden pre-state is gated behind `.bfx-js` (added by the reveal
   script only when animation is enabled) so that with no JS — or when the
   page is loaded with `?anim=off` for static capture — every section is
   fully visible. */
body.bf-template-home.bfx-js .bfx-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
body.bf-template-home.bfx-js .bfx-reveal.bfx-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  body.bf-template-home.bfx-js .bfx-reveal{opacity:1;transform:none;transition:none}
}

/* ====================== RESPONSIVE ================================== */
@media (max-width:900px){
  body.bf-template-home .bfx-problem__grid{grid-template-columns:1fr;gap:36px}
  body.bf-template-home .bfx-prow{grid-template-columns:1fr;gap:28px;padding:40px 0}
  body.bf-template-home .bfx-prow--rev .bfx-prow__text{order:1}
  body.bf-template-home .bfx-prow--rev .bfx-prow__viz{order:2}
  body.bf-template-home .bfx-herofilm{aspect-ratio:16/10}
  body.bf-template-home .bfx-herofilm__badge{left:24px;bottom:16px;font-size:12px}
  body.bf-template-home .bfx-dash__body{grid-template-columns:1fr}
  body.bf-template-home .bfx-nums{grid-template-columns:1fr 1fr}
  body.bf-template-home .bfx-num:nth-child(2){border-right:0}
  body.bf-template-home .bfx-num:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  body.bf-template-home .bfx-steps{grid-template-columns:1fr}
  body.bf-template-home .bfx-cases__grid{grid-template-columns:1fr}
  body.bf-template-home .bfx-faq__cta{flex-direction:column;align-items:flex-start;text-align:left}
  body.bf-template-home .bfx-rrow{flex-wrap:wrap}
  body.bf-template-home .bfx-rcell{flex:1 1 40%;border-bottom:1px solid var(--line);padding-bottom:24px}
  body.bf-template-home .bfx-sys__grid{grid-template-columns:repeat(2,1fr)}
  body.bf-experience-v3 .bf-outcome-rail__inner{grid-template-columns:1fr 1fr}
}

/* =========================================================================
   PHASE 2 ROLLOUT — cinematic typography + surfaces on every experience-v3
   page (not just the homepage). Applies under body.bf-experience-v3, which
   every generated page carries; the homepage keeps its own .bfx-* system.
   ========================================================================= */
/* Retire Instrument Serif — Sora display face everywhere. */
body.bf-experience-v3{--font-serif:var(--disp)}
body.bf-experience-v3 :is(.bf-h1,.bf-h2,.bf-h3,.bf-hero__title,.bf-section__title,.bf-cta__title,[class$="__title"]){font-family:var(--disp)!important;letter-spacing:-.03em}
/* The italic-serif accent word becomes a Sora violet-gradient accent. */
body.bf-experience-v3 .bf-serif-italic{font-family:var(--disp)!important;font-style:normal!important;background:linear-gradient(103deg,var(--v),var(--v-2) 55%,#c4a6f5);-webkit-background-clip:text;background-clip:text;color:transparent!important}
body.bf-experience-v3 .bf-composed-section[data-bf-section]::after,
body.bf-experience-v3 .bf-media-card__brand{font-family:var(--disp)!important}
/* Clean cinematic field: drop the faint fixed grid texture site-wide. */
body.bf-experience-v3::before{display:none!important;content:none!important}
/* Content primary buttons -> cinematic ink pill with a violet hover, matching
   the nav/hero buttons instead of the old flat violet gradient. */
body.bf-experience-v3 :where(.bf-btn--primary){background:var(--ink)!important;color:#fff!important;border:0!important;border-radius:100px!important;box-shadow:0 10px 26px -10px rgba(10,10,15,.5),inset 0 1px 0 rgba(255,255,255,.12)!important;transition:transform .25s,box-shadow .25s,background .3s!important}
body.bf-experience-v3 :where(.bf-btn--primary):hover{background:linear-gradient(100deg,var(--v),var(--v-2) 58%,#a679ef)!important;transform:translateY(-2px)!important;box-shadow:0 20px 42px -14px rgba(124,58,237,.55)!important}
body.bf-experience-v3 :where(.bf-btn--secondary,.bf-btn--white){border-radius:100px!important}

/* Native booking CTA card — replaces the /book iframes + external GHL embeds.
   Sends visitors straight to the CRM's own /book/[slug] page (same system,
   no iframe). */
body.bf-experience-v3 .bf-book-cta{text-align:center;padding:40px 34px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--paper-2));box-shadow:0 40px 90px -44px rgba(30,16,74,.4)}
body.bf-experience-v3 .bf-book-cta__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0B9E63;margin-bottom:16px}
body.bf-experience-v3 .bf-book-cta__dot{width:7px;height:7px;border-radius:50%;background:#0B9E63;box-shadow:0 0 0 0 rgba(11,158,99,.5);animation:bfx-pulse 2s infinite}
body.bf-experience-v3 .bf-book-cta__sub{font-family:var(--sans);font-size:17px;color:var(--ink-2);line-height:1.6;max-width:46ch;margin:0 auto 26px}
body.bf-experience-v3 .bf-book-cta .bf-btn{font-size:16px}
body.bf-experience-v3 .bf-book-cta__fine{font-family:var(--mono);font-size:12px;color:var(--mut);margin-top:18px;letter-spacing:.03em}

/* FAQ sections must render even on templates whose reveal observer doesn't
   reach them (article/case-study/restored pages). The #id selector outranks
   .bf-reveal{opacity:0} without !important, so the FAQ is always visible. */
body.bf-experience-v3 #bf-faq .bf-reveal{opacity:1;transform:none}

/* =========================================================================
   MOBILE CARD-COLLAPSE CORRECTION  (phones, <=600px)
   -------------------------------------------------------------------------
   Several card / stat grids stayed 2-4 across on phones (cards ~120-185px
   wide, with clipped or one-word-per-line text). Three distinct cascade traps
   caused it; all are fixed here in the last-bundled layer so one pass wins:
     1. `.bf-contact-grid` / `.bf-assessment-grid` -- the responsive 1-col rule
        in refresh-2026.css wraps the selector in `:where(...)`, which has ZERO
        specificity, so it lost to the non-responsive `.bf-site-v2
        .bf-contact-grid` 2-col rule. `!important` here beats it.
     2. `.bfx-sys__grid` -- its <=560px->1fr rule sits EARLIER in this file than
        the <=900px->2col rule, so the 2-col rule out-cascaded it at all widths.
     3. Pricing / case-study grids set their columns INLINE, which only
        `!important` can override.
   Logo strips (.bf-marquee) are intentionally NOT collapsed -- small logos read
   fine several-across. Breakpoint 600px keeps the roomier 2-up layouts for
   tablets while giving phones one card per row ("almost 1 column"). */
@media (max-width:600px){
  /* Homepage -- "The Standard" KPI tiles + "The Full Stack" service cards */
  body.bf-template-home .bfx-sys__grid,
  body.bf-template-home .bfx-nums{grid-template-columns:1fr!important}
  body.bf-template-home .bfx-num{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)}
  body.bf-template-home .bfx-num:last-child{border-bottom:0}
  /* Homepage -- results row (flex, wraps at <=900px; force one per row) */
  body.bf-template-home .bfx-rcell{flex:1 1 100%!important;border-right:0!important}
  /* Every experience-v3 page -- the outcome rail */
  body.bf-experience-v3 .bf-outcome-rail__inner{grid-template-columns:1fr!important}
  /* Contact / assessment split panels */
  .bf-contact-grid,.bf-assessment-grid{grid-template-columns:1fr!important}
  /* 60-15-15 proof stats */
  .std-proof__grid{grid-template-columns:1fr!important}
  /* Inline-styled grids (pricing, case studies). Marker classes are added in
     the page markup; `!important` is required to beat the inline grid-template.
     .bf-m1col      -> plain collapse (keeps the grid's own gap)
     .bf-steps-grid -> collapse + a real row gap (steps have no vertical padding)
     .bf-steps-line -> the 3-column connector line, hidden once stacked */
  .bf-m1col{grid-template-columns:1fr!important}
  .bf-steps-grid{grid-template-columns:1fr!important;gap:40px!important}
  .bf-steps-line{display:none!important}
  /* case-studies result rows (#bf-cs-results wraps the 1fr-2fr stat/quote rows).
     Collapse them and drop the left column's vertical divider + side padding so
     the stacked stat and quote sit flush. */
  #bf-cs-results>div{grid-template-columns:1fr!important}
  #bf-cs-results>div>*{border-right:0!important;padding-left:0!important;padding-right:0!important}
  #bf-cs-results>div>*+*{padding-top:24px!important}
}

/* =========================================================================
   "The Standard" (.bfx-dark) + "The Full Stack" (.bfx-system) share the same
   --ink background. Stacked, their 140px + 140px vertical padding produced
   ~280px of dead, identically-coloured space at the seam, which read as an
   off-looking empty band. Collapse the seam so the two dark bands flow as one
   continuous section. */
body.bf-template-home .bfx-dark:has(+ .bfx-system){padding-bottom:64px!important}
body.bf-template-home .bfx-dark + .bfx-system{padding-top:0!important}

/* =========================================================================
   INTERNAL-PAGE HERO REMEDIATION  (2026-07-23)
   -------------------------------------------------------------------------
   The experience-v3 layer repaints EVERY internal-page hero (.bf-page-hero)
   onto a LIGHT paper background (see experience-2026.css ...hero... bg
   override). But the source pages were authored for the old DARK hero and
   still carry legacy inline colours — color:#fff and rgba(255,255,255,*) —
   on the eyebrow, the lead paragraph and the stat block. On the new light
   hero those render white-on-white (invisible). Inline styles beat the
   earlier layers, so we out-cascade them here (cinematic = last layer) with
   !important, and dial the oversized experience-v3 hero H1 (up to 6.6rem)
   back to a page-hero-appropriate size.

   Scoped to the SAME not(article)/not(funnel) set the light-hero repaint
   uses, so genuine dark funnel/article heroes are never touched.
   ========================================================================= */
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero .bf-h1{
  font-size:clamp(2.5rem,4.4vw,4.25rem)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
/* Eyebrow pill — legacy inline was rgba(255,255,255,.5) → force brand violet */
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero .bf-eyebrow{
  color:var(--v-2)!important;
}
/* Lead paragraph(s) under the hero copy — legacy inline was rgba(255,255,255,.55) */
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero > .bf-container p{
  color:var(--ink-2)!important;
}
/* Stat block: give it a readable light card and recolour the (formerly white)
   numbers + labels so they show on the light hero. */
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__stats{
  background:var(--paper-2)!important;
  border:1px solid var(--line-2)!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__stat{
  background:transparent!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__stat + .bf-page-hero__stat{
  border-left:1px solid var(--line-2)!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__stat > div:first-child{
  color:var(--ink)!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__stat > div:nth-child(2){
  color:var(--mut)!important;
}
/* Price/feature card in the hero right column (e.g. pricing) used the same
   near-invisible rgba(255,255,255,.07) fill + white text on the old dark hero.
   Repaint it as a light card and recolour ALL its (formerly white) text; the
   big price keeps full-ink emphasis, everything else drops to ink-2. SVG check
   marks colour via `stroke` (var(--orange)) so they are unaffected. Divider
   hairlines were rgba(255,255,255,.1) — retint so they read on the light card. */
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__price-card{
  background:var(--paper-2)!important;
  border:1px solid var(--line-2)!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__price-card *{
  color:var(--ink-2)!important;
  border-color:var(--line-2)!important;
}
body.bf-experience-v3:not(.bf-template-article):not(.bf-template-funnel) .bf-page-hero__price-card > div:nth-child(2){
  color:var(--ink)!important;
}

/* =========================================================================
   CONTRAST FIX (2026-07-24) — white-on-white / dark-on-dark on cards.
   refresh-2026 force-repaints `.bf-system-card` (+ siblings) to WHITE cards
   with !important, but their numbers/labels/icons were authored white for the
   old dark-glass card → invisible on the new white card. And the dark-section
   rule (`.bf-site-v2 <dark> p { color:#fff }`) forces the `.bf-testimonial`
   quote white while the testimonial card itself is white. Recolor that text
   for the light card. Scoped to bf-experience-v3; last layer + !important so
   it out-cascades the refresh repaint.
   ========================================================================= */
body.bf-experience-v3 .bf-system-card__num{color:#18132c!important;-webkit-text-fill-color:#18132c!important;background:none!important}
body.bf-experience-v3 .bf-system-card--highlight .bf-system-card__num{color:#5B29DD!important;-webkit-text-fill-color:#5B29DD!important;background:none!important}
body.bf-experience-v3 .bf-system-card__label{color:#5B29DD!important}
body.bf-experience-v3 .bf-system-card__desc{color:#3A3A46!important}
body.bf-experience-v3 .bf-system-card__icon{background:#F2EEFD!important;border-color:#DFDEE8!important}
body.bf-experience-v3 .bf-system-card__icon svg{stroke:#7C3AED!important}
body.bf-experience-v3 .bf-system-card__bar{background:rgba(91,41,221,.12)!important}
/* Testimonial cards (white) on dark proof sections — recolor their text dark. */
body.bf-experience-v3 .bf-testimonial__quote{color:#18132c!important}
body.bf-experience-v3 .bf-testimonial__author{color:#18132c!important}
body.bf-experience-v3 .bf-testimonial__role{color:#6B7190!important}
