/**
 * Public page shells ? FindCaptains public website (UI-03)
 */
.fc-skip-link {
	position: absolute;
	left: var(--fc-space-4);
	top: -100%;
	z-index: 1000;
	padding: var(--fc-space-2) var(--fc-space-3);
	background: var(--fc-color-ocean-navy);
	color: var(--fc-color-text-inverse);
	border-radius: var(--fc-radius-md);
	text-decoration: none;
	font-weight: var(--fc-weight-semibold);
}

.fc-skip-link:focus {
	top: var(--fc-space-3);
}

.fc-page {
	background: var(--fc-brand-white);
	color: var(--fc-color-text);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.fc-page__header {
	border-bottom: 1px solid var(--fc-color-border);
	background: var(--fc-brand-white);
	position: sticky;
	top: 0;
	z-index: var(--fc-z-header, 30);
	box-shadow: none;
}

.fc-page__header--light {
	background: var(--fc-brand-white);
	border-bottom: 1px solid var(--fc-color-border);
}

.fc-page__header--light .fc-page__nav a {
	color: var(--fc-color-ocean-navy);
}

.fc-page__header--light .fc-page__nav a:hover,
.fc-page__header--light .fc-page__nav a:focus-visible {
	color: var(--fc-color-ocean-navy);
	text-decoration: none;
	background: color-mix(in srgb, var(--fc-brand-warm-sand, #f5f0e8) 45%, var(--fc-color-surface));
	border-radius: var(--fc-radius-md);
	box-shadow: none;
}

.fc-page__header--light .fc-page__nav a[aria-current="page"] {
	color: var(--fc-color-ocean-navy);
	font-weight: var(--fc-weight-semibold);
	background: color-mix(in srgb, var(--fc-brand-warm-sand, #f5f0e8) 65%, var(--fc-color-surface));
	border-radius: var(--fc-radius-md);
	box-shadow: none;
	padding: 0.35rem 0.65rem;
}

.fc-page__header--light .fc-page__menu-toggle {
	background: var(--fc-brand-white);
	border-color: var(--fc-color-border);
	color: var(--fc-color-ocean-navy);
}

.fc-page__header--light .fc-page__menu-icon,
.fc-page__header--light .fc-page__menu-icon::before,
.fc-page__header--light .fc-page__menu-icon::after {
	background: var(--fc-color-ocean-navy);
}

.fc-page__header--light .fc-page__menu .fc-page__nav {
	background: var(--fc-brand-white);
	border-color: var(--fc-color-border);
}

/* Legacy navy header retained for Portal / non-public shells only. */
.fc-page__header--navy {
	background: var(--fc-color-ocean-navy);
	border-bottom-color: color-mix(in srgb, var(--fc-brand-white) 12%, var(--fc-color-ocean-navy));
}

.fc-page__header--navy .fc-page__nav a {
	color: color-mix(in srgb, var(--fc-brand-white) 88%, transparent);
}

.fc-page__header--navy .fc-page__nav a:hover,
.fc-page__header--navy .fc-page__nav a:focus-visible,
.fc-page__header--navy .fc-page__nav a[aria-current="page"] {
	color: var(--fc-brand-white);
	text-decoration: none;
	box-shadow: inset 0 -2px 0 var(--fc-brand-sea-glass);
}

.fc-page__header--navy .fc-page__menu-toggle {
	background: color-mix(in srgb, var(--fc-brand-white) 8%, var(--fc-color-ocean-navy));
	border-color: color-mix(in srgb, var(--fc-brand-white) 18%, var(--fc-color-ocean-navy));
	color: var(--fc-brand-white);
}

.fc-page__header--navy .fc-page__menu-icon,
.fc-page__header--navy .fc-page__menu-icon::before,
.fc-page__header--navy .fc-page__menu-icon::after {
	background: var(--fc-brand-white);
}

.fc-page__header--navy .fc-page__menu .fc-page__nav {
	background: var(--fc-color-ocean-navy);
	border-color: color-mix(in srgb, var(--fc-brand-white) 18%, var(--fc-color-ocean-navy));
}

.fc-page__header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--fc-space-4);
	min-height: var(--fc-header-height);
	/* width/gutter from .fc-container ? do not diverge */
	padding-block: var(--fc-space-2);
}

.fc-page__nav {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-2);
	padding: var(--fc-space-3) 0;
}

.fc-page__nav a {
	color: var(--fc-color-slate);
	text-decoration: none;
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-medium);
	min-height: var(--fc-touch-min);
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.65rem;
	border-radius: var(--fc-radius-md);
}

.fc-page__nav a:hover,
.fc-page__nav a:focus-visible {
	color: var(--fc-color-ocean-navy);
}

.fc-page__nav a[aria-current="page"] {
	color: var(--fc-color-ocean-navy);
	font-weight: var(--fc-weight-semibold);
}

.fc-page__nav-desktop {
	display: none;
	align-items: center;
	gap: var(--fc-space-3);
}

.fc-page__nav-desktop .fc-page__nav {
	flex-direction: row;
	align-items: center;
	gap: var(--fc-space-3);
	padding: 0;
}

.fc-page__menu {
	position: relative;
}

.fc-page__menu-toggle {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--fc-touch-min);
	min-height: var(--fc-touch-min);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-md);
	background: var(--fc-color-surface);
}

.fc-page__menu-toggle::-webkit-details-marker {
	display: none;
}

.fc-page__menu-close {
	display: none;
}

.fc-page__menu-icon,
.fc-page__menu-icon::before,
.fc-page__menu-icon::after {
	display: block;
	width: 1.1rem;
	height: 2px;
	background: var(--fc-color-ocean-navy);
	border-radius: 1px;
	position: relative;
}

.fc-page__menu-icon::before,
.fc-page__menu-icon::after {
	content: "";
	position: absolute;
	left: 0;
}

.fc-page__menu-icon::before { top: -0.35rem; }
.fc-page__menu-icon::after { top: 0.35rem; }

.fc-page__menu .fc-page__nav {
	position: absolute;
	right: 0;
	top: calc(100% + var(--fc-space-2));
	min-width: 12rem;
	padding: var(--fc-space-3);
	background: var(--fc-color-surface);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-lg);
	box-shadow: var(--fc-shadow-md);
}

.fc-page__menu .fc-page__nav a[aria-current="page"] {
	background: color-mix(in srgb, var(--fc-brand-warm-sand, #f5f0e8) 55%, var(--fc-color-surface));
	border-inline-start: 3px solid var(--fc-brand-sea-glass);
	border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
	padding-inline-start: calc(0.65rem - 3px);
}

@media (max-width: 47.99rem) {
	.fc-page__menu {
		position: static;
	}

	.fc-page__menu .fc-page__nav {
		left: 0;
		right: 0;
		width: auto;
		min-width: 0;
		max-width: none;
		max-height: min(70vh, calc(100dvh - var(--fc-header-height, 4rem) - 1rem));
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
		align-items: stretch;
		text-align: start;
		border-radius: 0;
	}

	.fc-page__menu .fc-page__menu-close {
		display: inline-flex;
		position: sticky;
		top: 0;
		align-self: flex-end;
		flex: 0 0 auto;
		z-index: 2;
		align-items: center;
		justify-content: center;
		width: var(--fc-touch-min, 2.75rem);
		height: var(--fc-touch-min, 2.75rem);
		margin: 0 0 var(--fc-space-1, 0.25rem);
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: var(--fc-color-surface, #fff);
		color: var(--fc-color-slate, #475569);
		font-size: 1.5rem;
		line-height: 1;
		cursor: pointer;
	}

	.fc-page__menu .fc-page__menu-close:focus-visible {
		outline: 3px solid var(--fc-color-focus, #2f6fed);
		outline-offset: 2px;
	}

	.fc-page__menu .fc-page__nav > a,
	.fc-page__menu .fc-page__nav > .fc-nav-link {
		display: flex;
		justify-content: flex-start;
		width: 100%;
		text-align: start;
	}

	.fc-page__menu .fc-account-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.fc-page__menu .fc-account-menu__panel,
	.fc-page__menu .fc-account-menu__panel > li {
		display: contents;
	}

	.fc-page__menu .fc-account-menu__panel[hidden] {
		display: contents;
	}

	.fc-page__menu .fc-account-menu__link {
		order: 10;
		justify-content: flex-start;
		text-align: start;
		padding-inline-start: 1.35rem;
	}

	.fc-page__menu .fc-account-menu__toggle {
		order: 20;
		align-self: flex-start;
		margin-top: var(--fc-space-3, 0.75rem);
	}

	.fc-page__menu .fc-account-menu__link--logout {
		order: 30;
		margin-top: var(--fc-space-2, 0.5rem);
		padding-inline-start: 0.65rem;
	}

	.fc-page__menu .fc-account-menu__label {
		max-width: none;
	}
}

.fc-page__main {
	flex: 1 1 auto;
	width: 100%;
	/* Full-bleed main; sections/heroes contain via .fc-container */
	max-width: none;
	margin-inline: 0;
	/* Top rhythm + shared white breathing room before the navy footer. */
	padding: var(--fc-section-space-compact) 0 var(--fc-public-pre-footer-gap, var(--fc-space-6));
}

.fc-page__main:focus {
	outline: none;
}

.fc-page__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-3);
	padding: var(--fc-section-space-compact) 0 var(--fc-space-5);
	text-align: center;
}

.fc-page__hero-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-3);
	width: 100%;
}

.fc-page__hero-eyebrow {
	margin: 0;
	font-size: var(--fc-text-caption);
	font-weight: var(--fc-weight-semibold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--fc-color-muted);
}

/* Unify PHP shell hero + Gutenberg page-hero */
.fc-page-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-3);
	padding: var(--fc-section-space-compact) 0 var(--fc-space-5);
	text-align: center;
}

