/* ==========================================================================
   Direction B, "Digital thread" (redesign, 2026-09-30)
   Loaded after style.css so these rules win cascade ties. Decisions behind
   every value live on the Baselines Redesign canvas and in PRODUCT.md:
   D1 dark everywhere, D14 IBM Plex Sans, D2 600 headings, D6 pill buttons,
   D7 12px cards / 20px tiles, D8 150/250/400ms motion, D9 video controls.
   ========================================================================== */

:root {
	--bli-night: #0b0e13;
	--bli-panel: #11161e;
	--bli-panel-2: #151b24;
	--bli-line: rgba(255, 255, 255, 0.08);
	--bli-line-2: rgba(255, 255, 255, 0.14);
	--bli-text: #eef2f6;
	--bli-text-body: #c9d2dd;
	--bli-text-2: #9aa6b5;
	--bli-blue: #0f62fe;
	--bli-blue-hover: #0353e9;
	--bli-link: #78a9ff;
	--bli-link-hover: #a6c8ff;
	--bli-orange: #e8914a;
	--bli-pass: #6fdc9f;
	--bli-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--bli-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--bli-fast: 150ms;
	--bli-base: 250ms;
	--bli-slow: 400ms;
	--bli-font: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--bli-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	--bli-wrap: 1200px;
	--bli-gutter: clamp(20px, 5vw, 80px);
}

/* ---- Page ground, type, browser surfaces ---- */
.bli-field {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}
html {
	scrollbar-color: #2a3340 var(--bli-night);
}
body {
	background-color: var(--bli-night) !important;
	color: var(--bli-text-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
::selection {
	background: rgba(15, 98, 254, 0.5);
	color: #ffffff;
}
:focus-visible {
	outline: 2px solid var(--bli-link) !important;
	outline-offset: 3px;
	border-radius: 4px;
}
.entry-content {
	color: var(--bli-text-body) !important;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.nv-page-title h1,
.nv-page-title .page-title {
	color: var(--bli-text) !important;
	font-weight: 600 !important;
	letter-spacing: -0.012em;
	text-wrap: balance;
}
.entry-content h1 { line-height: 1.06; }
.entry-content h2 { line-height: 1.12; }
.entry-content h3,
.entry-content h4 { line-height: 1.25; }
.entry-content p,
.entry-content li {
	text-wrap: pretty;
}
:where(.entry-content) a:where(:not(.wp-block-button__link, .sdm_download, .bli-btn)) {
	color: var(--bli-link) !important;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: color var(--bli-fast) var(--bli-ease);
}
:where(.entry-content) a:where(:not(.wp-block-button__link, .sdm_download, .bli-btn)):hover {
	color: var(--bli-link-hover) !important;
}
.entry-content code,
.entry-content pre,
.entry-content kbd {
	font-family: var(--bli-mono);
}

/* Faster scroll reveal (was 0.7s), smaller travel. */
.bli-reveal {
	transform: translateY(12px);
	transition: opacity var(--bli-slow) var(--bli-ease-out), transform var(--bli-slow) var(--bli-ease-out) !important;
}

/* ---- Header: dark glass (D1) ---- */
.bli-header-glass {
	background: rgba(11, 14, 19, 0.72) !important;
	-webkit-backdrop-filter: blur(16px) saturate(1.2);
	backdrop-filter: blur(16px) saturate(1.2);
	border-bottom: 1px solid var(--bli-line) !important;
}
.header-main-inner:not(:has(> .bli-header-glass)) {
	background: rgba(11, 14, 19, 0.94) !important;
}
.header-main .site-title,
.header-main .nv-title-tagline-wrap,
.header-main .primary-menu-ul > li > .wrap > a,
.header-main .primary-menu-ul > li > .wrap .caret,
.header-main .builder-item--primary-menu {
	--color: var(--bli-text-body);
	--hovercolor: #ffffff;
	--activecolor: #ffffff;
	color: var(--bli-text-body) !important;
	fill: currentColor;
}
.header-main .site-title {
	color: var(--bli-text) !important;
	font-weight: 600;
	letter-spacing: -0.005em;
}
.header-main .primary-menu-ul > li > .wrap > a:hover,
.header-main .primary-menu-ul > li.current-menu-item > .wrap > a {
	color: #ffffff !important;
}
.header-main .primary-menu-ul .sub-menu {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line-2);
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
	padding: 8px 0;
}
.header-main .primary-menu-ul .sub-menu a {
	color: var(--bli-text-body) !important;
}
.header-main .primary-menu-ul .sub-menu a:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.05);
}
/* Mobile and tablet menu */
.header-menu-sidebar,
.header-menu-sidebar-bg,
.header-menu-sidebar-inner {
	background: var(--bli-night) !important;
	--bgcolor: var(--bli-night);
	--color: var(--bli-text-body);
}
.header-menu-sidebar a,
.header-menu-sidebar .caret {
	color: var(--bli-text-body) !important;
	fill: currentColor;
}
.navbar-toggle {
	--color: var(--bli-text);
	color: var(--bli-text) !important;
	border-color: var(--bli-line-2) !important;
}
.navbar-toggle .icon-bar {
	background-color: var(--bli-text) !important;
}

/* ---- Footer: dark (D1) ---- */
.baselines-custom-footer {
	background: var(--bli-night) !important;
	border-top: 1px solid var(--bli-line) !important;
}
.baselines-custom-footer p {
	color: var(--bli-text-2) !important;
}
.baselines-custom-footer p:last-of-type {
	color: var(--bli-text-2) !important;
}

/* ---- Cards site-wide: neutral panels, blue kept for actions (D4, D5) ---- */
.wp-block-column:has(.wp-block-heading + .wp-block-list),
.wp-block-column:has(h3.wp-block-heading),
.wp-block-column:has(h4.wp-block-heading):has(i.fa-solid),
.article-content-col,
.nv-single-post-wrap {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	transition: border-color var(--bli-base) var(--bli-ease), transform var(--bli-base) var(--bli-ease) !important;
}
.wp-block-column:has(.wp-block-heading + .wp-block-list):hover,
.wp-block-column:has(h3.wp-block-heading):hover,
.wp-block-column:has(h4.wp-block-heading):has(i.fa-solid):hover,
.article-content-col:hover {
	border-color: var(--bli-line-2) !important;
	transform: translateY(-2px);
	box-shadow: none !important;
}
.wp-block-column:has(.wp-block-heading + .wp-block-list) *,
.wp-block-column:has(h3.wp-block-heading) *,
.wp-block-column:has(h4.wp-block-heading):has(i.fa-solid) *,
.article-content-col *,
.nv-single-post-wrap .entry-content,
.nv-single-post-wrap .entry-content * {
	color: var(--bli-text-body) !important;
}
.wp-block-column:has(.wp-block-heading + .wp-block-list) .wp-block-heading,
.wp-block-column:has(h3.wp-block-heading) .wp-block-heading,
.wp-block-column:has(h4.wp-block-heading):has(i.fa-solid) .wp-block-heading,
.article-content-col .blog-entry-title a,
.nv-single-post-wrap .entry-title,
.nv-single-post-wrap .entry-content h1,
.nv-single-post-wrap .entry-content h2,
.nv-single-post-wrap .entry-content h3,
.nv-single-post-wrap .entry-content h4 {
	color: var(--bli-text) !important;
}
/* Meta text that failed contrast on blue (blue-20, gray-30) */
.article-content-col .nv-meta-list,
.article-content-col .nv-meta-list *,
.nv-single-post-wrap .nv-meta-list,
.nv-single-post-wrap .nv-meta-list * {
	color: var(--bli-text-2) !important;
}
.nv-single-post-wrap .entry-content a:not(.wp-block-button__link) {
	color: var(--bli-link) !important;
}
.wp-block-column:has(h4.wp-block-heading):has(i.fa-solid) i.fa-solid {
	background: var(--bli-panel-2) !important;
	color: var(--bli-link) !important;
	border: 1px solid var(--bli-line-2);
	width: 52px !important;
	height: 52px !important;
	font-size: 1.25rem !important;
}
.entry-content > .wp-block-group:nth-of-type(even) {
	background: transparent;
	box-shadow: none;
}

