:root {
	--wba-navy: #081c34;
	--wba-navy-2: #102c4c;
	--wba-blue: #38b6ff;
	--wba-ink: #172231;
	--wba-muted: #647082;
	--wba-paper: #f6f7f9;
	--wba-white: #ffffff;
	--wba-line: #dde3ea;
	--wba-soft: #eef4f8;
	--wba-radius: 20px;
	--wba-wide: 1440px;
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

.wp-site-blocks {
	padding: 0;
}

.wba-site-header {
	position: relative;
	z-index: 1;
	background: rgba(8, 28, 52, .97);
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	backdrop-filter: blur(10px);
}

body.admin-bar .wba-site-header {
	top: auto;
}

.wba-header-inner {
	min-height: 72px;
}

.wba-site-logo img {
	width: 108px !important;
	height: auto !important;
	max-height: 52px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.wba-primary-nav,
.wba-primary-nav a,
.wba-primary-nav button {
	color: #fff;
}

.wba-primary-nav .wp-block-navigation-item__content {
	padding-top: 24px;
	padding-bottom: 24px;
}

.wba-primary-nav a:hover,
.wba-primary-nav button:hover {
	color: var(--wba-blue);
}

.wba-primary-nav .wp-block-navigation__submenu-container {
	min-width: 220px !important;
	padding: 10px !important;
	background: #fff !important;
	color: var(--wba-ink) !important;
	border: 0 !important;
	border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(9, 27, 49, .18) !important;
}

.wba-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 12px !important;
	border-radius: 10px;
	color: var(--wba-ink) !important;
}

.wba-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wba-soft);
	color: var(--wba-navy) !important;
}

/* Fixed-size Articles + / X icon. Only the two internal lines rotate. */
.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	margin-left: 8px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
}

.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon svg {
	display: none;
}

.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon::before,
.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 1px;
	background: currentColor;
	transform-origin: center;
	transition: transform .18s ease;
}

.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon::before {
	transform: translate(-50%, -50%);
}

.wba-primary-nav .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.wba-primary-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation__submenu-icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-primary-nav .wp-block-navigation-submenu__toggle[aria-expanded="true"] .wp-block-navigation__submenu-icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wba-hero {
	min-height: 760px;
}

.wba-hero .wp-block-cover__image-background {
	object-position: center;
}

.wba-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(
		90deg,
		rgba(8, 28, 52, .88) 0%,
		rgba(8, 28, 52, .82) 28%,
		rgba(8, 28, 52, .52) 48%,
		rgba(8, 28, 52, .15) 68%,
		rgba(8, 28, 52, .05) 100%
	) !important;
}

.wba-hero.is-style-wba-fade-soft .wp-block-cover__background {
	background: linear-gradient(
		90deg,
		rgba(8, 28, 52, .75) 0%,
		rgba(8, 28, 52, .62) 34%,
		rgba(8, 28, 52, .25) 66%,
		rgba(8, 28, 52, .03) 100%
	) !important;
}

.wba-hero.is-style-wba-fade-strong .wp-block-cover__background {
	background: linear-gradient(
		90deg,
		rgba(8, 28, 52, .96) 0%,
		rgba(8, 28, 52, .90) 36%,
		rgba(8, 28, 52, .60) 62%,
		rgba(8, 28, 52, .15) 100%
	) !important;
}

.wba-hero-inner {
	width: min(var(--wba-wide), calc(100% - 36px));
	min-height: 760px;
	margin: 0 auto;
	display: flex;
	align-items: center;
}

.wba-hero-copy {
	max-width: 650px;
	padding: 58px 0;
}

.wba-hero-title {
	margin: 18px 0 20px;
	color: #fff !important;
	font-size: clamp(4rem, 7.2vw, 6.5rem) !important;
	line-height: .92 !important;
	letter-spacing: -.05em !important;
}

.wba-hero-description {
	max-width: 570px;
	margin: 0 0 28px;
	color: #d8e2ee !important;
	font-size: 1.125rem;
}

.wba-eyebrow {
	display: inline-block;
	margin: 0;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #cde5ff !important;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .69rem !important;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wba-section-label {
	margin: 0 0 8px;
	color: #0a8ed8 !important;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .75rem !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wba-hero-buttons {
	margin-bottom: 38px;
}

.wba-hero-buttons .wp-block-button:first-child .wp-block-button__link {
	background: #fff;
	color: var(--wba-navy);
}

.wba-hero-buttons .is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, .28);
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.wba-hero-stats {
	max-width: 650px;
}

.wba-stat {
	min-height: 102px;
	padding: 16px 18px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px;
	background: rgba(255, 255, 255, .08);
	backdrop-filter: blur(4px);
}

.wba-stat-number {
	margin: 0;
	color: #fff !important;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 2.1rem !important;
	font-weight: 600;
	line-height: 1;
}

.wba-stat-label {
	margin: 5px 0 0;
	color: #d4dfec !important;
	font-size: .75rem !important;
	line-height: 1.35;
}

.wba-section {
	padding-top: clamp(4.25rem, 7vw, 5.5rem);
	padding-bottom: clamp(4.25rem, 7vw, 5.5rem);
	border-bottom: 1px solid var(--wba-line);
}

.wba-section-heading {
	margin: 0;
	font-size: clamp(2.65rem, 4.6vw, 3.9rem) !important;
	line-height: .98 !important;
	letter-spacing: -.04em !important;
}

.wba-section-intro {
	max-width: 650px;
	margin-top: 12px;
	color: var(--wba-muted);
	font-size: 1.05rem;
}

.wba-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wba-line);
	border-radius: var(--wba-radius);
	background: #fff;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.wba-card:hover {
	transform: translateY(-2px);
	border-color: #cbd5df;
	box-shadow: 0 10px 28px rgba(23, 34, 49, .08);
}

.wba-card-image {
	margin: 0 !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.wba-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-card-copy {
	padding: 20px 20px 22px;
}

.wba-card-title {
	margin: 0 0 10px;
	font-size: 1.95rem !important;
	line-height: 1.04 !important;
	letter-spacing: -.025em !important;
}

.wba-card-copy p {
	color: var(--wba-muted);
	font-size: .9rem;
}

.wba-text-link,
.wba-text-link a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--wba-navy);
	font-size: .75rem !important;
	font-weight: 700;
	text-decoration: none;
}

.wba-text-link a::after {
	content: "→";
	color: var(--wba-blue);
}

.wba-latest-grid {
	align-items: stretch !important;
}

.wba-feature-query,
.wba-feature-query .wp-block-post-template,
.wba-feature-query .wp-block-post {
	height: 100%;
	margin: 0;
}

.wba-feature-post {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wba-line);
	border-radius: var(--wba-radius);
	background: #fff;
}

.wba-feature-post .wp-block-post-featured-image {
	height: 100%;
	min-height: 460px;
	margin: 0;
}

.wba-feature-post .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-feature-copy {
	padding: 28px;
}

.wba-post-meta,
.wba-post-meta a {
	color: #0a8ed8;
	font-size: .7rem !important;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
}

.wba-feature-title {
	margin: 12px 0 14px;
	font-size: clamp(2.4rem, 4vw, 3.25rem) !important;
	line-height: .98 !important;
	letter-spacing: -.035em !important;
}

.wba-feature-copy .wp-block-post-excerpt__excerpt {
	color: var(--wba-muted);
}

.wba-feature-copy .wp-block-post-excerpt__more-link {
	color: var(--wba-navy);
	font-size: .75rem;
	font-weight: 700;
	text-decoration: none;
}

.wba-feature-copy .wp-block-post-excerpt__more-link::after {
	content: " →";
	color: var(--wba-blue);
}

.wba-mini-query .wp-block-post-template {
	display: grid;
	gap: 14px;
	margin: 0;
}

.wba-mini-post {
	min-height: 126px;
	overflow: hidden;
	border: 1px solid var(--wba-line);
	border-radius: 18px;
	background: #fff;
	transition: transform .15s ease, box-shadow .15s ease;
}

.wba-mini-post:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(23, 34, 49, .07);
}

.wba-mini-post .wp-block-post-featured-image {
	width: 132px;
	min-width: 132px;
	height: 126px;
	margin: 0;
}

.wba-mini-post .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-mini-copy {
	padding: 14px 16px 14px 18px;
}

.wba-mini-title {
	margin: 6px 0 8px;
	font-size: 1.38rem !important;
	line-height: 1.07 !important;
	letter-spacing: -.02em !important;
}

.wba-report-card .wba-card-image {
	aspect-ratio: 4 / 3;
}

.wba-brand-cover {
	min-height: 330px;
	overflow: hidden;
	border-radius: var(--wba-radius);
}

.wba-brand-cover .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(8, 28, 52, .12), rgba(8, 28, 52, .84)) !important;
	opacity: 1 !important;
}

.wba-brand-cover .wp-block-cover__inner-container {
	height: 100%;
	display: flex;
	align-items: end;
}

.wba-brand-copy {
	width: 100%;
	padding: 22px;
}

.wba-brand-title,
.wba-brand-title a {
	margin: 0 0 10px;
	color: #fff !important;
	font-size: 2.65rem !important;
	text-decoration: none;
}

.wba-brand-copy p {
	color: #d5dfeb !important;
	font-size: .9rem;
}

.wba-brand-copy .wba-text-link a {
	color: #fff !important;
}

.wba-method-band {
	padding: 28px;
	border-radius: 24px;
	background: var(--wba-navy);
	color: #fff;
}

.wba-method-step {
	min-height: 180px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	background: rgba(255, 255, 255, .06);
}

.wba-step-number {
	margin: 0;
	color: #8fd2ff !important;
	font-size: .75rem !important;
	font-weight: 700;
}

.wba-method-step h3 {
	margin: 18px 0 8px;
	color: #fff !important;
	font-size: 1.75rem !important;
}

.wba-method-step p {
	margin: 0;
	color: #cfdae8 !important;
	font-size: .88rem;
}

.wba-about-grid {
	align-items: stretch !important;
}

.wba-about-image {
	height: 100%;
	min-height: 430px;
	margin: 0 !important;
	overflow: hidden;
	border-radius: var(--wba-radius);
}