.fc-page-hero h1,
.fc-page__hero-title {
	margin: 0;
	max-width: var(--fc-prose-heading);
	font-size: var(--fc-text-h1);
	line-height: var(--fc-leading-tight);
}

.fc-page-hero p,
.fc-page__hero-lede {
	margin: 0;
	max-width: var(--fc-prose-hero-lede);
	color: var(--fc-color-muted);
}

@media (max-width: 47.99rem) {
	.fc-page__hero,
	.fc-page-hero {
		padding-block: var(--fc-space-6) var(--fc-space-4);
	}
}

.fc-page__hero-layout {
	display: grid;
	gap: var(--fc-space-6);
	align-items: center;
}

.fc-page__hero-visual {
	min-height: 14rem;
	border-radius: var(--fc-radius-xl);
	border: 1px solid var(--fc-color-border);
	background:
		radial-gradient(ellipse at 30% 40%, color-mix(in srgb, var(--fc-brand-sea-glass) 22%, transparent), transparent 55%),
		linear-gradient(160deg, color-mix(in srgb, var(--fc-brand-atlantic-navy) 88%, var(--fc-brand-sea-glass)), var(--fc-brand-atlantic-navy));
	overflow: hidden;
}

.fc-page__hero-visual-inner {
	display: flex;
	align-items: flex-end;
	min-height: 14rem;
	padding: var(--fc-space-5);
}

.fc-page__hero-visual-caption {
	margin: 0;
	max-width: 20rem;
	color: color-mix(in srgb, var(--fc-brand-warm-sand) 85%, white);
	font-size: var(--fc-text-small);
	line-height: var(--fc-leading-relaxed);
}

.fc-brand {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.fc-brand .fc-logo-slot {
	max-width: 100%;
}

.fc-brand__full { display: inline-flex; }
.fc-brand__mark { display: none; }

@media (min-width: 64rem) {
	.fc-page__hero-layout {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	}

	.fc-page__hero-visual,
	.fc-page__hero-visual-inner {
		min-height: 20rem;
	}
}

.fc-page__hero-title {
	margin: 0;
	max-width: var(--fc-prose-heading);
	font-size: var(--fc-text-display);
	font-weight: var(--fc-weight-bold);
	letter-spacing: -0.02em;
	color: var(--fc-color-ocean-navy);
	line-height: var(--fc-leading-tight);
}

.fc-page__hero-lede {
	margin: 0;
	max-width: var(--fc-prose-lede);
	color: var(--fc-color-muted);
	font-size: var(--fc-text-body);
	line-height: var(--fc-leading-relaxed);
}

.fc-page__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-3);
}

.fc-page__section {
	padding: var(--fc-section-space) 0;
	border-top: 1px solid var(--fc-color-border);
}

.fc-page__section-title {
	margin: 0 auto var(--fc-space-2);
	max-width: var(--fc-prose-heading);
	font-size: var(--fc-text-h2);
	color: var(--fc-color-ocean-navy);
}

.fc-page__section-lede {
	margin: 0 auto var(--fc-space-5);
	color: var(--fc-color-muted);
	max-width: var(--fc-prose-lede);
}

.fc-page__cta-band {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-4);
	padding: var(--fc-space-6);
	border-radius: var(--fc-radius-lg);
	background: color-mix(in srgb, var(--fc-color-seafoam) 10%, var(--fc-color-surface));
	border: 1px solid var(--fc-color-border);
}

.fc-page__footer {
	border-top: 1px solid var(--fc-color-border);
	background: var(--fc-color-ocean-navy);
	color: var(--fc-color-text-inverse);
	margin-top: auto;
}

.fc-page__footer-inner {
	/* .fc-container provides max-width + gutter */
	padding-block: var(--fc-space-6) var(--fc-space-4);
	display: grid;
	gap: var(--fc-space-5);
	grid-template-columns: 1fr;
	align-items: start;
	text-align: start;
}

/*
 * Brand lockup: reversed logo → tagline as one compact stack.
 *
 * 0.8.127: navigation.css `.fc-logo-slot { flex: 0 0 var(--fc-logo-width) }` is for horizontal
 * header flex; in this column that basis became HEIGHT (~240px) and detached the tagline.
 *
 * 0.8.128 regression: neutralizing with `width: auto` on `.fc-logo` inside `width: max-content`
 * brand collapsed the SVG <img> to 0×0 (logo invisible, tagline alone remained).
 * Keep an explicit footer logo width; only neutralize the slot flex-basis.
 */
.fc-page__footer-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	align-self: flex-start;
	flex: 0 0 auto;
	height: max-content;
	width: auto;
	max-width: 100%;
	min-width: 0;
	/* ~12px — compact brand spacing within the 12–20px Founder range */
	gap: var(--fc-space-3);
}

.fc-page__footer-brand .fc-brand,
.fc-page__footer-brand .fc-logo-slot {
	display: block;
	line-height: 0;
	width: auto;
	height: auto;
	/* Override navigation.css horizontal flex-basis so it cannot inflate column height. */
	flex: 0 0 auto;
	max-width: 100%;
}

.fc-page__footer-brand .fc-logo {
	display: block;
	/* Definite width required — auto + max-content ancestor collapses SVG replaced element. */
	width: 11rem;
	max-width: 100%;
	height: auto;
	opacity: 1;
	visibility: visible;
}

.fc-page__footer-tagline {
	margin: 0;
	max-width: 16rem;
	opacity: 0.9;
	font-size: var(--fc-text-small);
	line-height: var(--fc-leading-normal, 1.45);
	color: color-mix(in srgb, #ffffff 90%, transparent);
}

.fc-page__footer-nav {
	display: grid;
	gap: var(--fc-space-5) var(--fc-space-4);
	grid-template-columns: 1fr;
	align-items: start;
}

.fc-page__footer-heading {
	margin: 0 0 var(--fc-space-2);
	font-size: var(--fc-text-caption);
	font-weight: var(--fc-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	/* Explicit inverse — must beat `.fc-ds h2` navy inheritance (EXPERIENCE-01D). */
	color: #ffffff !important;
	opacity: 1;
	line-height: var(--fc-leading-tight, 1.25);
}

.fc-ds .fc-page__footer h2.fc-page__footer-heading,
.fc-page__footer h2.fc-page__footer-heading {
	color: #ffffff !important;
}

.fc-page__footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.fc-page__footer a {
	color: color-mix(in srgb, #ffffff 88%, transparent);
	opacity: 1;
	text-decoration: none;
	min-height: 2.25rem;
	display: inline-flex;
	align-items: center;
}

.fc-page__footer a:hover,
.fc-page__footer a:focus-visible {
	color: #ffffff;
	opacity: 1;
	text-decoration: underline;
	outline: 2px solid color-mix(in srgb, var(--fc-color-seafoam, #3db8a0) 80%, #ffffff);
	outline-offset: 2px;
}

.fc-page__footer-meta {
	margin: 0;
	padding-top: var(--fc-space-4);
	border-top: 1px solid color-mix(in srgb, var(--fc-brand-white) 18%, transparent);
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fc-space-5);
}

.fc-page__footer-utilities {
	order: 1;
	min-width: 0;
	text-align: start;
	overflow: visible;
}

.fc-page__footer-legal-block {
	order: 2;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-2);
}

.fc-page__footer-legal {
	min-width: 0;
}

.fc-page__footer-legal-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-2) var(--fc-space-4);
}

.fc-page__footer-legal-list a {
	white-space: normal;
}

.fc-page__footer-copy {
	margin: 0;
	opacity: 0.75;
}

.fc-page__footer-utilities .fc-install__heading {
	margin: 0 0 var(--fc-space-1);
	font-size: inherit;
	font-weight: var(--fc-weight-semibold);
	color: inherit;
}

.fc-page__footer-utilities .fc-install__intro {
	margin: 0 0 var(--fc-space-3);
	max-width: 22rem;
	font-size: var(--fc-text-small);
	opacity: 0.92;
}

.fc-page__footer-utilities .fc-install__panel {
	margin-inline-start: 0;
	max-width: 22rem;
}

.fc-page__footer-utilities .fc-install__panel-title,
.fc-page__footer-utilities .fc-install__steps,
.fc-page__footer-utilities .fc-install__help,
.fc-page__footer-utilities .fc-install__help-kicker,
.fc-page__footer-utilities .fc-install__dismiss {
	color: inherit;
}

.fc-page__footer .fc-share-action__menu .fc-share-action__status {
	color: var(--fc-color-muted);
}

.fc-page__footer-utility-actions {
	margin: 0;
	flex-direction: column;
	align-items: flex-start;
}

.fc-page__footer-utility-actions .fc-btn {
	min-height: var(--fc-touch-min);
	width: auto;
}

.fc-page__footer-utility-actions .fc-btn--secondary {
	background: transparent;
	color: #ffffff;
	border-color: color-mix(in srgb, #ffffff 42%, transparent);
}

.fc-page__footer-utility-actions .fc-btn--secondary:hover,
.fc-page__footer-utility-actions .fc-btn--secondary:focus-visible {
	background: color-mix(in srgb, #ffffff 12%, transparent);
	color: #ffffff;
	border-color: #ffffff;
}

@media (min-width: 40rem) {
	.fc-page__footer-nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--fc-space-5);
		row-gap: var(--fc-space-4);
	}
}

@media (min-width: 64rem) {
	/*
	 * Desktop: Brand | Discover | For Captains | Resources
	 * Wider brand rail; even nav columns; shared top alignment.
	 */
	.fc-page__footer-inner {
		grid-template-columns:
			minmax(13rem, 1.35fr)
			minmax(0, 1fr)
			minmax(0, 1fr)
			minmax(0, 0.9fr);
		column-gap: var(--fc-space-6);
		row-gap: var(--fc-space-5);
		align-items: start;
	}

	.fc-page__footer-nav {
		display: contents;
	}

	.fc-page__footer-col {
		min-width: 0;
	}

	.fc-page__footer-meta {
		margin-top: var(--fc-space-2);
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		gap: var(--fc-space-5);
	}

	.fc-page__footer-legal-block {
		order: 1;
		flex: 1 1 16rem;
	}

	.fc-page__footer-utilities {
		order: 2;
		flex: 0 1 22rem;
		margin-inline-start: auto;
		text-align: end;
	}

	.fc-page__footer-utilities .fc-install__heading,
	.fc-page__footer-utilities .fc-install__intro,
	.fc-page__footer-utilities .fc-install__panel {
		margin-inline-start: auto;
	}

	.fc-page__footer-utility-actions {
		flex-direction: row;
		justify-content: flex-end;
	}

	.fc-page__footer-utility-actions .fc-btn {
		min-height: 2.25rem;
	}
}

/* Sitemap */
.fc-sitemap {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-6);
	padding-bottom: var(--fc-space-6);
}

