/* dual-world-v2 content-merge scaffold styles. DRAFT. Functional only.
   Designer owns polished Insights / Pipeline / Roadmap layouts and the CEF / RITE named-object treatment.
   Night tokens from cf-tokens.css. No teal. Motion owns motion (motion/cefrite-motion.css). */

/* CEF / RITE named objects: layout-specs-dual-world-v2 sec 1 (Designer). Hooks: .cf-named, [data-term], [data-cm-beat] */
.cf-named-pair { display: grid; gap: 16px; margin-top: 24px; align-items: stretch; }
@media (min-width: 768px) { .cf-named-pair { grid-template-columns: 1fr 1fr; gap: 24px; max-width: var(--cf-measure); } }
.cf-named { background: var(--cf-navy); border: 1px solid var(--cf-line); border-left: 2px solid var(--cf-accent-dim); border-radius: 16px; padding: 20px; }
@media (min-width: 768px) { .cf-named { padding: 24px; } }
.cf-named__term { margin: 0 0 8px; font: 600 28px/1.1 var(--cf-font-mono); letter-spacing: 0.04em; color: var(--cf-accent); }
@media (min-width: 768px) { .cf-named__term { font-size: 32px; } }
.cf-named__term abbr { text-decoration: none; }
.cf-named__label { margin: 0; font-size: var(--cf-fs-h3); font-weight: 600; color: var(--cf-text-strong); }
.cf-named__def { margin: 10px 0 0; font-size: var(--cf-fs-body-read); line-height: var(--cf-lh-read); color: var(--cf-text); }
.cf-named--recall { padding: 16px; }
.cf-term { font-style: normal; font-weight: 600; color: var(--cf-text-strong); }
.cf-term abbr { text-decoration: none; color: var(--cf-accent); }
.cf-terms-strip { display: grid; gap: 12px; margin-top: 24px; }
@media (min-width: 720px) { .cf-terms-strip { grid-template-columns: 1fr 1fr; } }
.cf-terms-strip .cf-named { padding: 14px 16px; }
/* 2026-10-31 home CEF/RITE card height (HOLD amend: drop height 100%) */
.cf-named-pair > .cf-named {
  display: flex;
  flex-direction: column;
}
.cf-named-pair > .cf-named .cf-named__action {
  margin-top: auto;
  padding-top: 28px; /* 2026-11-05: more air between card text and buttons */
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
}
.cf-named-pair > .cf-named .cf-named__action .button-secondary,
.cf-named-pair > .cf-named .cf-named__action .button-primary,
.cf-named-pair > .cf-named .cf-named__action .button-disabled {
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .cf-named-pair > .cf-named .cf-named__action .button-secondary,
  .cf-named-pair > .cf-named .cf-named__action .button-primary,
  .cf-named-pair > .cf-named .cf-named__action .button-disabled {
    width: auto;
    min-width: 12rem;
  }
}
.cf-terms-strip .cf-named__term { font-size: 1.125rem; }
.cf-terms-strip .cf-named__label { font-size: var(--cf-fs-small); }
.cf-terms-strip .cf-named__def { font-size: var(--cf-fs-small); line-height: 1.6; }
.cf-glue { margin-top: 20px; font-size: var(--cf-fs-small); color: var(--cf-text-soft); }

/* map bridge container spacing (motion kit styles the nodes) */
.cf-bridge { margin-top: 28px; }
.cm-map__node strong { display: block; color: var(--cf-accent); letter-spacing: 0.04em; margin-bottom: 6px; }
.cm-map__node p { margin: 0; font-size: var(--cf-fs-small); line-height: 1.5; color: var(--cf-text-soft); }

/* chips */
.cf-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding: 0; list-style: none; }
.cf-chip { font: 500 var(--cf-fs-badge)/1 var(--cf-font-mono); letter-spacing: var(--cf-ls-badge); text-transform: uppercase; color: var(--cf-accent); border: 1px solid var(--cf-accent-line); border-radius: 999px; padding: 6px 10px; background: var(--cf-accent-soft); }

