/*
 * SearchAxe blog: posts, the blog index and category pages, author pages.
 *
 * Loaded after landing.css and built from the same system: ink #0b1220, body
 * grey #5b6475, muted #667085, accent #4f46e5, the --g1/--g2/--g3 gradient,
 * 18px card radius, #f7f8fb bands, 1200px container. Only reading-specific
 * pieces are new: a ~68ch measure, 18px body text and a sticky sidebar.
 *
 * Every image has width and height attributes and nothing is injected above
 * the fold by script, so the page does not shift as it loads.
 */

/* --- Shared ------------------------------------------------------------ */

.sa-bp-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 28px;
}
.sa-bp-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.5;
	color: #667085;
}
.sa-bp-crumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 6px;
	color: #a0a8b8;
}
.sa-bp-crumbs a {
	color: #5b6475;
	font-weight: 600;
}
.sa-bp-crumbs a:hover {
	color: #4f46e5;
}
.sa-bp-crumbs [aria-current] {
	color: #667085;
}
.sa-bp-mobile-only,
.sa-bp-ctacard.sa-bp-mobile-only {
	display: none;
}
.sa-bp-ctacard-title {
	margin: 0;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: -.02em;
	font-weight: 800;
	color: #0b1220;
	text-wrap: balance;
}

/* --- Post header ------------------------------------------------------- */

.sa-bp-head {
	background: linear-gradient(180deg, #f7f8fb 0%, #fff 100%);
	border-bottom: 1px solid rgba(11, 18, 32, .06);
}
.sa-bp-headcol {
	max-width: 800px;
	padding: 48px 0 56px;
}
.sa-bp-eyebrow {
	display: inline-block;
	margin-top: 26px;
}
.sa-bp-eyebrow:hover {
	color: #2563eb;
}
.sa-bp-h1 {
	margin: 12px 0 0;
	font-size: clamp(32px, 4.4vw, 52px);
	line-height: 1.08;
	letter-spacing: -.035em;
	font-weight: 800;
	text-wrap: balance;
}
.sa-bp-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 28px;
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid rgba(11, 18, 32, .08);
}
.sa-bp-author {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #0b1220;
}
.sa-bp-author img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #eef0f6;
	object-fit: cover;
	flex-shrink: 0;
}
.sa-bp-author strong {
	display: block;
	font-size: 16px;
	line-height: 1.3;
}
.sa-bp-author > span > span {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	color: #5b6475;
}
.sa-bp-author:hover strong {
	color: #4f46e5;
}
.sa-bp-dates {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #667085;
}
.sa-bp-qa {
	margin-top: 32px;
	padding: 24px 26px;
	background: #fff;
	border: 1px solid rgba(79, 70, 229, .22);
	border-left: 4px solid #4f46e5;
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(79, 70, 229, .07);
}
.sa-bp-qa-title,
.sa-bp-takeaways-title,
.sa-bp-callout-label,
.sa-bp-toc-title,
.sa-bp-bio-label {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	color: #4f46e5;
}
.sa-bp-qa-text {
	margin: 8px 0 0;
	font-size: 18px;
	line-height: 1.65;
	color: #0b1220;
	text-wrap: pretty;
}
.sa-bp-takeaways {
	margin-top: 28px;
}
.sa-bp-takeaways .sa-lp-checks {
	margin-top: 14px;
}
.sa-bp-takeaways .sa-lp-checks li {
	font-size: 16.5px;
	line-height: 1.55;
}
.sa-bp-toc-mobile {
	display: none;
}

/* --- Article grid ------------------------------------------------------ */

