/* ==========================================================================
   The Industries hub and the industry pages.

   Loaded on both templates, because the tile is on both: every industry on
   the hub, and the "Related industries" row on an industry page, which draws
   its tiles from the hub.

   Every classed element that carries text states its own colour and, for
   paragraphs and headings, its own size: the parent theme's bare span, p and
   h1 to h4 rules apply directly and beat anything inherited.
   ========================================================================== */

/* ---------- The directory ---------------------------------------------- */

.sbk-dir {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sbk-s5) var(--sbk-s4);
}

.sbk-dir__group { min-width: 0; }

.sbk .sbk-dir__head {
	color: var(--sbk-gold-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
	margin: 0 0 var(--sbk-s2);
}

.sbk-dir__list,
.sbk-related__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.sbk-related__list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top: var(--sbk-s2); }

.sbk-dir__item { min-width: 0; }

.sbk .sbk-dir__more {
	color: var(--sbk-body);
	font-size: 15.5px;
	line-height: 1.7;
	margin: var(--sbk-s5) 0 0;
}

.sbk .sbk-dir__morelink {
	color: var(--sbk-gold-text);
	font-weight: 700;
	border-bottom: 1.5px solid var(--sbk-gold-light);
}

.sbk .sbk-related__head { margin: 0; }

/* ---------- The tile ----------------------------------------------------
   Identical for every industry. Only its destination differs: a page, or the
   consultation panel with the message started. */

.sbk .sbk-tile {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 60px;
	padding: 12px 16px;
	background: var(--sbk-white);
	border: 1px solid var(--sbk-border-cool);
	border-radius: var(--sbk-radius-card);
	color: var(--sbk-navy);
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.sbk .sbk-tile:hover,
.sbk .sbk-tile:focus-visible {
	border-color: var(--sbk-gold-light);
	box-shadow: var(--sbk-shadow-card);
	transform: translateY(-1px);
}

.sbk-tile__icon {
	flex: none;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: var(--sbk-cream);
	color: var(--sbk-gold);
}

.sbk-tile__icon svg { width: 22px; height: 22px; }

.sbk .sbk-tile__name {
	flex: 1;
	min-width: 0;
	color: var(--sbk-navy);
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: -.005em;
	line-height: 1.35;
}

.sbk-tile__go { flex: none; color: var(--sbk-gold); }

/* ---------- What we find, on navy --------------------------------------- */

.sbk-finds {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--sbk-s6);
	align-items: start;
}

.sbk .sbk-finds__intro .sbk-lede { color: var(--sbk-on-navy); }

.sbk-finds__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.sbk-find {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: var(--sbk-s2);
	padding: 20px 0;
	border-top: 1px solid rgba(233, 190, 98, .22);
}

.sbk-find:last-child { border-bottom: 1px solid rgba(233, 190, 98, .22); }

.sbk .sbk-find__n {
	color: var(--sbk-gold-light);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.6;
}

.sbk .sbk-find__title {
	color: var(--sbk-white);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.4;
	margin: 0;
}

.sbk .sbk-find__flag {
	display: inline-block;
	margin-left: 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(233, 190, 98, .16);
	border: 1px solid rgba(233, 190, 98, .45);
	color: var(--sbk-gold-light);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	vertical-align: 2px;
}

.sbk .sbk-find__body {
	color: var(--sbk-on-navy);
	font-size: 15px;
	line-height: 1.7;
	margin: 6px 0 0;
	max-width: 34em;
}

/* ---------- The example document ----------------------------------------
   A picture of a document, not page structure: nothing in here is a heading
   element. */

.sbk-stmthead { max-width: 760px; }

.sbk-stmtframe { margin-top: var(--sbk-s5); }

.sbk-stmt {
	background: var(--sbk-white);
	border: 1px solid var(--sbk-border-cool);
	border-radius: var(--sbk-radius-lg);
	box-shadow: var(--sbk-shadow-card-2);
	overflow: hidden;
}

.sbk-stmt__top {
	background: var(--sbk-navy);
	padding: 16px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.sbk .sbk-stmt__title {
	color: var(--sbk-white);
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.4;
	margin: 0;
}

.sbk .sbk-stmt__tag {
	flex: none;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(233, 190, 98, .16);
	border: 1px solid rgba(233, 190, 98, .45);
	color: var(--sbk-gold-light);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.sbk-stmt__meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px 24px;
	margin: 0;
	padding: 16px 24px;
	background: var(--sbk-cream);
	border-bottom: 1px solid var(--sbk-border-warm);
}

.sbk .sbk-stmt__metalabel {
	color: var(--sbk-muted);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0;
}

.sbk .sbk-stmt__metavalue {
	color: var(--sbk-navy);
	font-size: 14px;
	font-weight: 600;
	margin: 3px 0 0;
}

.sbk-stmt__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 0 var(--sbk-s4);
	padding: 4px 24px 8px;
}