/* model-only callout */
.cf-callout { border-left: 2px solid var(--cf-accent-line); padding: 12px 16px; margin-top: 24px; background: var(--cf-surface); border-radius: 0 10px 10px 0; color: var(--cf-text-soft); font-size: var(--cf-fs-small); }
.cf-callout strong { color: var(--cf-text-strong); display: block; margin-bottom: 4px; }

/* generic card grid for restored pages */
.cf-grid-3 { display: grid; gap: 16px; }
@media (min-width: 720px) { .cf-grid-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cf-grid-3 { grid-template-columns: repeat(3, 1fr); } }
.card-kicker { display: block; font: 500 var(--cf-fs-badge)/1.2 var(--cf-font-mono); letter-spacing: var(--cf-ls-badge); text-transform: uppercase; color: var(--cf-accent-dim); margin-bottom: 8px; }
.cf-quote { border-left: 2px solid var(--cf-accent); padding: 4px 0 4px 18px; margin: 28px 0 0; color: var(--cf-text-soft); font-size: var(--cf-fs-lead); max-width: var(--cf-measure-read, 68ch); }
.cf-bio { display: grid; gap: 16px; margin-top: 24px; }
.cf-bio .card p { margin: 8px 0 0; }
.cf-page-section-intro { max-width: var(--cf-measure-read, 68ch); }
.legal-block ol, .legal-block ul { padding-left: 1.25em; }

/* Home one-pager (layout spec sec 0): mobile default, desktop enhancement */
.cf-home-sec { padding-block: var(--cf-section-y-dense); border-top: 1px solid var(--cf-line); }
@media (min-width: 768px) { .cf-home-sec { padding-block: var(--cf-section-y); } }
@media (max-width: 767px) { .cm-lane-home .cf-container { padding-inline: 20px; } }
@media (min-width: 768px) { .cm-lane-home .cf-container { padding-inline: 32px; } }
.cf-beat + .cf-beat { margin-top: 24px; }
.cf-beat p { margin: 6px 0 0; }
.cf-tap, .cf-stay-actions a, #beats a, #stance a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 767px) { .cf-stay-actions { flex-direction: column; } .cf-stay-actions a { width: 100%; justify-content: center; } }

/* Insights / Pipeline cards (layout spec sec 2, 3) */
.cf-card { background: var(--cf-navy); border: 1px solid var(--cf-line); border-radius: 16px; padding: 24px; }
.cf-card__index { font: 400 12px/1 var(--cf-font-mono); color: var(--cf-accent-dim); letter-spacing: 0.06em; }
.cf-card .card-title { margin-top: 10px; font-size: var(--cf-fs-h3); }
.cf-card__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cf-card__status { margin: 12px 0 0; font-size: 12px; color: var(--cf-text-muted); }
.cf-chip--quiet { font: 400 12px/1 var(--cf-font-body, inherit); letter-spacing: 0; text-transform: none; padding: 4px 10px; border: 1px solid var(--cf-line); background: transparent; color: var(--cf-text-muted); border-radius: 999px; }
.cf-chip--quiet:hover { border-color: var(--cf-accent-dim); }
.cf-chip-row--quiet { margin-top: 0; }
.cf-section--tight { padding-block: 0 8px; }

/* indexed list (Insights vectors option A, Roadmap tracks) */
.cf-index-list { list-style: none; padding: 0; margin: 24px 0 0; max-width: var(--cf-measure-read); }
.cf-index-list li { display: grid; grid-template-columns: 3rem 1fr; padding-block: 16px; border-top: 1px solid var(--cf-line); }
.cf-index-list__n { font: 400 14px/1.5 var(--cf-font-mono); color: var(--cf-accent-dim); }
.cf-index-list__title { margin: 0; font-weight: 600; color: var(--cf-text-strong); }
.cf-index-list__body { margin: 4px 0 0; color: var(--cf-text-muted); font-size: var(--cf-fs-small); }

