/* ==========================================================================
   Inner pages (services, how it works, about, trust, book).
   Authored here rather than as Bricks global classes: Bricks stores
   `_cssCustom`, `_padding` and `_gap` correctly but frequently fails to emit
   them, so anything load-bearing lives in the child theme. `.brx-body` beats
   Bricks' own class output on specificity.
   ========================================================================== */

/* ---- newsletter page (id 2388): the whole page IS a signup, so the global
   footer newsletter band is redundant and reads awkwardly stacked under the
   page's own CTA form. Hide it on this page only. */
body.page-id-2388 .brx-body .site-footer__newsletter,
body.page-id-2388 .site-footer__newsletter.brxe-div {
	display: none !important;
}

/* ---- newsletter page: responsive collapse for the converter's base grids.
   The HTML-to-Bricks converter emits base grid-template-columns with no
   breakpoints, so guarantee the mobile collapse here (same reason as every
   other grid in this file). nl-benefits 2->1, nl-issues__grid 3->2->1. */
@media (max-width: 991px) {
	.brx-body .nl-issues__grid.brxe-div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.brx-body .nl-benefits.brxe-div { grid-template-columns: 1fr; }
	.brx-body .nl-issues__grid.brxe-div { grid-template-columns: 1fr; }
}

/* ---- figure-mono: JetBrains Mono for every USD/NGN figure ----
   The `figure-mono` Bricks global class carries font-family: JetBrains Mono,
   but Bricks does not emit a global-classes stylesheet on this install, so the
   class resolves to nothing and money figures fall back to General Sans (a
   design-system violation: all USD/NGN figures must be mono). Guarantee it
   here. `.brx-body` + attribute-independent selector beats the body font. */
.brx-body .figure-mono {
	font-family: 'JetBrains Mono', ui-monospace, monospace;
}

/* ---- shared page furniture ---- */
.brx-body .pg-hero.brxe-section {
	background: var(--surface-dark);
	padding-top: 56px;
	padding-bottom: 56px;
}
.brx-body .pg-hero__inner.brxe-div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.brx-body .pg-eyebrow.brxe-text-basic {
	display: inline-block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--brand-secondary-light);
	border-bottom: 1px solid rgba(0, 166, 224, 0.3);
	padding-bottom: 10px;
}
.brx-body .pg-hero__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: clamp(30px, 4.5vw, 44px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.5px;
	color: var(--neutral-000);
	max-width: 18ch;
}
.brx-body .pg-hero__sub.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
	max-width: 54ch;
}

.brx-body .pg-section.brxe-section {
	padding-top: 56px;
	padding-bottom: 56px;
}
.brx-body .pg-section--alt.brxe-section { background: var(--neutral-100); }
.brx-body .pg-section--mint.brxe-section { background: var(--surface-mint); }

.brx-body .pg-title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: clamp(22px, 3vw, 26px);
	font-weight: 700;
	letter-spacing: -0.4px;
	color: var(--neutral-900);
	margin-bottom: 8px;
}
.brx-body .pg-sub.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--neutral-700);
	margin-bottom: 24px;
	max-width: 62ch;
}
.brx-body .pg-body.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: var(--neutral-700);
	max-width: 68ch;
	margin-bottom: 14px;
}

/* ---- bottom CTA (shared) ---- */
.brx-body .pg-cta.brxe-section {
	background: var(--surface-dark);
	padding-top: 64px;
	padding-bottom: 64px;
}
.brx-body .pg-cta__inner.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
}
.brx-body .pg-cta__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 700;
	letter-spacing: -0.4px;
	color: var(--neutral-000);
	margin-bottom: 6px;
}
.brx-body .pg-cta__note.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.55);
}
.brx-body .pg-cta__actions.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}
.brx-body .pg-cta__wa.brxe-text-link {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding-bottom: 2px;
}

