/* rfm-theme — main stylesheet (parent theme, v1.1.3, 2026-05-06)
   v1.1.3: blog post cards accept any image aspect ratio (portrait/landscape/square);
   v1.1.2: counter spans no longer all block (14/20 sits inline);
   v1.1.1 fix: header nav respects wrap horizontal padding; mobile wrap 22→24px;
               body overflow-x clip; founding callout mobile padding tightened.

   Mobile-first, legibility-first design system. Default brand identity is RFM;
   any child theme can override the entire color palette via its own theme.json
   without touching this file.

   How the color cascade works:
   - Each :root variable falls back through theme.json's auto-generated CSS
     custom properties (--wp--preset--color--*) to a hardcoded RFM hex.
   - Override theme.json's palette in a child theme → all :root variables
     instantly resolve to the child's values → entire site re-skins.
   - The hardcoded fallbacks here mean the parent theme renders correctly
     even if theme.json fails to load.

   What hasn't changed from v1.0.5:
   - All class names are identical. Existing imported pages render unchanged.
   - Mobile-first base, legibility bumps, sticky header, hamburger nav.
   - WCAG AA contrast on every body color.

   What's new in v1.1.0:
   - Color values are now overridable by child themes (theme.json palette swap).
   - Brand strings in template parts can be overridden via brand-config.php filter.
*/

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