.fc-sitemap__group {
	margin: 0;
}

.fc-sitemap__heading {
	margin: 0 0 var(--fc-space-2);
	font-size: var(--fc-text-h3);
}

.fc-sitemap__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.fc-sitemap__list a {
	min-height: var(--fc-touch-min);
	display: inline-flex;
	align-items: center;
}

.fc-sitemap__note {
	margin: 0;
	color: var(--fc-color-muted);
}

.fc-page--privacy .fc-page__section .fc-section__inner,
.fc-page--terms .fc-page__section .fc-section__inner,
.fc-page--contact .fc-page__section .fc-section__inner,
.fc-page--login .fc-login-panel {
	max-width: var(--fc-container-narrow);
	margin-inline: auto;
	margin-block-start: 0;
}

.fc-page--login .fc-login-panel > h1 {
	margin-block-start: 0;
}

@media (max-width: 47.99rem) {
	.fc-page--login .fc-page__main {
		padding-top: var(--fc-space-4, 1rem);
	}

	.fc-page--forgot-password .fc-page__main,
	.fc-page--reset-password .fc-page__main {
		padding-top: var(--fc-space-4, 1rem);
	}

	.fc-page--login .fc-page__main > .wp-block:first-child,
	.fc-page--login .fc-page__main > .fc-login-panel {
		margin-block-start: 0;
	}
}

.fc-page--login .fc-login-panel__create {
	text-align: center;
}

.fc-page--login .fc-login-panel__create .fc-page__hero-actions {
	justify-content: center;
}

.fc-page--forgot-password .fc-auth-recovery-shell,
.fc-page--reset-password .fc-auth-recovery-shell,
.fc-page--login .fc-login-panel .fc-auth-form {
	max-width: min(28rem, 100%);
	margin-inline: auto;
}

.fc-auth-recovery-root,
.fc-page--login .fc-auth-form {
	text-align: start;
}

.fc-auth-recovery-root .fc-field,
.fc-page--login .fc-auth-form .fc-field {
	margin-bottom: var(--fc-space-3);
}

.fc-auth-form .fc-field--checkbox .fc-label--inline {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: var(--fc-weight-regular);
}

.fc-auth-form .fc-btn {
	width: 100%;
	justify-content: center;
}

/* Home */
.fc-page--home .fc-page__main--home {
	max-width: none;
	/* Authority section outer pad is the footer transition. Do not add a second band. */
	padding: 0;
}

/* Full-width page bands below the homepage search hero; content uses .fc-container. */
.fc-page--home .fc-page__body,
.fc-page--home .wp-block-group.fc-page__body {
	background: var(--fc-color-surface);
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/*
 * WordPress constrained layout on the homepage body was pinning Why FindCaptains
 * and the sand Captain CTA into a narrow centered column. Full-width bands win.
 */
.fc-page--home .fc-page__body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.fc-page--home .wp-block-group.fc-page__body.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none;
	margin-inline: 0;
}

/* Mist/tint is not a public homepage band; map legacy stored classes to white. */
.fc-page--home .fc-section--tint,
.fc-page--home .wp-block-group.fc-section--tint {
	background: var(--fc-section-surface, var(--fc-color-surface, #fff));
}

.fc-home-hero {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-height: var(--fc-hero-min-height);
	background-color: var(--fc-color-ocean-navy);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.fc-home-hero:not(.fc-home-hero--fallback) {
	min-height: var(--fc-hero-min-height-photo);
}

.fc-home-hero--fallback {
	background-image:
		radial-gradient(ellipse at 30% 40%, color-mix(in srgb, var(--fc-brand-sea-glass) 22%, transparent), transparent 55%),
		linear-gradient(160deg, color-mix(in srgb, var(--fc-brand-atlantic-navy) 88%, var(--fc-brand-sea-glass)), var(--fc-brand-atlantic-navy));
}

.fc-home-hero__overlay {
	position: absolute;
	inset: 0;
	background: color-mix(in srgb, var(--fc-brand-atlantic-navy) var(--fc-hero-overlay, 55%), transparent);
	pointer-events: none;
}

.fc-home-hero--fallback .fc-home-hero__overlay {
	background: color-mix(in srgb, var(--fc-brand-atlantic-navy) 35%, transparent);
}

.fc-home-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding-block: var(--fc-space-8) var(--fc-space-6);
	color: var(--fc-color-text-inverse);
	text-align: center;
	width: 100%;
}

.fc-home-hero__eyebrow {
	margin: 0 0 0.625rem;
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-semibold);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--fc-brand-white) 90%, transparent);
}

.fc-home-hero__title {
	margin: 0 0 0.875rem;
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: var(--fc-weight-bold);
	line-height: var(--fc-leading-tight);
	letter-spacing: -0.02em;
	max-width: 18ch;
	color: #ffffff;
	text-shadow: 0 1px 2px color-mix(in srgb, var(--fc-brand-atlantic-navy) 45%, transparent);
}

.fc-ds .fc-home-hero .fc-home-hero__title,
.fc-home-hero h1.fc-home-hero__title {
	color: #ffffff;
}

.fc-home-hero__lede {
	margin: 0 0 1.375rem;
	max-width: var(--fc-prose-hero-lede);
	font-size: var(--fc-text-body);
	line-height: var(--fc-leading-relaxed);
	color: color-mix(in srgb, var(--fc-brand-white) 94%, transparent);
}

.fc-home-hero__search-panel {
	width: 100%;
	max-width: 48rem;
	padding: var(--fc-space-4);
	border-radius: var(--fc-radius-lg);
	background: color-mix(in srgb, var(--fc-brand-white) 96%, transparent);
	color: var(--fc-color-text);
	box-shadow: var(--fc-shadow-md);
	text-align: left;
	backdrop-filter: blur(6px);
}

@media (prefers-reduced-motion: reduce) {
	.fc-home-hero__search-panel {
		backdrop-filter: none;
	}
}

.fc-home-hero__search-panel .fc-label,
.fc-home-hero__search-panel .fc-help {
	color: var(--fc-color-muted);
}

.fc-home-hero__secondary {
	margin: var(--fc-space-2) 0 0;
	font-size: var(--fc-text-small);
}

.fc-home-hero__secondary a {
	color: color-mix(in srgb, var(--fc-brand-white) 82%, transparent);
	text-decoration: none;
}

.fc-home-hero__secondary a:hover,
.fc-home-hero__secondary a:focus-visible {
	color: var(--fc-brand-white);
	text-decoration: underline;
}

.fc-page--home .fc-page__hero {
	padding-block: var(--fc-space-6) var(--fc-space-5);
}

.fc-home-search {
	max-width: none;
}

.fc-home-hero__search-panel .fc-captain-search {
	min-width: 0;
}

.fc-home-hero__search-panel .fc-captain-search__field {
	min-width: 0;
}

.fc-home-hero__search-panel .fc-input {
	width: 100%;
	min-width: 0;
	overflow: visible;
	text-overflow: unset;
}

.fc-home-hero__search-panel .fc-input::placeholder {
	opacity: 1;
	color: var(--fc-color-muted);
	white-space: nowrap;
}

.fc-home-search__row {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-3);
}

.fc-trust-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--fc-card-gap);
}

.fc-trust-item {
	padding: var(--fc-card-padding);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-lg);
	background: var(--fc-color-surface);
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-2);
}

.fc-trust-item__title {
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-trust-item__body {
	color: var(--fc-color-muted);
	font-size: var(--fc-text-small);
	line-height: var(--fc-leading-relaxed);
}

/* Pricing / contact / legal  content rails constrain inner prose, not the whole main */
.fc-content-rail {
	max-width: var(--fc-container-standard, var(--fc-container, 72rem));
	margin-inline: auto;
	width: 100%;
	box-sizing: border-box;
	padding-inline: var(--fc-page-gutter, 1.25rem);
}

.fc-content-rail--narrow {
	max-width: var(--fc-container-narrow, 42rem);
}

.fc-content-rail--welcome {
	max-width: min(56rem, 100%);
}

.fc-content-rail--prose {
	max-width: var(--fc-content-width, 45rem);
}

.fc-content-rail--faq {
	max-width: min(52rem, 100%);
}

.fc-rich-text {
	width: 100%;
	max-width: var(--fc-container);
	margin-inline: auto;
	padding-inline: var(--fc-page-gutter, 1.25rem);
	box-sizing: border-box;
	min-width: 0;
}

.fc-rich-text--prose {
	max-width: var(--fc-container-narrow);
}

.fc-rich-text h2 {
	margin: 0 0 var(--fc-space-3);
}

.fc-rich-text__content > *:first-child {
	margin-top: 0;
}

/* EXPERIENCE-01J  Start Profile onboarding shell (public page) */
.fc-onboarding.fc-content-rail {
	max-width: var(--fc-container-narrow, 42rem);
}

.fc-onboarding.fc-content-rail--welcome {
	max-width: min(56rem, 100%);
}

.fc-onboarding .fc-start-profile {
	max-width: 100%;
}

.fc-onboarding .fc-start-profile__steps {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-2);
	list-style: none;
	margin: 0 0 var(--fc-space-4);
	padding: 0;
}

