.bks-resource {
	--bks-navy: #0d2f57;
	--bks-blue: #174d80;
	--bks-orange: #f47b20;
	--bks-ink: #172234;
	--bks-muted: #5f6f82;
	--bks-line: #dce6ef;
	--bks-soft: #f5f8fb;
	--bks-white: #ffffff;
	color: var(--bks-ink);
	background: var(--bks-white);
	font-size: 16px;
	line-height: 1.65;
}

.bks-resource *,
.bks-resource *::before,
.bks-resource *::after {
	box-sizing: border-box;
}

.bks-container {
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}

.bks-hero {
	background: linear-gradient(135deg, var(--bks-navy), var(--bks-blue));
	color: var(--bks-white);
	padding: 56px 0;
}

.bks-hero-inner {
	max-width: 820px;
}

.bks-hero h1,
.bks-section h2,
.bks-final-cta h2,
.bks-topic-grid-section h2,
.bks-archive-list h2 {
	margin: 0;
	line-height: 1.12;
	letter-spacing: 0;
}

.bks-hero h1 {
	font-size: 2.4rem;
}

.bks-subtitle {
	max-width: 760px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 1.1rem;
}

.bks-eyebrow {
	margin: 0 0 10px;
	color: var(--bks-orange);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.bks-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 24px;
	padding: 12px 18px;
	border: 2px solid var(--bks-orange);
	border-radius: 6px;
	background: var(--bks-orange);
	color: var(--bks-white);
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(244, 123, 32, 0.18);
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, color 160ms ease;
}

.bks-button:hover,
.bks-button:focus {
	background: #d86513;
	border-color: #d86513;
	color: var(--bks-white);
	box-shadow: 0 12px 26px rgba(244, 123, 32, 0.26);
	transform: translateY(-1px);
}

.bks-button-light {
	background: var(--bks-white);
	border-color: var(--bks-white);
	color: var(--bks-navy);
}

.bks-button-light:hover,
.bks-button-light:focus {
	background: var(--bks-soft);
	border-color: var(--bks-soft);
	color: var(--bks-navy);
	box-shadow: 0 12px 24px rgba(13, 47, 87, 0.16);
}

.bks-button-outline {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.8);
	color: var(--bks-white);
}

.bks-button-outline:hover,
.bks-button-outline:focus {
	background: var(--bks-white);
	border-color: var(--bks-white);
	color: var(--bks-navy);
	box-shadow: 0 12px 24px rgba(13, 47, 87, 0.16);
}

.bks-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.bks-hero-actions .bks-button {
	margin-top: 0;
}

.bks-layout {
	padding: 40px 0 64px;
}

.bks-main-column {
	max-width: 880px;
	margin: 0 auto;
}

.bks-quick-answer,
.bks-section,
.bks-final-cta,
.bks-disclaimer,
.bks-empty-state {
	margin-top: 28px;
}

.bks-quick-answer {
	padding: 24px;
	border: 1px solid #f5cfad;
	border-left: 5px solid var(--bks-orange);
	border-radius: 8px;
	background: #fffaf5;
}

.bks-quick-answer h2 {
	margin: 0 0 10px;
	font-size: 1.35rem;
}

.bks-quick-answer p:last-child,
.bks-card p:last-child,
.bks-final-cta p:last-child,
.bks-disclaimer p:last-child {
	margin-bottom: 0;
}

.bks-section {
	padding-top: 12px;
}

.bks-section h2,
.bks-topic-grid-section h2,
.bks-archive-list h2 {
	color: var(--bks-navy);
	font-size: 1.75rem;
}

.bks-section-header {
	margin-bottom: 18px;
}

.bks-content {
	font-size: 1.05rem;
}

.bks-content img {
	max-width: 100%;
	height: auto;
}

.bks-video-frame {
	overflow: hidden;
	border-radius: 8px;
	background: var(--bks-soft);
}

.bks-video-frame iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
}

.bks-card-grid,
.bks-topic-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.bks-card,
.bks-topic-card,
.bks-question-card,
.bks-empty-state {
	padding: 18px;
	border: 1px solid var(--bks-line);
	border-radius: 8px;
	background: var(--bks-white);
	box-shadow: 0 10px 30px rgba(13, 47, 87, 0.06);
}

.bks-topic-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--bks-navy);
	text-decoration: none;
}

.bks-topic-card:hover,
.bks-topic-card:focus {
	border-color: var(--bks-orange);
	color: var(--bks-navy);
	transform: translateY(-1px);
}

.bks-topic-card span {
	font-weight: 800;
}

.bks-topic-card small {
	color: var(--bks-muted);
	font-size: 0.82rem;
	text-transform: capitalize;
}

.bks-card-title {
	margin: 0 0 8px;
	font-size: 1.15rem;
	line-height: 1.25;
}

.bks-card h3:not(.bks-card-title) {
	margin: 0 0 8px;
	color: var(--bks-navy);
	font-size: 1rem;
	line-height: 1.25;
}

.bks-card-title a,
.bks-review-card a {
	color: var(--bks-navy);
	text-decoration: none;
}

.bks-card-title a:hover,
.bks-card-title a:focus,
.bks-review-card a:hover,
.bks-review-card a:focus {
	color: var(--bks-orange);
	text-decoration: underline;
}

.bks-card-link {
	display: inline-block;
	margin-top: 12px;
	color: var(--bks-blue);
	font-weight: 700;
	text-decoration: none;
}

.bks-card-link:hover,
.bks-card-link:focus {
	color: var(--bks-orange);
	text-decoration: underline;
}

.bks-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 14px;
	object-fit: cover;
	border-radius: 6px;
	background: var(--bks-soft);
}

.bks-video-thumbnail {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--bks-radius);
	background: var(--bks-soft-bg);
}

.bks-card-avatar {
	display: block;
	width: 96px;
	height: 96px;
	margin: 0 0 14px;
	object-fit: cover;
	border-radius: 50%;
	background: var(--bks-soft);
}

.bks-attorney-hero-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: center;
	width: min(1120px, calc(100% - 32px));
	margin: 0 auto;
}

.bks-attorney-photo {
	width: 150px;
	height: 150px;
	object-fit: cover;
	border: 4px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: var(--bks-soft);
}

.bks-detail-list {
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 1px solid var(--bks-line);
	border-radius: 8px;
	background: var(--bks-soft);
}

.bks-detail-list p {
	margin: 0;
}

.bks-gallery-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

.bks-gallery-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
	background: var(--bks-soft);
}

.bks-steps {
	display: grid;
	gap: 12px;
	margin: 16px 0 0;
	padding-left: 22px;
}

.bks-steps li::marker {
	color: var(--bks-orange);
	font-weight: 700;
}

.bks-review-card {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 18px;
	border: 1px solid var(--bks-line);
	border-radius: 8px;
	background: var(--bks-soft);
}

.bks-review-card img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 50%;
}

.bks-review-card h3 {
	margin: 0 0 4px;
	font-size: 1.2rem;
}

.bks-muted {
	color: var(--bks-muted);
}

.bks-final-cta {
	padding: 28px;
	border-radius: 8px;
	background: var(--bks-navy);
	color: var(--bks-white);
}

.bks-final-cta h2 {
	color: var(--bks-white);
	font-size: 1.75rem;
}

.bks-final-cta p {
	max-width: 700px;
	color: rgba(255, 255, 255, 0.88);
}

.bks-disclaimer {
	padding: 16px;
	border-top: 1px solid var(--bks-line);
	color: var(--bks-muted);
	font-size: 0.92rem;
}

.bks-topic-grid-section,
.bks-archive-list {
	padding: 42px 0 0;
}

.bks-topic-card {
	border-left: 4px solid var(--bks-orange);
	color: var(--bks-navy);
	font-weight: 700;
}

.bks-resource-grid {
	margin-top: 18px;
}

.bks-three-grid {
	margin-top: 18px;
}

.bks-question-list {
	display: grid;
	gap: 12px;
}

.bks-question-card {
	border-left: 4px solid var(--bks-orange);
}

.bks-resource-center-cta {
	padding: 42px 0 64px;
}

.bks-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
}

.bks-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--bks-line);
	border-radius: 6px;
	color: var(--bks-navy);
	text-decoration: none;
}

.bks-pagination .current {
	background: var(--bks-navy);
	color: var(--bks-white);
}

@media (min-width: 700px) {
	.bks-card-grid,
	.bks-topic-grid,
	.bks-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bks-card-grid-small {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 980px) {
	.bks-hero {
		padding: 76px 0;
	}

	.bks-hero h1 {
		font-size: 4rem;
	}

	.bks-layout {
		padding-top: 56px;
	}

	.bks-attorney-hero-inner {
		grid-template-columns: 180px minmax(0, 1fr);
	}

	.bks-attorney-photo {
		width: 180px;
		height: 180px;
	}

	.bks-resource-grid,
	.bks-topic-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Phase 14: polished Resource Center layer scoped under .bks-site. */
.bks-site {
	--bks-navy: #0d2f57;
	--bks-blue: #174d80;
	--bks-orange: #f47b20;
	--bks-orange-dark: #d86513;
	--bks-text: #172234;
	--bks-muted: #5f6f82;
	--bks-border: #dce6ef;
	--bks-soft-bg: #f5f8fb;
	--bks-card-bg: #ffffff;
	--bks-radius: 18px;
	--bks-radius-sm: 12px;
	--bks-shadow: 0 18px 45px rgba(13, 47, 87, 0.09);
	--bks-shadow-soft: 0 10px 30px rgba(13, 47, 87, 0.06);
	width: 100%;
	overflow-x: clip;
	background: #ffffff;
	color: var(--bks-text);
	font-size: 16px;
	line-height: 1.65;
}

.bks-site,
.bks-site * {
	box-sizing: border-box;
}

.bks-site a {
	color: inherit;
	text-decoration: none;
}

.bks-site a:hover,
.bks-site a:focus {
	color: var(--bks-orange-dark);
	text-decoration: none;
}

.bks-site .bks-container,
.bks-site .bks-container-wide {
	width: min(100% - 32px, 1180px);
	margin-inline: auto;
}

.bks-site .bks-container {
	max-width: 880px;
}

.bks-site .bks-resource {
	background: linear-gradient(180deg, #ffffff 0%, #ffffff 48%, #f8fafc 100%);
	color: var(--bks-text);
}

.bks-site .bks-hero {
	position: relative;
	overflow: hidden;
	padding: 72px 0 86px;
	background: radial-gradient(circle at 82% 18%, rgba(244, 123, 32, 0.2), transparent 28%),
		linear-gradient(135deg, #082545 0%, var(--bks-navy) 55%, #123d68 100%);
	color: #ffffff;
}

.bks-site .bks-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -160px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
}

.bks-site .bks-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 860px;
}

.bks-site .bks-hero h1 {
	max-width: 900px;
	margin: 0;
	color: #ffffff;
	font-size: clamp(2.45rem, 6vw, 4.9rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.bks-site .bks-subtitle {
	max-width: 760px;
	margin: 22px 0 0;
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.65;
}

.bks-site .bks-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 22px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.9rem;
}

.bks-site .bks-breadcrumb a {
	color: rgba(255, 255, 255, 0.9);
	font-weight: 700;
}

.bks-site .bks-breadcrumb a:hover,
.bks-site .bks-breadcrumb a:focus {
	color: var(--bks-orange);
}

.bks-site .bks-breadcrumb .bks-breadcrumb-sep {
	color: rgba(255, 255, 255, 0.4);
}

.bks-site .bks-breadcrumb .bks-breadcrumb-current {
	overflow: hidden;
	max-width: min(420px, 52vw);
	color: rgba(255, 255, 255, 0.66);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bks-site .bks-eyebrow {
	margin: 0 0 12px;
	color: var(--bks-orange);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bks-site .bks-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 28px;
	padding: 12px 18px;
	border: 1px solid var(--bks-orange);
	border-radius: 999px;
	background: var(--bks-orange);
	color: #ffffff;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.bks-site .bks-button:hover,
.bks-site .bks-button:focus {
	background: var(--bks-orange-dark);
	border-color: var(--bks-orange-dark);
	color: #ffffff;
	box-shadow: 0 14px 30px rgba(244, 123, 32, 0.28);
	transform: translateY(-1px);
}

.bks-site .bks-button-outline {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.34);
	color: #ffffff;
}

.bks-site .bks-button-outline:hover,
.bks-site .bks-button-outline:focus {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--bks-navy);
	box-shadow: 0 14px 30px rgba(13, 47, 87, 0.18);
	transform: translateY(-1px);
}

.bks-site .bks-button-light {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--bks-navy);
}

.bks-site .bks-button-light:hover,
.bks-site .bks-button-light:focus {
	background: #fff7ef;
	border-color: #fff7ef;
	color: var(--bks-navy);
	box-shadow: 0 14px 30px rgba(13, 47, 87, 0.18);
	transform: translateY(-1px);
}

.bks-site .bks-topic-grid-section,
.bks-site .bks-archive-list,
.bks-site .bks-resource-center-cta {
	padding-top: 58px;
}

.bks-site .bks-section-header {
	display: grid;
	gap: 8px;
	max-width: 760px;
	margin-bottom: 22px;
}

.bks-site .bks-section-header h2,
.bks-site .bks-section h2,
.bks-site .bks-final-cta h2 {
	margin: 0;
	color: var(--bks-navy);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	line-height: 1.12;
	letter-spacing: 0;
}

.bks-site .bks-topic-grid,
.bks-site .bks-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.bks-site .bks-topic-card,
.bks-site .bks-card,
.bks-site .bks-question-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 22px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius);
	background: var(--bks-card-bg);
	box-shadow: 0 1px 0 rgba(13, 47, 87, 0.03);
	color: var(--bks-text);
	text-decoration: none;
	transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.bks-site .bks-topic-card {
	gap: 11px;
	padding: 24px;
}

.bks-site .bks-topic-card:hover,
.bks-site .bks-topic-card:focus,
.bks-site .bks-card:hover,
.bks-site .bks-card:focus-within,
.bks-site .bks-question-card:hover,
.bks-site .bks-question-card:focus-within {
	border-color: rgba(244, 123, 32, 0.58);
	box-shadow: var(--bks-shadow);
	color: var(--bks-text);
	transform: translateY(-2px);
}

.bks-site .bks-topic-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: #fff3e8;
	color: var(--bks-orange-dark);
	font-size: 0.85rem;
	font-weight: 900;
}

