.borpc-extra-folds {
	display: grid;
	gap: 14px;
	margin-top: 22px;
}

.borpc-extra-card {
	padding: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	color: #334155;
}

.borpc-extra-card h3 {
	margin: 0 0 10px;
	color: #0f172a;
	font-size: 17px;
	line-height: 1.25;
	font-weight: 800;
}

.borpc-extra-card p {
	margin: 0 0 10px;
	color: #334155;
	font-size: 14px;
	line-height: 1.7;
}

.borpc-extra-card p:last-child {
	margin-bottom: 0;
}

.borpc-extra-card ul {
	margin: 0;
	padding-left: 18px;
}

.borpc-extra-card li {
	margin: 0 0 8px;
	color: #334155;
	font-size: 14px;
	line-height: 1.6;
}

.borpc-extra-card a {
	color: #0E8A78;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.borpc-editor-review {
	background: #ECFBF7;
	border-color: #B5F0E4;
}

.borpc-manual-similar ul {
	display: grid;
	gap: 8px;
	padding-left: 0;
	list-style: none;
}

.borpc-manual-similar li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid #e2e8f0;
}

.borpc-manual-similar li:last-child {
	border-bottom: 0;
}

.borpc-manual-similar span {
	flex: 0 0 auto;
	color: #64748b;
	font-size: 13px;
}

.borpc-rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px;
	background: #fff;
	border: 1px solid #C9EFE7;
	border-radius: 999px;
}

.bor-archive-main {
	--bor-navy: #101344;
	--bor-ink: #101827;
	--bor-muted: #607086;
	--bor-blue: #14B8A6;
	--bor-gold: #2ED3B5;
	background: #eef5fb;
	color: var(--bor-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bor-archive-wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.bor-archive-hero {
	padding: 82px 0 44px;
	background:
		linear-gradient(135deg, rgba(16, 19, 68, .98), rgba(8, 25, 53, .96)),
		linear-gradient(90deg, rgba(46, 211, 181, .10), rgba(20, 184, 166, .16));
	color: #fff;
}

.bor-archive-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 30px;
	align-items: center;
}

.bor-archive-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
	color: #C2E9E1;
	font-size: 14px;
}

.bor-archive-breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.bor-archive-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 12px;
	color: #2ED3B5;
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.bor-archive-copy h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.12;
	font-weight: 850;
	letter-spacing: 0;
}

.bor-archive-lede {
	max-width: 760px;
	margin: 18px 0 0;
	color: #d7def3;
	font-size: 17px;
	line-height: 1.7;
}

.bor-archive-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.bor-archive-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.bor-archive-primary {
	background: #14B8A6;
	color: #07332B;
}

.bor-archive-secondary {
	border: 1px solid rgba(255,255,255,.24);
	color: #fff;
}

.bor-archive-stats {
	display: grid;
	gap: 12px;
}

.bor-archive-stats div {
	padding: 18px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 8px;
}

.bor-archive-stats strong,
.bor-archive-stats span {
	display: block;
}

.bor-archive-stats strong {
	color: #fff;
	font-size: 30px;
	line-height: 1;
}

.bor-archive-stats span {
	margin-top: 7px;
	color: #C9E5DF;
	font-size: 13px;
}

.bor-archive-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 20px 0 0;
}

.bor-archive-tabs a,
.bor-archive-chip-list a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 999px;
	color: #253047;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

.bor-archive-tabs a.is-active {
	background: var(--bor-navy);
	border-color: var(--bor-navy);
	color: #fff;
}

.bor-archive-taxonomy-band {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 22px;
	padding: 20px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 8px;
}

.bor-archive-taxonomy-band h2,
.bor-archive-section-head h2,
.bor-archive-note h2 {
	margin: 0;
	color: var(--bor-ink);
	font-size: 18px;
	line-height: 1.25;
	letter-spacing: 0;
}

.bor-archive-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 12px;
}

.bor-archive-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 24px;
	padding: 26px 0 64px;
}

.bor-archive-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.bor-archive-section-head p {
	margin: 0 0 4px;
	color: var(--bor-blue);
	font-size: 12px;
	font-weight: 850;
	text-transform: uppercase;
}

.bor-archive-section-head span {
	color: var(--bor-muted);
	font-size: 14px;
	font-weight: 700;
}

.bor-archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.bor-archive-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 8px;
	box-shadow: 0 14px 36px rgba(18, 37, 63, .08);
}

.bor-archive-media {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: linear-gradient(135deg, #123B4F, #14B8A6);
	text-decoration: none;
}

.bor-archive-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bor-archive-media span {
	color: #fff;
	font-size: 52px;
	font-weight: 850;
}

.bor-archive-card-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 12px;
	padding: 16px;
}

.bor-archive-card-top {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.bor-archive-card-top--nologo {
	grid-template-columns: minmax(0, 1fr);
}

.bor-archive-logo {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	/* contain, not cover: a wordmark is wider than it is tall, and cover would
	   crop a 414x76 logo down to its middle 76px. */
	object-fit: contain;
	padding: 4px;
	background: #EAF7F4;
}

.bor-archive-logo-fallback {
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--bor-navy);
	font-weight: 850;
}

.bor-archive-card-top p {
	margin: 0 0 3px;
	color: var(--bor-muted);
	font-size: 12px;
	font-weight: 750;
	text-transform: uppercase;
}

.bor-archive-card h2 {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: 0;
}

.bor-archive-card h2 a {
	color: var(--bor-ink);
	text-decoration: none;
}

.bor-archive-excerpt {
	min-height: 66px;
	margin: 0;
	color: #536176;
	font-size: 14px;
	line-height: 1.55;
}

