@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Playfair+Display:wght@400;700&family=Space+Mono&family=Lora:wght@400;700&family=Roboto:wght@400;700&family=Source+Code+Pro&family=Poppins:wght@400;600;700&family=Montserrat:wght@400;700&display=swap');

h1 {
	font-size: 3rem;
}

:root {
	/* Layout + spacing tokens */
	--ak-space-xs: 0.75rem;
	--ak-space-sm: 1.25rem;
	--ak-space-md: 2rem;
	--ak-space-lg: 3rem;
	--ak-space-xl: 4rem;
	--fbyv-section-color: var(--wp--preset--color--ink);

	/* Accent + surfaces (overridden by Dynamic_Styler) */
	--ak-accent-color: #0ea5e9;
	--ak-accent-color-secondary: #f97316;
	--ak-accent-inner: #ffffff;
	--ak-accent-text: #0f172a;
	--ak-accent-shadow: 0 30px 70px rgba(15, 23, 42, 0.2);
	--ak-section-bg: #f5f5f7;
	--ak-page-background: #ffffff;
	--ak-section-accent-text: #0f172a;
	--ak-radius-xl: 40px;
	--ak-radius-lg: 28px;
	--ak-image-radius: 32px;
	--ak-button-radius: 999px;
	--ak-button-shadow: none;
}

html {
	overflow-x: hidden;
}