:root {
	/* Surface */
	--bg:         var(--wp--preset--color--bg, #FAFAF7);
	--bg-soft:    var(--wp--preset--color--bg-soft, #F5F5F0);
	--card:       var(--wp--preset--color--card, #FFFFFF);
	--line:       var(--wp--preset--color--line, #E2E8F0);
	--line2:      var(--wp--preset--color--line-2, #CBD5E1);

	/* Ink (text) */
	--ink:        var(--wp--preset--color--ink, #0F172A);
	--ink2:       var(--wp--preset--color--ink-2, #334155);
	--ink3:       var(--wp--preset--color--ink-3, #64748B);
	--ink4:       var(--wp--preset--color--ink-4, #94A3B8);

	/* Brand (primary accent) */
	--green:      var(--wp--preset--color--green, #16A34A);
	--green-dark: var(--wp--preset--color--green-dark, #15803D);
	--green-soft: var(--wp--preset--color--green-soft, #F0FDF4);

	/* Scarcity accent */
	--amber:      var(--wp--preset--color--amber, #F59E0B);
	--amber-soft: var(--wp--preset--color--amber-soft, #FFFBEB);
	--amber-line: var(--wp--preset--color--amber-line, #FDE68A);
	--amber-ink:  var(--wp--preset--color--amber-ink, #92400E);
	--amber-ink2: var(--wp--preset--color--amber-ink-2, #78350F);

	/* Alert */
	--red:        var(--wp--preset--color--red, #DC2626);

	/* Geometry */
	--r:    10px;
	--r-lg: 16px;

	/* Elevation */
	--shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.06);
	--shadow-md: 0 6px 12px rgba(15, 23, 42, 0.05), 0 12px 28px rgba(15, 23, 42, 0.08);
	--shadow-lg: 0 18px 40px -12px rgba(15, 23, 42, 0.18);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	overflow-x: clip;  /* prevent rogue horizontal scroll on mobile */
	font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	background: var(--bg);
	color: var(--ink);
	line-height: 1.65;
	font-size: 19px;                /* mobile default */
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

@media (min-width: 760px) { body { font-size: 18px; line-height: 1.65; } }
@media (min-width: 1024px) { body { font-size: 18px; } }

a { color: inherit; }
a:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; border-radius: 4px; }
img { max-width: 100%; height: auto; display: block; }

::selection { background: var(--green); color: #fff; }

.rfm-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 24px;
}
@media (min-width: 760px) { .rfm-wrap { padding: 0 32px; } }
@media (min-width: 1024px) { .rfm-wrap { padding: 0 40px; } }

/* ─── Header — sticky, mobile hamburger via checkbox-hack (no JS) ──── */
.rfm-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 250, 247, 0.92);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--line);
}

.admin-bar .rfm-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rfm-site-header { top: 46px; } }

.rfm-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 14px;
	padding-bottom: 14px;
	/* horizontal padding inherited from .rfm-wrap so header content lines up with body */
	flex-wrap: wrap;
}
@media (min-width: 1024px) { .rfm-nav { padding-top: 18px; padding-bottom: 18px; flex-wrap: nowrap; } }

.rfm-brand {
	font-weight: 800;
	font-size: 19px;
	letter-spacing: -0.02em;
	color: var(--ink);
	text-decoration: none;
	flex-shrink: 0;
}
.rfm-brand-mark { color: var(--green); margin-right: 4px; }

/* Hamburger toggle (mobile only) */
.rfm-nav-toggle-input { display: none; }
.rfm-nav-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: space-around;
	width: 44px;
	height: 44px;
	padding: 11px 9px;
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: var(--r);
	transition: background .2s ease;
}
.rfm-nav-toggle:hover { background: var(--bg-soft); }
.rfm-nav-toggle-bar {
	display: block;
	width: 24px;
	height: 2.5px;
	background: var(--ink);
	border-radius: 2px;
	transition: transform .2s ease, opacity .2s ease;
}
@media (min-width: 1024px) { .rfm-nav-toggle { display: none; } }

.rfm-nav-menu {
	display: none;
	flex-direction: column;
	width: 100%;
	gap: 12px;
	padding: 8px 0 16px;
}
.rfm-nav-toggle-input:checked ~ .rfm-nav-menu { display: flex; }

@media (min-width: 1024px) {
	.rfm-nav-menu {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 28px;
		width: auto;
		padding: 0;
	}
}

.rfm-nav-links {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 17px;
	color: var(--ink);
	list-style: none;
	padding: 0;
	margin: 0;
}
@media (min-width: 1024px) {
	.rfm-nav-links {
		flex-direction: row;
		gap: 28px;
		font-size: 15px;
		color: var(--ink2);
	}
}
.rfm-nav-links a {
	text-decoration: none;
	font-weight: 500;
	padding: 12px 0;
	display: block;
	transition: color .15s ease;
}
.rfm-nav-links a:hover { color: var(--green-dark); }

.rfm-nav-cta {
	min-height: 48px;
	font-size: 15px;
	padding: 12px 22px;
	margin-top: 8px;
	width: 100%;
}
@media (min-width: 1024px) {
	.rfm-nav-cta {
		margin-top: 0;
		width: auto;
		padding: 12px 22px;
	}
}

.rfm-cohort-strip {
	background: var(--amber-soft);
	border-top: 1px solid var(--amber-line);
	padding: 10px 22px;
	text-align: center;
	font-size: 13px;
}

.rfm-cohort-pill {
	display: inline-flex; align-items: center; gap: 8px; padding: 4px 14px 4px 8px;
	background: transparent; border: none; color: var(--amber-ink);
	font-size: 13px; font-weight: 600; border-radius: 24px;
}
.rfm-cohort-pill strong { color: var(--amber-ink); font-weight: 800; }
.rfm-cohort-pill .rfm-dot {
	width: 8px; height: 8px; border-radius: 50%; background: var(--amber);
	animation: rfm-pulse 2.4s ease-in-out infinite;
}
@keyframes rfm-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

/* ─── Hero ─────────────────────────────────────────────────────────── */
.rfm-hero {
	padding: 40px 0 56px;
	border-bottom: 1px solid var(--line);
	background: var(--bg);
}
@media (min-width: 760px) { .rfm-hero { padding: 56px 0 72px; } }
@media (min-width: 1024px) { .rfm-hero { padding: 64px 0 88px; } }

.rfm-hero h1 {
	font-size: clamp(36px, 7vw, 60px);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.08;
	margin: 0 0 22px;
	max-width: 960px;
	color: var(--ink);
}

.rfm-hero-sub {
	font-size: clamp(19px, 2.4vw, 23px);
	color: var(--ink2);
	max-width: 760px;
	margin: 0 0 36px;
	line-height: 1.55;
	font-weight: 400;
}

.rfm-cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.rfm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 26px;
	border-radius: var(--r);
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	border: 1.5px solid transparent;
	cursor: pointer;
	transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
	letter-spacing: 0.005em;
	white-space: nowrap;
}
.rfm-btn:hover { transform: translateY(-1px); }

.rfm-btn-primary {
	background: var(--green);
	color: #fff;
	border-color: var(--green);
	box-shadow: var(--shadow-sm);
}
.rfm-btn-primary:hover {
	background: var(--green-dark);
	border-color: var(--green-dark);
	box-shadow: var(--shadow-md);
}
.rfm-btn-ghost {
	background: transparent;
	color: var(--ink);
	border: 1.5px solid var(--line2);
}
.rfm-btn-ghost:hover { border-color: var(--ink); background: var(--bg-soft); }

@media (max-width: 480px) {
	.rfm-cta-row { flex-direction: column; align-items: stretch; }
	.rfm-btn { width: 100%; }
}

/* ─── Section base ────────────────────────────────────────────────── */
.rfm-section {
	padding: 64px 0;
	border-bottom: 1px solid var(--line);
}
@media (min-width: 760px) { .rfm-section { padding: 80px 0; } }
@media (min-width: 1024px) { .rfm-section { padding: 96px 0; } }

.rfm-section.rfm-no-line { border-bottom: none; }
.rfm-section.rfm-soft { background: var(--bg-soft); }

.rfm-eyebrow {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 700;
	color: var(--green);
	margin: 0 0 16px;
}

.rfm-section-title {
	font-size: clamp(28px, 4.5vw, 42px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.18;
	margin: 0 0 20px;
	max-width: 800px;
	color: var(--ink);
}

.rfm-section-sub {
	font-size: clamp(17px, 2vw, 19px);
	color: var(--ink2);
	max-width: 720px;
	margin: 0 0 36px;
	line-height: 1.6;
}

/* ─── Pain section / answer-first body type ───────────────────────── */
.rfm-pain-body {
	max-width: 740px;
	font-size: clamp(18px, 2vw, 20px);
	color: var(--ink2);
	line-height: 1.7;
}
.rfm-pain-body p { margin: 0 0 22px; }
.rfm-pain-body p:last-child { margin-bottom: 0; }
.rfm-pain-body strong.rfm-kicker {
	color: var(--ink);
	font-weight: 700;
}
.rfm-pain-body a {
	color: var(--green);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
	font-weight: 500;
}
.rfm-pain-body a:hover { color: var(--green-dark); }

/* ─── Product / board mock ────────────────────────────────────────── */
.rfm-product-grid { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: start; }
@media (min-width: 880px) { .rfm-product-grid { grid-template-columns: 1.1fr .9fr; gap: 56px; } }

.rfm-product-body { max-width: 580px; }
.rfm-product-body p {
	font-size: clamp(17px, 1.8vw, 18px);
	color: var(--ink2);
	margin: 0 0 20px;
	line-height: 1.65;
}
.rfm-deep-link {
	display: inline-block;
	margin-top: 12px;
	padding: 12px 0;
	font-weight: 700;
	font-size: 16px;
	color: var(--green);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color .2s ease, color .2s ease;
}
.rfm-deep-link:hover { border-bottom-color: var(--green); color: var(--green-dark); }

.rfm-board-mock {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 22px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-shadow: var(--shadow-md);
}
.rfm-board-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	background: var(--bg-soft);
	border-radius: 10px;
}
.rfm-board-thumb {
	width: 44px;
	height: 44px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--green), var(--green-dark));
	flex-shrink: 0;
}
.rfm-board-text { flex: 1; display: flex; flex-direction: column; gap: 7px; }
.rfm-board-line { height: 10px; background: var(--line2); border-radius: 5px; }
.rfm-board-line.short { width: 60%; }
.rfm-board-line.med { width: 85%; }
.rfm-board-pill {
	font-size: 11px;
	font-weight: 700;
	color: var(--green);
	background: var(--green-soft);
	padding: 4px 10px;
	border-radius: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.rfm-board-caption {
	font-size: 12px;
	color: var(--ink3);
	text-align: center;
	margin-top: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 600;
}

/* ─── Editable image slots (replace placeholders with real assets) ── */
.rfm-board-image {
	width: 100%;
	max-width: 480px;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-lg);
	background: var(--card);
	border: 1px solid var(--line);
}
@media (min-width: 880px) {
	.rfm-board-image {
		max-width: 100%;
	}
}

.rfm-lifestyle-image {
	width: 100%;
	max-width: 1100px;
	height: auto;
	display: block;
	margin: 44px auto 0;
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-md);
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* WP-block-image instances inherit the same vibe by default */
.wp-block-image img {
	border-radius: var(--r);
	box-shadow: var(--shadow-sm);
}
.entry-content .wp-block-image {
	margin: 32px 0;
}

/* ─── Three columns / features ────────────────────────────────────── */
.rfm-three-col {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}
@media (min-width: 680px) { .rfm-three-col { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; } }

.rfm-feature {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r);
	padding: 32px 28px;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rfm-feature:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--line2);
}
.rfm-feature h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
	letter-spacing: -0.015em;
	color: var(--ink);
	line-height: 1.3;
}
.rfm-feature p {
	margin: 0;
	color: var(--ink2);
	font-size: 17px;
	line-height: 1.6;
}

/* ─── Blog post cards: featured image accepts any aspect ratio ───── */
/* Portrait, landscape, square, panoramic, all render naturally inside .rfm-feature.
   No forced aspect-ratio. Image fills width, height is auto.
   v1.4.0 fix: the negative-margin bleed now lives on the figure wrapper, not
   the inner img. `width: 100%` on the img was resolving against the wrapper's
   content box (~267px inside a 324px card), so even with -26px side margins
   the image stayed ~54px short of the card's right edge. Wrapper now spans
   the full card width via `width: calc(100% + 52px)`, and the image fills
   the wrapper at 100%. */
.rfm-feature .wp-block-post-featured-image {
	margin: -28px -26px 16px;          /* edges of the card */
	width: calc(100% + 52px);          /* reclaim the 26px each side the margin pulls into */
	overflow: hidden;
	border-radius: var(--r);
}
.rfm-feature img,
.rfm-feature .wp-block-post-featured-image img,
.rfm-feature .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;                          /* reset — the wrapper owns the bleed now */
	border-radius: 0;                   /* radius now lives on the wrapper */
	object-fit: cover;
	max-height: 360px;                  /* prevents extremely tall portraits from dominating; gracefully crops */
}
.rfm-feature .wp-block-post-title {
	margin: 0 0 8px;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.3;
}
.rfm-feature .wp-block-post-title a {
	color: var(--ink);
	text-decoration: none;
}
.rfm-feature .wp-block-post-title a:hover {
	color: var(--green-dark);
}
.rfm-feature .wp-block-post-excerpt {
	margin: 0 0 12px;
	color: var(--ink2);
	font-size: 16px;
	line-height: 1.55;
}
.rfm-feature .wp-block-post-excerpt__more-link {
	color: var(--green);
	font-weight: 600;
	text-decoration: none;
}
.rfm-feature .wp-block-post-date {
	color: var(--ink3);
	font-size: 13px;
	font-weight: 500;
	margin: 0;
}
.rfm-feature .wp-block-post-date time {
	color: inherit;
}

/* Pagination on archive/blog index */
.wp-block-query-pagination {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.wp-block-query-pagination a {
	color: var(--ink2);
	font-weight: 600;
	text-decoration: none;
}
.wp-block-query-pagination a:hover { color: var(--green-dark); }
.wp-block-query-pagination-numbers .page-numbers.current {
	color: var(--green-dark);
	font-weight: 800;
}

/* ─── How it works — steps ────────────────────────────────────────── */
.rfm-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	counter-reset: rfmstep;
	margin-top: 12px;
}
@media (min-width: 760px) { .rfm-steps { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; } }

.rfm-step {
	padding: 36px 28px 28px;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--r);
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease;
}
.rfm-step:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.rfm-step::before {
	counter-increment: rfmstep;
	content: counter(rfmstep);
	position: absolute;
	top: -18px;
	left: 24px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--green);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 16px;
	box-shadow: 0 4px 8px rgba(22, 163, 74, 0.25);
}
.rfm-step h3 {
	font-size: 19px;
	font-weight: 700;
	margin: 8px 0 12px;
	letter-spacing: -0.01em;
	color: var(--ink);
	line-height: 1.3;
}
.rfm-step p {
	margin: 0;
	color: var(--ink2);
	font-size: 17px;
	line-height: 1.65;
}

.rfm-step-after,
.rfm-fit-after {
	display: inline-block;
	text-align: center;
	margin-top: 36px;
	padding: 14px 16px;
	font-weight: 700;
	font-size: 16px;
	color: var(--green);
	text-decoration: none;
	border-radius: var(--r);
	transition: background .2s ease, color .2s ease;
}
.rfm-step-after { display: block; }
.rfm-fit-after { display: block; }
.rfm-step-after:hover,
.rfm-fit-after:hover {
	background: var(--green-soft);
	color: var(--green-dark);
}

/* ─── Fit filter ──────────────────────────────────────────────────── */
.rfm-fit-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 760px) { .rfm-fit-grid { grid-template-columns: 1fr 1fr; gap: 28px; } }

.rfm-fit-col {
	padding: 32px 28px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--card);
	box-shadow: var(--shadow-sm);
}
.rfm-fit-col.rfm-yes { border-top: 4px solid var(--green); }
.rfm-fit-col.rfm-no { border-top: 4px solid var(--ink4); }
.rfm-fit-col h3 {
	margin: 0 0 18px;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.rfm-fit-col ul { margin: 0; padding: 0; list-style: none; }
.rfm-fit-col li {
	position: relative;
	padding: 0 0 16px 26px;
	color: var(--ink2);
	font-size: 17px;
	line-height: 1.6;
}
.rfm-fit-col li:last-child { padding-bottom: 0; }
.rfm-fit-col.rfm-yes li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 11px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--green);
}
.rfm-fit-col.rfm-no li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 11px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ink4);
}

