/* BidClarity brand v1.0.2 — the Home and Pricing page styles (Track B, F3; written to <web-tree>/css/brand-pages.css by brand/build_brand.py).
   Ported from the two approved samples (brand-source/v1.0.2/samples, D1) onto the brand tokens: every colour, size and radius is a token;
   the sample's teal-on-white .fit/.k/.src b text is ink (D2). Loads after /assets/brand/brand.css and /assets/brand/site.css. */
body { margin: 0; }
a { color: inherit; }
.wrap { max-width: var(--bc-container-max); margin: 0 auto; padding: 0 var(--bc-gutter-desktop); }
@media (max-width: 71.25rem) { .wrap { padding: 0 var(--bc-gutter-tablet); } }
@media (max-width: 47.5rem) { .wrap { padding: 0 var(--bc-gutter-mobile); } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
h1, h2, h3, h4, p { margin: 0; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: var(--bc-button-height); padding: 12px 24px; border-radius: var(--bc-radius); font: 600 1rem/1.5 var(--bc-font-sans); border: 1.5px solid var(--bc-border-strong); text-decoration: none; background: var(--bc-secondary-bg); color: var(--bc-secondary-text); text-align: center; }
.btn:hover { background: var(--bc-secondary-hover); }
.btn-p { background: var(--bc-primary-bg); border-color: var(--bc-primary-bg); color: var(--bc-primary-text); }
.btn-p:hover { background: var(--bc-primary-hover); border-color: var(--bc-primary-hover); }
.btn-p:active { background: var(--bc-primary-pressed); border-color: var(--bc-primary-pressed); }
.btn-w { background: var(--bc-surface); }
.btn-w:hover { background: var(--bc-secondary-hover); }
.btn-ink { background: var(--bc-pricing-inverse-bg); border-color: var(--bc-pricing-inverse-bg); color: var(--bc-pricing-inverse-text); }
.btn-ink:hover { background: var(--bc-pricing-inverse-hover); border-color: var(--bc-pricing-inverse-hover); }
.link { color: var(--bc-link); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.link:hover { color: var(--bc-link-hover); text-decoration-thickness: 2px; }
.ink-link { color: var(--bc-link-on-white); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
[data-bc-surface="navy"] .link { color: var(--bc-link); }

/* ═══ Home (home-approved-sample.html) ═══ */
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; padding-top: 40px; padding-bottom: 96px; align-items: start; }   /* H09: the reading card reaches the first view */
.hero h1 { overflow-wrap: break-word; font-weight: var(--bc-weight-hero); font-size: var(--bc-type-hero); line-height: var(--bc-leading-hero); letter-spacing: var(--bc-tracking-hero); }
.hero h1 .it { display: block; font-size: 1.12em; line-height: 1.05; margin-top: .06em; }
.lede { font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); max-width: 30em; margin: 28px 0 34px; }
.cta { display: flex; gap: 12px; flex-wrap: wrap; }
/* DISPATCH B 356: the pack's eyebrow, the card line near the trial button (override 5), the reading card's paragraph and source line */
.eyebrow { margin: 0 0 18px; font-size: .9375rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--bc-brand); }
.card-line { margin: 18px 0 0; font-size: 1rem; color: var(--bc-text-secondary); }
.hero .bc-ask { margin-top: 22px; }
.read .rp { margin: 12px 0 0; font-size: 1rem; line-height: 1.5; color: var(--bc-text); }
.read .rs { margin: 12px 0 0; font-size: .875rem; color: var(--bc-text-secondary); }
.read .rs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; min-height: 44px; }
/* the tender and reading composition (§4): real HTML text, in normal grid flow, the paper margin reserved below the last clause */
.comp { position: relative; padding-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr); }
/* the match-email card in the hero (DISPATCH B 403, the Founder c1434-c1437): one Strong match card in the email's own markup
   (inline styles from Track J's digest code), one card per market shown by js/match-card.js; the card is enlarged with zoom so its
   field text reads at 1440 (1.26x: the card lays out at 468 px in the 590 px column) and at 390 (1.1x: 318 px in 350 px), never shrunk */