.fc-onboarding .fc-start-profile__step {
	display: flex;
	align-items: center;
	gap: var(--fc-space-2);
	flex: 1 1 6.5rem;
	min-width: 5.5rem;
	padding: var(--fc-space-1) var(--fc-space-2);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-md);
	background: var(--fc-color-surface);
	color: var(--fc-color-slate);
	font-size: var(--fc-font-size-sm);
}

.fc-onboarding .fc-start-profile__step--is-current {
	border-color: var(--fc-color-primary, #0b6e6e);
	box-shadow: 0 0 0 1px var(--fc-color-primary, #0b6e6e);
	color: var(--fc-color-ink);
	font-weight: var(--fc-weight-semibold);
}

.fc-onboarding .fc-start-profile__step--is-complete {
	border-color: var(--fc-color-success, #2f7d4a);
	color: var(--fc-color-ink);
}

.fc-onboarding .fc-start-profile__step-marker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 999px;
	border: 1px solid currentColor;
	font-size: var(--fc-font-size-sm);
	line-height: 1;
}

.fc-onboarding .fc-start-profile__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-2);
	margin-top: var(--fc-space-3);
}

.fc-onboarding .fc-start-profile__form label {
	display: block;
	margin-bottom: var(--fc-space-1);
	font-weight: var(--fc-weight-semibold);
}

.fc-onboarding .fc-start-profile__form input[type="text"],
.fc-onboarding .fc-start-profile__form textarea {
	display: block;
	width: 100%;
	max-width: 28rem;
	margin-bottom: var(--fc-space-3);
}

@media (max-width: 40rem) {
	.fc-onboarding .fc-start-profile__steps {
		flex-direction: column;
	}
}

.fc-page--faq .fc-faq,
.fc-page--faq .fc-accordion {
	max-width: min(52rem, 100%);
	margin-inline: auto;
	width: 100%;
}

.fc-pricing-card__list {
	margin: var(--fc-space-4) 0 0;
	padding-inline-start: var(--fc-space-5);
	color: var(--fc-color-slate);
}

.fc-pricing-note {
	margin: var(--fc-space-5) 0;
}

/* UI-06 Membership catalog */
.fc-membership-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0;
	margin: 0 auto var(--fc-space-6);
	padding: 0.2rem;
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-full);
	background: var(--fc-color-surface);
}

.fc-membership-toggle__btn {
	appearance: none;
	margin: 0;
	padding: 0.55rem 1.15rem;
	border: 0;
	border-radius: var(--fc-radius-full);
	background: transparent;
	color: var(--fc-color-slate);
	font: inherit;
	font-weight: var(--fc-weight-semibold);
	cursor: pointer;
	transition:
		background-color var(--fc-duration) var(--fc-ease),
		color var(--fc-duration) var(--fc-ease);
}

.fc-membership-toggle__btn.is-active {
	background: var(--fc-color-ocean-navy);
	color: var(--fc-brand-white);
}

.fc-membership-toggle__btn:focus-visible {
	outline: 3px solid var(--fc-color-focus);
	outline-offset: 2px;
}

.fc-membership-plans {
	margin: 0 auto;
	max-width: var(--fc-container);
}

.fc-membership-plans__grid--dual-cadence {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 52rem;
	margin-inline: auto;
}

.fc-membership-card--cadence {
	position: relative;
	gap: var(--fc-space-2);
}

.fc-membership-card--cadence .fc-membership-card__header {
	padding-right: 6.5rem;
}

.fc-membership-card--cadence .fc-membership-card__cta {
	padding-top: var(--fc-space-2);
}

.fc-membership-card--featured {
	border-color: var(--fc-color-teal);
	box-shadow: var(--fc-shadow-sm);
}

.fc-membership-card__badge {
	position: absolute;
	top: var(--fc-space-4);
	right: var(--fc-space-4);
	margin: 0;
	font-size: var(--fc-text-xs);
	font-weight: var(--fc-weight-semibold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fc-color-teal);
}

.fc-membership-card__cadence {
	margin: 0;
	font-size: var(--fc-text-sm);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.fc-pricing-page {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-6);
	padding-block: var(--fc-space-5) var(--fc-space-8);
}

.fc-pricing-page__tagline {
	margin: 0;
	max-width: 42rem;
	font-size: var(--fc-text-lg);
	line-height: var(--fc-leading-relaxed);
	color: var(--fc-color-slate);
	text-align: center;
}

.fc-pricing-page .fc-section-intro,
.fc-pricing-page .fc-rich-text,
.fc-pricing-page .fc-pro-nav,
.fc-pricing-page .fc-faq,
.fc-pricing-page .fc-button-group {
	margin-inline: auto;
	width: 100%;
}

.fc-pricing-page .fc-section-intro {
	padding-block: var(--fc-space-4) var(--fc-space-3);
}

.fc-pricing-page .fc-pro-nav {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fc-space-4);
	margin-block-end: var(--fc-space-3);
}

.fc-pricing-page .fc-button-group {
	margin-block: var(--fc-space-3) var(--fc-space-2);
}

.fc-pricing-page .fc-rich-text--prose {
	max-width: var(--fc-container-narrow);
}

.fc-pricing-page .fc-rich-text--wide {
	max-width: var(--fc-container);
}

.fc-pricing-page .fc-pricing-catalog {
	max-width: 52rem;
	margin-inline: auto;
}

.fc-membership-plans__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fc-space-5);
	align-items: stretch;
	justify-content: center;
}

.fc-membership-plans__grid--single {
	max-width: 26rem;
	margin-inline: auto;
}

.fc-membership-card {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-3);
	height: 100%;
	margin: 0;
	padding: var(--fc-card-padding);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-xl);
	background: var(--fc-color-surface);
	box-shadow: var(--fc-shadow-none);
	transition:
		border-color var(--fc-duration) var(--fc-ease),
		transform var(--fc-duration-fast) var(--fc-ease);
}

.fc-membership-card:hover {
	border-color: var(--fc-color-border-strong);
	transform: translateY(-1px);
}

.fc-membership-card__title {
	margin: 0;
	font-size: var(--fc-text-h3);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-membership-card__desc {
	margin: 0;
	color: var(--fc-color-muted);
	line-height: var(--fc-leading-relaxed);
}

.fc-membership-card__pricing {
	margin-top: var(--fc-space-2);
}

.fc-membership-price__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 0.65rem;
	margin: 0;
}

.fc-membership-price__value {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: var(--fc-weight-bold);
	letter-spacing: -0.03em;
	color: var(--fc-color-ocean-navy);
	line-height: 1.05;
}

.fc-membership-price__period {
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-medium);
	color: var(--fc-color-slate);
}

.fc-membership-price__equivalent,
.fc-membership-price__savings {
	margin: var(--fc-space-2) 0 0;
	font-size: var(--fc-text-small);
	color: var(--fc-color-muted);
}

.fc-membership-price__savings {
	color: var(--fc-color-success-ink);
	font-weight: var(--fc-weight-medium);
}

.fc-membership-card__features {
	margin: var(--fc-space-2) 0 0;
	padding: 0;
	list-style: none;
	color: var(--fc-color-slate);
}

.fc-membership-card__features li {
	position: relative;
	padding: 0.35rem 0 0.35rem 1.35rem;
}

.fc-membership-card__features li::before {
	content: '';
	position: absolute;
	top: 0.7rem;
	left: 0;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: var(--fc-radius-full);
	background: var(--fc-brand-sea-glass);
}

.fc-membership-card__cta {
	margin-top: auto;
	padding-top: var(--fc-space-3);
}

.fc-membership-card__button {
	width: 100%;
	justify-content: center;
}

@media (min-width: 48rem) {
	.fc-membership-plans__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--fc-space-6);
	}

	.fc-membership-card {
		padding: var(--fc-space-6) var(--fc-space-5);
	}

	.fc-pricing-page .fc-pro-nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.fc-membership-card,
	.fc-membership-toggle__btn {
		transition: none;
	}

	.fc-membership-card:hover {
		transform: none;
	}
}

.fc-contact-panel {
	max-width: 36rem;
}

.fc-contact-form {
	margin-top: var(--fc-space-6);
}

.fc-faq {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-3);
}

.fc-faq__item {
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-md);
	background: var(--fc-color-surface);
	padding: var(--fc-space-3) var(--fc-space-4);
}

.fc-faq__question {
	cursor: pointer;
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
	min-height: var(--fc-touch-min);
	display: flex;
	align-items: center;
}

.fc-faq__answer {
	padding-top: var(--fc-space-3);
	color: var(--fc-color-muted);
	line-height: var(--fc-leading-relaxed);
}

.fc-legal {
	max-width: var(--fc-content-width);
	line-height: var(--fc-leading-relaxed);
	font-size: var(--fc-text-body);
	overflow-wrap: break-word;
}

.fc-legal h2 {
	margin: var(--fc-space-6) 0 var(--fc-space-2);
	color: var(--fc-color-ocean-navy);
	font-size: var(--fc-text-h3);
	line-height: var(--fc-leading-snug);
	overflow-wrap: anywhere;
}

.fc-legal h3 {
	margin: var(--fc-space-6) 0 var(--fc-space-2);
	color: var(--fc-color-ocean-navy);
	font-size: var(--fc-text-h3);
}