.bks-site .bks-topic-title,
.bks-site .bks-card-title {
	margin: 0;
	color: var(--bks-navy);
	font-size: 1.12rem;
	font-weight: 850;
	line-height: 1.25;
}

.bks-site .bks-card-title a {
	color: var(--bks-navy);
}

.bks-site .bks-card-title a:hover,
.bks-site .bks-card-title a:focus {
	color: var(--bks-orange-dark);
	text-decoration: none;
}

.bks-site .bks-topic-description,
.bks-site .bks-card p,
.bks-site .bks-question-card p {
	color: var(--bks-muted);
	font-size: 0.98rem;
	line-height: 1.6;
}

.bks-site .bks-topic-card small {
	color: var(--bks-muted);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
}

.bks-site .bks-topic-link,
.bks-site .bks-card-link {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-top: auto;
	padding-top: 12px;
	color: var(--bks-blue);
	font-size: 0.94rem;
	font-weight: 850;
	text-decoration: none;
	transition: color 160ms ease, transform 160ms ease;
}

.bks-site .bks-topic-link:hover,
.bks-site .bks-card-link:hover,
.bks-site .bks-card-link:focus {
	color: var(--bks-orange-dark);
	text-decoration: none;
	transform: translateY(-1px);
}

.bks-site .bks-resource-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	padding: 46px 0 76px;
}

.bks-site .bks-main-column {
	width: 100%;
	max-width: 820px;
	margin: 0;
}

.bks-site .bks-sidebar {
	order: 2;
}

.bks-site .bks-sidebar-card {
	padding: 18px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius);
	background: #ffffff;
	box-shadow: var(--bks-shadow-soft);
}

.bks-site .bks-sidebar-title {
	margin: 0 0 12px;
	color: var(--bks-navy);
	font-size: 0.86rem;
	font-weight: 850;
	text-transform: uppercase;
}

.bks-site .bks-sidebar nav {
	display: grid;
	gap: 4px;
}

.bks-site .bks-sidebar nav a {
	display: block;
	padding: 8px 0;
	color: var(--bks-muted);
	font-size: 0.95rem;
	font-weight: 700;
}

.bks-site .bks-sidebar nav a:hover,
.bks-site .bks-sidebar nav a:focus {
	color: var(--bks-orange-dark);
}

.bks-site .bks-quick-answer,
.bks-site .bks-section {
	margin-top: 0;
	margin-bottom: 30px;
}

.bks-site .bks-quick-answer,
.bks-site .bks-section {
	padding: 26px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius);
	background: #ffffff;
	box-shadow: var(--bks-shadow-soft);
}

.bks-site .bks-quick-answer {
	border-color: #f5cfad;
	border-left: 6px solid var(--bks-orange);
	background: #fffaf5;
}

.bks-site .bks-quick-answer h2 {
	margin: 0 0 10px;
	color: var(--bks-navy);
	font-size: 1.35rem;
	line-height: 1.2;
}

.bks-site .bks-quick-answer p,
.bks-site .bks-content,
.bks-site .bks-content p,
.bks-site .bks-steps,
.bks-site .bks-review-card p {
	color: var(--bks-text);
	font-size: 1.04rem;
	line-height: 1.75;
}

.bks-site .bks-content > *:first-child {
	margin-top: 0;
}

.bks-site .bks-content > *:last-child {
	margin-bottom: 0;
}

.bks-site .bks-video-frame {
	overflow: hidden;
	margin-top: 16px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius-sm);
	background: var(--bks-soft-bg);
}

.bks-site .bks-video-frame a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	padding: 24px;
	color: var(--bks-blue);
	font-weight: 850;
}

.bks-site .bks-inline-faq-section {
	border-color: #f2d4b8;
	background: #fffaf6;
}

.bks-site .bks-inline-faq-list {
	display: grid;
	gap: 14px;
}

.bks-site .bks-inline-faq {
	padding: 20px;
	border: 1px solid var(--bks-border);
	border-left: 4px solid var(--bks-orange);
	border-radius: var(--bks-radius-sm);
	background: #ffffff;
	box-shadow: 0 8px 18px rgba(13, 47, 87, 0.04);
}

.bks-site .bks-inline-faq h3 {
	margin: 0 0 10px;
	color: var(--bks-navy);
	font-size: 1.08rem;
	line-height: 1.35;
}

.bks-site .bks-inline-faq-answer p {
	margin: 0 0 12px;
	color: var(--bks-text);
	font-size: 1rem;
	line-height: 1.65;
}

.bks-site .bks-inline-faq-details {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--bks-soft-bg);
}

.bks-site .bks-inline-faq-details summary {
	color: var(--bks-blue);
	font-weight: 850;
	cursor: pointer;
}

.bks-site .bks-inline-faq-details summary:hover,
.bks-site .bks-inline-faq-details summary:focus {
	color: var(--bks-orange-dark);
}

.bks-site .bks-inline-faq-details div {
	margin-top: 10px;
	color: var(--bks-text);
	line-height: 1.65;
}

.bks-site .bks-resource-video-section .bks-video-frame {
	margin-bottom: 18px;
}

.bks-site .bks-compact-card-grid {
	display: grid;
	gap: 14px;
	margin-top: 16px;
}

.bks-site .bks-compact-card {
	padding: 18px;
	box-shadow: none;
}

.bks-site .bks-compact-card .bks-card-title {
	font-size: 1rem;
}

.bks-site .bks-continue-learning {
	background: #fbfdff;
}

.bks-site .bks-continue-learning .bks-card-grid {
	gap: 14px;
}

.bks-site .bks-continue-learning .bks-card {
	padding: 18px;
	border-left: 3px solid var(--bks-border);
	box-shadow: none;
}

.bks-site .bks-continue-learning .bks-card:hover {
	border-left-color: var(--bks-orange);
}

.bks-site .bks-steps {
	padding-left: 24px;
}

.bks-site .bks-steps li {
	padding-left: 4px;
}

.bks-site .bks-review-card {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 20px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius);
	background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.bks-site .bks-review-card img {
	width: 82px;
	height: 82px;
	border: 3px solid #ffffff;
	border-radius: 50%;
	box-shadow: var(--bks-shadow-soft);
	object-fit: cover;
}

.bks-site .bks-review-card h3 {
	margin: 0 0 4px;
	color: var(--bks-navy);
	font-size: 1.16rem;
	line-height: 1.25;
}

.bks-site .bks-muted {
	color: var(--bks-muted);
}