/* ---- Buttons: pills, 44px+ (D6) ---- */
.wp-block-button__link,
.bli-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 24px !important;
	border-radius: 999px !important;
	font-family: var(--bli-font);
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background-color var(--bli-fast) var(--bli-ease), border-color var(--bli-fast) var(--bli-ease), color var(--bli-fast) var(--bli-ease), transform var(--bli-fast) var(--bli-ease) !important;
	box-shadow: none !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.bli-btn--primary {
	background: var(--bli-blue) !important;
	color: #ffffff !important;
	border: 0 !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.bli-btn--primary:hover {
	background: var(--bli-blue-hover) !important;
	color: #ffffff !important;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.bli-btn--ghost {
	background: rgba(255, 255, 255, 0.06) !important;
	color: var(--bli-text) !important;
	border: 1px solid var(--bli-line-2) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.bli-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(255, 255, 255, 0.24) !important;
}
.wp-block-button__link:hover,
.bli-btn:hover {
	transform: translateY(-1px);
}
.wp-block-button__link:active,
.bli-btn:active {
	transform: translateY(0);
}

/* "Explore … →" links: 44px targets (replaces "Learn more") */
.bli-more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 500;
	text-decoration: none !important;
}
.bli-more::after {
	content: "→";
	margin-left: 6px;
	transition: transform var(--bli-fast) var(--bli-ease);
}
.bli-more:hover::after {
	transform: translateX(3px);
}

/* ---- Shared section frame ---- */
.bli-section {
	max-width: var(--bli-wrap);
	margin-inline: auto !important;
	padding: clamp(32px, 3.6vw, 52px) var(--bli-gutter) !important;
	box-sizing: content-box;
}
.entry-content .bli-section h2.wp-block-heading {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: clamp(2rem, 3.4vw, 2.875rem) !important;
}
/* One rhythm between homepage sections: no stray margins at the edges. */
.bli-section > :last-child,
.bli-section > .wp-block-group__inner-container > :last-child,
.bli-section .bli-split > .wp-block-column > :last-child,
.bli-section .bli-split > .wp-block-column > .wp-block-group__inner-container > :last-child {
	margin-bottom: 0 !important;
}
.bli-section > :first-child,
.bli-section > .wp-block-group__inner-container > :first-child {
	margin-top: 0 !important;
}
.bli-section .bli-split,
.bli-section .baselines-services-carousel {
	margin-block: 0 !important;
}
.bli-section .bli-split > .wp-block-column {
	margin-block: 0 !important;
}
/* Heading lines up with the top of the diagram. */
.bli-section .bli-split {
	align-items: flex-start !important;
}
.bli-section .bli-split > .wp-block-column {
	align-self: flex-start !important;
}
.bli-section .baselines-services-carousel {
	padding-bottom: 0 !important;
}
.bli-section .carousel-controls {
	margin-top: 24px !important;
}
.wp-block-group.bli-tips {
	padding-top: clamp(32px, 3.6vw, 52px) !important;
	padding-bottom: clamp(32px, 3.6vw, 52px) !important;
	margin-block: 0 !important;
}
.bli-tips .wp-block-columns {
	margin-bottom: 0 !important;
}
.bli-lead {
	font-size: clamp(1.125rem, 1.6vw, 1.3125rem) !important;
	line-height: 1.55 !important;
	color: var(--bli-text-body) !important;
	max-width: 42rem;
	margin-bottom: 40px !important;
}

/* ==========================================================================
   Hero: video, left copy, trace panel (first viewport)
   ========================================================================== */
.wp-block-cover.bli-hero {
	min-height: min(100svh, 980px) !important;
	padding: 0 !important;
	align-items: stretch;
}
.wp-block-cover.bli-hero .wp-block-cover__background {
	opacity: 0 !important;
}
/* A light scrim only behind the copy, so the video stays bright (owner, 2026-09-30:
   the earlier 96% fade hid the video). The copy sits above it (z-index 3). */