/* nav breakpoints (layout spec sec 6) */
@media (min-width: 768px) and (max-width: 1023px) { .nav-links { flex-wrap: wrap; gap: 8px 20px; } }
.nav-links a[aria-current="page"] { color: var(--cf-accent); }

/* 2026-10-27 founder unlock + philanthropic amend */
/* Founder identity (layout spec sec 1.2) */
.founder-identity { max-width: var(--cf-measure-lead); }
.founder-identity .eyebrow { margin-bottom: var(--cf-space-3); }
.founder-identity .founder-identity__name { margin-bottom: var(--cf-space-2); } /* 0,2,0 beats .page-header h1 */
.founder-identity__title {
  margin: 0 0 var(--cf-space-6);
  font-size: var(--cf-fs-body);
  font-weight: var(--cf-fw-ui);
  letter-spacing: 0.01em;
  color: var(--cf-text-soft);
}
.founder-identity .page-lead { max-width: var(--cf-measure-read); }
@media (max-width: 767px) {
  .founder-header { gap: var(--cf-space-6); }
  .founder-portrait { width: 6rem; }
}

/* Home trust strip: one line under .hero-micro, muted mono, no glow (layout spec sec 3.1 anatomy) */
.cf-trust-strip {
  margin: calc(-1 * var(--cf-space-6)) auto var(--cf-space-10);
  max-width: var(--cf-measure-lead);
  font: 500 var(--cf-fs-badge)/1.6 var(--cf-font-mono);
  letter-spacing: var(--cf-ls-badge); text-transform: uppercase;
  color: var(--cf-text-muted);
}

/* Self-funded / trust badges (Home #stance, Contact header): quiet pills, not links */
.cf-badges {
  list-style: none; margin: var(--cf-space-4) 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--cf-space-2);
}
.cf-badges li {
  font: 500 var(--cf-fs-badge)/1 var(--cf-font-mono);
  letter-spacing: var(--cf-ls-badge); text-transform: uppercase;
  color: var(--cf-text-soft);
  border: 1px solid var(--cf-line-strong); border-radius: var(--cf-radius-pill);
  padding: var(--cf-space-2) var(--cf-space-3);
}
#stance .cf-badges { margin-block: var(--cf-space-4); }

/* Signature line: small, soft, no portrait */
.cf-signature {
  margin: var(--cf-space-3) 0 0;
  font-size: var(--cf-fs-small);
  font-weight: var(--cf-fw-ui);
  letter-spacing: 0.01em;
  color: var(--cf-text-muted);
}

/* Contact #involved card CTAs (replaces inline margin on touched cards) */
.cf-card-cta { margin: var(--cf-space-4) 0 0; }
.cf-card-cta + .cf-card-cta { margin-top: var(--cf-space-2); }
.cf-closing-line { margin-top: var(--cf-space-8); }

/* Roadmap #support (layout spec sec 2.2: reuses .cf-index-list, no buttons) */
#support .cf-support__micro { max-width: var(--cf-measure-read); }

/* Roadmap #tracks milestones quote + living-document micro, #stay dedication */
.cf-milestones-quote { margin-top: var(--cf-space-8); max-width: var(--cf-measure-lead); }
.cf-milestones-quote .founder-quote { font-size: var(--cf-fs-lead); }
.cf-milestones-quote .cf-signature { padding-left: var(--cf-space-6); }
.cf-living-micro { margin-top: var(--cf-space-6); max-width: var(--cf-measure-read); }
.follow-inner .cf-dedication { color: var(--cf-text); }