.sa-bp-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 56px;
	padding-top: 56px;
	padding-bottom: 88px;
}
@media (min-width: 1000px) {
	.sa-bp-grid {
		grid-template-columns: minmax(0, 1fr) 300px;
		gap: 72px;
	}
	.sa-bp-side-inner {
		position: sticky;
		top: 96px;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
}
.sa-bp-main {
	max-width: 68ch;
	min-width: 0;
}

/* --- Body -------------------------------------------------------------- */

.sa-bp-body {
	font-size: 18px;
	line-height: 1.75;
	color: #2e3646;
}
.sa-bp-body > p,
.sa-bp-body > .sa-bp-list {
	margin: 0 0 22px;
	text-wrap: pretty;
}
.sa-bp-body a,
.sa-bp-faq a {
	color: #4f46e5;
	text-decoration: underline;
	text-decoration-color: rgba(79, 70, 229, .35);
	text-underline-offset: 3px;
}
.sa-bp-body a:hover {
	text-decoration-color: currentColor;
}
.sa-bp-body .sa-lp-btn-grad,
.sa-bp-body .sa-bp-inline-related a {
	text-decoration: none;
}
.sa-bp-body .sa-lp-btn-grad,
.sa-bp-body .sa-lp-btn-grad:hover {
	color: #fff;
}
.sa-bp-body strong {
	color: #0b1220;
}
.sa-bp-body code {
	padding: 2px 6px;
	font-size: .88em;
	background: #f1f2f7;
	border-radius: 6px;
}
.sa-bp-h2 {
	margin: 56px 0 18px;
	font-size: clamp(26px, 2.8vw, 32px);
	line-height: 1.2;
	letter-spacing: -.025em;
	font-weight: 800;
	color: #0b1220;
	text-wrap: balance;
	scroll-margin-top: 96px;
}
.sa-bp-body > .sa-bp-h2:first-child {
	margin-top: 0;
}
.sa-bp-h3 {
	margin: 34px 0 12px;
	font-size: 21px;
	line-height: 1.3;
	letter-spacing: -.015em;
	font-weight: 800;
	color: #0b1220;
	text-wrap: balance;
}
.sa-bp-list {
	padding-left: 22px;
}
.sa-bp-list li {
	margin-bottom: 10px;
	padding-left: 4px;
}
.sa-bp-list li::marker {
	color: #4f46e5;
}

/* Callouts: definition, example, data, and the first-hand experience box,
   which is the one that stands out. */
.sa-bp-callout {
	margin: 30px 0;
	padding: 22px 24px;
	background: #f7f8fb;
	border: 1px solid rgba(11, 18, 32, .07);
	border-radius: 14px;
}
.sa-bp-callout p {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
}
.sa-bp-callout .sa-bp-callout-label {
	margin-bottom: 6px;
	font-size: 14px;
	line-height: 1.4;
}
.sa-bp-definition {
	border-left: 4px solid #2563eb;
}
.sa-bp-definition .sa-bp-callout-label {
	color: #2563eb;
}
.sa-bp-example {
	background: #fff;
	border-style: dashed;
	border-color: rgba(11, 18, 32, .16);
}
.sa-bp-example .sa-bp-callout-label {
	color: #3d4657;
}
.sa-bp-data {
	background: #fff;
	border-left: 4px solid #7c3aed;
}
.sa-bp-data .sa-bp-callout-label {
	color: #6d28d9;
}
.sa-bp-callout .sa-bp-source {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.5;
	color: #667085;
}
.sa-bp-experience {
	position: relative;
	overflow: hidden;
	padding: 26px 26px 24px;
	color: #fff;
	background: #0b1220;
	border: 0;
	border-radius: 18px;
	box-shadow: 0 24px 50px rgba(11, 18, 32, .16);
}
.sa-bp-experience::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--g1), var(--g2), var(--g3));
}
.sa-bp-experience p {
	color: #dfe3ee;
}
.sa-bp-experience .sa-bp-callout-label {
	color: #b9b4ff;
}
.sa-bp-experience strong {
	color: #fff;
}
.sa-bp-experience a {
	color: #c7c3ff;
	text-decoration-color: rgba(199, 195, 255, .5);
}