.wba-about-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-about-copy {
	height: 100%;
	padding: 30px;
	border: 1px solid var(--wba-line);
	border-radius: var(--wba-radius);
	background: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.wba-about-title {
	margin: 10px 0 18px;
	font-size: clamp(2.8rem, 5vw, 3.6rem) !important;
	line-height: .96 !important;
}

.wba-about-lead {
	margin: 0 0 14px;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 1.6rem !important;
	line-height: 1.28;
}

.wba-about-copy > p:not(.wba-about-lead):not(.wba-section-label) {
	color: var(--wba-muted);
}

.wba-about-mobile-label {
	display: none;
}

.wba-site-footer {
	padding-top: 48px;
	padding-bottom: 20px;
	background: var(--wba-navy);
	color: #fff;
}

.wba-footer-logo img {
	width: 108px !important;
	height: auto !important;
	max-height: 54px;
	filter: brightness(0) invert(1);
}

.wba-site-footer p,
.wba-site-footer a {
	color: #ced8e4;
	font-size: .88rem;
	text-decoration: none;
}

.wba-site-footer a:hover {
	color: var(--wba-blue);
}

.wba-footer-heading {
	margin: 0 0 12px;
	color: #91d5ff !important;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wba-footer-bottom {
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: #9fb0c4 !important;
	font-size: .72rem !important;
}

.wba-page-main,
.wba-archive-main,
.wba-single-main {
	padding-top: clamp(3.5rem, 6vw, 5rem);
	padding-bottom: clamp(4rem, 7vw, 6rem);
}

.wba-single-header {
	margin-bottom: 2.25rem;
}

.wba-single-title {
	margin-top: .5rem;
	margin-bottom: 1rem;
	font-size: clamp(2.75rem, 6vw, 5rem) !important;
	line-height: .98 !important;
}

.wba-single-meta {
	color: var(--wba-muted);
	font-size: .85rem;
}

.wba-single-featured {
	overflow: hidden;
	border-radius: var(--wba-radius);
}

.wba-single-featured img {
	width: 100%;
	max-height: 720px;
	object-fit: cover;
}

.wba-single-content {
	font-size: 1.075rem;
}



.wba-single-content > h2,
.wba-single-content > section > h2 {
	margin-top: 1.7em;
	font-size: clamp(2rem, 4vw, 3rem);
}

.wba-single-content > h3,
.wba-single-content > section > h3 {
	margin-top: 1.5em;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
}



.wba-archive-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.wba-archive-card {
	overflow: hidden;
	border: 1px solid var(--wba-line);
	border-radius: 18px;
	background: #fff;
}

.wba-archive-card .wp-block-post-featured-image {
	margin: 0;
	aspect-ratio: 4 / 3;
}

.wba-archive-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-archive-copy {
	padding: 20px;
}

.wba-archive-title {
	margin: 8px 0 10px;
	font-size: 1.7rem !important;
	line-height: 1.08 !important;
}

.wba-pagination {
	margin-top: 2.5rem;
}

.wba-comments {
	margin-top: 4rem;
	padding-top: 2rem;
	border-top: 1px solid var(--wba-line);
}

.elementor-page .wp-block-post-content {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.elementor-page .wba-page-main {
	padding-top: 0;
	padding-bottom: 0;
}

/* Editor */
.editor-styles-wrapper {
	background: var(--wba-paper);
	color: var(--wba-ink);
	font-family: "DM Sans", Arial, sans-serif;
}

.editor-styles-wrapper .wba-site-header {
	position: relative;
	top: 0;
}

@media (max-width: 1100px) {
	.wba-header-inner,
	.wba-hero-inner {
		width: min(100% - 32px, var(--wba-wide));
	}

	.wba-mini-post .wp-block-post-featured-image {
		width: 116px;
		min-width: 116px;
	}
}

@media (max-width: 980px) {
	body.admin-bar .wba-site-header {
		top: auto;
	}

	.wba-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--wba-navy) !important;
		color: #fff !important;
		padding: 78px 24px 28px;
	}

	.wba-primary-nav .wp-block-navigation__responsive-container-close {
		top: 24px;
		right: 24px;
		color: #fff;
	}

	.wba-primary-nav .wp-block-navigation__responsive-container-content {
		align-items: flex-start !important;
	}

	.wba-primary-nav .wp-block-navigation__container {
		width: 100%;
		align-items: flex-start !important;
	}

	.wba-primary-nav .wp-block-navigation-item__content {
		padding: 10px 0;
		font-size: 1.15rem;
	}

	.wba-primary-nav .wp-block-navigation__submenu-container {
		position: static !important;
		width: 100% !important;
		min-width: 0 !important;
		padding: 6px 0 6px 14px !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.wba-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		color: #d7e1ec !important;
		font-size: .98rem;
	}

	.wba-hero,
	.wba-hero-inner {
		min-height: 680px;
	}

	.wba-hero-title,
	.wba-section-heading,
	.wba-card-title,
	.wba-feature-title,
	.wba-mini-title,
	.wba-brand-title,
	.wba-brand-title a,
	.wba-about-title {
		letter-spacing: -.018em !important;
		line-height: 1.04 !important;
	}

	.wba-hero .wp-block-cover__background {
		background: linear-gradient(
			90deg,
			rgba(8, 28, 52, .92) 0%,
			rgba(8, 28, 52, .78) 55%,
			rgba(8, 28, 52, .30) 100%
		) !important;
	}

	.wba-hero-stats {
		max-width: 420px;
	}

	.wba-about-mobile-label {
		display: block;
		margin-bottom: -6px;
	}

	.wba-about-desktop-label {
		display: none;
	}

	.wba-about-image {
		min-height: 360px;
	}

	.wba-method-band {
		padding: 22px;
	}

	.wba-archive-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.wba-feature-post > .wp-block-columns {
		display: block;
	}

	.wba-feature-post .wp-block-post-featured-image {
		min-height: 320px;
		aspect-ratio: 16 / 10;
	}

	.wba-method-grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wba-footer-grid {
		display: grid !important;
		grid-template-columns: 1.4fr 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.wba-header-inner,
	.wba-hero-inner {
		width: min(100% - 24px, var(--wba-wide));
	}

	.wba-site-logo img {
		width: 98px !important;
	}

	.wba-hero,
	.wba-hero-inner {
		min-height: 620px;
	}

	.wba-hero-copy {
		padding: 42px 0;
	}

	.wba-hero-title {
		font-size: clamp(3.3rem, 15vw, 4.2rem) !important;
		line-height: 1 !important;
	}

	.wba-hero-description {
		font-size: 1rem;
	}

	.wba-hero-stats {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 10px !important;
		max-width: 390px;
	}

	.wba-stat {
		min-height: auto;
		padding: 13px 16px;
	}

	.wba-section {
		padding-top: 4.25rem;
		padding-bottom: 4.25rem;
	}

	.wba-section-heading {
		font-size: 2.65rem !important;
		line-height: 1.04 !important;
	}

	.wba-mini-post .wp-block-post-featured-image {
		width: 106px;
		min-width: 106px;
		height: 122px;
	}

	.wba-mini-copy {
		padding: 13px 12px 13px 14px;
	}

	.wba-mini-title {
		font-size: 1.15rem !important;
	}

	.wba-method-grid {
		grid-template-columns: 1fr;
	}

	.wba-method-step {
		min-height: 150px;
	}

	.wba-about-image {
		min-height: 320px;
	}

	.wba-about-copy {
		padding: 24px;
	}

	.wba-about-title {
		font-size: 2.8rem !important;
	}

	.wba-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.wba-footer-about {
		grid-column: 1 / -1;
	}

	.wba-archive-grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 420px) {
	.wba-mini-post {
		display: block !important;
	}

	.wba-mini-post .wp-block-post-featured-image {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	.wba-footer-grid {
		grid-template-columns: 1fr;
	}

	.wba-footer-about {
		grid-column: auto;
	}
}

/* 0.1.3 — corrected flow layout and spacing system. */

:root {
	--wba-page-gutter: clamp(24px, 4vw, 64px);
	--wba-section-space: clamp(64px, 6.2vw, 96px);
	--wba-section-space-mobile: 52px;
	--wba-grid-gap: clamp(20px, 1.8vw, 30px);
	--wba-card-padding: clamp(20px, 1.6vw, 28px);
}

/* Remove the template-level gap between header, page content and footer. */
:where(.wp-site-blocks) > *,
.wp-block-post-content,
.wp-block-post-content > .alignfull:first-child,
.wp-block-post-content > .wba-hero:first-child {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* The visual homepage is full-width. Its inner flow containers define width. */
.wp-block-post-content .wba-section,
.wp-block-post-content .wba-hero {
	width: 100% !important;
	max-width: none !important;
}

.wba-header-inner,
.wba-hero-inner,
.wba-section > .alignwide,
.wba-section > .wp-block-group.alignwide,
.wba-site-footer > .alignwide {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 1440px) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

/*
 * Defensive override for the already-inserted 0.1.0 homepage.
 * Newly inserted 0.1.3 patterns no longer use constrained Groups, but this
 * lets the existing page expand before it is replaced.
 */
.wba-section > .is-layout-constrained,
.wba-feature-post.is-layout-constrained,
.wba-card.is-layout-constrained,
.wba-about-copy.is-layout-constrained,
.wba-brand-copy.is-layout-constrained {
	--wp--style--global--content-size: 100% !important;
	--wp--style--global--wide-size: 100% !important;
}

.wba-section > .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wba-feature-post.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wba-card.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wba-about-copy.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wba-brand-copy.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Header */
.wba-header-inner {
	min-height: 70px;
	gap: 28px;
}

.wba-primary-nav {
	gap: 28px;
}

/*
 * Fixed circular + / X button.
 * WordPress places both classes on the same button element; the earlier
 * selector incorrectly expected a nested element.
 */
.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle {
	position: relative !important;
	display: inline-block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	flex: 0 0 18px !important;
	margin: 0 0 0 8px !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, .58) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: inherit !important;
	transform: none !important;
	vertical-align: middle;
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle svg {
	display: none !important;
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle::before,
.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 1px;
	background: currentColor;
	transform-origin: 50% 50%;
	transition: transform .18s ease;
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle::before {
	transform: translate(-50%, -50%);
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle[aria-expanded="true"]::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-primary-nav button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle[aria-expanded="true"]::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* Hero */
.wba-hero,
.wba-hero-inner {
	min-height: clamp(650px, 72vh, 760px);
}

.wba-hero-copy {
	padding-top: clamp(56px, 7vh, 86px);
	padding-bottom: clamp(56px, 7vh, 86px);
}

.wba-hero-title {
	max-width: 760px;
}

.wba-hero-description {
	margin-bottom: 26px;
}

.wba-hero-buttons {
	margin-bottom: 34px;
}

.wba-hero-stats {
	gap: 14px !important;
}

/* Shared section rhythm */
.wba-section {
	padding-top: var(--wba-section-space);
	padding-bottom: var(--wba-section-space);
}

.wba-section-label {
	margin-bottom: 10px;
}

.wba-section-heading {
	max-width: 920px;
	margin-bottom: 0;
}

.wba-section-intro {
	margin-top: 14px;
	margin-bottom: 0;
}

.wba-section .wp-block-columns {
	gap: var(--wba-grid-gap) !important;
	margin-bottom: 0;
}

.wba-section .wp-block-columns[style*="margin-top"] {
	margin-top: clamp(28px, 3vw, 42px) !important;
}

/* Cards */
.wba-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.wba-card-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--wba-soft);
}

.wba-card-image a,
.wba-card-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.wba-card-image img {
	object-fit: cover !important;
	object-position: center center;
}

.wba-card-copy {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--wba-card-padding);
}

.wba-card-copy .wba-text-link {
	margin-top: auto;
	padding-top: 8px;
}

.wba-card-title {
	margin-bottom: 12px;
}

/* Latest articles */
.wba-latest-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.65fr) minmax(360px, .75fr);
	align-items: stretch !important;
	gap: var(--wba-grid-gap) !important;
	margin-top: clamp(28px, 3vw, 42px) !important;
}

.wba-latest-grid > .wp-block-column {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	flex-basis: auto !important;
}

.wba-feature-post {
	height: 100%;
	min-height: 500px;
}

.wba-feature-post > .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	height: 100%;
	gap: 0 !important;
	margin: 0 !important;
}

.wba-feature-post > .wp-block-columns > .wp-block-column {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	flex-basis: auto !important;
}

.wba-feature-post .wp-block-post-featured-image {
	width: 100%;
	height: 100%;
	min-height: 500px;
	margin: 0;
	overflow: hidden;
	background: var(--wba-soft);
}

.wba-feature-post .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.wba-feature-post .wp-block-post-featured-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 500px;
	object-fit: cover !important;
	object-position: center center;
}

.wba-feature-copy {
	display: flex;
	min-height: 500px;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 2.6vw, 44px);
}

.wba-feature-title {
	margin-top: 12px;
	margin-bottom: 16px;
	font-size: clamp(2.45rem, 3vw, 3.7rem) !important;
	line-height: 1 !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.wba-feature-copy .wp-block-post-excerpt {
	margin-bottom: 0;
}

.wba-mini-query .wp-block-post-template {
	display: grid;
	gap: 16px;
	margin: 0;
}

.wba-mini-post {
	display: grid !important;
	grid-template-columns: 144px minmax(0, 1fr);
	min-height: 122px;
	height: 100%;
}

.wba-mini-post .wp-block-post-featured-image {
	width: 144px !important;
	min-width: 144px !important;
	height: 100% !important;
	min-height: 122px;
	margin: 0;
	overflow: hidden;
	background: var(--wba-soft);
}

.wba-mini-post .wp-block-post-featured-image a,
.wba-mini-post .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.wba-mini-post .wp-block-post-featured-image img {
	object-fit: cover !important;
	object-position: center center;
}

.wba-mini-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 15px 17px;
}

.wba-mini-title {
	margin: 6px 0 9px;
	font-size: clamp(1.15rem, 1.2vw, 1.48rem) !important;
	line-height: 1.08 !important;
	overflow-wrap: normal;
	word-break: normal;
}

.wba-mini-copy .wp-block-read-more {
	margin-top: auto;
}

/* Reports and brand cards */
.wba-report-card .wba-card-image {
	aspect-ratio: 16 / 10;
}

.wba-brand-cover {
	min-height: clamp(330px, 26vw, 390px);
}

.wba-brand-copy {
	padding: clamp(22px, 2vw, 30px);
}

/* Method */
.wba-method-band {
	margin-top: clamp(28px, 3vw, 42px) !important;
	padding: clamp(22px, 2vw, 32px);
}

.wba-method-grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(12px, 1.2vw, 20px) !important;
}

.wba-method-grid > .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.wba-method-step {
	min-height: 190px;
	padding: clamp(18px, 1.5vw, 24px);
}

/* Author */
.wba-about-grid {
	display: grid !important;
	grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
	gap: var(--wba-grid-gap) !important;
	align-items: stretch !important;
}

.wba-about-grid > .wp-block-column {
	width: auto !important;
	margin: 0 !important;
	flex-basis: auto !important;
}

.wba-about-image {
	min-height: 500px;
}

.wba-about-copy {
	min-height: 500px;
	padding: clamp(28px, 3vw, 48px);
}

/* Footer */
.wba-site-footer {
	padding-top: 52px;
	padding-bottom: 24px;
}

.wba-footer-grid {
	gap: var(--wba-grid-gap) !important;
}

/* Editor canvas: mirror the frontend width for WBA section wrappers. */
.editor-styles-wrapper .wba-section > .alignwide,
.editor-styles-wrapper .wba-section > .wp-block-group.alignwide,
.editor-styles-wrapper .wba-hero-inner {
	width: min(calc(100% - 48px), 1440px) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

/* Tablet */
@media (max-width: 1100px) {
	.wba-latest-grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(320px, .75fr);
	}

	.wba-feature-post > .wp-block-columns {
		grid-template-columns: 1fr .95fr;
	}

	.wba-method-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wba-about-grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Mobile/tablet stacking */
@media (max-width: 900px) {
	.wba-latest-grid {
		display: block !important;
	}

	.wba-latest-grid > .wp-block-column + .wp-block-column {
		margin-top: 20px !important;
	}

	.wba-feature-post {
		min-height: 0;
	}

	.wba-feature-post > .wp-block-columns {
		display: block !important;
	}

	.wba-feature-post .wp-block-post-featured-image,
	.wba-feature-post .wp-block-post-featured-image img {
		min-height: 0;
		height: auto !important;
		aspect-ratio: 16 / 10;
	}

	.wba-feature-copy {
		min-height: 0;
	}

	.wba-mini-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wba-mini-post {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.wba-mini-post .wp-block-post-featured-image {
		width: 120px !important;
		min-width: 120px !important;
	}

	.wba-method-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wba-about-grid {
		grid-template-columns: 1fr;
	}

	.wba-about-mobile-label {
		display: block;
		margin-bottom: 16px;
	}

	.wba-about-image {
		min-height: 380px;
	}

	.wba-about-copy {
		min-height: 0;
	}
}

@media (max-width: 640px) {
	:root {
		--wba-page-gutter: 12px;
		--wba-section-space: var(--wba-section-space-mobile);
		--wba-grid-gap: 16px;
	}

	.wba-section-heading {
		font-size: 2.55rem !important;
	}

	.wba-section .wp-block-columns[style*="margin-top"],
	.wba-latest-grid,
	.wba-method-band {
		margin-top: 26px !important;
	}

	.wba-mini-query .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.wba-mini-post {
		grid-template-columns: 110px minmax(0, 1fr);
	}

	.wba-mini-post .wp-block-post-featured-image {
		width: 110px !important;
		min-width: 110px !important;
	}

	.wba-method-grid {
		grid-template-columns: 1fr;
	}

	.wba-method-step {
		min-height: 150px;
	}

	.wba-about-image {
		min-height: 330px;
	}

	.wba-site-footer {
		padding-top: 44px;
	}
}

/* 0.1.4 — true global sticky header.
 *
 * WordPress positioning must be applied to a top-level Group wrapping the
 * Header template part, rather than to a Group nested inside that part.
 */
.wba-sticky-header-shell {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.admin-bar .wba-sticky-header-shell {
	top: 32px !important;
}

.wba-sticky-header-shell > .wp-block-template-part {
	display: block;
	width: 100%;
	margin: 0;
}

.editor-styles-wrapper .wba-sticky-header-shell {
	position: relative !important;
	top: auto !important;
}

@media (max-width: 782px) {
	body.admin-bar .wba-sticky-header-shell {
		top: 46px !important;
	}
}

/* Keep the shared header in normal document flow on mobile. This must follow
 * the global sticky declaration above so the cascade cannot restore stickiness.
 */
@media (max-width: 980px) {
	.wba-sticky-header-shell {
		position: relative !important;
		top: auto !important;
	}
}

/* 0.1.7 — body-level overlays and stable submenu icon. */

/* Header normalization, including Site Editor-saved spacing overrides. */
.wba-site-header {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wba-header-inner {
	min-height: 72px !important;
	margin-block: 0 !important;
	padding-block: 0 !important;
	gap: 28px !important;
}

.wba-site-logo {
	display: block !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.wba-site-logo a,
.wba-site-logo img {
	display: block !important;
}

.wba-site-logo img {
	width: 108px !important;
	height: auto !important;
	max-height: 54px !important;
	object-fit: contain !important;
}

.wba-primary-nav {
	margin-left: auto !important;
}

/*
 * Desktop Articles icon.
 * JavaScript replaces WordPress's SVG with .wba-desktop-plus, eliminating
 * browser/core-version differences.
 */
.wba-primary-nav .wba-desktop-submenu-item {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
}

.wba-primary-nav button.wba-desktop-submenu-toggle {
	position: relative !important;
	display: grid !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	flex: 0 0 18px !important;
	margin: 0 0 0 8px !important;
	padding: 0 !important;
	place-items: center !important;
	border: 1px solid rgba(255, 255, 255, .58) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #fff !important;
	line-height: 1 !important;
	transform: none !important;
	overflow: visible !important;
}

.wba-primary-nav button.wba-desktop-submenu-toggle:hover,
.wba-primary-nav button.wba-desktop-submenu-toggle:focus-visible {
	border-color: #fff !important;
	background: rgba(255, 255, 255, .08) !important;
}

.wba-desktop-plus {
	position: relative;
	display: block;
	width: 12px;
	height: 12px;
	pointer-events: none;
}

.wba-desktop-plus::before,
.wba-desktop-plus::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 1px;
	border-radius: 99px;
	background: currentColor;
	transform-origin: center;
	transition: transform .18s ease;
}

.wba-desktop-plus::before {
	transform: translate(-50%, -50%);
}

.wba-desktop-plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.wba-desktop-submenu-toggle[aria-expanded="true"] .wba-desktop-plus::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-desktop-submenu-toggle[aria-expanded="true"] .wba-desktop-plus::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* Hide any core SVG that survives before JavaScript replacement. */
.wba-primary-nav
	button.wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle
	svg {
	display: none !important;
}

/* Mobile trigger. */
.wba-mobile-menu-trigger {
	display: none;
	position: relative;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 44px !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .06) !important;
	color: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wba-mobile-menu-trigger:hover,
.wba-mobile-menu-trigger:focus-visible {
	border-color: rgba(255, 255, 255, .62) !important;
	background: rgba(255, 255, 255, .12) !important;
}

.wba-mobile-menu-trigger__lines,
.wba-mobile-menu-trigger__lines::before,
.wba-mobile-menu-trigger__lines::after {
	position: absolute;
	left: 50%;
	width: 18px;
	height: 1.5px;
	border-radius: 99px;
	background: currentColor;
	transform: translateX(-50%);
}

.wba-mobile-menu-trigger__lines {
	top: 50%;
	transform: translate(-50%, -50%);
}

.wba-mobile-menu-trigger__lines::before,
.wba-mobile-menu-trigger__lines::after {
	content: "";
}

.wba-mobile-menu-trigger__lines::before {
	top: -6px;
}

.wba-mobile-menu-trigger__lines::after {
	top: 6px;
}

/* Both layers are hidden with the native hidden attribute. */
.wba-mobile-menu-layer[hidden],
.wba-search-layer[hidden] {
	display: none !important;
}

/*
 * Full-screen mobile layer. It is moved directly under body by JavaScript,
 * therefore sticky header containment cannot affect it.
 */
.wba-mobile-menu-layer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	display: block !important;
	width: 100vw !important;
	max-width: none !important;
	height: 100vh !important;
	height: 100dvh !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	max-height: 100vh !important;
	max-height: 100dvh !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--wba-navy) !important;
	color: #fff !important;
	transform: none !important;
}

.wba-mobile-menu-layer__panel {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding:
		max(18px, env(safe-area-inset-top))
		max(22px, env(safe-area-inset-right))
		max(16px, env(safe-area-inset-bottom))
		max(22px, env(safe-area-inset-left)) !important;
	flex-direction: column !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	box-sizing: border-box !important;
	background: var(--wba-navy) !important;
}

.wba-mobile-menu-layer__top {
	display: flex;
	width: min(100%, 620px);
	min-height: 54px;
	margin: 0 auto clamp(20px, 5vh, 36px);
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex: 0 0 auto;
}

.wba-mobile-menu-layer__logo {
	display: block;
	width: 108px;
	flex: 0 0 108px;
}

.wba-mobile-menu-layer__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 54px;
	object-fit: contain;
}

.wba-mobile-menu-layer__close {
	position: relative;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 44px !important;
	border: 1px solid rgba(255, 255, 255, .34) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .06) !important;
	color: #fff !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wba-mobile-menu-layer__close::before,
.wba-mobile-menu-layer__close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 15px;
	height: 1.5px;
	border-radius: 99px;
	background: currentColor;
}