/* 2026-10-27 audience ladder amend-2 */
/* Home #doors: quiet 3-door wayfinding (layout spec sec 1). No band, no glow, no cards. */
.cf-doors__list {
  list-style: none; margin: 0 auto; padding: 0;
  max-width: var(--cf-measure);
  display: grid; gap: 0;
  border-bottom: 1px solid var(--cf-line);          /* closes the stack on mobile */
}
.cf-door { border-top: 1px solid var(--cf-line); }
.cf-doors .cf-door__link {                           /* 0,2,0 beats .cf-tap inline-flex */
  display: flex; flex-direction: column; align-items: flex-start;
  gap: var(--cf-space-1);
  min-height: 44px;
  padding-block: var(--cf-space-4);
  color: inherit; text-decoration: none;
}
.cf-door__label {
  display: inline-flex; align-items: baseline; gap: var(--cf-space-2);
  font-family: var(--cf-font-display);
  font-size: var(--cf-fs-h3);                        /* one step under h3-lg, under the h2 */
  font-weight: var(--cf-fw-heading);
  line-height: var(--cf-lh-h3);
  color: var(--cf-text-strong);
}
.cf-door__label::after {
  content: "\2192";                                  /* same arrow glyph as .cm-next */
  color: var(--cf-accent-dim);
}
.cf-door__line {
  font-size: var(--cf-fs-small);
  line-height: var(--cf-lh-body);
  color: var(--cf-text-muted);
  max-width: var(--cf-measure-read);
}
.cf-doors .cf-door__link:hover .cf-door__label,
.cf-doors .cf-door__link:focus-visible .cf-door__label {
  color: var(--cf-accent);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
.cf-doors .cf-door__link:hover .cf-door__label::after,
.cf-doors .cf-door__link:focus-visible .cf-door__label::after { color: var(--cf-accent); }
.cf-door:hover, .cf-door:focus-within { border-top-color: var(--cf-accent-line); }

@media (min-width: 720px) {
  .cf-doors__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--cf-space-6);
    border-bottom: 0;                                /* columns: top hairline only */
  }
  .cf-doors .cf-door__link { padding-block: var(--cf-space-6) 0; gap: var(--cf-space-2); }
}
@media (min-width: 1024px) {
  .cf-doors__list { column-gap: var(--cf-space-8); }
}

/* Path end-caps (layout spec sec 2): soft cross-links, no buttons, no glow */
.cf-endcap {
  margin: var(--cf-space-10) 0 0;
  padding-top: var(--cf-space-4);
  max-width: var(--cf-measure-read);
  border-top: 1px solid var(--cf-line);
  display: grid; gap: var(--cf-space-4);
  text-align: left;
}
.cf-endcap .cf-endcap__row {                         /* 0,2,0 beats .follow-inner p and .story-step p */
  margin: 0; max-width: none;
  display: flex; flex-wrap: wrap; align-items: baseline;
  column-gap: var(--cf-space-3); row-gap: 0;
  color: var(--cf-text-soft);
}
.cf-endcap__ask {
  flex: 0 0 100%;
  font-size: var(--cf-fs-eyebrow);
  font-weight: var(--cf-fw-ui);
  letter-spacing: var(--cf-ls-eyebrow);
  text-transform: uppercase;
  color: var(--cf-text-muted);                       /* muted, so the link is the only amber */
}
.cf-endcap .cm-next { font-weight: var(--cf-fw-ui); }
.cf-endcap__line {
  flex: 0 0 100%;
  font-size: var(--cf-fs-small);
  line-height: var(--cf-lh-body);
  color: var(--cf-text-muted);
}
@media (min-width: 768px) {
  .cf-endcap { gap: var(--cf-space-6); }
  .cf-endcap__ask { flex: 0 0 13rem; }              /* fits "Want the bigger picture?" on one line */
  .cf-endcap__line { flex: 1 1 14rem; }
}