.fbyv-shell {
	width: min(1120px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	gap: 3rem;
}

.fbyv-site-header--wide {
	width: 100%;
	max-width: 100%;
	padding-left: clamp(1.5rem, 4vw, 3rem);
	padding-right: clamp(1.5rem, 4vw, 3rem);
}

.fbyv-shell--narrow {
	width: min(860px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	padding-top: var(--ak-space-lg, 3rem);
	padding-bottom: var(--ak-space-lg, 3rem);
}

.fbyv-card {
	padding: 2rem;
	gap: 1rem;
}

.fbyv-card-grid {
	gap: 2rem;
}

.fbyv-card-grid .wp-block-column {
	justify-content: space-around;
}

.fbyv-card-grid .fbyv-card {
	height: 100%;
}

.fbyv-contact-card {
	padding: 2.5rem 0;
	margin: 0;
	width: 100%;
	gap: 2rem;
}

.fbyv-pricing-card {
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: var(--ak-radius-lg, 28px);
	padding: 2rem;
}

.fbyv-pricing-card--featured {
	border-color: var(--ak-accent-color, var(--wp--preset--color--primary));
	background-color: var(--ak-accent-inner, #fff);
	color: var(--ak-accent-text, #000);
}

.fbyv-accent-band {
	position: relative;
	margin: clamp(3rem, 6vw, 5rem) 0;
	padding: clamp(3rem, 5vw, 5rem) 0;
	color: var(--ak-accent-text);
	overflow: visible;
}

.fbyv-accent-band::before {
	content: '';
	position: absolute;
	inset: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background: var(--ak-accent-color);
	z-index: -2;
}

.fbyv-accent-band::after {
	content: '';
	position: absolute;
	inset: clamp(0.6rem, 1.5vw, 1.5rem);
	left: 50%;
	width: calc(100vw - clamp(1.2rem, 4vw, 3rem));
	transform: translateX(-50%);
	border-radius: calc(var(--ak-radius-xl, 40px) - 12px);
	border: 1px dashed var(--ak-accent-color-secondary, var(--ak-accent-color));
	opacity: 0.55;
	z-index: -3;
}

.fbyv-accent-band__inner {
	width: min(1120px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	padding: clamp(2rem, 4vw, 3.5rem);
	border-radius: var(--ak-radius-xl, 36px);
	background: var(--ak-accent-inner);
	box-shadow: var(--ak-accent-shadow, 0 30px 70px rgba(15, 23, 42, 0.18));
	color: inherit;
}

.fbyv-accent-band__inner a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.fbyv-accent-band__inner a:hover,
.fbyv-accent-band__inner a:focus-visible {
	opacity: 0.85;
}

.fbyv-accent-band--neutral {
	--fbyv-accent-color: var(--wp--preset--color--sand);
}

.fbyv-accent-band--sky {
	--fbyv-accent-color: var(--wp--preset--color--sky);
}

.fbyv-accent-band--soft {
	--fbyv-accent-color: var(--wp--preset--color--blush);
	--fbyv-accent-text: #45132b;
}

.fbyv-accent-band--pattern {
	--fbyv-accent-color: var(--wp--preset--color--sun);
	--fbyv-accent-text: #4a1c00;
}

.fbyv-accent-band--deep {
	--fbyv-accent-color: var(--wp--preset--color--ink);
	--fbyv-accent-band-inner: rgba(5, 7, 13, 0.9);
	--fbyv-accent-text: #ffffff;
}

.fbyv-section {
	position: relative;
	width: 100vw;
	margin: 0;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(var(--ak-space-lg, 3rem), 6vw, var(--ak-space-xl, 4rem)) 0;
	background: var(--fbyv-section-bg, var(--ak-section-bg, #f5f5f7));
	color: var(--fbyv-section-color, inherit);
}

.fbyv-section--surface {
	--fbyv-section-bg: var(--ak-section-bg, #f5f5f7);
	--fbyv-section-color: var(--wp--preset--color--ink);
}

.fbyv-section--muted {
	--fbyv-section-bg: var(--ak-accent-inner, #ffffff);
	--fbyv-section-color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.fbyv-section--contrast {
	--fbyv-section-bg: var(--ak-hero-retro-bg, var(--ak-accent-inner, #ffffff));
	--fbyv-section-color: var(--ak-hero-retro-text, var(--ak-accent-text, #0f172a));
}

.fbyv-section--accent {
	--fbyv-section-bg: var(--ak-accent-color, #0ea5e9);
	--fbyv-section-color: var(--ak-section-accent-text, var(--ak-accent-text, #0f172a));
}

.fbyv-section__inner {
	width: min(1120px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2rem);
}

.fbyv-section--accent .fbyv-section__inner,
.fbyv-section--accent .fbyv-section__inner *,
.fbyv-section--contrast .fbyv-section__inner,
.fbyv-section--contrast .fbyv-section__inner * {
	color: inherit;
}

/* Opt-out of inherited contrast color for light cards inside contrast sections */
.fbyv-section--contrast .fbyv-recent-card,
.fbyv-section--contrast .fbyv-recent-card *,
.fbyv-section--contrast .fbyv-recent-mini,
.fbyv-section--contrast .fbyv-recent-mini * {
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.fbyv-section-icon {
	width: 80px;
	height: 80px;
	border-radius: 999px;
	background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.6)) var(--ak-accent-color, #0ea5e9);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.fbyv-section-icon img {
	max-width: 60%;
	max-height: 60%;
	display: block;
}

/* Recent posts */
.fbyv-recent {
	gap: 1.5rem;
	color: var(--fbyv-section-color, var(--ak-accent-text, var(--wp--preset--color--ink)));
	--fbyv-recent-card-bg: var(--ak-accent-inner, #ffffff);
	--fbyv-recent-card-text: var(--ak-card-text, var(--ak-accent-text, #0f172a));
	--fbyv-recent-card-border: rgba(15, 23, 42, 0.08);
	--fbyv-recent-card-shadow: 0 8px 32px rgba(15, 23, 42, 0.08);
}

/* Flatten contained sections when displaying recent posts - cards are the only elevated element */
.fbyv-recent.fbyv-section--contained .fbyv-section__inner,
.fbyv-section--contained.fbyv-recent .fbyv-section__inner {
	box-shadow: none;
	background: transparent;
	border-radius: 0;
	padding: 0;
}

.fbyv-recent__inner {
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

/* Recent posts header - centered, bold style */
.fbyv-recent__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* Header typography */
.fbyv-eyebrow {
	font-size: var(--wp--preset--font-size--sm, 0.875rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.65;
	margin: 0 0 0.5rem 0;
}

.fbyv-recent__title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 700;
	margin: 0 0 0.75rem 0;
	line-height: 1.2;
}

.fbyv-muted {
	font-size: var(--wp--preset--font-size--base, 1rem);
	opacity: 0.72;
	margin: 0;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.fbyv-recent__grid .wp-block-post-template,
.fbyv-recent-list .wp-block-post-template,
.fbyv-recent-spotlight__list .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fbyv-recent__grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.5rem;
}

.fbyv-recent-card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	background: var(--fbyv-recent-card-bg, #ffffff);
	color: var(--ak-accent-text, #0f172a);
	border: 1px solid var(--fbyv-recent-card-border, rgba(15, 23, 42, 0.12));
	border-radius: var(--ak-radius-lg, 24px);
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08),
	            0 2px 8px rgba(15, 23, 42, 0.04);
	height: 100%;
}

.fbyv-recent-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--fbyv-recent-card-text);
	opacity: 0.72;
}

.fbyv-dot {
	margin: 0;
	opacity: 0.5;
}

.fbyv-recent-card__terms a,
.fbyv-recent-row__terms a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(15, 23, 42, 0.25);
}

.fbyv-recent-card__title a {
	color: var(--ak-accent-color, var(--wp--preset--color--sky));
	text-decoration: none;
}

.fbyv-recent-card__title a:hover,
.fbyv-recent-card__title a:focus-visible {
	color: var(--wp--preset--color--ink);
}

.fbyv-recent-card__excerpt {
	color: var(--fbyv-recent-card-text);
	opacity: 0.75;
}

.fbyv-recent-list .wp-block-post-template {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.wp-block-post-template li {
	width: 100% !important
}

.fbyv-recent-row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	background: var(--fbyv-recent-card-bg, #ffffff);
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
	border: 1px solid var(--fbyv-recent-card-border, rgba(15, 23, 42, 0.12));
	border-radius: var(--ak-radius-lg, 24px);
	padding: 1.25rem 1.5rem;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06),
	            0 1px 4px rgba(15, 23, 42, 0.03);
}

.fbyv-recent-row__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--fbyv-recent-card-text);
	opacity: 0.7;
}

.fbyv-recent-row__content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	color: var(--fbyv-section-color, var(--wp--preset--color--ink));
}

.fbyv-recent-row__excerpt {
	color: var(--fbyv-recent-card-text);
	opacity: 0.75;
}

.fbyv-recent-row__cta {
	margin: 0;
	font-weight: 600;
}

.fbyv-recent-row__cta a {
	color: var(--ak-accent-color, var(--wp--preset--color--sky));
	text-decoration: none;
}

.fbyv-recent-row__cta a:hover,
.fbyv-recent-row__cta a:focus-visible {
	color: var(--wp--preset--color--ink);
}

.fbyv-recent-spotlight__featured .wp-block-post-template {
	margin: 0 0 1.5rem;
}

.fbyv-recent-spotlight__card {
	background: var(--wp--preset--color--ink);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.fbyv-recent-spotlight__card .fbyv-recent-card__meta {
	color: rgba(255, 255, 255, 0.78);
}

.fbyv-recent-spotlight__card .fbyv-recent-card__terms a {
	border-bottom-color: rgba(255, 255, 255, 0.35);
}

.fbyv-recent-spotlight__card a,
.fbyv-recent-mini__cta a {
	color: var(--ak-accent-color, var(--wp--preset--color--sky));
}

.fbyv-recent-spotlight__list .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.fbyv-recent-mini {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
	border: 1px solid var(--fbyv-recent-card-border, rgba(15, 23, 42, 0.12));
	border-radius: var(--ak-radius-lg, 24px);
	padding: 1rem 1.25rem;
	background: var(--fbyv-recent-card-bg, #ffffff);
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05),
	            0 1px 3px rgba(15, 23, 42, 0.02);
}

.fbyv-recent-mini__cta {
	margin: 0;
	font-weight: 600;
}

.fbyv-svg-break {
	justify-content: center;
}

.fbyv-svg-break-inner {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	border-radius: var(--ak-radius-xl, 40px);
	background: transparent;
	padding: clamp(2.5rem, 4vw, 3.5rem);
	box-shadow: var(--ak-accent-shadow, 0 30px 70px rgba(15, 23, 42, 0.18));
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(1.5rem, 3vw, 2rem);
}

.fbyv-svg-break-image img {
	display: block;
	width: 100%;
	height: auto;
}

.fbyv-card--split {
	padding: clamp(2rem, 4vw, 3rem);
}

.fbyv-card-split {
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center !important;
}

.fbyv-card-split__text {
	flex: 0 0 60%;
}

.fbyv-card-split__media {
	flex: 0 0 40%;
}

@media (max-width: 768px) {

	.fbyv-card-split__text,
	.fbyv-card-split__media {
		flex: 0 0 100%;
	}
}

.fbyv-section-image img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: var(--ak-image-radius, 32px);
	display: block;
}

/* Flat layout: treat sections as part of one continuous page background so
 * cards/patterns feel like they are "floating" instead of sitting on bands.
 */
body.fbyv-layout-flat-sections {
	background-color: var(--ak-page-background, #ffffff);
}

body.fbyv-layout-flat-sections .fbyv-section:not(.fbyv-section--contrast) {
	background: var(--ak-page-background, #ffffff);
}

.fbyv-section--contained {
	width: min(1120px, calc(100% - 3rem)) !important;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(var(--ak-space-md, 2rem), 5vw, var(--ak-space-lg, 3rem)) 0;
	background: var(--ak-page-background, #ffffff);
}

.fbyv-section--contained.fbyv-section {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.fbyv-section--contained.alignfull {
	margin-left: auto;
	margin-right: auto;
}

.fbyv-section--contained .fbyv-section__inner {
	width: 100%;
	background: var(--fbyv-section-bg, var(--ak-section-bg, #f5f5f7));
	border-radius: var(--ak-radius-xl, 36px);
	padding: clamp(var(--ak-space-md, 2rem), 4vw, var(--ak-space-lg, 3rem));
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
	color: var(--fbyv-section-color, inherit);
}

.fbyv-divider {
	border-bottom: 1px solid rgba(15, 23, 42, 0.15);
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	gap: 0.75rem;
}

.fbyv-accent-band .wp-block-heading,
.fbyv-accent-band .wp-block-paragraph,
.fbyv-accent-band .wp-block-list,
.fbyv-accent-band .wp-block-quote,
.fbyv-accent-band .fbyv-card,
.fbyv-accent-band .wp-block-buttons,
.fbyv-accent-band .wp-block-button,
.fbyv-accent-band .wp-element-button {
	color: var(--ak-accent-text);
}

.fbyv-front-shell {
	padding: 0 12px;
	margin: 0 auto;
}



.fbyv-hero-split {
	gap: 3rem;
	align-items: stretch;
}

.fbyv-hero-panel {
	border-radius: var(--ak-image-radius, 32px);
	padding: 0;
	border: none;
	overflow: hidden;
	min-height: 100%;
}

.fbyv-hero-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: var(--ak-image-radius, 32px);
}

.fbyv-hero-placeholder {
	border: 1px dashed rgba(15, 23, 42, 0.3);
	border-radius: var(--ak-radius-lg, 28px);
	padding: 2rem;
	color: inherit;
	opacity: 0.8;
}

.fbyv-hero-cover {
	position: relative;
	overflow: hidden;
	padding: clamp(4rem, 7vw, 5.5rem) 0;
	color: #fff;
}

.fbyv-hero-cover::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 0;
}

.fbyv-hero-cover__inner {
	position: relative;
	z-index: 1;
	max-width: 840px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.fbyv-hero-cover__inner h1,
.fbyv-hero-cover__inner p,
.fbyv-hero-cover__inner li {
	color: #fff;
}


.fbyv-hero-cover.alignfull,
.fbyv-hero-shell.alignfull,
.fbyv-hero-solid.alignfull {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.fbyv-hero-minimal {
	gap: 1.25rem;
}

.fbyv-hero-shell {
	padding: clamp(3rem, 5vw, 4.5rem);
	background: var(--ak-hero-split-bg, var(--ak-accent-inner));
	color: var(--ak-hero-split-text, inherit);
	position: relative;
}

.fbyv-hero-shell.alignfull>.wp-block-columns {
	width: min(1120px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	align-items: center !important;
}

.fbyv-hero-shell--split .fbyv-hero-panel {
	background: rgba(255, 255, 255, 0.12);
	border-radius: var(--ak-radius-lg, 32px);
	padding: clamp(1rem, 3vw, 2rem);
}

.fbyv-hero-shell *,
.fbyv-hero-solid *,
.fbyv-hero-retro * {
	color: inherit;
}

.fbyv-hero-shell--split .fbyv-hero-panel .wp-block-image img {
	width: 100%;
	height: auto;
}

.fbyv-hero-solid {
	text-align: center;
	color: var(--ak-hero-solid-text, inherit);
	background: var(--ak-hero-solid-bg, var(--ak-accent-color));
	padding: clamp(4rem, 7vw, 5.5rem);
}

.fbyv-hero-solid.alignfull {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.fbyv-hero-solid.alignfull>* {
	width: min(1120px, calc(100% - 4rem));
}

.fbyv-hero-solid .wp-block-heading {
	margin-bottom: 1rem;
}

.fbyv-hero-retro {
	padding: clamp(3rem, 5vw, 4rem);
	border-radius: var(--ak-radius-lg, 32px);
	border: 3px solid var(--ak-hero-retro-border, currentColor);
	background: var(--ak-hero-retro-bg, var(--ak-accent-inner));
	color: var(--ak-hero-retro-text, #0f172a);
	box-shadow: 12px 12px 0 rgba(0, 0, 0, 0.15);
	text-align: left;
	position: relative;
	margin-bottom: 5rem;
}

.fbyv-hero-retro.alignfull>* {
	max-width: min(1120px, calc(100% - 4rem));
}

.fbyv-hero-retro p {
	max-width: 720px;
}

.fbyv-hero-retro::after {
	content: '';
	position: absolute;
	top: 12px;
	left: 12px;
	right: -12px;
	bottom: -12px;
	border: 2px dashed rgba(0, 0, 0, 0.1);
	z-index: -1;
}

.wp-block-button .wp-block-button__link {
	border-radius: var(--ak-button-radius, 999px);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible {
	transform: translateY(-2px);
}

.fbyv-site-header,
.fbyv-site-footer {
	width: min(1120px, calc(100% - 4rem));
	margin-left: auto;
	margin-right: auto;
	gap: 1.25rem;
	padding: var(--ak-space-md) 0;
}

.fbyv-site-header__inner {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2rem);
}

.fbyv-site-header__inner .wp-block-site-title {
	margin: 0;
}

body.fbyv-header-layout-centered .fbyv-site-header__inner {
	justify-content: center;
	text-align: center;
}

body.fbyv-header-layout-centered .fbyv-site-header__inner .wp-block-navigation,
body.fbyv-header-layout-centered .fbyv-site-header__inner .wp-block-navigation .wp-block-navigation__container {
	justify-content: center;
}

body.fbyv-header-layout-stacked .fbyv-site-header__inner {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

body.fbyv-header-layout-stacked .fbyv-site-header__inner .wp-block-navigation,
body.fbyv-header-layout-stacked .fbyv-site-header__inner .wp-block-navigation .wp-block-navigation__container {
	justify-content: center;
}

body.fbyv-header-layout-stacked .fbyv-site-header__inner .wp-block-site-title {
	width: 100%;
}

.fbyv-site-logo-wrap {
	display: flex;
	gap: 0.75rem;
	align-items: center;
}

body.fbyv-header-layout-stacked .fbyv-site-logo-wrap {
	justify-content: center;
	width: 100%;
	text-align: center;
}

.custom-logo-link img,
.fbyv-generated-logo svg {
	max-height: 80px;
	height: auto;
	width: auto;
	max-width: 100%;
}

.has-custom-logo .fbyv-site-title,
.fbyv-has-logo .fbyv-site-title,
.has-custom-logo .wp-block-site-title,
.fbyv-has-logo .wp-block-site-title {
	display: none;
}

/* CSS Logo variants (fallback when AI generation unavailable) */
.fbyv-logo {
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* Text variants - full site name */
.fbyv-logo--bold,
.fbyv-logo--pill,
.fbyv-logo--underline {
	font-size: clamp(1.25rem, 4vw, 1.5rem);
	white-space: nowrap;
}

.fbyv-logo--bold {
	color: var(--ak-accent-color);
}

.fbyv-logo--pill {
	background: var(--ak-accent-color);
	color: var(--ak-accent-inner, #fff);
	padding: 0.35em 0.7em;
	border-radius: var(--ak-button-radius, 0.5em);
}

.fbyv-logo--underline {
	color: inherit;
	border-bottom: 3px solid var(--ak-accent-color);
	padding-bottom: 0.15em;
}

/* Initial variants - single letter */
.fbyv-logo--initial-circle,
.fbyv-logo--initial-square {
	width: 2.5em;
	height: 2.5em;
	font-size: 1.25rem;
	background: var(--ak-accent-color);
	color: var(--ak-accent-inner, #fff);
}

.fbyv-logo--initial-circle {
	border-radius: 50%;
}

.fbyv-logo--initial-square {
	border-radius: var(--ak-radius-lg, 0.5em);
}

body.fbyv-header-layout-boxed .fbyv-site-header__inner {
	background: var(--ak-section-bg, #f5f5f7);
	border-radius: var(--ak-radius-xl, 36px);
	border: 1px solid rgba(15, 23, 42, 0.12);
	padding: clamp(1rem, 3vw, 1.5rem);
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
}

body.fbyv-header-layout-boxed .fbyv-site-header {
	padding-left: clamp(1.5rem, 4vw, 2.5rem) !important;
	padding-right: clamp(1.5rem, 4vw, 2.5rem) !important;
}

.fbyv-site-footer {
	text-align: center;
}

.fbyv-site-footer--centered {
	text-align: center;
	gap: 0.5rem;
}

.fbyv-site-footer--columns {
	text-align: left;
}

.fbyv-site-footer--columns .wp-block-columns {
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.fbyv-footer-heading {
	margin: 0 0 0.35rem 0;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.85rem;
	opacity: 0.7;
}

.fbyv-footer-nav {
	margin-top: 0.5rem;
}

.fbyv-footer-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.35rem;
}


.fbyv-footer-copy {
	font-size: var(--wp--preset--font-size--sm);
	display: inline-block;
}

.fbyv-footer-copy a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.fbyv-footer-copy a:hover,
.fbyv-footer-copy a:focus-visible {
	color: var(--wp--preset--color--sky);
	border-bottom-color: currentColor;
}

.fbyv-stats-row .wp-block-group {
	display: flex;
	flex-flow: column;
}

.fbyv-stats-row {
	width: 100%;
	justify-content: space-around !important;
	text-align: center;
}

.fbyv-stats-row .wp-block-group>.wp-block-paragraph:first-child {
	font-size: 2.75rem;
	font-weight: 700;
	margin: 0;
}

.fbyv-testimonial {
	border-radius: var(--ak-radius-lg, 28px);
}

/* Testimonial Variants */
.fbyv-section {
	--fbyv-testimonial-border: rgba(15, 23, 42, 0.12);
	--fbyv-testimonial-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}

.fbyv-section--contrast {
	--fbyv-testimonial-border: rgba(255, 255, 255, 0.2);
	--fbyv-testimonial-shadow: 0 12px 36px rgba(0, 0, 0, 0.25);
}

.fbyv-testimonial {
	padding: clamp(var(--ak-space-md, 2rem), 4vw, var(--ak-space-lg, 3rem));
	gap: 1rem;
	display: flex;
	flex-direction: column;
}

.fbyv-testimonial__eyebrow {
	font-size: var(--wp--preset--font-size--sm, 0.95rem);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0 0 0.35rem 0;
	opacity: 0.7;
}

.fbyv-testimonial__quote blockquote {
	margin: 0;
}

.fbyv-testimonial__quote cite {
	display: block;
	margin-top: 0.5rem;
	font-weight: 600;
	opacity: 0.9;
}

.fbyv-testimonial--default {
	background: var(--ak-accent-inner, #fff);
	box-shadow: var(--fbyv-testimonial-shadow);
}

.fbyv-testimonial--card {
	background: var(--ak-accent-inner, #fff);
	border: 1px solid var(--fbyv-testimonial-border);
	box-shadow: var(--fbyv-testimonial-shadow);
}

.fbyv-testimonial--split {
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.fbyv-testimonial--split .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.fbyv-testimonial--split blockquote {
	text-align: left;
}

.fbyv-testimonial__meta p {
	margin: 0;
	color: inherit;
	opacity: 0.8;
}

.fbyv-testimonial--minimal {
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: transparent;
}

.fbyv-testimonial__quote--minimal blockquote {
	font-size: clamp(1.2rem, 3vw, 1.6rem);
	opacity: 0.95;
}

.fbyv-testimonial--spotlight {
	background: var(--ak-accent-color, #0ea5e9);
	color: var(--ak-section-accent-text, var(--ak-accent-text, #0f172a));
	box-shadow: var(--fbyv-testimonial-shadow);
}

.fbyv-testimonial__quote--spotlight blockquote {
	font-size: clamp(1.4rem, 4vw, 1.9rem);
}

/* Text color protection for light cards in contrast sections */
.fbyv-section--contrast .fbyv-testimonial--card,
.fbyv-section--contrast .fbyv-testimonial--card * {
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.fbyv-section--contrast .fbyv-testimonial--default,
.fbyv-section--contrast .fbyv-testimonial--default * {
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.fbyv-cta .wp-element-button,
.fbyv-cta-band .wp-element-button {
	background-color: var(--ak-accent-inner, var(--ak-accent-color, var(--wp--preset--color--sky)));
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.entry-content>.wp-block-group {
	padding: clamp(4rem, 7vw, 5.5rem);
}

.fbyv-logo-row {
	border: 1px solid rgba(15, 23, 42, 0.12);
	border-radius: var(--ak-radius-lg, 28px);
	padding: 2.5rem 1.5rem;
	gap: 2rem;
}

.fbyv-logo-row-grid {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: clamp(var(--ak-space-sm, 1.25rem), 4vw, var(--ak-space-md, 2rem));
	overflow-x: auto;
}

.fbyv-logo-row-grid .fbyv-logo {
	flex: 0 0 auto;
	width: clamp(56px, 10vw, 88px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.fbyv-logo-row-grid .fbyv-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: 0.9;
}

.fbyv-icon {
	font-size: clamp(2.25rem, 3vw, 2.75rem);
	line-height: 1;
	margin-bottom: var(--ak-space-xs, 0.75rem);
	color: var(--ak-accent-color-secondary);
}

.fbyv-cta-band {
	border-radius: var(--ak-radius-xl, 36px);
	padding: var(--ak-space-lg, 3rem) clamp(var(--ak-space-md, 2rem), 4vw, var(--ak-space-lg, 3rem));
	gap: 1.25rem;
}

/* Center buttons for non-split CTA bands */
.fbyv-cta-band:not(.fbyv-cta-band--split) .wp-block-buttons,
.fbyv-cta-band:not(.fbyv-cta-band--split) .wp-block-buttons.is-layout-flex {
	justify-content: center;
}

.fbyv-cta-band:not(.fbyv-cta-band--split) .wp-block-button {
	margin-left: auto;
	margin-right: auto;
}

/* CTA-Band Variants */
.fbyv-section {
	--fbyv-cta-border: rgba(15, 23, 42, 0.12);
	--fbyv-cta-shadow: 0 8px 32px rgba(15, 23, 42, 0.08);
}

.fbyv-section--contrast {
	--fbyv-cta-border: rgba(255, 255, 255, 0.2);
	--fbyv-cta-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Split variant - two columns: text left, button right */
.fbyv-cta-band--split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	text-align: left;
}

.fbyv-cta-band--split .wp-block-buttons {
	flex-shrink: 0;
}

.fbyv-cta-band__text {
	flex: 1;
	min-width: 0;
}

@media (max-width: 768px) {
	.fbyv-cta-band--split {
		flex-direction: column;
		text-align: center;
	}
}

/* Minimal variant - compact, heading + button only */
.fbyv-cta-band--minimal {
	padding: var(--ak-space-md, 2rem);
	gap: 1rem;
}

/* Card variant - bordered card container */
.fbyv-cta-band--card {
	background: var(--ak-accent-inner, #fff);
	border: 1px solid var(--fbyv-cta-border);
	box-shadow: var(--fbyv-cta-shadow);
}

/* Stacked variant - large heading, prominent button */
.fbyv-cta-band--stacked {
	padding: var(--ak-space-xl, 4rem) var(--ak-space-lg, 3rem);
	gap: 1.5rem;
}

.fbyv-cta-band--stacked h2 {
	font-size: clamp(2rem, 5vw, 3rem);
}

/* Text color protection for card variant in contrast sections */
.fbyv-section--contrast .fbyv-cta-band--card,
.fbyv-section--contrast .fbyv-cta-band--card * {
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}

.fbyv-single-meta {
	margin-top: 3rem;
	gap: 2rem;
}

/* FAQ Variants */
.fbyv-section {
	--fbyv-faq-border: rgba(15, 23, 42, 0.1);
	--fbyv-faq-card-border: rgba(15, 23, 42, 0.12);
	--fbyv-faq-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
}

/* Contrast section overrides for FAQ - use light borders on dark backgrounds */
.fbyv-section--contrast {
	--fbyv-faq-border: rgba(255, 255, 255, 0.15);
	--fbyv-faq-card-border: rgba(255, 255, 255, 0.2);
	--fbyv-faq-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.fbyv-faq-item {
	border-bottom: 1px solid var(--fbyv-faq-border, rgba(15, 23, 42, 0.1));
	padding: 1.25rem 0;
}

.fbyv-faq-item:first-child {
	padding-top: 0;
}

.fbyv-faq-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.fbyv-faq-item summary {
	cursor: pointer;
	font-weight: 600;
	font-size: 1.1rem;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

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

.fbyv-faq-item summary::after {
	content: '+';
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--ak-accent-color, #0ea5e9);
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.fbyv-faq-item[open] summary::after {
	transform: rotate(45deg);
}

.fbyv-faq-item p {
	margin-top: 0.75rem;
	opacity: 0.85;
}

/* Cards variant */
.fbyv-faq-cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.fbyv-faq-card {
	background: var(--ak-accent-inner, #fff);
	border: 1px solid var(--fbyv-faq-card-border, rgba(15, 23, 42, 0.12));
	border-radius: var(--ak-radius-lg, 24px);
	padding: 1.5rem;
	box-shadow: var(--fbyv-faq-shadow, 0 4px 20px rgba(15, 23, 42, 0.06));
}

.fbyv-faq-card .fbyv-faq-item {
	border-bottom: none;
	padding: 0;
}

/* Grid variant */
.fbyv-faq-grid {
	gap: 2rem;
}

.fbyv-faq-grid .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.fbyv-faq-grid .fbyv-faq-item {
	border-bottom: 1px solid var(--fbyv-faq-border, rgba(15, 23, 42, 0.1));
}

.fbyv-faq-grid .fbyv-faq-item:last-child {
	border-bottom: none;
}

/* Minimal variant */
.fbyv-faq-minimal {
	display: flex;
	flex-direction: column;
}

.fbyv-faq-item--minimal {
	border-bottom: none;
	padding: 1.5rem 0;
	border-top: 1px solid var(--fbyv-faq-border, rgba(15, 23, 42, 0.08));
}

.fbyv-faq-item--minimal:first-child {
	border-top: none;
	padding-top: 0;
}

.fbyv-faq-item--minimal summary {
	font-weight: 500;
}

.fbyv-faq-item--minimal summary::after {
	content: '→';
	transform: rotate(90deg);
}

.fbyv-faq-item--minimal[open] summary::after {
	transform: rotate(-90deg);
}

/* Numbered variant */
.fbyv-faq-numbered {
	counter-reset: faq-counter;
	display: flex;
	flex-direction: column;
}

.fbyv-faq-numbered .fbyv-faq-item {
	counter-increment: faq-counter;
}

.fbyv-faq-numbered .fbyv-faq-item summary::before {
	content: counter(faq-counter, decimal-leading-zero) ".";
	font-weight: 700;
	color: var(--ak-accent-color, #0ea5e9);
	margin-right: 0.75rem;
	font-size: 1rem;
	flex-shrink: 0;
}

/* Ensure FAQ cards maintain proper text color in contrast sections (cards have light bg) */
.fbyv-section--contrast .fbyv-faq-card,
.fbyv-section--contrast .fbyv-faq-card * {
	color: var(--ak-accent-text, var(--wp--preset--color--ink));
}