.sbk-stmt__col { min-width: 0; }

.sbk-stmt__sec { padding: 16px 0 6px; }

.sbk-stmt__sec + .sbk-stmt__sec { border-top: 1px solid var(--sbk-border-cool-2); }

.sbk .sbk-stmt__head {
	color: var(--sbk-gold-text);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1.4;
	margin: 0 0 6px;
}

.sbk-stmt__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--sbk-s2);
	padding: 8px 0;
	border-bottom: 1px solid var(--sbk-border-cool-2);
}

.sbk-stmt__row:last-child { border-bottom: 0; }

.sbk .sbk-stmt__label { color: var(--sbk-body); font-size: 14px; line-height: 1.45; }

.sbk .sbk-stmt__value {
	flex: none;
	color: var(--sbk-navy);
	font-size: 14px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.sbk .sbk-stmt__row--total .sbk-stmt__label,
.sbk .sbk-stmt__row--total .sbk-stmt__value { color: var(--sbk-navy); font-weight: 700; }

.sbk .sbk-stmt__row--ok .sbk-stmt__value { color: var(--sbk-confirm); font-weight: 700; }
.sbk-stmt__row--ok .sbk-stmt__value::after { content: " \2713"; }

.sbk-stmt__table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}

.sbk .sbk-stmt__table th {
	color: var(--sbk-muted);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
	padding: 6px 8px 8px 0;
	border-bottom: 1px solid var(--sbk-border-cool);
}

.sbk .sbk-stmt__table td {
	color: var(--sbk-navy-text);
	font-size: 14px;
	padding: 8px 8px 8px 0;
	border-bottom: 1px solid var(--sbk-border-cool-2);
}

.sbk .sbk-stmt__table .sbk-stmt__r { text-align: right; padding-right: 0; }

.sbk .sbk-stmt__tr--total td { color: var(--sbk-navy); font-weight: 700; border-bottom: 0; }