/* ─── Pricing teaser ──────────────────────────────────────────────── */
.rfm-pricing {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-bottom: 28px;
}
@media (min-width: 760px) { .rfm-pricing { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; } }

.rfm-tier {
	padding: 32px 28px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--card);
	display: flex;
	flex-direction: column;
	box-shadow: var(--shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}
.rfm-tier:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }

.rfm-tier.rfm-featured {
	border-color: var(--green);
	border-width: 2px;
	position: relative;
	box-shadow: var(--shadow-md);
}
@media (min-width: 760px) {
	.rfm-tier.rfm-featured { transform: translateY(-4px); }
	.rfm-tier.rfm-featured:hover { transform: translateY(-6px); }
}
.rfm-tier.rfm-featured::before {
	content: "Most popular";
	position: absolute;
	top: -14px;
	left: 24px;
	background: var(--green);
	color: #fff;
	padding: 5px 12px;
	border-radius: 14px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	box-shadow: 0 4px 8px rgba(22, 163, 74, 0.25);
}
.rfm-tier h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--ink);
	letter-spacing: -0.01em;
}
.rfm-tier .rfm-price {
	font-size: 38px;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 6px;
	color: var(--ink);
	line-height: 1.1;
}
.rfm-tier .rfm-price span {
	font-size: 16px;
	color: var(--ink3);
	font-weight: 500;
}
.rfm-tier .rfm-desc {
	font-size: 15px;
	color: var(--ink2);
	margin: 0 0 18px;
	line-height: 1.55;
}
.rfm-tier ul {
	margin: 0;
	padding-left: 22px;
	font-size: 16px;
	color: var(--ink2);
	flex: 1;
	line-height: 1.55;
}
.rfm-tier li { margin-bottom: 10px; }
.rfm-tier li::marker { color: var(--green); }

.rfm-pricing-foot {
	text-align: center;
	color: var(--ink3);
	font-size: 15px;
	margin: 28px 0 0;
	line-height: 1.6;
}
.rfm-pricing-foot a {
	color: var(--green);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color .2s ease;
}
.rfm-pricing-foot a:hover { border-bottom-color: var(--green); }

/* ─── Founding member callout ─────────────────────────────────────── */
.rfm-founding {
	background: linear-gradient(180deg, var(--amber-soft), #FEF3C7);
	border: 1px solid var(--amber-line);
	border-radius: var(--r-lg);
	padding: 28px 24px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: center;
	box-shadow: 0 8px 24px -8px rgba(245, 158, 11, 0.18);
}
@media (min-width: 760px) {
	.rfm-founding {
		padding: 44px 40px;
		grid-template-columns: 1.4fr .6fr;
		gap: 40px;
	}
}

.rfm-founding h3 {
	margin: 0 0 12px;
	font-size: clamp(22px, 3vw, 26px);
	font-weight: 800;
	color: var(--amber-ink);
	letter-spacing: -0.015em;
	line-height: 1.25;
}
.rfm-founding p {
	margin: 0 0 20px;
	color: var(--amber-ink2);
	font-size: 16px;
	max-width: 580px;
	line-height: 1.65;
}
.rfm-counter {
	font-size: clamp(48px, 8vw, 64px);
	font-weight: 800;
	color: var(--amber-ink);
	letter-spacing: -0.025em;
	line-height: 1;
	text-align: center;
}
/* Number spans stay INLINE at parent's big font so "14 / 20" sits on one line */
.rfm-counter > span[data-cohort-remaining],
.rfm-counter > span[data-cohort-total] {
	display: inline;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: none;
	margin: 0;
}
/* The label span ("spots remaining") is BLOCK + small */
.rfm-counter > span:not([data-cohort-remaining]):not([data-cohort-total]) {
	font-size: 13px;
	font-weight: 700;
	color: #A16207;
	display: block;
	margin-top: 8px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.rfm-founding-trust {
	font-size: 15px;
	color: var(--ink3);
	max-width: 720px;
	margin: 22px auto 0;
	text-align: center;
	line-height: 1.65;
}

/* ─── FAQ ─────────────────────────────────────────────────────────── */
.rfm-faq {
	max-width: 800px;
	margin: 8px auto 0;
}
.rfm-faq details {
	border-bottom: 1px solid var(--line);
	padding: 22px 0;
}
.rfm-faq details:first-of-type { border-top: 1px solid var(--line); }
.rfm-faq summary {
	font-weight: 700;
	font-size: clamp(18px, 2vw, 19px);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
	padding: 4px 0;
	color: var(--ink);
	line-height: 1.4;
}
.rfm-faq summary::-webkit-details-marker { display: none; }
.rfm-faq summary::after {
	content: "+";
	font-weight: 300;
	font-size: 28px;
	color: var(--ink3);
	transition: transform .25s ease, color .25s ease;
	flex-shrink: 0;
	width: 28px;
	text-align: center;
}
.rfm-faq details[open] summary::after { transform: rotate(45deg); color: var(--green); }
.rfm-faq details p {
	color: var(--ink2);
	font-size: 17px;
	margin: 16px 0 0;
	line-height: 1.7;
	padding-right: 40px;
}
.rfm-faq summary:hover { color: var(--green-dark); }

/* ─── Closing CTA ─────────────────────────────────────────────────── */
.rfm-closing {
	padding: 64px 0 80px;
	text-align: center;
	border-bottom: 1px solid var(--line);
	background: var(--bg-soft);
}
@media (min-width: 760px) { .rfm-closing { padding: 96px 0; } }

.rfm-closing h2 {
	font-size: clamp(28px, 3.5vw, 38px);
	font-weight: 800;
	margin: 0 0 18px;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--ink);
}
.rfm-closing p {
	color: var(--ink2);
	font-size: clamp(17px, 2vw, 19px);
	max-width: 760px; /* v1.4.5 — bumped from 600px so long-form closing paragraphs match the hero sub width (.rfm-hero-sub also at 760px). Fixes asymmetric narrow-p sandwiched between full-width H2 and CTA row. */
	margin: 0 auto 32px;
	line-height: 1.6;
}
.rfm-closing .rfm-cta-row { justify-content: center; }

/* ─── Footer ──────────────────────────────────────────────────────── */
.rfm-site-footer,
.rfm-footer {
	padding: 56px 0 48px;
	font-size: 15px;
	color: var(--ink2);
	background: var(--bg);
	border-top: 1px solid var(--line);
}
@media (min-width: 760px) { .rfm-site-footer { padding: 72px 0 56px; } }

.rfm-foot-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	margin-bottom: 32px;
}
@media (min-width: 760px) {
	.rfm-foot-grid {
		grid-template-columns: 2fr 1fr 1.4fr;
		gap: 48px;
	}
}