.wp-block-cover.bli-hero::after {
	z-index: 1 !important;
	background:
		linear-gradient(90deg, rgba(11, 14, 19, 0.72) 0%, rgba(11, 14, 19, 0.55) 40%, rgba(11, 14, 19, 0) 68%) !important;
}
.wp-block-cover.bli-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 3 !important;
}
.wp-block-cover.bli-hero h1,
.wp-block-cover.bli-hero .bli-hero__sub,
.wp-block-cover.bli-hero .bli-hero__cred {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45), 0 2px 24px rgba(0, 0, 0, 0.35) !important;
}
/* Gradual blur where the video meets the page (component 2) */
.wp-block-cover.bli-hero::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 120px;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(11, 14, 19, 0) 0%, rgba(11, 14, 19, 0.6) 65%, var(--bli-night) 100%);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	-webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 70%);
	mask-image: linear-gradient(180deg, transparent 0%, #000 70%);
}
.wp-block-cover.bli-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: calc(var(--bli-wrap) + 2 * var(--bli-gutter));
	margin-inline: auto;
	padding: clamp(112px, 14vh, 168px) var(--bli-gutter) clamp(120px, 16vh, 176px);
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
.wp-block-cover.bli-hero .wp-block-cover__inner-container > .wp-block-columns {
	width: 100%;
	gap: clamp(32px, 5vw, 80px);
	align-items: center !important;
	margin: 0;
}
.wp-block-cover.bli-hero h1 {
	font-size: clamp(2.5rem, 5.2vw, 4.25rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.018em !important;
	font-weight: 600 !important;
	margin: 0 0 24px !important;
	text-align: left !important;
	color: var(--bli-text) !important;
}
.wp-block-cover.bli-hero .bli-hero__sub {
	font-size: clamp(1.125rem, 1.5vw, 1.25rem) !important;
	line-height: 1.55 !important;
	color: var(--bli-text-body) !important;
	max-width: 34rem;
	margin: 0 0 32px !important;
}
.wp-block-cover.bli-hero .wp-block-buttons {
	gap: 12px;
	margin-bottom: 28px;
}
.wp-block-cover.bli-hero .bli-hero__cred {
	font-size: 0.9375rem !important;
	color: var(--bli-text-body) !important;
	margin: 0 !important;
}

/* Headline reveal (component 1): words blur in once on load */
.bli-words .bli-w {
	display: inline-block;
	animation: bli-blurin 900ms var(--bli-ease-out) both;
	animation-delay: calc(var(--i) * 55ms + 120ms);
}
@keyframes bli-blurin {
	from { opacity: 0; filter: blur(12px); transform: translateY(0.25em); }
	to { opacity: 1; filter: blur(0); transform: none; }
}

/* Trace panel */
.bli-trace {
	position: relative;
	padding: 24px;
	border-radius: 20px;
	background: rgba(17, 22, 30, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
	text-align: left;
}
.bli-trace__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}
.bli-trace__title {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 600;
	color: var(--bli-text) !important;
}
.bli-chip {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var(--bli-text-2);
	border: 1px solid var(--bli-line-2);
	border-radius: 999px;
	padding: 4px 10px;
	white-space: nowrap;
}
.bli-trace__list {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}
.bli-node {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 12px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--bli-panel-2);
	border: 1px solid var(--bli-line);
	color: var(--bli-text);
}
.bli-node + .bli-node {
	margin-top: 32px;
}
/* ELM IDs are plain numbers; the artifact type rides in a tag beside it. */
.bli-node__ref {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.bli-tag {
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	padding: 5px 9px;
	border-radius: 999px;
	color: var(--bli-link);
	background: rgba(120, 169, 255, 0.14);
}
.bli-node__id {
	font-family: var(--bli-mono);
	font-size: 14px;
	color: var(--bli-text);
}
.bli-node__tool {
	font-size: 12px;
	color: var(--bli-text-2);
	text-align: right;
}
.bli-node__text {
	grid-column: 1 / -1;
	font-size: 15px;
	line-height: 1.45;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}
.bli-node--baseline {
	border-color: rgba(232, 145, 74, 0.55);
}
.bli-node--baseline .bli-tag {
	color: var(--bli-orange);
	background: rgba(232, 145, 74, 0.14);
}
.bli-status.bli-status--baseline {
	background: var(--bli-orange);
}
.bli-status {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 500;
	color: var(--bli-night);
	background: var(--bli-pass);
	border-radius: 999px;
	padding: 3px 10px;
}
/* The thread: a connector and a beam between nodes */
.bli-node + .bli-node::before {
	content: "";
	position: absolute;
	left: 31px;
	top: -33px;
	width: 2px;
	height: 32px;
	background: rgba(120, 169, 255, 0.3);
}
.bli-node + .bli-node::after {
	content: "";
	position: absolute;
	left: 28px;
	top: -33px;
	width: 8px;
	height: 16px;
	border-radius: 4px;
	background: linear-gradient(180deg, rgba(120, 169, 255, 0), var(--bli-link));
	animation: bli-beam 2.4s var(--bli-ease) infinite;
	opacity: 0;
}
.bli-node:nth-child(3)::after { animation-delay: 0.8s; }
.bli-node:nth-child(4)::after { animation-delay: 1.6s; }
.bli-node--baseline::after {
	background: linear-gradient(180deg, rgba(232, 145, 74, 0), var(--bli-orange)) !important;
}
@keyframes bli-beam {
	0% { transform: translateY(-4px); opacity: 0; }
	20% { opacity: 1; }
	80% { opacity: 1; }
	100% { transform: translateY(22px); opacity: 0; }
}

/* ---- Release baseline around the three traced artifacts ----
   Final state is plain CSS (no JS, reduced motion). bli-b.js adds
   --js (frame waits, border hidden) and later --drawn (outline draws,
   wash and label fade in). Remove the .bli-baseline wrapper from the
   homepage markup to switch the whole feature off. */
.bli-baseline {
	position: relative;
	padding: 12px 12px 4px;
	margin: 0 -12px;
	border: 1.5px solid rgba(232, 145, 74, 0.6);
	border-radius: 16px;
	background: rgba(232, 145, 74, 0.05);
	transition: background-color 900ms var(--bli-ease-out);
}
.bli-baseline__label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	padding: 14px 4px 10px;
}
.bli-tag.bli-tag--baseline {
	color: var(--bli-orange);
	background: rgba(232, 145, 74, 0.14);
}
.bli-baseline__name {
	font-size: 15px;
	font-weight: 500;
	color: var(--bli-text);
}
.bli-baseline__label .bli-status {
	margin-left: auto;
}
.bli-baseline__outline {
	position: absolute;
	left: -1.5px;
	top: -1.5px;
	overflow: visible;
	pointer-events: none;
}
.bli-baseline__outline rect {
	fill: none;
	stroke: rgba(232, 145, 74, 0.75);
	stroke-width: 1.5;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1400ms cubic-bezier(0.65, 0, 0.35, 1);
}
.bli-baseline--js,
.bli-js .bli-baseline:not(.bli-baseline--drawn) {
	border-color: transparent;
	background: rgba(232, 145, 74, 0);
}
.bli-js .bli-baseline:not(.bli-baseline--drawn) .bli-baseline__label {
	opacity: 0;
	transform: translateY(6px);
}
.bli-baseline--js .bli-baseline__label {
	opacity: 0;
	transform: translateY(6px);
}
.bli-baseline--js.bli-baseline--drawn {
	background: rgba(232, 145, 74, 0.05);
}
.bli-baseline--drawn .bli-baseline__outline rect {
	stroke-dashoffset: 0;
}
.bli-baseline--js.bli-baseline--drawn .bli-baseline__label {
	opacity: 1;
	transform: none;
	transition: opacity 500ms var(--bli-ease-out) 700ms, transform 500ms var(--bli-ease-out) 700ms;
}

/* Chat popup rises out of its particles */
body .baselines-chat-popup.bli-chat--materializing {
	opacity: 0;
}
body .baselines-chat-popup {
	transition: transform var(--bli-slow) var(--bli-ease-out), opacity 600ms var(--bli-ease-out) !important;
}

/* Video pause control (D9) */
.bli-video-toggle {
	position: absolute;
	right: var(--bli-gutter);
	bottom: 32px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(238, 242, 246, 0.32);
	background: rgba(11, 14, 19, 0.55);
	color: var(--bli-text);
	font: 500 14px/1 var(--bli-font);
	cursor: pointer;
	transition: background-color var(--bli-fast) var(--bli-ease), border-color var(--bli-fast) var(--bli-ease);
}
.bli-video-toggle:hover {
	background: rgba(11, 14, 19, 0.8);
	border-color: rgba(238, 242, 246, 0.5);
}
.bli-video-toggle svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
}

/* ==========================================================================
   Marquee (component 3): products (large, full names) and industries
   ========================================================================== */
