:root {
	--lbnx-accent: #3858e9;
	--lbnx-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--lbnx-text: 1rem;
	--lbnx-leading: 1.6;
	--lbnx-border: #d9dde5;
	--lbnx-border-soft: #e7e9ee;
	--lbnx-surface: #f6f7f9;
	--lbnx-surface-strong: #fff;
	--lbnx-text-muted: #596273;
	--lbnx-radius: .625rem;
	--lbnx-space: clamp(1rem, 2.5vw, 1.5rem);
	--lbnx-block-gap: 2rem;
	--lbnx-shadow: 0 .75rem 2rem rgba(15, 23, 42, .08);
}

.lbnx-block {
	box-sizing: border-box;
	color: inherit;
	font-family: var(--lbnx-font);
	font-size: var(--lbnx-text);
	line-height: var(--lbnx-leading);
	max-width: 100%;
	overflow-wrap: anywhere;
}

.lbnx-block *,
.lbnx-block *::before,
.lbnx-block *::after {
	box-sizing: border-box;
}

.lbnx-block :where(h2, h3, p, ul, ol, blockquote, figure) {
	margin-block-start: 0;
}

.lbnx-block :where(a, button, summary):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--lbnx-accent) 45%, transparent);
	outline-offset: 3px;
}

.lbnx-block + .lbnx-block {
	margin-block-start: var(--lbnx-block-gap);
}

.lbnx-block.lbnx-block--button-inline,
.lbnx-block--button-inline + .lbnx-block--button-inline {
	margin-block-start: 0;
	vertical-align: top;
}

.lbnx-block:not(.lbnx-block--button-inline):has(+ .lbnx-block--button-inline) {
	margin-block-end: var(--lbnx-block-gap);
}

.lbnx-block--button-inline + .lbnx-block:not(.lbnx-block--button-inline) {
	margin-block-start: calc(var(--lbnx-block-gap) - .75rem);
}

.lbnx-block-visibility {
	display: block;
}

@media (max-width: 40rem) {
	.lbnx-block-hide-mobile { display: none !important; }
}

@media (min-width: 40.001rem) and (max-width: 72rem) {
	.lbnx-block-hide-tablet { display: none !important; }
}

@media (min-width: 72.001rem) {
	.lbnx-block-hide-desktop { display: none !important; }
}

.lbnx-block__title {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 750;
	letter-spacing: -.015em;
	line-height: 1.2;
	margin: 0 0 .55rem;
}

.lbnx-block__intro {
	color: var(--lbnx-text-muted);
	margin: 0 0 1rem;
}