.fc-legal ul {
	margin: 0 0 var(--fc-space-4);
	padding-left: 1.25rem;
}

.fc-legal li + li {
	margin-top: var(--fc-space-1);
}

.fc-page--captain-profile .fc-page__main {
	/* Full-bleed navy Captain hero; body content uses .fc-public-profile container. */
	max-width: none;
	width: 100%;
	margin-inline: 0;
	box-sizing: border-box;
	padding-top: 0;
}

.fc-page--org-profile .fc-page__main,
.fc-page--boat-profile .fc-page__main {
	/* Same max-width token as EXPERIENCE-01A .fc-container; margin centers like header/footer. */
	max-width: var(--fc-container);
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
	padding-top: var(--fc-space-4);
}

/* Discovery / Help Me Choose — mount is full width so compact navy header can bleed. */
.fc-page__search-mount {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.fc-page__search-mount.fc-container .fc-directory,
.fc-page__search-mount.fc-container .fc-discover,
.fc-page__search-mount.fc-container .fc-discover-collection,
.fc-page__search-mount.fc-container .fc-discover-choose {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}

@media (min-width: 48rem) {
	.fc-page__menu { display: none; }
	.fc-page__nav-desktop { display: flex; }

	.fc-page__header-inner,
	.fc-page__footer-inner {
		padding-inline: var(--fc-page-gutter, 2rem);
	}

	.fc-home-hero {
		min-height: 22rem;
	}

	.fc-home-hero:not(.fc-home-hero--fallback) {
		min-height: 26rem;
	}

	.fc-home-hero__inner {
		padding-block: var(--fc-space-8) var(--fc-space-7, 1.75rem);
	}

	.fc-home-search__row {
		flex-direction: row;
		align-items: stretch;
	}

	.fc-home-search__row .fc-input {
		flex: 1 1 auto;
	}

	.fc-trust-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fc-page__footer-inner,
	.fc-page__footer-brand {
		text-align: start;
	}
}

/* EXPERIENCE-01B ? sticky footer, heroes, sections, chips, panels */
.fc-page--sticky-footer,
.fc-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.admin-bar .fc-page--sticky-footer,
.admin-bar .fc-page {
	min-height: calc(100vh - 32px);
}

@media screen and (max-width: 782px) {
	.admin-bar .fc-page--sticky-footer,
	.admin-bar .fc-page {
		min-height: calc(100vh - 46px);
	}
}

.fc-ds .fc-page-hero--navy,
.fc-page-hero--navy {
	background: var(--fc-color-ocean-navy);
	color: var(--fc-color-text-inverse);
	width: 100%;
}

.fc-ds .fc-page-hero--compact,
.fc-page-hero--compact {
	padding-block: var(--fc-space-5) var(--fc-space-4);
}

@media (max-width: 47.99rem) {
	.fc-ds .fc-page-hero--compact,
	.fc-page-hero--compact {
		padding-block: var(--fc-space-4) var(--fc-space-3);
	}
}

.fc-ds .fc-page-hero--navy .fc-page__hero-eyebrow,
.fc-page-hero--navy .fc-page__hero-eyebrow {
	color: color-mix(in srgb, var(--fc-brand-white) 80%, transparent);
}

.fc-ds .fc-page-hero--navy .fc-page__hero-lede,
.fc-page-hero--navy .fc-page__hero-lede,
.fc-ds .fc-page-hero--navy p {
	color: color-mix(in srgb, var(--fc-brand-white) 90%, transparent);
}

.fc-ds .fc-page-hero--navy .fc-btn:focus-visible,
.fc-page-hero--navy .fc-btn:focus-visible {
	outline: 3px solid var(--fc-color-focus);
	outline-offset: 3px;
}

.fc-ds .fc-page-hero--sand .fc-page__hero-title,
.fc-page-hero--sand .fc-page__hero-title {
	color: var(--fc-color-ocean-navy);
}

.fc-section--surface {
	background: var(--fc-section-surface, var(--fc-color-surface, #fff));
}

.fc-section--tint {
	background: var(--fc-section-tint);
}

.fc-section--sand,
.fc-pro-cta.fc-section--sand {
	background: var(--fc-section-sand);
	width: 100%;
}

.fc-page--home .fc-page__body,
.fc-page--home .wp-block-group.fc-page__body {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

.fc-page--home .fc-page__body .fc-section,
.fc-page--home .fc-page__body .wp-block-group.fc-section {
	padding-block: var(--fc-section-space);
	width: 100%;
	max-width: none;
	margin-inline: 0;
	box-sizing: border-box;
}

/*
 * Homepage visual rhythm — the SECTION owns outer padding and (where used) the
 * divider. Parent flex gap owns intro→content. Child outer margins are zeroed.
 * WordPress layout-flow gap must not add a second vertical system.
 *
 * Divider policy: hairline only between adjacent white customer sections.
 * Sand CTA and the navy footer use surface change instead of a second line.
 */
.fc-ds.fc-page--home .fc-page__body .wp-block-group,
.fc-ds.fc-page--home .fc-page__body .is-layout-flow,
.fc-ds.fc-page--home .fc-page__body .is-layout-constrained {
	gap: 0;
}

.fc-page--home .fc-home-popular-follow,
.fc-page--home .wp-block-group.fc-home-popular-follow,
.fc-page--home .fc-page__body .fc-section--surface,
.fc-page--home .fc-page__body .fc-section--tint,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface,
.fc-page--home .fc-page__body .wp-block-group.fc-section--tint,
.fc-page--home .fc-home-featured-captains,
.fc-page--home .fc-page__body .fc-homepage-search-authority {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fc-home-customer-content-gap);
	padding-block: var(--fc-home-customer-section-space);
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
}

.fc-page--home .fc-home-popular-follow,
.fc-page--home .wp-block-group.fc-home-popular-follow {
	background: var(--fc-color-surface);
}

/*
 * Popular is a flex column `.fc-container`. Do not use `margin: 0` here —
 * that cancels `.fc-container { margin-inline: auto }` and left-shifts the rail.
 */
.fc-page--home .fc-home-popular-follow .fc-popular-experiences {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fc-home-customer-content-gap);
	width: 100%;
	margin-block: 0;
	margin-inline: auto;
	padding-block: 0;
	box-sizing: border-box;
}

.fc-page--home .fc-home-popular-follow .fc-popular-experiences__chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.fc-page--home .fc-page__body .fc-section--surface:not(.fc-homepage-search-authority),
.fc-page--home .fc-page__body .fc-section--tint,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface:not(.fc-homepage-search-authority),
.fc-page--home .fc-page__body .wp-block-group.fc-section--tint,
.fc-page--home .fc-home-featured-captains {
	border-block-start: 1px solid color-mix(in srgb, var(--fc-color-border) 70%, transparent);
}

.fc-page--home .fc-page__body .fc-pro-cta,
.fc-page--home .fc-page__body .fc-homepage-search-authority {
	border-block-start: 0;
}

.fc-page--home .fc-page__body .fc-section--surface,
.fc-page--home .fc-page__body .fc-section--tint,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface,
.fc-page--home .fc-page__body .wp-block-group.fc-section--tint,
.fc-page--home .fc-home-featured-captains,
.fc-page--home .fc-page__body .fc-homepage-search-authority {
	background: var(--fc-section-surface, var(--fc-color-surface, #fff));
}

.fc-page--home .fc-page__body .fc-section-intro,
.fc-page--home .fc-home-popular-follow .fc-section-intro,
.fc-page--home .fc-home-featured-captains .fc-section-intro,
.fc-page--home .fc-homepage-search-authority .fc-section-intro {
	padding-block: 0;
	margin-block: 0;
	margin-inline: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	text-align: center;
}

.fc-page--home .fc-page__body .fc-section--surface > .fc-container,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface > .fc-container,
.fc-page--home .fc-homepage-search-authority > .fc-container {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.fc-page--home .fc-page__body .fc-section--surface:not(.fc-homepage-search-authority) > .fc-container,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface:not(.fc-homepage-search-authority) > .fc-container {
	gap: var(--fc-home-customer-content-gap);
}

.fc-page--home .fc-homepage-search-authority > .fc-container {
	gap: 0;
}

.fc-page--home .fc-page__body .fc-homepage-search-authority {
	gap: 0;
}

.fc-page--home .fc-page__body .fc-homepage-search-authority > .fc-container > header.fc-section-intro {
	margin-block-end: var(--fc-home-customer-content-gap);
}

.fc-page--home .fc-page__body .fc-section--surface > .fc-section-intro,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface > .fc-section-intro,
.fc-page--home .fc-homepage-search-authority > .fc-section-intro,
.fc-page--home .fc-page__body .fc-section--surface > .fc-trust-grid,
.fc-page--home .fc-page__body .wp-block-group.fc-section--surface > .fc-trust-grid,
.fc-page--home .fc-homepage-search-authority > .fc-trust-grid,
.fc-page--home .fc-homepage-search-authority > .fc-homepage-search-authority__guide {
	width: 100%;
	max-width: var(--fc-container);
	margin-inline: auto;
	padding-inline: var(--fc-page-gutter, 1.25rem);
	box-sizing: border-box;
}

.fc-page--home .fc-page__body .fc-section-intro h2,
.fc-page--home .fc-home-popular-follow .fc-section-intro h2,
.fc-page--home .fc-home-featured-captains .fc-section-intro h2,
.fc-page--home .fc-homepage-search-authority .fc-section-intro h2 {
	margin-block: 0 var(--fc-space-2);
	margin-inline: auto;
	max-width: none;
	width: 100%;
	text-align: center;
}

.fc-page--home .fc-page__body .fc-section-intro p,
.fc-page--home .fc-home-popular-follow .fc-section-intro p,
.fc-page--home .fc-home-featured-captains .fc-section-intro p,
.fc-page--home .fc-home-featured-captains .fc-section-intro__lede,
.fc-page--home .fc-homepage-search-authority .fc-section-intro p {
	margin-block: 0;
	max-width: 36rem;
	margin-inline: auto;
}

.fc-page--home .fc-trust-grid,
.fc-page--home .fc-page__body .fc-trust-grid,
.fc-page--home .fc-page__body .fc-card-grid,
.fc-page--home .fc-home-featured-captains__cards,
.fc-page--home .fc-homepage-search-authority__steps {
	margin-block: 0;
}

.fc-page--home .fc-home-featured-captains > .fc-container {
	display: flex;
	flex-direction: column;
	gap: var(--fc-home-customer-content-gap);
	width: 100%;
}

.fc-page--home .fc-home-featured-captains > .fc-shared-contact,
.fc-page--home .fc-home-featured-captains > [hidden] {
	margin: 0;
}

.fc-page--home .fc-home-featured-captains__cards {
	display: grid;
	gap: var(--fc-space-5);
	grid-template-columns: 1fr;
	justify-content: center;
	margin: 0;
}

@media (min-width: 48rem) {
	.fc-page--home .fc-home-featured-captains__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.fc-page--home .fc-home-featured-captains__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.fc-page--home .fc-home-featured-captains__cards:has(> :only-child) {
		grid-template-columns: minmax(0, 22rem);
		justify-content: center;
		margin-inline: auto;
	}

	.fc-page--home .fc-home-featured-captains__cards:has(> :nth-child(2):last-child) {
		grid-template-columns: repeat(2, minmax(0, 22rem));
		justify-content: center;
	}
}

/* Audience transition after Featured Captains — compact, still balanced top/bottom */
.fc-page--home .fc-page__body .fc-pro-cta.fc-section--sand,
.fc-page--home .fc-page__body > .fc-pro-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--fc-space-3);
	padding-block: var(--fc-home-cta-section-space);
	padding-inline: var(--fc-page-gutter, 1.25rem);
	margin: 0;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	border-radius: 0;
	border-block-start: 0;
}

.fc-page--home .fc-page__body .fc-pro-cta h2,
.fc-page--home .fc-page__body .fc-pro-cta > p,
.fc-page--home .fc-page__body .fc-pro-cta .fc-button-group {
	margin-block: 0;
}

/* Authority uses shared section-intro + trust-grid cards. */
.fc-homepage-search-authority__steps {
	list-style: none;
	padding-inline-start: 0;
	counter-reset: fc-home-authority-step;
}

.fc-homepage-search-authority__steps > li,
.fc-homepage-search-authority__steps .fc-card {
	min-width: 0;
	margin: 0;
}

.fc-homepage-search-authority__steps h3::before {
	counter-increment: fc-home-authority-step;
	content: counter(fc-home-authority-step) ". ";
}

.fc-page--home .fc-homepage-search-authority__guide,
.fc-page--home .fc-page__body .fc-homepage-search-authority__guide.fc-section-intro {
	margin-block: var(--fc-home-authority-cta-gap) 0;
	padding-block: 0;
}

.fc-homepage-search-authority__guide h3 {
	margin: 0 0 var(--fc-space-2);
	font-size: var(--fc-text-h3);
}

.fc-page--home .fc-homepage-search-authority__guide p {
	margin-block: 0;
}

.fc-page--home .fc-homepage-search-authority__guide p + p {
	margin-block-start: var(--fc-space-3);
}

.fc-page--how-to-find-a-captain .fc-page__main {
	padding-top: 0;
}

.fc-page--how-to-find-a-captain .fc-page__hero {
	text-align: center;
}

.fc-page--how-to-find-a-captain .fc-page-hero--navy .fc-page__hero-eyebrow {
	color: color-mix(in srgb, var(--fc-brand-white) 80%, transparent);
}

.fc-page--how-to-find-a-captain .fc-page__hero.fc-page-hero--navy .fc-page__hero-title {
	display: block;
	color: var(--fc-color-text-inverse);
	text-align: center;
	margin-inline: auto;
}

.fc-page--how-to-find-a-captain .fc-page__hero.fc-page-hero--navy .fc-page__hero-lede {
	text-align: center;
	margin-inline: auto;
}

.fc-page--how-to-find-a-captain .fc-page__section {
	padding-block: var(--fc-section-space);
	border-top: 0;
}

.fc-page--how-to-find-a-captain .fc-page__section .fc-section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain {
	max-width: var(--fc-content-width, 45rem);
	width: 100%;
	margin-inline: 0;
	padding-inline: 0;
	text-align: start;
}

.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain h2 {
	margin: var(--fc-space-5) 0 var(--fc-space-3);
}

.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain h2:first-child {
	margin-top: 0;
}

.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain p,
.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain li {
	max-width: none;
	line-height: var(--fc-leading-relaxed);
}

.fc-page--how-to-find-a-captain .fc-how-to-find-a-captain ul {
	margin: 0 0 var(--fc-space-4);
	padding-inline-start: 1.25rem;
}

.fc-page--home .fc-card-grid:not(.fc-container),
.fc-page--home .fc-section--surface > .fc-trust-grid,
.fc-page--home .wp-block-group.fc-section--surface > .fc-trust-grid,
.fc-page--home .fc-homepage-search-authority > .fc-trust-grid {
	max-width: var(--fc-container);
	margin-inline: auto;
	padding-inline: var(--fc-page-gutter, 1.25rem);
	box-sizing: border-box;
}

.fc-popular-experiences {
	margin-top: var(--fc-space-4);
	padding-top: var(--fc-space-3);
}

.fc-explore-experiences .fc-popular-experiences__chips,
.fc-popular-experiences__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-3);
	max-width: 100%;
}

.fc-popular-experiences__title {
	margin: 0 0 var(--fc-space-2);
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-muted);
}

