/*
 * Big Sky Fulfillment 2026: theme stylesheet (front end and editor canvas).
 *
 * House rules (from the playbook):
 *  - Every selector is anchored on the page root (html :is(.wp-site-blocks, .editor-styles-wrapper)),
 *    which also lets rules beat core block CSS without !important.
 *  - Spacing comes from flex/grid gaps; the reset zeroes margins inside the page (longhands only).
 *  - Explicit grid tracks stepped down at breakpoints; no auto-fit/auto-fill card rows.
 *  - Small coloured text uses --bsf-summit (#0e5399) on light backgrounds for contrast.
 *  - Motion only inside prefers-reduced-motion: no-preference.
 *  - Fonts are registered in theme.json; colours mirror the theme.json palette.
 */

/* ---------- Tokens ---------- */
:root {
	--bsf-navy: #053049;
	--bsf-summit: #0e5399;
	--bsf-sky: #0e84c9;
	--bsf-glacier: #88b5df;
	--bsf-glacier-100: #e4f0f9;
	--bsf-tint: #f2f8fc;
	--bsf-mist: #dbe8f4;
	--bsf-gold: #eeb15b;
	--bsf-gold-600: #d9973a;
	--bsf-orange: #ff914d;
	--bsf-ink: #132433;
	--bsf-slate-800: #2a3b4a;
	--bsf-slate-600: #4f6272;
	--bsf-slate-500: #6b7d8c;
	--bsf-slate-300: #c3cdd5;
	--bsf-slate-200: #dde4ea;
	--bsf-slate-100: #edf1f4;
	--bsf-shot: #d5dadf;
	--bsf-red: #c8423b;
	--font-sans: var(--wp--preset--font-family--gotham, "Gotham"), "Montserrat", system-ui, sans-serif;
	--font-condensed: var(--wp--preset--font-family--gotham-condensed, "Gotham Condensed"), "Oswald", "Arial Narrow", sans-serif;
	--font-display: var(--wp--preset--font-family--prohibition, "Prohibition"), "Gotham Condensed", "Oswald", Impact, sans-serif;
	--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	--ease-out: cubic-bezier(.2, .7, .2, 1);
	--bsf-cut: 5vw;
}
body { margin: 0; background: #fff; color: var(--bsf-ink); -webkit-font-smoothing: antialiased; }

/* ---------- Reset inside the page ---------- */
:where(.wp-site-blocks, .wp-site-blocks *, .editor-styles-wrapper, .editor-styles-wrapper *) { box-sizing: border-box; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :where(*) { margin-block: 0; margin-inline: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :where(ul, ol) { padding-inline-start: 0; list-style: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :where(a) { color: var(--bsf-summit); text-decoration: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :where(a:hover) { color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) :where(img) { max-width: 100%; height: auto; display: block; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :focus-visible { outline: 3px solid var(--bsf-gold); outline-offset: 2px; }
html .wp-site-blocks, html .editor-styles-wrapper {
	position: relative;
	overflow-x: clip;
	font: 400 16px/1.55 var(--font-sans);
	color: var(--bsf-ink);
	background: #fff;
}
html .wp-site-blocks { padding: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .screen-reader-text, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sr-only {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* ---------- Utility bar + header (parts/header.html -> patterns/header.php) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility { background: var(--bsf-navy); color: #fff; position: relative; z-index: 6; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility__in {
	max-width: 1280px; margin-inline: auto; padding: 8px 24px;
	display: flex; justify-content: space-between; align-items: center; gap: 8px 16px; flex-wrap: wrap;
	font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility__in > p { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility__in > p:first-child { gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility strong { font-weight: inherit; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility em { font-style: normal; opacity: .5; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility a { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility a:hover { color: var(--bsf-gold); }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header { position: relative; z-index: 5; background: #fff; border-bottom: 1px solid var(--bsf-slate-200); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__in {
	max-width: 1280px; margin-inline: auto; padding: 14px 24px;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__logo { flex: none; order: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__logo img { width: 100px; height: 100px; object-fit: contain; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-nav { order: 2; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-header__actions { order: 3; display: flex; align-items: center; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-header__actions .wp-block-button__link { height: 40px; padding: 0 18px; font-size: 15px; }

/* Navigation block: inline links on wide screens, the block's own overlay menu below 1000px. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav { font: 700 15px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__container { gap: 28px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation-item__content {
	display: block; padding-block: 8px; color: var(--bsf-navy); border-bottom: 3px solid transparent;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation-item__content:hover { color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--bsf-summit); border-bottom-color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .bsf-nav__call { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; border: 2px solid var(--bsf-navy); border-radius: 6px; background: #fff; color: var(--bsf-navy);
	display: flex; align-items: center; justify-content: center;
}
/* Core's overlay defaults are (0,5,0) specific; .bsf-nav.wp-block-navigation lifts ours above them. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--bsf-navy); color: #fff; padding: 24px; }
/* The open overlay must escape the header's stacking context (the utility bar sits above it otherwise). */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header:has(.is-menu-open) { z-index: 100000; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px; align-items: stretch; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .wp-block-navigation-item__content {
	width: 100%; color: #fff; padding-block: 14px; border-bottom: 1px solid rgba(255, 255, 255, .15);
	font: 900 30px/1 var(--font-condensed); letter-spacing: 0;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--bsf-gold); border-bottom-color: rgba(255, 255, 255, .15); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .bsf-nav__call { display: block; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .is-menu-open .bsf-nav__call .wp-block-navigation-item__content {
	color: var(--bsf-gold); border-bottom: 0; padding-block: 18px 0; font: 700 16px/1 var(--font-condensed); letter-spacing: .12em;
}
@media (min-width: 1000px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__responsive-container-open { display: none; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block; position: static; width: auto; height: auto; padding: 0; background: transparent; z-index: auto; overflow: visible;
	}
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-nav .wp-block-navigation__responsive-container:not(.is-menu-open) :is(.wp-block-navigation__responsive-close, .wp-block-navigation__responsive-dialog, .wp-block-navigation__responsive-container-content) {
		display: flex; padding: 0; margin: 0; width: auto; max-width: none;
	}
}
@media (max-width: 999px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-nav { order: 3; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-header__actions { order: 2; margin-left: auto; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header .bsf-header__actions .wp-block-button__link { height: 32px; padding-inline: 12px; font-size: 13px; box-shadow: none; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__in { gap: 10px; }
}
@media (max-width: 480px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__logo img { width: 72px; height: 72px; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-utility__in > p:first-child em { display: none; }
}

/* ---------- Buttons (PHP .bsf-btn and block styles share one look) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-btn,
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: 52px; padding: 0 26px; border-radius: 6px; border: 2px solid transparent;
	background: var(--bsf-sky); color: #fff; white-space: nowrap; cursor: pointer;
	font: 700 18px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase;
	transition: background-color 120ms var(--ease-out), box-shadow 120ms var(--ease-out), transform 120ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-btn--accent,
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-accent .wp-block-button__link {
	background: var(--bsf-gold); color: var(--bsf-navy); box-shadow: 4px 4px 0 var(--bsf-summit);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-btn--accent:hover,
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-accent .wp-block-button__link:hover { background: var(--bsf-gold-600); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-btn--accent:active,
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-accent .wp-block-button__link:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-header__cta.bsf-btn { height: 40px; padding: 0 18px; font-size: 15px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-navy .wp-block-button__link { background: var(--bsf-navy); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-navy .wp-block-button__link:hover { background: var(--bsf-summit); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-outline .wp-block-button__link { background: transparent; color: var(--bsf-summit); border-color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-button.is-style-bsf-outline .wp-block-button__link:hover { background: var(--bsf-tint); color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; }

/* Text link with an arrow: a paragraph with class bsf-arrow-link holding one link. */
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-arrow-link a {
	display: inline-flex; align-items: center; gap: 8px; padding-bottom: 6px; border-bottom: 2px solid var(--bsf-gold);
	color: var(--bsf-navy); font: 700 16px/1 var(--font-condensed); letter-spacing: .1em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-arrow-link a::after {
	content: ""; width: 18px; height: 18px; background: currentColor; flex: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-arrow-link a:hover { color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-arrow-link--lg a { font-size: 17px; }

/* ---------- Bands (sections) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band {
	--pt: clamp(32px, 4vw, 64px);
	--pb: clamp(64px, 7vw, 112px);
	--cut-extra: 0px;
	--topo-color: #0e84c9;
	--topo-alpha: .15;
	position: relative;
	isolation: isolate;
	padding-block: var(--pt) calc(var(--pb) + var(--cut-extra));
	background: #fff;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--even { --pt: clamp(64px, 7vw, 112px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy { background: var(--bsf-navy); color: #fff; --topo-color: #fff3c4; --topo-alpha: .18; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--sky { background: var(--bsf-sky); color: #fff; --topo-color: #fff3c4; --topo-alpha: .28; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--summit { background: var(--bsf-summit); color: #fff; --topo-color: #fff3c4; --topo-alpha: .22; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--tint { background: var(--bsf-tint); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--gold { background: var(--bsf-gold); color: var(--bsf-navy); --topo-color: #ffffff; --topo-alpha: .32; }

/* Diagonal cut: the band starts with a slanted top edge over the previous band. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-cut-up,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-cut-down {
	margin-top: calc(-1 * var(--bsf-cut));
	padding-top: calc(var(--pt) + var(--bsf-cut));
	z-index: 1;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-cut-up { clip-path: polygon(0 var(--bsf-cut), 100% 0, 100% 100%, 0 100%); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-cut-down { clip-path: polygon(0 0, 100% var(--bsf-cut), 100% 100%, 0 100%); }
/* The band before a cut keeps its full bottom padding above the slant. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band:has(+ .bsf-cut-up),
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band:has(+ .bsf-cut-down),
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-main:has(+ .bsf-quote-part) .wp-block-post-content > .bsf-band:nth-last-child(1 of .bsf-band),
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-main:has(+ .bsf-quote-part) > .bsf-band:last-child { --cut-extra: var(--bsf-cut); }

/* Angled panel on the right of a hero (Summit blue). */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wedge::before {
	content: ""; position: absolute; z-index: -1; right: 0; top: 0; width: 32%; height: 100%;
	background: var(--bsf-summit); clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy.bsf-wedge::before { width: 28%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wedge--wide::before { width: 44%; clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%); }

/* Topographic layer (added by topo.js) */
html :is(.wp-site-blocks, .editor-styles-wrapper) bsf-topo { position: absolute; inset: 0; z-index: -1; display: block; overflow: hidden; pointer-events: none; }

/* ---------- Containers & layout helpers ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap {
	position: relative; max-width: 1280px; margin-inline: auto; padding-inline: 24px;
	display: flex; flex-direction: column; gap: 40px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap--narrow { max-width: 1080px; gap: 56px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap--tight { gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap--loose { gap: 56px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stack--md { gap: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stack--lg { gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stack--xl { gap: 28px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-measure { max-width: 900px; }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split { display: flex; flex-direction: row; flex-wrap: wrap; gap: 40px 64px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hero { --pt: clamp(40px, 6vw, 96px); --pb: clamp(56px, 7vw, 112px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hero--compact { --pt: clamp(40px, 5vw, 80px); --pb: clamp(40px, 4vw, 64px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hero--faq { --pb: clamp(48px, 5vw, 80px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--stats { --pt: clamp(28px, 3vw, 48px); --pb: clamp(40px, 5vw, 72px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--flush-top { --pt: clamp(24px, 3vw, 48px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split--top { align-items: flex-start; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split > .bsf-split__main { flex: 1 1 540px; min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split > .bsf-split__side { flex: 1 1 360px; max-width: 520px; min-width: 0; margin-inline: auto; width: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split > .bsf-split__wide { flex: 1.6 1 440px; min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-split > .bsf-split__narrow { flex: 1 1 360px; min-width: 0; }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 40px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sechead > .bsf-stack { flex: 1 1 480px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sechead > p { flex: 0 1 380px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sechead > .wp-block-buttons { flex: none; }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
@media (max-width: 1100px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-2 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-4,
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-grid-3 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Type ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-eyebrow {
	font: 700 14px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-summit);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-eyebrow,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--summit .bsf-eyebrow,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-eyebrow--gold { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--gold .bsf-eyebrow { color: var(--bsf-navy); font-size: 13px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-eyebrow.bsf-eyebrow--chip {
	align-self: flex-start; padding: 7px 10px; border-radius: 3px; background: var(--bsf-gold); color: var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-eyebrow.bsf-eyebrow--pill {
	align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 6px;
	background: var(--bsf-navy); color: #fff; font-size: 13px; letter-spacing: .14em;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-eyebrow.bsf-eyebrow--pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bsf-orange); }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-display {
	font: 900 clamp(52px, 7.6vw, 116px)/.86 var(--font-condensed); text-transform: uppercase; text-wrap: balance; max-width: 960px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-display--xl { font-size: clamp(54px, 8.2vw, 128px); letter-spacing: -.005em; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-display--l { font-size: clamp(52px, 8vw, 124px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-display strong {
	display: inline-block; font-weight: inherit; padding: .04em .12em 0; background: var(--bsf-gold); color: var(--bsf-navy);
	transform: skewX(-8deg); box-shadow: .06em .06em 0 var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-h2 {
	font: 900 clamp(44px, 5.6vw, 84px)/.88 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); text-wrap: balance;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-h2--m { font-size: clamp(40px, 4.6vw, 68px); line-height: .9; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-h2--s { font-size: clamp(32px, 3.4vw, 48px); line-height: .95; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-h2--map { font-size: clamp(44px, 5vw, 76px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-band--navy, .bsf-band--sky, .bsf-band--summit) .bsf-h2 { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--gold .bsf-h2 { color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-script {
	font: 400 clamp(64px, 9vw, 148px)/.86 var(--font-display); text-transform: uppercase; letter-spacing: .01em;
	text-shadow: .05em .05em 0 var(--bsf-navy); text-wrap: balance; color: #fff;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-script--xl { font-size: clamp(64px, 10vw, 160px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-script--m { font-size: clamp(52px, 7.4vw, 116px); line-height: .88; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-script { text-shadow: .05em .05em 0 var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lede { font: 500 clamp(18px, 1.5vw, 21px)/1.5 var(--font-sans); max-width: 560px; text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lede a { color: #fff; font-weight: 700; border-bottom: 2px solid var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-body { font: 400 18px/1.55 var(--font-sans); color: var(--bsf-slate-600); max-width: 600px; text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-band--navy, .bsf-band--sky, .bsf-band--summit) .bsf-body { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-body { color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-body strong { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-body a { font-weight: 700; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-text-lg { font: 500 19px/1.55 var(--font-sans); color: var(--bsf-ink); text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-text { font: 400 17px/1.6 var(--font-sans); color: var(--bsf-slate-800); text-wrap: pretty; }

/* ---------- Lists: chips and checks ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips > li > a,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips > li:not(:has(a)) {
	display: inline-block; padding: 9px 14px; border: 2px solid var(--bsf-navy); border-radius: 999px; background: #fff; color: var(--bsf-navy);
	font: 700 14px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase;
	transition: background-color 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips > li > a:hover { background: var(--bsf-gold); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light > li {
	padding: 7px 10px; border: 1.5px solid rgba(255, 255, 255, .6); border-radius: 999px; font: 500 13px/1 var(--font-sans); color: #fff;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light > li:has(> a) { padding: 0; border: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light > li > a {
	display: inline-block; padding: 10px 16px; border: 2px solid rgba(255, 255, 255, .5); border-radius: 999px; color: #fff;
	font: 700 14px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase; transition: background-color 150ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light > li > a:hover,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips-light > li > a.is-active { background: var(--bsf-gold); border-color: var(--bsf-gold); color: var(--bsf-navy); }
/* Chip row label ("Plugs into", "DTC categories we ship") */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow > ul { display: contents; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow--rule { gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow > p:first-child { font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; margin-right: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow > p:last-child:not(:first-child) { font: 500 13px/1 var(--font-sans); padding-left: 4px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow--rule { gap: 10px; padding-top: 24px; border-top: 1px solid var(--bsf-slate-200); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow--rule > p:first-child { color: var(--bsf-navy); font-size: 13px; letter-spacing: .16em; }
/* Jump-link chips on a blue hero (FAQ) */
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-jumps { display: flex; flex-wrap: wrap; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-jumps a {
	display: inline-block; padding: 10px 14px; background: var(--bsf-navy); border-radius: 999px; color: #fff;
	font: 700 14px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase; transition: background-color 150ms, color 150ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-jumps a:hover { background: var(--bsf-gold); color: var(--bsf-navy); }

html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-checks,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-checks {
	display: flex; flex-wrap: wrap; gap: 10px 24px; font: 700 14px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-checks > li { display: flex; gap: 8px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-checks .bsf-icon { color: var(--bsf-gold); stroke-width: 3; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-checks > li { display: flex; gap: 8px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-checks > li::before {
	content: ""; width: 18px; height: 18px; flex: none; background: var(--bsf-gold);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%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='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Photos (image blocks, or a grey shot-list placeholder until a photo is added) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo {
	position: relative; background: var(--bsf-shot); border-radius: 10px; overflow: hidden;
	aspect-ratio: 4 / 5; padding: 18px; font: 500 13px/1.45 var(--font-mono); color: var(--bsf-slate-800);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo:has(img) { padding: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo :is(figure, .wp-block-image) { position: absolute; inset: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo img { width: 100%; height: 100%; object-fit: cover; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo--5x4 { aspect-ratio: 5 / 4; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo--3x2 { aspect-ratio: 3 / 2; border-radius: 0; padding: 14px; font-size: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo--4x3 { aspect-ratio: 4 / 3; border-radius: 0; padding: 14px; font-size: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-photo--21x9 { aspect-ratio: 21 / 9; }
/* Gold block offset behind a hero photo */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-offset { position: relative; isolation: isolate; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-offset::before {
	content: ""; position: absolute; inset: 0; z-index: -1; transform: translate(18px, 18px); background: var(--bsf-gold); border-radius: 10px;
}
/* "Live in 5 days" callout over the hero photo */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout {
	position: absolute; left: -20px; bottom: 36px; z-index: 2; display: flex; flex-direction: column; gap: 6px;
	padding: 18px 22px; border-radius: 10px; background: var(--bsf-navy); color: #fff; box-shadow: 5px 5px 0 var(--bsf-orange);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout > p:first-child { font: 900 40px/.9 var(--font-condensed); text-transform: uppercase; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout > p:last-child { font: 700 13px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout { left: 12px; bottom: 16px; } }

/* ---------- Hero pieces ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hero__actions { display: flex; flex-wrap: wrap; gap: 20px 28px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hero__media { max-width: 500px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-arrow-link--light a,
html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-band--sky, .bsf-band--summit) p.bsf-arrow-link a { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-band--sky, .bsf-band--summit) p.bsf-arrow-link a:hover { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow { padding-top: 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chiprow--rule { padding-top: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogfilter { padding-top: 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder .bsf-eyebrow { color: var(--bsf-gold); font-size: 13px; }

/* ---------- Stats band ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px 24px; }
@media (max-width: 1000px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stat { display: flex; flex-direction: column; gap: 10px; border-left: 4px solid var(--bsf-gold); padding-left: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stat--accent { border-left-color: var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stat > p:first-child { font: 900 clamp(52px, 5.6vw, 84px)/.85 var(--font-condensed); font-variant-numeric: tabular-nums; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stat--accent > p:first-child { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stat > p:last-child { font: 700 14px/1.2 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-sameday {
	display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .16);
	font: 500 15px/1.5 var(--font-sans);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-sameday strong {
	padding: 5px 8px; border-radius: 3px; background: var(--bsf-orange); color: var(--bsf-navy);
	font: 700 13px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Cards (whole card clickable through its heading link) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card {
	position: relative; display: flex; flex-direction: column; overflow: hidden;
	background: #fff; color: var(--bsf-ink); border: 2px solid var(--bsf-navy); border-radius: 10px;
	transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card:hover { transform: translate(-5px, -5px); box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card--orange:hover { box-shadow: 10px 10px 0 var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card :is(h2, h3) a { color: inherit; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card :is(h2, h3) a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card:focus-within { box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 22px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card__body--lg { padding: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card h3 { font: 900 30px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card__body > p:not([class]) { font: 400 16px/1.5 var(--font-sans); color: var(--bsf-slate-600); flex: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card--sm .bsf-card__body > p:not([class]) { font-size: 15px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-card__more { font: 700 14px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-tags { display: flex; flex-wrap: wrap; gap: 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-tag,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-tags > p {
	align-self: flex-start; display: inline-block; padding: 6px 9px; border-radius: 3px; background: var(--bsf-glacier-100); color: var(--bsf-summit);
	font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-tags > p.bsf-tag--gold { background: var(--bsf-gold); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-tags > p.bsf-tag--grey { background: var(--bsf-slate-100); color: var(--bsf-slate-600); }

/* Icon tiles: add bsf-ico--<name> to a card body or service tile. */
html :is(.wp-site-blocks, .editor-styles-wrapper) [class*="bsf-ico--"]::before {
	content: ""; flex: none; width: 44px; height: 44px; border-radius: 6px;
	background: var(--bsf-sky) var(--ico) center / 24px 24px no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--cart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--cup { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 2v2'/%3E%3Cpath d='M14 2v2'/%3E%3Cpath d='M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1'/%3E%3Cpath d='M6 2v2'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--gift { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--truck { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--snow { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20M12 2v20M20 16l-4-4 4-4M4 8l4 4-4 4M16 4l-4 4-4-4M8 20l4-4 4 4'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--box { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73zM12 22V12M3.3 7l7.7 4.73a2 2 0 0 0 2 0L20.7 7M7.5 4.27l9 5.15'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--returns { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8M3 3v5h5'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--plug { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ico--chart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16M18 17V9M13 17V5M8 17v-3'/%3E%3C/svg%3E"); }
/* Service tiles use the light tile with a Summit icon (icons above are white for cards; tiles recolour). */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service.bsf-ico--cart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service.bsf-ico--gift { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service.bsf-ico--truck { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2'/%3E%3Cpath d='M15 18H9'/%3E%3Cpath d='M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E"); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service[class*="bsf-ico--"]::before { width: 48px; height: 48px; background-color: var(--bsf-glacier-100); background-size: 26px 26px; }

/* ---------- Why switch (comparison rows) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch { display: flex; flex-direction: column; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__head,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__row { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-inline: 20px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__head { padding-bottom: 12px; border-bottom: 2px solid rgba(255, 255, 255, .3); font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__head > p:first-child { flex: 1 1 280px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__head > p:last-child { flex: 1.4 1 340px; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__row { align-items: center; padding-block: 22px; border-bottom: 1px solid rgba(255, 255, 255, .2); transition: background-color 180ms var(--ease-out); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__row:hover { background: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__row > p:first-child {
	flex: 1 1 280px; display: flex; align-items: center; gap: 14px;
	font: 500 19px/1.3 var(--font-sans); text-decoration: line-through; text-decoration-color: var(--bsf-orange); text-decoration-thickness: 2px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__row > p:first-child::before,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__to::before {
	content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
	background: var(--bsf-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053049' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18'/%3E%3Cpath d='m6 6 12 12'/%3E%3C/svg%3E") center / 18px no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__to {
	flex: 1.4 1 340px; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: center;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__to::before {
	grid-row: 1 / span 2;
	background: var(--bsf-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053049' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 18px no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__to > p:first-child { grid-column: 2; font: 900 clamp(24px, 2.3vw, 32px)/.95 var(--font-condensed); text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-switch__to > p:last-child { grid-column: 2; font: 400 15px/1.4 var(--font-sans); }

/* ---------- Services grid ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-services {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; background: var(--bsf-slate-200);
	border: 2px solid var(--bsf-slate-200); border-radius: 10px; overflow: hidden;
}
@media (max-width: 1100px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-services { grid-template-columns: minmax(0, 1fr); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service { display: flex; flex-direction: column; gap: 12px; padding: 28px 24px; background: #fff; transition: background-color 180ms var(--ease-out); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service:hover { background: var(--bsf-tint); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service h3 { font: 900 26px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-service p { font: 400 15px/1.5 var(--font-sans); color: var(--bsf-slate-600); }

/* ---------- Onboarding timeline ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-daycount { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-daycount > p:first-child { font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-daycount > p:last-child { font: 900 clamp(72px, 8vw, 120px)/.8 var(--font-condensed); color: var(--bsf-gold); font-variant-numeric: tabular-nums; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-daycount > p:last-child em { font-style: normal; font-size: .45em; color: rgba(255, 255, 255, .35); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline { display: flex; flex-direction: column; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step { display: grid; grid-template-columns: 320px minmax(0, 1fr); column-gap: 32px; }
/* Day numbers sit over the bar track: first column = info column + gap, then 14 equal days. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days {
	display: grid; grid-template-columns: 352px repeat(14, minmax(0, 1fr)); column-gap: 0;
	padding-bottom: 10px; border-bottom: 2px solid rgba(255, 255, 255, .25);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days > li { text-align: center; font: 700 14px/1 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days > li:first-child { grid-column: 2; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step { align-items: center; padding-block: 20px; border-bottom: 1px solid rgba(255, 255, 255, .14); --s: 1; --e: 14; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step__info { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 16px; row-gap: 6px; align-items: start; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step__info > p:first-child { grid-row: 1 / span 4; font: 900 44px/.85 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step__info > h3 { font: 900 26px/1 var(--font-condensed); text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step__info > p.bsf-step__days { font: 700 13px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step__info > p.bsf-step__desc { font: 400 14px/1.45 var(--font-sans); color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-owners { display: flex; gap: 6px; padding-top: 2px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-owners strong,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-legend strong { padding: 4px 7px; border-radius: 3px; background: var(--bsf-gold); color: var(--bsf-navy); font: 700 11px/1 var(--font-condensed); letter-spacing: .12em; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-owners em,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-legend em { font-style: normal; padding: 3px 6px; border-radius: 3px; border: 1.5px solid #fff; font: 700 11px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; }
/* The bar: a track spanning days 1–14 with the step's days filled. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step::after {
	content: ""; grid-column: 2; grid-row: 1; height: 30px; border-radius: 4px;
	background:
		linear-gradient(to right, transparent calc((var(--s) - 1) / 14 * 100%), var(--bar, var(--bsf-gold)) calc((var(--s) - 1) / 14 * 100%), var(--bar, var(--bsf-gold)) calc(var(--e) / 14 * 100%), transparent calc(var(--e) / 14 * 100%)) center / 100% 22px no-repeat,
		rgba(255, 255, 255, .06);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step > .bsf-step__info { grid-column: 1; grid-row: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-days-1-2 { --s: 1; --e: 2; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-days-3-4 { --s: 3; --e: 4; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-days-4-7 { --s: 4; --e: 7; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-days-8-11 { --s: 8; --e: 11; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-days-12-14 { --s: 12; --e: 14; --bar: var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; padding-top: 32px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy p.bsf-arrow-link a { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; font: 700 13px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-legend strong, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-legend em { font-size: 13px; margin-right: 6px; }
@media (max-width: 860px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days { grid-template-columns: repeat(14, minmax(0, 1fr)); }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days > li { font-size: 11px; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-timeline > ol.bsf-days > li:first-child { grid-column: auto; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step { grid-template-columns: minmax(0, 1fr); row-gap: 14px; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-step::after { grid-column: 1; grid-row: 2; }
}

/* ---------- Locations ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubs { display: flex; flex-direction: column; gap: 10px; padding-top: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hub {
	display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; row-gap: 3px; align-items: center;
	padding: 14px 18px; background: #fff; border: 1px solid var(--bsf-slate-200); border-radius: 10px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hub > p:nth-child(1) { grid-row: 1 / span 2; font: 900 30px/1 var(--font-condensed); color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hub > p:nth-child(2) { font: 700 16px/1.2 var(--font-sans); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hub > p:nth-child(3) { font: 400 14px/1.3 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map { width: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map svg { display: block; width: 100%; height: auto; overflow: visible; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map .bsf-map__code { font: 900 38px/1 var(--font-condensed); letter-spacing: .04em; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map .bsf-map__city { font: 500 17px/1 var(--font-sans); }
@media (prefers-reduced-motion: no-preference) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map .bsf-flow { stroke-dasharray: 10 12; animation: bsf-flow 1.2s linear infinite; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-map .bsf-pulse { animation: bsf-pulse 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
}
@keyframes bsf-flow { to { stroke-dashoffset: -44; } }
@keyframes bsf-pulse { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(2.1); opacity: 0; } }
/* Locations strip (Contact) */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubstrip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 760px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubstrip { grid-template-columns: minmax(0, 1fr); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubstrip a { display: flex; align-items: baseline; gap: 14px; color: #fff; font: 500 15px/1.3 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubstrip a strong { font: 900 44px/.85 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-hubstrip a:hover { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--strip { --pt: 40px; --pb: 40px; }

/* ---------- Proof ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 1100px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos > * {
	height: 76px; border-radius: 6px; background: var(--bsf-slate-100); display: flex; align-items: center; justify-content: center;
	text-align: center; padding: 8px; font: 500 11px/1.3 var(--font-mono); color: var(--bsf-slate-600);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos :is(figure, .wp-block-image) { margin: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos img { max-height: 52px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos--few { display: flex; flex-wrap: wrap; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos--few > * { flex: 0 1 220px; height: 96px; padding: 16px 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-logos--few img { max-height: 56px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-proof { display: flex; flex-wrap: wrap; gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-proof > .bsf-testimonial { flex: 1.4 1 440px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-proof > .bsf-card { flex: 1 1 320px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial {
	min-width: 0; display: flex; flex-direction: column; gap: 24px; padding: clamp(28px, 3.4vw, 48px);
	background: var(--bsf-sky); color: #fff; border-radius: 10px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial__top > p:first-child { font: 900 110px/.6 var(--font-condensed); color: var(--bsf-gold); height: 48px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial__top > p:last-child { padding: 6px 9px; border-radius: 3px; background: var(--bsf-navy); font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial blockquote { padding: 0; border: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial blockquote p { font: 500 clamp(21px, 2vw, 28px)/1.35 var(--font-sans); text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial blockquote cite { display: block; padding-top: 20px; font: 700 17px/1.2 var(--font-sans); font-style: normal; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-testimonial blockquote cite em { display: block; padding-top: 4px; font: 400 14px/1.3 var(--font-sans); font-style: normal; }

/* ---------- FAQ (core Details blocks) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist { display: flex; flex-direction: column; border-top: 2px solid var(--bsf-navy); min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist > details { border-bottom: 1px solid var(--bsf-slate-300); background: rgba(255, 255, 255, .85); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--tint .bsf-faqlist > details { background: transparent; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px;
	padding-block: 22px; color: var(--bsf-navy); font: 700 clamp(17px, 1.6vw, 21px)/1.3 var(--font-sans);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist summary::-webkit-details-marker { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist summary::after {
	content: ""; flex: none; width: 36px; height: 36px; border-radius: 6px; border: 2px solid var(--bsf-sky);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 20px no-repeat;
	transition: transform 180ms, background-color 180ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist details[open] > summary::after {
	transform: rotate(45deg);
	background: var(--bsf-sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 20px no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist details > :not(summary) { padding: 0 56px 24px 0; font: 400 17px/1.6 var(--font-sans); color: var(--bsf-slate-800); text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist--sm summary { padding-block: 20px; font-size: clamp(17px, 1.5vw, 20px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqlist--sm details > :not(summary) { padding-bottom: 22px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqhome { display: flex; flex-wrap: wrap; gap: 32px 64px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqhome > .bsf-stack { flex: 1 1 300px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqhome > .bsf-faqlist { flex: 2 1 520px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqhome .bsf-body { font-size: 17px; }
/* FAQ page groups */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqgroup { display: flex; flex-wrap: wrap; gap: 16px 48px; scroll-margin-top: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqgroup > .bsf-stack { flex: 0 0 240px; max-width: 100%; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqgroup > .bsf-faqlist { flex: 1 1 480px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqgroup > .bsf-stack > p:first-child { font: 900 clamp(44px, 4.6vw, 64px)/.8 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-faqgroup h2 { font: 900 clamp(30px, 3vw, 40px)/.92 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); text-wrap: balance; }

/* ---------- Lead magnet band ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-leadband {
	--pt: calc(3vw + 40px); --pb: calc(3vw + 40px);
	z-index: 2; clip-path: polygon(0 3vw, 100% 0, 100% calc(100% - 3vw), 0 100%);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-leadband + .bsf-band { margin-top: -3vw; padding-top: calc(var(--pt) + 3vw); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead { display: flex; flex-wrap: wrap; align-items: center; gap: 28px 48px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead__thumb {
	flex: 0 0 150px; aspect-ratio: 3 / 4; display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px;
	background: #fff; border: 2px solid var(--bsf-navy); border-radius: 6px; box-shadow: 6px 6px 0 var(--bsf-navy); transform: rotate(-4deg);
	font: 700 12px/1.3 var(--font-condensed); letter-spacing: .1em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead__thumb--img { padding: 0; overflow: hidden; background: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead__thumb--img :is(figure, .wp-block-image) { margin: 0; width: 100%; height: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead__thumb--img img { width: 100%; height: 100%; object-fit: cover; display: block; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead > .bsf-stack { flex: 1 1 380px; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead h2 { font: 900 clamp(34px, 3.8vw, 56px)/.92 var(--font-condensed); text-transform: uppercase; text-wrap: balance; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-lead p:not([class]) { font: 500 18px/1.45 var(--font-sans); max-width: 620px; }

/* ---------- About ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard {
	display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 10px; background: var(--bsf-summit);
	transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard:hover { transform: translate(-5px, -5px); box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard > p:first-child { font: 700 13px/1 var(--font-condensed); letter-spacing: .14em; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard h3 { font: 900 36px/.92 var(--font-condensed); text-transform: uppercase; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard > p:last-child { padding-top: 6px; font: 400 16px/1.5 var(--font-sans); color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard--navy { background: var(--bsf-navy); gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard--navy h3 { font-size: 34px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard--navy > p:last-child { padding-top: 0; color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-valuecard--orange:hover { box-shadow: 10px 10px 0 var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-beliefs { border-top: 2px solid var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-belief {
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 18px; row-gap: 6px; align-items: start;
	padding-block: 24px; border-bottom: 1px solid var(--bsf-slate-200);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-belief > p:first-child { grid-row: 1 / span 2; font: 900 40px/.85 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-belief h3 { font: 900 26px/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-belief > p:last-child { font: 400 16px/1.5 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-brief { display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: flex-start; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-brief > .bsf-stack { flex: 1.3 1 480px; gap: 20px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-brief > .bsf-facts { flex: 1 1 340px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-brief > .bsf-founder { flex: 1 1 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qa { display: flex; flex-direction: column; border-top: 2px solid var(--bsf-navy); margin-top: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qa > * { padding-block: 18px; border-bottom: 1px solid var(--bsf-slate-300); display: flex; flex-direction: column; gap: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qa h3 { font: 700 18px/1.3 var(--font-sans); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qa p { font: 400 16px/1.55 var(--font-sans); color: var(--bsf-slate-800); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-facts { min-width: 0; padding: 8px 28px; background: #fff; border: 2px solid var(--bsf-navy); border-radius: 10px; box-shadow: 8px 8px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-facts > * { display: flex; flex-direction: column; gap: 5px; padding-block: 16px; border-bottom: 1px solid var(--bsf-slate-200); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-facts > *:last-child { border-bottom: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-facts p:first-child { font: 700 12px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-facts p:last-child { font: 500 16px/1.4 var(--font-sans); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder {
	min-width: 0; display: flex; flex-wrap: wrap; gap: 24px 40px; align-items: center; padding: clamp(24px, 3vw, 40px);
	background: var(--bsf-navy); color: #fff; border-radius: 10px; box-shadow: 8px 8px 0 var(--bsf-sky);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__photo {
	flex: 0 0 160px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 4px solid var(--bsf-gold); background: var(--bsf-shot);
	display: flex; align-items: center; justify-content: center; text-align: center; padding: 16px; font: 500 11px/1.35 var(--font-mono); color: var(--bsf-slate-800);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__photo:has(img) { padding: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__photo :is(figure, .wp-block-image) { margin: 0; width: 100%; height: 100%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__photo img { width: 100%; height: 100%; object-fit: cover; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder > .bsf-stack { flex: 1 1 420px; gap: 16px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder blockquote { padding: 0; border: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder blockquote p { font: 500 clamp(19px, 1.7vw, 23px)/1.45 var(--font-sans); text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__sig { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__sig > .bsf-stack { gap: 4px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__sig > .bsf-stack > p:first-child { font: 700 18px/1.2 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder__sig > .bsf-stack > p:last-child { font: 700 13px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder .wp-block-buttons { gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder .wp-block-button.is-style-bsf-outline .wp-block-button__link {
	height: 44px; padding: 10px 14px; border-color: #fff; color: #fff; font-size: 14px; letter-spacing: .1em;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-founder .wp-block-button.is-style-bsf-outline .wp-block-button__link:hover { background: var(--bsf-gold); border-color: var(--bsf-gold); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 40px 0; }
@media (max-width: 1000px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story { grid-template-columns: minmax(0, 1fr); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story > * { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 32px 24px 0 0; border-top: 4px solid var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story > *::before {
	content: ""; position: absolute; top: -14px; left: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--bsf-gold); border: 4px solid var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story p:first-child { font: 900 26px/1 var(--font-condensed); letter-spacing: .04em; color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story h3 { font: 900 30px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-story p:last-child { font: 400 16px/1.5 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-careers { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-careers > .bsf-stack { flex: 1 1 480px; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-careers p:not([class]) { font: 500 18px/1.45 var(--font-sans); max-width: 560px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--careers { --pt: clamp(48px, 5vw, 80px); --pb: clamp(48px, 5vw, 80px); }

/* ---------- Blog listing (Query Loop) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop { display: flex; flex-direction: column; gap: 40px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-template,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-postgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 0; list-style: none; }
@media (max-width: 1000px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-template,
	html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-postgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-template,
	html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-postgrid { grid-template-columns: minmax(0, 1fr); }
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard {
	position: relative; display: flex; flex-direction: column; overflow: hidden; margin: 0;
	background: #fff; border: 2px solid var(--bsf-navy); border-radius: 10px; color: var(--bsf-ink);
	transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post:hover,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard:hover,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard:focus-within,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post:focus-within { transform: translate(-5px, -5px); box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post[hidden] { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-featured-image,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__media { aspect-ratio: 16 / 10; background: var(--bsf-shot); overflow: hidden; margin: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__media:empty { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-featured-image img,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__media img { width: 100%; height: 100%; object-fit: cover; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .bsf-postcard__body,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-terms a {
	display: inline-block; padding: 6px 9px; border-radius: 3px; background: var(--bsf-glacier-100); color: var(--bsf-summit);
	font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; position: relative; z-index: 2;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-terms__separator { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-title,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__title { flex: 1; font: 900 26px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); text-wrap: balance; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-title a,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__title a { color: inherit; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-title a::after,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-postcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-excerpt { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-date { font: 500 12px/1 var(--font-mono); color: var(--bsf-slate-600); }
/* Featured: the newest post spans the row while "All" is selected. */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop:not(.is-filtered) .wp-block-post:first-child { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop:not(.is-filtered) .wp-block-post:first-child .wp-block-post-featured-image { flex: 1.3 1 420px; aspect-ratio: auto; min-height: 280px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop:not(.is-filtered) .wp-block-post:first-child .bsf-postcard__body { flex: 1 1 360px; justify-content: center; gap: 14px; padding: clamp(24px, 3vw, 40px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop:not(.is-filtered) .wp-block-post:first-child .wp-block-post-title { flex: none; font-size: clamp(36px, 3.8vw, 56px); line-height: .9; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop:not(.is-filtered) .wp-block-post:first-child .wp-block-post-excerpt { display: block; font: 400 17px/1.55 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-post-excerpt__more-text { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-blogloop .wp-block-query-pagination { display: flex; gap: 16px; font: 700 15px/1 var(--font-condensed); letter-spacing: .1em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-empty, .bsf-empty-filter) { font: 500 18px/1.5 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-empty-filter { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-empty-filter.is-visible { display: block; }

/* ---------- Article (single post) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__head { --pt: clamp(40px, 5vw, 72px); --pb: clamp(40px, 5vw, 72px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__head-in { max-width: 880px; margin-inline: auto; padding-inline: 24px; display: flex; flex-direction: column; gap: 20px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--bsf-glacier); font: 700 13px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-crumbs a { color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-crumbs a.bsf-crumbs__current { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__title { font: 900 clamp(44px, 6.4vw, 88px)/.88 var(--font-condensed); text-transform: uppercase; text-wrap: balance; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__lede { max-width: none; color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline { display: flex; align-items: center; gap: 14px; padding-top: 8px; flex-wrap: wrap; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__avatar img { width: 48px; height: 48px; border-radius: 50%; background: var(--bsf-shot); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__text { display: flex; flex-direction: column; gap: 4px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__name { font: 700 15px/1.2 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__meta { font: 500 13px/1 var(--font-mono); color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__hero { background: linear-gradient(var(--bsf-navy) 50%, #fff 50%); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__hero > .bsf-article__img { max-width: 1100px; margin-inline: auto; padding-inline: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__img img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 10px; box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__body {
	max-width: 720px; margin-inline: auto; padding: clamp(48px, 5vw, 80px) 24px clamp(64px, 7vw, 96px);
	display: flex; flex-direction: column; gap: 24px; font: 400 19px/1.7 var(--font-sans); color: var(--bsf-slate-800);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > p { text-wrap: pretty; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > h2 { margin-top: 16px; font: 900 clamp(32px, 3vw, 44px)/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > h3 { margin-top: 8px; font: 900 28px/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > :is(ul, ol) { display: flex; flex-direction: column; gap: 8px; padding-left: 24px; list-style: disc; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > ol { list-style: decimal; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > p a, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__body li a { text-decoration: underline; text-underline-offset: 2px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > .wp-block-quote,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > .wp-block-pullquote {
	margin-block: 16px; padding: 24px 28px; border: 0; border-radius: 10px; background: var(--bsf-sky); color: #fff; box-shadow: 8px 8px 0 var(--bsf-navy);
	font: 900 clamp(28px, 3vw, 40px)/1 var(--font-condensed); text-transform: uppercase; text-align: left;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > .wp-block-quote p { font: inherit; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content > .wp-block-image img { border-radius: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content .bsf-note { font-size: 15px; color: var(--bsf-slate-500); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-inline-cta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-block: 16px; padding: 16px 18px; border-radius: 10px;
	background: var(--bsf-navy); color: #fff; font-size: 16px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-inline-cta > .bsf-stack { flex: 1 1 240px; gap: 4px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-inline-cta > .bsf-stack > p:first-child { font: 900 22px/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-inline-cta > .bsf-stack > p:last-child { font: 400 14px/1.4 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-inline-cta .wp-block-button__link { height: 40px; padding: 0 18px; font-size: 15px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 16px; padding: 24px; border: 2px solid var(--bsf-navy); border-radius: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox__avatar img { width: 64px; height: 64px; border-radius: 50%; flex: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox > .bsf-authorbox__text { flex: 1 1 280px; display: flex; flex-direction: column; gap: 4px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox__name { font: 900 22px/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox__bio { font: 400 15px/1.5 var(--font-sans); color: var(--bsf-slate-600); }

html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__content { display: flex; flex-direction: column; gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-article__lede p { margin: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__meta { display: flex; flex-wrap: wrap; gap: 0 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__meta > *:not(:first-child)::before { content: "·"; margin-right: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__meta .wp-block-post-date { font: inherit; color: inherit; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-authorbox:not(:has(.bsf-authorbox__bio)) { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-search { max-width: 560px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-search .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-search .wp-block-search__input { flex: 1; min-height: 48px; padding: 8px 14px; border: 2px solid #fff; border-radius: 6px; font: 400 16px/1.3 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-search .wp-block-search__button { height: 48px; padding: 0 20px; border: 0; border-radius: 6px; background: var(--bsf-gold); color: var(--bsf-navy); font: 700 16px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-related { --pb: clamp(56px, 6vw, 96px); --pt: clamp(56px, 6vw, 96px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-related .bsf-wrap { gap: 32px; }

/* ---------- Contact ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next { display: flex; flex-direction: column; max-width: 480px; border-top: 2px solid rgba(255, 255, 255, .35); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next > p:first-child { padding: 18px 0 6px; font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next__item {
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; row-gap: 4px; align-items: start;
	padding-block: 14px; border-bottom: 1px solid rgba(255, 255, 255, .25);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next__item > p:nth-child(1) { grid-row: 1 / span 2; font: 900 36px/.85 var(--font-condensed); color: var(--bsf-gold); text-shadow: 2px 2px 0 var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next__item > h2 { font: 900 22px/1 var(--font-condensed); text-transform: uppercase; color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-next__item > p:last-child { font: 400 15px/1.45 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-callcard a {
	display: inline-grid; grid-template-columns: 22px auto; column-gap: 12px; row-gap: 4px; align-items: center;
	padding: 14px 18px; border-radius: 10px; background: var(--bsf-navy); color: #fff; box-shadow: 5px 5px 0 var(--bsf-orange);
	font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-callcard a::before {
	content: ""; grid-row: 1 / span 2; width: 22px; height: 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eeb15b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-callcard a { color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-callcard a strong { grid-column: 2; font: 900 24px/1 var(--font-condensed); letter-spacing: 0; color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-contact > .bsf-split__main { flex: 1 1 360px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-contact > :empty { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-contact > .wp-block-shortcode,
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-contact > .bsf-formcard { flex: 1.6 1 560px; max-width: 780px; min-width: 0; }

/* ---------- Quote band + form card ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote { z-index: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote::before {
	content: "";
	position: absolute; z-index: -1; left: 0; bottom: 0; width: 40%; height: 38%;
	background: var(--bsf-summit); clip-path: polygon(0 30%, 100% 100%, 0 100%);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote__in {
	position: relative; max-width: 1280px; margin-inline: auto; padding-inline: 24px;
	display: flex; flex-wrap: wrap; gap: 40px 64px; align-items: center;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote__copy { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote__copy .bsf-lede { max-width: 480px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-quote .bsf-formcard { flex: 1 1 380px; max-width: 520px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-formcard {
	min-width: 0; padding: clamp(24px, 3vw, 36px); border-radius: 10px; background: #fff; color: var(--bsf-ink); box-shadow: 10px 10px 0 var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-formcard--full { padding: clamp(24px, 3vw, 40px); box-shadow: 12px 12px 0 var(--bsf-navy); display: flex; flex-direction: column; gap: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-formcard__title { font: 900 36px/.92 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
/* Quote forms (markup: bsf-site/inc/quote-form.php) */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform-pending p { font: 500 17px/1.55 var(--font-sans); color: var(--bsf-slate-800); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform-pending a { font-weight: 700; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform { display: flex; flex-direction: column; gap: 16px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform[hidden], html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done[hidden], html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-formcard__title[hidden] { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform--full .bsf-qform__grid { grid-template-columns: repeat(auto-fit, minmax(max(240px, calc(50% - 12px)), 1fr)); gap: 18px 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__field--wide { grid-column: 1 / -1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__field > label, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__chips legend {
	font: 700 14px/1 var(--font-condensed); letter-spacing: .1em; text-transform: uppercase; color: var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], select, textarea) {
	width: 100%; min-height: 50px; padding: 10px 16px; border: 2px solid var(--bsf-slate-300); border-radius: 6px; background: #fff;
	font: 400 17px/1.3 var(--font-sans); color: var(--bsf-ink); outline: 0; transition: border-color 120ms var(--ease-out), box-shadow 120ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform ::placeholder { color: var(--bsf-slate-500); opacity: 1; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform select { appearance: none; padding-right: 44px; cursor: pointer; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5399' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 18px no-repeat; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform select:invalid { color: var(--bsf-slate-800); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform textarea { min-height: 150px; resize: vertical; line-height: 1.5; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform :is(input, select, textarea):focus { border-color: var(--bsf-summit); box-shadow: 0 0 0 3px rgba(238, 177, 91, .6); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--bsf-red); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__error { font: 500 13px/1.3 var(--font-sans); color: var(--bsf-red); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__chips { border: 0; padding: 0; margin: 0; min-width: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__chips legend { padding: 0; margin-bottom: 14px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__chips > div { display: flex; flex-wrap: wrap; gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip { position: relative; cursor: pointer; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip span {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; border: 2px solid var(--bsf-slate-300); border-radius: 999px; background: #fff;
	font: 700 15px/1 var(--font-condensed); letter-spacing: .06em; text-transform: uppercase; color: var(--bsf-navy);
	transition: background-color 120ms var(--ease-out), border-color 120ms var(--ease-out), color 120ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip:hover span { border-color: var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip input:checked + span { background: var(--bsf-navy); border-color: var(--bsf-navy); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(238, 177, 91, .8); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__submit.bsf-btn { width: 100%; height: 58px; font-size: 20px; box-shadow: 5px 5px 0 var(--bsf-summit); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__submit:disabled { opacity: .6; cursor: progress; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__req { font: 400 13px/1.4 var(--font-sans); color: var(--bsf-slate-500); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__status { font: 500 15px/1.45 var(--font-sans); color: var(--bsf-red); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__status a, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done a { color: var(--bsf-summit); font-weight: 700; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done { display: flex; flex-direction: column; gap: 16px; padding: 12px 0; outline: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__tick { width: 64px; height: 64px; border-radius: 50%; background: var(--bsf-gold); color: var(--bsf-navy); display: flex; align-items: center; justify-content: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done h3 { margin: 0; font: 900 40px/.92 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done p { margin: 0; font: 400 17px/1.55 var(--font-sans); color: var(--bsf-slate-800); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-qform__done .bsf-qform__sooner { font-size: 15px; color: var(--bsf-slate-600); }

/* ---------- Footer ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer { --pt: 64px; --pb: 32px; color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__in { max-width: 1280px; margin-inline: auto; padding-inline: 24px; display: flex; flex-direction: column; gap: 48px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__cols { display: flex; flex-wrap: wrap; gap: 40px 56px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__brand { flex: 1.4 1 260px; display: flex; flex-direction: column; gap: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__badge img { width: 128px; height: 128px; border-radius: 50%; object-fit: cover; background: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer p.bsf-footer__address { font: 400 15px/1.6 var(--font-sans); font-style: normal; color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer p.bsf-footer__address a { color: #fff; font-weight: 700; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__col { flex: 1 1 160px; display: flex; flex-direction: column; gap: 16px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__heading { font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__col ul { display: flex; flex-direction: column; gap: 12px; font: 400 15px/1.3 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__col a { color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__col a:hover { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__col .bsf-footer__cta a { color: var(--bsf-gold); font-weight: 700; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__base {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .16);
	font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; color: var(--bsf-glacier);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__codes { color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__legal { display: flex; gap: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__legal a { color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-footer__base > p { display: flex; gap: 18px; }

/* ======================================================================
   Components for Services, Who We Serve, How We Onboard, Locations
   ====================================================================== */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-offset--sky::before { background: var(--bsf-sky); transform: translate(16px, 16px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-media { position: relative; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout--side { left: -16px; bottom: 32px; padding: 16px 20px; max-width: 80%; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-callout--side > p:first-child { font-size: 44px; line-height: .85; }

/* Gold round ticks (service and segment points) */
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-ticks { display: flex; flex-direction: column; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-ticks > li { display: flex; gap: 12px; align-items: center; font: 500 16px/1.35 var(--font-sans); color: var(--bsf-ink); }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-ticks > li::before,
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-pointgrid > li::before {
	content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%;
	background: var(--bsf-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053049' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 15px no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-pointgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 6px; }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-pointgrid { grid-template-columns: minmax(0, 1fr); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-pointgrid > li {
	display: flex; gap: 12px; align-items: center; padding: 14px 16px; background: #fff; border: 2px solid var(--bsf-navy); border-radius: 6px;
	font: 700 15px/1.3 var(--font-sans); color: var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-pointgrid > li::before { width: 24px; height: 24px; background-size: 14px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chipsblock { display: flex; flex-direction: column; gap: 10px; padding-top: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-chipsblock > p { font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.is-style-bsf-chips.bsf-chips--sm > li:not(:has(a)) { padding: 8px 12px; border-width: 1.5px; font-size: 13px; }

/* Services: jump chips + numbered service rows */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-jumprow { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-jumprow > p { font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-slate-600); margin-right: 6px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-jumprow > ul { display: contents; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-jumprow a {
	display: inline-block; padding: 10px 14px; border: 2px solid var(--bsf-navy); border-radius: 999px; color: var(--bsf-navy);
	font: 700 14px/1 var(--font-condensed); letter-spacing: .08em; text-transform: uppercase; transition: background-color 150ms, color 150ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-jumprow a:hover { background: var(--bsf-navy); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svclist { display: flex; flex-direction: column; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc {
	display: flex; flex-wrap: wrap; gap: 28px 56px; align-items: center; padding-block: 48px; border-top: 2px solid var(--bsf-navy); scroll-margin-top: 24px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc__main { flex: 1 1 480px; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(16px, 2vw, 32px); row-gap: 16px; align-items: start; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc__main > p:first-child { grid-row: 1 / span 3; min-width: 1.2em; font: 900 clamp(56px, 6vw, 96px)/.8 var(--font-condensed); color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc__main > :not(:first-child) { grid-column: 2; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc__main h2 { font: 900 clamp(34px, 3.6vw, 54px)/.9 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); text-wrap: balance; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc__main > p.bsf-body { max-width: 520px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-svc > .bsf-photo { flex: 1 1 340px; max-width: 540px; aspect-ratio: 16 / 10; padding: 14px; font-size: 12px; }

/* Services: integrations tiles */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-channels { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1100px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-channels { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-channels > p {
	height: 96px; display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px;
	border: 2px solid rgba(255, 255, 255, .35); border-radius: 10px; font: 900 clamp(20px, 2vw, 28px)/1 var(--font-condensed); text-transform: uppercase;
	transition: transform 180ms var(--ease-out), background-color 180ms, color 180ms, border-color 180ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-channels > p:hover { transform: translateY(-4px); background: var(--bsf-gold); color: var(--bsf-navy); border-color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-body a { color: var(--bsf-gold); }

/* Services: sample invoice card */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-invoice { flex: 1 1 380px; max-width: 520px; min-width: 0; background: #fff; border: 2px solid var(--bsf-navy); border-radius: 10px; box-shadow: 10px 10px 0 var(--bsf-navy); overflow: hidden; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-invoice__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; background: var(--bsf-navy); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-invoice__head > p:first-child { font: 900 24px/1 var(--font-condensed); text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-invoice__head > p:last-child { font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-invoice__lines { padding: 6px 22px 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-invoice__lines > li {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: center; padding-block: 14px; border-bottom: 1px dashed var(--bsf-slate-300);
	font: 400 13px/1.3 var(--font-sans); color: var(--bsf-slate-600);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-invoice__lines > li strong { display: block; font: 700 16px/1.2 var(--font-sans); color: var(--bsf-navy); padding-bottom: 3px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-invoice__lines > li::after { content: "Quoted"; grid-column: 2; grid-row: 1; font: 500 12px/1 var(--font-mono); color: var(--bsf-slate-600); background: var(--bsf-slate-100); padding: 6px 8px; border-radius: 3px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-invoice > p:last-child { padding: 16px 22px 18px; font: 700 13px/1.3 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; color: var(--bsf-summit); }

/* How We Onboard: big "14" */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-bignum { flex: 0 1 380px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-bignum > p:first-child { font: 400 clamp(160px, 20vw, 300px)/.78 var(--font-display); color: #fff; text-shadow: .04em .04em 0 var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-bignum > p:last-child { font: 900 clamp(28px, 3vw, 44px)/.9 var(--font-condensed); text-transform: uppercase; color: var(--bsf-gold); text-shadow: 2px 2px 0 var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wedge--36::before { width: 36%; }

/* How We Onboard: step overview + step cards */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 900px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs > p > a {
	display: grid; grid-template-columns: auto auto; justify-content: space-between; align-items: baseline; row-gap: 12px; height: 100%;
	padding: 18px 18px 16px; border: 2px solid rgba(255, 255, 255, .25); border-radius: 10px; color: #fff;
	font: 700 12px/1 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; transition: background-color 180ms, border-color 180ms, transform 180ms;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs > p > a strong { font: 900 40px/.85 var(--font-condensed); letter-spacing: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs > p > a em { grid-column: 1 / -1; font: 900 24px/1 var(--font-condensed); font-style: normal; letter-spacing: 0; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs > p > a:hover { background: var(--bsf-gold); border-color: var(--bsf-gold); color: var(--bsf-navy); transform: translateY(-4px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-steptabs > p > a.is-active { background: var(--bsf-gold); border-color: var(--bsf-gold); color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard[hidden] { display: none; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcards { display: flex; flex-direction: column; gap: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard {
	display: flex; flex-wrap: wrap; gap: 28px 48px; padding: clamp(24px, 3vw, 40px); border-radius: 10px; background: #fff; color: var(--bsf-ink);
	box-shadow: 10px 10px 0 var(--bsf-gold); scroll-margin-top: 24px;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard > .bsf-stack { flex: 1 1 280px; gap: 10px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard > .bsf-stack > p:first-child { font: 700 13px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard h3 { font: 900 clamp(40px, 4.4vw, 64px)/.88 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard > .bsf-stack > p:last-child { font: 400 17px/1.55 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who { flex: 1 1 240px; display: flex; flex-direction: column; gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who > p:first-child {
	align-self: flex-start; padding: 6px 9px; border-radius: 3px; background: var(--bsf-gold); color: var(--bsf-navy);
	font: 700 13px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who--you > p:first-child { background: transparent; border: 2px solid var(--bsf-navy); padding: 4px 8px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who ul { display: flex; flex-direction: column; gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who li { display: flex; gap: 10px; align-items: flex-start; font: 500 16px/1.4 var(--font-sans); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who li::before {
	content: ""; flex: none; width: 20px; height: 20px; margin-top: 1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e84c9' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who--you li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053049' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-stepcard__who > p.bsf-muted { font: 500 16px/1.4 var(--font-sans); color: var(--bsf-slate-600); }

/* Numbered outline cards (onboarding checklist) */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-numcard {
	display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 2px solid var(--bsf-navy); border-radius: 10px;
	transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-numcard:hover { transform: translate(-5px, -5px); box-shadow: 10px 10px 0 var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-numcard > p:first-child { font: 900 48px/.8 var(--font-condensed); color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-numcard h3 { font: 900 26px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-numcard > p:last-child { font: 400 15px/1.5 var(--font-sans); color: var(--bsf-slate-600); }

/* Ruled items (top border): after go-live, multi-node */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ruled > * { display: flex; flex-direction: column; gap: 10px; padding-top: 18px; border-top: 4px solid var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ruled > .bsf-ruled--orange { border-top-color: var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ruled h3 { font: 900 26px/.95 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-ruled p { font: 400 15px/1.5 var(--font-sans); color: var(--bsf-slate-600); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-ruled > * { gap: 12px; padding-top: 20px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-ruled > * > p:first-child { font: 900 56px/.8 var(--font-condensed); color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-ruled > .bsf-ruled--orange > p:first-child { color: var(--bsf-orange); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-ruled h3 { font-size: 28px; color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--navy .bsf-ruled p:last-child { font-size: 16px; color: var(--bsf-mist); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-aside { display: flex; flex-wrap: wrap; gap: 40px 64px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-aside > .bsf-stack { flex: 1 1 320px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-aside > .bsf-grid-3, html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-aside > .bsf-faqlist { flex: 2 1 520px; }

/* Locations */
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-locchips { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-locchips a {
	display: flex; align-items: baseline; gap: 12px; padding: 14px 20px; background: var(--bsf-navy); color: #fff; border-radius: 10px;
	font: 700 14px/1 var(--font-condensed); letter-spacing: .1em; text-transform: uppercase; transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-locchips a strong { font: 900 40px/.85 var(--font-condensed); letter-spacing: 0; color: var(--bsf-gold); }
html :is(.wp-site-blocks, .editor-styles-wrapper) ul.bsf-locchips a:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--bsf-gold); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard {
	flex: 0 0 260px; margin-left: auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px;
	padding: 28px 24px 24px; background: var(--bsf-navy); border: 4px solid var(--bsf-gold); border-radius: 10px; box-shadow: 10px 10px 0 var(--bsf-navy);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard > p:nth-child(1) { font: 700 12px/1 var(--font-condensed); letter-spacing: .16em; text-transform: uppercase; color: var(--bsf-glacier); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard > p:nth-child(2) { font: 400 clamp(96px, 10vw, 132px)/.8 var(--font-display); color: #fff; text-shadow: .04em .04em 0 var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard > p:nth-child(3) { font: 900 34px/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-gold); letter-spacing: .04em; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard > p:nth-child(4) { padding-top: 12px; border-top: 3px solid var(--bsf-gold); font: 700 14px/1.3 var(--font-condensed); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
@media (max-width: 760px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-statcard { margin-left: 0; } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap--map { max-width: 1100px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--map { --pt: clamp(24px, 3vw, 48px); --pb: clamp(48px, 6vw, 96px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-whcard { scroll-margin-top: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-whcard__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-whcard__top > p:first-child { font: 900 64px/.8 var(--font-condensed); color: var(--bsf-sky); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-whcard__top > p:last-child { padding: 6px 9px; border-radius: 3px; background: var(--bsf-navy); color: #fff; font: 700 12px/1 var(--font-condensed); letter-spacing: .14em; text-transform: uppercase; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-card p.bsf-whcard__addr { flex: none; padding-top: 12px; border-top: 1px solid var(--bsf-slate-200); font: 500 15px/1.5 var(--font-sans); color: var(--bsf-navy); }

/* Who We Serve: segment jump tiles + segment bands */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1000px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles { grid-template-columns: minmax(0, 1fr); } }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles a {
	display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 20px 22px; background: var(--bsf-navy); color: #fff; border-radius: 10px;
	font: 900 26px/.95 var(--font-condensed); text-transform: uppercase; transition: transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out);
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles a::after {
	content: ""; flex: none; width: 22px; height: 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eeb15b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segtiles a:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--bsf-gold); color: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-band--segment { --pt: clamp(48px, 6vw, 96px); --pb: clamp(48px, 6vw, 96px); scroll-margin-top: 24px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segment { display: flex; flex-wrap: wrap; gap: 48px 72px; align-items: center; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segment > .bsf-stack { flex: 1 1 500px; gap: 18px; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-segment > .bsf-media { flex: 1 1 360px; max-width: 480px; margin-inline: auto; width: 100%; }

@media (prefers-reduced-motion: reduce) {
	html :is(.wp-site-blocks, .editor-styles-wrapper) *, html :is(.wp-site-blocks, .editor-styles-wrapper) *::before, html :is(.wp-site-blocks, .editor-styles-wrapper) *::after { transition: none !important; animation: none !important; }
	html :is(.wp-site-blocks, .editor-styles-wrapper) :is(.bsf-card, .bsf-valuecard, .wp-block-post, .bsf-postcard):hover { transform: none; }
}

/* ---------- Shortcode output ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-readtime { font: inherit; color: inherit; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-byline__avatar img { width: 48px; height: 48px; border-radius: 50%; background: #fff; }
html :is(.wp-site-blocks, .editor-styles-wrapper) p.bsf-byline__name { font: 700 15px/1.2 var(--font-sans); }

/* ---------- Long-form text pages (privacy policy, terms) ---------- */
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-display--compact { font-size: clamp(44px, 6vw, 88px); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-wrap.bsf-prose { max-width: 768px; gap: 18px; font: 400 17px/1.65 var(--font-sans); color: var(--bsf-slate-800); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-prose > h2 { margin-top: 20px; font: 900 clamp(28px, 2.6vw, 36px)/1 var(--font-condensed); text-transform: uppercase; color: var(--bsf-navy); }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-prose > ul { display: flex; flex-direction: column; gap: 8px; padding-left: 22px; list-style: disc; }
html :is(.wp-site-blocks, .editor-styles-wrapper) .bsf-prose a { text-decoration: underline; text-underline-offset: 2px; }