.bor-archive-meta,
.bor-archive-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.bor-archive-meta span,
.bor-archive-tags a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 28px;
	padding: 0 9px;
	background: #f2f6fb;
	border: 1px solid #e0e9f3;
	border-radius: 999px;
	color: #36445a;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.bor-archive-meta i {
	color: #f5b400;
}

.bor-archive-read {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin-top: auto;
	min-height: 40px;
	padding: 0 14px;
	background: var(--bor-navy);
	border-radius: 6px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.bor-archive-sidebar {
	display: grid;
	align-content: start;
	gap: 16px;
}

.bor-archive-note {
	padding: 18px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 8px;
}

.bor-archive-note p,
.bor-archive-note li {
	color: #536176;
	font-size: 14px;
	line-height: 1.65;
}

.bor-archive-note p {
	margin: 10px 0 0;
}

.bor-archive-note ul {
	margin: 12px 0 0;
	padding-left: 18px;
}

.bor-archive-pagination {
	margin-top: 24px;
}

.bor-archive-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bor-archive-pagination a,
.bor-archive-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 6px;
	color: #243047;
	font-weight: 800;
	text-decoration: none;
}

.bor-archive-pagination .current {
	background: var(--bor-blue);
	border-color: var(--bor-blue);
	color: #07332B;
}

.bor-archive-empty {
	padding: 28px;
	background: #fff;
	border: 1px solid #dbe6f2;
	border-radius: 8px;
}

@media (max-width: 980px) {
	.bor-archive-hero-grid,
	.bor-archive-layout,
	.bor-archive-taxonomy-band {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 640px) {
	.bor-archive-wrap {
		width: min(100% - 28px, 1180px);
	}

	.bor-archive-hero {
		padding: 56px 0 34px;
	}

	.bor-archive-copy h1 {
		font-size: 34px;
	}

	.bor-archive-section-head {
		align-items: start;
		flex-direction: column;
	}
}


/* --- Directory bottom SEO content (v1.2.0) --- */
.bor-archive-seo-content {
	margin: 34px auto 10px;
	padding: 26px 28px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	color: #334155;
	max-width: 1160px;
}

.bor-archive-seo-content h2 {
	margin: 0 0 12px;
	color: #0f172a;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
}

.bor-archive-seo-content h3 {
	margin: 18px 0 8px;
	color: #0f172a;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
}

.bor-archive-seo-content p {
	margin: 0 0 12px;
	font-size: 15px;
	line-height: 1.75;
}

.bor-archive-seo-content ul,
.bor-archive-seo-content ol {
	margin: 0 0 14px;
	padding-left: 20px;
}

.bor-archive-seo-content li {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.6;
}

.bor-archive-seo-content a {
	color: #0E8A78;
	text-decoration: underline;
}

@media (max-width: 767px) {
	.bor-archive-seo-content {
		padding: 20px 16px;
		margin-top: 24px;
	}
	.bor-archive-seo-content h2 {
		font-size: 20px;
	}
}


/* --- Directory extra folds + FAQ (v1.2.1) --- */
.bor-archive-folds {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 18px;
	margin: 34px auto 0;
	max-width: 1160px;
}

.bor-archive-fold {
	padding: 24px 26px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	color: #334155;
}

.bor-archive-fold h2 {
	margin: 0 0 10px;
	color: #0f172a;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 800;
}

.bor-archive-fold h3 {
	margin: 14px 0 6px;
	color: #0f172a;
	font-size: 16px;
	font-weight: 700;
}

.bor-archive-fold p {
	margin: 0 0 10px;
	font-size: 14.5px;
	line-height: 1.7;
}

.bor-archive-fold ul {
	margin: 0 0 10px;
	padding-left: 18px;
}

.bor-archive-fold li {
	margin: 0 0 6px;
	font-size: 14.5px;
	line-height: 1.6;
}

.bor-archive-faq {
	margin: 34px auto 0;
	padding: 26px 28px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	max-width: 1160px;
}

.bor-archive-faq > h2 {
	margin: 0 0 16px;
	color: #0f172a;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 800;
}

.bor-archive-faq-item {
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	margin: 0 0 10px;
	background: #f8fafc;
	overflow: hidden;
}

.bor-archive-faq-item summary {
	padding: 14px 18px;
	cursor: pointer;
	font-weight: 700;
	font-size: 15px;
	color: #0f172a;
	list-style: none;
	position: relative;
	padding-right: 40px;
}

.bor-archive-faq-item summary::-webkit-details-marker {
	display: none;
}

.bor-archive-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	color: #64748b;
	font-weight: 400;
}

.bor-archive-faq-item[open] summary::after {
	content: "\2212";
}

.bor-archive-faq-item[open] summary {
	border-bottom: 1px solid #e2e8f0;
	background: #ffffff;
}

.bor-archive-faq-answer {
	padding: 14px 18px;
	background: #ffffff;
}

.bor-archive-faq-answer p {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.7;
	color: #334155;
}

@media (max-width: 767px) {
	.bor-archive-folds {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-top: 24px;
	}
	.bor-archive-fold,
	.bor-archive-faq {
		padding: 20px 16px;
	}
	.bor-archive-faq > h2 {
		font-size: 20px;
	}
}


/* --- Listicle AI/SEO Boost (v1.3.0) --- */
.borpc-updated-line {
	margin: 12px 0 0;
	font-size: 13.5px;
	color: #94a3b8;
}

.borpc-updated-line time {
	font-weight: 600;
	color: #C9E5DF;
}

.borpc-tldr {
	max-width: 720px;
	margin: 18px 0 6px;
	padding: 18px 22px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .16);
	border-left: 4px solid #2ED3B5;
	border-radius: 12px;
	backdrop-filter: blur(4px);
}

.borpc-tldr-label {
	margin: 0 0 6px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7FE6D3;
}

.borpc-tldr p:last-child {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #e2e8f0;
	font-weight: 400;
}