/* ---- services: pricing tiers ---- */
.brx-body .pg-tiers.brxe-section {
	padding-top: 56px;
	padding-bottom: 56px;
}
.brx-body .pg-tiers__grid.brxe-div {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	align-items: stretch;
}
.brx-body .pg-tier.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 26px 22px;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	background: var(--neutral-000);
}
.brx-body .pg-tier--featured.brxe-div {
	background: var(--surface-dark);
	border-color: transparent;
}
.brx-body .pg-tier__idx.brxe-text-basic {
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--neutral-500);
}
.brx-body .pg-tier--featured .pg-tier__idx.brxe-text-basic { color: rgba(255, 255, 255, 0.5); }
.brx-body .pg-tier__badge.brxe-text-basic {
	align-self: flex-start;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--neutral-000);
	background: var(--brand-secondary);
	padding: 4px 9px;
	border-radius: 999px;
}
.brx-body .pg-tier__name.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--neutral-900);
}
.brx-body .pg-tier--featured .pg-tier__name.brxe-heading { color: var(--neutral-000); }
.brx-body .pg-tier__price.brxe-text-basic {
	font-size: 26px;
	font-weight: 700;
	color: var(--brand-primary);
}
.brx-body .pg-tier--featured .pg-tier__price.brxe-text-basic { color: var(--brand-secondary-light); }
.brx-body .pg-tier__period { font-size: 13px; font-weight: 500; }
.brx-body .pg-tier__best.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.55;
	color: var(--neutral-500);
	margin-bottom: 6px;
}
.brx-body .pg-tier--featured .pg-tier__best.brxe-text-basic { color: rgba(255, 255, 255, 0.55); }
.brx-body .pg-tier__list.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-bottom: 16px;
	list-style: none;
	padding-left: 0;
}
.brx-body .pg-tier__list.brxe-div > * { list-style: none; }
.brx-body .pg-tier__item.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--neutral-700);
	padding-left: 18px;
	position: relative;
}
.brx-body .pg-tier__item.brxe-text-basic::before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--success);
}
.brx-body .pg-tier--featured .pg-tier__item.brxe-text-basic { color: rgba(255, 255, 255, 0.8); }
.brx-body .pg-tier__cta.brxe-text-link {
	margin-top: auto;
	text-align: center;
	font-size: 13.5px;
}

@media (max-width: 991px) {
	.brx-body .pg-tiers__grid.brxe-div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.brx-body .pg-tiers__grid.brxe-div { grid-template-columns: 1fr; }
	.brx-body .pg-cta__inner.brxe-div { align-items: flex-start; }
}

/* ---- cards, rows and lists shared across inner pages ---- */
.brx-body .pg-grid3.brxe-div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.brx-body .pg-grid2.brxe-div {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.brx-body .pg-card.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	background: var(--neutral-000);
}
.brx-body .pg-card__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--neutral-900);
}
.brx-body .pg-card__role.brxe-text-basic {
	font-size: 11px;
	letter-spacing: 0.5px;
	color: var(--neutral-500);
}
.brx-body .pg-card__body.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--neutral-700);
}
.brx-body .pg-card__actions.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

/* stages (how it works) */
.brx-body .pg-stagelist.brxe-div {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.brx-body .pg-stage.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 16px;
	border-top: 2px solid var(--brand-secondary);
}
.brx-body .pg-stage__tag.brxe-text-basic {
	font-size: 11px;
	color: var(--neutral-500);
}
.brx-body .pg-stage__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--neutral-900);
}
.brx-body .pg-stage__desc.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--neutral-700);
}

/* trust mechanics list */
.brx-body .pg-mechlist.brxe-div { display: flex; flex-direction: column; }
.brx-body .pg-mech.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	padding-top: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(0, 46, 74, 0.1);
}
.brx-body .pg-mech__idx.brxe-text-basic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: var(--brand-secondary);
}
.brx-body .pg-mech__title.brxe-heading {
	flex: 1 1 220px;
	font-family: Switzer, sans-serif;
	font-size: 15.5px;
	font-weight: 700;
	color: var(--neutral-900);
}
.brx-body .pg-mech__desc.brxe-text-basic {
	flex: 2 1 300px;
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--neutral-700);
}