.sbk .sbk-stmt__badge {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.sbk .sbk-stmt__badge--ok { background: #E6F2EA; color: #1F5C39; }
.sbk .sbk-stmt__badge--warn { background: #F7EDD6; color: var(--sbk-gold-text); }

.sbk-stmt__net {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--sbk-s2);
	margin: 12px 0 10px;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--sbk-navy);
}

.sbk .sbk-stmt__netlabel {
	color: var(--sbk-white);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.sbk .sbk-stmt__netnote {
	display: block;
	color: var(--sbk-on-navy-2);
	font-size: 12.5px;
	font-weight: 500;
	margin-top: 3px;
}

.sbk .sbk-stmt__netvalue {
	flex: none;
	color: var(--sbk-gold-light);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.sbk-stmt__check {
	margin: 4px 24px 24px;
	padding: 14px 18px 6px;
	border: 1px solid var(--sbk-border-gold-soft);
	border-radius: 8px;
	background: var(--sbk-cream);
}

.sbk .sbk-stmt__checkhead {
	color: var(--sbk-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 4px;
}

.sbk-stmt__checkrows {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 0 var(--sbk-s3);
}

.sbk-stmt__checkrows .sbk-stmt__row:last-child { border-bottom: 1px solid var(--sbk-border-cool-2); }

.sbk .sbk-stmt__note {
	color: var(--sbk-muted);
	font-size: 13px;
	line-height: 1.6;
	margin: var(--sbk-s2) 0 0;
	max-width: 36em;
}

/* The small version beside the headline. */

.sbk-stmt--mini .sbk-stmt__meta { padding: 12px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sbk-stmt--mini .sbk-stmt__top { padding: 14px 20px; }
.sbk-stmt--mini .sbk-stmt__body { padding: 6px 20px 14px; }
.sbk-stmt--mini .sbk-stmt__net { margin: 8px 0; }

/* ---------- The self-check ---------------------------------------------- */

.sbk-chk {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: var(--sbk-s5);
	align-items: start;
	margin-top: var(--sbk-s4);
}

.sbk-chk__list { display: flex; flex-direction: column; gap: 10px; }

.sbk .sbk-chk__item {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 56px;
	padding: 12px 18px;
	text-align: left;
	font: inherit;
	color: var(--sbk-navy);
	background: var(--sbk-white);
	border: 1.5px solid var(--sbk-border-cool);
	border-radius: var(--sbk-radius-card);
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}

.sbk .sbk-chk__item:hover { border-color: var(--sbk-gold-light); }

.sbk .sbk-chk__item.is-on {
	border-color: var(--sbk-gold);
	background: var(--sbk-cream);
}

.sbk-chk__box {
	flex: none;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--sbk-border-input);
	border-radius: 6px;
	background: var(--sbk-white);
	color: transparent;
}

.sbk-chk__item.is-on .sbk-chk__box {
	background: var(--sbk-gold);
	border-color: var(--sbk-gold);
	color: var(--sbk-white);
}

.sbk .sbk-chk__label {
	color: var(--sbk-navy);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.45;
}

.sbk-score {
	position: sticky;
	top: 24px;
	padding: 28px;
	border-radius: var(--sbk-radius-lg);
	background: var(--sbk-navy);
}

.sbk .sbk-score__label {
	color: var(--sbk-on-navy-2);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0;
}

.sbk .sbk-score__figure {
	display: flex;
	align-items: baseline;
	gap: 10px;
	color: var(--sbk-white);
	font-size: 16px;
	margin: 10px 0 0;
}

.sbk .sbk-score__n {
	color: var(--sbk-white);
	font-size: 54px;
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1;
}

.sbk .sbk-score__of { color: var(--sbk-on-navy-2); font-size: 16px; font-weight: 600; }

.sbk-score__pips { display: flex; gap: 6px; margin-top: 16px; }

.sbk-score__pip {
	flex: 1;
	height: 6px;
	border-radius: 999px;
	background: rgba(233, 190, 98, .2);
}

.sbk-score__pip.is-on { background: var(--sbk-gold-light); }

.sbk .sbk-score__msg {
	color: var(--sbk-on-navy);
	font-size: 15px;
	line-height: 1.6;
	margin: 16px 0 0;
	min-height: 3.2em;
}

.sbk-score__cta {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(233, 190, 98, .22);
}

.sbk .sbk-score__lead {
	color: var(--sbk-on-navy);
	font-size: 14.5px;
	line-height: 1.6;
	margin: 0 0 14px;
}

.sbk .sbk-score__strong { color: var(--sbk-white); }

.sbk .sbk-score__btn { width: 100%; justify-content: center; }

/* ---------- Narrow screens ---------------------------------------------- */

@media (max-width: 1023px) {
	.sbk-finds,
	.sbk-chk { grid-template-columns: minmax(0, 1fr); gap: var(--sbk-s4); }
	.sbk-score { position: static; }
}

@media (max-width: 767px) {
	.sbk-dir { grid-template-columns: minmax(0, 1fr); gap: var(--sbk-s4); }
	.sbk-stmt__cols { grid-template-columns: minmax(0, 1fr); padding: 0 18px 6px; }
	.sbk-stmt__top,
	.sbk-stmt__meta { padding-inline: 18px; }
	.sbk-stmt__check { margin: 4px 18px 18px; }
	.sbk-stmt--mini .sbk-stmt__body { padding-inline: 18px; }
	.sbk .sbk-find__flag { margin: 6px 0 0; display: table; }
	.sbk-score { padding: 22px; }
}

/* ==========================================================================
   Industry pages, rebuilt Oct 6 2026: what we handle, software, a client like
   you, and the report built from blocks (inc/sbk-industries.php).
   ========================================================================== */

/* ---------- what we handle */
.sbk-ihandle {
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 var(--sbk-s5);
}
.sbk-ihandle__item {
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
	padding: 16px 0;
	border-top: 1px solid var(--sbk-border-warm-2);
}
.sbk .sbk-ihandle__text { color: var(--sbk-navy); font-size: 16px; font-weight: 600; line-height: 1.5; }

/* ---------- software */
.sbk-isoft { margin-top: 32px; display: flex; flex-direction: column; gap: 26px; }
.sbk-isoft__group { display: flex; flex-direction: column; gap: 12px; }
.sbk .sbk-isoft__h { margin: 0; color: var(--sbk-muted); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.sbk .sbk-isoft__text { margin: 0; color: var(--sbk-body); font-size: 15px; line-height: 1.6; }
.sbk .sbk-isoft__else { margin: 6px 0 0; padding-top: 18px; border-top: 1px solid var(--sbk-border-cool-2); color: var(--sbk-body); font-size: 15px; line-height: 1.6; }
.sbk .sbk-isoft__lead { color: var(--sbk-navy); font-style: normal; font-weight: 700; }
.sbk .sbk-toolmarks--soft { gap: 10px; }
.sbk-toolmarks--soft .sbk-toolmarks__item { height: 52px; min-width: 132px; padding: 0 12px; }
.sbk .sbk-toolmarks--soft .sbk-toolmarks__logo { max-height: 34px; max-width: 140px; }

/* ---------- a client like you */
.sbk-iclient {
	margin-top: 32px;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	background: var(--sbk-white);
	border: 1px solid var(--sbk-border-cool);
	border-radius: var(--sbk-radius-lg);
	overflow: hidden;
}
.sbk .sbk-iclient__meta { margin: 0; padding: 26px 28px; background: var(--sbk-navy); display: flex; flex-direction: column; gap: 16px; }
.sbk-iclient__m dt { color: var(--sbk-gold-light); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sbk .sbk-iclient__m dd { margin: 4px 0 0; color: var(--sbk-white); font-size: 16px; font-weight: 600; }
.sbk-iclient__body { padding: 26px 30px; }
.sbk .sbk-iclient__text { margin: 8px 0 0; color: var(--sbk-navy); font-size: 18px; line-height: 1.6; max-width: 34em; }

/* ---------- the report */
.sbk-xframe { margin-top: 36px; }
.sbk .sbk-xframe__note { margin: 14px 0 0; color: var(--sbk-muted); font-size: 13.5px; line-height: 1.55; }
.sbk-xr {
	--sbk-alert: #B3261E;
	background: var(--sbk-white);
	border: 1px solid var(--sbk-border-warm);
	border-radius: var(--sbk-radius-lg);
	box-shadow: var(--sbk-shadow-card-2);
	overflow: hidden;
	color: var(--sbk-navy-text);
	font-variant-numeric: tabular-nums;
}
.sbk-xr__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 22px;
	background: var(--sbk-navy);
}
.sbk .sbk-xr__title { color: var(--sbk-white); font-size: 15px; font-weight: 700; line-height: 1.4; }
.sbk .sbk-xr__tag {
	flex: none;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(233, 190, 98, .16);
	color: var(--sbk-gold-light);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.sbk-xr__body { padding: 22px; display: flex; flex-direction: column; gap: 22px; }
.sbk-xr--mini .sbk-xr__top { padding: 12px 18px; }
.sbk .sbk-xr--mini .sbk-xr__title { font-size: 14px; }
.sbk-xr--mini .sbk-xr__body { padding: 18px; gap: 14px; }
.sbk .sbk-xh { margin: 0 0 10px; color: var(--sbk-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sbk .sbk-xsmall { display: block; color: var(--sbk-muted); font-size: 12px; font-weight: 400; line-height: 1.4; }
.sbk .sbk-xnote { margin: 0; color: var(--sbk-muted); font-size: 12.5px; }
.sbk-xnote--swipe { display: none; }

/* meta */
.sbk .sbk-xmeta { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; padding-bottom: 18px; border-bottom: 1px solid var(--sbk-border-cool-2); }
.sbk .sbk-xmeta dt { color: var(--sbk-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.sbk .sbk-xmeta dd { margin: 3px 0 0; color: var(--sbk-navy); font-size: 14px; font-weight: 600; line-height: 1.4; }

/* pills */
.sbk .sbk-xpill { display: inline-block; padding: 2px 9px; border-radius: 999px; background: rgba(46, 122, 78, .12); color: var(--sbk-confirm); font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.sbk .sbk-xpill--w { background: rgba(185, 134, 47, .16); color: var(--sbk-gold-text); }
.sbk .sbk-xpill--r { background: rgba(179, 38, 30, .1); color: var(--sbk-alert); }

/* tiles */
.sbk-xtiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sbk-xtiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sbk-xtile { padding: 10px 12px; background: var(--sbk-cream); border: 1px solid var(--sbk-border-warm-2); border-radius: 8px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sbk .sbk-xtile__l { color: var(--sbk-muted); font-size: 12px; font-weight: 600; line-height: 1.35; }
.sbk .sbk-xtile__v { color: var(--sbk-navy); font-size: 15px; font-weight: 700; white-space: nowrap; }
.sbk .sbk-xtile--over .sbk-xtile__v { color: var(--sbk-alert); }
.sbk-xtile--dark { background: var(--sbk-navy); border-color: var(--sbk-navy); }
.sbk .sbk-xtile--dark .sbk-xtile__l { color: var(--sbk-gold-light); }
.sbk .sbk-xtile--dark .sbk-xtile__v { color: var(--sbk-white); }

/* share bar and key */
.sbk-xmix { display: flex; height: 14px; border-radius: 7px; overflow: hidden; background: var(--sbk-border-cool-2); }
.sbk-xmix i { display: block; height: 100%; }
.sbk-xmix--navy, .sbk-xkey--navy { background: var(--sbk-navy); }
.sbk-xmix--gold { background: var(--sbk-gold); }
.sbk-xkey--gold { background: var(--sbk-gold-light); }
.sbk-xmix--grey { background: var(--sbk-on-navy-3); }
.sbk-xkey { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.sbk .sbk-xkey li { display: flex; align-items: center; gap: 7px; color: var(--sbk-navy-text); font-size: 13px; }
.sbk-xkey i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.sbk-xkey--target { width: 2px !important; height: 14px !important; border-radius: 0 !important; background: var(--sbk-alert); }

/* tables */
.sbk-xt { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.45; }
.sbk-xt th { padding: 8px 10px; text-align: left; color: var(--sbk-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--sbk-border-cool); vertical-align: bottom; }
.sbk-xt td { padding: 10px; border-bottom: 1px solid var(--sbk-border-cool-2); color: var(--sbk-navy-text); vertical-align: middle; }
.sbk-xt td:first-child { color: var(--sbk-navy); font-weight: 600; }
.sbk-xt .n { text-align: right; white-space: nowrap; }
.sbk-xt th.n { white-space: normal; }
.sbk-xt tr.t td { border-top: 1.5px solid var(--sbk-navy); border-bottom: 0; color: var(--sbk-navy); font-weight: 700; }
.sbk-xt tr.hl td { background: var(--sbk-cream); color: var(--sbk-navy); font-weight: 700; }
.sbk-xt tr.b td { color: var(--sbk-navy); }
.sbk-xt .tot { background: var(--sbk-blue-grey); color: var(--sbk-navy); font-weight: 700; }
.sbk-xt th .sbk-xsmall { text-transform: none; letter-spacing: normal; font-weight: 500; }
.sbk-xt--plain { font-size: 13px; }
.sbk-xscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.sbk-xt--matrix { min-width: 640px; }
.sbk-xt--matrix th { text-transform: none; letter-spacing: normal; font-size: 13px; color: var(--sbk-navy); }

/* bars */
.sbk-xbar { display: block; flex: 1 1 auto; height: 8px; border-radius: 4px; background: var(--sbk-border-cool-2); overflow: hidden; min-width: 40px; }
.sbk-xbar i { display: block; height: 100%; border-radius: 4px; }
.sbk-xbar i.nv { background: var(--sbk-navy); }
.sbk-xbar i.r { background: var(--sbk-alert); }
.sbk-xbar--used i.nv { background: var(--sbk-gold); }
.sbk-xbarcell { display: flex; align-items: center; gap: 10px; }
.sbk .sbk-xbarcell b { min-width: 48px; text-align: right; color: var(--sbk-navy); }
.sbk-xbars { display: flex; flex-direction: column; gap: 10px; }
.sbk-xbr { display: grid; grid-template-columns: minmax(0, 9fr) minmax(0, 8fr) auto; gap: 10px; align-items: center; }
.sbk .sbk-xbr__l { color: var(--sbk-navy-text); font-size: 13px; line-height: 1.35; }
.sbk .sbk-xbr__v { color: var(--sbk-navy); font-size: 13px; min-width: 62px; text-align: right; }
.sbk-xprog { display: flex; flex-direction: column; gap: 5px; min-width: 180px; }
.sbk-xprog__r { display: grid; grid-template-columns: 76px minmax(0, 1fr) 48px; gap: 8px; align-items: center; }
.sbk .sbk-xprog__l { color: var(--sbk-muted); font-size: 11.5px; }
.sbk .sbk-xprog b { text-align: right; color: var(--sbk-navy); font-size: 12.5px; }

/* lines */
.sbk-xrows { display: flex; flex-direction: column; }
.sbk-xrow { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 7px 0; border-bottom: 1px dashed var(--sbk-border-cool); }
.sbk .sbk-xrow__l { color: var(--sbk-navy-text); font-size: 13.5px; line-height: 1.4; }
.sbk .sbk-xrow__v { color: var(--sbk-navy); font-size: 13.5px; white-space: nowrap; }
.sbk-xrow--tot, .sbk-xrow--res { border-bottom: 0; border-top: 1.5px solid var(--sbk-navy); margin-top: 4px; padding-top: 9px; }
.sbk .sbk-xrow--tot .sbk-xrow__l, .sbk .sbk-xrow--res .sbk-xrow__l { color: var(--sbk-navy); font-weight: 700; }
.sbk-xrow--net { margin-top: 10px; padding: 12px 14px; border: 0; border-radius: 8px; background: var(--sbk-navy); }
.sbk .sbk-xrow--net .sbk-xrow__l { color: var(--sbk-white); font-weight: 700; }
.sbk .sbk-xrow--net .sbk-xsmall { color: var(--sbk-on-navy-2); }
.sbk .sbk-xrow--net .sbk-xrow__v { color: var(--sbk-gold-light); font-size: 18px; }

/* check lines */
.sbk-xok { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 8px; background: rgba(46, 122, 78, .1); color: var(--sbk-confirm); font-size: 13px; font-weight: 700; }
.sbk-xok--w { background: rgba(185, 134, 47, .14); color: var(--sbk-gold-text); }
.sbk .sbk-xok span { color: inherit; }
.sbk .sbk-xok__v { color: inherit; white-space: nowrap; }

/* columns side by side (trust reconciliation, production stages) */
.sbk-xcols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sbk-xcols3--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sbk-xcol3 { padding: 14px 16px; background: var(--sbk-cream); border: 1px solid var(--sbk-border-warm-2); border-radius: 10px; display: flex; flex-direction: column; }
.sbk .sbk-xcol3__n { color: var(--sbk-gold-text); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sbk .sbk-xcol3__h { margin: 2px 0 8px; color: var(--sbk-navy); font-size: 15px; font-weight: 700; line-height: 1.35; }
.sbk-xcol3 .sbk-xrow--res { margin-top: auto; }
.sbk-xcol3--sold { background: var(--sbk-navy); border-color: var(--sbk-navy); }
.sbk .sbk-xcol3--sold .sbk-xcol3__n { color: var(--sbk-gold-light); }
.sbk .sbk-xcol3--sold .sbk-xcol3__h, .sbk .sbk-xcol3--sold .sbk-xrow__v, .sbk .sbk-xcol3--sold .sbk-xrow--res .sbk-xrow__l { color: var(--sbk-white); }
.sbk .sbk-xcol3--sold .sbk-xrow__l { color: var(--sbk-on-navy); }
.sbk-xcol3--sold .sbk-xrow:not(.sbk-xrow--res) { border-bottom-color: rgba(233, 190, 98, .25); }
.sbk-xcol3--sold .sbk-xrow--res { border-top-color: var(--sbk-gold-light); }

/* figures that agree */
.sbk-xagree { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px 16px; border-radius: 10px; background: var(--sbk-blue-grey); }
.sbk-xagree__eq { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; color: var(--sbk-navy); font-size: 16px; font-weight: 700; }
.sbk .sbk-xagree__eq i { color: var(--sbk-gold-text); font-style: normal; }
.sbk .sbk-xagree__eq span { color: var(--sbk-navy); }
.sbk-xagree__ok { display: flex; flex-wrap: wrap; gap: 8px; }

/* waterfall */
.sbk-xwf { display: flex; flex-direction: column; }
.sbk-xwf__r { display: grid; grid-template-columns: minmax(0, 10fr) minmax(0, 9fr) auto; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--sbk-border-cool-2); }
.sbk-xwf__r:last-child { border-bottom: 0; }
.sbk .sbk-xwf__l { color: var(--sbk-navy-text); font-size: 13px; line-height: 1.35; }
.sbk-xwf__r--t .sbk-xwf__l, .sbk .sbk-xwf__r--t .sbk-xwf__l { color: var(--sbk-navy); font-weight: 700; }
.sbk-xwf__t { position: relative; display: block; height: 10px; border-radius: 3px; background: var(--sbk-border-cool-2); }
.sbk-xwf__t i { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.sbk-xwf--add { background: var(--sbk-on-navy-3); }
.sbk-xwf--total { background: var(--sbk-navy); }
.sbk-xwf--sub { background: var(--sbk-alert); }
.sbk .sbk-xwf__v { color: var(--sbk-navy); font-size: 13px; min-width: 78px; text-align: right; white-space: nowrap; }

/* week bars */
.sbk-xwk { display: flex; flex-direction: column; gap: 10px; }
.sbk-xwk__r { display: grid; grid-template-columns: 112px minmax(0, 1fr) 56px; gap: 12px; align-items: center; }
.sbk-xr--mini .sbk-xwk__r { grid-template-columns: 60px minmax(0, 1fr) 52px; gap: 10px; }
.sbk .sbk-xwk__l { display: flex; flex-direction: column; color: var(--sbk-navy); font-size: 13px; line-height: 1.3; }
.sbk .sbk-xwk__l span { color: var(--sbk-muted); font-size: 11.5px; }
.sbk-xwk__t { position: relative; display: flex; height: 22px; border-radius: 4px; background: var(--sbk-border-cool-2); overflow: visible; }
.sbk-xr--mini .sbk-xwk__t { height: 12px; }
.sbk-xwk__t i { display: flex; align-items: center; justify-content: center; font-size: 11px; font-style: normal; font-weight: 700; overflow: hidden; white-space: nowrap; }
.sbk-xwk__t i.f { background: var(--sbk-gold-light); color: var(--sbk-navy); border-radius: 4px 0 0 4px; }
.sbk-xwk__t i.l { background: var(--sbk-navy); color: var(--sbk-white); }
.sbk-xwk__t u { position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; background: var(--sbk-alert); text-decoration: none; }
.sbk .sbk-xwk__p { text-align: right; color: var(--sbk-navy); font-size: 13px; }
.sbk .sbk-xwk__p.over { color: var(--sbk-alert); }

/* column chart */
.sbk-xcc { display: flex; align-items: flex-end; gap: 6px; height: var(--sbk-xcc-h, 130px); padding-bottom: 2px; border-bottom: 1px solid var(--sbk-border-cool); }
.sbk-xcc__c { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; min-width: 0; }
.sbk-xcc__c i { display: block; width: 100%; max-width: 34px; border-radius: 3px 3px 0 0; background: var(--sbk-navy); }
.sbk-xcc__c i.z { background: var(--sbk-border-cool); }
.sbk .sbk-xcc__c em { color: var(--sbk-navy); font-size: 11px; font-style: normal; font-weight: 700; }
.sbk-xcc__m { display: flex; gap: 6px; margin-top: 6px; }
.sbk .sbk-xcc__m span { flex: 1 1 0; text-align: center; color: var(--sbk-muted); font-size: 11.5px; }

/* summary along the bottom */
.sbk-xfoot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 -22px -22px; border-top: 1px solid var(--sbk-border-cool); background: var(--sbk-cream); }
.sbk-xfoot__c { padding: 14px 18px; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid var(--sbk-border-cool); }
.sbk-xfoot__c:first-child { border-left: 0; }
.sbk .sbk-xfoot__c span { color: var(--sbk-muted); font-size: 12px; line-height: 1.4; }
.sbk .sbk-xfoot__c b { color: var(--sbk-navy); font-size: 15px; }
.sbk .sbk-xfoot__c--ok b { color: var(--sbk-confirm); }
.sbk .sbk-xfoot__c--warn b { color: var(--sbk-gold-text); }

/* two blocks side by side */
.sbk-xsplit { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: start; }

/* the hero's small report */
.sbk-shero--industry .sbk-shero__art { align-self: center; }

@media (max-width: 1023px) {
	.sbk-ihandle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sbk .sbk-xmeta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sbk-xsplit { grid-template-columns: minmax(0, 1fr); }
	.sbk-xcols3--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sbk-xfoot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sbk-xfoot__c:nth-child(3) { border-left: 0; }
	.sbk-xfoot__c:nth-child(n+3) { border-top: 1px solid var(--sbk-border-cool); }
	.sbk-iclient { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
	.sbk-ihandle { grid-template-columns: minmax(0, 1fr); margin-top: 22px; }
	.sbk-xr__body { padding: 16px; gap: 18px; }
	.sbk-xr__top { padding: 12px 16px; align-items: flex-start; }
	.sbk-xfoot { margin: 0 -16px -16px; }
	.sbk-xcols3, .sbk-xcols3--4 { grid-template-columns: minmax(0, 1fr); }
	.sbk-xtiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sbk .sbk-xtile__v { font-size: 14px; }
	.sbk-xnote--swipe { display: block; }
	.sbk-xwk__r { grid-template-columns: 70px minmax(0, 1fr) 48px; gap: 8px; }
	.sbk .sbk-xwk__l span { display: none; }
	.sbk-xbr { grid-template-columns: minmax(0, 1fr) 70px auto; }
	.sbk-xprog__r { grid-template-columns: 70px minmax(0, 1fr) 46px; }
	.sbk-toolmarks--soft .sbk-toolmarks__item { min-width: 0; height: 48px; padding: 0 10px; }
	.sbk .sbk-toolmarks--soft .sbk-toolmarks__logo { max-height: 30px; max-width: 116px; }

	/* A stacked table: each row a small card, each cell a labelled line. */
	.sbk-xt--stack thead { display: none; }
	.sbk-xt--stack, .sbk-xt--stack tbody, .sbk-xt--stack tr, .sbk-xt--stack td { display: block; width: 100%; }
	.sbk-xt--stack tr { padding: 10px 0; border-bottom: 1px solid var(--sbk-border-cool); }
	.sbk-xt--stack tr.t { border-top: 1.5px solid var(--sbk-navy); border-bottom: 0; }
	.sbk-xt--stack td { padding: 3px 0; border: 0; text-align: left; display: flex; justify-content: space-between; gap: 12px; }
	.sbk-xt--stack tr.t td { border: 0; }
	.sbk-xt--stack td:first-child { display: block; padding-bottom: 6px; }
	.sbk-xt--stack td[data-l]::before { content: attr(data-l); color: var(--sbk-muted); font-size: 12px; font-weight: 600; text-align: left; }
	.sbk-xt--stack td.hide-s { display: none; }
	.sbk-xt--stack td.wide { flex-direction: column; gap: 6px; }
	.sbk-xt--stack .sbk-xprog { min-width: 0; }
}
/* A matrix keeps its row labels in view while the properties scroll, and the
   total column keeps its tint on a highlighted row. */
.sbk-xt--matrix th:first-child,
.sbk-xt--matrix td:first-child { position: sticky; left: 0; z-index: 1; background: var(--sbk-white); }
.sbk-xt--matrix tr.hl td:first-child { background: var(--sbk-cream); }
.sbk-xt tr.hl td.tot { background: var(--sbk-blue-grey); }

/* Software logos wrap into balanced rows, never one logo alone on a line on
   a computer or a tablet: seven are four and three, eight are four and four
   (Oct 6 2026). A phone keeps two to a row. */
@media (min-width: 768px) {
	.sbk .sbk-toolmarks--soft { display: grid; grid-template-columns: repeat(var(--sbk-soft-cols, 6), minmax(0, 160px)); }
	.sbk-toolmarks--soft .sbk-toolmarks__item { min-width: 0; }
	.sbk-toolmarks--soft.sbk-toolmarks--n1 { --sbk-soft-cols: 1; }
	.sbk-toolmarks--soft.sbk-toolmarks--n2 { --sbk-soft-cols: 2; }
	.sbk-toolmarks--soft.sbk-toolmarks--n3 { --sbk-soft-cols: 3; }
	.sbk-toolmarks--soft.sbk-toolmarks--n4 { --sbk-soft-cols: 4; }
	.sbk-toolmarks--soft.sbk-toolmarks--n5 { --sbk-soft-cols: 5; }
	.sbk-toolmarks--soft.sbk-toolmarks--n6 { --sbk-soft-cols: 6; }
	.sbk-toolmarks--soft.sbk-toolmarks--n7,
	.sbk-toolmarks--soft.sbk-toolmarks--n8 { --sbk-soft-cols: 4; }
	.sbk-toolmarks--soft.sbk-toolmarks--n9,
	.sbk-toolmarks--soft.sbk-toolmarks--n10 { --sbk-soft-cols: 5; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.sbk-toolmarks--soft.sbk-toolmarks--n5,
	.sbk-toolmarks--soft.sbk-toolmarks--n6,
	.sbk-toolmarks--soft.sbk-toolmarks--n9 { --sbk-soft-cols: 3; }
	.sbk-toolmarks--soft.sbk-toolmarks--n10 { --sbk-soft-cols: 4; }
}
@media (max-width: 767px) {
	.sbk .sbk-toolmarks--soft { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Review fixes, Oct 6 2026. A table never clips its last column: it scrolls
   if it must, and a table of seven columns or more stacks on a tablet too
   (Construction and Real Estate cut off their status and running total at
   768). Related industries are three across from a tablet, never two and a
   lone third. A bar in a table keeps a readable length. */
.sbk-xtwrap { overflow-x: auto; }
.sbk-xbarcell .sbk-xbar { min-width: 64px; }
@media (min-width: 768px) and (max-width: 1023px) {
	.sbk .sbk-related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sbk-xt--wide thead { display: none; }
	.sbk-xt--wide, .sbk-xt--wide tbody, .sbk-xt--wide tr, .sbk-xt--wide td { display: block; width: 100%; }
	.sbk-xt--wide tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
	.sbk-xt--wide tr { padding: 10px 0; border-bottom: 1px solid var(--sbk-border-cool); }
	.sbk-xt--wide tr.t { grid-column: 1 / -1; border-top: 1.5px solid var(--sbk-navy); border-bottom: 0; }
	.sbk-xt--wide td { padding: 3px 0; border: 0; text-align: left; display: flex; justify-content: space-between; gap: 12px; }
	.sbk-xt--wide tr.t td { border: 0; }
	.sbk-xt--wide td:first-child { display: block; padding-bottom: 6px; }
	.sbk-xt--wide td[data-l]::before { content: attr(data-l); color: var(--sbk-muted); font-size: 12px; font-weight: 600; text-align: left; }
	.sbk-xt--wide td.hide-s { display: none; }
	.sbk-xt--wide td.wide { flex-direction: column; gap: 6px; }
	.sbk-xt--wide .sbk-xprog { min-width: 0; }
}

/* One logo alone on a phone is one column wide, and the note under a report
   keeps a readable measure (live review, Oct 6 2026). */
@media (max-width: 767px) {
	.sbk .sbk-toolmarks--soft.sbk-toolmarks--n1 { grid-template-columns: minmax(0, 168px); }
}
.sbk .sbk-xframe__note { max-width: 36em; }

/* One or two related industries (the hub's tiles can be removed, Oct 8
   2026): from a tablet up, a row made for that many, never three columns
   with empty ones. On a phone they stack as before. */
@media (min-width: 768px) {
	.sbk .sbk-related__list.sbk-related__list--n1 { grid-template-columns: minmax(0, 360px); }
	.sbk .sbk-related__list.sbk-related__list--n2 { grid-template-columns: repeat(2, minmax(0, 360px)); }
}

/* Phones, Oct 14 2026: the 21 tiles were nearly 2,000px. Same tiles, less air. */
@media (max-width: 767px) {
	.sbk .sbk-tile { min-height: 52px; padding: 8px 14px; gap: 12px; }
	.sbk-dir__list { gap: 8px; }
	.sbk-dir { gap: var(--sbk-s3); }
}