/* Steps. */
.sa-bp-steps {
	margin: 30px 0;
}
.sa-bp-steps .sa-bp-h3 {
	margin-top: 0;
}
.sa-bp-steps ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: sa-step;
	display: grid;
	gap: 14px;
}
.sa-bp-steps li {
	position: relative;
	padding: 18px 20px 18px 64px;
	background: #fff;
	border: 1px solid rgba(11, 18, 32, .08);
	border-radius: 14px;
	counter-increment: sa-step;
}
.sa-bp-steps li::before {
	content: counter(sa-step);
	position: absolute;
	left: 18px;
	top: 18px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	font-size: 15px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--g1), var(--g3));
	border-radius: 50%;
}
.sa-bp-steps li > strong {
	display: block;
	font-size: 17px;
	line-height: 1.4;
	color: #0b1220;
}
.sa-bp-steps li > span {
	display: block;
	margin-top: 4px;
	font-size: 16.5px;
	line-height: 1.65;
	color: #5b6475;
}

/* Table: a scroll container with a sticky header row. */
.sa-bp-table {
	margin: 32px 0;
}
.sa-bp-table figcaption {
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: 700;
	color: #0b1220;
}
.sa-bp-table .sa-lp-scroll-hint {
	margin: 0 0 8px;
}
.sa-bp-table-scroll {
	position: relative;
	max-height: 560px;
	overflow: auto;
	border: 1px solid rgba(11, 18, 32, .1);
	border-radius: 14px;
	background: #fff;
	-webkit-overflow-scrolling: touch;
}
.sa-bp-table-scroll:focus-visible {
	outline: 3px solid rgba(79, 70, 229, .45);
	outline-offset: 2px;
}
.sa-bp-table table {
	width: 100%;
	min-width: 640px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 15px;
	line-height: 1.5;
}
.sa-bp-table th,
.sa-bp-table td {
	min-width: 140px;
	padding: 13px 16px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid rgba(11, 18, 32, .07);
}
.sa-bp-table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	font-size: 14px;
	font-weight: 800;
	color: #0b1220;
	background: #f7f8fb;
	box-shadow: 0 1px 0 rgba(11, 18, 32, .1);
}
.sa-bp-table tbody th {
	font-weight: 700;
	color: #0b1220;
}
.sa-bp-table td {
	color: #5b6475;
}
.sa-bp-table tbody tr:last-child > * {
	border-bottom: 0;
}
.sa-bp-table code {
	white-space: nowrap;
}

/* Quote. */
.sa-bp-quote {
	margin: 34px 0;
	padding: 4px 0 4px 26px;
	border-left: 3px solid;
	border-image: linear-gradient(180deg, var(--g1), var(--g3)) 1;
}
.sa-bp-quote blockquote {
	margin: 0;
}
.sa-bp-quote blockquote p {
	margin: 0;
	font-size: 21px;
	line-height: 1.55;
	letter-spacing: -.01em;
	font-weight: 700;
	color: #0b1220;
	text-wrap: pretty;
}
.sa-bp-quote figcaption {
	margin-top: 10px;
	font-size: 15px;
	color: #667085;
}

/* Image. */
.sa-bp-figure {
	margin: 32px 0;
}
.sa-bp-figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid rgba(11, 18, 32, .08);
	border-radius: 14px;
	background: #f7f8fb;
}
.sa-bp-figure figcaption {
	margin-top: 10px;
	font-size: 14.5px;
	line-height: 1.55;
	color: #667085;
}

/* Inline related link. */
.sa-bp-inline-related {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
	margin: 28px 0;
	padding: 16px 20px;
	border-top: 1px solid rgba(11, 18, 32, .1);
	border-bottom: 1px solid rgba(11, 18, 32, .1);
	font-size: 16.5px;
	line-height: 1.5;
}
.sa-bp-inline-related > span:first-child {
	font-size: 14px;
	font-weight: 800;
	color: #4f46e5;
}
.sa-bp-inline-related a {
	font-weight: 700;
	color: #0b1220;
}
.sa-bp-inline-related a:hover {
	color: #4f46e5;
}

/* Code. */
.sa-bp-code {
	margin: 28px 0;
	padding: 18px 20px;
	overflow-x: auto;
	font: 14.5px/1.65 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #e6e9f2;
	background: #0b1220;
	border-radius: 14px;
	tab-size: 2;
}
.sa-bp-code code {
	padding: 0;
	font-size: inherit;
	background: none;
	color: inherit;
}