.mail-stack { min-width: 0; padding-top: 8px; display: grid; grid-template-columns: minmax(0, 1fr); }
.mail-stack > .mc-card { display: block; min-width: 0; zoom: 1.1; max-width: 520px; }
/* c1451 reset: the card is taller than the hero text at any readable size, so the text column sits centred beside it (no empty block below the text) */
.hero .wrap:has(.mail-stack[data-match-cards]) { align-items: center; }
.mail-stack > .mc-card[hidden] { display: none; }
.mail-stack > .mc-card .email-card { margin-bottom: 0; font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif; color: #1A1F2E; font-size: 16px; line-height: 1.55; overflow-wrap: break-word; }
/* c1447 one-pass list, item 5: on phones Why you match and Gaps to address stack */
@media (max-width: 47.5rem) { .mail-stack > .mc-card .email-card table td[style*="width:50%"], .mail-stack > .mc-card .email-card table td[style*="width:50%"] + td { display: block; width: 100% !important; padding-right: 0 !important; } .mail-stack > .mc-card .email-card table td[style*="width:50%"] + td { margin-top: 10px; } }
.mail-stack > .mail-under { grid-row: 2; margin: 12px 0 0; font-size: .9375rem; color: var(--bc-text-secondary); }
.evid .evid-comp { padding-top: 0; }
.illus { font-size: .875rem; color: var(--bc-text-secondary); margin: 0 0 12px; }
.doc { background: var(--bc-document); border: 1px solid var(--bc-border); padding: 34px 38px 104px; width: 92%; max-width: var(--bc-document-max); font-family: var(--bc-font-document); color: var(--bc-document-text); font-size: 1rem; line-height: 1.55; }
.doc, .read { min-width: 0; overflow-wrap: break-word; }   /* W-P1-3: long words wrap inside the cards at large text sizes; nothing changes at the default size */
.doc .hd { font-family: var(--bc-font-sans); font-size: .8125rem; color: var(--bc-text-muted); display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--bc-border); padding-bottom: 10px; margin-bottom: 16px; }
/* W-P1-2: the illustrative tender's title, section and the reading's label are pictured text, not page headings */
.doc .dt { font-family: var(--bc-font-sans); font-weight: 600; font-size: 1.1875rem; margin: 0 0 4px; color: var(--bc-text); }
.doc .sub { font-family: var(--bc-font-sans); font-size: .875rem; color: var(--bc-text-muted); margin-bottom: 18px; }
.doc .dh { font-family: var(--bc-font-sans); font-size: .875rem; font-weight: 600; margin: 16px 0 6px; color: var(--bc-text); }
.doc p { margin: 0 0 9px; }
.doc mark { background: var(--bc-highlight-bg); color: inherit; padding: 1px 2px; box-shadow: inset 0 -2px 0 var(--bc-highlight-edge); }
.read { position: relative; width: 62%; max-width: var(--bc-reading-max-width); margin: -112px 0 0 auto; background: var(--bc-surface); border: 1px solid var(--bc-border); border-top: 4px solid var(--bc-brand); padding: 24px; font-size: 1rem; line-height: 1.45; color: var(--bc-text); }
.read .fit { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; font-size: .9375rem; font-weight: 600; color: var(--bc-text); }
/* W-P1-3: the badge moves under the label only when the label's longest word and the badge can't share the line (large text sizes) */
.read .fit > :first-child { flex: 1 1 0; min-width: min-content; }
.badge { white-space: nowrap; font-size: .875rem; font-weight: 600; padding: 3px 9px; border-radius: var(--bc-radius-sm); background: var(--bc-status-met-bg); color: var(--bc-status-met-text); border: 1px solid var(--bc-status-met-border); }
.read .t { font-weight: 600; font-size: 1.125rem; margin: 2px 0; }
.read .ag { color: var(--bc-text-secondary); font-size: .9375rem; margin-bottom: 12px; }
.read .ck { margin: 12px 0 6px; font-size: .9375rem; font-weight: 600; }
.li { display: flex; gap: 8px; margin: 5px 0; align-items: flex-start; }
.li b { flex: 0 0 18px; font-weight: 700; }
.li .c { color: var(--bc-status-met-text); }
.li .w2 { color: var(--bc-status-check-text); }
.ref { font-size: .875rem; color: var(--bc-text-secondary); margin-left: auto; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
.ref a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* chapter */
.ch { margin-top: 0; }
.ch .wrap { padding-top: var(--bc-section-padding); padding-bottom: var(--bc-section-padding); }
.ch .stmt { font-weight: var(--bc-weight-chapter); font-size: var(--bc-type-chapter); line-height: var(--bc-leading-chapter); letter-spacing: var(--bc-tracking-chapter); max-width: 16ch; }
.tabs { min-width: 0; max-width: 100%; display: flex; gap: 0; margin: 56px 0 0; border-bottom: 1px solid var(--bc-border); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; }   /* overflow-y: the tabs' -1px margin makes the content 1px taller than the strip; with overflow-x auto that 1px drew a vertical scrollbar on classic (Windows) scrollbars. It was already clipped, so nothing visible changes */
.tabs button { flex: 0 0 auto; padding: 14px 26px 16px; font: 600 1.125rem/1.5 var(--bc-font-sans); color: var(--bc-text-muted); background: transparent; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; cursor: pointer; min-height: 48px; }
.tabs button[aria-selected="true"] { color: var(--bc-text); border-bottom-color: var(--bc-brand-bright); }
.hint { font-size: .9375rem; color: var(--bc-text-muted); margin-top: 14px; }
.ch .stmt { max-width: 22ch; }
.stmt-p { margin: 22px 0 0; max-width: 36em; font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-pricing-inverse-text); opacity: .86; }
.stage-lead { margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--bc-border); font-size: 1.125rem; line-height: 1.5; color: var(--bc-text-secondary); }
.stage-lead b { color: var(--bc-text); font-weight: 600; }
.panel .more { display: flex; gap: 12px 28px; flex-wrap: wrap; align-items: center; }
.panel .next { font: 600 1rem/1.5 var(--bc-font-sans); color: var(--bc-text); background: transparent; border: 0; padding: 0; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.panel .next:focus-visible { outline: 2px solid var(--bc-focus); outline-offset: 3px; }
.ch-more { margin: 32px 0 0; font-size: 1.125rem; }
.state { display: inline-block; vertical-align: middle; margin-left: 6px; border-radius: 999px; padding: 2px 10px; font: 700 .8125rem/1.5 var(--bc-font-sans); letter-spacing: .01em; white-space: nowrap; font-style: normal; }
.state-next { background: #FFF2D5; color: #79500A; }
.plan .feat li .state { white-space: normal; margin-left: 4px; }   /* the card lines wrap with their label at large text sizes */
.panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; margin-top: 36px; }
.panel[hidden] { display: none; }
.panel .l { padding: 40px 44px; border-right: 1px solid var(--bc-border); }
.panel .r { padding: 40px 44px; background: var(--bc-subtle); }
.panel .k { font-size: .9375rem; font-weight: 600; color: var(--bc-text); margin-bottom: 6px; }
.panel h3 { margin: 0 0 6px; font-size: 1.875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.panel .ag { color: var(--bc-text-secondary); font-size: 1rem; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0 24px; list-style: none; padding: 0; }
.chips li { border: 1px solid var(--bc-border-control); padding: 5px 12px; font-size: .9375rem; border-radius: var(--bc-radius-sm); }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cols h4 { margin: 0 0 8px; font-size: 1rem; font-weight: 600; }
.panel .src { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--bc-border); font-size: .9375rem; color: var(--bc-text-secondary); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.panel .src b { color: var(--bc-text); }
.panel .r h4 { margin: 0 0 14px; font-size: 1rem; font-weight: 600; }
.q { border-left: 3px solid var(--bc-highlight-bg); padding: 2px 0 2px 14px; font-family: var(--bc-font-document); font-size: 1rem; color: var(--bc-document-text); margin-bottom: 18px; }
.q small { display: block; font-family: var(--bc-font-sans); font-size: .875rem; color: var(--bc-text-secondary); margin-top: 6px; }
.panel .more { margin-top: 20px; font-size: 1rem; }
.panel .illus { margin: 16px 0 0; }
/* the evidence band (copy/01): the reason, then the detail */
.evid { border-top: 1px solid var(--bc-border); }
.evid .wrap { padding-top: var(--bc-section-padding); padding-bottom: var(--bc-section-padding); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.evid h2 { font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); }
.evid p { margin: 18px 0 0; font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); max-width: 32em; }
.evid .evid-more { margin-top: 22px; font-size: 1.125rem; }
.evid-card { background: var(--bc-surface); border: 1px solid var(--bc-border); border-top: 4px solid var(--bc-brand); padding: 24px; }
.evid-card .illus { margin: 0 0 14px; }
.evid-card .li { margin: 8px 0; font-size: 1rem; }
.evid-card .li i { color: var(--bc-text-secondary); }
.evid-card .q { margin: 12px 0 14px 26px; }
.evid-card .est b { color: var(--bc-text-secondary); }
/* coverage */
.cov .wrap { padding-top: 104px; padding-bottom: 104px; }
.cov-def { margin: 40px 0 0; max-width: 46em; font-size: 1.125rem; line-height: 1.5; color: var(--bc-text-secondary); }
.cov-def a { color: var(--bc-link); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* entrance (§5): one settle on page load, after the fonts are ready; hover lift afterwards */
.doc.bc-document-object { transform: rotate(var(--bc-document-rest-rotation)); }
@media (max-width: 71.25rem) {
  .hero .wrap { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-bottom: 96px; }
}
@media (max-width: 47.5rem) {
  .hero .wrap { gap: 40px; padding-top: 28px; padding-bottom: 80px; }
  .mail-stack > .mc-card { zoom: 1.1; max-width: none; }
  .lede { margin: 20px 0 24px; }
  .doc { width: 100%; padding: 22px 20px 72px; font-size: 1rem; }
  .doc.bc-document-object { transform: none; }
  .read { width: calc(100% - 24px); max-width: none; margin: -24px 0 0 24px; }
  .ch .wrap { padding-top: var(--bc-section-padding-mobile); padding-bottom: var(--bc-section-padding-mobile); }
  .tabs { margin-top: 36px; }
  .tabs button { padding: 12px 14px; font-size: 1rem; }
  .panel { grid-template-columns: minmax(0, 1fr); }
  .panel .l, .panel .r { padding: 26px 22px; }
  .panel .l { border-right: 0; border-bottom: 1px solid var(--bc-border); }
  .panel h3 { font-size: 1.5rem; }
  .cols { grid-template-columns: minmax(0, 1fr); }
  .cov .wrap { padding-top: var(--bc-section-padding-mobile); padding-bottom: var(--bc-section-padding-mobile); }
  .cov-def { margin-top: 28px; }
  .evid .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: var(--bc-section-padding-mobile); padding-bottom: var(--bc-section-padding-mobile); }
  .ch .stmt { max-width: none; }
  .stmt-p { margin-top: 16px; }
  .panel .next { min-height: 44px; }
}
@media (max-width: 71.25rem) { .evid .wrap { gap: 40px; } }
@media (max-width: 22.5rem) { .read { width: 100%; margin-left: 0; } }

/* ═══ Pricing (pricing-approved-sample.html; the rev8 behaviour) ═══ */
.phero .wrap { padding-top: 72px; padding-bottom: 56px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: end; }
.phero h1 { font-weight: 800; font-size: var(--bc-pricing-hero-size); line-height: 1.02; letter-spacing: -.035em; }
.phero h1 .it { display: block; font-size: 1.12em; line-height: 1.05; margin-top: .06em; }
.phero .lede { margin: 0 0 28px; }
.switch { margin: 22px 0 0; font-size: 1.0625rem; font-weight: 600; color: var(--bc-text); border-left: 3px solid var(--bc-brand); padding-left: 14px; max-width: 30em; }
.bill { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 8px; }
.seg { display: inline-flex; flex-wrap: wrap; max-width: 100%; border: 1.5px solid var(--bc-border-control); border-radius: var(--bc-radius); background: var(--bc-surface); padding: 3px; }
.seg button { font: 600 1rem/1 var(--bc-font-sans); min-height: 44px; padding: 0 22px; border: 0; background: transparent; color: var(--bc-text-secondary); border-radius: 2px; cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--bc-pricing-inverse-bg); color: var(--bc-pricing-inverse-text); }
.save { font-size: 1rem; color: var(--bc-text-secondary); }
.save b { color: var(--bc-status-met-text); font-weight: 600; }
main[data-billing="monthly"] .yearly-only, main[data-billing="yearly"] .monthly-only { display: none; }
.plans { display: grid; grid-template-columns: 1fr 1.06fr 1fr; background: var(--bc-surface); border: 1px solid var(--bc-border); border-radius: var(--bc-radius); margin-top: 32px; position: relative; }
.plan { padding: 40px var(--bc-pricing-plan-padding-inline) 34px; display: flex; flex-direction: column; border-right: 1px solid var(--bc-border); min-width: 0; }
.plan:last-child { border-right: 0; }
.plan.hero-plan { margin: calc(-1 * var(--bc-pricing-plan-overhang)) 0; border-radius: var(--bc-radius); border-right: 0; padding-top: 58px; padding-bottom: 52px; box-shadow: var(--bc-shadow-object); }
.hero-plan .tag { align-self: flex-start; font-size: .875rem; font-weight: 600; color: var(--bc-pricing-inverse-bg); background: var(--bc-brand-bright); padding: 4px 10px; border-radius: var(--bc-radius-sm); margin: -34px 0 14px; }
.plan h2 { font-size: 1.875rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.aud { margin: 8px 0 0; font-size: 1.125rem; color: var(--bc-text-secondary); }
.price { margin-top: 22px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.price b { font-size: var(--bc-pricing-price-size); font-weight: 800; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; }
.price > span { font-size: 1.0625rem; color: var(--bc-text-secondary); }
.price b span { font-size: inherit; color: inherit; }
.yr { margin-top: 12px; font-size: 1rem; color: var(--bc-text-secondary); }
.yr b { color: var(--bc-status-met-text); font-weight: 600; }
.allow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 26px 0 0; border-top: 1px solid var(--bc-border); border-bottom: 1px solid var(--bc-border); }
.allow div { padding: 14px 8px 14px 0; font-size: .875rem; line-height: 1.35; color: var(--bc-text-secondary); min-width: 0; }
.allow div + div { padding-left: 12px; border-left: 1px solid var(--bc-border); }
.allow strong { display: block; font-size: clamp(1.25rem, 1.55vw, 1.5rem); font-weight: 800; color: var(--bc-text); letter-spacing: -.03em; margin-bottom: 4px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plan h3 { margin: 28px 0 12px; font-size: 1.0625rem; font-weight: 600; }
.feat { list-style: none; margin: 0; padding: 0; font-size: 1.125rem; line-height: 1.45; }
.feat li { display: flex; gap: 10px; padding: 6px 0; align-items: flex-start; }
.feat li svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 4px; color: var(--bc-status-met-text); }
.hero-plan .feat li svg { color: var(--bc-brand); }
.bystage { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: .9375rem; }
.plan .act { margin-top: auto; padding-top: 28px; }
.plan .act .btn { width: 100%; }
.terms { margin-top: 14px; font-size: 1rem; line-height: 1.55; color: var(--bc-text-secondary); }
.terms > span { display: block; }
.terms span span { display: inline; }
.ent { margin-top: 40px; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; border-top: 2px solid var(--bc-text); padding: 28px 0 32px; border-bottom: 1px solid var(--bc-border); }
.ent h2 { font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; }
.ent p { margin: 6px 0 0; color: var(--bc-text-secondary); }
.ent .sm { font-size: 1rem; margin-top: 8px; }
/* W-334-1 (W 67/69 on DISPATCH B 334; fixed in B 340): the two Enterprise buttons sit side by side above the phone layout; stacked from 760px down (the 47.5rem block) */
.ent .acts { display: flex; gap: 10px; align-items: center; }
.addons { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding: 32px 0 8px; }
.addons h3 { margin: 0 0 6px; font-size: 1.25rem; font-weight: 600; }
.addons p { margin: 0; color: var(--bc-text-secondary); font-size: 1.0625rem; }
.only { display: inline-block; margin: 12px 0 4px; font-size: .875rem; font-weight: 600; background: var(--bc-status-neutral-bg); color: var(--bc-status-neutral-text); padding: 3px 8px; border-radius: var(--bc-radius-sm); border: 1px solid var(--bc-status-neutral-border); }
.addons .links { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; font-size: 1rem; }
.addons .links a { display: inline-flex; align-items: center; min-height: 44px; }
.cmp { padding-top: 96px; }
.cmp h2, .sec h2, .close h2 { font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); }
.cmp .sub { color: var(--bc-text-secondary); margin: 10px 0 0; max-width: 46em; }
.cmp .tools { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.ft-table { width: 100%; border-collapse: collapse; background: var(--bc-surface); border: 1px solid var(--bc-border); font-size: .9375rem; }
.ft-table th, .ft-table td { padding: 14px 18px; border-bottom: 1px solid var(--bc-border); text-align: left; vertical-align: top; }
.ft-table thead th { font-size: 1rem; font-weight: 600; background: var(--bc-subtle); position: sticky; top: var(--bc-nav-height); z-index: 1; }
.ft-table thead th:not(:first-child), .ft-table td { text-align: center; width: 14%; }
.ft-table thead th:nth-child(3) { background: var(--bc-pricing-inverse-bg); color: var(--bc-pricing-inverse-text); }
.ft-table td:nth-child(3) { background: var(--bc-bg); }
.ft-table tbody th[scope="row"] { font-weight: 400; text-align: left; }
.ft-table tbody th[scope="row"] small.rn, .lc-pane small.rn { display: block; margin-top: 4px; font-size: .875rem; line-height: 1.45; color: var(--bc-text-secondary); }   /* a row's note (CQ-1458-1 (b)) */
.ft-table tr.grp th { background: var(--bc-subtle); font-size: 1rem; font-weight: 600; padding-top: 16px; text-align: left; }
.ft-table .stp { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--bc-text); color: var(--bc-bg); font-size: .8125rem; font-weight: 600; margin-right: 10px; }
.ft-table .yes .tk { color: var(--bc-status-met-text); font-weight: 700; }
.ft-table .no .tk { color: var(--bc-text-muted); }
.ft-table .add a { color: var(--bc-link-on-white); text-decoration: underline; }
.ft-table .val { font-variant-numeric: tabular-nums; }
.js .ft-table:not(.all) tr.extra { display: none; }
.ft-toggle { white-space: normal; }
.lc-sel { display: none; }
.notes { margin-top: 24px; font-size: 1.125rem; color: var(--bc-text-secondary); border-top: 1px solid var(--bc-border); }
.notes p { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--bc-border); }
.notes b { color: var(--bc-text); }
.notes a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
.ch.pch { margin-top: var(--bc-section-padding); }
.ch .stmt.pst { max-width: 19ch; }
.vals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 64px; border-top: 1px solid var(--bc-border); }
.vals div { padding: 28px 28px 0 0; }
.vals div + div { padding-left: 28px; border-left: 1px solid var(--bc-border); }
.vals h3 { margin: 0 0 10px; font-size: 1.25rem; font-weight: 600; }
.vals h3::before { content: ""; display: block; width: var(--bc-pricing-value-rule-width); height: 3px; background: var(--bc-brand-bright); margin-bottom: 18px; }
.vals p { margin: 0; color: var(--bc-text-secondary); font-size: 1.125rem; }
.sec { padding-top: var(--bc-section-padding); }
.sec .sub { color: var(--bc-text-secondary); max-width: 36em; margin: 12px 0 28px; }
.sec .sub b { color: var(--bc-text); font-weight: 600; }
.tl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 36px; border-top: 2px solid var(--bc-text); position: relative; }
.tl div { padding: 24px 28px 0 0; position: relative; }
.tl div::before { content: ""; position: absolute; top: -8px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--bc-bg); border: 2px solid var(--bc-text); }
.tl div:first-child::before { background: var(--bc-brand); border-color: var(--bc-brand); }
.tl .when { font-size: 1rem; font-weight: 600; color: var(--bc-text-secondary); }
.tl h3 { margin: 6px 0 8px; font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.tl p { margin: 0; font-size: 1.125rem; color: var(--bc-text-secondary); }
.faq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 56px; margin-top: 40px; border-top: 1px solid var(--bc-border); }
.faq details { padding: 24px 0; border-bottom: 1px solid var(--bc-border); }
.faq summary { list-style: none; cursor: default; }
.faq summary::-webkit-details-marker { display: none; }
.faq h3 { margin: 0 0 8px; font-size: 1.125rem; font-weight: 600; }
.faq p { margin: 0; font-size: 1.125rem; color: var(--bc-text-secondary); }
.faq p a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
/* the one line closing every FAQ block (c1220, B 334): Home, Pricing, Fulfill; faq.html carries its own copy */
.faq-more { margin: 24px 0 0; font-size: 1.125rem; color: var(--bc-text-secondary); }
.faq-more a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
.close { margin-top: var(--bc-section-padding); background: var(--bc-surface); border-top: 1px solid var(--bc-border); }
.close .wrap { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-top: 56px; padding-bottom: 56px; flex-wrap: wrap; }
.close p { margin: 8px 0 0; color: var(--bc-text-secondary); }
.close .cta { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 71.25rem) {
  .plans { grid-template-columns: minmax(0, 1fr); }
  .plan { border-right: 0; border-bottom: 1px solid var(--bc-border); }
  .plan.hero-plan { margin: 0; box-shadow: none; }
  .hero-plan .tag { margin-top: -10px; }
  .vals { grid-template-columns: 1fr 1fr; }
  .vals div:nth-child(3) { padding-left: 0; border-left: 0; }
  .faq { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 56.25rem) {
  .ft-table, .ft-toggle-row { display: none; }
  .lc-sel { display: block; }
}
@media (max-width: 47.5rem) {
  .phero .wrap { grid-template-columns: 1fr; gap: 20px; padding-top: 28px; padding-bottom: 32px; }
  .phero h1 { font-size: var(--bc-pricing-hero-size-mobile); }
  .plan { padding: 32px 22px; }
  .plan.hero-plan { padding-top: 48px; padding-bottom: 32px; }
  .price b { font-size: var(--bc-pricing-price-size-mobile); }
  /* W-P1-3 (Pricing): a plan's figure never grows wider than its card at large text sizes; 20.6cqi is 48 px in the 234 px price row at 320, so the default size is unchanged */
  .plan .price { container-type: inline-size; }
  .plan .price b { font-size: min(var(--bc-pricing-price-size-mobile), 20.6cqi); }
  .ent { grid-template-columns: 1fr; }
  .ent .acts { flex-direction: column; align-items: stretch; }
  .addons { grid-template-columns: 1fr; gap: 32px; }
  .cmp { padding-top: 64px; }
  .cmp .tools { flex-direction: column; align-items: start; }
  .ch.pch { margin-top: var(--bc-section-padding-mobile); }
  .vals { grid-template-columns: 1fr; }
  .vals div, .vals div + div { padding: 24px 0 0; border-left: 0; }
  .sec { padding-top: var(--bc-section-padding-mobile); }
  .tl { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--bc-text); margin-left: 7px; }
  .tl div { padding: 0 0 28px 26px; }
  .tl div::before { top: 6px; left: -9px; }
  .faq { grid-template-columns: 1fr; }
  .faq summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; }
  .faq summary::after { content: ""; width: 10px; height: 10px; border: solid var(--bc-text-muted); border-width: 0 2px 2px 0; transform: rotate(45deg); flex: 0 0 auto; margin-right: 6px; }
  .faq details[open] summary::after { transform: rotate(225deg); }
  .faq h3 { margin: 0; }
  .faq details[open] p { margin-top: 8px; }
  .close { margin-top: var(--bc-section-padding-mobile); }
  .close .cta { flex-direction: column; width: 100%; }
  .close .btn { width: 100%; }
}
@media (max-width: 30rem) { .seg button { flex: 1 1 auto; padding: 0 14px; } }
@media (max-width: 22.5rem) { .allow { grid-template-columns: 1fr; } .allow div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--bc-border); } }
/* the phone plan selector (rev8's reach list): one plan at a time, every row of every stage */
.lc-sel .m-lead { font-size: 1.125rem; font-weight: 600; margin: 0 0 12px; }
.m-reach { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.m-reach button { width: 100%; min-height: 52px; text-align: left; padding: 10px 14px; border: 1.5px solid var(--bc-border-control); border-radius: var(--bc-radius); background: var(--bc-surface); color: var(--bc-text); font: 600 1rem/1.4 var(--bc-font-sans); cursor: pointer; }
.m-reach button[aria-selected="true"] { background: var(--bc-pricing-inverse-bg); color: var(--bc-pricing-inverse-text); border-color: var(--bc-pricing-inverse-bg); }
.m-reach .pn small { display: block; font-weight: 400; font-size: .875rem; }
.lc-pane { margin-top: 16px; background: var(--bc-surface); border: 1px solid var(--bc-border); border-radius: var(--bc-radius); padding: 20px; }
.lc-pane[hidden] { display: none; }
.lc-pane .pname { font-size: 1.125rem; margin: 0 0 12px; }
.lc-pane .pname span { color: var(--bc-text-secondary); margin-left: 8px; font-size: 1rem; }
.lc-pane dl { margin: 0; }
.lc-pane .st { padding: 12px 0; border-top: 1px solid var(--bc-border); }
.lc-pane dt { font-weight: 600; font-size: 1rem; display: flex; align-items: center; }
.lc-pane dt .stp { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--bc-text); color: var(--bc-bg); font-size: .75rem; font-weight: 600; margin-right: 10px; }
.lc-pane dd { margin: 8px 0 0; }
.lc-pane ul { margin: 0; padding: 0; list-style: none; font-size: 1rem; line-height: 1.5; }
.lc-pane li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--bc-border); }
.lc-pane li b { flex: 0 0 auto; font-weight: 600; font-size: .9375rem; }
/* W-P1-3 (Pricing): at large text sizes "Included" / "Not included" moves under the feature when both can't share the line. The query is in em of the plan pane, so it
   only applies when the pane is under 14em wide: never at the default size from 320 px (about 17.5em), only with enlarged text */