.fc-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--fc-space-2);
	min-height: 2.5rem;
	padding: 0.45rem 0.9rem;
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-full);
	background: var(--fc-color-surface);
	color: var(--fc-color-ocean-navy);
	font: inherit;
	font-size: var(--fc-text-small);
	font-weight: var(--fc-weight-medium);
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
}

.fc-chip__count {
	color: var(--fc-color-muted);
	font-weight: var(--fc-weight-regular, 400);
}

.fc-chip:hover,
.fc-chip:focus-visible {
	border-color: var(--fc-color-action);
	color: var(--fc-color-action);
	outline: none;
}

.fc-chip:focus-visible {
	outline: 3px solid var(--fc-color-focus);
	outline-offset: 2px;
}

.fc-home-hero__search-panel .fc-captain-search__field .fc-input,
.fc-home-hero__search-panel .fc-captain-search__field select,
.fc-home-hero__search-panel .fc-captain-search__actions .fc-btn {
	min-height: var(--fc-touch-min);
	padding-inline: 0.9rem;
}

.fc-action-panel {
	max-width: var(--fc-action-panel-max);
	margin-inline: auto;
	padding: var(--fc-card-padding);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-lg);
	background: var(--fc-color-surface);
	text-align: center;
}

.fc-action-panel__title {
	margin: 0 0 var(--fc-space-3);
	font-size: var(--fc-text-body);
	font-weight: var(--fc-weight-semibold);
}

.fc-action-panel__actions {
	margin: 0;
}

.fc-page--contact .fc-page__main {
	padding-block: var(--fc-space-6) var(--fc-space-8);
}

.fc-page--contact .fc-contact-panel--simple,
.fc-not-found {
	padding-block: var(--fc-space-4);
}

.fc-not-found__lede {
	margin: 0 0 var(--fc-space-5);
	color: var(--fc-color-muted);
}

.fc-not-found__actions {
	justify-content: center;
	margin-bottom: var(--fc-space-4);
}

.fc-not-found__secondary {
	margin: 0;
}

.fc-membership-page,
.fc-pricing-catalog--composed {
	margin-inline: auto;
	padding-block: 0 var(--fc-space-2);
}

.fc-membership-toggle {
	justify-content: center;
}

.fc-page--join-captain .fc-page__section .fc-section__inner {
	max-width: var(--fc-container-narrow);
}