/* timeline rows */
.brx-body .pg-rows.brxe-div { display: flex; flex-direction: column; }
.brx-body .pg-row.brxe-div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(0, 46, 74, 0.1);
}
.brx-body .pg-row__k.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	color: var(--neutral-900);
}
.brx-body .pg-row__v.brxe-text-basic {
	font-size: 13px;
	color: var(--brand-secondary-dark);
}

/* beliefs / expectation lists */
.brx-body .pg-beliefs.brxe-div { display: flex; flex-direction: column; gap: 10px; }
.brx-body .pg-belief.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: var(--neutral-700);
	padding-left: 20px;
	position: relative;
}
.brx-body .pg-belief.brxe-text-basic::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--success);
}

.brx-body .pg-places.brxe-text-basic {
	font-size: 13px;
	letter-spacing: 0.5px;
	color: var(--brand-secondary-dark);
	margin-bottom: 12px;
}

/* trust calculator strip */
.brx-body .pg-calc.brxe-div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	padding: 22px;
	border-radius: 14px;
	background: var(--neutral-000);
	border: 1px solid #e2e8f0;
}
.brx-body .pg-calc__math.brxe-text-basic {
	font-size: 16px;
	font-weight: 700;
	color: var(--brand-secondary-dark);
}

/* calendly placeholder until the embed is wired */
.brx-body .pg-calendly.brxe-div {
	min-height: 260px;
	border-radius: 14px;
	border-width: 1px;
	border-style: dashed;
	border-color: #c3ccd6;
	background: var(--neutral-000);
}

@media (max-width: 991px) {
	.brx-body .pg-grid3.brxe-div { grid-template-columns: 1fr 1fr; }
	.brx-body .pg-stagelist.brxe-div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.brx-body .pg-grid3.brxe-div,
	.brx-body .pg-grid2.brxe-div,
	.brx-body .pg-stagelist.brxe-div { grid-template-columns: 1fr; }
	.brx-body .pg-mech.brxe-div { gap: 8px; }
	.brx-body .pg-mech__desc.brxe-text-basic { flex: 1 1 100%; margin-left: 42px; }
}

/* `.btn-secondary` renders unstyled on these pages, so give the tier CTA an
   explicit outline treatment. */
.brx-body .pg-tier__cta.brxe-text-link {
	display: block;
	padding: 12px 18px;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid var(--brand-secondary);
	color: var(--brand-secondary);
}
.brx-body .pg-tier--featured .pg-tier__cta.brxe-text-link {
	background: var(--brand-secondary);
	border-color: var(--brand-secondary);
	color: #fff;
}
.brx-body .pg-card__actions .brxe-text-link {
	display: inline-block;
	padding: 9px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid var(--brand-secondary);
	color: var(--brand-secondary);
}

/* ==========================================================================
   CPT templates: guides archive, guide single, doc single, service single.
   ========================================================================== */
.brx-body .cpt-hero__title.brxe-heading { max-width: 24ch; }
.brx-body .cpt-hero__meta.brxe-text-basic {
	font-size: 12px;
	letter-spacing: 0.5px;
	color: rgba(255, 255, 255, 0.6);
}

/* article + sidebar */
.brx-body .cpt-layout.brxe-div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 40px;
	align-items: start;
}
.brx-body .cpt-main { min-width: 0; }
.brx-body .cpt-intro {
	font-family: 'General Sans', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: var(--neutral-900);
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid rgba(0, 46, 74, 0.1);
}
.brx-body .cpt-body {
	font-family: 'General Sans', sans-serif;
	font-size: clamp(16.5px, 0.5vw + 15px, 17.5px);
	line-height: 1.75;
	color: var(--neutral-700);
}
.brx-body .cpt-body h2,
.brx-body .cpt-body h3 {
	font-family: Switzer, sans-serif;
	font-weight: 700;
	color: var(--neutral-900);
	margin-top: 28px;
	margin-bottom: 10px;
}
.brx-body .cpt-body h2 { font-size: 24px; }
.brx-body .cpt-body h3 { font-size: 19px; }
.brx-body .cpt-body p { margin-bottom: 14px; }
.brx-body .cpt-body ul,
.brx-body .cpt-body ol { margin: 0 0 16px 20px; }
.brx-body .cpt-body li { margin-bottom: 7px; }
.brx-body .cpt-body a { color: var(--brand-secondary); }
.brx-body .cpt-body img { max-width: 100%; height: auto; border-radius: 10px; }