.bli-marquee {
	position: relative;
	overflow: hidden;
	padding: 8px 0 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.bli-marquee__track {
	display: flex;
	width: max-content;
	margin: 0;
	padding: 0;
	list-style: none;
	animation: bli-marquee var(--bli-marquee-dur, 70s) linear infinite;
}
.bli-marquee__track--reverse {
	animation-direction: reverse;
	--bli-marquee-dur: 110s;
}
.bli-marquee:hover .bli-marquee__track {
	animation-play-state: paused;
}
@keyframes bli-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
.bli-mq {
	display: inline-flex;
	align-items: baseline;
	gap: 0.4em;
	padding-right: 0.9em;
	white-space: nowrap;
}
.bli-mq::after {
	content: "";
	align-self: center;
	width: 0.22em;
	height: 0.22em;
	margin-left: 0.5em;
	background: #2b3542;
	transform: rotate(45deg);
}
.bli-marquee__track--big .bli-mq {
	font-size: clamp(2.25rem, 5.4vw, 5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--bli-text);
}
.bli-mq__abbr {
	font-size: 0.42em;
	font-weight: 500;
	letter-spacing: 0.01em;
	padding: 0.18em 0.55em;
	border-radius: 999px;
	border: 1px solid currentColor;
	position: relative;
	top: -0.35em;
}
.bli-mq__abbr--blue { color: var(--bli-link); }
.bli-mq__abbr--orange { color: var(--bli-orange); }
.bli-mq__abbr--green { color: var(--bli-pass); }
.bli-marquee__track--small .bli-mq {
	font-size: 1.0625rem;
	color: var(--bli-text-2);
}
.bli-marquee__track--small .bli-mq::after {
	width: 5px;
	height: 5px;
}

/* ==========================================================================
   Spotlight tile grid (component 4)
   ========================================================================== */
/* Classic-theme groups wrap their children in .wp-block-group__inner-container,
   so the grid and the tile's column layout go on that wrapper when it exists. */
.bli-tiles:not(:has(> .wp-block-group__inner-container)),
.bli-tiles > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.bli-tile:not(:has(> .wp-block-group__inner-container)),
.bli-tile > .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	flex-grow: 1;
}
.bli-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 240px;
	margin: 0 !important;
	padding: 28px !important;
	border-radius: 20px;
	border: 1px solid var(--bli-line);
	background:
		radial-gradient(320px circle at var(--mx, 50%) var(--my, -40%), rgba(var(--tile-rgb, 120, 169, 255), 0.16), rgba(var(--tile-rgb, 120, 169, 255), 0) 70%),
		var(--bli-panel);
	transition: border-color var(--bli-base) var(--bli-ease);
	box-sizing: border-box;
}
.bli-tile:hover {
	border-color: var(--bli-line-2);
}
.bli-tile--wide {
	grid-column: span 2;
}
.bli-tile > *,
.bli-tile > .wp-block-group__inner-container > * {
	margin: 0 !important;
}
.bli-tile .wp-block-heading {
	font-size: clamp(1.375rem, 2vw, 1.75rem) !important;
	letter-spacing: -0.01em;
}
.bli-tile--wide .wp-block-heading {
	font-size: clamp(1.625rem, 2.6vw, 2.25rem) !important;
	max-width: 22ch;
}
.bli-tile p {
	color: var(--bli-text-body);
	font-size: 1rem;
	line-height: 1.55;
}
.bli-tile .bli-tile__kind {
	font-size: 0.875rem;
	color: var(--bli-text-2) !important;
}
.bli-tile p:last-child {
	margin-top: auto !important;
}

/* ---- IBM ELM section only: one subtle hue per card ---- */
.bli-elm .bli-tile {
	background:
		radial-gradient(320px circle at var(--mx, 50%) var(--my, -40%), rgba(var(--tile-rgb), 0.18), rgba(var(--tile-rgb), 0) 70%),
		radial-gradient(120% 90% at 100% 0%, rgba(var(--tile-rgb), 0.13), rgba(var(--tile-rgb), 0) 60%),
		var(--bli-panel);
	border-color: rgba(var(--tile-rgb), 0.18);
}
.bli-elm .bli-tile:hover {
	border-color: rgba(var(--tile-rgb), 0.4);
}
.bli-elm .bli-tile .bli-tile__kind {
	color: rgb(var(--tile-rgb)) !important;
	opacity: 0.9;
}
.bli-elm .bli-tile:nth-child(1) { --tile-rgb: 120, 169, 255; } /* requirements: blue */
.bli-elm .bli-tile:nth-child(2) { --tile-rgb: 64, 200, 190; }  /* workflow: teal */
.bli-elm .bli-tile:nth-child(3) { --tile-rgb: 111, 220, 159; } /* test: green */
.bli-elm .bli-tile:nth-child(4) { --tile-rgb: 232, 145, 74; }  /* reporting: orange */
.bli-elm .bli-tile:nth-child(5) { --tile-rgb: 167, 139, 250; } /* global configuration: violet */
.bli-elm .bli-tile:nth-child(6) { --tile-rgb: 56, 189, 248; }  /* widgets: cyan */
.bli-elm .bli-tile:nth-child(7) { --tile-rgb: 245, 196, 81; }  /* systems engineering: amber */

/* ---- IBM ELM section only: particles gather into each card once ----
   bli-b.js adds .bli-elm--pending only when the section starts below the
   first screen, so nothing is hidden on load and nothing hides without JS. */
.bli-elm {
	position: relative;
}
.bli-particles {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 2;
}
.bli-particles--fixed {
	position: fixed;
	z-index: 9998;
}
.bli-elm--pending .bli-tile {
	opacity: 0;
	transform: translateY(14px) scale(0.985);
	filter: blur(6px);
}
.bli-elm .bli-tile.bli-tile--in {
	opacity: 1;
	transform: none;
	filter: none;
	transition: opacity 600ms var(--bli-ease-out), transform 700ms var(--bli-ease-out), filter 600ms var(--bli-ease-out), border-color var(--bli-base) var(--bli-ease);
	transition-delay: var(--tile-delay, 0ms);
}

/* ==========================================================================
   Animated beam (component 5)
   ========================================================================== */
.bli-split {
	gap: clamp(32px, 6vw, 96px) !important;
	align-items: center !important;
}
.bli-beam {
	position: relative;
	aspect-ratio: 5 / 3;
	max-width: 100%;
	border-radius: 20px;
	border: 1px solid var(--bli-line);
	background: var(--bli-panel);
	overflow: hidden;
}
.bli-beam svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.bli-beam__flow {
	stroke-dasharray: 6 14;
	animation: bli-dash 1.2s linear infinite;
}
@keyframes bli-dash {
	to { stroke-dashoffset: -40; }
}
.bli-beam__node {
	position: absolute;
	transform: translate(-50%, -50%);
	font-family: var(--bli-font);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	padding: 8px 12px;
	border-radius: 10px;
	background: var(--bli-panel-2);
	border: 1px solid var(--bli-line-2);
	color: var(--bli-text);
}
.bli-beam__node--hub {
	background: var(--bli-blue);
	border-color: var(--bli-blue);
	color: #ffffff;
	font-size: 15px;
	padding: 12px 16px;
}