.borpc-key-stats {
	max-width: 720px;
	margin: 14px 0 6px;
	padding: 16px 22px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
}

.borpc-key-stats .borpc-tldr-label {
	color: #5eead4;
}

.borpc-key-stats ul {
	margin: 0;
	padding-left: 18px;
}

.borpc-key-stats li {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.65;
	color: #C9E5DF;
}

.borpc-key-stats li:last-child {
	margin-bottom: 0;
}

.borpc-key-stats li a {
	font-size: 12px;
	color: #7FE6D3;
}

.borpc-listicle-sources {
	max-width: 1160px;
	margin: 30px auto;
	padding: 22px 26px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.borpc-listicle-sources h2 {
	margin: 0 0 12px;
	font-size: 19px;
	font-weight: 800;
	color: #0f172a;
}

.borpc-listicle-sources ul {
	margin: 0;
	padding-left: 18px;
}

.borpc-listicle-sources li {
	margin: 0 0 7px;
	font-size: 14px;
	word-break: break-all;
}

.borpc-listicle-sources a {
	color: #0E8A78;
}

@media (max-width: 767px) {
	.borpc-tldr,
	.borpc-key-stats {
		padding: 14px 16px;
	}
	.borpc-listicle-sources {
		margin: 22px 16px;
		padding: 16px;
	}
}


/* v1.3.2: spacing when TLDR/stats sit below the hero CTA */
.btx-hero .borpc-tldr { margin-top: 26px; }
.btx-hero .borpc-key-stats { margin-top: 14px; }


/* ===== Homepage pillar blocks (v1.5.0) — designed for the dark navy brand ===== */
.borpc-home-block {
	margin: 0 auto;
	max-width: 1200px;
	color: #C9E5DF;
}

.borpc-home-block h2 {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 800;
}

.borpc-home-block h3 {
	margin: 22px 0 10px;
	color: #e2e8f0;
	font-size: 17px;
	font-weight: 700;
}

.borpc-home-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.borpc-home-more {
	color: #7FE6D3;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.borpc-home-more:hover { color: #B5F0E4; }

.borpc-home-intro {
	margin: 0 0 22px;
	max-width: 760px;
	font-size: 15.5px;
	line-height: 1.7;
	color: #94a3b8;
}

/* Stats row */
.borpc-stats-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
}

.borpc-stat {
	display: block;
	padding: 20px 18px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}

a.borpc-stat:hover { border-color: #2ED3B5; transform: translateY(-2px); }

.borpc-stat strong {
	display: block;
	color: #ffffff;
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
}

.borpc-stat span {
	display: block;
	margin-top: 8px;
	color: #94a3b8;
	font-size: 13px;
}

/* Top items grid */
.borpc-home-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
	gap: 14px;
}

.borpc-home-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}

.borpc-home-card:hover { border-color: #2ED3B5; transform: translateY(-2px); }

.borpc-home-card img,
.borpc-home-fallback {
	width: 46px;
	height: 46px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
}

.borpc-home-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(96,165,250,.2);
	color: #7FE6D3;
	font-weight: 800;
	font-size: 20px;
}

.borpc-home-card h3 {
	margin: 0 0 4px;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
}

.borpc-home-card p {
	display: flex;
	gap: 12px;
	margin: 0;
	font-size: 13px;
	color: #94a3b8;
}

.borpc-home-star { color: #facc15; font-weight: 700; }

/* Guides */
.borpc-home-grid-guides { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }

.borpc-home-guide {
	display: block;
	padding: 22px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.13);
	border-radius: 12px;
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}

.borpc-home-guide:hover { border-color: #2ED3B5; transform: translateY(-2px); }

.borpc-home-guide h3 {
	margin: 0 0 8px;
	color: #ffffff;
	font-size: 17px;
	line-height: 1.35;
	font-weight: 700;
}

.borpc-home-guide p {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.6;
	color: #94a3b8;
}

.borpc-home-date {
	font-size: 12.5px;
	color: #64748b;
}

/* Hub chips */
.borpc-hub-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.borpc-hub-chips a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 15px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 999px;
	color: #e2e8f0;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s ease;
}