/* Cost tables in the rewritten diaspora guides. The body is a {post_content}
   tag, so these are WordPress block tables and have to be styled by descendant
   selectors here. Wide tables scroll inside their own figure so the page never
   scrolls sideways on mobile. */
.brx-body .cpt-body figure.wp-block-table {
	margin: 22px 0;
	overflow-x: auto;
}
.brx-body .cpt-body table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'General Sans', sans-serif;
	font-size: 13.5px;
}
.brx-body .cpt-body th,
.brx-body .cpt-body td {
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #e2e8f0;
}
.brx-body .cpt-body thead th {
	background: var(--surface-mint);
	font-weight: 700;
	color: var(--neutral-900);
	white-space: nowrap;
}
/* USD and NGN figures are the reason these tables exist, so they get the
   mono face the design system reserves for money. */
.brx-body .cpt-body td:nth-child(2),
.brx-body .cpt-body td:nth-child(3) {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12.5px;
	white-space: nowrap;
}
.brx-body .cpt-body figcaption {
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--neutral-700);
}

/* sticky sidebar CTA */
.brx-body .cpt-aside { position: sticky; top: 90px; }
.brx-body .cpt-cta.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px;
	border-radius: 14px;
	background: var(--surface-mint);
}
.brx-body .cpt-cta__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--neutral-900);
}
.brx-body .cpt-cta__note.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--neutral-700);
}
.brx-body .cpt-cta__btn.brxe-text-link { text-align: center; font-size: 13.5px; }

/* guides archive grid */
.brx-body .cpt-grid.brxe-div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.brx-body .cpt-card.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	background: var(--neutral-000);
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.brx-body .cpt-card.brxe-div:hover {
	border-color: var(--brand-secondary);
	transform: translateY(-2px);
}
.brx-body .cpt-card__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--neutral-900);
}
.brx-body .cpt-card__excerpt.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--neutral-700);
}
.brx-body .cpt-card__more.brxe-text-basic {
	margin-top: auto;
	font-size: 12px;
	color: var(--brand-secondary);
}

@media (max-width: 991px) {
	.brx-body .cpt-layout.brxe-div { grid-template-columns: 1fr; gap: 28px; }
	.brx-body .cpt-aside { position: static; }
	.brx-body .cpt-grid.brxe-div { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	.brx-body .cpt-grid.brxe-div { grid-template-columns: 1fr; }
}

/* ---- guides archive: gold newsletter band (reference #FFB800) ---- */
.brx-body .gd-news.brxe-section {
	background: #FFB800;
	padding-top: 40px;
	padding-bottom: 40px;
}
.brx-body .gd-news__inner.brxe-div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.brx-body .gd-news__eyebrow.brxe-text-basic {
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(11, 22, 32, 0.65);
}
.brx-body .gd-news__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: clamp(24px, 3.2vw, 34px);
	font-weight: 700;
	letter-spacing: -0.6px;
	line-height: 1.1;
	color: #0B1620;
}
.brx-body .gd-news__sub.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(11, 22, 32, 0.75);
	max-width: 58ch;
}
.brx-body .gd-news__btn.brxe-text-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 8px;
	padding: 14px 26px;
	border-radius: 6px;
	background: #0B1620;
	color: #fff;
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

