/* Bondsmore Toolkit — shared tokens and components ("deal desk" design).
   Tokens are prefixed (--bm-*) so Elementor's own container variables never collide. */
.bm {
	--bm-ink: #0e1b17;
	--bm-deep: #062e24;
	--bm-green: #0d5341;
	--bm-green-2: #16705a;
	--bm-sage: #eef2ee;
	--bm-mist: #dfe7e2;
	--bm-amber: #fbbc34;
	--bm-amber-h: #f0aa12;
	--bm-muted: #56645e;
	--bm-line: rgba(14, 27, 23, .12);
	--bm-serif: "Sora", "Manrope", system-ui, sans-serif; /* display face */
	--bm-sans: "Manrope", system-ui, sans-serif;
	--bm-pad: 48px;
	position: relative;
	font-family: var(--bm-sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--bm-ink);
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.bm *, .bm *::before, .bm *::after { box-sizing: border-box; }
.bm :where(h1, h2, h3, h4, p, ul, ol, dl, dd, dt, figure, blockquote, cite) { margin: 0; padding: 0; }
.bm :where(ul, ol) { list-style: none; }
.bm a { color: inherit; text-decoration: none; }
.bm img { max-width: 100%; }
.bm :focus-visible { outline: 2px solid var(--bm-amber); outline-offset: 3px; border-radius: 4px; }
.bm .bm-wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--bm-pad); }

.bm .bm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 0 28px;
	border: 1px solid transparent; border-radius: 4px;
	font-family: var(--bm-sans); font-weight: 700; font-size: 15px; line-height: 1.2; letter-spacing: .01em; text-transform: none;
	white-space: nowrap; transition: background-color .2s, border-color .2s, color .2s;
}
.bm .bm-btn--block { width: 100%; }
.bm .bm-btn--amber { background: var(--bm-amber); color: var(--bm-deep); }
.bm .bm-btn--amber:hover { background: var(--bm-amber-h); color: var(--bm-deep); }
.bm .bm-btn--ghost { border-color: rgba(255, 255, 255, .4); color: #fff; }
.bm .bm-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .06); color: #fff; }
.bm .bm-btn--green { background: var(--bm-green); color: #fff; }
.bm .bm-btn--green:hover { background: var(--bm-deep); color: #fff; }
.bm .bm-link { font-weight: 700; border-bottom: 1px solid var(--bm-amber); padding-bottom: 2px; }
.bm .bm-h2 {
	font-family: var(--bm-serif); font-weight: 600; font-size: clamp(36px, 4.2vw, 58px);
	line-height: 1.05; letter-spacing: -.03em; color: var(--bm-ink); text-transform: none;
}
.bm .bm-h2 em { font-style: normal; color: var(--bm-green); }
.bm .bm-h2--light { color: #fff; }
.bm .bm-h2--light em { color: var(--bm-amber); }

@media (max-width: 680px) {
	.bm { --bm-pad: 20px; }
	.bm .bm-btn { white-space: normal; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.bm *, .bm *::before, .bm *::after { transition: none !important; animation: none !important; }
}