/* Founder Acceptance — compact Private Profile Preview utility bar */
.fc-preview-utility {
	background: var(--fc-surface-muted, #f4f6f8);
	border-bottom: 1px solid var(--fc-color-border, var(--fc-border, #d7dee5));
	color: var(--fc-color-text, #1a2330);
}

/* Full-bleed bar; inner width/gutter from shared .fc-container (same as public header). */
.fc-preview-utility__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	column-gap: var(--fc-space-2, 0.5rem);
	min-height: 2.5rem;
	padding-block: var(--fc-space-2, 0.5rem);
	box-sizing: border-box;
}

/* Placement only — appearance from .fc-btn.fc-btn--primary.fc-btn--compact */
.fc-preview-utility__back {
	grid-column: 1;
	justify-self: start;
	max-width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
}

.fc-preview-utility__back-text-short {
	display: none;
}

/* FA-CAPTAIN-POLISH-10: single-control contextual return bar on /contact/. */
.fc-support-return .fc-support-return__inner,
.fc-evaluation-return .fc-evaluation-return__inner,
.fc-public-boat-return .fc-public-boat-return__inner,
.fc-public-profile-discovery-return .fc-evaluation-return__inner {
	grid-template-columns: minmax(0, 1fr);
}

.fc-preview-utility__label {
	grid-column: 2;
	justify-self: center;
	margin: 0;
	padding: 0;
	font-size: var(--fc-text-xs, 0.75rem);
	font-weight: var(--fc-weight-semibold, 600);
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	color: var(--fc-color-text-muted, var(--fc-text-muted, #5c6770));
	white-space: nowrap;
}

.fc-preview-utility__label-short {
	display: none;
}

@media (max-width: 47.99rem) {
	.fc-preview-utility__inner {
		min-height: 2.25rem;
		padding-block: 0.35rem;
	}

	.fc-preview-utility__back-text {
		display: none;
	}

	.fc-preview-utility__back-text-short {
		display: inline;
	}

	.fc-preview-utility__label-full {
		display: none;
	}

	.fc-preview-utility__label-short {
		display: inline;
	}
}

/* FA-CUSTOMER-JOURNEY-DESKTOP-FINAL-01 */
.fc-card.fc-card--action {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-2);
	padding-right: calc(var(--fc-space-4) + 1.25rem);
}

.fc-card.fc-card--action .fc-card__action {
	position: absolute;
	top: 50%;
	right: var(--fc-space-4);
	transform: translateY(-50%);
	font-size: var(--fc-text-body);
	color: var(--fc-color-action);
}

.fc-contact-panel__intro {
	margin-bottom: var(--fc-space-5);
}

.fc-contact-panel__heading {
	margin: 0 0 var(--fc-space-3);
	font-size: var(--fc-text-h3);
}

.fc-contact-panel__faq-loop {
	margin-top: var(--fc-space-5);
	padding-top: var(--fc-space-4);
	border-top: 1px solid var(--fc-color-border);
}

.fc-contact-panel__faq-heading {
	margin: 0 0 var(--fc-space-2);
	font-size: var(--fc-text-h4);
}

.fc-faq__section-heading {
	margin: var(--fc-space-6) 0 var(--fc-space-3);
	font-size: var(--fc-text-h2);
}

.fc-faq__section-heading:first-child {
	margin-top: 0;
}

.fc-pricing-page .fc-membership-includes__list {
	text-align: left;
	margin-inline: 0;
	padding-inline-start: var(--fc-space-5);
	max-width: 36rem;
}

.fc-membership-card__feature-note {
	margin: var(--fc-space-2) 0 var(--fc-space-4);
	font-size: var(--fc-text-small);
	color: var(--fc-color-text-muted);
	max-width: 36rem;
	text-align: left;
}

.fc-connect-primary {
	margin-bottom: var(--fc-space-4);
}

.fc-page--home .fc-page__body > .fc-pro-cta {
	padding-block: var(--fc-home-cta-section-space);
}

.fc-page--about .fc-rich-text,
.fc-page--contact .fc-content-rail,
.fc-page--faq .fc-content-rail {
	max-width: var(--fc-content-rail-narrow, 42rem);
}

/* FA-MEMBERSHIP-PAGE-SIMPLIFY-01 — compact /pricing/ conversion layout */
.fc-page-hero--compact .fc-page__hero-title,
.fc-page-hero--compact h1 {
	max-width: 46rem;
}

.fc-page-hero--compact .fc-page__hero-lede,
.fc-page-hero--compact p {
	max-width: 42rem;
}

.fc-ds .fc-page-hero--navy .fc-page__hero-actions,
.fc-page-hero--navy .fc-page__hero-actions {
	justify-content: center;
}

.fc-ds .fc-page-hero--navy .fc-btn--ghost,
.fc-page-hero--navy .fc-btn--ghost,
.fc-ds .fc-page-hero--navy .fc-btn--ghost:visited,
.fc-page-hero--navy .fc-btn--ghost:visited {
	color: var(--fc-color-text-inverse);
	background: transparent;
	border-color: color-mix(in srgb, var(--fc-color-text-inverse) 45%, transparent);
}

.fc-ds .fc-page-hero--navy .fc-btn--ghost:hover,
.fc-page-hero--navy .fc-btn--ghost:hover {
	color: var(--fc-color-text-inverse);
	background: color-mix(in srgb, var(--fc-color-text-inverse) 12%, transparent);
	border-color: var(--fc-color-text-inverse);
}

.fc-pricing-page__free-note {
	margin: 0 auto var(--fc-space-5);
	max-width: 42rem;
	text-align: center;
	color: var(--fc-color-muted);
}

.fc-membership-value {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fc-space-5);
	width: 100%;
}

.fc-membership-includes__title,
.fc-membership-callout__title {
	margin: 0 0 var(--fc-space-3);
	font-size: var(--fc-text-h3);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-membership-includes__list,
.fc-pricing-page .fc-membership-includes__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--fc-space-1) var(--fc-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: none;
	color: var(--fc-color-slate);
}

.fc-membership-includes__list li {
	position: relative;
	padding: var(--fc-space-1) 0 var(--fc-space-1) var(--fc-space-5);
}

.fc-membership-includes__list li::before {
	content: '';
	position: absolute;
	top: var(--fc-space-3);
	left: 0;
	width: var(--fc-space-2);
	height: var(--fc-space-2);
	border-radius: var(--fc-radius-full);
	background: var(--fc-brand-sea-glass);
}

.fc-membership-callout {
	padding: var(--fc-space-5);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-xl);
	background: var(--fc-color-surface);
}

.fc-membership-callout__body {
	margin: 0;
	color: var(--fc-color-muted);
	line-height: var(--fc-leading-relaxed);
}

.fc-pricing-page .fc-rich-text--wide,
.fc-pricing-page .fc-rich-text--wide .fc-rich-text__content {
	max-width: 46rem;
}

.fc-pricing-page .fc-rich-text--wide .fc-rich-text__content p {
	margin: 0 0 var(--fc-space-3);
}

.fc-pricing-page .fc-faq {
	max-width: 42rem;
	gap: var(--fc-space-2);
}

.fc-pricing-page .fc-button-group {
	justify-content: center;
}

@media (min-width: 48rem) {
	.fc-membership-value {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		align-items: start;
		gap: var(--fc-space-6);
	}

	.fc-membership-includes__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* FA-MEMBERSHIP-PAGE-PROFESSIONAL-FINAL-01 — short conversion composition */
.fc-page--pricing .fc-page__main {
	padding-top: 0;
	padding-bottom: var(--fc-space-5);
}

.fc-page--pricing .fc-page-hero--compact {
	padding-block: var(--fc-space-4) var(--fc-space-3);
	gap: var(--fc-space-2);
}

.fc-page--pricing .fc-page-hero--compact .fc-page__hero-inner {
	gap: var(--fc-space-2);
	max-width: var(--fc-container);
	margin-inline: auto;
	align-items: center;
	text-align: center;
}

.fc-page--pricing .fc-page-hero--compact .fc-page__hero-title,
.fc-page--pricing .fc-page-hero--compact h1 {
	max-width: 28rem;
	margin-inline: auto;
}

.fc-page--pricing .fc-page-hero--compact .fc-page__hero-lede,
.fc-page--pricing .fc-page-hero--compact p {
	max-width: 36rem;
	margin: 0 auto;
	font-size: var(--fc-text-sm);
}

.fc-page--pricing .fc-page-hero--compact .fc-page__hero-actions {
	align-items: center;
	justify-content: center;
	gap: var(--fc-space-3);
}

.fc-page--pricing .fc-page-hero--navy .fc-page__hero-link {
	color: color-mix(in srgb, var(--fc-brand-white) 88%, transparent);
	font-size: var(--fc-text-sm);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.fc-page--pricing .fc-page-hero--navy .fc-page__hero-link:hover,
.fc-page--pricing .fc-page-hero--navy .fc-page__hero-link:focus-visible {
	color: var(--fc-brand-white);
}

.fc-page--pricing .fc-page-hero--navy .fc-page__hero-link:focus-visible {
	outline: 3px solid var(--fc-color-focus);
	outline-offset: 3px;
}

/* FA-MEMBERSHIP-PAGE-GRID-RHYTHM-FINAL-01 — one master content grid */
.fc-pricing-page--pro {
	--fc-pricing-section-gap: var(--fc-space-6);
	--fc-pricing-heading-gap: var(--fc-space-3);
	--fc-pricing-cluster: 46rem;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--fc-pricing-section-gap);
	padding-block: var(--fc-pricing-section-gap);
	max-width: var(--fc-container);
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--fc-page-gutter, 1.25rem);
	box-sizing: border-box;
}

.fc-pricing-page--pro > * {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	margin-block: 0;
}

.fc-page--pricing .fc-pricing-page--pro.is-layout-flow > * + *,
.fc-page--pricing .fc-pricing-page--pro .is-layout-flow > * + *,
.fc-page--pricing .fc-pricing-page--pro.wp-block-group > * + * {
	margin-block-start: 0;
}

.fc-pricing-page--pro .fc-container,
.fc-pricing-page--pro .fc-content-rail,
.fc-pricing-page--pro .fc-pricing-catalog,
.fc-pricing-page--pro .fc-pricing-catalog.fc-container,
.fc-pricing-page--pro .fc-section-intro,
.fc-pricing-page--pro .fc-pro-nav,
.fc-pricing-page--pro .fc-faq,
.fc-pricing-page--pro .fc-button-group,
.fc-pricing-page--pro .fc-rich-text,
.fc-pricing-page--pro .fc-block {
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
	width: 100%;
	box-sizing: border-box;
}

.fc-pricing-page--pro .fc-pro-nav {
	display: block;
	margin-block-end: 0;
}

.fc-pricing-page--pro .fc-section-intro,
.fc-pricing-page--pro .fc-section-intro h2,
.fc-pricing-page--pro .fc-membership-benefits__title {
	max-width: none;
	width: 100%;
	margin-inline: auto;
	text-align: center;
}

.fc-pricing-page--pro .fc-section-intro {
	padding-block: 0;
	margin: 0;
}

.fc-pricing-page--pro .fc-section-intro h2 {
	margin: 0;
}

.fc-pricing-page--pro .fc-membership-plans {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fc-pricing-section-gap);
	width: 100%;
	max-width: none;
	margin: 0;
}

.fc-pricing-page--pro .fc-pricing-page__offer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-3);
	width: 100%;
}