.borpc-hub-chips a:hover { border-color: #2ED3B5; }

.borpc-hub-chips em {
	font-style: normal;
	color: #64748b;
	font-size: 12px;
}

@media (max-width: 767px) {
	.borpc-home-block h2 { font-size: 23px; }
	.borpc-home-grid,
	.borpc-home-grid-guides { grid-template-columns: 1fr; }
	.borpc-stats-row { grid-template-columns: repeat(2, 1fr); }
}


/* v1.5.2: company single fixes - hide duplicate theme title, protect buttons */
.single-bor_company .page-header .entry-title,
.single-bor_company h1.entry-title,
.single-bor_company .page-header {
	display: none;
}

.bor-btn br {
	display: none;
}

.bor-single-hero .bor-btn,
.bor-single-wrap .bor-btn {
	width: auto;
	min-width: 0;
	white-space: nowrap;
}


/* ===== Listicle finder bar (v1.6.0) - AgencySpotter-style search on dark theme ===== */
.borpc-finder {
	max-width: 980px;
	margin: 0 auto;
	width: 100%;
}

.borpc-finder-bar {
	display: grid;
	grid-template-columns: 1.3fr 1fr auto;
	align-items: stretch;
	background: #ffffff;
	border-radius: 16px;
	padding: 10px;
	gap: 10px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}

.borpc-finder-field {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	padding: 8px 16px;
	border-radius: 10px;
	background: #ffffff;
	min-width: 0;
}

.borpc-finder-field-alt {
	background: #f1f5f9;
}

.borpc-finder-label {
	font-size: 12.5px;
	font-weight: 700;
	color: #14B8A6;
	letter-spacing: .02em;
}

.borpc-finder-field select {
	appearance: auto;
	border: 0;
	background: transparent;
	font-size: 16px;
	color: #334155;
	font-weight: 500;
	padding: 2px 0;
	outline: none;
	width: 100%;
	cursor: pointer;
}

.borpc-finder button.borpc-finder-go {
	border: 0;
	border-radius: 12px;
	background: #14B8A6;
	color: #fff;
	font-weight: 700;
	font-size: 15.5px;
	padding: 0 30px;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s ease, transform .15s ease;
}

.borpc-finder button.borpc-finder-go:hover {
	background: #0B6E60;
	transform: translateY(-1px);
}

.borpc-finder-count {
	margin: 18px 4px 12px;
	color: #94a3b8;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
}

.borpc-finder-results {
	margin-top: 4px;
}

@media (max-width: 767px) {
	.borpc-finder-bar {
		grid-template-columns: 1fr;
	}
	.borpc-finder-go {
		padding: 14px 24px;
	}
}

/* ===== Contact/submit form (v1.6.1) ===== */
.borpc-cform {
	max-width: 760px;
	margin: 0 auto;
	width: 100%;
}

.borpc-cform-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.borpc-cform-grid label {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.borpc-cform-full {
	grid-column: 1 / -1;
}

.borpc-cform-grid span {
	font-size: 13px;
	font-weight: 600;
	color: #B6BDD0;
}

.borpc-cform-grid input,
.borpc-cform-grid select,
.borpc-cform-grid textarea {
	width: 100%;
	padding: 13px 16px;
	border-radius: 10px;
	border: 1px solid rgba(91, 127, 255, .3);
	background: rgba(255, 255, 255, .05);
	color: #fff;
	font-size: 14.5px;
	font-family: inherit;
	outline: 0;
	box-sizing: border-box;
	transition: border-color .2s ease;
}

.borpc-cform-grid select option {
	background: #0F1A4A;
	color: #fff;
}

.borpc-cform-grid input:focus,
.borpc-cform-grid select:focus,
.borpc-cform-grid textarea:focus {
	border-color: #5B7FFF;
}

.borpc-cform-btn {
	margin-top: 22px;
	width: 100%;
	padding: 15px 30px;
	border: 0;
	border-radius: 12px;
	background: #14B8A6;
	color: #fff;
	font-weight: 700;
	font-size: 15.5px;
	cursor: pointer;
	transition: background .15s ease;
}

.borpc-cform-btn:hover { background: #0B6E60; }
.borpc-cform-btn:disabled { opacity: .6; cursor: wait; }

.borpc-cform-msg {
	margin: 14px 0 0;
	padding: 0;
	font-size: 14px;
	text-align: center;
	min-height: 20px;
}

.borpc-cform-msg.is-ok { color: #34d399; }
.borpc-cform-msg.is-err { color: #f87171; }

@media (max-width: 640px) {
	.borpc-cform-grid { grid-template-columns: 1fr; }
}

/* ===== Blog archive cards (v1.6.2) ===== */
.borpc-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
	gap: 20px;
}

.borpc-blogcard {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .15s ease, box-shadow .15s ease;
}

.borpc-blogcard:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 40px rgba(15, 23, 42, .12);
}

.borpc-blogcard-thumb {
	display: block;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #101344, #1e1b4b);
	overflow: hidden;
	position: relative;
}

.borpc-blogcard-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.borpc-blogcard-fallback {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #7FE6D3;
	font-size: 44px;
	font-weight: 800;
}

.borpc-blogcard-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.borpc-blogcard-cat {
	align-self: flex-start;
	padding: 4px 12px;
	border-radius: 999px;
	background: #eff6ff;
	border: 1px solid #B5F0E4;
	color: #0E8A78;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 12px;
}

.borpc-blogcard h2 {
	margin: 0 0 10px;
	font-size: 19px;
	line-height: 1.35;
	font-weight: 800;
}

.borpc-blogcard h2 a {
	color: #0f172a;
	text-decoration: none;
}

.borpc-blogcard h2 a:hover { color: #0E8A78; }

.borpc-blogcard p {
	margin: 0 0 16px;
	color: #475569;
	font-size: 14.5px;
	line-height: 1.65;
	flex: 1;
}

.borpc-blogcard-meta {
	display: flex;
	gap: 8px;
	align-items: center;
	color: #94a3b8;
	font-size: 12.5px;
	border-top: 1px solid #f1f5f9;
	padding-top: 14px;
}

.borpc-blogcard-meta span:first-child {
	color: #334155;
	font-weight: 600;
}

@media (max-width: 767px) {
	.borpc-blog-grid { grid-template-columns: 1fr; }
}

/* v1.8.1: Quick Answer + Key Stats as a full-width band under the hero */
.borpc-hero-band {
	padding-top: 8px;
	padding-bottom: 8px;
}
.borpc-hero-boxes {
	display: grid;
	gap: 20px;
	margin: 0;
}
.borpc-hero-boxes .borpc-tldr,
.borpc-hero-boxes .borpc-key-stats {
	max-width: none;
	margin: 0;
	height: 100%;
	box-sizing: border-box;
}
.borpc-hero-boxes--inline {
	margin-top: 22px;
}
@media (min-width: 992px) {
	.borpc-hero-boxes {
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}
}

/* ============================================================
   Archive cards — MatchFast dark treatment
   ============================================================
   Everything above still describes the original light theme: #fff cards,
   #dbe6f2 borders, teal media panels. On MatchFast none of that is what
   ships — the dark look comes from matchfast-brand's generated remap,
   which repaints those colours with "html .bor-archive-card {...}" rules.
   The design was therefore split across two files, neither aware of the
   other, and the cards could not be changed from here at all.

   These rules are scoped under .bor-archive-main. That is (0,2,0) and
   beats the remap's (0,1,1) without needing !important, so the archive
   design is answerable in one place again. Post-type archives (/app/,
   /tool/, /software/) and the bor_category / bor_industry term archives
   all render through archive_markup(), so all of them pick this up.

   The card is the same one the homepage "Trending" rail and the Similar
   grid on product pages use: lift, gradient hairline, pointer spotlight,
   image drift. Tokens match the product sheet exactly.
   ============================================================ */

.bor-archive-main {
	--a-card: #0C111E;
	--a-card2: #141A2C;
	--a-line: rgba(255, 255, 255, .10);
	--a-line2: rgba(255, 255, 255, .16);
	--a-ink: #F8FAFF;
	--a-ink2: rgba(248, 250, 255, .74);
	--a-mut: rgba(248, 250, 255, .55);
	--a-accent: #4F46FF;
	--a-sky: #3B82F6;
	--a-gold: #F5B301;
}

.bor-archive-main .bor-archive-grid { gap: 18px; }

.bor-archive-main .bor-archive-card {
	position: relative;
	overflow: hidden;
	background: var(--a-card);
	border: 1px solid var(--a-line);
	border-radius: 14px;
	box-shadow: none;
	transition: transform .3s cubic-bezier(.2, .7, .3, 1), background-color .3s cubic-bezier(.2, .7, .3, 1), border-color .3s;
}

/* 1px gradient hairline, drawn as a masked padding box so it follows the
   radius exactly and needs no extra element. */
.bor-archive-main .bor-archive-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
	border-radius: inherit;
	padding: 1px;
	opacity: 0;
	transition: opacity .3s;
	pointer-events: none;
	background: linear-gradient(135deg, var(--a-accent), var(--a-sky) 45%, transparent 75%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
}

/* Pointer spotlight. --mx/--my are written by the script in archive_markup();
   the 50% fallback keeps it centred if that never runs. */
.bor-archive-main .bor-archive-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	opacity: 0;
	transition: opacity .35s;
	pointer-events: none;
	background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(79, 70, 255, .22), transparent 62%);
}

.bor-archive-main .bor-archive-card:hover,
.bor-archive-main .bor-archive-card:focus-within {
	transform: translateY(-4px);
	background: var(--a-card2);
	border-color: var(--a-line2);
}

.bor-archive-main .bor-archive-card:hover::before,
.bor-archive-main .bor-archive-card:focus-within::before { opacity: 1; }
.bor-archive-main .bor-archive-card:hover::after { opacity: 1; }
.bor-archive-main .bor-archive-card:hover .bor-archive-card-title a { color: var(--a-sky); }
.bor-archive-main .bor-archive-card:hover .bor-archive-media img { transform: scale(1.04); }

.bor-archive-main .bor-archive-media {
	aspect-ratio: 16 / 9;
	background: var(--a-card2);
	overflow: hidden;
}

.bor-archive-main .bor-archive-media img { transition: transform .5s cubic-bezier(.2, .7, .3, 1); }

.bor-archive-main .bor-archive-media span {
	color: rgba(248, 250, 255, .22);
	font-size: 56px;
	font-weight: 800;
}

.bor-archive-main .bor-archive-card-body { gap: 10px; padding: 16px 17px 18px; }

/* The logo used to sit in a 42px column beside the title, leaving the title
   about 180px to work in and repeating a brand mark the media panel above was
   usually already showing. It now straddles the media/body edge as a badge —
   the treatment the Similar cards on product pages use — and the title gets
   the full width of the card. */
.bor-archive-main .bor-archive-card-top {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
}

.bor-archive-main .bor-archive-logo {
	/* Without border-box this renders 54px wide (40 + 8 padding + 2 border)
	   and overflows whatever column it is given. */
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	width: 40px;
	height: 40px;
	margin: -32px 0 10px;
	padding: 4px;
	border: 1px solid var(--a-line);
	border-radius: 11px;
	background: #fff;
	object-fit: contain;
	box-shadow: 0 0 0 3px var(--a-card);
	transition: box-shadow .3s cubic-bezier(.2, .7, .3, 1);
}

.bor-archive-main .bor-archive-card:hover .bor-archive-logo { box-shadow: 0 0 0 3px var(--a-card2); }

.bor-archive-main .bor-archive-logo-fallback {
	display: grid;
	place-items: center;
	padding: 0;
	background: var(--a-accent);
	color: #fff;
	font-size: 17px;
}

.bor-archive-main .bor-archive-card-top p {
	color: var(--a-mut);
	font-size: 11px;
	letter-spacing: .06em;
}

.bor-archive-main .bor-archive-card-title {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.bor-archive-main .bor-archive-card-title a {
	color: var(--a-ink);
	text-decoration: none;
	transition: color .2s;
}

/* One target for the whole card. The tag links below raise themselves above
   this overlay so they still reach their own term archives. */
.bor-archive-main .bor-archive-card-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

/* The 66px min-height was a blunt way to line the cards up. Clamping to two
   lines does the same job and never leaves a gap under a short excerpt. */
.bor-archive-main .bor-archive-excerpt {
	min-height: 0;
	margin: 0;
	color: var(--a-ink2);
	font-size: 13.5px;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Rating and price were pills, which made them compete with the category
   tags below for the same attention. They are facts, not links. */
.bor-archive-main .bor-archive-meta { gap: 12px; margin-top: 2px; }

.bor-archive-main .bor-archive-meta span {
	min-height: 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--a-mut);
	font-size: 12.5px;
	font-weight: 600;
}

.bor-archive-main .bor-archive-meta i { color: var(--a-gold); }

.bor-archive-main .bor-archive-tags { margin-top: auto; padding-top: 4px; gap: 6px; }

.bor-archive-main .bor-archive-tags a {
	position: relative;
	z-index: 4;
	min-height: 24px;
	padding: 0 9px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid var(--a-line);
	border-radius: 999px;
	color: var(--a-ink2);
	font-size: 11.5px;
	font-weight: 600;
}

.bor-archive-main .bor-archive-tags a:hover { border-color: var(--a-accent); color: var(--a-ink); }

/* A short column beside a long one. In normal flow the notes ended roughly
   1,500px above the foot of the results and the right of the page was empty
   the whole way down. Sticky keeps them beside whatever is being read. */
.bor-archive-main .bor-archive-sidebar { position: sticky; top: 96px; align-self: start; }

/* The folds hold very different amounts of text — one is two lines, another
   fifteen. Stretched to a shared height the short ones were mostly empty. */
.bor-archive-main .bor-archive-folds { align-items: start; }

@media (prefers-reduced-motion: reduce) {
	.bor-archive-main .bor-archive-card,
	.bor-archive-main .bor-archive-media img { transition: border-color .3s, background-color .3s; }
	.bor-archive-main .bor-archive-card:hover { transform: none; }
	.bor-archive-main .bor-archive-card:hover .bor-archive-media img { transform: none; }
}

@media (max-width: 980px) {
	.bor-archive-main .bor-archive-sidebar { position: static; }
}


/* ============================================================
   Category pages — list layout
   ============================================================
   Directory term pages (bor_category, bor_industry) render from
   MFCat_Category_Template instead of the card grid: one page, a list, and
   filtering by type and topic in the browser.

   Scoped under .mfcat-cat, which the template adds alongside
   .bor-archive-main. The background needs .bor-archive-main.mfcat-cat to
   reach (0,2,0), because the brand remap sets it with html .bor-archive-main
   at (0,1,1). Everything else is a descendant selector and already wins.
   ============================================================ */

.bor-archive-main.mfcat-cat {
	--c-bg: #070A12;
	--c-surface: #0E1222;
	--c-glass: rgba(255, 255, 255, .035);
	--c-glass-2: rgba(255, 255, 255, .06);
	--c-line: rgba(255, 255, 255, .10);
	--c-line-2: rgba(255, 255, 255, .16);
	--c-text: #F8FAFF;
	--c-text-2: rgba(248, 250, 255, .66);
	--c-text-3: rgba(248, 250, 255, .5);
	--c-royal: #4F46FF;
	--c-royal-hi: #635BFF;
	--c-sky: #3B82F6;
	--c-accent: #93B4FB;
	--c-lav: #E9D8FF;
	--c-display: 'DM Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--c-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--c-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--c-gutter: clamp(16px, 4vw, 32px);
	background: var(--c-bg);
	color: var(--c-text);
	font: 400 16px/1.6 var(--c-body);
}

.mfcat-cat *, .mfcat-cat *::before, .mfcat-cat *::after { box-sizing: border-box; }
.mfcat-cat a { color: inherit; text-decoration: none; }
.mfcat-cat button { font: inherit; color: inherit; cursor: pointer; }
.mfcat-cat h1, .mfcat-cat h2, .mfcat-cat h3 { font-family: var(--c-display); margin: 0; text-wrap: balance; }
.mfcat-cat p { margin: 0; }
.mfcat-cat ul, .mfcat-cat ol { margin: 0; padding: 0; list-style: none; }
.mfcat-cat :focus-visible { outline: 2px solid var(--c-sky); outline-offset: 3px; border-radius: 6px; }
.mfcat-cat [hidden] { display: none !important; }
.mfc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mfc-wrap { width: 100%; max-width: 1244px; margin-inline: auto; padding-inline: var(--c-gutter); }

/* buttons */
.mfc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: 100px; border: 1px solid transparent; font: 600 14.5px/1 var(--c-display); white-space: nowrap; transition: background .15s, border-color .15s; }
.mfc-btn-primary { background: var(--c-royal); color: #fff; }
.mfc-btn-primary:hover { background: var(--c-royal-hi); }
.mfc-btn-ghost { background: transparent; border-color: var(--c-line-2); color: var(--c-text); }
.mfc-btn-ghost:hover { background: var(--c-glass-2); border-color: rgba(255, 255, 255, .3); }

/* hero */
.mfc-hero { position: relative; overflow: hidden; background: linear-gradient(rgba(30, 27, 75, .55), transparent 340px); }
.mfc-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(640px 300px at 90% -10%, rgba(79, 70, 255, .34), transparent 70%), radial-gradient(520px 260px at 4% 6%, rgba(59, 130, 246, .15), transparent 72%); }
.mfc-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: linear-gradient(#000, transparent 82%); mask-image: linear-gradient(#000, transparent 82%); }
.mfc-hero .mfc-wrap { position: relative; z-index: 1; padding-block: 34px 42px; }
.mfc-crumbs { display: flex; align-items: center; gap: 9px; margin-bottom: 34px; font: 400 13px/1 var(--c-body); color: var(--c-text-3); }
.mfc-crumbs a { transition: color .15s; }
.mfc-crumbs a:hover { color: var(--c-text); }
.mfc-crumbs i { font-style: normal; opacity: .5; }
.mfc-crumbs span { color: var(--c-text-2); }
.mfc-eyebrow { font: 500 12px/1 var(--c-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); }
.mfcat-cat h1 { margin-top: 18px; max-width: 15em; font-weight: 800; font-size: clamp(2.05rem, 1.15rem + 3.7vw, 3.5rem); line-height: 1.05; letter-spacing: -.035em; color: var(--c-text); }
.mfc-grad { background: linear-gradient(104deg, #F8FAFF 18%, #3B82F6 52%, #E9D8FF 88%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.mfc-lede { max-width: 56ch; margin-top: 22px !important; font-size: clamp(1rem, .94rem + .3vw, 1.125rem); line-height: 1.65; color: var(--c-text-2); text-wrap: pretty; }
.mfc-ledger { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 28px !important; font: 500 12.5px/1 var(--c-mono); letter-spacing: .02em; color: var(--c-text-3); }
.mfc-ledger b { font-weight: 500; color: var(--c-text); }
.mfc-ledger span:not(:last-child)::after { content: ""; display: inline-block; width: 3px; height: 3px; margin-left: 18px; border-radius: 50%; background: var(--c-text-3); vertical-align: middle; }

/* controls */
.mfc-dir { scroll-margin-top: 80px; }
.mfc-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding-block: 6px 22px; }
.mfc-crow { display: flex; align-items: center; gap: 14px; min-width: 0; }
.mfc-clabel { flex: none; width: 50px; font: 500 11px/1 var(--c-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--c-text-3); }
.mfc-seg { display: inline-flex; gap: 2px; padding: 4px; border: 1px solid var(--c-line); border-radius: 100px; background: var(--c-glass); }
.mfc-seg button { display: inline-flex; align-items: baseline; gap: 7px; padding: 8px 15px; border: 0; border-radius: 100px; background: transparent; font: 500 13.5px/1 var(--c-body); color: var(--c-text-2); transition: background .15s, color .15s; }
.mfc-seg button:hover:not(:disabled):not([aria-pressed="true"]) { background: var(--c-glass-2); color: var(--c-text); }
.mfc-seg button[aria-pressed="true"] { background: var(--c-royal); color: #fff; }
.mfc-seg button:disabled { opacity: .35; cursor: not-allowed; }
.mfc-n { font: 500 11.5px/1 var(--c-mono); font-variant-numeric: tabular-nums; opacity: .7; }
.mfc-sortwrap { display: flex; align-items: center; gap: 10px; }
.mfc-sortwrap .mfc-clabel { width: auto; }
.mfc-sort { appearance: none; -webkit-appearance: none; padding: 9px 36px 9px 16px; border: 1px solid var(--c-line-2); border-radius: 100px; background: var(--c-glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%2393B4FB' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E") no-repeat right 14px center; color: var(--c-text); font: 500 13.5px/1 var(--c-body); cursor: pointer; transition: border-color .15s; }
.mfc-sort:hover { border-color: rgba(255, 255, 255, .3); }
.mfc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mfc-chip { display: inline-flex; align-items: baseline; gap: 7px; padding: 7px 13px; border: 1px solid var(--c-line); border-radius: 100px; background: transparent; font: 500 13px/1 var(--c-body); color: var(--c-text-2); transition: background .15s, border-color .15s, color .15s; }
.mfc-chip:hover:not(:disabled):not([aria-pressed="true"]) { border-color: var(--c-line-2); background: var(--c-glass); color: var(--c-text); }
.mfc-chip[aria-pressed="true"] { border-color: rgba(99, 91, 255, .75); background: rgba(79, 70, 255, .2); color: #E4E7FF; }
.mfc-chip:disabled { opacity: .35; cursor: not-allowed; }

/* list */
.mfc-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin-bottom: 12px; }
.mfc-st { display: flex; align-items: center; gap: 16px; font: 500 12.5px/1 var(--c-mono); letter-spacing: .02em; color: var(--c-text-3); }
.mfc-clear { padding: 6px 0; border: 0; background: none; font: 500 12.5px/1 var(--c-mono); color: var(--c-accent); }
.mfc-clear:hover { color: #fff; }
.mfc-table { overflow: hidden; border: 1px solid var(--c-line); border-radius: 14px; background: var(--c-glass); }
.mfc-thead, .mfc-row a { display: grid; grid-template-columns: 44px minmax(0, 3fr) minmax(0, 1.55fr) 84px 156px 20px; column-gap: 18px; }
.mfc-thead { padding: 12px 20px; border-bottom: 1px solid var(--c-line); font: 500 11px/1 var(--c-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--c-text-3); }
.mfc-thead span:first-child { grid-column: 1 / 3; }
.mfc-row:not([hidden]) ~ .mfc-row:not([hidden]) { border-top: 1px solid var(--c-line); }
.mfc-row a { position: relative; grid-template-areas: "tile name topics rating price go" "tile desc topics rating price go"; row-gap: 3px; align-items: center; padding: 17px 20px; transition: background .15s; }
.mfc-row a::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 2px; border-radius: 2px; background: var(--c-royal); transform: scaleY(0); transition: transform .2s; }
.mfc-row a:hover { background: rgba(255, 255, 255, .045); }
.mfc-row a:hover::before, .mfc-row a:focus-visible::before { transform: scaleY(1); }
.mfc-row a:focus-visible { outline-offset: -2px; }
.mfc-tile { grid-area: tile; display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border: 1px solid var(--c-line-2); border-radius: 12px; font: 800 18px/1 var(--c-display); letter-spacing: -.02em; }
.mfc-tile-img { background: #fff; padding: 5px; }
.mfc-tile-img img { width: 100%; height: 100%; object-fit: contain; }
.mfc-t-app { background: linear-gradient(145deg, rgba(79, 70, 255, .4), rgba(79, 70, 255, .1)); border-color: rgba(99, 91, 255, .5); color: #CDD1FF; }
.mfc-t-tool { background: linear-gradient(145deg, rgba(233, 216, 255, .24), rgba(233, 216, 255, .06)); border-color: rgba(233, 216, 255, .3); color: var(--c-lav); }
.mfc-t-software { background: linear-gradient(145deg, rgba(59, 130, 246, .36), rgba(59, 130, 246, .08)); border-color: rgba(59, 130, 246, .5); color: #BBD3FF; }
.mfc-t-company { background: linear-gradient(145deg, rgba(147, 180, 251, .3), rgba(147, 180, 251, .07)); border-color: rgba(147, 180, 251, .45); color: #D6E4FF; }
.mfc-name { grid-area: name; min-width: 0; font: 700 17px/1.3 var(--c-display); letter-spacing: -.01em; color: var(--c-text); }
.mfc-kind { margin-left: 10px; font: 500 10.5px/1 var(--c-mono); letter-spacing: .09em; text-transform: uppercase; color: var(--c-text-3); vertical-align: 1px; }
.mfc-desc { grid-area: desc; font: 400 14px/1.5 var(--c-body); color: var(--c-text-2); text-wrap: pretty; }
.mfc-meta { display: contents; }
.mfc-topics { grid-area: topics; display: flex; flex-wrap: wrap; font: 400 13px/1.55 var(--c-body); color: var(--c-text-3); }
.mfc-topics span { white-space: nowrap; }
.mfc-topics span:not(:last-child)::after { content: "\00b7"; margin: 0 .5em; opacity: .6; }
.mfc-topics .on { color: var(--c-accent); }
.mfc-rating { grid-area: rating; display: flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.mfc-rating svg { flex: none; width: 13px; height: 13px; fill: var(--c-accent); }
.mfc-rating b { font: 700 15px/1 var(--c-display); color: var(--c-text); }
.mfc-rating small { font: 400 13px/1 var(--c-body); color: var(--c-text-3); }
.mfc-rating.mfc-none { font: 400 13px/1.4 var(--c-body); color: var(--c-text-3); }
.mfc-price { grid-area: price; font: 400 13.5px/1.4 var(--c-body); font-variant-numeric: tabular-nums; color: var(--c-text-2); }
.mfc-go { grid-area: go; justify-self: end; color: var(--c-text-3); transition: transform .2s, color .2s; }
.mfc-go svg { display: block; width: 16px; height: 16px; }
.mfc-row a:hover .mfc-go { transform: translateX(3px); color: var(--c-accent); }
.mfc-note { margin-top: 14px !important; font: 400 12.5px/1.6 var(--c-body); color: var(--c-text-3); }
.mfc-note a { color: var(--c-accent); border-bottom: 1px solid rgba(147, 180, 251, .4); }
.mfc-note a:hover { color: #fff; border-color: #fff; }
.mfc-src { color: var(--c-text-3); }
.mfc-more { margin-top: 18px !important; font: 500 12.5px/1 var(--c-mono); color: var(--c-text-3); }

/* business band */
.mfc-band { margin-top: 72px; }
.mfc-panel { display: grid; grid-template-columns: 1.25fr 1fr; overflow: hidden; border: 1px solid var(--c-line); border-radius: 18px; background: var(--c-glass); }
.mfc-work { padding: 40px; background: linear-gradient(135deg, rgba(79, 70, 255, .18), transparent 62%); }
.mfc-work h2 { margin-top: 14px; font-weight: 800; font-size: clamp(1.6rem, 1.25rem + 1.3vw, 2.1rem); line-height: 1.12; letter-spacing: -.03em; color: var(--c-text); }
.mfc-work p:not(.mfc-eyebrow) { max-width: 46ch; margin-top: 14px !important; color: var(--c-text-2); text-wrap: pretty; }
.mfc-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.mfc-checks { padding: 40px; border-left: 1px solid var(--c-line); }
.mfc-checks ol { margin-top: 18px; }
.mfc-checks li { display: flex; gap: 18px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--c-line); font: 500 15px/1.4 var(--c-body); color: var(--c-text); }
.mfc-checks li:first-child { border-top: 0; padding-top: 4px; }
.mfc-checks li i { flex: none; width: 22px; font: 500 12px/1 var(--c-mono); font-style: normal; color: var(--c-accent); }

/* The editable sections keep their own styling, but need room under the band. */
.mfcat-cat .bor-archive-folds, .mfcat-cat .bor-archive-faq { margin-top: 56px; }
.mfcat-cat .bor-archive-seo-content { margin-top: 56px; padding-bottom: 24px; }

@media (max-width: 959px) {
	.mfc-thead { display: none; }
	.mfc-row a { grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "tile name" "tile desc" "tile meta"; column-gap: 14px; row-gap: 6px; align-items: start; padding: 16px 14px; }
	.mfc-meta { grid-area: meta; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin-top: 2px; }
	.mfc-rating { order: 1; }
	.mfc-price { order: 2; text-align: right; white-space: nowrap; }
	.mfc-topics { order: 3; flex: 1 0 100%; font-size: 12.5px; }
	.mfc-go { display: none; }
	.mfc-panel { grid-template-columns: 1fr; }
	.mfc-checks { border-left: 0; border-top: 1px solid var(--c-line); }
	.mfc-work, .mfc-checks { padding: 28px 22px; }
}

@media (max-width: 759px) {
	.mfc-controls { gap: 12px; padding-block: 2px 18px; }
	.mfc-crow { display: block; }
	.mfc-clabel { display: none; }
	.mfc-seg { display: flex; width: 100%; overflow-x: auto; scrollbar-width: none; }
	.mfc-seg::-webkit-scrollbar, .mfc-chips::-webkit-scrollbar { display: none; }
	.mfc-seg button { flex: 1 0 auto; justify-content: center; }
	.mfc-chips { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--c-gutter) * -1); padding-inline: var(--c-gutter); scrollbar-width: none; }
	.mfc-chip { flex: none; }
	.mfc-ledger { gap: 8px 20px; }
	.mfc-ledger span:not(:last-child)::after { display: none; }
	.mfc-hero .mfc-wrap { padding-block: 26px 34px; }
	.mfc-crumbs { margin-bottom: 26px; }
	.mfc-band { margin-top: 52px; }
}

@media (prefers-reduced-motion: reduce) {
	.mfcat-cat *, .mfcat-cat *::before, .mfcat-cat *::after { animation: none !important; transition: none !important; }
}