/* ==========================================================================
   Services carousel (mu-plugin markup): dark panels, left-aligned
   ========================================================================== */
body .baselines-services-carousel .service-slide {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	text-align: left !important;
	padding: 28px !important;
}
body .baselines-services-carousel .service-slide:hover {
	border-color: var(--bli-line-2) !important;
	transform: none;
}
body .baselines-services-carousel .service-slide i {
	font-size: 1.25rem !important;
	color: var(--bli-link) !important;
	margin-bottom: 16px !important;
}
body .baselines-services-carousel .service-slide .has-text-align-center {
	text-align: left !important;
}
body .baselines-services-carousel .service-slide h4 {
	color: var(--bli-text) !important;
	font-size: 1.375rem !important;
	font-weight: 600 !important;
}
body .baselines-services-carousel .service-slide p {
	color: var(--bli-text-body) !important;
}
body .baselines-services-carousel .service-slide a {
	color: var(--bli-link) !important;
	border-bottom: 0 !important;
}
body .baselines-services-carousel .carousel-dot {
	width: 24px;
	height: 24px;
	background: transparent;
	position: relative;
}
body .baselines-services-carousel .carousel-dot::before {
	content: "";
	position: absolute;
	inset: 7px;
	border-radius: 50%;
	background: #2b3542;
}
body .baselines-services-carousel .carousel-dot.active {
	background: transparent;
	transform: none;
}
body .baselines-services-carousel .carousel-dot.active::before {
	background: var(--bli-link);
}

/* ==========================================================================
   Closing call to action with shine border (component 6)
   ========================================================================== */
.bli-cta {
	text-align: center;
}
.bli-cta .wp-block-heading {
	margin-inline: auto !important;
}
.bli-cta .bli-lead {
	margin-inline: auto !important;
}
.bli-shine {
	position: relative;
	display: inline-flex;
	padding: 1.5px;
	border-radius: 999px;
	overflow: hidden;
	isolation: isolate;
}
.bli-shine::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 480px;
	height: 480px;
	margin: -240px 0 0 -240px;
	z-index: -1;
	background: conic-gradient(from 0deg, rgba(120, 169, 255, 0) 0deg, rgba(120, 169, 255, 0) 250deg, var(--bli-link) 320deg, var(--bli-orange) 350deg, rgba(120, 169, 255, 0) 360deg);
	animation: bli-spin 3.2s linear infinite;
}
.bli-shine .bli-btn {
	background: var(--bli-panel) !important;
	color: var(--bli-text) !important;
	border: 0 !important;
	min-height: 52px;
	padding: 0 32px !important;
	font-size: 17px !important;
}
.bli-shine .bli-btn:hover {
	background: var(--bli-panel-2) !important;
}
@keyframes bli-spin {
	to { transform: rotate(360deg); }
}

/* ==========================================================================
   Video tips band
   ========================================================================== */
.bli-tips {
	border-top: 1px solid var(--bli-line);
	border-bottom: 1px solid var(--bli-line);
}

/* ==========================================================================
   Interior pages: header, body rhythm, lists
   ========================================================================== */
.bli-page-hero {
	max-width: calc(var(--bli-wrap) + 2 * var(--bli-gutter));
	margin: 0 auto !important;
	padding: clamp(56px, 9vw, 112px) var(--bli-gutter) clamp(40px, 6vw, 72px) !important;
	box-sizing: border-box;
}
/* The header is saved as a full-width block; keep it on the same column as
   the page content so its image lines up with the sections below. */
.single-page-container .entry-content > .bli-page-hero.alignfull,
.single-page-container .entry-content > .wp-block-group__inner-container > .bli-page-hero.alignfull {
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: var(--bli-gutter) !important;
	padding-right: var(--bli-gutter) !important;
}
.bli-page-hero h1 {
	font-size: clamp(2.5rem, 5.4vw, 4.25rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 20px !important;
	max-width: 16ch;
}
.bli-page-hero .bli-page-hero__sub {
	font-size: clamp(1.125rem, 1.6vw, 1.3125rem) !important;
	line-height: 1.55;
	color: var(--bli-text-body) !important;
	max-width: 40rem;
	margin: 0 !important;
}
.bli-page-hero--media .wp-block-columns {
	gap: clamp(32px, 5vw, 72px);
	margin: 0;
}
.bli-page-hero__media {
	margin: 0 !important;
}
.bli-page-hero__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 20px;
	border: 1px solid var(--bli-line-2);
	display: block;
}
/* The page's own title from Neve would repeat the new h1. */
.page:not(.home) .nv-page-title-wrap:has(+ .nv-content-wrap .bli-page-hero),
.page:not(.home) .nv-page-title-wrap:has(~ .nv-content-wrap .bli-page-hero) {
	display: none;
}
/* Body sections keep a reading measure and a steady rhythm. */
.single-page-container .entry-content > .wp-block-group:not(.bli-page-hero):not(.bli-section):not(.alignfull) {
	padding-block: clamp(48px, 7vw, 88px) !important;
}
.single-page-container .entry-content h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
	margin: 0 0 20px;
}
.single-page-container .entry-content h3 {
	font-size: clamp(1.25rem, 1.8vw, 1.5rem) !important;
	margin: 0 0 16px;
}
.single-page-container .entry-content p {
	max-width: 70ch;
}
.single-page-container .entry-content .wp-block-columns {
	gap: clamp(24px, 4vw, 56px);
}
/* Lists: the logo's diamond as the marker */
.entry-content ul.wp-block-list,
.entry-content > .wp-block-group ul:not([class*="bli-"]) {
	list-style: none;
	padding-left: 0;
}
.entry-content ul.wp-block-list > li,
.entry-content > .wp-block-group ul:not([class*="bli-"]) > li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 12px;
	line-height: 1.55;
}
.entry-content ul.wp-block-list > li::before,
.entry-content > .wp-block-group ul:not([class*="bli-"]) > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.62em;
	width: 7px;
	height: 7px;
	background: var(--bli-orange);
	transform: rotate(45deg);
}
.entry-content li strong {
	color: var(--bli-text);
	font-weight: 600;
}
.entry-content .wp-block-image img,
.entry-content .wp-block-embed iframe,
.entry-content .nv-iframe-embed iframe {
	border-radius: 12px;
}

/* ==========================================================================
   Blog: archive header, cards, pagination
   ========================================================================== */