/* card thumbnails */
.brx-body img.cpt-card__img.brxe-image {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 10px;
	margin-bottom: 4px;
	display: block;
}

/* ==========================================================================
   Cost-of-Waiting calculator.
   Cost figures render --brand-secondary-dark, never red: alarm colour breaks
   trust with a fraud-wary audience (design system handoff, §colour rules).
   ========================================================================== */
.brx-body .cow-section.brxe-section { background: var(--surface-mint); }
.brx-body .cow-wrap.brxe-div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}
.brx-body .cow-inputs.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 26px;
	border-radius: 14px;
	background: var(--neutral-000);
}
.cow-field { display: flex; flex-direction: column; gap: 6px; }
.cow-label {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--neutral-900);
}
.cow-value {
	font-size: 22px;
	font-weight: 700;
	color: var(--brand-primary);
}
.cow-hint {
	font-family: 'General Sans', sans-serif;
	font-size: 12px;
	line-height: 1.5;
	color: var(--neutral-500);
}
.cow-range {
	width: 100%;
	height: 44px;
	accent-color: var(--brand-secondary);
	cursor: pointer;
}
.cow-select {
	font-family: 'General Sans', sans-serif;
	font-size: 14px;
	padding: 11px 12px;
	border-radius: 8px;
	border: 1px solid var(--border-input, #d2dae4);
	background: var(--neutral-000);
	color: var(--neutral-900);
	min-height: 44px;
}
.cow-select:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 1px; }
.cow-propfields { display: flex; flex-direction: column; gap: 22px; }
.cow-propfields[hidden] { display: none; }

/* result panel */
.brx-body .cow-result.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 26px;
	border-radius: 14px;
	background: var(--neutral-000);
	position: sticky;
	top: 90px;
}
.brx-body .cow-result__label.brxe-text-basic {
	font-size: 11px;
	letter-spacing: 1px;
	color: var(--neutral-500);
}
.brx-body .cow-result__big.brxe-text-basic {
	font-size: clamp(34px, 6vw, 52px);
	font-weight: 700;
	line-height: 1.05;
	color: var(--brand-secondary-dark);
}
.brx-body .cow-result__rows.brxe-div { display: flex; flex-direction: column; }
.brx-body .cow-row.brxe-div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0, 46, 74, 0.1);
}
.brx-body .cow-row__k.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 13px;
	color: var(--neutral-700);
}
.brx-body .cow-row__v.brxe-text-basic {
	font-size: 14px;
	font-weight: 700;
	color: var(--brand-secondary-dark);
}
.brx-body .cow-math.brxe-div {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px;
	border-radius: 10px;
	background: var(--surface-cyan);
}
.brx-body .cow-math__title.brxe-text-basic {
	font-size: 10px;
	letter-spacing: 1px;
	color: var(--neutral-500);
}
.brx-body .cow-math__line.brxe-text-basic {
	font-size: 13px;
	color: var(--brand-primary);
}
.brx-body .cow-math__note.brxe-text-basic {
	font-family: 'General Sans', sans-serif;
	font-size: 11.5px;
	line-height: 1.55;
	color: var(--neutral-500);
	margin-top: 4px;
}
.brx-body .cow-cta.brxe-text-link { text-align: center; }

@media (max-width: 991px) {
	.brx-body .cow-wrap.brxe-div { grid-template-columns: 1fr; }
	.brx-body .cow-result.brxe-div { position: static; }
}

/* Booking mount: dashed placeholder until the Lunacal widget initialises.
   The widget reports its own height, so the mount must not force one or a
   large gap opens below the calendar. */
.brx-body .pg-calendly.brxe-div.is-live {
	border-width: 0;
	min-height: 0;
	height: auto;
	background: transparent;
}
.brx-body .pg-calendly.brxe-div.is-live iframe {
	width: 100%;
	min-height: 640px;
	border: 0;
}