/* Context fits */
.follow-inner .cf-endcap { margin: var(--cf-space-6) auto var(--cf-space-8); } /* Science #next band: block centered, rows left, air before buttons */
#what .cf-endcap { margin-top: var(--cf-space-8); }   /* Founder: replaces inline margin-top:24px */
#tracks .cf-endcap { margin-top: var(--cf-space-12); }/* Roadmap: clear of the living micro */
.model-note + .cf-endcap { margin-top: var(--cf-space-8); } /* Explainer: under the model note */

/* 2026-10-27 story spine amend-3 */

/* Founder #story: seeker arc, prose only (layout spec sec 1) */
.cf-story .cf-story__body p { margin: 0 0 var(--cf-space-6); }
.cf-story .cf-story__body p.cf-spine-note { margin: var(--cf-space-8) 0 0; }
@media (min-width: 768px) {
  .cf-story .section-intro { margin-bottom: var(--cf-space-10); }
}

/* Home #districts: one light strip (layout spec sec 2). No band, no cards, no diagram. */
.cf-districts .cf-districts__body {
  margin: 0;
  max-width: var(--cf-measure-lead);
  font-size: var(--cf-fs-body-read);
  line-height: var(--cf-lh-read);
  color: var(--cf-text-soft);
}
.cf-districts .cf-districts__body + .cf-districts__body { margin-top: var(--cf-space-6); }

/* Roadmap #support beat 7 (layout spec sec 3) */
#support .cf-support__beat { margin: 0; font-size: var(--cf-fs-body); }

/* Careful line: proof / Rite / beat 7 (layout spec sec 4) */
.cf-spine-note {
  max-width: var(--cf-measure-read);
  padding-left: var(--cf-space-4);
  border-left: 2px solid var(--cf-accent-line);
  color: var(--cf-text-soft);
}

/* 2026-10-27 desktop rhythm soft polish */
/* Brief: briefs/layout-specs-desktop-rhythm-2026-10-27.md sec 5.1 to 5.5. Desktop only; mobile (<1024) unchanged.
   One intentional center per site: Home hero (.hero / #top). Everything else hugs the .cf-container left spine.
   .cf-rhythm-desk = body hook on the four audited pages (Home, Founder, Explainer, Science) so Band B/C
   measure changes do not leak into Roadmap / Insights / Pipeline / Contact / Disclaimer. */
@media (min-width: 1024px) {
  /* 5.1 Band B/C: measures hug the container's content left edge (was margin-inline: auto) */
  .cf-rhythm-desk .cf-home-sec .cf-measure,
  .cf-rhythm-desk .cf-home-sec .cf-measure--lead,
  .cf-rhythm-desk .cf-home-sec .cf-measure--read,
  .cf-rhythm-desk .cf-section .cf-measure,
  .cf-rhythm-desk .cf-section .cf-measure--lead,
  .cf-rhythm-desk .cf-section .cf-measure--read,
  .cf-rhythm-desk .page-header .cf-measure,
  .cf-rhythm-desk .page-header .cf-measure--lead,
  .cf-rhythm-desk .page-header .cf-measure--read,
  .cf-rhythm-desk main > .cf-container > .cf-measure--lead, /* Explainer story column (no section wrapper) */
  .cf-rhythm-desk .science-shell .cf-measure {               /* Science named / card / bridge / glue / figure in the column */
    margin-inline: 0;
  }
  /* Containers that double as a measure (Home #districts, Founder #story): keep the container on the
     shared spine, cap the content instead, same content width as before (56rem minus 2 x 32px gutter) */
  .cf-rhythm-desk .cf-container.cf-measure {
    max-width: var(--cf-container);
    margin-inline: auto;
  }
  .cf-rhythm-desk .cf-container.cf-measure > * {
    max-width: calc(var(--cf-measure) - 2 * var(--cf-gutter-md));
  }

  /* 5.2 Band C: Home doors list (was margin: 0 auto) */
  .cf-doors__list {
    margin-inline: 0;
  }

  /* 5.3 Band D: closing bands left spine, buttons flex-start (shared .follow-inner, also Roadmap / Insights / Pipeline) */
  .follow-inner {
    text-align: left;
  }
  .follow-inner p {
    margin-inline: 0;
  }
  .follow-inner .closing-actions,
  #stay .closing-actions,
  #next .closing-actions,
  .cf-rhythm-desk .cf-endcap ~ .closing-actions { /* Explainer close row after the endcap */
    justify-content: flex-start;
  }
  .follow-inner .cf-endcap {
    margin-inline: 0; /* was auto; rows already text-align left */
  }

  /* 5.4 Band C: Founder / Science card blocks under left h2 */
  .founder-identity,
  #what .card,
  .cf-bio,
  .cf-bio .card,
  .cf-named-pair {
    margin-inline: 0;
  }

  /* 5.5 Explainer video island: left spine, lead measure (story art untouched, already left at 36rem) */
  .cf-rhythm-desk #explainer .cf-measure {
    max-width: var(--cf-measure-lead);
  }
}