.lc-pane { container-type: inline-size; }
@container (max-width: 14em) { .lc-pane li { flex-wrap: wrap; } .lc-pane li > span:first-child { flex: 1 1 0; min-width: min-content; } }
.lc-pane li.yes b { color: var(--bc-status-met-text); }
.lc-pane li.no b { color: var(--bc-text-muted); font-weight: 400; }
.lc-pane li.add b { color: var(--bc-text); }
.lc-pane .add, .lc-pane .no { margin: 4px 0 0; font-size: .9375rem; color: var(--bc-text-secondary); }
.lc-sel .hint { margin-top: 12px; }

/* ═══ Solutions pages (§6 additional bindings Q24/Q26; the old Home sections' content) ═══ */
.sol-head .wrap { padding-top: 48px; padding-bottom: 48px; }
.sol-head .wrap > * { max-width: var(--bc-article-max); }
.sol-head .bc-type-h1 { margin: 0 0 16px; }
.sol-head .lede { margin: 0 0 20px; }
.sol-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bc-border); }
.sol-list li { padding: 12px 0; border-bottom: 1px solid var(--bc-border); font-size: 1.125rem; }
.sol-split .wrap { display: grid; grid-template-columns: 5fr 7fr; gap: 56px; padding-top: 24px; padding-bottom: 96px; align-items: start; }
.sol-copy .bc-type-h2 { margin: 8px 0 16px; }
.sol-copy p { color: var(--bc-text-secondary); margin: 0 0 16px; }
.sol-card { padding: 28px; }
.sol-card h3 { margin: 24px 0 8px; }
.sol-labels { list-style: none; margin: 0 0 8px; padding: 0 0 12px; display: flex; flex-wrap: wrap; gap: 6px 18px; border-bottom: 1px solid var(--bc-border); font-size: 1rem; color: var(--bc-text-secondary); }
.sol-labels .on { color: var(--bc-text); font-weight: 600; box-shadow: inset 0 -3px 0 var(--bc-brand); }
.sol-rows { list-style: none; margin: 0; padding: 0; }
.sol-rows li { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--bc-border); font-size: 1.0625rem; }
.sol-rows li strong { display: block; font-weight: 600; }
.sol-rows.plain li { padding-left: 0; }
.sol-rows .c { color: var(--bc-status-met-text); flex: 0 0 18px; }
.sol-srcmeta { display: flex; gap: 16px; font-size: .9375rem; color: var(--bc-text-secondary); margin: 0 0 8px; }
.sol-doc { padding: 20px 24px; font-size: 1rem; }
.sol-wide .wrap { padding-top: 8px; padding-bottom: 96px; }
.sol-wshead { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 0 0 16px; font-size: 1.0625rem; }
.sol-steps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; counter-reset: s; }
.sol-steps li { border-top: 3px solid var(--bc-border); padding-top: 10px; font-size: .9375rem; }
.sol-steps li b { display: block; font-weight: 600; }
.sol-steps li span { color: var(--bc-text-secondary); }
.sol-steps li.done { border-top-color: var(--bc-status-met-text); }
.sol-steps li.current { border-top-color: var(--bc-brand); }
.sol-scroll { overflow-x: auto; }
.sol-scroll .bc-table { min-width: 640px; }
.sol-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin: 0 0 20px; border-top: 1px solid var(--bc-border); border-bottom: 1px solid var(--bc-border); }
.sol-strip div { padding: 12px 12px 12px 0; }
.sol-strip div + div { padding-left: 12px; border-left: 1px solid var(--bc-border); }
.sol-strip dt { font-size: .875rem; color: var(--bc-text-secondary); }
.sol-strip dd { margin: 2px 0 0; font-size: 1.25rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.sol-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 24px; align-items: start; border-top: 1px solid var(--bc-border); padding-top: 28px; }
.sol-flow li b { display: block; font-size: 1.25rem; font-weight: 600; margin-bottom: 6px; }
.sol-flow li span { color: var(--bc-text-secondary); font-size: 1.0625rem; }
.sol-flow .arrow { font-size: 1.5rem; color: var(--bc-text-muted); padding-top: 2px; }
.sol-future { margin: 40px 0 0; color: var(--bc-text-secondary); }
.sol-future strong { color: var(--bc-text); }
.sol-next .wrap { padding-top: 40px; padding-bottom: 96px; }
@media (max-width: 71.25rem) { .sol-split .wrap { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 47.5rem) {
  .sol-head .wrap { padding-top: 28px; padding-bottom: 28px; }
  .sol-split .wrap, .sol-wide .wrap, .sol-next .wrap { padding-bottom: 64px; }
  .sol-card { padding: 20px; }
  .sol-steps { grid-template-columns: 1fr; gap: 0; }
  .sol-steps li { border-top: 0; border-left: 3px solid var(--bc-border); padding: 8px 0 8px 12px; }
  .sol-steps li.done { border-left-color: var(--bc-status-met-text); } .sol-steps li.current { border-left-color: var(--bc-brand); }
  .sol-strip { grid-template-columns: 1fr; }
  .sol-strip div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; }
  .sol-strip div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--bc-border); }
  .sol-flow { grid-template-columns: 1fr; gap: 16px; }
  .sol-flow .arrow { transform: rotate(90deg); }
}