.bli-archive-head {
	grid-column: 1 / -1;
	padding: clamp(24px, 4vw, 48px) 15px 16px;
	box-sizing: border-box;
	max-width: 100%;
}
.bli-archive-head--media {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
.bli-archive-head__media {
	margin: 0;
}
.bli-archive-head__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 20px;
	border: 1px solid var(--bli-line-2);
}
@media (max-width: 781px) {
	.bli-archive-head--media {
		grid-template-columns: minmax(0, 1fr);
	}
}
.bli-archive-head h1 {
	font-size: clamp(2.5rem, 5.4vw, 4.25rem);
	line-height: 1.04;
	letter-spacing: -0.02em;
	font-weight: 600;
	color: var(--bli-text);
	margin: 0 0 16px;
}
.bli-archive-head p {
	font-size: clamp(1.125rem, 1.6vw, 1.3125rem);
	line-height: 1.55;
	color: var(--bli-text-body);
	max-width: 40rem;
	margin: 0 0 28px;
}
.bli-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bli-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid var(--bli-line-2);
	background: rgba(255, 255, 255, 0.03);
	color: var(--bli-text-body) !important;
	font-size: 14px;
	text-decoration: none !important;
	transition: border-color var(--bli-fast) var(--bli-ease), color var(--bli-fast) var(--bli-ease);
}
.bli-chips a:hover,
.bli-chips a[aria-current="page"] {
	border-color: var(--bli-link);
	color: #ffffff !important;
}
.posts-wrapper {
	margin-top: 24px !important;
	gap: 16px !important;
}
.article-content-col {
	border-radius: 20px !important;
	padding: 28px !important;
}
.blog-entry-title {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
}
.category-screencast .article-content-col::before {
	content: "Video";
	position: absolute;
	top: 24px;
	right: 24px;
	font-size: 12px;
	font-weight: 500;
	color: var(--bli-orange);
	background: rgba(232, 145, 74, 0.14);
	border-radius: 999px;
	padding: 4px 10px;
}
.category-screencast .blog-entry-title {
	padding-right: 64px;
}
.nv-posts-pagination .page-numbers {
	background: transparent !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	border-radius: 999px;
	color: var(--bli-text-body) !important;
	border: 1px solid transparent;
}
.nv-posts-pagination .next.page-numbers,
.nv-posts-pagination .prev.page-numbers {
	padding: 0 16px;
}
.nv-posts-pagination .page-numbers.current {
	background: rgba(255, 255, 255, 0.06) !important;
	border-color: var(--bli-line-2);
	color: #ffffff !important;
}
.nv-posts-pagination a.page-numbers:hover {
	border-color: var(--bli-link);
}

/* ==========================================================================
   Single post: a reading layout, not a card
   ========================================================================== */
.single-post .nv-single-post-wrap {
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: clamp(40px, 7vw, 96px) 0 clamp(48px, 7vw, 96px) !important;
	background: transparent !important;
	border: 0 !important;
}
.single-post .nv-single-post-wrap .entry-title {
	font-size: clamp(2.25rem, 4.6vw, 3.5rem) !important;
	line-height: 1.06 !important;
	letter-spacing: -0.02em;
	font-weight: 600 !important;
	margin-bottom: 16px;
}
.single-post .nv-single-post-wrap .nv-meta-list {
	margin-bottom: 40px !important;
	font-size: 15px;
}
.single-post .nv-single-post-wrap .entry-content,
.single-post .nv-single-post-wrap .entry-content p,
.single-post .nv-single-post-wrap .entry-content li {
	font-size: 18px;
	line-height: 1.7;
}
.single-post .nv-single-post-wrap .entry-content h2 {
	font-size: 1.75rem !important;
	margin: 48px 0 16px;
}
.single-post .nv-single-post-wrap .entry-content h3 {
	font-size: 1.375rem !important;
	margin: 36px 0 12px;
}
.single-post .entry-content pre,
.single-post .entry-content .wp-block-code {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line-2);
	border-radius: 12px;
	padding: 20px !important;
	overflow-x: auto;
	font-size: 14px;
	line-height: 1.6;
}
.single-post .entry-content pre *,
.single-post .entry-content code {
	color: #d6e2f0 !important;
	font-family: var(--bli-mono);
}
.single-post .entry-content :not(pre) > code {
	background: var(--bli-panel-2);
	border-radius: 6px;
	padding: 2px 6px;
	font-size: 0.9em;
}
.bli-post-end {
	margin-top: 64px;
	padding-top: 32px;
	border-top: 1px solid var(--bli-line);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.bli-post-end p {
	width: 100%;
	margin: 0 0 8px !important;
	font-size: 1.25rem !important;
	font-weight: 600;
	color: var(--bli-text) !important;
}

/* ==========================================================================
   Light inline-background columns and the download plugin: dark panels
   ========================================================================== */
.wp-block-column[style*="background-color"] {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line-2);
	border-radius: 20px;
	padding: 28px !important;
}
.wp-block-column[style*="background-color"],
.wp-block-column[style*="background-color"] * {
	color: var(--bli-text-body) !important;
}
.wp-block-column[style*="background-color"] .wp-block-heading,
.wp-block-column[style*="background-color"] strong {
	color: var(--bli-text) !important;
}
.wp-block-column[style*="background-color"] a:not(.wp-block-button__link):not(.sdm_download) {
	color: var(--bli-link) !important;
}
.wp-block-column[style*="background-color"] .wp-block-button__link {
	color: #ffffff !important;
}
body .sdm_download_item {
	background: var(--bli-panel-2) !important;
	border: 1px solid var(--bli-line) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	padding: 20px !important;
}
body .sdm_download_title {
	color: var(--bli-text) !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
}
body a.sdm_download,
body .sdm_download.green {
	display: inline-flex !important;
	align-items: center;
	min-height: 44px;
	padding: 0 20px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: var(--bli-blue) !important;
	background-image: none !important;
	color: #ffffff !important;
	font: 500 15px/1 var(--bli-font) !important;
	text-shadow: none !important;
	box-shadow: none !important;
}
body a.sdm_download:hover {
	background: var(--bli-blue-hover) !important;
}

/* ==========================================================================
   Chat popup (footer mu-plugin): dark to match, real font, 44px targets
   ========================================================================== */
body .baselines-chat-popup {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line-2) !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
	font-family: var(--bli-font) !important;
}
body .baselines-chat-content h4 {
	color: var(--bli-text) !important;
	font-weight: 600 !important;
}
body .baselines-chat-content p {
	color: var(--bli-text-body) !important;
}
body .baselines-chat-btn {
	display: inline-flex !important;
	align-items: center;
	min-height: 40px;
	padding: 0 16px !important;
	border-radius: 999px !important;
	background: var(--bli-blue) !important;
	color: #ffffff !important;
	font-weight: 500 !important;
}
body .baselines-chat-close {
	color: var(--bli-text-2) !important;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 4px !important;
	right: 4px !important;
}

/* Marquee lists: no theme list spacing */
.entry-content .bli-marquee__track,
.entry-content .bli-marquee__track li {
	margin: 0 !important;
}
.navbar-toggle {
	background: transparent !important;
}

/* ==========================================================================
   Phones and tablets
   ========================================================================== */