/* Contact lane cards — Sascha override 2026-10-28: center measure-capped 2x2 + hello (not cf-rhythm-desk / site-wide) */
.cf-contact-lane {
  max-width: var(--cf-measure);
  margin-inline: auto;
}
.cf-contact-lane.contact-card {
  margin-top: 24px;
}

/* 2026-10-29 CEF RITE show-means buttons */
.cf-named__action {
  margin: 28px 0 0; /* 2026-11-05: match card→button air */
}
.cf-named__action .button-secondary {
  /* inherit main.css .button-secondary; full width on narrow cards */
  width: 100%;
}
@media (min-width: 768px) {
  .cf-named__action .button-secondary {
    width: auto;           /* hug label on 2-up */
    min-width: 12rem;      /* calm, not tiny */
  }
}

/* optional spacing if stance needs air above the control */
.cf-stance-action {
  margin: var(--cf-space-4) 0 0;
}
.cf-stance-action .button-secondary {
  width: auto;
  min-width: 12rem;
}
@media (max-width: 767px) {
  .cf-stance-action .button-secondary { width: 100%; }
}

/* 2026-10-29 involved card CI buttons */
#involved .cf-card-cta .button-secondary {
  width: 100%;
  text-align: center;
}
@media (min-width: 768px) {
  #involved .cf-card-cta .button-secondary {
    width: 100%;
  }
}

/* 2026-10-30 involved CTAs bronze accent; Substack under Ko-fi */
#involved .cf-card-cta .button-secondary {
  width: 100%;
  text-align: center;
  color: var(--cf-accent);
  border-color: var(--cf-accent-line);
}
#involved .cf-card-cta .button-secondary:hover,
#involved .cf-card-cta .button-secondary:focus-visible {
  color: var(--cf-text-strong, var(--cf-accent));
  border-color: var(--cf-accent);
}

/* 2026-10-31 Science PC header align (match science-shell content column) */
@media (min-width: 1024px) {
  .cm-lane-science .page-header .cf-measure--read {
    /* same left offset as science-shell content col: 14rem toc + gap */
    margin-inline-start: calc(14rem + var(--cf-space-10));
    max-width: min(var(--cf-measure-read), calc(100% - 14rem - var(--cf-space-10)));
  }
}
/* optional thin CI bronze rule between header and shell */
.cm-lane-science .page-header {
  border-bottom: 1px solid var(--cf-accent-line);
  padding-bottom: var(--cf-space-8);
  margin-bottom: var(--cf-space-6);
}
@media (max-width: 1023px) {
  /* mobile: no header offset; keep existing left spine */
  .cm-lane-science .page-header .cf-measure--read {
    margin-inline-start: 0;
  }
}