/* ═══ Reading and copy-led templates (brand/templates/, for Track N; §6 Trust and legal, How Scoring Works, FAQ, About, Updates) ═══ */
.rd-head .wrap { padding-top: 48px; padding-bottom: 32px; }
.rd-head .wrap > * { max-width: var(--bc-article-max); }
.rd-head .bc-type-h1 { margin: 0 0 16px; }
.rd-body { display: grid; grid-template-columns: 240px minmax(0, var(--bc-article-max)); gap: 32px; padding-bottom: 96px; align-items: start; }
.rd-rail { position: sticky; top: calc(var(--bc-nav-height) + 24px); font-size: 1rem; }
.rd-rail__t { font-weight: 600; margin: 0 0 8px; }
.rd-rail ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bc-border); }
.rd-rail li a { display: block; padding: 10px 0; border-bottom: 1px solid var(--bc-border); color: var(--bc-text-secondary); text-decoration: none; min-height: 44px; }
.rd-rail li a:hover { color: var(--bc-text); text-decoration: underline; }
.rd-col h2 { font-size: var(--bc-type-h3); line-height: var(--bc-leading-h3); font-weight: 600; letter-spacing: var(--bc-tracking-h3); margin: 2em 0 .65em; scroll-margin-top: calc(var(--bc-nav-height) + 24px); }
.rd-col h2:first-child { margin-top: 0; }
.rd-col h3 { font-size: var(--bc-type-h4); line-height: var(--bc-leading-h4); font-weight: 600; margin: 1.5em 0 .5em; }
.rd-col a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
.rd-col ul, .rd-col ol { padding-left: 1.2em; } .rd-col li { margin-bottom: 8px; }
.rd-q { border-top: 1px solid var(--bc-border); padding: 12px 0; }
.rd-q:last-of-type { border-bottom: 1px solid var(--bc-border); }
.rd-q summary { cursor: pointer; font-weight: 600; font-size: 1.125rem; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; }
.rd-q summary::-webkit-details-marker { display: none; }
.rd-q summary::after { content: ""; width: 10px; height: 10px; border: solid var(--bc-text-muted); border-width: 0 2px 2px 0; transform: rotate(45deg); flex: 0 0 auto; margin-right: 6px; }
.rd-q[open] summary::after { transform: rotate(225deg); }
.rd-q p { margin: 8px 0 0; }
.upd-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--bc-border); }
.upd-date { color: var(--bc-text-secondary); font-size: 1rem; font-variant-numeric: tabular-nums; }
.upd-row h3 { margin: 0 0 8px; }
.rd-rows { padding-bottom: 96px; }
.row-list { border-top: 1px solid var(--bc-border); }
.row-item { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; padding: 28px 0; border-bottom: 1px solid var(--bc-border); }
.row-item h2 { font-size: var(--bc-type-h4); line-height: var(--bc-leading-h4); font-weight: 600; margin: 0; }
.row-avail { margin: 6px 0 0; color: var(--bc-text-secondary); font-size: 1rem; }
.row-b p { margin: 0 0 12px; }
@media (max-width: 71.25rem) { .rd-body { grid-template-columns: minmax(0, 1fr); } .rd-rail { position: static; } }
@media (max-width: 47.5rem) {
  .rd-head .wrap { padding-top: 28px; padding-bottom: 24px; }
  .rd-body, .rd-rows { padding-bottom: 64px; }
  .upd-row { grid-template-columns: 1fr; gap: 6px; }
  .row-item { grid-template-columns: 1fr; gap: 10px; padding: 20px 0; }
}