.bks-site .bks-final-cta {
	margin-top: 36px;
	padding: 32px;
	border-radius: 22px;
	background: radial-gradient(circle at top right, rgba(244, 123, 32, 0.18), transparent 32%),
		linear-gradient(135deg, #082545, var(--bks-navy));
	color: #ffffff;
	box-shadow: var(--bks-shadow);
}

.bks-site .bks-final-cta h2 {
	color: #ffffff;
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.bks-site .bks-final-cta p {
	max-width: 700px;
	color: rgba(255, 255, 255, 0.84);
}

.bks-site .bks-disclaimer {
	margin-top: 22px;
	padding: 18px 20px;
	border: 1px solid var(--bks-border);
	border-radius: var(--bks-radius-sm);
	background: #ffffff;
	color: var(--bks-muted);
	font-size: 0.94rem;
}

.bks-site .bks-disclaimer p {
	margin: 0;
}

@media (min-width: 760px) {
	.bks-site .bks-card-grid,
	.bks-site .bks-topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bks-site .bks-compact-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bks-site .bks-card-grid-small {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1060px) {
	.bks-site .bks-topic-grid,
	.bks-site .bks-resource-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bks-site .bks-resource-layout {
		grid-template-columns: 250px minmax(0, 820px);
		align-items: start;
		justify-content: center;
		gap: 48px;
	}

	.bks-site .bks-resource-layout.bks-layout-no-sidebar {
		grid-template-columns: minmax(0, 820px);
	}

	.bks-site .bks-sidebar {
		position: sticky;
		top: 28px;
		order: 0;
	}
}

@media (max-width: 700px) {
	.bks-site .bks-hero {
		padding: 56px 0 66px;
	}

	.bks-site .bks-quick-answer,
	.bks-site .bks-section,
	.bks-site .bks-final-cta {
		padding: 20px;
	}

	.bks-site .bks-review-card {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Phase 18: premium editorial Resource page. */
.bks-site .bks-single-resource {
	background: #ffffff;
}

.bks-site .bks-single-resource .bks-resource-hero {
	padding: 86px 0 104px;
	background:
		radial-gradient(circle at 78% 16%, rgba(244, 123, 32, 0.18), transparent 24%),
		linear-gradient(135deg, #071f3b 0%, #0d2f57 58%, #154a78 100%);
}

.bks-site .bks-single-resource .bks-hero-inner {
	max-width: 940px;
}

.bks-site .bks-single-resource .bks-breadcrumb {
	margin-bottom: 28px;
	font-size: 0.95rem;
}

.bks-site .bks-single-resource .bks-hero h1 {
	max-width: 980px;
	font-size: clamp(2.75rem, 6.4vw, 5.35rem);
	line-height: 0.98;
}

.bks-site .bks-single-resource .bks-subtitle {
	max-width: 800px;
	margin-top: 26px;
	font-size: clamp(1.12rem, 2vw, 1.34rem);
	line-height: 1.62;
}

.bks-site .bks-single-resource .bks-button {
	min-height: 52px;
	padding: 15px 22px;
	border-radius: 999px;
	box-shadow: 0 16px 36px rgba(244, 123, 32, 0.2);
}

.bks-site .bks-single-resource .bks-resource-layout {
	grid-template-columns: minmax(0, 1fr);
	gap: 38px;
	padding: 68px 0 96px;
	background: #ffffff;
}

.bks-site .bks-single-resource .bks-main-column {
	max-width: 820px;
}

.bks-site .bks-single-resource .bks-sidebar-card {
	padding: 0 0 0 18px;
	border: 0;
	border-left: 1px solid var(--bks-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-sidebar-title {
	margin-bottom: 14px;
	color: var(--bks-muted);
	font-size: 0.76rem;
	letter-spacing: 0.08em;
}

.bks-site .bks-single-resource .bks-sidebar nav {
	gap: 2px;
}

.bks-site .bks-single-resource .bks-sidebar nav a {
	padding: 7px 0;
	color: #6d7a89;
	font-size: 0.92rem;
	font-weight: 750;
}

.bks-site .bks-single-resource .bks-quick-answer,
.bks-site .bks-single-resource .bks-section {
	margin: 0 0 62px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-quick-answer {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin-bottom: 66px;
	padding: 26px 28px;
	border: 1px solid #f3d2b3;
	border-radius: 22px;
	background: linear-gradient(180deg, #fffaf5, #ffffff);
	box-shadow: 0 18px 46px rgba(13, 47, 87, 0.07);
}

.bks-site .bks-single-resource .bks-quick-answer-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff1e5;
	color: var(--bks-orange-dark);
	font-weight: 900;
}

.bks-site .bks-single-resource .bks-quick-answer .bks-eyebrow {
	margin-bottom: 8px;
}

.bks-site .bks-single-resource .bks-quick-answer p:last-child {
	margin: 0;
	color: var(--bks-navy);
	font-size: clamp(1.08rem, 2vw, 1.24rem);
	line-height: 1.7;
}

.bks-site .bks-single-resource .bks-section h2 {
	margin-bottom: 20px;
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	line-height: 1.12;
}

.bks-site .bks-single-resource .bks-section-header {
	margin-bottom: 20px;
}

.bks-site .bks-single-resource .bks-guide-content {
	margin-bottom: 68px;
}

.bks-site .bks-single-resource .bks-content,
.bks-site .bks-single-resource .bks-content p,
.bks-site .bks-single-resource .bks-content li {
	color: #243246;
	font-size: clamp(1.08rem, 1.4vw, 1.18rem);
	line-height: 1.86;
}

.bks-site .bks-single-resource .bks-content h2,
.bks-site .bks-single-resource .bks-content h3,
.bks-site .bks-single-resource .bks-content h4 {
	color: var(--bks-navy);
	letter-spacing: 0;
}

.bks-site .bks-single-resource .bks-content h2 {
	margin-top: 2.1em;
	font-size: clamp(1.65rem, 2.6vw, 2.15rem);
	line-height: 1.18;
}

.bks-site .bks-single-resource .bks-content h3 {
	margin-top: 1.8em;
	font-size: clamp(1.28rem, 2vw, 1.55rem);
	line-height: 1.24;
}

.bks-site .bks-single-resource .bks-content a {
	color: var(--bks-blue);
	font-weight: 750;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.bks-site .bks-single-resource .bks-editorial-list,
.bks-site .bks-single-resource .bks-steps {
	display: grid;
	gap: 14px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.bks-site .bks-single-resource .bks-steps {
	counter-reset: bks-step;
}

.bks-site .bks-single-resource .bks-editorial-list li,
.bks-site .bks-single-resource .bks-steps li {
	position: relative;
	padding: 0 0 0 28px;
	color: #243246;
	font-size: 1.06rem;
	line-height: 1.72;
}

.bks-site .bks-single-resource .bks-steps li {
	counter-increment: bks-step;
	padding-left: 36px;
}

.bks-site .bks-single-resource .bks-editorial-list li::before,
.bks-site .bks-single-resource .bks-steps li::before {
	content: "";
	position: absolute;
	top: 0.78em;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bks-orange);
}

.bks-site .bks-single-resource .bks-steps li::before {
	content: counter(bks-step);
	top: 0.2em;
	width: 24px;
	height: 24px;
	background: #fff1e5;
	color: var(--bks-orange-dark);
	font-size: 0.8rem;
	font-weight: 900;
	line-height: 24px;
	text-align: center;
}

.bks-site .bks-single-resource .bks-inline-faq-section {
	padding-top: 6px;
	background: transparent;
}

.bks-site .bks-single-resource .bks-inline-faq-list {
	gap: 0;
	border-top: 1px solid var(--bks-border);
}

.bks-site .bks-single-resource .bks-inline-faq {
	padding: 24px 0;
	border: 0;
	border-bottom: 1px solid var(--bks-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-inline-faq h3 {
	margin-bottom: 12px;
	font-size: clamp(1.12rem, 1.8vw, 1.32rem);
	line-height: 1.35;
}

.bks-site .bks-single-resource .bks-inline-faq-answer p {
	color: #344358;
	font-size: 1.03rem;
	line-height: 1.75;
}

.bks-site .bks-single-resource .bks-inline-faq-details {
	padding: 14px 0 0;
	background: transparent;
}

.bks-site .bks-single-resource .bks-inline-faq-details div {
	padding-top: 4px;
	color: #344358;
}

.bks-site .bks-single-resource .bks-video-section .bks-video-frame {
	margin-top: 0;
	border-radius: 22px;
	box-shadow: 0 18px 46px rgba(13, 47, 87, 0.08);
}

.bks-site .bks-single-resource .bks-compact-card-grid,
.bks-site .bks-single-resource .bks-continue-learning .bks-card-grid,
.bks-site .bks-single-resource .bks-community-events .bks-card-grid {
	gap: 12px;
	margin-top: 18px;
}

.bks-site .bks-single-resource .bks-continue-learning,
.bks-site .bks-single-resource .bks-community-events {
	margin-top: 4px;
}

.bks-site .bks-single-resource .bks-compact-card,
.bks-site .bks-single-resource .bks-continue-learning .bks-card,
.bks-site .bks-single-resource .bks-community-events .bks-card {
	padding: 18px 0;
	border: 0;
	border-top: 1px solid var(--bks-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-compact-card:hover,
.bks-site .bks-single-resource .bks-compact-card:focus-within,
.bks-site .bks-single-resource .bks-continue-learning .bks-card:hover,
.bks-site .bks-single-resource .bks-continue-learning .bks-card:focus-within,
.bks-site .bks-single-resource .bks-community-events .bks-card:hover,
.bks-site .bks-single-resource .bks-community-events .bks-card:focus-within {
	border-color: var(--bks-border);
	box-shadow: none;
	transform: none;
}

.bks-site .bks-single-resource .bks-continue-learning .bks-card-image,
.bks-site .bks-single-resource .bks-community-events .bks-card-image {
	max-height: 150px;
	border-radius: 14px;
}

.bks-site .bks-single-resource .bks-attorney-review {
	margin-top: 8px;
	margin-bottom: 56px;
}

.bks-site .bks-single-resource .bks-review-card {
	gap: 16px;
	max-width: 620px;
	padding: 18px;
	border: 1px solid var(--bks-border);
	border-radius: 18px;
	background: #fbfdff;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-review-card img {
	width: 68px;
	height: 68px;
	box-shadow: none;
}

.bks-site .bks-single-resource .bks-review-card h3 {
	font-size: 1.08rem;
}

.bks-site .bks-single-resource .bks-review-card p {
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.55;
}

.bks-site .bks-single-resource .bks-final-cta {
	margin-top: 72px;
	padding: clamp(30px, 5vw, 48px);
	border-radius: 28px;
	box-shadow: 0 24px 70px rgba(13, 47, 87, 0.16);
}

.bks-site .bks-single-resource .bks-final-cta h2 {
	max-width: 720px;
	font-size: clamp(1.85rem, 4vw, 3rem);
	line-height: 1.08;
}

.bks-site .bks-single-resource .bks-final-cta p {
	max-width: 650px;
	font-size: 1.08rem;
	line-height: 1.7;
}

.bks-site .bks-single-resource .bks-disclaimer {
	margin-top: 22px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #778393;
	font-size: 0.86rem;
	line-height: 1.7;
}

@media (min-width: 1060px) {
	.bks-site .bks-single-resource .bks-resource-layout {
		grid-template-columns: 240px minmax(0, 820px);
		gap: 72px;
		justify-content: center;
	}
}

@media (max-width: 700px) {
	.bks-site .bks-single-resource .bks-resource-hero {
		padding: 64px 0 74px;
	}

	.bks-site .bks-single-resource .bks-resource-layout {
		padding: 42px 0 70px;
	}

	.bks-site .bks-single-resource .bks-quick-answer {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-bottom: 44px;
		padding: 22px;
	}

	.bks-site .bks-single-resource .bks-quick-answer,
	.bks-site .bks-single-resource .bks-section {
		margin-bottom: 42px;
	}

	.bks-site .bks-single-resource .bks-sidebar {
		display: none;
	}

	.bks-site .bks-single-resource .bks-review-card {
		align-items: flex-start;
	}
}

/* Phase 18C: Resource Center homepage pixel-direction alignment. */
.bks-site .bks-button-primary {
	background: #071f3b;
	border-color: #071f3b;
	color: #ffffff;
}

.bks-site .bks-button-primary:hover,
.bks-site .bks-button-primary:focus {
	background: var(--bks-navy);
	border-color: var(--bks-navy);
	color: #ffffff;
}

.bks-site .bks-button-secondary {
	background: #ffffff;
	border-color: var(--bks-border);
	color: var(--bks-navy);
	box-shadow: 0 10px 24px rgba(13, 47, 87, 0.08);
}

.bks-site .bks-button-secondary:hover,
.bks-site .bks-button-secondary:focus {
	background: var(--bks-soft-bg);
	border-color: #cbd9e7;
	color: var(--bks-navy);
	box-shadow: 0 14px 30px rgba(13, 47, 87, 0.12);
	transform: translateY(-1px);
}

.bks-site .bks-resource-center {
	background: #ffffff;
}

.bks-site .bks-hub-hero {
	overflow: hidden;
	padding: 64px 0 70px;
	background: linear-gradient(90deg, #ffffff 0%, #f8fbff 47%, #e9f2f8 100%);
}

.bks-site .bks-hub-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 28px;
	align-items: center;
}

.bks-site .bks-hub-hero-copy {
	max-width: 600px;
}

.bks-site .bks-hub-hero h1 {
	display: grid;
	gap: 0;
	max-width: 660px;
	margin: 0;
	color: var(--bks-navy);
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: clamp(2.2rem, 3.85vw, 3.45rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0;
}

.bks-site .bks-hub-hero h1 span {
	white-space: nowrap;
}

.bks-site .bks-orange-text {
	color: var(--bks-orange);
}

.bks-site .bks-hub-hero .bks-subtitle {
	max-width: 560px;
	margin-top: 18px;
	color: #1e3047;
	font-size: clamp(1rem, 1.35vw, 1.12rem);
	font-weight: 500;
	line-height: 1.58;
}

.bks-site .bks-hub-visual {
	position: relative;
	min-height: 360px;
	border-radius: 0 0 0 110px;
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.42) 32%, rgba(255, 255, 255, 0) 64%),
		radial-gradient(circle at 72% 68%, rgba(244, 123, 32, 0.13), transparent 26%),
		linear-gradient(135deg, #dbe9f2 0%, #a8c5d8 46%, #6f94ad 100%);
	box-shadow: inset 0 -80px 70px rgba(255, 255, 255, 0.72);
}

.bks-site .bks-hub-visual::before,
.bks-site .bks-hub-visual::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.28);
}

.bks-site .bks-hub-visual::before {
	right: 12%;
	top: 16%;
	width: 180px;
	height: 180px;
}

.bks-site .bks-hub-visual::after {
	right: 32%;
	bottom: 18%;
	width: 120px;
	height: 120px;
}

.bks-site .bks-resource-search {
	display: grid;
	gap: 10px;
	width: min(100%, 500px);
	margin-top: 24px;
	padding: 7px;
	border: 1px solid rgba(13, 47, 87, 0.16);
	border-radius: 999px;
	background: #ffffff;
	box-shadow: 0 14px 34px rgba(13, 47, 87, 0.14);
}

.bks-site .bks-resource-search input[type="search"] {
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--bks-navy);
	font-size: 0.95rem;
	outline: none;
}

.bks-site .bks-resource-search input[type="search"]::placeholder {
	color: #7a8795;
}

.bks-site .bks-resource-search .bks-button {
	width: 100%;
	min-height: 48px;
	margin: 0;
	border-radius: 999px;
	background: var(--bks-orange);
	border-color: var(--bks-orange);
	box-shadow: 0 8px 18px rgba(244, 123, 32, 0.2);
}

.bks-site .bks-popular-searches {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	align-items: center;
	margin-top: 14px;
	color: #5f6f82;
	font-size: 0.78rem;
}

.bks-site .bks-popular-searches a {
	white-space: nowrap;
	padding: 6px 12px;
	border: 1px solid rgba(13, 47, 87, 0.18);
	border-radius: 999px;
	background: rgba(13, 47, 87, 0.06);
	color: var(--bks-navy);
	font-weight: 700;
	text-decoration: none;
}

.bks-site .bks-popular-searches a:hover,
.bks-site .bks-popular-searches a:focus {
	border-color: rgba(244, 123, 32, 0.45);
	background: #fff7ef;
	color: var(--bks-orange-dark);
}

.bks-site .bks-hero-trust-card {
	position: absolute;
	top: 80px;
	left: clamp(56px, 18%, 170px);
	z-index: 2;
	max-width: 360px;
	padding: 28px;
	border: 1px solid #e0e7ef;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 24px 55px rgba(13, 47, 87, 0.18);
}

.bks-site .bks-trust-card-heading {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin-bottom: 18px;
}

.bks-site .bks-trust-mark,
.bks-site .bks-cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--bks-navy);
	color: #ffffff;
	font-weight: 900;
}

.bks-site .bks-trust-mark svg,
.bks-site .bks-cta-icon svg,
.bks-site .bks-topic-icon svg,
.bks-site .bks-video-thumb-fallback svg,
.bks-site .bks-resource-trust-bar svg {
	width: 1.1em;
	height: 1.1em;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.bks-site .bks-hero-trust-card h2 {
	margin: 0;
	color: var(--bks-navy);
	font-size: 1.02rem;
	line-height: 1.35;
}

.bks-site .bks-hero-trust-card p {
	margin: 0;
	color: #25354a;
	font-size: 0.83rem;
	line-height: 1.55;
}

.bks-site .bks-hero-trust-card .bks-button {
	width: 100%;
	min-height: 43px;
	margin-top: 18px;
	border-radius: 5px;
	background: var(--bks-orange);
	border-color: var(--bks-orange);
	color: #ffffff;
}

.bks-site .bks-trust-languages {
	margin: 16px 0 0;
	padding-top: 14px;
	border-top: 1px solid #e8eef4;
	color: #4a5a6e;
	font-size: 0.84rem;
	font-weight: 700;
	text-align: center;
}

.bks-site .bks-process-link {
	display: inline-flex;
	margin-top: 14px;
	color: var(--bks-blue);
	font-size: 0.82rem;
	font-weight: 850;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bks-site .bks-hero-fluent-form {
	margin-top: 14px;
}

.bks-site .bks-hero-fluent-form .fluentform,
.bks-site .bks-hero-fluent-form form {
	margin: 0;
}

.bks-site .bks-hero-fluent-form .ff-el-group,
.bks-site .bks-hero-fluent-form .frm-fluent-form .ff-t-container {
	margin-bottom: 10px;
}

.bks-site .bks-hero-fluent-form label,
.bks-site .bks-hero-fluent-form .ff-el-input--label {
	margin-bottom: 5px;
	color: var(--bks-navy);
	font-size: 0.78rem;
	font-weight: 700;
}

.bks-site .bks-hero-fluent-form input,
.bks-site .bks-hero-fluent-form select,
.bks-site .bks-hero-fluent-form textarea,
.bks-site .bks-hero-fluent-form .ff-el-form-control {
	width: 100%;
	min-height: 40px;
	padding: 9px 11px;
	border: 1px solid #d7e0e9;
	border-radius: 7px;
	background: #ffffff;
	color: var(--bks-navy);
	font-size: 0.9rem;
	box-shadow: none;
}

.bks-site .bks-hero-fluent-form textarea,
.bks-site .bks-hero-fluent-form textarea.ff-el-form-control {
	min-height: 72px;
}

.bks-site .bks-hero-fluent-form input:focus,
.bks-site .bks-hero-fluent-form select:focus,
.bks-site .bks-hero-fluent-form textarea:focus,
.bks-site .bks-hero-fluent-form .ff-el-form-control:focus {
	border-color: rgba(244, 123, 32, 0.72);
	box-shadow: 0 0 0 3px rgba(244, 123, 32, 0.12);
	outline: none;
}

.bks-site .bks-hero-fluent-form button,
.bks-site .bks-hero-fluent-form input[type="submit"],
.bks-site .bks-hero-fluent-form .ff-btn-submit {
	width: 100%;
	min-height: 43px;
	margin: 4px 0 0;
	border: 1px solid var(--bks-orange);
	border-radius: 6px;
	background: var(--bks-orange);
	color: #ffffff;
	font-size: 0.94rem;
	font-weight: 800;
	box-shadow: 0 10px 22px rgba(244, 123, 32, 0.2);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.bks-site .bks-hero-fluent-form button:hover,
.bks-site .bks-hero-fluent-form button:focus,
.bks-site .bks-hero-fluent-form input[type="submit"]:hover,
.bks-site .bks-hero-fluent-form input[type="submit"]:focus,
.bks-site .bks-hero-fluent-form .ff-btn-submit:hover,
.bks-site .bks-hero-fluent-form .ff-btn-submit:focus {
	background: var(--bks-orange-dark);
	border-color: var(--bks-orange-dark);
	transform: translateY(-1px);
}

.bks-site .bks-form-note {
	margin-top: 10px;
	color: #5c6878;
	font-size: 0.78rem;
	line-height: 1.45;
	text-align: center;
}

.bks-site .bks-hub-section {
	padding-top: 44px;
}

.bks-site .bks-resource-center .bks-section-header {
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	max-width: none;
	margin-bottom: 18px;
}

.bks-site .bks-resource-center .bks-section-header h2 {
	font-size: clamp(1.28rem, 1.7vw, 1.52rem);
	line-height: 1.14;
}

.bks-site .bks-section-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	width: fit-content;
	color: #1b64a0;
	font-size: 0.92rem;
	font-weight: 850;
}

.bks-site .bks-section-link span,
.bks-site .bks-card-link span,
.bks-site .bks-topic-link span,
.bks-site .bks-process-link span {
	color: var(--bks-orange);
}

.bks-site .bks-section-link:hover,
.bks-site .bks-section-link:focus {
	color: var(--bks-orange-dark);
	transform: translateY(-1px);
}

.bks-site .bks-hub-topic-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.bks-site .bks-resource-center .bks-topic-card {
	align-items: center;
	min-height: 132px;
	padding: 18px 10px 14px;
	border: 1px solid #d7e0e9;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 8px 22px rgba(13, 47, 87, 0.04);
	text-align: center;
}

.bks-site .bks-resource-center .bks-topic-icon {
	width: 40px;
	height: 40px;
	border-radius: 0;
	background: transparent;
	color: var(--bks-navy);
	font-size: 2rem;
}

.bks-site .bks-resource-center .bks-topic-title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	font-size: 0.92rem;
	font-weight: 900;
	line-height: 1.18;
}

.bks-site .bks-resource-center .bks-topic-link {
	padding-top: 5px;
	color: var(--bks-orange-dark);
	font-size: 0.78rem;
	font-weight: 850;
}

.bks-site .bks-resource-center .bks-resource-grid {
	grid-template-columns: 1fr;
	gap: 16px;
}

.bks-site .bks-resource-center .bks-resource-card {
	overflow: hidden;
	padding: 0;
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 8px 22px rgba(13, 47, 87, 0.05);
}

.bks-site .bks-resource-card-media {
	display: block;
	overflow: hidden;
}

.bks-site .bks-resource-center .bks-resource-card .bks-card-image {
	margin: 0;
	border-radius: 0;
	transition: transform 220ms ease;
}

.bks-site .bks-resource-center .bks-resource-card:hover .bks-card-image,
.bks-site .bks-resource-center .bks-resource-card:focus-within .bks-card-image {
	transform: scale(1.025);
}

.bks-site .bks-card-image-fallback {
	background:
		radial-gradient(circle at 78% 24%, rgba(244, 123, 32, 0.16), transparent 30%),
		linear-gradient(135deg, #eef4f8, #d9e7f0 48%, #c8d8e4);
}

.bks-site .bks-resource-center .bks-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px;
}

.bks-site .bks-resource-center .bks-resource-card .bks-card-title {
	font-size: 1.06rem;
	font-weight: 900;
}

.bks-site .bks-resource-center .bks-resource-card p:not(.bks-eyebrow) {
	font-size: 0.93rem;
	line-height: 1.45;
}

.bks-site .bks-learning-panel {
	display: grid;
	gap: 0;
	padding-top: 36px;
	border-top: 1px solid #e4ebf2;
}

.bks-site .bks-learning-column {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
}

.bks-site .bks-faq-column {
	padding: 20px 20px 18px;
	border: 1px solid #e2eaf2;
	border-radius: 8px;
	box-shadow: 0 10px 26px rgba(13, 47, 87, 0.04);
}

.bks-site .bks-video-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.bks-site .bks-video-card {
	display: block;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	transition: border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.bks-site .bks-video-card:hover,
.bks-site .bks-video-card:focus-within {
	transform: translateY(-2px);
}

.bks-site .bks-video-thumb {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin-bottom: 12px;
	border-radius: 6px;
	background: var(--bks-navy);
}

.bks-site .bks-video-thumb img,
.bks-site .bks-video-thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
	color: #ffffff;
}

.bks-site .bks-video-thumb::after {
	content: "";
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 28px;
	height: 20px;
	border-radius: 5px;
	background: rgba(0, 0, 0, 0.62);
}

.bks-site .bks-video-card .bks-card-title {
	font-size: 1.02rem;
	font-weight: 800;
	line-height: 1.28;
}

.bks-site .bks-faq-accordion {
	border-top: 1px solid var(--bks-border);
}

.bks-site .bks-faq-accordion details {
	padding: 14px 0;
	border-bottom: 1px solid var(--bks-border);
}

.bks-site .bks-faq-accordion summary {
	color: var(--bks-navy);
	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}

.bks-site .bks-faq-accordion summary::-webkit-details-marker {
	display: none;
}

.bks-site .bks-faq-accordion summary::after {
	content: "+";
	float: right;
	color: var(--bks-navy);
	font-size: 1.2rem;
	line-height: 1;
}

.bks-site .bks-faq-accordion details[open] summary::after {
	content: "−";
}

.bks-site .bks-faq-accordion p {
	margin: 12px 0 0;
	color: var(--bks-muted);
	line-height: 1.65;
}

.bks-site .bks-event-card {
	overflow: hidden;
	padding: 0;
	border-radius: 7px;
}

.bks-site .bks-event-card .bks-card-image {
	margin: 0;
	border-radius: 0;
}

.bks-site .bks-event-body {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 14px;
	padding: 16px;
}

.bks-site .bks-event-date-badge {
	display: grid;
	place-items: center;
	width: 54px;
	height: 62px;
	border: 1px solid var(--bks-border);
	border-radius: 6px;
	background: #ffffff;
	color: var(--bks-navy);
	text-transform: uppercase;
}

.bks-site .bks-event-date-badge span {
	font-size: 0.7rem;
	font-weight: 850;
}

.bks-site .bks-event-date-badge strong {
	font-size: 1.35rem;
	line-height: 1;
}

.bks-site .bks-event-card p {
	margin: 5px 0 0;
	color: var(--bks-muted);
	font-size: 0.9rem;
}

.bks-site .bks-resource-center .bks-card-title,
.bks-site .bks-resource-center .bks-section-header h2,
.bks-site .bks-learning-column .bks-section-header h2 {
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-weight: 780;
}

.bks-site .bks-resource-center .bks-card-link {
	gap: 4px;
	color: #1b64a0;
	font-weight: 850;
}

.bks-site .bks-resource-center .bks-card-link:hover,
.bks-site .bks-resource-center .bks-card-link:focus {
	color: #124c7d;
}

.bks-site .bks-cta-band {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px 22px;
	align-items: center;
	overflow: hidden;
	padding: clamp(22px, 4vw, 34px);
	border: 1px solid var(--bks-border);
	border-radius: 10px;
	background: #ffffff;
	color: var(--bks-navy);
	box-shadow: 0 12px 34px rgba(13, 47, 87, 0.07);
}

.bks-site .bks-cta-band h2 {
	color: var(--bks-navy);
	font-size: clamp(1.35rem, 2.6vw, 1.9rem);
}

.bks-site .bks-cta-band p {
	margin: 4px 0 0;
	color: #435066;
}

.bks-site .bks-cta-actions {
	grid-column: 1 / -1;
	display: grid;
	gap: 8px;
	align-items: center;
}

.bks-site .bks-cta-actions .bks-button {
	margin-top: 0;
	border-radius: 6px;
	background: var(--bks-orange);
	border-color: var(--bks-orange);
}

.bks-site .bks-cta-actions p {
	text-align: center;
	font-size: 0.92rem;
}

.bks-site .bks-resource-trust-bar {
	margin-top: 28px;
	background: var(--bks-navy);
	color: #ffffff;
}

.bks-site .bks-resource-trust-bar .bks-container-wide {
	display: grid;
	gap: 18px;
	padding: 22px 0;
}

.bks-site .bks-resource-trust-bar .bks-container-wide > div {
	display: flex;
	gap: 12px;
	align-items: center;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
}

.bks-site .bks-resource-trust-bar span {
	color: var(--bks-orange);
}

@media (min-width: 760px) {
	.bks-site .bks-resource-search {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.bks-site .bks-resource-search .bks-button {
		width: auto;
	}

	.bks-site .bks-hub-topic-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bks-site .bks-resource-center .bks-resource-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bks-site .bks-cta-band {
		grid-template-columns: auto minmax(0, 1fr) 320px;
	}

	.bks-site .bks-cta-actions {
		grid-column: auto;
	}

	.bks-site .bks-resource-trust-bar .bks-container-wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1060px) {
	.bks-site .bks-hub-hero-grid {
		grid-template-columns: minmax(0, 1.04fr) minmax(440px, 0.96fr);
		gap: 34px;
	}

	.bks-site .bks-hub-topic-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.bks-site .bks-resource-center .bks-resource-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bks-site .bks-learning-panel {
		grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr);
		gap: 36px;
	}

	.bks-site .bks-video-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 14px;
	}

	.bks-site .bks-resource-center .bks-three-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bks-site .bks-resource-trust-bar .bks-container-wide {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.bks-site .bks-hub-hero {
		padding: 44px 0 52px;
	}

	.bks-site .bks-resource-search {
		border-radius: 24px;
	}

	.bks-site .bks-hub-topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bks-site .bks-learning-column {
		padding: 0;
	}

	.bks-site .bks-faq-column {
		padding: 20px 20px 18px;
	}

	.bks-site .bks-hub-visual {
		min-height: 300px;
	}

	.bks-site .bks-hero-trust-card {
		left: 18px;
		top: 52px;
		max-width: calc(100% - 36px);
	}

	.bks-site .bks-popular-searches {
		flex-wrap: wrap;
	}

	.bks-site .bks-popular-searches a {
		white-space: normal;
	}

	.bks-site .bks-resource-center .bks-section-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.bks-site .bks-video-list {
		grid-template-columns: 1fr;
	}

	.bks-site .bks-cta-band {
		grid-template-columns: 1fr;
	}
}

/* Resource Center type correction: keep the public hub polished without over-bold display text. */
.bks-site .bks-resource-center.bks-resource-archive .bks-hub-hero h1 {
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: clamp(2.05rem, 3.45vw, 3.15rem);
	font-weight: 720;
	line-height: 1.1;
}

.bks-site .bks-resource-center.bks-resource-archive .bks-hub-hero .bks-subtitle {
	font-weight: 450;
}

.bks-site .bks-resource-center.bks-resource-archive .bks-section-header h2,
.bks-site .bks-resource-center.bks-resource-archive .bks-learning-column .bks-section-header h2 {
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: clamp(1.18rem, 1.45vw, 1.38rem);
	font-weight: 720;
	line-height: 1.2;
}

.bks-site .bks-resource-center.bks-resource-archive .bks-topic-title,
.bks-site .bks-resource-center.bks-resource-archive .bks-card-title,
.bks-site .bks-resource-center.bks-resource-archive .bks-video-card .bks-card-title,
.bks-site .bks-resource-center.bks-resource-archive .bks-faq-accordion summary {
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-weight: 700;
}

.bks-site .bks-resource-center.bks-resource-archive .bks-card-link,
.bks-site .bks-resource-center.bks-resource-archive .bks-section-link,
.bks-site .bks-resource-center.bks-resource-archive .bks-topic-link {
	font-weight: 700;
}

.bks-site .bks-resource-center.bks-resource-archive .bks-eyebrow {
	font-weight: 700;
}

/* The hero trust card flows in-document so the hero grows with the
   lead form (absolute positioning clipped tall FluentForms forms). */
.bks-site .bks-hub-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 12px;
}

.bks-site .bks-hub-hero .bks-hero-trust-card {
	position: static;
	top: auto;
	left: auto;
	width: 100%;
	max-width: 380px;
}

@media (max-width: 700px) {
	.bks-site .bks-hub-hero .bks-hero-trust-card {
		max-width: 100%;
	}

	.bks-site .bks-hub-visual {
		min-height: 0;
		padding: 8px 0 4px;
	}
}

/* Theme-chrome mode: when the plugin header/footer is disabled and the
   active theme renders BKS pages, suppress the theme's archive banner
   and break our sections out to full viewport width. This stylesheet
   only loads on Resource Center URLs, so nothing else is affected. */
body:not(.bks-chrome) .quixa-breadcrumb-wrapper {
	display: none;
}

body:not(.bks-chrome) .bks-site {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow-x: clip;
}

body:not(.bks-chrome) .site-content,
body:not(.bks-chrome) #content {
	padding-top: 0;
	padding-bottom: 0;
}

/* The theme header is solid + sticky and overlaps the top of the page.
   The light hub hero reads the dark theme menu fine; the dark single
   and archive heroes hid it. Instead of veiling the photo, drop these
   heroes below the header so it sits on the page's white background
   (menu reads) and the photo starts clean underneath — no gradient.
   The offset is a CSS var so header height is easy to tune per site. */
body:not(.bks-chrome) .bks-site .bks-hero:not(.bks-hub-hero) {
	margin-top: var(--bks-theme-header-offset, 96px);
}

/* Phase 19: plugin-owned site chrome (header/footer) + real typography. */
body.bks-chrome {
	margin: 0;
	background: #ffffff;
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.bks-site,
.bks-resource {
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
}

.bks-site h1,
.bks-site h2,
.bks-site h3,
.bks-site h4 {
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
}

.bks-site-header {
	position: sticky;
	top: 0;
	z-index: 80;
	background: #071f3b;
	color: #ffffff;
	box-shadow: 0 10px 30px rgba(7, 31, 59, 0.25);
}

.bks-site-header *,
.bks-site-footer * {
	box-sizing: border-box;
}

.bks-site-header .bks-container-wide,
.bks-site-footer .bks-container-wide {
	width: min(100% - 32px, 1180px);
	margin-inline: auto;
}

.bks-site-header-inner {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	min-height: 66px;
	padding: 8px 0;
}

.bks-site-brand {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	color: #ffffff;
	text-decoration: none;
}

.bks-logo-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 2px solid #f47b20;
	border-radius: 8px;
	color: #f47b20;
	font-family: "Montserrat", "Inter", Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 900;
	line-height: 1;
}

.bks-logo-text {
	display: grid;
	line-height: 1.05;
}

.bks-logo-text strong {
	font-family: "Montserrat", "Inter", Arial, sans-serif;
	font-size: 1.02rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bks-logo-text small {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.bks-site-nav {
	display: none;
	gap: 4px;
	align-items: center;
}

.bks-site-nav a {
	padding: 8px 12px;
	border-radius: 7px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 150ms ease, background-color 150ms ease;
}

.bks-site-nav a:hover,
.bks-site-nav a:focus {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

.bks-site-nav a.is-active {
	color: #ffffff;
	box-shadow: inset 0 -2px 0 #f47b20;
	border-radius: 7px 7px 0 0;
}

.bks-site-header-actions {
	display: flex;
	gap: 14px;
	align-items: center;
}

.bks-header-phone {
	display: none;
	gap: 8px;
	align-items: center;
	color: #ffffff;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.bks-header-phone:hover,
.bks-header-phone:focus {
	color: #f47b20;
}

.bks-header-phone svg {
	width: 1.05em;
	height: 1.05em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bks-site-header .bks-header-cta,
.bks-site-footer .bks-header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	margin: 0;
	padding: 9px 16px;
	border: 1px solid #f47b20;
	border-radius: 7px;
	background: #f47b20;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.bks-site-header .bks-header-cta:hover,
.bks-site-header .bks-header-cta:focus,
.bks-site-footer .bks-header-cta:hover,
.bks-site-footer .bks-header-cta:focus {
	background: #d86513;
	border-color: #d86513;
	color: #ffffff;
	transform: translateY(-1px);
}

.bks-nav-toggle {
	display: inline-flex;
	flex-direction: column;
	gap: 5px;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
}

.bks-nav-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: #ffffff;
	transition: transform 180ms ease, opacity 180ms ease;
}

.bks-nav-open .bks-nav-toggle span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.bks-nav-open .bks-nav-toggle span:nth-child(2) {
	opacity: 0;
}

.bks-nav-open .bks-nav-toggle span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.bks-nav-open .bks-site-nav {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	display: grid;
	gap: 2px;
	padding: 12px 16px 16px;
	background: #071f3b;
	box-shadow: 0 24px 40px rgba(7, 31, 59, 0.35);
}

.bks-nav-open .bks-site-nav a.is-active {
	box-shadow: inset 3px 0 0 #f47b20;
	border-radius: 7px;
}

@media (min-width: 1000px) {
	.bks-site-nav {
		display: flex;
	}

	.bks-header-phone {
		display: inline-flex;
	}

	.bks-nav-toggle {
		display: none;
	}
}

/* Small phones: compact the header so brand + CTA + toggle fit. */
@media (max-width: 480px) {
	.bks-site-header-inner {
		gap: 10px;
		min-height: 58px;
	}

	.bks-logo-mark {
		width: 32px;
		height: 32px;
		font-size: 1.05rem;
	}

	.bks-logo-text strong {
		font-size: 0.88rem;
	}

	.bks-logo-text small {
		font-size: 0.58rem;
	}

	.bks-site-header-actions {
		gap: 8px;
	}

	.bks-site-header .bks-header-cta {
		min-height: 36px;
		padding: 7px 11px;
		font-size: 0.78rem;
	}

	.bks-nav-toggle {
		width: 38px;
		height: 38px;
	}
}

.bks-site-footer {
	margin-top: 0;
	background: #071f3b;
	color: rgba(255, 255, 255, 0.85);
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
}

.bks-site-footer-grid {
	display: grid;
	gap: 32px;
	padding: 48px 0 36px;
}

.bks-footer-brand p {
	max-width: 380px;
	margin: 14px 0 0;
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.92rem;
	line-height: 1.65;
}

.bks-footer-heading {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bks-footer-nav {
	display: grid;
	gap: 2px;
	align-content: start;
}

.bks-footer-nav a {
	width: fit-content;
	padding: 5px 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.94rem;
	font-weight: 600;
	text-decoration: none;
}

.bks-footer-nav a:hover,
.bks-footer-nav a:focus {
	color: #f47b20;
}

.bks-footer-contact {
	display: grid;
	gap: 12px;
	justify-items: start;
	align-content: start;
}

.bks-footer-contact .bks-header-phone {
	display: inline-flex;
	font-size: 1.02rem;
}

.bks-footer-note {
	margin: 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.84rem;
}

.bks-footer-languages {
	margin: 4px 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.86rem;
	font-weight: 600;
}

.bks-footer-languages span {
	margin-right: 6px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bks-site-footer-bottom {
	padding: 20px 0 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.bks-footer-disclaimer {
	margin: 0 0 10px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8rem;
	line-height: 1.65;
}

.bks-footer-copyright {
	margin: 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.84rem;
}

@media (min-width: 860px) {
	.bks-site-footer-grid {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* Phase 20: topic archive (taxonomy) card polish. */
.bks-site .bks-card p.bks-eyebrow,
.bks-site .bks-question-card p.bks-eyebrow {
	margin: 0 0 8px;
	color: var(--bks-orange);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bks-site .bks-topic-archive .bks-archive-list {
	padding-top: 52px;
}

.bks-site .bks-topic-archive .bks-archive-list:last-of-type {
	padding-bottom: 76px;
}

.bks-site .bks-topic-archive .bks-section-header {
	margin-bottom: 22px;
}

.bks-site .bks-topic-archive .bks-section-header h2 {
	margin-top: 4px;
}

.bks-site .bks-topic-archive .bks-resource-card {
	overflow: hidden;
	padding: 0;
	border-radius: 12px;
	box-shadow: 0 10px 26px rgba(13, 47, 87, 0.05);
}

.bks-site .bks-topic-archive .bks-resource-card-media {
	display: block;
	overflow: hidden;
}

.bks-site .bks-topic-archive .bks-resource-card .bks-card-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
	transition: transform 220ms ease;
}

.bks-site .bks-topic-archive .bks-resource-card:hover .bks-card-image,
.bks-site .bks-topic-archive .bks-resource-card:focus-within .bks-card-image {
	transform: scale(1.03);
}

.bks-site .bks-topic-archive .bks-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px 20px 20px;
}

.bks-site .bks-topic-archive .bks-resource-card .bks-card-title {
	margin-bottom: 8px;
	font-size: 1.08rem;
	line-height: 1.32;
}

.bks-site .bks-topic-archive .bks-resource-card p:not(.bks-eyebrow) {
	margin: 0 0 4px;
	font-size: 0.94rem;
	line-height: 1.55;
}

.bks-site .bks-topic-archive .bks-card-link {
	font-size: 0.9rem;
}

.bks-site .bks-topic-archive .bks-question-list {
	gap: 10px;
}

.bks-site .bks-topic-archive .bks-question-card {
	padding: 18px 22px;
	border-left: 4px solid var(--bks-orange);
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(13, 47, 87, 0.04);
}

.bks-site .bks-topic-archive .bks-question-card .bks-card-title {
	margin-bottom: 6px;
	font-size: 1.02rem;
	line-height: 1.35;
}

.bks-site .bks-topic-archive .bks-question-card p:not(.bks-eyebrow) {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.6;
}

@media (min-width: 1060px) {
	/* Match the homepage Popular Resources rhythm: 4-up resource cards. */
	.bks-site .bks-topic-archive .bks-resource-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}

	.bks-site .bks-topic-archive .bks-three-grid,
	.bks-site .bks-topic-archive .bks-video-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1060px) {
	.bks-site .bks-topic-archive .bks-resource-card .bks-card-title {
		font-size: 1.02rem;
	}

	.bks-site .bks-topic-archive .bks-card-body {
		padding: 16px 18px 18px;
	}
}

/* Topic archive FAQ accordion. */
.bks-site .bks-topic-faq-accordion {
	padding: 4px 24px;
	border: 1px solid var(--bks-border);
	border-top: 0;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 10px 26px rgba(13, 47, 87, 0.04);
}

.bks-site .bks-topic-faq-accordion details {
	padding: 18px 0;
}

.bks-site .bks-topic-faq-accordion details:last-child {
	border-bottom: 0;
}

.bks-site .bks-topic-faq-accordion summary {
	font-size: 1.02rem;
}

.bks-site .bks-topic-faq-accordion p {
	max-width: 760px;
}

.bks-site .bks-faq-accordion .bks-card-link {
	display: inline-flex;
	margin-top: 10px;
	font-size: 0.9rem;
}

/* Topic archive video cards. */
.bks-site .bks-topic-archive .bks-video-list {
	gap: 18px;
	margin-top: 4px;
}

.bks-site .bks-topic-archive .bks-video-card .bks-card-link {
	margin-top: 6px;
	font-size: 0.9rem;
}

/* Pagination polish. */
.bks-site .bks-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
}

.bks-site .bks-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 8px 14px;
	border: 1px solid var(--bks-border);
	border-radius: 9px;
	background: #ffffff;
	color: var(--bks-navy);
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	transition: border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.bks-site .bks-pagination a.page-numbers:hover,
.bks-site .bks-pagination a.page-numbers:focus {
	border-color: rgba(244, 123, 32, 0.6);
	color: var(--bks-orange-dark);
	box-shadow: 0 8px 18px rgba(13, 47, 87, 0.08);
}

.bks-site .bks-pagination .current {
	border-color: var(--bks-navy);
	background: var(--bks-navy);
	color: #ffffff;
}

/* Phase 21: premium micro-interactions. */

/* FAQ accordion: orange hover, rotating +, animated open. */
.bks-site .bks-faq-accordion summary {
	position: relative;
	padding-right: 32px;
	transition: color 160ms ease;
}

.bks-site .bks-faq-accordion summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 2px;
	float: none;
	margin-top: -0.5em;
	transition: transform 220ms ease, color 160ms ease;
}

.bks-site .bks-faq-accordion summary:hover,
.bks-site .bks-faq-accordion summary:focus-visible,
.bks-site .bks-faq-accordion summary:hover::after {
	color: var(--bks-orange-dark);
}

.bks-site .bks-faq-accordion details[open] summary {
	color: var(--bks-orange-dark);
}

.bks-site .bks-faq-accordion details[open] summary::after {
	content: "+";
	color: var(--bks-orange);
	transform: rotate(45deg);
}

@keyframes bks-accordion-open {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.bks-site .bks-faq-accordion details[open] > *:not(summary) {
	animation: bks-accordion-open 260ms ease both;
}

.bks-site .bks-faq-accordion details {
	transition: background-color 160ms ease;
}

/* Browse by Topic: lift, glow, orange icon + title, sliding arrow. */
.bks-site .bks-topic-card {
	will-change: transform;
}

.bks-site .bks-topic-card .bks-topic-icon {
	transition: background-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.bks-site .bks-topic-card .bks-topic-title {
	transition: color 180ms ease;
}

.bks-site .bks-topic-card:hover,
.bks-site .bks-topic-card:focus-visible {
	border-color: rgba(244, 123, 32, 0.65);
	box-shadow: 0 22px 46px rgba(13, 47, 87, 0.14), 0 4px 12px rgba(244, 123, 32, 0.1);
	transform: translateY(-4px);
}

.bks-site .bks-topic-card:hover .bks-topic-icon,
.bks-site .bks-topic-card:focus-visible .bks-topic-icon {
	background: var(--bks-orange);
	color: #ffffff;
	transform: scale(1.08);
}

.bks-site .bks-topic-card:hover .bks-topic-title,
.bks-site .bks-topic-card:focus-visible .bks-topic-title {
	color: var(--bks-orange-dark);
}

/* The hub homepage topic icons have no background — tint the glyph instead. */
.bks-site .bks-resource-center .bks-topic-card:hover .bks-topic-icon,
.bks-site .bks-resource-center .bks-topic-card:focus-visible .bks-topic-icon {
	background: transparent;
	color: var(--bks-orange);
}

/* Sliding arrows on every "Learn More / Read More" style link. */
.bks-site .bks-card-link span,
.bks-site .bks-topic-link span,
.bks-site .bks-section-link span,
.bks-site .bks-process-link span {
	display: inline-block;
	margin-left: 4px;
	transition: transform 200ms ease;
}

.bks-site .bks-card-link:hover span,
.bks-site .bks-card-link:focus span,
.bks-site .bks-topic-link:hover span,
.bks-site .bks-topic-card:hover .bks-topic-link span,
.bks-site .bks-section-link:hover span,
.bks-site .bks-section-link:focus span,
.bks-site .bks-process-link:hover span {
	transform: translateX(4px);
}

/* Scroll reveal: elements fade/slide in as they enter the viewport. */
@media (prefers-reduced-motion: no-preference) {
	.bks-site .bks-reveal {
		opacity: 0;
		transform: translateY(18px);
		transition: opacity 500ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 500ms cubic-bezier(0.22, 0.61, 0.36, 1);
	}

	.bks-site .bks-reveal.bks-in-view {
		opacity: 1;
		transform: none;
	}
}

/* Phase 22: floating-card elevation + section flow fixes. */

/* Remove the hard divider between Popular Resources and Watch & Learn. */
.bks-site .bks-learning-panel {
	padding-top: 12px;
	border-top: 0;
}

/* Cards float at rest with a tight, deep shadow; hover lifts them subtly.
   Modeled after the LiquidateNow step cards (negative-spread shadows, .2s). */
.bks-site .bks-resource-center .bks-resource-card,
.bks-site .bks-event-card,
.bks-site .bks-search-results .bks-resource-card {
	border-radius: 14px;
	box-shadow: 0 22px 50px -34px rgba(13, 47, 87, 0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bks-site .bks-resource-center .bks-resource-card:hover,
.bks-site .bks-resource-center .bks-resource-card:focus-within,
.bks-site .bks-event-card:hover,
.bks-site .bks-event-card:focus-within,
.bks-site .bks-search-results .bks-resource-card:hover,
.bks-site .bks-search-results .bks-resource-card:focus-within {
	border-color: rgba(244, 123, 32, 0.55);
	box-shadow: 0 26px 56px -30px rgba(13, 47, 87, 0.38);
	transform: translateY(-4px);
}

.bks-site .bks-resource-center .bks-topic-card {
	box-shadow: 0 16px 38px -30px rgba(13, 47, 87, 0.32);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bks-site .bks-resource-center .bks-topic-card:hover,
.bks-site .bks-resource-center .bks-topic-card:focus-visible {
	box-shadow: 0 24px 50px -28px rgba(13, 47, 87, 0.36), 0 4px 12px rgba(244, 123, 32, 0.08);
	transform: translateY(-4px);
}

.bks-site .bks-video-card .bks-video-thumb {
	box-shadow: 0 18px 40px -32px rgba(13, 47, 87, 0.4);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bks-site .bks-video-card:hover .bks-video-thumb,
.bks-site .bks-video-card:focus-within .bks-video-thumb {
	box-shadow: 0 24px 50px -28px rgba(13, 47, 87, 0.45);
	transform: translateY(-3px);
}

/* Search results page. */
.bks-site .bks-search-results .bks-hero .bks-resource-search {
	margin-top: 28px;
}

.bks-site .bks-search-results .bks-empty-state {
	max-width: 560px;
	padding: 36px;
	border-radius: 16px;
	text-align: left;
}

.bks-site .bks-search-results .bks-empty-state h2 {
	margin: 0 0 10px;
	color: var(--bks-navy);
	font-size: 1.45rem;
}

.bks-site .bks-search-results .bks-empty-state p {
	margin: 0 0 18px;
	color: var(--bks-muted);
	line-height: 1.65;
}

.bks-site .bks-search-results .bks-empty-state .bks-button {
	margin-top: 0;
}

.bks-site .bks-search-results .bks-resource-center-cta {
	padding-bottom: 72px;
}

/* Phase 23: Community & Safety Events landing page. */

/* Hard-crop card media to 16:9 regardless of the image's intrinsic
   size or WP-added width/height attributes (portrait photos included). */
.bks-site .bks-event-media,
.bks-site .bks-resource-card-media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--bks-soft-bg);
}

.bks-site .bks-event-media img,
.bks-site .bks-event-media .bks-card-image,
.bks-site .bks-resource-card-media img,
.bks-site .bks-resource-card-media .bks-card-image {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}

.bks-site .bks-event-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

@media (min-width: 760px) {
	.bks-site .bks-event-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1060px) {
	.bks-site .bks-event-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.bks-site .bks-event-archive .bks-archive-list:last-of-type {
	padding-bottom: 8px;
}

.bks-site .bks-event-archive .bks-resource-center-cta {
	padding-bottom: 76px;
}

.bks-site .bks-events-empty {
	margin-top: 0;
	max-width: 560px;
	padding: 28px 30px;
	border: 1px dashed var(--bks-border);
	border-radius: 16px;
	background: var(--bks-soft-bg);
	box-shadow: none;
}

.bks-site .bks-events-empty p {
	margin: 0 0 10px;
	color: var(--bks-muted);
	line-height: 1.6;
}

/* Phase 24: editorial layout for all single templates (event, FAQ,
   video, attorney) — open typographic sections instead of stacked
   card boxes, matching the single resource treatment. */
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-layout {
	padding: 60px 0 90px;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section {
	margin: 0 0 54px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section h2 {
	margin-bottom: 18px;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.15;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content,
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content p,
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content li {
	color: #243246;
	font-size: clamp(1.04rem, 1.4vw, 1.14rem);
	line-height: 1.8;
}

/* Meta strip (event details, attorney details) instead of a box-in-box. */
.bks-site :is(.bks-single-event, .bks-single-attorney) .bks-detail-list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 44px;
	padding: 20px 26px;
	border: 1px solid var(--bks-border);
	border-radius: 16px;
	background: #fbfdff;
	box-shadow: 0 14px 34px -28px rgba(13, 47, 87, 0.3);
}

.bks-site :is(.bks-single-event, .bks-single-attorney) .bks-detail-list p {
	margin: 0;
	color: var(--bks-navy);
	font-size: 1.02rem;
	font-weight: 650;
}

.bks-site :is(.bks-single-event, .bks-single-attorney) .bks-detail-list p strong {
	display: block;
	margin-bottom: 2px;
	color: var(--bks-muted);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Related cards become clean editorial rows, not boxes. */
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card-grid {
	gap: 0 28px;
	border-top: 1px solid var(--bks-border);
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card {
	padding: 18px 0;
	border: 0;
	border-bottom: 1px solid var(--bks-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card:hover,
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card:focus-within {
	border-color: var(--bks-border);
	box-shadow: none;
	transform: none;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card .bks-card-title {
	font-size: 1.06rem;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section .bks-card p {
	font-size: 0.95rem;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-gallery-grid img {
	border-radius: 14px;
	box-shadow: 0 14px 34px -26px rgba(13, 47, 87, 0.35);
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-final-cta {
	margin-top: 64px;
	padding: clamp(28px, 4.5vw, 44px);
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(13, 47, 87, 0.16);
}

/* Hero with the event's featured photo behind a navy overlay. */
.bks-site .bks-hero.bks-hero-has-image {
	background:
		linear-gradient(180deg, rgba(7, 31, 59, 0.78) 0%, rgba(7, 31, 59, 0.62) 45%, rgba(7, 31, 59, 0.88) 100%),
		var(--bks-hero-image);
	background-size: cover, cover;
	background-position: center, center 30%;
	padding-top: 96px;
	padding-bottom: 100px;
}

.bks-site .bks-hero.bks-hero-has-image::after {
	display: none;
}

.bks-site .bks-hero.bks-hero-has-image h1 {
	text-shadow: 0 2px 24px rgba(5, 18, 36, 0.45);
}

/* Phase 25: single event — info sidebar layout. */
.bks-site .bks-eyebrow .bks-eyebrow-sep {
	margin: 0 6px;
	color: rgba(255, 255, 255, 0.55);
}

.bks-site .bks-hero-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.bks-site .bks-hero-pill {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 9px 15px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
	font-size: 0.92rem;
	font-weight: 650;
}

.bks-site .bks-hero-pill svg {
	width: 1.05em;
	height: 1.05em;
	fill: none;
	stroke: var(--bks-orange);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bks-site .bks-hero-pill-muted {
	background: rgba(255, 255, 255, 0.05);
	color: rgba(255, 255, 255, 0.7);
}

.bks-site .bks-event-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 34px;
	padding: 52px 0 90px;
}

.bks-site .bks-event-sidebar-card {
	padding: 22px 24px;
	border: 1px solid var(--bks-border);
	border-radius: 18px;
	background: #fbfdff;
	box-shadow: 0 22px 50px -34px rgba(13, 47, 87, 0.4);
}

.bks-site .bks-event-info-row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 0;
	border-top: 1px solid var(--bks-border);
}

.bks-site .bks-event-info-row-first {
	padding-top: 0;
	border-top: 0;
}

.bks-site .bks-event-date-tile {
	display: grid;
	place-items: center;
	width: 54px;
	padding: 7px 0 9px;
	border: 1px solid var(--bks-border);
	border-radius: 10px;
	background: #ffffff;
	text-transform: uppercase;
}

.bks-site .bks-event-date-tile span {
	color: var(--bks-orange-dark);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.06em;
}

.bks-site .bks-event-date-tile strong {
	color: var(--bks-navy);
	font-size: 1.45rem;
	font-weight: 850;
	line-height: 1.05;
}

.bks-site .bks-event-row-icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: var(--bks-orange-dark);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bks-site .bks-event-info-title {
	margin: 0;
	color: var(--bks-navy);
	font-size: 1rem;
	font-weight: 750;
	line-height: 1.35;
}

.bks-site .bks-event-info-sub {
	margin: 2px 0 0;
	color: var(--bks-muted);
	font-size: 0.92rem;
}

.bks-site .bks-event-info-link {
	display: inline-flex;
	margin-top: 4px;
	color: var(--bks-blue);
	font-size: 0.88rem;
	font-weight: 800;
}

.bks-site .bks-event-info-link:hover,
.bks-site .bks-event-info-link:focus {
	color: var(--bks-orange-dark);
}

.bks-site .bks-event-role-note {
	margin: 16px 0 0;
	padding: 13px 16px;
	border: 1px solid #f3d9bd;
	border-radius: 12px;
	background: #fff8f0;
	color: #6b4a26;
	font-size: 0.92rem;
	line-height: 1.55;
}

.bks-site .bks-event-sidebar-card .bks-button {
	width: 100%;
	margin-top: 14px;
}

.bks-site .bks-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.bks-site .bks-chip {
	padding: 7px 15px;
	border: 1px solid var(--bks-border);
	border-radius: 999px;
	background: #ffffff;
	color: var(--bks-blue);
	font-size: 0.9rem;
	font-weight: 700;
}

@media (min-width: 1020px) {
	.bks-site .bks-event-layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 56px;
		align-items: start;
	}

	.bks-site .bks-event-sidebar {
		position: sticky;
		top: 92px;
		order: 2;
	}
}

/* Phase 26: editorial event recap — bold display headings, kicker,
   masonry photo essay with captions, and a dependency-free lightbox. */
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-section h2,
.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content h2 {
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content h2 {
	margin: 1.9em 0 0.65em;
	color: var(--bks-navy);
	font-size: clamp(1.4rem, 2.3vw, 1.8rem);
	line-height: 1.2;
}

.bks-site :is(.bks-single-event, .bks-single-faq, .bks-single-video, .bks-single-attorney) .bks-content > h2:first-child {
	margin-top: 0;
}

.bks-site .bks-section h2.bks-section-kicker {
	margin: 0 0 14px;
	color: var(--bks-orange);
	font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bks-site .bks-event-lede {
	color: var(--bks-navy);
	font-size: clamp(1.15rem, 1.9vw, 1.32rem);
	font-weight: 550;
	line-height: 1.6;
}

/* Masonry photo essay: natural aspect ratios, captions under photos. */
.bks-site .bks-gallery-masonry {
	display: block;
	columns: 3 220px;
	column-gap: 16px;
}

.bks-site .bks-gallery-figure {
	margin: 0 0 16px;
	break-inside: avoid;
}

.bks-site .bks-gallery-figure .bks-gallery-link {
	display: block;
	overflow: hidden;
	border-radius: 14px;
}

.bks-site .bks-gallery-masonry img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	border-radius: 14px;
	object-fit: unset;
	transition: transform 220ms ease;
}

.bks-site .bks-gallery-figure .bks-gallery-link:hover img,
.bks-site .bks-gallery-figure .bks-gallery-link:focus img {
	transform: scale(1.025);
}

.bks-site .bks-gallery-figure figcaption {
	margin-top: 8px;
	padding: 0 10px;
	color: var(--bks-muted);
	font-size: 0.86rem;
	line-height: 1.5;
	text-align: center;
}

/* Lightbox. */
.bks-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(5, 18, 36, 0.94);
}

.bks-lightbox-figure {
	margin: 0;
	max-width: min(1100px, 92vw);
	text-align: center;
}

.bks-lightbox-img {
	max-width: 100%;
	max-height: 80vh;
	border-radius: 10px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}

.bks-lightbox-figure figcaption {
	margin-top: 14px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.95rem;
}

.bks-lightbox-count {
	margin-left: 8px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.85rem;
}

.bks-lightbox button {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
	font-size: 1.3rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 150ms ease, border-color 150ms ease;
}

.bks-lightbox button:hover,
.bks-lightbox button:focus {
	border-color: var(--bks-orange);
	background: rgba(244, 123, 32, 0.25);
}

.bks-lightbox-close {
	top: 20px;
	right: 20px;
}

.bks-lightbox-prev {
	left: 20px;
	top: 50%;
	margin-top: -23px;
}

.bks-lightbox-next {
	right: 20px;
	top: 50%;
	margin-top: -23px;
}

@media (max-width: 640px) {
	.bks-site .bks-gallery-masonry {
		columns: 1;
	}

	.bks-lightbox-prev {
		left: 10px;
	}

	.bks-lightbox-next {
		right: 10px;
	}
}

/* Phase 27: editorial resource article — display headings with accent
   bars, lede paragraph, inline figures, and the sidebar lead form. */
.bks-site .bks-single-resource .bks-content h2 {
	position: relative;
	margin-top: 2.4em;
	padding-top: 18px;
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.bks-site .bks-single-resource .bks-content h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 4px;
	border-radius: 2px;
	background: var(--bks-orange);
}

.bks-site .bks-single-resource .bks-content > h2:first-child {
	margin-top: 0;
}

.bks-site .bks-single-resource .bks-content h3 {
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-weight: 750;
}

.bks-site .bks-single-resource .bks-content > p:first-of-type {
	color: var(--bks-navy);
	font-size: clamp(1.14rem, 1.7vw, 1.28rem);
	font-weight: 530;
	line-height: 1.72;
}

.bks-site .bks-single-resource .bks-content ul,
.bks-site .bks-single-resource .bks-content ol {
	display: grid;
	gap: 10px;
	margin: 18px 0;
	padding-left: 24px;
}

.bks-site .bks-single-resource .bks-content ul li::marker,
.bks-site .bks-single-resource .bks-content ol li::marker {
	color: var(--bks-orange);
	font-weight: 800;
}

.bks-site .bks-content-figure {
	margin: 2.4em 0;
}

.bks-site .bks-content-figure img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 18px;
	box-shadow: 0 22px 50px -30px rgba(13, 47, 87, 0.35);
}

/* Sidebar Free Consultation card (FluentForms or fallback button). */
.bks-site .bks-single-resource .bks-sidebar-card.bks-sidebar-form-card {
	margin-top: 26px;
	padding: 20px 22px;
	border: 1px solid #f3d2b3;
	border-radius: 18px;
	background: linear-gradient(180deg, #fffaf5, #ffffff);
	box-shadow: 0 18px 46px -32px rgba(13, 47, 87, 0.35);
}

.bks-site .bks-single-resource .bks-sidebar-form-card .bks-sidebar-title {
	margin-bottom: 10px;
	color: var(--bks-orange-dark);
	letter-spacing: 0.08em;
}

.bks-site .bks-sidebar-form-text {
	margin: 0 0 4px;
	color: #344358;
	font-size: 0.95rem;
	line-height: 1.6;
}

.bks-site .bks-sidebar-form-card .bks-button {
	width: 100%;
	margin-top: 14px;
}

.bks-site .bks-sidebar-form-card .bks-form-note {
	margin-top: 10px;
}

/* Homepage rhythm: breathing room between Popular Resources, Watch &
   Learn, and the sections that follow. */
.bks-site .bks-learning-panel {
	padding-top: 56px;
}

.bks-site .bks-resource-center .bks-video-list {
	margin-bottom: 8px;
}

.bks-site .bks-resource-center .bks-archive-list .bks-resource-grid {
	margin-bottom: 12px;
}

/* Compact heroes for utility pages: videos and FAQs are not articles. */
.bks-site :is(.bks-single-video, .bks-single-faq) .bks-hero {
	padding: 44px 0 52px;
}

.bks-site :is(.bks-single-video, .bks-single-faq) .bks-hero h1 {
	max-width: 780px;
	font-size: clamp(1.7rem, 3.2vw, 2.5rem);
	line-height: 1.12;
}

.bks-site .bks-single-event .bks-hero h1 {
	font-size: clamp(1.9rem, 3.8vw, 3.1rem);
	line-height: 1.08;
}

/* Phase 28: single video layout — reel player beside the info column. */
.bks-site .bks-video-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
	padding: 52px 0 8px;
}

.bks-site .bks-video-below {
	padding: 28px 0 90px;
}

.bks-site .bks-video-below > .bks-section:first-child {
	padding-top: 28px;
	border-top: 1px solid var(--bks-border);
}

.bks-site .bks-video-summary {
	margin: 0;
	color: #243246;
	font-size: 1.12rem;
	font-weight: 480;
	line-height: 1.72;
}

.bks-site .bks-video-info-col .bks-section-kicker {
	margin-bottom: 10px;
	font-size: 0.74rem;
	letter-spacing: 0.14em;
}

.bks-site .bks-video-frame-vertical {
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	box-shadow: 0 26px 60px -32px rgba(13, 47, 87, 0.45);
}

.bks-site .bks-video-player-col .bks-video-frame {
	margin-top: 0;
}

.bks-site .bks-video-layout:not(.bks-video-layout-vertical) .bks-video-player-col {
	max-width: 880px;
}

.bks-site .bks-video-layout:not(.bks-video-layout-vertical) .bks-video-info-col {
	max-width: 820px;
}

@media (min-width: 1020px) {
	.bks-site .bks-video-layout-vertical {
		grid-template-columns: minmax(300px, 390px) minmax(0, 1fr);
		gap: 60px;
		align-items: start;
	}

	.bks-site .bks-video-layout-vertical .bks-video-player-col {
		position: sticky;
		top: 92px;
	}
}

.bks-site .bks-video-layout-vertical .bks-video-frame-vertical {
	margin-inline: 0;
}

.bks-site .bks-video-info-col .bks-section {
	margin: 0 0 32px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-video-info-col .bks-section:last-child {
	margin-bottom: 0;
}

/* Headings for the related sections below the player. */
.bks-site .bks-single-video .bks-video-below .bks-section h2 {
	margin-bottom: 14px;
	font-size: 1.3rem;
}

/* Key takeaways: extractable answer bullets beside the player. */
.bks-site .bks-takeaways {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bks-site .bks-takeaways li {
	position: relative;
	padding-left: 26px;
	color: #243246;
	font-size: 1rem;
	line-height: 1.6;
}

.bks-site .bks-takeaways li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--bks-orange);
}

/* Compact consultation prompt under the transcript. */
.bks-site .bks-video-cta {
	display: grid;
	gap: 4px;
	justify-items: start;
	margin-top: 8px;
	padding: 20px 22px;
	border: 1px solid #f3d2b3;
	border-radius: 16px;
	background: linear-gradient(180deg, #fffaf5, #ffffff);
}

.bks-site .bks-video-cta p {
	margin: 0;
	color: var(--bks-navy);
	font-size: 0.98rem;
	font-weight: 700;
}

.bks-site .bks-video-cta .bks-button {
	margin-top: 10px;
}

.bks-site .bks-video-cta .bks-form-note {
	margin-top: 6px;
	color: #5c6878;
	font-size: 0.78rem;
}

/* More videos rail below the player zone. */
.bks-site .bks-video-below .bks-video-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-top: 6px;
}

@media (min-width: 700px) {
	.bks-site .bks-video-below .bks-video-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1020px) {
	.bks-site .bks-video-below .bks-video-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	/* Related resources/FAQs spread across the wide container. */
	.bks-site .bks-single-video .bks-video-below .bks-section .bks-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Video below-zone: related resources as real media cards, FAQs as
   accented question cards (overrides the editorial-row treatment). */
.bks-site .bks-single-video .bks-video-below .bks-section .bks-card-grid {
	gap: 18px;
	border-top: 0;
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card {
	overflow: hidden;
	padding: 0 0 18px;
	border: 1px solid var(--bks-border);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 22px 50px -34px rgba(13, 47, 87, 0.3);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card:hover,
.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card:focus-within {
	border-color: rgba(244, 123, 32, 0.55);
	box-shadow: 0 26px 56px -30px rgba(13, 47, 87, 0.38);
	transform: translateY(-4px);
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card > a:first-of-type {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--bks-soft-bg);
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card .bks-card-image {
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card .bks-card-title {
	margin: 14px 18px 6px;
	font-size: 1.02rem;
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card p {
	margin: 0 18px 6px;
	font-size: 0.92rem;
}

.bks-site .bks-single-video .bks-video-below .bks-related-resource .bks-card .bks-card-link {
	margin-inline: 18px;
	font-size: 0.9rem;
}

.bks-site .bks-single-video .bks-video-below .bks-related-faqs .bks-card {
	padding: 18px 20px;
	border: 1px solid var(--bks-border);
	border-left: 4px solid var(--bks-orange);
	border-radius: 0 12px 12px 0;
	background: #ffffff;
	box-shadow: 0 6px 18px rgba(13, 47, 87, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bks-site .bks-single-video .bks-video-below .bks-related-faqs .bks-card:hover,
.bks-site .bks-single-video .bks-video-below .bks-related-faqs .bks-card:focus-within {
	box-shadow: 0 14px 30px rgba(13, 47, 87, 0.1);
	transform: translateY(-2px);
}

.bks-site .bks-single-video .bks-video-below .bks-related-faqs .bks-card .bks-card-title {
	font-size: 1rem;
}

/* Long transcripts collapse into an accordion. */
.bks-site .bks-transcript {
	padding: 18px 22px;
	border: 1px solid var(--bks-border);
	border-radius: 14px;
	background: #fbfdff;
}

.bks-site .bks-transcript summary {
	color: var(--bks-blue);
	font-weight: 800;
	cursor: pointer;
	transition: color 150ms ease;
}

.bks-site .bks-transcript summary:hover,
.bks-site .bks-transcript[open] summary {
	color: var(--bks-orange-dark);
}

.bks-site .bks-transcript .bks-content {
	margin-top: 14px;
}

/* Embeds pasted inside post content can never take over the page. */
.bks-site .bks-content > iframe {
	display: block;
	width: 100%;
	max-height: 70vh;
	margin: 1.8em auto;
	border: 0;
	border-radius: 14px;
}

/* WP responsive embed wrappers keep their aspect ratio, so portrait
   embeds get a phone-sized width cap instead of a height cap — the
   ratio-reserved space stays proportional and no dead gap appears. */
.bks-site .bks-content .wp-block-embed {
	margin: 1.8em auto;
}

.bks-site .bks-content .wp-block-embed iframe {
	border: 0;
	border-radius: 14px;
}

.bks-site .bks-content .wp-block-embed.wp-embed-aspect-9-16,
.bks-site .bks-content .wp-block-embed.wp-embed-aspect-3-4,
.bks-site .bks-content .wp-block-embed.wp-embed-aspect-2-3,
.bks-site .bks-content .wp-block-embed.wp-embed-aspect-1-1 {
	max-width: 360px;
}

/* Non-vertical video pages center their single column. */
.bks-site .bks-video-layout:not(.bks-video-layout-vertical) .bks-video-player-col,
.bks-site .bks-video-layout:not(.bks-video-layout-vertical) .bks-video-info-col {
	width: 100%;
	margin-inline: auto;
}

/* Related-section headings on video pages: compact, not display-size. */
.bks-site .bks-single-video .bks-video-info-col .bks-section h2:not(.bks-section-kicker) {
	font-size: 1.3rem;
}

/* Vertical (YouTube Shorts / reels) video frames: portrait 9:16. */
.bks-site .bks-video-frame-vertical {
	max-width: min(400px, 100%);
	margin-inline: auto;
}

.bks-site .bks-video-frame-vertical iframe {
	aspect-ratio: 9 / 16;
}

/* Trust bar: four equal columns with each item centered in its cell,
   so the rhythm is even and no item orphans onto a second line. */
.bks-site .bks-resource-trust-bar .bks-container-wide {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px 18px;
	align-items: center;
	justify-items: center;
	padding: 24px 0;
}

@media (min-width: 640px) {
	.bks-site .bks-resource-trust-bar .bks-container-wide {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.bks-site .bks-resource-trust-bar .bks-container-wide {
		grid-template-columns: repeat(4, 1fr);
	}
}

.bks-site .bks-resource-trust-bar .bks-container-wide > div {
	display: flex;
	gap: 11px;
	align-items: center;
	max-width: 250px;
	font-size: 0.88rem;
	font-weight: 750;
	line-height: 1.35;
	text-align: left;
}

.bks-site .bks-resource-trust-bar .bks-container-wide > div span {
	flex-shrink: 0;
	display: inline-flex;
}

/* Section subtitle under hub section headings. */
.bks-site .bks-section-sub {
	margin: 4px 0 0;
	color: var(--bks-muted);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.5;
}

/* Hub hero with a configurable background photo fading to white. */
.bks-site .bks-hub-hero.bks-hub-hero-has-image {
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.93) 0%, rgba(255, 255, 255, 0.86) 34%, rgba(255, 255, 255, 0.62) 58%, rgba(255, 255, 255, 0.34) 80%, rgba(255, 255, 255, 0.24) 100%),
		var(--bks-hub-hero-image);
	background-position: center, center;
	background-size: cover, cover;
	background-repeat: no-repeat;
}

.bks-site .bks-hub-hero-has-image .bks-hub-visual {
	background: none;
	box-shadow: none;
}

.bks-site .bks-hub-hero-has-image .bks-hub-visual::before,
.bks-site .bks-hub-hero-has-image .bks-hub-visual::after {
	display: none;
}

@media (max-width: 1019px) {
	.bks-site .bks-hub-hero-has-image {
		background:
			linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.92) 55%, rgba(255, 255, 255, 0.75) 100%),
			var(--bks-hub-hero-image);
		background-position: center, center;
		background-size: cover, cover;
	}
}

/* Phase 30: social proof at decision points. */
.bks-site .bks-stars {
	color: var(--bks-orange);
	font-size: 1rem;
	letter-spacing: 2px;
}

/* Compact proof strip on the hub homepage. */
.bks-site .bks-proof-strip-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 26px;
	align-items: center;
	justify-content: space-between;
	padding: 16px 22px;
	border: 1px solid var(--bks-border);
	border-radius: 14px;
	background: #fbfdff;
	box-shadow: 0 14px 34px -28px rgba(13, 47, 87, 0.3);
}

.bks-site .bks-proof-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	align-items: center;
}

.bks-site .bks-proof-badge {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--bks-navy);
	font-size: 0.92rem;
	text-decoration: none;
}

.bks-site .bks-proof-badge strong {
	font-weight: 800;
}

.bks-site .bks-proof-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

a.bks-proof-badge:hover strong,
a.bks-proof-badge:focus strong {
	color: var(--bks-orange-dark);
}

.bks-site .bks-proof-quote {
	flex: 1 1 320px;
	margin: 0;
	color: #44536a;
	font-size: 0.94rem;
	font-style: italic;
	line-height: 1.55;
}

.bks-site .bks-proof-quote span {
	margin-left: 6px;
	color: var(--bks-muted);
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
}

.bks-site .bks-proof-link {
	color: #1b64a0;
	font-size: 0.9rem;
	font-weight: 850;
	white-space: nowrap;
}

.bks-site .bks-proof-link:hover,
.bks-site .bks-proof-link:focus {
	color: var(--bks-orange-dark);
}

/* Article decision point: CTA band beside a review card. */
.bks-site .bks-cta-proof-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin-top: 72px;
}

.bks-site .bks-single-resource .bks-cta-proof-row .bks-final-cta {
	margin-top: 0;
}

@media (min-width: 900px) {
	.bks-site .bks-cta-proof-row {
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
		align-items: stretch;
	}
}

.bks-site .bks-cta-proof-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 26px 28px;
	border: 1px solid var(--bks-border);
	border-radius: 22px;
	background: #fbfdff;
	box-shadow: 0 22px 50px -34px rgba(13, 47, 87, 0.3);
}

.bks-site .bks-cta-proof-quote {
	margin: 12px 0 10px;
	color: #243246;
	font-size: 0.98rem;
	font-style: italic;
	line-height: 1.65;
}

.bks-site .bks-cta-proof-source {
	margin: 0;
	color: var(--bks-muted);
	font-size: 0.84rem;
	font-weight: 700;
}

.bks-site .bks-cta-proof-rating {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid #e8eef4;
	color: var(--bks-navy);
	font-size: 0.86rem;
	font-weight: 800;
}

.bks-site .bks-form-note .bks-stars {
	font-size: 0.82rem;
	letter-spacing: 1px;
}

/* End-of-article CTA with an embedded FluentForms form. */
.bks-site .bks-cta-form-card {
	justify-content: flex-start;
	padding: 22px 24px;
}

.bks-site .bks-cta-form-card .bks-hero-fluent-form {
	margin-top: 10px;
}

.bks-site .bks-cta-band-proof {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.92rem;
	font-weight: 700;
}

/* Phase 31: unified type scale — the article page joins the same calm
   hierarchy as the rest of the Resource Center. */
.bks-site .bks-single-resource .bks-resource-hero {
	padding: 54px 0 62px;
}

.bks-site .bks-single-resource .bks-hero h1 {
	max-width: 880px;
	font-size: clamp(1.9rem, 3.5vw, 2.85rem);
	line-height: 1.12;
}

.bks-site .bks-single-resource .bks-subtitle {
	max-width: 740px;
	margin-top: 14px;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	line-height: 1.6;
}

.bks-site .bks-single-resource .bks-breadcrumb {
	margin-bottom: 18px;
	font-size: 0.88rem;
}

.bks-site .bks-single-resource .bks-resource-hero .bks-button {
	min-height: 46px;
	margin-top: 22px;
	padding: 12px 20px;
}

.bks-site .bks-single-resource .bks-quick-answer,
.bks-site .bks-single-resource .bks-section {
	margin-bottom: 46px;
}

.bks-site .bks-single-resource .bks-guide-content {
	margin-bottom: 50px;
}

.bks-site .bks-single-resource .bks-section h2 {
	margin-bottom: 16px;
	font-size: clamp(1.35rem, 2.1vw, 1.7rem);
	line-height: 1.18;
}

.bks-site .bks-single-resource .bks-content h2 {
	font-size: clamp(1.28rem, 1.9vw, 1.55rem);
	line-height: 1.22;
}

.bks-site .bks-single-resource .bks-content h3 {
	font-size: clamp(1.1rem, 1.5vw, 1.28rem);
}

.bks-site .bks-single-resource .bks-content,
.bks-site .bks-single-resource .bks-content p,
.bks-site .bks-single-resource .bks-content li {
	font-size: 1.05rem;
	line-height: 1.78;
}

.bks-site .bks-single-resource .bks-content > p:first-of-type {
	font-size: clamp(1.1rem, 1.4vw, 1.18rem);
}

.bks-site .bks-single-resource .bks-quick-answer p:last-child {
	font-size: clamp(1.02rem, 1.4vw, 1.1rem);
	line-height: 1.68;
}

.bks-site .bks-single-resource .bks-editorial-list li,
.bks-site .bks-single-resource .bks-steps li {
	font-size: 1rem;
	line-height: 1.68;
}

.bks-site .bks-single-resource .bks-final-cta {
	padding: clamp(26px, 4vw, 38px);
	border-radius: 22px;
}

.bks-site .bks-single-resource .bks-final-cta h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.15;
}

.bks-site .bks-single-resource .bks-final-cta p {
	font-size: 1rem;
	line-height: 1.6;
}

/* Inline article FAQs are accordions too. */
.bks-site .bks-inline-faq summary {
	position: relative;
	padding-right: 34px;
	color: var(--bks-navy);
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: 1.06rem;
	font-weight: 800;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
	transition: color 160ms ease;
}

.bks-site .bks-inline-faq summary::-webkit-details-marker {
	display: none;
}

.bks-site .bks-inline-faq summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 4px;
	margin-top: -0.55em;
	color: var(--bks-navy);
	font-size: 1.25rem;
	line-height: 1;
	transition: transform 220ms ease, color 160ms ease;
}

.bks-site .bks-inline-faq summary:hover,
.bks-site .bks-inline-faq summary:focus-visible,
.bks-site .bks-inline-faq[open] summary {
	color: var(--bks-orange-dark);
}

.bks-site .bks-inline-faq summary:hover::after,
.bks-site .bks-inline-faq[open] summary::after {
	color: var(--bks-orange);
}

.bks-site .bks-inline-faq[open] summary::after {
	transform: rotate(45deg);
}

.bks-site .bks-inline-faq .bks-inline-faq-answer {
	margin-top: 12px;
}

.bks-site .bks-inline-faq[open] > .bks-inline-faq-answer {
	animation: bks-accordion-open 260ms ease both;
}

.bks-site .bks-inline-faq-more {
	margin-top: 10px;
	color: #344358;
	line-height: 1.7;
}

.bks-site .bks-single-resource .bks-inline-faq summary {
	font-size: clamp(1.04rem, 1.6vw, 1.18rem);
}

/* Continue Learning / Community Events on articles: compact rail rows
   (small thumb + title) so more options fit in less space. */
.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card-grid {
	grid-template-columns: 1fr;
	gap: 0 28px;
	margin-top: 10px;
}

@media (min-width: 700px) {
	.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-height: 0;
	padding: 12px 0;
	border: 0;
	border-top: 1px solid var(--bks-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card:not(:has(img)) {
	grid-template-columns: minmax(0, 1fr);
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card > a:first-child {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	background: var(--bks-soft-bg);
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card .bks-card-image {
	width: 100%;
	height: 100%;
	max-height: none;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card .bks-card-title {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.35;
}

.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card p,
.bks-site .bks-single-resource :is(.bks-continue-learning, .bks-community-events) .bks-card .bks-card-link {
	display: none;
}

/* FAQ parent-guide callout. */
.bks-site .bks-faq-guide-callout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin: 0 0 46px;
	padding: 20px 24px;
	border: 1px solid var(--bks-border);
	border-left: 4px solid var(--bks-orange);
	border-radius: 0 16px 16px 0;
	background: linear-gradient(180deg, #fbfdff, #ffffff);
	box-shadow: 0 18px 44px -32px rgba(13, 47, 87, 0.35);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.bks-site .bks-faq-guide-callout:hover,
.bks-site .bks-faq-guide-callout:focus {
	box-shadow: 0 24px 54px -30px rgba(13, 47, 87, 0.42);
	transform: translateY(-2px);
}

@media (min-width: 700px) {
	.bks-site .bks-faq-guide-callout {
		grid-template-columns: 130px minmax(0, 1fr);
	}

	.bks-site .bks-faq-guide-callout:not(:has(.bks-faq-guide-thumb)) {
		grid-template-columns: minmax(0, 1fr);
	}
}

.bks-site .bks-faq-guide-thumb {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	background: var(--bks-soft-bg);
}

.bks-site .bks-faq-guide-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bks-site .bks-faq-guide-body {
	display: grid;
	gap: 4px;
}

.bks-site .bks-faq-guide-kicker {
	color: var(--bks-orange-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bks-site .bks-faq-guide-callout strong {
	color: var(--bks-navy);
	font-family: "Montserrat", "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.3;
}

.bks-site .bks-faq-guide-link {
	color: #1b64a0;
	font-size: 0.9rem;
	font-weight: 800;
}

.bks-site .bks-faq-guide-callout:hover .bks-faq-guide-link {
	color: var(--bks-orange-dark);
}

/* Phase 33: live-site polish — compact lead form, fixed phone flag
   button, steady submit hover, wider search, header-zone veil. */
.bks-site .bks-hero-trust-card {
	padding: 22px 24px;
}

.bks-site .bks-trust-card-heading {
	margin-bottom: 12px;
}

.bks-site .bks-hero-fluent-form .ff-el-group,
.bks-site .bks-hero-fluent-form .frm-fluent-form .ff-t-container {
	margin-bottom: 8px;
}

.bks-site .bks-hero-fluent-form label,
.bks-site .bks-hero-fluent-form .ff-el-input--label {
	margin-bottom: 3px;
	font-size: 0.72rem;
}

.bks-site .bks-hero-fluent-form input,
.bks-site .bks-hero-fluent-form select,
.bks-site .bks-hero-fluent-form .ff-el-form-control {
	min-height: 36px;
	padding: 7px 10px;
	font-size: 0.86rem;
}

.bks-site .bks-hero-fluent-form textarea,
.bks-site .bks-hero-fluent-form textarea.ff-el-form-control {
	min-height: 60px;
}

/* The orange button treatment belongs to the submit only — never the
   intl phone-field flag selector or other utility buttons. */
.bks-site .bks-hero-fluent-form button:not([type="submit"]):not(.ff-btn-submit) {
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 0 6px;
	border: 0;
	background: transparent;
	color: inherit;
	box-shadow: none;
}

.bks-site .bks-hero-fluent-form .iti__selected-flag,
.bks-site .bks-hero-fluent-form .iti button {
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Steady submit hover: color shift only, no movement. */
.bks-site .bks-hero-fluent-form button[type="submit"],
.bks-site .bks-hero-fluent-form .ff-btn-submit {
	transition: background-color 150ms ease, border-color 150ms ease;
}

.bks-site .bks-hero-fluent-form button[type="submit"]:hover,
.bks-site .bks-hero-fluent-form button[type="submit"]:focus,
.bks-site .bks-hero-fluent-form .ff-btn-submit:hover,
.bks-site .bks-hero-fluent-form .ff-btn-submit:focus {
	transform: none;
}

/* Wider hero search: reaches the end of the popular-search pills. */
.bks-site .bks-resource-search {
	width: min(100%, 640px);
}

/* Theme-chrome mode: a soft top veil so the theme's transparent header
   row sits on light background instead of straddling photo and white. */
body:not(.bks-chrome) .bks-hub-hero.bks-hub-hero-has-image {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.45) 120px, rgba(255, 255, 255, 0) 240px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.93) 0%, rgba(255, 255, 255, 0.86) 34%, rgba(255, 255, 255, 0.62) 58%, rgba(255, 255, 255, 0.34) 80%, rgba(255, 255, 255, 0.24) 100%),
		var(--bks-hub-hero-image);
	background-position: center, center, center;
	background-size: cover, cover, cover;
	background-repeat: no-repeat;
}

/* Scroll-spy active state for the single resource table of contents. */
.bks-site .bks-sidebar nav a.is-active {
	color: var(--bks-orange-dark);
}

.bks-site .bks-single-resource .bks-sidebar nav a.is-active {
	margin-left: -19px;
	padding-left: 16px;
	border-left: 3px solid var(--bks-orange);
	color: var(--bks-navy);
	font-weight: 800;
}