/* Mid-article CTA. */
.sa-bp-midcta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin: 40px 0;
	padding: 24px 26px;
	background: linear-gradient(135deg, rgba(37, 99, 235, .06), rgba(124, 58, 237, .08));
	border: 1px solid rgba(79, 70, 229, .18);
	border-radius: 18px;
}
.sa-bp-midcta p {
	flex: 1 1 280px;
	margin: 0;
	font-size: 18px;
	line-height: 1.5;
	font-weight: 700;
	color: #0b1220;
	text-wrap: pretty;
}
.sa-bp-midcta .sa-lp-btn-grad {
	flex-shrink: 0;
	white-space: nowrap;
}

/* --- Sidebar ----------------------------------------------------------- */

.sa-bp-side {
	display: none;
}
@media (min-width: 1000px) {
	.sa-bp-side {
		display: block;
	}
}
.sa-bp-side-inner {
	display: grid;
	gap: 18px;
	padding-bottom: 4px;
}
.sa-bp-toc ol,
.sa-bp-toc-mobile ol {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 2px;
}
.sa-bp-toc a,
.sa-bp-toc-mobile a {
	display: block;
	padding: 7px 0 7px 14px;
	font-size: 14.5px;
	line-height: 1.4;
	font-weight: 600;
	color: #5b6475;
	border-left: 2px solid rgba(11, 18, 32, .1);
	transition: color .15s, border-color .15s;
}
.sa-bp-toc a:hover,
.sa-bp-toc-mobile a:hover {
	color: #0b1220;
}
.sa-bp-toc a.sa-active {
	color: #4f46e5;
	border-left-color: #4f46e5;
}
.sa-bp-ctacard {
	display: grid;
	gap: 10px;
	padding: 22px;
	background: #fff;
	border: 1px solid rgba(79, 70, 229, .2);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(79, 70, 229, .08);
}
.sa-bp-ctacard p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: #5b6475;
}
.sa-bp-ctacard .sa-bp-ctacard-title {
	font-size: 18px;
	color: #0b1220;
}
.sa-bp-ctacard .sa-lp-btn-grad {
	margin-top: 4px;
	padding: 12px 16px;
	font-size: 15px;
	white-space: nowrap;
}
.sa-bp-service {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px;
	background: #f7f8fb;
	border: 1px solid rgba(11, 18, 32, .07);
	border-radius: 18px;
	color: #0b1220;
	transition: border-color .2s;
}
.sa-bp-service:hover {
	color: #0b1220;
	border-color: rgba(79, 70, 229, .3);
}
.sa-bp-service .sa-lp-card-title {
	font-size: 17px;
	line-height: 1.3;
	font-weight: 800;
}
.sa-bp-service-blurb {
	font-size: 14.5px;
	line-height: 1.55;
	color: #5b6475;
}
.sa-bp-service .sa-lp-more {
	padding-top: 2px;
	font-size: 14.5px;
}

/* --- FAQ ------------------------------------------------------------------ */

.sa-bp-faq {
	margin-top: 56px;
}
.sa-bp-faq .sa-bp-h2 {
	margin: 0;
}
.sa-bp-faq .sa-lp-faq {
	margin-top: 22px;
}
.sa-bp-faq .sa-lp-faq-a p {
	font-size: 17px;
	line-height: 1.7;
}
/* --- Author bio -------------------------------------------------------- */