@media (max-width: 1024px) {
	.bli-tiles:not(:has(> .wp-block-group__inner-container)),
	.bli-tiles > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 781px) {
	.wp-block-cover.bli-hero::after {
		background: linear-gradient(180deg, rgba(11, 14, 19, 0.45) 0%, rgba(11, 14, 19, 0.6) 60%, rgba(11, 14, 19, 0.85) 100%) !important;
	}
	.bli-tiles:not(:has(> .wp-block-group__inner-container)),
	.bli-tiles > .wp-block-group__inner-container {
		grid-template-columns: minmax(0, 1fr);
	}
	.bli-tile--wide {
		grid-column: auto;
	}
	.bli-video-toggle {
		bottom: 16px;
	}
	.bli-trace {
		padding: 18px;
	}
}

/* ==========================================================================
   Reduced motion: everything still, nothing hidden
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.bli-words .bli-w,
	.bli-node + .bli-node::after,
	.bli-beam__flow,
	.bli-shine::before {
		animation: none !important;
	}
	.bli-node + .bli-node::after {
		opacity: 1;
		transform: translateY(8px);
	}
	.bli-marquee__track {
		animation: none !important;
		flex-wrap: wrap;
		width: auto;
		padding-inline: var(--bli-gutter);
	}
	.bli-marquee__track [aria-hidden="true"] {
		display: none;
	}
	.bli-marquee {
		-webkit-mask-image: none;
		mask-image: none;
	}
	.bli-shine::before {
		background: linear-gradient(90deg, var(--bli-link), var(--bli-orange));
	}
}

/* Neve's scroll-to-top button: a quiet pill, not a blue square */
.scroll-to-top {
	background: var(--bli-panel) !important;
	border: 1px solid var(--bli-line-2) !important;
	border-radius: 999px !important;
	width: 44px !important;
	height: 44px !important;
	color: var(--bli-text) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.scroll-to-top svg,
.scroll-to-top .icon {
	fill: currentColor !important;
	color: var(--bli-text) !important;
}
.scroll-to-top:hover {
	border-color: var(--bli-link) !important;
}

/* DXL repository: register prompt for logged-out visitors */
.bli-gate {
	margin: 24px 0;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--bli-line-2);
	background: var(--bli-panel);
}
.bli-gate p {
	margin: 0 0 16px !important;
}
.bli-gate strong {
	color: var(--bli-text);
}
.bli-gate .bli-gate__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 !important;
}

/* ==========================================================================
   Capabilities statement (About page): a light document on the dark page,
   and a clean one-document printout.
   ========================================================================== */
.bli-doc-actions {
	margin: 28px 0 0 !important;
}
.bli-doc-wrap {
	padding-top: 0 !important;
}
.entry-content .bli-doc {
	--doc-ink: #161b22;
	--doc-ink-2: #4a5566;
	--doc-line: #dfe3ea;
	--doc-accent: #b3561a;
	background: #f5f6f8;
	color: var(--doc-ink);
	border-radius: 20px;
	padding: clamp(24px, 4.5vw, 56px) !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}
.entry-content .bli-doc,
.entry-content .bli-doc p,
.entry-content .bli-doc li,
.entry-content .bli-doc dd,
.entry-content .bli-doc span {
	color: var(--doc-ink) !important;
}
.entry-content .bli-doc h2,
.entry-content .bli-doc h3 {
	color: var(--doc-ink) !important;
}
.entry-content .bli-doc h2 {
	font-size: clamp(1.75rem, 3.4vw, 2.75rem) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.015em;
	max-width: 22ch;
	margin: 28px 0 16px !important;
}
.entry-content .bli-doc h3 {
	font-size: 1.25rem !important;
	margin: 36px 0 14px !important;
}
.entry-content .bli-doc .bli-doc__main > h3:first-child,
.entry-content .bli-doc .bli-doc__main > .wp-block-group__inner-container > h3:first-child {
	margin-top: 0 !important;
}
.entry-content .bli-doc a {
	color: #0f62fe !important;
}
.bli-doc__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--doc-line);
}
.bli-doc__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 18px;
	font-weight: 600;
}
.bli-doc__brand img {
	width: auto;
	height: 52px;
}
.entry-content .bli-doc .bli-doc__kind {
	font-size: 14px;
	font-weight: 500;
	color: var(--doc-accent) !important;
}
.entry-content .bli-doc .bli-doc__intro {
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--doc-ink-2) !important;
	max-width: 44rem;
}
.bli-doc__cols {
	gap: clamp(24px, 4vw, 48px) !important;
	margin-top: 32px;
}
/* The main column holds h3s, which the site-wide card rule would turn into a dark panel. */
.entry-content .bli-doc .wp-block-column.bli-doc__main {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
.entry-content .bli-doc .wp-block-column.bli-doc__main:hover {
	transform: none;
}
.entry-content .bli-doc .wp-block-column.bli-doc__main *,
.entry-content .bli-doc .wp-block-column.bli-doc__side * {
	color: var(--doc-ink) !important;
}
.entry-content .bli-doc .wp-block-column.bli-doc__main a,
.entry-content .bli-doc .wp-block-column.bli-doc__side a {
	color: #0f62fe !important;
}
.bli-doc__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.bli-doc__card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 18px;
	border-radius: 12px;
	background: #ffffff;
	border: 1px solid var(--doc-line);
}
.bli-doc__card--lead {
	grid-column: span 2;
	border-color: var(--doc-accent);
}
.entry-content .bli-doc .bli-doc__card span {
	font-size: 14px;
	line-height: 1.5;
	color: var(--doc-ink-2) !important;
}
.bli-doc__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.bli-doc__chips li {
	padding: 8px 12px !important;
	margin: 0 !important;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid var(--doc-line);
	font-size: 14px;
}
.bli-doc__chips li::before,
.bli-doc__plain li::before {
	content: none !important;
}
.entry-content .bli-doc ul.bli-doc__list > li::before {
	background: var(--doc-accent);
}
.bli-doc__panel {
	padding: 20px 22px;
	border-radius: 12px;
	background: #ffffff;
	border: 1px solid var(--doc-line);
	margin-bottom: 16px;
}
.entry-content .bli-doc .bli-doc__panel h3 {
	margin: 0 0 12px !important;
	font-size: 13px !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--doc-ink-2) !important;
}
/* Official IBM Partner Plus Silver mark. The file carries IBM's clear space as
   transparent padding; at 80px tall the mark itself is about 35px, above IBM's
   32px web minimum and smaller than the Baselines logo in the header. */