.rfm-foot-brand .rfm-brand { font-size: 19px; margin: 0 0 12px; }
.rfm-foot-brand p {
	margin: 8px 0 0;
	line-height: 1.6;
	max-width: 380px;
	color: var(--ink2);
	font-size: 15px;
}

.rfm-foot-heading {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--ink3);
	margin: 0 0 14px;
}

.rfm-foot-col p {
	margin: 0 0 12px;
	line-height: 1.55;
	color: var(--ink2);
	font-size: 15px;
}
.rfm-foot-col p a { color: var(--green); text-decoration: none; font-weight: 600; }
.rfm-foot-col p a:hover { text-decoration: underline; }

.rfm-foot-nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.rfm-foot-nav.rfm-foot-nav-small { margin-top: 16px; flex-direction: row; gap: 18px; }
.rfm-foot-nav a {
	text-decoration: none;
	color: var(--ink2);
	padding: 6px 0;
	font-weight: 500;
	font-size: 15px;
	display: inline-block;
	transition: color .15s ease;
}
.rfm-foot-nav.rfm-foot-nav-small a { font-size: 14px; }
.rfm-foot-nav a:hover { color: var(--green-dark); }

.rfm-foot-kicker {
	margin: 28px 0 0;
	font-style: italic;
	color: var(--ink2);
	font-size: 15px;
	text-align: center;
	border-top: 1px solid var(--line);
	padding-top: 28px;
	line-height: 1.6;
}

.rfm-foot-copy {
	margin: 14px 0 0;
	color: var(--ink3);
	font-size: 13px;
	text-align: center;
}

/* ─── Full-width sections on the front-end ────────────────────────── */
.rfm-hero,
.rfm-section,
.rfm-closing,
.rfm-footer {
	width: 100%;
	max-width: 100%;
}
.alignfull.rfm-hero,
.alignfull.rfm-section,
.alignfull.rfm-closing { margin-left: 0; margin-right: 0; }

