.brxe-code{width:100%}/* BREAKPOINT: Desktop (BASE) */.cost-section {  position: relative;  padding-block: var(--section-space-l, 80px);}/* Odd sections: grey -> white */.cost-section--grey {  background: linear-gradient(    180deg,    var(--base-ultra-light, #f9fafb) 0%,    var(--white, #ffffff) 100%  );}/* Even sections: white -> grey */.cost-section--white {  background: linear-gradient(    180deg,    var(--white, #ffffff) 0%,    var(--base-ultra-light, #f9fafb) 100%  );}/* Editorial reading measure. Tables + callouts fit comfortably at 860px;  prose paragraphs are further constrained below for line length. */.cost-section__inner {  width: 100%;  max-width: 860px;  margin-inline: auto;  padding-inline: var(--gutter, 24px);}/* Wider measure for card-grid sections. Prose still self-limits to ~64ch,  so reading lines stay short while cards get room to breathe. */.cost-section__inner--wide {  max-width: 1040px;}/* Spacing rhythm between stacked blocks within a section */.cost-section__inner > * + .cost-h2 {  margin-top: var(--space-xl, 48px);} .cost-grid + .cost-prose,.cost-grid + .cost-h3,.cost-prose + .cost-prose {  margin-top: var(--space-l, 28px);}/* Tabular numbers everywhere figures appear */.cost-table,.cost-stat__figure,.cost-answer__text strong {  font-variant-numeric: tabular-nums;}/* -----------------------------------------------------------------------------  2. EDITORIAL TYPOGRAPHY  -------------------------------------------------------------------------- */.cost-eyebrow {  text-transform: uppercase;  font-size: var(--text-xs, 0.75rem);  letter-spacing: 0.1em;  font-weight: 600;  color: var(--primary, #3b82f6);  margin: 0 0 var(--space-s, 12px) 0;} .cost-h1 {  font-family: var(--font-serif, 'Playfair Display', Georgia, serif);  font-size: var(--h1, 3rem);  line-height: 1.12;  font-weight: 700;  color: var(--text-dark, #1e293b);  margin: 0 0 var(--space-m, 20px) 0;} .cost-h2 {  font-family: var(--font-serif, 'Playfair Display', Georgia, serif);  font-size: var(--h2, 2.25rem);  line-height: 1.18;  font-weight: 700;  color: var(--text-dark, #1e293b);  margin: 0 0 var(--space-m, 20px) 0;} .cost-h3 {  font-size: var(--h4, 1.25rem);  line-height: 1.3;  font-weight: 700;  color: var(--text-dark, #1e293b);  margin: 0 0 var(--space-s, 12px) 0;} .cost-byline {  font-size: var(--text-s, 0.875rem);  color: var(--secondary, #64748b);  line-height: 1.6;  margin: 0 0 var(--space-l, 28px) 0;}/* Long-form prose: tighter measure for readable line length */.cost-prose {  max-width: 64ch;} .cost-prose p {  font-size: var(--text-m, 1.0625rem);  color: var(--text-medium, #475569);  line-height: 1.7;  margin: 0 0 var(--space-m, 20px) 0;} .cost-prose p:last-child { margin-bottom: 0; } .cost-prose strong { color: var(--text-dark, #1e293b); font-weight: 600; } .cost-prose em { font-style: italic; }/* A lead paragraph variant (slightly larger) */.cost-lede p {  font-size: var(--text-l, 1.1875rem);  line-height: 1.65;  color: var(--text-medium, #475569);}/* In-flow link styling for editorial body links */.cost-prose a,.cost-answer a,.cost-data a,.cost-factors a,.cost-final a {  color: var(--primary, #3b82f6);  text-decoration: underline;  text-underline-offset: 2px;  text-decoration-thickness: 1px;  text-decoration-color: rgba(59, 130, 246, 0.35);  transition: text-decoration-color 0.2s ease, color 0.2s ease;} .cost-prose a:hover,.cost-answer a:hover,.cost-data a:hover,.cost-factors a:hover,.cost-final a:hover {  color: var(--primary-dark, #2563eb);  text-decoration-color: var(--primary, #3b82f6);}/* -----------------------------------------------------------------------------  3. GEO BLOCK — QUICK-ANSWER CALLOUT  The single most citable element. Self-contained 40-60 word answer.  -------------------------------------------------------------------------- */.cost-answer {  position: relative;  background: var(--white, #ffffff);  border: 1px solid var(--base-light, #e5e7eb);  border-left: 4px solid var(--primary, #3b82f6);  border-radius: var(--radius-m, 12px);  padding: var(--space-l, 28px);  margin: var(--space-l, 28px) 0;  box-shadow:    0 10px 40px -16px rgba(15, 23, 42, 0.18),    0 2px 6px -2px rgba(15, 23, 42, 0.06);} .cost-answer__label {  text-transform: uppercase;  font-size: var(--text-xs, 0.75rem);  letter-spacing: 0.1em;  font-weight: 700;  color: var(--primary, #3b82f6);  margin: 0 0 var(--space-s, 12px) 0;} .cost-answer__text {  font-size: var(--text-l, 1.1875rem);  line-height: 1.6;  color: var(--text-dark, #1e293b);  margin: 0;} .cost-answer__text strong { font-weight: 700; } .cost-answer__text em { font-style: italic; color: var(--text-dark, #1e293b); } .cost-answer__source {  font-size: var(--text-s, 0.875rem);  color: var(--secondary, #64748b);  line-height: 1.5;  margin: var(--space-m, 20px) 0 0 0;}/* -----------------------------------------------------------------------------  4. GEO BLOCK — ABOUT-THIS-DATA / PROVENANCE NOTE  Distinguishes neutral market data from MF claims. Caption discipline.  -------------------------------------------------------------------------- */.cost-data {  display: flex;  gap: var(--space-m, 20px);  align-items: flex-start;  background: var(--base-ultra-light, #f9fafb);  border: 1px solid var(--base-light, #e5e7eb);  border-radius: var(--radius-m, 12px);  padding: var(--space-l, 28px);  margin: var(--space-l, 28px) 0 0 0;} .cost-data__icon {  flex-shrink: 0;  width: 40px;  height: 40px;  border-radius: var(--radius-s, 8px);  background: var(--white, #ffffff);  border: 1px solid var(--base-light, #e5e7eb);  color: var(--secondary, #64748b);  display: flex !important;  align-items: center !important;  justify-content: center !important;} .cost-data__icon svg { width: 20px; height: 20px; } .cost-data__text {  font-size: var(--text-s, 0.9375rem);  line-height: 1.6;  color: var(--text-medium, #475569);  margin: 0;} .cost-data__text strong { color: var(--text-dark, #1e293b); font-weight: 600; }/* -----------------------------------------------------------------------------  5. GEO BLOCK — DATA TABLE (+ visible caption)  Clean typographic table; ranges as live text; tabular-nums.  -------------------------------------------------------------------------- */.cost-table-wrap {  width: 100%;  overflow-x: auto;  margin: var(--space-l, 28px) 0;  -webkit-overflow-scrolling: touch;} .cost-table {  width: 100%;  border-collapse: collapse;  font-size: var(--text-s, 0.9375rem);  line-height: 1.5;  text-align: left;} .cost-table caption,.cost-table__caption {  caption-side: top;  text-align: left;  font-size: var(--text-s, 0.875rem);  color: var(--secondary, #64748b);  line-height: 1.55;  margin: 0 0 var(--space-m, 20px) 0;  font-style: italic;} .cost-table thead th {  font-size: var(--text-xs, 0.75rem);  text-transform: uppercase;  letter-spacing: 0.06em;  font-weight: 700;  color: var(--secondary, #64748b);  padding: 0 var(--space-m, 20px) var(--space-s, 12px) 0;  border-bottom: 2px solid var(--base-light, #e5e7eb);  vertical-align: bottom;} .cost-table tbody th {  font-weight: 700;  color: var(--text-dark, #1e293b);} .cost-table tbody th,.cost-table tbody td {  padding: var(--space-m, 18px) var(--space-m, 20px) var(--space-m, 18px) 0;  border-bottom: 1px solid var(--base-light, #e5e7eb);  vertical-align: top;  color: var(--text-medium, #475569);} .cost-table tbody tr:last-child th,.cost-table tbody tr:last-child td {  border-bottom: none;}/* Last column = price; emphasised, right-aligned, no wrap */.cost-table th:last-child,.cost-table td:last-child {  padding-right: 0;  text-align: right;  white-space: nowrap;} .cost-table__price {  font-weight: 700;  color: var(--text-dark, #1e293b);} .cost-table__sub {  display: block;  font-weight: 400;  font-size: var(--text-xs, 0.75rem);  color: var(--secondary, #64748b);  white-space: normal;  margin-top: 2px;}/* MF pricing table variant — subtle primary tint to set it apart from market */.cost-table--mf tbody th,.cost-table--mf tbody td {  border-bottom-color: rgba(59, 130, 246, 0.18);} .cost-table--mf .cost-table__price {  color: var(--primary-dark, #2563eb);}/* -----------------------------------------------------------------------------  6. STAT CALLOUT — the "98% don't price by the hour" hero number  -------------------------------------------------------------------------- */.cost-stat {  background: var(--white, #ffffff);  border: 1px solid var(--base-light, #e5e7eb);  border-radius: var(--radius-l, 16px);  padding: var(--space-xl, 40px);  margin: var(--space-l, 28px) 0;  text-align: center;  box-shadow: 0 10px 40px -18px rgba(15, 23, 42, 0.16);} .cost-stat__figure {  font-family: var(--font-serif, 'Playfair Display', Georgia, serif);  font-size: clamp(3.25rem, 9vw, 5rem);  line-height: 1;  font-weight: 700;  color: var(--primary, #3b82f6);  margin: 0;  background: linear-gradient(90deg, var(--primary, #3b82f6), var(--action, #22c55e));  -webkit-background-clip: text;  background-clip: text;  -webkit-text-fill-color: transparent;} .cost-stat__label {  font-size: var(--text-l, 1.125rem);  color: var(--text-dark, #1e293b);  line-height: 1.5;  margin: var(--space-s, 12px) 0 0 0;} .cost-stat__source {  font-size: var(--text-s, 0.875rem);  color: var(--secondary, #64748b);  margin: var(--space-m, 20px) 0 0 0;}/* -----------------------------------------------------------------------------  7. LISTS — market bullets, scenario list, factors  -------------------------------------------------------------------------- */.cost-list {  list-style: none;  margin: var(--space-l, 28px) 0;  padding: 0;  max-width: 64ch;} .cost-list > li {  position: relative;  padding: 0 0 var(--space-m, 20px) var(--space-l, 28px);  font-size: var(--text-m, 1.0625rem);  line-height: 1.7;  color: var(--text-medium, #475569);} .cost-list > li::before {  content: "";  position: absolute;  left: 0;  top: 0.65em;  width: 8px;  height: 8px;  border-radius: 50%;  background: linear-gradient(135deg, var(--primary, #3b82f6), var(--action, #22c55e));} .cost-list > li:last-child { padding-bottom: 0; } .cost-list strong { color: var(--text-dark, #1e293b); font-weight: 600; } .cost-list em { font-style: italic; }/* Factors list — bold lead + dash continuation */.cost-factors {  list-style: none;  margin: var(--space-l, 28px) 0 0 0;  padding: 0;  display: grid;  gap: var(--space-m, 20px);  max-width: 64ch;} .cost-factors > li {  padding-left: var(--space-l, 28px);  position: relative;  font-size: var(--text-m, 1.0625rem);  line-height: 1.6;  color: var(--text-medium, #475569);} .cost-factors > li::before {  content: "";  position: absolute;  left: 0;  top: 0.7em;  width: 14px;  height: 2px;  border-radius: 2px;  background: var(--primary, #3b82f6);} .cost-factors strong { color: var(--text-dark, #1e293b); font-weight: 700; }/* -----------------------------------------------------------------------------  8. CARDS + GRIDS — scenarios, value (capacity/judgment/objectivity), fit  -------------------------------------------------------------------------- */.cost-grid {  display: grid;  grid-template-columns: 1fr;  gap: var(--space-l, 24px);  margin: var(--space-l, 28px) 0 0 0;}@media (min-width: 768px) {  .cost-grid--2 { grid-template-columns: repeat(2, 1fr); }  .cost-grid--3 { grid-template-columns: repeat(3, 1fr); }} .cost-card {  background: var(--white, #ffffff);  border: 1px solid var(--base-light, #e5e7eb);  border-radius: var(--radius-m, 12px);  padding: var(--space-l, 28px);  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;} .cost-card:hover {  transform: translateY(-3px);  border-color: var(--primary-light, #93c5fd);  box-shadow: 0 12px 32px -12px rgba(15, 23, 42, 0.14);}/* Horizontal "ledger row" card — title beside body on desktop. For long-form  cards (e.g. scenarios with sentence-length titles) that squish in a 3-up  grid. Use a plain .cost-grid (no --3) so the rows stack full-width. */@media (min-width: 768px) {  .cost-card--row {    display: grid;    grid-template-columns: 4fr 6fr;    gap: var(--space-xl, 40px);    align-items: start;  }} .cost-card--row:hover { transform: none; } .cost-card__title {  font-size: var(--text-l, 1.125rem);  font-weight: 700;  color: var(--text-dark, #1e293b);  margin: 0 0 var(--space-s, 12px) 0;} .cost-card__body {  font-size: var(--text-m, 1rem);  line-height: 1.65;  color: var(--text-medium, #475569);  margin: 0;} .cost-card__body strong { color: var(--text-dark, #1e293b); font-weight: 600; } .cost-card__price {  display: inline-block;  margin-top: var(--space-s, 12px);  font-weight: 700;  color: var(--primary-dark, #2563eb);}/* Fit block — yes / not-yet pair */.cost-fit__card--yes { border-top: 3px solid var(--action, #22c55e); } .cost-fit__card--no { border-top: 3px solid var(--secondary, #94a3b8); } .cost-fit__heading {  font-size: var(--text-m, 1rem);  font-weight: 700;  margin: 0 0 var(--space-s, 12px) 0;} .cost-fit__card--yes .cost-fit__heading { color: var(--action, #16a34a); } .cost-fit__card--no .cost-fit__heading { color: var(--secondary, #64748b); }/* -----------------------------------------------------------------------------  9. ASIDE / PULL-QUOTE — the "if we're not the right fit" voice moment  -------------------------------------------------------------------------- */.cost-aside {  border-left: 3px solid var(--base-light, #e5e7eb);  padding-left: var(--space-l, 28px);  margin: var(--space-l, 28px) 0 0 0;  max-width: 60ch;} .cost-aside p {  font-family: var(--font-serif, 'Playfair Display', Georgia, serif);  font-style: italic;  font-size: var(--text-l, 1.1875rem);  line-height: 1.6;  color: var(--secondary, #64748b);  margin: 0;}/* -----------------------------------------------------------------------------  10. FAQ — native <details>, content always in DOM (GEO-safe)  -------------------------------------------------------------------------- */.cost-faq {  margin: var(--space-l, 28px) 0 0 0;  border-top: 1px solid var(--base-light, #e5e7eb);} .cost-faq__item {  border-bottom: 1px solid var(--base-light, #e5e7eb);} .cost-faq__q {  list-style: none;  cursor: pointer;  display: flex;  align-items: flex-start;  justify-content: space-between;  gap: var(--space-m, 20px);  padding: var(--space-m, 20px) 0;  font-size: var(--text-l, 1.125rem);  font-weight: 700;  color: var(--text-dark, #1e293b);  transition: color 0.2s ease;} .cost-faq__q::-webkit-details-marker { display: none; } .cost-faq__item:hover .cost-faq__q { color: var(--primary, #3b82f6); } .cost-faq__chev {  flex-shrink: 0;  width: 20px;  height: 20px;  margin-top: 3px;  color: var(--secondary, #94a3b8);  transition: transform 0.2s ease, color 0.2s ease;} .cost-faq__item[open] .cost-faq__chev {  transform: rotate(180deg);  color: var(--primary, #3b82f6);} .cost-faq__a {  padding: 0 0 var(--space-l, 24px) 0;  max-width: 64ch;} .cost-faq__a p {  font-size: var(--text-m, 1.0625rem);  line-height: 1.7;  color: var(--text-medium, #475569);  margin: 0;} .cost-faq__a strong { color: var(--text-dark, #1e293b); font-weight: 600; } .cost-faq__a em { font-style: italic; }/* -----------------------------------------------------------------------------  11. FINAL CTA  -------------------------------------------------------------------------- */.cost-final {  text-align: center;  max-width: 60ch;  margin-inline: auto;} .cost-final__title {  font-family: var(--font-serif, 'Playfair Display', Georgia, serif);  font-size: var(--h3, 1.75rem);  font-weight: 700;  color: var(--text-dark, #1e293b);  margin: 0 0 var(--space-m, 20px) 0;} .cost-final__text {  font-size: var(--text-l, 1.125rem);  line-height: 1.65;  color: var(--text-medium, #475569);  margin: 0 0 var(--space-l, 28px) 0;} .cost-final__actions {  display: flex;  justify-content: center;  margin-bottom: var(--space-l, 28px);} .cost-final__links {  font-size: var(--text-s, 0.9375rem);  color: var(--secondary, #64748b);  line-height: 1.6;  margin: 0;}/* "Further reading" link — editorial affordance with arrow-nudge on hover */.cost-readmore {  margin-top: var(--space-l, 28px);  font-size: var(--text-m, 1rem);  font-weight: 600;} .cost-readmore a {  color: var(--primary, #3b82f6);  text-decoration: none;  transition: color 0.2s ease;} .cost-readmore a:hover { color: var(--primary-dark, #2563eb); } .cost-readmore a span {  display: inline-block;  transition: transform 0.2s ease;} .cost-readmore a:hover span { transform: translateX(4px); }/* Read-more inside an FAQ answer needs its own top gap (FAQ paragraphs are flush) */.cost-faq__a .cost-readmore { margin-top: var(--space-m, 16px); }/* -----------------------------------------------------------------------------  12. RESPONSIVE  -------------------------------------------------------------------------- */@media (max-width: 767px) {  .cost-section { padding-block: var(--section-space-m, 56px); }  .cost-stat { padding: var(--space-l, 28px); }  /* Stack price tables: reveal the column header inline via data-label */  .cost-table thead { display: none; }  .cost-table,  .cost-table tbody,  .cost-table tbody tr,  .cost-table tbody th,  .cost-table tbody td { display: block; width: 100%; }  .cost-table tbody tr {    padding: var(--space-m, 18px) 0;    border-bottom: 1px solid var(--base-light, #e5e7eb);  }  .cost-table tbody tr:last-child { border-bottom: none; }  .cost-table tbody th,  .cost-table tbody td {    padding: 0 0 var(--space-xs, 6px) 0;    border-bottom: none;  }  .cost-table th:last-child,  .cost-table td:last-child {    text-align: left;    white-space: normal;    padding-top: var(--space-xs, 6px);  }  .cost-table td[data-label]::before {    content: attr(data-label);    display: block;    font-size: var(--text-xs, 0.7rem);    text-transform: uppercase;    letter-spacing: 0.06em;    color: var(--secondary, #94a3b8);    margin-bottom: 2px;  }}/* -----------------------------------------------------------------------------  13. REDUCED MOTION  -------------------------------------------------------------------------- */@media (prefers-reduced-motion: reduce) {  .cost-card,  .cost-faq__q,  .cost-faq__chev,  .cost-answer a,  .cost-prose a,  .cost-readmore a span {    transition: none;  }  .cost-card:hover { transform: none; }  .cost-readmore a:hover span { transform: none; }}