/* ============================================================
   SERVICE SINGLE (tier detail page)
   Matches design/Counseal.dc.html serviceDetailData layout, adapted to the
   brand system: cyan is the action colour (design mockup used amber), prices
   render in JetBrains Mono, no red on cost figures. Repeaters render via
   Bricks ACF query loops; these classes style the loop cells + static frame.
   ============================================================ */

/* HERO -------------------------------------------------------- */
.brx-body .svc-hero.brxe-section {
	background: var(--brand-primary);
	padding: 40px 0 48px;
}
.brx-body .svc-hero__back.brxe-text-link {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--brand-secondary);
	text-decoration: none;
	margin-bottom: 22px;
}
.brx-body .svc-hero__back.brxe-text-link:hover { color: var(--brand-secondary-light); }
.brx-body .svc-hero__meta.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 16px;
}
.brx-body .svc-hero__tier.brxe-text-basic {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.5px;
	color: rgba(255, 255, 255, 0.45);
}
.brx-body .svc-hero__badge.brxe-text-basic {
	font-family: 'JetBrains Mono', monospace;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: var(--brand-primary);
	background: var(--brand-secondary);
	padding: 4px 9px;
	border-radius: 999px;
}
/* No badge on this tier: the field is empty, so hide the pill entirely
   rather than showing an empty coloured chip. */
.brx-body .svc-hero__badge.brxe-text-basic:empty { display: none; }
.brx-body .svc-hero__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: clamp(30px, 4.2vw, 44px);
	font-weight: 700;
	letter-spacing: -0.8px;
	line-height: 1.15;
	color: var(--neutral-000);
	margin: 0 0 16px;
	max-width: 20ch;
}
.brx-body .svc-hero__sub.brxe-text-basic {
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.65);
	margin: 0 0 28px;
	max-width: 56ch;
}
.brx-body .svc-hero__actions.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}
.brx-body .svc-hero__price.brxe-text-basic {
	font-family: 'JetBrains Mono', monospace;
	font-size: 30px;
	font-weight: 600;
	color: var(--neutral-000);
}
.brx-body .svc-hero__period {
	font-size: 14px;
	font-weight: 400;
	opacity: 0.5;
}
.brx-body .svc-hero__cta.brxe-text-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--brand-secondary);
	color: var(--neutral-000);
	font-weight: 700;
	font-size: 14.5px;
	padding: 14px 24px;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.18s ease, transform 0.18s ease;
}
.brx-body .svc-hero__cta.brxe-text-link:hover {
	background: var(--brand-secondary-dark);
	transform: translateY(-1px);
}

/* BODY WRAPPER ------------------------------------------------ */
.brx-body .svc-body.brxe-section { padding: 48px 0 8px; }
.brx-body .svc-sec.brxe-div { margin-bottom: 52px; }
.brx-body .svc-sec__eyebrow.brxe-text-basic {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--neutral-500);
	margin: 0 0 20px;
}
.brx-body .svc-sec__title.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.4px;
	color: var(--neutral-900);
	margin: 0 0 22px;
}

/* PAIN POINTS ------------------------------------------------- */
.brx-body .svc-pains__grid.brxe-div {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	border-top: 1px solid rgba(0, 46, 74, 0.12);
}
.brx-body .svc-pain.brxe-div {
	padding: 20px 22px 20px 0;
	border-right: 1px solid rgba(0, 46, 74, 0.12);
}
.brx-body .svc-pain__text.brxe-text-basic {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--neutral-900);
	margin: 0;
}

/* TIER IMAGE -------------------------------------------------- */
.brx-body .svc-image.brxe-image {
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 52px;
	width: 100%;
	max-height: 300px;
	object-fit: cover;
}

/* DELIVERABLES ----------------------------------------------- */
/* Numbers come from a CSS counter on the row itself, not the loop index
   (which is 0-based and raw). The counter resets on the list and increments
   per row, zero-padded, rendered as the row's ::before so no extra element
   is needed (an empty text element would not render in Bricks). */
