/*
 * Back Bay Associates design system.
 * Every color and font below resolves from Elementor Site Settings
 * (Global Colors / Global Fonts), so changing them there restyles the whole site.
 */

/* ---------- Tokens (mapped to Elementor globals) ---------- */
body.bb-site {
	--bb-navy: var(--e-global-color-bbnavy, #0E2438);
	--bb-blue: var(--e-global-color-primary, #143452);
	--bb-orange: var(--e-global-color-accent, #C8621E);
	--bb-orange-dk: var(--e-global-color-bborangedk, #B85A1B);
	--bb-orange-lt: var(--e-global-color-bborangelt, #D97328);
	--bb-peach: var(--e-global-color-bbpeach, #E0A272);
	--bb-ink: var(--e-global-color-bbink, #101B26);
	--bb-strong: var(--e-global-color-bbstrong, #22364A);
	--bb-text: var(--e-global-color-text, #42576B);
	--bb-muted: var(--e-global-color-secondary, #5C7185);
	--bb-subtle: var(--e-global-color-bbsubtle, #93A6B6);
	--bb-label: var(--e-global-color-bblabel, #3A4E61);
	--bb-bg: var(--e-global-color-bbbg, #F6F8FA);
	--bb-white: var(--e-global-color-bbwhite, #FFFFFF);
	--bb-tint: var(--e-global-color-bbtint, #EEF3F6);
	--bb-tint2: var(--e-global-color-bbtint2, #E8EFF4);
	--bb-hero-end: var(--e-global-color-bbheroend, #EFF4F8);
	--bb-border: var(--e-global-color-bbborder, #E2E8ED);
	--bb-border-lt: var(--e-global-color-bbborderlt, #E7EDF1);
	--bb-on-dark: var(--e-global-color-bbondark, #A9C0D2);
	--bb-ind-text: var(--e-global-color-bbindtext, #C9D8E4);
	--bb-footer-text: var(--e-global-color-bbfooter, #8FA5B8);
	--bb-topbar-text: var(--e-global-color-bbtopbar, #9FB4C7);
	--bb-ticker-text: var(--e-global-color-bbticker, #7E9AB2);
	--bb-steel: var(--e-global-color-bbsteel, #5B87AC);
	--bb-sand: var(--e-global-color-bbsand, #FBF3EC);
	--bb-sand-border: var(--e-global-color-bbsandborder, #F0D4BF);
	--bb-rust: var(--e-global-color-bbrust, #9A4A16);
	--bb-green: var(--e-global-color-bbgreen, #5FBF8A);
	--bb-success: var(--e-global-color-bbsuccess, #2E8B5F);

	--bb-font-head: var(--e-global-typography-primary-font-family, "Archivo"), sans-serif;
	--bb-font-body: var(--e-global-typography-text-font-family, "IBM Plex Sans"), system-ui, sans-serif;

	--bb-ease: cubic-bezier(.22, .7, .2, 1);
	--bb-shadow-navy: 0 24px 50px -34px color-mix(in srgb, var(--bb-navy) 45%, transparent);

	margin: 0;
	background: var(--bb-bg);
	font-family: var(--bb-font-body);
	font-size: 16px;
	line-height: normal;
	color: var(--bb-ink);
	-webkit-font-smoothing: antialiased;
}

html { scroll-behavior: smooth; }
body.bb-site *, body.bb-site *::before, body.bb-site *::after { box-sizing: border-box; }
body.bb-site a { color: var(--bb-blue); text-decoration: none; }
body.bb-site a:hover { color: var(--bb-orange-dk); }
body.bb-site input, body.bb-site textarea, body.bb-site select, body.bb-site button { font-family: inherit; }
body.bb-site .bb-page { width: 100%; overflow-x: clip; background: var(--bb-bg); }
body.bb-site p { margin: 0; }

/* ---------- Keyframes ---------- */
@keyframes bbfloat { 0% { transform: translateY(0) } 50% { transform: translateY(-14px) } 100% { transform: translateY(0) } }
@keyframes bbdash { to { stroke-dashoffset: -320 } }
@keyframes bbspin { to { transform: rotate(360deg) } }
@keyframes bbspinr { to { transform: rotate(-360deg) } }
@keyframes bbpulse { 0%, 100% { opacity: .25; transform: scale(1) } 50% { opacity: 1; transform: scale(2.1) } }
@keyframes bbscan { 0% { transform: translateY(-10%); opacity: 0 } 12% { opacity: 1 } 88% { opacity: 1 } 100% { transform: translateY(720%); opacity: 0 } }
@keyframes bbblob { 0% { transform: translate(0, 0) scale(1) } 50% { transform: translate(-38px, 26px) scale(1.08) } 100% { transform: translate(0, 0) scale(1) } }
@keyframes bbsheen { 0% { transform: translateX(-120%) skewX(-18deg) } 55%, 100% { transform: translateX(240%) skewX(-18deg) } }
@keyframes bbticker { from { transform: translateX(0) } to { transform: translateX(-50%) } }
@keyframes bbtravelx { 0% { left: 0%; opacity: 0 } 8% { opacity: 1 } 92% { opacity: 1 } 100% { left: 100%; opacity: 0 } }
@keyframes bbwave { 0%, 100% { transform: scaleX(.35) } 50% { transform: scaleX(1) } }
@keyframes bbrise { from { opacity: 0; transform: translateY(10px) } to { opacity: 1; transform: translateY(0) } }
.bb-off, .bb-off * { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* ---------- Elementor container reset for bb containers ---------- */
body.bb-site .e-con.bb {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--margin-top: 0px; --margin-bottom: 0px; --margin-left: 0px; --margin-right: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--flex-wrap: nowrap;
}
body.bb-site .e-con.bb-row {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center;
	--container-widget-width: initial; --container-widget-flex-grow: 0;
}
body.bb-site .e-con.bb-row > .e-con { --width: auto; }
body.bb-site .e-con.bb-grid { --display: grid; display: grid; }
body.bb-site .e-con.bb-grid > .e-con { --width: 100%; min-width: 0; }
body.bb-site .e-con.bb-rel { --position: relative; }
body.bb-site .e-con.bb-clip { --overflow: hidden; overflow: hidden; }
body.bb-site .e-con.bb-wrap {
	--width: 100%; max-width: 1240px; margin-left: auto; margin-right: auto;
	--padding-left: 32px; --padding-right: 32px; position: relative;
}
body.bb-site .e-con.bb-wrap-900 {
	--width: 100%; max-width: 900px; margin-left: auto; margin-right: auto;
	--padding-left: 32px; --padding-right: 32px;
}
body.bb-site .e-con.bb-2col {
	--display: grid; display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
	gap: 60px; align-items: center;
}
body.bb-site .bb-sec { position: relative; }
body.bb-site .e-con.bb-sec { --position: relative; }
body.bb-site .elementor-widget.bb-abs { position: absolute; }
body.bb-site .elementor-widget-html.bb-deco,
body.bb-site .elementor-widget-html.bb-deco > .elementor-widget-container { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; margin: 0; width: auto; max-width: none; }
body.bb-site .bb-sec > .e-con:not(.bb-deco) { position: relative; z-index: 1; }

/* ---------- Shared type ---------- */
body.bb-site .bb-eyebrow .elementor-heading-title,
body.bb-site .bb-eyebrow {
	font-family: var(--bb-font-body); font-size: 12.5px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase; color: var(--bb-orange); line-height: normal;
}
body.bb-site .bb-eyebrow.bb-on-dark .elementor-heading-title { color: var(--bb-peach); }
body.bb-site .bb-eyebrow.bb-rust .elementor-heading-title { color: var(--bb-orange-dk); }

body.bb-site .bb-h1 .elementor-heading-title {
	font-family: var(--bb-font-head); font-weight: 700; font-size: 54px; line-height: 1.06;
	letter-spacing: -0.025em; color: var(--bb-navy); text-wrap: balance;
}
body.bb-site .elementor-widget.bb-h1 { margin-top: 22px; }

body.bb-site .bb-h2 .elementor-heading-title {
	font-family: var(--bb-font-head); font-size: 42px; font-weight: 700; letter-spacing: -0.02em;
	color: var(--bb-navy); line-height: 1.12;
}
body.bb-site .elementor-widget.bb-h2 { margin-top: 14px; }
body.bb-site .bb-h2.bb-fs40 .elementor-heading-title { font-size: 40px; }
body.bb-site .bb-h2.bb-fs38 .elementor-heading-title { font-size: 38px; line-height: 1.14; }
body.bb-site .bb-h2.bb-fs36 .elementor-heading-title { font-size: 36px; line-height: 1.16; }
body.bb-site .bb-h2.bb-fs34 .elementor-heading-title { font-size: 34px; line-height: 1.14; }
body.bb-site .bb-h2.bb-fs30 .elementor-heading-title { font-size: 30px; line-height: 1.18; }
body.bb-site .bb-h2.bb-lh114 .elementor-heading-title { line-height: 1.14; }
body.bb-site .bb-h2.bb-on-dark .elementor-heading-title { color: var(--bb-white); }

body.bb-site .bb-p,
body.bb-site .bb-p p { font-size: 17px; line-height: 1.7; color: var(--bb-text); text-wrap: pretty; }
body.bb-site .bb-p.bb-lh165, body.bb-site .bb-p.bb-lh165 p { line-height: 1.65; }
body.bb-site .bb-p.bb-lh166, body.bb-site .bb-p.bb-lh166 p { line-height: 1.66; }
body.bb-site .bb-p.bb-on-dark, body.bb-site .bb-p.bb-on-dark p { color: var(--bb-on-dark); }
body.bb-site .elementor-widget.bb-mt14 { margin-top: 14px; }
body.bb-site .elementor-widget.bb-mt16 { margin-top: 16px; }
body.bb-site .elementor-widget.bb-mt18 { margin-top: 18px; }
body.bb-site .elementor-widget.bb-mt20 { margin-top: 20px; }
body.bb-site .elementor-widget.bb-mt22 { margin-top: 22px; }
body.bb-site .bb-p p + p { margin-top: 14px; }
body.bb-site .bb-p.bb-tw-normal, body.bb-site .bb-p.bb-tw-normal p { text-wrap: wrap; }

/* ---------- Buttons ---------- */
body.bb-site .elementor-widget.bb-btn .elementor-button {
	position: relative; overflow: hidden;
	display: inline-flex; align-items: center;
	background: var(--bb-orange); color: #fff; fill: #fff;
	padding: 16px 30px; border-radius: 4px; border: none;
	font-family: var(--bb-font-body); font-weight: 600; font-size: 16px; line-height: 1.3;
	letter-spacing: normal; text-transform: none;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--bb-orange) 24%, transparent);
	transition: background .25s, transform .25s, box-shadow .25s, border-color .25s, color .25s;
}
body.bb-site .elementor-widget.bb-btn .elementor-button:hover,
body.bb-site .elementor-widget.bb-btn .elementor-button:focus-visible {
	background: var(--bb-orange-dk); color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -10px color-mix(in srgb, var(--bb-orange) 60%, transparent);
}
body.bb-site .elementor-widget.bb-btn .elementor-button-text { font: inherit; }
body.bb-site .elementor-widget.bb-sheen .elementor-button::before {
	content: ''; position: absolute; top: 0; left: 0; width: 40%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .38), transparent);
	animation: bbsheen 4.5s ease-in-out infinite;
}
body.bb-site .elementor-widget.bb-btn-ghost .elementor-button {
	background: var(--bb-white); color: var(--bb-blue); padding: 16px 28px;
	border: 1px solid #CBD6DF; box-shadow: none;
}
body.bb-site .elementor-widget.bb-btn-ghost .elementor-button:hover {
	background: var(--bb-white); border-color: var(--bb-blue); color: var(--bb-blue);
	transform: translateY(-3px);
	box-shadow: 0 14px 28px -12px color-mix(in srgb, var(--bb-navy) 35%, transparent);
}
body.bb-site .elementor-widget.bb-btn-md .elementor-button { padding: 15px 26px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-md .elementor-button:hover {
	box-shadow: 0 16px 30px -12px color-mix(in srgb, var(--bb-orange) 60%, transparent);
}
body.bb-site .elementor-widget.bb-btn-sm .elementor-button {
	padding: 12px 18px; font-size: 14px; white-space: nowrap; box-shadow: none;
}
body.bb-site .elementor-widget.bb-btn-sm .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--bb-orange) 60%, transparent);
}
body.bb-site .elementor-widget.bb-btn-foot .elementor-button { padding: 12px 20px; font-size: 14px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-foot .elementor-button:hover { background: var(--bb-orange-lt); transform: translateY(-2px); box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-arrow .elementor-button { padding: 15px 26px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-arrow .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 8px; transition: gap .3s; }
body.bb-site .elementor-widget.bb-btn-arrow .elementor-button-content-wrapper::after { content: '\2192'; }
body.bb-site .elementor-widget.bb-btn-arrow .elementor-button:hover { background: var(--bb-orange-lt); box-shadow: 0 16px 30px -12px color-mix(in srgb, var(--bb-orange) 65%, transparent); }
body.bb-site .elementor-widget.bb-btn-arrow .elementor-button:hover .elementor-button-content-wrapper { gap: 14px; }
body.bb-site .elementor-widget.bb-btn-dark .elementor-button { background: var(--bb-navy); padding: 15px 24px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-dark .elementor-button:hover { background: var(--bb-orange); box-shadow: none; }

/* Inline text link (heading widget with link) */
body.bb-site .bb-textlink .elementor-heading-title,
body.bb-site .bb-textlink .elementor-heading-title a {
	font-family: var(--bb-font-body); font-size: 16px; font-weight: 600; color: var(--bb-blue);
	border-bottom: 2px solid var(--bb-orange); padding-bottom: 3px; transition: color .25s; line-height: normal;
}
body.bb-site .bb-textlink .elementor-heading-title a { border: 0; padding: 0; }
body.bb-site .bb-textlink .elementor-heading-title a:hover { color: var(--bb-orange); }

/* ---------- Fixed UI: progress bar & sticky CTA ---------- */
.bb-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 90; pointer-events: none; }
.bb-progress > div {
	height: 100%; width: 0%;
	background: linear-gradient(90deg, var(--bb-blue), var(--bb-orange));
	box-shadow: 0 0 12px color-mix(in srgb, var(--bb-orange) 60%, transparent);
	transition: width .12s linear;
}
body.admin-bar .bb-progress { top: 32px; }
body.bb-site a.bb-sticky-cta {
	position: fixed; right: 26px; bottom: 26px; z-index: 88;
	display: flex; align-items: center; gap: 12px;
	background: var(--bb-navy); color: #fff; padding: 14px 22px; border-radius: 100px;
	font-weight: 600; font-size: 15px;
	box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--bb-navy) 60%, transparent);
	opacity: 0; transform: translateY(24px); pointer-events: none;
	transition: opacity .45s var(--bb-ease), transform .45s var(--bb-ease), background .25s;
}
body.bb-site a.bb-sticky-cta:hover { background: var(--bb-orange); color: #fff; }
.bb-sticky-cta .bb-pdot { width: 9px; height: 9px; border-radius: 50%; background: var(--bb-orange); animation: bbpulse 2.4s ease-in-out infinite; }

/* ---------- Top bar + header ---------- */
.bb-site-header { position: sticky; top: -37px; z-index: 60; }
body.bb-site .bb-topbar { background: var(--bb-navy); color: var(--bb-topbar-text); font-size: 13px; }
body.bb-site .e-con.bb-topbar-in {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center; --justify-content: space-between;
	--padding-top: 9px; --padding-bottom: 9px; gap: 16px;
	--container-widget-width: initial;
}
body.bb-site .bb-topbar p { display: flex; align-items: center; gap: 10px; margin: 0; line-height: normal; font-size: 13px; color: var(--bb-topbar-text); }
body.bb-site .bb-topbar-right p { gap: 20px; }
body.bb-site .bb-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--bb-green); display: inline-block; flex-shrink: 0; }
body.bb-site .bb-topbar a { color: var(--bb-topbar-text); transition: color .25s; }
body.bb-site .bb-topbar a:hover { color: #fff; }
body.bb-site .bb-topbar a.bb-tb-strong { color: #fff; font-weight: 600; }

body.bb-site .bb-header {
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--bb-border);
}
body.bb-site .e-con.bb-header-in {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center; --justify-content: space-between;
	--padding-top: 10px; --padding-bottom: 10px; gap: 12px 16px;
	--container-widget-width: initial;
}
body.bb-site .bb-header-in > .elementor-widget { flex-shrink: 0; }
body.bb-site a.bb-cta {
	display: inline-block; flex-shrink: 0; background: var(--bb-orange); color: #fff;
	padding: 12px 18px; border-radius: 4px; font-weight: 600; font-size: 14px; white-space: nowrap; line-height: normal;
	transition: background .25s, transform .25s, box-shadow .25s;
}
body.bb-site a.bb-cta:hover {
	background: var(--bb-orange-dk); color: #fff; transform: translateY(-2px);
	box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--bb-orange) 60%, transparent);
}
body.bb-site .bb-header-in > .elementor-widget.bb-nav-w { flex-shrink: 1; }

/* Logo shortcode */
.bb-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
body.bb-site .bb-logo img { height: 54px; width: auto; max-width: none; object-fit: contain; display: block; flex-shrink: 0; }
.bb-logo-chip { display: inline-flex; background: #fff; border-radius: 6px; padding: 8px 12px; }
body.bb-site .bb-logo-chip img { height: 52px; }
.bb-logo-text { font-family: var(--bb-font-head); font-weight: 700; font-size: 20px; color: var(--bb-navy); }

/* Navigation */
.bb-nav { display: flex; align-items: center; font-size: 14px; font-weight: 500; font-family: var(--bb-font-body); }
.bb-nav-list { display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.bb-nav-item { position: relative; }
body.bb-site .bb-nav-trigger {
	display: flex; align-items: center; gap: 5px; white-space: nowrap; background: none; border: none; cursor: pointer;
	font: inherit; padding: 10px 7px; border-bottom: 2px solid transparent; border-radius: 0;
	color: var(--bb-blue); transition: color .25s, border-color .25s; line-height: normal; box-shadow: none;
}
body.bb-site .bb-nav-trigger:hover, body.bb-site .bb-nav-trigger:focus { color: var(--bb-orange); background: none; }
body.bb-site .bb-nav-item.is-open > .bb-nav-trigger { color: var(--bb-orange); }
body.bb-site .bb-nav-item.is-active > .bb-nav-trigger { color: var(--bb-orange); border-bottom-color: var(--bb-orange); }
.bb-caret { transition: transform .3s var(--bb-ease); }
.bb-nav-item.is-open .bb-caret { transform: rotate(180deg); }
.bb-nav-panel {
	position: absolute; top: 100%; left: -10px; padding-top: 8px; z-index: 70;
	transition: opacity .25s ease, transform .3s var(--bb-ease), visibility .25s;
	opacity: 0; visibility: hidden; transform: translateY(-6px);
}
.bb-nav-item.is-right .bb-nav-panel { left: auto; right: -10px; }
.bb-nav-item.is-open .bb-nav-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.bb-nav-panel-in {
	background: #fff; border: 1px solid var(--bb-border); border-radius: 8px;
	box-shadow: 0 24px 50px -20px color-mix(in srgb, var(--bb-navy) 35%, transparent);
	padding: 10px; min-width: 300px; display: grid; gap: 2px;
}
body.bb-site a.bb-nav-link { display: block; padding: 10px 12px; border-radius: 6px; transition: background .2s, color .2s; color: var(--bb-navy); background: transparent; }
body.bb-site a.bb-nav-link:hover { background: var(--bb-bg); color: var(--bb-orange); }
body.bb-site a.bb-nav-link.is-current { color: var(--bb-orange); background: var(--bb-sand); }
.bb-nav-link-name { display: block; font-family: var(--bb-font-head); font-size: 15px; font-weight: 600; }
.bb-nav-link-sub { display: block; font-size: 12.5px; color: var(--bb-muted); margin-top: 2px; font-weight: 400; }
body.bb-site a.bb-nav-foot { margin-top: 6px; padding: 10px 12px; border-top: 1px solid var(--bb-border-lt); font-size: 13px; font-weight: 600; color: var(--bb-blue); transition: color .25s; }
body.bb-site a.bb-nav-foot:hover { color: var(--bb-orange); }
body.bb-site .bb-nav-toggle { display: none; }

/* ---------- Hero ---------- */
body.bb-site .bb-hero {
	--overflow: hidden; overflow: hidden;
	background: linear-gradient(180deg, var(--bb-white) 0%, var(--bb-hero-end) 100%);
	border-bottom: 1px solid var(--bb-border);
}
.bb-hero-blobs { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.bb-hero-blobs .b1 { position: absolute; top: -220px; right: -160px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle at 40% 40%, color-mix(in srgb, var(--bb-blue) 16%, transparent), transparent 68%); animation: bbblob 26s ease-in-out infinite; }
.bb-hero-blobs .b2 { position: absolute; bottom: -300px; left: -200px; width: 820px; height: 820px; border-radius: 50%; background: radial-gradient(circle at 55% 45%, color-mix(in srgb, var(--bb-orange) 13%, transparent), transparent 66%); animation: bbblob 34s ease-in-out 4s infinite reverse; }
.bb-hero-svg { position: absolute; inset: -8% 0 0 0; width: 100%; height: 116%; pointer-events: none; opacity: .55; }
body.bb-site .e-con.bb-hero-grid {
	--display: grid; display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
	gap: 64px; align-items: center;
	--padding-top: 72px; --padding-bottom: 84px;
}
body.bb-site .bb-pill p {
	display: inline-flex; align-items: center; gap: 9px;
	background: var(--bb-tint2); border: 1px solid #D2DEE7; color: var(--bb-blue);
	padding: 7px 14px; border-radius: 100px; font-size: 12.5px; font-weight: 600;
	letter-spacing: .06em; text-transform: uppercase; line-height: normal;
}
body.bb-site .bb-pill .bb-pdot { width: 7px; height: 7px; border-radius: 50%; background: var(--bb-orange); display: inline-block; }
body.bb-site .bb-lead, body.bb-site .bb-lead p { font-size: 18px; line-height: 1.62; color: var(--bb-text); max-width: 600px; text-wrap: pretty; }
body.bb-site .bb-lead.bb-strong-lead, body.bb-site .bb-lead.bb-strong-lead p { color: var(--bb-strong); }
body.bb-site .bb-lead strong { color: var(--bb-navy); }
body.bb-site .e-con.bb-btn-row { --flex-direction: row; --flex-wrap: wrap; gap: 14px; margin-top: 32px; --container-widget-width: initial; --align-items: center; }

body.bb-site .e-con.bb-hero-media { --position: relative; position: relative; }
body.bb-site .bb-hero-main { border-radius: 6px; overflow: hidden; border: 1px solid #DCE4EA; box-shadow: 0 26px 60px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); transition: border-color .35s, box-shadow .35s; }
body.bb-site .bb-hero-main:hover { border-color: var(--bb-orange); box-shadow: 0 34px 74px -26px color-mix(in srgb, var(--bb-navy) 55%, transparent); }
body.bb-site .bb-hero-main img { width: 100%; height: 600px; object-fit: cover; display: block; max-width: none; border-radius: 0; }
body.bb-site .elementor-widget.bb-hero-small { position: absolute; left: -38px; bottom: -42px; width: 206px; border-radius: 6px; overflow: hidden; border: 5px solid #fff; box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--bb-navy) 40%, transparent); z-index: 2; }
body.bb-site .bb-hero-small img { width: 100%; height: 150px; object-fit: cover; display: block; border-radius: 0; }
body.bb-site .e-con.bb-hero-badge {
	position: absolute; right: -26px; top: -30px; --width: auto; width: auto; z-index: 2;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; --padding-top: 16px; --padding-bottom: 16px; --padding-left: 20px; --padding-right: 20px;
	box-shadow: 0 14px 34px -14px color-mix(in srgb, var(--bb-navy) 34%, transparent);
	animation: bbfloat 7s ease-in-out infinite;
}
body.bb-site .bb-badge-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 30px; font-weight: 700; color: var(--bb-navy); line-height: 1; }
body.bb-site .bb-badge-label .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; color: var(--bb-muted); letter-spacing: .04em; text-transform: uppercase; font-weight: 600; line-height: normal; }
body.bb-site .elementor-widget.bb-badge-label { margin-top: 4px; }

/* ---------- Ticker ---------- */
.bb-ticker {
    background: var(--bb-navy);
    border-bottom: 1px solid #16324B;
    overflow: hidden;
    padding: 11px 0;
    white-space: nowrap;
}

.bb-ticker-track {
    display: flex;
    width: max-content;
    animation: bbticker 34s linear infinite;
}

.bb-ticker-row {
    display: flex;
    gap: 44px;
    width: max-content;
    flex-shrink: 0;
    align-items: center;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--bb-ticker-text);
    white-space: nowrap;
    padding-right: 44px;
}

.bb-ticker-row i {
    font-style: normal;
    color: var(--bb-orange);
    flex-shrink: 0;
}

/* ---------- What a rep does ---------- */
body.bb-site .e-con.bb-rep { --padding-top: 92px; --padding-bottom: 92px; overflow: hidden; --overflow: hidden; }
.bb-model-card { position: relative; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 30px 26px; box-shadow: var(--bb-shadow-navy); }
.bb-model-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-model-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 24px; }
.bb-model-node { padding: 18px 10px; border: 1px solid #DCE4EA; border-radius: 6px; text-align: center; background: var(--bb-bg); transition: transform .3s, border-color .3s; }
.bb-model-node:hover { transform: translateY(-4px); border-color: var(--bb-blue); }
.bb-model-node b { display: block; font-family: var(--bb-font-head); font-size: 16px; font-weight: 700; color: var(--bb-navy); }
.bb-model-node small { display: block; font-size: 12px; color: var(--bb-muted); margin-top: 4px; }
.bb-model-node.is-dark { background: var(--bb-navy); border: 0; }
.bb-model-node.is-dark b { color: #fff; }
.bb-model-node.is-dark small { color: var(--bb-on-dark); }
.bb-model-flow svg path { stroke: var(--bb-orange); }
.bb-model-bars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 22px; }
.bb-model-bars span { position: relative; height: 4px; border-radius: 2px; background: var(--bb-border); overflow: hidden; }
.bb-model-bars span.is-on { background: var(--bb-orange); }
.bb-model-bars span i { position: absolute; inset: 0; background: var(--bb-orange); transform-origin: left; animation: bbwave 3s ease-in-out infinite; }
.bb-model-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; font-size: 12.5px; font-weight: 600; color: var(--bb-muted); }
.bb-model-steps span:nth-child(2) { text-align: center; }
.bb-model-steps span:nth-child(3) { text-align: right; }

/* ---------- Components ---------- */
body.bb-site .e-con.bb-components { --padding-top: 20px; --padding-bottom: 96px; overflow: hidden; --overflow: hidden; }
.bb-comp-deco { position: absolute; right: -160px; top: 60px; width: 620px; height: 620px; opacity: .14; pointer-events: none; }
body.bb-site .e-con.bb-intro { max-width: 720px; }
body.bb-site .e-con.bb-intro.bb-w760 { max-width: 760px; }
body.bb-site .e-con.bb-cards3 { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 22px; margin-top: 40px; }
body.bb-site .e-con.bb-comp-card {
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; overflow: hidden; --overflow: hidden;
	display: flex; --flex-direction: column;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-comp-card:hover { border-color: var(--bb-orange); box-shadow: 0 28px 56px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); transform: translateY(-7px); }
body.bb-site .elementor-widget.bb-comp-img { height: 170px; overflow: hidden; background: var(--bb-tint); }
body.bb-site .bb-comp-img img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; border-radius: 0; }
body.bb-site .e-con.bb-comp-body { --padding-top: 22px; --padding-right: 22px; --padding-bottom: 24px; --padding-left: 22px; gap: 9px; --row-gap: 9px; flex: 1; }
body.bb-site .bb-card-h3 .elementor-heading-title { font-family: var(--bb-font-head); font-size: 20px; font-weight: 600; color: var(--bb-navy); margin: 0; letter-spacing: -0.01em; line-height: normal; }
body.bb-site .bb-card-p, body.bb-site .bb-card-p p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--bb-muted); text-wrap: pretty; }
body.bb-site .elementor-widget.bb-card-link { margin-top: auto; padding-top: 12px; }
body.bb-site .bb-card-link .elementor-heading-title { font-family: var(--bb-font-body); font-size: 13.5px; font-weight: 600; color: var(--bb-orange); line-height: normal; }

/* ---------- Dark sections ---------- */
body.bb-site .e-con.bb-dark { background: var(--bb-navy); color: #fff; overflow: hidden; --overflow: hidden; }
.bb-global-svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .34; pointer-events: none; }
body.bb-site .e-con.bb-global-grid { --padding-top: 88px; --padding-bottom: 88px; }
body.bb-site .elementor-widget.bb-btn-arrow { margin-top: 28px; }
body.bb-site .e-con.bb-stack { --display: grid; display: grid; gap: 14px; }
body.bb-site .e-con.bb-num-card {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: flex-start; gap: 18px; --container-widget-width: initial;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .11); border-radius: 6px;
	--padding-top: 22px; --padding-right: 22px; --padding-bottom: 22px; --padding-left: 22px;
	transition: background .3s, border-color .3s, transform .35s;
}
body.bb-site .e-con.bb-num-card:hover { background: rgba(255, 255, 255, .1); border-color: color-mix(in srgb, var(--bb-peach) 55%, transparent); transform: translateX(8px); }
body.bb-site .e-con.bb-num-card > .e-con { --width: auto; flex: 1; }
body.bb-site .bb-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: var(--bb-peach); padding-top: 3px; line-height: normal; }
body.bb-site .bb-num-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17.5px; font-weight: 600; color: #fff; line-height: normal; }
body.bb-site .bb-num-copy, body.bb-site .bb-num-copy p { font-size: 14.5px; line-height: 1.6; color: var(--bb-on-dark); }
body.bb-site .elementor-widget.bb-num-copy { margin-top: 5px; }
body.bb-site .bb-num-copy a { color: var(--bb-peach); font-weight: 600; border-bottom: 1px solid color-mix(in srgb, var(--bb-peach) 50%, transparent); transition: color .25s; }
body.bb-site .bb-num-copy a:hover { color: #fff; }

/* ---------- Industries ---------- */
body.bb-site .e-con.bb-industries { --padding-top: 96px; --padding-bottom: 96px; }
body.bb-site .e-con.bb-ind-grid { grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 22px; margin-top: 34px; }
body.bb-site .e-con.bb-ind-card {
	position: relative; border-radius: 8px; overflow: hidden; --overflow: hidden; min-height: 340px;
	display: flex; --flex-direction: column; --justify-content: flex-end; border: 1px solid var(--bb-border);
	transition: transform .4s var(--bb-ease), box-shadow .4s, border-color .4s;
}
body.bb-site .e-con.bb-ind-card:hover { transform: translateY(-8px); box-shadow: 0 32px 60px -28px color-mix(in srgb, var(--bb-navy) 50%, transparent); border-color: var(--bb-orange); }
body.bb-site .elementor-widget.bb-ind-img { position: absolute; inset: 0; margin: 0; }
body.bb-site .bb-ind-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; border-radius: 0; }
body.bb-site .elementor-widget.bb-ind-ov { position: absolute; inset: 0; margin: 0; pointer-events: none; }
.bb-ind-shade { position: absolute; inset: 0; background: linear-gradient(180deg, color-mix(in srgb, var(--bb-navy) 5%, transparent) 20%, color-mix(in srgb, var(--bb-navy) 92%, transparent) 100%); }
.bb-ind-corner { position: absolute; top: 14px; left: 14px; width: 26px; height: 26px; border-top: 2px solid var(--bb-orange); border-left: 2px solid var(--bb-orange); animation: bbpulse 5s ease-in-out infinite; transform-origin: top left; }
body.bb-site .e-con.bb-ind-body { position: relative; z-index: 1; --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px; }
body.bb-site .bb-ind-eyebrow .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-peach); line-height: normal; }
body.bb-site .bb-ind-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 26px; font-weight: 700; color: #fff; line-height: normal; }
body.bb-site .elementor-widget.bb-ind-title { margin-top: 8px; }
body.bb-site .bb-ind-copy, body.bb-site .bb-ind-copy p { font-size: 15px; line-height: 1.6; color: var(--bb-ind-text); max-width: 460px; text-wrap: pretty; }
body.bb-site .elementor-widget.bb-ind-copy { margin-top: 10px; }
body.bb-site .elementor-widget.bb-ind-link { margin-top: 14px; }
body.bb-site .bb-ind-link .elementor-heading-title { display: inline-block; font-family: var(--bb-font-body); font-size: 14px; font-weight: 600; color: #fff; border-bottom: 2px solid var(--bb-orange); padding-bottom: 2px; line-height: normal; }
body.bb-site .elementor-widget.bb-also-label { margin-top: 34px; }
body.bb-site .bb-also-label .elementor-heading-title { font-family: var(--bb-font-body); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); line-height: normal; }
body.bb-site .e-con.bb-also-grid { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; margin-top: 14px; }
body.bb-site .e-con.bb-also-card {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: flex-start; gap: 16px; --container-widget-width: initial;
	--padding-top: 22px; --padding-right: 22px; --padding-bottom: 22px; --padding-left: 22px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s, border-color .35s, box-shadow .35s;
}
body.bb-site .e-con.bb-also-card:hover { transform: translateY(-5px); border-color: var(--bb-orange); box-shadow: 0 22px 44px -26px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
body.bb-site .e-con.bb-also-card > .e-con { --width: auto; flex: 1; }
.bb-icon-tile { width: 44px; height: 44px; border-radius: 6px; background: var(--bb-tint); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bb-icon-tile svg { stroke: var(--bb-blue); }
body.bb-site .bb-also-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17.5px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .bb-also-copy, body.bb-site .bb-also-copy p { font-size: 14px; line-height: 1.55; color: var(--bb-muted); }
body.bb-site .elementor-widget.bb-also-copy { margin-top: 5px; }

/* ---------- Process ---------- */
body.bb-site .e-con.bb-process { --padding-top: 96px; --padding-bottom: 96px; background: var(--bb-white); border-top: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); overflow: hidden; --overflow: hidden; }
body.bb-site .e-con.bb-proc-head { --flex-direction: row; --flex-wrap: wrap; --align-items: flex-end; --justify-content: space-between; gap: 24px; --container-widget-width: initial; }
body.bb-site .e-con.bb-proc-head > .e-con { --width: auto; max-width: 640px; }
.bb-proc-line { position: relative; height: 1px; margin-top: 48px; background: #D9E1E8; }
.bb-proc-line span { position: absolute; top: -4px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--bb-orange); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bb-orange) 18%, transparent); animation: bbtravelx 7s cubic-bezier(.55, .1, .45, .9) infinite; }
body.bb-site .e-con.bb-steps { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
body.bb-site .e-con.bb-step {
	--padding-top: 30px; --padding-right: 26px; --padding-bottom: 34px; --padding-left: 26px;
	border-right: 1px solid var(--bb-border-lt); transition: background .3s, box-shadow .35s, transform .35s;
}
body.bb-site .e-con.bb-step:hover { background: var(--bb-bg); transform: translateY(-6px); }
body.bb-site .bb-step-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 44px; font-weight: 700; color: var(--bb-border-lt); line-height: 1; }
body.bb-site .elementor-widget.bb-step-title { margin-top: 12px; }
body.bb-site .elementor-widget.bb-step-copy { margin-top: 10px; }
body.bb-site .bb-step-copy, body.bb-site .bb-step-copy p { font-size: 14.5px; line-height: 1.65; color: var(--bb-muted); text-wrap: pretty; }

/* ---------- Territory ---------- */
body.bb-site .e-con.bb-territory { --padding-top: 96px; --padding-bottom: 96px; }
.bb-terr-card { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 28px; box-shadow: var(--bb-shadow-navy); }
.bb-terr-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-terr-head span:last-child { color: var(--bb-orange); }
.bb-terr-map { display: block; width: 100%; height: 360px; border: 0; margin-top: 14px; background: transparent; }
.bb-terr-foot { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--bb-border-lt); font-size: 13.5px; color: var(--bb-muted); }
.bb-terr-foot i { width: 9px; height: 9px; border-radius: 50%; background: var(--bb-orange); animation: bbpulse 2.4s ease-in-out infinite; flex-shrink: 0; }

/* ---------- Why ---------- */
.bb-why-svg { position: absolute; right: -140px; top: -140px; width: 560px; height: 560px; opacity: .2; pointer-events: none; }
body.bb-site .e-con.bb-why-in { --padding-top: 92px; --padding-bottom: 92px; }
body.bb-site .e-con.bb-why-grid { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 18px; margin-top: 36px; }
body.bb-site .e-con.bb-why-card {
	gap: 12px; --row-gap: 12px; --padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .11); border-radius: 8px;
	transition: background .3s, border-color .3s, transform .35s;
}
body.bb-site .e-con.bb-why-card:hover { background: rgba(255, 255, 255, .1); border-color: color-mix(in srgb, var(--bb-peach) 55%, transparent); transform: translateY(-6px); }
body.bb-site .bb-why-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; color: var(--bb-peach); line-height: normal; }
body.bb-site .bb-why-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 20px; font-weight: 600; color: #fff; line-height: 1.3; }
body.bb-site .bb-why-copy, body.bb-site .bb-why-copy p { font-size: 15px; line-height: 1.65; color: var(--bb-on-dark); text-wrap: pretty; }

/* ---------- Family / manufacturers ---------- */
body.bb-site .e-con.bb-family { --padding-top: 96px; --padding-bottom: 96px; overflow: hidden; --overflow: hidden; }
body.bb-site .e-con.bb-family-grid { gap: 48px; align-items: stretch; }
body.bb-site .e-con.bb-story-card {
	position: relative; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px;
	--padding-top: 40px; --padding-right: 40px; --padding-bottom: 40px; --padding-left: 40px; overflow: hidden; --overflow: hidden;
}
.bb-story-svg { position: absolute; right: -40px; bottom: -40px; width: 200px; height: 200px; opacity: .12; pointer-events: none; }
body.bb-site .bb-p.bb-p165, body.bb-site .bb-p.bb-p165 p { font-size: 16.5px; }
body.bb-site .bb-p.bb-p16, body.bb-site .bb-p.bb-p16 p { font-size: 16px; }
body.bb-site .e-con.bb-story-foot { --flex-direction: row; --flex-wrap: wrap; --align-items: center; gap: 18px; margin-top: 26px; --container-widget-width: initial; }
body.bb-site .bb-help .elementor-heading-title { font-family: var(--bb-font-head); font-size: 30px; font-weight: 700; color: var(--bb-navy); letter-spacing: -0.02em; line-height: normal; }
body.bb-site .bb-help .elementor-heading-title span { color: var(--bb-orange); }
body.bb-site .e-con.bb-mfr-card {
	position: relative; background: var(--bb-sand); border: 1px solid var(--bb-sand-border); border-radius: 8px;
	--padding-top: 40px; --padding-right: 40px; --padding-bottom: 40px; --padding-left: 40px;
	display: flex; --flex-direction: column;
}
.bb-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body.bb-site .elementor-widget.bb-chips-w { margin-top: 20px; }
.bb-chip { padding: 7px 12px; border-radius: 100px; background: #fff; border: 1px solid var(--bb-sand-border); font-size: 13px; font-weight: 600; color: var(--bb-rust); }
.bb-chips i { font-style: normal; color: var(--bb-orange); }
body.bb-site .bb-mfr-card > .elementor-widget.bb-btn-dark { margin-top: 26px; align-self: flex-start; }

/* ---------- FAQ (Elementor Accordion widget) ---------- */
body.bb-site .e-con.bb-faq { --padding-top: 88px; --padding-bottom: 96px; background: var(--bb-white); border-top: 1px solid var(--bb-border); }
body.bb-site .elementor-widget.bb-faq-title { margin: 0 0 30px; }
body.bb-site .bb-accordion .elementor-accordion { display: grid; gap: 10px; }
body.bb-site .bb-accordion .elementor-accordion .elementor-accordion-item {
	background: var(--bb-bg); border: 1px solid var(--bb-border); border-radius: 6px; overflow: hidden;
	transition: border-color .3s, box-shadow .3s;
}
body.bb-site .bb-accordion .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid var(--bb-border); }
body.bb-site .bb-accordion .elementor-accordion .elementor-accordion-item:hover { border-color: #C8D6E0; box-shadow: 0 14px 30px -20px color-mix(in srgb, var(--bb-navy) 30%, transparent); }
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left;
	padding: 20px 24px; background: none; border: none; cursor: pointer;
	font-family: var(--bb-font-head); font-size: 17.5px; font-weight: 600; color: var(--bb-navy); line-height: 1.4;
	transition: color .25s, background .25s;
}
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title:hover { color: var(--bb-orange); background: var(--bb-white); }
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title { color: inherit; font: inherit; outline-offset: 4px; }
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title::after {
	content: '+'; order: 2; width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%;
	background: #F4E5D9; color: var(--bb-orange); font-family: var(--bb-font-body); font-size: 20px; font-weight: 400; line-height: 24px; text-align: center;
	transition: transform .45s var(--bb-ease), background .3s, color .3s;
}
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title.elementor-active::after { transform: rotate(135deg); background: var(--bb-orange); color: #fff; }
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon { display: none; }
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-content {
	padding: 0 24px 22px; border: none; font-size: 15.5px; line-height: 1.65; color: var(--bb-muted);
}
/* Design: answer <p> is max-width 720px including its 24px side padding, so the text column is 672px. */
body.bb-site .bb-accordion .elementor-accordion .elementor-tab-content > * { max-width: 672px; text-wrap: pretty; }

/* ---------- Quote ---------- */
body.bb-site .e-con.bb-quote { --padding-top: 92px; --padding-bottom: 96px; background: var(--bb-bg); border-top: 1px solid var(--bb-border); overflow: hidden; --overflow: hidden; }
.bb-quote-svg { position: absolute; left: -220px; bottom: -200px; width: 760px; height: 760px; opacity: .13; pointer-events: none; }
body.bb-site .e-con.bb-quote-grid { gap: 64px; align-items: start; }
.bb-send-box { margin-top: 26px; padding: 20px 22px; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; }
.bb-send-box-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.bb-tag { padding: 7px 12px; border-radius: 100px; background: var(--bb-tint); font-size: 13px; font-weight: 600; color: var(--bb-blue); }
.bb-tag.is-warm { background: var(--bb-sand); color: var(--bb-rust); }
.bb-contact-rows { margin-top: 22px; display: grid; gap: 2px; border-top: 1px solid var(--bb-border); }
body.bb-site .bb-contact-rows a { display: flex; align-items: center; justify-content: space-between; padding: 17px 0; border-bottom: 1px solid var(--bb-border); font-weight: 600; color: var(--bb-blue); transition: color .25s, padding-left .3s; }
body.bb-site .bb-contact-rows a:hover { color: var(--bb-orange); padding-left: 10px; }
.bb-contact-rows a span:last-child { color: var(--bb-orange); }
body.bb-site .e-con.bb-form-card { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; --padding-top: 32px; --padding-right: 32px; --padding-bottom: 32px; --padding-left: 32px; box-shadow: var(--bb-shadow-navy); }

.bb-qf-form { display: grid; gap: 16px; }
.bb-qf-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
body.bb-site .bb-qf label { display: grid; gap: 7px; font-size: 13px; font-weight: 600; color: var(--bb-label); margin: 0; }
body.bb-site .bb-qf input:not([type=file]):not([type=hidden]), body.bb-site .bb-qf select, body.bb-site .bb-qf textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #D3DDE5; border-radius: 4px; font-size: 15px; font-weight: 400;
	background: #fff; color: var(--bb-ink); outline: none; box-shadow: none; height: auto; line-height: normal;
}
body.bb-site .bb-qf input:focus, body.bb-site .bb-qf textarea:focus, body.bb-site .bb-qf select:focus { border-color: var(--bb-blue); }
body.bb-site .bb-qf textarea { resize: vertical; min-height: 0; }
body.bb-site .bb-qf input[type=file] { width: 100%; padding: 12px 14px; border: 1.5px dashed #C3D0DA; border-radius: 4px; font-size: 14px; background: var(--bb-bg); color: var(--bb-text); cursor: pointer; }
body.bb-site .bb-qf button[type=submit] {
	margin-top: 4px; background: var(--bb-orange); color: #fff; border: none; padding: 16px; border-radius: 4px;
	font-size: 16px; font-weight: 600; cursor: pointer; line-height: normal; width: 100%;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--bb-orange) 22%, transparent);
	transition: background .25s, transform .25s, box-shadow .25s;
}
body.bb-site .bb-qf button[type=submit]:hover { background: var(--bb-orange-dk); transform: translateY(-2px); box-shadow: 0 16px 32px -10px color-mix(in srgb, var(--bb-orange) 55%, transparent); }
.bb-qf-note { font-size: 12.5px; color: #7C8FA0; text-align: center; }
.bb-qf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bb-qf-error { padding: 12px 14px; border-radius: 4px; background: var(--bb-sand); color: var(--bb-rust); font-size: 14px; font-weight: 600; }
.bb-qf-done { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 36px 8px 40px; }
.bb-qf-done svg { stroke: var(--bb-success); }
.bb-qf-done h3 { font-family: var(--bb-font-head); font-size: 24px; font-weight: 600; color: var(--bb-navy); margin: 6px 0 0; }
.bb-qf-done p { margin: 0; font-size: 16px; color: var(--bb-muted); line-height: 1.6; }

/* ---------- Footer ---------- */
body.bb-site .e-con.bb-footer { background: var(--bb-navy); color: var(--bb-footer-text); --padding-top: 60px; --padding-bottom: 30px; }
body.bb-site .e-con.bb-foot-grid { grid-template-columns: repeat(auto-fit, minmax(max(160px, calc(25% - 30px)), 1fr)); gap: 40px 36px; }
body.bb-site .e-con.bb-foot-col { --display: grid; display: grid; gap: 30px; align-content: start; font-size: 14px; min-width: 0; }
body.bb-site .e-con.bb-foot-brand { --display: grid; display: grid; gap: 18px; align-content: start; min-width: 0; justify-items: start; }
body.bb-site .bb-foot-desc, body.bb-site .bb-foot-desc p { font-size: 14px; line-height: 1.65; margin: 0; max-width: 280px; color: var(--bb-footer-text); }
body.bb-site .e-con.bb-foot-group { --display: grid; display: grid; gap: 9px; align-content: start; }
body.bb-site .bb-foot-title .elementor-heading-title { color: #fff; font-weight: 600; font-family: var(--bb-font-head); font-size: 14.5px; letter-spacing: .01em; line-height: normal; }
body.bb-site .elementor-widget.bb-foot-title { margin-bottom: 3px; }
body.bb-site .bb-foot-links .elementor-icon-list-items { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
body.bb-site .bb-foot-links .elementor-icon-list-item { margin: 0; padding: 0; font-size: 14px; line-height: normal; }
body.bb-site .bb-foot-links .elementor-icon-list-item::after { display: none; }
body.bb-site .bb-foot-links .elementor-icon-list-text { color: var(--bb-footer-text); transition: color .25s; padding: 0; line-height: normal; }
body.bb-site .bb-foot-links .elementor-icon-list-item:not(:has(a)) .elementor-icon-list-text { line-height: 1.55; }
body.bb-site .bb-foot-links a:hover .elementor-icon-list-text { color: #fff; }
body.bb-site .e-con.bb-foot-bottom {
	--flex-direction: row; --flex-wrap: wrap; --justify-content: space-between; gap: 20px; --container-widget-width: initial;
	margin-top: 32px; --padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px;
}
body.bb-site .bb-foot-bottom p,
body.bb-site .bb-foot-bottom .elementor-widget-text-editor { font-size: 13px; color: var(--bb-footer-text); margin: 0; line-height: normal; }
body.bb-site .bb-foot-legal p { display: flex; gap: 18px; }
body.bb-site .bb-foot-bottom a { color: var(--bb-footer-text); }
body.bb-site .bb-foot-bottom a:hover { color: #fff; }

/* =========================================================================
 * INNER PAGES (component / industry pages)
 * ====================================================================== */
@keyframes bbflow { 0% { background-position: 0 0 } 100% { background-position: 56px 0 } }

/* Hero */
body.bb-site .e-con.bb-in-hero-wrap { --padding-top: 34px; --padding-bottom: 80px; }
body.bb-site .bb-crumbs p { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--bb-muted); flex-wrap: wrap; margin: 0; line-height: normal; }
body.bb-site .bb-crumbs a { color: var(--bb-muted); transition: color .25s; }
body.bb-site .bb-crumbs a:hover { color: var(--bb-orange); }
body.bb-site .bb-crumbs .sep { color: #A9B8C5; }
body.bb-site .bb-crumbs .is-current { color: var(--bb-blue); font-weight: 600; }
body.bb-site .e-con.bb-in-hero-grid { --display: grid; display: grid; grid-template-columns: 1.08fr .92fr; gap: 60px; align-items: center; margin-top: 40px; }
body.bb-site .bb-h1.bb-fs52 .elementor-heading-title { font-size: 52px; }
body.bb-site .elementor-widget.bb-h1.bb-mt20 { margin-top: 20px; }
body.bb-site .bb-lead.bb-w580, body.bb-site .bb-lead.bb-w580 p { max-width: 580px; }
body.bb-site .bb-inline-link a, body.bb-site a.bb-inline-link {
	color: var(--bb-orange); font-weight: 600; border-bottom: 1px solid color-mix(in srgb, var(--bb-orange) 40%, transparent); transition: color .25s;
}
body.bb-site .bb-inline-link a:hover, body.bb-site a.bb-inline-link:hover { color: var(--bb-orange-dk); }
body.bb-site .bb-reviewed p {
	display: flex; align-items: center; gap: 12px; margin: 0; padding-top: 22px; border-top: 1px solid #DCE4EA; max-width: 580px;
	font-size: 14px; color: var(--bb-muted); line-height: 1.45;
}
body.bb-site .elementor-widget.bb-reviewed { margin-top: 28px; }
body.bb-site .bb-reviewed a { color: var(--bb-blue); font-weight: 600; }
.bb-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--bb-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--bb-font-head); font-weight: 700; font-size: 14px; flex-shrink: 0; }
body.bb-site .bb-in-hero-img img { height: 440px; }
body.bb-site .e-con.bb-float-card {
	position: absolute; left: -34px; bottom: -34px; --width: auto; width: auto; max-width: 270px; z-index: 2;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	--padding-top: 18px; --padding-bottom: 18px; --padding-left: 20px; --padding-right: 20px;
	box-shadow: 0 18px 40px -16px color-mix(in srgb, var(--bb-navy) 38%, transparent); transition: border-color .3s;
}
body.bb-site .e-con.bb-float-card:hover { border-color: var(--bb-orange); }
body.bb-site .bb-float-eyebrow .elementor-heading-title { font-family: var(--bb-font-body); font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-float-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17px; font-weight: 600; color: var(--bb-navy); line-height: 1.3; }
body.bb-site .elementor-widget.bb-float-title { margin-top: 6px; }
.bb-hero-svg.bb-ac { inset: -6% 0 0 0; height: 112%; }

/* Statement band */
body.bb-site .e-con.bb-band { background: var(--bb-navy); overflow: hidden; --overflow: hidden; }
.bb-band-lines { position: absolute; inset: 0; opacity: .16; background-image: repeating-linear-gradient(90deg, var(--bb-steel) 0 1px, transparent 1px 56px); animation: bbflow 3s linear infinite; pointer-events: none; }
body.bb-site .e-con.bb-band-in { --display: grid; display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: center; --padding-top: 46px; --padding-bottom: 46px; }
body.bb-site .bb-statement .elementor-heading-title { font-family: var(--bb-font-head); font-size: 25px; line-height: 1.4; font-weight: 500; color: #fff; letter-spacing: -0.01em; text-wrap: pretty; }
body.bb-site .bb-statement .elementor-heading-title span { color: var(--bb-peach); }
body.bb-site .e-con.bb-note {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: flex-start; gap: 14px; --container-widget-width: initial;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 6px;
	--padding-top: 20px; --padding-bottom: 20px; --padding-left: 22px; --padding-right: 22px;
}
body.bb-site .e-con.bb-note > .elementor-widget-text-editor { flex: 1; }
.bb-note-icon svg { display: block; flex-shrink: 0; margin-top: 1px; stroke: var(--bb-peach); }
body.bb-site .bb-note-text, body.bb-site .bb-note-text p { font-size: 15px; line-height: 1.6; color: var(--bb-on-dark); margin: 0; }

/* Body with sticky table of contents */
body.bb-site .e-con.bb-in-body { --padding-top: 88px; --padding-bottom: 40px; }
body.bb-site .e-con.bb-toc-layout { --display: grid; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; }
body.bb-site .e-con.bb-toc-aside { position: sticky; top: 104px; --display: grid; display: grid; gap: 4px; }
body.admin-bar.bb-site .e-con.bb-toc-aside { top: 136px; }
body.bb-site .bb-toc-label .elementor-heading-title { font-family: var(--bb-font-body); font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bb-subtle); line-height: normal; }
body.bb-site .elementor-widget.bb-toc-label { margin-bottom: 10px; }
body.bb-site .bb-toc .elementor-icon-list-items { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
body.bb-site .bb-toc .elementor-icon-list-item { margin: 0; padding: 0; }
body.bb-site .bb-toc .elementor-icon-list-item::after { display: none; }
body.bb-site .bb-toc .elementor-icon-list-item a {
	display: block; padding: 8px 0 8px 14px; font-size: 14px; font-weight: 500; color: var(--bb-muted); line-height: normal;
	border-left: 2px solid #DCE4EA; transition: color .25s, border-color .25s;
}
body.bb-site .bb-toc .elementor-icon-list-text { color: inherit; padding: 0; font: inherit; transition: none; }
body.bb-site .bb-toc .elementor-icon-list-item a:hover { color: var(--bb-orange); }
body.bb-site .bb-toc .elementor-icon-list-item a.is-active { color: var(--bb-navy); font-weight: 600; border-left-color: var(--bb-orange); }
body.bb-site .elementor-widget.bb-btn-block { margin-top: 20px; }
body.bb-site .elementor-widget.bb-btn-block .elementor-button { display: flex; justify-content: center; width: 100%; padding: 13px 16px; font-size: 14px; }
body.bb-site .elementor-widget.bb-btn-dark.bb-btn-block .elementor-button:hover { transform: none; }
body.bb-site .e-con.bb-in-main { --display: grid; display: grid; gap: 80px; }
body.bb-site .e-con.bb-in-main > .e-con { scroll-margin-top: 100px; }

/* Shared inner type */
body.bb-site .elementor-widget.bb-mt10 { margin-top: 10px; }
body.bb-site .elementor-widget.bb-mt12 { margin-top: 12px; }
body.bb-site .bb-h2.bb-fs32 .elementor-heading-title { font-size: 32px; line-height: 1.15; }
body.bb-site .bb-h2.bb-fs26 .elementor-heading-title { font-size: 26px; line-height: 1.2; letter-spacing: -0.015em; }
body.bb-site .bb-h2.bb-lh112 .elementor-heading-title { line-height: 1.12; }
body.bb-site .bb-secnum .elementor-heading-title { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-p.bb-lh17, body.bb-site .bb-p.bb-lh17 p { line-height: 1.7; }

/* Type cards (smaller component cards) */
body.bb-site .e-con.bb-cards3-fixed { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
body.bb-site .bb-comp-card.bb-sm .elementor-widget.bb-comp-img { height: 150px; }
body.bb-site .bb-comp-card.bb-sm .e-con.bb-comp-body { --padding-top: 20px; --padding-right: 20px; --padding-bottom: 22px; --padding-left: 20px; gap: 8px; --row-gap: 8px; }
body.bb-site .bb-type-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--bb-subtle); line-height: normal; }
body.bb-site .bb-comp-card.bb-sm .bb-card-h3 .elementor-heading-title { font-size: 19px; letter-spacing: normal; }
body.bb-site .bb-comp-card.bb-sm .bb-card-p, body.bb-site .bb-comp-card.bb-sm .bb-card-p p { font-size: 14px; line-height: 1.55; }
body.bb-site .bb-comp-card.bb-sm .elementor-widget.bb-card-link { padding-top: 10px; }

/* Two-column feature rows */
body.bb-site .e-con.bb-feature { --display: grid; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
body.bb-site .e-con.bb-feature.bb-top { align-items: start; }
body.bb-site .elementor-widget.bb-feature-img { border-radius: 6px; overflow: hidden; border: 1px solid var(--bb-border); height: 320px; }
body.bb-site .bb-feature-img img { width: 100%; height: 100%; object-fit: cover; display: block; max-width: none; border-radius: 0; }
.bb-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.bb-pill-tag { padding: 8px 14px; border: 1px solid #D3DDE5; border-radius: 100px; font-size: 13px; font-weight: 500; color: var(--bb-blue); background: #fff; transition: border-color .25s, background .25s; }
.bb-pill-tag:hover { border-color: var(--bb-orange); background: var(--bb-sand); }

/* Circuit toggle widget */
.bb-circuit { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 24px; box-shadow: 0 20px 44px -30px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
.bb-circuit-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bb-circuit-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-seg { display: flex; background: var(--bb-tint); border-radius: 100px; padding: 4px; gap: 4px; }
body.bb-site .bb-seg button {
	border: none; cursor: pointer; padding: 8px 16px; border-radius: 100px; font-size: 13px; font-weight: 600; line-height: normal;
	transition: background .3s, color .3s, box-shadow .3s; background: transparent; color: var(--bb-muted); box-shadow: none;
}
body.bb-site .bb-seg button.is-on { background: #fff; color: var(--bb-navy); box-shadow: 0 2px 8px color-mix(in srgb, var(--bb-navy) 14%, transparent); }
.bb-circuit-coil { margin-top: 20px; border: 2px solid var(--bb-blue); border-radius: 4px; padding: 14px 16px; display: grid; gap: 9px; background: repeating-linear-gradient(90deg, var(--bb-bg) 0 3px, #fff 3px 9px); }
.bb-circuit-row { display: flex; align-items: center; gap: 10px; --c: var(--bb-blue); }
.bb-circuit-row.is-a { --c: var(--bb-orange); }
.bb-circuit-row .d { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--c); background: #fff; flex-shrink: 0; transition: border-color .5s; transition-delay: inherit; }
.bb-circuit-row .b { flex: 1; height: 6px; border-radius: 3px; background: var(--c); transition: background .5s; transition-delay: inherit; }
.bb-circuit-row:nth-child(2) { transition-delay: .05s; } .bb-circuit-row:nth-child(3) { transition-delay: .1s; }
.bb-circuit-row:nth-child(4) { transition-delay: .15s; } .bb-circuit-row:nth-child(5) { transition-delay: .2s; }
.bb-circuit-row:nth-child(6) { transition-delay: .25s; } .bb-circuit-row:nth-child(7) { transition-delay: .3s; }
.bb-circuit-row:nth-child(8) { transition-delay: .35s; }
.bb-circuit-legend { display: flex; gap: 20px; margin-top: 16px; font-size: 13px; color: var(--bb-muted); flex-wrap: wrap; }
.bb-circuit-legend span { display: flex; align-items: center; gap: 8px; }
.bb-circuit-legend i { width: 14px; height: 4px; border-radius: 2px; background: var(--bb-blue); }
.bb-circuit-legend i.a { background: var(--bb-orange); }
body.bb-site .bb-circuit-note { margin: 14px 0 0; font-size: 14px; line-height: 1.55; color: var(--bb-text); min-height: 44px; }

/* Tube-fin diagram card */
.bb-diagram-card { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 28px; position: relative; overflow: hidden; }
.bb-diagram-card svg { width: 100%; height: auto; display: block; }
.bb-diagram-legend { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--bb-muted); margin-top: 10px; }

/* Dark callout (A2L) */
body.bb-site .e-con.bb-dark-card { position: relative; background: var(--bb-navy); border-radius: 8px; --padding-top: 44px; --padding-right: 44px; --padding-bottom: 44px; --padding-left: 44px; overflow: hidden; --overflow: hidden; }
body.bb-site .e-con.bb-dark-card.bb-pb46 { --padding-bottom: 46px; }
.bb-dark-card-svg { position: absolute; right: -90px; top: -90px; width: 360px; height: 360px; opacity: .28; pointer-events: none; }
body.bb-site .e-con.bb-dark-card-grid { --display: grid; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; position: relative; z-index: 1; }
body.bb-site .bb-p.bb-on-dark a { color: var(--bb-orange); font-weight: 600; border-bottom: 1px solid color-mix(in srgb, var(--bb-orange) 40%, transparent); transition: color .25s; }
body.bb-site .bb-p.bb-on-dark a:hover { color: var(--bb-orange-dk); }
.bb-ref-side { display: grid; gap: 12px; }
.bb-ref-row { display: flex; gap: 12px; }
.bb-ref-row span { flex: 1; text-align: center; padding: 18px 10px; border: 1px solid color-mix(in srgb, var(--bb-peach) 50%, transparent); border-radius: 6px; font-family: var(--bb-font-head); font-size: 24px; font-weight: 700; color: #fff; transition: background .3s, transform .3s; }
.bb-ref-row span:hover { background: color-mix(in srgb, var(--bb-orange) 20%, transparent); transform: translateY(-3px); }
.bb-ref-list { display: grid; gap: 8px; font-size: 14px; color: var(--bb-ind-text); }
.bb-ref-list span { display: flex; gap: 10px; align-items: center; }
.bb-ref-list i { font-style: normal; color: var(--bb-peach); }

/* Icon callout (replacement) */
body.bb-site .e-con.bb-callout {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 28px; align-items: start;
	--padding-top: 34px; --padding-right: 34px; --padding-bottom: 34px; --padding-left: 34px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; transition: border-color .3s, box-shadow .3s;
}
body.bb-site .e-con.bb-callout:hover { border-color: #C8D6E0; box-shadow: 0 20px 44px -30px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
.bb-icon-tile-lg { width: 54px; height: 54px; border-radius: 6px; background: var(--bb-sand); display: flex; align-items: center; justify-content: center; }
.bb-icon-tile-lg svg { stroke: var(--bb-orange); }
body.bb-site .bb-h2.bb-mt0 { margin-top: 0; }

/* RFQ checklist */
body.bb-site .e-con.bb-rfq-grid { --display: grid; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 44px; align-items: start; }
.bb-rfq-summary { margin-top: 26px; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 22px; }
.bb-rfq-top { display: flex; justify-content: space-between; align-items: baseline; }
.bb-rfq-count { font-family: var(--bb-font-head); font-size: 30px; font-weight: 700; color: var(--bb-navy); }
.bb-rfq-count small { font-size: 18px; color: var(--bb-subtle); }
.bb-rfq-label { font-size: 13px; font-weight: 600; color: var(--bb-muted); }
.bb-rfq-bar { height: 6px; background: var(--bb-tint); border-radius: 3px; margin-top: 12px; overflow: hidden; }
.bb-rfq-bar div { height: 100%; width: 0; background: linear-gradient(90deg, var(--bb-blue), var(--bb-orange)); border-radius: 3px; transition: width .5s var(--bb-ease); }
body.bb-site a.bb-rfq-btn {
	margin-top: 20px; display: block; text-align: center; position: relative; overflow: hidden; background: var(--bb-orange); color: #fff;
	padding: 15px; border-radius: 4px; font-weight: 600; font-size: 15.5px; transition: background .25s, transform .25s, box-shadow .25s;
}
body.bb-site a.bb-rfq-btn:hover { background: var(--bb-orange-dk); color: #fff; transform: translateY(-2px); box-shadow: 0 16px 32px -10px color-mix(in srgb, var(--bb-orange) 55%, transparent); }
.bb-rfq-note { margin-top: 10px; text-align: center; font-size: 12.5px; color: #7C8FA0; }
.bb-rfq-list { display: grid; gap: 10px; }
body.bb-site button.bb-rfq-item {
	display: flex; align-items: center; gap: 14px; width: 100%; padding: 15px 18px; border-radius: 6px; cursor: pointer;
	border: 1px solid var(--bb-border); background: #fff; color: inherit; font: inherit; text-align: left; box-shadow: none;
	transition: border-color .25s, background .25s, transform .25s;
}
body.bb-site button.bb-rfq-item:hover { border-color: var(--bb-orange); background: #fff; }
body.bb-site button.bb-rfq-item.is-on { border-color: var(--bb-orange); background: var(--bb-sand); }
.bb-rfq-box { width: 22px; height: 22px; flex-shrink: 0; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: #fff; border: 2px solid #C3D0DA; background: #fff; transition: background .25s, border-color .25s; }
.bb-rfq-item.is-on .bb-rfq-box { border-color: var(--bb-orange); background: var(--bb-orange); }
.bb-rfq-item.is-on .bb-rfq-box::after { content: '\2713'; }
.bb-rfq-text { font-size: 15px; line-height: 1.45; color: var(--bb-strong); text-align: left; }

/* Project story placeholder */
body.bb-site .e-con.bb-story-note {
	--display: grid; display: grid; gap: 22px; align-items: start;
	border: 1.5px dashed #C8D6E0; border-radius: 8px; --padding-top: 28px; --padding-bottom: 28px; --padding-left: 30px; --padding-right: 30px;
	background: rgba(255, 255, 255, .6);
}
body.bb-site .bb-story-badge .elementor-heading-title { display: inline-block; font-family: var(--bb-font-head); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-orange); padding: 6px 10px; border: 1px solid var(--bb-sand-border); border-radius: 4px; background: var(--bb-sand); line-height: normal; }
body.bb-site .bb-story-text, body.bb-site .bb-story-text p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bb-muted); }

/* FAQ on inner pages */
body.bb-site .e-con.bb-in-faq { --padding-top: 72px; --padding-bottom: 88px; }
body.bb-site .elementor-widget.bb-faq-title.bb-mb28 { margin-bottom: 28px; }
body.bb-site .bb-accordion.bb-white .elementor-accordion .elementor-accordion-item { background: var(--bb-white); }
body.bb-site .bb-accordion.bb-white .elementor-accordion .elementor-tab-title { font-size: 17px; }
body.bb-site .bb-accordion.bb-white .elementor-accordion .elementor-tab-title:hover { background: #FBFCFD; }

/* Related links */
body.bb-site .e-con.bb-related { background: var(--bb-white); border-top: 1px solid var(--bb-border); --padding-top: 64px; --padding-bottom: 72px; }
body.bb-site .e-con.bb-related-head { --flex-direction: row; --flex-wrap: wrap; --justify-content: space-between; --align-items: flex-end; gap: 20px; --container-widget-width: initial; }
body.bb-site .bb-related-head .bb-h2 .elementor-heading-title { line-height: normal; }
body.bb-site .e-con.bb-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 26px; }
body.bb-site .e-con.bb-rel-card {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; --justify-content: space-between; gap: 16px; --container-widget-width: initial;
	--padding-top: 22px; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 24px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-bg); transition: background .3s, border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-rel-card:hover { background: var(--bb-white); border-color: var(--bb-orange); transform: translateY(-4px); }
body.bb-site .e-con.bb-rel-card > .e-con { --width: auto; }
body.bb-site .bb-rel-kicker .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bb-subtle); line-height: normal; }
body.bb-site .bb-rel-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 18px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-rel-name { margin-top: 5px; }
body.bb-site .bb-rel-arrow .elementor-heading-title { color: var(--bb-orange); font-size: 20px; line-height: normal; font-family: var(--bb-font-body); }

/* CTA band */
body.bb-site .e-con.bb-cta-band { background: var(--bb-blue); overflow: hidden; --overflow: hidden; }
.bb-cta-band-svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .25; pointer-events: none; }
body.bb-site .e-con.bb-cta-in { --flex-direction: row; --flex-wrap: wrap; --align-items: center; --justify-content: space-between; gap: 32px; --padding-top: 56px; --padding-bottom: 56px; --container-widget-width: initial; }
body.bb-site .e-con.bb-cta-in > .e-con { --width: auto; }
body.bb-site .bb-cta-h .elementor-heading-title { font-family: var(--bb-font-head); font-size: 30px; font-weight: 700; color: #fff; letter-spacing: -0.015em; line-height: normal; }
body.bb-site .bb-cta-p, body.bb-site .bb-cta-p p { margin: 0; color: var(--bb-on-dark); font-size: 16px; line-height: normal; }
body.bb-site .elementor-widget.bb-cta-p { margin-top: 8px; }
body.bb-site .e-con.bb-btn-row.bb-g12 { gap: 12px; margin-top: 0; }
body.bb-site .elementor-widget.bb-btn-cta .elementor-button { padding: 15px 28px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-cta .elementor-button:hover { background: var(--bb-orange-lt); box-shadow: 0 16px 30px -12px color-mix(in srgb, var(--bb-orange) 65%, transparent); }
body.bb-site .elementor-widget.bb-btn-outline-light .elementor-button { background: transparent; color: #fff; padding: 15px 26px; border: 1px solid rgba(255, 255, 255, .3); box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-outline-light .elementor-button:hover { background: rgba(255, 255, 255, .08); border-color: #fff; color: #fff; box-shadow: none; }

/* =========================================================================
 * MOTORS-style pieces (reused by other component pages)
 * ====================================================================== */
@keyframes bbwavey { 0%, 100% { transform: scaleY(.35) } 50% { transform: scaleY(1) } }

/* Centered notice band */
body.bb-site .e-con.bb-notice-in {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center; --justify-content: center; gap: 16px;
	--padding-top: 40px; --padding-bottom: 40px; --container-widget-width: initial;
}
body.bb-site .bb-notice-in .bb-note-icon svg { margin-top: 0; }
body.bb-site .bb-notice-in > .elementor-widget-html { flex-shrink: 0; }
body.bb-site .bb-notice-text, body.bb-site .bb-notice-text p { margin: 0; font-size: 16.5px; line-height: 1.55; color: var(--bb-ind-text); text-align: center; }

/* Hero: row float card + dark wave badge */
body.bb-site .e-con.bb-float-card.bb-float-row {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 16px; --container-widget-width: initial;
	--padding-top: 16px; --padding-bottom: 16px; max-width: none;
}
body.bb-site .bb-float-row > .e-con { --width: auto; }
body.bb-site .bb-float-row .elementor-widget.bb-float-title { margin-top: 3px; }
body.bb-site .bb-float-row .bb-float-title .elementor-heading-title { line-height: normal; white-space: nowrap; }
.bb-spinner { display: block; flex-shrink: 0; }
body.bb-site .e-con.bb-wave-badge {
	position: absolute; right: -22px; top: -26px; --width: auto; width: auto; z-index: 2;
	background: var(--bb-navy); border-radius: 6px; --padding-top: 14px; --padding-bottom: 14px; --padding-left: 18px; --padding-right: 18px;
	box-shadow: 0 14px 34px -14px color-mix(in srgb, var(--bb-navy) 50%, transparent);
	animation: bbfloat 7s ease-in-out infinite;
}
.bb-wave { display: flex; align-items: flex-end; gap: 4px; height: 22px; }
.bb-wave span { width: 3px; height: 22px; background: var(--bb-peach); transform-origin: bottom; animation: bbwavey 1.4s ease-in-out infinite; }
.bb-wave span:nth-child(2) { animation-delay: .15s; }
.bb-wave span:nth-child(3) { animation-delay: .3s; }
.bb-wave span:nth-child(4) { animation-delay: .45s; }
body.bb-site .elementor-widget.bb-wave-label { margin-top: 8px; }
body.bb-site .bb-wave-label .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bb-ind-text); line-height: normal; }

/* Feature row 1.1fr / .9fr + intro width */
body.bb-site .e-con.bb-feature.bb-feature-11 { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
body.bb-site .e-con.bb-intro-700 { max-width: 700px; }
body.bb-site .bb-eyebrow.bb-fs12 .elementor-heading-title { font-size: 12px; letter-spacing: .12em; }

/* PSC vs ECM compare card */
body.bb-site .e-con.bb-cmp-card {
	--display: grid; display: grid; gap: 14px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px;
	--padding-top: 26px; --padding-right: 26px; --padding-bottom: 26px; --padding-left: 26px;
}
body.bb-site .e-con.bb-cmp-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
body.bb-site .e-con.bb-cmp-tile {
	--padding-top: 18px; --padding-right: 18px; --padding-bottom: 18px; --padding-left: 18px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-bg); transition: transform .3s, border-color .3s;
}
body.bb-site .e-con.bb-cmp-tile:hover { transform: translateY(-3px); border-color: #C8D6E0; }
body.bb-site .e-con.bb-cmp-tile.is-ecm { border-color: var(--bb-orange); background: var(--bb-sand); }
body.bb-site .bb-cmp-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; color: var(--bb-subtle); line-height: normal; }
body.bb-site .is-ecm .bb-cmp-name .elementor-heading-title { color: var(--bb-navy); }
body.bb-site .elementor-widget.bb-cmp-sub { margin-top: 6px; }
body.bb-site .bb-cmp-sub, body.bb-site .bb-cmp-sub p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--bb-muted); }
.bb-cmp-bars { display: flex; gap: 4px; margin-top: 14px; }
.bb-cmp-bars span { flex: 1; height: 6px; border-radius: 3px; background: #C3D0DA; }
.bb-cmp-grad { height: 6px; border-radius: 3px; margin-top: 14px; background: linear-gradient(90deg, var(--bb-blue), var(--bb-orange)); }
body.bb-site .bb-cmp-foot p { display: flex; align-items: center; gap: 10px; margin: 0; padding-top: 4px; font-size: 13.5px; color: var(--bb-text); line-height: normal; }
.bb-cmp-arrow { font-family: var(--bb-font-head); font-weight: 700; color: var(--bb-orange); }

/* ECM modes chart */
body.bb-site .elementor-widget.bb-modes-w { margin-top: 32px; }
.bb-modes { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-modes-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--bb-border); }
body.bb-site .bb-mode-tab {
	--c: var(--bb-blue);
	display: flex; align-items: center; gap: 12px; padding: 20px 24px; border: none; border-right: 1px solid var(--bb-border); border-radius: 0;
	cursor: pointer; text-align: left; background: var(--bb-bg); color: inherit; box-shadow: inset 0 0 0 var(--c);
	transition: background .3s, box-shadow .3s; line-height: normal;
}
body.bb-site .bb-mode-tab.is-ct { --c: var(--bb-orange); }
body.bb-site .bb-mode-tab.is-cs { --c: var(--bb-success); }
body.bb-site .bb-mode-tab:hover, body.bb-site .bb-mode-tab:focus { background: #FBFCFD; color: inherit; }
.bb-mode-tab .sw { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; background: var(--c); transform: scale(.8); transition: transform .3s; }
.bb-mode-tab .nm { font-family: var(--bb-font-head); font-size: 16.5px; font-weight: 600; color: var(--bb-navy); }
.bb-modes[data-mode=ct] .bb-mode-tab.is-ct, .bb-modes[data-mode=ca] .bb-mode-tab.is-ca, .bb-modes[data-mode=cs] .bb-mode-tab.is-cs { background: #fff; box-shadow: inset 0 -3px 0 var(--c); }
.bb-modes[data-mode=ct] .is-ct .sw, .bb-modes[data-mode=ca] .is-ca .sw, .bb-modes[data-mode=cs] .is-cs .sw { transform: scale(1.15); }
.bb-modes-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.bb-modes-chart { padding: 30px 30px 26px; border-right: 1px solid var(--bb-border); }
.bb-modes-chart svg { width: 100%; height: auto; display: block; overflow: visible; }
.bb-modes-chart .grid { stroke: var(--bb-border); }
.bb-modes-chart .axis { stroke: var(--bb-subtle); }
.bb-modes-chart text { fill: var(--bb-muted); font-family: var(--bb-font-body); }
.bb-modes-chart .ln { opacity: .14; transition: opacity .5s, stroke-width .5s; }
.bb-modes-chart .ln.ct { stroke: var(--bb-orange); }
.bb-modes-chart .ln.ca { stroke: var(--bb-blue); }
.bb-modes-chart .ln.cs { stroke: var(--bb-success); }
.bb-modes[data-mode=ct] .ln.ct, .bb-modes[data-mode=ca] .ln.ca, .bb-modes[data-mode=cs] .ln.cs { opacity: 1; }
.bb-modes-chart .dot { fill: #fff; transition: transform .6s var(--bb-ease), stroke .4s; }
.bb-modes[data-mode=ct] .dot { stroke: var(--bb-orange); transform: translate(395px, 128px); }
.bb-modes[data-mode=ca] .dot { stroke: var(--bb-blue); transform: translate(395px, 60px); }
.bb-modes[data-mode=cs] .dot { stroke: var(--bb-success); transform: translate(395px, 200px); }
.bb-modes-scale { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12px; color: var(--bb-subtle); }
.bb-modes-info { padding: 30px; display: flex; flex-direction: column; gap: 14px; }
.bb-modes-holds { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-subtle); }
body.bb-site .bb-modes-name { font-family: var(--bb-font-head); font-size: 26px; font-weight: 700; color: var(--bb-navy); margin: 0; letter-spacing: -0.015em; line-height: normal; }
body.bb-site .bb-modes-copy { margin: 0; font-size: 16px; line-height: 1.65; color: var(--bb-text); min-height: 104px; }
.bb-modes-fit { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 14px 16px; background: var(--bb-bg); border-radius: 6px; font-size: 14px; color: var(--bb-strong); }
.bb-modes-fit b { font-weight: 600; color: var(--bb-muted); }

/* Note row under the modes card */
body.bb-site .e-con.bb-note-row {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center; --justify-content: space-between; gap: 20px; --container-widget-width: initial;
	margin-top: 20px; --padding-top: 20px; --padding-bottom: 20px; --padding-left: 24px; --padding-right: 24px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-white);
}
body.bb-site .bb-note-row-text, body.bb-site .bb-note-row-text p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--bb-text); max-width: 640px; }
body.bb-site .bb-textlink.bb-nowrap .elementor-heading-title { white-space: nowrap; }

/* Mini cards (2-up) */
body.bb-site .e-con.bb-mini-grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
body.bb-site .e-con.bb-mini-card {
	--padding-top: 18px; --padding-right: 18px; --padding-bottom: 18px; --padding-left: 18px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-white); transition: border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-mini-card:hover { border-color: var(--bb-orange); transform: translateY(-3px); }
body.bb-site .bb-mini-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 16px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-mini-sub { margin-top: 4px; }
body.bb-site .bb-mini-sub, body.bb-site .bb-mini-sub p { margin: 0; font-size: 13.5px; color: var(--bb-muted); line-height: normal; }

/* Range bento */
body.bb-site .e-con.bb-range-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; margin-top: 28px; }
body.bb-site .e-con.bb-range-card {
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px;
	--padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px;
}
body.bb-site .bb-range-h3 .elementor-heading-title { font-family: var(--bb-font-head); font-size: 21px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .bb-range-h3.bb-on-dark .elementor-heading-title { color: #fff; }
body.bb-site .e-con.bb-range-items { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
body.bb-site .e-con.bb-range-item {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: flex-start; gap: 12px; --container-widget-width: initial;
	--padding-top: 16px; --padding-right: 16px; --padding-bottom: 16px; --padding-left: 16px;
	border: 1px solid var(--bb-border-lt); border-radius: 6px; background: var(--bb-bg); transition: background .3s, border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-range-item:hover { background: var(--bb-white); border-color: var(--bb-orange); transform: translateY(-3px); }
body.bb-site .bb-range-item > .elementor-widget-text-editor { flex: 1; }
body.bb-site .bb-range-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 12px; font-weight: 700; color: var(--bb-orange); padding-top: 2px; line-height: normal; }
body.bb-site .bb-range-text, body.bb-site .bb-range-text p { margin: 0; font-size: 14.5px; line-height: 1.45; color: var(--bb-strong); }
body.bb-site .e-con.bb-range-dark {
	position: relative; background: var(--bb-navy); border-radius: 8px; overflow: hidden; --overflow: hidden;
	--padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px;
	--justify-content: space-between; gap: 24px; transition: transform .35s, box-shadow .35s;
}
body.bb-site .e-con.bb-range-dark:hover { transform: translateY(-5px); box-shadow: 0 28px 54px -26px color-mix(in srgb, var(--bb-navy) 60%, transparent); }
body.bb-site .bb-range-dark > .e-con { position: relative; z-index: 1; }
.bb-range-svg { position: absolute; right: -50px; bottom: -50px; width: 220px; height: 220px; opacity: .3; pointer-events: none; }
body.bb-site .bb-range-big .elementor-heading-title { font-family: var(--bb-font-head); font-size: 56px; font-weight: 700; color: #fff; line-height: 1; letter-spacing: -0.03em; }
body.bb-site .elementor-widget.bb-range-copy { margin-top: 8px; }
body.bb-site .bb-range-copy, body.bb-site .bb-range-copy p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--bb-on-dark); }

/* Callout variants */
body.bb-site .e-con.bb-callout.bb-center { align-items: center; }
.bb-icon-tile-lg.bb-xl { width: 64px; height: 64px; }

/* =========================================================================
 * BLOWER WHEELS-style pieces
 * ====================================================================== */
body.bb-site .elementor-widget.bb-mt6 { margin-top: 6px; }
body.bb-site .e-con.bb-float-card.bb-float-sm { --padding-top: 14px; --padding-bottom: 14px; --padding-left: 18px; --padding-right: 18px; gap: 14px; }
body.bb-site .bb-float-sm .bb-float-title .elementor-heading-title { font-size: 16px; }
body.bb-site .bb-badge-big .elementor-heading-title { font-family: var(--bb-font-head); font-size: 24px; font-weight: 700; color: #fff; line-height: 1; }
body.bb-site .bb-p.bb-on-dark a.bb-peach-link, body.bb-site a.bb-peach-link { color: var(--bb-peach); font-weight: 600; border-bottom: 1px solid color-mix(in srgb, var(--bb-peach) 50%, transparent); }
body.bb-site .bb-p.bb-on-dark a.bb-peach-link:hover, body.bb-site a.bb-peach-link:hover { color: #fff; }

/* Centered diagram card */
.bb-diagram-card.bb-diagram-center { padding: 26px; display: flex; align-items: center; justify-content: center; }
.bb-diagram-card.bb-diagram-center svg { max-width: 360px; }

/* Forward / backward curve cards */
body.bb-site .e-con.bb-curve-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 30px; }
body.bb-site .e-con.bb-curve-card {
	--padding-top: 28px; --padding-right: 28px; --padding-bottom: 28px; --padding-left: 28px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; transition: transform .35s, box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-curve-card:hover { transform: translateY(-6px); border-color: var(--bb-orange); box-shadow: 0 26px 50px -28px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
body.bb-site .e-con.bb-curve-card.is-dark { background: var(--bb-navy); border-color: var(--bb-navy); }
body.bb-site .e-con.bb-curve-card.is-dark:hover { border-color: var(--bb-navy); box-shadow: 0 26px 50px -28px color-mix(in srgb, var(--bb-navy) 60%, transparent); }
body.bb-site .e-con.bb-curve-head { --flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 20px; --container-widget-width: initial; }
body.bb-site .bb-curve-head > .e-con { --width: auto; flex: 1; }
body.bb-site .bb-curve-head > .elementor-widget-html { flex-shrink: 0; }
.bb-curve-svg { width: 92px; height: 92px; display: block; }
body.bb-site .elementor-widget.bb-curve-h3 { margin-top: 6px; }
body.bb-site .bb-curve-h3 .elementor-heading-title { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; color: var(--bb-navy); line-height: normal; }
body.bb-site .is-dark .bb-curve-h3 .elementor-heading-title { color: #fff; }
body.bb-site .elementor-widget.bb-curve-p { margin-top: 18px; }
body.bb-site .bb-curve-p, body.bb-site .bb-curve-p p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--bb-text); }
body.bb-site .is-dark .bb-curve-p, body.bb-site .is-dark .bb-curve-p p { color: var(--bb-on-dark); }

/* Single-inlet / DIDW row */
body.bb-site .e-con.bb-inlet-row {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center;
	margin-top: 16px; --padding-top: 20px; --padding-bottom: 20px; --padding-left: 24px; --padding-right: 24px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-white);
}
.bb-inlet-tags { display: flex; gap: 8px; }
.bb-inlet-tags span { padding: 7px 12px; border-radius: 4px; background: var(--bb-tint); font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: var(--bb-blue); }
body.bb-site .bb-inlet-text, body.bb-site .bb-inlet-text p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--bb-text); }

/* Axial blade configurator */
body.bb-site .elementor-widget.bb-axial-w { margin-top: 30px; }
.bb-axial {
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.bb-axial-vis {
	position: relative; padding: 28px; border-right: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); margin: 0 -1px -1px 0;
	background: radial-gradient(circle at 50% 50%, #fff 0%, #F1F5F8 75%); display: flex; align-items: center; justify-content: center;
}
.bb-axial-vis svg { width: 100%; max-width: 320px; height: auto; display: block; }
.bb-axial-rotor path { fill: var(--bb-blue); stroke: var(--bb-navy); stroke-width: 1; transition: transform .5s var(--bb-ease); }
.bb-axial-note { position: absolute; left: 20px; bottom: 16px; font-size: 12px; color: var(--bb-subtle); }
.bb-axial-ctrl { padding: 28px; display: grid; gap: 22px; align-content: start; }
.bb-axial-row { display: flex; justify-content: space-between; align-items: baseline; }
.bb-axial-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-axial-val { font-family: var(--bb-font-head); font-size: 20px; font-weight: 700; color: var(--bb-navy); white-space: nowrap; }
.bb-axial-wings { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 10px; }
body.bb-site .bb-axial-wings button {
	padding: 10px 0; border-radius: 4px; cursor: pointer; font-family: var(--bb-font-head); font-size: 15px; font-weight: 700; line-height: normal;
	border: 1px solid #D3DDE5; background: #fff; color: var(--bb-blue); box-shadow: none; transition: background .25s, color .25s, border-color .25s;
}
body.bb-site .bb-axial-wings button:hover, body.bb-site .bb-axial-wings button:focus { border-color: var(--bb-orange); background: #fff; color: var(--bb-blue); }
body.bb-site .bb-axial-wings button.is-on { border-color: var(--bb-orange); background: var(--bb-orange); color: #fff; }
body.bb-site .bb-axial input[type=range] { -webkit-appearance: auto; appearance: auto; width: 100%; height: auto; margin: 12px 0 0; padding: 0; border: 0; box-shadow: none; background: transparent; accent-color: var(--bb-orange); cursor: pointer; }
body.bb-site .bb-axial input[type=range]::-webkit-slider-runnable-track { -webkit-appearance: auto; background: none; border: 0; height: auto; box-shadow: none; }
body.bb-site .bb-axial input[type=range]::-webkit-slider-thumb { -webkit-appearance: auto; appearance: auto; margin: 0; }
body.bb-site .bb-axial input[type=range]::-moz-range-track { background: none; border: 0; height: auto; }
body.bb-site .bb-axial input[type=range]::-moz-range-thumb { appearance: auto; }
.bb-axial-scale { display: flex; justify-content: space-between; font-size: 12px; color: var(--bb-subtle); margin-top: 2px; }
.bb-axial-meters { display: grid; gap: 12px; padding-top: 6px; border-top: 1px solid var(--bb-border-lt); }
.bb-meter { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; align-items: center; }
.bb-meter > span { font-size: 13.5px; font-weight: 600; color: var(--bb-strong); }
.bb-meter > div { height: 8px; border-radius: 4px; background: var(--bb-tint); overflow: hidden; }
.bb-meter i { display: block; height: 100%; border-radius: 4px; width: 8%; transition: width .5s var(--bb-ease); }
.bb-meter i.is-blue { background: var(--bb-blue); }
.bb-meter i.is-orange { background: var(--bb-orange); }
.bb-meter i.is-grey { background: var(--bb-subtle); }
.bb-axial-foot { font-size: 12px; color: var(--bb-subtle); }

/* Stat cards */
body.bb-site .e-con.bb-stat-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 16px; }
body.bb-site .e-con.bb-stat-card {
	--padding-top: 18px; --padding-right: 18px; --padding-bottom: 18px; --padding-left: 18px;
	border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-white); transition: border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-stat-card:hover { border-color: var(--bb-orange); transform: translateY(-4px); }
body.bb-site .bb-stat-big .elementor-heading-title { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-stat-small { margin-top: 4px; }
body.bb-site .bb-stat-small, body.bb-site .bb-stat-small p { margin: 0; font-size: 13px; color: var(--bb-muted); line-height: normal; }

/* Wheel + motor pair */
.bb-pair { display: flex; align-items: center; justify-content: center; gap: 16px; }
.bb-pair-disc { width: 110px; height: 110px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; transition: transform .35s, border-color .35s; }
.bb-pair-disc:hover { transform: scale(1.06); border-color: var(--bb-peach); }
.bb-pair-disc svg { width: 70px; height: 70px; }
.bb-pair-disc b { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; color: #fff; }
.bb-pair-disc small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--bb-on-dark); }
.bb-pair-plus { font-family: var(--bb-font-head); font-size: 26px; color: var(--bb-peach); }

/* =========================================================================
 * FABRICATED TUBING-style pieces
 * ====================================================================== */
body.bb-site .e-con.bb-float-card.bb-float-p16 { --padding-top: 16px; --padding-bottom: 16px; }
body.bb-site .bb-nowrap .elementor-heading-title { white-space: nowrap; }
body.bb-site .bb-badge-big.bb-fs22 .elementor-heading-title { font-size: 22px; }
body.bb-site .e-con.bb-intro-620 { max-width: 620px; }

/* Band: statement + numbered failure points */
body.bb-site .e-con.bb-band-in.bb-band-list-in { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; --padding-top: 50px; --padding-bottom: 50px; }
body.bb-site .bb-statement.bb-lh142 .elementor-heading-title { line-height: 1.42; }
body.bb-site .e-con.bb-fail-list { --display: grid; display: grid; gap: 10px; }
body.bb-site .e-con.bb-fail-item {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 14px; --container-widget-width: initial;
	--padding-top: 14px; --padding-bottom: 14px; --padding-left: 18px; --padding-right: 18px;
	border: 1px solid rgba(255, 255, 255, .12); border-radius: 6px; background: rgba(255, 255, 255, .04); transition: background .3s, transform .3s;
}
body.bb-site .e-con.bb-fail-item:hover { background: rgba(255, 255, 255, .09); transform: translateX(6px); }
body.bb-site .elementor-widget.bb-fail-num { line-height: 1; }
body.bb-site .bb-fail-num .elementor-heading-title { font-family: var(--bb-font-head); font-weight: 700; color: var(--bb-peach); font-size: 13px; line-height: 1; }
body.bb-site .bb-fail-text, body.bb-site .bb-fail-text p { margin: 0; color: var(--bb-ind-text); font-size: 15px; line-height: normal; }

/* Bend sequence card */
.bb-bend { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 24px; position: relative; overflow: hidden; }
.bb-bend-head { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-bend-label { color: var(--bb-orange); }
.bb-bend svg { width: 100%; height: auto; display: block; margin-top: 12px; }
.bb-bend-note { font-size: 12.5px; color: var(--bb-subtle); margin-top: 6px; }

/* Capability cards */
body.bb-site .e-con.bb-cap-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-top: 30px; }
body.bb-site .e-con.bb-cap-card {
	gap: 16px; --row-gap: 16px; min-height: 150px;
	--padding-top: 22px; --padding-bottom: 22px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-cap-card:hover { border-color: var(--bb-orange); transform: translateY(-6px); box-shadow: 0 26px 50px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
body.bb-site .e-con.bb-cap-card.is-wide { grid-column: span 2; background: var(--bb-sand); border-color: var(--bb-sand-border); }
body.bb-site .e-con.bb-cap-card.is-wide:hover { border-color: var(--bb-orange); }
.bb-cap-icon { width: 72px; height: 36px; display: block; }
body.bb-site .bb-cap-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 16.5px; font-weight: 600; color: var(--bb-navy); line-height: 1.3; }

/* End-form tabs */
body.bb-site .elementor-widget.bb-ends-w { margin-top: 26px; }
.bb-ends { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-ends-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--bb-border); }
body.bb-site .bb-end-tab {
	padding: 18px 20px; border: none; border-right: 1px solid var(--bb-border); border-radius: 0; cursor: pointer; line-height: normal;
	font-family: var(--bb-font-head); font-size: 16px; font-weight: 600; color: var(--bb-muted); background: var(--bb-bg); box-shadow: inset 0 0 0 var(--bb-orange);
	transition: background .3s, box-shadow .3s, color .3s;
}
body.bb-site .bb-end-tab:last-child { border-right: 0; }
body.bb-site .bb-end-tab:hover, body.bb-site .bb-end-tab:focus { background: #FBFCFD; color: var(--bb-muted); }
body.bb-site .bb-end-tab.is-on, body.bb-site .bb-end-tab.is-on:hover { background: #fff; color: var(--bb-navy); box-shadow: inset 0 -3px 0 var(--bb-orange); }
.bb-ends-body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; }
.bb-ends-vis {
	padding: 30px; border-right: 1px solid var(--bb-border);
	background: repeating-linear-gradient(0deg, #FAFBFC 0 1px, transparent 1px 20px), repeating-linear-gradient(90deg, #FAFBFC 0 1px, #fff 1px 20px);
}
.bb-ends-vis svg { width: 100%; height: auto; display: block; }
.bb-end-shape { fill: color-mix(in srgb, var(--bb-orange) 38%, #fff); stroke: var(--bb-orange-dk); transition: d .6s var(--bb-ease); }
.bb-ends-info { padding: 30px; }
body.bb-site .bb-ends-name { font-family: var(--bb-font-head); font-size: 24px; font-weight: 700; color: var(--bb-navy); margin: 0; line-height: normal; }
body.bb-site .bb-ends-copy { margin: 12px 0 0; font-size: 15.5px; line-height: 1.6; color: var(--bb-text); }

/* Tubing + coil coordination stack */
.bb-coord { display: grid; gap: 10px; }
.bb-coord-row { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; background: rgba(255, 255, 255, .05); transition: background .3s, transform .3s; }
.bb-coord-row:hover { background: rgba(255, 255, 255, .1); transform: translateX(6px); }
.bb-coord-row i { width: 10px; height: 10px; border-radius: 50%; background: var(--bb-peach); }
.bb-coord-row i.is-steel { background: var(--bb-steel); }
.bb-coord-row span { color: #fff; font-weight: 600; font-size: 15px; }
.bb-coord-arrow { display: flex; justify-content: center; color: var(--bb-peach); font-size: 18px; }
.bb-coord-note { font-size: 13px; color: var(--bb-on-dark); text-align: center; margin-top: 4px; }

/* =========================================================================
 * INJECTION MOLDING-style pieces
 * ====================================================================== */
@keyframes bbmoldL { 0%, 30%, 100% { transform: translateX(0) } 50%, 80% { transform: translateX(-40px) } }
@keyframes bbmoldR { 0%, 30%, 100% { transform: translateX(0) } 50%, 80% { transform: translateX(40px) } }
@keyframes bbfill { 0% { opacity: 0 } 20%, 45% { opacity: .35 } 55%, 100% { opacity: 0 } }
body.bb-site .e-con.bb-float-card.bb-float-auto { max-width: none; }
.bb-swatches { display: flex; gap: 4px; }
.bb-swatches span { width: 10px; height: 10px; border-radius: 2px; background: var(--bb-peach); }
.bb-swatches span.is-steel { background: var(--bb-steel); }
.bb-swatches span.is-white { background: #fff; }

/* Program cards with animated run bars */
body.bb-site .e-con.bb-prog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
body.bb-site .e-con.bb-prog-card {
	position: relative; gap: 14px; --row-gap: 14px; overflow: hidden; --overflow: hidden;
	--padding-top: 26px; --padding-right: 24px; --padding-bottom: 28px; --padding-left: 24px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-prog-card:hover { border-color: var(--bb-orange); transform: translateY(-7px); box-shadow: 0 28px 56px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
.bb-prog-bars { display: flex; align-items: flex-end; gap: 4px; height: 44px; }
.bb-prog-bars span { flex: 1; border-radius: 2px; background: var(--bb-blue); transform-origin: bottom; animation: bbwavey 1.6s ease-in-out infinite; }
.bb-prog-bars.is-orange span { background: var(--bb-orange); }
.bb-prog-bars.is-grey span { background: var(--bb-subtle); }
body.bb-site .bb-prog-kicker .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-prog-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 21px; font-weight: 700; color: var(--bb-navy); line-height: 1.2; }
body.bb-site .bb-prog-copy, body.bb-site .bb-prog-copy p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bb-text); }

/* Tooling tabs + meters */
body.bb-site .elementor-widget.bb-tool-w { margin-top: 30px; }
.bb-tool { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-tool-tabs { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--bb-border); }
body.bb-site .bb-tool-tab {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px 26px; border: none; border-radius: 0; cursor: pointer;
	text-align: left; line-height: normal; color: inherit; background: var(--bb-bg); box-shadow: inset 0 0 0 var(--bb-orange);
	transition: background .3s, box-shadow .3s;
}
body.bb-site .bb-tool-tab:first-child { border-right: 1px solid var(--bb-border); }
body.bb-site .bb-tool-tab:hover, body.bb-site .bb-tool-tab:focus { background: #FBFCFD; color: inherit; }
body.bb-site .bb-tool-tab.is-on, body.bb-site .bb-tool-tab.is-on:hover { background: #fff; box-shadow: inset 0 -3px 0 var(--bb-orange); }
.bb-tool-tab .nm { font-family: var(--bb-font-head); font-size: 18px; font-weight: 700; color: var(--bb-navy); }
.bb-tool-tab .sb { font-family: var(--bb-font-body); font-size: 13.5px; font-weight: 400; color: var(--bb-muted); }
.bb-tool-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.bb-tool-meters { padding: 30px; border-right: 1px solid var(--bb-border); display: grid; gap: 18px; align-content: start; }
.bb-tool-row { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 8px; }
.bb-tool-row span:first-child { font-weight: 600; color: var(--bb-strong); }
.bb-tool-row .w { color: var(--bb-muted); }
.bb-tool-track { height: 10px; border-radius: 5px; background: var(--bb-tint); overflow: hidden; }
.bb-tool-track i { display: block; height: 100%; border-radius: 5px; background: var(--bb-blue); transition: width .6s var(--bb-ease); }
.bb-tool-track i.is-orange { background: var(--bb-orange); }
.bb-tool-info { padding: 30px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
body.bb-site .bb-tool-copy { margin: 0; font-family: var(--bb-font-head); font-size: 21px; line-height: 1.4; font-weight: 600; color: var(--bb-navy); }
body.bb-site .e-con.bb-tool-note {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 16px;
	--padding-top: 22px; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 24px;
	border: 1px solid var(--bb-sand-border); border-radius: 6px; background: var(--bb-sand);
}
.bb-tool-note-icon { width: 46px; height: 46px; border-radius: 6px; background: #fff; display: flex; align-items: center; justify-content: center; }
.bb-tool-note-icon svg { stroke: var(--bb-orange); }
body.bb-site .bb-tool-note-text, body.bb-site .bb-tool-note-text p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--bb-text); }

/* Design checks + diagram cards */
body.bb-site .elementor-widget.bb-hl-w { margin-top: 22px; }
.bb-hl-list { display: grid; gap: 8px; }
body.bb-site .bb-hl-btn {
	display: flex; align-items: center; gap: 14px; width: 100%; text-align: left; padding: 14px 18px; border-radius: 6px; cursor: pointer; line-height: normal;
	border: 1px solid var(--bb-border); background: #fff; color: inherit; box-shadow: none; transform: translateX(0);
	transition: border-color .25s, background .25s, transform .25s;
}
body.bb-site .bb-hl-btn:hover, body.bb-site .bb-hl-btn:focus { background: #fff; color: inherit; }
body.bb-site .bb-hl-btn.is-on { border-color: var(--bb-orange); background: var(--bb-sand); transform: translateX(6px); }
.bb-hl-btn .dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; background: #C3D0DA; transition: background .25s; }
.bb-hl-btn.is-on .dot { background: var(--bb-orange); }
.bb-hl-btn .nm { font-family: var(--bb-font-head); font-size: 16px; font-weight: 600; color: var(--bb-navy); }
.bb-xcard { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 26px; position: relative; overflow: hidden; }
.bb-xcard-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-xcard svg { width: 100%; height: auto; display: block; margin-top: 12px; }
.bb-xcard text { fill: var(--bb-orange); font-family: var(--bb-font-body); }
.bb-hl-g { opacity: .15; transition: opacity .4s; }
.bb-hl-g.is-on { opacity: 1; }

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-prog-grid { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
}

/* =========================================================================
 * ELECTRICALS-style pieces
 * ====================================================================== */
.bb-agency { display: flex; gap: 8px; margin-top: 8px; }
.bb-agency span { padding: 5px 12px; border-radius: 4px; border: 1.5px solid var(--bb-blue); font-family: var(--bb-font-head); font-weight: 700; font-size: 14px; color: var(--bb-blue); line-height: normal; }
body.bb-site .bb-inline-link a.bb-link-sand, body.bb-site a.bb-inline-link.bb-link-sand { border-bottom-color: var(--bb-sand-border); }

/* Contactor demo (toggle energizes the coil) */
body.bb-site .elementor-widget.bb-call-w { margin-top: 30px; }
.bb-call { --T: .45s var(--bb-ease); background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-call-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 26px; border-bottom: 1px solid var(--bb-border); }
.bb-call-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
body.bb-site .bb-call-btn {
	display: flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 100px; cursor: pointer; line-height: normal;
	font-size: 14px; font-weight: 600; border: 1px solid #CBD6DF; background: #fff; color: var(--bb-blue); box-shadow: none;
	transition: background .3s, color .3s, border-color .3s;
}
body.bb-site .bb-call-btn:hover, body.bb-site .bb-call-btn:focus { background: #fff; color: var(--bb-blue); }
body.bb-site .bb-call.is-on .bb-call-btn { border-color: var(--bb-orange); background: var(--bb-orange); color: #fff; }
.bb-call-btn .knob { width: 26px; height: 26px; border-radius: 50%; background: #C3D0DA; transition: background .3s, box-shadow .3s; }
.bb-call.is-on .bb-call-btn .knob { background: #fff; box-shadow: 0 0 0 4px rgba(255, 255, 255, .3); }
.bb-call-body { padding: 26px; background: repeating-linear-gradient(0deg, #FAFBFC 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, #FAFBFC 0 1px, #fff 1px 24px); }
.bb-call-body svg { width: 100%; height: auto; display: block; }
.bb-call text { font-family: var(--bb-font-head); fill: var(--bb-navy); }
.bb-call .lbl text, .bb-call text.sm { font-family: var(--bb-font-body); fill: var(--bb-muted); }
.bb-call .ol { stroke: var(--bb-blue); }
.bb-call .ctrl-flow { stroke: var(--bb-blue); opacity: 0; transition: opacity var(--T); animation: bbdash 2s linear infinite reverse; }
.bb-call .line-flow { stroke: var(--bb-orange); opacity: 0; transition: opacity var(--T) .25s; animation: bbdash 1.4s linear infinite reverse; }
.bb-call.is-on .ctrl-flow, .bb-call.is-on .line-flow { opacity: 1; }
.bb-call .coil-box, .bb-call .load { fill: #fff; stroke: var(--bb-blue); transition: fill var(--T), stroke var(--T); }
.bb-call.is-on .coil-box, .bb-call.is-on .load { fill: var(--bb-sand); stroke: var(--bb-orange); }
.bb-call text.coil-text { transition: fill var(--T); }
.bb-call.is-on text.coil-text { fill: var(--bb-orange); }
.bb-call .coil-wave { stroke: var(--bb-subtle); transition: stroke var(--T); }
.bb-call.is-on .coil-wave { stroke: var(--bb-orange); }
.bb-call .arm { stroke: var(--bb-orange); transform-box: fill-box; transform-origin: left center; transform: rotate(-28deg); transition: transform var(--T); }
.bb-call.is-on .arm { transform: rotate(0deg); }
.bb-call .load-spin { transform-origin: 670px 212px; }
.bb-call.is-on .load-spin { animation: bbspin 1s linear infinite; }
body.bb-site .bb-call-note { margin: 12px 0 0; font-size: 14.5px; line-height: 1.55; color: var(--bb-text); min-height: 44px; }

/* Component cards */
body.bb-site .e-con.bb-ec-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-top: 28px; }
body.bb-site .e-con.bb-ec-card {
	gap: 14px; --row-gap: 14px; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-ec-card:hover { border-color: var(--bb-orange); transform: translateY(-6px); box-shadow: 0 26px 50px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
.bb-ec-icon { width: 48px; height: 48px; border-radius: 6px; background: var(--bb-tint); display: flex; align-items: center; justify-content: center; }
.bb-ec-icon svg { stroke: var(--bb-blue); }
body.bb-site .bb-ec-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 18px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .bb-ec-copy, body.bb-site .bb-ec-copy p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--bb-muted); }
.bb-xcard.bb-xcard-24 { padding: 24px; }

/* Overseas -> U.S. stock -> your line */
body.bb-site .elementor-widget.bb-stock-w { margin-top: 28px; }
.bb-stock { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 30px 28px; }
.bb-stock-row { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: center; }
.bb-stock-line, .bb-stock-flow { position: absolute; left: 16%; right: 16%; top: 34px; height: 2px; }
.bb-stock-line { background: var(--bb-border); }
.bb-stock-flow { background: linear-gradient(90deg, var(--bb-orange) 0 30%, transparent 30%); background-size: 40px 2px; animation: bbflow 1.6s linear infinite; opacity: .9; }
.bb-stock-node { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.bb-stock-node b {
	width: 68px; height: 68px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--bb-tint); border: 2px solid var(--bb-blue); font-family: var(--bb-font-head); font-weight: 700; color: var(--bb-blue); font-size: 13px;
}
.bb-stock-node b.is-warm { background: var(--bb-sand); border-color: var(--bb-orange); animation: bbfloat 4s ease-in-out infinite; }
.bb-stock-node b.is-warm svg { stroke: var(--bb-orange); }
.bb-stock-node b.is-dark { background: var(--bb-navy); border: 0; color: #fff; }
.bb-stock-node span { font-size: 14px; color: var(--bb-text); }

/* =========================================================================
 * VENTILATION-style pieces
 * ====================================================================== */
@keyframes bbshutter { 0%, 20%, 100% { transform: scaleY(1) } 45%, 75% { transform: scaleY(.25) } }
@keyframes bbtilt { 0%, 20%, 100% { transform: rotate(0deg) } 45%, 75% { transform: rotate(-8deg) } }
@keyframes bbhook { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(26px) } }
@keyframes bbgrow { from { transform: scaleX(0) } to { transform: scaleX(1) } }
@keyframes bbsheen2 { 0%, 100% { background-position: 0% 0% } 50% { background-position: 100% 100% } }
body.bb-site .elementor-widget.bb-mt24 { margin-top: 24px; }
body.bb-site .bb-p.bb-w720, body.bb-site .bb-p.bb-w720 p { max-width: 720px; }
body.bb-site .e-con.bb-rel-z { position: relative; z-index: 1; }

/* Ghost button with a download icon */
body.bb-site .elementor-widget.bb-btn-dl .elementor-button { padding: 16px 24px; }
body.bb-site .bb-btn-dl .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
body.bb-site .bb-btn-dl .elementor-button-content-wrapper::before {
	content: ''; width: 18px; height: 18px; flex-shrink: 0; background: var(--bb-orange);
	-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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.bb-site a.bb-rfq-pdf {
	margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border-radius: 4px;
	background: #fff; color: var(--bb-blue); font-weight: 600; font-size: 14.5px; border: 1px solid #CBD6DF; transition: border-color .25s;
}
body.bb-site a.bb-rfq-pdf:hover { border-color: var(--bb-blue); color: var(--bb-blue); }

/* Single-statement band */
body.bb-site .e-con.bb-band-solo { --padding-top: 50px; --padding-bottom: 50px; }
body.bb-site .e-con > .elementor-widget.bb-w960 { max-width: 960px; }

/* Applications switcher */
body.bb-site .elementor-widget.bb-apps-w { margin-top: 30px; }
.bb-apps { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-apps-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--bb-border); }
body.bb-site .bb-app-tab {
	padding: 18px 16px; border: none; border-right: 1px solid var(--bb-border); border-radius: 0; cursor: pointer; line-height: normal;
	font-family: var(--bb-font-head); font-size: 16px; font-weight: 600; color: var(--bb-muted); background: var(--bb-bg); box-shadow: inset 0 0 0 var(--bb-orange);
	transition: background .3s, box-shadow .3s, color .3s;
}
body.bb-site .bb-app-tab:last-child { border-right: 0; }
body.bb-site .bb-app-tab:hover, body.bb-site .bb-app-tab:focus { background: #FBFCFD; color: var(--bb-muted); }
body.bb-site .bb-app-tab.is-on, body.bb-site .bb-app-tab.is-on:hover { background: #fff; color: var(--bb-navy); box-shadow: inset 0 -3px 0 var(--bb-orange); }
.bb-app-panel { display: none; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.bb-app-panel.is-on { display: grid; }
.bb-app-vis { padding: 28px; background: radial-gradient(circle at 50% 50%, #fff 0%, #F1F5F8 80%); display: flex; align-items: center; justify-content: center; min-height: 260px; border-right: 1px solid var(--bb-border); }
.bb-app-vis svg { width: 100%; max-width: 280px; height: auto; display: block; }
.bb-app-info { padding: 28px; display: flex; flex-direction: column; gap: 14px; }
body.bb-site .bb-app-title { font-family: var(--bb-font-head); font-size: 24px; font-weight: 700; color: var(--bb-navy); margin: 0; line-height: normal; }
body.bb-site .bb-app-note { margin: 0; font-size: 15px; line-height: 1.55; color: var(--bb-muted); }
body.bb-site .bb-app-note.bb-app-see { font-size: 14.5px; }
.bb-app-parts { display: grid; gap: 8px; }
.bb-app-part { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--bb-border-lt); border-radius: 6px; background: var(--bb-bg); animation: bbrise .45s var(--bb-ease) both; }
.bb-app-part i { width: 8px; height: 8px; border-radius: 50%; background: var(--bb-orange); flex-shrink: 0; }
.bb-app-part span { font-size: 15px; color: var(--bb-strong); }

/* Process cards + galvanized note */
body.bb-site .e-con.bb-proc-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-top: 26px; }
body.bb-site .e-con.bb-proc-card {
	gap: 12px; --row-gap: 12px; --padding-top: 20px; --padding-bottom: 20px; --padding-left: 18px; --padding-right: 18px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-proc-card:hover { border-color: var(--bb-orange); transform: translateY(-5px); box-shadow: 0 22px 44px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
.bb-proc-icon { width: 60px; height: 40px; display: block; }
body.bb-site .bb-proc-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .e-con.bb-tool-note.is-white { border-color: var(--bb-border); background: var(--bb-white); }
.bb-galv { display: block; width: 52px; height: 52px; border-radius: 6px; background: linear-gradient(135deg, #C3D0DA 0%, var(--bb-tint) 40%, #A9B8C5 60%, var(--bb-tint) 100%); background-size: 200% 200%; animation: bbsheen2 4s ease-in-out infinite; }

/* Factory-to-schedule pipeline */
body.bb-site .elementor-widget.bb-pipe-w { margin-top: 30px; }
.bb-pipe { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; }
.bb-pipe-step { position: relative; padding: 18px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; background: rgba(255, 255, 255, .05); transition: background .3s, transform .3s; }
.bb-pipe-step:hover { background: rgba(255, 255, 255, .1); transform: translateY(-4px); }
.bb-pipe-step .n { font-family: var(--bb-font-head); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--bb-peach); }
.bb-pipe-step .nm { font-family: var(--bb-font-head); font-size: 16px; font-weight: 600; color: #fff; margin-top: 8px; }
.bb-pipe-step .bar { height: 3px; border-radius: 2px; margin-top: 14px; background: var(--bb-peach); transform-origin: left; animation: bbgrow 1s var(--bb-ease) both; }

/* =========================================================================
 * HVAC COMPONENTS-style pieces (industry pages)
 * ====================================================================== */
body.bb-site .bb-h1.bb-fs58 .elementor-heading-title { font-size: 58px; line-height: 1.05; }
body.bb-site .bb-badge-big.bb-fs26 .elementor-heading-title { font-size: 26px; }
body.bb-site .bb-p.bb-w760, body.bb-site .bb-p.bb-w760 p { max-width: 760px; }

/* Exploded unit (layers spread on scroll) */
.bb-explode { position: relative; height: 340px; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; }
.bb-explode-label { position: absolute; left: 18px; top: 14px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-subtle); }
body.bb-site a.bb-explode-layer {
	position: absolute; min-width: 0; overflow: hidden; height: 52px; display: flex; align-items: center; gap: 12px; padding: 0 18px;
	background: #fff; border: 1px solid #DCE4EA; border-radius: 6px; box-shadow: 0 10px 24px -16px color-mix(in srgb, var(--bb-navy) 45%, transparent);
	transition: top .2s linear, left .2s linear, right .2s linear, border-color .25s, box-shadow .25s;
}
body.bb-site a.bb-explode-layer:hover { border-color: var(--bb-orange); box-shadow: 0 14px 30px -14px color-mix(in srgb, var(--bb-orange) 50%, transparent); }
.bb-explode-layer .chip { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.bb-explode-layer .nm { font-family: var(--bb-font-head); font-size: 15px; font-weight: 700; color: var(--bb-navy); white-space: nowrap; flex-shrink: 0; }
.bb-explode-layer .job { font-size: 13px; color: var(--bb-muted); margin-left: auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Numbered link cards */
body.bb-site .e-con.bb-rc-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 30px; }
body.bb-site .e-con.bb-rc-card {
	gap: 10px; --row-gap: 10px; min-height: 170px; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 22px; --padding-right: 22px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-rc-card:hover { border-color: var(--bb-orange); transform: translateY(-6px); box-shadow: 0 26px 50px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
body.bb-site .bb-rc-num .elementor-heading-title, body.bb-site .bb-rc-view .elementor-heading-title { display: block; }
body.bb-site .bb-rc-num .elementor-heading-title { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; letter-spacing: .1em; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-rc-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 19px; font-weight: 600; color: var(--bb-navy); line-height: 1.25; }
body.bb-site .bb-rc-copy, body.bb-site .bb-rc-copy p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--bb-muted); }
body.bb-site .elementor-widget.bb-rc-view { margin-top: auto; padding-top: 8px; }
body.bb-site .bb-rc-view .elementor-heading-title { font-family: var(--bb-font-body); font-size: 13.5px; font-weight: 600; color: var(--bb-orange); line-height: normal; }

/* Equipment switcher (variant of .bb-apps) */
.bb-eq .bb-apps-tabs { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
body.bb-site .bb-eq .bb-app-tab { font-size: 15px; }
.bb-eq .bb-app-panel { padding: 30px 28px; }
.bb-eq .bb-app-panel.is-on { display: block; }
.bb-eq-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bb-eq-count { font-size: 13px; font-weight: 600; color: var(--bb-muted); }
body.bb-site .bb-eq-note { margin: 0 0 14px; font-size: 14.5px; line-height: 1.55; color: var(--bb-muted); }
.bb-eq-parts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
body.bb-site a.bb-eq-part {
	display: flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid #DCE4EA; border-radius: 6px; background: #fff;
	font-size: 14.5px; font-weight: 600; color: var(--bb-strong); transition: border-color .25s, background .25s, transform .25s; animation: bbrise .45s var(--bb-ease) both;
}
body.bb-site a.bb-eq-part:hover { border-color: var(--bb-orange); background: var(--bb-sand); transform: translateY(-3px); color: var(--bb-strong); }
.bb-eq-part i { width: 9px; height: 9px; border-radius: 2px; flex-shrink: 0; }

/* Coil / fan / motor triangle */
.bb-tri { width: 100%; max-width: 300px; height: auto; display: block; margin: 0 auto; }

/* Engineering / purchasing cards */
body.bb-site .e-con.bb-team-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 28px; }
body.bb-site .e-con.bb-team-card {
	--padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-top: 3px solid var(--bb-blue); border-radius: 6px; transition: transform .35s, box-shadow .35s;
}
body.bb-site .e-con.bb-team-card.is-warm { border-top-color: var(--bb-orange); }
body.bb-site .e-con.bb-team-card:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -28px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
body.bb-site .bb-team-label .elementor-heading-title { font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-blue); line-height: normal; }
body.bb-site .is-warm .bb-team-label .elementor-heading-title { color: var(--bb-orange); }
body.bb-site .elementor-widget.bb-team-copy { margin-top: 12px; }
body.bb-site .bb-team-copy, body.bb-site .bb-team-copy p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--bb-strong); }
.bb-team-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.bb-team-tags span { padding: 6px 11px; border-radius: 4px; background: var(--bb-tint); font-size: 13px; font-weight: 600; color: var(--bb-blue); }
.is-warm .bb-team-tags span { background: var(--bb-sand); color: var(--bb-rust); }

/* Domestic / global supply row */
body.bb-site .e-con.bb-supply {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center;
	--padding-top: 30px; --padding-bottom: 30px; --padding-left: 34px; --padding-right: 34px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; transition: border-color .3s, box-shadow .3s;
}
body.bb-site .e-con.bb-supply:hover { border-color: #C8D6E0; box-shadow: 0 20px 44px -30px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
body.bb-site .bb-supply .bb-icon-tile-lg.bb-xl { width: 60px; height: 60px; }
body.bb-site .bb-supply-h .elementor-heading-title { font-family: var(--bb-font-head); font-size: 24px; font-weight: 700; letter-spacing: -0.015em; color: var(--bb-navy); line-height: 1.2; }
body.bb-site .elementor-widget.bb-supply-p { margin-top: 8px; }
body.bb-site .bb-supply-p, body.bb-site .bb-supply-p p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--bb-text); }

/* "Send us your print" card */
body.bb-site .e-con.bb-print {
	position: relative; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; --overflow: hidden;
	--padding-top: 40px; --padding-bottom: 40px; --padding-left: 40px; --padding-right: 40px; box-shadow: var(--bb-shadow-navy);
}
body.bb-site .e-con.bb-print-grid { --display: grid; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: center; }
body.bb-site .e-con.bb-print-btns { --display: grid; display: grid; gap: 10px; }
body.bb-site .elementor-widget.bb-btn-wide .elementor-button { display: flex; justify-content: center; width: 100%; padding: 16px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-wide .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -10px color-mix(in srgb, var(--bb-orange) 55%, transparent); }
body.bb-site .elementor-widget.bb-btn-ghost.bb-btn-wide .elementor-button { padding: 15px; }
body.bb-site .elementor-widget.bb-btn-ghost.bb-btn-wide .elementor-button:hover { transform: none; box-shadow: none; }

/* =========================================================================
 * FOOD SERVICE-style pieces
 * ====================================================================== */
@keyframes bbgrowY { from { transform: scaleY(0) } to { transform: scaleY(1) } }
@keyframes bbflowy { 0% { background-position: 0 0 } 100% { background-position: 0 40px } }
body.bb-site .bb-h1.bb-fs56 .elementor-heading-title { font-size: 56px; line-height: 1.05; }
body.bb-site .e-con > .elementor-widget.bb-w900 { max-width: 900px; }
body.bb-site .e-con > .elementor-widget.bb-inl { width: auto; max-width: max-content; align-self: flex-start; }
body.bb-site .e-con.bb-print-grid.bb-pg-eq { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
body.bb-site .e-con.bb-dark-card-grid.bb-dcg-eq { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
body.bb-site .bb-eq-lh13 .bb-app-tab { line-height: 1.3; }

/* Kitchen-duty band: statement + icon tiles */
body.bb-site .e-con.bb-band-kitchen { --padding-top: 54px; --padding-bottom: 54px; }
body.bb-site .e-con.bb-kitchen-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 30px; }
body.bb-site .e-con.bb-kt {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 16px; --container-widget-width: initial;
	--padding-top: 18px; --padding-bottom: 18px; --padding-left: 20px; --padding-right: 20px;
	border: 1px solid rgba(255, 255, 255, .12); border-radius: 6px; background: rgba(255, 255, 255, .04); transition: background .3s, transform .3s;
}
body.bb-site .e-con.bb-kt:hover { background: rgba(255, 255, 255, .09); transform: translateY(-4px); }
body.bb-site .e-con.bb-kt > .elementor-widget.bb-kt-icon { flex-shrink: 0; }
.bb-kt-icon svg { display: block; }
body.bb-site .bb-kt-text .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 15px; font-weight: 400; line-height: 1.4; color: var(--bb-ind-text); }

/* Smaller numbered link cards (no copy line) */
body.bb-site .e-con.bb-rc-card.bb-rc-sm { min-height: 140px; }
body.bb-site .bb-rc-sm .bb-rc-name .elementor-heading-title { font-size: 18.5px; line-height: 1.3; }

/* Gear pair card */
.bb-gears-card { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 26px; display: flex; align-items: center; justify-content: center; }
.bb-gears-card svg { width: 100%; max-width: 360px; height: auto; display: block; }

/* Cost of a change by stage */
body.bb-site .elementor-widget.bb-cost-w { margin-top: 28px; }
.bb-cost { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 30px 28px; }
.bb-cost-head { display: flex; justify-content: space-between; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-cost-word { color: var(--bb-orange); }
.bb-cost-bars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; height: 150px; margin-top: 20px; }
body.bb-site button.bb-cost-col, body.bb-site button.bb-cost-col:hover, body.bb-site button.bb-cost-col:focus {
	height: 100%; display: flex; align-items: flex-end; padding: 0; border: none; border-radius: 0; background: none; box-shadow: none; cursor: pointer;
}
.bb-cost-col span {
	display: block; width: 100%; border-radius: 4px 4px 0 0; transform-origin: bottom; background: var(--c); opacity: .35;
	transition: opacity .3s, box-shadow .3s; animation: bbgrowY 1s var(--bb-ease) both;
}
.bb-cost-col.is-on span { opacity: 1; box-shadow: 0 10px 24px -10px var(--c); }
.bb-cost-labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.bb-cost-labels span { font-size: 13px; text-align: center; font-weight: 500; color: #7C8FA0; transition: color .3s; }
.bb-cost-labels span.is-on { font-weight: 700; color: var(--bb-navy); }

/* NSF note */
body.bb-site .e-con.bb-nsf-note {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 16px;
	--padding-top: 22px; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 24px;
	border: 1px solid var(--bb-sand-border); border-radius: 6px; background: var(--bb-sand);
}
.bb-nsf-badge { display: block; padding: 8px 12px; border-radius: 4px; background: #fff; border: 1.5px solid var(--bb-blue); font-family: var(--bb-font-head); font-weight: 700; font-size: 15px; color: var(--bb-blue); }
body.bb-site .bb-nsf-text, body.bb-site .bb-nsf-text p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--bb-text); }

/* Approved -> line keeps running */
.bb-flow { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, auto)); justify-content: space-between; align-items: center; gap: 10px; row-gap: 0; padding: 44px 0; }
.bb-flow-track, .bb-flow-dash { position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.bb-flow-dash { background: repeating-linear-gradient(90deg, var(--bb-peach) 0 22px, transparent 22px 40px); background-size: 40px 4px; animation: bbflow 1.4s linear infinite; }
.bb-flow-node { position: relative; padding: 8px 12px; border-radius: 4px; background: var(--bb-blue); border: 1px solid var(--bb-steel); color: #fff; font-size: 13px; font-weight: 600; white-space: nowrap; }
.bb-flow-node.is-end { background: var(--bb-orange); border: 0; width: fit-content;}
.bb-flow-ev { position: relative; }
.bb-flow-ev.is-up { transform: translateY(-38px); }
.bb-flow-ev.is-down { transform: translateY(38px); }
.bb-flow-ev > div { padding: 6px 10px; border-radius: 4px; background: color-mix(in srgb, var(--bb-orange) 20%, transparent; ); border: 1px solid var(--bb-peach); color: #fff; font-size: 12.5px; white-space: nowrap; animation: bbfloat 4s ease-in-out infinite; width: fit-content;
 }

/* =========================================================================
 * GLOBAL SOURCING-style pieces
 * ====================================================================== */
body.bb-site .e-con > .elementor-widget.bb-w980 { max-width: 980px; }
body.bb-site .e-con.bb-float-card.bb-float-px18 { --padding-left: 18px; --padding-right: 18px; }
.bb-region-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; max-width: 250px; }
.bb-region-chips span { padding: 5px 10px; border-radius: 100px; background: var(--bb-tint); font-size: 12.5px; font-weight: 600; color: var(--bb-blue); }

/* One local point of contact (rail grows on scroll) */
.bb-phase { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 28px 26px; }
.bb-phase-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-phase-list { position: relative; margin-top: 22px; display: grid; }
.bb-phase-rail, .bb-phase-fill { position: absolute; left: 11px; top: 12px; width: 2px; }
.bb-phase-rail { bottom: 12px; background: var(--bb-border); }
.bb-phase-fill { background: linear-gradient(180deg, var(--bb-blue), var(--bb-orange)); transition: height .2s linear; }
.bb-phase-row { position: relative; display: flex; align-items: center; gap: 18px; padding: 12px 0; }
.bb-phase-dot { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 2px solid var(--bb-orange); display: flex; align-items: center; justify-content: center; flex-shrink: 0; z-index: 1; }
.bb-phase-dot i { width: 8px; height: 8px; border-radius: 50%; background: var(--bb-orange); }
.bb-phase-row .nm { font-family: var(--bb-font-head); font-size: 17px; font-weight: 600; color: var(--bb-navy); }
.bb-phase-foot { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--bb-border-lt); font-size: 14px; color: var(--bb-muted); display: flex; align-items: center; gap: 10px; }
.bb-phase-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--bb-green); flex-shrink: 0; animation: bbpulse 2.4s ease-in-out infinite; }

/* Parts cards (3-up, link label instead of "View") */
body.bb-site .e-con.bb-rc-grid.bb-rc-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.bb-site .e-con.bb-rc-card.bb-rc-gs { gap: 14px; --row-gap: 14px; min-height: 150px; }
body.bb-site .bb-rc-gs .bb-rc-name .elementor-heading-title { font-size: 18px; line-height: 1.3; }
body.bb-site .bb-rc-gs .elementor-widget.bb-rc-view { padding-top: 0; }
body.bb-site .bb-rc-gs .bb-rc-view .elementor-heading-title { font-size: 13px; color: var(--bb-subtle); }

/* Quote basis switcher */
body.bb-site .elementor-widget.bb-basis-w { margin-top: 32px; }
.bb-basis { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-basis-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 22px 26px; border-bottom: 1px solid var(--bb-border); }
.bb-basis-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
body.bb-site .bb-basis .bb-seg button { white-space: nowrap; }
.bb-basis-body { padding: 34px 26px 30px; }
.bb-basis-stages { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.bb-basis-stage { display: flex; flex-direction: column; gap: 12px; }
.bb-basis-stage .bar { height: 10px; border-radius: 5px; transform-origin: left; background: var(--bb-border-lt); transform: scaleX(.92); transition: background .5s var(--d), transform .5s var(--d); }
.bb-basis-stage.is-on .bar { background: var(--bb-orange); transform: scaleX(1); }
.bb-basis-stage.is-on:first-child .bar { background: var(--bb-blue); }
.bb-basis-stage .nm { display: flex; align-items: center; gap: 8px; }
.bb-basis-stage .nm i { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: #C3D0DA; transition: background .4s; }
.bb-basis-stage.is-on .nm i { background: var(--bb-orange); }
.bb-basis-stage .nm span { font-family: var(--bb-font-head); font-size: 15px; font-weight: 600; color: #A9B8C5; transition: color .4s; }
.bb-basis-stage.is-on .nm span { color: var(--bb-navy); }
.bb-basis-stage .sub { font-size: 12.5px; color: #7C8FA0; line-height: 1.4; }
.bb-basis-note { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 18px 20px; background: var(--bb-bg); border-radius: 6px; }
body.bb-site .bb-basis-note p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--bb-strong); }
.bb-basis-tag { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; letter-spacing: .08em; padding: 8px 14px; border-radius: 100px; background: var(--bb-navy); color: #fff; white-space: nowrap; }

/* When it makes sense / when it doesn't */
body.bb-site .e-con.bb-fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
body.bb-site .e-con.bb-fit-card {
	--padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-top: 3px solid var(--bb-success); border-radius: 6px; transition: transform .35s, box-shadow .35s;
}
body.bb-site .e-con.bb-fit-card.is-no { border-top-color: var(--bb-subtle); }
body.bb-site .e-con.bb-fit-card:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -28px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
body.bb-site .bb-fit-label .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-success); line-height: normal; }
body.bb-site .is-no .bb-fit-label .elementor-heading-title { color: var(--bb-muted); }
.bb-fit-list { display: grid; gap: 14px; margin-top: 18px; }
.bb-fit-item { display: flex; gap: 12px; align-items: flex-start; }
.bb-fit-mark { width: 22px; height: 22px; border-radius: 50%; background: #E3F3EA; color: var(--bb-success); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 13px; font-weight: 700; }
.is-no .bb-fit-mark { background: var(--bb-tint); color: var(--bb-muted); }
.bb-fit-item > span:last-child { font-size: 15.5px; line-height: 1.5; color: var(--bb-strong); }
body.bb-site .elementor-widget.bb-fit-note { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--bb-border-lt); }
body.bb-site .bb-fit-note, body.bb-site .bb-fit-note p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--bb-text); }

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-rc-grid.bb-rc-3 { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
}
@media (max-width: 767px) {
	body.bb-site .e-con.bb-fit-grid { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .e-con.bb-fit-card { --padding-left: 22px; --padding-right: 22px; --padding-top: 24px; --padding-bottom: 24px; }
	.bb-basis-head { padding: 18px 16px; }
	body.bb-site .bb-basis .bb-seg button { padding: 8px 11px; font-size: 12.5px; }
	.bb-basis-body { padding: 24px 20px; }
	.bb-basis-stages { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.bb-basis-stage { gap: 8px; }
	.bb-basis-note { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.bb-basis-tag { justify-self: start; }
	.bb-phase { padding: 24px 20px; }
}

/* =========================================================================
 * EXPENSE REDUCTIONS-style pieces (advisory pages)
 * ====================================================================== */
@keyframes bbdraw { 0% { stroke-dashoffset: 1600 } 60%, 100% { stroke-dashoffset: 0 } }
body.bb-site .bb-h1.bb-fs56.bb-lh106 .elementor-heading-title { line-height: 1.06; }
body.bb-site .bb-badge-big.bb-fs20 .elementor-heading-title { font-size: 20px; }
body.bb-site .e-con.bb-wave-badge.bb-badge-bottom { top: auto; bottom: -38px; }

/* Indirect spend review card */
.bb-spend {
	background: var(--bb-white); border: 1px solid #DCE4EA; border-radius: 8px; padding: 28px;
	box-shadow: 0 26px 60px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); transition: border-color .35s, box-shadow .35s;
}
.bb-spend:hover { border-color: var(--bb-orange); box-shadow: 0 34px 74px -26px color-mix(in srgb, var(--bb-navy) 55%, transparent); }
.bb-spend-head { display: flex; justify-content: space-between; align-items: center; }
.bb-spend-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-spend-live { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--bb-orange); }
.bb-spend-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--bb-orange); animation: bbpulse 2s ease-in-out infinite; }
.bb-spend-rows { display: grid; gap: 16px; margin-top: 22px; }
.bb-spend-row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: center; }
.bb-spend-row .nm { font-size: 14px; font-weight: 600; color: var(--bb-strong); }
.bb-spend-row .track { position: relative; height: 14px; border-radius: 7px; background: var(--bb-tint); overflow: hidden; }
.bb-spend-row .bar {
	position: absolute; inset: 0; border-radius: 7px; transform-origin: left;
	background: linear-gradient(90deg, var(--bb-blue) 0 var(--split), transparent 0), repeating-linear-gradient(90deg, var(--bb-orange) 0 3px, #F4E5D9 3px 6px);
	animation: bbgrow 1.4s var(--bb-ease) both;
}
.bb-spend-legend { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bb-border-lt); display: flex; gap: 18px; font-size: 12.5px; color: var(--bb-muted); flex-wrap: wrap; }
.bb-spend-legend span { display: flex; align-items: center; gap: 8px; }
.bb-spend-legend i { width: 14px; height: 6px; border-radius: 3px; background: var(--bb-blue); }
.bb-spend-legend i.room { background: repeating-linear-gradient(90deg, var(--bb-orange) 0 3px, #F4E5D9 3px 6px); }

/* Direct vs indirect cards (bb.js wireSpend) */
body.bb-site .e-con.bb-sc-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 30px; }
body.bb-site .e-con.bb-sc-card {
	cursor: pointer; --justify-content: center; --padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; box-shadow: none; transform: translateY(0); opacity: .72;
	transition: border-color .35s, box-shadow .35s, transform .35s, opacity .35s;
}
body.bb-site .e-con.bb-sc-card.is-on { opacity: 1; transform: translateY(-4px); box-shadow: 0 26px 50px -28px color-mix(in srgb, var(--bb-navy) 42%, transparent); border-color: var(--bb-blue); }
body.bb-site .e-con.bb-sc-card.is-indirect.is-on { border-color: var(--bb-orange); }
body.bb-site .e-con.bb-sc-card:focus-visible { outline: 2px solid var(--bb-orange); outline-offset: 2px; }
body.bb-site .bb-sc-label .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); line-height: normal; }
body.bb-site .is-indirect .bb-sc-label .elementor-heading-title { color: var(--bb-orange); }
body.bb-site .bb-sc-h .elementor-heading-title { font-family: var(--bb-font-head); font-size: 22px; font-weight: 700; color: var(--bb-navy); line-height: normal; letter-spacing: normal; }
body.bb-site .elementor-widget.bb-sc-h { margin-top: 8px; }
.bb-sc-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.bb-sc-chips span { padding: 7px 12px; border-radius: 100px; background: var(--bb-tint); font-size: 13px; font-weight: 600; color: var(--bb-blue); }
.is-indirect .bb-sc-chips span { background: var(--bb-sand); color: var(--bb-rust); }
.bb-sc-foot { display: flex; align-items: center; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--bb-border-lt); font-size: 14px; color: var(--bb-strong); }
.bb-sc-foot svg { flex-shrink: 0; }

/* Why consultants: numbered rows */
body.bb-site .e-con.bb-why-list { --display: grid; display: grid; gap: 10px; }
body.bb-site .e-con.bb-why-row {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 16px; --container-widget-width: initial; --container-widget-flex-grow: 0;
	--padding-top: 18px; --padding-bottom: 18px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; transition: border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-why-row:hover { border-color: var(--bb-orange); transform: translateX(6px); }
body.bb-site .bb-why-num .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-why-t .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 15.5px; font-weight: 400; color: var(--bb-strong); line-height: normal; }

/* Program cards */
body.bb-site .e-con.bb-prog-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; margin-top: 30px; }
body.bb-site .e-con.bb-prog-card {
	--display: flex; --flex-direction: column; gap: 16px; --row-gap: 16px; position: relative; overflow: hidden; --overflow: hidden;
	--padding-top: 30px; --padding-bottom: 30px; --padding-left: 30px; --padding-right: 30px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-prog-card:hover { border-color: var(--bb-orange); transform: translateY(-6px); box-shadow: 0 28px 56px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
body.bb-site .e-con.bb-prog-card.is-dark { background: var(--bb-navy); border-color: var(--bb-navy); }
body.bb-site .e-con.bb-prog-card.is-dark:hover { border-color: var(--bb-navy); box-shadow: 0 28px 56px -26px color-mix(in srgb, var(--bb-navy) 60%, transparent); }
body.bb-site .bb-prog-card > :not(.bb-deco) { position: relative; z-index: 1; }
.bb-prog-svg { position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; opacity: .25; pointer-events: none; }
body.bb-site .e-con.bb-prog-head { --flex-direction: row; --flex-wrap: nowrap; --justify-content: space-between; --align-items: center; --container-widget-width: initial; --container-widget-flex-grow: 0; }
.bb-prog-icon { width: 52px; height: 52px; border-radius: 8px; background: #E3F3EA; display: flex; align-items: center; justify-content: center; }
.is-dark .bb-prog-icon { background: rgba(255, 255, 255, .08); }
body.bb-site .bb-prog-via .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bb-subtle); line-height: normal; }
body.bb-site .is-dark .bb-prog-via .elementor-heading-title { color: var(--bb-on-dark); }
body.bb-site .bb-prog-h .elementor-heading-title { font-family: var(--bb-font-head); font-size: 23px; font-weight: 700; color: var(--bb-navy); line-height: 1.2; letter-spacing: normal; }
body.bb-site .is-dark .bb-prog-h .elementor-heading-title { color: #fff; }
body.bb-site .bb-prog-p, body.bb-site .bb-prog-p p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--bb-text); }
body.bb-site .is-dark .bb-prog-p, body.bb-site .is-dark .bb-prog-p p { color: var(--bb-on-dark); }
.bb-prog-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.bb-prog-tags span { padding: 6px 11px; border-radius: 4px; background: var(--bb-bg); border: 1px solid var(--bb-border); font-size: 12.5px; font-weight: 600; color: var(--bb-blue); }
body.bb-site .elementor-widget.bb-prog-link { margin-top: auto; padding-top: 8px; }
body.bb-site .bb-prog-link .elementor-heading-title { font-family: var(--bb-font-body); font-size: 16px; font-weight: 600; line-height: normal; }
body.bb-site .bb-prog-link .elementor-heading-title a { display: flex; align-items: center; gap: 8px; color: var(--bb-orange); transition: gap .3s, color .25s; }
body.bb-site .bb-prog-link .elementor-heading-title a:hover { gap: 14px; color: var(--bb-orange-dk); }
body.bb-site .is-dark .bb-prog-link .elementor-heading-title a { color: var(--bb-peach); }
body.bb-site .is-dark .bb-prog-link .elementor-heading-title a:hover { color: #fff; }

/* Your company -> Back Bay -> specialist partner */
body.bb-site .e-con.bb-pflow { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; align-items: center; margin-top: 22px; }
body.bb-site .e-con.bb-pflow-box {
	--padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; text-align: center; transition: border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-pflow-box:hover { border-color: var(--bb-orange); transform: translateY(-4px); }
body.bb-site .e-con.bb-pflow-box.is-dark { background: var(--bb-navy); border-color: var(--bb-navy); }
body.bb-site .bb-pflow-t .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17px; font-weight: 700; color: var(--bb-navy); line-height: normal; }
body.bb-site .is-dark .bb-pflow-t .elementor-heading-title { color: #fff; }
.bb-pflow-arrow { display: flex; justify-content: center; }
.bb-pflow-arrow svg { display: block; }

/* Next step: schedule a call */
body.bb-site .e-con.bb-next-card {
	position: relative; overflow: hidden; --overflow: hidden; scroll-margin-top: 100px;
	--padding-top: 40px; --padding-bottom: 40px; --padding-left: 40px; --padding-right: 40px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; box-shadow: var(--bb-shadow-navy);
}
.bb-next-svg { position: absolute; right: -50px; top: -50px; width: 220px; height: 220px; opacity: .14; pointer-events: none; }
body.bb-site .e-con.bb-next-grid { --display: grid; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: center; position: relative; z-index: 1; }
body.bb-site .e-con.bb-next-btns { --display: grid; display: grid; gap: 10px; }
body.bb-site .elementor-widget.bb-btn-full .elementor-button { display: flex; justify-content: center; width: 100%; padding: 16px; box-shadow: none; }
body.bb-site .elementor-widget.bb-btn-full .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -10px color-mix(in srgb, var(--bb-orange) 55%, transparent); }
body.bb-site .elementor-widget.bb-btn-ghost.bb-btn-full .elementor-button { padding: 15px; }
body.bb-site .elementor-widget.bb-btn-ghost.bb-btn-full .elementor-button:hover { transform: none; box-shadow: none; }

@media (max-width: 767px) {
	body.bb-site .e-con.bb-next-grid { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .e-con.bb-next-card { --padding-left: 24px; --padding-right: 24px; --padding-top: 30px; --padding-bottom: 30px; }
	body.bb-site .e-con.bb-sc-grid, body.bb-site .e-con.bb-prog-grid { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .e-con.bb-prog-card { --padding-left: 24px; --padding-right: 24px; }
	.bb-spend { padding: 22px 18px; }
	.bb-spend-row { grid-template-columns: 78px minmax(0, 1fr); gap: 10px; }
	body.bb-site .e-con.bb-wave-badge.bb-badge-bottom { bottom: -58px; }
	.bb-pflow-arrow { height: 56px; align-items: center; }
	.bb-pflow-arrow svg { transform: rotate(90deg) scale(.5); }
}

/* =========================================================================
 * HEALTHCARE-style pieces (green accent; greens are fixed tints of --bb-success)
 * ====================================================================== */
@keyframes bbecg { from { stroke-dashoffset: 2160 } to { stroke-dashoffset: 0 } }
@keyframes bbdrop { from { opacity: 0; transform: translateY(-16px) } to { opacity: 1; transform: translateY(0) } }
@keyframes bbdrop2 { from { opacity: 0; transform: translateY(-16px) } to { opacity: 1; transform: translateY(0) } }
body.bb-site { --bb-green-tint: #E3F3EA; --bb-green-line: #C6E6D3; --bb-green-dk: #1F6B47; --bb-green-bg: #F2FAF5; --bb-green-lt: #8FD3AE; }
body.bb-site .e-con.bb-in-hero-grid.bb-hero-eq { grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); }
body.bb-site .bb-pill.bb-pill-green p { background: var(--bb-green-tint); border-color: var(--bb-green-line); color: var(--bb-green-dk); }
body.bb-site .bb-pill.bb-pill-green .bb-pdot { background: var(--bb-success); animation: bbpulse 2.4s ease-in-out infinite; }
body.bb-site .bb-statement.bb-span-green .elementor-heading-title span { color: var(--bb-green-lt); }
body.bb-site .bb-eyebrow.bb-green .elementor-heading-title { color: var(--bb-success); }
body.bb-site .e-con.bb-wave-badge.bb-badge-t30 { top: -30px; }
body.bb-site .bb-h2.bb-fs24 .elementor-heading-title { font-size: 24px; line-height: 1.2; letter-spacing: -0.015em; }
body.bb-site .bb-p.bb-p155, body.bb-site .bb-p.bb-p155 p { font-size: 15.5px; }
body.bb-site .elementor-widget.bb-mt8 { margin-top: 8px; }

/* Layer rows (hero card + plan switcher) */
.bb-layers {
	background: var(--bb-white); border: 1px solid #DCE4EA; border-radius: 8px; padding: 28px;
	box-shadow: 0 26px 60px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); transition: border-color .35s, box-shadow .35s;
}
.bb-layers:hover { border-color: var(--bb-success); box-shadow: 0 34px 74px -26px color-mix(in srgb, var(--bb-navy) 55%, transparent); }
.bb-layers-label, .bb-plan-label, .bb-emp-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-layers-stack { display: grid; gap: 10px; margin-top: 20px; }
.bb-layers-arrow { display: flex; justify-content: center; }
.bb-layers-arrow svg { display: block; }
.bb-layer { padding: 18px 20px; border-radius: 6px; background: var(--bb-bg); border: 1px solid #DCE4EA; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.bb-layer.is-top { background: var(--bb-green-tint); border: 1.5px solid var(--bb-success); }
.bb-layer.is-float { animation: bbfloat 5s ease-in-out infinite; }
.bb-layer .nm { font-family: var(--bb-font-head); font-size: 17px; font-weight: 700; color: var(--bb-blue); }
.bb-layer.is-top .nm, .bb-layer.is-top .tag { color: var(--bb-green-dk); }
.bb-layer .tag { font-size: 12px; font-weight: 600; color: var(--bb-muted); white-space: nowrap; }

/* What employees get */
body.bb-site .e-con.bb-svc-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-top: 30px; }
body.bb-site .e-con.bb-svc-card {
	gap: 16px; --row-gap: 16px; --padding-top: 24px; --padding-bottom: 24px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px;
	transition: transform .35s var(--bb-ease), box-shadow .35s, border-color .35s;
}
body.bb-site .e-con.bb-svc-card:hover { border-color: var(--bb-success); transform: translateY(-6px); box-shadow: 0 26px 50px -26px color-mix(in srgb, var(--bb-navy) 42%, transparent); }
.bb-svc-icon { width: 50px; height: 50px; border-radius: 50%; background: var(--bb-green-tint); display: flex; align-items: center; justify-content: center; }
body.bb-site .bb-svc-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17.5px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-access-w { margin-top: 16px; }
.bb-access { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; padding: 20px 24px; border: 1px solid var(--bb-green-line); border-radius: 6px; background: var(--bb-green-bg); }
.bb-access-tags { display: flex; gap: 8px; }
.bb-access-tags span { padding: 7px 12px; border-radius: 4px; background: #fff; border: 1.5px solid var(--bb-success); color: var(--bb-green-dk); font-family: var(--bb-font-head); font-size: 14px; font-weight: 700; }
.bb-access-tags span.is-solid { background: var(--bb-success); border: 0; color: #fff; }
.bb-access-t { font-size: 15.5px; color: var(--bb-strong); }

/* Plan type switcher (bb.js wirePlan) */
body.bb-site .elementor-widget.bb-plan-w { margin-top: 26px; }
.bb-plan { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; overflow: hidden; box-shadow: var(--bb-shadow-navy); }
.bb-plan-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 26px; border-bottom: 1px solid var(--bb-border); }
.bb-plan .bb-seg { flex-wrap: wrap; }
body.bb-site .bb-plan .bb-seg button { white-space: nowrap; }
.bb-plan-body { padding: 30px 26px; display: grid; gap: 10px; }
.bb-plan-body .bb-layer { flex-wrap: wrap; padding: 22px; }
.bb-plan-body .bb-layer.is-top { padding: 20px 22px; }
.bb-plan-body .bb-layer .tag { font-size: 13px; white-space: normal; }
.bb-plan-top { animation: bbdrop .6s var(--bb-ease); }
.bb-plan-top.is-b { animation-name: bbdrop2; }

/* Employee count slider (bb.js wireEmp) */
.bb-emp { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 26px; }
.bb-emp-head { display: flex; justify-content: space-between; align-items: baseline; }
.bb-emp-val { font-family: var(--bb-font-head); font-size: 30px; font-weight: 700; color: var(--bb-navy); }
body.bb-site .bb-emp input[type=range] { -webkit-appearance: auto; appearance: auto; width: 100%; height: auto; margin: 14px 2px 2px; padding: 0; border: 0; box-shadow: none; background: transparent; accent-color: var(--bb-success); cursor: pointer; }
body.bb-site .bb-emp input[type=range]::-webkit-slider-runnable-track { -webkit-appearance: auto; background: none; border: 0; height: auto; box-shadow: none; }
body.bb-site .bb-emp input[type=range]::-webkit-slider-thumb { -webkit-appearance: auto; appearance: auto; margin: 0; }
body.bb-site .bb-emp input[type=range]::-moz-range-thumb { appearance: auto; }
.bb-emp-scale { display: flex; justify-content: space-between; font-size: 12px; color: var(--bb-subtle); margin-top: 2px; }
.bb-emp-fit { margin-top: 20px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 6px; border: 1px solid var(--bb-border); background: var(--bb-bg); transition: background .35s, border-color .35s; }
.bb-emp-fit.is-fit { border-color: var(--bb-green-line); background: var(--bb-green-bg); }
.bb-emp-dot { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; font-weight: 700; color: #fff; background: var(--bb-subtle); transition: background .35s; }
.is-fit .bb-emp-dot { background: var(--bb-success); }
.bb-emp-t { font-size: 15px; font-weight: 600; color: var(--bb-strong); }

/* Payroll tax (dark card) */
body.bb-site .e-con.bb-tax-grid { --display: grid; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 36px; align-items: start; position: relative; z-index: 1; }
.bb-tax-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 18px; }
.bb-tax-tags span { padding: 6px 11px; border-radius: 4px; border: 1px solid rgba(255, 255, 255, .25); font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: #fff; }
body.bb-site .e-con.bb-tax-note {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: flex-start; gap: 16px; --container-widget-width: initial; --container-widget-flex-grow: 0;
	--padding-top: 22px; --padding-bottom: 22px; --padding-left: 22px; --padding-right: 22px;
	border: 1px solid color-mix(in srgb, var(--bb-peach) 45%, transparent); border-radius: 6px; background: color-mix(in srgb, var(--bb-orange) 10%, transparent);
}
body.bb-site .bb-tax-note > .elementor-widget-html { flex-shrink: 0; }
body.bb-site .bb-tax-note > .elementor-widget-text-editor { flex: 1; }
.bb-tax-note svg { display: block; }
body.bb-site .bb-tax-note-t, body.bb-site .bb-tax-note-t p { margin: 0; font-size: 15.5px; line-height: 1.65; color: #fff; }

/* Cross-link card (icon / copy / link) */
body.bb-site .e-con.bb-xlink-card {
	--display: grid; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center;
	--padding-top: 30px; --padding-bottom: 30px; --padding-left: 34px; --padding-right: 34px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; transition: border-color .3s, box-shadow .3s;
}
body.bb-site .e-con.bb-xlink-card:hover { border-color: #C8D6E0; box-shadow: 0 20px 44px -30px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
.bb-xlink-icon { width: 60px; height: 60px; border-radius: 6px; background: var(--bb-sand); display: flex; align-items: center; justify-content: center; }
body.bb-site .e-con.bb-next-grid.bb-next-eq { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }

@media (max-width: 767px) {
	body.bb-site .e-con.bb-xlink-card { grid-template-columns: minmax(0, 1fr); gap: 18px; --padding-left: 24px; --padding-right: 24px; }
	.bb-plan-head { padding: 18px 16px; }
	body.bb-site .bb-plan .bb-seg button { padding: 8px 11px; font-size: 12.5px; }
	.bb-plan-body { padding: 24px 18px; }
	.bb-layers { padding: 22px 18px; }
	.bb-layer { flex-wrap: wrap; }
	.bb-emp { padding: 22px 18px; }
	body.bb-site .e-con.bb-tax-note { --padding-left: 18px; --padding-right: 18px; }
}

/* =========================================================================
 * TECHNOLOGY SPEND-style pieces
 * ====================================================================== */
@keyframes bbblink { 0%, 100% { opacity: 1 } 50% { opacity: .35 } }
@keyframes bbscanbox { 0% { transform: translateY(0); opacity: 0 } 15% { opacity: 1 } 85% { opacity: 1 } 100% { transform: translateY(320px); opacity: 0 } }
@keyframes bbsweep { from { left: 0% } to { left: 100% } }
body.bb-site .e-con.bb-intro.bb-w740 { max-width: 740px; }
body.bb-site .bb-p.bb-w640, body.bb-site .bb-p.bb-w640 p { max-width: 640px; }

/* Licensed seats (hero card) */
.bb-seats {
	background: var(--bb-white); border: 1px solid #DCE4EA; border-radius: 8px; padding: 26px;
	box-shadow: 0 26px 60px -24px color-mix(in srgb, var(--bb-navy) 42%, transparent); transition: border-color .35s, box-shadow .35s;
}
.bb-seats:hover { border-color: var(--bb-orange); box-shadow: 0 34px 74px -26px color-mix(in srgb, var(--bb-navy) 55%, transparent); }
.bb-seats-head { display: flex; justify-content: space-between; align-items: center; }
.bb-seats-label, .bb-find-label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); }
.bb-seats-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 6px; margin-top: 18px; }
.bb-seats-grid span, .bb-rightsize-grid span { aspect-ratio: 1; border-radius: 3px; background: var(--bb-blue); }
.bb-seats-grid span.u, .bb-rightsize-grid span.u { background: #F4E5D9; border: 1.5px solid var(--bb-orange); }
.bb-seats-grid span.u { animation: bbblink 2.8s ease-in-out infinite; }
.bb-seats-legend { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--bb-border-lt); display: flex; gap: 16px; font-size: 12.5px; color: var(--bb-muted); flex-wrap: wrap; }
.bb-seats-legend span { display: flex; align-items: center; gap: 8px; }
.bb-seats-legend i { width: 12px; height: 12px; border-radius: 2px; background: var(--bb-blue); }
.bb-seats-legend i.u { background: #F4E5D9; border: 1.5px solid var(--bb-orange); }

/* What a review usually turns up */
.bb-find { position: relative; background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 26px; overflow: hidden; scroll-margin-top: 100px; }
.bb-find-scan { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--bb-orange), transparent); animation: bbscanbox 3.6s ease-in-out infinite; }
.bb-find-list { display: grid; gap: 10px; margin-top: 18px; }
.bb-find-row {
	display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--bb-border-lt); border-radius: 6px; background: var(--bb-bg);
	transition: border-color .3s, transform .3s; animation: bbrise .5s var(--bb-ease) both;
}
.bb-find-row:hover { border-color: var(--bb-orange); transform: translateX(6px); }
.bb-find-row .n { font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: var(--bb-orange); }
.bb-find-row .t { font-size: 15.5px; font-weight: 600; color: var(--bb-strong); }
.bb-find-row i { margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: var(--bb-orange); animation: bbpulse 2.4s ease-in-out infinite; }

/* Right-size the seats (bb.js wireRightsize) */
body.bb-site .elementor-widget.bb-rightsize-w { margin-top: 28px; }
.bb-rightsize { background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; padding: 28px; box-shadow: var(--bb-shadow-navy); }
.bb-rightsize-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
body.bb-site button.bb-rightsize-btn {
	border: none; cursor: pointer; padding: 10px 18px; border-radius: 100px; font-size: 13.5px; font-weight: 600; line-height: normal;
	background: var(--bb-orange); color: #fff; box-shadow: none; transition: background .3s, color .3s;
}
body.bb-site button.bb-rightsize-btn:hover, body.bb-site button.bb-rightsize-btn:focus { background: var(--bb-orange); color: #fff; }
body.bb-site .bb-rightsize.is-right button.bb-rightsize-btn { background: var(--bb-navy); }
.bb-rightsize-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(26px, 1fr)); gap: 6px; margin-top: 20px; }
.bb-rightsize-grid span.u { transition: opacity .4s var(--d), transform .4s var(--d), background .4s; }
.is-right .bb-rightsize-grid span.u { opacity: 0; transform: scale(.3); }
.bb-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 22px; }
.bb-route { padding: 14px 16px; border-radius: 6px; background: var(--bb-bg); border: 1px solid var(--bb-border); font-family: var(--bb-font-head); font-size: 16px; font-weight: 700; color: var(--bb-navy); transition: transform .3s, border-color .3s; }
.bb-route:hover { transform: translateY(-3px); border-color: #C8D6E0; }
body.bb-site .bb-rightsize-note { margin: 12px 0 0; font-size: 13.5px; color: #7C8FA0; }

/* Ongoing oversight: renewal calendar */
body.bb-site .e-con.bb-dark-in { position: relative; z-index: 1; }
.bb-renew-grid { position: relative; margin-top: 30px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; }
.bb-renew-m { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 0; border-radius: 4px; background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .1); }
.bb-renew-m.is-renew { background: rgba(255, 255, 255, .08); }
.bb-renew-m span { font-size: 11.5px; font-weight: 600; color: var(--bb-on-dark); }
.bb-renew-m i { width: 10px; height: 10px; border-radius: 50%; background: transparent; }
.bb-renew-m.is-renew i { background: var(--bb-orange); animation: bbpulse 2.6s ease-in-out infinite; }
.bb-renew-sweep { position: absolute; top: -8px; bottom: -8px; width: 2px; background: var(--bb-peach); box-shadow: 0 0 12px color-mix(in srgb, var(--bb-peach) 80%, transparent); animation: bbsweep 8s linear infinite; }
.bb-renew-legend { display: flex; gap: 18px; margin-top: 16px; font-size: 12.5px; color: var(--bb-on-dark); flex-wrap: wrap; }
.bb-renew-legend span { display: flex; align-items: center; gap: 8px; }
.bb-renew-legend i { width: 10px; height: 10px; border-radius: 50%; background: var(--bb-orange); }
.bb-renew-legend i.line { width: 2px; height: 12px; border-radius: 0; background: var(--bb-peach); }

@media (max-width: 767px) {
	.bb-seats, .bb-find, .bb-rightsize { padding: 22px 18px; }
	.bb-renew-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* =========================================================================
 * THE COMPANY-style pieces (full-width story sections, no TOC)
 * ====================================================================== */
body.bb-site .e-con.bb-in-hero-wrap.bb-pb84 { --padding-bottom: 84px; }
body.bb-site .e-con.bb-in-hero-grid.bb-g64 { gap: 64px; }
.bb-hero-svg.bb-op50 { opacity: .5; }
body.bb-site .bb-p.bb-lh172, body.bb-site .bb-p.bb-lh172 p { line-height: 1.72; }
body.bb-site .e-con.bb-intro.bb-w780 { max-width: 780px; }
body.bb-site .bb-h2.bb-lhn .elementor-heading-title { line-height: normal; }

/* Founder portrait */
body.bb-site .e-con.bb-co-portrait { max-width: 460px; width: 100%; justify-self: center; }
body.bb-site .elementor-widget.bb-co-photo { background: var(--bb-tint2); }
body.bb-site .bb-co-photo img { height: 460px; object-position: center top; }
.bb-hero-main.bb-co-photo.bb-pxn-4.jeffrey img {
    object-position: unset;
}
body.bb-site .e-con.bb-wave-badge.bb-co-badge { top: auto; right: auto; left: -33%; bottom: -30px; --padding-top: 16px; --padding-bottom: 16px; --padding-left: 20px; --padding-right: 20px; }
body.bb-site .bb-float-eyebrow.bb-on-dark .elementor-heading-title { color: var(--bb-peach); }
body.bb-site .bb-co-badge-name .elementor-heading-title { font-family: var(--bb-font-head); font-size: 18px; font-weight: 600; color: #fff; line-height: normal; }
body.bb-site .elementor-widget.bb-co-badge-name { margin-top: 6px; }

/* Section shells */
body.bb-site .e-con.bb-co-sec { --padding-top: 92px; --padding-bottom: 92px; }
body.bb-site .e-con.bb-co-sec.bb-co-white { --padding-top: 88px; --padding-bottom: 88px; background: var(--bb-white); border-top: 1px solid var(--bb-border); border-bottom: 1px solid var(--bb-border); }
body.bb-site .e-con.bb-co-split { --display: grid; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 56px; align-items: center; }
body.bb-site .e-con.bb-co-split.bb-top { align-items: start; }

/* Who we serve: market rows */
body.bb-site .e-con.bb-mk-list { --display: grid; display: grid; gap: 10px; }
body.bb-site .e-con.bb-mk-row {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 16px; --container-widget-width: initial; --container-widget-flex-grow: 0;
	--padding-top: 18px; --padding-bottom: 18px; --padding-left: 20px; --padding-right: 20px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 6px; transition: border-color .3s, transform .3s;
}
body.bb-site .e-con.bb-mk-row:hover { border-color: var(--bb-orange); transform: translateX(8px); }
body.bb-site .bb-mk-n .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 13px; font-weight: 700; color: var(--bb-orange); line-height: normal; }
body.bb-site .bb-mk-name .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 18px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-mk-arrow { margin-left: auto; }
body.bb-site .bb-mk-arrow .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 16px; color: var(--bb-orange); line-height: normal; }

/* History timeline (dark) */
body.bb-site .e-con.bb-co-hist { background: var(--bb-navy); overflow: hidden; --overflow: hidden; }
.bb-co-hist-svg { position: absolute; right: -140px; top: -140px; width: 560px; height: 560px; opacity: .2; pointer-events: none; }
body.bb-site .e-con.bb-co-hist-in { --padding-top: 88px; --padding-bottom: 88px; }
body.bb-site .e-con.bb-co-anchor { scroll-margin-top: 100px; }
body.bb-site .e-con.bb-tl { position: relative; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; margin-top: 44px; }
.bb-tl-track, .bb-tl-fill { position: absolute; left: 0; top: 9px; height: 2px; }
.bb-tl-track { right: 0; background: rgba(255, 255, 255, .14); }
.bb-tl-fill { width: 100%; background: linear-gradient(90deg, var(--bb-orange), var(--bb-peach)); transform-origin: left; animation: bbgrow 2.4s var(--bb-ease) .4s both; }
body.bb-site .e-con.bb-tl-item { position: relative; --padding-top: 34px; }
body.bb-site .elementor-widget.bb-tl-dot-w { position: absolute; top: 0; left: 0; width: auto; margin: 0; }
.bb-tl-dot { display: block; width: 20px; height: 20px; border-radius: 50%; background: var(--bb-navy); border: 3px solid var(--bb-orange); box-shadow: 0 0 0 6px color-mix(in srgb, var(--bb-orange) 16%, transparent); }
body.bb-site .bb-tl-year .elementor-heading-title { font-family: var(--bb-font-head); font-size: 32px; font-weight: 700; color: #fff; letter-spacing: -0.02em; line-height: normal; }
body.bb-site .bb-tl-title .elementor-heading-title { font-family: var(--bb-font-head); font-size: 17px; font-weight: 600; color: var(--bb-peach); line-height: normal; }
body.bb-site .elementor-widget.bb-tl-title { margin-top: 6px; }
body.bb-site .elementor-widget.bb-tl-copy { margin-top: 10px; }
body.bb-site .bb-tl-copy, body.bb-site .bb-tl-copy p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--bb-on-dark); text-wrap: pretty; }

/* White cards (stat, goals, segments) */
body.bb-site .e-con.bb-co-card {
	--padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px;
	background: var(--bb-white); border: 1px solid var(--bb-border); border-radius: 8px; transition: border-color .3s, transform .35s, box-shadow .35s;
}
body.bb-site .e-con.bb-co-card:hover { border-color: var(--bb-orange); transform: translateY(-5px); box-shadow: 0 22px 44px -26px color-mix(in srgb, var(--bb-navy) 40%, transparent); }
body.bb-site .e-con.bb-co-card.bb-co-stat { --padding-top: 34px; --padding-bottom: 34px; --padding-left: 34px; --padding-right: 34px; }
body.bb-site .e-con.bb-co-stat-row { --flex-direction: row; --flex-wrap: nowrap; --align-items: baseline; gap: 14px; --container-widget-width: initial; --container-widget-flex-grow: 0; }
body.bb-site .bb-co-stat-n .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 72px; font-weight: 700; color: var(--bb-navy); line-height: 1; letter-spacing: -0.03em; }
body.bb-site .bb-co-stat-l .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 19px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-co-stat-p { margin-top: 14px; }
body.bb-site .bb-co-stat-p, body.bb-site .bb-co-stat-p p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--bb-muted); }
body.bb-site .e-con.bb-co-goals { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-top: 34px; }
body.bb-site .bb-co-goal-n .elementor-heading-title { font-family: var(--bb-font-head); font-size: 44px; font-weight: 700; color: var(--bb-border-lt); line-height: 1; }
body.bb-site .bb-co-goal-t .elementor-heading-title { font-family: var(--bb-font-head); font-size: 19px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-co-goal-t { margin-top: 12px; }
body.bb-site .e-con.bb-co-segs { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 32px; }
body.bb-site .e-con.bb-co-seg { gap: 8px; --row-gap: 8px; }
body.bb-site .bb-co-seg-name .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 18px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .bb-co-seg-sub .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 14px; font-weight: 400; line-height: 1.55; color: var(--bb-muted); }
body.bb-site .elementor-widget.bb-co-segs-note { margin-top: 28px; }

@media (max-width: 767px) {
	body.bb-site .e-con.bb-co-sec, body.bb-site .e-con.bb-co-hist-in { --padding-top: 64px; --padding-bottom: 64px; }
	body.bb-site .e-con.bb-co-split { gap: 36px; }
	body.bb-site .bb-co-photo img { height: 380px; }
	body.bb-site .e-con.bb-wave-badge.bb-co-badge { left: -8px; bottom: -24%;}
	body.bb-site .e-con.bb-tl { row-gap: 34px; }
	body.bb-site .bb-co-stat-n .elementor-heading-title { font-size: 60px; }
}

/* =========================================================================
 * WILLIAM KETTERER + PRIVATE EQUITY ACCESS (reuse the Company shells)
 * ====================================================================== */
body.bb-site .e-con.bb-sm90 { scroll-margin-top: 90px; }
body.bb-site .e-con.bb-wrap-820 { --width: 100%; max-width: 820px; margin-left: auto; margin-right: auto; --padding-left: 32px; --padding-right: 32px; }
body.bb-site .bb-h2.bb-fs44 .elementor-heading-title { font-size: 44px; }

/* Tribute */
body.bb-site .elementor-widget.bb-wk-p { margin-top: 22px; }
body.bb-site .bb-wk-p, body.bb-site .bb-wk-p p { margin: 0; font-size: 19px; line-height: 1.75; color: var(--bb-strong); text-wrap: pretty; }
body.bb-site .e-con.bb-wk-sign {
	--flex-direction: row; --flex-wrap: nowrap; --align-items: center; gap: 14px; --container-widget-width: initial; --container-widget-flex-grow: 0;
	margin-top: 32px; --padding-top: 24px; border-top: 1px solid var(--bb-border);
}
.bb-wk-line { display: block; width: 44px; height: 2px; background: var(--bb-orange); }
body.bb-site .bb-wk-name .elementor-heading-title, body.bb-site .bb-wk-name .elementor-heading-title a { font-family: var(--bb-font-head); font-size: 20px; font-weight: 600; font-style: italic; color: var(--bb-navy); line-height: normal; transition: color .25s; }
body.bb-site .bb-wk-name .elementor-heading-title a:hover { color: var(--bb-orange); }
body.bb-site .e-con.bb-wk-values { grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 40px; }
body.bb-site .e-con.bb-wk-value { --padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px; text-align: center; border: 1px solid var(--bb-border); border-radius: 6px; background: var(--bb-white); transition: border-color .3s, transform .3s; }
body.bb-site .e-con.bb-wk-value:hover { border-color: var(--bb-orange); transform: translateY(-4px); }
body.bb-site .bb-wk-value-t .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 19px; font-weight: 600; color: var(--bb-navy); line-height: normal; }

/* The Man in the Arena */
body.bb-site .e-con.bb-wk-arena { --display: grid; display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 56px; align-items: start; }
body.bb-site .e-con.bb-wk-aside { position: sticky; top: 110px; }
body.bb-site .elementor-widget.bb-wk-photo { border-radius: 6px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .18); background: #16324B; }
body.bb-site .bb-wk-photo img { width: 100%; height: 380px; object-fit: cover; display: block; max-width: none; border-radius: 0; filter: grayscale(1) contrast(1.05); }
body.bb-site .elementor-widget.bb-wk-caption { margin-top: 14px; }
body.bb-site .bb-wk-caption, body.bb-site .bb-wk-caption p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--bb-on-dark); font-style: italic; }
body.bb-site .elementor-widget.bb-wk-quote { margin-top: 26px; }
body.bb-site .bb-wk-quote, body.bb-site .bb-wk-quote p { margin: 0; font-family: var(--bb-font-head); font-size: 22px; line-height: 1.6; font-weight: 500; color: #E4ECF2; text-wrap: pretty; }
body.bb-site .bb-wk-quote span { color: var(--bb-peach); }

/* Private equity: sponsor flow, options, contacts */
body.bb-site .e-con.bb-co-card.bb-pe-card { --padding-top: 32px; --padding-bottom: 32px; --padding-left: 32px; --padding-right: 32px; }
.bb-pe-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 8px; }
.bb-pe-flow svg { display: block; }
.bb-pe-box { padding: 16px 8px; border: 1px solid #DCE4EA; border-radius: 6px; text-align: center; background: var(--bb-bg); }
.bb-pe-box.is-dark { background: var(--bb-navy); border: 0; }
.bb-pe-box .nm { font-family: var(--bb-font-head); font-size: 15px; font-weight: 700; color: var(--bb-navy); }
.bb-pe-box.is-dark .nm { color: #fff; }
.bb-pe-box .sub { font-size: 11.5px; color: var(--bb-on-dark); margin-top: 3px; }
body.bb-site .elementor-widget.bb-pe-note { margin-top: 18px; }
body.bb-site .bb-pe-note, body.bb-site .bb-pe-note p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--bb-muted); }
body.bb-site .e-con.bb-pe-options { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 32px; }
body.bb-site .e-con.bb-pe-opt { gap: 16px; --row-gap: 16px; }
.bb-pe-icon { width: 50px; height: 50px; border-radius: 6px; background: var(--bb-sand); display: flex; align-items: center; justify-content: center; }
body.bb-site .bb-pe-opt-t .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 20px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .e-con.bb-pe-contacts { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 30px; }
body.bb-site .e-con.bb-pe-contact { --flex-direction: row; --flex-wrap: nowrap; --align-items: center; --justify-content: space-between; gap: 14px; --container-widget-width: initial; --container-widget-flex-grow: 0; }
body.bb-site .e-con.bb-pe-contact > .e-con { --width: auto; min-width: 0; }
body.bb-site .bb-pe-k .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-subtle); line-height: normal; }
body.bb-site .bb-pe-v .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 19px; font-weight: 600; color: var(--bb-navy); line-height: normal; overflow-wrap: anywhere; }
body.bb-site .elementor-widget.bb-pe-v { margin-top: 5px; }

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-wk-arena { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	body.bb-site .e-con.bb-wk-aside { position: static; max-width: 360px; }
}
@media (max-width: 767px) {
	body.bb-site .bb-wk-p, body.bb-site .bb-wk-p p { font-size: 17.5px; }
	body.bb-site .e-con.bb-wk-values { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .bb-h2.bb-fs44 .elementor-heading-title { font-size: 34px; }
	body.bb-site .bb-wk-quote, body.bb-site .bb-wk-quote p { font-size: 19px; }
	body.bb-site .e-con.bb-co-card.bb-pe-card { --padding-left: 22px; --padding-right: 22px; }
	.bb-pe-flow { grid-template-columns: minmax(0, 1fr); justify-items: stretch; }
	.bb-pe-flow svg { justify-self: center; transform: rotate(90deg); margin: 8px 0; }
}

/* =========================================================================
 * OFFICER BIO (page 1021, started by hand; reuses the Company shells)
 * ====================================================================== */
body.bb-site .elementor-widget.bb-mt44 { margin-top: 44px; }

/* Quote band */
body.bb-site .e-con.bb-ob-quote-in {
	--flex-direction: row; --flex-wrap: wrap; --align-items: center; gap: 28px;
	--padding-top: 54px; --padding-bottom: 54px; --container-widget-width: initial; --container-widget-flex-grow: 0;
}
body.bb-site .e-con.bb-ob-quote-in > .e-con { --width: auto; min-width: 0; }
body.bb-site .elementor-widget.bb-ob-mark { height: 40px; }
body.bb-site .bb-ob-mark .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 90px; line-height: .6; color: var(--bb-orange); }
body.bb-site .elementor-widget.bb-ob-say { margin-top: 10px; }
body.bb-site .bb-ob-say .elementor-heading-title { display: block; font-family: var(--bb-font-head); font-size: 34px; font-weight: 600; color: #fff; letter-spacing: -0.015em; line-height: normal; }
body.bb-site .elementor-widget.bb-ob-by { margin-top: 8px; }
body.bb-site .bb-ob-by, body.bb-site .bb-ob-by p { margin: 0; font-size: 15px; line-height: normal; color: var(--bb-on-dark); }

/* Bio + sticky sidebar */
body.bb-site .e-con.bb-ob-grid { --display: grid; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 56px; align-items: start; }
body.bb-site .e-con.bb-ob-aside { --display: grid; display: grid; gap: 14px; position: sticky; top: 104px; align-self: start; }
body.bb-site .bb-ob-k .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bb-muted); line-height: normal; }
body.bb-site .bb-ob-t .elementor-heading-title { display: block; position: relative; font-family: var(--bb-font-head); font-size: 17px; font-weight: 600; color: var(--bb-navy); line-height: normal; }
body.bb-site .elementor-widget.bb-ob-s { margin-top: 3px; }
body.bb-site .bb-ob-s .elementor-heading-title { display: block; font-family: var(--bb-font-body); font-size: 14px; font-weight: 400; color: var(--bb-muted); line-height: normal; }
body.bb-site .e-con.bb-ob-degs { --display: grid; display: grid; gap: 14px; margin-top: 16px; }
body.bb-site .e-con.bb-ob-deg + .e-con.bb-ob-deg { border-top: 1px solid var(--bb-border-lt); --padding-top: 14px; }
body.bb-site .e-con.bb-ob-mems { --display: grid; display: grid; gap: 8px; margin-top: 14px; }
body.bb-site .bb-ob-mem .elementor-heading-title { display: flex; gap: 10px; align-items: center; font-family: var(--bb-font-body); font-size: 15px; font-weight: 400; color: var(--bb-strong); line-height: normal; }
body.bb-site .bb-ob-mem .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bb-orange); flex-shrink: 0; }
body.bb-site .e-con.bb-ob-path { --display: grid; display: grid; gap: 14px; margin-top: 16px; --padding-left: 22px; }
body.bb-site .e-con.bb-ob-path::before { content: ""; display: block; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 2px; height: auto; background: var(--bb-border); opacity: 1; mix-blend-mode: normal; border-radius: 0; }
body.bb-site .bb-ob-step .bb-ob-t .elementor-heading-title { font-size: 15.5px; }
body.bb-site .bb-ob-step .bb-ob-t .elementor-heading-title::before { content: ""; position: absolute; left: -22px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: var(--bb-white); border: 2.5px solid var(--bb-orange); box-sizing: border-box; }
body.bb-site .elementor-widget.bb-ob-step .bb-ob-s, body.bb-site .bb-ob-step .elementor-widget.bb-ob-s { margin-top: 0; }
body.bb-site .bb-ob-step .bb-ob-s .elementor-heading-title { font-size: 13px; }

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-ob-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	body.bb-site .e-con.bb-ob-aside { position: static; }
}
@media (max-width: 767px) {
	body.bb-site .bb-ob-say .elementor-heading-title { font-size: 26px; }
	body.bb-site .e-con.bb-ob-quote-in { gap: 18px; --padding-top: 44px; --padding-bottom: 44px; }
}

@media (max-width: 767px) {
	body.bb-site .bb-h1.bb-fs56 .elementor-heading-title { font-size: 40px; }
	.bb-cost { padding: 24px 18px; }
	.bb-cost-head { gap: 12px; }
	.bb-cost-labels span { font-size: 12px; }
	body.bb-site .e-con.bb-nsf-note { gap: 14px; --padding-left: 18px; --padding-right: 18px; }
	.bb-flow { grid-template-columns: minmax(0, 1fr); justify-items: start; row-gap: 14px; padding: 4px 0 4px 22px; }
	.bb-flow-track, .bb-flow-dash { left: 0; right: auto; top: 0; bottom: 0; width: 4px; height: auto; margin-top: 0; }
	.bb-flow-dash { background: repeating-linear-gradient(180deg, var(--bb-peach) 0 22px, transparent 22px 40px); background-size: 4px 40px; animation-name: bbflowy; }
	.bb-flow-ev.is-up, .bb-flow-ev.is-down { transform: none; }
}

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-print-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	body.bb-site .bb-h1.bb-fs58 .elementor-heading-title { font-size: 40px; }
	body.bb-site .e-con.bb-supply { grid-template-columns: minmax(0, 1fr); gap: 16px; --padding-left: 24px; --padding-right: 24px; }
	body.bb-site .e-con.bb-supply > .elementor-widget { justify-self: start; }
	body.bb-site .e-con.bb-print { --padding-left: 24px; --padding-right: 24px; --padding-top: 30px; --padding-bottom: 30px; }
	.bb-eq .bb-app-panel { padding: 24px 20px; }
	.bb-eq .bb-apps-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.bb-site .bb-eq .bb-app-tab { border-bottom: 1px solid var(--bb-border); }
	body.bb-site .bb-eq .bb-app-tab:nth-child(2n) { border-right: 0; }
}

@media (max-width: 767px) {
	.bb-app-vis { border-right: 0; border-bottom: 1px solid var(--bb-border); min-height: 220px; }
	.bb-app-info { padding: 24px 20px; }
	body.bb-site .bb-app-tab { padding: 16px 8px; font-size: 15px; }
	body.bb-site .e-con.bb-proc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.bb-call-head, .bb-call-body { padding-left: 18px; padding-right: 18px; }
	.bb-stock { padding: 24px 16px; }
	.bb-stock-node span { font-size: 13px; }
}
@media (max-width: 767px) {
	.bb-tool-tab .nm { font-size: 16px; }
	body.bb-site .bb-tool-tab { padding: 16px 18px; }
	.bb-tool-body { grid-template-columns: minmax(0, 1fr); }
	.bb-tool-meters { border-right: 0; border-bottom: 1px solid var(--bb-border); padding: 24px 20px; }
	.bb-tool-info { padding: 24px 20px; }
	body.bb-site .bb-tool-copy { font-size: 19px; }
	body.bb-site .e-con.bb-tool-note { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}

@media (max-width: 1000px) {
	body.bb-site .e-con.bb-in-hero-grid, body.bb-site .e-con.bb-band-in, body.bb-site .e-con.bb-toc-layout,
	body.bb-site .e-con.bb-feature, body.bb-site .e-con.bb-feature.bb-feature-11, body.bb-site .e-con.bb-dark-card-grid,
	body.bb-site .e-con.bb-rfq-grid, body.bb-site .e-con.bb-range-grid,
	body.bb-site .e-con.bb-band-in.bb-band-list-in { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .e-con.bb-toc-aside { position: static; display: none; }
	body.bb-site .e-con.bb-toc-layout > .e-con:empty { display: none; }
	body.bb-site .e-con.bb-cards3-fixed, body.bb-site .e-con.bb-related-grid { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
}
@media (max-width: 767px) {
	body.bb-site .bb-h1.bb-fs52 .elementor-heading-title { font-size: 38px; }
	body.bb-site .e-con.bb-float-card { left: -8px; }
	body.bb-site .e-con.bb-dark-card { --padding-left: 26px; --padding-right: 26px; }
	body.bb-site .e-con.bb-callout, body.bb-site .e-con.bb-story-note { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .bb-statement .elementor-heading-title { font-size: 21px; }
	body.bb-site .e-con.bb-notice-in { --flex-wrap: nowrap; --align-items: flex-start; }
	body.bb-site .bb-notice-text, body.bb-site .bb-notice-text p { text-align: left; }
	body.bb-site .e-con.bb-wave-badge { right: -6px; }
	body.bb-site .bb-float-row .bb-float-title .elementor-heading-title { white-space: normal; }
	.bb-modes-tabs { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .bb-mode-tab { border-right: 0; border-bottom: 1px solid var(--bb-border); padding: 16px 20px; }
	.bb-modes-body { grid-template-columns: minmax(0, 1fr); }
	.bb-modes-chart { border-right: 0; border-bottom: 1px solid var(--bb-border); padding: 22px 20px; }
	.bb-modes-info { padding: 24px 20px; }
	body.bb-site .bb-modes-copy { min-height: 0; }
	body.bb-site .e-con.bb-range-items, body.bb-site .e-con.bb-mini-grid { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .elementor-widget.bb-h2.bb-fs26 .elementor-heading-title { font-size: 24px; }
	body.bb-site .e-con.bb-curve-grid, body.bb-site .e-con.bb-inlet-row { grid-template-columns: minmax(0, 1fr); }
	body.bb-site .bb-nowrap .elementor-heading-title { white-space: normal; }
	body.bb-site .e-con.bb-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	body.bb-site .e-con.bb-cap-card { min-height: 0; --padding-left: 16px; --padding-right: 16px; --padding-top: 18px; --padding-bottom: 18px; gap: 12px; --row-gap: 12px; }
	body.bb-site .bb-cap-title .elementor-heading-title { font-size: 15.5px; }
	.bb-ends-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.bb-site .bb-end-tab { border-bottom: 1px solid var(--bb-border); }
	body.bb-site .bb-end-tab:nth-child(2n) { border-right: 0; }
	.bb-ends-body { grid-template-columns: minmax(0, 1fr); }
	.bb-ends-vis { border-right: 0; border-bottom: 1px solid var(--bb-border); padding: 22px 20px; }
	.bb-ends-info { padding: 24px 20px; }
	.bb-axial-ctrl { padding: 24px 20px; }
}

/* ---------- Reveal (JS adds .bb-reveal-ready) ---------- */
body.bb-site .bb-reveal-init { opacity: 0; }

/* ---------- Small screens (desktop unchanged) ---------- */
@media (max-width: 1100px) {
	body.bb-site .bb-nav-toggle {
		display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 11px;
		background: none; border: 1px solid var(--bb-border); border-radius: 4px; cursor: pointer;
	}
	.bb-nav-toggle span { display: block; height: 2px; background: var(--bb-navy); border-radius: 2px; transition: transform .3s, opacity .3s; }
	.bb-nav.is-open .bb-nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.bb-nav.is-open .bb-nav-toggle span:nth-child(2) { opacity: 0; }
	.bb-nav.is-open .bb-nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.bb-nav-list {
		position: absolute; left: 0; right: 0; top: 100%; display: none; flex-direction: column; align-items: stretch; gap: 0;
		background: #fff; border-bottom: 1px solid var(--bb-border); padding: 8px 32px 16px; max-height: 75vh; overflow-y: auto;
		box-shadow: 0 24px 40px -24px color-mix(in srgb, var(--bb-navy) 35%, transparent);
	}
	.bb-nav.is-open .bb-nav-list { display: flex; }
	body.bb-site .bb-nav-trigger { width: 100%; justify-content: space-between; padding: 14px 4px; border-bottom: 1px solid var(--bb-border-lt); }
	.bb-nav-panel, .bb-nav-item.is-right .bb-nav-panel { position: static; display: none; opacity: 1; visibility: visible; transform: none; padding: 6px 0 10px; }
	.bb-nav-item.is-open .bb-nav-panel { display: block; }
	.bb-nav-panel-in { min-width: 0; box-shadow: none; }
	body.bb-site .e-con.bb-header-in { position: relative; }
	body.bb-site .bb-header-in > .elementor-widget.bb-nav-w { order: 3; position: static; }
	body.bb-site .bb-header-in > .elementor-widget.bb-cta-w { margin-left: auto; }
}
@media (max-width: 767px) {
	body.bb-site .e-con.bb-wrap, body.bb-site .e-con.bb-wrap-900 { --padding-left: 20px; --padding-right: 20px; }
	body.bb-site .bb-h1 .elementor-heading-title { font-size: 38px; }
	body.bb-site .bb-h2 .elementor-heading-title, body.bb-site .bb-h2[class*=bb-fs] .elementor-heading-title { font-size: 30px; }
	body.bb-site .bb-model-flow { grid-template-columns: 1fr; }
	body.bb-site .bb-model-flow svg { transform: rotate(90deg); margin: 0 auto; }
	body.bb-site .elementor-widget.bb-hero-small { left: -8px; }
	body.bb-site .e-con.bb-hero-badge { right: -6px; }
	body.bb-site .e-con.bb-story-card, body.bb-site .e-con.bb-mfr-card { --padding-left: 26px; --padding-right: 26px; }
	body.bb-site .bb-topbar-right { display: none; }
	.bb-site-header { top: -36px; }
	body.bb-site .bb-header-in > .elementor-widget.bb-cta-w { display: none; }
	body.bb-site .bb-nav-list { padding-left: 20px; padding-right: 20px; }
	body.bb-site a.bb-sticky-cta { right: 16px; bottom: 16px; }
}