.wba-mobile-menu-layer__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-mobile-menu-layer__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wba-mobile-menu-layer__close span {
	display: none;
}

.wba-mobile-menu {
	display: block;
	width: min(100%, 620px);
	margin: 0 auto;
	flex: 0 0 auto;
	border-top: 1px solid rgba(255, 255, 255, .14);
}

.wba-mobile-menu__link,
button.wba-mobile-menu__link {
	position: relative;
	display: flex;
	width: 100% !important;
	min-height: 66px;
	margin: 0 !important;
	padding: 18px 52px 18px 0 !important;
	align-items: center;
	border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: "DM Sans", Arial, sans-serif !important;
	font-size: clamp(1.18rem, 5vw, 1.42rem) !important;
	font-weight: 600 !important;
	line-height: 1.22 !important;
	text-align: left !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wba-mobile-menu__link:hover,
button.wba-mobile-menu__link:hover {
	color: var(--wba-blue) !important;
}

.wba-mobile-menu__submenu {
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.wba-mobile-menu__submenu-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 44px;
	align-items: center;
}

.wba-mobile-menu__submenu-row .wba-mobile-menu__link {
	grid-column: 1;
	border-bottom: 0 !important;
	padding-right: 12px !important;
}

.wba-mobile-menu__submenu-toggle {
	position: relative;
	display: grid;
	grid-column: 2;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	margin: 0 4px 0 6px !important;
	padding: 0 !important;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .5) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wba-mobile-menu__plus {
	position: relative;
	display: block;
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.wba-mobile-menu__plus::before,
.wba-mobile-menu__plus::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 1px;
	border-radius: 99px;
	background: currentColor;
	transform-origin: center;
	transition: transform .18s ease;
}

.wba-mobile-menu__plus::before {
	transform: translate(-50%, -50%);
}

.wba-mobile-menu__plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.wba-mobile-menu__submenu-toggle[aria-expanded="true"]
	.wba-mobile-menu__plus::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-mobile-menu__submenu-toggle[aria-expanded="true"]
	.wba-mobile-menu__plus::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wba-mobile-menu__submenu-list {
	padding: 0 0 16px 18px;
}

.wba-mobile-menu__submenu-list[hidden] {
	display: none !important;
}

.wba-mobile-menu__submenu-list a {
	display: flex;
	min-height: 42px;
	padding: 9px 0;
	align-items: center;
	color: #cbd9e8;
	font-size: .98rem;
	font-weight: 500;
	text-decoration: none;
}

.wba-mobile-menu__submenu-list a:hover {
	color: var(--wba-blue);
}

.wba-mobile-search-trigger::after {
	content: "⌕";
	position: absolute;
	right: 8px;
	color: #91d5ff;
	font-size: 1.5rem;
	font-weight: 400;
}

.wba-mobile-menu-layer__note {
	width: min(100%, 620px);
	margin: auto auto 0;
	padding-top: clamp(12px, 2.5vh, 22px);
	color: #91a5bb;
	font-size: .78rem;
	line-height: 1.5;
	flex: 0 0 auto;
}

/* Search overlay. Same card on desktop and mobile. */
.wba-search-layer {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483001 !important;
	display: flex !important;
	width: 100vw !important;
	max-width: none !important;
	height: 100vh !important;
	height: 100dvh !important;
	margin: 0 !important;
	padding: 16px !important;
	align-items: center !important;
	justify-content: center !important;
	overflow-y: auto !important;
	box-sizing: border-box !important;
}

.wba-search-layer__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(4, 17, 31, .76);
	backdrop-filter: blur(8px);
}

.wba-search-dialog__panel {
	position: relative;
	z-index: 1;
	width: min(680px, 100%);
	max-width: 680px;
	margin: auto;
	padding: clamp(30px, 5vw, 54px);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	background: #fff;
	color: var(--wba-ink);
	box-shadow: 0 30px 90px rgba(4, 17, 31, .36);
	box-sizing: border-box;
}

.wba-search-dialog__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--wba-line) !important;
	border-radius: 999px !important;
	background: var(--wba-paper) !important;
	color: var(--wba-navy) !important;
	box-shadow: none !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.wba-search-dialog__close::before,
.wba-search-dialog__close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 1.5px;
	background: currentColor;
}

.wba-search-dialog__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.wba-search-dialog__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.wba-search-dialog__close span {
	display: none;
}

.wba-search-dialog__eyebrow {
	margin: 0 58px 10px 0;
	color: #0a8ed8;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wba-search-dialog__title {
	max-width: 560px;
	margin: 0 58px 26px 0;
	color: var(--wba-ink);
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.035em;
}

.wba-search-dialog__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.wba-search-dialog__input {
	width: 100%;
	min-width: 0;
	height: 56px;
	padding: 0 18px;
	border: 1px solid #cbd5df;
	border-radius: 999px;
	background: #fff;
	color: var(--wba-ink);
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 1rem;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
}

.wba-search-dialog__submit {
	min-width: 112px;
	height: 56px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	background: var(--wba-navy);
	color: #fff;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
}

.wba-search-dialog__hint {
	margin: 16px 4px 0;
	color: var(--wba-muted);
	font-size: .82rem;
}

html.wba-overlay-is-open,
body.wba-overlay-is-open {
	overflow: hidden !important;
	overscroll-behavior: none !important;
}

/* Focus visibility. */
.wba-mobile-menu-trigger:focus-visible,
.wba-mobile-menu-layer button:focus-visible,
.wba-mobile-menu-layer a:focus-visible,
.wba-search-layer button:focus-visible,
.wba-search-layer input:focus-visible,
.wba-desktop-submenu-toggle:focus-visible {
	outline: 3px solid var(--wba-blue) !important;
	outline-offset: 3px !important;
}

/* Mobile: use only the custom trigger, never WordPress's native overlay. */
@media (max-width: 980px) {
	.wba-primary-nav {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}

	.wba-primary-nav .wp-block-navigation__responsive-container-open,
	.wba-primary-nav .wp-block-navigation__responsive-container {
		display: none !important;
		visibility: hidden !important;
	}

	.wba-mobile-menu-trigger {
		display: block !important;
	}

	.wba-header-inner {
		min-height: 68px !important;
	}

	.wba-search-layer {
		padding: 12px !important;
	}

	.wba-search-dialog__panel {
		width: min(680px, 100%);
		padding: 34px 22px 26px;
		border-radius: 22px;
	}

	.wba-search-dialog__close {
		top: 15px;
		right: 15px;
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}

	.wba-search-dialog__eyebrow {
		margin-right: 46px;
		margin-bottom: 9px;
	}

	.wba-search-dialog__title {
		max-width: 100%;
		margin: 0 46px 24px 0;
		font-size: clamp(2.25rem, 10vw, 2.8rem);
	}

	.wba-search-dialog__form {
		grid-template-columns: minmax(0, 1fr) 104px;
		gap: 8px;
	}

	.wba-search-dialog__input,
	.wba-search-dialog__submit {
		height: 54px;
	}

	.wba-search-dialog__input {
		padding: 0 15px;
		font-size: .95rem;
	}

	.wba-search-dialog__submit {
		min-width: 104px;
		padding: 0 16px;
	}

	.wba-search-dialog__hint {
		margin-top: 14px;
		font-size: .76rem;
	}
}

@media (max-width: 350px) {
	.wba-search-dialog__form {
		grid-template-columns: 1fr;
	}

	.wba-search-dialog__submit {
		width: 100%;
	}
}

@media (min-width: 981px) {
	.wba-mobile-menu-trigger,
	.wba-mobile-menu-layer {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wba-desktop-plus::before,
	.wba-desktop-plus::after,
	.wba-mobile-menu__plus::before,
	.wba-mobile-menu__plus::after {
		transition: none;
	}
}

/* 0.1.8 — stable editable desktop header and cache-safe navigation. */

.wba-desktop-menu {
	position: relative;
	margin-left: auto !important;
	gap: clamp(22px, 2vw, 32px) !important;
	align-items: center !important;
}

.wba-desktop-link {
	margin: 0 !important;
	white-space: nowrap;
}

.wba-desktop-link a,
.wba-articles-menu > summary {
	color: #fff !important;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}

.wba-desktop-link a:hover,
.wba-articles-menu > summary:hover {
	color: var(--wba-blue) !important;
}

.wba-articles-menu {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}

.wba-articles-menu > summary {
	display: flex;
	min-height: 44px;
	padding: 0 !important;
	align-items: center;
	gap: 8px;
	list-style: none;
	outline: none;
}

.wba-articles-menu > summary::-webkit-details-marker {
	display: none;
}

.wba-articles-menu > summary::marker {
	display: none;
	content: "";
}

/*
 * One single icon generated as an SVG background. No native SVG, nested
 * pseudo-elements or JavaScript replacement can overlap it.
 */
.wba-articles-menu > summary::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border: 1px solid rgba(255, 255, 255, .58);
	border-radius: 999px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M5 9h8M9 5v8' fill='none' stroke='%23ffffff' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	box-sizing: border-box;
}

.wba-articles-menu[open] > summary::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M6 6l6 6M12 6l-6 6' fill='none' stroke='%23ffffff' stroke-width='1.25' stroke-linecap='round'/%3E%3C/svg%3E");
}

.wba-articles-menu > summary:focus-visible {
	outline: 3px solid var(--wba-blue);
	outline-offset: 4px;
	border-radius: 4px;
}

.wba-articles-dropdown {
	position: absolute !important;
	top: calc(100% + 8px);
	left: -16px;
	z-index: 2000;
	display: block !important;
	width: 220px;
	margin: 0 !important;
	padding: 10px !important;
	border: 1px solid rgba(8, 28, 52, .08);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(9, 27, 49, .18);
}

.wba-articles-dropdown p {
	margin: 0 !important;
}

.wba-articles-dropdown a {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--wba-ink) !important;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none !important;
}

.wba-articles-dropdown a:hover {
	background: var(--wba-soft);
	color: var(--wba-navy) !important;
}

@media (max-width: 980px) {
	.wba-desktop-menu {
		display: none !important;
	}

	.wba-mobile-menu-trigger {
		display: block !important;
		margin-left: auto !important;
	}
}

@media (min-width: 981px) {
	.wba-desktop-menu {
		display: flex !important;
	}

	.wba-mobile-menu-trigger {
		display: none !important;
	}
}

/* 0.1.9 — JavaScript-controlled critical header visibility. */

/*
 * Both variants start hidden. The non-delayed navigation script reveals
 * exactly one with an inline !important display value. This prevents
 * LiteSpeed UCSS/media-query output from exposing desktop links on phones.
 */
.wba-responsive-menu-boot-hidden,
.wba-desktop-menu.wba-responsive-menu-boot-hidden,
.wba-mobile-menu-trigger.wba-responsive-menu-boot-hidden {
	display: none !important;
	visibility: hidden !important;
}

/* Header v3 never uses the old Core Navigation block. */
.wba-site-header .wba-primary-nav,
.wba-site-header nav.wp-block-navigation {
	display: none !important;
	visibility: hidden !important;
}

/* Preserve clean mobile alignment even before JavaScript finishes. */
@media (max-width: 980px) {
	.wba-header-inner {
		justify-content: space-between !important;
	}

	.wba-site-logo {
		margin-right: auto !important;
	}
}

/* 0.2.0 — flexible editorial article template. */

.wba-single-main {
	width: 100%;
	margin: 0;
	padding: 0;
	background: var(--wba-paper);
}

.wba-article-masthead {
	padding: clamp(52px, 7vw, 92px) var(--wba-page-gutter) clamp(40px, 5vw, 64px);
	border-bottom: 1px solid var(--wba-line);
	background: #fff;
}

.wba-single-header {
	width: min(100%, 1180px);
	margin: 0 auto;
}

.wba-single-header .rank-math-breadcrumb {
	margin: 0 0 24px;
	color: var(--wba-muted);
	font-size: .78rem;
	line-height: 1.5;
}

.wba-single-header .rank-math-breadcrumb p {
	margin: 0;
}

.wba-single-header .rank-math-breadcrumb a {
	color: var(--wba-muted);
	text-decoration: none;
}

.wba-single-header .rank-math-breadcrumb a:hover {
	color: #0a8ed8;
}

.wba-single-category,
.wba-single-category a {
	margin: 0 0 14px;
	color: #0a8ed8 !important;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}

.wba-single-title {
	max-width: 1120px;
	margin: 0;
	font-size: clamp(3rem, 5.6vw, 5.7rem) !important;
	line-height: .98 !important;
	letter-spacing: -.045em !important;
	text-wrap: balance;
}

.wba-single-meta-row {
	margin-top: 28px;
	gap: 15px !important;
	color: var(--wba-muted);
	font-size: .84rem;
}

.wba-single-author {
	margin: 0 !important;
}

.wba-single-author .wp-block-post-author__avatar {
	margin-right: 10px;
}

.wba-single-author img {
	border-radius: 999px;
}

.wba-single-author .wp-block-post-author__byline {
	font-size: .72rem;
}

.wba-single-author .wp-block-post-author__name {
	font-weight: 700;
}

.wba-single-author a,
.wba-single-date a,
.wba-single-comments-link a {
	color: var(--wba-ink);
	text-decoration: none;
}

.wba-single-author a:hover,
.wba-single-date a:hover,
.wba-single-comments-link a:hover {
	color: #0a8ed8;
}

.wba-meta-separator {
	width: 1px !important;
	height: 24px !important;
	margin: 0 !important;
	border: 0 !important;
	background: var(--wba-line) !important;
}

.wba-single-media-wrap {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 1180px);
	margin: clamp(34px, 4vw, 54px) auto 0;
}

.wba-single-featured {
	width: 100%;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 22px;
	background: var(--wba-soft);
	box-shadow: 0 16px 42px rgba(23, 34, 49, .08);
}

.wba-single-featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 760px;
	object-fit: cover;
	object-position: center;
}