.bli-doc__badge {
	display: block;
	width: auto;
	height: 80px;
	margin: -12px 0 4px -18px;
}
.entry-content .bli-doc .bli-doc__legal {
	margin: 28px 0 0 !important;
	max-width: none;
	font-size: 11px !important;
	line-height: 1.45 !important;
	color: var(--doc-ink-2) !important;
}
.bli-doc__data {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}
.entry-content .bli-doc .bli-doc__data dt {
	color: var(--doc-ink-2) !important;
	margin: 0;
}
.bli-doc__data dt {
	font-size: 12px;
}
.bli-doc__data dd {
	margin: 0 0 10px !important;
	margin-inline-start: 0 !important;
	padding: 0 !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.bli-doc__data dd:last-child {
	margin-bottom: 0;
}
.entry-content .bli-doc .bli-doc__panel--dark {
	background: #0b0e13;
	border-color: #0b0e13;
}
/* Specific enough to beat the side column's dark-ink rule (was black on black). */
.entry-content .bli-doc .wp-block-column.bli-doc__side .bli-doc__panel--dark * {
	color: #eef2f6 !important;
}
.entry-content .bli-doc .wp-block-column.bli-doc__side .bli-doc__panel--dark span {
	color: #c9d2dd !important;
}
.entry-content .bli-doc .wp-block-column.bli-doc__side .bli-doc__panel--dark .bli-doc__cta {
	color: #ffffff !important;
}
.bli-doc__panel--dark img {
	display: block;
	width: 100%;
	max-width: 260px;
	height: auto;
	margin: 0 auto 12px;
}
.bli-doc__person,
.bli-doc__contact {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0 0 8px !important;
	font-size: 14px;
}
.bli-doc__person strong {
	font-size: 17px;
}
.bli-doc__plain {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 14px;
	line-height: 1.7;
}
.bli-doc__plain li {
	padding: 0 !important;
	margin: 0 !important;
}
.bli-doc__contact .bli-doc__cta {
	align-self: flex-start;
	margin-top: 8px;
	color: #ffffff !important;
}
.bli-doc__print-only {
	display: none !important;
}
@media (max-width: 781px) {
	.bli-doc__cards {
		grid-template-columns: minmax(0, 1fr);
	}
	.bli-doc__card--lead {
		grid-column: auto;
	}
}

@media print {
	body:has(.bli-doc) .site-header,
	body:has(.bli-doc) header.header,
	body:has(.bli-doc) .site-footer,
	body:has(.bli-doc) .bli-page-hero,
	body:has(.bli-doc) .bli-cta,
	body:has(.bli-doc) .bli-field,
	body:has(.bli-doc) .baselines-chat-popup,
	body:has(.bli-doc) .scroll-to-top,
	body:has(.bli-doc) .bli-doc-actions {
		display: none !important;
	}
	body:has(.bli-doc) {
		background: #ffffff !important;
	}
	body:has(.bli-doc) .bli-doc-wrap {
		padding: 0 !important;
		max-width: none;
	}
	.entry-content .bli-doc {
		background: #ffffff;
		box-shadow: none;
		border-radius: 0;
		padding: 0 !important;
	}
	.bli-doc__card,
	.bli-doc__panel {
		break-inside: avoid;
	}
	/* Everything prints, whatever has or has not scrolled into view. */
	.bli-reveal {
		opacity: 1 !important;
		transform: none !important;
	}
	body:has(.bli-doc) .baselines-custom-footer,
	body:has(.bli-doc) .footer-bottom,
	body:has(.bli-doc) .nv-page-title-wrap {
		display: none !important;
	}
	/* One Letter page: two columns kept, type sized for paper. */
	@page {
		size: letter;
		margin: 0.32in 0.45in;
	}
	.entry-content .bli-doc {
		font-size: 9.5pt;
	}
	.entry-content .bli-doc h2 {
		font-size: 17pt !important;
		margin: 10px 0 6px !important;
		max-width: none;
	}
	.entry-content .bli-doc h3 {
		font-size: 10.5pt !important;
		margin: 12px 0 6px !important;
	}
	.entry-content .bli-doc .bli-doc__intro,
	.entry-content .bli-doc p,
	.entry-content .bli-doc li {
		font-size: 9pt !important;
		line-height: 1.4 !important;
	}
	.bli-doc__head {
		padding-bottom: 8px;
	}
	.bli-doc__cols {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 18px !important;
		margin-top: 10px;
	}
	.bli-doc__cols > .bli-doc__main {
		flex: 0 0 64% !important;
	}
	.bli-doc__cols > .bli-doc__side {
		flex: 0 0 33% !important;
	}
	.bli-doc__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 6px;
	}
	.bli-doc__card--lead {
		grid-column: span 3 !important;
	}
	.entry-content .bli-doc ul.bli-doc__list {
		columns: 2;
		column-gap: 16px;
		margin: 0 0 4px !important;
		padding-top: 0 !important;
	}
	.entry-content .bli-doc ul.bli-doc__list > li:first-child {
		margin-top: 0 !important;
	}
	.entry-content .bli-doc ul.bli-doc__list > li {
		break-inside: avoid;
		margin-bottom: 2px !important;
		line-height: 1.3 !important;
	}
	.bli-doc__cols > .bli-doc__main {
		flex: 0 0 68.5% !important;
	}
	.bli-doc__cols > .bli-doc__side {
		flex: 0 0 29% !important;
	}
	.entry-content .bli-doc h3 {
		margin: 8px 0 4px !important;
	}
	.entry-content .bli-doc h2 {
		margin: 6px 0 4px !important;
	}
	.bli-doc__card {
		padding: 5px 8px !important;
	}
	.entry-content .bli-doc .bli-doc__card span {
		line-height: 1.3 !important;
	}
	/* On paper the product chips repeat the competency cards; drop them to keep one page. */
	.bli-doc__chips,
	.bli-doc__main h3:has(+ .bli-doc__chips) {
		display: none !important;
	}
	.bli-doc__chips li {
		padding: 2px 6px !important;
		font-size: 8pt !important;
	}
	.bli-doc__data {
		grid-template-columns: auto minmax(0, 1fr) !important;
		gap: 2px 8px !important;
	}
	.bli-doc__data dd {
		margin: 0 !important;
		white-space: normal;
		overflow-wrap: anywhere;
	}
	.bli-doc__panel {
		padding: 6px 8px !important;
		margin-bottom: 6px !important;
	}
	.bli-doc__card,
	.bli-doc__panel {
		padding: 8px 10px;
		margin-bottom: 8px;
	}
	.entry-content .bli-doc .bli-doc__card span,
	.bli-doc__data,
	.bli-doc__plain,
	.bli-doc__person,
	.bli-doc__contact,
	.bli-doc__chips li {
		font-size: 8.5pt !important;
	}
	.bli-doc__chips li {
		padding: 3px 7px !important;
	}
	.bli-doc__badge {
		height: 0.75in;
		margin: -0.1in 0 0 -0.16in;
	}
	.bli-doc__brand img {
		height: 0.42in;
	}
	.entry-content .bli-doc .bli-doc__legal {
		margin-top: 4px !important;
		font-size: 6.5pt !important;
		line-height: 1.3 !important;
	}
	.bli-doc__panel--dark img {
		max-width: 84px;
		margin: 0 0 6px;
	}
	.bli-doc__cta {
		display: none !important;
	}
	.bli-doc__print-only {
		display: inline !important;
	}
	.entry-content .bli-doc h2 {
		font-size: 15pt !important;
	}

	.entry-content .bli-doc ul.bli-doc__list > li {
		padding-left: 14px;
	}
	.entry-content .bli-doc ul.bli-doc__list > li::before {
		width: 5px;
		height: 5px;
		top: 0.55em;
	}
	.entry-content .bli-doc ul.bli-doc__list > li {
		margin-bottom: 3px;
	}
}