/* ═══ /fulfill (rev8's page on the brand; plan §2) ═══ */
.fhero .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; padding-top: 56px; padding-bottom: 96px; align-items: start; }
.fhero .eyebrow { font: 600 1rem/1.5 var(--bc-font-sans); color: var(--bc-text-secondary); margin: 0 0 8px; }
.fhero h1 { font-weight: var(--bc-weight-hero); font-size: var(--bc-type-h1); line-height: var(--bc-leading-h1); letter-spacing: var(--bc-tracking-h1); }
.fhero h1 em { font-style: italic; }
.fhero .sub { font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); margin: 24px 0 28px; max-width: 32em; }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
.fhero .note { margin: 18px 0 0; color: var(--bc-text-secondary); font-size: 1rem; }
.cycle-card { padding: 24px; }
.cycle-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: .9375rem; color: var(--bc-text-secondary); margin-bottom: 16px; }
.cycle-top .illus { margin: 0 0 0 auto; }
.stage-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; flex-wrap: wrap; }
.stage-kicker { font-size: .9375rem; color: var(--bc-text-secondary); margin: 0 0 4px; }
.stage-head h3 { font-size: 1.375rem; font-weight: 600; margin: 0 0 4px; }
.stage-head .org { color: var(--bc-text-secondary); font-size: 1rem; margin: 0; }
.tag-ok { display: inline-flex; align-items: center; padding: 3px 8px; border-radius: var(--bc-radius-sm); border: 1px solid var(--bc-status-met-border); background: var(--bc-status-met-bg); color: var(--bc-status-met-text); font: 600 .875rem/1.5 var(--bc-font-sans); }
.tag-obs { display: inline-flex; align-items: center; padding: 2px 6px; border-radius: var(--bc-radius-sm); border: 1px solid var(--bc-status-neutral-border); background: var(--bc-status-neutral-bg); color: var(--bc-status-neutral-text); font: 600 .8125rem/1.4 var(--bc-font-sans); }
.facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--bc-border); border-bottom: 1px solid var(--bc-border); margin: 16px 0; }
.fact { padding: 12px 12px 12px 0; }
.fact + .fact { padding-left: 12px; border-left: 1px solid var(--bc-border); }
.fact .k { font-size: .875rem; color: var(--bc-text-secondary); }
.fact .v { font-weight: 700; font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.fact small { display: block; font-weight: 400; font-size: .875rem; color: var(--bc-text-secondary); }
.cycle-card .cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cycle-card h4 { margin: 0 0 8px; font-size: 1rem; font-weight: 600; }
.tick { display: flex; gap: 8px; align-items: flex-start; font-size: .9375rem; margin: 6px 0; }
.tick svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: var(--bc-status-met-text); }
.cycle-card .src { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--bc-border); font-size: .875rem; color: var(--bc-text-secondary); }
.prov { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.card-caption { margin: 12px 0 0; font-size: 1rem; color: var(--bc-text-secondary); }
.what { padding-top: var(--bc-section-padding); }
.what .eyebrow, .fplans-sec .eyebrow { font: 600 1rem/1.5 var(--bc-font-sans); color: var(--bc-text-secondary); margin: 0 0 8px; }
.what h2, .fplans-sec h2.h2 { font-size: var(--bc-type-h2); line-height: var(--bc-leading-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); }
.what .lead, .fplans-sec .lead { font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); max-width: 36em; margin: 12px 0 0; }
.what-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin-top: 40px; border-top: 1px solid var(--bc-border); }
.wcard { padding: 24px 0; border-bottom: 1px solid var(--bc-border); }
.wcard .ico { display: none; }
.wcard .st { display: block; font-size: .9375rem; color: var(--bc-text-secondary); margin-bottom: 6px; }
.wcard h3 { font-size: 1.25rem; font-weight: 600; margin: 0 0 8px; line-height: 1.35; }
.wcard p { margin: 0; color: var(--bc-text-secondary); }
.what-next { margin: 24px 0 0; color: var(--bc-text-secondary); }
.what-next b { color: var(--bc-text); }
.soon { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: var(--bc-radius-sm); background: var(--bc-on-way-bg); color: var(--bc-on-way-text); font-size: .8125rem; font-weight: 600; }
.fplans-sec { padding-top: var(--bc-section-padding); }
.plans-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.plans-head .billing { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.fplans .plan-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.fplans .who { margin: 8px 0 0; font-size: 1.125rem; color: var(--bc-text-secondary); }
.fplans .price { margin-top: 22px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.fplans .price .amt { font-size: var(--bc-pricing-price-size); font-weight: 800; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; }
.fplans .price .per { font-size: 1.0625rem; color: var(--bc-text-secondary); }
.fplans .charged { margin: 10px 0 0; color: var(--bc-text-secondary); font-size: 1rem; }
.fplans .saveline { display: block; margin-top: 6px; color: var(--bc-status-met-text); font-weight: 600; font-size: 1rem; }
.fplans .badge { align-self: flex-start; font-size: .875rem; font-weight: 600; color: var(--bc-pricing-inverse-bg); background: var(--bc-brand-bright); padding: 4px 10px; border-radius: var(--bc-radius-sm); }
.tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0 0; border-top: 1px solid var(--bc-border); border-bottom: 1px solid var(--bc-border); }
.tile { padding: 14px 12px 14px 0; font-size: .875rem; color: var(--bc-text-secondary); }
.tile + .tile { padding-left: 12px; border-left: 1px solid var(--bc-border); }
.tile b { display: block; font-size: 1.5rem; font-weight: 800; color: var(--bc-text); letter-spacing: -.03em; margin-bottom: 4px; }
.fplans .for { margin: 20px 0 0; color: var(--bc-text-secondary); }
.fplans .plus-h { margin: 20px 0 8px; font-weight: 600; }
.fplans ul { list-style: none; margin: 0; padding: 0; font-size: 1.0625rem; line-height: 1.45; }
.fplans li { display: flex; gap: 10px; padding: 6px 0; align-items: flex-start; }
.fplans li svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 4px; color: var(--bc-status-met-text); }
.fplans .hero-plan li svg { color: var(--bc-brand); }
.fplans .cta { margin-top: auto; padding-top: 28px; }
.fplans .cta .btn { width: 100%; }
.fplans .cta small { display: block; margin-top: 12px; font-size: 1rem; color: var(--bc-text-secondary); }
.incl { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; margin-top: 40px; padding: 28px 0 32px; border-top: 2px solid var(--bc-text); border-bottom: 1px solid var(--bc-border); }
.incl h3 { font-size: 1.5rem; font-weight: 800; margin: 0 0 6px; }
.incl p { margin: 0; color: var(--bc-text-secondary); max-width: 46em; }
@media (max-width: 71.25rem) { .fhero .wrap { grid-template-columns: minmax(0, 1fr); gap: 40px; } .what-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 47.5rem) {
  .fhero .wrap { padding-top: 28px; padding-bottom: 64px; }
  .cycle-card { padding: 20px; } .cycle-card .cols { grid-template-columns: 1fr; } .facts { grid-template-columns: 1fr; } .fact + .fact { padding-left: 0; border-left: 0; border-top: 1px solid var(--bc-border); }
  .what, .fplans-sec { padding-top: var(--bc-section-padding-mobile); } .what-grid { grid-template-columns: 1fr; }
}