.wba-article-body {
	padding: clamp(48px, 6vw, 80px) var(--wba-page-gutter) clamp(60px, 7vw, 96px);
}

.wba-single-content {
	--wba-reading-width: 780px;
	--wba-media-width: 1180px;
	margin: 0 auto;
	color: #263344;
	font-size: clamp(1.04rem, 1.1vw, 1.12rem);
	line-height: 1.78;
}



.wba-single-content > :first-child {
	margin-block-start: 0;
}

.wba-single-content > :last-child {
	margin-block-end: 0;
}



.wba-single-content > h2,
.wba-single-content > section > h2,
.wba-single-content > h3,
.wba-single-content > section > h3,
.wba-single-content > h4,
.wba-single-content > section > h4 {
	scroll-margin-top: 110px;
}

.wba-single-content > h2,
.wba-single-content > h3,
.wba-single-content > h4,
.wba-single-content > section:not(.wba-jk-bio) > h2,
.wba-single-content > section:not(.wba-jk-bio) > h3,
.wba-single-content > section:not(.wba-jk-bio) > h4 {
	text-wrap: wrap;
}

.wba-single-content > section.wba-jk-bio > h2 {
	text-wrap: balance;
}

.wba-single-content > h2,
.wba-single-content > section > h2,
body:is(.single-post, .wba-article-context) .wba-single-content > section > h2 {
	margin-top: clamp(2.3em, 8vw, 3em);
	margin-bottom: .65em;
	font-size: clamp(2.25rem, 4vw, 3.25rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
}

.wba-single-content > h3,
.wba-single-content > section > h3 {
	margin-top: 2.1em;
	margin-bottom: .65em;
	font-size: clamp(1.72rem, 3vw, 2.25rem) !important;
	line-height: 1.08 !important;
	letter-spacing: -.025em !important;
}

.wba-single-content > h4,
.wba-single-content > section > h4 {
	margin-top: 1.8em;
	margin-bottom: .55em;
	font-size: 1.25rem !important;
	line-height: 1.25 !important;
}

.wba-single-content p,
.wba-single-content > ul li,
.wba-single-content > ol li {
	overflow-wrap: break-word;
}

.wba-single-content > p a:not(.wp-element-button),
.wba-single-content > ul a:not(.wp-element-button),
.wba-single-content > ol a:not(.wp-element-button),
.wba-single-content > blockquote a:not(.wp-element-button) {
	color: #075f98;
	text-decoration-line: underline;
	text-decoration-color: rgba(7, 95, 152, .32);
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

.wba-single-content > p a:not(.wp-element-button):hover,
.wba-single-content > ul a:not(.wp-element-button):hover,
.wba-single-content > ol a:not(.wp-element-button):hover,
.wba-single-content > blockquote a:not(.wp-element-button):hover {
	color: #034d7d;
	text-decoration-color: currentColor;
}

.wba-single-content > ul,
.wba-single-content > ol {
	padding-left: 1.35em;
}

.wba-single-content > ul li,
.wba-single-content > ol li {
	margin-bottom: .5em;
	padding-left: .18em;
}

.wba-single-content > ul li::marker,
.wba-single-content > ol li::marker {
	color: #0a8ed8;
	font-weight: 700;
}

.wba-single-content > hr {
	margin-top: 3rem;
	margin-bottom: 3rem;
	border: 0;
	border-top: 1px solid var(--wba-line);
}

.wba-single-content > blockquote {
	margin-top: 2rem;
	margin-bottom: 2rem;
	padding: 22px 26px;
	border-left: 4px solid var(--wba-blue);
	border-radius: 0 16px 16px 0;
	background: #eef7fc;
	color: var(--wba-ink);
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 1.3rem;
	line-height: 1.45;
}

.wba-single-content > blockquote > p {
	margin: 0;
}

/* New optional editorial blocks available from Patterns. */
.wba-article-callout {
	margin-top: 2.2rem !important;
	margin-bottom: 2.2rem !important;
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid #cfe0eb;
	border-radius: 18px;
	background: #eef7fc;
}

.wba-article-callout-testing {
	border-left: 5px solid var(--wba-blue);
}

.wba-article-callout-key {
	border-color: rgba(8, 28, 52, .18);
	background: var(--wba-navy);
	color: #fff;
}

.wba-article-callout h3,
.wba-article-callout p {
	margin-top: 0;
}

.wba-article-callout-key p {
	color: #fff;
}

.wba-article-callout-label {
	margin-bottom: 10px !important;
	color: #0a8ed8 !important;
	font-size: .72rem !important;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wba-article-callout-key .wba-article-callout-label {
	color: #91d5ff !important;
}

.wba-article-callout-lead {
	margin-bottom: 0 !important;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(1.55rem, 3vw, 2.1rem) !important;
	line-height: 1.25;
}

/* Article footer */
.wba-article-footer {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 980px);
	margin: 0 auto;
	padding-bottom: clamp(68px, 8vw, 110px);
}

.wba-single-tags {
	margin: 0 0 28px;
	color: var(--wba-muted);
	font-size: .78rem;
}

.wba-single-tags a {
	display: inline-block;
	margin: 0 5px 6px 0;
	padding: 7px 11px;
	border: 1px solid var(--wba-line);
	border-radius: 999px;
	background: #fff;
	color: var(--wba-muted);
	text-decoration: none;
}

.wba-single-tags a:hover {
	border-color: #a7bfd0;
	color: var(--wba-navy);
}

.wba-author-card {
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid var(--wba-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(23, 34, 49, .06);
}

.wba-author-card-content {
	margin: 0 !important;
}

.wba-author-card-content .wp-block-post-author__avatar {
	margin-right: 22px;
}

.wba-author-card-content img {
	border-radius: 18px;
}

.wba-author-card-content .wp-block-post-author__name {
	margin-bottom: 7px;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 600;
	line-height: 1.05;
}

.wba-author-card-content .wp-block-post-author__bio {
	max-width: 680px;
	margin: 0;
	color: var(--wba-muted);
	font-size: .94rem;
	line-height: 1.65;
}

.wba-author-card-link {
	margin: 18px 0 0 118px;
	font-size: .8rem;
	font-weight: 700;
}

.wba-author-card-link a {
	color: var(--wba-navy);
	text-decoration: none;
}

.wba-author-card-link a:hover {
	color: #0a8ed8;
}

.wba-post-navigation {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 22px;
}

.wba-post-navigation > * {
	display: flex;
	min-height: 118px;
	padding: 20px;
	align-items: center;
	border: 1px solid var(--wba-line);
	border-radius: 18px;
	background: #fff;
}

.wba-post-navigation a {
	color: var(--wba-ink);
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 1.18rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
}

.wba-post-navigation a:hover {
	color: #0a8ed8;
}

.wba-post-navigation-next {
	text-align: right;
	justify-content: flex-end;
}

.wba-comments {
	margin-top: clamp(52px, 7vw, 80px);
	padding-top: clamp(36px, 5vw, 56px);
	border-top: 1px solid var(--wba-line);
}

.wba-comments .wp-block-comments-title {
	margin-bottom: 28px;
	font-size: clamp(2rem, 4vw, 3rem);
}

.wba-comment {
	margin-bottom: 18px;
	padding: 22px;
	border: 1px solid var(--wba-line);
	border-radius: 16px;
	background: #fff;
}

.wba-comments input:not([type="checkbox"]):not([type="submit"]),
.wba-comments textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid #cbd5df;
	border-radius: 10px;
	background: #fff;
	font: inherit;
}

.wba-comments textarea {
	min-height: 150px;
}

.wba-comments input[type="submit"] {
	padding: 13px 22px;
	border: 0;
	border-radius: 999px;
	background: var(--wba-navy);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

@media (max-width: 782px) {
	.wba-article-masthead {
		padding-top: 46px;
		padding-bottom: 38px;
	}

	.wba-single-title {
		font-size: clamp(2.65rem, 11vw, 4.2rem) !important;
		line-height: 1 !important;
		letter-spacing: -.03em !important;
	}

	.wba-single-meta-row {
		gap: 11px !important;
	}

	.wba-single-media-wrap {
		width: calc(100% - 24px);
		margin-top: 24px;
	}

	.wba-single-featured {
		border-radius: 16px;
	}

	.wba-article-body {
		padding-top: 42px;
		padding-bottom: 62px;
	}

	.wba-single-content {
		font-size: 1.02rem;
		line-height: 1.74;
	}

	.wba-single-content > h2 {
		font-size: 2.25rem !important;
		line-height: 1.05 !important;
	}
	.wba-single-content > section > h2 {
		font-size: 2.25rem !important;
		line-height: 1.05 !important;
	}

	.wba-single-content > h3 {
		font-size: 1.72rem !important;
	}
	.wba-single-content > section > h3 {
		font-size: 1.72rem !important;
	}

	.wba-single-content figure.wp-block-image:not(.alignleft):not(.alignright),
	.wba-single-content .wp-block-gallery,
	.wba-single-content .wp-block-embed,
	.wba-single-content .wp-block-video {
		width: calc(100vw - 24px);
	}

	.wba-single-content figure.wp-block-image img {
		border-radius: 13px;
	}



	.wba-author-card-content {
		display: block;
	}

	.wba-author-card-content .wp-block-post-author__avatar {
		margin: 0 0 18px;
	}

	.wba-author-card-link {
		margin-left: 0;
	}

	.wba-post-navigation {
		grid-template-columns: 1fr;
	}

	.wba-post-navigation-next {
		text-align: left;
		justify-content: flex-start;
	}
}

@media (max-width: 480px) {
	.wba-meta-separator {
		display: none;
	}

	.wba-single-meta-row {
		align-items: flex-start !important;
	}

	.wba-single-comments-link {
		width: 100%;
	}

	.wba-single-content > blockquote {
		padding: 19px 20px;
		font-size: 1.18rem;
	}

	.wba-author-card {
		padding: 22px;
	}
}

/* 0.2.1 — article readability and media corrections. */

/* Featured images use the same reading column and their natural 756 × 540 ratio. */
.wba-single-media-wrap {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 780px) !important;
}

.wba-single-featured {
	overflow: visible !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
}

.wba-single-featured img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin-inline: auto;
	border-radius: 18px;
	object-fit: contain !important;
}

/* Slightly larger reading type. */
.wba-single-content {
	font-size: clamp(1.1rem, 1.15vw, 1.17rem) !important;
	line-height: 1.78;
}

/*
 * Predictable paragraph rhythm. Every new Paragraph block receives the same
 * bottom spacing, independent of the editor's inherited block gap.
 */


.wba-single-content > p {
	margin-top: 0 !important;
	margin-bottom: 1.42em !important;
}

.wba-single-content > ul,
.wba-single-content > ol {
	margin-top: 0 !important;
	margin-bottom: 1.55em !important;
}

.wba-single-content > h2 {
	margin-top: clamp(2.3em, 8vw, 3em) !important;
	margin-bottom: .68em !important;
}
.wba-single-content > section > h2 {
	margin-top: clamp(2.3em, 8vw, 3em) !important;
	margin-bottom: .68em !important;
}

.wba-single-content > h3 {
	margin-top: 2.1em !important;
	margin-bottom: .68em !important;
}
.wba-single-content > section > h3 {
	margin-top: 2.1em !important;
	margin-bottom: .68em !important;
}

.wba-single-content > h4 {
	margin-top: 1.8em !important;
	margin-bottom: .58em !important;
}
.wba-single-content > section > h4 {
	margin-top: 1.8em !important;
	margin-bottom: .58em !important;
}

/* Normal article photography stays inside the reading column without cropping. */
.wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright),
.wba-single-content > .wp-block-gallery,
.wba-single-content > .wp-block-embed,
.wba-single-content > .wp-block-video {
	width: 100% !important;
	max-width: 780px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	transform: none !important;
}

.wba-single-content > figure.wp-block-image {
	margin-top: 2rem !important;
	margin-bottom: 2rem !important;
	text-align: center;
	background: transparent !important;
}

.wba-single-content > figure.wp-block-image img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin-inline: auto;
	border-radius: 15px;
	background: transparent !important;
	object-fit: contain !important;
}

/* More readable captions on desktop. */
.wba-single-content > figure.wp-block-image figcaption,
.wba-single-featured figcaption {
	margin-top: 12px;
	color: #667487;
	font-size: .9rem !important;
	line-height: 1.55;
}

/* Existing Simple Author Box: improve only alignment and social spacing. */
.saboxplugin-wrap {
	margin-top: 2.8rem !important;
	margin-bottom: 2.8rem !important;
}









/* Mobile metadata becomes a deliberate two-row grid. */
@media (max-width: 782px) {
	.wba-single-meta-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px 18px !important;
		align-items: center !important;
	}

	.wba-single-author {
		grid-column: 1 / -1;
	}

	.wba-meta-separator {
		display: none !important;
	}

	.wba-single-date {
		grid-column: 1;
	}

	.wba-single-comments-link {
		grid-column: 2;
		width: auto !important;
		text-align: right;
	}

	.wba-single-content {
		font-size: 1.05rem !important;
	}

	.wba-single-content figcaption,
	.wba-single-featured figcaption {
		font-size: .78rem !important;
	}

	.wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright),
	.wba-single-content > .wp-block-gallery,
	.wba-single-content > .wp-block-embed,
	.wba-single-content > .wp-block-video {
		width: 100% !important;
		max-width: 100% !important;
	}

	.wba-single-media-wrap {
		width: calc(100% - 24px) !important;
	}
}

@media (max-width: 430px) {
	.wba-single-meta-row {
		grid-template-columns: 1fr;
		gap: 9px !important;
	}

	.wba-single-date,
	.wba-single-comments-link {
		grid-column: 1;
		text-align: left;
	}
}

/* More breathing room between the footer logo and its description. */
.wba-footer-logo {
	margin-bottom: 24px !important;
}

.wba-footer-about > p {
	margin-top: 0 !important;
}

/* Compact automatic table of contents. */


.wba-toc {
	overflow: hidden;
	border: 1px solid var(--wba-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 34, 49, .05);
}

.wba-toc summary {
	position: relative;
	display: flex;
	min-height: 58px;
	padding: 16px 52px 16px 20px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	color: var(--wba-ink);
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.wba-toc summary::-webkit-details-marker {
	display: none;
}

.wba-toc summary::after {
	content: "+";
	position: absolute;
	right: 19px;
	top: 50%;
	width: 22px;
	height: 22px;
	border: 1px solid #aab7c5;
	border-radius: 999px;
	color: var(--wba-navy);
	font-size: 15px;
	font-weight: 500;
	line-height: 19px;
	text-align: center;
	transform: translateY(-50%);
}

.wba-toc[open] summary::after {
	content: "−";
}

.wba-toc summary small {
	color: var(--wba-muted);
	font-size: .72rem;
	font-weight: 500;
}

.wba-toc nav {
	padding: 0 20px 18px;
	border-top: 1px solid var(--wba-line);
}

.wba-toc ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 28px;
	margin: 17px 0 0;
	padding-left: 1.25rem;
}

.wba-toc li {
	padding-left: 3px;
	color: #0a8ed8;
	font-size: .88rem;
	line-height: 1.4;
}

.wba-toc a {
	color: var(--wba-ink);
	text-decoration: none;
}

.wba-toc a:hover {
	color: #0a8ed8;
	text-decoration: underline;
	text-underline-offset: .18em;
}