.brx-body .svc-delivs.brxe-div { border-top: 1px solid rgba(0, 46, 74, 0.12); counter-reset: svc-deliv; }
.brx-body .svc-deliv.brxe-div {
	display: flex;
	gap: 20px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(0, 46, 74, 0.12);
}
.brx-body .svc-deliv.brxe-div::before {
	counter-increment: svc-deliv;
	content: counter(svc-deliv, decimal-leading-zero);
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	color: var(--brand-secondary-dark);
	flex: 0 0 26px;
	padding-top: 2px;
}
.brx-body .svc-deliv__title.brxe-text-basic {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--neutral-900);
	margin: 0 0 4px;
}
.brx-body .svc-deliv__desc.brxe-text-basic {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--neutral-700);
	margin: 0;
}

/* PROCESS ---------------------------------------------------- */
.brx-body .svc-process__grid.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	counter-reset: svc-step;
}
.brx-body .svc-step.brxe-div {
	flex: 1 1 220px;
	max-width: 340px;
	padding: 0 24px 0 0;
}
.brx-body .svc-step.brxe-div::before {
	counter-increment: svc-step;
	content: counter(svc-step, decimal-leading-zero);
	display: block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 20px;
	font-weight: 600;
	color: var(--brand-secondary);
	margin: 0 0 10px;
}
.brx-body .svc-step__title.brxe-text-basic {
	font-size: 15px;
	font-weight: 700;
	color: var(--neutral-900);
	margin: 0 0 6px;
}
.brx-body .svc-step__desc.brxe-text-basic {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--neutral-700);
	margin: 0;
}

/* FIT / TRUST ------------------------------------------------ */
.brx-body .svc-fit.brxe-div {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 52px;
}
.brx-body .svc-fit__col.brxe-div { flex: 1 1 300px; max-width: 440px; }
.brx-body .svc-fit__h.brxe-heading {
	font-family: Switzer, sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--neutral-900);
	margin: 0 0 16px;
}
.brx-body .svc-fit__yes.brxe-text-basic,
.brx-body .svc-fit__no.brxe-text-basic {
	font-size: 13px;
	font-weight: 700;
	margin: 0 0 6px;
}
.brx-body .svc-fit__yes.brxe-text-basic { color: var(--success); }
.brx-body .svc-fit__no.brxe-text-basic { color: var(--neutral-500); }
.brx-body .svc-fit__p.brxe-text-basic {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--neutral-700);
	margin: 0 0 16px;
}
.brx-body .svc-fit__p--last.brxe-text-basic { margin-bottom: 0; }
.brx-body .svc-trust.brxe-div {
	flex: 1 1 260px;
	max-width: 360px;
	background: var(--brand-primary);
	border-radius: 8px;
	padding: 24px 28px;
	box-sizing: border-box;
}
.brx-body .svc-trust__label.brxe-text-basic {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--brand-secondary);
	margin: 0 0 8px;
}
.brx-body .svc-trust__timeline.brxe-text-basic {
	font-size: 14px;
	line-height: 1.6;
	color: var(--neutral-000);
	margin: 0 0 6px;
}
.brx-body .svc-trust__note.brxe-text-basic {
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}

/* SERVICE FAQ ------------------------------------------------ */
.brx-body .svc-faq.brxe-div { margin-bottom: 56px; max-width: 720px; }
.brx-body .svc-faqs.brxe-div { border-top: 1px solid rgba(0, 46, 74, 0.12); }
.brx-body .svc-faq__item.brxe-div { border-bottom: 1px solid rgba(0, 46, 74, 0.12); padding: 16px 0; }
.brx-body .svc-faq__q.brxe-text-basic {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--neutral-900);
	margin: 0 0 8px;
}
.brx-body .svc-faq__a.brxe-text-basic {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--neutral-700);
	margin: 0;
	max-width: 600px;
}

@media (max-width: 767px) {
	.brx-body .svc-pain.brxe-div { border-right: none; }
	.brx-body .svc-step.brxe-div { flex-basis: 100%; max-width: 100%; margin-bottom: 24px; }
}