.sa-bp-bio {
	padding: 0 0 24px;
}
.sa-bp-bio-card {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	padding: 32px;
	background: #fff;
	border: 1px solid rgba(11, 18, 32, .08);
	border-radius: 22px;
	box-shadow: 0 24px 60px rgba(79, 70, 229, .08);
}
.sa-bp-bio-photo {
	width: 160px;
	height: 200px;
	object-fit: cover;
	object-position: top;
	border-radius: 16px;
	background: linear-gradient(160deg, #eef0fb, #e6e3fb);
}
.sa-bp-bio-name {
	margin: 6px 0 0;
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: -.025em;
	font-weight: 800;
}
.sa-bp-bio-name a {
	color: #0b1220;
}
.sa-bp-bio-name a:hover {
	color: #4f46e5;
}
.sa-bp-bio-title {
	margin: 6px 0 0;
	font-size: 15.5px;
	line-height: 1.5;
	font-weight: 600;
	color: #5b6475;
}
.sa-bp-bio-text {
	margin: 14px 0 0;
	font-size: 16.5px;
	line-height: 1.7;
	color: #3d4657;
	text-wrap: pretty;
}
.sa-bp-bio .sa-lp-btn-row {
	margin-top: 20px;
	gap: 10px;
}
.sa-bp-bio .sa-lp-btn-ghost {
	min-height: 44px;
	padding: 9px 16px;
	font-size: 15px;
}
.sa-bp-related-pages {
	margin-top: 18px;
}

/* --- End-of-post form -------------------------------------------------- */

.sa-bp-end {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #fff, #f4f3fc);
	border-top: 1px solid rgba(11, 18, 32, .06);
	scroll-margin-top: 72px;
}
.sa-bp-end-inner {
	position: relative;
	max-width: 760px;
	margin: 0 auto;
	padding: 96px 28px;
	text-align: center;
}
.sa-bp-end-inner > p {
	margin: 18px auto 0;
	max-width: 600px;
	font-size: 18px;
	line-height: 1.55;
	color: #5b6475;
	text-wrap: pretty;
}

/* --- Post cards (index, categories, author archive, keep reading) ------ */

.sa-bc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 26px 24px 22px;
	background: #fff;
	border: 1px solid rgba(11, 18, 32, .08);
	border-radius: 18px;
	color: #0b1220;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
a.sa-bc:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px rgba(11, 18, 32, .09);
	border-color: rgba(79, 70, 229, .3);
	color: #0b1220;
}
.sa-bc-title {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -.02em;
	font-weight: 800;
	color: #0b1220;
	text-wrap: pretty;
}
.sa-bc-excerpt {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.6;
	color: #5b6475;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.sa-bc-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
	font-size: 13.5px;
	line-height: 1.4;
	color: #667085;
}
.sa-bc-meta img {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #eef0f6;
	flex-shrink: 0;
}
.sa-bc-meta strong {
	display: block;
	font-size: 14px;
	color: #0b1220;
}
.sa-bc-featured {
	padding: 36px 36px 30px;
	background: linear-gradient(135deg, #fff 55%, #f4f3fc);
	border-color: rgba(79, 70, 229, .18);
}
.sa-bc-featured::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(90deg, var(--g1), var(--g2), var(--g3));
}
.sa-bc-featured .sa-bc-title {
	max-width: 820px;
	font-size: clamp(24px, 2.8vw, 34px);
	line-height: 1.15;
	letter-spacing: -.03em;
}
.sa-bc-featured .sa-bc-excerpt {
	max-width: 760px;
	font-size: 17px;
	-webkit-line-clamp: 4;
}
.sa-bc-featured + .sa-lp-grid {
	margin-top: 18px;
}
.sa-lp-grid > .sa-bc .sa-lp-slot {
	align-self: flex-start;
	margin-top: auto;
}

/* --- Blog index, category pages ---------------------------------------- */