@media (max-width: 782px) {
	

	.wba-toc ol {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.wba-toc summary {
		min-height: 56px;
		padding-left: 17px;
	}

	.wba-toc nav {
		padding-right: 17px;
		padding-left: 17px;
	}
}

/* 0.2.2 — unified article width and compact sticky TOC. */

:root {
	--wba-article-width: 780px;
	--wba-featured-width: 920px;
	--wba-sticky-header-height: 72px;
	--wba-sticky-toc-gap: 10px;
}

/*
 * The featured image is intentionally wider than the body on desktop, but
 * it always keeps the original 756 × 540 proportion and is never cropped.
 */
.wba-single-media-wrap {
	width: min(
		calc(100% - (2 * var(--wba-page-gutter))),
		var(--wba-featured-width)
	) !important;
	max-width: var(--wba-featured-width) !important;
}

.wba-single-featured {
	overflow: visible !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.wba-single-featured img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 756 / 540;
	margin-inline: auto;
	border-radius: 18px;
	object-fit: contain !important;
	object-position: center !important;
	background: transparent !important;
}

/*
 * All normal article blocks, including manually created tables and RioVizual
 * blocks, share one outer width. The theme does not style anything inside
 * tables or plugin blocks.
 */
.wba-single-content {
	width: 100%;
	max-width: var(--wba-article-width) !important;
}



/*
 * Only ordinary top-level article images receive article image treatment.
 * Figures nested inside product tables or plugins are deliberately ignored.
 */
.wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright),
.wba-single-content > .wp-block-gallery,
.wba-single-content > .wp-block-embed,
.wba-single-content > .wp-block-video {
	width: 100% !important;
	max-width: var(--wba-article-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	transform: none !important;
}

.wba-single-content > figure.wp-block-image {
	margin-top: 2rem !important;
	margin-bottom: 2rem !important;
	text-align: center;
	background: transparent !important;
}

.wba-single-content > figure.wp-block-image img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	margin-inline: auto;
	border-radius: 15px;
	background: transparent !important;
	object-fit: contain !important;
}

/* Anchor destinations clear both the sticky header and compact sticky TOC. */
.wba-single-content > h2,
.wba-single-content > section > h2,
.wba-single-content > h3,
.wba-single-content > section > h3,
.wba-single-content > h4,
.wba-single-content > section > h4 {
	scroll-margin-top: 142px;
}

/*
 * Sticky, collapsed-by-default TOC. It is exactly the same width as the body,
 * with a deliberate gap below the featured image.
 */


.wba-toc {
	width: 100%;
	max-width: var(--wba-article-width);
	overflow: hidden;
	border: 1px solid rgba(8, 28, 52, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 7px 22px rgba(23, 34, 49, .09);
	backdrop-filter: blur(10px);
}

.wba-toc summary {
	position: relative;
	display: flex;
	min-height: 44px;
	padding: 10px 46px 10px 15px;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	color: var(--wba-ink);
	font-size: .82rem;
	font-weight: 700;
	line-height: 1.25;
	list-style: none;
	cursor: pointer;
}

.wba-toc summary::-webkit-details-marker {
	display: none;
}

.wba-toc summary::after {
	content: "+";
	position: absolute;
	right: 14px;
	top: 50%;
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border: 1px solid #aab7c5;
	border-radius: 999px;
	color: var(--wba-navy);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	transform: translateY(-50%);
}

.wba-toc[open] summary::after {
	content: "−";
}

.wba-toc summary small {
	color: var(--wba-muted);
	font-size: .66rem;
	font-weight: 500;
	white-space: nowrap;
}

.wba-toc nav {
	max-height: min(54vh, 460px);
	overflow-y: auto;
	padding: 0 15px 14px;
	border-top: 1px solid var(--wba-line);
	overscroll-behavior: contain;
}

.wba-toc ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 24px;
	margin: 13px 0 0;
	padding-left: 1.15rem;
}

.wba-toc li {
	padding-left: 2px;
	color: #0a8ed8;
	font-size: .82rem;
	line-height: 1.35;
}

.wba-toc a {
	color: var(--wba-ink);
	text-decoration: none;
}

.wba-toc a:hover,
.wba-toc a:focus-visible {
	color: #0a8ed8;
	text-decoration: underline;
	text-underline-offset: .18em;
}

/* Less empty space between the sticky TOC and the first paragraph. */
.wba-article-body {
	padding-top: clamp(34px, 4vw, 48px);
}

/*
 * Simple Author Box: center the existing avatar inside its own allocated
 * area without rebuilding or replacing the plugin's original layout.
 */






@media (max-width: 782px) {
	:root {
		--wba-sticky-header-height: 72px;
		--wba-sticky-toc-gap: 6px;
	}

	.wba-single-media-wrap {
		width: calc(100% - 24px) !important;
		max-width: none !important;
	}

	.wba-single-featured img {
		border-radius: 14px;
	}

	

	.wba-toc summary {
		min-height: 42px;
		padding: 9px 43px 9px 13px;
		font-size: .79rem;
	}

	.wba-toc summary small {
		display: none;
	}

	.wba-toc summary::after {
		right: 12px;
	}

	.wba-toc nav {
		max-height: 48vh;
		padding-right: 13px;
		padding-left: 13px;
	}

	.wba-toc ol {
		grid-template-columns: 1fr;
		gap: 9px;
	}

	

	.wba-single-content > h2,
	.wba-single-content > section > h2,
	.wba-single-content > h3,
	.wba-single-content > section > h3,
	.wba-single-content > h4,
	.wba-single-content > section > h4 {
		scroll-margin-top: 132px;
	}
}

/* Logged-in WordPress toolbar offsets. */
body.admin-bar 

@media (max-width: 782px) {
	body.admin-bar 
}

/* 0.2.3 — reliable article column, preserved product sections and mobile overflow fix. */

:root {
	--wba-article-width: 780px;
	--wba-featured-width: 920px;
	--wba-sticky-header-height: 72px;
	--wba-sticky-toc-gap: 8px;
}

/*
 * Prevent full-page horizontal movement without creating a vertical scroll
 * container that would disable sticky positioning.
 */
html,
body,
.wp-site-blocks,
.wba-single-main {
	max-width: 100%;
	overflow-x: clip !important;
}

@supports not (overflow: clip) {
	html,
	body,
	.wp-site-blocks,
	.wba-single-main {
		overflow-x: hidden !important;
	}
}

/* Featured image remains wider than body text and is never cropped. */
.wba-single-media-wrap {
	width: min(
		calc(100% - (2 * var(--wba-page-gutter))),
		var(--wba-featured-width)
	) !important;
	max-width: var(--wba-featured-width) !important;
}

.wba-single-featured img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 756 / 540;
	margin-inline: auto;
	object-fit: contain !important;
	object-position: center !important;
}

/*
 * TOC and Post Content now share the same real 780 px parent. The former
 * constrained Post Content layout and 1180 px wide size are gone.
 */
.wba-article-body {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding:
		clamp(48px, 5vw, 64px)
		var(--wba-page-gutter)
		clamp(60px, 7vw, 96px);
}

.wba-article-column {
	box-sizing: border-box;
	width: min(100%, var(--wba-article-width));
	max-width: var(--wba-article-width);
	min-width: 0;
	margin: 0 auto;
}

/* Real Group wrapper means sticky behavior no longer depends on Shortcode markup. */
.wba-toc-shell {
	position: sticky !important;
	top: calc(
		var(--wba-sticky-header-height) +
		var(--wba-sticky-toc-gap)
	);
	z-index: 950;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	margin: 0 0 clamp(34px, 4vw, 46px) !important;
	padding: 0 !important;
}