/* Pricing: the Fulfill section (B 300 item 3; c1033) */
.fsec .fs-allow { max-width: 44rem; }
.fsec .fs-more { margin: 24px 0 0; }
/* Home: H6 lookup, as on web main 25052c2 (c1033 F1); hidden until its route answers */
.cov .nl-wrap { padding-top: 0; padding-bottom: 0; }   /* no space while the form is hidden */
.cov .nl { margin-bottom: 104px; }
.nl { max-width: 44rem; border: 1px solid var(--bc-border); border-radius: 8px; background: var(--bc-surface); padding: 20px 22px; }
.nl[hidden] { display: none; }
.nl-title { font-size: 1.25rem; line-height: 1.25; margin: 0 0 6px; color: var(--bc-text); }
.nl-help { line-height: 1.45; color: var(--bc-text-secondary); margin: 0 0 14px; }
.nl-label { display: block; font-weight: 700; color: var(--bc-text); margin: 0 0 6px; }
.nl-row { display: flex; gap: 10px; align-items: stretch; }
.nl-input { flex: 1; min-width: 0; min-height: 48px; font: inherit; font-size: 1rem; padding: 10px 12px; border: 1px solid var(--bc-border-control); border-radius: 6px; color: var(--bc-input-text); background: var(--bc-input-bg); }
.nl-input:focus-visible { outline: 3px solid var(--bc-focus); outline-offset: 2px; }
.nl-input[aria-invalid="true"] { border-color: var(--bc-destructive-bg); }
.nl-btn { min-height: 48px; min-width: 110px; }
.nl-btn:disabled { opacity: .7; cursor: progress; }
.nl-err { color: var(--bc-destructive-bg); font-weight: 600; margin: 8px 0 0; }
.nl-result:empty { display: none; }
.nl-result { margin-top: 16px; }
.nl-verdict { display: flex; gap: 8px; align-items: center; font-size: 1.0625rem; font-weight: 800; margin: 0 0 8px; color: var(--bc-text); }
.nl-mark { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; font-size: .875rem; flex: none; background: var(--bc-subtle); }
.nl-note { line-height: 1.45; color: var(--bc-text-secondary); margin: 6px 0 0; }
.nl-note a, .nl-open { color: var(--bc-link-on-white); font-weight: 700; }
.nl-list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
.nl-item { border: 1px solid var(--bc-border); border-radius: 6px; padding: 12px 14px; background: var(--bc-subtle); }
.nl-facts { display: grid; grid-template-columns: repeat(5, minmax(0, auto)); gap: 6px 22px; margin: 0; }
.nl-facts div { min-width: 0; }
.nl-facts dt { font-size: .8125rem; color: var(--bc-text-secondary); margin: 0; }
.nl-facts dd { font-weight: 700; color: var(--bc-text); margin: 2px 0 0; }
.nl-ref dd { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 600; }
.nl-open { display: inline-block; margin-top: 10px; padding: 4px 0; }
@media (max-width: 47.5rem) { .cov .nl { margin-bottom: var(--bc-section-padding-mobile); } .nl { padding: 16px; } .nl-row { flex-direction: column; } .nl-btn { width: 100%; } .nl-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nl-ref { grid-column: 1 / -1; } .nl-open { min-height: 44px; line-height: 36px; } }