.fc-pricing-page--pro .fc-membership-plans__grid--dual-cadence {
	max-width: var(--fc-pricing-cluster);
	width: 100%;
	margin-inline: auto;
}

.fc-pricing-page--pro .fc-membership-card--cadence {
	padding: var(--fc-card-padding-compact);
	gap: var(--fc-space-2);
}

.fc-pricing-page--pro .fc-membership-price__value {
	font-size: clamp(2.5rem, 5vw, 3.25rem);
}

.fc-pricing-page--pro .fc-membership-card__pricing {
	margin-top: 0;
}

.fc-pricing-page--pro .fc-membership-price__savings,
.fc-pricing-page--pro .fc-membership-price__equivalent {
	margin-top: var(--fc-space-1);
}

.fc-pricing-page--pro .fc-membership-card__cta {
	padding-top: var(--fc-space-1);
}

.fc-pricing-page--pro .fc-pricing-page__free-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--fc-space-2);
	margin: 0 auto;
	padding: 0;
	max-width: var(--fc-pricing-cluster);
	width: 100%;
	background: none;
	border-radius: 0;
	color: var(--fc-color-slate);
	font-size: var(--fc-text-sm);
	line-height: var(--fc-leading-snug, 1.4);
	text-align: center;
}

.fc-pricing-page--pro .fc-pricing-page__free-note::before {
	content: '';
	width: 0.7rem;
	height: 0.4rem;
	flex-shrink: 0;
	margin-top: -0.15rem;
	border-left: 2px solid var(--fc-color-teal);
	border-bottom: 2px solid var(--fc-color-teal);
	transform: rotate(-45deg);
}

.fc-pricing-page--pro .fc-pricing-page__assurance {
	display: flex;
	justify-content: center;
	width: 100%;
}

.fc-pricing-page--pro .fc-pricing-page__assurance .fc-rich-text {
	width: 100%;
	max-width: var(--fc-pricing-cluster);
	margin-inline: auto;
	padding: var(--fc-space-4);
	background: var(--fc-section-sand);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-lg);
	text-align: center;
	box-sizing: border-box;
}

.fc-pricing-page--pro .fc-pricing-page__assurance .fc-rich-text h2 {
	margin: 0 0 var(--fc-space-1);
	font-size: var(--fc-text-h3);
}

.fc-pricing-page--pro .fc-pricing-page__assurance .fc-rich-text__content {
	max-width: 36rem;
	margin-inline: auto;
}

.fc-pricing-page--pro .fc-pricing-page__assurance .fc-rich-text__content p {
	margin: 0;
	font-size: var(--fc-text-sm);
	line-height: var(--fc-leading-snug, 1.4);
	color: var(--fc-color-slate);
}

.fc-pricing-page--pro .fc-membership-benefits {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fc-pricing-heading-gap);
	width: 100%;
}

.fc-pricing-page--pro .fc-membership-benefits__title,
.fc-pricing-page--pro .fc-membership-callout__title {
	margin: 0;
	font-size: var(--fc-text-h3);
}

.fc-pricing-page--pro .fc-membership-benefits__grid {
	display: grid;
	grid-template-columns: 1fr;
	justify-items: stretch;
	gap: var(--fc-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.fc-pricing-page--pro .fc-membership-benefits__item {
	text-align: left;
	max-width: none;
}

.fc-pricing-page--pro .fc-membership-benefits__heading {
	margin: 0 0 var(--fc-space-1);
	font-size: var(--fc-text-sm);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-pricing-page--pro .fc-membership-benefits__body {
	margin: 0;
	font-size: var(--fc-text-sm);
	line-height: var(--fc-leading-snug, 1.4);
	color: var(--fc-color-slate);
}

.fc-pricing-page--pro .fc-membership-callout--accent {
	width: 100%;
	max-width: var(--fc-pricing-cluster);
	margin-inline: auto;
	padding: var(--fc-space-4);
	background: var(--fc-section-sand);
	border: 1px solid var(--fc-color-border);
	border-radius: var(--fc-radius-lg);
	text-align: center;
	box-sizing: border-box;
}

.fc-pricing-page--pro .fc-membership-callout--accent .fc-membership-callout__title {
	margin-bottom: var(--fc-space-1);
}

.fc-pricing-page--pro .fc-membership-callout--accent .fc-membership-callout__body {
	max-width: 36rem;
	margin-inline: auto;
	font-size: var(--fc-text-sm);
}

.fc-pricing-page--pro .fc-pricing-page__process {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--fc-pricing-heading-gap);
	width: 100%;
}

.fc-pricing-page--pro .fc-pricing-page__process .fc-section-intro,
.fc-pricing-page--pro .fc-pricing-page__process .fc-process {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.fc-pricing-page--pro .fc-pricing-page__process .fc-section-intro h2 {
	max-width: none;
	width: 100%;
	margin: 0;
	font-size: var(--fc-text-h3);
	text-align: center;
}

.fc-pricing-page--pro .fc-process__list {
	display: grid;
	grid-template-columns: 1fr;
	align-items: stretch;
	gap: var(--fc-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.fc-pricing-page--pro .fc-process__step {
	height: 100%;
	min-width: 0;
}

.fc-pricing-page--pro .fc-process__card {
	height: 100%;
	margin: 0;
	box-shadow: none;
	text-align: center;
	padding: var(--fc-space-4);
}

.fc-pricing-page--pro .fc-process__title {
	margin: 0 0 var(--fc-space-1);
	font-size: var(--fc-text-sm);
	font-weight: var(--fc-weight-semibold);
	color: var(--fc-color-ocean-navy);
}

.fc-pricing-page--pro .fc-process__desc {
	margin: 0;
	font-size: var(--fc-text-sm);
	color: var(--fc-color-muted);
}

.fc-pricing-page--pro .fc-pricing-page__close {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--fc-pricing-heading-gap);
	width: 100%;
}

.fc-pricing-page--pro .fc-pricing-page__close .fc-section-intro,
.fc-pricing-page--pro .fc-pricing-page__close .fc-faq {
	width: 100%;
	max-width: var(--fc-pricing-cluster);
	margin-inline: auto;
	padding-block: 0;
}

.fc-pricing-page--pro .fc-faq {
	gap: var(--fc-space-1);
}

.fc-pricing-page--pro .fc-faq__item {
	padding: var(--fc-space-2) var(--fc-space-3);
}

@media (min-width: 48rem) {
	.fc-page--pricing .fc-page-hero--compact {
		padding-block: var(--fc-space-5) var(--fc-space-3);
	}

	.fc-pricing-page--pro {
		gap: var(--fc-pricing-section-gap);
		padding-block: var(--fc-pricing-section-gap);
	}

	.fc-pricing-page--pro .fc-membership-card--cadence {
		padding: var(--fc-space-5);
	}

	.fc-pricing-page--pro .fc-membership-benefits__grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: var(--fc-space-5) var(--fc-space-6);
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(1) {
		grid-column: 1 / 3;
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(2) {
		grid-column: 3 / 5;
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(3) {
		grid-column: 5 / 7;
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(4) {
		grid-column: 2 / 4;
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(5) {
		grid-column: 4 / 6;
	}

	.fc-pricing-page--pro .fc-process__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--fc-space-4);
	}
}

@media (min-width: 80rem) {
	.fc-pricing-page--pro .fc-membership-benefits__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: var(--fc-space-5);
	}

	.fc-pricing-page--pro .fc-membership-benefits__item:nth-child(n) {
		grid-column: auto;
	}
}

@media (max-width: 47.99rem) {
	.fc-page--pricing .fc-page-hero--compact {
		padding-block: var(--fc-space-3);
	}

	.fc-pricing-page--pro {
		--fc-pricing-section-gap: var(--fc-space-5);
		gap: var(--fc-pricing-section-gap);
		padding-block: var(--fc-pricing-section-gap);
	}

	.fc-pricing-page--pro .fc-membership-plans {
		gap: var(--fc-pricing-section-gap);
	}

	.fc-pricing-page--pro .fc-membership-card__button {
		min-height: var(--fc-touch-min);
	}
}

/* Founder-only staging SEO Preview. Out of document flow; closed by default. */
.fc-seo-preview {
	position: fixed;
	z-index: 40;
	inset-inline-end: 1rem;
	inset-block-end: 1rem;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-end;
	max-width: min(24rem, calc(100vw - 2rem));
	margin: 0;
	color: var(--fc-color-text, #0f172a);
	font-size: var(--fc-text-small, 0.875rem);
	line-height: 1.4;
}

.fc-seo-preview__toggle {
	cursor: pointer;
	list-style: none;
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--fc-color-border, #d5dde6);
	border-radius: var(--fc-radius-md, 0.5rem);
	background: var(--fc-color-surface, #fff);
	box-shadow: 0 1px 4px color-mix(in srgb, #0b2a3d 16%, transparent);
	font-weight: var(--fc-weight-medium, 500);
}

.fc-seo-preview__toggle::-webkit-details-marker {
	display: none;
}

.fc-seo-preview__panel {
	margin: 0 0 0.5rem;
	max-height: min(60vh, 22rem);
	overflow: auto;
	padding: 0.75rem 1rem;
	border: 1px solid var(--fc-color-border, #d5dde6);
	border-radius: var(--fc-radius-md, 0.5rem);
	background: var(--fc-color-surface, #fff);
	box-shadow: 0 8px 24px color-mix(in srgb, #0b2a3d 18%, transparent);
}

.fc-seo-preview__intro,
.fc-seo-preview__panel p {
	margin: 0 0 0.5rem;
}

.fc-seo-preview__panel p:last-child {
	margin-bottom: 0;
}

.fc-seo-preview__panel span {
	font-weight: var(--fc-weight-semibold, 600);
}