/* ─── Default <h2>, <h3> in unrecognized blocks (smart-friend fallback) ── */
.entry-content h2:not([class*="rfm-"]):not(.wp-block-heading) {
	font-size: clamp(26px, 3.5vw, 36px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 56px 0 16px;
	color: var(--ink);
}
.entry-content h3:not([class*="rfm-"]):not(.wp-block-heading) {
	font-size: clamp(20px, 2.4vw, 24px);
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.3;
	margin: 36px 0 12px;
	color: var(--ink);
}
.entry-content p:not([class*="rfm-"]) {
	font-size: 18px;
	line-height: 1.65;
	color: var(--ink2);
	margin: 0 0 18px;
}

/* ─── WP admin / editor adjustments ──────────────────────────────── */
.editor-styles-wrapper { background: var(--bg); }
.editor-styles-wrapper .rfm-section,
.editor-styles-wrapper .rfm-hero,
.editor-styles-wrapper .rfm-closing { width: 100%; max-width: 100%; }


/* ─── Reduced motion ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ─── Print ───────────────────────────────────────────────────────── */
@media print {
	.rfm-cta-row, .rfm-btn, .rfm-cohort-pill, .rfm-cohort-strip { display: none; }
	body { background: #fff; color: #000; font-size: 12pt; }
	.rfm-section { padding: 24px 0; border-bottom: 1px solid #ccc; }
}

/* ============================================================
 * v1.2.0 — Video-first patterns + perf
 * ============================================================ */

/* --- Eyebrow / shared accent --------------------------------- */
.rfm-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green, #D7263D);
	margin-bottom: 0.5rem;
}

/* --- Video Hero (fullbleed) ---------------------------------- */
.rfm-video-hero--fullbleed {
	position: relative;
	overflow: hidden;
	min-height: 80vh;
	background: var(--wp--preset--color--ink, #0A0A0A);
}
.rfm-video-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
.rfm-video-hero__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.rfm-video-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(0,0,0,0.55) 0%,
		rgba(0,0,0,0.35) 50%,
		rgba(0,0,0,0.65) 100%
	);
	pointer-events: none;
}
.rfm-video-hero__content {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
}
.rfm-video-hero__headline {
	margin: 0;
	color: var(--wp--preset--color--bg, #FAFAF7);
}
.rfm-video-hero__subhead {
	max-width: 60ch;
	color: rgba(255,255,255,0.85);
}

/* --- Featured Reel ------------------------------------------- */
.rfm-featured-reel__player {
	margin: 0;
	border-radius: 2px;
	overflow: hidden;
	background: var(--wp--preset--color--ink, #0A0A0A);
	aspect-ratio: 16 / 9;
	width: 100%;
}
.rfm-featured-reel__player video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.rfm-featured-reel__caption {
	font-size: 14px;
	color: var(--wp--preset--color--ink-3, #5A5A5A);
	margin-top: 0.75rem;
}
.rfm-meta-label {
	margin-bottom: 0.25rem;
}

/* --- Testimonial Strip Video --------------------------------- */
.rfm-testimonial-strip__cards {
	gap: 2rem;
}
.rfm-testimonial-card__player {
	margin: 0;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 2px;
	background: var(--wp--preset--color--ink, #0A0A0A);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rfm-testimonial-card__player:hover {
	transform: scale(1.015);
	box-shadow: 0 14px 32px rgba(0,0,0,0.18);
}
.rfm-testimonial-card__player video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* --- NAP Block ---------------------------------------------- */
.rfm-nap-block .rfm-nap-block,
.rfm-nap.rfm-nap-block {
	font-style: normal;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 16px;
	line-height: 1.5;
}
.rfm-nap-name {
	font-weight: 700;
	font-size: 18px;
}
.rfm-nap-phone {
	color: var(--wp--preset--color--green, #D7263D);
	text-decoration: none;
	font-weight: 600;
	margin-top: 0.25rem;
}
.rfm-nap-phone:hover { text-decoration: underline; }
.rfm-nap-inline {
	font-size: 14px;
	color: var(--wp--preset--color--ink-3, #5A5A5A);
}

/* --- FAQ Accordion (native <details>) ------------------------ */
.rfm-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.rfm-faq-item {
	border-top: 1px solid var(--wp--preset--color--line, #E5E5E5);
	padding: 1.25rem 0;
}
.rfm-faq-item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line, #E5E5E5);
}
.rfm-faq-item summary {
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	color: var(--wp--preset--color--ink, #0A0A0A);
}
.rfm-faq-item summary::-webkit-details-marker { display: none; }
.rfm-faq-item summary::after {
	content: '+';
	font-size: 24px;
	font-weight: 400;
	color: var(--wp--preset--color--green, #D7263D);
	line-height: 1;
	transition: transform 0.18s ease;
	flex: 0 0 auto;
}
.rfm-faq-item[open] summary::after {
	transform: rotate(45deg);
}
.rfm-faq-answer {
	padding-top: 0.75rem;
	font-size: 16px;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-2, #1F1F1F);
	max-width: 70ch;
}
.rfm-faq-answer p { margin: 0 0 0.5rem; }

/* --- Perf: font-display swap on any registered font ---------- */
@font-face {
	font-display: swap;
}

/* --- Reduce motion respect ----------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.rfm-video-hero__video {
		display: none;
	}
	.rfm-video-hero--fullbleed {
		background-image: var(--rfm-hero-poster, none);
		background-size: cover;
		background-position: center;
	}
	.rfm-testimonial-card__player {
		transition: none;
	}
	.rfm-testimonial-card__player:hover {
		transform: none;
	}
}

/* --- Mobile tuning ------------------------------------------- */
@media (max-width: 768px) {
	.rfm-video-hero--fullbleed { min-height: 70vh; }
	.rfm-testimonial-strip__cards { gap: 1.5rem; }
	.rfm-faq-item summary { font-size: 16px; }
}

/* ============================================================
 * v1.2.1 — Placeholder system + 4 additional patterns
 * ============================================================ */

/* --- Image checkerboard placeholder (parent-level) ----------- */
.rfm-img-placeholder {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background-color: #f5f5f5;
	background-image:
		linear-gradient(45deg, #d8d8d8 25%, transparent 25%),
		linear-gradient(-45deg, #d8d8d8 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #d8d8d8 75%),
		linear-gradient(-45deg, transparent 75%, #d8d8d8 75%);
	background-size: 28px 28px;
	background-position: 0 0, 0 14px, 14px -14px, -14px 0px;
	border: 2px dashed #b0b0b0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #5a5a5a;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	overflow: hidden;
}
.rfm-img-placeholder::before {
	content: 'IMAGE PLACEHOLDER';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255,255,255,0.95);
	padding: 0.5rem 1rem;
	border: 1px solid #b0b0b0;
}
.rfm-img-placeholder[data-spec]::after {
	content: 'REPLACE: ' attr(data-spec);
	position: absolute;
	bottom: 8px;
	left: 8px;
	right: 8px;
	background: rgba(0,0,0,0.7);
	color: #fff;
	padding: 0.4rem 0.6rem;
	font-size: 11px;
	letter-spacing: 0.02em;
	text-transform: none;
	border-radius: 2px;
	text-align: center;
}
.rfm-img-placeholder--square    { aspect-ratio: 1 / 1; }
.rfm-img-placeholder--portrait  { aspect-ratio: 4 / 5; }
.rfm-img-placeholder--ultrawide { aspect-ratio: 21 / 9; }

/* --- Video embed placeholder (parent-level) ----------------- */
.rfm-video-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #0A0A0A;
	border-radius: 2px;
	overflow: hidden;
}
.rfm-video-embed iframe,
.rfm-video-embed video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.rfm-video-embed--placeholder {
	background-color: #1a1a1a;
	background-image:
		linear-gradient(45deg, #2a2a2a 25%, transparent 25%),
		linear-gradient(-45deg, #2a2a2a 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #2a2a2a 75%),
		linear-gradient(-45deg, transparent 75%, #2a2a2a 75%);
	background-size: 36px 36px;
	background-position: 0 0, 0 18px, 18px -18px, -18px 0px;
	border: 2px dashed #5a5a5a;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rfm-video-embed--placeholder::before {
	content: '\25B6';
	font-size: 64px;
	color: var(--wp--preset--color--green, #D7263D);
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: rgba(0,0,0,0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid var(--wp--preset--color--green, #D7263D);
}
.rfm-video-embed--placeholder[data-spec]::after {
	content: 'VIDEO PLACEHOLDER — ' attr(data-spec);
	position: absolute;
	bottom: 12px;
	left: 12px;
	right: 12px;
	background: rgba(215,38,61,0.95);
	color: #fff;
	padding: 0.5rem 0.75rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: center;
	border-radius: 2px;
}

/* --- Reel Grid ---------------------------------------------- */
.rfm-reel-grid__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}
.rfm-reel-grid__card {
	display: flex;
	flex-direction: column;
}
.rfm-reel-grid__caption {
	font-size: 14px;
	color: var(--wp--preset--color--ink-3, #5A5A5A);
	margin-top: 0.5rem;
}

/* --- Industry Showcase -------------------------------------- */
.rfm-industry-showcase__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}
.rfm-industry-showcase__card {
	background: var(--wp--preset--color--card, #FFFFFF);
	border: 1px solid var(--wp--preset--color--line, #E5E5E5);
	padding: 1.75rem 1.25rem;
	text-align: center;
	border-radius: 2px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rfm-industry-showcase__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0,0,0,0.18);
}
.rfm-industry-showcase__industry {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green, #D7263D);
	margin: 1rem 0 0.4rem;
}
.rfm-industry-showcase__client {
	font-size: 17px;
	font-weight: 700;
	margin: 0;
}

/* --- Sticky CTA Bar (mobile only) --------------------------- */
.rfm-sticky-cta { display: contents; }
.rfm-sticky-cta__bar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--wp--preset--color--ink, #0A0A0A);
	padding: 0.75rem;
	gap: 0.5rem;
	z-index: 998;
	box-shadow: 0 -4px 24px rgba(0,0,0,0.3);
}
.rfm-sticky-cta__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 0.5rem;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
	border: 2px solid var(--wp--preset--color--bg, #FAFAF7);
	color: var(--wp--preset--color--bg, #FAFAF7);
	background: transparent;
}
.rfm-sticky-cta__btn--primary {
	background: var(--wp--preset--color--green, #D7263D);
	border-color: var(--wp--preset--color--green, #D7263D);
}
@media (max-width: 768px) {
	.rfm-sticky-cta__bar { display: flex; }
	body { padding-bottom: 4.5rem; } /* reserve space for sticky bar */
}



/* ============================================================
 * v1.2.2 — Single-post body baseline (Wesley audit, 2026-05-09)
 * ============================================================
 * Proactive baseline so children in the SaaS / content-agency lane
 * (ReallyForMe, future RFM rollouts) don't have to fight the parent
 * for blog body content width and alignment. Same baseline as
 * rfm-theme-creative v1.0.3.
 *
 * Scope: body.single-post .wp-block-post-content
 * Excludes: alignfull blocks (dark hero, dark CTA, featured image banner)
 * ============================================================ */

body.single-post .wp-block-post-content > .wp-block-group:not(.alignfull) {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

body.single-post .wp-block-post-content p,
body.single-post .wp-block-post-content h1,
body.single-post .wp-block-post-content h2,
body.single-post .wp-block-post-content h3,
body.single-post .wp-block-post-content h4,
body.single-post .wp-block-post-content h5,
body.single-post .wp-block-post-content h6,
body.single-post .wp-block-post-content ul,
body.single-post .wp-block-post-content ol,
body.single-post .wp-block-post-content li,
body.single-post .wp-block-post-content blockquote,
body.single-post .wp-block-post-content figcaption {
	text-align: left;
	max-width: 100%;
}

body.single-post .wp-block-post-content .alignfull.has-ink-background-color,
body.single-post .wp-block-post-content .alignfull.has-ink-background-color * {
	text-align: center;
}

body.single-post .wp-block-post-content .has-text-align-center,
body.single-post .wp-block-post-content [style*="text-align:center"],
body.single-post .wp-block-post-content [style*="text-align: center"] {
	text-align: center;
}

body.single-post .wp-block-post-content .rfm-eyebrow {
	text-align: center;
}

body.single-post .wp-block-post-content ul,
body.single-post .wp-block-post-content ol {
	padding-left: 1.5rem;
}
body.single-post .wp-block-post-content li {
	margin-bottom: 0.5rem;
	line-height: 1.7;
}

@media (max-width: 1020px) {
	body.single-post .wp-block-post-content > .wp-block-group:not(.alignfull) {
		padding-left: 24px;
		padding-right: 24px;
	}
}


/* ============================================================
 * v1.2.3 — Section component exceptions to v1.2.2 baseline
 * ============================================================
 * Same fix as rfm-theme-creative v1.0.4. Section components (rfm-*)
 * inside single-post body content keep their parent design (alignwide
 * width + centered headings) instead of being treated as body prose.
 * ============================================================ */

body.single-post .wp-block-post-content > .wp-block-group[class*="rfm-"] {
	max-width: 1160px !important;
}

body.single-post .wp-block-post-content [class*="rfm-faq-accordion"] h2,
body.single-post .wp-block-post-content [class*="rfm-faq-accordion"] h3,
body.single-post .wp-block-post-content [class*="rfm-testimonial-strip"] h2,
body.single-post .wp-block-post-content [class*="rfm-testimonial-strip"] h3,
body.single-post .wp-block-post-content [class*="rfm-industry-showcase"] h2,
body.single-post .wp-block-post-content [class*="rfm-industry-showcase"] h3,
body.single-post .wp-block-post-content [class*="rfm-process-strip"] h2,
body.single-post .wp-block-post-content [class*="rfm-process-strip"] h3,
body.single-post .wp-block-post-content [class*="rfm-cohort-strip"] h2,
body.single-post .wp-block-post-content [class*="rfm-pricing"] h2 {
	text-align: center !important;
	max-width: 100% !important;
}



/* ============================================================
 * v1.4.0 — Spacing pass (Wesley brief, 2026-05-12)
 * ============================================================
 * Four targeted fixes against Eddie's live review:
 *
 *  1) On single posts, the cover hero IS the masthead. The 96px
 *     padding-top on `.rfm-section` left a 96px dead zone between the
 *     site header and the hero. Reduce to a minimum on body.single-post.
 *
 *  2) The cover-to-body gap was 0px because the cover and the following
 *     body group sit flush. Add a clamped top margin to wp-block-group
 *     that directly follows an alignfull cover.
 *
 *  3) The cohort strip moved to the TOP of the header (parts/header.html).
 *     The strip needs `border-bottom` instead of `border-top` so the
 *     visual divider sits between strip and nav.
 *
 *  4) Blog-card featured-image bleed — see the in-place edit at the
 *     `.rfm-feature .wp-block-post-featured-image` rule above (around
 *     line 525). Wrapper now spans full card width via
 *     `width: calc(100% + 52px)`, image fills wrapper at 100%.
 * ============================================================ */

/* 1) Single-post: collapse the section padding-top — the hero owns the
   masthead space via its own internal padding. */
body.single-post .rfm-section {
	padding-top: clamp(16px, 2vw, 32px);
}

/* 2) Add comfortable breathing room between an alignfull cover and the
   body group that follows it. Belt-and-suspenders alongside the v2.0
   post-HTML body groups that bake in their own top padding — this also
   covers any future post imported without inline padding. */
body.single-post .wp-block-post-content > .wp-block-cover.alignfull + .wp-block-group {
	margin-top: clamp(2rem, 4vw, 4rem);
}

/* 3) Cohort strip — top-of-header treatment. The strip is now the FIRST
   child of .rfm-site-header (was last). Flip the divider direction so
   the line sits between strip and nav. */
.rfm-cohort-strip--top {
	border-top: none;
	border-bottom: 1px solid var(--amber-line);
	padding: 8px 22px;
}


/* 5) Card-lift fix — zero out WordPress's block-flow top margin on direct
   children of RFM grid containers. Root cause: WP core ships
   `:root :where(.is-layout-flow) > * { margin-block: 24px 0px }` paired
   with `:first-child { margin-block-start: 0 }`. Perfect for stacked
   block-flow content. Wrong for CSS grid containers because grid `gap`
   already handles spacing — the rule still fires and pushes cards 2/3
   down 24px while card 1 sits at the top, making card 1 look "lifted."
   This zeros margin-block on all direct children of named RFM grids.
   Grid gap continues to do the actual spacing. */
.rfm-three-col > *,
.rfm-pricing > *,
.rfm-fit-grid > *,
.rfm-foot-grid > *,
.rfm-founding > *,
.rfm-industry-showcase__cards > *,
.rfm-reel-grid__cards > *,
.rfm-steps > * {
	margin-block: 0;
}


/* ============================================================
 * v1.4.1 — Top-of-page white-bar fix (2026-05-12)
 * ============================================================
 * Eddie spotted a 24px dead-space bar between the sticky header and
 * the first content section on /blog/ and elsewhere. Same root cause
 * as v1.4.0 Issue 5 (card-lift), one level higher: `.wp-site-blocks`
 * is the page-level `.is-layout-flow` container, so WP core's
 *   :where(.is-layout-flow) > * { margin-block: 24px 0; }
 * applies to its children. The header is :first-child (gets 0), every
 * subsequent section gets 24px top margin. That's the bar.
 *
 * Fix: zero margin-block on direct children of .wp-site-blocks. The
 * sections (`.rfm-hero`, `.rfm-section`, etc.) already have their own
 * vertical padding for rhythm — no sibling margin needed.
 * ============================================================ */
.wp-site-blocks > * {
	margin-block: 0;
}

/* ============================================================
 * v1.4.2 — Modern editorial hero proportions (Willy + Wesley, 2026-05-12)
 * ============================================================
 * Eddie observed the single-post cover hero rendering ~1825px tall and
 * called for proportions that feel modern and tasteful — closer to the
 * editorial heroes used by Stripe, Vercel, Substack, NYT Cooking, Linear.
 *
 * The recipe for that feel:
 *   - Generous-but-bounded vertical padding (not cramped, not bloated)
 *   - Asymmetric padding (slightly less below than above — invites the
 *     eye downward into the body)
 *   - Viewport-relative max-height instead of a fixed pixel cap, so the
 *     hero adapts to laptops and tall portrait monitors alike
 *   - Title set just below display-size with editorial letter-spacing
 *     and tight line-height
 *   - Lede constrained to a comfortable measure (max-width ~720px)
 *   - Inner content bounded so on ultra-wide displays the text doesn't
 *     stretch edge to edge (amateur tell)
 *
 * Scope: body.single-post covers only. Pages and homepage hero
 * unchanged. Retroactive across all v2.0 posts; future posts inherit.
 * ============================================================ */

/* Flush against the header — Eddie wants 0 breathing room above hero */
body.single-post .rfm-section {
	padding-top: 0;
}

/* Cover hero — desktop proportions */
body.single-post .wp-block-post-content > .wp-block-cover.alignfull {
	padding-top:    clamp(3rem, 6vh, 5rem) !important;
	padding-bottom: clamp(2.5rem, 5vh, 4rem) !important;
	min-height: 360px !important;
	max-height: 60vh;
}

/* Cover hero — mobile proportions */
@media (max-width: 759px) {
	body.single-post .wp-block-post-content > .wp-block-cover.alignfull {
		padding-top:    clamp(2.25rem, 5vh, 3.5rem) !important;
		padding-bottom: clamp(2rem, 4.5vh, 3rem) !important;
		min-height: 300px !important;
		max-height: 70vh;
	}
}

/* Inner container — bound text width on ultra-wide displays */
body.single-post .wp-block-post-content > .wp-block-cover.alignfull > .wp-block-cover__inner-container {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

/* H1 — display-near, editorial letter-spacing, tight line-height */
body.single-post .wp-block-post-content > .wp-block-cover.alignfull h1 {
	font-size: clamp(36px, 5.5vw, 60px) !important;
	line-height: 1.08;
	letter-spacing: -0.02em;
	margin: 0 0 clamp(0.75rem, 2vh, 1.5rem);
	max-width: 880px;
}

/* Mobile H1 — slightly larger relative scaling for impact on narrow screens */
@media (max-width: 759px) {
	body.single-post .wp-block-post-content > .wp-block-cover.alignfull h1 {
		font-size: clamp(28px, 7.5vw, 38px) !important;
		line-height: 1.12;
	}
}

/* Lede paragraph — comfortable editorial measure */
body.single-post .wp-block-post-content > .wp-block-cover.alignfull .lead,
body.single-post .wp-block-post-content > .wp-block-cover.alignfull p.has-xl-font-size {
	font-size: clamp(18px, 1.8vw, 22px) !important;
	line-height: 1.45;
	letter-spacing: -0.003em;
	max-width: 720px;
	margin-top: 0;
}

@media (max-width: 759px) {
	body.single-post .wp-block-post-content > .wp-block-cover.alignfull .lead,
	body.single-post .wp-block-post-content > .wp-block-cover.alignfull p.has-xl-font-size {
		font-size: clamp(16px, 4.2vw, 18px) !important;
		line-height: 1.5;
	}
}


/* ============================================================
 * v1.4.3 — Dark CTA button alignment (2026-05-12)
 * ============================================================
 * The bottom "See the board." CTA card on single posts has its
 * heading and paragraph visually centered (via text-align), but
 * `wp:buttons` is a flex container — it doesn't inherit text-align.
 * Result: heading + paragraph centered, button left-aligned. Looks
 * off.
 *
 * Fix: explicitly center the buttons block inside any dark
 * (`has-ink-background-color`) group on single-post pages. Also
 * center any inline button-row pattern that lives in body content.
 * ============================================================ */

body.single-post .wp-block-post-content .wp-block-group.has-ink-background-color .wp-block-buttons,
body.single-post .wp-block-post-content .wp-block-group.has-background .wp-block-buttons {
	justify-content: center;
}

/* Also: in the rare case the buttons row uses default block layout
   rather than flex, give the inner button the same centered treatment
   so the visual outcome is the same. */
body.single-post .wp-block-post-content .wp-block-group.has-ink-background-color .wp-block-buttons.is-layout-flex,
body.single-post .wp-block-post-content .wp-block-group.has-background .wp-block-buttons.is-layout-flex {
	justify-content: center;
}

/* ============================================================
 * v1.4.5 — Closing paragraph width (2026-05-17)
 * ============================================================
 * .rfm-closing p was constrained to max-width: 600px since v1.0.
 * That worked when closing paragraphs were one short sentence
 * ("$749. Ten pieces in fourteen days."). But for long-form
 * conviction or wrap-up paragraphs, 600px sandwiched between a
 * full-width H2 (1020px in default 1100px wrap) and a full-width
 * CTA row looked pinched.
 *
 * Bumped to 760px so it matches .rfm-hero-sub (also 760px), giving
 * long-form prose room to breathe without going so wide that line
 * length becomes hard to read. Visual consistency between hero and
 * closing.
 * ============================================================ */

/* ============================================================
 * v1.4.6 — Inter-section margin fix (2026-05-17)
 * ============================================================
 * WordPress core ships :root :where(.is-layout-flow) > * { margin-block: 24px 0 }.
 * `.wp-block-post-content` (and `.entry-content`) are .is-layout-flow
 * containers by default in block themes. That means every direct
 * child <section> on every imported page inherits a 24px top
 * margin, ON TOP OF the section's own padding. The visible effect:
 * a 24px gray-ish "bar" between every section. Eddie called it
 * "looks like a rookie designed it." Correct take.
 *
 * Same root cause as v1.4.0 Issue 5 (card-lift inside grid containers)
 * and v1.4.1 (header-to-first-section gap inside .wp-site-blocks).
 * Those fixes targeted specific containers. This one targets the
 * post-content container, which is where every imported page's
 * sections actually live.
 *
 * Fix: zero margin-block on every direct child <section> of the
 * post-content container. The section's own padding handles
 * vertical rhythm; no inter-section margin needed. Selector is
 * specific enough (0,1,1) to beat WP core's (0,1,0) without
 * !important.
 *
 * Works regardless of section class — applies to .rfm-hero,
 * .rfm-section, .rfm-section.rfm-soft, .rfm-closing, .rfm-closing.rfm-no-line,
 * any future section variant, AND any non-RFM section a future
 * paste file might use.
 * ============================================================ */

.wp-block-post-content > section,
.entry-content > section {
	margin-block: 0;
}

/* Also catch any <div> wrappers that legacy paste files use in place
   of <section>. Same logic — zero block margin so the wrapper sits
   flush against its siblings. */
.wp-block-post-content > div.rfm-hero,
.wp-block-post-content > div.rfm-section,
.wp-block-post-content > div.rfm-closing,
.entry-content > div.rfm-hero,
.entry-content > div.rfm-section,
.entry-content > div.rfm-closing {
	margin-block: 0;
}

/* ============================================================
 * v1.4.7 — Typography balance + closing-h2 breathing + card icons (2026-05-17)
 * ============================================================
 *
 * THREE ADDITIONS:
 *
 * 1. text-wrap: balance on every heading. Modern CSS that lets
 *    the browser compute optimal line breaks so multi-line headings
 *    have balanced lines. Kills "widow" lines where a single short
 *    word orphans onto the last row. Example before: "...the free
 *    Brand Voice / Audit." (Audit alone). After: "...the free /
 *    Brand Voice Audit." (balanced). Well supported in every modern
 *    browser since 2024.
 *
 * 2. .rfm-closing h2 margin-bottom bumped from 18px to 28px. The
 *    18px felt visually tight between heading and paragraph. 28px
 *    matches the breathing room used in .rfm-section-title.
 *
 * 3. New .rfm-feature-icon class for top-of-card icons. 32px square,
 *    brand-green stroke by default, sits above the h3 in any rfm-feature,
 *    rfm-tier, or rfm-step card. Designed for inline Lucide SVG icons
 *    (open-source MIT line icons). Each card picks its own icon
 *    contextually.
 * ============================================================ */

/* 1. text-wrap: balance on every major heading */
.rfm-hero h1,
.rfm-section-title,
.rfm-closing h2,
.rfm-feature h3,
.rfm-tier h3,
.rfm-step h3 {
	text-wrap: balance;
}

/* text-wrap: pretty on body copy paragraphs — slightly different
   algorithm, optimizes for the LAST few lines of a paragraph so
   the last line doesn't orphan with one word. Less aggressive than
   balance; better for prose. */
.rfm-hero-sub,
.rfm-pain-body p,
.rfm-feature p,
.rfm-tier p,
.rfm-step p,
.rfm-closing p {
	text-wrap: pretty;
}

/* 2. Closing-h2 margin bump */
.rfm-closing h2 {
	margin: 0 0 28px;
}

/* 3. Feature-icon container — sits at top of any card */
.rfm-feature-icon,
.rfm-tier-icon,
.rfm-step-icon {
	display: block;
	width: 32px;
	height: 32px;
	margin: 0 0 16px;
	color: var(--accent);
	flex-shrink: 0;
}

.rfm-feature-icon svg,
.rfm-tier-icon svg,
.rfm-step-icon svg {
	width: 100%;
	height: 100%;
	stroke-width: 1.75;
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* When a card has an icon, the h3 should sit closer to it */
.rfm-feature-icon + h3,
.rfm-tier-icon + h3,
.rfm-step-icon + h3 {
	margin-top: 0;
}

/* For YES/NO fit grid columns — icons can override their default
   accent green to red/green per column theme */
.rfm-fit-col.rfm-yes .rfm-feature-icon { color: var(--accent); }
.rfm-fit-col.rfm-no .rfm-feature-icon  { color: var(--ink2); opacity: 0.7; }

/* ============================================================
 * v1.4.8 — Icon color fix + centering + size bump (2026-05-17)
 * ============================================================
 *
 * THREE FIXES Eddie flagged after v1.4.7 deploy:
 *
 * 1. v1.4.7 icon CSS referenced var(--accent), but this theme
 *    has never defined --accent. The actual brand-green variable
 *    is --green (already correctly defined in the :root block at
 *    the top of this file as var(--wp--preset--color--green, #16A34A)).
 *    Icons now reference --green directly. No new :root variables
 *    introduced; existing color tokens unchanged. Belt-and-suspenders:
 *    also add a single --accent alias so any future CSS that
 *    references it picks up brand green.
 *
 * 2. Icons are now centered horizontally within their card
 *    (margin: 0 auto 20px instead of 0 0 16px). Cards that contain
 *    icons also get text-align: center so the icon + heading +
 *    paragraph form a centered visual unit.
 *
 * 3. Icon size bumped from 32px → 40px so they read at a glance
 *    on desktop and don't get lost on mobile.
 *
 * NOTE on the v1.4.7 .rfm-feature-icon block above: that block is
 * superseded by the rules below. The selector + property bindings
 * here have higher precedence by virtue of source order (loaded
 * later in the cascade), so the v1.4.7 declarations are overridden
 * without needing to be deleted.
 * ============================================================ */

/* 1. Single --accent alias so any var(--accent) reference resolves */
:root {
	--accent: var(--green, var(--wp--preset--color--green, #16A34A));
}

/* 2. Icon centering + size bump */
.rfm-feature-icon,
.rfm-tier-icon,
.rfm-step-icon {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 20px;
	color: var(--green);
	flex-shrink: 0;
}

.rfm-feature-icon svg,
.rfm-tier-icon svg,
.rfm-step-icon svg {
	width: 100%;
	height: 100%;
	stroke-width: 1.75;
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Any card with an icon gets centered text so the icon, heading, and
   paragraph read as one visual unit. */
.rfm-feature:has(.rfm-feature-icon),
.rfm-tier:has(.rfm-tier-icon),
.rfm-step:has(.rfm-step-icon),
.rfm-fit-col:has(.rfm-feature-icon) {
	text-align: center;
}

/* Fit-grid columns: bullet list inside stays left-aligned for
   readability even though heading + icon are centered. */
.rfm-fit-col:has(.rfm-feature-icon) ul {
	text-align: left;
	display: inline-block;
}

/* YES column = green icon, NO column = muted ink (override per fit-col theme) */
.rfm-fit-col.rfm-yes .rfm-feature-icon { color: var(--green); }
.rfm-fit-col.rfm-no .rfm-feature-icon  { color: var(--ink3, var(--ink2)); opacity: 0.6; }

/* Icon + h3 margin tightening so they sit together */
.rfm-feature-icon + h3,
.rfm-tier-icon + h3,
.rfm-step-icon + h3 {
	margin-top: 0;
}

/* ============================================================
 * v1.4.9 — Prose body width bump (2026-05-17)
 * ============================================================
 *
 * Eddie reported body text "stuck at 2/3 width" with empty space on
 * the right. Diagnosed: .rfm-pain-body had max-width: 740px inside
 * an 1100px wrap, leaving 360px (33%) of empty whitespace to the
 * right of every paragraph.
 *
 * That 740px was intentional editorial design (line length ~65 chars
 * is the textbook readability sweet spot). But on a 1317px desktop
 * viewport it visually under-filled the section and made the page
 * read as left-anchored with a dead right zone.
 *
 * Fix: bump max-width to 920px. ~78-80 chars per line which is
 * still in comfortable reading range (60-90 chars is the standard
 * "readable" envelope), while filling 84% of the wrap width instead
 * of 67%. Section feels intentional and balanced instead of clipped.
 *
 * Safe on product-grid sections (.rfm-product-grid > .rfm-product-body)
 * because the grid column already constrains text width — the
 * max-width inside is the lesser-of constraint, never the limiting
 * one in that pattern.
 * ============================================================ */

.rfm-pain-body,
.rfm-hero-sub,
.rfm-section-sub {
	max-width: 920px;
}

/* Section-title h2 stays unconstrained (fills natural width up to
   the wrap edge), so when text-wrap: balance does its work the
   resulting line breaks land closer to the wrap edge instead of
   wrapping artificially short. */
.rfm-section-title {
	max-width: none;
}

/* ============================================================
 * v1.4.10 — Closing paragraph width + centering (WP override defeat)
 * ============================================================
 *
 * Wesley-level diagnosis after Eddie reported the closing-section
 * paragraph still felt offset and narrow even after v1.4.9 widened
 * the rest of the body prose.
 *
 * Chrome inspect on the live page:
 *   .rfm-closing p computed:
 *     - width: 760px  (max-width is still 760px from v1.4.5)
 *     - margin: 0px 0px 18px  ← NOT 0 auto 32px as the source rule!
 *   sibling H2 width: 1020px
 *   sibling CTA-row width: 1020px
 *
 * Two problems converging:
 *
 *   PROBLEM 1. WP core block-flow margin rules override our source
 *   rule "margin: 0 auto 32px" and reset margin-left/right to 0.
 *   Specifically `:root :where(.is-layout-flow) > *` plus
 *   `:where(.wp-block-paragraph) { margin-block: 24px 0 }` and
 *   related core selectors get loaded LATER in the cascade than
 *   the theme stylesheet on imported pages, so they win on equal
 *   specificity. Source `margin: 0 auto 32px` becomes computed
 *   `margin: 0 0 18px`. The auto centering doesn't survive.
 *
 *   PROBLEM 2. max-width: 760px is narrower than the heading and
 *   CTA-row siblings (1020px each). Even if the paragraph WAS
 *   centered, it would visibly read narrower than its neighbors.
 *
 * Fix both at the same selector by going higher-specificity than
 * any WP core rule can reach. `.rfm-closing > .rfm-wrap > p` has
 * specificity (0,2,1) compared to WP core's `:root :where(...)` at
 * (0,1,0), guaranteed to win regardless of cascade order.
 * ============================================================ */

.rfm-closing > .rfm-wrap > p {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 32px;
}

/* If the importer wrapped the closing paragraph in a wp-block-group
   or wp-block-paragraph div, walk one extra level to catch it. */
.rfm-closing > .rfm-wrap > .wp-block-group > p,
.rfm-closing > .rfm-wrap > .wp-block-paragraph,
.rfm-closing > .rfm-wrap > p.wp-block-paragraph {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 32px;
}


/* ============================================================
   Managed-menu nav styling (additive, promoted from the
   Integrity child theme — 2026-06-15).
   Scoped to `header .wp-block-navigation` so it ONLY styles
   sites whose header uses the WordPress Navigation block
   (client child themes like Integrity). This parent's OWN
   header is a hardcoded .rfm-nav and contains no Navigation
   block, so this changes nothing on the live parent site.
   Child themes can override colors via higher-specificity
   rules (e.g. `.site .wp-block-navigation`). Provides a
   no-wrap desktop row, a Services-style dropdown card, and a
   full-screen mobile drawer.
   ============================================================ */
header .wp-block-navigation{font-weight:800}
header .wp-block-navigation .wp-block-navigation__container{gap:24px;align-items:center;flex-wrap:nowrap}
header .wp-block-navigation .wp-block-navigation-item__content,
header .wp-block-navigation a{color:var(--ink);font-weight:800;font-size:17px;text-decoration:none;white-space:nowrap}
header .wp-block-navigation .wp-block-navigation-item__content:hover{color:var(--green-dark,#15803D)}
header .wp-block-navigation .wp-block-navigation-submenu__toggle{color:var(--ink);font-weight:800;font-size:17px;white-space:nowrap}
/* Dropdown / submenu card */
header .wp-block-navigation .wp-block-navigation__submenu-container{background:var(--card,#fff);border:1px solid var(--line,#E2E8F0);border-radius:14px;box-shadow:0 12px 32px rgba(15,23,42,.16);padding:8px;min-width:240px}
header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--ink);font-size:16px;font-weight:700;padding:9px 12px;border-radius:9px;display:block;white-space:nowrap}
header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__content{background:var(--bg-soft,#F5F5F0);color:var(--green-dark,#15803D)}
/* Mobile drawer (overlayMenu) */
header .wp-block-navigation__responsive-container-open,
header .wp-block-navigation__responsive-container-close{color:var(--ink)}
header .wp-block-navigation__responsive-container-open svg{width:30px;height:30px}
header .wp-block-navigation__responsive-container.is-menu-open{background:var(--ink);padding:64px 28px 32px}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:6px;flex-wrap:wrap}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
header .wp-block-navigation__responsive-container.is-menu-open a{color:#fff;font-size:22px;font-weight:800;padding:12px 0;display:block;border-bottom:1px solid rgba(255,255,255,.12);white-space:normal}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{color:#fff;width:34px;height:34px}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent;border:none;box-shadow:none;padding:0 0 0 14px;min-width:0}
header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:#fff;font-size:18px}
/* end managed-menu nav styling */