/* ═══ Home: the four bands after the stats band (DISPATCH B 310 item A; c1060/c1081) ═══ */
/* 1. the free check: hidden until js/notice-lookup.js reveals it (the lookup switch) */
.free { border-top: 1px solid var(--bc-border); background: var(--bc-subtle); }
.free[hidden] { display: none; }
.free .wrap { padding-top: 88px; padding-bottom: 88px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 56px; align-items: center; }
.free .nl { max-width: none; background: var(--bc-surface); }
.free .k, .fentry .k { margin: 0 0 10px; font-size: .9375rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--bc-brand); }
.free .nl-title { font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); margin: 0 0 10px; }
.free .nl-help { font-size: 1.125rem; }
.free .nl-act { margin: 18px 0 0; }   /* the Market Scan / analyze variants' one button */
.free-shot { margin: 0; min-width: 0; }
.free-shot img { display: block; width: 100%; height: auto; border: 1px solid var(--bc-border); border-radius: 8px; background: var(--bc-surface); }
/* 2. the trust band (copy/01; the Founder's override 2, c1318): the paragraph and the Security & Trust link; beside them the document-handling facts with one small solid
   lock-and-shield icon, never a seal (c1060: no ring, stars, ribbon or text in the mark). The icon here is B's draft until design 129 part 2 lands. */