.lbnx-button {
	align-items: center;
	background: var(--lbnx-accent);
	border: 2px solid var(--lbnx-accent);
	border-radius: .45rem;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	padding: .78em 1.15em;
	text-align: center;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.lbnx-button:hover {
	background: transparent;
	color: var(--lbnx-accent);
	text-decoration: none;
	transform: translateY(-1px);
}

.lbnx-button--outline {
	background: transparent;
	color: var(--lbnx-accent);
}

.lbnx-button--outline:hover {
	background: var(--lbnx-accent);
	color: #fff;
}

.lbnx-block--button-full,
.lbnx-block--button-full .lbnx-button {
	width: 100%;
}

.lbnx-block--button-inline {
	display: inline-block;
	margin-block-end: .75rem;
	margin-inline-end: .75rem;
	vertical-align: top;
}

.lbnx-block--button-full {
	display: block;
}

.lbnx-block--callout {
	background: var(--lbnx-surface);
	border: 1px solid var(--lbnx-border);
	border-inline-start: 4px solid var(--lbnx-accent);
	border-radius: var(--lbnx-radius);
	padding: var(--lbnx-space);
}

.lbnx-block--callout h2 {
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	font-weight: 750;
	line-height: 1.2;
	margin: 0 0 .55rem;
}

.lbnx-block--callout p:last-child {
	margin-bottom: 0;
}

.lbnx-block__actions {
	margin: 1rem 0 0;
}

.lbnx-block--accordion {
	display: grid;
	gap: .75rem;
}

.lbnx-accordion-items {
	border: 1px solid var(--lbnx-border);
	border-radius: var(--lbnx-radius);
	overflow: hidden;
}

.lbnx-accordion-items details + details {
	border-top: 1px solid var(--lbnx-border-soft);
}

.lbnx-block--accordion summary {
	align-items: center;
	background: var(--lbnx-surface-strong);
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: .75rem;
	justify-content: space-between;
	list-style: none;
	min-height: 3.35rem;
	padding: .9rem 1rem;
	position: relative;
}

.lbnx-block--accordion summary::-webkit-details-marker {
	display: none;
}

.lbnx-block--accordion summary::after {
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	content: "";
	height: .55rem;
	opacity: .7;
	transform: rotate(45deg);
	transition: transform .16s ease, color .16s ease;
	width: .55rem;
}

.lbnx-block--accordion details[open] summary {
	color: var(--lbnx-accent);
}

.lbnx-block--accordion details[open] summary::after {
	transform: rotate(-135deg);
}

.lbnx-block__panel {
	background: #fff;
	padding: 0 1rem 1rem;
}

.lbnx-block__panel > :last-child {
	margin-bottom: 0;
}

.lbnx-block--tabs [role="tablist"] {
	border-bottom: 1px solid var(--lbnx-border);
	display: flex;
	gap: .25rem;
	overflow-x: auto;
}

.lbnx-block--tabs [role="tab"] {
	background: transparent;
	border: 0;
	border-top: 2px solid transparent;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: .85rem 1rem;
	white-space: nowrap;
}

.lbnx-block--tabs [role="tab"][aria-selected="true"] {
	border-top-color: var(--lbnx-accent);
	color: var(--lbnx-accent);
}

.lbnx-block--tabs .lbnx-block__panel {
	border: 1px solid var(--lbnx-border);
	border-top: 0;
	border-radius: 0 0 var(--lbnx-radius) var(--lbnx-radius);
	padding: var(--lbnx-space);
}

.lbnx-block--list {
	border: 1px solid var(--lbnx-border);
	border-radius: var(--lbnx-radius);
	padding: var(--lbnx-space);
}

.lbnx-block--list h2 {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 750;
	margin: 0 0 .8rem;
}

.lbnx-block--list ul {
	margin-bottom: 0;
	padding-left: 1.25rem;
}

.lbnx-block--list ol {
	margin-bottom: 0;
	padding-left: 1.35rem;
}

.lbnx-block--list li + li {
	margin-top: .45rem;
}

.lbnx-list__item-title {
	display: block;
	font-weight: 700;
}

.lbnx-list__item-description {
	color: var(--lbnx-text-muted);
	margin-top: .2rem;
}

.lbnx-list__item-description > :last-child {
	margin-bottom: 0;
}

.lbnx-block--list li::marker {
	color: currentColor;
}

.lbnx-block--list.lbnx-list--marker-accent li::marker {
	color: var(--lbnx-accent);
}

.lbnx-block--list:is(.lbnx-list--marker-tick, .lbnx-list--marker-cross, .lbnx-list--marker-arrow, .lbnx-list--marker-number, .lbnx-list--marker-none, .lbnx-list--marker-image) :is(ul, ol) {
	list-style: none;
	padding-left: 0;
}

.lbnx-block--list:is(.lbnx-list--marker-tick, .lbnx-list--marker-cross, .lbnx-list--marker-arrow, .lbnx-list--marker-number, .lbnx-list--marker-image) li {
	padding-left: 1.65em;
	position: relative;
}

.lbnx-block--list:is(.lbnx-list--marker-tick, .lbnx-list--marker-cross, .lbnx-list--marker-arrow, .lbnx-list--marker-number, .lbnx-list--marker-image) li::before {
	color: currentColor;
	display: inline-flex;
	font-weight: 750;
	inset-block-start: 0;
	inset-inline-start: 0;
	line-height: inherit;
	position: absolute;
	width: 1.2em;
}

.lbnx-block--list.lbnx-list--marker-accent li::before {
	color: var(--lbnx-accent);
}

.lbnx-block--list.lbnx-list--marker-tick li::before {
	content: "✓";
}

.lbnx-block--list.lbnx-list--marker-cross li::before {
	content: "×";
}

.lbnx-block--list.lbnx-list--marker-arrow li::before {
	content: "→";
}

.lbnx-block--list.lbnx-list--marker-number {
	counter-reset: lbnx-list-item;
}

.lbnx-block--list.lbnx-list--marker-number li {
	counter-increment: lbnx-list-item;
}

.lbnx-block--list.lbnx-list--marker-number li::before {
	content: counter(lbnx-list-item) ".";
}

.lbnx-block--list.lbnx-list--marker-image li::before {
	background: var(--lbnx-list-marker-image, none) center / contain no-repeat;
	content: "";
	height: 1em;
	inset-block-start: .3em;
}

.lbnx-block--list.lbnx-list--compact li + li {
	margin-top: .25rem;
}

.lbnx-block--list.lbnx-list--checklist li {
	background: var(--lbnx-surface);
	border: 1px solid var(--lbnx-border-soft);
	border-radius: calc(var(--lbnx-radius) * .75);
	padding-block: .7rem;
	padding-right: .9rem;
}

.lbnx-block--list.lbnx-list--checklist:is(.lbnx-list--marker-tick, .lbnx-list--marker-cross, .lbnx-list--marker-arrow, .lbnx-list--marker-number, .lbnx-list--marker-image) li {
	padding-left: 2.4rem;
}

.lbnx-block--list.lbnx-list--checklist li::before {
	inset-block-start: .7rem;
	inset-inline-start: .9rem;
}

.lbnx-block--list.lbnx-list--feature :is(ul, ol) {
	display: grid;
	gap: .8rem;
}

.lbnx-block--list.lbnx-list--feature li {
	border-bottom: 1px solid var(--lbnx-border-soft);
	padding-bottom: .8rem;
}

.lbnx-block--list.lbnx-list--feature li + li {
	margin-top: 0;
}

.lbnx-block--quote {
	background: var(--lbnx-surface);
	border-inline-start: 4px solid var(--lbnx-accent);
	border-radius: var(--lbnx-radius);
	margin-inline: 0;
	padding: var(--lbnx-space);
}

.lbnx-block--quote blockquote {
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	font-weight: 650;
	line-height: 1.35;
	margin-bottom: .8rem;
}

.lbnx-block--quote figcaption {
	color: var(--lbnx-text-muted);
	font-weight: 650;
}

.lbnx-block--gallery {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
}

.lbnx-block--gallery-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lbnx-block--gallery-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lbnx-block--gallery-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.lbnx-block--image-gallery {
	display: grid;
	gap: .75rem;
}

.lbnx-block-figure {
	margin: 0;
}

.lbnx-block--gallery img,
.lbnx-block--image {
	border-radius: var(--lbnx-radius);
	display: block;
	height: auto;
	width: 100%;
}

.lbnx-block--gallery__link,
.lbnx-block-figure__link {
	display: block;
	text-decoration: none;
}

.lbnx-block-figure figcaption,
.lbnx-block--video figcaption {
	color: var(--lbnx-text-muted);
	font-size: .925em;
	margin-top: .6rem;
}

.lbnx-block__embed {
	aspect-ratio: 16 / 9;
	background: var(--lbnx-surface);
	border-radius: var(--lbnx-radius);
	overflow: hidden;
}

.lbnx-block__embed :where(iframe, video) {
	height: 100%;
	width: 100%;
}

.lbnx-block--gravity-form {
	display: grid;
	gap: .75rem;
}

.lbnx-block--menu {
	border: 1px solid var(--lbnx-border);
	border-radius: var(--lbnx-radius);
	overflow: hidden;
}

.lbnx-block--menu__title {
	border-bottom: 1px solid var(--lbnx-border);
	color: inherit;
	font: inherit;
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.25;
	margin: 0;
	padding: .85rem 1rem;
}

.lbnx-menu-toggle {
	align-items: center;
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--lbnx-border);
	color: inherit;
	cursor: pointer;
	display: none;
	font: inherit;
	font-weight: 750;
	justify-content: space-between;
	line-height: 1.25;
	min-height: 3rem;
	padding: .75rem 1rem;
	text-align: left;
	width: 100%;
}