.sa-blog-hero {
	max-width: 1200px;
	padding-top: 56px;
	padding-bottom: 64px;
}
.sa-blog-hero .sa-bp-crumbs {
	margin-bottom: 22px;
}
.sa-blog-hero .sa-lp-hero-desc {
	max-width: 780px;
}
.sa-bl-cats {
	position: relative;
	border-bottom: 1px solid rgba(11, 18, 32, .06);
	background: #fff;
}
.sa-bl-cats ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 18px 0;
	list-style: none;
}
.sa-bl-cats a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 16px;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.3;
	color: #3d4657;
	background: #fff;
	border: 1px solid rgba(11, 18, 32, .12);
	border-radius: 999px;
	white-space: nowrap;
	transition: border-color .2s, color .2s, background .2s;
}
.sa-bl-cats a:hover {
	color: #4f46e5;
	border-color: rgba(79, 70, 229, .35);
}
.sa-bl-cats a[aria-current] {
	color: #fff;
	background: #0b1220;
	border-color: #0b1220;
}
.sa-bl-cats-inline {
	border: 0;
	background: none;
}
.sa-bl-cats-inline ul {
	padding: 24px 0 0;
}
.sa-bl-list {
	padding-top: 56px;
}
.sa-bl-list .sa-lp-grid {
	margin-top: 18px;
}
.sa-bl-list > .sa-lp-wrap > .sa-lp-grid:first-child {
	margin-top: 0;
}
.sa-bl-pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}
.sa-bl-pager a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	font-weight: 700;
	color: #0b1220;
	border: 1px solid rgba(11, 18, 32, .12);
	border-radius: 12px;
}
.sa-bl-pager a:hover {
	border-color: rgba(79, 70, 229, .35);
	color: #4f46e5;
}
.sa-bl-pager a[aria-current] {
	color: #fff;
	background: #4f46e5;
	border-color: #4f46e5;
}
.sa-blog-empty {
	padding: 44px 40px;
	text-align: center;
	background: #f7f8fb;
	border: 1px dashed rgba(11, 18, 32, .16);
	border-radius: 22px;
}
.sa-blog-empty p {
	margin: 14px auto 0;
	max-width: 620px;
	font-size: 17px;
	line-height: 1.6;
	color: #5b6475;
}
.sa-blog-empty .sa-bp-ctacard-title {
	margin-top: 0;
	font-size: 22px;
	color: #0b1220;
}
.sa-blog-empty .sa-lp-btn-row {
	justify-content: center;
}
.sa-au-articles .sa-blog-empty {
	margin-top: 32px;
}
.sa-bl-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 32px;
	margin-top: 48px;
	padding: 30px 32px;
	background: linear-gradient(135deg, rgba(37, 99, 235, .06), rgba(124, 58, 237, .08));
	border: 1px solid rgba(79, 70, 229, .18);
	border-radius: 22px;
}
.sa-bl-cta > div {
	flex: 1 1 380px;
}
.sa-bl-cta .sa-bp-ctacard-title,
.sa-bl-cta p.sa-bp-ctacard-title {
	margin: 0;
	font-size: 22px;
	color: #0b1220;
}
.sa-bl-cta p {
	margin: 8px 0 0;
	font-size: 16.5px;
	line-height: 1.6;
	color: #5b6475;
}
.sa-bl-cta .sa-lp-btn-grad {
	white-space: nowrap;
}

/* --- Author page ------------------------------------------------------- */

.sa-au-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 56px;
	align-items: end;
	padding-top: 56px;
}
.sa-au-headtext {
	padding-bottom: 64px;
}
.sa-au-headtext .sa-bp-crumbs {
	margin-bottom: 22px;
}
.sa-au-title {
	margin: 16px 0 0;
	font-size: 19px;
	line-height: 1.5;
	font-weight: 600;
	color: #5b6475;
}
.sa-au-loc {
	margin: 6px 0 0;
	font-size: 15px;
	color: #667085;
}
.sa-au-profiles {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}
.sa-au-profiles a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 9px 16px;
	font-size: 15px;
	font-weight: 700;
	color: #0b1220;
	background: #fff;
	border: 1px solid rgba(11, 18, 32, .12);
	border-radius: 12px;
}
.sa-au-profiles a:hover {
	color: #4f46e5;
	border-color: rgba(79, 70, 229, .35);
}
.sa-au-photo {
	align-self: end;
	aspect-ratio: 4 / 5;
	border-radius: 22px 22px 0 0;
	overflow: hidden;
	background: linear-gradient(160deg, #e9ebfb, #ddd8fb 70%, #cfc8f8);
}
.sa-au-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}
.sa-au-grid {
	display: grid;
	grid-template-columns: minmax(0, 68ch) minmax(0, 1fr);
	gap: 72px;
	align-items: start;
}
.sa-au-bio .sa-lp-h2 {
	margin-bottom: 20px;
}
.sa-au-bio p {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 1.75;
	color: #2e3646;
	text-wrap: pretty;
}
.sa-au-side {
	padding: 28px;
	background: #f7f8fb;
	border: 1px solid rgba(11, 18, 32, .06);
	border-radius: 18px;
}
.sa-au-side-h {
	margin: 0;
	font-size: 15px;
	font-weight: 800;
	color: #4f46e5;
}
.sa-au-side-h + * {
	margin-top: 14px;
}
.sa-au-side * + .sa-au-side-h {
	margin-top: 30px;
}
.sa-au-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 18px;
}
.sa-au-timeline li {
	position: relative;
	padding-left: 22px;
}
.sa-au-timeline li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--g1), var(--g3));
}
.sa-au-timeline li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 20px;
	bottom: -14px;
	width: 2px;
	background: rgba(79, 70, 229, .18);
}
.sa-au-timeline p {
	margin: 0;
}
.sa-au-when {
	font-size: 13.5px;
	font-weight: 700;
	color: #667085;
}
.sa-au-role {
	margin-top: 2px !important;
	font-size: 16px;
	line-height: 1.4;
	color: #0b1220;
}
.sa-au-detail {
	margin-top: 4px !important;
	font-size: 14.5px;
	line-height: 1.55;
	color: #5b6475;
}
.sa-au-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sa-au-tags a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 6px 13px;
	font-size: 14px;
	font-weight: 700;
	color: #4f46e5;
	background: rgba(79, 70, 229, .08);
	border: 1px solid rgba(79, 70, 229, .18);
	border-radius: 999px;
}
.sa-au-tags a:hover {
	background: rgba(79, 70, 229, .14);
	color: #4338ca;
}
.sa-au-sechead {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}
.sa-au-cs {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 18px;
}
.sa-au-articles .sa-lp-grid {
	margin-top: 28px;
}
.sa-au-contact {
	padding-top: 0;
}
.sa-au-contact .sa-bl-cta {
	margin-top: 72px;
}