.trust { border-top: 1px solid var(--bc-border); }
.trust .wrap { padding-top: 96px; padding-bottom: 96px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.trust h2 { font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); margin: 0; }
.trust-p { margin: 18px 0 0; font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); max-width: 30em; }
.trust-more { margin: 22px 0 0; font-size: 1.125rem; }
.trust-facts { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 20px; align-items: start; padding-top: 10px; }
.trust-mark { width: 40px; height: 40px; color: var(--bc-brand); }
.trust-mark svg { display: block; width: 100%; height: 100%; }
.trust-mark .tm-shield { fill: currentColor; }
.trust-mark .tm-shackle { fill: none; stroke: var(--bc-surface); stroke-width: 1.8; stroke-linecap: round; }
.trust-mark .tm-body { fill: var(--bc-surface); }
.trust-mark .tm-key { fill: currentColor; }
.trust-points { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bc-border); }
.trust-points li { padding: 14px 0; border-bottom: 1px solid var(--bc-border); font-size: 1.125rem; line-height: 1.4; color: var(--bc-text); }
.trust-points a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
/* the partner band (copy/01) */
.pband { border-top: 1px solid var(--bc-border); }
.pband .wrap { padding-top: 64px; padding-bottom: 64px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; }
.pband h2 { font-size: 1.75rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.pband p { margin: 10px 0 0; font-size: 1.125rem; line-height: 1.5; color: var(--bc-text-secondary); max-width: 40em; }
.pband-more { margin: 0; }
.close .card-line { margin: 0; }
/* 3. the FAQ: Pricing's .faq rules apply; a hidden row (the free check's, on Pricing) shows nothing */
.faq details[hidden] { display: none; }
/* 4. the closing call: Pricing's .close rules, plus the hero's assurance lines under the buttons and the partner line on its own row */
.close .cta-col { display: grid; gap: 14px; justify-items: start; }
.close .cta-col .bc-assure { margin: 0; }
.close .partner { flex: 1 1 100%; margin: 8px 0 0; padding-top: 24px; border-top: 1px solid var(--bc-border); color: var(--bc-text-secondary); }
.close .partner a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
/* Pricing: the free check's entry (hidden until the lookup switch) */
.fentry[hidden] { display: none; }
.fentry .fe { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; padding: 32px 36px; border: 1px solid var(--bc-border); border-radius: 8px; background: var(--bc-subtle); }
.fentry .fe > div { max-width: 40em; }
.fentry h2 { margin: 0 0 8px; font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.fentry p { margin: 0; color: var(--bc-text-secondary); font-size: 1.125rem; }
@media (max-width: 71.25rem) {
  .free .wrap { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .trust .wrap { gap: 40px; }
  .pband .wrap { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 47.5rem) {
  .free .wrap, .trust .wrap { padding-top: var(--bc-section-padding-mobile); padding-bottom: var(--bc-section-padding-mobile); }
  .trust .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .trust-facts { gap: 16px; }
  .pband .wrap { padding-top: 48px; padding-bottom: 48px; }
  .pband-more .btn { width: 100%; }
  .close .cta-col { width: 100%; justify-items: stretch; }
  .fentry .fe { padding: 22px 20px; }
  .fentry .fe .btn { width: 100%; }
}

/* ═══ /how-it-works (DISPATCH B 356 item 2; copy/06): the five stages, each with an HTML product object ═══ */
.hiw-hero .wrap { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; padding-bottom: 72px; }
.hiw-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hiw-steps a { display: flex; align-items: center; gap: 14px; min-height: 52px; padding: 0 16px; background: var(--bc-surface); border: 1px solid var(--bc-border); border-radius: var(--bc-radius); color: var(--bc-text); text-decoration: none; font-weight: 600; font-size: 1.0625rem; }
.hiw-steps a:hover { border-color: var(--bc-brand); }
.hiw-steps b { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bc-text); color: var(--bc-bg); font-size: .875rem; }
.hiw-sec { border-top: 1px solid var(--bc-border); }
.hiw-sec .wrap { padding-top: var(--bc-section-padding); padding-bottom: var(--bc-section-padding); }
.hiw-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.hiw-stage:nth-of-type(odd) .hiw-grid > .hiw-copy { order: 2; }
.hiw-copy h2 { overflow-wrap: break-word; font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); }
.hiw-copy > p { margin: 18px 0 0; font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); max-width: 32em; }
.hiw-copy > p.eyebrow { margin: 0 0 18px; font-size: .9375rem; line-height: 1.5; color: var(--bc-brand); }
.hiw-dl { margin: 24px 0 0; display: grid; gap: 14px; border-top: 1px solid var(--bc-border); }
.hiw-dl > div { padding-top: 14px; }
.hiw-dl dt { font-size: .9375rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--bc-text-secondary); }
.hiw-dl dd { margin: 4px 0 0; font-size: 1.125rem; line-height: 1.5; color: var(--bc-text); }
.hiw-copy .hiw-plan, .hiw-copy .hiw-avail { font-size: 1.0625rem; }
.hiw-copy .hiw-avail b { color: var(--bc-text); }
.hiw-copy .hiw-def { font-size: 1rem; padding: 14px 16px; background: var(--bc-subtle); border-left: 3px solid var(--bc-brand); }
.hiw-copy .hiw-def b { color: var(--bc-text); }
.hiw-copy a:not(.btn) { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
.hiw-obj { min-width: 0; }
.hiw-obj .illus { margin: 0 0 12px; }
.hiw-card { background: var(--bc-surface); border: 1px solid var(--bc-border); border-top: 4px solid var(--bc-brand); padding: 22px 24px; min-width: 0; }
.hiw-card h3 { margin: 0 0 10px; font-size: 1.0625rem; font-weight: 600; }
.hiw-card h3 + .li ~ h3 { margin-top: 18px; }
.hiw-card .li { font-size: 1rem; margin: 8px 0; }
.hiw-card .li i { color: var(--bc-text-secondary); }
.hiw-card .q { margin: 14px 0 4px 26px; }
.hiw-card .chips { margin: 14px 0 0; }
.hiw-card .fit { font-size: .9375rem; font-weight: 600; }
.hiw-card .t { font-weight: 600; font-size: 1.125rem; margin: 4px 0 2px; }
.hiw-card .ag { color: var(--bc-text-secondary); font-size: .9375rem; margin-bottom: 10px; }
.hiw-card--match { border-top-color: var(--bc-brand-bright); }
.hiw-arrow { margin: 10px 0; text-align: center; font-size: 1.5rem; color: var(--bc-text-muted); }
.hiw-list { display: grid; gap: 8px; }
.hiw-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 14px 16px; border: 1px solid var(--bc-border); border-radius: var(--bc-radius); background: var(--bc-surface); }
.hiw-row > div { min-width: 0; flex: 1 1 14em; }
.hiw-row b { display: block; font-size: 1rem; font-weight: 600; }
.hiw-row > div > span { display: block; margin-top: 2px; font-size: .875rem; color: var(--bc-text-secondary); }
.hiw-row--hi { border-color: var(--bc-brand); box-shadow: inset 3px 0 0 var(--bc-brand); }
.hiw-ex { margin: 14px 0 0; font-size: 1rem; line-height: 1.5; color: var(--bc-text-secondary); }
.hiw-ex b { color: var(--bc-text); font-weight: 600; }
.hiw-draft { margin: 0 0 10px; font-size: 1rem; line-height: 1.6; }
.hiw-fact { display: inline-block; margin: 0 4px 2px 2px; padding: 1px 8px; border-radius: 999px; background: var(--bc-status-met-bg); color: var(--bc-status-met-text); font-size: .75rem; font-weight: 600; font-family: var(--bc-font-sans); vertical-align: middle; white-space: nowrap; }
.hiw-narrow { max-width: 46em; }
.hiw-evid h2, .hiw-choose h2 { font-size: var(--bc-type-h2); font-weight: 800; letter-spacing: var(--bc-tracking-h2); line-height: var(--bc-leading-h2); }
.hiw-evid p, .hiw-choose .hiw-paths { margin: 18px 0 0; font-size: var(--bc-type-lead); line-height: var(--bc-leading-lead); color: var(--bc-text-secondary); }
.hiw-evid p a, .hiw-paths a { color: var(--bc-link); text-decoration: underline; text-underline-offset: 3px; }
.hiw-evid .eyebrow, .hiw-choose .eyebrow { margin-top: 0; margin-bottom: 18px; }   /* DISPATCH B 405 item 1: the eyebrow is a <p>; no inherited 18px above it */
.hiw-paths { list-style: none; padding: 0; max-width: 46em; border-top: 1px solid var(--bc-border); }
.hiw-paths li { padding: 14px 0; border-bottom: 1px solid var(--bc-border); }
.hiw-paths b { color: var(--bc-text); font-weight: 600; }
.hiw-choose .cta { margin-top: 28px; }
.hiw-faq .faq { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 71.25rem) {
  .hiw-hero .wrap { grid-template-columns: minmax(0, 1fr); }
  .hiw-steps ol { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .hiw-grid { gap: 40px; }
}
@media (max-width: 47.5rem) {
  .hiw-sec .wrap { padding-top: var(--bc-section-padding-mobile); padding-bottom: var(--bc-section-padding-mobile); }
  .hiw-hero .wrap { padding-bottom: 48px; }
  .hiw-steps ol { grid-template-columns: minmax(0, 1fr); }
  .hiw-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .hiw-stage:nth-of-type(odd) .hiw-grid > .hiw-copy { order: 0; }
  .hiw-card { padding: 16px; }
  .hiw-faq .faq { grid-template-columns: minmax(0, 1fr); }
  .hiw-fact { white-space: normal; }
}