.lbnx-menu-toggle__icon {
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	height: .55rem;
	opacity: .7;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .16s ease;
	width: .55rem;
}

.lbnx-block--menu.is-open .lbnx-menu-toggle__icon { transform: rotate(-135deg) translateY(-1px); }

.lbnx-block--menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lbnx-block--menu li + li {
	border-top: 1px solid var(--lbnx-border-soft);
}

.lbnx-block--menu a {
	align-items: center;
	border-inline-start: 3px solid transparent;
	color: inherit;
	display: flex;
	font: inherit;
	font-weight: 650;
	gap: .75rem;
	line-height: 1.35;
	min-height: 3rem;
	padding: .7rem 1rem;
	text-decoration: none;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.lbnx-block--menu a:hover,
.lbnx-block--menu a:focus-visible,
.lbnx-block--menu .current-menu-item > a,
.lbnx-block--menu .current-menu-ancestor > a {
	background: color-mix(in srgb, var(--lbnx-accent) 8%, transparent);
	border-inline-start-color: var(--lbnx-accent);
	color: var(--lbnx-accent);
	text-decoration: none;
}

.lbnx-block--menu a:focus-visible {
	outline: 2px solid var(--lbnx-accent);
	outline-offset: -2px;
}

.lbnx-block--menu .sub-menu {
	background: #f7f8fa;
}

.lbnx-block--menu .sub-menu a {
	font-size: .925em;
	font-weight: 550;
	padding-inline-start: 1.75rem;
}

.lbnx-block--menu .sub-menu .sub-menu a {
	padding-inline-start: 2.5rem;
}

.lbnx-block--child-page-listing {
	border: 1px solid var(--lbnx-border);
	border-radius: var(--lbnx-radius);
	padding: var(--lbnx-space);
}

.lbnx-child-pages {
	display: grid;
	gap: .75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.lbnx-child-pages__link {
	align-items: flex-start;
	border: 1px solid var(--lbnx-border-soft);
	border-radius: .5rem;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding: .9rem 1rem;
	text-decoration: none;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.lbnx-child-pages__link:hover,
.lbnx-child-pages__link:focus-visible {
	border-color: var(--lbnx-accent);
	box-shadow: var(--lbnx-shadow);
	text-decoration: none;
	transform: translateY(-1px);
}

.lbnx-child-pages__title {
	font-weight: 700;
}

.lbnx-child-pages__excerpt {
	color: var(--lbnx-text-muted);
	font-size: .925em;
	line-height: 1.45;
}

@media (max-width: 40rem) {
	.lbnx-block--menu-collapse-small.lbnx-block--menu-collapsible .lbnx-block--menu__title {
		display: none;
	}

	.lbnx-block--menu-collapse-small.lbnx-block--menu-collapsible .lbnx-menu-toggle {
		display: flex;
	}

	.lbnx-block--menu-collapse-small.lbnx-block--menu-collapsible.is-lbnx-menu-ready:not(.is-open) .lbnx-menu {
		display: none;
	}

	.lbnx-block--menu-collapse-small.lbnx-block--menu-collapsible a {
		min-height: 2.75rem;
		padding-block: .625rem;
	}
}

@media (max-width: 56rem) {
	.lbnx-block--menu-collapse-medium.lbnx-block--menu-collapsible .lbnx-block--menu__title {
		display: none;
	}

	.lbnx-block--menu-collapse-medium.lbnx-block--menu-collapsible .lbnx-menu-toggle {
		display: flex;
	}

	.lbnx-block--menu-collapse-medium.lbnx-block--menu-collapsible.is-lbnx-menu-ready:not(.is-open) .lbnx-menu {
		display: none;
	}

	.lbnx-block--menu-collapse-medium.lbnx-block--menu-collapsible a {
		min-height: 2.75rem;
		padding-block: .625rem;
	}
}

@media (max-width: 72rem) {
	.lbnx-block--menu-collapse-large.lbnx-block--menu-collapsible .lbnx-block--menu__title {
		display: none;
	}

	.lbnx-block--menu-collapse-large.lbnx-block--menu-collapsible .lbnx-menu-toggle {
		display: flex;
	}

	.lbnx-block--menu-collapse-large.lbnx-block--menu-collapsible.is-lbnx-menu-ready:not(.is-open) .lbnx-menu {
		display: none;
	}

	.lbnx-block--menu-collapse-large.lbnx-block--menu-collapsible a {
		min-height: 2.75rem;
		padding-block: .625rem;
	}
}

@media (max-width: 35rem) {
	.lbnx-block--tabs [role="tab"] {
		padding-inline: .7rem;
	}

	.lbnx-block--gallery,
	.lbnx-block--gallery-columns-2,
	.lbnx-block--gallery-columns-3,
	.lbnx-block--gallery-columns-4 {
		grid-template-columns: 1fr 1fr;
	}
}