/* --- Breakpoints ------------------------------------------------------- */

@media (max-width: 999px) {
	.sa-bp-ctacard.sa-bp-mobile-only {
		display: grid;
		margin: 32px 0;
	}
	.sa-bp-toc-mobile {
		display: block;
		margin-top: 24px;
		background: #fff;
		border: 1px solid rgba(11, 18, 32, .1);
		border-radius: 14px;
	}
	.sa-bp-toc-mobile summary {
		position: relative;
		padding: 14px 48px 14px 18px;
		font-size: 15px;
		font-weight: 800;
		color: #0b1220;
		cursor: pointer;
		list-style: none;
	}
	.sa-bp-toc-mobile summary::-webkit-details-marker {
		display: none;
	}
	.sa-bp-toc-mobile summary::after {
		content: "";
		position: absolute;
		right: 18px;
		top: 50%;
		width: 9px;
		height: 9px;
		margin-top: -7px;
		border-right: 2px solid #4f46e5;
		border-bottom: 2px solid #4f46e5;
		transform: rotate(45deg);
		transition: transform .2s;
	}
	.sa-bp-toc-mobile[open] summary::after {
		margin-top: -2px;
		transform: rotate(-135deg);
	}
	.sa-bp-toc-mobile ol {
		margin: 0;
		padding: 0 18px 14px;
	}
	.sa-bp-main {
		max-width: 720px;
	}
	.sa-au-head {
		grid-template-columns: minmax(0, 1fr) 260px;
		gap: 36px;
	}
	.sa-au-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}
	.sa-au-bio {
		max-width: 720px;
	}
}