.wba-toc-shell > .wp-block-shortcode {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.wba-toc {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.wba-toc summary {
	min-height: 44px;
	padding: 10px 46px 10px 15px;
	font-size: .82rem;
	line-height: 1.25;
}

.wba-toc nav {
	max-height: min(52vh, 440px);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.wba-single-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	margin: 0 !important;
}

/*
 * Child blocks retain their saved/plugin styling. max-width only prevents
 * one wrapper from widening the entire viewport; it does not assign width,
 * layout, padding, borders, fonts or button styles.
 */
.wba-single-content > * {
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.wba-single-content > p {
	margin-top: 0 !important;
	margin-bottom: 1.42em !important;
}

/* Standalone editorial photos only; nested product-section images are untouched. */
.wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright),
.wba-single-content > .wp-block-gallery,
.wba-single-content > .wp-block-embed,
.wba-single-content > .wp-block-video {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: none !important;
}

.wba-single-content > figure.wp-block-image img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	margin-inline: auto;
}

/*
 * Deliberately no selectors for tables, RioVizual, affiliate buttons,
 * KEY FEATURES, PROS, CONS or product boxes.
 */

/* Existing Simple Author Box. */
.saboxplugin-wrap .saboxplugin-gravatar {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-right: 20px !important;
	padding-left: 20px !important;
	text-align: center !important;
}

.saboxplugin-wrap .saboxplugin-gravatar img {
	position: static !important;
	float: none !important;
	display: block !important;
	width: 112px !important;
	height: 112px !important;
	max-width: 112px !important;
	margin: 0 auto !important;
	border-radius: 50% !important;
	transform: none !important;
	object-fit: cover !important;
	object-position: 50% 50% !important;
}

.saboxplugin-wrap .saboxplugin-socials {
	display: block !important;
	font-size: 0 !important;
	line-height: 1 !important;
}

.saboxplugin-wrap .saboxplugin-socials a {
	display: inline-flex !important;
	margin: 0 14px 10px 0 !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1rem !important;
	vertical-align: middle !important;
}

.saboxplugin-wrap .saboxplugin-socials a:last-child {
	margin-right: 0 !important;
}

body.admin-bar .wba-toc-shell {
	top: calc(
		var(--wba-sticky-header-height) +
		var(--wba-sticky-toc-gap) +
		32px
	);
}

@media (max-width: 782px) {
	:root {
		--wba-sticky-header-height: 72px;
		--wba-sticky-toc-gap: 6px;
	}

	.wba-single-media-wrap {
		width: calc(100% - 24px) !important;
		max-width: none !important;
	}

	.wba-article-body {
		width: 100%;
		max-width: 100%;
		padding: 32px 12px 62px;
	}

	.wba-article-column,
	.wba-single-content {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.wba-toc-shell {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 30px !important;
	}

	.wba-toc summary {
		min-height: 42px;
		padding: 9px 43px 9px 13px;
		font-size: .79rem;
	}

	.wba-toc summary small {
		display: none;
	}

	.wba-toc nav {
		max-height: 46vh;
	}

	.wba-single-main {
		overflow-x: clip;
	}

	.wba-article-body,
	.wba-article-column,
	.wba-single-content {
		overflow-x: visible !important;
	}

	.saboxplugin-wrap .saboxplugin-gravatar {
		width: 100% !important;
		padding: 20px !important;
	}

	.saboxplugin-wrap .saboxplugin-socials {
		text-align: center !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar .wba-toc-shell {
		top: calc(
			var(--wba-sticky-header-height) +
			var(--wba-sticky-toc-gap) +
			46px
		);
	}
}

/* 0.2.4 — white article canvas and non-obstructive TOC navigation. */

:root {
	--wba-article-width: 780px;
	--wba-toc-rail-width: 220px;
	--wba-article-layout-gap: 34px;
}

/* A pure white article canvas prevents white-background product photos from showing a box. */
body:is(.single-post, .wba-article-context),
body:is(.single-post, .wba-article-context) .wp-site-blocks,
body:is(.single-post, .wba-article-context) .wba-single-main,
body:is(.single-post, .wba-article-context) .wba-article-masthead,
body:is(.single-post, .wba-article-context) .wba-article-body,
body:is(.single-post, .wba-article-context) .wba-article-footer {
	background: #fff !important;
}

/*
 * KEY FEATURES, PROS and CONS retain their original design. These classes are
 * added only to their existing headings and lists, and only vertical rhythm
 * is changed.
 */
.wba-product-detail-heading {
	margin-bottom: 14px !important;
}

.wba-product-detail-list {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.wba-product-detail-list > li {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.wba-product-detail-list > li + li {
	margin-top: 11px !important;
}

/*
 * Large desktop: TOC sits in its own left rail. It remains sticky but cannot
 * cover the article because it occupies a separate grid column.
 */
@media (min-width: 1200px) {
	.wba-article-column {
		display: grid !important;
		grid-template-columns:
			var(--wba-toc-rail-width)
			minmax(0, var(--wba-article-width));
		column-gap: var(--wba-article-layout-gap);
		align-items: start;
		width: min(
			100%,
			calc(
				var(--wba-toc-rail-width) +
				var(--wba-article-layout-gap) +
				var(--wba-article-width)
			)
		) !important;
		max-width: calc(
			var(--wba-toc-rail-width) +
			var(--wba-article-layout-gap) +
			var(--wba-article-width)
		) !important;
	}

	.wba-toc-shell {
		grid-column: 1;
		grid-row: 1;
		position: sticky !important;
		top: 92px !important;
		z-index: 600;
		width: 100% !important;
		max-width: var(--wba-toc-rail-width) !important;
		margin: 0 !important;
		align-self: start;
	}

	body.admin-bar .wba-toc-shell {
		top: 124px !important;
	}

	.wba-single-content {
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		max-width: var(--wba-article-width) !important;
	}

	.wba-toc summary {
		min-height: 42px;
		padding: 10px 42px 10px 13px;
		font-size: .78rem;
	}

	.wba-toc summary small {
		display: none;
	}

	.wba-toc ol {
		display: block;
		margin-top: 12px;
	}

	.wba-toc li {
		margin-bottom: 9px;
		font-size: .78rem;
	}

	.wba-toc nav {
		max-height: calc(100vh - 180px);
		padding-right: 13px;
		padding-left: 13px;
	}
}

/*
 * Tablet and smaller desktop: a compact drawer floats in the lower-right
 * corner. It overlays content only while deliberately opened.
 */
@media (min-width: 783px) and (max-width: 1199px) {
	.wba-article-column {
		display: block !important;
		width: min(100%, var(--wba-article-width)) !important;
		max-width: var(--wba-article-width) !important;
	}

	.wba-toc-shell {
		position: fixed !important;
		top: auto !important;
		right: 22px !important;
		bottom: 22px !important;
		left: auto !important;
		z-index: 4000;
		width: min(330px, calc(100vw - 44px)) !important;
		max-width: 330px !important;
		margin: 0 !important;
	}

	.wba-toc nav {
		max-height: min(54vh, 430px);
	}

	.wba-single-content {
		width: 100% !important;
		max-width: var(--wba-article-width) !important;
	}
}

/*
 * Mobile: full-width bottom drawer. The closed state is only one compact bar;
 * opening it expands upward and selecting a section closes it automatically.
 */
@media (max-width: 782px) {
	body:is(.single-post, .wba-article-context) .wp-site-blocks {
		padding-bottom: calc(72px + env(safe-area-inset-bottom));
	}

	.wba-article-column {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wba-toc-shell,
	body.admin-bar .wba-toc-shell {
		position: fixed !important;
		top: auto !important;
		right: 12px !important;
		bottom: calc(10px + env(safe-area-inset-bottom)) !important;
		left: 12px !important;
		z-index: 5000;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.wba-toc {
		border-radius: 13px;
		box-shadow: 0 10px 32px rgba(8, 28, 52, .18);
	}

	.wba-toc summary {
		min-height: 44px;
		padding: 10px 44px 10px 14px;
	}

	.wba-toc nav {
		max-height: min(52vh, 430px);
		padding-bottom: 14px;
	}

	.wba-toc ol {
		grid-template-columns: 1fr;
	}

	.wba-single-content {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* 0.2.5 — invariant circular author avatar. */

/*
 * Inline styles applied by navigation.js are authoritative. These selectors
 * provide the same result before JavaScript finishes and cover both desktop
 * and mobile author-box layouts.
 */
.wba-author-bio-avatar,
.saboxplugin-wrap .saboxplugin-gravatar,
.ast-author-box .ast-author-avatar,
.ast-single-author-box .ast-author-avatar,
.author-box .author-avatar,
.author-info .author-avatar {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.wba-author-bio-image,
.saboxplugin-wrap .saboxplugin-gravatar img,
.ast-author-box .ast-author-avatar img,
.ast-single-author-box .ast-author-avatar img,
.author-box .author-avatar img,
.author-info .author-avatar img {
	position: static !important;
	float: none !important;
	display: block !important;
	width: 112px !important;
	height: 112px !important;
	min-width: 112px !important;
	min-height: 112px !important;
	max-width: 112px !important;
	max-height: 112px !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border-radius: 999px !important;
	object-fit: cover !important;
	object-position: 50% 50% !important;
	clip-path: circle(50% at 50% 50%) !important;
	-webkit-clip-path: circle(50% at 50% 50%) !important;
}

@media (max-width: 782px) {
	.wba-author-bio-avatar,
	.saboxplugin-wrap .saboxplugin-gravatar,
	.ast-author-box .ast-author-avatar,
	.ast-single-author-box .ast-author-avatar,
	.author-box .author-avatar,
	.author-info .author-avatar {
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-bottom: 18px !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
}

/* 0.2.6 — unified large editorial copy. */

:root {
	--wba-copy-size-desktop: 1.25rem;
	--wba-copy-line-height-desktop: 1.72;
	--wba-copy-size-mobile: 1.125rem;
	--wba-copy-line-height-mobile: 1.74;
}

/*
 * One authoritative style for normal editorial prose. JavaScript applies the
 * class only to safe paragraphs and list items, so plugin tables, product
 * boxes, buttons, captions and author widgets keep their own typography.
 */
.wba-single-content .wba-article-copy {
	color: #263344;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: var(--wba-copy-size-desktop) !important;
	font-weight: 400;
	line-height: var(--wba-copy-line-height-desktop) !important;
	letter-spacing: 0;
}

/* Lists use exactly the same size as surrounding paragraphs. */
.wba-single-content li.wba-article-copy {
	margin-bottom: .55em;
}

/* Inline emphasis remains visible without changing the base size. */
.wba-single-content .wba-article-copy strong,
.wba-single-content .wba-article-copy b {
	font-weight: 700;
}

.wba-single-content .wba-article-copy em,
.wba-single-content .wba-article-copy i {
	font-style: italic;
}

@media (max-width: 782px) {
	.wba-single-content .wba-article-copy {
		font-size: var(--wba-copy-size-mobile) !important;
		line-height: var(--wba-copy-line-height-mobile) !important;
	}
}

/* 0.2.7 — independently centered article and content-aware author avatar. */

:root {
	--wba-desktop-layout-width: 1460px;
	--wba-toc-side-gap: 54px;
}

/*
 * On wide desktop the center article column is mathematically centered.
 * Equal flexible columns exist on both sides; the TOC lives inside the left
 * column and therefore cannot push the article to the right.
 */
@media (min-width: 1360px) {
	.wba-article-column {
		display: grid !important;
		grid-template-columns:
			minmax(var(--wba-toc-rail-width), 1fr)
			minmax(0, var(--wba-article-width))
			minmax(var(--wba-toc-rail-width), 1fr) !important;
		column-gap: 0 !important;
		align-items: start;
		width: 100% !important;
		max-width: var(--wba-desktop-layout-width) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.wba-single-content {
		grid-column: 2 !important;
		grid-row: 1;
		width: 100% !important;
		max-width: var(--wba-article-width) !important;
		justify-self: center;
	}

	.wba-toc-shell {
		grid-column: 1 !important;
		grid-row: 1;
		position: sticky !important;
		top: 92px !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 600;
		justify-self: end;
		align-self: start;
		width: min(100%, var(--wba-toc-rail-width)) !important;
		max-width: var(--wba-toc-rail-width) !important;
		margin:
			0
			var(--wba-toc-side-gap)
			0
			0 !important;
	}

	body.admin-bar .wba-toc-shell {
		top: 124px !important;
	}
}

/*
 * Between 1200 and 1359 px there is not enough room for symmetric side rails.
 * Use the compact lower-right drawer instead of shifting the article.
 */
@media (min-width: 1200px) and (max-width: 1359px) {
	.wba-article-column {
		display: block !important;
		width: min(100%, var(--wba-article-width)) !important;
		max-width: var(--wba-article-width) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.wba-single-content {
		width: 100% !important;
		max-width: var(--wba-article-width) !important;
	}

	.wba-toc-shell,
	body.admin-bar .wba-toc-shell {
		position: fixed !important;
		top: auto !important;
		right: 22px !important;
		bottom: 22px !important;
		left: auto !important;
		z-index: 4000;
		width: min(330px, calc(100vw - 44px)) !important;
		max-width: 330px !important;
		margin: 0 !important;
	}
}

/*
 * A content-detected avatar receives these classes even when the bio was built
 * from ordinary Gutenberg blocks instead of a recognizable author plugin.
 */
.wba-author-bio-avatar {
	box-sizing: border-box !important;
	float: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

.wba-author-bio-image {
	position: static !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 112px !important;
	height: 112px !important;
	min-width: 112px !important;
	min-height: 112px !important;
	max-width: 112px !important;
	max-height: 112px !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: 50% 50% !important;
	clip-path: circle(50% at 50% 50%) !important;
	-webkit-clip-path: circle(50% at 50% 50%) !important;
}

@media (max-width: 782px) {
	.wba-author-bio-avatar {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-bottom: 18px !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.wba-author-bio-image {
		border-radius: 50% !important;
		clip-path: circle(50% at 50% 50%) !important;
		-webkit-clip-path: circle(50% at 50% 50%) !important;
	}
}


/* 0.2.8 — article masthead alignment and compact disclosure/author details. */
.wba-single-header,
.wba-single-header .rank-math-breadcrumb,
.wba-single-header .rank-math-breadcrumb p,
.wba-single-category,
.wba-single-title {
	text-align: center !important;
}

.wba-single-title {
	margin-right: auto !important;
	margin-left: auto !important;
}

.wba-single-meta-row {
	justify-content: center !important;
}

/* Keep the affiliate disclosure visually secondary to the article copy. */
.wba-affiliate-disclosure,
.affiliate-disclosure,
.affiliates-disclosure,
.affiliate-notice,
.affiliate-info,
[class*="affiliate-disclosure"],
[class*="affiliate-notice"] {
	font-size: .78rem !important;
	line-height: 1.55 !important;
}

/* Existing Simple Author Box: smaller bio copy and centered navy social icons. */
.saboxplugin-wrap .saboxplugin-desc,
.saboxplugin-wrap .saboxplugin-desc p,
.saboxplugin-wrap .saboxplugin-authorname,
.saboxplugin-wrap .saboxplugin-web,
.saboxplugin-wrap .saboxplugin-web a {
	font-size: .78rem !important;
	line-height: 1.55 !important;
}

.saboxplugin-wrap .saboxplugin-socials {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	width: 100% !important;
	text-align: center !important;
}

.saboxplugin-wrap .saboxplugin-socials a,
.saboxplugin-wrap .saboxplugin-socials a:last-child {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	background: var(--wba-navy) !important;
	color: #fff !important;
}

.saboxplugin-wrap .saboxplugin-socials a svg,
.saboxplugin-wrap .saboxplugin-socials a i,
.saboxplugin-wrap .saboxplugin-socials a span {
	color: #fff !important;
	fill: #fff !important;
}

/* 0.2.9 — authoritative masthead centering and author/disclosure refinements. */
.wba-single-header {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.wba-single-header .rank-math-breadcrumb,
.wba-single-header .rank-math-breadcrumb p,
.wba-single-header .wba-single-category,
.wba-single-header .wba-single-title {
	width: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

.wba-single-header .wba-single-meta-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
	text-align: center !important;
}

.wba-single-header .wba-single-meta-row > * {
	grid-column: auto !important;
}

.wba-single-header .wba-single-author,
.wba-single-header .wba-single-date,
.wba-single-header .wba-single-comments-link {
	width: auto !important;
	text-align: center !important;
}

.wba-single-header .wba-single-author {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/* The disclosure also carries .wba-article-copy, so this needs greater specificity. */
.wba-single-content p.wba-affiliate-disclosure,
.wba-single-content .affiliate-disclosure,
.wba-single-content .affiliate-disclosure p,
.wba-single-content .affiliates-disclosure,
.wba-single-content .affiliates-disclosure p,
.wba-single-content .affiliate-notice,
.wba-single-content .affiliate-notice p,
.wba-single-content .affiliate-info,
.wba-single-content .affiliate-info p,
.wba-single-content [class*="affiliate-disclosure"],
.wba-single-content [class*="affiliate-disclosure"] p,
.wba-single-content [class*="affiliate-notice"],
.wba-single-content [class*="affiliate-notice"] p {
	font-size: 13px !important;
	line-height: 1.55 !important;
}

/* Smaller author biography copy, including author boxes built from regular blocks. */
.wba-single-content .wba-author-bio-box .saboxplugin-desc,
.wba-single-content .wba-author-bio-box .saboxplugin-desc p,
.wba-single-content .wba-author-bio-box .saboxplugin-web,
.wba-single-content .wba-author-bio-box .saboxplugin-web a,
.wba-single-content .wba-author-bio-box p,
.wba-single-content .wba-author-bio-box li,
.saboxplugin-wrap .saboxplugin-desc,
.saboxplugin-wrap .saboxplugin-desc p,
.saboxplugin-wrap .saboxplugin-web,
.saboxplugin-wrap .saboxplugin-web a {
	font-size: 14px !important;
	line-height: 1.55 !important;
}

/* Center social icons, increase spacing and force one consistent navy treatment. */
.saboxplugin-wrap .saboxplugin-socials,
.wba-author-bio-box .wba-author-socials,
.wba-author-bio-box .wp-block-social-links {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 16px !important;
	width: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-left: 0 !important;
	text-align: center !important;
}

.wba-author-bio-box .wp-block-social-links .wp-social-link {
	margin: 0 !important;
	border-radius: 999px !important;
	background: var(--wba-navy) !important;
}

.saboxplugin-wrap .saboxplugin-socials a,
.saboxplugin-wrap .saboxplugin-socials a:last-child,
.wba-author-bio-box .wba-author-social-link,
.wba-author-bio-box .wp-block-social-links .wp-social-link a {
	box-sizing: border-box !important;
	display: inline-flex !important;
	flex: 0 0 38px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--wba-navy) !important;
	color: #fff !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.saboxplugin-wrap .saboxplugin-socials a > *,
.saboxplugin-wrap .saboxplugin-socials a svg,
.saboxplugin-wrap .saboxplugin-socials a svg path,
.saboxplugin-wrap .saboxplugin-socials a i,
.saboxplugin-wrap .saboxplugin-socials a span,
.wba-author-bio-box .wba-author-social-link > *,
.wba-author-bio-box .wba-author-social-link svg,
.wba-author-bio-box .wba-author-social-link svg path,
.wba-author-bio-box .wba-author-social-link i,
.wba-author-bio-box .wba-author-social-link span {
	background: transparent !important;
	color: #fff !important;
	fill: #fff !important;
}

@media (max-width: 782px) {
	.wba-single-header .wba-single-meta-row {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 12px 18px !important;
	}

	.wba-single-header .wba-single-author,
	.wba-single-header .wba-single-date,
	.wba-single-header .wba-single-comments-link {
		grid-column: auto !important;
		width: auto !important;
		text-align: center !important;
	}
}



/* 0.2.10 — larger editorial copy, desktop author refinements and bounded tables. */
:root {
	--wba-copy-size-desktop: 1.3125rem;
	--wba-copy-line-height-desktop: 1.72;
	--wba-copy-size-mobile: 1.1875rem;
	--wba-copy-line-height-mobile: 1.72;
}

@media (min-width: 783px) {
	/*
	 * Keep every product/comparison table inside the article column. The table
	 * itself may remain wider and scroll horizontally, but its viewport always
	 * begins at the article's left edge instead of being centered or clipped.
	 */
	.wba-single-content {
		min-width: 0 !important;
	}

	.wba-single-content > .wp-block-table,
	.wba-single-content > [class*="riovizual"],
	.wba-single-content > [class*="rio-vizual"],
	.wba-single-content > [class*="product-table"],
	.wba-single-content > [class*="comparison-table"],
	.wba-single-content .wba-product-table-boundary,
	.wba-single-content .wba-product-table-viewport {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	.wba-single-content .wba-product-table-viewport,
	.wba-single-content > .wp-block-table {
		overflow-x: auto !important;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scroll-padding-left: 0 !important;
	}

	.wba-single-content .wba-product-table-viewport > table,
	.wba-single-content > .wp-block-table > table {
		margin-left: 0 !important;
		transform: none !important;
	}
}

/*
 * Simple Author Box can reserve a desktop column for the avatar. JavaScript
 * expands the social row back to the full card width; these declarations make
 * that row a centered, non-floating flex container before JavaScript runs.
 */
.saboxplugin-wrap .saboxplugin-socials,
.wba-author-bio-box .wba-author-socials,
.wba-author-bio-box .wp-block-social-links {
	box-sizing: border-box !important;
	clear: both !important;
	float: none !important;
	position: relative !important;
	display: flex !important;
	grid-column: 1 / -1 !important;
	align-self: stretch !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 18px !important;
	padding-left: 18px !important;
	text-align: center !important;
	transform: none !important;
}


@media (min-width: 783px) {
	/* 0.2.11 — true left-edge normalization for wide product tables. */
	/*
	 * RioVizual can place a wide table inside centered flex/grid wrappers. That
	 * creates negative overflow: the scrollbar is at zero, but the first products
	 * are already outside the visible area. JavaScript marks only the wrappers on
	 * the path to the table; these rules align that path to the article's left edge
	 * without changing cells, column widths, images, buttons or table typography.
	 */
	.wba-single-content .wp-block-riovizual-tablebuilder,
	.wba-single-content .wba-product-table-boundary,
	.wba-single-content .wba-product-table-viewport {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		inset-inline-start: auto !important;
		inset-inline-end: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		translate: none !important;
		direction: ltr !important;
	}

	.wba-single-content .wba-product-table-viewport {
		display: block !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scroll-padding-inline-start: 0 !important;
	}

	.wba-single-content .wba-product-table-path {
		margin-right: 0 !important;
		margin-left: 0 !important;
		inset-inline-start: auto !important;
		inset-inline-end: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		translate: none !important;
	}

	.wba-single-content .wba-product-table-flex-start {
		justify-content: flex-start !important;
	}

	.wba-single-content .wba-product-table-grid-start {
		justify-content: start !important;
		justify-items: start !important;
	}

	.wba-single-content .wba-product-table-inner {
		max-width: none !important;
		overflow-x: visible !important;
	}

	.wba-single-content table.wba-product-table-element {
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		inset-inline-start: auto !important;
		inset-inline-end: auto !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		translate: none !important;
		direction: ltr !important;
	}
}

/* 0.2.14 — let RioVizual fully own product-table responsiveness on mobile. */
@media (max-width: 782px) {
	/*
	 * The article containers must not clip the plugin's own horizontal viewport.
	 * Full-page overflow remains blocked by the outer page shell above.
	 */
	.wba-article-body,
	.wba-article-column,
	.wba-single-content {
		overflow-x: visible !important;
	}

	/*
	 * Only keep the RioVizual block within the article width. Do not override its
	 * transform, internal widths, overflow, scroll position or responsive classes.
	 */
	.wba-single-content > .wp-block-riovizual-tablebuilder {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
	}
}

/* 0.2.15 — tested mobile table scrolling, stacked post metadata and safe product images. */

/*
 * Product images must never be treated as author avatars. This CSS is a
 * defensive fallback; navigation.js also excludes table images from author
 * detection before applying inline avatar dimensions.
 */
.wba-single-content .wp-block-riovizual-tablebuilder table tr:nth-child(2) > th,
.wba-single-content .wp-block-riovizual-tablebuilder table tr:nth-child(2) > td,
.wba-single-content [class*="riovizual"] table tr:nth-child(2) > th,
.wba-single-content [class*="riovizual"] table tr:nth-child(2) > td,
.wba-single-content [class*="rio-vizual"] table tr:nth-child(2) > th,
.wba-single-content [class*="rio-vizual"] table tr:nth-child(2) > td {
	overflow: visible !important;
}

.wba-single-content .wp-block-riovizual-tablebuilder table tr:nth-child(2) figure,
.wba-single-content .wp-block-riovizual-tablebuilder table tr:nth-child(2) picture,
.wba-single-content [class*="riovizual"] table tr:nth-child(2) figure,
.wba-single-content [class*="riovizual"] table tr:nth-child(2) picture,
.wba-single-content [class*="rio-vizual"] table tr:nth-child(2) figure,
.wba-single-content [class*="rio-vizual"] table tr:nth-child(2) picture {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	aspect-ratio: auto !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
}

.wba-single-content .wp-block-riovizual-tablebuilder table tr:nth-child(2) img,
.wba-single-content [class*="riovizual"] table tr:nth-child(2) img,
.wba-single-content [class*="rio-vizual"] table tr:nth-child(2) img {
	position: static !important;
	float: none !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	max-height: 300px !important;
	aspect-ratio: auto !important;
	margin-right: auto !important;
	margin-left: auto !important;
	border-radius: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	transform: none !important;
}

@media (max-width: 782px) {
	/* Author, date and comments each occupy their own centered row. */
	.wba-single-header .wba-single-meta-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.wba-single-header .wba-single-author,
	.wba-single-header .wba-single-date,
	.wba-single-header .wba-single-comments-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		margin: 0 !important;
		text-align: center !important;
	}

	.wba-single-header .wba-meta-separator {
		display: none !important;
	}
}

/*
 * Mobile Table Fixes (RioVizual & Standard Tables)
 * Integrated from the child-theme solution supplied and tested by the site owner.
 */
@media screen and (max-width: 768px) {
	.riovizual-table-wrapper,
	.rv-table-container,
	.wp-block-table,
	.table-responsive {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		margin-bottom: 1.5em;
	}

	table,
	table.riovizual-table,
	table.rv-table {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		border-collapse: collapse !important;
		white-space: nowrap !important;
	}

	table th,
	table td {
		min-width: 150px;
		word-wrap: break-word;
		white-space: normal;
	}

	table.riovizual-table {
		box-shadow: none !important;
	}
}

/* 0.2.16 — masthead-only author avatar detection and mobile centering. */

/*
 * The avatar is defined only by the explicit post-author block in the article
 * masthead. Ordinary images inside .wba-single-content are never avatar targets.
 */
.wba-single-header .wba-single-author .wp-block-post-author__avatar img {
	border-radius: 999px !important;
	object-fit: cover !important;
}

@media (max-width: 782px) {
	/* Center the complete author unit, including its avatar, beneath the H1. */
	.wba-single-header .wba-single-meta-row .wba-single-author {
		display: inline-flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		justify-content: center !important;
		width: fit-content !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.wba-single-header .wba-single-author .wp-block-post-author__avatar {
		flex: 0 0 auto !important;
		margin: 0 10px 0 0 !important;
	}
}

/* 0.2.17 — clearer spacing in product KEY FEATURES / PROS / CONS sections. */

/*
 * Keep the existing product-card design intact while giving its content a
 * consistent vertical rhythm in every single-post article.
 */
.wba-single-content .wba-product-detail-heading {
	margin-top: 20px !important;
	margin-bottom: 16px !important;
	line-height: 1.3 !important;
}

.wba-single-content .wba-product-detail-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 13px !important;
	margin-top: 0 !important;
	margin-bottom: 22px !important;
}

.wba-single-content .wba-product-detail-list > li,
.wba-single-content .wba-product-detail-list > li + li {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.45 !important;
}

/* Remove accidental inner margins without changing icons or list structure. */
.wba-single-content .wba-product-detail-list > li > :first-child {
	margin-top: 0 !important;
}

.wba-single-content .wba-product-detail-list > li > :last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 782px) {
	.wba-single-content .wba-product-detail-heading {
		margin-top: 18px !important;
		margin-bottom: 14px !important;
	}

	.wba-single-content .wba-product-detail-list {
		gap: 12px !important;
		margin-bottom: 20px !important;
	}
}

/* 0.2.18 — stronger product-detail card padding and internal spacing. */

/*
 * Add visible breathing room inside every detected KEY FEATURES / PROS / CONS
 * product card while preserving its width, border, colors, icons and button.
 */
.wba-single-content .wba-product-detail-card {
	box-sizing: border-box !important;
	padding: 34px 36px 32px !important;
	column-gap: 32px !important;
	row-gap: 32px !important;
}

.wba-single-content .wba-product-detail-card .wp-block-columns {
	column-gap: 32px !important;
	row-gap: 32px !important;
}

.wba-single-content .wba-product-detail-section {
	box-sizing: border-box !important;
	min-width: 0 !important;
}

.wba-single-content .wba-product-detail-heading {
	margin-top: 0 !important;
	margin-bottom: 22px !important;
}

.wba-single-content .wba-product-detail-list {
	gap: 18px !important;
	margin-top: 0 !important;
	margin-bottom: 26px !important;
}

.wba-single-content .wba-product-detail-list > li,
.wba-single-content .wba-product-detail-list > li + li {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.5 !important;
}

@media (max-width: 782px) {
	.wba-single-content .wba-product-detail-card {
		padding: 26px 22px 24px !important;
		column-gap: 26px !important;
		row-gap: 26px !important;
	}

	.wba-single-content .wba-product-detail-card .wp-block-columns {
		column-gap: 26px !important;
		row-gap: 26px !important;
	}

	.wba-single-content .wba-product-detail-heading {
		margin-top: 0 !important;
		margin-bottom: 18px !important;
	}

	.wba-single-content .wba-product-detail-list {
		gap: 16px !important;
		margin-bottom: 22px !important;
	}
}



/* 0.2.41: Search results spacing only. */
body.search .wba-archive-main > .wp-block-query-title {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
}

body.search .wba-archive-main > .wp-block-search {
	margin-top: 0 !important;
	margin-bottom: 40px !important;
}


/* 0.2.51 — WBA Score homepage section. */
.wba-score-homepage-section {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	overflow: hidden;
	padding: clamp(72px, 8vw, 108px) 0;
	background:
		radial-gradient(circle at 78% 25%, rgba(56, 182, 255, .20), transparent 33%),
		linear-gradient(135deg, #05172b 0%, #0b2948 62%, #081f38 100%);
	font-family: "DM Sans", Arial, sans-serif;
}

.wba-score-homepage-inner {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 1440px);
	margin-inline: auto;
}

.wba-score-homepage-grid {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(680px, 1.28fr);
	align-items: center;
	gap: clamp(38px, 5vw, 68px);
}

.wba-score-homepage-copy {
	min-width: 0;
}

.wba-score-homepage-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: #38b6ff;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.wba-score-homepage-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
}

.wba-score-homepage-copy h2 {
	max-width: 570px;
	margin: 14px 0 21px;
	color: #fff;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(3rem, 5vw, 4.75rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: 1.02;
}

.wba-score-homepage-description {
	max-width: 610px;
	margin: 0;
	color: #c1cedb;
	font-size: 1.05rem;
	line-height: 1.55;
}

.wba-score-homepage-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	margin-top: 30px;
	padding: 0 21px;
	border-radius: 999px;
	background: #38b6ff;
	color: #081c34 !important;
	font-size: .88rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .2s ease, background-color .2s ease;
}

.wba-score-homepage-button:hover {
	transform: translateY(-2px);
	background: #61c6ff;
}

.wba-score-homepage-card {
	display: grid;
	grid-template-columns: minmax(380px, 1.12fr) minmax(340px, .88fr);
	width: 100%;
	min-height: 520px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 30px;
	background: rgba(255, 255, 255, .08);
	box-shadow: 0 34px 80px rgba(0, 4, 12, .44);
	backdrop-filter: blur(14px);
}

.wba-score-homepage-product {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	overflow: hidden;
	background: linear-gradient(160deg, rgba(232, 248, 255, .98), rgba(178, 226, 251, .95));
}

.wba-score-homepage-product::before {
	content: "";
	position: absolute;
	top: 38px;
	left: 50%;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	background: #fff;
	opacity: .64;
	transform: translateX(-50%);
}

.wba-score-homepage-product img {
	position: absolute;
	z-index: 1;
	bottom: -92px;
	left: 50%;
	width: auto;
	max-width: none;
	height: 650px;
	object-fit: contain;
	filter: drop-shadow(0 24px 25px rgba(8, 28, 52, .20));
	transform: translateX(-50%);
}

.wba-score-homepage-results {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 38px 30px 38px 34px;
	background: linear-gradient(155deg, rgba(18, 52, 84, .96), rgba(7, 27, 49, .98));
	color: #fff;
}

.wba-score-homepage-number {
	margin: 0;
	color: #fff;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(4.6rem, 8vw, 6.8rem);
	letter-spacing: -.06em;
	line-height: .8;
}

.wba-score-homepage-label {
	margin: 25px 0 0;
	color: #62c7ff;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.wba-score-homepage-results h3 {
	margin: 18px 0 20px;
	color: #fff;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 1.65rem;
	font-weight: 600;
	line-height: 1.05;
}

.wba-score-homepage-metrics {
	display: grid;
	grid-template-columns: minmax(104px, 1fr) minmax(74px, 112px) max-content;
	align-items: center;
	column-gap: 12px;
	row-gap: 13px;
	min-width: 0;
}

.wba-score-homepage-metric {
	display: contents;
	color: #d8e4ee;
}

.wba-score-homepage-metric > span:first-child {
	min-width: 0;
}

.wba-score-homepage-track {
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
}

.wba-score-homepage-track i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #0a8ed8, #38b6ff);
}

.wba-score-homepage-metric b {
	min-width: 0;
	justify-self: end;
	color: #fff;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	text-align: right;
	white-space: nowrap;
}

@media (max-width: 1180px) {
	.wba-score-homepage-grid {
		grid-template-columns: 1fr;
	}

	.wba-score-homepage-copy {
		max-width: 720px;
	}

	.wba-score-homepage-card {
		max-width: 820px;
	}
}

@media (max-width: 700px) {
	.wba-score-homepage-inner {
		width: min(100% - 30px, 1440px);
	}
}

@media (max-width: 620px) {
	.wba-score-homepage-section {
		padding: 64px 0;
	}

	.wba-score-homepage-copy h2 {
		font-size: clamp(2.65rem, 12vw, 3.4rem);
	}

	.wba-score-homepage-card {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.wba-score-homepage-product {
		min-height: 410px;
	}

	.wba-score-homepage-product::before {
		top: 34px;
		width: 330px;
		height: 330px;
	}

	.wba-score-homepage-product img {
		bottom: -78px;
		height: 520px;
	}

	.wba-score-homepage-results {
		padding: 30px 24px;
	}

	.wba-score-homepage-number {
		font-size: 5.4rem;
	}

	.wba-score-homepage-metrics {
		grid-template-columns: minmax(108px, 1fr) minmax(72px, 100px) max-content;
		column-gap: 10px;
		row-gap: 12px;
	}

	.wba-score-homepage-metric > span:first-child {
		font-size: .72rem;
	}

	.wba-score-homepage-metric b {
		font-size: .9rem;
	}
}

@media (max-width: 380px) {
	.wba-score-homepage-results {
		padding-inline: 20px;
	}

	.wba-score-homepage-number {
		font-size: 4.7rem;
	}

	.wba-score-homepage-metrics {
		grid-template-columns: minmax(94px, 1fr) minmax(54px, 78px) max-content;
		column-gap: 8px;
	}

	.wba-score-homepage-metric > span:first-child,
	.wba-score-homepage-metric b {
		font-size: .72rem;
	}
}


/* 0.2.55 — Homepage How I Test section. */
.wba-testing-homepage-section {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	overflow: hidden;
	padding: clamp(64px, 8vw, 110px) 0;
	background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
	font-family: "DM Sans", Arial, sans-serif;
}

.wba-testing-homepage-section::after {
	content: "";
	position: absolute;
	right: -220px;
	bottom: -230px;
	width: 380px;
	height: 380px;
	border: 52px solid rgba(56, 182, 255, .11);
	border-radius: 50%;
}

.wba-testing-homepage-inner {
	width: min(calc(100% - (2 * var(--wba-page-gutter))), 1440px);
	margin-inline: auto;
}

.wba-testing-homepage-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
	align-items: center;
	gap: clamp(44px, 7vw, 90px);
}

.wba-testing-homepage-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 15px;
	color: #178fd1;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.wba-testing-homepage-eyebrow::before {
	content: "";
	width: 30px;
	height: 3px;
	border-radius: 999px;
	background: #38b6ff;
}

.wba-testing-homepage-copy h2 {
	max-width: 760px;
	margin: 0;
	color: #0b2742;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: clamp(2.7rem, 4.3vw, 4.15rem);
	font-weight: 600;
	letter-spacing: -.046em;
	line-height: 1.04;
}

.wba-testing-homepage-description {
	max-width: 680px;
	margin: 22px 0 0;
	color: #637589;
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.75;
}

.wba-testing-homepage-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-height: 54px;
	margin-top: 31px;
	padding: 0 24px;
	border-radius: 999px;
	background: #0b2742;
	box-shadow: 0 12px 24px rgba(11, 39, 66, .16);
	color: #fff !important;
	font-size: .95rem;
	font-weight: 800;
	text-decoration: none !important;
	transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.wba-testing-homepage-button:hover {
	transform: translateY(-2px);
	background: #123a5c;
	box-shadow: 0 16px 30px rgba(11, 39, 66, .21);
}

.wba-testing-homepage-button span {
	font-size: 1.25rem;
	line-height: 1;
}

.wba-testing-homepage-media {
	position: relative;
	min-height: 550px;
}

.wba-testing-homepage-photo {
	position: absolute;
	inset: 0 58px 58px 0;
	overflow: hidden;
	border-radius: 34px;
	box-shadow: 0 24px 70px rgba(11, 39, 66, .12);
}

.wba-testing-homepage-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wba-testing-homepage-result-card {
	position: absolute;
	right: 0;
	bottom: 0;
	width: min(330px, 73%);
	padding: 21px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 20px 45px rgba(11, 39, 66, .17);
	backdrop-filter: blur(14px);
}

.wba-testing-homepage-result-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.wba-testing-homepage-result-top strong {
	color: #0b2742;
	font-size: .95rem;
}

.wba-testing-homepage-completed {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #26774c;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.wba-testing-homepage-completed::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #49bb7b;
	box-shadow: 0 0 0 5px rgba(73, 187, 123, .13);
}

.wba-testing-homepage-meter {
	height: 9px;
	margin: 18px 0 14px;
	overflow: hidden;
	border-radius: 999px;
	background: #e6eff5;
}

.wba-testing-homepage-meter span {
	display: block;
	width: 82%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #38b6ff, #157bbd);
}

.wba-testing-homepage-result-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 15px;
}

.wba-testing-homepage-result-row span {
	color: #637589;
	font-size: .75rem;
	font-weight: 600;
}

.wba-testing-homepage-result-row strong {
	color: #0b2742;
	font-size: 1.8rem;
	letter-spacing: -.04em;
	line-height: 1;
}

@media (max-width: 970px) {
	.wba-testing-homepage-grid {
		grid-template-columns: 1fr;
	}

	.wba-testing-homepage-media {
		min-height: 500px;
	}
}

@media (max-width: 700px) {
	.wba-testing-homepage-inner {
		width: min(100% - 30px, 1440px);
	}
}

@media (max-width: 680px) {
	.wba-testing-homepage-section {
		padding: 58px 0;
	}

	.wba-testing-homepage-copy h2 {
		font-size: 2.32rem;
	}

	.wba-testing-homepage-media {
		min-height: 415px;
	}

	.wba-testing-homepage-photo {
		inset: 0 24px 72px 0;
		border-radius: 25px;
	}

	.wba-testing-homepage-result-card {
		z-index: 3;
		left: 48px;
		right: 0;
		bottom: 0;
		width: auto;
		padding: 17px;
		border-radius: 19px;
		background: #fff;
		box-shadow: 0 18px 36px rgba(11, 39, 66, .18);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.wba-testing-homepage-result-card * {
		opacity: 1;
		visibility: visible;
	}
}

/* 0.2.61 — removable, deduplicated article affiliate disclosure with portable About link. */
.wba-affiliate-disclosure-pattern {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 34px !important;
	padding: 17px 20px 17px 24px !important;
	border: 1px solid #e0e7ee;
	border-radius: 10px;
	background: #f9fbfd;
	box-shadow: none;
	color: #526275;
	font-family: "DM Sans", Arial, sans-serif;
}

.wba-affiliate-disclosure-pattern::before {
	content: "";
	position: absolute;
	top: 12px;
	bottom: 12px;
	left: -1px;
	width: 3px;
	border-radius: 3px;
	background: #38b6ff;
}

.wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__head {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 9px;
	margin: 0 0 7px !important;
	padding: 0 !important;
}

.wba-affiliate-disclosure-pattern__icon {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background-color: #eaf7ff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23087dbd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v5c0 4.6 2.8 8.2 7 10 4.2-1.8 7-5.4 7-10V6l-7-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
}

.wba-single-content .wba-affiliate-disclosure-pattern p,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern p {
	margin: 0 !important;
	font-family: "DM Sans", Arial, sans-serif !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__label,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__label {
	color: #081c34 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: .065em !important;
	text-transform: uppercase;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__copy,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__copy {
	color: #526275 !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.62 !important;
	letter-spacing: 0 !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__copy strong,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__copy strong {
	color: #293d52 !important;
	font-weight: 700 !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more {
	margin-top: 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more a,
.editor-styles-wrapper .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more a {
	color: #087dbd !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more a:hover {
	color: #081c34 !important;
}

.wba-single-content .wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more a:focus-visible {
	border-radius: 2px;
	outline: 2px solid #38b6ff;
	outline-offset: 3px;
}

@media (max-width: 700px) {
	.wba-affiliate-disclosure-pattern {
		margin-bottom: 30px !important;
		padding: 16px 16px 16px 20px !important;
	}
}

/* 0.2.63 — canonical editable "JK bio" pattern. */
.wba-single-content .wba-jk-bio,
.editor-styles-wrapper .wba-jk-bio {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 64px 0 0 !important;
	padding: 42px 42px 36px !important;
	border: 1px solid #d8e4ec;
	border-radius: 18px;
	background: #f7fafc;
	color: #172231;
	font-family: "DM Sans", Arial, sans-serif;
	text-align: center;
}

.wba-single-content .wba-jk-bio::before,
.editor-styles-wrapper .wba-jk-bio::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 86px;
	height: 3px;
	border-radius: 0 0 4px 4px;
	background: #0a8ed8;
	transform: translateX(-50%);
}

.wba-single-content .wba-jk-bio__photo,
.editor-styles-wrapper .wba-jk-bio__photo {
	display: block;
	width: 148px;
	height: 148px;
	margin: 0 auto 20px !important;
	padding: 0;
	border: 0;
}

.wba-single-content figure.wba-jk-bio__photo img,
.editor-styles-wrapper .wba-jk-bio__photo img {
	box-sizing: border-box;
	display: block;
	width: 148px !important;
	height: 148px !important;
	max-width: none !important;
	margin: 0;
	padding: 0;
	border: 5px solid #fff;
	border-radius: 50%;
	object-fit: cover;
	object-position: 50% 50%;
	box-shadow: 0 0 0 1px #dce3ea;
}

.wba-single-content .wba-jk-bio__label,
.editor-styles-wrapper .wba-jk-bio__label {
	margin: 0 0 7px !important;
	color: #0a8ed8;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 11px !important;
	font-weight: 800;
	line-height: 1.3 !important;
	letter-spacing: .09em;
	text-align: center;
	text-transform: uppercase;
}

.wba-single-content .wba-jk-bio__name,
.editor-styles-wrapper .wba-jk-bio__name {
	margin: 0 !important;
	color: #172231;
	font-family: var(--wba-font-heading, "IBM Plex Sans", Arial, sans-serif);
	font-size: 30px !important;
	font-weight: 600;
	line-height: 1.08 !important;
	letter-spacing: -.025em;
	text-align: center;
}

.wba-single-content .wba-jk-bio__description,
.editor-styles-wrapper .wba-jk-bio__description {
	max-width: 640px;
	margin: 12px auto 0 !important;
	color: #566476;
	font-family: "DM Sans", Arial, sans-serif;
	font-size: 15px !important;
	font-weight: 400;
	line-height: 1.68 !important;
	letter-spacing: 0;
	text-align: center;
}

.wba-single-content .wba-jk-bio__description a,
.editor-styles-wrapper .wba-jk-bio__description a {
	color: inherit;
	font-weight: 500;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.wba-single-content .wba-jk-bio__description a:hover,
.editor-styles-wrapper .wba-jk-bio__description a:hover {
	color: #0a8ed8;
}

.wba-single-content .wba-jk-bio__socials,
.editor-styles-wrapper .wba-jk-bio__socials {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	margin: 20px auto 0;
	padding: 0;
	text-align: center;
}

.wba-single-content .wba-jk-bio__social,
.editor-styles-wrapper .wba-jk-bio__social {
	box-sizing: border-box;
	display: grid;
	flex: 0 0 44px;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 50%;
	background: #0b2340;
	color: #fff;
	line-height: 0;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(8, 28, 52, .16);
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.wba-single-content .wba-jk-bio__social::before,
.editor-styles-wrapper .wba-jk-bio__social::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.wba-single-content .wba-jk-bio__social--email::before,
.editor-styles-wrapper .wba-jk-bio__social--email::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/%3E%3C/svg%3E");
}

.wba-single-content .wba-jk-bio__social--linkedin::before,
.editor-styles-wrapper .wba-jk-bio__social--linkedin::before {
	width: 19px;
	height: 19px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88Zm-46.49-340.7C24.09 107.3 0 83.2 0 53.6A53.6 53.6 0 0 1 107.2 53.6c0 29.6-24.1 53.7-53.6 53.7ZM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88Zm-46.49-340.7C24.09 107.3 0 83.2 0 53.6A53.6 53.6 0 0 1 107.2 53.6c0 29.6-24.1 53.7-53.6 53.7ZM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448Z'/%3E%3C/svg%3E");
}

.wba-single-content .wba-jk-bio__social:hover,
.editor-styles-wrapper .wba-jk-bio__social:hover {
	transform: translateY(-2px);
	box-shadow: 0 7px 18px rgba(8, 28, 52, .22);
}

.wba-single-content .wba-jk-bio__social--email:hover,
.editor-styles-wrapper .wba-jk-bio__social--email:hover {
	background: #0a8ed8;
}

.wba-single-content .wba-jk-bio__social--linkedin:hover,
.editor-styles-wrapper .wba-jk-bio__social--linkedin:hover {
	background: #0a66c2;
}

.wba-single-content .wba-jk-bio__social:focus-visible,
.editor-styles-wrapper .wba-jk-bio__social:focus-visible {
	outline: 3px solid rgba(10, 142, 216, .35);
	outline-offset: 3px;
}

@media (max-width: 720px) {
	.wba-single-content .wba-jk-bio,
	.editor-styles-wrapper .wba-jk-bio {
		margin-top: 52px !important;
		padding: 36px 22px 30px !important;
	}

	.wba-single-content .wba-jk-bio__photo,
	.editor-styles-wrapper .wba-jk-bio__photo,
	.wba-single-content figure.wba-jk-bio__photo img,
	.editor-styles-wrapper .wba-jk-bio__photo img {
		width: 132px !important;
		height: 132px !important;
	}

	.wba-single-content .wba-jk-bio__photo,
	.editor-styles-wrapper .wba-jk-bio__photo {
		margin-bottom: 18px !important;
	}

	.wba-single-content .wba-jk-bio__name,
	.editor-styles-wrapper .wba-jk-bio__name {
		font-size: 28px !important;
	}

	.wba-single-content .wba-jk-bio__description,
	.editor-styles-wrapper .wba-jk-bio__description {
		font-size: 14.5px !important;
	}
}

.wba-single-content .wba-jk-bio .screen-reader-text,
.editor-styles-wrapper .wba-jk-bio .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}


/* 0.2.65 — Amazon Associates identification in the global footer. */
.wba-amazon-associate-disclosure {
	margin-top: 28px;
	margin-bottom: 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	color: #dbe6ef !important;
	font-size: .78rem !important;
	line-height: 1.5;
}

.wba-amazon-associate-disclosure strong {
	color: #eef6fb;
	font-weight: 600;
}

.wba-amazon-associate-disclosure + .wba-footer-bottom {
	margin-top: 10px;
	padding-top: 0;
	border-top: 0;
}


/* CSS durability 2026-10-08: staging-validated search and single-post rules. */
body.search .wp-block-search__input,
body.search .wp-block-search__button,
body.search .wba-archive-card,
.wba-search-dialog__panel,
.wba-search-dialog__close,
.wba-search-dialog__input,
.wba-search-dialog__submit { border-radius: 0 !important; }

body:is(.single-post, .wba-article-context) .wp-post-image,
body:is(.single-post, .wba-article-context) .wba-affiliate-disclosure-pattern,
body:is(.single-post, .wba-article-context) .wba-affiliate-disclosure-pattern__icon,
body:is(.single-post, .wba-article-context) .wba-toc,
body:is(.single-post, .wba-article-context) .wba-jk-bio,
body:is(.single-post, .wba-article-context) .wba-comments,
body:is(.single-post, .wba-article-context) .wba-comments .comment,
body:is(.single-post, .wba-article-context) .wba-comments .comment-body,
body:is(.single-post, .wba-article-context) .wba-comments input,
body:is(.single-post, .wba-article-context) .wba-comments textarea,
body:is(.single-post, .wba-article-context) .wba-comments .wp-block-button__link { border-radius: 0 !important; }

body:is(.single-post, .wba-article-context) .wba-single-content {
  --wba-rhythm-paragraph: 1.28em;
  --wba-rhythm-list: 1.4em;
  --wba-rhythm-h2-top: 4.5rem;
  --wba-rhythm-h3-top: 3.25rem;
  --wba-rhythm-h4-top: 2.5rem;
  --wba-rhythm-media: 2.15rem;
  --wba-rhythm-utility: 2rem;
  --wba-rhythm-product-summary: 2.25rem;
}
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-spacer { height: 0 !important; min-height: 0 !important; margin: 0 !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > .wba-product-summary { margin-bottom: var(--wba-rhythm-product-summary) !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > p { margin-top: 0 !important; margin-bottom: var(--wba-rhythm-paragraph) !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > ul,
body:is(.single-post, .wba-article-context) .wba-single-content > ol { margin-top: 0 !important; margin-bottom: var(--wba-rhythm-list) !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > h2,
body:is(.single-post, .wba-article-context) .wba-single-content > section:not(.wba-jk-bio) > h2 { margin-top: var(--wba-rhythm-h2-top) !important; margin-bottom: .58em !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > h3,
body:is(.single-post, .wba-article-context) .wba-single-content > section > h3 { margin-top: var(--wba-rhythm-h3-top) !important; margin-bottom: .55em !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > h4,
body:is(.single-post, .wba-article-context) .wba-single-content > section > h4 { margin-top: var(--wba-rhythm-h4-top) !important; margin-bottom: .5em !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright),
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-gallery,
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-embed,
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-video { margin-top: var(--wba-rhythm-media) !important; margin-bottom: var(--wba-rhythm-media) !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-table,
body:is(.single-post, .wba-article-context) .wba-single-content > blockquote { margin-top: var(--wba-rhythm-utility) !important; margin-bottom: var(--wba-rhythm-utility) !important; }
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-buttons,
body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-essential-blocks-button { margin-top: 1.75rem !important; margin-bottom: 1.75rem !important; }
body:is(.single-post, .wba-article-context) .wba-single-content img:not(.wba-product-summary *):not(.wba-jk-bio *):not(.wba-retailer-endcap *):not(.wba-affiliate-disclosure-pattern *):not(.wba-toc *):not(.wba-comments *):not(.avatar),
body:is(.single-post, .wba-article-context) .wba-single-content figure:has(img):not(.wba-product-summary *):not(.wba-jk-bio *):not(.wba-retailer-endcap *):not(.wba-affiliate-disclosure-pattern *):not(.wba-toc *):not(.wba-comments *),
body:is(.single-post, .wba-article-context) .wba-single-content figure:has(img):not(.wba-product-summary *):not(.wba-jk-bio *):not(.wba-retailer-endcap *):not(.wba-affiliate-disclosure-pattern *):not(.wba-toc *):not(.wba-comments *) > a,
body:is(.single-post, .wba-article-context) .wba-single-content .wp-block-gallery:not(.wba-product-summary *):not(.wba-jk-bio *):not(.wba-retailer-endcap *):not(.wba-affiliate-disclosure-pattern *):not(.wba-toc *):not(.wba-comments *),
body:is(.single-post, .wba-article-context) .wba-single-content .wp-block-gallery figure:not(.wba-product-summary *):not(.wba-jk-bio *):not(.wba-retailer-endcap *):not(.wba-affiliate-disclosure-pattern *):not(.wba-toc *):not(.wba-comments *) { border-radius: 0 !important; }

/* Keep the shared author-bio portrait circular after article image resets. */
body.wba-comparison-article .wba-single-content figure.wba-jk-bio__photo img { border-radius: 50% !important; clip-path: circle(50% at 50% 50%); -webkit-clip-path: circle(50% at 50% 50%); }

@media (max-width: 782px) {
  body:is(.single-post, .wba-article-context) .wba-single-content {
    --wba-rhythm-paragraph: 1.24em;
    --wba-rhythm-list: 1.32em;
    --wba-rhythm-h2-top: 3.5rem;
    --wba-rhythm-h3-top: 2.75rem;
    --wba-rhythm-h4-top: 2.15rem;
    --wba-rhythm-media: 1.75rem;
    --wba-rhythm-utility: 1.75rem;
    --wba-rhythm-product-summary: 1.75rem;
  }
  body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-buttons,
  body:is(.single-post, .wba-article-context) .wba-single-content > .wp-block-essential-blocks-button { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
}

/* Keep default-aligned editorial images flush with their figure and text column. */
body:is(.single-post, .wba-article-context) .wba-single-content > figure.wp-block-image:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull) img {
  width: 100% !important;
}

/* Legacy saved disclosures may still contain the retired icon and link. */
.wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__head { gap: 0; }
.wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__icon,
.wba-affiliate-disclosure-pattern .wba-affiliate-disclosure-pattern__more { display: none !important; }
/* Keep direct No AI policy fragment links clear of the sticky site header. */
#no-ai-policy{scroll-margin-top:110px}

/* Semantic article sections use the standard H2 scale; deeper ranking headings share it via article-heading-typography.css. */
body:is(.single-post, .wba-article-context) .wba-single-content > section:not(.wba-jk-bio) > h2 {
	margin-top: var(--wba-rhythm-h2-top) !important;
	margin-bottom: .58em !important;
	font-size: clamp(2.25rem, 4vw, 3.25rem) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
	scroll-margin-top: 110px;
}
body:is(.single-post, .wba-article-context) .wba-single-content > section > h3 {
	margin-top: var(--wba-rhythm-h3-top) !important;
	margin-bottom: .55em !important;
	font-size: clamp(1.72rem, 3vw, 2.25rem) !important;
	line-height: 1.08 !important;
	letter-spacing: -.025em !important;
	scroll-margin-top: 110px;
}
@media (max-width: 782px) {
	body:is(.single-post, .wba-article-context) .wba-single-content > section:not(.wba-jk-bio) > h2 { font-size: 2.25rem !important; line-height: 1.05 !important; }
	body:is(.single-post, .wba-article-context) .wba-single-content > section > h3 { font-size: 1.72rem !important; }
	body:is(.single-post, .wba-article-context) .wba-single-content > section:not(.wba-jk-bio) > h2,
	body:is(.single-post, .wba-article-context) .wba-single-content > section > h3 { scroll-margin-top: 132px; }
}