/* 2026-10-31 home hero TV intro */
/* 2026-11-04 hero revert: TV under trust again (drop rearrange margins) */
.cf-hero-tv {
  margin: var(--cf-space-10) 0 0;
  max-width: 100%;
  text-align: center;
}
.cf-hero-tv .cf-media {
  margin-inline: auto;
  width: 100%;
}
.cf-hero-tv .cf-media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: var(--cf-navy);
}
.cf-hero-tv .media-caption {
  margin-top: var(--cf-space-3);
  font-size: var(--cf-fs-small);
  color: var(--cf-text-muted);
}
@media (max-width: 639px) {
  .cf-hero-tv { margin-top: var(--cf-space-8); }
}

/* 2026-10-31 eli5 story separators + numbers */
.story-step {
  border-top: 0; /* kill muted grey rule from main.css */
}
.story-step + .story-step {
  border-top: 1px solid var(--cf-accent-line);
}
.story-label {
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--cf-accent);
}

/* 2026-11-03 Lab seats departments (5-up) */
.cf-lab-seats__chip {
  margin: var(--cf-space-4) 0 0;
  font-size: var(--cf-fs-small);
  color: var(--cf-text-soft);
  max-width: var(--cf-measure-lead);
}
.cf-lab-seats {
  display: grid;
  gap: 16px;
  margin-top: 24px;
  align-items: stretch;
}
/* Stack through mid widths so a lone fifth card does not eye-tennis */
@media (min-width: 1100px) {
  .cf-lab-seats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
  }
}
.cf-lab-seat {
  display: flex;
  flex-direction: column;
  background: var(--cf-navy);
  border: 1px solid var(--cf-line);
  border-left: 2px solid var(--cf-accent-dim);
  border-radius: 16px;
  padding: 20px;
}
@media (min-width: 768px) {
  .cf-lab-seat { padding: 24px; }
}
.cf-lab-seat__name {
  margin: 0 0 8px;
  font: 600 1.125rem/1.2 var(--cf-font-mono);
  letter-spacing: 0.04em;
  color: var(--cf-accent);
}
.cf-lab-seat__role {
  margin: 0;
  flex: 1 1 auto;
  font-size: var(--cf-fs-small);
  line-height: 1.55;
  color: var(--cf-text);
}
.cf-lab-seat__tag {
  margin: auto 0 0;
  padding-top: var(--cf-space-4);
}
.cf-lab-seat__inhouse {
  display: inline-block;
  font-size: var(--cf-fs-micro);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--cf-text-muted);
  border: 1px solid var(--cf-line);
  border-radius: 999px;
  padding: 4px 10px;
}
/* Remove old AI chip markup if any remains */
.cf-lab-seat__ai,
.cf-lab-seat__ai-chip { display: none; }
.footer-lab-chip {
  margin: 0 0 var(--cf-space-3);
  font-size: var(--cf-fs-micro);
  color: var(--cf-text-muted);
}

/* 2026-11-05: map bridge boxes removed; CTAs live in named cards */
/* Grey disabled chrome: reuse tokens only. Not clickable. */
.button-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--cf-space-4) var(--cf-space-8);
  border-radius: var(--cf-radius);
  font-family: var(--cf-font-body);
  font-size: 0.875rem;
  font-weight: var(--cf-fw-ui);
  text-decoration: none;
  border: 1px solid var(--cf-line);
  background: var(--cf-surface);
  color: var(--cf-text-muted);
  cursor: not-allowed;
  pointer-events: none;
}
.button-disabled:hover,
.button-disabled:focus {
  color: var(--cf-text-muted);
  border-color: var(--cf-line);
  filter: none;
}

/* 2026-11-05: readable CEF + RITE name story (was tiny .cf-glue) */
.cf-name-story {
  margin-top: 8px;
}
.cf-name-story__line {
  margin: 8px 0 0;
  font-size: var(--cf-fs-h3);
  font-weight: 600;
  line-height: 1.35;
  color: var(--cf-text-strong);
}
.cf-name-story__body {
  margin: 10px 0 0;
  font-size: var(--cf-fs-body-read);
  line-height: var(--cf-lh-read);
  color: var(--cf-text);
}