@media (max-width: 760px) {
	.sa-bp-headcol {
		padding: 28px 0 40px;
	}
	.sa-bp-eyebrow {
		margin-top: 20px;
	}
	.sa-bp-byline {
		margin-top: 22px;
		padding-top: 18px;
	}
	.sa-bp-qa {
		margin-top: 24px;
		padding: 20px;
	}
	.sa-bp-qa-text {
		font-size: 17px;
	}
	.sa-bp-grid {
		padding-top: 40px;
		padding-bottom: 64px;
	}
	.sa-bp-body {
		font-size: 17px;
		line-height: 1.72;
	}
	.sa-bp-h2 {
		margin-top: 44px;
	}
	.sa-bp-quote blockquote p {
		font-size: 19px;
	}
	.sa-bp-steps li {
		padding: 16px 16px 16px 58px;
	}
	.sa-bp-steps li::before {
		left: 14px;
		top: 16px;
	}
	.sa-bp-midcta {
		padding: 20px;
	}
	.sa-bp-midcta .sa-lp-btn-grad {
		width: 100%;
		white-space: normal;
	}
	.sa-bp-bio-card {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 24px 20px;
	}
	.sa-bp-bio-photo {
		width: 112px;
		height: 140px;
	}
	.sa-bp-bio-name {
		font-size: 24px;
	}
	.sa-bp-end-inner {
		padding: 72px 18px;
	}
	.sa-bc-featured {
		padding: 28px 22px 22px;
	}
	.sa-bl-cats ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 14px 18px;
		margin: 0 -18px;
		scrollbar-width: none;
		scroll-padding: 0 18px;
	}
	.sa-bl-cats ul::-webkit-scrollbar {
		display: none;
	}
	.sa-bl-cats-inline ul {
		padding-top: 20px;
	}
	.sa-blog-hero {
		padding-top: 36px;
		padding-bottom: 44px;
	}
	.sa-bl-list {
		padding-top: 36px;
	}
	.sa-blog-empty {
		padding: 32px 20px;
	}
	.sa-bl-cta {
		padding: 24px 20px;
	}
	.sa-bl-cta .sa-lp-btn-grad {
		width: 100%;
		white-space: normal;
	}
	.sa-au-head {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-top: 32px;
	}
	.sa-au-headtext {
		padding-bottom: 0;
	}
	.sa-au-photo {
		width: min(100%, 300px);
	}
	.sa-au-side {
		padding: 22px 20px;
	}
	.sa-au-bio p {
		font-size: 17px;
		line-height: 1.72;
	}
	/* Room for the sticky bar so it never covers the footer. */
	body.sa-blog-post footer {
		padding-bottom: 76px;
	}
	/* Off-screen sticky bar is also hidden from capture and assistive tech. */
	body.sa-blog .sa-lp-sticky:not(.sa-on) {
		visibility: hidden;
		transition: transform .25s ease, visibility 0s linear .25s;
	}
}

@media (max-width: 560px) {
	.sa-bp-wrap {
		padding-left: 18px;
		padding-right: 18px;
	}
	.sa-bp-callout,
	.sa-bp-experience {
		padding: 20px 18px;
	}
	.sa-bp-code {
		margin-left: -18px;
		margin-right: -18px;
		border-radius: 0;
	}
}

/* --- Print ------------------------------------------------------------- */

@media print {
	header[data-nav],
	.sa-foot,
	footer,
	.sa-bp-side,
	.sa-bp-toc-mobile,
	.sa-bp-midcta,
	.sa-bp-mobile-only,
	.sa-bp-end,
	.sa-lp-sticky,
	.sa-lp-preview-bar,
	.sa-tm,
	.sa-bp-bio .sa-lp-btn-row,
	.sa-bp-bio ~ .sa-lp-section,
	.sa-bp-bio ~ section {
		display: none !important;
	}
	.sa-bp-head,
	.sa-bp-qa,
	.sa-bp-experience {
		background: none !important;
		box-shadow: none !important;
	}
	.sa-bp-experience,
	.sa-bp-experience p,
	.sa-bp-experience strong {
		color: #000 !important;
		border: 1px solid #999;
	}
	.sa-bp-grid {
		display: block;
		padding: 0;
	}
	.sa-bp-main {
		max-width: none;
	}
	.sa-bp-body {
		font-size: 12pt;
		color: #000;
	}
	.sa-bp-body a::after {
		content: " (" attr(href) ")";
		font-size: 9pt;
		color: #555;
	}
	.sa-bp-table-scroll {
		max-height: none;
		overflow: visible;
	}
	.sa-bp-h2,
	.sa-bp-h3 {
		break-after: avoid;
	}
	.sa-bp-callout,
	.sa-bp-table,
	.sa-bp-figure,
	.sa-bp-steps li {
		break-inside: avoid;
	}
	html.sa-anim [data-reveal]:not(.sa-in) {
		opacity: 1 !important;
		transform: none !important;
	}
}
