/* source: assets/fidelra.css */
/* FIDELRA V5.1 — SINGLE CSS BUILD
   Every public page loads this file and no other stylesheet.
   Component rules below are page-scoped; the final Design Contract owns all shared visual grammar. */

/* ===== COMPONENT: home.css ===== */
/* V5 namespaced legacy component details for home. Global design grammar lives in fidelra.css. */

/* index.html */

  body.page-home{
    --bg: #f4f8fb;
    --panel: #ffffff;
    --panel-2: #eef2f5;
    --teal-tint: #eef8f6;
    --ink: #0c1a24;
    --ink-2: #3c5262;
    --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1);
    --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577;
    --accent-strong: #0c8577;
    --accent-hover: #095f54;
    --accent-ink: #ffffff;
    --amber: #b5790a;
    --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-home *{ box-sizing: border-box; }
  html body.page-home{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-home{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 21.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-home a{ color: inherit; text-decoration: none; }
  body.page-home h1, body.page-home h2, body.page-home h3, body.page-home h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-home .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-home .wrap{ padding: 0 18px; } }
  @media (max-width: 640px) {
    body.page-home{ font-size: 17.0px; }
    body.page-home .eyebrow{ font-size: 14px; }
    body.page-home .head p, body.page-home .thesis-cell p, body.page-home .goal-card p, body.page-home .price-card .desc, body.page-home .domain-card p, body.page-home .chart-caption, body.page-home .chart-sub, body.page-home .price-legend, body.page-home .footer-row{ font-size: 14px; }
    body.page-home .goal-card h4, body.page-home .domain-card h4, body.page-home .price-card .tier{ font-size: 15.5px; }
    body.page-home .chart-title{ font-size: 14.5px; }
    body.page-home .city-table td, body.page-home .city-table th{ font-size: 14px; }
    body.page-home .cert-grid li{ font-size: 15.5px; }
    body.page-home .price-table .go, body.page-home .goal-card .go, body.page-home .cta-badge{ font-size: 14px; }
  }
  body.page-home section{ padding: 108px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-home .section-divider{ position: relative; height: 1px; background: var(--line); }
  body.page-home .section-divider span{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
  body.page-home section.tight{ padding: 76px 0; }
  body.page-home section.reveal{ opacity: 1; transform: none; transition: opacity .7s ease, transform .7s ease; }
  body.page-home section.reveal.pre-in{ opacity: 0; transform: translateY(28px); }
  body.page-home section.reveal.in{ opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { body.page-home section.reveal, body.page-home section.reveal.pre-in{ opacity: 1; transform: none; transition: none; } }
  body.page-home section.band{ background: var(--teal-tint); }
  body.page-home section.band-dark{ background: #06101a; border-bottom-color: #06101a; }
  body.page-home .band-dark .eyebrow{ color: #4fd9c4; }
  body.page-home .band-dark .head h2{ color: #ffffff; }
  body.page-home .band-dark .head p{ color: #a9b3ae; }
  body.page-home .band-dark > .wrap > p{ color: #a9b3ae; }
  body.page-home .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-home .head{ max-width: 640px; margin-bottom: 40px; }
  body.page-home .head h2{ font-size: clamp(42px, 5.6vw, 60px); font-weight: 650; line-height: 1.05; margin-top: 10px; }
  body.page-home .head p{ color: var(--ink-2); font-weight: 500; font-size: 15.5px; line-height: 1.65; margin-top: 12px; max-width: 58ch; }
  body.page-home .tabular{ font-variant-numeric: tabular-nums; }

  body.page-home .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
  body.page-home .btn:hover{ transform: translateY(-1px); }
  body.page-home .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-home .btn-primary:hover{ background: var(--accent-hover); }
  body.page-home .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-home .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  /* ---- hero ---- */
  body.page-home .hero{ padding: 128px 0 36px; border-bottom: none; }
  body.page-home .hero-divider{ position: relative; z-index: 1; display: flex; width: 50%; height: 4px; margin: 40px auto 0; }
  body.page-home .hero-divider span:first-child{ flex: 0 0 42%; background: var(--accent); }
  body.page-home .hero-divider span:last-child{ flex: 1; background: var(--line); }
  body.page-home .hero{ position: relative; overflow: hidden; }
  body.page-home #heroNetwork{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 1600px; height: 100%; z-index: 0; opacity: 0.9; }
  body.page-home .hero-scrim{ position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 1600px; height: 100%; z-index: 0; background: radial-gradient(ellipse at 28% 45%, transparent 35%, var(--bg) 92%); pointer-events: none; }
  @media (min-width: 1600px) { body.page-home .hero{ background: radial-gradient(ellipse 900px 700px at 50% 40%, color-mix(in srgb, var(--accent) 4%, transparent), transparent 70%); } }
  body.page-home .hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
  @media (max-width: 900px) { body.page-home .hero-grid{ grid-template-columns: 1fr; } }
  body.page-home .hero h1{ font-size: clamp(57px, 8.6vw, 99px); font-weight: 650; line-height: 1.0; letter-spacing: -0.03em; }
  body.page-home .hero h1 .line-2{ color: var(--accent-strong); display: block; }
  body.page-home .hero h1 .line-3{ color: var(--ink-2); display: block; }
  body.page-home .hero p.lead{ color: var(--ink-2); font-weight: 500; font-size: 19.0px; line-height: 1.6; margin-top: 18px; max-width: 54ch; }
  body.page-home .hero-actions{ display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
  body.page-home .hero-roadmap{ position: relative; z-index: 1; font-size: 14px; line-height: 1.7; color: var(--ink-3); margin-top: 20px; }
  body.page-home .hero-roadmap b{ color: var(--ink-2); font-weight: 700; }
  body.page-home .spec-panel{ display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 2px rgba(20,26,23,0.04), 0 4px 16px -8px rgba(20,26,23,0.08); }
  body.page-home .spec-cell{ background: var(--panel); padding: 18px 18px; }
  body.page-home .spec-cell:last-child{ grid-column: span 2; }
  body.page-home .spec-value{ font-family: var(--font-display); font-weight: 650; font-size: 30.0px; letter-spacing: -0.01em; }
  body.page-home .spec-value.good{ color: var(--good); font-size: 16.0px; display: flex; align-items: center; gap: 7px; }
  body.page-home .status-dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 3px color-mix(in srgb, var(--good) 22%, transparent); }
  body.page-home .spec-label{ font-size: 14px; color: var(--ink-3); margin-top: 5px; text-transform: uppercase; letter-spacing: 0.06em; }


  /* ---- condensed thesis ---- */
  body.page-home .thesis{ text-align: center; max-width: 820px; margin: 0 auto; }
  body.page-home .thesis p{ font-size: clamp(18px, 2.1vw, 23px); font-weight: 600; line-height: 1.55; color: var(--ink); }
  body.page-home .thesis strong{ color: var(--accent-strong); }
  body.page-home .thesis-row{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 36px; text-align: left; }
  @media (max-width: 780px) { body.page-home .thesis-row{ grid-template-columns: 1fr; } }
  body.page-home .thesis-cell{ background: var(--panel); padding: 22px; border-top: 3px solid transparent; transition: border-color .15s ease, transform .15s ease; }
  body.page-home .thesis-cell:hover{ border-top-color: var(--accent); transform: translateY(-2px); }
  body.page-home .thesis-more{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- network diagram ---- */
  body.page-home .network-wrap{ display: grid; grid-template-columns: 1fr 0.8fr; gap: 40px; align-items: center; }
  @media (max-width: 900px) { body.page-home .network-wrap{ grid-template-columns: 1fr; } }
  body.page-home #networkSvg{ width: 100%; height: auto; max-width: 560px; margin: 0 auto; display: block; }
  body.page-home .net-edge{ stroke: var(--line); stroke-width: 1; transition: stroke 0.3s ease; }
  body.page-home .net-via{ fill: var(--line); transition: fill 0.3s ease; }
  body.page-home .net-edge-group.lit .net-edge{ stroke: var(--accent); stroke-width: 1.6; }
  body.page-home .net-edge-group.lit .net-via{ fill: var(--accent); }
  body.page-home .net-dot{ fill: var(--panel); stroke: var(--line); stroke-width: 1.5; transition: fill 0.3s ease, stroke 0.3s ease; }
  body.page-home .net-hit{ fill: transparent; cursor: pointer; }
  body.page-home .net-node text{ fill: var(--ink-3); font-family: var(--font); font-size: 14px; font-weight: 600; pointer-events: none; transition: fill 0.3s ease; }
  body.page-home .net-node.lit .net-dot{ fill: var(--accent); stroke: var(--accent); }
  body.page-home .net-node.lit text{ fill: var(--ink); }
  body.page-home .net-node.origin .net-dot{ fill: var(--accent); stroke: var(--accent-strong); stroke-width: 2.5; }
  body.page-home .net-node.origin text{ fill: var(--ink); font-weight: 700; }
  body.page-home .net-node:focus{ outline: none; }
  body.page-home .net-node:focus .net-dot{ stroke: var(--accent-strong); stroke-width: 2.5; }
  body.page-home .band-dark .net-edge{ stroke: rgba(147,168,186,0.16); }
  body.page-home .band-dark .net-via{ fill: rgba(147,168,186,0.18); }
  body.page-home .band-dark .net-dot{ fill: #16283a; stroke: rgba(147,168,186,0.4); }
  body.page-home .band-dark .net-node text{ fill: #93a8ba; }
  body.page-home .band-dark .net-node.lit text{ fill: #d6e6ef; }
  body.page-home .band-dark .net-node.origin text{ fill: #eef4f7; }
  body.page-home .band-dark #networkCaption{ color: #a9b3ae; }

  body.page-home .twin-preview{ position: relative; margin-top: 36px; border: 1px solid rgba(255,255,255,0.12); background: #0a141f; }
  body.page-home .twin-tabs{ display: flex; gap: 2px; border-bottom: 1px solid rgba(255,255,255,0.12); }
  body.page-home .twin-tab{ flex: 1; font-family: var(--font-display); font-size: 16.0px; font-weight: 700; padding: 17px; background: transparent; border: none; color: #7d8b96; cursor: pointer; }
  body.page-home .twin-tab.active{ color: #ffffff; background: rgba(79,217,196,0.08); box-shadow: inset 0 -2px 0 #4fd9c4; }
  body.page-home .twin-panel{ min-height: 260px; padding: 26px; }
  body.page-home .twin-heatmap-label{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: #7d8b96; margin-bottom: 14px; }
  body.page-home .twin-map-wrap{ display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: start; }
  @media (max-width: 800px) { body.page-home .twin-map-wrap{ grid-template-columns: 1fr; } }
  body.page-home .twin-map-svg{ width: 100%; height: auto; display: block; }
  body.page-home .twin-area{ cursor: pointer; transition: opacity .12s ease; transform-box: fill-box; transform-origin: center; }
  body.page-home .twin-area:hover, body.page-home .twin-area.selected{ stroke: #4fd9c4; stroke-width: 2; }
  body.page-home .twin-area:hover{ transform: scale(1.08); }
  body.page-home .twin-area circle{ transition: transform .15s ease; }
  body.page-home .twin-area-label{ font-family: var(--font-display); font-size: 14px; font-weight: 700; fill: #cbd5da; pointer-events: none; text-anchor: middle; }
  body.page-home .twin-detail{ background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1); padding: 18px; min-height: 220px; }
  body.page-home .twin-detail .td-eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: #4fd9c4; }
  body.page-home .twin-detail .td-name{ font-family: var(--font-display); font-size: 19.0px; font-weight: 650; color: #fff; margin-top: 4px; }
  body.page-home .twin-detail .td-total{ font-size: 14px; color: #a9b3ae; margin-top: 2px; }
  body.page-home .twin-detail .td-split{ display: flex; gap: 16px; margin-top: 14px; }
  body.page-home .twin-detail .td-split div{ font-size: 14px; color: #d6e6ef; }
  body.page-home .twin-detail .td-split b{ display: block; font-family: var(--font-display); font-size: 17.0px; color: #fff; }
  body.page-home .twin-detail .td-hh-label{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: #7d8b96; margin-top: 16px; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 12px; }
  body.page-home .twin-detail .td-hh-row{ display: flex; justify-content: space-between; font-size: 14px; color: #cbd5da; padding: 3px 0; }
  body.page-home .twin-detail .td-hh-row b{ color: #4fd9c4; font-weight: 700; }
  body.page-home .twin-sql{ font-family: var(--mono); font-size: 14px; line-height: 1.7; color: #cfe8e2; white-space: pre-wrap; }
  body.page-home .twin-sql .kw{ color: #4fd9c4; }
  body.page-home .twin-sql .cm{ color: #6b7c85; }
  body.page-home .twin-residents{ display: flex; flex-direction: column; gap: 10px; }
  body.page-home .twin-res-row{ background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); font-size: 14px; color: #cbd5da; }
  body.page-home .twin-res-row.open{ border-left: 3px solid #4fd9c4; }
  body.page-home .twin-res-top{ display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; cursor: pointer; }
  body.page-home .twin-res-row b{ color: #ffffff; }
  body.page-home .twin-res-toggle{ font-family: var(--mono); font-size: 14px; color: #4fd9c4; flex-shrink: 0; }
  body.page-home .twin-res-detail{ display: none; padding: 0 14px 16px; }
  body.page-home .twin-res-detail.open{ display: block; }
  body.page-home .twin-journey-chain{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px; padding-top: 8px; }
  body.page-home .tj-node{ display: flex; flex-direction: column; align-items: center; text-align: center; width: 148px; flex-shrink: 0; }
  body.page-home .tj-head{ display: flex; flex-direction: column; align-items: center; }
  body.page-home .tj-node .je-icon{ width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 15.0px; background: #06101a; border: 1px solid #4fd9c4; border-radius: 50%; flex-shrink: 0; }
  body.page-home .tj-node h4{ font-size: 14px; font-weight: 700; color: #ffffff; margin: 8px 0 0; }
  body.page-home .tj-node p{ font-size: 14px; color: #a9b3ae; margin-top: 4px; line-height: 1.4; }
  body.page-home .tj-arrow{ color: #4fd9c4; font-size: 16.0px; padding-top: 7px; flex-shrink: 0; }
  @media (max-width: 900px) {
    body.page-home .twin-journey-chain{ flex-direction: column; align-items: stretch; gap: 14px; }
    body.page-home .tj-node{ width: 100%; flex-direction: row; align-items: flex-start; text-align: left; gap: 12px; }
    body.page-home .tj-head{ flex-direction: row; align-items: center; gap: 10px; flex-shrink: 0; }
    body.page-home .tj-node h4{ margin: 0; }
    body.page-home .tj-arrow{ display: none; }
  }
  body.page-home .twin-cert{ display: flex; flex-direction: column; gap: 10px; }
  body.page-home .twin-cert-row{ display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); font-size: 14px; color: #d6e6ef; font-weight: 600; }
  body.page-home .twin-cert-icon{ margin-right: 8px; }
  body.page-home .twin-cert-row b{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: #0a141f; background: #3ddc97; padding: 4px 10px; border-radius: 999px; }
  body.page-home .twin-cert-row b.twin-cert-pending{ color: #9aa6ac; background: rgba(255,255,255,0.08); }
  body.page-home .twin-cert-pager{ display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; }
  body.page-home .twin-cert-pager .pager-label{ color: #7d8b96; }
  body.page-home .twin-cert-total{ margin-top: 10px; text-align: center; font-family: var(--mono); font-size: 14px; color: #7d8b96; }
  body.page-home .twin-evidence{ width: 100%; border-collapse: collapse; font-size: 14px; }
  body.page-home .twin-evidence th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: #7d8b96; font-weight: 700; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,0.12); }
  body.page-home .twin-evidence td{ padding: 12px; color: #d6e6ef; border-bottom: 1px solid rgba(255,255,255,0.06); }
  body.page-home .twin-evidence tr:last-child td{ border-bottom: none; }
  body.page-home .twin-evidence td:first-child{ color: #ffffff; font-weight: 700; }
  body.page-home .twin-evidence td:last-child{ color: #4fd9c4; font-weight: 700; font-family: var(--mono); }
  body.page-home .twin-stats{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
  body.page-home .twin-stats-inbox{ margin-top: 0; padding: 18px 22px; border-bottom: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.03); }
  body.page-home .twin-stat{ background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 14px 22px; text-align: center; }
  body.page-home .twin-stat .v{ font-family: var(--font-display); font-size: 26.0px; font-weight: 650; color: #ffffff; }
  body.page-home .twin-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: #7d8b96; margin-top: 4px; }
  body.page-home .twin-checklist{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 24px; margin-top: 28px; }
  @media (max-width: 700px) { body.page-home .twin-checklist{ grid-template-columns: 1fr 1fr; } }
  body.page-home .twin-checklist div{ font-size: 14px; color: #d6e6ef; font-weight: 600; }
  body.page-home .twin-checklist-inbox{ margin-top: 0; padding: 22px 26px 4px; border-top: 1px solid rgba(255,255,255,0.12); }
  body.page-home .twin-cta{ margin-top: 32px; }
  body.page-home .twin-cta-inbox{ margin-top: 0; padding: 18px 26px 26px; }
  body.page-home .thesis-cell h4{ font-size: 18.0px; font-weight: 700; }
  body.page-home .thesis-cell p{ font-size: 16.0px; font-weight: 500; color: var(--ink-2); margin-top: 8px; line-height: 1.55; }

  /* ---- goal routing bridge ---- */
  body.page-home .goal-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
  @media (max-width: 1080px) { body.page-home .goal-grid{ grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 640px) { body.page-home .goal-grid{ grid-template-columns: 1fr 1fr; } }
  body.page-home .goal-card{ display: block; border: 1px solid var(--line); border-radius: 12px; padding: 18px 16px; background: var(--panel); transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
  body.page-home .goal-card:hover{ transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 8px 20px -12px rgba(20,26,23,0.16); }
  body.page-home .goal-card h4{ font-size: 17.0px; font-weight: 700; letter-spacing: -0.01em; }
  body.page-home .goal-card p{ font-size: 15.0px; font-weight: 500; color: var(--ink-2); margin-top: 8px; line-height: 1.5; min-height: 36px; }
  body.page-home .goal-card .go{ display: block; margin-top: 12px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- use-case starting-point cards ---- */
  body.page-home .usecase-section-label{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-3); margin-top: 40px; margin-bottom: 4px; }
  body.page-home .usecase-section-label-flagship{ color: var(--accent-strong); margin-top: 56px; font-size: 14px; }
  body.page-home .usecase-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 16px; opacity: 0.88; }
  @media (max-width: 800px) { body.page-home .usecase-grid{ grid-template-columns: 1fr; } }
  body.page-home .usecase-card{ border: 1px solid var(--line); padding: 24px; background: var(--panel); }
  body.page-home .uc-icon{ font-size: 34.0px; }
  body.page-home .uc-icon-featured{ font-size: 52.0px; }
  body.page-home .usecase-card h4, body.page-home .usecase-featured h4{ font-size: 23.0px; font-weight: 650; margin-top: 12px; }
  body.page-home .usecase-card p, body.page-home .usecase-featured > p{ font-size: 16.5px; color: var(--ink-2); margin-top: 10px; line-height: 1.55; }
  body.page-home .uc-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 20px; margin-bottom: 9px; }
  body.page-home .uc-tags{ display: flex; flex-wrap: wrap; gap: 7px; }
  body.page-home .uc-tags span{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 5px 11px; border-radius: 999px; }
  body.page-home .uc-list{ list-style: none; margin: 0; padding: 0; }
  body.page-home .uc-list li{ font-size: 15.5px; color: var(--ink-2); padding: 4px 0; }
  body.page-home .uc-list li::before{ content: "✓ "; color: var(--accent-strong); font-weight: 700; }
  body.page-home .uc-list-wide{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px 16px; }
  @media (max-width: 560px) { body.page-home .uc-list-wide{ grid-template-columns: 1fr 1fr; } }
  body.page-home .uc-cascade{ font-size: 16.0px; font-weight: 700; color: var(--ink); line-height: 2; margin-top: 18px; }
  body.page-home .uc-cascade span{ color: var(--ink-3); font-weight: 500; font-size: 14.5px; }
  body.page-home .uc-cta{ display: inline-block; margin-top: 20px; font-family: var(--mono); font-size: 15.0px; font-weight: 700; color: var(--accent-strong); }
  body.page-home .usecase-featured{ position: relative; margin-top: 16px; padding: 52px; border: 3px solid var(--accent); background: linear-gradient(135deg, var(--teal-tint), var(--panel)); box-shadow: 0 24px 60px -28px rgba(15,158,143,0.35); }
  body.page-home .usecase-featured h4{ font-size: 30.0px; }
  body.page-home .usecase-featured > p{ font-size: 18.0px; max-width: 68ch; }
  body.page-home .usecase-featured-badge{ display: inline-block; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent-ink); background: var(--accent); padding: 6px 13px; border-radius: 999px; }
  body.page-home .uc-cta-primary{ background: var(--accent); color: var(--accent-ink); padding: 12px 22px; border-radius: 999px; }
  body.page-home .uc-cta-primary:hover{ background: var(--accent-hover); }
  body.page-home .find-start-footer{ margin-top: 40px; text-align: center; }
  body.page-home .find-start-footer p{ font-size: 17.0px; color: var(--ink-2); max-width: 62ch; margin: 0 auto; }
  body.page-home .find-start-actions{ display: flex; gap: 14px; justify-content: center; margin-top: 20px; }

  /* ---- pricing cards ---- */
  body.page-home .price-cards{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
  @media (max-width: 1080px) { body.page-home .price-cards{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { body.page-home .price-cards{ grid-template-columns: 1fr; } }
  body.page-home .price-card{ position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; padding: 24px 20px 22px; background: var(--card-tint, var(--panel)); transition: transform .15s ease, box-shadow .15s ease; }
  body.page-home .price-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 28px -14px rgba(23,32,28,0.18); }
  body.page-home .price-card.preferred{ border-color: var(--accent); box-shadow: 0 8px 24px -12px color-mix(in srgb, var(--accent) 45%, transparent); }
  body.page-home .price-card-ribbon{ position: absolute; top: -11px; left: 20px; background: var(--accent); color: var(--accent-ink); font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; box-shadow: 0 3px 8px -2px rgba(15,158,143,0.5); }
  body.page-home .price-card .tier{ font-family: var(--font-display); font-weight: 700; color: var(--ink); font-size: 18.0px; letter-spacing: -0.01em; }
  body.page-home .price-card .price{ display: block; font-family: var(--mono); font-weight: 650; color: var(--accent-strong); font-size: 26.0px; margin-top: 12px; letter-spacing: -0.01em; }
  body.page-home .price-card .desc{ font-size: 15.5px; font-weight: 500; color: var(--ink-2); line-height: 1.5; margin-top: 12px; flex: 1; }
  body.page-home .price-card .cta-badge{ display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-top: 16px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.02em; padding: 10px 14px; border-radius: 999px; background: var(--panel-2); color: var(--accent-strong); border: 1px solid var(--line); transition: background .15s ease, border-color .15s ease; }
  body.page-home .price-card .cta-badge:hover{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.page-home .price-card.preferred .cta-badge{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.page-home .price-card.preferred .cta-badge:hover{ background: var(--accent-hover); }
  body.page-home .price-legend{ display: flex; gap: 18px; flex-wrap: wrap; margin-top: 22px; font-size: 14px; font-weight: 500; color: var(--ink-2); }
  body.page-home .price-legend b{ color: var(--ink); font-weight: 700; }
  body.page-home .price-tier-label{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); font-weight: 700; margin: 40px 0 14px; }
  body.page-home .price-tier-label:first-of-type{ margin-top: 0; }
  body.page-home .price-cards.cols-3{ grid-template-columns: repeat(3, 1fr); }
  @media (max-width: 900px) { body.page-home .price-cards.cols-3{ grid-template-columns: 1fr; } }
  body.page-home .price-card .buyer{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.03em; color: var(--ink-3); margin-top: 6px; }
  body.page-home .price-card .price .period{ font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--ink-3); margin-left: 4px; letter-spacing: 0; }

  /* ---- domain explorer ---- */
  body.page-home .filter-row{ display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
  body.page-home .filter-chip{ font-family: var(--mono); font-size: 14px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.page-home .filter-chip:hover{ border-color: var(--accent); color: var(--ink); }
  body.page-home .filter-chip.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }
  body.page-home .domain-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  @media (max-width: 980px) { body.page-home .domain-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { body.page-home .domain-grid{ grid-template-columns: 1fr; } }
  body.page-home .domain-card{ background: var(--panel); padding: 18px; display: none; }
  body.page-home .domain-card.show{ display: block; }
  body.page-home .domain-card .cat{ font-family: var(--mono); font-size: 14px; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.06em; }
  body.page-home .domain-card h4{ font-size: 18.0px; font-weight: 700; margin-top: 8px; }
  body.page-home .domain-card p{ font-size: 15.0px; font-weight: 500; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.page-home .domain-pager{ display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 18px; }
  body.page-home .pager-btn{ font-family: var(--mono); font-size: 14px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.page-home .pager-btn:hover:not(:disabled){ border-color: var(--accent); color: var(--accent-strong); }
  body.page-home .pager-btn:disabled{ opacity: 0.4; cursor: not-allowed; }
  body.page-home .pager-label{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); min-width: 56px; text-align: center; }

  /* ---- evidence / chart dashboard ---- */
  body.page-home .evidence-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  @media (max-width: 1000px) { body.page-home .evidence-grid{ grid-template-columns: 1fr; } }

  body.page-home .journey-grid{ display: grid; grid-template-columns: 300px 1fr; gap: 32px; align-items: start; }
  @media (max-width: 800px) { body.page-home .journey-grid{ grid-template-columns: 1fr; } }
  body.page-home .journey-card{ background: var(--panel); border: 1px solid var(--accent); padding: 22px; position: sticky; top: 92px; }
  body.page-home .journey-card .jc-eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-home .journey-card .jc-name{ font-family: var(--font-display); font-size: 22.0px; font-weight: 650; margin-top: 6px; }
  body.page-home .journey-card .jc-row{ font-size: 14px; color: var(--ink-2); margin-top: 12px; }
  body.page-home .journey-card .jc-row b{ color: var(--ink); font-weight: 700; }
  body.page-home .journey-card .jc-note{ font-size: 14px; color: var(--ink-3); font-style: italic; margin-top: 16px; border-top: 1px solid var(--line-soft); padding-top: 12px; }
  body.page-home .journey-card .jc-relations{ margin-top: 16px; border-top: 1px solid var(--line-soft); padding-top: 12px; }
  body.page-home .journey-card .jc-relations-label{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); font-weight: 700; margin-bottom: 8px; }
  body.page-home .journey-card .jc-rel-row{ font-size: 14px; color: var(--ink-2); padding: 3px 0; }
  body.page-home .journey-card .jc-rel-row b{ float: right; color: var(--accent-strong); font-weight: 700; }
  body.page-home .journey-timeline{ position: relative; padding-left: 40px; }
  body.page-home .journey-timeline::before{ content: ""; position: absolute; left: 15px; top: 6px; bottom: 6px; width: 1px; background: var(--line); }
  body.page-home .journey-event{ position: relative; padding-bottom: 26px; }
  body.page-home .journey-event:last-child{ padding-bottom: 0; }
  body.page-home .journey-event .je-icon{ position: absolute; left: -40px; top: -2px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; font-size: 14px; background: var(--panel); border: 1px solid var(--accent); border-radius: 50%; }
  body.page-home .journey-event h4{ font-size: 15.0px; font-weight: 700; }
  body.page-home .journey-event p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.5; }
  body.page-home .journey-event .je-schema{ display: inline-block; font-family: var(--font); font-size: 14px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--accent-strong); background: var(--teal-tint); padding: 3px 9px; border-radius: 999px; margin-top: 6px; }
  body.page-home .journey-cascade{ margin-top: 8px; padding: 22px 26px; background: #06101a; color: #ffffff; }
  body.page-home .journey-cascade .jca-title{ font-weight: 700; font-size: 15.0px; margin-bottom: 12px; }
  body.page-home .journey-cascade .jca-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: #a9b3ae; }
  body.page-home .journey-cascade .jca-chain b{ color: #4fd9c4; font-weight: 700; }
  body.page-home .journey-cascade .jca-arrow{ color: #4fd9c4; }
  body.page-home .journey-conclusion{ margin-top: 10px; padding: 20px 24px; background: var(--teal-tint); border-left: 3px solid var(--accent); font-size: 14.5px; font-weight: 600; color: var(--ink); line-height: 1.7; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
  body.page-home .journey-more-cta{ flex-shrink: 0; font-family: var(--font-display); font-size: 14px; font-weight: 700; color: var(--accent-ink); background: var(--accent); padding: 10px 18px; border-radius: 999px; white-space: nowrap; }
  body.page-home .journey-more-cta:hover{ background: var(--accent-hover); }
  body.page-home .chart-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px; box-shadow: 0 1px 2px rgba(20,26,23,0.04), 0 4px 16px -8px rgba(20,26,23,0.08); }
  body.page-home .chart-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
  body.page-home .chart-title{ font-size: 14px; font-weight: 700; }
  body.page-home .chart-sub{ font-size: 14px; color: var(--ink-3); margin-top: 3px; }
  body.page-home .chart-browse-link{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; color: var(--accent-strong); white-space: nowrap; background: var(--teal-tint); padding: 4px 9px; border-radius: 999px; margin-right: 8px; }
  body.page-home .chart-browse-link:hover{ background: var(--accent); color: var(--accent-ink); }
  body.page-home .chart-toggle{ display: flex; gap: 4px; }
  body.page-home .chart-toggle button{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--line); background: transparent; color: var(--ink-3); cursor: pointer; }
  body.page-home .chart-toggle button.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }
  body.page-home .chart-facts{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.page-home .chart-facts:empty{ margin-top: 0; }
  body.page-home .chart-fact{ display: flex; align-items: baseline; gap: 6px; padding: 8px 14px; background: var(--panel-2); border: 1px solid var(--line); font-family: var(--font-display); }
  body.page-home .chart-fact .v{ font-size: 18.0px; font-weight: 650; color: var(--ink); }
  body.page-home .chart-fact .k{ font-size: 14px; font-family: var(--mono); color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.04em; }
  body.page-home .chart-fact.male .v{ color: var(--accent-strong); }
  body.page-home .chart-fact.female .v{ color: var(--amber); }
  body.page-home .chart-legend{ display: flex; gap: 14px; margin: 10px 0 4px; font-size: 14px; color: var(--ink-2); }
  body.page-home .chart-legend .sw{ display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }
  body.page-home .chart-svg-wrap{ position: relative; margin-top: 8px; }
  body.page-home .chart-tooltip{ position: absolute; pointer-events: none; background: #17201c; border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; padding: 7px 10px; font-size: 14px; color: #fff; white-space: nowrap; opacity: 0; transition: opacity .1s ease; transform: translate(-50%, -110%); z-index: 5; }
  body.page-home .chart-tooltip.show{ opacity: 1; }
  body.page-home .chart-tooltip b{ color: #5fe0cf; }
  body.page-home .chart-tooltip.event{ white-space: normal; max-width: 260px; }
  body.page-home .city-badge-tag{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; margin-left: 6px; opacity: 0.85; }
  body.page-home .filter-chip:not(.active) .city-badge-tag{ display: none; }
  body.page-home .filter-chip-soon{ display: inline-block; background: transparent; border: 1px dashed rgba(130,140,148,0.4); color: #9aa6ac; cursor: default; }
  body.page-home .band-dark .filter-chip-soon{ border-color: rgba(255,255,255,0.18); color: #55636d; }
  body.page-home .city-float-toggle{ position: fixed; top: 78px; right: 20px; z-index: 45; display: flex; flex-wrap: wrap; gap: 6px; max-width: 250px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 12px; box-shadow: 0 10px 30px -10px rgba(12,26,36,0.25); }
  body.page-home .city-float-toggle .filter-chip{ font-size: 14px; padding: 6px 11px; }
  body.page-home .city-float-toggle .filter-chip-soon{ border: 1px dashed rgba(130,140,148,0.4); color: #9aa6ac; }
  @media (max-width: 900px) { body.page-home .city-float-toggle{ display: none; } }
  body.page-home .chart-data-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; display: none; }
  body.page-home .chart-data-table.show{ display: table; }
  body.page-home .chart-svg-wrap.hide{ display: none; }
  body.page-home .chart-data-table th{ text-align: left; color: var(--ink-3); font-weight: 600; padding: 5px 6px; border-bottom: 1px solid var(--line); font-size: 14px; text-transform: uppercase; }
  body.page-home .chart-data-table td{ padding: 5px 6px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); }
  body.page-home .chart-caption{ font-size: 14px; color: var(--ink-3); font-style: italic; margin-top: 10px; }

  /* ---- city comparison ---- */
  body.page-home .city-table-wrap{ border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  body.page-home table.city-table{ width: 100%; border-collapse: collapse; min-width: 520px; }
  body.page-home .city-table th{ text-align: left; padding: 12px 20px; background: var(--panel-2); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); border-bottom: 1px solid var(--line); }
  body.page-home .city-table th.num, body.page-home .city-table td.num{ text-align: right; }
  body.page-home .city-table td{ padding: 13px 20px; border-bottom: 1px solid var(--line-soft); font-size: 14px; font-weight: 500; color: var(--ink-2); background: var(--panel); }
  body.page-home .city-table tr:last-child td{ border-bottom: none; }
  body.page-home .city-table td.label{ color: var(--ink); font-weight: 600; }
  body.page-home .city-table td.num{ font-family: var(--mono); color: var(--ink); }

  /* ---- certification checklist ---- */
  body.page-home .cert-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 32px; margin: 0; padding: 0; }
  @media (max-width: 620px) { body.page-home .cert-grid{ grid-template-columns: 1fr; } }
  body.page-home .cert-grid li{ list-style: none; font-size: 14.5px; font-weight: 500; color: var(--ink-2); padding: 9px 0 9px 26px; position: relative; border-top: 1px solid var(--line-soft); }
  body.page-home .cert-grid li:nth-child(-n/**/+2){ border-top: none; }
  body.page-home .cert-grid li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }

  /* ---- final cta ---- */
  body.page-home .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 56px 32px; }
  body.page-home .cta-panel h2{ font-size: clamp(24px, 3.4vw, 34px); font-weight: 650; }
  body.page-home .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-home .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-home footer{ padding: 64px 0 32px; background: #06101a; border-bottom: none; }
  body.page-home .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-home .footer-row a:hover{ color: #4fd9c4; }
  body.page-home .trust-pills{ display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 8px; }
  body.page-home .trust-pills span{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 15px; border-radius: 999px; }
  body.page-home .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-home .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-home .footer-grid{ grid-template-columns: 1fr; } }
  body.page-home .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #ffffff; }
  body.page-home .footer-brand .logo span{ color: #4fd9c4; }
  body.page-home .footer-brand p{ font-size: 14px; color: #7d8b96; margin-top: 8px; }
  body.page-home .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; }
  body.page-home .footer-brand-desc b{ color: #cbd5da; }
  body.page-home .footer-brand-stats{ display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-family: var(--mono); font-size: 14px; color: #7d8b96; }
  body.page-home .footer-brand-stats b{ color: #4fd9c4; font-weight: 700; }
  body.page-home #built-for{ padding-bottom: 44px; }
  body.page-home .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-home .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-home .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-home .footer-col a:hover{ color: #4fd9c4; }
  body.page-home .footer-bottom{ padding-top: 24px; }


  /* V4.5 integration-only overrides — preserve the attached homepage visuals and diagrams. */
  body.page-home .logo{ white-space: nowrap; }
  body.page-home .footer-brand .logo{ white-space: nowrap; }
  body.page-home .fcte-certified-badge, body.page-home .certified-badge, body.page-home .badge-certified{ background:#163A42; color:#fff; border-color:#163A42; }


/* ===== COMPONENT: marketing.css ===== */
/* V5 component foundation: unique layout/visual behavior only; fidelra.css owns global grammar. */

body.page-family-marketing{--ink:#0b3138;--ink2:#153e46;--teal:#173f46;--teal2:#21575f;--mint:#97cbcb;--mint2:#dff1ef;--bg:#f7faf9;--paper:#fff;--line:#d7e2e0;--muted:#5f787f;--muted2:#81969a;--soft:#eef5f4;--ok:#16685f;--warn:#946c25;--bad:#a34a42;--shadow:0 20px 55px rgba(9,47,54,.08);--r:18px;--max:1180px;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
body.page-family-marketing *{box-sizing:border-box}body.page-family-marketing{scroll-behavior:smooth}body.page-family-marketing{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}body.page-family-marketing a{color:inherit;text-decoration:none}body.page-family-marketing button, body.page-family-marketing input, body.page-family-marketing select{font:inherit}body.page-family-marketing .wrap{max-width:var(--max);margin:auto;padding:0 26px}body.page-family-marketing .global-header{height:64px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}body.page-family-marketing .global-header .wrap{height:100%;display:flex;align-items:center;gap:30px}body.page-family-marketing .brand{font-size:14px;font-weight:650;letter-spacing:.12em;color:#28727a;white-space:nowrap}body.page-family-marketing .brand b{font-size:17.0px;color:var(--ink);letter-spacing:-.03em;margin-left:7px}body.page-family-marketing .brand small{font-size:14px;color:var(--muted2);margin-left:6px}body.page-family-marketing .global-nav{display:flex;gap:25px;margin-left:auto;align-items:center;font-size:14px;font-weight:700;color:#47656b}body.page-family-marketing .global-nav a:hover, body.page-family-marketing .global-nav a.active{color:var(--ink)}body.page-family-marketing .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:9px;border:1px solid var(--line);font-weight:650;font-size:14px;background:#fff;cursor:pointer}body.page-family-marketing .btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}body.page-family-marketing .btn.mint{background:var(--mint);border-color:var(--mint);color:var(--ink)}body.page-family-marketing .btn.ghost{background:transparent}body.page-family-marketing .btn.small{min-height:36px;padding:0 13px;font-size:14px}body.page-family-marketing .go{font-size:14px;font-weight:650;color:#28727a}body.page-family-marketing .city-bar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:55}body.page-family-marketing .city-bar .wrap{display:flex;align-items:center;min-height:62px;gap:20px}body.page-family-marketing .city-identity{display:flex;align-items:center;gap:10px;font-weight:650;white-space:nowrap}body.page-family-marketing .city-dot{width:9px;height:9px;border-radius:50%;background:var(--mint)}body.page-family-marketing .city-select{border:0;background:transparent;font-weight:650;color:var(--ink);padding:7px}body.page-family-marketing .city-nav{display:flex;gap:4px;margin-left:auto;overflow:auto}body.page-family-marketing .city-nav a{padding:20px 10px 17px;font-size:14px;font-weight:650;color:#667e83;border-bottom:3px solid transparent;white-space:nowrap}body.page-family-marketing .city-nav a.active{color:var(--ink);border-color:var(--mint)}
body.page-family-marketing .hero{background:var(--ink);color:#fff;padding:80px 0 72px}body.page-family-marketing .hero .eyebrow, body.page-family-marketing .section-head .eyebrow, body.page-family-marketing .doc-label{display:flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.18em;font-size:14px;font-weight:650;color:#62aeb0}body.page-family-marketing .hero .eyebrow:before, body.page-family-marketing .section-head .eyebrow:before, body.page-family-marketing .doc-label:before{content:'';width:24px;height:1px;background:var(--mint)}body.page-family-marketing .hero h1{font-size:clamp(48px,6.2vw,82px);line-height:.95;letter-spacing:-.055em;margin:18px 0 22px;max-width:930px;font-weight:650}body.page-family-marketing .hero p{font-size:17.0px;max-width:760px;color:#c6d7d8;margin:0 0 28px}body.page-family-marketing .hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}body.page-family-marketing .hero .btn.ghost{border-color:#628086;color:#fff}body.page-family-marketing .city-hero{padding:66px 0 58px}body.page-family-marketing .city-hero h1{font-size:clamp(46px,5.4vw,72px);max-width:890px}body.page-family-marketing .city-hero-grid{display:grid;grid-template-columns:1.35fr .72fr;gap:48px;align-items:end}body.page-family-marketing .asset-card{border:1px solid #31585f;border-radius:18px;padding:24px;background:rgba(255,255,255,.035)}body.page-family-marketing .asset-card .asset-label{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#8eb6b8;font-weight:650}body.page-family-marketing .asset-card strong{display:block;font-size:27.0px;margin:9px 0 4px}body.page-family-marketing .asset-card p{font-size:14px;margin:0;color:#a9c0c2}body.page-family-marketing .asset-stamp{margin-top:18px;padding-top:16px;border-top:1px solid #31585f;display:flex;justify-content:space-between;gap:8px;font:700 14px/1.4 var(--mono);color:#a6c4c6}body.page-family-marketing section{padding:66px 0}body.page-family-marketing section.tight{padding:34px 0}body.page-family-marketing section.band{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-family-marketing .section-head{margin-bottom:28px;max-width:900px}body.page-family-marketing .section-head h2{font-size:clamp(34px,4.5vw,52px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 12px;font-weight:650}body.page-family-marketing .section-head p{font-size:15.0px;color:var(--muted);max-width:760px;margin:0}body.page-family-marketing .grid{display:grid;gap:14px}body.page-family-marketing .grid.c2{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .grid.c3{grid-template-columns:repeat(3,1fr)}body.page-family-marketing .grid.c4{grid-template-columns:repeat(4,1fr)}body.page-family-marketing .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}body.page-family-marketing .card h3{font-size:18.0px;line-height:1.1;margin:8px 0}body.page-family-marketing .card p{font-size:14px;color:var(--muted);margin:0}body.page-family-marketing .card.dark{background:var(--ink);color:#fff;border-color:var(--ink)}body.page-family-marketing .card.dark p{color:#b9cdcf}body.page-family-marketing .kicker{font:800 14px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:#5a858b}body.page-family-marketing .metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff}body.page-family-marketing .metric{padding:22px;border-right:1px solid var(--line)}body.page-family-marketing .metric:last-child{border-right:0}body.page-family-marketing .metric strong{display:block;font-size:30.0px;letter-spacing:-.04em}body.page-family-marketing .metric span{font:700 14px/1.5 var(--mono);color:#759096;text-transform:uppercase}body.page-family-marketing .pill{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font:800 14px/1 var(--mono);letter-spacing:.06em}body.page-family-marketing .pill.live, body.page-family-marketing .pill.pass{background:#e8f6f2;color:var(--ok)}body.page-family-marketing .pill.warn{background:#fbf1dd;color:var(--warn)}body.page-family-marketing .pill.future{background:#edf1f0;color:#879799}body.page-family-marketing .notice{padding:14px 17px;border-radius:12px;background:#eef7f5;border:1px solid #d2e7e3;font-size:14px;color:#496d72}body.page-family-marketing .notice strong{color:var(--ink)}
body.page-family-marketing /* Gateway */.gateway-hero .hero-inner{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:end}body.page-family-marketing .gateway-hero .hero-aside{border-left:1px solid #31545b;padding-left:28px}body.page-family-marketing .gateway-hero .hero-aside strong{display:block;font-size:26.0px;margin-bottom:8px}body.page-family-marketing .gateway-hero .hero-aside p{font-size:14px;margin:0;color:#a7bec0}body.page-family-marketing .catalog-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:end;margin:24px 0 20px}body.page-family-marketing .searchbox{display:grid;gap:6px;font-size:14px;text-transform:uppercase;font-weight:650;letter-spacing:.13em;color:#628087}body.page-family-marketing .searchbox input{width:360px;max-width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff;color:var(--ink)}body.page-family-marketing .filterbar{display:flex;gap:6px}body.page-family-marketing .filterbar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:650;color:#648087}body.page-family-marketing .filterbar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}body.page-family-marketing .city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}body.page-family-marketing .city-grid .card{min-height:184px;display:flex;flex-direction:column}body.page-family-marketing .city-grid .card .go{margin-top:auto}body.page-family-marketing .city-grid .future-card{opacity:.43;filter:grayscale(.9);background:#f2f4f3;pointer-events:none}body.page-family-marketing .pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}body.page-family-marketing .pager button{border:0;background:none;font-weight:650;color:var(--ink);cursor:pointer}body.page-family-marketing .pager button:disabled{opacity:.25;cursor:default}body.page-family-marketing .pager span{font:800 14px/1.4 var(--mono);color:#789095}body.page-family-marketing .hidden{display:none}
body.page-family-marketing /* High-value global sections */.impact-flow{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;gap:8px;align-items:stretch}body.page-family-marketing .impact-node{padding:24px;border:1px solid var(--line);background:#fff}body.page-family-marketing .impact-node b{display:block;font-size:17.0px}body.page-family-marketing .impact-node span{font-size:14px;color:var(--muted)}body.page-family-marketing .impact-arrow{display:flex;align-items:center;justify-content:center;font-size:28.0px;color:#73aeb0}body.page-family-marketing .question-box{background:var(--ink);color:#fff;padding:28px;border-radius:16px}body.page-family-marketing .question-box .q{font-size:25.0px;line-height:1.15;font-weight:650}body.page-family-marketing .question-box .path{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}body.page-family-marketing .question-box .path span{border:1px solid #41646a;border-radius:999px;padding:7px 10px;font:800 14px var(--mono);color:#bcd2d3}
body.page-family-marketing /* Overview explorer */.explorer{background:#0d3037;color:#fff;border:1px solid #294f56}body.page-family-marketing .explorer-tabs{display:flex;border-bottom:1px solid #294f56;overflow:auto}body.page-family-marketing .explorer-tabs button{flex:1;min-width:120px;padding:16px;border:0;background:none;color:#7e9da2;font-weight:650;cursor:pointer;border-bottom:3px solid transparent}body.page-family-marketing .explorer-tabs button.active{color:#fff;border-color:var(--mint)}body.page-family-marketing .explorer-panel{display:none;padding:26px}body.page-family-marketing .explorer-panel.active{display:block}body.page-family-marketing .resident-row{border:1px solid #31545b;padding:14px 16px;margin:8px 0;background:#123840}body.page-family-marketing .resident-row b{font-size:14px}body.page-family-marketing .resident-row span{font:700 14px var(--mono);color:#96b0b4;margin-left:8px}body.page-family-marketing .proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #31545b;margin-top:18px}body.page-family-marketing .proof-strip div{padding:17px;border-right:1px solid #31545b}body.page-family-marketing .proof-strip div:last-child{border:0}body.page-family-marketing .proof-strip b{display:block;font-size:23.0px}body.page-family-marketing .proof-strip span{font:700 14px var(--mono);color:#91aeb2;text-transform:uppercase}body.page-family-marketing .mini-table{width:100%;border-collapse:collapse;font-size:14px}body.page-family-marketing .mini-table th, body.page-family-marketing .mini-table td{text-align:left;padding:9px 10px;border-bottom:1px solid #31545b}body.page-family-marketing .mini-table th{color:#81a5a8;font:800 14px var(--mono);text-transform:uppercase}body.page-family-marketing .mini-table td{color:#d5e1e2}body.page-family-marketing .city-system-map{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}body.page-family-marketing .city-system-map span{padding:14px 8px;border:1px solid #31545b;text-align:center;font:800 14px var(--mono);color:#c0d2d4}
body.page-family-marketing /* Data */.entity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}body.page-family-marketing .entity-card{padding:20px;background:#fff;border:1px solid var(--line)}body.page-family-marketing .entity-card b{display:block;font-size:16.0px}body.page-family-marketing .entity-card span{font-size:14px;color:var(--muted)}body.page-family-marketing .sql-card{background:#0b2930;border:1px solid #244b52;color:#dbe7e8}body.page-family-marketing .sql-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #244b52;font:800 14px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#8fb0b3}body.page-family-marketing .sql-card pre{margin:0;padding:20px;overflow:auto;font:12px/1.65 var(--mono);white-space:pre}body.page-family-marketing .query-output{background:#fff;border:1px solid var(--line);overflow:auto}body.page-family-marketing .data-table{width:100%;border-collapse:collapse;font-size:14px}body.page-family-marketing .data-table th{position:sticky;top:0;background:#eef5f4;z-index:2;text-transform:uppercase;letter-spacing:.08em;font:800 14px var(--mono);color:#51737a}body.page-family-marketing .data-table th, body.page-family-marketing .data-table td{padding:11px 13px;border-bottom:1px solid #e2e8e7;text-align:left}body.page-family-marketing .data-table td{color:#59747a}body.page-family-marketing .scroll-pane{max-height:470px;overflow:auto;border:1px solid var(--line);background:#fff}body.page-family-marketing .path-chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap}body.page-family-marketing .path-chain span{border:1px solid var(--line);background:#fff;padding:10px 13px;font:800 14px var(--mono)}body.page-family-marketing .path-chain i{font-style:normal;color:#71a9ab}
body.page-family-marketing /* Domains index */.domain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}body.page-family-marketing .domain-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:14px;display:flex;flex-direction:column;min-height:160px}body.page-family-marketing .domain-card h3{font-size:17.0px;margin:7px 0}body.page-family-marketing .domain-card p{font-size:14px;color:var(--muted);margin:0 0 14px}body.page-family-marketing .domain-card .go{margin-top:auto}body.page-family-marketing .domain-meta{display:flex;justify-content:space-between;align-items:center}body.page-family-marketing .arch-groups details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}body.page-family-marketing .arch-groups summary{cursor:pointer;padding:15px 18px;font-weight:650;font-size:14px}body.page-family-marketing .arch-groups .inside{padding:0 18px 17px;display:flex;flex-wrap:wrap;gap:7px}body.page-family-marketing .arch-groups .inside span{font-size:14px;background:#f0f4f3;border-radius:999px;padding:6px 9px;color:#657d82}
body.page-family-marketing /* Rich domain documentation */.domain-doc-hero .phase{display:inline-flex;align-items:center;gap:7px;border:1px solid #3d666c;border-radius:999px;padding:6px 10px;font:800 14px var(--mono);color:#b8d0d1}body.page-family-marketing .domain-doc-hero .phase:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--mint)}body.page-family-marketing .hero-stat-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #31545b;margin-top:28px}body.page-family-marketing .hero-stat-strip div{padding:17px;border-right:1px solid #31545b}body.page-family-marketing .hero-stat-strip div:last-child{border:0}body.page-family-marketing .hero-stat-strip b{display:block;font-size:16.0px}body.page-family-marketing .hero-stat-strip span{font:700 14px var(--mono);color:#91aeb2;text-transform:uppercase}body.page-family-marketing .page-layout{display:grid;grid-template-columns:220px 1fr;gap:34px}body.page-family-marketing .sticky-aside{position:sticky;top:148px;align-self:start}body.page-family-marketing .toc{background:#fff;border:1px solid var(--line);padding:18px}body.page-family-marketing .toc b{font-size:14px;text-transform:uppercase;letter-spacing:.12em}body.page-family-marketing .toc a{display:block;padding:9px 0;font-size:14px;border-bottom:1px solid #edf1f0;color:#536f75}body.page-family-marketing .toc a:last-child{border:0}body.page-family-marketing .doc-section{padding:0 0 54px;margin-bottom:54px;border-bottom:1px solid var(--line)}body.page-family-marketing .doc-section:last-child{border-bottom:0}body.page-family-marketing .doc-section h2{font-size:clamp(30px,4vw,44px);line-height:1.03;letter-spacing:-.04em;margin:10px 0 14px;font-weight:650}body.page-family-marketing .doc-section>p{font-size:14px;color:var(--muted);max-width:780px}body.page-family-marketing .cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}body.page-family-marketing .cap-card{background:#fff;border:1px solid var(--line);padding:19px}body.page-family-marketing .cap-card .n{font:800 14px var(--mono);color:#4e878b}body.page-family-marketing .cap-card h3{font-size:15.0px;margin:7px 0}body.page-family-marketing .network-wrap{background:#f1f6f5;border:1px solid var(--line);padding:28px;margin-top:18px}body.page-family-marketing .network-center{text-align:center;margin-bottom:24px}body.page-family-marketing .network-center span{display:inline-block;background:var(--ink);color:#fff;padding:12px 18px;font:900 14px var(--mono);text-transform:uppercase}body.page-family-marketing .network-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}body.page-family-marketing .network-links a, body.page-family-marketing .network-links span{background:#fff;border:1px solid var(--line);padding:11px;text-align:center;font:800 14px var(--mono)}body.page-family-marketing .timeline-chain{display:flex;align-items:center;flex-wrap:wrap;margin-top:18px}body.page-family-marketing .timeline-step{padding:9px 13px;border:1px solid var(--line);background:#fff;border-radius:999px;font:800 14px var(--mono)}body.page-family-marketing .timeline-arrow{padding:0 8px;color:#79a4a7}body.page-family-marketing .boundary-list{display:grid;gap:9px}body.page-family-marketing .boundary{padding:15px 17px;border-left:3px solid #6aa7a9;background:#eef5f4;font-size:14px;color:#527177}body.page-family-marketing .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}body.page-family-marketing .related-grid a{padding:15px;border:1px solid var(--line);background:#fff;font-weight:650;font-size:14px}
body.page-family-marketing /* Evidence / certification */.evidence-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}body.page-family-marketing .chain-step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}body.page-family-marketing .chain-step b{display:block;font-size:14px}body.page-family-marketing .chain-step span{display:block;margin-top:5px;font-size:14px;color:var(--muted)}body.page-family-marketing .assurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}body.page-family-marketing .assurance{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}body.page-family-marketing .assurance b{font-size:15.0px}body.page-family-marketing .assurance p{font-size:14px;color:var(--muted);margin:7px 0 0}body.page-family-marketing .cert-score{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff}body.page-family-marketing .cert-score div{padding:20px;border-right:1px solid var(--line)}body.page-family-marketing .cert-score div:last-child{border:0}body.page-family-marketing .cert-score b{font-size:25.0px;display:block}body.page-family-marketing .cert-score span{font:800 14px var(--mono);color:#69868c;text-transform:uppercase}body.page-family-marketing .finding-card{border:1px solid var(--line);background:#fff;padding:17px}body.page-family-marketing .finding-card .status{font:800 14px var(--mono);color:var(--ok)}body.page-family-marketing .finding-card h3{font-size:15.0px;margin:6px 0}body.page-family-marketing .finding-card p{font-size:14px;color:var(--muted);margin:0}body.page-family-marketing .release-card{display:grid;grid-template-columns:115px 160px 1fr 60px;gap:15px;align-items:start;padding:17px 0;border-bottom:1px solid var(--line)}body.page-family-marketing .release-card:last-child{border-bottom:0}body.page-family-marketing .release-card .date{font:800 14px var(--mono);color:#618188}body.page-family-marketing .release-card .domain{font-weight:650;font-size:14px}body.page-family-marketing .release-card p{margin:0;color:var(--muted);font-size:14px}body.page-family-marketing .price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}body.page-family-marketing .price-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:23px;display:flex;flex-direction:column}body.page-family-marketing .price-card.featured{border:2px solid var(--teal2);box-shadow:var(--shadow)}body.page-family-marketing .price-card .price{font-size:35.0px;letter-spacing:-.04em;font-weight:650;margin:14px 0}body.page-family-marketing .price-card ul{padding-left:18px;margin:14px 0 22px;color:var(--muted);font-size:14px}body.page-family-marketing .price-card .btn{margin-top:auto}body.page-family-marketing .two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}body.page-family-marketing .three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.page-family-marketing .download-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
body.page-family-marketing /* Expanded Fidelra footer */.footer{background:#092a30;color:#afc5c6;padding:56px 0 24px;margin-top:70px}body.page-family-marketing .footer-grid{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:28px}body.page-family-marketing .footer-brand .logo{font-size:19.0px;font-weight:650;color:#fff;letter-spacing:-.02em}body.page-family-marketing .footer-brand .logo span{color:var(--mint)}body.page-family-marketing .footer-brand .fidelra-link{display:inline-block;margin-top:6px;font:900 14px var(--mono);letter-spacing:.08em;color:var(--mint)}body.page-family-marketing .footer-brand-desc{font-size:14px;line-height:1.55;max-width:370px}body.page-family-marketing .footer-brand-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:17px}body.page-family-marketing .footer-brand-stats span{font:700 14px/1.4 var(--mono);color:#88a7aa;border-top:1px solid #234850;padding-top:7px}body.page-family-marketing .footer-brand-stats b{color:#d7e7e8}body.page-family-marketing .footer-col-title{font-size:14px;font-weight:650;color:#fff;margin-bottom:12px}body.page-family-marketing .footer-col a{display:block;font-size:14px;margin:8px 0;color:#abc5c7}body.page-family-marketing .footer-col a:hover{color:#fff}body.page-family-marketing .footer-bottom{border-top:1px solid #234850;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#789a9e}body.page-family-marketing .footer-bottom a{color:#b6d0d2}
@media(max-width:960px){body.page-family-marketing .global-nav a:not(.btn){display:none}body.page-family-marketing .city-bar{top:64px}body.page-family-marketing .city-bar .wrap{display:block;padding-top:8px}body.page-family-marketing .city-nav{margin:0}body.page-family-marketing .city-hero-grid, body.page-family-marketing .gateway-hero .hero-inner, body.page-family-marketing .two-col, body.page-family-marketing .page-layout{grid-template-columns:1fr}body.page-family-marketing .sticky-aside{position:static}body.page-family-marketing .metrics{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .metric:nth-child(2){border-right:0}body.page-family-marketing .grid.c3, body.page-family-marketing .grid.c4, body.page-family-marketing .domain-grid, body.page-family-marketing .price-grid, body.page-family-marketing .assurance-grid, body.page-family-marketing .cap-grid, body.page-family-marketing .entity-grid{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .city-grid{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .evidence-chain{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .hero-stat-strip{grid-template-columns:repeat(3,1fr)}body.page-family-marketing .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}body.page-family-marketing .impact-flow{grid-template-columns:1fr}body.page-family-marketing .impact-arrow{transform:rotate(90deg)}body.page-family-marketing .network-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body.page-family-marketing .wrap{padding:0 18px}body.page-family-marketing .hero{padding:58px 0 52px}body.page-family-marketing .hero h1{font-size:48.0px}body.page-family-marketing .hero p{font-size:14px}body.page-family-marketing .global-header{height:58px}body.page-family-marketing .city-bar{top:58px}body.page-family-marketing .brand small{display:none}body.page-family-marketing .global-nav{gap:8px}body.page-family-marketing .metrics, body.page-family-marketing .grid.c2, body.page-family-marketing .grid.c3, body.page-family-marketing .grid.c4, body.page-family-marketing .domain-grid, body.page-family-marketing .price-grid, body.page-family-marketing .assurance-grid, body.page-family-marketing .city-grid, body.page-family-marketing .cap-grid, body.page-family-marketing .entity-grid, body.page-family-marketing .evidence-chain, body.page-family-marketing .cert-score, body.page-family-marketing .related-grid{grid-template-columns:1fr}body.page-family-marketing .catalog-toolbar{align-items:stretch;flex-direction:column}body.page-family-marketing .searchbox input{width:100%}body.page-family-marketing .release-card{grid-template-columns:1fr}body.page-family-marketing .gateway-hero .hero-aside{border-left:0;border-top:1px solid #31545b;padding:18px 0 0}body.page-family-marketing .city-hero-grid{gap:25px}body.page-family-marketing .footer-grid{grid-template-columns:1fr 1fr}body.page-family-marketing .footer-brand{grid-column:1/-1}body.page-family-marketing .footer-bottom{display:block}body.page-family-marketing .city-system-map{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .proof-strip, body.page-family-marketing .hero-stat-strip{grid-template-columns:repeat(2,1fr)}body.page-family-marketing .timeline-chain{align-items:flex-start;flex-direction:column}body.page-family-marketing .timeline-arrow{transform:rotate(90deg);padding:4px 12px}body.page-family-marketing .network-links{grid-template-columns:1fr}}

body.page-family-marketing /* V4 expanded Fidelra footer */
.footer{padding:64px 0 24px}body.page-family-marketing .footer-grid{grid-template-columns:1.65fr repeat(4,1fr);gap:42px}body.page-family-marketing .footer-brand-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:16px;font:600 14px var(--mono);color:#78999d}body.page-family-marketing .footer-brand-stats b{color:#78cfd0}@media(max-width:900px){body.page-family-marketing .footer-grid{grid-template-columns:1fr 1fr}body.page-family-marketing .footer-brand{grid-column:1/-1}}


body.page-family-marketing /* V4.4 — global homepage + premium city gateway */
.fcte-certified-badge, body.page-family-marketing .pill.live{background:var(--ink);color:#fff;border-color:var(--ink)}
body.page-family-marketing .fcte-certified-badge:before{background:var(--mint)}
body.page-family-marketing .fcte-main-hero{position:relative;overflow:hidden;padding:94px 0 72px;background:linear-gradient(135deg,#f7faf9 0%,#eef6f6 65%,#f7faf9 100%);border-bottom:1px solid var(--line)}
body.page-family-marketing .main-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:48px;align-items:center}body.page-family-marketing .main-eyebrow{font:800 14px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#278b89}body.page-family-marketing .main-hero-copy h1{font-size:clamp(62px,7.8vw,102px);line-height:.95;letter-spacing:-.065em;margin:18px 0 24px;max-width:720px}body.page-family-marketing .main-hero-copy h1 span{display:block;color:#118f82}body.page-family-marketing .main-hero-copy>p{max-width:690px;font-size:18.0px;line-height:1.7;color:#405d66}body.page-family-marketing .main-availability{margin-top:24px;font-size:14px;color:#5f787f}body.page-family-marketing .main-availability span{display:block;margin-top:3px;color:#7d9397}
body.page-family-marketing .main-network-stage{position:relative;min-height:540px}body.page-family-marketing .main-network{width:100%;height:auto;filter:drop-shadow(0 18px 35px rgba(14,74,79,.06))}body.page-family-marketing .mn-lines path{stroke:#9bcaca;stroke-width:1.2;fill:none;opacity:.62}body.page-family-marketing .mn-node circle{fill:#fff;stroke:#55b8b5;stroke-width:2}body.page-family-marketing .mn-node:first-of-type circle{fill:#118f82;stroke:#118f82}body.page-family-marketing .mn-node text{font:700 14px Inter,Arial,sans-serif;fill:#679095}body.page-family-marketing .main-kpi-panel{position:absolute;right:0;bottom:8px;width:min(500px,88%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #c8d9d7;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(11,49,56,.12)}body.page-family-marketing .main-kpi-panel>div{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-family-marketing .main-kpi-panel>div:nth-child(2n){border-right:0}body.page-family-marketing .main-kpi-panel b{display:block;font-size:29.0px;line-height:1.1;letter-spacing:-.04em}body.page-family-marketing .main-kpi-panel span{display:block;margin-top:7px;font:700 14px var(--mono);text-transform:uppercase;color:#718b91}body.page-family-marketing .main-kpi-panel .main-kpi-certified{grid-column:1/-1;border-bottom:0;background:#0b3138;color:#fff}body.page-family-marketing .main-kpi-panel .main-kpi-certified b{font-size:17.0px;color:#8fe0d7}body.page-family-marketing .main-kpi-panel .main-kpi-certified span{color:#9eb9bd}
body.page-family-marketing .main-thesis{padding:72px 0}body.page-family-marketing .main-thesis-copy{max-width:880px;margin:0 auto 34px;text-align:center;font-size:20.0px;font-weight:650;line-height:1.55}body.page-family-marketing .main-thesis-copy b{color:#118f82}body.page-family-marketing .main-value-grid .card{border-top:3px solid #d7e2e0}body.page-family-marketing .main-value-grid .card:hover{border-top-color:#78cfd0}body.page-family-marketing .main-connected-band{background:#07151f;color:#fff}body.page-family-marketing .main-connected-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}body.page-family-marketing .main-connected-band .section-head h2{color:#fff}body.page-family-marketing .main-connected-band .section-head p{color:#9fb4b7}body.page-family-marketing .main-dot-orbit{position:relative;width:min(520px,80vw);aspect-ratio:1;margin:auto;border:1px solid rgba(151,203,203,.16);border-radius:50%}body.page-family-marketing .main-dot-orbit:before, body.page-family-marketing .main-dot-orbit:after{content:'';position:absolute;inset:20%;border:1px solid rgba(151,203,203,.12);border-radius:50%}body.page-family-marketing .main-dot-orbit:after{inset:36%}body.page-family-marketing .orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#118f82;color:#fff;font-weight:650;box-shadow:0 0 0 12px rgba(17,143,130,.08)}body.page-family-marketing .main-dot-orbit span{position:absolute;left:50%;top:50%;width:max-content;transform:translate(-50%,-50%) rotate(var(--a)) translateX(220px) rotate(calc(-1 * var(--a)));padding:8px 11px;border:1px solid #29535a;border-radius:999px;background:#0d232d;color:#bcd2d3;font:700 14px var(--mono)}body.page-family-marketing .main-city-card{position:relative}body.page-family-marketing .main-city-card .pill{position:absolute;top:18px;right:18px}body.page-family-marketing .main-gateway-cta{display:flex;align-items:center;gap:18px;margin-top:22px}body.page-family-marketing .main-gateway-cta span{font-size:14px;color:var(--muted)}
body.page-family-marketing .gateway-hero{position:relative;overflow:hidden}body.page-family-marketing .gateway-premium-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:42px;align-items:center}body.page-family-marketing .gateway-visual{position:relative;min-height:450px}body.page-family-marketing .gateway-network{width:100%;height:auto;opacity:.82}body.page-family-marketing .gw-lines path{stroke:#4b7177;stroke-width:1.2;fill:none}body.page-family-marketing .gw-node circle{fill:#153e46;stroke:#97cbcb;stroke-width:2}body.page-family-marketing .gw-node:first-of-type circle{fill:#97cbcb}body.page-family-marketing .gw-node text{font:700 14px Inter,Arial,sans-serif;fill:#85a6aa}body.page-family-marketing .gateway-kpis{position:absolute;right:0;bottom:8px;width:min(520px,90%);display:grid;grid-template-columns:1fr 1fr;background:#fff;color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 22px 65px rgba(0,0,0,.18)}body.page-family-marketing .gateway-kpis>div{padding:19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}body.page-family-marketing .gateway-kpis>div:nth-child(2n){border-right:0}body.page-family-marketing .gateway-kpis b{display:block;font-size:26.0px;letter-spacing:-.04em}body.page-family-marketing .gateway-kpis span{display:block;margin-top:6px;font:700 14px var(--mono);text-transform:uppercase;color:#748d92}body.page-family-marketing .gateway-kpis .gateway-certified{grid-column:1/-1;border-bottom:0;background:#0b3138;color:#fff}body.page-family-marketing .gateway-kpis .gateway-certified b{font-size:16.0px;color:#8fe0d7}body.page-family-marketing .gateway-kpis .gateway-certified span{color:#9db6ba}
@media(max-width:960px){body.page-family-marketing .main-hero-grid, body.page-family-marketing .main-connected-grid, body.page-family-marketing .gateway-premium-grid{grid-template-columns:1fr}body.page-family-marketing .main-network-stage, body.page-family-marketing .gateway-visual{min-height:460px}body.page-family-marketing .main-kpi-panel, body.page-family-marketing .gateway-kpis{position:relative;right:auto;bottom:auto;margin:-85px auto 0}body.page-family-marketing .main-dot-orbit{margin-top:20px}}
@media(max-width:600px){body.page-family-marketing .fcte-main-hero{padding-top:64px}body.page-family-marketing .main-hero-copy h1{font-size:58.0px}body.page-family-marketing .main-network-stage, body.page-family-marketing .gateway-visual{min-height:auto}body.page-family-marketing .main-kpi-panel, body.page-family-marketing .gateway-kpis{width:100%;margin:10px 0 0}body.page-family-marketing .main-kpi-panel>div, body.page-family-marketing .gateway-kpis>div{padding:16px}body.page-family-marketing .main-gateway-cta{align-items:flex-start;flex-direction:column}body.page-family-marketing .main-dot-orbit{width:94vw}body.page-family-marketing .main-dot-orbit span{font-size:14px}body.page-family-marketing .gateway-copy h1{font-size:52.0px}}


/* ===== COMPONENT: city.css ===== */
/* V5 component foundation: unique layout/visual behavior only; fidelra.css owns global grammar. */
body.city-locked /* FCTE Marketplace — shared site chrome (variables, base, header/nav, footer, buttons)
   Linked by every page in fctemarketplace/. Page-specific component styles stay inline
   in each page's own <style> block. Keep this file dependency-free (no @import, no CDN). */

:root{
  --bg: #f4f8fb;
  --panel: #ffffff;
  --panel-2: #eef2f5;
  --teal-tint: #eef8f6;
  --ink: #0c1a24;
  --ink-2: #3c5262;
  --ink-3: #6b8298;
  --line: rgba(12, 26, 36, 0.1);
  --line-soft: rgba(12, 26, 36, 0.06);
  --accent: #0c8577;
  --accent-strong: #0c8577;
  --accent-hover: #095f54;
  --accent-ink: #ffffff;
  --amber: #b5790a;
  --good: #187a4a;
  --font: "Segoe UI", -apple-system, system-ui, sans-serif;
  --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
}

body.city-locked /* ---- base reset ---- */
*{ box-sizing: border-box; }
body.city-locked{ scroll-behavior: smooth; scroll-padding-top: 76px; overflow-x: hidden; }
body.city-locked{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.city-locked a{ color: inherit; text-decoration: none; }
body.city-locked h1, body.city-locked h2, body.city-locked h3, body.city-locked h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
body.city-locked .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 640px) { body.city-locked .wrap{ padding: 0 18px; } body.city-locked{ font-size: 16.0px; } }

body.city-locked /* ---- section rhythm ---- */
section{ padding: 96px 0; border-bottom: 1px solid var(--line-soft); }
body.city-locked section.tight{ padding: 68px 0; }
body.city-locked section.band{ background: var(--teal-tint); }
body.city-locked section.band-dark{ background: #06101a; border-bottom-color: #06101a; color: #fff; }
body.city-locked .band-dark .eyebrow{ color: #4fd9c4; }
body.city-locked .band-dark .head h2{ color: #fff; }
body.city-locked .band-dark .head p{ color: #a9b3ae; }
body.city-locked .section-divider{ position: relative; height: 1px; background: var(--line); }
body.city-locked .section-divider span{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
body.city-locked .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
body.city-locked .head{ max-width: 700px; margin-bottom: 40px; }
body.city-locked .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
body.city-locked .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

body.city-locked /* ---- buttons ---- */
.btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
body.city-locked .btn:hover{ transform: translateY(-1px); }
body.city-locked .btn-primary{ background: var(--accent); color: var(--accent-ink); }
body.city-locked .btn-primary:hover{ background: var(--accent-hover); }
body.city-locked .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
body.city-locked .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

body.city-locked /* ---- header / primary nav (identical on every page) ---- */
header{ position: sticky; top: 0; z-index: 50; background: linear-gradient(120deg, #d3ece7, #eaf3f1 55%, #f4f8fb); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
body.city-locked /* Pages that redeclare their own .wrap{max-width/padding} body.city-locked for their own content column (e.g.
   audit pages using 880-920px with extra top/bottom padding) also match the header's
   `.wrap.nav` div, since it reuses the same class. That both (a) narrows the nav row so
   nav-links + actions wrap to a second line, which then visually sandwiches the logo/actions
   between the wrapped lines because of align-items:center, and (b) leaks the page's own
   content padding (meant for the hero/section spacing) into the header, body.city-locked inflating its height.
   Restate the full box model here with higher specificity so it always wins regardless of a
   later, body.city-locked lower-specificity page-local .wrap rule. */
header .wrap{ max-width: 1180px; padding: 0 32px; margin: 0 auto; }
body.city-locked .nav{ display: flex; align-items: center; justify-content: space-between; padding: 14px 0; gap: 16px; position: relative; }
body.city-locked .logo{ font-family: var(--font-display); font-weight: 650; font-size: 18.0px; letter-spacing: -0.01em; }
body.city-locked .logo span{ color: var(--accent-strong); }

body.city-locked /* nav-panel bundles nav-links + nav-actions so both can collapse into one mobile drawer */
.nav-panel{ display: flex; align-items: center; gap: 32px; }
body.city-locked .nav-links{ display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
body.city-locked .nav-links a{ display: inline-block; padding: 10px 2px; font-size: 14px; color: var(--ink-2); font-weight: 500; white-space: nowrap; }
body.city-locked .nav-links a:hover{ color: var(--ink); }
body.city-locked .nav-links a.active{ color: var(--accent-strong); font-weight: 700; }
body.city-locked .nav-actions{ display: flex; gap: 22px; align-items: center; flex-shrink: 0; }
body.city-locked .nav-actions a.btn{ padding: 0; border: none; border-radius: 0; background: none; color: var(--ink-2); font-size: 14px; font-weight: 500; }
body.city-locked .nav-actions a.btn:hover{ transform: none; background: none; color: var(--ink); }
body.city-locked .nav-actions a.btn-primary{ color: var(--accent-strong); font-weight: 700; }
body.city-locked .nav-actions a.btn-primary:hover{ color: var(--accent-hover); }

body.city-locked /* hamburger toggle — hidden on desktop, body.city-locked shown at the mobile breakpoint */
.nav-toggle{ display: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); cursor: pointer; padding: 0; flex-shrink: 0; }
body.city-locked .nav-toggle span{ display: block; width: 18px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
body.city-locked .nav-toggle:hover{ border-color: var(--accent); }
body.city-locked .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
body.city-locked .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
body.city-locked .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 980px) {
  body.city-locked .nav-toggle{ display: flex; }
  body.city-locked .nav-panel{
    display: none;
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
    padding: 10px 24px 22px;
    box-shadow: 0 16px 32px -16px rgba(12, 26, 36, 0.22);
    max-height: calc(100vh - 70px);
    overflow-y: auto;
  }
  body.city-locked .nav-panel.open{ display: flex; }
  body.city-locked .nav-links{ flex-direction: column; gap: 2px; flex-wrap: nowrap; }
  body.city-locked .nav-links a{ display: block; padding: 13px 4px; font-size: 15.5px; border-bottom: 1px solid var(--line-soft); }
  body.city-locked .nav-actions{ flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
  body.city-locked .nav-actions .btn{ justify-content: center; width: 100%; }
}

body.city-locked /* ---- shared status pill (used for roadmap/phase/version status) ---- */
.phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
body.city-locked .phase-pill::before{ content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display: inline-block; }

body.city-locked /* ---- shared plain-language summary block (used on audit pages) ---- */
.plain-summary{ background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 32px; }
body.city-locked .plain-summary .eyebrow{ display: block; margin-bottom: 8px; }
body.city-locked .plain-summary h2{ font-size: clamp(24px, 3.2vw, 32px); font-weight: 650; }
body.city-locked .plain-summary p{ color: var(--ink-2); font-size: 16.0px; line-height: 1.65; margin-top: 12px; max-width: 72ch; }
body.city-locked .plain-summary-stats{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
body.city-locked .plain-summary-stat{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; min-width: 140px; }
body.city-locked .plain-summary-stat .v{ font-family: var(--font-display); font-size: 22.0px; font-weight: 650; color: var(--ink); }
body.city-locked .plain-summary-stat .k{ font-size: 14px; color: var(--ink-3); margin-top: 2px; }
body.city-locked .plain-summary-list{ list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body.city-locked .plain-summary-list li{ font-size: 15.5px; color: var(--ink-2); padding-left: 26px; position: relative; line-height: 1.5; }
body.city-locked .plain-summary-list li::before{ content: '✓'; position: absolute; left: 0; color: var(--good); font-weight: 700; }
body.city-locked .tech-toggle{ margin-top: 32px; }
body.city-locked .tech-toggle > summary{ cursor: pointer; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent-strong); padding: 12px 0; list-style: none; }
body.city-locked .tech-toggle > summary::-webkit-details-marker{ display: none; }
body.city-locked .tech-toggle > summary::before{ content: '▸ '; }
body.city-locked .tech-toggle[open] > summary::before{ content: '▾ '; }
body.city-locked .tech-toggle-note{ font-size: 14px; color: var(--ink-3); font-weight: 500; margin-left: 4px; text-transform: none; letter-spacing: 0; }
body.city-locked .audit-breadcrumb{ font-size: 14px; color: var(--ink-3); margin-bottom: 18px; }
body.city-locked .audit-breadcrumb a{ color: var(--accent-strong); font-weight: 600; }

body.city-locked /* ---- shared prev/next domain navigation (top strip + bottom strip on every domain page) ---- */
.domain-nav{ border-bottom: 1px solid var(--line-soft); background: var(--panel-2); }
body.city-locked .domain-nav .wrap{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 32px; }
body.city-locked .domain-nav.domain-nav-top{ position: sticky; top: 40px; z-index: 40; }
body.city-locked .domain-nav-link{ display: flex; flex-direction: column; gap: 1px; max-width: 46%; }
body.city-locked .domain-nav-link.next{ align-items: flex-end; text-align: right; }
body.city-locked .domain-nav-link .dn-k{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-3); }
body.city-locked .domain-nav-link .dn-v{ font-size: 14px; font-weight: 700; color: var(--accent-strong); }
body.city-locked .domain-nav-link.prev .dn-v::before{ content: '← '; }
body.city-locked .domain-nav-link.next .dn-v::after{ content: ' →'; }
body.city-locked .domain-nav-all{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-3); text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
body.city-locked .domain-nav.domain-nav-bottom{ background: var(--panel); border-top: 1px solid var(--line-soft); border-bottom: none; }

body.city-locked /* ---- shared closing "Get This Domain" CTA band (every domain page) ---- */
.final-cta-band{ margin-top: 44px; background: var(--teal-tint); border: 1px solid var(--line); border-radius: 10px; padding: 30px 34px; }
body.city-locked .final-cta-band .doc-section-label{ margin-top: 0; }
body.city-locked .final-cta-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 20px; }
body.city-locked .final-cta-note{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--ink-3); margin-top: 18px; }
body.city-locked .domain-nav.domain-nav-bottom .wrap{ padding: 22px 32px; }
@media (max-width: 640px) { body.city-locked .domain-nav .wrap{ padding: 10px 18px; } body.city-locked .domain-nav-link{ max-width: 42%; } body.city-locked .domain-nav-all{ display: none; } }

body.city-locked /* ---- shared domain documentation hero (used on every domain page) ---- */
.domain-hero{ padding-top: 8px; }
body.city-locked .domain-hero-top{ display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
body.city-locked .domain-hero-grid{ display: grid; grid-template-columns: 1.5fr 1fr; gap: 44px; align-items: start; margin-top: 20px; }
body.city-locked .domain-hero-icon{ width: 56px; height: 56px; border-radius: 14px; background: var(--teal-tint); display: flex; align-items: center; justify-content: center; font-size: 26.0px; margin-bottom: 18px; }
body.city-locked .domain-hero h1{ font-size: clamp(30px, 4.6vw, 46px); font-weight: 650; line-height: 1.06; }
body.city-locked .domain-hero-lead{ color: var(--ink-2); font-weight: 500; font-size: 16.5px; line-height: 1.65; margin-top: 14px; max-width: 62ch; }
body.city-locked .domain-hero-actions{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
body.city-locked .domain-stat-panel{ background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 8px 24px; }
body.city-locked .domain-stat{ display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line-soft); gap: 16px; }
body.city-locked .domain-stat:last-child{ border-bottom: none; }
body.city-locked .domain-stat .k{ font-size: 14px; color: var(--ink-2); font-weight: 600; }
body.city-locked .domain-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: 19.0px; color: var(--ink); text-align: right; white-space: nowrap; }
body.city-locked .domain-jumpnav{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; padding-top: 26px; border-top: 1px solid var(--line-soft); }
body.city-locked .domain-jumpnav a{ font-size: 14px; font-weight: 700; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 8px 14px; border-radius: 999px; }
body.city-locked .domain-jumpnav a:hover{ border-color: var(--accent); color: var(--accent-strong); }
@media (max-width: 860px) { body.city-locked .domain-hero-grid{ grid-template-columns: 1fr; } body.city-locked .domain-stat-panel{ padding: 4px 20px; } }

body.city-locked /* ---- shared footer (identical on every page) ---- */
footer{ padding: 64px 0 32px; background: #06101a; border-bottom: none; color: #fff; }
body.city-locked .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
body.city-locked .footer-row a:hover{ color: #4fd9c4; }
body.city-locked .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,0.1); }
@media (max-width: 900px) { body.city-locked .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { body.city-locked .footer-grid{ grid-template-columns: 1fr; } }
body.city-locked .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
body.city-locked .footer-brand .logo span{ color: #4fd9c4; }
body.city-locked .footer-brand p{ font-size: 14px; color: #7d8b96; margin-top: 8px; }
body.city-locked .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
body.city-locked .footer-brand-desc b{ color: #cbd5da; }
body.city-locked .footer-brand-stats{ display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-family: var(--mono); font-size: 14px; color: #7d8b96; }
body.city-locked .footer-brand-stats b{ color: #4fd9c4; font-weight: 700; }
body.city-locked .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
body.city-locked .footer-col{ display: flex; flex-direction: column; gap: 10px; }
body.city-locked .footer-col a{ font-size: 14px; color: #cbd5da; }
body.city-locked .footer-col a:hover{ color: #4fd9c4; }
body.city-locked .footer-bottom{ padding-top: 24px; }
body.city-locked /* ======================================================================
   FIDELRA / FCTE PRODUCT DESIGN SYSTEM
   Canonical visual layer for every FCTE marketplace page.
   Loaded LAST so page-local legacy styles cannot fragment the brand.
   Brand posture: measured, body.city-locked evidence-led, body.city-locked calm, body.city-locked technical, body.city-locked African-first.
   ====================================================================== */

:root{
  --fidelra-deep: #163a42;
  --fidelra-deeper: #0d2a31;
  --fidelra-ink: #102f36;
  --fidelra-teal: #79bcbc;
  --fidelra-teal-soft: #97cbcb;
  --fidelra-mist: #edf6f5;
  --fidelra-paper: #f8fbfa;
  --fidelra-white: #ffffff;
  --fidelra-line: #d8e5e3;
  --fidelra-line-strong: #bfd2cf;
  --fidelra-muted: #587078;
  --fidelra-muted-2: #789097;
  --fidelra-success: #24745e;
  --fidelra-warning: #9a6a16;
  --fidelra-danger: #a23e36;
  --fidelra-code: #0d252b;
  --fidelra-code-2: #12323a;
  --fidelra-code-text: #d9eeeb;

  /* Rebind legacy tokens so old page components inherit the same system. */
  --bg: var(--fidelra-paper);
  --panel: var(--fidelra-white);
  --panel-2: #f0f6f5;
  --teal-tint: var(--fidelra-mist);
  --ink: var(--fidelra-ink);
  --ink-2: var(--fidelra-muted);
  --ink-3: var(--fidelra-muted-2);
  --line: rgba(22, 58, 66, .13);
  --line-soft: rgba(22, 58, 66, .075);
  --accent: #4f9898;
  --accent-strong: #347f80;
  --accent-hover: #23676a;
  --accent-ink: #ffffff;
  --good: var(--fidelra-success);
  --amber: var(--fidelra-warning);

  /* One type family for the brand. Code is the only deliberate exception. */
  --font: "Inter", "Segoe UI", Arial, sans-serif;
  --font-display: "Inter", "Segoe UI", Arial, sans-serif;
  --mono: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --shadow-card: 0 14px 38px -34px rgba(13, 42, 49, .55);
  --shadow-raised: 0 24px 70px -48px rgba(13, 42, 49, .58);
}

body.city-locked{ scroll-padding-top: 104px; }
body.city-locked{
  background: var(--fidelra-paper);
  color: var(--fidelra-ink);
  font-family: var(--font);
  font-size: 17.0px;
  line-height: 1.68;
  letter-spacing: -.006em;
}

body.city-locked::before{
  content: "";
  position: fixed;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--fidelra-deep) 0 36%, var(--fidelra-teal-soft) 36% 72%, #dceceb 72% 100%);
  z-index: 1000;
  pointer-events: none;
}

body.city-locked h1, body.city-locked h2, body.city-locked h3, body.city-locked h4, body.city-locked h5, body.city-locked h6{ font-family: var(--font-display); color: var(--fidelra-ink); }
body.city-locked p{ text-wrap: pretty; }
body.city-locked .wrap{ max-width: 1180px; }

body.city-locked /* ----------------------------------------------------------------------
   FIDELRA PRODUCT LOCKUP + NARRATIVE NAVIGATION
   ---------------------------------------------------------------------- */
header{
  top: 3px;
  background: rgba(248, 251, 250, .94);
  border-bottom: 1px solid var(--fidelra-line);
  backdrop-filter: blur(18px) saturate(1.1);
  box-shadow: none;
}
body.city-locked header .wrap{ max-width: 1240px; }
body.city-locked .nav{ min-height: 76px; padding-top: 10px; padding-bottom: 10px; }
body.city-locked .logo.brand-lockup{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 175px;
  color: var(--fidelra-deep);
  letter-spacing: -.025em;
}
body.city-locked .brand-lockup .brand-parent{ font-size: 16.0px; font-weight: 650; letter-spacing: .02em; }
body.city-locked .brand-lockup .brand-slash{ color: var(--fidelra-line-strong); font-weight: 400; }
body.city-locked .brand-lockup .brand-product{ font-size: 18.0px; font-weight: 650; }
body.city-locked .brand-lockup .brand-product sup{ font-size: 14px; top: -.55em; position: relative; color: var(--accent-strong); }
body.city-locked .brand-lockup .brand-sub{
  display: block;
  margin-left: -2px;
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--fidelra-muted-2);
  white-space: nowrap;
}
body.city-locked .nav-panel{ gap: 24px; }
body.city-locked .nav-links{ gap: 5px; flex-wrap: nowrap; }
body.city-locked .nav-links li{ display: flex; }
body.city-locked .nav-links a{
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 7px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--fidelra-muted);
  line-height: 1.05;
  transition: background .15s ease, color .15s ease;
}
body.city-locked .nav-links a .nav-step{
  grid-row: 1 / span 2;
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .04em;
  color: var(--fidelra-muted-2);
}
body.city-locked .nav-links a .nav-main{ font-size: 14px; font-weight: 750; color: inherit; }
body.city-locked .nav-links a .nav-sub{ font-size: 14px; font-weight: 550; color: var(--fidelra-muted-2); margin-top: 3px; }
body.city-locked .nav-links a:hover{ background: var(--fidelra-mist); color: var(--fidelra-deep); }
body.city-locked .nav-links a.active{
  background: var(--fidelra-deep);
  color: #fff;
}
body.city-locked .nav-links a.active .nav-step, body.city-locked .nav-links a.active .nav-sub{ color: rgba(255,255,255,.64); }
body.city-locked .nav-actions{ gap: 10px; }
body.city-locked .nav-actions a.btn-primary{
  display: inline-flex;
  padding: 10px 15px;
  border: 1px solid var(--fidelra-deep);
  border-radius: 8px;
  background: var(--fidelra-deep);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
}
body.city-locked .nav-actions a.btn-ghost{ display: none; }

body.city-locked /* ----------------------------------------------------------------------
   HERO SYSTEM — deliberate scale, body.city-locked maximum two-line reading width
   ---------------------------------------------------------------------- */
.hero, body.city-locked .domain-hero, body.city-locked .audit-hero, body.city-locked .pricing-hero, body.city-locked [class*="hero-"]{ --hero-rule: var(--fidelra-teal-soft); }
body.city-locked .hero{ padding-top: 112px; padding-bottom: 54px; }
body.city-locked .hero h1, body.city-locked .pricing-hero h1, body.city-locked .rm-hero-title, body.city-locked .audit-hero h1, body.city-locked .audit-hero .title{
  font-family: var(--font-display);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
}
body.city-locked .hero h1{ font-size: clamp(54px, 7vw, 82px); max-width: 13.5ch; }
body.city-locked .hero h1 > span{ display: block; }
body.city-locked .hero h1 .line-2, body.city-locked .hero h1 .line-3{ color: var(--accent-strong); }
body.city-locked .hero p.lead{
  max-width: 60ch;
  margin-top: 24px;
  color: var(--fidelra-muted);
  font-size: clamp(17px, 1.6vw, 20px);
  font-weight: 450;
  line-height: 1.64;
}
body.city-locked .eyebrow, body.city-locked .doc-section-label, body.city-locked .cert-subhead, body.city-locked .footer-col-title, body.city-locked .cat-label{
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-strong);
}
body.city-locked .eyebrow::before, body.city-locked .doc-section-label::before{
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  margin: 0 9px 3px 0;
  background: var(--fidelra-teal-soft);
}
body.city-locked .hero-divider{ width: 100%; max-width: 1180px; height: 1px; margin-top: 54px; }
body.city-locked .hero-divider span:first-child{ flex-basis: 26%; background: var(--fidelra-teal-soft); }

body.city-locked .domain-hero{ padding: 58px 0 36px; }
body.city-locked .domain-hero h1{
  font-size: clamp(48px, 6.3vw, 72px);
  font-weight: 760;
  letter-spacing: -.05em;
  line-height: .98;
  max-width: 12ch;
}
body.city-locked .domain-hero-lead{ max-width: 62ch; font-size: 17.0px; font-weight: 450; }
body.city-locked .domain-hero-icon{ border-radius: 12px; border: 1px solid var(--fidelra-line); background: var(--fidelra-mist); }
body.city-locked .domain-stat-panel, body.city-locked .spec-panel{
  border: 1px solid var(--fidelra-line);
  border-radius: var(--radius-md);
  background: var(--fidelra-white);
  box-shadow: var(--shadow-card);
}
body.city-locked .spec-cell{ background: var(--fidelra-white); }
body.city-locked .spec-value, body.city-locked .domain-stat .v{ color: var(--fidelra-deep); font-weight: 760; }

body.city-locked .audit-hero{ padding: 64px 0 40px; }
body.city-locked .audit-hero h1, body.city-locked .audit-hero .title{
  font-size: clamp(42px, 5.2vw, 60px);
  max-width: 22ch;
}
body.city-locked .audit-hero .audit-dek, body.city-locked .audit-hero .lede, body.city-locked .audit-hero .dek, body.city-locked .audit-hero .subtitle{
  max-width: 66ch;
  color: var(--fidelra-muted);
  font-size: 16.5px;
}
body.city-locked .pricing-hero h1, body.city-locked .rm-hero-title{ font-size: clamp(50px, 6.5vw, 74px); max-width: 15ch; }

body.city-locked /* ----------------------------------------------------------------------
   SECTION LANGUAGE — one recognizable cadence everywhere
   ---------------------------------------------------------------------- */
section{ padding-top: 88px; padding-bottom: 88px; border-bottom-color: var(--line-soft); }
body.city-locked section.tight{ padding-top: 64px; padding-bottom: 64px; }
body.city-locked .head, body.city-locked .section-head{ max-width: 760px; margin-bottom: 38px; }
body.city-locked .head h2, body.city-locked .section-head h2, body.city-locked section > h2{
  font-size: clamp(34px, 4.3vw, 48px);
  font-weight: 740;
  letter-spacing: -.045em;
  line-height: 1.03;
  text-wrap: balance;
  max-width: 18ch;
}
body.city-locked .head p, body.city-locked .section-head p{
  margin-top: 14px;
  color: var(--fidelra-muted);
  font-size: 16.0px;
  line-height: 1.68;
  max-width: 66ch;
}
body.city-locked .doc-section{ padding: 36px 0; }
body.city-locked .doc-section h2, body.city-locked .doc-section h3{
  font-weight: 730;
  letter-spacing: -.03em;
  line-height: 1.08;
  text-wrap: balance;
}
body.city-locked .doc-section h3{ font-size: clamp(26px, 3vw, 34px); max-width: 24ch; }
body.city-locked .doc-section p, body.city-locked .doc-section li{ color: var(--fidelra-muted); }
body.city-locked .band, body.city-locked section.band{ background: var(--fidelra-mist); }
body.city-locked .band-dark, body.city-locked section.band-dark{
  background: var(--fidelra-deeper);
  color: #fff;
}
body.city-locked .band-dark .head h2, body.city-locked .band-dark h2, body.city-locked .band-dark h3{ color: #fff; }
body.city-locked .band-dark .eyebrow{ color: var(--fidelra-teal-soft); }
body.city-locked .band-dark .head p{ color: #b7cbca; }

body.city-locked /* ----------------------------------------------------------------------
   BUTTONS / CTA SYSTEM — quiet secondary, body.city-locked decisive primary
   ---------------------------------------------------------------------- */
.btn{
  border-radius: 8px;
  min-height: 42px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 720;
  letter-spacing: -.005em;
}
body.city-locked .btn-primary{ background: var(--fidelra-deep); border-color: var(--fidelra-deep); }
body.city-locked .btn-primary:hover{ background: #0f3037; }
body.city-locked .btn-ghost{ background: transparent; border-color: var(--fidelra-line-strong); color: var(--fidelra-deep); }
body.city-locked .btn-ghost:hover{ background: var(--fidelra-mist); }
body.city-locked .final-cta-band, body.city-locked .cta-panel, body.city-locked .inspected-panel{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--fidelra-line);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #f5faf9 0%, #e9f4f2 100%);
  box-shadow: var(--shadow-raised);
}
body.city-locked .final-cta-band::before, body.city-locked .cta-panel::before, body.city-locked .inspected-panel::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--fidelra-teal-soft);
}

body.city-locked /* ----------------------------------------------------------------------
   AUDIT / FINDING SYSTEM — evidence cards, body.city-locked not generic pastel boxes
   ---------------------------------------------------------------------- */
.plain-summary, body.city-locked .audit-statbar, body.city-locked .finding, body.city-locked .card, body.city-locked .score-card, body.city-locked .journey-card, body.city-locked details.audit-detail, body.city-locked section details{
  border: 1px solid var(--fidelra-line);
  border-radius: var(--radius-md);
  background: var(--fidelra-white);
  box-shadow: var(--shadow-card);
}
body.city-locked .audit-statbar{ overflow: hidden; }
body.city-locked .audit-stat{ padding: 20px 22px; }
body.city-locked .audit-stat .v{ color: var(--fidelra-deep); font-weight: 760; }
body.city-locked .finding{
  position: relative;
  padding: 22px 24px 22px 28px;
  gap: 18px;
  border-color: var(--fidelra-line);
  background: var(--fidelra-white);
}
body.city-locked .finding::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--fidelra-line-strong);
  border-radius: var(--radius-md) 0 0 var(--radius-md);
}
body.city-locked .finding.critical::before{ background: var(--fidelra-danger); }
body.city-locked .finding.warning::before{ background: var(--fidelra-warning); }
body.city-locked .finding.good::before{ background: var(--fidelra-success); }
body.city-locked .finding.neutral::before{ background: var(--fidelra-muted-2); }
body.city-locked .finding.critical, body.city-locked .finding.warning, body.city-locked .finding.good, body.city-locked .finding.neutral{ background: var(--fidelra-white); }
body.city-locked .sev-pill{
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 14px;
  letter-spacing: .08em;
}
body.city-locked .finding-body h3{ font-size: 17.0px; font-weight: 720; color: var(--fidelra-ink); }
body.city-locked .finding-body p{ color: var(--fidelra-muted); }
body.city-locked .stat-line{ border-radius: 7px; background: var(--fidelra-paper); }
body.city-locked .callout, body.city-locked .scope-note, body.city-locked .qx-perspective, body.city-locked .realism-vs{
  border: 1px solid var(--fidelra-line);
  border-left: 4px solid var(--fidelra-teal-soft);
  border-radius: 8px;
  background: var(--fidelra-mist);
  color: var(--fidelra-deep);
}

body.city-locked /* Audit archive note — plain text on the dark explorer surface. */
.qx-archive-note{
  margin: 18px 26px 26px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #d8e3e5;
  font-size: 14px;
  line-height: 1.6;
}
body.city-locked .qx-archive-note b, body.city-locked .qx-archive-note a{
  color: #4fd9c4;
}
body.city-locked .qx-archive-note a{
  text-decoration: none;
}
body.city-locked .qx-archive-note a:hover{
  text-decoration: underline;
}

body.city-locked /* ----------------------------------------------------------------------
   SQL QUERY SYSTEM — one dark technical surface everywhere
   ---------------------------------------------------------------------- */
.qx-sql-wrap, body.city-locked .dd-sql-wrap, body.city-locked .xd-sql-block, body.city-locked .ce-detail-sql, body.city-locked [class*="sql-block"], body.city-locked [class*="sql-wrap"]{
  position: relative;
  background: linear-gradient(160deg, var(--fidelra-code) 0%, var(--fidelra-code-2) 100%);
  border: 1px solid rgba(151,203,203,.22);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
body.city-locked .qx-sql-wrap::before, body.city-locked .dd-sql-wrap::before, body.city-locked .ce-detail-sql::before, body.city-locked [class*="sql-block"]::before{
  content: "FCTE / SQL";
  display: block;
  margin: -22px -26px 18px;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(151,203,203,.14);
  background: rgba(255,255,255,.025);
  color: #83aaa8;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.city-locked .dd-sql-wrap::before{ margin: -18px -20px 16px; }
body.city-locked .ce-detail-sql::before{ margin: -14px -16px 12px; }
body.city-locked .xd-sql-block::before, body.city-locked [class*="sql-block"]::before{ margin: -16px -18px 14px; }
body.city-locked .qx-sql, body.city-locked .dd-sql, body.city-locked .ce-detail-sql pre, body.city-locked [class*="sql-block"] pre, body.city-locked pre.sql, body.city-locked code.sql{
  color: var(--fidelra-code-text);
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.72;
  tab-size: 2;
}
body.city-locked .qx-sql .kw, body.city-locked .dd-sql .kw{ color: #8ed5ce; font-weight: 700; }
body.city-locked .qx-sql .cm, body.city-locked .dd-sql .cm{ color: #6f9394; }
body.city-locked .dd-sql .col{ color: #a9d1e5; }
body.city-locked .qx-copy-btn{
  top: 11px;
  right: 12px;
  border-radius: 6px;
  background: rgba(151,203,203,.08);
  border-color: rgba(151,203,203,.2);
}

body.city-locked /* Generic pre blocks on documentation / audits follow the same code language. */
.doc-section pre, body.city-locked .detail-body pre, body.city-locked .ascii-diagram{
  background: var(--fidelra-code);
  color: var(--fidelra-code-text);
  border: 1px solid rgba(151,203,203,.2);
  border-radius: 12px;
  font-family: var(--mono);
  line-height: 1.7;
}

body.city-locked /* ----------------------------------------------------------------------
   QUERY OUTPUT / TABLE SYSTEM
   ---------------------------------------------------------------------- */
.qx-table-wrap, body.city-locked .tablewrap, body.city-locked .ds-table-wrap, body.city-locked [class*="table-wrap"]{
  border-radius: 12px;
}
body.city-locked table.qx-table, body.city-locked table.live-table, body.city-locked table.entity-table, body.city-locked table.modifier-table, body.city-locked table.compare-table, body.city-locked table.ds-table, body.city-locked table.dict-table, body.city-locked table.twin-evidence, body.city-locked table.src-table, body.city-locked table.chart-data-table, body.city-locked table.audit-table, body.city-locked .tablewrap table{
  background: var(--fidelra-white);
  border-collapse: separate;
  border-spacing: 0;
}
body.city-locked table.qx-table th, body.city-locked table.live-table th, body.city-locked table.entity-table th, body.city-locked table.modifier-table th, body.city-locked table.compare-table th, body.city-locked table.ds-table th, body.city-locked table.dict-table th, body.city-locked table.twin-evidence th, body.city-locked table.src-table th, body.city-locked table.chart-data-table th, body.city-locked table.audit-table th, body.city-locked .tablewrap th{
  background: #edf5f4;
  color: var(--fidelra-deep);
  border-bottom: 1px solid var(--fidelra-line);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .08em;
}
body.city-locked table.qx-table td, body.city-locked table.live-table td, body.city-locked table.entity-table td, body.city-locked table.modifier-table td, body.city-locked table.compare-table td, body.city-locked table.ds-table td, body.city-locked table.dict-table td, body.city-locked table.twin-evidence td, body.city-locked table.src-table td, body.city-locked table.chart-data-table td, body.city-locked table.audit-table td, body.city-locked .tablewrap td{
  border-bottom-color: var(--line-soft);
  color: var(--fidelra-muted);
}
body.city-locked table tr:hover td{ background: rgba(237,246,245,.62); }
body.city-locked .qx-result-label::before{ content: "QUERY OUTPUT · "; color: var(--accent-strong); }

body.city-locked /* ----------------------------------------------------------------------
   CHART + DIAGRAM SYSTEM — one framed analytical language
   ---------------------------------------------------------------------- */
.chart-wrap, body.city-locked .qx-chart-wrap, body.city-locked .chart-svg-wrap, body.city-locked .bd-chart-row, body.city-locked .network-wrap, body.city-locked .journey-card, body.city-locked .domain-tree-wrap, body.city-locked .realism-grid, body.city-locked .scoreboard, body.city-locked .cert-cat-grid{
  border-color: var(--fidelra-line);
}
body.city-locked .chart-wrap, body.city-locked .chart-svg-wrap, body.city-locked .network-wrap, body.city-locked .qx-panel, body.city-locked .journey-card{
  border: 1px solid var(--fidelra-line);
  border-radius: var(--radius-md);
  background: var(--fidelra-white);
  box-shadow: var(--shadow-card);
}
body.city-locked .qx-panel{ overflow: hidden; }
body.city-locked .qx-chart-wrap{ background: linear-gradient(180deg, #fff, #fbfdfc); }
body.city-locked .chart-head, body.city-locked .chart-title, body.city-locked .qx-chart-label{
  color: var(--fidelra-deep);
}
body.city-locked .chart-title{ font-weight: 720; letter-spacing: -.015em; }
body.city-locked .chart-caption, body.city-locked .chart-sub{ color: var(--fidelra-muted); }
body.city-locked svg text{ font-family: var(--font); }
body.city-locked svg [stroke="#0c8577"], body.city-locked svg [stroke="#4fd9c4"]{ stroke: var(--accent-strong); }
body.city-locked svg [fill="#0c8577"], body.city-locked svg [fill="#4fd9c4"]{ fill: var(--accent-strong); }
body.city-locked .chart-tooltip{
  border: 1px solid var(--fidelra-line);
  border-radius: 8px;
  background: var(--fidelra-deep);
  color: #fff;
  box-shadow: var(--shadow-raised);
}
body.city-locked .tree-node{ border-radius: 8px; }
body.city-locked .tree-node-center{ background: var(--fidelra-deep); border-color: var(--fidelra-deep); }

body.city-locked /* ----------------------------------------------------------------------
   CARD / TAB / STATUS DETAILS
   ---------------------------------------------------------------------- */
.cap-card, body.city-locked .goal-card, body.city-locked .domain-card, body.city-locked .price-card, body.city-locked .cert-cat-card, body.city-locked .twin-cert-row, body.city-locked .plain-summary-stat, body.city-locked .domain-stat-panel, body.city-locked .spec-panel, body.city-locked .ds-card, body.city-locked .panel-card, body.city-locked .mode-card{
  border-color: var(--fidelra-line);
  border-radius: var(--radius-md);
}
body.city-locked .qx-tab, body.city-locked .dist-tab, body.city-locked .domain-jumpnav a, body.city-locked .rel-chip, body.city-locked .pager-btn{
  border-radius: 999px;
}
body.city-locked .qx-tab.active, body.city-locked .dist-tab.active{ background: var(--fidelra-deep); border-color: var(--fidelra-deep); }
body.city-locked .phase-pill, body.city-locked .pill, body.city-locked .dstatus, body.city-locked .st-pill{ border-radius: 999px; }

body.city-locked /* ----------------------------------------------------------------------
   STORY PROGRESSION BAND — injected before footer on principal pages
   ---------------------------------------------------------------------- */
.story-next{
  padding: 0 0 72px;
  background: var(--fidelra-paper);
}
body.city-locked .story-next-card{
  display: grid;
  grid-template-columns: 110px 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 26px 30px;
  border: 1px solid var(--fidelra-line);
  border-radius: var(--radius-lg);
  background: var(--fidelra-white);
  box-shadow: var(--shadow-card);
}
body.city-locked .story-next-step{
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-strong);
}
body.city-locked .story-next-copy b{ display: block; font-size: 21.0px; letter-spacing: -.025em; color: var(--fidelra-deep); }
body.city-locked .story-next-copy span{ display: block; margin-top: 3px; font-size: 14px; color: var(--fidelra-muted); }
body.city-locked .story-next .btn{ white-space: nowrap; }

body.city-locked /* ----------------------------------------------------------------------
   FOOTER — Fidelra parent brand first
   ---------------------------------------------------------------------- */
footer{ background: var(--fidelra-deeper); padding-top: 58px; }
body.city-locked .footer-brand .logo{ color: #fff; }
body.city-locked .footer-brand .logo span{ color: var(--fidelra-teal-soft); }
body.city-locked .footer-brand-desc b, body.city-locked .footer-brand-stats b{ color: var(--fidelra-teal-soft); }
body.city-locked .footer-col-title{ color: #7fa3a2; }
body.city-locked .footer-col a{ color: #c2d2d0; }
body.city-locked .footer-col a:hover{ color: var(--fidelra-teal-soft); }

body.city-locked /* ----------------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------------- */
@media (max-width: 1100px){
  .brand-lockup .brand-sub { display: none; }
  .nav-links a .nav-sub { display: none; }
  .nav-links a { grid-template-rows: auto; }
  .nav-links a .nav-step { grid-row: 1; }
}
@media (max-width: 980px) {
  body.city-locked header{ top: 3px; }
  body.city-locked .nav-panel{ background: var(--fidelra-paper); }
  body.city-locked .nav-links a{ display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; padding: 13px 12px; border-bottom: none; }
  body.city-locked .nav-links a .nav-step{ grid-row: 1 / span 2; }
  body.city-locked .nav-links a .nav-sub{ display: block; }
  body.city-locked .nav-actions a.btn-primary{ width: 100%; justify-content: center; }
  body.city-locked .story-next-card{ grid-template-columns: 1fr; gap: 12px; }
  body.city-locked .story-next-step{ margin-bottom: -4px; }
}
@media (max-width: 640px) {
  body.city-locked{ font-size: 16.0px; }
  body.city-locked section{ padding-top: 66px; padding-bottom: 66px; }
  body.city-locked .hero{ padding-top: 78px; }
  body.city-locked .hero h1{ font-size: clamp(47px, 15vw, 64px); max-width: 10.5ch; }
  body.city-locked .head h2, body.city-locked .section-head h2, body.city-locked section > h2{ font-size: 34.0px; }
  body.city-locked .domain-hero h1{ font-size: 50.0px; }
  body.city-locked .audit-hero h1, body.city-locked .audit-hero .title{ font-size: 40.0px; max-width: 16ch; }
  body.city-locked .story-next{ padding-bottom: 52px; }
  body.city-locked .story-next-card{ padding: 22px; }
}

body.city-locked /* Dark-band analytical variant: same component grammar, body.city-locked appropriate surface. */
.band-dark .chart-wrap, body.city-locked .band-dark .chart-svg-wrap, body.city-locked .band-dark .network-wrap, body.city-locked .band-dark .qx-panel, body.city-locked .band-dark .journey-card{
  background: rgba(255,255,255,.035);
  border-color: rgba(151,203,203,.16);
  box-shadow: none;
}
body.city-locked .band-dark .chart-title, body.city-locked .band-dark .qx-chart-label{ color: #e8f3f1; }
body.city-locked .band-dark .chart-caption, body.city-locked .band-dark .chart-sub{ color: #9fb9b8; }


body.city-locked /* ======================================================================
   FIDELRA POLISH PASS — contrast, body.city-locked city selection, body.city-locked audit workspaces
   2026-08-06
   ====================================================================== */

/* Contrast correction: a light assurance card can live inside a dark band, body.city-locked but it must keep dark typography. */
.band-dark .inspected-panel h2, body.city-locked .band-dark .inspected-panel h3{
  color: var(--fidelra-deep);
}
body.city-locked .band-dark .inspected-panel p{
  color: var(--fidelra-muted);
}

body.city-locked /* Dark analytical workspace CTA contrast. */
.twin-widget-box .btn-ghost{
  color: #f4fbfa;
  border-color: rgba(151,203,203,.48);
  background: rgba(151,203,203,.04);
}
body.city-locked .twin-widget-box .btn-ghost:hover{
  color: #fff;
  border-color: var(--fidelra-teal-soft);
  background: rgba(151,203,203,.12);
}
body.city-locked .twin-widget-box .btn-primary{
  color: var(--fidelra-deeper);
  background: var(--fidelra-teal-soft);
  border-color: var(--fidelra-teal-soft);
}
body.city-locked .twin-widget-box .btn-primary:hover{ background: #b3dada; }
body.city-locked .twin-widget-tab{ color: #9bb1b1; }
body.city-locked .twin-widget-tab:hover:not(.active){ color: #d8e8e6; }
body.city-locked .wv-sub, body.city-locked .wv-resident-meta{ color: #9bb1b1; }

body.city-locked /* City choice is a first-class product control, body.city-locked not a loose set of chips. */
.city-toggle-row{
  align-items: center;
}
body.city-locked .city-toggle-label{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-right: 4px;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--fidelra-muted-2);
}
body.city-locked .city-toggle-row .filter-chip:not(.filter-chip-soon){
  border-radius: 7px;
  min-width: 104px;
  text-align: center;
}
body.city-locked .city-toggle-row .filter-chip.active{
  background: var(--fidelra-deep);
  border-color: var(--fidelra-deep);
  color: #fff;
  box-shadow: 0 8px 22px -18px rgba(15,45,52,.9);
}
body.city-locked .city-toggle-row .filter-chip-soon{ opacity: .62; }

body.city-locked /* Audit pages act like evidence workspaces. */
.audit-page .audit-city-switcher{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0 30px;
  padding: 12px 14px 12px 16px;
  border: 1px solid var(--fidelra-line);
  border-radius: 10px;
  background: var(--fidelra-white);
  box-shadow: var(--shadow-card);
}
body.city-locked .audit-city-switcher-copy{
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
body.city-locked .audit-city-switcher-copy b{
  color: var(--fidelra-deep);
  font-size: 14px;
}
body.city-locked .audit-city-switcher-copy span{
  color: var(--fidelra-muted-2);
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.city-locked .audit-city-tabs{ display: flex; gap: 6px; flex-wrap: wrap; }
body.city-locked .audit-city-tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid var(--fidelra-line-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--fidelra-deep);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
body.city-locked .audit-city-tab:hover{ background: var(--fidelra-mist); }
body.city-locked .audit-city-tab.active{
  border-color: var(--fidelra-deep);
  background: var(--fidelra-deep);
  color: #fff;
}
body.city-locked .audit-city-tab.compare.active{
  border-color: var(--accent-strong);
  background: var(--accent-strong);
}

body.city-locked /* Audit summary text should remain readable at normal viewing distance. */
.audit-page .audit-statbar + p{
  max-width: 104ch;
  margin-top: 16px;
  color: var(--fidelra-muted);
  font-size: 14px;
  line-height: 1.75;
}
body.city-locked .audit-page .audit-stat .k{
  color: #60787a;
  line-height: 1.5;
}

body.city-locked /* Download controls: evidence should leave the page cleanly. */
.audit-download-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid var(--fidelra-line);
  border-radius: 9px;
  background: #f7fbfa;
}
body.city-locked .audit-download-copy{
  color: var(--fidelra-muted);
  font-size: 14px;
  line-height: 1.45;
}
body.city-locked .audit-download-copy b{ color: var(--fidelra-deep); }
body.city-locked .audit-download-btn{
  flex: 0 0 auto;
  appearance: none;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid var(--fidelra-deep);
  border-radius: 7px;
  background: var(--fidelra-deep);
  color: #fff;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 720;
  cursor: pointer;
}
body.city-locked .audit-download-btn:hover{ background: #0f3037; }
body.city-locked .audit-download-btn.secondary{
  background: #fff;
  color: var(--fidelra-deep);
  border-color: var(--fidelra-line-strong);
}
body.city-locked .audit-download-btn.secondary:hover{ background: var(--fidelra-mist); }

body.city-locked /* Long audits live inside scrollable evidence panes instead of making the
   document itself thousands of pixels tall. */
.audit-scroll-panel, body.city-locked .audit-table-scroll{
  scrollbar-color: #9bbfbd #edf4f3;
  scrollbar-width: thin;
}
body.city-locked .audit-scroll-panel{
  position: relative;
  max-height: 72vh;
  min-height: 260px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 12px;
  border: 1px solid var(--fidelra-line);
  border-radius: 12px;
  background: #f8fbfa;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
body.city-locked .audit-scroll-panel:focus, body.city-locked .audit-table-scroll:focus{
  outline: 2px solid rgba(12,133,119,.34);
  outline-offset: 2px;
}
body.city-locked .audit-findings-scroll{ max-height: 720px; }
body.city-locked .audit-findings-scroll .finding:last-child{ margin-bottom: 0; }
body.city-locked .audit-registry-scroll{
  max-height: 74vh;
  padding: 0 10px 14px;
}
body.city-locked .audit-registry-scroll .tiergroup > h3{
  position: sticky;
  top: 0;
  z-index: 4;
  margin-left: -2px;
  margin-right: -2px;
  padding-top: 13px;
  padding-bottom: 12px;
  background: rgba(248,251,250,.96);
  backdrop-filter: blur(8px);
}
body.city-locked .audit-page .log-wrap{
  max-height: 680px;
  border-radius: 12px;
  background: #fff;
}
body.city-locked .audit-page .log-tree, body.city-locked .audit-page .log-detail{
  max-height: 680px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

body.city-locked /* Audit tables: both axes stay contained; headings remain visible while
   inspecting long result sets. */
.audit-page .tablewrap.audit-table-scroll, body.city-locked .audit-page .audit-table-scroll{
  max-height: 620px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--fidelra-line);
  border-radius: 11px;
  background: #fff;
}
body.city-locked .audit-page .audit-table-scroll table{
  min-width: 900px;
  margin: 0;
  border: 0;
}
body.city-locked .audit-page .audit-table-scroll tr:first-child th, body.city-locked .audit-page .audit-table-scroll thead th{
  position: sticky;
  top: 0;
  z-index: 3;
  box-shadow: 0 1px 0 var(--fidelra-line);
}
body.city-locked .audit-page .audit-table-scroll td, body.city-locked .audit-page .audit-table-scroll th{
  vertical-align: top;
}

@media (max-width: 760px) {
  body.city-locked .audit-page .audit-city-switcher{ align-items: stretch; flex-direction: column; }
  body.city-locked .audit-city-tabs{ display: grid; grid-template-columns: repeat(3, 1fr); }
  body.city-locked .audit-city-tab{ min-width: 0; }
  body.city-locked .audit-download-row{ align-items: stretch; flex-direction: column; }
  body.city-locked .audit-download-btn{ width: 100%; }
  body.city-locked .city-toggle-label{ width: 100%; }
}

body.city-locked /* Certification city selector uses the same product-tab language. */
.asset-toggle{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
body.city-locked .asset-toggle::before{
  content: "Choose city";
  margin-right: 4px;
  color: #9bb1b1;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.city-locked .asset-toggle button{
  min-width: 104px;
  min-height: 36px;
  padding: 8px 14px;
  border: 1px solid rgba(151,203,203,.34);
  border-radius: 7px;
  background: rgba(255,255,255,.035);
  color: #d5e4e2;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
}
body.city-locked .asset-toggle button:hover{ background: rgba(151,203,203,.1); }
body.city-locked .asset-toggle button.active{
  border-color: var(--fidelra-teal-soft);
  background: var(--fidelra-teal-soft);
  color: var(--fidelra-deeper);
}

body.city-locked /* ======================================================================
   FIDELRA TYPOGRAPHY CONTRACT — canonical across every FCTE page
   Reference: the approved audit hero + section-heading treatment.
   Page-local CSS may control layout, body.city-locked but it may not redefine the primary
   page title or primary section-heading face, body.city-locked size, body.city-locked weight, body.city-locked tracking or
   line-height. This block intentionally comes last in site.css.
   ====================================================================== */

/* Page / hero title — one scale everywhere. */
.hero h1, body.city-locked .pricing-hero h1, body.city-locked .rm-hero-title, body.city-locked .audit-hero h1, body.city-locked .audit-hero .title, body.city-locked .intro-band h1, body.city-locked #hero .hero-top-text h1, body.city-locked section.tight > .wrap > h1, body.city-locked.story-proof > section.tight:first-of-type > .wrap > h2, body.city-locked.story-deploy > section.tight:first-of-type > .wrap > h2{
  font-family: var(--font-display);
  font-size: clamp(42px, 5.2vw, 60px);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
  max-width: 22ch;
}

body.city-locked /* Primary section title — same cadence on marketing, body.city-locked product, body.city-locked domain and
   audit pages. Domain documentation deliberately uses h3 semantically, body.city-locked so its direct doc-section h3 participates in the same visual tier. */
.head > h2, body.city-locked .section-head > h2, body.city-locked section > .wrap > h2, body.city-locked section > h2, body.city-locked .group > h2, body.city-locked .city-head > h2, body.city-locked .wrap.doc-section > h3{
  font-family: var(--font-display);
  font-size: clamp(34px, 4.3vw, 48px);
  font-weight: 740;
  letter-spacing: -.045em;
  line-height: 1.03;
  text-wrap: balance;
  max-width: 22ch;
}

body.city-locked /* Page-title h2s on these utility/proof pages are visually heroes. Keep
   this after the section rule so they inherit the hero tier, body.city-locked not h2 tier. */
body.story-proof > section.tight:first-of-type > .wrap > h2, body.city-locked.story-deploy > section.tight:first-of-type > .wrap > h2{
  font-size: clamp(42px, 5.2vw, 60px);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: .98;
  max-width: 22ch;
}

body.city-locked /* Preserve context colour while keeping typography identical. */
.band-dark .head > h2, body.city-locked .band-dark .section-head > h2, body.city-locked .band-dark .wrap.doc-section > h3, body.city-locked .intro-band h1{
  color: #fff;
}

@media (max-width: 760px) {
  body.city-locked .hero h1, body.city-locked .pricing-hero h1, body.city-locked .rm-hero-title, body.city-locked .audit-hero h1, body.city-locked .audit-hero .title, body.city-locked .intro-band h1, body.city-locked #hero .hero-top-text h1, body.city-locked section.tight > .wrap > h1, body.city-locked.story-proof > section.tight:first-of-type > .wrap > h2, body.city-locked.story-deploy > section.tight:first-of-type > .wrap > h2{
    font-size: 40.0px;
    max-width: 18ch;
  }

  body.city-locked .head > h2, body.city-locked .section-head > h2, body.city-locked section > .wrap > h2, body.city-locked section > h2, body.city-locked .group > h2, body.city-locked .city-head > h2, body.city-locked .wrap.doc-section > h3{
    font-size: 34.0px;
    max-width: 20ch;
  }
}


body.city-locked /* ======================================================================
   FCTE CITY CONTEXT ARCHITECTURE
   Gateway -> select a city -> remain inside that city's product space.
   ====================================================================== */
.city-gateway-page, .city-context-page{ background: var(--fidelra-paper); }
body.city-locked .gateway-header .nav-links a{ font-family: var(--font-display); font-weight: 650; }
body.city-locked .gateway-hero{ padding: 112px 0 96px; background: var(--fidelra-deep); color: #fff; border: 0; }
body.city-locked .gateway-hero .eyebrow{ color: var(--fidelra-teal-soft); }
body.city-locked .gateway-hero h1, body.city-locked .city-page-hero h1{
  font-family: var(--font-display);
  font-size: clamp(42px, 5.2vw, 60px);
  font-weight: 760;
  letter-spacing: -.055em;
  line-height: .98;
  text-wrap: balance;
  max-width: 22ch;
}
body.city-locked .gateway-hero h1{ color: #fff; margin-top: 16px; max-width: 15ch; }
body.city-locked .gateway-lead{ max-width: 72ch; color: #c9dcda; font-size: 18.0px; line-height: 1.7; margin: 24px 0 0; }
body.city-locked .gateway-actions, body.city-locked .city-hero-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
body.city-locked .gateway-hero .btn-primary{ background: var(--fidelra-teal-soft); color: var(--fidelra-deeper); }
body.city-locked .gateway-hero .btn-ghost{ border-color: rgba(255,255,255,.22); color: #fff; }
body.city-locked .city-catalog-section{ background: #fff; }
body.city-locked .city-catalog-toolbar{ display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:26px; }
body.city-locked .city-search{ display:flex; flex-direction:column; gap:7px; min-width:min(440px,100%); font-family:var(--mono); font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--fidelra-muted); font-weight:700; }
body.city-locked .city-search input{ width:100%; min-height:48px; border:1px solid var(--fidelra-line-strong); border-radius:8px; background:#fff; color:var(--fidelra-ink); padding:11px 14px; font-family:var(--font); font-size:15.0px; text-transform:none; letter-spacing:0; outline:none; }
body.city-locked .city-search input:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(12,133,119,.09); }
body.city-locked .city-status-filters{ display:flex; flex-wrap:wrap; gap:6px; }
body.city-locked .city-status-filters button{ border:1px solid var(--fidelra-line); background:#fff; color:var(--fidelra-muted); border-radius:999px; padding:8px 13px; font-family:var(--mono); font-size:14px; font-weight:750; cursor:pointer; }
body.city-locked .city-status-filters button.active{ background:var(--fidelra-deep); border-color:var(--fidelra-deep); color:#fff; }
body.city-locked .city-catalog-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
body.city-locked .city-catalog-card{ display:flex; flex-direction:column; min-height:240px; padding:22px; border:1px solid var(--fidelra-line); border-radius:12px; background:var(--fidelra-paper); transition:.16s ease; }
body.city-locked .city-catalog-card.live:hover{ transform:translateY(-3px); border-color:var(--fidelra-teal); box-shadow:0 18px 34px -28px rgba(13,42,49,.5); }
body.city-locked .city-catalog-card.future{ opacity:.62; cursor:default; background:#f5f8f7; }
body.city-locked .city-card-top{ display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
body.city-locked .city-card-region{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.1em; font-size:14px; color:var(--fidelra-muted-2); font-weight:750; }
body.city-locked .city-catalog-card h3{ font-size:27.0px; font-weight:760; letter-spacing:-.035em; margin-top:7px; }
body.city-locked .city-catalog-card p{ color:var(--fidelra-muted); margin:2px 0 0; font-size:14px; }
body.city-locked .city-card-status{ flex-shrink:0; font-family:var(--mono); font-size:14px; font-weight:650; letter-spacing:.05em; text-transform:uppercase; padding:5px 8px; border-radius:999px; }
body.city-locked .city-card-status.certified{ background:#e4f5ef; color:#12694a; }
body.city-locked .city-card-status.future{ background:#eef1f0; color:#697a79; }
body.city-locked .city-card-stats{ display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:auto; padding-top:26px; color:var(--fidelra-muted); font-family:var(--mono); font-size:14px; }
body.city-locked .city-card-go{ display:block; margin-top:13px; padding-top:13px; border-top:1px solid var(--fidelra-line); color:var(--accent-strong); font-size:14px; font-weight:750; }
body.city-locked .city-empty-state{ padding:34px; border:1px dashed var(--fidelra-line-strong); color:var(--fidelra-muted); text-align:center; }
body.city-locked .context-flow{ display:grid; grid-template-columns:repeat(8,1fr); gap:1px; background:var(--fidelra-line); border:1px solid var(--fidelra-line); }
body.city-locked .context-flow div{ min-height:108px; background:#fff; padding:16px 12px; display:flex; flex-direction:column; justify-content:space-between; }
body.city-locked .context-flow b{ font-family:var(--mono); color:var(--fidelra-teal); font-size:14px; }
body.city-locked .context-flow span{ font-family:var(--font-display); font-size:14px; font-weight:750; }
body.city-locked .city-architecture-note{ display:grid; grid-template-columns:1.35fr .85fr; gap:50px; align-items:center; }
body.city-locked .city-architecture-note code{ display:block; padding:24px; border-radius:10px; background:var(--fidelra-deep); color:#cfe4e1; font-family:var(--mono); font-size:14px; line-height:1.9; }

body.city-locked /* Persistent city-context header. */
.city-context-header{ background:rgba(248,251,250,.97); }
body.city-locked .city-brandbar{ min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
body.city-locked .city-context-controls{ display:flex; align-items:center; gap:16px; }
body.city-locked .city-picker-label{ display:flex; align-items:center; gap:9px; font-family:var(--mono); font-size:14px; font-weight:650; text-transform:uppercase; letter-spacing:.1em; color:var(--fidelra-muted-2); }
body.city-locked .city-context-select{ min-width:210px; height:38px; border:1px solid var(--fidelra-line-strong); border-radius:7px; background:#fff; color:var(--fidelra-ink); padding:0 34px 0 11px; font-family:var(--font-display); font-size:14px; font-weight:730; cursor:pointer; }
body.city-locked .city-global-link{ font-size:14px; font-weight:700; color:var(--fidelra-muted); }
body.city-locked .city-global-link:hover{ color:var(--accent-strong); }
body.city-locked .city-section-nav-shell{ border-top:1px solid var(--fidelra-line); background:#fff; }
body.city-locked .city-section-nav{ display:flex; align-items:center; gap:2px; overflow-x:auto; scrollbar-width:none; }
body.city-locked .city-section-nav::-webkit-scrollbar{ display:none; }
body.city-locked .city-section-nav a{ flex:0 0 auto; padding:12px 14px 11px; border-bottom:2px solid transparent; color:var(--fidelra-muted); font-family:var(--font-display); font-size:14px; font-weight:680; }
body.city-locked .city-section-nav a:hover{ color:var(--fidelra-ink); }
body.city-locked .city-section-nav a.active{ color:var(--fidelra-deep); border-bottom-color:var(--fidelra-teal); }
body.city-locked .city-page-hero{ padding:80px 0 72px; background:#fff; }
body.city-locked .city-page-hero .eyebrow{ display:block; margin-top:18px; }
body.city-locked .city-page-hero h1{ margin-top:12px; }
body.city-locked .city-hero-meta{ display:flex; flex-wrap:wrap; gap:8px 16px; font-family:var(--mono); font-size:14px; color:var(--fidelra-muted-2); }
body.city-locked .city-hero-meta span:not(.city-status)::before{ content:'·'; margin-right:16px; color:var(--fidelra-line-strong); }
body.city-locked .city-status{ padding:3px 8px; border-radius:999px; font-weight:650; text-transform:uppercase; letter-spacing:.05em; }
body.city-locked .city-status.certified{ color:#12694a; background:#e4f5ef; }
body.city-locked .city-hero-lead{ max-width:72ch; color:var(--fidelra-muted); font-size:17.0px; line-height:1.7; margin:22px 0 0; }
body.city-locked .city-stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--fidelra-line); border-radius:12px; overflow:hidden; background:#fff; }
body.city-locked .city-stat-card{ min-height:128px; padding:24px; border-right:1px solid var(--fidelra-line); display:flex; flex-direction:column; justify-content:center; }
body.city-locked .city-stat-card:last-child{ border-right:0; }
body.city-locked .city-stat-card b{ font-family:var(--font-display); font-size:30.0px; font-weight:780; letter-spacing:-.04em; color:var(--fidelra-deep); }
body.city-locked .city-stat-card span{ margin-top:7px; font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--fidelra-muted-2); }
body.city-locked .city-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
body.city-locked .city-feature-grid.compact{ grid-template-columns:repeat(3,1fr); }
body.city-locked .city-feature-card{ min-height:220px; padding:22px; border:1px solid var(--fidelra-line); background:#fff; border-radius:10px; display:flex; flex-direction:column; transition:.15s ease; }
body.city-locked .city-feature-card:hover{ border-color:var(--fidelra-teal); transform:translateY(-2px); }
body.city-locked .city-feature-card > span{ font-family:var(--mono); font-size:14px; color:var(--fidelra-teal); font-weight:650; }
body.city-locked .city-feature-card h3{ margin-top:22px; font-size:24.0px; font-weight:760; letter-spacing:-.035em; }
body.city-locked .city-feature-card p{ color:var(--fidelra-muted); font-size:14px; line-height:1.6; margin:9px 0 24px; }
body.city-locked .city-feature-card b{ margin-top:auto; font-size:14px; color:var(--accent-strong); }
body.city-locked .city-release-strip{ display:grid; grid-template-columns:1.45fr .55fr; gap:40px; align-items:center; padding:34px; border:1px solid var(--fidelra-line); border-radius:12px; background:#fff; }
body.city-locked .city-release-strip h2{ margin-top:10px; }
body.city-locked .city-release-strip p{ color:var(--fidelra-muted); font-size:15.0px; max-width:64ch; }
body.city-locked .release-id{ justify-self:end; min-width:210px; border:1px solid var(--fidelra-line); padding:18px; border-radius:9px; background:var(--fidelra-mist); }
body.city-locked .release-id span, body.city-locked .release-id small{ display:block; font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--fidelra-muted-2); }
body.city-locked .release-id b{ display:block; font-family:var(--font-display); font-size:32.0px; margin:6px 0; color:var(--fidelra-deep); }
body.city-locked .city-record-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
body.city-locked .city-record-card{ border:1px solid rgba(151,203,203,.25); background:rgba(255,255,255,.035); padding:22px; border-radius:9px; }
body.city-locked .city-record-card span{ color:#89aaa7; font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.1em; }
body.city-locked .city-record-card h3{ color:#fff; margin-top:12px; font-size:24.0px; }
body.city-locked .city-record-card p{ color:#aac0bd; font-size:14px; }
body.city-locked .city-record-card a{ display:inline-block; margin-top:14px; color:var(--fidelra-teal-soft); font-size:14px; font-weight:700; }
body.city-locked .city-workspace-callout{ display:flex; align-items:center; justify-content:space-between; gap:36px; padding:34px; border:1px solid var(--fidelra-line); border-left:4px solid var(--fidelra-teal); border-radius:10px; background:#fff; }
body.city-locked .city-workspace-callout h2{ margin-top:9px; }
body.city-locked .city-workspace-callout p{ max-width:68ch; color:var(--fidelra-muted); font-size:15.0px; }
body.city-locked .city-maturity-note{ margin-top:18px; padding:14px 16px; border:1px solid var(--fidelra-line); border-radius:8px; background:var(--fidelra-mist); color:var(--fidelra-muted); font-size:14px; }
body.city-locked .city-domain-toolbar{ display:flex; justify-content:space-between; align-items:end; gap:24px; }
body.city-locked .city-domain-toolbar .head{ margin-bottom:20px; }
body.city-locked .city-domain-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
body.city-locked .city-domain-card{ min-height:220px; padding:19px; border:1px solid var(--fidelra-line); background:#fff; border-radius:9px; display:flex; flex-direction:column; }
body.city-locked .city-domain-card:hover{ border-color:var(--fidelra-teal); }
body.city-locked .city-domain-card > div{ display:flex; align-items:center; justify-content:space-between; }
body.city-locked .city-domain-icon{ font-size:22.0px; }
body.city-locked .city-domain-status{ font-family:var(--mono); font-size:14px; font-weight:650; letter-spacing:.08em; padding:4px 7px; border-radius:999px; }
body.city-locked .city-domain-status.live{ background:#e4f5ef; color:#12694a; }
body.city-locked .city-domain-status.partial{ background:#fff4d9; color:#855c05; }
body.city-locked .city-domain-status.planned{ background:#eef1f0; color:#697a79; }
body.city-locked .city-domain-card h3{ margin-top:18px; font-size:21.0px; font-weight:760; }
body.city-locked .city-domain-card p{ color:var(--fidelra-muted); font-size:14px; line-height:1.55; margin:8px 0 18px; }
body.city-locked .city-domain-card b{ margin-top:auto; color:var(--accent-strong); font-size:14px; }
body.city-locked .city-table-scroll{ max-height:620px; overflow:auto; border:1px solid var(--fidelra-line); border-radius:10px; background:#fff; }
body.city-locked .city-source-table{ width:100%; min-width:880px; border-collapse:collapse; font-size:14px; }
body.city-locked .city-source-table th{ position:sticky; top:0; z-index:2; background:var(--fidelra-mist); text-align:left; padding:11px 13px; border-bottom:1px solid var(--fidelra-line); font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--fidelra-muted); }
body.city-locked .city-source-table td{ padding:13px; border-bottom:1px solid var(--fidelra-line); color:var(--fidelra-muted); vertical-align:top; }
body.city-locked .city-source-table td:first-child{ color:var(--fidelra-ink); font-weight:700; }
body.city-locked .city-cert-card{ border:1px solid rgba(151,203,203,.28); border-radius:12px; padding:28px; background:rgba(255,255,255,.035); }
body.city-locked .city-cert-head{ display:flex; justify-content:space-between; gap:24px; align-items:start; }
body.city-locked .city-cert-head h2{ color:#fff; margin-top:8px; }
body.city-locked .city-cert-head p{ color:#93aaa7; font-size:14px; }
body.city-locked .city-cert-badge{ background:var(--fidelra-teal-soft); color:var(--fidelra-deeper); border-radius:999px; padding:8px 12px; font-family:var(--mono); font-size:14px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
body.city-locked .city-cert-stats{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:28px; border:1px solid rgba(151,203,203,.18); }
body.city-locked .city-cert-stats div{ padding:20px; border-right:1px solid rgba(151,203,203,.18); }
body.city-locked .city-cert-stats div:last-child{ border-right:0; }
body.city-locked .city-cert-stats b{ display:block; color:#fff; font-family:var(--font-display); font-size:20.0px; }
body.city-locked .city-cert-stats span{ display:block; margin-top:5px; color:#88a19e; font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.07em; }
body.city-locked .city-cert-links{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
body.city-locked .city-cert-links a{ padding:9px 11px; border:1px solid rgba(151,203,203,.2); border-radius:7px; color:#c9ddda; font-size:14px; }
body.city-locked .city-cert-links a:hover{ border-color:var(--fidelra-teal-soft); color:#fff; }
body.city-locked .city-proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
body.city-locked .city-proof-card{ padding:20px; border:1px solid var(--fidelra-line); background:#fff; border-radius:9px; }
body.city-locked .city-proof-card h3{ font-size:18.0px; font-weight:760; }
body.city-locked .city-proof-card p{ color:var(--fidelra-muted); font-size:14px; line-height:1.55; }
body.city-locked .city-audit-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
body.city-locked .city-audit-card{ min-height:200px; padding:20px; border:1px solid var(--fidelra-line); border-radius:9px; background:#fff; display:flex; flex-direction:column; }
body.city-locked .city-audit-card > span{ font-family:var(--mono); font-size:14px; font-weight:650; color:var(--fidelra-teal); }
body.city-locked .city-audit-card h3{ margin-top:18px; font-size:21.0px; font-weight:760; }
body.city-locked .city-audit-card p{ color:var(--fidelra-muted); font-size:14px; line-height:1.6; }
body.city-locked .city-audit-card b{ margin-top:auto; color:var(--accent-strong); font-size:14px; }
body.city-locked .city-release-list{ display:flex; flex-direction:column; gap:9px; }
body.city-locked .city-release-card{ padding:20px; border:1px solid var(--fidelra-line); border-radius:9px; background:#fff; }
body.city-locked .city-release-card-head{ display:grid; grid-template-columns:120px 1fr auto; gap:16px; align-items:center; }
body.city-locked .city-release-card-head span{ font-family:var(--mono); color:var(--fidelra-muted-2); font-size:14px; }
body.city-locked .city-release-card-head b{ font-family:var(--font-display); font-size:16.0px; }
body.city-locked .city-release-card-head em{ font-family:var(--mono); font-size:14px; font-style:normal; color:#12694a; background:#e4f5ef; padding:4px 7px; border-radius:999px; }
body.city-locked .city-release-card p{ margin:10px 0 0 136px; color:var(--fidelra-muted); font-size:14px; }
body.city-locked .city-price-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
body.city-locked .city-price-card{ padding:28px; border:1px solid var(--fidelra-line); border-radius:11px; background:#fff; }
body.city-locked .city-price-city{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.09em; font-size:14px; color:var(--fidelra-muted-2); }
body.city-locked .city-price-card h3{ margin-top:10px; font-size:25.0px; font-weight:770; }
body.city-locked .city-price{ font-family:var(--font-display); font-size:36.0px; font-weight:650; letter-spacing:-.04em; color:var(--fidelra-deep); margin-top:14px; }
body.city-locked .city-price-card p{ color:var(--fidelra-muted); font-size:14px; }
body.city-locked .city-price-card small{ display:block; min-height:42px; color:var(--fidelra-muted-2); font-size:14px; margin:18px 0; }
body.city-locked .city-footer .city-footer-grid{ display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:34px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.1); }
body.city-locked .city-footer .city-footer-grid > div:not(:first-child){ display:flex; flex-direction:column; gap:8px; }
body.city-locked .city-footer .city-footer-grid a{ color:#cbd5da; font-size:14px; }
body.city-locked .city-footer .city-footer-grid p{ color:#7d8b96; font-size:14px; line-height:1.6; }

/* Locked legacy workspaces inherit selected city instead of showing a second city selector. */
body.city-locked-view .city-float-toggle, body.city-locked-view .city-toggle-sticky, body.city-locked-view .asset-toggle, body.city-locked-view .audit-city-switcher{ display:none; }
body.city-locked-view{ padding-top:0; }
body.city-locked .locked-city-context-note{ max-width:1180px; margin:16px auto 0; padding:0 32px; }
body.city-locked .locked-city-context-note > div{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 13px; border:1px solid var(--fidelra-line); border-left:3px solid var(--fidelra-teal); border-radius:7px; background:var(--fidelra-mist); color:var(--fidelra-muted); font-size:14px; }
body.city-locked .locked-city-context-note b{ color:var(--fidelra-ink); }

@media (max-width: 980px) {
  body.city-locked .city-catalog-grid, body.city-locked .city-feature-grid, body.city-locked .city-domain-grid, body.city-locked .city-proof-grid{ grid-template-columns:repeat(2,1fr); }
  body.city-locked .context-flow{ grid-template-columns:repeat(4,1fr); }
  body.city-locked .city-context-controls .city-global-link{ display:none; }
  body.city-locked .city-stat-grid{ grid-template-columns:repeat(2,1fr); }
  body.city-locked .city-stat-card:nth-child(2){ border-right:0; }
  body.city-locked .city-stat-card:nth-child(-n+2){ border-bottom:1px solid var(--fidelra-line); }
  body.city-locked .city-release-strip{ grid-template-columns:1fr; }
  body.city-locked .release-id{ justify-self:start; }
  body.city-locked .city-cert-stats{ grid-template-columns:repeat(2,1fr); }
  body.city-locked .city-cert-stats div:nth-child(2){ border-right:0; }
  body.city-locked .city-cert-stats div:nth-child(-n+2){ border-bottom:1px solid rgba(151,203,203,.18); }
}
@media (max-width: 720px) {
  body.city-locked .gateway-hero, body.city-locked .city-page-hero{ padding:72px 0 58px; }
  body.city-locked .gateway-hero h1, body.city-locked .city-page-hero h1{ font-size:40.0px; }
  body.city-locked .city-catalog-toolbar, body.city-locked .city-domain-toolbar, body.city-locked .city-workspace-callout, body.city-locked .city-cert-head{ align-items:stretch; flex-direction:column; }
  body.city-locked .city-search{ min-width:0; width:100%; }
  body.city-locked .city-catalog-grid, body.city-locked .city-feature-grid, body.city-locked .city-feature-grid.compact, body.city-locked .city-domain-grid, body.city-locked .city-proof-grid, body.city-locked .city-audit-grid, body.city-locked .city-price-grid, body.city-locked .city-record-grid{ grid-template-columns:1fr; }
  body.city-locked .context-flow{ grid-template-columns:repeat(2,1fr); }
  body.city-locked .city-architecture-note{ grid-template-columns:1fr; }
  body.city-locked .city-brandbar{ align-items:flex-start; flex-direction:column; padding-top:12px; padding-bottom:12px; }
  body.city-locked .city-context-controls{ width:100%; }
  body.city-locked .city-picker-label{ flex:1; }
  body.city-locked .city-context-select{ min-width:0; width:100%; }
  body.city-locked .city-section-nav a{ padding-left:11px; padding-right:11px; }
  body.city-locked .city-stat-grid{ grid-template-columns:1fr; }
  body.city-locked .city-stat-card{ border-right:0; border-bottom:1px solid var(--fidelra-line); }
  body.city-locked .city-stat-card:last-child{ border-bottom:0; }
  body.city-locked .city-cert-stats{ grid-template-columns:1fr; }
  body.city-locked .city-cert-stats div{ border-right:0; border-bottom:1px solid rgba(151,203,203,.18); }
  body.city-locked .city-cert-stats div:last-child{ border-bottom:0; }
  body.city-locked .city-release-card-head{ grid-template-columns:1fr auto; }
  body.city-locked .city-release-card-head span{ grid-column:1/-1; }
  body.city-locked .city-release-card p{ margin-left:0; }
  body.city-locked .city-footer .city-footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 480px) { body.city-locked .city-footer .city-footer-grid{ grid-template-columns:1fr; } }



body.city-locked /* Avoid a flash of the full 20-city catalogue before deferred JS initializes. */
.city-catalog-grid:not(.is-paginated) .city-catalog-card:nth-child(n+7){ display:none; }
@media (max-width:1100px) { body.city-locked .city-catalog-grid:not(.is-paginated) .city-catalog-card:nth-child(n+5){ display:none; } }
@media (max-width:720px) { body.city-locked .city-catalog-grid:not(.is-paginated) .city-catalog-card:nth-child(n+3){ display:none; } }

body.city-locked /* ======================================================================
   CITY CATALOGUE GATEWAY — two-row catalogue + Fidelra availability states
   ====================================================================== */
.gateway-hero h1{
  max-width: 12ch;
}
body.city-locked .city-catalog-grid [hidden]{ display: none; }
body.city-locked .city-catalog-card.future{
  opacity: 1;
  pointer-events: none;
  cursor: default;
  background: #f2f4f3;
  border-color: #e2e7e5;
  box-shadow: none;
  filter: grayscale(.18);
}
body.city-locked .city-catalog-card.future .city-card-region, body.city-locked .city-catalog-card.future h3, body.city-locked .city-catalog-card.future p, body.city-locked .city-catalog-card.future .city-card-stats, body.city-locked .city-catalog-card.future .city-card-go{
  color: #98a5a3;
}
body.city-locked .city-catalog-card.future .city-card-status.future{
  background: #e7ebea;
  color: #8a9795;
}
body.city-locked .city-catalog-card.future .city-card-go{
  border-top-color: #dde3e1;
}
body.city-locked .city-catalog-card.live{
  background: #fbfdfc;
}
body.city-locked .city-catalog-pager{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--fidelra-line);
}
body.city-locked .city-page-btn{
  min-width: 84px;
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--fidelra-line-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--fidelra-deep);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 760;
  cursor: pointer;
  transition: .15s ease;
}
body.city-locked .city-page-btn:hover:not(:disabled){
  border-color: var(--fidelra-teal);
  background: #eef8f6;
}
body.city-locked .city-page-btn:disabled{
  opacity: .34;
  cursor: not-allowed;
}
body.city-locked .city-page-state{
  min-width: 86px;
  text-align: center;
  color: var(--fidelra-muted);
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .04em;
}
@media (max-width: 720px) {
  body.city-locked .city-catalog-pager{ justify-content: space-between; }
  body.city-locked .city-page-state{ flex: 1; }
}


body.city-locked /* V4.6.3 — relationship + SQL readability contract */
.dd-rel-node, body.city-locked .dd-rel-node a, body.city-locked .dt-tree-label, body.city-locked .dt-tree-label a{
  color: #17353c;
  text-decoration: none;
}
body.city-locked .dd-rel-node{ background: #f7fbfa; border-color: #a9c7c7; }
body.city-locked .dd-rel-node:hover, body.city-locked .dd-rel-node:focus-within{ background: #eaf7f5; border-color: #4e9ea2; color: #0b756f; }
body.city-locked .dt-tree-label{ background: #f7fbfa; border-color: #a9c7c7; }
body.city-locked .dd-sql-meta span.dim{ color: #b8cbcc; }
body.city-locked .dd-sql-meta span.dim b{ color: #ffffff; }
body.city-locked .dd-sql-interp{ color: #d5e5e5; }
body.city-locked .dd-sql-badge{ color: #71e1d1; }
body.city-locked .qx-sql-wrap, body.city-locked .dd-sql-wrap, body.city-locked .xd-sql-block, body.city-locked .ce-detail-sql, body.city-locked [class*="sql-block"], body.city-locked [class*="sql-wrap"]{ border-radius: 0; box-shadow: none; }


body.city-locked /* FCTE V4 city shell: designed to frame, body.city-locked not flatten, body.city-locked the premium legacy product pages. */
.premium-city-header{position:sticky;top:0;z-index:1000;background:#f7faf9;border-bottom:1px solid #d9e6e4;font-family:Inter,Arial,sans-serif}
body.city-locked .premium-city-header .pch-global{height:54px;display:flex;align-items:center;justify-content:space-between;gap:28px}
body.city-locked .pch-brand{display:flex;align-items:baseline;gap:6px;color:#123a40;text-decoration:none;font-weight:650;letter-spacing:-.02em}body.city-locked .pch-brand span{color:#66bfc1}body.city-locked .pch-brand small{font:700 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#789398;margin-left:4px}
body.city-locked .pch-global-nav{display:flex;align-items:center;gap:22px}body.city-locked .pch-global-nav a{font-size:14px;font-weight:700;color:#48676c;text-decoration:none}body.city-locked .pch-global-nav a:hover{color:#123a40}body.city-locked .pch-talk{background:#123a40;color:#fff;padding:9px 14px;border-radius:5px}
body.city-locked .pch-citybar{background:#fff;border-top:1px solid #edf3f2}body.city-locked .pch-citybar>.wrap{min-height:58px;display:flex;align-items:center;gap:26px;justify-content:space-between}body.city-locked .pch-city-id{display:flex;align-items:center;gap:9px;min-width:190px}body.city-locked .pch-dot{width:8px;height:8px;border-radius:50%;background:#6dc6c7;box-shadow:0 0 0 4px rgba(109,198,199,.14)}body.city-locked .pch-city-select{appearance:none;border:0;background:transparent;padding:8px 24px 8px 0;font:800 14px/1 Inter,Arial,sans-serif;color:#123a40;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#6f8b8f 50%),linear-gradient(135deg,#6f8b8f 50%,transparent 50%);background-position:calc(100% - 9px) 50%,calc(100% - 4px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
body.city-locked .pch-city-nav{display:flex;align-items:stretch;gap:2px;overflow-x:auto}body.city-locked .pch-city-nav a{position:relative;padding:20px 12px 17px;color:#617d81;text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}body.city-locked .pch-city-nav a:hover, body.city-locked .pch-city-nav a.active{color:#123a40}body.city-locked .pch-city-nav a.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:#6dc6c7}
body.city-locked .premium-city-context{background:#102f35;color:#d4e5e6;border-bottom:1px solid rgba(255,255,255,.08)}body.city-locked .premium-city-context .wrap{padding-top:10px;padding-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:14px}body.city-locked .premium-city-context b{color:#fff;font-size:14px}body.city-locked .premium-city-context span{font:600 14px ui-monospace,SFMono-Regular,Consolas,monospace;color:#91aeb2}body.city-locked .premium-city-context a{color:#83d4d2;text-decoration:none;font-size:14px;font-weight:650}
/* Old city twin had its own mixed-city controls. City selection now belongs to the persistent shell. */
body.city-locked .city-float-toggle, body.city-locked .city-toggle-sticky{display:none}
/* preserve all premium legacy styling while giving hero breathing room below city frame */
body.city-locked .intro-band{padding-top:58px}
body.city-locked /* Expanded Fidelra footer, body.city-locked based on the premium original. */
.fidelra-premium-footer{background:#0d3036;color:#cbd8da;padding:60px 0 22px;margin-top:0;font-family:Inter,Arial,sans-serif}body.city-locked .fpf-grid{display:grid;grid-template-columns:1.65fr repeat(4,1fr);gap:42px}body.city-locked .fpf-brand-title{font-size:18.0px;font-weight:650;color:#fff}body.city-locked .fpf-brand-title span{color:#78cfd0}body.city-locked .fpf-brand>a{display:inline-block;margin:10px 0;color:#78cfd0;font-weight:650;text-decoration:none}body.city-locked .fpf-brand p{max-width:380px;font-size:14px;line-height:1.65;color:#9bb1b4}body.city-locked .fpf-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:18px;font:600 14px ui-monospace,SFMono-Regular,Consolas,monospace;color:#809a9e}body.city-locked .fpf-stats b{color:#78cfd0}body.city-locked .fpf-col{display:flex;flex-direction:column;gap:10px}body.city-locked .fpf-col strong{margin-bottom:6px;color:#78999d;font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}body.city-locked .fpf-col a{font-size:14px;color:#d2dfe0;text-decoration:none}body.city-locked .fpf-col a:hover{color:#78cfd0}body.city-locked .fpf-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:18px;color:#78999d;font-size:14px}body.city-locked .fpf-bottom a{color:#9cc8ca}
@media(max-width:1050px){body.city-locked .premium-city-header .pch-global{height:auto;padding-top:14px;padding-bottom:14px}body.city-locked .pch-global-nav{display:none}body.city-locked .pch-citybar>.wrap{align-items:flex-start;flex-direction:column;padding-top:8px}body.city-locked .pch-city-nav{width:100%}body.city-locked .pch-city-nav a{padding-top:12px}body.city-locked .fpf-grid{grid-template-columns:1fr 1fr 1fr}body.city-locked .fpf-brand{grid-column:1/-1}body.city-locked .fpf-stats{max-width:520px}}
@media(max-width:650px){body.city-locked .pch-brand small{display:none}body.city-locked .premium-city-context .wrap{align-items:flex-start;flex-direction:column}body.city-locked .fpf-grid{grid-template-columns:1fr 1fr}body.city-locked .fpf-brand{grid-column:1/-1}body.city-locked .fpf-bottom{flex-direction:column}body.city-locked .fpf-stats{grid-template-columns:1fr}}

body.city-locked /* V4.2 — city-pure premium shell, body.city-locked preserving legacy premium behavior */
.pch-city-current{display:inline-flex;align-items:center;gap:8px;padding:8px 20px 8px 0;color:#123a40;text-decoration:none;font:800 14px/1 Inter,Arial,sans-serif;white-space:nowrap}
body.city-locked .pch-city-current:after{content:"↗";font-size:14px;color:#6f8b8f;transform:translateY(-1px)}
body.city-locked .pch-city-nav a{display:flex;flex-direction:column;justify-content:center;min-width:66px;padding-top:10px;padding-bottom:9px;line-height:1.05}
body.city-locked .pch-city-nav a:before{font:800 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:#9aafb2;margin-bottom:4px}
body.city-locked .pch-city-nav a:nth-child(1):before{content:"01"}body.city-locked .pch-city-nav a:nth-child(2):before{content:"02"}body.city-locked .pch-city-nav a:nth-child(3):before{content:"03"}body.city-locked .pch-city-nav a:nth-child(4):before{content:"04"}body.city-locked .pch-city-nav a:nth-child(5):before{content:"05"}body.city-locked .pch-city-nav a:nth-child(6):before{content:"06"}body.city-locked .pch-city-nav a:nth-child(7):before{content:"07"}body.city-locked .pch-city-nav a:nth-child(8):before{content:"08"}
body.city-locked .pch-city-nav a.active:before{color:#4e9ea2}
body.city-locked /* The persistent header owns city context. Keep legacy city controls in the DOM for their JS hooks, but never show them. */
body.city-locked .city-toggle-sticky, body.city-locked .city-float-toggle, body.city-locked .audit-city-switcher{display:none}
/* Long findings are contained evidence workspaces. No global scrollbar gutter or page-level scroll overrides. */
body.city-locked section.audit-long-scroll{max-height:680px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff;border:1px solid #d8e5e3;border-radius:12px;padding:22px 18px 24px 22px;margin-top:18px;scrollbar-width:thin;scrollbar-color:#8fbfc1 transparent}
body.city-locked section.audit-long-scroll::-webkit-scrollbar{width:8px}
body.city-locked section.audit-long-scroll::-webkit-scrollbar-track{background:transparent}
body.city-locked section.audit-long-scroll::-webkit-scrollbar-thumb{background:#8fbfc1;border-radius:999px}
body.city-locked section.audit-long-scroll>.section-head{position:sticky;top:-22px;z-index:6;background:#fff;padding-top:22px;padding-bottom:12px;margin-top:0}
@media(max-width:900px){body.city-locked .pch-city-nav a{min-width:62px}body.city-locked .pch-city-nav a:before{display:none}body.city-locked section.audit-long-scroll{max-height:620px;padding:18px 12px 20px 16px}}


body.city-locked /* V4.3 city-native audit and navigation refinements */
.audit-sequence{max-width:1120px;margin:0 auto 32px;padding:20px 0 22px;border-bottom:1px solid #d8e4e3;display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;font-size:14px}
body.city-locked .audit-sequence a{color:#244951;text-decoration:none;font-weight:650}body.city-locked .audit-sequence a:hover{color:#2d8f8d}body.city-locked .audit-sequence .audit-all{padding:8px 14px;border:1px solid #b9cfce;border-radius:999px;text-align:center}body.city-locked .audit-sequence .audit-next{text-align:right}body.city-locked .audit-disabled{color:#9cafb1}body.city-locked .audit-next.audit-disabled{text-align:right}
body.city-locked .audit-long-scroll{max-height:760px;overflow-y:auto;overflow-x:hidden;padding-right:10px;scrollbar-width:thin;scrollbar-color:#93b8b7 transparent}
body.city-locked .audit-long-scroll::-webkit-scrollbar{width:9px}body.city-locked .audit-long-scroll::-webkit-scrollbar-thumb{background:#93b8b7;border-radius:8px}body.city-locked .audit-long-scroll::-webkit-scrollbar-track{background:transparent}
@media(max-width:760px){body.city-locked .audit-sequence{grid-template-columns:1fr}body.city-locked .audit-sequence .audit-next{text-align:left}body.city-locked .audit-long-scroll{max-height:620px}}

body.city-locked /* V4.4 certified badge standard */
.fcte-certified-badge{background:#0b3138;color:#fff;border-color:#0b3138;box-shadow:none}
body.city-locked .fcte-certified-badge:before{background:#97cbcb}


/* ===== COMPONENT: city-overview.css ===== */
/* V5 namespaced legacy component details for city-overview. Global design grammar lives in fidelra.css. */

/* shared V5 component: view-city-overview (2 pages) */

  body.view-city-overview{
    --bg: #f4f8fb;
    --panel: #ffffff;
    --panel-2: #eef2f5;
    --teal-tint: #eef8f6;
    --ink: #0c1a24;
    --ink-2: #3c5262;
    --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1);
    --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577;
    --accent-strong: #0c8577;
    --accent-hover: #095f54;
    --accent-ink: #ffffff;
    --amber: #b5790a;
    --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.view-city-overview *{ box-sizing: border-box; }
  html body.view-city-overview{ scroll-behavior: smooth; scroll-padding-top: 120px; overflow-x: hidden; }
  body.view-city-overview{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 21.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  body.view-city-overview a{ color: inherit; text-decoration: none; }
  body.view-city-overview h1, body.view-city-overview h2, body.view-city-overview h3, body.view-city-overview h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.view-city-overview .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-city-overview .wrap{ padding: 0 18px; } body.view-city-overview{ font-size: 17.0px; } }
  body.view-city-overview section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-city-overview section.tight{ padding: 64px 0; }
  body.view-city-overview section.band-dark{ background: #06101a; border-bottom-color: #06101a; }
  body.view-city-overview .band-dark .eyebrow{ color: #4fd9c4; }
  body.view-city-overview .band-dark .head h2{ color: #ffffff; }
  body.view-city-overview .band-dark .head p{ color: #a9b3ae; }
  body.view-city-overview .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.view-city-overview .head{ max-width: 720px; margin-bottom: 32px; }
  body.view-city-overview .head h2{ font-size: clamp(30px, 3.8vw, 42px); font-weight: 650; line-height: 1.1; margin-top: 8px; }
  body.view-city-overview .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 12px; max-width: 62ch; }
  body.view-city-overview .tabular{ font-variant-numeric: tabular-nums; }

  body.view-city-overview .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
  body.view-city-overview .btn:hover{ transform: translateY(-1px); }
  body.view-city-overview .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.view-city-overview .btn-primary:hover{ background: var(--accent-hover); }
  body.view-city-overview .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.view-city-overview .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  /* ---- intro band ---- */
  body.view-city-overview .intro-band{ background: #06101a; padding: 56px 0 0; border-bottom: none; }
  body.view-city-overview .intro-band .eyebrow{ color: #4fd9c4; }
  body.view-city-overview .intro-band h1{ font-size: clamp(36px, 5vw, 56px); font-weight: 650; color: #ffffff; margin-top: 10px; letter-spacing: -0.02em; }
  body.view-city-overview .intro-band p.lead{ color: #a9b3ae; font-size: 17.0px; max-width: 62ch; margin-top: 14px; line-height: 1.6; }
  body.view-city-overview .city-toggle-sticky{ position: sticky; top: 0; z-index: 40; background: #06101a; padding: 20px 0; margin-top: 32px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  body.view-city-overview .city-toggle-row{ display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
  body.view-city-overview .filter-chip{ font-family: var(--mono); font-size: 14px; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-city-overview .filter-chip:hover{ border-color: var(--accent); color: var(--ink); }
  body.view-city-overview .filter-chip.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }
  body.view-city-overview .city-badge-tag{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; margin-left: 6px; opacity: 0.85; }
  body.view-city-overview .filter-chip:not(.active) .city-badge-tag{ display: none; }
  body.view-city-overview .filter-chip-soon{ display: inline-block; background: transparent; border: 1px dashed rgba(255,255,255,0.18); color: #55636d; cursor: default; }
  body.view-city-overview .city-float-toggle{ position: fixed; top: 78px; right: 20px; z-index: 45; display: flex; flex-wrap: wrap; gap: 6px; max-width: 250px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 12px; box-shadow: 0 10px 30px -10px rgba(12,26,36,0.25); }
  body.view-city-overview .city-float-toggle .filter-chip{ font-size: 14px; padding: 6px 11px; }
  body.view-city-overview .city-float-toggle .filter-chip-soon{ border: 1px dashed rgba(130,140,148,0.4); color: #9aa6ac; }
  @media (max-width: 900px) { body.view-city-overview .city-float-toggle{ display: none; } }

  /* ---- stat strip ---- */
  body.view-city-overview .stat-strip{ display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; padding: 28px 0 56px; }
  body.view-city-overview .twin-stat{ background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 14px 22px; text-align: center; display: flex; flex-direction: column; justify-content: center; }
  body.view-city-overview .twin-stat .v{ font-family: var(--font-display); font-size: 26.0px; font-weight: 650; color: #ffffff; }
  body.view-city-overview .twin-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: #7d8b96; margin-top: 4px; }

  /* ---- city map ---- */
  body.view-city-overview .twin-map-wrap{ display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; align-items: start; }
  @media (max-width: 800px) { body.view-city-overview .twin-map-wrap{ grid-template-columns: 1fr; } }
  body.view-city-overview .twin-map-svg{ width: 100%; height: auto; display: block; }
  body.view-city-overview .twin-area{ cursor: pointer; transition: opacity .12s ease; transform-box: fill-box; transform-origin: center; }
  body.view-city-overview .twin-area:hover, body.view-city-overview .twin-area.selected{ stroke: #4fd9c4; stroke-width: 2; }
  body.view-city-overview .twin-area:hover{ transform: scale(1.08); }
  body.view-city-overview .twin-area-label{ font-family: var(--font-display); font-size: 14px; font-weight: 700; fill: #cbd5da; pointer-events: none; text-anchor: middle; }
  body.view-city-overview .twin-detail{ background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.1); padding: 22px; min-height: 260px; }
  body.view-city-overview .twin-detail .td-eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: #4fd9c4; }
  body.view-city-overview .twin-detail .td-name{ font-family: var(--font-display); font-size: 22.0px; font-weight: 650; color: #fff; margin-top: 4px; }
  body.view-city-overview .twin-detail .td-total{ font-size: 14px; color: #a9b3ae; margin-top: 2px; }
  body.view-city-overview .twin-detail .td-split{ display: flex; gap: 18px; margin-top: 16px; flex-wrap: wrap; }
  body.view-city-overview .twin-detail .td-split div{ font-size: 14px; color: #d6e6ef; }
  body.view-city-overview .twin-detail .td-split b{ display: block; font-family: var(--font-display); font-size: 18.0px; color: #fff; }
  body.view-city-overview .twin-detail .td-hh-label{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: #7d8b96; margin-top: 18px; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 12px; }
  body.view-city-overview .twin-detail .td-hh-row{ display: flex; justify-content: space-between; font-size: 14px; color: #cbd5da; padding: 3px 0; }
  body.view-city-overview .twin-detail .td-hh-row b{ color: #4fd9c4; font-weight: 700; }
  body.view-city-overview .chart-tooltip{ position: absolute; pointer-events: none; background: #17201c; border: 1px solid rgba(255,255,255,0.12); border-radius: 6px; padding: 7px 10px; font-size: 14px; color: #fff; white-space: nowrap; opacity: 0; transition: opacity .1s ease; transform: translate(-50%, -110%); z-index: 5; }
  body.view-city-overview .chart-tooltip.show{ opacity: 1; }
  body.view-city-overview .map-section-inner{ position: relative; }
  body.view-city-overview .twin-checklist{ display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: center; margin-top: 32px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.1); }
  body.view-city-overview .twin-checklist a{ font-family: var(--mono); font-size: 14px; color: #cbd5da; }
  body.view-city-overview .twin-checklist a:hover{ color: #4fd9c4; }
  body.view-city-overview .twin-widget-box{ border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.02); padding: 28px 28px 32px; }
  body.view-city-overview .twin-widget-box .stat-strip{ padding: 0 0 28px; }
  body.view-city-overview .twin-widget-tabs{ display: flex; flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,0.12); margin-bottom: 28px; }
  body.view-city-overview .twin-widget-tab{ flex: 1; min-width: 100px; text-align: center; font-family: var(--font-display); font-size: 14px; font-weight: 700; padding: 14px; color: #7d8b96; cursor: pointer; }
  body.view-city-overview .twin-widget-tab.active{ color: #ffffff; box-shadow: inset 0 -2px 0 #4fd9c4; }
  body.view-city-overview .twin-widget-tab:hover:not(.active){ color: #cbd5da; }
  body.view-city-overview .twin-widget-cta{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.1); }
  body.view-city-overview .cert-mini-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  @media (max-width: 900px) { body.view-city-overview .cert-mini-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { body.view-city-overview .cert-mini-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .wv-sub{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.view-city-overview .wv-resident-row{ border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.02); margin-bottom: 10px; }
  body.view-city-overview .wv-resident-head{ display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; cursor: pointer; }
  body.view-city-overview .wv-resident-name{ font-family: var(--font-display); font-weight: 700; color: #fff; font-size: 14.5px; }
  body.view-city-overview .wv-resident-meta{ font-family: var(--mono); font-size: 14px; color: #7d8b96; margin-left: 10px; }
  body.view-city-overview .wv-resident-toggle{ font-family: var(--mono); font-size: 14px; color: #4fd9c4; font-weight: 700; }
  body.view-city-overview .wv-resident-journey{ display: none; padding: 0 16px 16px; border-top: 1px solid rgba(255,255,255,0.08); }
  body.view-city-overview .wv-resident-row.open .wv-resident-journey{ display: block; padding-top: 10px; }
  body.view-city-overview .wv-journey-chain{ display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px; padding-top: 4px; }
  body.view-city-overview .wv-je{ display: flex; flex-direction: column; align-items: center; text-align: center; width: 148px; flex-shrink: 0; }
  body.view-city-overview .wv-je-head{ display: flex; flex-direction: column; align-items: center; }
  body.view-city-overview .wv-je-icon{ width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 15.0px; background: #06101a; border: 1px solid #4fd9c4; border-radius: 50%; flex-shrink: 0; }
  body.view-city-overview .wv-je h4{ font-size: 14px; font-weight: 700; color: #fff; margin: 8px 0 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
  body.view-city-overview .wv-je-age{ font-family: var(--mono); font-size: 14px; color: #4fd9c4; font-weight: 600; }
  body.view-city-overview .wv-je p{ font-size: 14px; color: #a9b3ae; margin-top: 4px; line-height: 1.4; }
  body.view-city-overview .wv-je-arrow{ color: #4fd9c4; font-size: 16.0px; padding-top: 7px; flex-shrink: 0; align-self: flex-start; }
  @media (max-width: 900px) {
    body.view-city-overview .wv-journey-chain{ flex-direction: column; align-items: stretch; gap: 14px; }
    body.view-city-overview .wv-je{ width: 100%; flex-direction: row; align-items: flex-start; text-align: left; gap: 12px; }
    body.view-city-overview .wv-je-head{ flex-direction: row; align-items: center; gap: 10px; flex-shrink: 0; }
    body.view-city-overview .wv-je h4{ margin: 0; flex-direction: row; }
    body.view-city-overview .wv-je-arrow{ display: none; }
  }
  body.view-city-overview table.wv-table{ width: 100%; border-collapse: collapse; font-size: 14px; }
  body.view-city-overview .wv-table th{ text-align: left; padding: 10px 14px; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; border-bottom: 1px solid rgba(255,255,255,0.12); }
  body.view-city-overview .wv-table td{ padding: 10px 14px; border-bottom: 1px solid rgba(255,255,255,0.06); color: #d6e6ef; }
  body.view-city-overview .wv-table tr:last-child td{ border-bottom: none; }

  /* ---- query explorer (new) ---- */
  body.view-city-overview .qx-tabs{ display: flex; gap: 2px; margin-bottom: 36px; flex-wrap: wrap; }
  body.view-city-overview .qx-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-city-overview .qx-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.view-city-overview .qx-panel-wrap{ position: relative; }
  body.view-city-overview .qx-panel{ position: relative; border: 1px solid var(--line); background: var(--panel); }
  body.view-city-overview .qx-view-toggle{ display: flex; gap: 4px; padding: 26px 26px 4px; }
  body.view-city-overview .qx-view-btn{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--accent); background: transparent; color: var(--accent-strong); cursor: pointer; }
  body.view-city-overview .qx-view-btn:hover:not(.active){ background: var(--accent); color: var(--accent-ink); }
  body.view-city-overview .qx-view-btn.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.view-city-overview .qx-export-btn{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--accent); background: transparent; color: var(--accent-strong); cursor: pointer; }
  body.view-city-overview .qx-export-btn:first-of-type{ margin-left: auto; }
  body.view-city-overview .qx-export-btn:hover{ background: var(--accent); color: var(--accent-ink); }
  body.view-city-overview .qx-meta-row{ display: flex; gap: 20px; flex-wrap: wrap; padding: 12px 26px 0; font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-city-overview .qx-meta-row b{ color: var(--ink); font-weight: 700; }
  body.view-city-overview .qx-chart-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; padding: 20px 26px 4px; }
  body.view-city-overview .qx-chart-wrap{ padding: 6px 26px 8px; overflow-x: auto; }
  body.view-city-overview .qx-bar-row{ cursor: pointer; }
  body.view-city-overview .qx-bar-row rect{ transition: opacity .1s ease; }
  body.view-city-overview .qx-bar-row:hover rect{ opacity: 0.75; }
  body.view-city-overview .qx-sql-wrap{ position: relative; background: #0a141f; padding: 22px 26px; }
  body.view-city-overview .qx-sql{ font-family: var(--mono); font-size: 14px; line-height: 1.75; color: #cfe8e2; white-space: pre-wrap; }
  body.view-city-overview .qx-sql .kw{ color: #4fd9c4; }
  body.view-city-overview .qx-sql .cm{ color: #6b7c85; }
  body.view-city-overview .qx-copy-btn{ position: absolute; top: 16px; right: 18px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #cfe8e2; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); padding: 6px 12px; border-radius: 999px; cursor: pointer; }
  body.view-city-overview .qx-copy-btn:hover{ background: rgba(79,217,196,0.18); border-color: #4fd9c4; }
  body.view-city-overview .qx-result-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; padding: 18px 26px 0; }
  body.view-city-overview .qx-table-wrap{ padding: 12px 26px 8px; overflow-x: auto; }
  body.view-city-overview .qx-pager{ display: flex; align-items: center; justify-content: center; gap: 16px; padding: 4px 26px 26px; }
  body.view-city-overview .qx-perspective{ margin: 0 26px 26px; padding: 16px 20px; background: var(--teal-tint); border-left: 3px solid var(--accent); font-size: 14px; color: var(--ink-2); line-height: 1.6; }
  body.view-city-overview .qx-perspective b{ color: var(--accent-strong); }
  body.view-city-overview table.qx-table{ width: 100%; border-collapse: collapse; font-size: 14px; }
  body.view-city-overview .qx-table th{ text-align: left; padding: 10px 14px; background: var(--panel-2); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); border-bottom: 1px solid var(--line); }
  body.view-city-overview .qx-table th.num, body.view-city-overview .qx-table td.num{ text-align: right; }
  body.view-city-overview .qx-table td{ padding: 10px 14px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); }
  body.view-city-overview .qx-table td.label{ color: var(--ink); font-weight: 600; }
  body.view-city-overview .qx-table td.num{ font-family: var(--mono); color: var(--ink); }
  body.view-city-overview .qx-table tr:last-child td{ border-bottom: none; }

  /* ---- certification (full width) ---- */
  body.view-city-overview .cert-grid-full{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  @media (max-width: 900px) { body.view-city-overview .cert-grid-full{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { body.view-city-overview .cert-grid-full{ grid-template-columns: 1fr; } }
  body.view-city-overview .twin-cert-row{ display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); font-size: 14px; color: #d6e6ef; font-weight: 600; }
  body.view-city-overview .twin-cert-row > span{ display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1 1 auto; overflow-wrap: anywhere; word-break: break-word; }
  body.view-city-overview .twin-cert-icon{ margin-right: 0; flex: 0 0 auto; }
  body.view-city-overview .twin-cert-row b{ flex: 0 0 auto; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: #0a141f; background: #3ddc97; padding: 4px 10px; border-radius: 999px; }
  body.view-city-overview .pager-btn{ font-family: var(--mono); font-size: 14px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-city-overview .pager-btn:hover:not(:disabled){ border-color: var(--accent); color: var(--accent-strong); }
  body.view-city-overview .pager-btn:disabled{ opacity: 0.4; cursor: not-allowed; }
  body.view-city-overview .pager-label{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); min-width: 56px; text-align: center; }
  body.view-city-overview .twin-cert-pager{ display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 20px; }
  body.view-city-overview .twin-cert-pager .pager-btn{ background: transparent; border-color: rgba(255,255,255,0.18); color: #cbd5da; }
  body.view-city-overview .twin-cert-pager .pager-label{ color: #7d8b96; }
  body.view-city-overview .twin-cert-total{ margin-top: 14px; text-align: center; font-family: var(--mono); font-size: 14px; color: #7d8b96; }

  /* ---- evidence (full width) ---- */
  body.view-city-overview .twin-evidence{ width: 100%; border-collapse: collapse; font-size: 14.5px; max-width: 640px; margin: 0 auto; }
  body.view-city-overview .twin-evidence th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 10px 14px; border-bottom: 1px solid var(--line); }
  body.view-city-overview .twin-evidence td{ padding: 12px 14px; color: var(--ink-2); border-bottom: 1px solid var(--line-soft); }
  body.view-city-overview .twin-evidence tr:last-child td{ border-bottom: none; }
  body.view-city-overview .twin-evidence td:first-child{ color: var(--ink); font-weight: 700; }
  body.view-city-overview .twin-evidence td:last-child{ color: var(--accent-strong); font-weight: 700; font-family: var(--mono); }
  body.view-city-overview .evidence-toggle{ display: flex; gap: 10px; justify-content: center; margin-bottom: 24px; }

  /* ---- certification explorer ---- */
  body.view-city-overview .cert-stat-row{ display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
  body.view-city-overview .cert-stat-row .twin-stat .v{ color: #4fd9c4; }
  body.view-city-overview .cert-cat-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }
  @media (max-width: 800px) { body.view-city-overview .cert-cat-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 520px) { body.view-city-overview .cert-cat-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .cert-cat-card{ background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); padding: 16px 18px; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
  body.view-city-overview .cert-cat-card .cc-name{ font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: #fff; }
  body.view-city-overview .cert-cat-card .cc-desc{ font-size: 14px; color: #a9b3ae; margin-top: 4px; line-height: 1.4; }
  body.view-city-overview .cert-cat-card .cc-score{ font-family: var(--mono); font-size: 14px; color: #4fd9c4; font-weight: 700; margin-top: 8px; }
  body.view-city-overview a.cert-cat-card{ cursor: pointer; }
  body.view-city-overview a.cert-cat-card:hover{ background: rgba(79,217,196,0.1); border-color: #4fd9c4; transform: translateY(-2px); }
  body.view-city-overview a.cert-cat-card:hover .cc-name{ color: #4fd9c4; }
  body.view-city-overview .cert-examples-toggle{ text-align: center; margin: 8px 0 28px; }
  body.view-city-overview .cert-example-list{ display: none; flex-direction: column; gap: 8px; margin-bottom: 32px; }
  body.view-city-overview .cert-example-list.open{ display: flex; }
  body.view-city-overview .cert-example-row{ background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-left: 3px solid #3ddc97; font-size: 14px; color: #d6e6ef; }
  body.view-city-overview .cert-example-row .ce-row-top{ display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; cursor: pointer; }
  body.view-city-overview .cert-example-row .ce-cat{ font-family: var(--mono); font-size: 14px; color: #7d8b96; text-transform: uppercase; letter-spacing: 0.05em; margin-left: 8px; }
  body.view-city-overview .cert-example-row .ce-toggle{ font-family: var(--mono); font-size: 14px; color: #7d8b96; margin-left: 10px; }
  body.view-city-overview .cert-example-detail{ display: none; padding: 0 16px 16px; }
  body.view-city-overview .cert-example-detail.open{ display: block; }
  body.view-city-overview .ce-detail-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.08); }
  @media (max-width: 700px) { body.view-city-overview .ce-detail-grid{ grid-template-columns: repeat(2, 1fr); } }
  body.view-city-overview .ce-detail-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: #7d8b96; display: block; }
  body.view-city-overview .ce-detail-value{ font-family: var(--font-display); font-size: 14px; font-weight: 700; color: #fff; margin-top: 4px; }
  body.view-city-overview .ce-detail-value.mono{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: #4fd9c4; }
  body.view-city-overview .ce-detail-sql{ margin-top: 14px; background: #0a141f; padding: 14px 16px; }
  body.view-city-overview .ce-detail-sql pre{ margin: 0; font-family: var(--mono); font-size: 14px; color: #cfe8e2; white-space: pre-wrap; line-height: 1.6; }
  body.view-city-overview .cert-subhead{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: #7d8b96; font-weight: 700; margin: 36px 0 16px; text-align: center; }

  /* ---- realism explorer ---- */
  body.view-city-overview .realism-vs{ text-align: center; font-size: 14px; color: var(--ink-2); max-width: 680px; margin: -8px auto 36px; padding: 14px 20px; background: var(--teal-tint); }
  body.view-city-overview .realism-vs b{ color: var(--accent-strong); }
  body.view-city-overview .realism-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 36px; }
  @media (max-width: 800px) { body.view-city-overview .realism-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .realism-panel{ border: 1px solid var(--line); background: var(--panel); padding: 22px 24px; }
  body.view-city-overview .realism-panel .rp-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; }
  body.view-city-overview .realism-panel .rp-stat{ font-family: var(--font-display); font-size: 22.0px; font-weight: 650; color: var(--ink); margin-top: 6px; }
  body.view-city-overview .realism-panel .rp-note{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.55; }
  body.view-city-overview .realism-panel .rp-bars{ display: flex; gap: 4px; margin-top: 12px; height: 10px; border-radius: 999px; overflow: hidden; }
  body.view-city-overview .realism-panel .rp-bars span{ display: block; height: 100%; }
  body.view-city-overview .rp-hbar-row{ display: flex; align-items: center; gap: 10px; margin-top: 10px; }
  body.view-city-overview .rp-hbar-label{ width: 84px; font-size: 14px; color: var(--ink-2); flex-shrink: 0; }
  body.view-city-overview .rp-hbar-track{ flex: 1; height: 16px; background: var(--panel-2); }
  body.view-city-overview .rp-hbar-fill{ height: 100%; }
  body.view-city-overview .rp-hbar-value{ min-width: 64px; text-align: right; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); flex-shrink: 0; white-space: nowrap; }
  body.view-city-overview .rp-hist{ display: flex; align-items: flex-end; gap: 5px; height: 90px; margin-top: 14px; }
  body.view-city-overview .rp-hist-bar{ flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
  body.view-city-overview .rp-hist-fill{ width: 100%; background: #0c8577; }
  body.view-city-overview .rp-hist-label{ font-size: 14px; color: var(--ink-3); margin-top: 4px; font-family: var(--mono); white-space: nowrap; }
  body.view-city-overview .rp-stack{ display: flex; height: 20px; margin-top: 12px; overflow: hidden; }
  body.view-city-overview .rp-stack-seg{ height: 100%; }
  body.view-city-overview .rp-stack-legend{ display: flex; gap: 16px; margin-top: 10px; flex-wrap: wrap; }
  body.view-city-overview .rp-stack-legend span{ font-size: 14px; color: var(--ink-2); display: flex; align-items: center; gap: 6px; }
  body.view-city-overview .rp-stack-legend i{ width: 10px; height: 10px; display: inline-block; }
  body.view-city-overview .evidence-legend{ display: flex; gap: 20px; justify-content: center; margin-bottom: 8px; font-size: 14px; color: var(--ink-2); }
  body.view-city-overview .evidence-legend span{ display: flex; align-items: center; gap: 6px; }
  body.view-city-overview .rp-compare{ display: flex; gap: 1px; margin-top: 12px; background: var(--line); }
  body.view-city-overview .rp-compare > div{ flex: 1; background: var(--panel-2); padding: 10px 8px; text-align: center; }
  body.view-city-overview .rp-compare .rc-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-3); }
  body.view-city-overview .rp-compare .rc-value{ font-family: var(--font-display); font-size: 16.0px; font-weight: 650; color: var(--ink); margin-top: 3px; }
  body.view-city-overview .rp-compare .rc-diff{ color: var(--amber); }
  body.view-city-overview .rp-no-ref{ margin-top: 12px; padding: 10px 12px; background: var(--panel-2); font-size: 14px; color: var(--ink-3); line-height: 1.5; }

  /* ---- domain explorer ---- */
  body.view-city-overview .domain-tabs{ display: flex; gap: 8px; flex-wrap: wrap; }
  body.view-city-overview .domain-tab{ display: flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 11px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.03); color: #cbd5da; cursor: pointer; transition: background .12s ease, border-color .12s ease; }
  body.view-city-overview .domain-tab:hover{ border-color: var(--accent); }
  body.view-city-overview .domain-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.view-city-overview .domain-tab .dt-icon{ font-size: 16.0px; }
  body.view-city-overview .domain-tab .dt-name{ white-space: nowrap; }
  body.view-city-overview .domain-tab .dt-stat{ font-weight: 500; opacity: 0.75; white-space: nowrap; }
  body.view-city-overview .domain-detail{ margin-top: 24px; border: 1px solid var(--line); background: var(--panel); padding: 26px 28px; }
  body.view-city-overview .domain-detail .dd-name{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; }
  body.view-city-overview .domain-detail .dd-note{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.6; }
  body.view-city-overview .domain-detail .dd-tables{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  body.view-city-overview .domain-detail .dd-table-chip{ font-family: var(--mono); font-size: 14px; padding: 6px 12px; border-radius: 999px; background: var(--panel-2); color: var(--ink-2); border: 1px solid var(--line); }
  body.view-city-overview .dt-row{ border: 1px solid var(--line); border-left: 3px solid var(--line); background: var(--panel-2); margin-top: 8px; cursor: pointer; transition: border-color .12s ease; }
  body.view-city-overview .dt-row.open{ border-left-color: var(--accent); }
  body.view-city-overview .dt-row-top{ display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-city-overview .dt-row.open .dt-row-top{ background: color-mix(in srgb, var(--accent) 6%, var(--panel-2)); }
  body.view-city-overview .dt-row-name{ display: flex; align-items: baseline; gap: 10px; }
  body.view-city-overview .dt-row-count{ font-weight: 500; color: var(--ink-3); font-size: 14px; }
  body.view-city-overview .dt-toggle{ font-family: var(--mono); font-size: 14px; font-weight: 500; color: var(--ink-3); }
  body.view-city-overview .dt-row-detail{ display: none; padding: 0 14px 14px; }
  body.view-city-overview .dt-row-detail.open{ display: block; }
  body.view-city-overview .dt-detail-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; border-top: 1px solid var(--line); padding-top: 12px; }
  @media (max-width: 700px) { body.view-city-overview .dt-detail-grid{ grid-template-columns: repeat(2, 1fr); } }
  body.view-city-overview .dt-detail-stat{ background: var(--panel); padding: 10px 8px; text-align: center; }
  body.view-city-overview .dt-detail-stat b{ display: block; font-family: var(--font-display); font-size: 15.0px; font-weight: 650; color: var(--ink); }
  body.view-city-overview .dt-detail-stat span{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); text-transform: uppercase; }
  body.view-city-overview .dd-rel-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
  @media (max-width: 800px) { body.view-city-overview .dd-rel-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .dt-tree{ font-family: var(--mono); font-size: 14px; }
  body.view-city-overview .dt-tree-node{ position: relative; }
  body.view-city-overview .dt-tree-label{ display: inline-block; padding: 5px 11px; background: var(--panel-2); border: 1px solid var(--line); color: var(--ink); }
  body.view-city-overview .dt-tree-children{ margin-left: 12px; padding-left: 14px; margin-top: 6px; display: flex; flex-direction: column; gap: 8px; }
  body.view-city-overview .dt-tree-children.branch{ flex-direction: row; flex-wrap: wrap; gap: 14px; margin-left: 0; padding-left: 0; border-top: 1px dashed var(--line); padding-top: 8px; }
  body.view-city-overview .dt-tree-node > .dt-tree-children:not(.branch){ border-left: 1px dashed var(--line); }
  body.view-city-overview .dd-sql-wrap{ background: #0a141f; padding: 18px 20px; margin-top: 4px; }
  body.view-city-overview .dd-sql{ font-family: var(--mono); font-size: 14px; line-height: 1.7; color: #cfe8e2; white-space: pre-wrap; }
  body.view-city-overview .dd-sql .kw{ color: #4fd9c4; }
  body.view-city-overview .dd-sql .cm{ color: #6b7c85; }
  body.view-city-overview .dd-sql .col{ color: #7db8e8; }
  body.view-city-overview .dd-sql-meta{ display: flex; gap: 16px; flex-wrap: wrap; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.1); }
  body.view-city-overview .dd-sql-badge{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--good); }
  body.view-city-overview .dd-sql-meta span.dim{ font-family: var(--mono); font-size: 14px; color: #b8cbcc; }
  body.view-city-overview .dd-sql-interp{ font-size: 14px; color: #d5e5e5; margin-top: 10px; line-height: 1.55; }
  body.view-city-overview .dd-domain-actions{ margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
  body.view-city-overview .dd-domain-actions-title{ font-family: var(--font-display); font-size: 16.0px; font-weight: 650; color: var(--ink); }
  body.view-city-overview .dd-domain-actions-copy{ margin-top: 5px; max-width: 72ch; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
  body.view-city-overview .dd-domain-actions-links{ display: flex; flex-wrap: wrap; gap: 0; margin-top: 14px; }
  body.view-city-overview .dd-domain-actions-links a{ display: inline-flex; align-items: center; min-height: 38px; padding: 8px 16px; border-left: 1px solid var(--line); color: var(--accent-strong); font-size: 14px; font-weight: 650; text-decoration: none; }
  body.view-city-overview .dd-domain-actions-links a:first-child{ border-left: 0; padding-left: 0; }
  body.view-city-overview .dd-domain-actions-links a:hover{ color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
  @media (max-width: 720px) { body.view-city-overview .dd-domain-actions-links{ display: grid; gap: 10px; } body.view-city-overview .dd-domain-actions-links a{ border-left: 0; padding: 0; min-height: 0; } }
  body.view-city-overview .dd-trust{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
  body.view-city-overview .dd-trust-pill{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 6px 12px; }
  body.view-city-overview .dd-trust-pass{ background: color-mix(in srgb, var(--good) 14%, var(--panel)); color: var(--good); }
  body.view-city-overview .dd-trust-pending{ background: var(--panel-2); color: var(--ink-3); }
  body.view-city-overview .dd-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin: 22px 0 10px; }
  body.view-city-overview .dd-contains-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  @media (max-width: 700px) { body.view-city-overview .dd-contains-grid{ grid-template-columns: repeat(2, 1fr); } }
  body.view-city-overview .dd-contains-stat{ background: var(--panel-2); padding: 12px 10px; text-align: center; }
  body.view-city-overview .dd-contains-stat b{ display: block; font-family: var(--font-display); font-size: 18.0px; font-weight: 650; color: var(--ink); }
  body.view-city-overview .dd-contains-stat span{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); text-transform: uppercase; }
  body.view-city-overview .dd-flag{ margin-top: 10px; padding: 10px 12px; background: color-mix(in srgb, var(--amber) 10%, var(--panel)); border-left: 3px solid var(--amber); font-size: 14px; color: var(--ink-2); line-height: 1.55; }
  body.view-city-overview .dd-rel-wrap{ display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
  body.view-city-overview .dd-rel-hub{ font-family: var(--mono); font-size: 14px; font-weight: 700; background: var(--accent); color: var(--accent-ink); padding: 9px 16px; }
  body.view-city-overview .dd-rel-lines{ display: flex; flex-direction: column; gap: 8px; }
  body.view-city-overview .dd-rel-edge{ display: flex; align-items: center; gap: 8px; }
  body.view-city-overview .dd-rel-edge-line{ width: 28px; height: 1px; background: var(--line); flex-shrink: 0; }
  body.view-city-overview .dd-rel-node{ font-family: var(--mono); font-size: 14px; padding: 7px 14px; background: var(--panel-2); border: 1px solid var(--line); }
  body.view-city-overview .dd-rel-node.clickable{ cursor: pointer; transition: border-color .12s ease, background .12s ease; }
  body.view-city-overview .dd-rel-node.clickable:hover{ border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--panel-2)); color: var(--accent-strong); }
  body.view-city-overview .dd-cta{ margin-top: 22px; }

  /* ---- cross-domain questions ---- */
  body.view-city-overview .xd-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  @media (max-width: 900px) { body.view-city-overview .xd-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .xd-card{ border: 1px solid var(--line); background: var(--panel); padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; }
  body.view-city-overview .xd-card .xd-q{ font-family: var(--font-display); font-size: 16.0px; font-weight: 650; line-height: 1.35; }
  body.view-city-overview .xd-card .xd-domains{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  body.view-city-overview .xd-domain-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--accent-strong); background: var(--teal-tint); padding: 5px 10px; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; }
  body.view-city-overview .xd-domain-x{ color: var(--ink-3); font-weight: 700; }
  body.view-city-overview .xd-why-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-bottom: 3px; }
  body.view-city-overview .xd-card .xd-why{ font-size: 14px; color: var(--accent-strong); font-weight: 600; line-height: 1.5; }
  body.view-city-overview .xd-footer{ text-align: center; margin-top: 24px; font-size: 14px; color: var(--ink-2); font-style: italic; }
  body.view-city-overview .xd-sql-toggle{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: none; border: none; cursor: pointer; padding: 0; text-align: left; }
  body.view-city-overview .xd-sql-toggle:hover{ color: var(--accent-hover); }
  body.view-city-overview .xd-sql-block{ display: none; background: #0a141f; padding: 16px 18px; margin-top: 2px; }
  body.view-city-overview .xd-sql-badge{ display: inline-block; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: #b5790a; background: rgba(181,121,10,0.14); padding: 4px 10px; margin-bottom: 10px; }
  body.view-city-overview .xd-sql-block.open{ display: block; }
  body.view-city-overview .xd-sql-block .dd-sql{ font-size: 14px; }
  body.view-city-overview .xd-sql-caption{ font-size: 14px; color: #7d8b96; font-style: italic; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.1); }
  body.view-city-overview .xd-card .xd-stats{ display: flex; gap: 14px; }
  body.view-city-overview .xd-card .xd-stat{ flex: 1; text-align: center; background: var(--panel-2); padding: 10px 6px; }
  body.view-city-overview .xd-card .xd-stat b{ display: block; font-family: var(--font-display); font-size: 19.0px; }
  body.view-city-overview .xd-card .xd-stat span{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); text-transform: uppercase; }
  body.view-city-overview .xd-card .xd-take{ font-size: 14px; color: var(--ink-2); line-height: 1.55; border-top: 1px solid var(--line-soft); padding-top: 12px; }

  /* ---- explore one citizen ---- */
  body.view-city-overview .cj-picker{ display: flex; gap: 10px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
  body.view-city-overview .cj-picker button{ font-family: var(--mono); font-size: 14px; padding: 9px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-city-overview .cj-picker button.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }
  body.view-city-overview .cj-layout{ display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; }
  @media (max-width: 800px) { body.view-city-overview .cj-layout{ grid-template-columns: 1fr; } }
  body.view-city-overview .cj-timeline{ border: 1px solid var(--line); background: var(--panel); padding: 24px 26px; }
  body.view-city-overview .cj-event{ display: flex; gap: 14px; padding: 14px 12px; margin: 0 -12px; border-bottom: 1px solid var(--line-soft); }
  body.view-city-overview .cj-event:last-child{ border-bottom: none; }
  body.view-city-overview .cj-event .cj-icon{ font-size: 20.0px; }
  body.view-city-overview .cj-event .cj-body b{ font-family: var(--font-display); font-size: 14.5px; display: flex; align-items: baseline; gap: 8px; }
  body.view-city-overview .cj-event .cj-age{ font-family: var(--mono); font-size: 14px; font-weight: 500; color: var(--accent-strong); }
  body.view-city-overview .cj-event.origin{ background: var(--teal-tint); border-bottom: 1px solid var(--accent); }
  body.view-city-overview .cj-event .cj-body span{ font-size: 14px; color: var(--ink-2); }
  body.view-city-overview .cj-related{ border: 1px solid var(--line); background: var(--panel); padding: 24px 26px; }
  body.view-city-overview .cj-related .cr-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-bottom: 14px; }
  body.view-city-overview .cj-related .cr-row{ display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px; }
  body.view-city-overview .cj-related .cr-row:last-of-type{ border-bottom: none; }
  body.view-city-overview .cj-related .cr-row b{ font-family: var(--mono); color: var(--accent-strong); }
  body.view-city-overview .cj-related .cr-footer{ margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14px; color: var(--ink-2); line-height: 1.55; }

  /* ---- download center ---- */
  body.view-city-overview .dl-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 800px) { body.view-city-overview .dl-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .dl-card{ border: 1px solid var(--line); background: var(--panel); padding: 20px 22px; }
  body.view-city-overview .dl-card .dl-name{ font-family: var(--font-display); font-weight: 700; font-size: 15.0px; }
  body.view-city-overview .dl-card .dl-desc{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; min-height: 40px; }
  body.view-city-overview .dl-card .dl-btn{ margin-top: 12px; width: 100%; justify-content: center; }
  body.view-city-overview .dict-table{ width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 32px; }
  body.view-city-overview .dict-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; color: var(--ink-3); padding: 8px 12px; border-bottom: 1px solid var(--line); }
  body.view-city-overview .dict-table td{ padding: 8px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); font-family: var(--mono); font-size: 14px; }
  body.view-city-overview .dict-more{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
  body.view-city-overview .dict-more-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: none; border: none; cursor: pointer; padding: 0; }
  body.view-city-overview .dict-more-btn:hover{ color: var(--accent-hover); }
  body.view-city-overview .dict-scale{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-city-overview .inspected-panel{ text-align: center; max-width: 720px; margin: 0 auto; }
  body.view-city-overview .inspected-panel h2{ font-size: clamp(30px, 3.8vw, 42px); font-weight: 650; line-height: 1.1; color: #fff; }
  body.view-city-overview .inspected-panel p{ color: #a9b3ae; margin-top: 16px; line-height: 1.65; font-size: 15.0px; }

  /* ---- final cta ---- */
  body.view-city-overview .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); padding: 56px 32px; }
  body.view-city-overview .cta-panel h2{ font-size: clamp(30px, 3.8vw, 42px); font-weight: 650; line-height: 1.1; }
  body.view-city-overview .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.view-city-overview .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.view-city-overview footer{ padding: 64px 0 32px; background: #06101a; border-bottom: none; }
  body.view-city-overview .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.view-city-overview .footer-row a:hover{ color: #4fd9c4; }
  body.view-city-overview .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 44px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.view-city-overview .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-city-overview .footer-grid{ grid-template-columns: 1fr; } }
  body.view-city-overview .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #ffffff; }
  body.view-city-overview .footer-brand .logo span{ color: #4fd9c4; }
  body.view-city-overview .footer-brand p{ font-size: 14px; color: #7d8b96; margin-top: 8px; }
  body.view-city-overview .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; }
  body.view-city-overview .footer-brand-desc b{ color: #cbd5da; }
  body.view-city-overview .footer-brand-stats{ display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-family: var(--mono); font-size: 14px; color: #7d8b96; }
  body.view-city-overview .footer-brand-stats b{ color: #4fd9c4; font-weight: 700; }
  body.view-city-overview .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.view-city-overview .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.view-city-overview .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.view-city-overview .footer-col a:hover{ color: #4fd9c4; }
  body.view-city-overview .footer-bottom{ padding-top: 24px; }

body.view-city-overview .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}
body.view-city-overview .domain-card-link{display:block;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease}body.view-city-overview .domain-card-link:hover{transform:translateY(-2px);border-color:#75c8c5}body.view-city-overview .domain-card-link .cc-open{margin-top:10px;color:#62d9cf;font:700 14px var(--mono)}

body.view-city-overview.city-locked .city-overview-combined{
  padding-top:72px;
  padding-bottom:88px;
  background:#06101a;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.view-city-overview.city-locked .city-overview-combined>.wrap:first-of-type{padding-bottom:18px;}
body.view-city-overview.city-locked .city-overview-combined>.wrap:nth-of-type(2){padding-top:0;}
body.view-city-overview.city-locked .city-overview-combined .stat-strip{padding-top:12px;}
@media(max-width:760px){
  body.view-city-overview.city-locked .city-overview-combined{padding-top:52px;padding-bottom:64px;}
  body.view-city-overview.city-locked .city-overview-combined>.wrap:first-of-type{padding-bottom:16px;}
}



/* ===== COMPONENT: data.css ===== */
/* V5 namespaced legacy component details for data. Global design grammar lives in fidelra.css. */

/* shared V5 component: view-data (2 pages) */

  body.view-data .wrap{ max-width: 1160px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-data .wrap{ padding: 0 18px; } body.view-data{ font-size: 16.0px; } }
  body.view-data section{ padding: 48px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-data section.tight{ padding: 36px 0; }

  body.view-data .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-data .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }
  body.view-data .phase-pill.wait{ background: var(--panel-2); color: var(--ink-3); }
  body.view-data .phase-pill.wait::before{ background: var(--ink-3); }

  body.view-data .ds-layout{ display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; margin-top: 30px; }
  @media (max-width: 900px) { body.view-data .ds-layout{ grid-template-columns: 1fr; } }

  body.view-data .ds-sidebar{ position: sticky; top: 20px; border: 1px solid var(--line); background: var(--panel); }
  body.view-data .ds-sidebar-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; padding: 16px 16px 8px; }
  body.view-data .ds-domain-list{ display: flex; flex-direction: column; }
  body.view-data .ds-domain-btn{ display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; background: none; border: none; border-top: 1px solid var(--line-soft); padding: 13px 16px; font-family: inherit; font-size: 14.5px; font-weight: 600; color: var(--ink-2); cursor: pointer; }
  body.view-data .ds-domain-btn:hover{ background: var(--panel-2); color: var(--ink); }
  body.view-data .ds-domain-btn.active{ background: var(--accent); color: #fff; font-weight: 700; }
  body.view-data .ds-domain-btn.disabled{ color: var(--ink-3); cursor: default; }
  body.view-data .ds-domain-btn.disabled:hover{ background: none; }
  body.view-data .ds-domain-btn .tag{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-3); background: var(--panel-2); border: 1px solid var(--line); padding: 3px 7px; border-radius: 999px; flex-shrink: 0; }
  body.view-data .ds-domain-btn.active .tag{ background: rgba(255,255,255,0.2); color: #fff; border-color: transparent; }

  body.view-data .ds-main{ min-width: 0; }
  body.view-data .ds-head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
  body.view-data .ds-head h2{ font-size: clamp(26px, 3.4vw, 34px); font-weight: 650; }
  body.view-data .ds-head p{ font-size: 16.5px; color: var(--ink-2); margin-top: 10px; max-width: 62ch; line-height: 1.65; }
  body.view-data .ds-source-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); white-space: nowrap; }

  body.view-data .ds-city-toggle{ display: inline-flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; margin-top: 22px; }
  body.view-data .ds-city-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 20px; background: var(--panel); color: var(--ink-2); border: none; cursor: pointer; }
  body.view-data .ds-city-btn.active{ background: var(--ink); color: #fff; }

  body.view-data .ds-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; margin-top: 36px; }

  body.view-data .ds-download-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: none; letter-spacing: normal; color: var(--accent-strong); background: var(--panel); border: 1px solid var(--line); padding: 7px 14px; cursor: pointer; }
  body.view-data .ds-download-btn:hover{ background: var(--panel-2); }
  body.view-data .ds-download-btn:disabled{ color: var(--ink-3); cursor: not-allowed; }

  body.view-data .entity-table{ width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 15.0px; }
  body.view-data .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 10px 12px; border-bottom: 2px solid var(--line); }
  body.view-data .entity-table td{ padding: 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-data .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }

  body.view-data .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; overflow-y: auto; max-height: 260px; margin-top: 14px; white-space: pre; scrollbar-width: thin; scrollbar-color: #4fd9c4 #0c1a24; }
  body.view-data .code-block .kw{ color: #4fd9c4; }
  body.view-data .code-block .cm{ color: #6b8298; }
  body.view-data .code-block::-webkit-scrollbar{ height: 10px; width: 10px; }
  body.view-data .code-block::-webkit-scrollbar-track{ background: #0c1a24; }
  body.view-data .code-block::-webkit-scrollbar-thumb{ background: #4fd9c4; border-radius: 999px; }

  body.view-data .ds-table-wrap{ margin-top: 12px; overflow-x: auto; overflow-y: auto; max-height: 290px; border: 1px solid var(--line); scrollbar-width: thin; scrollbar-color: #6ea8a5 var(--panel-2); }
  body.view-data .ds-table-wrap::-webkit-scrollbar{ height: 10px; width: 10px; }
  body.view-data .ds-table-wrap::-webkit-scrollbar-track{ background: var(--panel-2); }
  body.view-data .ds-table-wrap::-webkit-scrollbar-thumb{ background: #6ea8a5; border-radius: 999px; }
  body.view-data .ds-table{ width: max-content; min-width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-data .ds-table th{ text-align: left; padding: 9px 12px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; position: sticky; top: 0; z-index: 1; }
  body.view-data .ds-table td{ padding: 9px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; cursor: pointer; }
  body.view-data .ds-table tr:last-child td{ border-bottom: none; }
  body.view-data .ds-table td.empty{ color: var(--ink-3); font-style: italic; }
  body.view-data .ds-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-data .ds-usecase{ font-size: 15.5px; line-height: 1.65; color: var(--ink-2); }

  /* ---- domain tree (matches domain-docs.html's connected-city diagram) ---- */
  body.view-data .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 16px; }
  body.view-data .domain-tree, body.view-data .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-data .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-data .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-data .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-data .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-data .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-data .domain-tree li::before, body.view-data .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-data .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-data .domain-tree li.derived::before, body.view-data .domain-tree li.derived::after{ border-style: dashed; }
  body.view-data .domain-tree li:only-child{ padding-top: 0; }
  body.view-data .domain-tree li:only-child::before, body.view-data .domain-tree li:only-child::after{ display: none; }
  body.view-data .domain-tree li:first-child::before, body.view-data .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-data .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-data .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-data .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-data .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-data .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-data .tree-node-derived{ border-style: dashed; }
  body.view-data .tree-node:hover, body.view-data li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-data li.path-active::before, body.view-data li.path-active::after, body.view-data ul.path-active::before{ border-color: var(--accent); }
  body.view-data .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-data .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-data .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-data .ds-stat-row{ display: flex; flex-wrap: wrap; gap: 10px; }
  body.view-data .ds-stat-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.02em; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 8px 15px; border-radius: 999px; white-space: nowrap; }
  body.view-data .ds-stat-chip.live{ color: #fff; background: var(--good); border-color: transparent; }
  body.view-data .ds-tag-block{ margin-top: 18px; }
  body.view-data .ds-tag-block-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; margin-bottom: 10px; }
  body.view-data .ds-tag-row{ display: flex; flex-wrap: wrap; gap: 8px; }
  body.view-data .ds-tag-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; }
  body.view-data .ds-tag-grid .ds-tag-block{ margin-top: 0; }
  @media (max-width: 640px) { body.view-data .ds-tag-grid{ grid-template-columns: 1fr; } }
  body.view-data .ds-pill-tag{ font-size: 14px; font-weight: 600; color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); padding: 7px 14px; border-radius: 999px; }
  body.view-data .ds-pill-tag.ml{ color: var(--ink-2); background: var(--panel-2); border-color: var(--line); }

  body.view-data .panel-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
  @media (max-width: 900px) { body.view-data .panel-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 640px) { body.view-data .panel-grid{ grid-template-columns: 1fr; } }
  body.view-data .panel-card{ border: 1px solid var(--line); background: var(--panel); padding: 22px 20px; display: flex; flex-direction: column; }
  body.view-data .panel-card-city{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent-strong); }
  body.view-data .panel-card h3{ font-size: 17.0px; font-weight: 650; margin-top: 8px; line-height: 1.3; }
  body.view-data .panel-card p{ font-size: 14px; color: var(--ink-2); line-height: 1.6; margin-top: 8px; flex-grow: 1; }
  body.view-data .panel-card-tags{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  body.view-data .panel-card-tags span{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--ink-3); background: var(--panel-2); border: 1px solid var(--line); padding: 3px 8px; border-radius: 999px; }
  body.view-data .panel-card-cta{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); margin-top: 16px; }
  body.view-data .panel-card-price{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 6px; }
  body.view-data .panel-split-note{ font-size: 14.5px; color: var(--ink-2); line-height: 1.7; margin-top: 24px; max-width: 70ch; }

  body.view-data .ds-empty{ border: 1px dashed var(--line); background: var(--panel-2); padding: 28px 26px; margin-top: 18px; }
  body.view-data .ds-empty h4{ font-size: 16.0px; font-weight: 650; }
  body.view-data .ds-empty p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.6; max-width: 60ch; }
  body.view-data .ds-empty .tag{ display:inline-block; margin-top:10px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }

  @media (max-width: 900px) {
    body.view-data .ds-main{ order: 1; }
    body.view-data .ds-sidebar{ order: 2; position: static; max-height: 260px; overflow-y: auto; }
  }
  @media (max-width: 480px) {
    body.view-data .ds-head{ flex-direction: column; }
    body.view-data .ds-source-link{ white-space: normal; }
    body.view-data .entity-table{ font-size: 14px; }
    body.view-data .code-block{ font-size: 14px; padding: 14px 16px; }
    body.view-data .final-cta-row{ flex-direction: column; align-items: stretch; }
    body.view-data .final-cta-row .btn{ text-align: center; }
  }

  /* -- Store mode selector (02) -- */
  body.view-data .mode-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 28px; }
  @media (max-width: 720px) { body.view-data .mode-grid{ grid-template-columns: 1fr; } }
  body.view-data .mode-card{ display: block; text-decoration: none; border: 1px solid var(--line); background: var(--panel); padding: 26px 24px; transition: border-color .15s ease; }
  body.view-data .mode-card:hover{ border-color: var(--accent); }
  body.view-data .mode-card-label{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); }
  body.view-data .mode-card h3{ font-size: 22.0px; font-weight: 650; margin-top: 10px; color: var(--ink); }
  body.view-data .mode-card p{ font-size: 15.0px; color: var(--ink-2); line-height: 1.6; margin-top: 8px; }
  body.view-data .mode-card-cta{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); margin-top: 16px; display: inline-block; }

  /* -- Grouped sidebar (03) -- */
  body.view-data .ds-sidebar-group{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); padding: 14px 16px 6px; border-top: 1px solid var(--line-soft); background: var(--panel-2); }
  body.view-data .ds-sidebar-group:first-child{ border-top: none; }

  /* -- Analytical view note (05) -- */
  body.view-data .ds-analytical-label{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; color: var(--accent-strong); text-transform: uppercase; }
  body.view-data .ds-analytical-box p{ font-size: 14.5px; color: var(--ink-2); line-height: 1.6; margin-top: 8px; }
  body.view-data .ds-analytical-box a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); margin-top: 10px; display: inline-block; }

  /* -- Query selector (06) -- */
  body.view-data .ds-queryview-row{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
  body.view-data .ds-queryview-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; border-radius: 999px; }
  body.view-data .ds-queryview-btn.active{ background: var(--ink); color: #fff; border-color: var(--ink); }
  body.view-data .ds-queryview-best{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; }
  body.view-data .ds-queryview-best strong{ color: var(--ink); }

  /* -- Domains represented enhancement (07) -- */
  body.view-data .ds-tag-summary{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; }
  body.view-data .ds-tag-summary a{ font-family: var(--mono); font-weight: 700; color: var(--accent-strong); display: block; margin-top: 8px; white-space: nowrap; }

  /* -- ML use case experimental badge (08) -- */
  body.view-data .ds-pill-tag .exp-badge{ font-size: 14px; font-weight: 650; letter-spacing: 0.05em; text-transform: uppercase; color: #fff; background: var(--warn, #b45309); padding: 2px 6px; border-radius: 999px; margin-left: 7px; }

  /* -- Entities data dictionary link (09) -- */
  body.view-data .ds-dict-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); margin-top: 14px; display: inline-block; }

  /* -- Connection graph legend (10) -- */
  body.view-data .ds-graph-legend{ display: flex; flex-wrap: wrap; gap: 20px; margin-top: 12px; font-size: 14px; color: var(--ink-3); }
  body.view-data .ds-graph-hint{ font-size: 14px; color: var(--ink-3); font-style: italic; margin-top: 10px; }

  /* -- What this is not (11) -- */
  body.view-data .ds-not{ font-size: 15.5px; line-height: 1.65; color: var(--ink-2); }

  /* -- SQL action buttons (12) -- */
  body.view-data .ds-sql-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
  body.view-data .ds-sql-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--panel); border: 1px solid var(--line); padding: 8px 14px; cursor: pointer; }
  body.view-data .ds-sql-btn:hover{ background: var(--panel-2); }
  body.view-data .ds-sql-btn[disabled]{ color: var(--ink-3); cursor: not-allowed; }

  /* -- Live rows extra links (13) -- */
  body.view-data .ds-rows-links{ display: flex; flex-wrap: wrap; gap: 16px; margin-top: 10px; }
  body.view-data .ds-rows-links a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* -- Row drill-down panel (14) -- */
  body.view-data .ds-table tbody tr{ cursor: pointer; }
  body.view-data .ds-table tbody tr:hover{ background: var(--panel-2); }
  body.view-data .ds-drill-backdrop{ position: fixed; inset: 0; background: rgba(10,14,18,0.45); z-index: 90; display: none; }
  body.view-data .ds-drill-backdrop.open{ display: block; }
  body.view-data .ds-drill-panel{ position: fixed; top: 0; right: 0; height: 100%; width: min(420px, 92vw); background: var(--panel); border-left: 1px solid var(--line); z-index: 91; transform: translateX(100%); transition: transform .2s ease; overflow-y: auto; padding: 26px 24px; }
  body.view-data .ds-drill-panel.open{ transform: translateX(0); }
  body.view-data .ds-drill-close{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-3); background: none; border: 1px solid var(--line); padding: 5px 12px; cursor: pointer; float: right; }
  body.view-data .ds-drill-tag{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent-strong); }
  body.view-data .ds-drill-panel h3{ font-size: 23.0px; font-weight: 650; margin-top: 12px; clear: both; }
  body.view-data .ds-drill-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; margin-top: 26px; }
  body.view-data .ds-drill-state{ margin-top: 12px; font-size: 15.0px; }
  body.view-data .ds-drill-state div{ display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); }
  body.view-data .ds-drill-state div span:first-child{ color: var(--ink-3); }
  body.view-data .ds-drill-state div span:last-child{ color: var(--ink); font-weight: 600; text-align: right; }
  body.view-data .ds-drill-connected{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
  body.view-data .ds-drill-connected span{ font-size: 14px; font-weight: 600; color: var(--ink-3); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 12px; border-radius: 999px; }
  body.view-data .ds-drill-soon{ font-size: 14px; color: var(--ink-3); font-style: italic; margin-top: 10px; }

  /* -- Provenance strip (15) -- */
  body.view-data .ds-provenance{ margin-top: 32px; border-top: 1px solid var(--line-soft); padding-top: 24px; }
  body.view-data .ds-provenance-row{ display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
  body.view-data .ds-provenance-row .ds-stat-chip.pass{ color: #fff; background: var(--good); border-color: transparent; }
  body.view-data .ds-provenance-links{ display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; }
  body.view-data .ds-provenance-links a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* -- Two ways to buy (18) -- */

  /* -- Snapshot card + section rhythm cleanup (20) -- */
  body.view-data .ds-snapshot-card{ margin-top: 24px; border: 1px solid var(--line); background: var(--panel-2); padding: 22px 24px; }
  body.view-data .ds-snapshot-row{ display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
  body.view-data .ds-snapshot-row .ds-tag-block-label{ margin-bottom: 0; white-space: nowrap; }
  body.view-data .ds-snapshot-divider{ height: 1px; background: var(--line-soft); margin: 16px 0; }
  body.view-data #dsStatRowFacts{ gap: 0; row-gap: 8px; }
  body.view-data #dsStatRowFacts .ds-stat-chip{ background: none; border: none; padding: 0; font-weight: 600; color: var(--ink-2); }
  body.view-data #dsStatRowFacts .ds-stat-chip:not(:last-child)::after{ content: "·"; display: inline-block; margin: 0 10px; color: var(--ink-3); font-weight: 400; }

  body.view-data .ds-section-label.group-start{ margin-top: 48px; padding-top: 26px; border-top: 1px solid var(--line-soft); }
  body.view-data .ds-content-card{ margin-top: 48px; border: 1px solid var(--line); background: var(--panel); padding: 24px 26px 26px; }
  body.view-data .ds-content-card .entity-table{ margin-top: 18px; }

  body.view-data .ds-use-card{ margin-top: 16px; border: 1px solid var(--line); max-width: 70ch; }
  body.view-data .ds-use-row{ display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px; }
  body.view-data .ds-use-row + .ds-use-row{ border-top: 1px solid var(--line-soft); }
  body.view-data .ds-use-icon{ flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 650; margin-top: 2px; }
  body.view-data .ds-use-row-yes .ds-use-icon{ background: color-mix(in srgb, var(--good) 18%, transparent); color: var(--good); }
  body.view-data .ds-use-row-no .ds-use-icon{ background: color-mix(in srgb, var(--bad, #b42318) 14%, transparent); color: var(--bad, #b42318); }

  /* -- Panel domain-match clarity (19) -- */
  body.view-data .panel-card{ position: relative; }
  body.view-data .panel-card.domain-match{ border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
  body.view-data .panel-card-domain-badge{ display: none; align-self: flex-start; font-family: var(--mono); font-size: 14px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.04em; color: #fff; background: var(--accent); padding: 3px 9px; border-radius: 999px; margin-bottom: 10px; order: -1; }
  body.view-data .panels-domain-note{ display: none; margin-top: 18px; border: 1px dashed var(--line); background: var(--panel-2); padding: 16px 20px; font-size: 14.5px; color: var(--ink-2); line-height: 1.65; max-width: 70ch; }
  body.view-data .panels-domain-note strong{ color: var(--ink); }
  body.view-data .panels-domain-note a{ font-family: var(--mono); font-weight: 700; color: var(--accent-strong); margin-left: 8px; white-space: nowrap; }

body.view-data .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

body.view-data .ds-inline-link{border:0;background:transparent;padding:0;margin-left:8px;color:var(--accent-strong);font:700 14px var(--mono);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
body.view-data .domain-tree .tree-node{color:#17353c;background:#f7fbfa;border:1px solid #a9c7c7;text-transform:none;font-size:14px;letter-spacing:.01em;text-decoration:none}
body.view-data .domain-tree .tree-node:hover, body.view-data .domain-tree li.path-active>.tree-node{color:#0b756f;background:#eaf7f5;border-color:#4e9ea2}
body.view-data .domain-tree .tree-node-center{color:#fff;background:#276f73;border-color:#276f73}
body.view-data .domain-tree .tree-node-leaf{color:#294b52}
body.view-data .domain-tree li::before, body.view-data .domain-tree li::after, body.view-data .domain-tree ul::before{border-color:#b8cccc}



/* ===== COMPONENT: domains-index.css ===== */
/* V5 namespaced legacy component details for domains-index. Global design grammar lives in fidelra.css. */

/* cities/nairobi/domains.html */

  body.page-nairobi-domains{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-nairobi-domains *{ box-sizing: border-box; }
  html body.page-nairobi-domains{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-nairobi-domains{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-nairobi-domains a{ color: inherit; text-decoration: none; }
  body.page-nairobi-domains h1, body.page-nairobi-domains h2, body.page-nairobi-domains h3, body.page-nairobi-domains h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-nairobi-domains .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-nairobi-domains .wrap{ padding: 0 18px; } body.page-nairobi-domains{ font-size: 16.0px; } }
  body.page-nairobi-domains section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-domains section.tight{ padding: 64px 0; }
  body.page-nairobi-domains section.band{ background: var(--teal-tint); }
  body.page-nairobi-domains .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-domains .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-nairobi-domains .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-nairobi-domains .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-nairobi-domains .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-nairobi-domains .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-nairobi-domains .btn-primary:hover{ background: var(--accent-hover); }
  body.page-nairobi-domains .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-nairobi-domains .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }
  body.page-nairobi-domains .btn:focus-visible, body.page-nairobi-domains .group-tab:focus-visible, body.page-nairobi-domains .domain-dir-card:focus-visible, body.page-nairobi-domains .tree-node:focus-visible, body.page-nairobi-domains .featured-domain-link:focus-visible, body.page-nairobi-domains .nav-links a:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }

  body.page-nairobi-domains .domain-dir-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  @media (max-width: 900px) { body.page-nairobi-domains .domain-dir-grid{ grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 620px) { body.page-nairobi-domains .domain-dir-grid{ grid-template-columns: repeat(2, 1fr); } }
  body.page-nairobi-domains .domain-dir-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 16px; transition: border-color .15s ease, transform .15s ease; }
  body.page-nairobi-domains .domain-dir-card:hover{ border-color: var(--accent); transform: translateY(-2px); }
  body.page-nairobi-domains .domain-dir-card h4{ font-size: 18.0px; font-weight: 700; }
  body.page-nairobi-domains .dd-icon{ display: inline-block; margin-right: 6px; font-size: 18.0px; line-height: 1; vertical-align: -2px; }
  body.page-nairobi-domains .domain-dir-card .dd-go{ display: block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-nairobi-domains .domain-pager{ display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 32px; }
  body.page-nairobi-domains .domain-pager .btn{ padding: 10px 18px; }
  body.page-nairobi-domains .domain-pager .btn:disabled{ opacity: 0.35; cursor: not-allowed; }
  body.page-nairobi-domains .domain-pager .btn:disabled:hover{ border-color: var(--line); color: var(--ink); }
  body.page-nairobi-domains .domain-page-label{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-3); }

  /* ---- hero stat strip ---- */
  body.page-nairobi-domains .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-top: 40px; }
  body.page-nairobi-domains .hero-stat{ padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.page-nairobi-domains .hero-stat:nth-child(5n){ border-right: none; }
  body.page-nairobi-domains .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(19px, 2.4vw, 25px); color: var(--ink); }
  body.page-nairobi-domains .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); margin-top: 6px; }
  body.page-nairobi-domains .hero-stat,
  body.page-nairobi-domains .domain-dir-card,
  body.page-nairobi-domains .citytwin-card,
  body.page-nairobi-domains .citytwin-stats div,
  body.page-nairobi-domains .featured-domain-link,
  body.page-nairobi-domains .timeline-step{ min-width: 0; }
  body.page-nairobi-domains .hero-stat .v,
  body.page-nairobi-domains .domain-dir-card h4,
  body.page-nairobi-domains .domain-dir-card p,
  body.page-nairobi-domains .citytwin-stats .v,
  body.page-nairobi-domains .citytwin-stats .k,
  body.page-nairobi-domains .featured-domain-link,
  body.page-nairobi-domains .timeline-step{ overflow-wrap: anywhere; word-break: break-word; }
  body.page-nairobi-domains .hero-cta-row{ display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
  body.page-nairobi-domains .hero-cta-row a{ font-size: 14.5px; font-weight: 700; color: var(--accent-strong); }
  body.page-nairobi-domains .hero-cta-row a:hover{ color: var(--accent-hover); }
  @media (max-width: 980px) { body.page-nairobi-domains .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.page-nairobi-domains .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.page-nairobi-domains .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.page-nairobi-domains .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.page-nairobi-domains .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.page-nairobi-domains .hero-stat:nth-child(2n){ border-right: none; } }

  /* ---- quote callouts ---- */
  body.page-nairobi-domains .quote-callout{ font-family: var(--font-display); font-size: clamp(19px, 2.5vw, 25px); font-weight: 700; line-height: 1.45; color: var(--ink); text-align: center; max-width: 50ch; margin: 44px auto 0; }
  body.page-nairobi-domains .quote-callout.lg{ font-size: clamp(26px, 4.4vw, 42px); max-width: 24ch; line-height: 1.2; }
  body.page-nairobi-domains .band-dark .quote-callout{ color: #fff; }
  body.page-nairobi-domains .band-dark .network-readout{ color: #8ea0ac; }
  body.page-nairobi-domains .band-dark .network-readout.is-active{ color: #4fd9c4; }
  body.page-nairobi-domains .band-dark .timeline-arrow{ color: #7c8a96; }
  body.page-nairobi-domains .band-dark .btn-ghost{ color: #fff; border-color: rgba(255,255,255,0.25); }
  body.page-nairobi-domains .band-dark .btn-ghost:hover{ border-color: #4fd9c4; color: #4fd9c4; }
  body.page-nairobi-domains .band-dark .citytwin-stats .k{ color: #8ea0ac; }
  body.page-nairobi-domains .band-dark .quiet-link{ color: #8ea0ac; }

  /* ---- interactive domain tree (connected city) ---- */
  body.page-nairobi-domains .network-wrap{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 44px 20px 32px; overflow-x: auto; }
  body.page-nairobi-domains .domain-tree, body.page-nairobi-domains .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.page-nairobi-domains .domain-tree{ text-align: center; white-space: nowrap; min-width: 640px; }
  body.page-nairobi-domains .domain-tree ul{ display: flex; justify-content: center; padding-top: 32px; position: relative; }
  body.page-nairobi-domains .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 32px; border-left: 2px solid var(--line); }
  body.page-nairobi-domains .domain-tree li{ display: inline-block; vertical-align: top; padding: 32px 14px 0; position: relative; }
  body.page-nairobi-domains .domain-tree li::before, body.page-nairobi-domains .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 32px; border-top: 2px solid var(--line); }
  body.page-nairobi-domains .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.page-nairobi-domains .domain-tree li:only-child{ padding-top: 0; }
  body.page-nairobi-domains .domain-tree li:only-child::before, body.page-nairobi-domains .domain-tree li:only-child::after{ display: none; }
  body.page-nairobi-domains .domain-tree li:first-child::before, body.page-nairobi-domains .domain-tree li:last-child::after{ border-color: transparent; }
  body.page-nairobi-domains .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.page-nairobi-domains .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.page-nairobi-domains .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.page-nairobi-domains .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.page-nairobi-domains .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.page-nairobi-domains .tree-node:hover, body.page-nairobi-domains li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.page-nairobi-domains li.path-active::before, body.page-nairobi-domains li.path-active::after, body.page-nairobi-domains ul.path-active::before{ border-color: var(--accent); }
  body.page-nairobi-domains .network-readout{ margin-top: 30px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 18px; transition: color .15s ease; text-align: center; }
  body.page-nairobi-domains .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 760px) { body.page-nairobi-domains .domain-tree{ transform: scale(0.78); transform-origin: top center; } }

  /* ---- domain directory: group tabs + cards ---- */
  body.page-nairobi-domains .group-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
  body.page-nairobi-domains .group-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); padding: 9px 16px; border-radius: 999px; cursor: pointer; transition: all .15s ease; }
  body.page-nairobi-domains .group-tab.active, body.page-nairobi-domains .group-tab:hover{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
  body.page-nairobi-domains .domain-dir-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- longitudinal timelines ---- */
  body.page-nairobi-domains .timeline-group{ margin-bottom: 40px; }
  body.page-nairobi-domains .timeline-group:last-child{ margin-bottom: 0; }
  body.page-nairobi-domains .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 14px; }
  body.page-nairobi-domains .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.page-nairobi-domains .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 10px 18px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.page-nairobi-domains .timeline-arrow{ color: var(--ink-3); font-size: 15.0px; padding: 0 10px; }
  @media (max-width: 640px) { body.page-nairobi-domains .timeline-chain{ flex-direction: column; align-items: flex-start; } body.page-nairobi-domains .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 18px; } }

  /* ---- documentation standard: 3x3 grid ---- */
  body.page-nairobi-domains .doc-standard-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
  body.page-nairobi-domains .doc-standard-cell{ background: var(--panel); padding: 26px 24px; }
  body.page-nairobi-domains .doc-standard-cell .n{ font-family: var(--mono); font-size: 14px; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-domains .doc-standard-cell h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.page-nairobi-domains .doc-standard-cell p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  @media (max-width: 760px) { body.page-nairobi-domains .doc-standard-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px) { body.page-nairobi-domains .doc-standard-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domains .featured-domains{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
  body.page-nairobi-domains .featured-domain-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 9px 16px; border-radius: 999px; }
  body.page-nairobi-domains .featured-domain-link:hover{ border-color: var(--accent); }

  /* ---- explore the city close ---- */
  body.page-nairobi-domains .citytwin-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  body.page-nairobi-domains .citytwin-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 30px; color: var(--ink); }
  body.page-nairobi-domains .citytwin-card h3{ font-size: 20.0px; font-weight: 650; }
  body.page-nairobi-domains .citytwin-stats{ display: flex; gap: 24px; margin-top: 16px; flex-wrap: wrap; }
  body.page-nairobi-domains .citytwin-stats div .v{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; }
  body.page-nairobi-domains .citytwin-stats div .k{ font-size: 14px; color: var(--ink-3); margin-top: 2px; }
  body.page-nairobi-domains .citytwin-card .btn{ margin-top: 22px; }
  @media (max-width: 760px) { body.page-nairobi-domains .citytwin-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domains .quiet-link{ display: block; text-align: center; margin-top: 22px; font-size: 14px; color: var(--ink-3); }
  body.page-nairobi-domains .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  @media (prefers-reduced-motion: reduce) {
    html body.page-nairobi-domains{ scroll-behavior: auto; }
    body.page-nairobi-domains .domain-dir-card, body.page-nairobi-domains .tree-node, body.page-nairobi-domains .group-tab, body.page-nairobi-domains .btn{ transition: none; }
  }

  body.page-nairobi-domains footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-nairobi-domains .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-nairobi-domains .footer-row a:hover{ color: #4fd9c4; }
  body.page-nairobi-domains .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-nairobi-domains .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-nairobi-domains .footer-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domains .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-nairobi-domains .footer-brand .logo span{ color: #4fd9c4; }
  body.page-nairobi-domains .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-nairobi-domains .footer-brand-desc b{ color: #cbd5da; }
  body.page-nairobi-domains .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-nairobi-domains .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-nairobi-domains .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-nairobi-domains .footer-col a:hover{ color: #4fd9c4; }
  body.page-nairobi-domains .footer-bottom{ padding-top: 24px; }

body.page-nairobi-domains .dd-status{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid var(--line);font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px}body.page-nairobi-domains .dd-status.live{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}body.page-nairobi-domains .dd-status.partial{color:#9a6b16;background:#fff8e8}body.page-nairobi-domains .dd-status.planned{color:var(--ink-3);background:var(--panel-2)}
body.page-nairobi-domains .maturity-note{margin-top:18px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--panel-2);font-size:14px;color:var(--ink-2);line-height:1.55}

body.page-nairobi-domains .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/domains.html */

  body.page-lagos-domains{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-lagos-domains *{ box-sizing: border-box; }
  html body.page-lagos-domains{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-lagos-domains{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-lagos-domains a{ color: inherit; text-decoration: none; }
  body.page-lagos-domains h1, body.page-lagos-domains h2, body.page-lagos-domains h3, body.page-lagos-domains h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-lagos-domains .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-lagos-domains .wrap{ padding: 0 18px; } body.page-lagos-domains{ font-size: 16.0px; } }
  body.page-lagos-domains section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-domains section.tight{ padding: 64px 0; }
  body.page-lagos-domains section.band{ background: var(--teal-tint); }
  body.page-lagos-domains .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-domains .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-lagos-domains .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-lagos-domains .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-lagos-domains .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-lagos-domains .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-lagos-domains .btn-primary:hover{ background: var(--accent-hover); }
  body.page-lagos-domains .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-lagos-domains .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }
  body.page-lagos-domains .btn:focus-visible, body.page-lagos-domains .group-tab:focus-visible, body.page-lagos-domains .domain-dir-card:focus-visible, body.page-lagos-domains .tree-node:focus-visible, body.page-lagos-domains .featured-domain-link:focus-visible, body.page-lagos-domains .nav-links a:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }

  body.page-lagos-domains .domain-dir-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
  @media (max-width: 900px) { body.page-lagos-domains .domain-dir-grid{ grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 620px) { body.page-lagos-domains .domain-dir-grid{ grid-template-columns: repeat(2, 1fr); } }
  body.page-lagos-domains .domain-dir-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 16px; transition: border-color .15s ease, transform .15s ease; }
  body.page-lagos-domains .domain-dir-card:hover{ border-color: var(--accent); transform: translateY(-2px); }
  body.page-lagos-domains .domain-dir-card h4{ font-size: 18.0px; font-weight: 700; }
  body.page-lagos-domains .dd-icon{ display: inline-block; margin-right: 6px; font-size: 18.0px; line-height: 1; vertical-align: -2px; }
  body.page-lagos-domains .domain-dir-card .dd-go{ display: block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-lagos-domains .domain-pager{ display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 32px; }
  body.page-lagos-domains .domain-pager .btn{ padding: 10px 18px; }
  body.page-lagos-domains .domain-pager .btn:disabled{ opacity: 0.35; cursor: not-allowed; }
  body.page-lagos-domains .domain-pager .btn:disabled:hover{ border-color: var(--line); color: var(--ink); }
  body.page-lagos-domains .domain-page-label{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-3); }

  /* ---- hero stat strip ---- */
  body.page-lagos-domains .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-top: 40px; }
  body.page-lagos-domains .hero-stat{ padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.page-lagos-domains .hero-stat:nth-child(5n){ border-right: none; }
  body.page-lagos-domains .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(19px, 2.4vw, 25px); color: var(--ink); }
  body.page-lagos-domains .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); margin-top: 6px; }
  body.page-lagos-domains .hero-stat,
  body.page-lagos-domains .domain-dir-card,
  body.page-lagos-domains .citytwin-card,
  body.page-lagos-domains .citytwin-stats div,
  body.page-lagos-domains .featured-domain-link,
  body.page-lagos-domains .timeline-step{ min-width: 0; }
  body.page-lagos-domains .hero-stat .v,
  body.page-lagos-domains .domain-dir-card h4,
  body.page-lagos-domains .domain-dir-card p,
  body.page-lagos-domains .citytwin-stats .v,
  body.page-lagos-domains .citytwin-stats .k,
  body.page-lagos-domains .featured-domain-link,
  body.page-lagos-domains .timeline-step{ overflow-wrap: anywhere; word-break: break-word; }
  body.page-lagos-domains .hero-cta-row{ display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
  body.page-lagos-domains .hero-cta-row a{ font-size: 14.5px; font-weight: 700; color: var(--accent-strong); }
  body.page-lagos-domains .hero-cta-row a:hover{ color: var(--accent-hover); }
  @media (max-width: 980px) { body.page-lagos-domains .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.page-lagos-domains .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.page-lagos-domains .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.page-lagos-domains .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.page-lagos-domains .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.page-lagos-domains .hero-stat:nth-child(2n){ border-right: none; } }

  /* ---- quote callouts ---- */
  body.page-lagos-domains .quote-callout{ font-family: var(--font-display); font-size: clamp(19px, 2.5vw, 25px); font-weight: 700; line-height: 1.45; color: var(--ink); text-align: center; max-width: 50ch; margin: 44px auto 0; }
  body.page-lagos-domains .quote-callout.lg{ font-size: clamp(26px, 4.4vw, 42px); max-width: 24ch; line-height: 1.2; }
  body.page-lagos-domains .band-dark .quote-callout{ color: #fff; }
  body.page-lagos-domains .band-dark .network-readout{ color: #8ea0ac; }
  body.page-lagos-domains .band-dark .network-readout.is-active{ color: #4fd9c4; }
  body.page-lagos-domains .band-dark .timeline-arrow{ color: #7c8a96; }
  body.page-lagos-domains .band-dark .btn-ghost{ color: #fff; border-color: rgba(255,255,255,0.25); }
  body.page-lagos-domains .band-dark .btn-ghost:hover{ border-color: #4fd9c4; color: #4fd9c4; }
  body.page-lagos-domains .band-dark .citytwin-stats .k{ color: #8ea0ac; }
  body.page-lagos-domains .band-dark .quiet-link{ color: #8ea0ac; }

  /* ---- interactive domain tree (connected city) ---- */
  body.page-lagos-domains .network-wrap{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 44px 20px 32px; overflow-x: auto; }
  body.page-lagos-domains .domain-tree, body.page-lagos-domains .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.page-lagos-domains .domain-tree{ text-align: center; white-space: nowrap; min-width: 640px; }
  body.page-lagos-domains .domain-tree ul{ display: flex; justify-content: center; padding-top: 32px; position: relative; }
  body.page-lagos-domains .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 32px; border-left: 2px solid var(--line); }
  body.page-lagos-domains .domain-tree li{ display: inline-block; vertical-align: top; padding: 32px 14px 0; position: relative; }
  body.page-lagos-domains .domain-tree li::before, body.page-lagos-domains .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 32px; border-top: 2px solid var(--line); }
  body.page-lagos-domains .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.page-lagos-domains .domain-tree li:only-child{ padding-top: 0; }
  body.page-lagos-domains .domain-tree li:only-child::before, body.page-lagos-domains .domain-tree li:only-child::after{ display: none; }
  body.page-lagos-domains .domain-tree li:first-child::before, body.page-lagos-domains .domain-tree li:last-child::after{ border-color: transparent; }
  body.page-lagos-domains .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.page-lagos-domains .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.page-lagos-domains .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.page-lagos-domains .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.page-lagos-domains .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.page-lagos-domains .tree-node:hover, body.page-lagos-domains li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.page-lagos-domains li.path-active::before, body.page-lagos-domains li.path-active::after, body.page-lagos-domains ul.path-active::before{ border-color: var(--accent); }
  body.page-lagos-domains .network-readout{ margin-top: 30px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 18px; transition: color .15s ease; text-align: center; }
  body.page-lagos-domains .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 760px) { body.page-lagos-domains .domain-tree{ transform: scale(0.78); transform-origin: top center; } }

  /* ---- domain directory: group tabs + cards ---- */
  body.page-lagos-domains .group-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
  body.page-lagos-domains .group-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); padding: 9px 16px; border-radius: 999px; cursor: pointer; transition: all .15s ease; }
  body.page-lagos-domains .group-tab.active, body.page-lagos-domains .group-tab:hover{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
  body.page-lagos-domains .domain-dir-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- longitudinal timelines ---- */
  body.page-lagos-domains .timeline-group{ margin-bottom: 40px; }
  body.page-lagos-domains .timeline-group:last-child{ margin-bottom: 0; }
  body.page-lagos-domains .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 14px; }
  body.page-lagos-domains .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.page-lagos-domains .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 10px 18px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.page-lagos-domains .timeline-arrow{ color: var(--ink-3); font-size: 15.0px; padding: 0 10px; }
  @media (max-width: 640px) { body.page-lagos-domains .timeline-chain{ flex-direction: column; align-items: flex-start; } body.page-lagos-domains .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 18px; } }

  /* ---- documentation standard: 3x3 grid ---- */
  body.page-lagos-domains .doc-standard-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
  body.page-lagos-domains .doc-standard-cell{ background: var(--panel); padding: 26px 24px; }
  body.page-lagos-domains .doc-standard-cell .n{ font-family: var(--mono); font-size: 14px; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-domains .doc-standard-cell h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.page-lagos-domains .doc-standard-cell p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  @media (max-width: 760px) { body.page-lagos-domains .doc-standard-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px) { body.page-lagos-domains .doc-standard-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domains .featured-domains{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
  body.page-lagos-domains .featured-domain-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 9px 16px; border-radius: 999px; }
  body.page-lagos-domains .featured-domain-link:hover{ border-color: var(--accent); }

  /* ---- explore the city close ---- */
  body.page-lagos-domains .citytwin-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  body.page-lagos-domains .citytwin-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 30px; color: var(--ink); }
  body.page-lagos-domains .citytwin-card h3{ font-size: 20.0px; font-weight: 650; }
  body.page-lagos-domains .citytwin-stats{ display: flex; gap: 24px; margin-top: 16px; flex-wrap: wrap; }
  body.page-lagos-domains .citytwin-stats div .v{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; }
  body.page-lagos-domains .citytwin-stats div .k{ font-size: 14px; color: var(--ink-3); margin-top: 2px; }
  body.page-lagos-domains .citytwin-card .btn{ margin-top: 22px; }
  @media (max-width: 760px) { body.page-lagos-domains .citytwin-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domains .quiet-link{ display: block; text-align: center; margin-top: 22px; font-size: 14px; color: var(--ink-3); }
  body.page-lagos-domains .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  @media (prefers-reduced-motion: reduce) {
    html body.page-lagos-domains{ scroll-behavior: auto; }
    body.page-lagos-domains .domain-dir-card, body.page-lagos-domains .tree-node, body.page-lagos-domains .group-tab, body.page-lagos-domains .btn{ transition: none; }
  }

  body.page-lagos-domains footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-lagos-domains .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-lagos-domains .footer-row a:hover{ color: #4fd9c4; }
  body.page-lagos-domains .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-lagos-domains .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-lagos-domains .footer-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domains .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-lagos-domains .footer-brand .logo span{ color: #4fd9c4; }
  body.page-lagos-domains .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-lagos-domains .footer-brand-desc b{ color: #cbd5da; }
  body.page-lagos-domains .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-lagos-domains .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-lagos-domains .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-lagos-domains .footer-col a:hover{ color: #4fd9c4; }
  body.page-lagos-domains .footer-bottom{ padding-top: 24px; }

body.page-lagos-domains .dd-status{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid var(--line);font-family:var(--mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px}body.page-lagos-domains .dd-status.live{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}body.page-lagos-domains .dd-status.partial{color:#9a6b16;background:#fff8e8}body.page-lagos-domains .dd-status.planned{color:var(--ink-3);background:var(--panel-2)}
body.page-lagos-domains .maturity-note{margin-top:18px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--panel-2);font-size:14px;color:var(--ink-2);line-height:1.55}

body.page-lagos-domains .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: evidence.css ===== */
/* V5 namespaced legacy component details for evidence. Global design grammar lives in fidelra.css. */

/* cities/nairobi/evidence.html */

  body.page-nairobi-evidence{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-nairobi-evidence *{ box-sizing: border-box; }
  html body.page-nairobi-evidence{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-nairobi-evidence{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-nairobi-evidence a{ color: inherit; text-decoration: none; }
  body.page-nairobi-evidence h1, body.page-nairobi-evidence h2, body.page-nairobi-evidence h3, body.page-nairobi-evidence h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-nairobi-evidence .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-nairobi-evidence .wrap{ padding: 0 18px; } body.page-nairobi-evidence{ font-size: 16.0px; } }
  body.page-nairobi-evidence section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-evidence section.tight{ padding: 64px 0; }
  body.page-nairobi-evidence section.band-dark{ background: #06101a; border-bottom-color: #06101a; color: #fff; }
  body.page-nairobi-evidence .band-dark .eyebrow{ color: #4fd9c4; }
  body.page-nairobi-evidence .band-dark .head h2{ color: #fff; }
  body.page-nairobi-evidence .band-dark .head p{ color: #a9b3ae; }
  body.page-nairobi-evidence .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-evidence .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-nairobi-evidence .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-nairobi-evidence .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-nairobi-evidence .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-nairobi-evidence .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-nairobi-evidence .btn-primary:hover{ background: var(--accent-hover); }
  body.page-nairobi-evidence .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-nairobi-evidence .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-nairobi-evidence .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
  body.page-nairobi-evidence .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.page-nairobi-evidence .doc-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 900px) { body.page-nairobi-evidence .doc-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 620px) { body.page-nairobi-evidence .doc-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-evidence .doc-card{ display: block; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 22px; transition: border-color .15s ease, transform .15s ease; }
  body.page-nairobi-evidence a.doc-card:hover{ border-color: var(--accent); transform: translateY(-2px); }
  body.page-nairobi-evidence .doc-card .dc-icon{ font-size: 26.0px; }
  body.page-nairobi-evidence .doc-card h4{ font-size: 16.5px; font-weight: 650; margin-top: 10px; }
  body.page-nairobi-evidence .doc-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; min-height: 58px; }
  body.page-nairobi-evidence .doc-tag{ display: inline-block; margin-top: 12px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 3px 9px; border-radius: 999px; background: var(--panel-2); color: var(--ink-3); border: 1px solid var(--line); }
  body.page-nairobi-evidence .doc-tag.live{ background: color-mix(in srgb, var(--good) 16%, transparent); color: var(--good); border-color: transparent; }

  body.page-nairobi-evidence .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-nairobi-evidence .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-nairobi-evidence .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-nairobi-evidence .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-nairobi-evidence footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-nairobi-evidence .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-nairobi-evidence .footer-row a:hover{ color: #4fd9c4; }
  body.page-nairobi-evidence .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-nairobi-evidence .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-nairobi-evidence .footer-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-evidence .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-nairobi-evidence .footer-brand .logo span{ color: #4fd9c4; }
  body.page-nairobi-evidence .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-nairobi-evidence .footer-brand-desc b{ color: #cbd5da; }
  body.page-nairobi-evidence .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-nairobi-evidence .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-nairobi-evidence .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-nairobi-evidence .footer-col a:hover{ color: #4fd9c4; }
  body.page-nairobi-evidence .footer-bottom{ padding-top: 24px; }

body.page-nairobi-evidence .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/evidence.html */

  body.page-lagos-evidence{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-lagos-evidence *{ box-sizing: border-box; }
  html body.page-lagos-evidence{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-lagos-evidence{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-lagos-evidence a{ color: inherit; text-decoration: none; }
  body.page-lagos-evidence h1, body.page-lagos-evidence h2, body.page-lagos-evidence h3, body.page-lagos-evidence h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-lagos-evidence .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-lagos-evidence .wrap{ padding: 0 18px; } body.page-lagos-evidence{ font-size: 16.0px; } }
  body.page-lagos-evidence section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-evidence section.tight{ padding: 64px 0; }
  body.page-lagos-evidence section.band-dark{ background: #06101a; border-bottom-color: #06101a; color: #fff; }
  body.page-lagos-evidence .band-dark .eyebrow{ color: #4fd9c4; }
  body.page-lagos-evidence .band-dark .head h2{ color: #fff; }
  body.page-lagos-evidence .band-dark .head p{ color: #a9b3ae; }
  body.page-lagos-evidence .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-evidence .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-lagos-evidence .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-lagos-evidence .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-lagos-evidence .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-lagos-evidence .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-lagos-evidence .btn-primary:hover{ background: var(--accent-hover); }
  body.page-lagos-evidence .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-lagos-evidence .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-lagos-evidence .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--amber); }
  body.page-lagos-evidence .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.page-lagos-evidence .doc-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 900px) { body.page-lagos-evidence .doc-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 620px) { body.page-lagos-evidence .doc-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-evidence .doc-card{ display: block; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 22px; transition: border-color .15s ease, transform .15s ease; }
  body.page-lagos-evidence a.doc-card:hover{ border-color: var(--accent); transform: translateY(-2px); }
  body.page-lagos-evidence .doc-card .dc-icon{ font-size: 26.0px; }
  body.page-lagos-evidence .doc-card h4{ font-size: 16.5px; font-weight: 650; margin-top: 10px; }
  body.page-lagos-evidence .doc-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; min-height: 58px; }
  body.page-lagos-evidence .doc-tag{ display: inline-block; margin-top: 12px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 3px 9px; border-radius: 999px; background: var(--panel-2); color: var(--ink-3); border: 1px solid var(--line); }
  body.page-lagos-evidence .doc-tag.live{ background: color-mix(in srgb, var(--good) 16%, transparent); color: var(--good); border-color: transparent; }

  body.page-lagos-evidence .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-lagos-evidence .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-lagos-evidence .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-lagos-evidence .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-lagos-evidence footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-lagos-evidence .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-lagos-evidence .footer-row a:hover{ color: #4fd9c4; }
  body.page-lagos-evidence .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-lagos-evidence .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-lagos-evidence .footer-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-evidence .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-lagos-evidence .footer-brand .logo span{ color: #4fd9c4; }
  body.page-lagos-evidence .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-lagos-evidence .footer-brand-desc b{ color: #cbd5da; }
  body.page-lagos-evidence .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-lagos-evidence .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-lagos-evidence .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-lagos-evidence .footer-col a:hover{ color: #4fd9c4; }
  body.page-lagos-evidence .footer-bottom{ padding-top: 24px; }

body.page-lagos-evidence .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: certification.css ===== */
/* V5 namespaced legacy component details for certification. Global design grammar lives in fidelra.css. */

/* cities/nairobi/certification.html */

  body.page-nairobi-certification{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-nairobi-certification *{ box-sizing: border-box; }
  html body.page-nairobi-certification{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-nairobi-certification{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-nairobi-certification a{ color: inherit; text-decoration: none; }
  body.page-nairobi-certification h1, body.page-nairobi-certification h2, body.page-nairobi-certification h3, body.page-nairobi-certification h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-nairobi-certification .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-nairobi-certification .wrap{ padding: 0 18px; } body.page-nairobi-certification{ font-size: 16.0px; } }
  body.page-nairobi-certification section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-certification section.tight{ padding: 64px 0; }
  body.page-nairobi-certification section.band-dark{ background: #06101a; border-bottom-color: #06101a; color: #fff; }
  body.page-nairobi-certification .band-dark .eyebrow{ color: #4fd9c4; }
  body.page-nairobi-certification .band-dark .head h2{ color: #fff; }
  body.page-nairobi-certification .band-dark .head p{ color: #a9b3ae; }
  body.page-nairobi-certification .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-certification .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-nairobi-certification .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-nairobi-certification .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-nairobi-certification .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
  body.page-nairobi-certification .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-nairobi-certification .btn-primary:hover{ background: var(--accent-hover); }
  body.page-nairobi-certification .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-nairobi-certification .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-nairobi-certification .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; }
  body.page-nairobi-certification .phase-pill.building{ background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent-strong); }
  body.page-nairobi-certification .phase-pill.building::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display:inline-block; }

  /* ---- integrity layer grid ---- */
  body.page-nairobi-certification .layer-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 900px) { body.page-nairobi-certification .layer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 620px) { body.page-nairobi-certification .layer-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-certification .layer-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 22px; border-top: 3px solid var(--accent); }
  body.page-nairobi-certification .layer-card .lc-icon{ font-size: 26.0px; }
  body.page-nairobi-certification .layer-card h4{ font-size: 17.0px; font-weight: 650; margin-top: 10px; }
  body.page-nairobi-certification .layer-card p{ font-size: 14.5px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.page-nairobi-certification .layer-card .lc-rules{ margin-top: 12px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 10px; }

  /* ---- digital asset card ---- */
  body.page-nairobi-certification .asset-card{ background: #0a141f; border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 30px 32px; color: #fff; }
  body.page-nairobi-certification .asset-head{ display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  body.page-nairobi-certification .asset-head h3{ font-size: 26.0px; font-weight: 650; }
  body.page-nairobi-certification .asset-head .av{ font-family: var(--mono); font-size: 15.0px; color: #7d8b96; margin-top: 4px; }
  body.page-nairobi-certification .asset-badge{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #0a141f; background: #3ddc97; padding: 6px 14px; border-radius: 999px; }
  body.page-nairobi-certification .asset-stats{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; overflow: hidden; margin-top: 24px; }
  @media (max-width: 760px) { body.page-nairobi-certification .asset-stats{ grid-template-columns: 1fr 1fr; } }
  body.page-nairobi-certification .asset-stat{ background: rgba(255,255,255,0.03); padding: 16px 18px; }
  body.page-nairobi-certification .asset-stat .v{ font-family: var(--font-display); font-size: 21.0px; font-weight: 650; }
  body.page-nairobi-certification .asset-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: #7d8b96; margin-top: 4px; }
  body.page-nairobi-certification .asset-links{ display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
  body.page-nairobi-certification .asset-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: #4fd9c4; background: rgba(79,217,196,0.08); border: 1px solid rgba(79,217,196,0.3); padding: 8px 14px; border-radius: 999px; transition: background .15s ease; }
  body.page-nairobi-certification a.asset-link:hover{ background: rgba(79,217,196,0.2); }
  body.page-nairobi-certification .asset-toggle{ display: flex; gap: 10px; margin-bottom: 20px; }
  body.page-nairobi-certification .asset-toggle button{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.page-nairobi-certification .asset-toggle button.active{ background: var(--accent); color: #fff; border-color: var(--accent); }

  body.page-nairobi-certification .pipeline{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 28px; }
  body.page-nairobi-certification .pipeline .pl-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px; font-weight: 700; font-size: 14.5px; }
  body.page-nairobi-certification .pipeline .pl-arrow{ color: var(--accent-strong); font-size: 18.0px; }

  body.page-nairobi-certification .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-nairobi-certification .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-nairobi-certification .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-nairobi-certification .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-nairobi-certification footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-nairobi-certification .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-nairobi-certification .footer-row a:hover{ color: #4fd9c4; }
  body.page-nairobi-certification .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-nairobi-certification .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-nairobi-certification .footer-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-certification .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-nairobi-certification .footer-brand .logo span{ color: #4fd9c4; }
  body.page-nairobi-certification .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-nairobi-certification .footer-brand-desc b{ color: #cbd5da; }
  body.page-nairobi-certification .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-nairobi-certification .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-nairobi-certification .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-nairobi-certification .footer-col a:hover{ color: #4fd9c4; }
  body.page-nairobi-certification .footer-bottom{ padding-top: 24px; }

body.page-nairobi-certification .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/certification.html */

  body.page-lagos-certification{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-lagos-certification *{ box-sizing: border-box; }
  html body.page-lagos-certification{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-lagos-certification{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-lagos-certification a{ color: inherit; text-decoration: none; }
  body.page-lagos-certification h1, body.page-lagos-certification h2, body.page-lagos-certification h3, body.page-lagos-certification h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-lagos-certification .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-lagos-certification .wrap{ padding: 0 18px; } body.page-lagos-certification{ font-size: 16.0px; } }
  body.page-lagos-certification section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-certification section.tight{ padding: 64px 0; }
  body.page-lagos-certification section.band-dark{ background: #06101a; border-bottom-color: #06101a; color: #fff; }
  body.page-lagos-certification .band-dark .eyebrow{ color: #4fd9c4; }
  body.page-lagos-certification .band-dark .head h2{ color: #fff; }
  body.page-lagos-certification .band-dark .head p{ color: #a9b3ae; }
  body.page-lagos-certification .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-certification .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-lagos-certification .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-lagos-certification .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-lagos-certification .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer; }
  body.page-lagos-certification .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-lagos-certification .btn-primary:hover{ background: var(--accent-hover); }
  body.page-lagos-certification .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-lagos-certification .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-lagos-certification .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; }
  body.page-lagos-certification .phase-pill.building{ background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent-strong); }
  body.page-lagos-certification .phase-pill.building::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display:inline-block; }

  /* ---- integrity layer grid ---- */
  body.page-lagos-certification .layer-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 900px) { body.page-lagos-certification .layer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 620px) { body.page-lagos-certification .layer-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-certification .layer-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 22px; border-top: 3px solid var(--accent); }
  body.page-lagos-certification .layer-card .lc-icon{ font-size: 26.0px; }
  body.page-lagos-certification .layer-card h4{ font-size: 17.0px; font-weight: 650; margin-top: 10px; }
  body.page-lagos-certification .layer-card p{ font-size: 14.5px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.page-lagos-certification .layer-card .lc-rules{ margin-top: 12px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 10px; }

  /* ---- digital asset card ---- */
  body.page-lagos-certification .asset-card{ background: #0a141f; border: 1px solid rgba(255,255,255,0.12); border-radius: 16px; padding: 30px 32px; color: #fff; }
  body.page-lagos-certification .asset-head{ display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  body.page-lagos-certification .asset-head h3{ font-size: 26.0px; font-weight: 650; }
  body.page-lagos-certification .asset-head .av{ font-family: var(--mono); font-size: 15.0px; color: #7d8b96; margin-top: 4px; }
  body.page-lagos-certification .asset-badge{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #0a141f; background: #3ddc97; padding: 6px 14px; border-radius: 999px; }
  body.page-lagos-certification .asset-stats{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; overflow: hidden; margin-top: 24px; }
  @media (max-width: 760px) { body.page-lagos-certification .asset-stats{ grid-template-columns: 1fr 1fr; } }
  body.page-lagos-certification .asset-stat{ background: rgba(255,255,255,0.03); padding: 16px 18px; }
  body.page-lagos-certification .asset-stat .v{ font-family: var(--font-display); font-size: 21.0px; font-weight: 650; }
  body.page-lagos-certification .asset-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; color: #7d8b96; margin-top: 4px; }
  body.page-lagos-certification .asset-links{ display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
  body.page-lagos-certification .asset-link{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: #4fd9c4; background: rgba(79,217,196,0.08); border: 1px solid rgba(79,217,196,0.3); padding: 8px 14px; border-radius: 999px; transition: background .15s ease; }
  body.page-lagos-certification a.asset-link:hover{ background: rgba(79,217,196,0.2); }
  body.page-lagos-certification .asset-toggle{ display: flex; gap: 10px; margin-bottom: 20px; }
  body.page-lagos-certification .asset-toggle button{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.page-lagos-certification .asset-toggle button.active{ background: var(--accent); color: #fff; border-color: var(--accent); }

  body.page-lagos-certification .pipeline{ display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 28px; }
  body.page-lagos-certification .pipeline .pl-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px; font-weight: 700; font-size: 14.5px; }
  body.page-lagos-certification .pipeline .pl-arrow{ color: var(--accent-strong); font-size: 18.0px; }

  body.page-lagos-certification .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-lagos-certification .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-lagos-certification .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-lagos-certification .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-lagos-certification footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-lagos-certification .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-lagos-certification .footer-row a:hover{ color: #4fd9c4; }
  body.page-lagos-certification .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-lagos-certification .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-lagos-certification .footer-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-certification .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-lagos-certification .footer-brand .logo span{ color: #4fd9c4; }
  body.page-lagos-certification .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-lagos-certification .footer-brand-desc b{ color: #cbd5da; }
  body.page-lagos-certification .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-lagos-certification .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-lagos-certification .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-lagos-certification .footer-col a:hover{ color: #4fd9c4; }
  body.page-lagos-certification .footer-bottom{ padding-top: 24px; }

body.page-lagos-certification .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: audits-index.css ===== */
/* V5 namespaced legacy component details for audits-index. Global design grammar lives in fidelra.css. */

/* cities/nairobi/audits.html */

  body.page-nairobi-audits .group{ margin-bottom: 40px; }
  body.page-nairobi-audits .group h2{ font-family: var(--font-display); font-size: 24.0px; font-weight: 650; text-transform: none; letter-spacing: -.01em; color: var(--ink-2); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }

  body.page-nairobi-audits .card-list{ display: flex; flex-direction: column; gap: 1px; background: var(--line); border: 1px solid var(--line); overflow: hidden; }
  body.page-nairobi-audits a.card{ display: block; background: var(--panel); padding: 18px 20px; text-decoration: none; color: inherit; transition: background .1s ease; }
  body.page-nairobi-audits a.card:hover{ background: var(--teal-tint); }
  body.page-nairobi-audits .card .t{ font-size: 18.0px; font-weight: 700; margin-bottom: 4px; }
  body.page-nairobi-audits .card .d{ font-size: 15.5px; color: var(--ink-2); max-width: 70ch; }
  body.page-nairobi-audits .card .m{ font-family: var(--mono); font-size: 14px; color: var(--accent); margin-top: 6px; letter-spacing: .02em; }

body.page-nairobi-audits .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/audits.html */

  body.page-lagos-audits .group{ margin-bottom: 40px; }
  body.page-lagos-audits .group h2{ font-family: var(--font-display); font-size: 24.0px; font-weight: 650; text-transform: none; letter-spacing: -.01em; color: var(--ink-2); margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }

  body.page-lagos-audits .card-list{ display: flex; flex-direction: column; gap: 1px; background: var(--line); border: 1px solid var(--line); overflow: hidden; }
  body.page-lagos-audits a.card{ display: block; background: var(--panel); padding: 18px 20px; text-decoration: none; color: inherit; transition: background .1s ease; }
  body.page-lagos-audits a.card:hover{ background: var(--teal-tint); }
  body.page-lagos-audits .card .t{ font-size: 18.0px; font-weight: 700; margin-bottom: 4px; }
  body.page-lagos-audits .card .d{ font-size: 15.5px; color: var(--ink-2); max-width: 70ch; }
  body.page-lagos-audits .card .m{ font-family: var(--mono); font-size: 14px; color: var(--accent); margin-top: 6px; letter-spacing: .02em; }

body.page-lagos-audits .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: audit.css ===== */
/* V5 component foundation: unique layout/visual behavior only; fidelra.css owns global grammar. */
body.page-family-audits-index /* FCTE Marketplace — shared stylesheet for every fctemarketplace/audits/*.html report.
   Linked (after site.css) by all 9 audit pages. Uses site.css's existing light theme tokens
   (--bg/--ink/--ink-2/--ink-3/--panel/--panel-2/--line/--accent/--font-display/--mono, etc.)
   so audit pages match the rest of the marketplace instead of each inventing its own palette.
   Only page-specific one-off tweaks should live in a page's own <style> block. */

:root, body.page-family-audit-detail /* FCTE Marketplace — shared stylesheet for every fctemarketplace/audits/*.html report.
   Linked (after site.css) by all 9 audit pages. Uses site.css's existing light theme tokens
   (--bg/--ink/--ink-2/--ink-3/--panel/--panel-2/--line/--accent/--font-display/--mono, etc.)
   so audit pages match the rest of the marketplace instead of each inventing its own palette.
   Only page-specific one-off tweaks should live in a page's own <style> block. */

:root{
  --critical: #b3261e; --critical-bg: #fbe9e7; --critical-line: rgba(179,38,30,0.28);
  --warning: var(--amber); --warning-bg: #faf1de; --warning-line: rgba(181,121,10,0.28);
  --good-bg: #e2f2e8; --good-line: rgba(24,122,74,0.24);
  --neutral: var(--ink-3); --neutral-bg: var(--panel-2); --neutral-line: var(--line);
}

body.page-family-audits-index /* ---- page shell ---- */
body, body.page-family-audit-detail /* ---- page shell ---- */
body{ font-family: var(--font-display); font-size: 16.0px; line-height: 1.55; }
body.page-family-audits-index .wrap, body.page-family-audit-detail .wrap{ max-width: 1000px; }
body.page-family-audits-index header.top, body.page-family-audit-detail header.top, body.page-family-audits-index header.cover, body.page-family-audit-detail header.cover, body.page-family-audits-index .masthead, body.page-family-audit-detail .masthead{ position: static; top: auto; z-index: auto; background: none; backdrop-filter: none; }

body.page-family-audits-index /* ---- hero header (title block at the top of every report) ---- */
.audit-hero, body.page-family-audit-detail /* ---- hero header (title block at the top of every report) ---- */
.audit-hero{ padding: 48px 0 32px; border-bottom: 1px solid var(--line); }
body.page-family-audits-index .audit-hero h1, body.page-family-audit-detail .audit-hero h1, body.page-family-audits-index .audit-hero .title, body.page-family-audit-detail .audit-hero .title{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 4.2vw, 44px); line-height: 1.08; letter-spacing: -0.01em; margin: 10px 0 0; text-wrap: balance; color: var(--ink); }
body.page-family-audits-index .audit-hero .audit-dek, body.page-family-audit-detail .audit-hero .audit-dek, body.page-family-audits-index .audit-hero .lede, body.page-family-audit-detail .audit-hero .lede, body.page-family-audits-index .audit-hero .dek, body.page-family-audit-detail .audit-hero .dek, body.page-family-audits-index .audit-hero .subtitle, body.page-family-audit-detail .audit-hero .subtitle{ color: var(--ink-2); font-weight: 500; font-size: 16.5px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }
body.page-family-audits-index .audit-hero .meta-row, body.page-family-audit-detail .audit-hero .meta-row, body.page-family-audits-index .audit-hero .metarow, body.page-family-audit-detail .audit-hero .metarow, body.page-family-audits-index .audit-hero .run-meta, body.page-family-audit-detail .audit-hero .run-meta{ display: flex; gap: 20px; flex-wrap: wrap; margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
body.page-family-audits-index .audit-hero .meta-row b, body.page-family-audit-detail .audit-hero .meta-row b, body.page-family-audits-index .audit-hero .metarow b, body.page-family-audit-detail .audit-hero .metarow b, body.page-family-audits-index .audit-hero .run-meta b, body.page-family-audit-detail .audit-hero .run-meta b{ color: var(--ink-2); font-weight: 700; }

body.page-family-audits-index /* ---- unified stat-strip / KPI widget (replaces kpi-grid, statbar/stat-cell, statstrip/stat) ---- */
.audit-statbar, body.page-family-audit-detail /* ---- unified stat-strip / KPI widget (replaces kpi-grid, statbar/stat-cell, statstrip/stat) ---- */
.audit-statbar{ display: flex; flex-wrap: wrap; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); overflow: hidden; margin-top: 28px; }
body.page-family-audits-index .audit-stat, body.page-family-audit-detail .audit-stat{ flex: 1 1 140px; padding: 18px 20px; border-right: 1px solid var(--line-soft); }
body.page-family-audits-index .audit-stat:last-child, body.page-family-audit-detail .audit-stat:last-child{ border-right: none; }
body.page-family-audits-index .audit-stat .v, body.page-family-audit-detail .audit-stat .v{ display: block; font-family: var(--font-display); font-weight: 650; font-size: clamp(20px, 2.4vw, 26px); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; color: var(--ink); }
body.page-family-audits-index .audit-stat .k, body.page-family-audit-detail .audit-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
body.page-family-audits-index .audit-stat.crit .v, body.page-family-audit-detail .audit-stat.crit .v{ color: var(--critical); }
body.page-family-audits-index .audit-stat.warn .v, body.page-family-audit-detail .audit-stat.warn .v{ color: var(--warning); }
body.page-family-audits-index .audit-stat.good .v, body.page-family-audit-detail .audit-stat.good .v{ color: var(--good); }
body.page-family-audits-index .audit-stat.neutral .v, body.page-family-audit-detail .audit-stat.neutral .v{ color: var(--neutral); }
@media (max-width: 760px) { body.page-family-audits-index .audit-stat, body.page-family-audit-detail .audit-stat{ flex: 1 1 45%; border-bottom: 1px solid var(--line-soft); } }

body.page-family-audits-index /* ---- section rhythm ---- */
section, body.page-family-audit-detail /* ---- section rhythm ---- */
section{ padding: 40px 0; border-bottom: 1px solid var(--line); margin-bottom: 0; }
body.page-family-audits-index section:last-of-type, body.page-family-audit-detail section:last-of-type{ border-bottom: none; }
body.page-family-audits-index .section-head, body.page-family-audit-detail .section-head{ margin-bottom: 24px; max-width: 760px; }
body.page-family-audits-index .section-head h2, body.page-family-audit-detail .section-head h2, body.page-family-audits-index section > h2, body.page-family-audit-detail section > h2{ font-size: clamp(21px, 2.6vw, 26px); font-weight: 650; letter-spacing: -0.01em; margin: 0 0 6px; color: var(--ink); }
body.page-family-audits-index .section-head p, body.page-family-audit-detail .section-head p{ color: var(--ink-2); font-size: 14.5px; margin: 0; max-width: 68ch; line-height: 1.7; }
body.page-family-audits-index .lede, body.page-family-audit-detail .lede{ color: var(--ink-2); max-width: 68ch; font-size: 17.0px; margin: 0 0 20px; }
body.page-family-audits-index h3, body.page-family-audit-detail h3{ font-family: var(--font-display); font-size: 15.0px; font-weight: 700; margin: 28px 0 10px; color: var(--ink); }

body.page-family-audits-index /* ---- findings (card-per-finding layout, used by the city-twin / data-quality reports) ---- */
.finding, body.page-family-audit-detail /* ---- findings (card-per-finding layout, used by the city-twin / data-quality reports) ---- */
.finding{ display: flex; gap: 16px; padding: 20px 22px; margin-bottom: 14px; border: 1px solid var(--line); background: var(--panel); }
body.page-family-audits-index .finding.critical, body.page-family-audit-detail .finding.critical{ border-color: var(--critical-line); background: var(--critical-bg); }
body.page-family-audits-index .finding.warning, body.page-family-audit-detail .finding.warning{ border-color: var(--warning-line); background: var(--warning-bg); }
body.page-family-audits-index .finding.good, body.page-family-audit-detail .finding.good{ border-color: var(--good-line); background: var(--good-bg); }
body.page-family-audits-index .finding.neutral, body.page-family-audit-detail .finding.neutral{ border-color: var(--neutral-line); background: var(--neutral-bg); }
body.page-family-audits-index .sev-pill, body.page-family-audit-detail .sev-pill{ flex: 0 0 auto; font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 10px; height: fit-content; white-space: nowrap; color: #fff; }
body.page-family-audits-index .finding.critical .sev-pill, body.page-family-audit-detail .finding.critical .sev-pill{ background: var(--critical); }
body.page-family-audits-index .finding.warning .sev-pill, body.page-family-audit-detail .finding.warning .sev-pill{ background: var(--warning); }
body.page-family-audits-index .finding.good .sev-pill, body.page-family-audit-detail .finding.good .sev-pill{ background: var(--good); }
body.page-family-audits-index .finding.neutral .sev-pill, body.page-family-audit-detail .finding.neutral .sev-pill{ background: var(--neutral); }
body.page-family-audits-index .finding-body, body.page-family-audit-detail .finding-body{ min-width: 0; }
body.page-family-audits-index .finding-body h3, body.page-family-audit-detail .finding-body h3{ font-size: 16.0px; font-weight: 700; margin: 0 0 6px; letter-spacing: -0.005em; }
body.page-family-audits-index .finding-body p, body.page-family-audit-detail .finding-body p{ margin: 0 0 8px; color: var(--ink-2); font-size: 14.5px; line-height: 1.6; }
body.page-family-audits-index .finding-body p:last-child, body.page-family-audit-detail .finding-body p:last-child{ margin-bottom: 0; }
body.page-family-audits-index .stat-line, body.page-family-audit-detail .stat-line{ font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: 14px; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 8px 12px; margin: 8px 0; display: inline-block; }
body.page-family-audits-index .finding.critical .stat-line, body.page-family-audit-detail .finding.critical .stat-line{ color: var(--critical); border-color: var(--critical-line); }
body.page-family-audits-index .finding.warning .stat-line, body.page-family-audit-detail .finding.warning .stat-line{ color: var(--warning); border-color: var(--warning-line); }
body.page-family-audits-index .finding.good .stat-line, body.page-family-audit-detail .finding.good .stat-line{ color: var(--good); border-color: var(--good-line); }
body.page-family-audits-index .cat-label, body.page-family-audit-detail .cat-label{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); margin: 28px 0 12px; }
body.page-family-audits-index .cat-label:first-child, body.page-family-audit-detail .cat-label:first-child{ margin-top: 0; }

body.page-family-audits-index /* ---- status pill (used by the temporal-integrity / land-finance report family) ---- */
.pill, body.page-family-audit-detail /* ---- status pill (used by the temporal-integrity / land-finance report family) ---- */
.pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; letter-spacing: 0.02em; padding: 3px 9px; font-weight: 600; white-space: nowrap; }
body.page-family-audits-index .pill.crit, body.page-family-audit-detail .pill.crit{ background: var(--critical-bg); color: var(--critical); }
body.page-family-audits-index .pill.pend, body.page-family-audit-detail .pill.pend, body.page-family-audits-index .pill.neutral, body.page-family-audit-detail .pill.neutral{ background: var(--neutral-bg); color: var(--neutral); }
body.page-family-audits-index .pill.untr, body.page-family-audit-detail .pill.untr, body.page-family-audits-index .pill.warn, body.page-family-audit-detail .pill.warn{ background: var(--warning-bg); color: var(--warning); }
body.page-family-audits-index .pill.minor, body.page-family-audit-detail .pill.minor{ background: var(--panel-2); color: var(--ink-3); }
body.page-family-audits-index .pill.ok, body.page-family-audit-detail .pill.ok, body.page-family-audits-index .pill.good, body.page-family-audit-detail .pill.good{ background: var(--teal-tint); color: var(--accent-hover); }

body.page-family-audits-index /* ---- mini bar charts (two shapes: vertical .bar-row bars, inline .bar-cell bars) ---- */
.bar-row, body.page-family-audit-detail /* ---- mini bar charts (two shapes: vertical .bar-row bars, inline .bar-cell bars) ---- */
.bar-row{ display: flex; align-items: flex-end; gap: 3px; height: 46px; margin: 12px 0 4px; }
body.page-family-audits-index .bar-row i, body.page-family-audit-detail .bar-row i{ flex: 1; background: var(--accent); opacity: 0.85; }
body.page-family-audits-index .bar-row.crit i, body.page-family-audit-detail .bar-row.crit i{ background: var(--critical); }
body.page-family-audits-index .bar-labels, body.page-family-audit-detail .bar-labels{ display: flex; gap: 3px; }
body.page-family-audits-index .bar-labels span, body.page-family-audit-detail .bar-labels span{ flex: 1; text-align: center; font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
body.page-family-audits-index .bar-cell, body.page-family-audit-detail .bar-cell{ display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
body.page-family-audits-index .bar-cell .bar, body.page-family-audit-detail .bar-cell .bar{ height: 6px; background: var(--line); width: 64px; overflow: hidden; flex: none; }
body.page-family-audits-index .bar-cell .bar > span, body.page-family-audit-detail .bar-cell .bar > span{ display: block; height: 100%; background: var(--critical); }

body.page-family-audits-index /* ---- data tables ---- */
.tablewrap, body.page-family-audit-detail /* ---- data tables ---- */
.tablewrap{ overflow-x: auto; border: 1px solid var(--line); background: var(--panel); }
body.page-family-audits-index .tablewrap table, body.page-family-audit-detail .tablewrap table, body.page-family-audits-index table.audit-table, body.page-family-audit-detail table.audit-table{ border-collapse: collapse; width: 100%; min-width: 640px; font-size: 14px; }
body.page-family-audits-index .tablewrap th, body.page-family-audit-detail .tablewrap th, body.page-family-audits-index table.audit-table th, body.page-family-audit-detail table.audit-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-2); font-weight: 600; padding: 10px 14px; border-bottom: 1px solid var(--line); background: var(--teal-tint); white-space: nowrap; }
body.page-family-audits-index .tablewrap td, body.page-family-audit-detail .tablewrap td, body.page-family-audits-index table.audit-table td, body.page-family-audit-detail table.audit-table td{ padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
body.page-family-audits-index .tablewrap tr:last-child td, body.page-family-audit-detail .tablewrap tr:last-child td, body.page-family-audits-index table.audit-table tr:last-child td, body.page-family-audit-detail table.audit-table tr:last-child td{ border-bottom: none; }
body.page-family-audits-index td.num, body.page-family-audit-detail td.num{ font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
body.page-family-audits-index td.path, body.page-family-audit-detail td.path{ font-size: 14px; color: var(--ink-2); }

body.page-family-audits-index /* ---- collapsible detail panels ---- */
details.audit-detail, body.page-family-audit-detail /* ---- collapsible detail panels ---- */
details.audit-detail, body.page-family-audits-index .tablewrap + details, body.page-family-audit-detail .tablewrap + details, body.page-family-audits-index section details, body.page-family-audit-detail section details{ border: 1px solid var(--line); background: var(--panel); margin-top: 18px; padding: 2px 0; }
body.page-family-audits-index details summary, body.page-family-audit-detail details summary{ cursor: pointer; padding: 13px 16px; font-weight: 600; font-size: 14px; list-style: none; display: flex; align-items: center; justify-content: space-between; color: var(--ink); }
body.page-family-audits-index details summary::-webkit-details-marker, body.page-family-audit-detail details summary::-webkit-details-marker{ display: none; }
body.page-family-audits-index details summary:after, body.page-family-audit-detail details summary:after{ content: "+"; font-family: var(--mono); color: var(--ink-3); font-size: 16.0px; }
body.page-family-audits-index details[open] summary:after, body.page-family-audit-detail details[open] summary:after{ content: "\2013"; }
body.page-family-audits-index .detail-body, body.page-family-audit-detail .detail-body{ padding: 2px 16px 16px; color: var(--ink-2); font-size: 14px; }
body.page-family-audits-index .detail-body code, body.page-family-audit-detail .detail-body code{ font-family: var(--mono); background: var(--teal-tint); color: var(--accent-hover); padding: 1px 5px; font-size: 14px; }
body.page-family-audits-index .detail-body pre, body.page-family-audit-detail .detail-body pre{ background: var(--panel-2); border: 1px solid var(--line); padding: 12px 14px; overflow-x: auto; font-family: var(--mono); font-size: 14px; color: var(--ink); line-height: 1.6; }

body.page-family-audits-index /* ---- callout boxes ---- */
.callout, body.page-family-audit-detail /* ---- callout boxes ---- */
.callout{ border-left: 3px solid var(--accent); background: var(--teal-tint); padding: 14px 18px; font-size: 14px; color: var(--accent-hover); max-width: none; }
body.page-family-audits-index .callout.warn, body.page-family-audit-detail .callout.warn{ border-color: var(--critical); background: var(--critical-bg); color: var(--critical); }

body.page-family-audits-index /* ---- two-column stat cards ---- */
.twocol, body.page-family-audit-detail /* ---- two-column stat cards ---- */
.twocol{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 700px) { body.page-family-audits-index .twocol, body.page-family-audit-detail .twocol{ grid-template-columns: 1fr; } }
body.page-family-audits-index .twocol .card, body.page-family-audit-detail .twocol .card, body.page-family-audits-index .card, body.page-family-audit-detail .card{ border: 1px solid var(--line); background: var(--panel); padding: 18px 20px; }
body.page-family-audits-index .card h4, body.page-family-audit-detail .card h4{ margin: 0 0 8px; font-size: 14px; font-family: var(--font-display); font-weight: 700; color: var(--ink); }
body.page-family-audits-index .card .big, body.page-family-audit-detail .card .big{ font-family: var(--mono); font-size: 28.0px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ink); }
body.page-family-audits-index .card .cmp, body.page-family-audit-detail .card .cmp{ font-size: 14px; color: var(--ink-2); margin-top: 2px; }

body.page-family-audits-index /* ---- numbered priority list ---- */
ol.priority, body.page-family-audit-detail /* ---- numbered priority list ---- */
ol.priority{ padding-left: 0; list-style: none; counter-reset: pr; }
body.page-family-audits-index ol.priority li, body.page-family-audit-detail ol.priority li{ counter-increment: pr; display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
body.page-family-audits-index ol.priority li:last-child, body.page-family-audit-detail ol.priority li:last-child{ border-bottom: none; }
body.page-family-audits-index ol.priority li:before, body.page-family-audit-detail ol.priority li:before{ content: counter(pr); font-family: Georgia, "Iowan Old Style", serif; font-size: 20.0px; color: var(--accent); font-weight: 600; }
body.page-family-audits-index ol.priority h5, body.page-family-audit-detail ol.priority h5{ margin: 0 0 4px; font-size: 14.5px; font-weight: 700; color: var(--ink); }
body.page-family-audits-index ol.priority p, body.page-family-audit-detail ol.priority p{ margin: 0; font-size: 14px; color: var(--ink-2); }

body.page-family-audits-index /* ---- domain scoreboard (mini pass/fail bars per domain) ---- */
.scoreboard, body.page-family-audit-detail /* ---- domain scoreboard (mini pass/fail bars per domain) ---- */
.scoreboard{ display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; }
body.page-family-audits-index .score-card, body.page-family-audit-detail .score-card{ background: var(--panel); border: 1px solid var(--line); padding: 14px 16px; }
body.page-family-audits-index .score-card .name, body.page-family-audit-detail .score-card .name{ font-size: 14px; font-weight: 700; margin-bottom: 8px; color: var(--ink); }
body.page-family-audits-index .score-card .bar, body.page-family-audit-detail .score-card .bar{ display: flex; height: 6px; overflow: hidden; background: var(--line); margin-bottom: 8px; }
body.page-family-audits-index .score-card .bar i.p, body.page-family-audit-detail .score-card .bar i.p{ background: var(--good); }
body.page-family-audits-index .score-card .bar i.f, body.page-family-audit-detail .score-card .bar i.f{ background: var(--critical); }
body.page-family-audits-index .score-card .bar i.n, body.page-family-audit-detail .score-card .bar i.n{ background: var(--neutral); opacity: 0.5; }
body.page-family-audits-index .score-card .tally, body.page-family-audit-detail .score-card .tally{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); display: flex; gap: 8px; }
body.page-family-audits-index .score-card .tally .p, body.page-family-audit-detail .score-card .tally .p{ color: var(--good); }
body.page-family-audits-index .score-card .tally .f, body.page-family-audit-detail .score-card .tally .f{ color: var(--critical); font-weight: 700; }

body.page-family-audits-index /* ---- domain overview grid (data-quality report) ---- */
.domain-grid, body.page-family-audit-detail /* ---- domain overview grid (data-quality report) ---- */
.domain-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); overflow: hidden; }
body.page-family-audits-index .domain-card, body.page-family-audit-detail .domain-card{ background: var(--panel); padding: 18px 20px; }
body.page-family-audits-index .domain-card .dname, body.page-family-audit-detail .domain-card .dname{ font-weight: 650; font-size: 14.5px; letter-spacing: -0.01em; color: var(--ink); }
body.page-family-audits-index .domain-card .dcounts, body.page-family-audit-detail .domain-card .dcounts{ display: flex; gap: 12px; margin-top: 12px; font-family: var(--mono); font-size: 14px; }
body.page-family-audits-index .domain-card .dcounts span, body.page-family-audit-detail .domain-card .dcounts span{ display: flex; align-items: center; gap: 5px; }
body.page-family-audits-index .dot, body.page-family-audit-detail .dot{ width: 7px; height: 7px; flex-shrink: 0; display: inline-block; }
body.page-family-audits-index .dot.good, body.page-family-audit-detail .dot.good{ background: var(--good); }
body.page-family-audits-index .dot.bad, body.page-family-audit-detail .dot.bad{ background: var(--critical); }
body.page-family-audits-index .dot.na, body.page-family-audit-detail .dot.na{ background: var(--ink-3); }
body.page-family-audits-index .dstatus, body.page-family-audit-detail .dstatus{ display: inline-block; margin-top: 13px; font-family: var(--mono); font-size: 14px; letter-spacing: 0.05em; text-transform: uppercase; padding: 4px 9px; }
body.page-family-audits-index .dstatus.clean, body.page-family-audit-detail .dstatus.clean{ background: var(--good-bg); color: var(--good); }
body.page-family-audits-index .dstatus.issues, body.page-family-audit-detail .dstatus.issues{ background: var(--critical-bg); color: var(--critical); }
body.page-family-audits-index .dstatus.pending, body.page-family-audit-detail .dstatus.pending{ background: var(--panel-2); color: var(--ink-3); border: 1px solid var(--line); }
@media (max-width: 1024px) { body.page-family-audits-index .domain-grid, body.page-family-audit-detail .domain-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { body.page-family-audits-index .domain-grid, body.page-family-audit-detail .domain-grid{ grid-template-columns: 1fr; } }

body.page-family-audits-index /* ---- schema-explorer style full log (tree + table) ---- */
.log-wrap, body.page-family-audit-detail /* ---- schema-explorer style full log (tree + table) ---- */
.log-wrap{ display: grid; grid-template-columns: 260px 1fr; gap: 0; border: 1px solid var(--line); overflow: hidden; }
body.page-family-audits-index .log-tree, body.page-family-audit-detail .log-tree{ background: var(--panel-2); border-right: 1px solid var(--line); padding: 8px 0; max-height: 560px; overflow-y: auto; }
body.page-family-audits-index .log-domain-btn, body.page-family-audit-detail .log-domain-btn{ display: flex; justify-content: space-between; align-items: center; width: 100%; text-align: left; background: none; border: none; color: var(--ink-2); font-family: var(--mono); font-size: 14px; padding: 10px 18px; cursor: pointer; gap: 10px; }
body.page-family-audits-index .log-domain-btn:hover, body.page-family-audit-detail .log-domain-btn:hover{ color: var(--ink); background: var(--panel); }
body.page-family-audits-index .log-domain-btn.active, body.page-family-audit-detail .log-domain-btn.active{ color: var(--accent); background: var(--panel); font-weight: 700; }
body.page-family-audits-index .log-domain-btn .badge, body.page-family-audit-detail .log-domain-btn .badge{ font-size: 14px; padding: 2px 7px; }
body.page-family-audits-index .log-domain-btn .badge.clean, body.page-family-audit-detail .log-domain-btn .badge.clean{ background: var(--good-bg); color: var(--good); }
body.page-family-audits-index .log-domain-btn .badge.issues, body.page-family-audit-detail .log-domain-btn .badge.issues{ background: var(--critical-bg); color: var(--critical); }
body.page-family-audits-index .log-domain-btn .badge.pending, body.page-family-audit-detail .log-domain-btn .badge.pending{ background: var(--line); color: var(--ink-3); }
body.page-family-audits-index .log-detail, body.page-family-audit-detail .log-detail{ padding: 4px 0; max-height: 560px; overflow-y: auto; }
body.page-family-audits-index .log-table, body.page-family-audit-detail .log-table{ width: 100%; border-collapse: collapse; font-size: 14px; }
body.page-family-audits-index .log-table th, body.page-family-audit-detail .log-table th{ position: sticky; top: 0; text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); padding: 10px 16px; border-bottom: 1px solid var(--line); background: var(--panel); }
body.page-family-audits-index .log-table td, body.page-family-audit-detail .log-table td{ padding: 9px 16px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 14px; color: var(--ink-2); vertical-align: top; }
body.page-family-audits-index .log-table td.code, body.page-family-audit-detail .log-table td.code{ color: var(--ink); white-space: nowrap; }
body.page-family-audits-index .log-table td.status, body.page-family-audit-detail .log-table td.status{ white-space: nowrap; }
body.page-family-audits-index .st-pill, body.page-family-audit-detail .st-pill{ display: inline-block; padding: 2px 8px; font-size: 14px; font-weight: 700; }
body.page-family-audits-index .st-pill.st-pass, body.page-family-audit-detail .st-pill.st-pass{ background: var(--good-bg); color: var(--good); }
body.page-family-audits-index .st-pill.st-fail, body.page-family-audit-detail .st-pill.st-fail{ background: var(--critical-bg); color: var(--critical); }
body.page-family-audits-index .st-pill.st-na, body.page-family-audit-detail .st-pill.st-na{ background: var(--line); color: var(--ink-3); }
@media (max-width: 760px) { body.page-family-audits-index .log-wrap, body.page-family-audit-detail .log-wrap{ grid-template-columns: 1fr; } body.page-family-audits-index .log-tree, body.page-family-audit-detail .log-tree{ max-height: 260px; } }

body.page-family-audits-index /* ---- citizen journey timeline (birth-to-death case study) ---- */
.journey-card, body.page-family-audit-detail /* ---- citizen journey timeline (birth-to-death case study) ---- */
.journey-card{ background: var(--panel); border: 1px solid var(--line); padding: 26px 28px; }
body.page-family-audits-index .journey-head, body.page-family-audit-detail .journey-head{ display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-bottom: 6px; }
body.page-family-audits-index .journey-name, body.page-family-audit-detail .journey-name{ font-size: 22.0px; font-weight: 650; letter-spacing: -0.01em; color: var(--ink); }
body.page-family-audits-index .journey-tag, body.page-family-audit-detail .journey-tag{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
body.page-family-audits-index .journey-sub, body.page-family-audit-detail .journey-sub{ color: var(--ink-2); font-size: 14px; margin-bottom: 22px; }
body.page-family-audits-index .timeline, body.page-family-audit-detail .timeline{ position: relative; padding-left: 26px; }
body.page-family-audits-index .timeline::before, body.page-family-audit-detail .timeline::before{ content: ''; position: absolute; left: 6px; top: 4px; bottom: 4px; width: 2px; background: var(--line); }
body.page-family-audits-index .tl-item, body.page-family-audit-detail .tl-item{ position: relative; padding-bottom: 18px; }
body.page-family-audits-index .tl-item:last-child, body.page-family-audit-detail .tl-item:last-child{ padding-bottom: 0; }
body.page-family-audits-index .tl-dot, body.page-family-audit-detail .tl-dot{ position: absolute; left: -26px; top: 3px; width: 12px; height: 12px; background: var(--accent); border: 2px solid var(--panel); }
body.page-family-audits-index .tl-item.death .tl-dot, body.page-family-audit-detail .tl-item.death .tl-dot{ background: var(--ink-3); }
body.page-family-audits-index .tl-item.anomaly .tl-dot, body.page-family-audit-detail .tl-item.anomaly .tl-dot{ background: var(--critical); box-shadow: 0 0 0 3px var(--critical-bg); }
body.page-family-audits-index .tl-year, body.page-family-audit-detail .tl-year{ font-family: var(--mono); font-size: 14px; color: var(--accent); font-weight: 700; letter-spacing: 0.02em; }
body.page-family-audits-index .tl-item.anomaly .tl-year, body.page-family-audit-detail .tl-item.anomaly .tl-year{ color: var(--critical); }
body.page-family-audits-index .tl-item.death .tl-year, body.page-family-audit-detail .tl-item.death .tl-year{ color: var(--ink-3); }
body.page-family-audits-index .tl-title, body.page-family-audit-detail .tl-title{ font-size: 14.5px; font-weight: 600; margin-top: 2px; color: var(--ink); }
body.page-family-audits-index .tl-note, body.page-family-audit-detail .tl-note{ font-size: 14px; color: var(--ink-3); margin-top: 2px; }
body.page-family-audits-index .tl-item.anomaly .tl-note, body.page-family-audit-detail .tl-item.anomaly .tl-note{ color: var(--critical); }
body.page-family-audits-index .anomaly-block, body.page-family-audit-detail .anomaly-block{ margin-top: 4px; padding: 14px 16px; background: var(--critical-bg); border: 1px solid var(--critical-line); }
body.page-family-audits-index .anomaly-block .tl-year, body.page-family-audit-detail .anomaly-block .tl-year{ display: none; }
body.page-family-audits-index .anomaly-head, body.page-family-audit-detail .anomaly-head{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase; color: var(--critical); margin-bottom: 8px; }
body.page-family-audits-index .anomaly-row, body.page-family-audit-detail .anomaly-row{ display: flex; justify-content: space-between; gap: 12px; font-size: 14px; padding: 5px 0; border-top: 1px solid var(--critical-line); }
body.page-family-audits-index .anomaly-row:first-of-type, body.page-family-audit-detail .anomaly-row:first-of-type{ border-top: none; }
body.page-family-audits-index .anomaly-row .yr, body.page-family-audit-detail .anomaly-row .yr{ font-family: var(--mono); color: var(--critical); font-weight: 700; min-width: 46px; }
body.page-family-audits-index .anomaly-row .cond, body.page-family-audit-detail .anomaly-row .cond{ color: var(--ink); }
body.page-family-audits-index .anomaly-row .gap, body.page-family-audit-detail .anomaly-row .gap{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }

body.page-family-audits-index /* ---- methodology footnote ---- */
.methodology-note, body.page-family-audit-detail /* ---- methodology footnote ---- */
.methodology-note{ padding: 24px 0 44px; color: var(--ink-3); font-size: 14px; max-width: 74ch; line-height: 1.7; }
body.page-family-audits-index .methodology-note code, body.page-family-audit-detail .methodology-note code{ font-family: var(--mono); background: var(--panel-2); padding: 1px 5px; font-size: 14px; border-radius: 4px; }
body.page-family-audits-index section a, body.page-family-audit-detail section a, body.page-family-audits-index .detail-body a, body.page-family-audit-detail .detail-body a, body.page-family-audits-index .callout a, body.page-family-audit-detail .callout a{ color: var(--accent); }


/* ===== COMPONENT: audit-detail.css ===== */
/* V5 namespaced legacy component details for audit-detail. Global design grammar lives in fidelra.css. */

/* shared V5 component: view-audit-land-finance-fleet-employment-fix-audit (6 pages) */

  body.view-audit-land-finance-fleet-employment-fix-audit .wrap{ padding-bottom: 96px; }

body.view-audit-land-finance-fleet-employment-fix-audit .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-audit-lagos-city-twin-audit (2 pages) */
body.view-audit-lagos-city-twin-audit .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-audit-population-pulse (2 pages) */

  /* Always the site's light theme (this page previously flipped to a dark palette by default
     via prefers-color-scheme — now aliased onto the canonical light tokens so it matches
     every other audit page regardless of OS theme). */
  body.view-audit-population-pulse{
    --panel-raised: var(--panel);
    --line-strong: var(--line);
    --text: var(--ink);
    --text-dim: var(--ink-2);
    --text-faint: var(--ink-3);
    --nairobi: #b3701e;
    --nairobi-dim: #e9d3ae;
    --lagos: var(--accent);
    --lagos-dim: var(--teal-tint);
    --up: var(--good);
    --down: var(--critical);
    --up-bg: var(--good-bg);
    --down-bg: var(--critical-bg);
    --actual-dot: var(--ink);
    --focus: var(--amber);
    --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
    --sans: var(--font-display);
  }

  body.view-audit-population-pulse *{ box-sizing: border-box; }
  html body.view-audit-population-pulse, body.view-audit-population-pulse{
    background: var(--bg);
    color: var(--text);
    font-family: var(--sans);
    margin: 0;
    padding: 0;
  }
  body.view-audit-population-pulse{
    display: flex;
    flex-direction: column;
  }
  body.view-audit-population-pulse main{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 2rem 5rem;
  }
  body.view-audit-population-pulse :root.is-embedded main{
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  body.view-audit-population-pulse .masthead p{
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-dim);
    max-width: 62ch;
    margin: 0;
  }
  body.view-audit-population-pulse .masthead p + p{ margin-top: 0.6rem; }

  body.view-audit-population-pulse .legend{
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: 1.3rem;
    font-family: var(--mono);
    font-size: 0.74rem;
    color: var(--text-dim);
  }
  body.view-audit-population-pulse .legend-item{ display: flex; align-items: center; gap: 0.5rem; }
  body.view-audit-population-pulse .swatch{ width: 18px; height: 3px; flex-shrink: 0; }
  body.view-audit-population-pulse .swatch.dashed{
    height: 0; border-top: 2px dashed var(--text-faint);
  }
  body.view-audit-population-pulse .swatch.dotted-dot{
    width: 6px; height: 6px; background: var(--actual-dot);
  }
  body.view-audit-population-pulse .swatch.up{ background: var(--up); }
  body.view-audit-population-pulse .swatch.down{ background: var(--down); }

  body.view-audit-population-pulse section.city{
    margin-bottom: 3.2rem;
    background: var(--panel);
    border: 1px solid var(--line);
  }
  body.view-audit-population-pulse .city-head{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    padding: 1.3rem 1.5rem 1rem;
    border-bottom: 1px solid var(--line);
  }
  body.view-audit-population-pulse .city-name{
    font-family: var(--serif);
    font-size: 1.5rem;
    margin: 0;
  }
  body.view-audit-population-pulse .city-name .code{
    font-family: var(--mono);
    font-size: 0.85rem;
    color: var(--text-faint);
    margin-left: 0.5rem;
    letter-spacing: 0.04em;
  }
  body.view-audit-population-pulse .city-stat{
    font-family: var(--mono);
    font-size: 0.8rem;
    color: var(--text-dim);
    font-variant-numeric: tabular-nums;
  }
  body.view-audit-population-pulse .city-stat b{ color: var(--text); font-weight: 600; }

  body.view-audit-population-pulse .chart-wrap{ padding: 1.2rem 1.5rem 0.4rem; }
  body.view-audit-population-pulse canvas{ display: block; width: 100%; }
  body.view-audit-population-pulse #tooltip{
    position: fixed;
    pointer-events: none;
    background: var(--panel-raised);
    border: 1px solid var(--line-strong);
    padding: 0.6rem 0.8rem;
    font-family: var(--mono);
    font-size: 0.76rem;
    line-height: 1.55;
    color: var(--text);
    box-shadow: 0 6px 20px rgba(0,0,0,0.28);
    opacity: 0;
    transition: opacity 0.08s ease;
    z-index: 50;
    white-space: nowrap;
  }
  body.view-audit-population-pulse #tooltip .tt-year{ font-family: var(--serif); font-size: 0.95rem; margin-bottom: 0.25rem; display: block; }
  body.view-audit-population-pulse #tooltip .tt-row{ display: flex; justify-content: space-between; gap: 1.2rem; }
  body.view-audit-population-pulse #tooltip .tt-label{ color: var(--text-faint); }
  body.view-audit-population-pulse #tooltip .tt-evt{ margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid var(--line); color: var(--text-dim); max-width: 32ch; white-space: normal; }

  body.view-audit-population-pulse .registry{
    padding: 1rem 1.5rem 1.5rem;
  }
  body.view-audit-population-pulse .registry-label{
    font-family: var(--mono);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-faint);
    margin: 0 0 0.7rem;
  }
  body.view-audit-population-pulse .evt-row{
    display: grid;
    grid-template-columns: 15ch 1fr auto;
    align-items: center;
    gap: 0.9rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--line);
    font-size: 0.85rem;
  }
  body.view-audit-population-pulse .evt-row:last-child{ border-bottom: none; }
  body.view-audit-population-pulse .evt-years{
    font-family: var(--mono);
    font-size: 0.74rem;
    color: var(--text-faint);
    font-variant-numeric: tabular-nums;
  }
  body.view-audit-population-pulse .evt-name{ color: var(--text); }
  body.view-audit-population-pulse .evt-cat{
    font-family: var(--mono);
    font-size: 0.66rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.18rem 0.5rem;
    white-space: nowrap;
  }
  body.view-audit-population-pulse .evt-cat.up{ background: var(--up-bg); color: var(--up); }
  body.view-audit-population-pulse .evt-cat.down{ background: var(--down-bg); color: var(--down); }
  body.view-audit-population-pulse .evt-cat.neutral{ background: transparent; color: var(--text-faint); border: 1px solid var(--line-strong); }

  body.view-audit-population-pulse a{ color: inherit; }
  body.view-audit-population-pulse ::selection{ background: var(--nairobi-dim); }

  @media (prefers-reduced-motion: reduce) {
    body.view-audit-population-pulse *{ transition: none; }
  }

body.view-audit-population-pulse .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/audits/event-ablation-dashboard.html */

  /* Always the site's light theme (this page previously flipped to a dark palette by default
     via prefers-color-scheme — now aliased onto the canonical light tokens so it matches
     every other audit page regardless of OS theme). */
  body.page-lagos-audit-event-ablation-dashboard{
    --panel-raised: var(--panel);
    --line-strong: var(--line);
    --text: var(--ink);
    --text-dim: var(--ink-2);
    --text-faint: var(--ink-3);
    --nairobi: #b3701e;
    --lagos: var(--accent);
    --confirmed: var(--good);
    --confirmed-bg: var(--good-bg);
    --candidate: var(--critical);
    --candidate-bg: var(--critical-bg);
    --untestable: var(--ink-3);
    --untestable-bg: var(--panel-2);
    --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
    --sans: var(--font-display);
  }

  body.page-lagos-audit-event-ablation-dashboard *{ box-sizing: border-box; }
  html body.page-lagos-audit-event-ablation-dashboard, body.page-lagos-audit-event-ablation-dashboard{ background: var(--bg); color: var(--text); font-family: var(--sans); margin: 0; padding: 0; }
  body.page-lagos-audit-event-ablation-dashboard{ display: flex; flex-direction: column; }
  body.page-lagos-audit-event-ablation-dashboard main{ width: 100%; max-width: 1000px; margin: 0 auto; padding: 0 2rem 5rem; }

  body.page-lagos-audit-event-ablation-dashboard .masthead p{ font-size: 1.05rem; line-height: 1.6; color: var(--text-dim); max-width: 68ch; margin: 0; }

  body.page-lagos-audit-event-ablation-dashboard .callout{
    background: var(--panel); border: 1px solid var(--line-strong); border-left: 3px solid var(--nairobi);
    padding: 1.3rem 1.5rem; margin-bottom: 2rem;
  }
  body.page-lagos-audit-event-ablation-dashboard .callout-label{
    font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--nairobi); margin: 0 0 0.5rem;
  }
  body.page-lagos-audit-event-ablation-dashboard .callout h2{ font-family: var(--serif); font-size: 1.15rem; font-weight: 400; margin: 0 0 0.6rem; color: var(--text); }
  body.page-lagos-audit-event-ablation-dashboard .callout p{ font-size: 0.92rem; line-height: 1.6; color: var(--text-dim); margin: 0 0 1rem; max-width: 70ch; }
  body.page-lagos-audit-event-ablation-dashboard .callout-trail{
    display: flex; align-items: center; gap: 0.9rem; font-family: var(--mono);
    font-variant-numeric: tabular-nums; flex-wrap: wrap;
  }
  body.page-lagos-audit-event-ablation-dashboard .trail-step{ display: flex; flex-direction: column; align-items: center; gap: 0.2rem; }
  body.page-lagos-audit-event-ablation-dashboard .trail-value{ font-size: 1.3rem; font-weight: 600; }
  body.page-lagos-audit-event-ablation-dashboard .trail-value.bad{ color: var(--candidate); }
  body.page-lagos-audit-event-ablation-dashboard .trail-value.ok{ color: var(--text-dim); }
  body.page-lagos-audit-event-ablation-dashboard .trail-caption{ font-size: 0.66rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.04em; text-align: center; max-width: 12ch; }
  body.page-lagos-audit-event-ablation-dashboard .trail-arrow{ color: var(--text-faint); font-size: 1.1rem; }

  body.page-lagos-audit-event-ablation-dashboard section.city{ margin-bottom: 2.4rem; background: var(--panel); border: 1px solid var(--line); }
  body.page-lagos-audit-event-ablation-dashboard .city-head{
    display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem 1.5rem;
    padding: 1.2rem 1.5rem 0.9rem; border-bottom: 1px solid var(--line);
  }
  body.page-lagos-audit-event-ablation-dashboard .city-name{ font-family: var(--serif); font-size: 1.35rem; margin: 0; }
  body.page-lagos-audit-event-ablation-dashboard .city-name .code{ font-family: var(--mono); font-size: 0.8rem; color: var(--text-faint); margin-left: 0.5rem; letter-spacing: 0.04em; }
  body.page-lagos-audit-event-ablation-dashboard .city-stat{ font-family: var(--mono); font-size: 0.76rem; color: var(--text-dim); }

  body.page-lagos-audit-event-ablation-dashboard .bars{ padding: 1rem 1.5rem 1.4rem; }
  body.page-lagos-audit-event-ablation-dashboard .bar-row{
    display: grid; grid-template-columns: 20ch 1fr 7ch; align-items: center; gap: 0.8rem;
    padding: 0.55rem 0; border-bottom: 1px solid var(--line); font-size: 0.85rem;
  }
  body.page-lagos-audit-event-ablation-dashboard .bar-row:last-child{ border-bottom: none; }
  body.page-lagos-audit-event-ablation-dashboard .bar-name{ color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.page-lagos-audit-event-ablation-dashboard .bar-track{ position: relative; height: 22px; background: var(--line); overflow: hidden; }
  body.page-lagos-audit-event-ablation-dashboard .bar-fill{ position: absolute; top: 0; bottom: 0; }
  body.page-lagos-audit-event-ablation-dashboard .bar-fill.confirmed{ background: var(--confirmed); }
  body.page-lagos-audit-event-ablation-dashboard .bar-fill.candidate{ background: var(--candidate); }
  body.page-lagos-audit-event-ablation-dashboard .bar-zero-line{ position: absolute; top: 0; bottom: 0; width: 1px; background: var(--line-strong); }
  body.page-lagos-audit-event-ablation-dashboard .bar-value{ font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; color: var(--text-dim); }
  body.page-lagos-audit-event-ablation-dashboard .bar-value.confirmed{ color: var(--confirmed); }
  body.page-lagos-audit-event-ablation-dashboard .bar-value.candidate{ color: var(--candidate); }
  body.page-lagos-audit-event-ablation-dashboard .bar-untestable-note{ font-family: var(--mono); font-size: 0.68rem; color: var(--untestable); padding-left: 0.2rem; }

  body.page-lagos-audit-event-ablation-dashboard .legend{
    display: flex; flex-wrap: wrap; gap: 1.3rem; margin: 1.4rem 0 2rem;
    font-family: var(--mono); font-size: 0.73rem; color: var(--text-dim);
  }
  body.page-lagos-audit-event-ablation-dashboard .legend-item{ display: flex; align-items: center; gap: 0.5rem; }
  body.page-lagos-audit-event-ablation-dashboard .legend-swatch{ width: 14px; height: 14px; flex-shrink: 0; }
  body.page-lagos-audit-event-ablation-dashboard .legend-swatch.confirmed{ background: var(--confirmed); }
  body.page-lagos-audit-event-ablation-dashboard .legend-swatch.candidate{ background: var(--candidate); }
  body.page-lagos-audit-event-ablation-dashboard .legend-swatch.untestable{ background: var(--untestable-bg); border: 1px solid var(--untestable); }

  body.page-lagos-audit-event-ablation-dashboard .casestudy{ background: var(--panel); border: 1px solid var(--line); padding: 1.3rem 1.5rem 1rem; margin-bottom: 2rem; }
  body.page-lagos-audit-event-ablation-dashboard .casestudy-label{ font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); margin: 0 0 0.4rem; }
  body.page-lagos-audit-event-ablation-dashboard .casestudy h2{ font-family: var(--serif); font-size: 1.1rem; font-weight: 400; margin: 0 0 0.5rem; color: var(--text); }
  body.page-lagos-audit-event-ablation-dashboard .casestudy p{ font-size: 0.9rem; line-height: 1.6; color: var(--text-dim); max-width: 70ch; margin: 0 0 1rem; }
  body.page-lagos-audit-event-ablation-dashboard canvas{ display: block; width: 100%; }
  body.page-lagos-audit-event-ablation-dashboard #tooltip{
    position: fixed; pointer-events: none; background: var(--panel-raised); border: 1px solid var(--line-strong);
    padding: 0.55rem 0.75rem; font-family: var(--mono); font-size: 0.74rem; line-height: 1.5;
    color: var(--text); box-shadow: 0 6px 20px rgba(0,0,0,0.28); opacity: 0; transition: opacity 0.08s ease; z-index: 50; white-space: nowrap;
  }
  body.page-lagos-audit-event-ablation-dashboard #tooltip .tt-year{ font-family: var(--serif); font-size: 0.9rem; margin-bottom: 0.2rem; display: block; }
  body.page-lagos-audit-event-ablation-dashboard #tooltip .tt-row{ display: flex; justify-content: space-between; gap: 1rem; }
  body.page-lagos-audit-event-ablation-dashboard #tooltip .tt-label{ color: var(--text-faint); }

  body.page-lagos-audit-event-ablation-dashboard a{ color: inherit; }
  @media (prefers-reduced-motion: reduce) { body.page-lagos-audit-event-ablation-dashboard *{ transition: none; } }

body.page-lagos-audit-event-ablation-dashboard .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/nairobi/audits/nairobi-data-quality-audit.html */

  html body.page-nairobi-audit-nairobi-data-quality-audit{ scroll-behavior: smooth; }
  body.page-nairobi-audit-nairobi-data-quality-audit ::selection{ background: var(--accent); color: #fff; }
  body.page-nairobi-audit-nairobi-data-quality-audit .tabular{ font-variant-numeric: tabular-nums; font-family: var(--mono); }

  /* ===== HEADER (page-specific two-column layout) ===== */
  body.page-nairobi-audit-nairobi-data-quality-audit .top-row{ display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
  body.page-nairobi-audit-nairobi-data-quality-audit .subtitle{ font-size: 17.5px; color: var(--ink-2); max-width: 62ch; margin-top: 12px; line-height: 1.7; }
  body.page-nairobi-audit-nairobi-data-quality-audit .run-meta{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); text-align: right; line-height: 1.9; white-space: nowrap; }
  body.page-nairobi-audit-nairobi-data-quality-audit .run-meta b{ color: var(--ink-2); font-weight: 600; }
  body.page-nairobi-audit-nairobi-data-quality-audit .section-head .eyebrow{ display: block; margin-bottom: 10px; }

  /* ===== FINDINGS (page-specific card layout, distinct from the sev-pill finding pattern) ===== */
  body.page-nairobi-audit-nairobi-data-quality-audit .finding{ border: 1px solid var(--line); background: var(--panel-2); padding: 20px 22px; margin-bottom: 12px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-top{ display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-title{ font-size: 15.0px; font-weight: 700; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-meta{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 4px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-count{ font-family: var(--mono); font-weight: 650; font-size: 22.0px; color: var(--critical); white-space: nowrap; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-count .of{ font-size: 14px; font-weight: 400; color: var(--ink-3); display: block; text-transform: uppercase; letter-spacing: 0.04em; margin-top: 2px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-detail{ font-size: 14px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-tag{ display: inline-block; font-family: var(--mono); font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 9px; background: var(--panel); color: var(--accent); border: 1px solid var(--line); margin-top: 12px; margin-right: 6px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-fix{ font-size: 14px; color: var(--good); margin-top: 10px; font-family: var(--mono); }
  body.page-nairobi-audit-nairobi-data-quality-audit .sev-major{ border-left: 3px solid var(--good); }
  body.page-nairobi-audit-nairobi-data-quality-audit .sev-open{ border-left: 3px solid var(--warning); }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-count.was{ color: var(--ink-3); text-decoration: line-through; text-decoration-thickness: 1.5px; font-size: 16.0px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-count .arrow{ color: var(--ink-3); font-weight: 400; margin: 0 6px; }
  body.page-nairobi-audit-nairobi-data-quality-audit .finding-count .now{ color: var(--good); }
  body.page-nairobi-audit-nairobi-data-quality-audit .resolved-badge{ display: inline-block; font-family: var(--mono); font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 9px; background: var(--good-bg); color: var(--good); border: 1px solid var(--good-bg); margin-top: 12px; margin-right: 6px; font-weight: 700; }

  body.page-nairobi-audit-nairobi-data-quality-audit .reveal{ opacity: 0; transform: translateY(14px); transition: opacity 0.5s ease, transform 0.5s ease; }
  body.page-nairobi-audit-nairobi-data-quality-audit .reveal.in{ opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) { body.page-nairobi-audit-nairobi-data-quality-audit .reveal{ opacity: 1; transform: none; transition: none; } }

body.page-nairobi-audit-nairobi-data-quality-audit .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/nairobi/audits/event-ablation-dashboard.html */

  /* Always the site's light theme (this page previously flipped to a dark palette by default
     via prefers-color-scheme — now aliased onto the canonical light tokens so it matches
     every other audit page regardless of OS theme). */
  body.page-nairobi-audit-event-ablation-dashboard{
    --panel-raised: var(--panel);
    --line-strong: var(--line);
    --text: var(--ink);
    --text-dim: var(--ink-2);
    --text-faint: var(--ink-3);
    --nairobi: #b3701e;
    --lagos: var(--accent);
    --confirmed: var(--good);
    --confirmed-bg: var(--good-bg);
    --candidate: var(--critical);
    --candidate-bg: var(--critical-bg);
    --untestable: var(--ink-3);
    --untestable-bg: var(--panel-2);
    --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
    --sans: var(--font-display);
  }

  body.page-nairobi-audit-event-ablation-dashboard *{ box-sizing: border-box; }
  html body.page-nairobi-audit-event-ablation-dashboard, body.page-nairobi-audit-event-ablation-dashboard{ background: var(--bg); color: var(--text); font-family: var(--sans); margin: 0; padding: 0; }
  body.page-nairobi-audit-event-ablation-dashboard{ display: flex; flex-direction: column; }
  body.page-nairobi-audit-event-ablation-dashboard main{ width: 100%; max-width: 1000px; margin: 0 auto; padding: 0 2rem 5rem; }

  body.page-nairobi-audit-event-ablation-dashboard .masthead p{ font-size: 1.05rem; line-height: 1.6; color: var(--text-dim); max-width: 68ch; margin: 0; }

  body.page-nairobi-audit-event-ablation-dashboard .callout{
    background: var(--panel); border: 1px solid var(--line-strong); border-left: 3px solid var(--nairobi);
    padding: 1.3rem 1.5rem; margin-bottom: 2rem;
  }
  body.page-nairobi-audit-event-ablation-dashboard .callout-label{
    font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--nairobi); margin: 0 0 0.5rem;
  }
  body.page-nairobi-audit-event-ablation-dashboard .callout h2{ font-family: var(--serif); font-size: 1.15rem; font-weight: 400; margin: 0 0 0.6rem; color: var(--text); }
  body.page-nairobi-audit-event-ablation-dashboard .callout p{ font-size: 0.92rem; line-height: 1.6; color: var(--text-dim); margin: 0 0 1rem; max-width: 70ch; }
  body.page-nairobi-audit-event-ablation-dashboard .callout-trail{
    display: flex; align-items: center; gap: 0.9rem; font-family: var(--mono);
    font-variant-numeric: tabular-nums; flex-wrap: wrap;
  }
  body.page-nairobi-audit-event-ablation-dashboard .trail-step{ display: flex; flex-direction: column; align-items: center; gap: 0.2rem; }
  body.page-nairobi-audit-event-ablation-dashboard .trail-value{ font-size: 1.3rem; font-weight: 600; }
  body.page-nairobi-audit-event-ablation-dashboard .trail-value.bad{ color: var(--candidate); }
  body.page-nairobi-audit-event-ablation-dashboard .trail-value.ok{ color: var(--text-dim); }
  body.page-nairobi-audit-event-ablation-dashboard .trail-caption{ font-size: 0.66rem; color: var(--text-faint); text-transform: uppercase; letter-spacing: 0.04em; text-align: center; max-width: 12ch; }
  body.page-nairobi-audit-event-ablation-dashboard .trail-arrow{ color: var(--text-faint); font-size: 1.1rem; }

  body.page-nairobi-audit-event-ablation-dashboard section.city{ margin-bottom: 2.4rem; background: var(--panel); border: 1px solid var(--line); }
  body.page-nairobi-audit-event-ablation-dashboard .city-head{
    display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem 1.5rem;
    padding: 1.2rem 1.5rem 0.9rem; border-bottom: 1px solid var(--line);
  }
  body.page-nairobi-audit-event-ablation-dashboard .city-name{ font-family: var(--serif); font-size: 1.35rem; margin: 0; }
  body.page-nairobi-audit-event-ablation-dashboard .city-name .code{ font-family: var(--mono); font-size: 0.8rem; color: var(--text-faint); margin-left: 0.5rem; letter-spacing: 0.04em; }
  body.page-nairobi-audit-event-ablation-dashboard .city-stat{ font-family: var(--mono); font-size: 0.76rem; color: var(--text-dim); }

  body.page-nairobi-audit-event-ablation-dashboard .bars{ padding: 1rem 1.5rem 1.4rem; }
  body.page-nairobi-audit-event-ablation-dashboard .bar-row{
    display: grid; grid-template-columns: 20ch 1fr 7ch; align-items: center; gap: 0.8rem;
    padding: 0.55rem 0; border-bottom: 1px solid var(--line); font-size: 0.85rem;
  }
  body.page-nairobi-audit-event-ablation-dashboard .bar-row:last-child{ border-bottom: none; }
  body.page-nairobi-audit-event-ablation-dashboard .bar-name{ color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body.page-nairobi-audit-event-ablation-dashboard .bar-track{ position: relative; height: 22px; background: var(--line); overflow: hidden; }
  body.page-nairobi-audit-event-ablation-dashboard .bar-fill{ position: absolute; top: 0; bottom: 0; }
  body.page-nairobi-audit-event-ablation-dashboard .bar-fill.confirmed{ background: var(--confirmed); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-fill.candidate{ background: var(--candidate); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-zero-line{ position: absolute; top: 0; bottom: 0; width: 1px; background: var(--line-strong); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-value{ font-family: var(--mono); font-variant-numeric: tabular-nums; text-align: right; color: var(--text-dim); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-value.confirmed{ color: var(--confirmed); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-value.candidate{ color: var(--candidate); }
  body.page-nairobi-audit-event-ablation-dashboard .bar-untestable-note{ font-family: var(--mono); font-size: 0.68rem; color: var(--untestable); padding-left: 0.2rem; }

  body.page-nairobi-audit-event-ablation-dashboard .legend{
    display: flex; flex-wrap: wrap; gap: 1.3rem; margin: 1.4rem 0 2rem;
    font-family: var(--mono); font-size: 0.73rem; color: var(--text-dim);
  }
  body.page-nairobi-audit-event-ablation-dashboard .legend-item{ display: flex; align-items: center; gap: 0.5rem; }
  body.page-nairobi-audit-event-ablation-dashboard .legend-swatch{ width: 14px; height: 14px; flex-shrink: 0; }
  body.page-nairobi-audit-event-ablation-dashboard .legend-swatch.confirmed{ background: var(--confirmed); }
  body.page-nairobi-audit-event-ablation-dashboard .legend-swatch.candidate{ background: var(--candidate); }
  body.page-nairobi-audit-event-ablation-dashboard .legend-swatch.untestable{ background: var(--untestable-bg); border: 1px solid var(--untestable); }

  body.page-nairobi-audit-event-ablation-dashboard .casestudy{ background: var(--panel); border: 1px solid var(--line); padding: 1.3rem 1.5rem 1rem; margin-bottom: 2rem; }
  body.page-nairobi-audit-event-ablation-dashboard .casestudy-label{ font-family: var(--mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); margin: 0 0 0.4rem; }
  body.page-nairobi-audit-event-ablation-dashboard .casestudy h2{ font-family: var(--serif); font-size: 1.1rem; font-weight: 400; margin: 0 0 0.5rem; color: var(--text); }
  body.page-nairobi-audit-event-ablation-dashboard .casestudy p{ font-size: 0.9rem; line-height: 1.6; color: var(--text-dim); max-width: 70ch; margin: 0 0 1rem; }
  body.page-nairobi-audit-event-ablation-dashboard canvas{ display: block; width: 100%; }
  body.page-nairobi-audit-event-ablation-dashboard #tooltip{
    position: fixed; pointer-events: none; background: var(--panel-raised); border: 1px solid var(--line-strong);
    padding: 0.55rem 0.75rem; font-family: var(--mono); font-size: 0.74rem; line-height: 1.5;
    color: var(--text); box-shadow: 0 6px 20px rgba(0,0,0,0.28); opacity: 0; transition: opacity 0.08s ease; z-index: 50; white-space: nowrap;
  }
  body.page-nairobi-audit-event-ablation-dashboard #tooltip .tt-year{ font-family: var(--serif); font-size: 0.9rem; margin-bottom: 0.2rem; display: block; }
  body.page-nairobi-audit-event-ablation-dashboard #tooltip .tt-row{ display: flex; justify-content: space-between; gap: 1rem; }
  body.page-nairobi-audit-event-ablation-dashboard #tooltip .tt-label{ color: var(--text-faint); }

  body.page-nairobi-audit-event-ablation-dashboard a{ color: inherit; }
  @media (prefers-reduced-motion: reduce) { body.page-nairobi-audit-event-ablation-dashboard *{ transition: none; } }

body.page-nairobi-audit-event-ablation-dashboard .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: releases.css ===== */
/* V5 namespaced legacy component details for releases. Global design grammar lives in fidelra.css. */

/* cities/nairobi/releases.html */

  body.page-nairobi-releases{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-nairobi-releases *{ box-sizing: border-box; }
  html body.page-nairobi-releases{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-nairobi-releases{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-nairobi-releases a{ color: inherit; text-decoration: none; }
  body.page-nairobi-releases h1, body.page-nairobi-releases h2, body.page-nairobi-releases h3, body.page-nairobi-releases h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-nairobi-releases .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-nairobi-releases .wrap{ padding: 0 18px; } body.page-nairobi-releases{ font-size: 16.0px; } }
  body.page-nairobi-releases section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-releases section.tight{ padding: 64px 0; }
  body.page-nairobi-releases section.band{ background: var(--teal-tint); }
  body.page-nairobi-releases .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-releases .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-nairobi-releases .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-nairobi-releases .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-nairobi-releases .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-nairobi-releases .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-nairobi-releases .btn-primary:hover{ background: var(--accent-hover); }
  body.page-nairobi-releases .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-nairobi-releases .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-nairobi-releases .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent-strong); }
  body.page-nairobi-releases .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display:inline-block; }

  /* ---- version table ---- */
  body.page-nairobi-releases .ver-table-wrap{ border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  body.page-nairobi-releases table.ver-table{ width: 100%; border-collapse: collapse; min-width: 640px; }
  body.page-nairobi-releases .ver-table th{ text-align: left; padding: 12px 20px; background: var(--panel-2); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); border-bottom: 1px solid var(--line); }
  body.page-nairobi-releases .ver-table td{ padding: 14px 20px; border-bottom: 1px solid var(--line-soft); font-size: 14.5px; font-weight: 500; color: var(--ink-2); background: var(--panel); }
  body.page-nairobi-releases .ver-table tr:last-child td{ border-bottom: none; }
  body.page-nairobi-releases .ver-table td.ver{ color: var(--ink); font-weight: 700; font-family: var(--mono); }
  body.page-nairobi-releases .ver-tag{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
  body.page-nairobi-releases .ver-tag.done{ background: color-mix(in srgb, var(--good) 16%, transparent); color: var(--good); }
  body.page-nairobi-releases .ver-tag.planned{ background: var(--panel-2); color: var(--ink-3); border: 1px solid var(--line); }
  body.page-nairobi-releases .table-overflow{ overflow-x: auto; }

  /* ---- changelog entry mock ---- */
  body.page-nairobi-releases .changelog-mock{ background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 26px; }
  body.page-nairobi-releases .cl-domain{ font-family: var(--mono); font-size: 14px; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; }
  body.page-nairobi-releases .cl-version{ font-size: 20.0px; font-weight: 650; margin-top: 6px; }
  body.page-nairobi-releases .cl-row{ margin-top: 16px; }
  body.page-nairobi-releases .cl-row .cl-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; }
  body.page-nairobi-releases .cl-row p{ font-size: 15.0px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; }
  body.page-nairobi-releases .cl-cert{ display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--good); }

  body.page-nairobi-releases .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-nairobi-releases .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-nairobi-releases .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-nairobi-releases .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-nairobi-releases footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-nairobi-releases .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-nairobi-releases .footer-row a:hover{ color: #4fd9c4; }
  body.page-nairobi-releases .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-nairobi-releases .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-nairobi-releases .footer-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-releases .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-nairobi-releases .footer-brand .logo span{ color: #4fd9c4; }
  body.page-nairobi-releases .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-nairobi-releases .footer-brand-desc b{ color: #cbd5da; }
  body.page-nairobi-releases .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-nairobi-releases .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-nairobi-releases .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-nairobi-releases .footer-col a:hover{ color: #4fd9c4; }
  body.page-nairobi-releases .footer-bottom{ padding-top: 24px; }

body.page-nairobi-releases .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/releases.html */

  body.page-lagos-releases{
    --bg: #f4f8fb; --panel: #ffffff; --panel-2: #eef2f5; --teal-tint: #eef8f6;
    --ink: #0c1a24; --ink-2: #3c5262; --ink-3: #6b8298;
    --line: rgba(12, 26, 36, 0.1); --line-soft: rgba(12, 26, 36, 0.06);
    --accent: #0c8577; --accent-strong: #0c8577; --accent-hover: #095f54; --accent-ink: #ffffff;
    --amber: #b5790a; --good: #187a4a;
    --font: "Segoe UI", -apple-system, system-ui, sans-serif;
    --font-display: "Inter", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
    --mono: "SF Mono", "Cascadia Code", Consolas, monospace;
  }
  body.page-lagos-releases *{ box-sizing: border-box; }
  html body.page-lagos-releases{ scroll-behavior: smooth; scroll-padding-top: 76px; }
  body.page-lagos-releases{ margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 20.0px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  body.page-lagos-releases a{ color: inherit; text-decoration: none; }
  body.page-lagos-releases h1, body.page-lagos-releases h2, body.page-lagos-releases h3, body.page-lagos-releases h4{ margin: 0; font-family: var(--font-display); letter-spacing: -0.02em; }
  body.page-lagos-releases .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-lagos-releases .wrap{ padding: 0 18px; } body.page-lagos-releases{ font-size: 16.0px; } }
  body.page-lagos-releases section{ padding: 88px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-releases section.tight{ padding: 64px 0; }
  body.page-lagos-releases section.band{ background: var(--teal-tint); }
  body.page-lagos-releases .eyebrow{ font-family: var(--mono); font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-releases .head{ max-width: 700px; margin-bottom: 40px; }
  body.page-lagos-releases .head h2{ font-size: clamp(30px, 4.2vw, 44px); font-weight: 650; line-height: 1.08; margin-top: 10px; }
  body.page-lagos-releases .head p{ color: var(--ink-2); font-weight: 500; font-size: 16.0px; line-height: 1.65; margin-top: 14px; max-width: 66ch; }

  body.page-lagos-releases .btn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 8px; font-size: 14px; font-weight: 600; border: 1px solid transparent; }
  body.page-lagos-releases .btn-primary{ background: var(--accent); color: var(--accent-ink); }
  body.page-lagos-releases .btn-primary:hover{ background: var(--accent-hover); }
  body.page-lagos-releases .btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
  body.page-lagos-releases .btn-ghost:hover{ border-color: var(--accent); color: var(--accent-strong); }

  body.page-lagos-releases .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent-strong); }
  body.page-lagos-releases .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display:inline-block; }

  /* ---- version table ---- */
  body.page-lagos-releases .ver-table-wrap{ border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  body.page-lagos-releases table.ver-table{ width: 100%; border-collapse: collapse; min-width: 640px; }
  body.page-lagos-releases .ver-table th{ text-align: left; padding: 12px 20px; background: var(--panel-2); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); border-bottom: 1px solid var(--line); }
  body.page-lagos-releases .ver-table td{ padding: 14px 20px; border-bottom: 1px solid var(--line-soft); font-size: 14.5px; font-weight: 500; color: var(--ink-2); background: var(--panel); }
  body.page-lagos-releases .ver-table tr:last-child td{ border-bottom: none; }
  body.page-lagos-releases .ver-table td.ver{ color: var(--ink); font-weight: 700; font-family: var(--mono); }
  body.page-lagos-releases .ver-tag{ font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
  body.page-lagos-releases .ver-tag.done{ background: color-mix(in srgb, var(--good) 16%, transparent); color: var(--good); }
  body.page-lagos-releases .ver-tag.planned{ background: var(--panel-2); color: var(--ink-3); border: 1px solid var(--line); }
  body.page-lagos-releases .table-overflow{ overflow-x: auto; }

  /* ---- changelog entry mock ---- */
  body.page-lagos-releases .changelog-mock{ background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 26px; }
  body.page-lagos-releases .cl-domain{ font-family: var(--mono); font-size: 14px; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; }
  body.page-lagos-releases .cl-version{ font-size: 20.0px; font-weight: 650; margin-top: 6px; }
  body.page-lagos-releases .cl-row{ margin-top: 16px; }
  body.page-lagos-releases .cl-row .cl-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; }
  body.page-lagos-releases .cl-row p{ font-size: 15.0px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; }
  body.page-lagos-releases .cl-cert{ display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--good); }

  body.page-lagos-releases .cta-panel{ text-align: center; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border: 1px solid var(--line); border-radius: 16px; padding: 52px 32px; }
  body.page-lagos-releases .cta-panel h2{ font-size: clamp(24px, 3.4vw, 32px); font-weight: 650; }
  body.page-lagos-releases .cta-panel p{ color: var(--ink-2); margin-top: 12px; }
  body.page-lagos-releases .cta-actions{ display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }

  body.page-lagos-releases footer{ padding: 56px 0 28px; background: #06101a; border-bottom: none; color: #fff; }
  body.page-lagos-releases .footer-row{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 14px; color: #7d8b96; }
  body.page-lagos-releases .footer-row a:hover{ color: #4fd9c4; }
  body.page-lagos-releases .footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  @media (max-width: 900px) { body.page-lagos-releases .footer-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-lagos-releases .footer-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-releases .footer-brand .logo{ font-family: var(--font-display); font-size: 20.0px; font-weight: 650; color: #fff; }
  body.page-lagos-releases .footer-brand .logo span{ color: #4fd9c4; }
  body.page-lagos-releases .footer-brand-desc{ font-size: 14px; line-height: 1.6; color: #7d8b96; margin-top: 8px; }
  body.page-lagos-releases .footer-brand-desc b{ color: #cbd5da; }
  body.page-lagos-releases .footer-col-title{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: #7d8b96; font-weight: 700; margin-bottom: 14px; }
  body.page-lagos-releases .footer-col{ display: flex; flex-direction: column; gap: 10px; }
  body.page-lagos-releases .footer-col a{ font-size: 14px; color: #cbd5da; }
  body.page-lagos-releases .footer-col a:hover{ color: #4fd9c4; }
  body.page-lagos-releases .footer-bottom{ padding-top: 24px; }

body.page-lagos-releases .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: access.css ===== */
/* Access is owned by the shared V5.19 page-family contract at the end of this file.
   The former duplicated Lagos/Nairobi component blocks were intentionally retired. */

/* ===== COMPONENT: domain.css ===== */
/* V5 namespaced legacy component details for domain. Global design grammar lives in fidelra.css. */

/* shared V5 component: view-domain-transport (2 pages) */

  body.view-domain-transport .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-transport .wrap{ padding: 0 18px; } body.view-domain-transport{ font-size: 16.0px; } }
  body.view-domain-transport section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-transport section.tight{ padding: 48px 0; }

  body.view-domain-transport .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-transport .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-transport .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-transport .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-transport .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-transport .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-transport .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-transport .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-transport .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-transport .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-transport .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-transport .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-transport .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-transport .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-transport .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-transport .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-transport .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-transport .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-transport .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-transport .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-transport .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-transport .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-transport .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-transport .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-transport .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-transport .hero-illustration{ display: none; } }

  /* ---- 02 capability cards ---- */
  body.view-domain-transport .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-transport .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-transport .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-transport .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-transport .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-transport .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-transport .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-transport .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-transport .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- 03 connections ---- */
  body.view-domain-transport .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-transport .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-transport .domain-tree, body.view-domain-transport .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-transport .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-transport .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-transport .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-transport .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-transport .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-transport .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-transport .domain-tree li::before, body.view-domain-transport .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-transport .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-transport .domain-tree li.derived::before, body.view-domain-transport .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-transport .domain-tree li.gap::before, body.view-domain-transport .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-transport .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-transport .domain-tree li:only-child::before, body.view-domain-transport .domain-tree li:only-child::after{ display: none; }
  body.view-domain-transport .domain-tree li:first-child::before, body.view-domain-transport .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-transport .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-transport .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-transport .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-transport .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-transport .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-transport .tree-node-derived{ border-style: dashed; }
  body.view-domain-transport .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-transport .tree-node:hover, body.view-domain-transport li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-transport .tree-node-gap:hover, body.view-domain-transport li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-transport li.path-active::before, body.view-domain-transport li.path-active::after, body.view-domain-transport ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-transport li.gap.path-active::before, body.view-domain-transport li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-transport .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-transport .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-transport .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-transport .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-transport .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-transport .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-transport .rel-chip.guarded{ border-style: dashed; }
  body.view-domain-transport .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- 04 timelines ---- */
  body.view-domain-transport .timeline-group{ margin-top: 26px; }
  body.view-domain-transport .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-transport .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-transport .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-transport .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-transport .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-transport .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-transport .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- 05 historical evidence ---- */
  body.view-domain-transport .era-list{ margin-top: 18px; border-top: 1px solid var(--line-soft); }
  body.view-domain-transport .era-row{ display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
  @media (max-width: 640px) { body.view-domain-transport .era-row{ grid-template-columns: 1fr; gap: 4px; } }
  body.view-domain-transport .era-row .yr{ font-family: var(--mono); font-weight: 650; font-size: 14px; color: var(--accent-strong); }
  body.view-domain-transport .era-row p{ margin: 0; font-size: 14.5px; color: var(--ink-2); line-height: 1.6; }
  body.view-domain-transport .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-transport .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-transport .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-transport .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-transport .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-transport .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-transport .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-transport .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-transport .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-transport .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-transport .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-transport .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- 06 data model ---- */
  body.view-domain-transport .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-transport .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-transport .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-transport .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-transport .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-transport .code-block .kw{ color: #4fd9c4; }
  body.view-domain-transport .code-block .cm{ color: #6b8298; }
  body.view-domain-transport .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-transport .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-transport .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-transport .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-transport .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- 07 certification ---- */
  body.view-domain-transport .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-transport .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-transport .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-transport .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-transport .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-transport .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-transport .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-transport .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-transport .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-transport .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-transport .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-transport .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-transport .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-transport .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-transport .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-transport .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-transport .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-transport .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-transport .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-transport .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-transport .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-transport .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-transport .band-dark .inline-link{ color: #4fd9c4; }

  /* ---- 08 limitations + versions ---- */
  body.view-domain-transport .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-transport .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-transport .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-transport .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-transport .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-transport .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-transport .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-transport .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-transport .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-transport .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-transport .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-transport .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-transport .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-transport .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-transport .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-transport .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-transport .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- 09 explore ---- */
  body.view-domain-transport .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-transport .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-transport .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-transport a:focus-visible, body.view-domain-transport .btn:focus-visible, body.view-domain-transport .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-transport .band-dark a:focus-visible, body.view-domain-transport .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-transport{ scroll-behavior: auto; } }

body.view-domain-transport .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-demographics (2 pages) */

  body.view-domain-demographics .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-demographics .wrap{ padding: 0 18px; } body.view-domain-demographics{ font-size: 16.0px; } }
  body.view-domain-demographics section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-demographics section.tight{ padding: 48px 0; }

  body.view-domain-demographics .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-demographics .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-demographics .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-demographics .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-demographics .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-demographics .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-demographics .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-demographics .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-demographics .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-demographics .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-demographics .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-demographics .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-demographics .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-demographics .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-demographics .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-demographics .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-demographics .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-demographics .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-demographics .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-demographics .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-demographics .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-demographics .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-demographics .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-demographics .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-demographics .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-demographics .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-demographics .hero-illustration{ display: none; } }

  /* ---- 02 capability cards ---- */
  body.view-domain-demographics .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-demographics .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-demographics .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-demographics .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-demographics .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-demographics .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-demographics .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-demographics .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-demographics .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- 03 connections ---- */
  body.view-domain-demographics .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-demographics .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-demographics .domain-tree, body.view-domain-demographics .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-demographics .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-demographics .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-demographics .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-demographics .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-demographics .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-demographics .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-demographics .domain-tree li::before, body.view-domain-demographics .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-demographics .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-demographics .domain-tree li.derived::before, body.view-domain-demographics .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-demographics .domain-tree li.gap::before, body.view-domain-demographics .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-demographics .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-demographics .domain-tree li:only-child::before, body.view-domain-demographics .domain-tree li:only-child::after{ display: none; }
  body.view-domain-demographics .domain-tree li:first-child::before, body.view-domain-demographics .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-demographics .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-demographics .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-demographics .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-demographics .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-demographics .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-demographics .tree-node-derived{ border-style: dashed; }
  body.view-domain-demographics .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-demographics .tree-node:hover, body.view-domain-demographics li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-demographics .tree-node-gap:hover, body.view-domain-demographics li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-demographics li.path-active::before, body.view-domain-demographics li.path-active::after, body.view-domain-demographics ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-demographics li.gap.path-active::before, body.view-domain-demographics li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-demographics .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-demographics .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-demographics .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-domain-demographics .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-demographics .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-demographics .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-demographics .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- 04 timelines ---- */
  body.view-domain-demographics .timeline-group{ margin-top: 26px; }
  body.view-domain-demographics .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-demographics .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-demographics .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-demographics .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-demographics .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-demographics .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-demographics .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- 05 historical evidence ---- */
  body.view-domain-demographics .era-list{ margin-top: 18px; border-top: 1px solid var(--line-soft); }
  body.view-domain-demographics .era-row{ display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
  @media (max-width: 640px) { body.view-domain-demographics .era-row{ grid-template-columns: 1fr; gap: 4px; } }
  body.view-domain-demographics .era-row .yr{ font-family: var(--mono); font-weight: 650; font-size: 14px; color: var(--accent-strong); }
  body.view-domain-demographics .era-row p{ margin: 0; font-size: 14.5px; color: var(--ink-2); line-height: 1.6; }
  body.view-domain-demographics .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-demographics .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-demographics .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-demographics .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-demographics .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-demographics .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-demographics .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-demographics .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-demographics .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-demographics .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-demographics .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-demographics .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- 07 evidence sources ---- */
  body.view-domain-demographics .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-demographics .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-demographics .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-demographics .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-demographics .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-demographics .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-demographics .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- 08 data model ---- */
  body.view-domain-demographics .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-demographics .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-demographics .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-demographics .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-demographics .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-demographics .code-block .kw{ color: #4fd9c4; }
  body.view-domain-demographics .code-block .cm{ color: #6b8298; }
  body.view-domain-demographics .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-demographics .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-demographics .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-demographics .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-demographics .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- 09 distributions ---- */
  body.view-domain-demographics .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-demographics .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-demographics .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.view-domain-demographics .dist-city-toggle{ display: flex; gap: 8px; margin-top: 14px; }
  body.view-domain-demographics .dist-city-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 7px 15px; border: 1px solid var(--line); background: var(--panel-2); color: var(--ink-2); cursor: pointer; border-radius: 999px; }
  body.view-domain-demographics .dist-city-btn.active{ background: var(--accent-strong); color: #fff; border-color: var(--accent-strong); }
  body.view-domain-demographics .dist-panel{ display: none; margin-top: 22px; }
  body.view-domain-demographics .dist-panel.active{ display: block; }
  body.view-domain-demographics .pyramid-row{ display: grid; grid-template-columns: 1fr 46px 1fr; align-items: center; gap: 6px; margin-bottom: 5px; }
  body.view-domain-demographics .pyramid-bar{ height: 13px; }
  body.view-domain-demographics .pyramid-bar.m{ justify-self: end; background: var(--accent-strong); }
  body.view-domain-demographics .pyramid-bar.f{ justify-self: start; background: var(--amber); }
  body.view-domain-demographics .pyramid-age{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); text-align: center; }
  body.view-domain-demographics .dist-legend{ display: flex; gap: 18px; margin-top: 14px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-demographics .dist-legend span{ display: inline-flex; align-items: center; gap: 6px; }
  body.view-domain-demographics .dist-legend span::before{ content: ""; width: 10px; height: 10px; display: inline-block; }
  body.view-domain-demographics .dist-legend .m::before{ background: var(--accent-strong); }
  body.view-domain-demographics .dist-legend .f::before{ background: var(--amber); }
  body.view-domain-demographics .dist-legend .births::before{ background: var(--good); }
  body.view-domain-demographics .dist-legend .deaths::before{ background: #c0524a; }
  body.view-domain-demographics .dist-legend .net::before{ background: var(--accent-strong); }
  body.view-domain-demographics .bd-chart-row{ display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: 10px; margin-bottom: 6px; }
  body.view-domain-demographics .bd-decade{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-demographics .bd-bars{ display: flex; flex-direction: column; gap: 2px; }
  body.view-domain-demographics .bd-bar-wrap{ display: flex; align-items: center; height: 10px; background: var(--panel-2); }
  body.view-domain-demographics .bd-bar{ height: 100%; }
  body.view-domain-demographics .bd-bar.births{ background: var(--good); }
  body.view-domain-demographics .bd-bar.deaths{ background: #c0524a; }
  body.view-domain-demographics .bd-bar.net{ background: var(--accent-strong); }
  body.view-domain-demographics .dist-note{ font-size: 14px; color: var(--ink-3); margin-top: 14px; font-style: italic; }

  /* ---- 10 certification ---- */
  body.view-domain-demographics .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-demographics .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-demographics .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-demographics .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-demographics .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-demographics .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-demographics .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-demographics .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-demographics .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-demographics .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-demographics .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-demographics .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  /* ---- 09b live calibration (population pulse embed) ---- */
  body.view-domain-demographics .pulse-city-toggle{ display: flex; gap: 8px; margin-top: 20px; }
  body.view-domain-demographics .pulse-city-btn{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 7px 15px; border: 1px solid var(--line); background: var(--panel-2); color: var(--ink-2); cursor: pointer; border-radius: 999px; }
  body.view-domain-demographics .pulse-city-btn.active{ background: var(--accent-strong); color: #fff; border-color: var(--accent-strong); }
  body.view-domain-demographics .pulse-embed{ width: 100%; margin-top: 16px; background: var(--panel); border: 1px solid var(--line); overflow: hidden; }
  body.view-domain-demographics .pulse-embed-head{ display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--line); }
  body.view-domain-demographics .pulse-embed-head h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-demographics .pulse-embed-tag{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--accent-strong); }
  body.view-domain-demographics .pulse-embed iframe{ display: block; width: 100%; height: 900px; border: 0; background: var(--panel); overflow: hidden; }
  body.view-domain-demographics .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-demographics .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-demographics .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-demographics .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-demographics .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-demographics .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-demographics .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-demographics .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-demographics .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-demographics .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-demographics .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-demographics .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-demographics .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-demographics .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-demographics .band-dark .city-pass{ color: #fff; }

  /* ---- 11/12 limitations + versions ---- */
  body.view-domain-demographics .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-demographics .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-demographics .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-demographics .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-demographics .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-demographics .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-demographics .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-demographics .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-demographics .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-demographics .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-demographics .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-demographics .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-demographics .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-demographics .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-demographics .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-demographics .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- 13 explore ---- */
  body.view-domain-demographics .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-demographics .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-demographics .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-demographics .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-demographics .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-demographics .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-demographics .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-demographics .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-demographics .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-demographics a:focus-visible, body.view-domain-demographics .btn:focus-visible, body.view-domain-demographics .cap-card:focus-visible, body.view-domain-demographics .dist-tab:focus-visible, body.view-domain-demographics .dist-city-btn:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-demographics .band-dark a:focus-visible, body.view-domain-demographics .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-demographics .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-demographics{ scroll-behavior: auto; } }

body.view-domain-demographics .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-water (4 pages) */

  body.view-domain-water .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-water .wrap{ padding: 0 18px; } body.view-domain-water{ font-size: 16.0px; } }
  body.view-domain-water section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-water section.tight{ padding: 48px 0; }

  body.view-domain-water .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-water .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-water .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-water .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-water .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-water .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-water .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-water .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-water .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-water .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-water .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-water .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-water .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-water .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(16px, 1.9vw, 20px); color: var(--ink); }
  body.view-domain-water .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-water .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-water .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-water .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-water .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-water .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-water .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-water .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-water .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-water .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-water .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-water .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-water .hero-illustration{ display: none; } }

  body.view-domain-water .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-water .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-water .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-water .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-water .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-water .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-water .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-water .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-water .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-water .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-water .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-water .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-water .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-water .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-water .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-water .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-water .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-water .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-water .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-water .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-water .domain-tree, body.view-domain-water .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-water .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-water .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-water .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-water .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-water .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-water .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-water .domain-tree li::before, body.view-domain-water .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-water .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-water .domain-tree li.derived::before, body.view-domain-water .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-water .domain-tree li.gap::before, body.view-domain-water .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-water .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-water .domain-tree li:only-child::before, body.view-domain-water .domain-tree li:only-child::after{ display: none; }
  body.view-domain-water .domain-tree li:first-child::before, body.view-domain-water .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-water .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-water .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-water .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-water .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-water .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-water .tree-node-derived{ border-style: dashed; }
  body.view-domain-water .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-water .tree-node:hover, body.view-domain-water li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-water .tree-node-gap:hover, body.view-domain-water li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-water li.path-active::before, body.view-domain-water li.path-active::after, body.view-domain-water ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-water li.gap.path-active::before, body.view-domain-water li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-water .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-water .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-water .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-water .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-water .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-water .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-water .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-water .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-water .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-water .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-water .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-water .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-water .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-water .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-water .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-water .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-water .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-water .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-water .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-water .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-water .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-water .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-water .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-water .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-water .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-water .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-water .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-water .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-water .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-water .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-water .code-block .kw{ color: #4fd9c4; }
  body.view-domain-water .code-block .cm{ color: #6b8298; }
  body.view-domain-water .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-water .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-water .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-water .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-water .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-water .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-water .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-water .status-dot.ok{ background: var(--accent); }
  body.view-domain-water .status-dot.warn{ background: var(--amber); }
  body.view-domain-water .status-line.warn{ color: var(--ink); }

  body.view-domain-water .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-water .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(28px, 4.2vw, 38px); color: var(--ink); line-height: 1.15; }
  body.view-domain-water .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-water .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-water .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-water .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-water .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-water .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-water .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-water .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-water .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-water .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-water .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-water .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-water .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-water .band-dark .status-dot.ok{ background: #4fd9c4; }
  body.view-domain-water .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-water .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-water .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-water .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-water .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-water .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-water .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-water .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-water .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-water .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-water .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-water .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-water .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-water .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-water .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-water .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-water .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-water .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-water .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-water .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-water .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-water .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-water .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-water .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-water .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-water .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-water .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-water .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-water .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-water .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-water .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-water .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-water .quiet-link a{ color: var(--accent-strong); font-weight: 700; }
  body.view-domain-water .caveat-badge{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 10px; border-radius: 999px; border: 1px dashed var(--ink-3); color: var(--ink-3); margin-bottom: 8px; }
  body.view-domain-water .band-dark .caveat-badge{ border-color: #e0b34a; color: #e0b34a; }

  body.view-domain-water a:focus-visible, body.view-domain-water .btn:focus-visible, body.view-domain-water .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-water .band-dark a:focus-visible, body.view-domain-water .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-water .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-water{ scroll-behavior: auto; } }

body.view-domain-water .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-civil-registration (2 pages) */

  body.view-domain-civil-registration .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-civil-registration .wrap{ padding: 0 18px; } body.view-domain-civil-registration{ font-size: 16.0px; } }
  body.view-domain-civil-registration section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-civil-registration section.tight{ padding: 48px 0; }

  body.view-domain-civil-registration .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-civil-registration .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-civil-registration .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-civil-registration .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-civil-registration .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-civil-registration .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-civil-registration .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-civil-registration .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-civil-registration .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-civil-registration .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-civil-registration .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-civil-registration .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-civil-registration .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-civil-registration .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-civil-registration .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-civil-registration .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-civil-registration .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-civil-registration .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-civil-registration .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-civil-registration .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-civil-registration .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-civil-registration .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-civil-registration .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-civil-registration .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-civil-registration .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-civil-registration .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-civil-registration .hero-illustration{ display: none; } }

  body.view-domain-civil-registration .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-civil-registration .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-civil-registration .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-civil-registration .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-civil-registration .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-civil-registration .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-civil-registration .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-civil-registration .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-civil-registration .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-civil-registration .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-civil-registration .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-civil-registration .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-civil-registration .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-civil-registration .domain-tree, body.view-domain-civil-registration .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-civil-registration .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-civil-registration .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-civil-registration .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-civil-registration .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-civil-registration .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-civil-registration .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-civil-registration .domain-tree li::before, body.view-domain-civil-registration .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-civil-registration .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-civil-registration .domain-tree li.derived::before, body.view-domain-civil-registration .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-civil-registration .domain-tree li.gap::before, body.view-domain-civil-registration .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-civil-registration .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-civil-registration .domain-tree li:only-child::before, body.view-domain-civil-registration .domain-tree li:only-child::after{ display: none; }
  body.view-domain-civil-registration .domain-tree li:first-child::before, body.view-domain-civil-registration .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-civil-registration .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-civil-registration .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-civil-registration .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-civil-registration .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-civil-registration .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-civil-registration .tree-node-derived{ border-style: dashed; }
  body.view-domain-civil-registration .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-civil-registration .tree-node:hover, body.view-domain-civil-registration li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-civil-registration .tree-node-gap:hover, body.view-domain-civil-registration li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-civil-registration li.path-active::before, body.view-domain-civil-registration li.path-active::after, body.view-domain-civil-registration ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-civil-registration li.gap.path-active::before, body.view-domain-civil-registration li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-civil-registration .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-civil-registration .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-civil-registration .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-civil-registration .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-civil-registration .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-civil-registration .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-civil-registration .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-civil-registration .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- two-example comparison cards ---- */
  body.view-domain-civil-registration .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-civil-registration .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-civil-registration .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-civil-registration .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-civil-registration .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-civil-registration .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-civil-registration .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-civil-registration .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-civil-registration .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  /* ---- signature / civic record cards ---- */
  body.view-domain-civil-registration .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-civil-registration .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-civil-registration .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-civil-registration .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-civil-registration .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-civil-registration .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-civil-registration .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-civil-registration .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-civil-registration .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-civil-registration .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-civil-registration .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-civil-registration .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-civil-registration .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-civil-registration .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-civil-registration .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-civil-registration .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-civil-registration .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-civil-registration .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-civil-registration .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-civil-registration .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-civil-registration .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-civil-registration .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-civil-registration .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-civil-registration .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-civil-registration .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-civil-registration .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-civil-registration .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-civil-registration .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-civil-registration .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-civil-registration .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-civil-registration .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-civil-registration .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-civil-registration .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-civil-registration .code-block .kw{ color: #4fd9c4; }
  body.view-domain-civil-registration .code-block .cm{ color: #6b8298; }
  body.view-domain-civil-registration .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-civil-registration .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-civil-registration .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-civil-registration .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-civil-registration .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-civil-registration .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-civil-registration .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-civil-registration .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-civil-registration .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-civil-registration .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-civil-registration .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-civil-registration .status-dot.pass{ background: var(--good); }
  body.view-domain-civil-registration .status-dot.warn{ background: var(--amber); }
  body.view-domain-civil-registration .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-civil-registration .status-dot.fail{ background: #b3261e; }
  body.view-domain-civil-registration .status-line.pass{ color: var(--good); }
  body.view-domain-civil-registration .status-line.warn{ color: #9a6b00; }
  body.view-domain-civil-registration .status-line.pending{ color: var(--ink-3); }
  body.view-domain-civil-registration .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-civil-registration .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-civil-registration .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 5vw, 44px); color: var(--ink); line-height: 1; }
  body.view-domain-civil-registration .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-civil-registration .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-civil-registration .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-civil-registration .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-civil-registration .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-civil-registration .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-civil-registration .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-civil-registration .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-civil-registration .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-civil-registration .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-civil-registration .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-civil-registration .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-civil-registration .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-civil-registration .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-civil-registration .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }
  body.view-domain-civil-registration .city-pass .dot.pending{ background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-civil-registration .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-civil-registration .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-civil-registration .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-civil-registration .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-civil-registration .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-civil-registration .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-civil-registration .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-civil-registration .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-civil-registration .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-civil-registration .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-civil-registration .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-civil-registration .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-civil-registration .band-dark .city-pass{ color: #fff; }
  body.view-domain-civil-registration .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-civil-registration .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-civil-registration .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-civil-registration .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-civil-registration .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-civil-registration .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-civil-registration .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-civil-registration .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-civil-registration .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-civil-registration .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-civil-registration .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-civil-registration .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-civil-registration .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-civil-registration .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-civil-registration .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-civil-registration .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-civil-registration .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-civil-registration .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-civil-registration .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-civil-registration .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-civil-registration .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-civil-registration .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-civil-registration .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-civil-registration .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-civil-registration .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-civil-registration .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-civil-registration .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-civil-registration .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-civil-registration .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-civil-registration .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-civil-registration .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-civil-registration .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-civil-registration .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-civil-registration .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-civil-registration .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-civil-registration .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-civil-registration .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-civil-registration a:focus-visible, body.view-domain-civil-registration .btn:focus-visible, body.view-domain-civil-registration .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-civil-registration .band-dark a:focus-visible, body.view-domain-civil-registration .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-civil-registration .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-civil-registration{ scroll-behavior: auto; } }

body.view-domain-civil-registration .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-roads (2 pages) */

  body.view-domain-roads .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-roads .wrap{ padding: 0 18px; } body.view-domain-roads{ font-size: 16.0px; } }
  body.view-domain-roads section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-roads section.tight{ padding: 48px 0; }

  body.view-domain-roads .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-roads .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-roads .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-roads .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-roads .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-roads .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-roads .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-roads .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-roads .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-roads .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-roads .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-roads .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-roads .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-roads .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(15px, 1.8vw, 19px); color: var(--ink-3); }
  body.view-domain-roads .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-roads .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-roads .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-roads .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-roads .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-roads .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-roads .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-roads .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-roads .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-roads .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-roads .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-roads .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-roads .hero-illustration{ display: none; } }

  body.view-domain-roads .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-roads .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-roads .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-roads .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-roads .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-roads .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-roads .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-roads .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-roads .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-roads .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-roads .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-roads .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-roads .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-roads .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-roads .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-roads .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-roads .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-roads .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-roads .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-roads .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-roads .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-roads .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-roads .domain-tree, body.view-domain-roads .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-roads .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-roads .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-roads .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-roads .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-roads .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-roads .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-roads .domain-tree li::before, body.view-domain-roads .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-roads .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-roads .domain-tree li.derived::before, body.view-domain-roads .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-roads .domain-tree li.gap::before, body.view-domain-roads .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-roads .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-roads .domain-tree li:only-child::before, body.view-domain-roads .domain-tree li:only-child::after{ display: none; }
  body.view-domain-roads .domain-tree li:first-child::before, body.view-domain-roads .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-roads .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-roads .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-roads .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-roads .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-roads .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-roads .tree-node-derived{ border-style: dashed; }
  body.view-domain-roads .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-roads .tree-node:hover, body.view-domain-roads li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-roads .tree-node-gap:hover, body.view-domain-roads li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-roads li.path-active::before, body.view-domain-roads li.path-active::after, body.view-domain-roads ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-roads li.gap.path-active::before, body.view-domain-roads li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-roads .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-roads .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-roads .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-roads .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-roads .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-roads .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-roads .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-roads .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-roads .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-roads .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-roads .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-roads .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-roads .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-roads .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-roads .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-roads .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-roads .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-roads .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-roads .code-block .kw{ color: #4fd9c4; }
  body.view-domain-roads .code-block .cm{ color: #6b8298; }
  body.view-domain-roads .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-roads .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-roads .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-roads .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-roads .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-roads .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-roads .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-roads .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-roads .status-dot.warn{ background: var(--amber); }
  body.view-domain-roads .status-line.warn{ color: var(--ink); }

  body.view-domain-roads .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-roads .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(26px, 4vw, 36px); color: var(--ink); line-height: 1.15; }
  body.view-domain-roads .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-roads .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-roads .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-roads .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-roads .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-roads .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-roads .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-roads .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-roads .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-roads .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-roads .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-roads .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-roads .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-roads .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-roads .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-roads .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-roads .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-roads .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-roads .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-roads .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-roads .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-roads .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-roads .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-roads .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-roads .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-roads .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-roads .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-roads .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-roads .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-roads .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-roads .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-roads .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-roads .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-roads .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-roads .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-roads .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-roads .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-roads .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-roads .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-roads .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-roads .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-roads .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-roads .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-roads .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-roads .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-roads .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-roads .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-roads .mock-frame{ border: 1px dashed var(--line); background: var(--panel-2); padding: 4px; margin-top: 20px; position: relative; }
  body.view-domain-roads .mock-frame::before{ content: "ILLUSTRATIVE MOCKUP — SCHEMA NOT YET BUILT"; position: absolute; top: -11px; left: 14px; background: var(--bg); padding: 0 8px; font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-roads .mock-inner{ padding: 22px; }

  body.view-domain-roads a:focus-visible, body.view-domain-roads .btn:focus-visible, body.view-domain-roads .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-roads .band-dark a:focus-visible, body.view-domain-roads .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-roads .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-roads{ scroll-behavior: auto; } }

body.view-domain-roads .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-banking (2 pages) */

  body.view-domain-banking .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-banking .wrap{ padding: 0 18px; } body.view-domain-banking{ font-size: 16.0px; } }
  body.view-domain-banking section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-banking section.tight{ padding: 48px 0; }

  body.view-domain-banking .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-banking .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-banking .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-banking .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-banking .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-banking .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-banking .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-banking .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-banking .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-banking .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-banking .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-banking .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-banking .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-banking .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(15px, 1.8vw, 19px); color: var(--ink-3); }
  body.view-domain-banking .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-banking .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-banking .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-banking .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-banking .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-banking .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-banking .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-banking .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-banking .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-banking .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-banking .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-banking .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-banking .hero-illustration{ display: none; } }

  body.view-domain-banking .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-banking .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-banking .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-banking .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-banking .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-banking .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-banking .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-banking .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-banking .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-banking .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-banking .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-banking .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-banking .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-banking .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-banking .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-banking .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-banking .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-banking .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-banking .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-banking .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-banking .domain-tree, body.view-domain-banking .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-banking .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-banking .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-banking .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-banking .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-banking .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-banking .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-banking .domain-tree li::before, body.view-domain-banking .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-banking .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-banking .domain-tree li.derived::before, body.view-domain-banking .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-banking .domain-tree li.gap::before, body.view-domain-banking .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-banking .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-banking .domain-tree li:only-child::before, body.view-domain-banking .domain-tree li:only-child::after{ display: none; }
  body.view-domain-banking .domain-tree li:first-child::before, body.view-domain-banking .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-banking .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-banking .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-banking .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-banking .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-banking .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-banking .tree-node-derived{ border-style: dashed; }
  body.view-domain-banking .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-banking .tree-node:hover, body.view-domain-banking li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-banking .tree-node-gap:hover, body.view-domain-banking li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-banking li.path-active::before, body.view-domain-banking li.path-active::after, body.view-domain-banking ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-banking li.gap.path-active::before, body.view-domain-banking li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-banking .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-banking .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-banking .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-banking .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-banking .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-banking .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-banking .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-banking .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-banking .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-banking .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-banking .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-banking .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-banking .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-banking .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-banking .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-banking .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-banking .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-banking .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-banking .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-banking .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-banking .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-banking .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-banking .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-banking .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-banking .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-banking .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-banking .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-banking .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-banking .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-banking .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-banking .code-block .kw{ color: #4fd9c4; }
  body.view-domain-banking .code-block .cm{ color: #6b8298; }
  body.view-domain-banking .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-banking .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-banking .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-banking .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-banking .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-banking .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-banking .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-banking .status-dot.warn{ background: var(--amber); }
  body.view-domain-banking .status-line.warn{ color: var(--ink); }

  body.view-domain-banking .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-banking .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(26px, 4vw, 36px); color: var(--ink); line-height: 1.15; }
  body.view-domain-banking .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-banking .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-banking .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-banking .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-banking .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-banking .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-banking .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-banking .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-banking .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-banking .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-banking .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-banking .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-banking .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-banking .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-banking .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-banking .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-banking .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-banking .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-banking .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-banking .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-banking .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-banking .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-banking .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-banking .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-banking .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-banking .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-banking .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-banking .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-banking .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-banking .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-banking .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 720px) { body.view-domain-banking .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-banking .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-banking .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-banking .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 721px) { body.view-domain-banking .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-banking .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-banking .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-banking .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-banking .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-banking .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-banking .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-banking .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-banking .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-banking .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-banking .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-banking .mock-frame{ border: 1px dashed var(--line); background: var(--panel-2); padding: 4px; margin-top: 20px; position: relative; }
  body.view-domain-banking .mock-frame::before{ content: "ILLUSTRATIVE MOCKUP — SCHEMA NOT YET BUILT"; position: absolute; top: -11px; left: 14px; background: var(--bg); padding: 0 8px; font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-banking .mock-inner{ padding: 22px; }

  body.view-domain-banking a:focus-visible, body.view-domain-banking .btn:focus-visible, body.view-domain-banking .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-banking .band-dark a:focus-visible, body.view-domain-banking .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-banking .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-banking{ scroll-behavior: auto; } }

body.view-domain-banking .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-doc-template (2 pages) */

  body.view-domain-doc-template .wrap{ max-width: 760px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-doc-template .wrap{ padding: 0 18px; } body.view-domain-doc-template{ font-size: 16.0px; } }
  body.view-domain-doc-template section{ padding: 56px 0; }

  body.view-domain-doc-template .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: var(--panel-2); color: var(--ink-3); }
  body.view-domain-doc-template .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ink-3); display:inline-block; }

  body.view-domain-doc-template .not-built-box{ border: 1px dashed var(--line); background: var(--panel-2); padding: 26px 28px; margin-top: 28px; }
  body.view-domain-doc-template .not-built-box h3{ font-size: 18.0px; font-weight: 650; }
  body.view-domain-doc-template .not-built-box p{ font-size: 15.5px; color: var(--ink-2); line-height: 1.65; margin-top: 10px; }
  body.view-domain-doc-template .not-built-box ul{ margin: 14px 0 0; padding-left: 20px; }
  body.view-domain-doc-template .not-built-box li{ font-size: 15.0px; color: var(--ink-2); line-height: 1.6; padding: 2px 0; }

  body.view-domain-doc-template .final-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

body.view-domain-doc-template .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-fleet (2 pages) */

  body.view-domain-fleet .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-fleet .wrap{ padding: 0 18px; } body.view-domain-fleet{ font-size: 16.0px; } }
  body.view-domain-fleet section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-fleet section.tight{ padding: 48px 0; }

  body.view-domain-fleet .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-fleet .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-fleet .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-fleet .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-fleet .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-fleet .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-fleet .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-fleet .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-fleet .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-fleet .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-fleet .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-fleet .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-fleet .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-fleet .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-fleet .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-fleet .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-fleet .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-fleet .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-fleet .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-fleet .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-fleet .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-fleet .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-fleet .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-fleet .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-fleet .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-fleet .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-fleet .hero-illustration{ display: none; } }

  body.view-domain-fleet .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-fleet .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-fleet .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-fleet .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-fleet .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-fleet .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-fleet .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-fleet .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-fleet .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-fleet .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-fleet .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-fleet .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-fleet .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-fleet .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-fleet .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-fleet .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-fleet .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-fleet .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-fleet .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-fleet .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-fleet .domain-tree, body.view-domain-fleet .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-fleet .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-fleet .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-fleet .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-fleet .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-fleet .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-fleet .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-fleet .domain-tree li::before, body.view-domain-fleet .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-fleet .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-fleet .domain-tree li.derived::before, body.view-domain-fleet .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-fleet .domain-tree li.gap::before, body.view-domain-fleet .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-fleet .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-fleet .domain-tree li:only-child::before, body.view-domain-fleet .domain-tree li:only-child::after{ display: none; }
  body.view-domain-fleet .domain-tree li:first-child::before, body.view-domain-fleet .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-fleet .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-fleet .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-fleet .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-fleet .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-fleet .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-fleet .tree-node-derived{ border-style: dashed; }
  body.view-domain-fleet .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-fleet .tree-node:hover, body.view-domain-fleet li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-fleet .tree-node-gap:hover, body.view-domain-fleet li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-fleet li.path-active::before, body.view-domain-fleet li.path-active::after, body.view-domain-fleet ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-fleet li.gap.path-active::before, body.view-domain-fleet li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-fleet .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-fleet .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-fleet .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-domain-fleet .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-fleet .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-fleet .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-fleet .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-fleet .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-fleet .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-fleet .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-fleet .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-fleet .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-fleet .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-fleet .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-fleet .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-fleet .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-fleet .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-fleet .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-fleet .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-fleet .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-fleet .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-fleet .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-fleet .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-fleet .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-fleet .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-fleet .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-fleet .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-fleet .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-fleet .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-fleet .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-fleet .code-block .kw{ color: #4fd9c4; }
  body.view-domain-fleet .code-block .cm{ color: #6b8298; }
  body.view-domain-fleet .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-fleet .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-fleet .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-fleet .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-fleet .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-fleet .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-fleet .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-fleet .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-fleet .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-fleet .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-fleet .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-fleet .status-dot.pass{ background: var(--good); }
  body.view-domain-fleet .status-dot.warn{ background: var(--amber); }
  body.view-domain-fleet .status-line.pass{ color: var(--good); }
  body.view-domain-fleet .status-line.warn{ color: var(--ink); }

  body.view-domain-fleet .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-fleet .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 4.6vw, 42px); color: var(--ink); line-height: 1.15; }
  body.view-domain-fleet .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-fleet .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-fleet .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-fleet .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-fleet .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-fleet .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-fleet .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-fleet .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-fleet .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-fleet .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-fleet .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-fleet .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-fleet .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-fleet .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-fleet .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-fleet .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-fleet .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-fleet .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-fleet .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-fleet .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-fleet .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-fleet .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-fleet .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-fleet .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-fleet .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-fleet .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-fleet .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-fleet .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-fleet .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-fleet .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-fleet .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-fleet .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-fleet .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-fleet .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-fleet .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-fleet .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-fleet .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-fleet .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-fleet .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-fleet .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-fleet .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-fleet .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-fleet .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-fleet .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 24.0px; margin-top: 8px; }
  body.view-domain-fleet .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-fleet .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-fleet .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-fleet a:focus-visible, body.view-domain-fleet .btn:focus-visible, body.view-domain-fleet .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-fleet .band-dark a:focus-visible, body.view-domain-fleet .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-fleet .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-fleet{ scroll-behavior: auto; } }

body.view-domain-fleet .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-publicfinance (2 pages) */

  body.view-domain-publicfinance .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-publicfinance .wrap{ padding: 0 18px; } body.view-domain-publicfinance{ font-size: 16.0px; } }
  body.view-domain-publicfinance section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-publicfinance section.tight{ padding: 48px 0; }

  body.view-domain-publicfinance .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-publicfinance .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-publicfinance .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-publicfinance .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-publicfinance .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-publicfinance .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-publicfinance .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-publicfinance .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-publicfinance .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-publicfinance .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-publicfinance .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-publicfinance .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-publicfinance .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-publicfinance .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-publicfinance .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-publicfinance .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-publicfinance .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-publicfinance .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-publicfinance .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-publicfinance .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-publicfinance .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-publicfinance .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-publicfinance .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-publicfinance .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-publicfinance .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-publicfinance .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-publicfinance .hero-illustration{ display: none; } }

  body.view-domain-publicfinance .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-publicfinance .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-publicfinance .lc-chip b{ color: var(--accent-strong); }

  body.view-domain-publicfinance .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-publicfinance .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-publicfinance .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-publicfinance .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-publicfinance .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-publicfinance .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-publicfinance .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-publicfinance .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-publicfinance .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-publicfinance .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-publicfinance .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-publicfinance .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-publicfinance .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-publicfinance .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-publicfinance .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-publicfinance .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-publicfinance .domain-tree, body.view-domain-publicfinance .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-publicfinance .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-publicfinance .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-publicfinance .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-publicfinance .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-publicfinance .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-publicfinance .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-publicfinance .domain-tree li::before, body.view-domain-publicfinance .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-publicfinance .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-publicfinance .domain-tree li.derived::before, body.view-domain-publicfinance .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-publicfinance .domain-tree li.gap::before, body.view-domain-publicfinance .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-publicfinance .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-publicfinance .domain-tree li:only-child::before, body.view-domain-publicfinance .domain-tree li:only-child::after{ display: none; }
  body.view-domain-publicfinance .domain-tree li:first-child::before, body.view-domain-publicfinance .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-publicfinance .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-publicfinance .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-publicfinance .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-publicfinance .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-publicfinance .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-publicfinance .tree-node-derived{ border-style: dashed; }
  body.view-domain-publicfinance .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-publicfinance .tree-node:hover, body.view-domain-publicfinance li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-publicfinance .tree-node-gap:hover, body.view-domain-publicfinance li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-publicfinance li.path-active::before, body.view-domain-publicfinance li.path-active::after, body.view-domain-publicfinance ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-publicfinance li.gap.path-active::before, body.view-domain-publicfinance li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-publicfinance .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-publicfinance .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-publicfinance .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-publicfinance .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-publicfinance .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-publicfinance .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-publicfinance .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-publicfinance .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-publicfinance .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-publicfinance .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-publicfinance .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-publicfinance .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-publicfinance .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-publicfinance .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-publicfinance .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-publicfinance .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-publicfinance .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-publicfinance .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-publicfinance .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-publicfinance .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-publicfinance .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 28.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-publicfinance .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-publicfinance .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-publicfinance .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-publicfinance .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-publicfinance .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-publicfinance .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-publicfinance .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-publicfinance .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-publicfinance .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-publicfinance .code-block .kw{ color: #4fd9c4; }
  body.view-domain-publicfinance .code-block .cm{ color: #6b8298; }
  body.view-domain-publicfinance .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-publicfinance .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-publicfinance .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-publicfinance .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-publicfinance .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-publicfinance .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-publicfinance .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-publicfinance .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-publicfinance .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-publicfinance .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-publicfinance .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-publicfinance .status-dot.pass{ background: var(--good); }
  body.view-domain-publicfinance .status-line.pass{ color: var(--good); }

  body.view-domain-publicfinance .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-publicfinance .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-publicfinance .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-publicfinance .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-publicfinance .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-publicfinance .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-publicfinance .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-publicfinance .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-publicfinance .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-publicfinance .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-publicfinance .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-publicfinance .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-publicfinance .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-publicfinance .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  body.view-domain-publicfinance .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-publicfinance .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-publicfinance .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-publicfinance .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-publicfinance .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-publicfinance .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-publicfinance .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-publicfinance .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-publicfinance .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-publicfinance .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-publicfinance .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-publicfinance .band-dark .city-pass{ color: #fff; }
  body.view-domain-publicfinance .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-publicfinance .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-publicfinance .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-publicfinance .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-publicfinance .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-publicfinance .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-publicfinance .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-publicfinance .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-publicfinance .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-publicfinance .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-publicfinance .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-publicfinance .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-publicfinance .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-publicfinance .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-publicfinance .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-publicfinance .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-publicfinance .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-publicfinance .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-publicfinance .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-publicfinance .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-publicfinance .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-publicfinance .story-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-publicfinance .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-publicfinance .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-publicfinance .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-publicfinance .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 641px) { body.view-domain-publicfinance .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-publicfinance .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-publicfinance .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-publicfinance .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-publicfinance .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-publicfinance .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-publicfinance .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-publicfinance .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-publicfinance .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-publicfinance .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-publicfinance .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-publicfinance a:focus-visible, body.view-domain-publicfinance .btn:focus-visible, body.view-domain-publicfinance .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-publicfinance .band-dark a:focus-visible, body.view-domain-publicfinance .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-publicfinance .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-publicfinance{ scroll-behavior: auto; } }

body.view-domain-publicfinance .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-business (2 pages) */

  body.view-domain-business .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-business .wrap{ padding: 0 18px; } body.view-domain-business{ font-size: 16.0px; } }
  body.view-domain-business section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-business section.tight{ padding: 48px 0; }

  body.view-domain-business .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-business .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-business .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-business .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-business .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-business .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-business .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-business .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-business .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-business .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-business .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-business .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-business .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-business .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-business .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-business .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-business .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-business .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-business .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-business .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-business .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-business .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-business .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-business .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-business .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-business .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-business .hero-illustration{ display: none; } }

  /* ---- 02 capability cards ---- */
  body.view-domain-business .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-business .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-business .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-business .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-business .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-business .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-business .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-business .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-business .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-business .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-business .domain-tree, body.view-domain-business .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-business .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-business .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-business .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-business .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-business .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-business .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-business .domain-tree li::before, body.view-domain-business .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-business .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-business .domain-tree li.derived::before, body.view-domain-business .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-business .domain-tree li.gap::before, body.view-domain-business .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-business .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-business .domain-tree li:only-child::before, body.view-domain-business .domain-tree li:only-child::after{ display: none; }
  body.view-domain-business .domain-tree li:first-child::before, body.view-domain-business .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-business .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-business .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-business .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-business .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-business .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-business .tree-node-derived{ border-style: dashed; }
  body.view-domain-business .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-business .tree-node:hover, body.view-domain-business li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-business .tree-node-gap:hover, body.view-domain-business li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-business li.path-active::before, body.view-domain-business li.path-active::after, body.view-domain-business ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-business li.gap.path-active::before, body.view-domain-business li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-business .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-business .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-business .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-business .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-business .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-business .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-business .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-business .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-business .timeline-group{ margin-top: 26px; }
  body.view-domain-business .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-business .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-business .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-business .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-business .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-business .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-business .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- signature: economic structure ---- */
  body.view-domain-business .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-business .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-business .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-business .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-business .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-business .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-business .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-business .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-business .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-business .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-business .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-business .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-business .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-business .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-business .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-business .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-business .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-business .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-business .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-business .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-business .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-business .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-business .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-business .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-business .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-business .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-business .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-business .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-business .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-business .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-business .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-business .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-business .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-business .code-block .kw{ color: #4fd9c4; }
  body.view-domain-business .code-block .cm{ color: #6b8298; }
  body.view-domain-business .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-business .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-business .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-business .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-business .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-business .live-empty-state{ padding: 16px 18px; background: var(--panel-2); border: 1px dashed var(--line); font-size: 14px; color: var(--ink-3); font-style: italic; display: none; }
  body.view-domain-business .live-empty-state.active{ display: block; }

  body.view-domain-business .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-business .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-business .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-business .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-business .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-business .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-business .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-business .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-business .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-business .status-dot.pass{ background: var(--good); }
  body.view-domain-business .status-dot.warn{ background: var(--amber); }
  body.view-domain-business .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-business .status-dot.fail{ background: #b3261e; }
  body.view-domain-business .status-line.pass{ color: var(--good); }
  body.view-domain-business .status-line.warn{ color: #9a6b00; }
  body.view-domain-business .status-line.pending{ color: var(--ink-3); }
  body.view-domain-business .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-business .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-business .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-business .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-business .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-business .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-business .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-business .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-business .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-business .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-business .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-business .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-business .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-business .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-business .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-business .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-business .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-business .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-business .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-business .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-business .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-business .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-business .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-business .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-business .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-business .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-business .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-business .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-business .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-business .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-business .band-dark .city-pass{ color: #fff; }
  body.view-domain-business .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-business .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-business .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-business .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-business .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-business .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-business .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-business .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-business .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-business .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-business .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-business .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations + versions ---- */
  body.view-domain-business .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-business .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-business .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-business .limit-box summary::marker{ content: ""; }
  body.view-domain-business .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-business .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-business .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-business .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-business .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-business .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-business .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-business .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-business .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-business .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-business .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-business .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-business .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-business .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- story + explore ---- */
  body.view-domain-business .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-business .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-business .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-business .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-business .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-business .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-business .story-arrow{ display: none; }
  @media (min-width: 901px) { body.view-domain-business .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-business .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-business .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-business .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-business .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-business .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-business .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-business .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-business .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-business .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-business .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-business a:focus-visible, body.view-domain-business .btn:focus-visible, body.view-domain-business .cap-card:focus-visible, body.view-domain-business .dist-tab:focus-visible, body.view-domain-business .timeline-step:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-business .band-dark a:focus-visible, body.view-domain-business .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-business .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-business{ scroll-behavior: auto; } }

body.view-domain-business .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-health (2 pages) */

  body.view-domain-health .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-health .wrap{ padding: 0 18px; } body.view-domain-health{ font-size: 16.0px; } }
  body.view-domain-health section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-health section.tight{ padding: 48px 0; }

  body.view-domain-health .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-health .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }
  body.view-domain-health .phase-pill.pending{ background: color-mix(in srgb, var(--amber) 16%, transparent); color: #9a6b00; }
  body.view-domain-health .phase-pill.pending::before{ background: var(--amber); }

  body.view-domain-health .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-health .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-health .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-health .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-health .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-health .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-health .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-health .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-health .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-health .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-health .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-health .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-health .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-health .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-health .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-health .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-health .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-health .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-health .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-health .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-health .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-health .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-health .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-health .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-health .hero-illustration{ display: none; } }

  /* ---- 02 capability cards ---- */
  body.view-domain-health .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-health .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-health .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-health .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-health .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-health .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-health .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-health .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-health .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-health .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-health .domain-tree, body.view-domain-health .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-health .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-health .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-health .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-health .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-health .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-health .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-health .domain-tree li::before, body.view-domain-health .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-health .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-health .domain-tree li.derived::before, body.view-domain-health .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-health .domain-tree li.gap::before, body.view-domain-health .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-health .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-health .domain-tree li:only-child::before, body.view-domain-health .domain-tree li:only-child::after{ display: none; }
  body.view-domain-health .domain-tree li:first-child::before, body.view-domain-health .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-health .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-health .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-health .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-health .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-health .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-health .tree-node-derived{ border-style: dashed; }
  body.view-domain-health .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-health .tree-node:hover, body.view-domain-health li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-health .tree-node-gap:hover, body.view-domain-health li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-health li.path-active::before, body.view-domain-health li.path-active::after, body.view-domain-health ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-health li.gap.path-active::before, body.view-domain-health li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-health .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-health .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-health .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-domain-health .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-health .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-health .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-health .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / longitudinal ---- */
  body.view-domain-health .timeline-group{ margin-top: 26px; }
  body.view-domain-health .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-health .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-health .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-health .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-health .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-health .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-health .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- signature: outbreak timeline ---- */
  body.view-domain-health .outbreak-group{ margin-top: 30px; }
  body.view-domain-health .outbreak-city-label{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.06em; color: var(--ink); }
  body.view-domain-health .outbreak-timeline{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  body.view-domain-health .outbreak-marker{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 14px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; text-align: left; }
  body.view-domain-health .outbreak-marker .yr{ display:block; font-size: 14px; font-weight: 650; color: var(--ink); }
  body.view-domain-health .outbreak-marker .nm{ display:block; font-size: 14px; color: var(--ink-3); margin-top: 2px; font-weight: 600; }
  body.view-domain-health .outbreak-marker.active{ background: var(--accent); border-color: var(--accent); }
  body.view-domain-health .outbreak-marker.active .yr, body.view-domain-health .outbreak-marker.active .nm{ color: var(--accent-ink); }
  body.view-domain-health .outbreak-detail{ display: none; margin-top: 14px; background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; }
  body.view-domain-health .outbreak-detail.active{ display: block; }
  body.view-domain-health .outbreak-detail h5{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.04em; color: var(--ink); }
  body.view-domain-health .outbreak-detail .odef{ display: grid; grid-template-columns: 140px 1fr; gap: 6px 14px; margin-top: 10px; font-size: 14px; }
  @media (max-width: 560px) { body.view-domain-health .outbreak-detail .odef{ grid-template-columns: 1fr; } }
  body.view-domain-health .outbreak-detail .odef dt{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; color: var(--ink-3); font-weight: 700; }
  body.view-domain-health .outbreak-detail .odef dd{ margin: 0; color: var(--ink-2); }
  body.view-domain-health .outbreak-note{ font-size: 14px; color: var(--ink-3); margin-top: 14px; font-style: italic; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-health .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-health .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-health .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-health .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-health .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-health .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-health .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-health .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-health .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-health .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-health .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-health .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-health .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-health .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-health .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-health .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-health .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-health .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-health .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-health .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-health .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-health .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-health .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-health .code-block .kw{ color: #4fd9c4; }
  body.view-domain-health .code-block .cm{ color: #6b8298; }
  body.view-domain-health .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-health .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-health .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-health .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-health .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-health .live-empty-state{ padding: 16px 18px; background: var(--panel-2); border: 1px dashed var(--line); font-size: 14px; color: var(--ink-3); font-style: italic; display: none; }
  body.view-domain-health .live-empty-state.active{ display: block; }

  body.view-domain-health .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-health .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-health .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-health .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-health .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-health .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-health .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-health .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-health .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-health .status-dot.pass{ background: var(--good); }
  body.view-domain-health .status-dot.warn{ background: var(--amber); }
  body.view-domain-health .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-health .status-line.pass{ color: var(--good); }
  body.view-domain-health .status-line.warn{ color: #9a6b00; }
  body.view-domain-health .status-line.pending{ color: var(--ink-3); }

  /* ---- certification ---- */
  body.view-domain-health .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-health .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-health .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-health .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-health .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-health .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-health .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-health .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-health .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-health .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-health .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-health .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-health .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-health .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-health .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-health .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-health .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-health .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-health .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-health .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-health .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-health .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-health .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-health .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-health .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-health .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-health .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-health .band-dark .city-pass{ color: #fff; }
  body.view-domain-health .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-health .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-health .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-health .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-health .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-health .band-dark .status-line.pending{ color: #8ea0ac; }

  /* ---- limitations + versions ---- */
  body.view-domain-health .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-health .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-health .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-health .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-health .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-health .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-health .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-health .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-health .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-health .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-health .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-health .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-health .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-health .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-health .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-health .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-health .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- story + explore ---- */
  body.view-domain-health .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-health .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-health .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-health .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-health .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-health .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-health .story-arrow{ display: none; }
  @media (min-width: 901px) { body.view-domain-health .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-health .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-health .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-health .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-health .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-health .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-health .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-health .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-health .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-health .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-health .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-health a:focus-visible, body.view-domain-health .btn:focus-visible, body.view-domain-health .cap-card:focus-visible, body.view-domain-health .dist-tab:focus-visible, body.view-domain-health .outbreak-marker:focus-visible, body.view-domain-health .timeline-step:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-health .band-dark a:focus-visible, body.view-domain-health .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-health .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-health{ scroll-behavior: auto; } }

body.view-domain-health .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-education (2 pages) */

  body.view-domain-education .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-education .wrap{ padding: 0 18px; } body.view-domain-education{ font-size: 16.0px; } }
  body.view-domain-education section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-education section.tight{ padding: 48px 0; }

  body.view-domain-education .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-education .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }
  body.view-domain-education .phase-pill.pending{ background: color-mix(in srgb, var(--amber) 16%, transparent); color: #9a6b00; }
  body.view-domain-education .phase-pill.pending::before{ background: var(--amber); }

  body.view-domain-education .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-education .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-education .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-education .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-education .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-education .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-education .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-education .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-education .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-education .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-education .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-education .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-education .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  body.view-domain-education .hero-stat .stat-pending-tag{ display: block; margin-top: 5px; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--amber); font-weight: 650; }
  @media (max-width: 900px) { body.view-domain-education .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-education .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-education .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-education .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-education .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-education .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-education .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-education .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-education .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-education .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-education .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-education .hero-illustration{ display: none; } }

  body.view-domain-education .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-education .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-education .lc-chip b{ color: var(--amber); }

  /* ---- 02 capability cards ---- */
  body.view-domain-education .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-education .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-education .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-education .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-education .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-education .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-education .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-education .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }
  body.view-domain-education .scope-note.warn{ border-left-color: var(--amber); }

  /* ---- ascii / connections ---- */
  body.view-domain-education .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-education .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-education .domain-tree, body.view-domain-education .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-education .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-education .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-education .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-education .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-education .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-education .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-education .domain-tree li::before, body.view-domain-education .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-education .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-education .domain-tree li.derived::before, body.view-domain-education .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-education .domain-tree li.gap::before, body.view-domain-education .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-education .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-education .domain-tree li:only-child::before, body.view-domain-education .domain-tree li:only-child::after{ display: none; }
  body.view-domain-education .domain-tree li:first-child::before, body.view-domain-education .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-education .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-education .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-education .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-education .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-education .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-education .tree-node-derived{ border-style: dashed; }
  body.view-domain-education .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-education .tree-node:hover, body.view-domain-education li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-education .tree-node-gap:hover, body.view-domain-education li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-education li.path-active::before, body.view-domain-education li.path-active::after, body.view-domain-education ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-education li.gap.path-active::before, body.view-domain-education li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-education .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-education .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-education .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-education .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-education .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-education .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-education .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-education .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-education .timeline-group{ margin-top: 26px; }
  body.view-domain-education .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-education .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-education .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-education .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-education .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-education .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-education .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }
  body.view-domain-education .tag-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  body.view-domain-education .status-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink-3); }
  body.view-domain-education .status-tag.code-complete{ color: var(--accent-strong); border-color: var(--accent); }
  body.view-domain-education .status-tag.partial{ color: #9a6b00; border-color: var(--amber); }
  body.view-domain-education .status-tag.not-modeled{ color: var(--ink-3); border-style: dashed; }

  /* ---- signature: generic real-citizen longitudinal trace, any domain without its own scoped block above (lower specificity than body.view-domain-X, so it never overrides the four domains that already have one) ---- */
  .page-family-domain .life-panel{ margin-top: 24px; }
  .page-family-domain .life-intro{ font-size: 14.5px; color: var(--ink-2); max-width: 74ch; line-height: 1.6; }
  .page-family-domain .life-timeline{ position: relative; margin-top: 22px; padding-left: 30px; }
  .page-family-domain .life-timeline::before{ content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
  .page-family-domain .life-node{ position: relative; padding-bottom: 26px; }
  .page-family-domain .life-node:last-child{ padding-bottom: 0; }
  .page-family-domain .life-node::before{ content: ""; position: absolute; left: -30px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--panel); border: 2.5px solid var(--accent-strong); }
  .page-family-domain .life-node.is-current::before{ background: var(--good); border-color: var(--good); }
  .page-family-domain .life-node .date{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.04em; }
  .page-family-domain .life-node.is-current .date{ color: var(--good); }
  .page-family-domain .life-node h5{ font-size: 15.5px; font-weight: 650; margin-top: 4px; }
  .page-family-domain .life-node p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; max-width: 60ch; }
  .page-family-domain .life-node .code{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  .page-family-domain .signature-line{ font-family: var(--font-display); font-size: clamp(22px, 3vw, 30px); font-weight: 650; line-height: 1.35; color: var(--ink); max-width: 30ch; margin-top: 8px; }
  .page-family-domain .signature-sub{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; max-width: 62ch; line-height: 1.6; }
  @media (max-width: 640px) { .page-family-domain .life-timeline{ padding-left: 24px; } .page-family-domain .life-node::before{ left: -24px; width: 11px; height: 11px; } .page-family-domain .signature-line{ max-width: none; } }

  /* ---- signature: one education history ---- */
  body.view-domain-education .life-panel{ margin-top: 24px; }
  body.view-domain-education .life-intro{ font-size: 14.5px; color: var(--ink-2); max-width: 74ch; line-height: 1.6; }
  body.view-domain-education .life-timeline{ position: relative; margin-top: 22px; padding-left: 30px; }
  body.view-domain-education .life-timeline::before{ content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
  body.view-domain-education .life-node{ position: relative; padding-bottom: 26px; }
  body.view-domain-education .life-node:last-child{ padding-bottom: 0; }
  body.view-domain-education .life-node::before{ content: ""; position: absolute; left: -30px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--panel); border: 2.5px solid var(--accent-strong); }
  body.view-domain-education .life-node.is-current::before{ background: var(--good); border-color: var(--good); }
  body.view-domain-education .life-node .date{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-education .life-node.is-current .date{ color: var(--good); }
  body.view-domain-education .life-node h5{ font-size: 15.5px; font-weight: 650; margin-top: 4px; }
  body.view-domain-education .life-node p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; max-width: 60ch; }
  body.view-domain-education .life-node .code{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-education .signature-line{ font-family: var(--font-display); font-size: clamp(22px, 3vw, 30px); font-weight: 650; line-height: 1.35; color: var(--ink); max-width: 30ch; margin-top: 8px; }
  body.view-domain-education .signature-sub{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; max-width: 62ch; line-height: 1.6; }

  /* ---- mechanism grid ---- */
  body.view-domain-education .mech-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 900px) { body.view-domain-education .mech-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-education .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 20px; }
  body.view-domain-education .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-education .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-education .mech-card .counts{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); margin-top: 8px; }
  body.view-domain-education .mech-card .counts small{ font-weight: 500; color: var(--ink-3); }
  body.view-domain-education .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-education .mech-card .rate{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 8px; display:block; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-education .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-education .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-education .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-education .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-education .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-education .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-education .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-education .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-education .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-education .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-education .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-education .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-education .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-education .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-education .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-education .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-education .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-education .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-education .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-education .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-education .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-education .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-education .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-education .code-block .kw{ color: #4fd9c4; }
  body.view-domain-education .code-block .cm{ color: #6b8298; }
  body.view-domain-education .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-education .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-education .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-education .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-education .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-education .live-empty-state{ padding: 16px 18px; background: color-mix(in srgb, var(--amber) 8%, var(--panel-2)); border: 1px dashed var(--amber); font-size: 14px; color: #9a6b00; font-style: italic; display: none; }
  body.view-domain-education .live-empty-state.active{ display: block; }

  body.view-domain-education .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-education .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-education .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-education .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-education .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-education .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-education .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-education .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-education .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-education .status-dot.pass{ background: var(--good); }
  body.view-domain-education .status-dot.warn{ background: var(--amber); }
  body.view-domain-education .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-education .status-dot.fail{ background: #b3261e; }
  body.view-domain-education .status-line.pass{ color: var(--good); }
  body.view-domain-education .status-line.warn{ color: #9a6b00; }
  body.view-domain-education .status-line.pending{ color: var(--ink-3); }
  body.view-domain-education .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-education .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-education .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-education .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-education .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-education .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-education .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-education .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-education .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-education .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-education .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-education .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-education .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-education .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-education .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-education .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-education .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-education .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-education .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-education .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-education .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-education .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-education .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-education .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-education .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-education .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-education .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-education .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-education .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-education .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-education .band-dark .city-pass{ color: #fff; }
  body.view-domain-education .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-education .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-education .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-education .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-education .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-education .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-education .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-education .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-education .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-education .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-education .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-education .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-education .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-education .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-education .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-education .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-education .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-education .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-education .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-education .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-education .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-education .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-education .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-education .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-education .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-education .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-education .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-education .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-education .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-education .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-education .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-education .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-education .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-education .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-education .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-education .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-education .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-education .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-education .city-cta .cap{ font-family: var(--mono); font-size: 14px; color: var(--amber); font-weight: 700; margin-top: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-education .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-education .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-education .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-education a:focus-visible, body.view-domain-education .btn:focus-visible, body.view-domain-education .cap-card:focus-visible, body.view-domain-education .dist-tab:focus-visible, body.view-domain-education .timeline-step:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-education .band-dark a:focus-visible, body.view-domain-education .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-education .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-education{ scroll-behavior: auto; } }

body.view-domain-education .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-housing (2 pages) */

  body.view-domain-housing .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-housing .wrap{ padding: 0 18px; } body.view-domain-housing{ font-size: 16.0px; } }
  body.view-domain-housing section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-housing section.tight{ padding: 48px 0; }

  body.view-domain-housing .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-housing .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-housing .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-housing .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-housing .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-housing .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-housing .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-housing .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-housing .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-housing .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-housing .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-housing .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-housing .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-housing .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-housing .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-housing .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-housing .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-housing .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-housing .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-housing .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-housing .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-housing .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-housing .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-housing .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-housing .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-housing .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-housing .hero-illustration{ display: none; } }

  body.view-domain-housing .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-housing .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-housing .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-housing .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-housing .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-housing .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-housing .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-housing .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-housing .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-housing .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-housing .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-housing .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-housing .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-housing .domain-tree, body.view-domain-housing .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-housing .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-housing .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-housing .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-housing .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-housing .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-housing .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-housing .domain-tree li::before, body.view-domain-housing .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-housing .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-housing .domain-tree li.derived::before, body.view-domain-housing .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-housing .domain-tree li.gap::before, body.view-domain-housing .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-housing .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-housing .domain-tree li:only-child::before, body.view-domain-housing .domain-tree li:only-child::after{ display: none; }
  body.view-domain-housing .domain-tree li:first-child::before, body.view-domain-housing .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-housing .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-housing .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-housing .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-housing .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-housing .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-housing .tree-node-derived{ border-style: dashed; }
  body.view-domain-housing .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-housing .tree-node:hover, body.view-domain-housing li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-housing .tree-node-gap:hover, body.view-domain-housing li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-housing li.path-active::before, body.view-domain-housing li.path-active::after, body.view-domain-housing ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-housing li.gap.path-active::before, body.view-domain-housing li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-housing .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-housing .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-housing .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-domain-housing .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-housing .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-housing .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-housing .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-housing .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-housing .timeline-group{ margin-top: 26px; }
  body.view-domain-housing .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-housing .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-housing .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-housing .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-housing .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-housing .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-housing .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- signature: household -> home lifecycle ---- */
  body.view-domain-housing .life-timeline{ position: relative; margin-top: 22px; padding-left: 30px; }
  body.view-domain-housing .life-timeline::before{ content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
  body.view-domain-housing .life-node{ position: relative; padding-bottom: 26px; }
  body.view-domain-housing .life-node:last-child{ padding-bottom: 0; }
  body.view-domain-housing .life-node::before{ content: ""; position: absolute; left: -30px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--panel); border: 2.5px solid var(--accent-strong); }
  body.view-domain-housing .life-node.is-current::before{ background: var(--good); border-color: var(--good); }
  body.view-domain-housing .life-node .date{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-housing .life-node.is-current .date{ color: var(--good); }
  body.view-domain-housing .life-node h5{ font-size: 15.5px; font-weight: 650; margin-top: 4px; }
  body.view-domain-housing .life-node p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; max-width: 62ch; }
  body.view-domain-housing .life-node .code{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-housing .signature-line{ font-family: var(--font-display); font-size: clamp(22px, 3vw, 30px); font-weight: 650; line-height: 1.35; color: var(--ink); max-width: 30ch; margin-top: 8px; }
  body.view-domain-housing .signature-sub{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; max-width: 66ch; line-height: 1.6; }

  /* ---- mechanism / mech grid ---- */
  body.view-domain-housing .mech-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 900px) { body.view-domain-housing .mech-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-housing .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 20px; }
  body.view-domain-housing .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-housing .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-housing .mech-card .counts{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); margin-top: 8px; }
  body.view-domain-housing .mech-card .counts small{ font-weight: 500; color: var(--ink-3); }
  body.view-domain-housing .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-housing .mech-card .rate{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 8px; display:block; }

  /* ---- Nairobi vs Lagos comparison tables ---- */
  body.view-domain-housing .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-housing .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-housing .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-housing .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-housing .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-housing .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-housing .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-housing .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-housing .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-housing .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-housing .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-housing .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-housing .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-housing .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-housing .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-housing .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-housing .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-housing .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-housing .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-housing .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-housing .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-housing .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-housing .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-housing .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-housing .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-housing .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-housing .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-housing .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-housing .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-housing .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-housing .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-housing .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-housing .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-housing .code-block .kw{ color: #4fd9c4; }
  body.view-domain-housing .code-block .cm{ color: #6b8298; }
  body.view-domain-housing .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-housing .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-housing .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-housing .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-housing .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-housing .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-housing .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-housing .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-housing .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-housing .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-housing .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-housing .status-dot.pass{ background: var(--good); }
  body.view-domain-housing .status-dot.warn{ background: var(--amber); }
  body.view-domain-housing .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-housing .status-dot.fail{ background: #b3261e; }
  body.view-domain-housing .status-line.pass{ color: var(--good); }
  body.view-domain-housing .status-line.warn{ color: #9a6b00; }
  body.view-domain-housing .status-line.pending{ color: var(--ink-3); }
  body.view-domain-housing .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-housing .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-housing .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-housing .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-housing .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-housing .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-housing .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-housing .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-housing .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-housing .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-housing .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-housing .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-housing .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-housing .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-housing .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-housing .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-housing .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-housing .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-housing .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-housing .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-housing .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-housing .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-housing .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-housing .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-housing .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-housing .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-housing .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-housing .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-housing .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-housing .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-housing .band-dark .city-pass{ color: #fff; }
  body.view-domain-housing .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-housing .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-housing .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-housing .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-housing .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-housing .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-housing .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-housing .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-housing .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-housing .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-housing .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-housing .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations + versions ---- */
  body.view-domain-housing .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-housing .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-housing .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-housing .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-housing .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-housing .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-housing .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-housing .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-housing .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-housing .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-housing .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-housing .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-housing .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-housing .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-housing .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-housing .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-housing .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-housing .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-housing .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-housing .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-housing .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-housing .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-housing .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-housing .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-housing .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-housing .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-housing .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-housing .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-housing .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-housing a:focus-visible, body.view-domain-housing .btn:focus-visible, body.view-domain-housing .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-housing .band-dark a:focus-visible, body.view-domain-housing .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-housing .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-housing{ scroll-behavior: auto; } }

body.view-domain-housing .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-employment (2 pages) */

  body.view-domain-employment .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-employment .wrap{ padding: 0 18px; } body.view-domain-employment{ font-size: 16.0px; } }
  body.view-domain-employment section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-employment section.tight{ padding: 48px 0; }

  body.view-domain-employment .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-employment .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-employment .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-employment .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-employment .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-employment .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-employment .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-employment .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-employment .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-employment .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-employment .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-employment .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-employment .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-employment .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-employment .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-employment .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-employment .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-employment .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-employment .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-employment .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-employment .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-employment .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-employment .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-employment .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-employment .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-employment .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-employment .hero-illustration{ display: none; } }

  /* ---- 02 capability cards ---- */
  body.view-domain-employment .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-employment .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-employment .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-employment .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-employment .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-employment .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-employment .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-employment .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-employment .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-employment .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-employment .domain-tree, body.view-domain-employment .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-employment .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-employment .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-employment .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-employment .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-employment .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-employment .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-employment .domain-tree li::before, body.view-domain-employment .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-employment .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-employment .domain-tree li.derived::before, body.view-domain-employment .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-employment .domain-tree li.gap::before, body.view-domain-employment .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-employment .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-employment .domain-tree li:only-child::before, body.view-domain-employment .domain-tree li:only-child::after{ display: none; }
  body.view-domain-employment .domain-tree li:first-child::before, body.view-domain-employment .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-employment .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-employment .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-employment .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-employment .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-employment .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-employment .tree-node-derived{ border-style: dashed; }
  body.view-domain-employment .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-employment .tree-node:hover, body.view-domain-employment li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-employment .tree-node-gap:hover, body.view-domain-employment li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-employment li.path-active::before, body.view-domain-employment li.path-active::after, body.view-domain-employment ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-employment li.gap.path-active::before, body.view-domain-employment li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-employment .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-employment .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-employment .domain-tree{ transform: scale(0.82); transform-origin: top center; } }

  body.view-domain-employment .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-employment .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-employment .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-employment .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-employment .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-employment .timeline-group{ margin-top: 26px; }
  body.view-domain-employment .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-employment .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-employment .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-employment .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-employment .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-employment .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-employment .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- signature: economic response ---- */
  body.view-domain-employment .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-employment .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-employment .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-employment .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-employment .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-employment .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-employment .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-employment .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-employment .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-employment .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- signature: historical collapse timeline ---- */
  body.view-domain-employment .outbreak-group{ margin-top: 30px; }
  body.view-domain-employment .outbreak-city-label{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.06em; color: var(--ink); }
  body.view-domain-employment .outbreak-timeline{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  body.view-domain-employment .outbreak-marker{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 14px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; text-align: left; }
  body.view-domain-employment .outbreak-marker .yr{ display:block; font-size: 14px; font-weight: 650; color: var(--ink); }
  body.view-domain-employment .outbreak-marker .nm{ display:block; font-size: 14px; color: var(--ink-3); margin-top: 2px; font-weight: 600; }
  body.view-domain-employment .outbreak-marker.active{ background: var(--accent); border-color: var(--accent); }
  body.view-domain-employment .outbreak-marker.active .yr, body.view-domain-employment .outbreak-marker.active .nm{ color: var(--accent-ink); }
  body.view-domain-employment .outbreak-detail{ display: none; margin-top: 14px; background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; }
  body.view-domain-employment .outbreak-detail.active{ display: block; }
  body.view-domain-employment .outbreak-detail h5{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.04em; color: var(--ink); }
  body.view-domain-employment .outbreak-detail .odef{ display: grid; grid-template-columns: 140px 1fr; gap: 6px 14px; margin-top: 10px; font-size: 14px; }
  @media (max-width: 560px) { body.view-domain-employment .outbreak-detail .odef{ grid-template-columns: 1fr; } }
  body.view-domain-employment .outbreak-detail .odef dt{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; color: var(--ink-3); font-weight: 700; }
  body.view-domain-employment .outbreak-detail .odef dd{ margin: 0; color: var(--ink-2); }
  body.view-domain-employment .outbreak-note{ font-size: 14px; color: var(--ink-3); margin-top: 14px; font-style: italic; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-employment .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-employment .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-employment .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-employment .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-employment .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-employment .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-employment .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-employment .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-employment .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-employment .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-employment .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-employment .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-employment .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-employment .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-employment .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-employment .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-employment .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-employment .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-employment .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-employment .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-employment .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-employment .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-employment .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-employment .code-block .kw{ color: #4fd9c4; }
  body.view-domain-employment .code-block .cm{ color: #6b8298; }
  body.view-domain-employment .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-employment .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-employment .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-employment .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-employment .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-employment .live-empty-state{ padding: 16px 18px; background: var(--panel-2); border: 1px dashed var(--line); font-size: 14px; color: var(--ink-3); font-style: italic; display: none; }
  body.view-domain-employment .live-empty-state.active{ display: block; }

  body.view-domain-employment .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-employment .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-employment .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-employment .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-employment .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-employment .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-employment .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-employment .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-employment .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-employment .status-dot.pass{ background: var(--good); }
  body.view-domain-employment .status-dot.warn{ background: var(--amber); }
  body.view-domain-employment .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-employment .status-dot.fail{ background: #b3261e; }
  body.view-domain-employment .status-line.pass{ color: var(--good); }
  body.view-domain-employment .status-line.warn{ color: #9a6b00; }
  body.view-domain-employment .status-line.pending{ color: var(--ink-3); }
  body.view-domain-employment .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-employment .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-employment .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-employment .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-employment .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-employment .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-employment .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-employment .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-employment .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-employment .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-employment .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-employment .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-employment .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-employment .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-employment .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-employment .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-employment .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-employment .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-employment .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-employment .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-employment .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-employment .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-employment .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-employment .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-employment .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-employment .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-employment .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-employment .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-employment .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-employment .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-employment .band-dark .city-pass{ color: #fff; }
  body.view-domain-employment .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-employment .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-employment .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-employment .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-employment .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-employment .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-employment .band-dark .status-line.fail{ color: #ff6b5e; }

  /* ---- limitations + versions ---- */
  body.view-domain-employment .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-employment .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-employment .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-employment .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-employment .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-employment .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-employment .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-employment .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-employment .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-employment .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-employment .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-employment .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-employment .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-employment .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-employment .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-employment .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-employment .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- story + explore ---- */
  body.view-domain-employment .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-employment .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-employment .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-employment .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-employment .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-employment .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-employment .story-arrow{ display: none; }
  @media (min-width: 901px) { body.view-domain-employment .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-employment .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-employment .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-employment .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-employment .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-employment .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-employment .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-employment .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-employment .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-employment .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-employment .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-employment a:focus-visible, body.view-domain-employment .btn:focus-visible, body.view-domain-employment .cap-card:focus-visible, body.view-domain-employment .dist-tab:focus-visible, body.view-domain-employment .outbreak-marker:focus-visible, body.view-domain-employment .timeline-step:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-employment .band-dark a:focus-visible, body.view-domain-employment .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-employment .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-employment{ scroll-behavior: auto; } }

body.view-domain-employment .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-energy (2 pages) */

  body.view-domain-energy .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-energy .wrap{ padding: 0 18px; } body.view-domain-energy{ font-size: 16.0px; } }
  body.view-domain-energy section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-energy section.tight{ padding: 48px 0; }

  body.view-domain-energy .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-energy .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-energy .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-energy .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-energy .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-energy .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-energy .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-energy .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-energy .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-energy .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-energy .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-energy .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-energy .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-energy .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(16px, 1.9vw, 20px); color: var(--ink); }
  body.view-domain-energy .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-energy .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-energy .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-energy .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-energy .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-energy .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-energy .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-energy .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-energy .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-energy .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-energy .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-energy .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-energy .hero-illustration{ display: none; } }

  body.view-domain-energy .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-energy .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-energy .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-energy .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-energy .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-energy .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-energy .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-energy .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-energy .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-energy .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-energy .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-energy .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-energy .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-energy .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-energy .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-energy .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-energy .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-energy .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-energy .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-energy .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-energy .domain-tree, body.view-domain-energy .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-energy .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-energy .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-energy .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-energy .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-energy .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-energy .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-energy .domain-tree li::before, body.view-domain-energy .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-energy .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-energy .domain-tree li.derived::before, body.view-domain-energy .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-energy .domain-tree li.gap::before, body.view-domain-energy .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-energy .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-energy .domain-tree li:only-child::before, body.view-domain-energy .domain-tree li:only-child::after{ display: none; }
  body.view-domain-energy .domain-tree li:first-child::before, body.view-domain-energy .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-energy .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-energy .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-energy .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-energy .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-energy .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-energy .tree-node-derived{ border-style: dashed; }
  body.view-domain-energy .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-energy .tree-node:hover, body.view-domain-energy li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-energy .tree-node-gap:hover, body.view-domain-energy li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-energy li.path-active::before, body.view-domain-energy li.path-active::after, body.view-domain-energy ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-energy li.gap.path-active::before, body.view-domain-energy li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-energy .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-energy .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-energy .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-energy .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-energy .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-energy .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-energy .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-energy .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-energy .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-energy .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-energy .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-energy .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-energy .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-energy .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-energy .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-energy .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-energy .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-energy .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-energy .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-energy .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-energy .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-energy .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-energy .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-energy .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-energy .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-energy .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-energy .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-energy .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-energy .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-energy .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-energy .code-block .kw{ color: #4fd9c4; }
  body.view-domain-energy .code-block .cm{ color: #6b8298; }
  body.view-domain-energy .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-energy .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-energy .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-energy .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-energy .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-energy .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-energy .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-energy .status-dot.ok{ background: var(--accent); }
  body.view-domain-energy .status-dot.warn{ background: var(--amber); }
  body.view-domain-energy .status-line.warn{ color: var(--ink); }

  body.view-domain-energy .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-energy .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(28px, 4.2vw, 38px); color: var(--ink); line-height: 1.15; }
  body.view-domain-energy .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-energy .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-energy .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-energy .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-energy .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-energy .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-energy .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-energy .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-energy .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-energy .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-energy .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-energy .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-energy .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-energy .band-dark .status-dot.ok{ background: #4fd9c4; }
  body.view-domain-energy .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-energy .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-energy .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-energy .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-energy .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-energy .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-energy .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-energy .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-energy .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-energy .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-energy .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-energy .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-energy .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-energy .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-energy .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-energy .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-energy .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-energy .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-energy .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-energy .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-energy .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-energy .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-energy .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-energy .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-energy .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-energy .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-energy .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-energy .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-energy .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-energy .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-energy .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-energy .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-energy .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-energy a:focus-visible, body.view-domain-energy .btn:focus-visible, body.view-domain-energy .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-energy .band-dark a:focus-visible, body.view-domain-energy .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-energy .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-energy{ scroll-behavior: auto; } }

body.view-domain-energy .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-economy (2 pages) */

  body.view-domain-economy .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-economy .wrap{ padding: 0 18px; } body.view-domain-economy{ font-size: 16.0px; } }
  body.view-domain-economy section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-economy section.tight{ padding: 48px 0; }

  body.view-domain-economy .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-economy .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }
  body.view-domain-economy .phase-pill.honest{ background: color-mix(in srgb, var(--amber) 16%, transparent); color: #9a6b00; }
  body.view-domain-economy .phase-pill.honest::before{ background: var(--amber); }

  body.view-domain-economy .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-economy .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-economy .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-economy .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-economy .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-economy .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-economy .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-economy .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-economy .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-economy .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-economy .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-economy .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-economy .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-economy .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-economy .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-economy .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-economy .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-economy .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-economy .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-economy .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-economy .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-economy .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-economy .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-economy .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-economy .hero-illustration{ display: none; } }

  body.view-domain-economy .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-economy .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-economy .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-economy .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-economy .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-economy .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-economy .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-economy .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-economy .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-economy .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-economy .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-economy .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-economy .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-economy .domain-tree, body.view-domain-economy .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-economy .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-economy .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-economy .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-economy .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-economy .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-economy .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-economy .domain-tree li::before, body.view-domain-economy .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-economy .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-economy .domain-tree li.derived::before, body.view-domain-economy .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-economy .domain-tree li.gap::before, body.view-domain-economy .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-economy .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-economy .domain-tree li:only-child::before, body.view-domain-economy .domain-tree li:only-child::after{ display: none; }
  body.view-domain-economy .domain-tree li:first-child::before, body.view-domain-economy .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-economy .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-economy .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-economy .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-economy .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-economy .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-economy .tree-node-derived{ border-style: dashed; }
  body.view-domain-economy .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-economy .tree-node:hover, body.view-domain-economy li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-economy .tree-node-gap:hover, body.view-domain-economy li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-economy li.path-active::before, body.view-domain-economy li.path-active::after, body.view-domain-economy ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-economy li.gap.path-active::before, body.view-domain-economy li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-economy .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-economy .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-economy .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-economy .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-economy .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-economy .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-economy .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-economy .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- two-example comparison cards ---- */
  body.view-domain-economy .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-economy .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-economy .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-economy .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-economy .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-economy .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-economy .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-economy .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-economy .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  /* ---- Nairobi vs Lagos comparison tables ---- */
  body.view-domain-economy .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-economy .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-economy .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-economy .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-economy .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-economy .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-economy .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-economy .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-economy .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-economy .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-economy .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-economy .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-economy .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-economy .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-economy .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-economy .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-economy .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-economy .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-economy .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-economy .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-economy .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-economy .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-economy .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-economy .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-economy .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-economy .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-economy .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-economy .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-economy .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-economy .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-economy .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-economy .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-economy .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-economy .code-block .kw{ color: #4fd9c4; }
  body.view-domain-economy .code-block .cm{ color: #6b8298; }
  body.view-domain-economy .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-economy .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-economy .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-economy .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-economy .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-economy .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-economy .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-economy .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-economy .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-economy .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-economy .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-economy .status-dot.pass{ background: var(--good); }
  body.view-domain-economy .status-dot.warn{ background: var(--amber); }
  body.view-domain-economy .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-economy .status-dot.fail{ background: #b3261e; }
  body.view-domain-economy .status-line.pass{ color: var(--good); }
  body.view-domain-economy .status-line.warn{ color: #9a6b00; }
  body.view-domain-economy .status-line.pending{ color: var(--ink-3); }
  body.view-domain-economy .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-economy .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-economy .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 5vw, 44px); color: var(--ink); line-height: 1; }
  body.view-domain-economy .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-economy .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-economy .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-economy .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-economy .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-economy .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-economy .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-economy .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-economy .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-economy .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-economy .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-economy .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-economy .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-economy .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-economy .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }
  body.view-domain-economy .city-pass .dot.pending{ background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-economy .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-economy .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-economy .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-economy .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-economy .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-economy .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-economy .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-economy .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-economy .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-economy .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-economy .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-economy .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-economy .band-dark .city-pass{ color: #fff; }
  body.view-domain-economy .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-economy .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-economy .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-economy .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-economy .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-economy .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-economy .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-economy .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-economy .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-economy .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-economy .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-economy .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-economy .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-economy .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-economy .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-economy .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-economy .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-economy .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-economy .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-economy .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-economy .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-economy .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-economy .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-economy .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-economy .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-economy .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-economy .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-economy .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-economy .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-economy .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-economy .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-economy .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-economy .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-economy .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-economy .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-economy .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-economy .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-economy a:focus-visible, body.view-domain-economy .btn:focus-visible, body.view-domain-economy .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-economy .band-dark a:focus-visible, body.view-domain-economy .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-economy .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-economy{ scroll-behavior: auto; } }

body.view-domain-economy .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-hr (2 pages) */

  body.view-domain-hr .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-hr .wrap{ padding: 0 18px; } body.view-domain-hr{ font-size: 16.0px; } }
  body.view-domain-hr section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-hr section.tight{ padding: 48px 0; }

  body.view-domain-hr .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-hr .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }
  body.view-domain-hr .phase-pill.pending{ background: color-mix(in srgb, var(--amber) 16%, transparent); color: #9a6b00; }
  body.view-domain-hr .phase-pill.pending::before{ background: var(--amber); }

  body.view-domain-hr .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-hr .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-hr .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-hr .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-hr .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-hr .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-hr .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-hr .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-hr .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-hr .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-hr .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-hr .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-hr .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-hr .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-hr .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-hr .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-hr .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-hr .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-hr .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-hr .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-hr .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-hr .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-hr .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-hr .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-hr .hero-illustration{ display: none; } }

  body.view-domain-hr .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-hr .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-hr .lc-chip b{ color: var(--amber); }

  /* ---- 02 capability cards ---- */
  body.view-domain-hr .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-hr .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-hr .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-hr .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-hr .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-hr .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-hr .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-hr .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }
  body.view-domain-hr .scope-note.warn{ border-left-color: var(--amber); }

  /* ---- ascii / connections ---- */
  body.view-domain-hr .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-hr .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-hr .domain-tree, body.view-domain-hr .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-hr .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-hr .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-hr .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-hr .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-hr .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-hr .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-hr .domain-tree li::before, body.view-domain-hr .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-hr .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-hr .domain-tree li.derived::before, body.view-domain-hr .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-hr .domain-tree li.gap::before, body.view-domain-hr .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-hr .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-hr .domain-tree li:only-child::before, body.view-domain-hr .domain-tree li:only-child::after{ display: none; }
  body.view-domain-hr .domain-tree li:first-child::before, body.view-domain-hr .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-hr .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-hr .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-hr .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-hr .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-hr .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-hr .tree-node-derived{ border-style: dashed; }
  body.view-domain-hr .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-hr .tree-node:hover, body.view-domain-hr li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-hr .tree-node-gap:hover, body.view-domain-hr li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-hr li.path-active::before, body.view-domain-hr li.path-active::after, body.view-domain-hr ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-hr li.gap.path-active::before, body.view-domain-hr li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-hr .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-hr .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-hr .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-hr .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-hr .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-hr .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-hr .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-hr .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }
  body.view-domain-hr .diagram-vs{ display: flex; align-items: stretch; gap: 18px; margin-top: 18px; flex-wrap: wrap; }
  body.view-domain-hr .diagram-vs > div{ flex: 1 1 260px; }
  body.view-domain-hr .diagram-vs .vs-arrow{ display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 20.0px; color: var(--ink-3); flex: 0 0 auto; padding: 0 4px; }
  body.view-domain-hr .diagram-vs h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-hr .timeline-group{ margin-top: 26px; }
  body.view-domain-hr .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-hr .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-hr .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-hr .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-hr .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-hr .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-hr .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }
  body.view-domain-hr .tag-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  body.view-domain-hr .status-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink-3); }
  body.view-domain-hr .status-tag.code-complete{ color: var(--accent-strong); border-color: var(--accent); }
  body.view-domain-hr .status-tag.partial{ color: #9a6b00; border-color: var(--amber); }
  body.view-domain-hr .status-tag.not-modeled{ color: var(--ink-3); border-style: dashed; }

  /* ---- signature: one employee history ---- */
  body.view-domain-hr .life-panel{ margin-top: 24px; }
  body.view-domain-hr .life-intro{ font-size: 14.5px; color: var(--ink-2); max-width: 74ch; line-height: 1.6; }
  body.view-domain-hr .life-timeline{ position: relative; margin-top: 22px; padding-left: 30px; }
  body.view-domain-hr .life-timeline::before{ content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
  body.view-domain-hr .life-node{ position: relative; padding-bottom: 26px; }
  body.view-domain-hr .life-node:last-child{ padding-bottom: 0; }
  body.view-domain-hr .life-node::before{ content: ""; position: absolute; left: -30px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--panel); border: 2.5px solid var(--accent-strong); }
  body.view-domain-hr .life-node.is-current::before{ background: var(--good); border-color: var(--good); }
  body.view-domain-hr .life-node .date{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-hr .life-node.is-current .date{ color: var(--good); }
  body.view-domain-hr .life-node h5{ font-size: 15.5px; font-weight: 650; margin-top: 4px; }
  body.view-domain-hr .life-node p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; max-width: 60ch; }
  body.view-domain-hr .life-node .code{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-hr .signature-line{ font-family: var(--font-display); font-size: clamp(22px, 3vw, 30px); font-weight: 650; line-height: 1.35; color: var(--ink); max-width: 30ch; margin-top: 8px; }
  body.view-domain-hr .signature-sub{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; max-width: 62ch; line-height: 1.6; }

  /* ---- mechanism grid ---- */
  body.view-domain-hr .mech-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 900px) { body.view-domain-hr .mech-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-hr .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 20px; }
  body.view-domain-hr .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-hr .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-hr .mech-card .counts{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); margin-top: 8px; }
  body.view-domain-hr .mech-card .counts small{ font-weight: 500; color: var(--ink-3); }
  body.view-domain-hr .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-hr .mech-card .rate{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 8px; display:block; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-hr .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-hr .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-hr .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-hr .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-hr .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-hr .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-hr .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-hr .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-hr .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-hr .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-hr .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-hr .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources / grade band tables ---- */
  body.view-domain-hr .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-hr .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-hr .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-hr .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-hr .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-hr .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-hr .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-hr .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-hr .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-hr .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-hr .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-hr .code-block .kw{ color: #4fd9c4; }
  body.view-domain-hr .code-block .cm{ color: #6b8298; }
  body.view-domain-hr .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-hr .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-hr .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-hr .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-hr .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-hr .live-empty-state{ padding: 16px 18px; background: color-mix(in srgb, var(--amber) 8%, var(--panel-2)); border: 1px dashed var(--amber); font-size: 14px; color: #9a6b00; font-style: italic; display: none; }
  body.view-domain-hr .live-empty-state.active{ display: block; }

  body.view-domain-hr .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-hr .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-hr .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-hr .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-hr .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-hr .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-hr .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-hr .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-hr .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-hr .status-dot.pass{ background: var(--good); }
  body.view-domain-hr .status-dot.warn{ background: var(--amber); }
  body.view-domain-hr .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-hr .status-dot.fail{ background: #b3261e; }
  body.view-domain-hr .status-line.pass{ color: var(--good); }
  body.view-domain-hr .status-line.warn{ color: #9a6b00; }
  body.view-domain-hr .status-line.pending{ color: var(--ink-3); }
  body.view-domain-hr .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-hr .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-hr .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-hr .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-hr .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-hr .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-hr .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-hr .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-hr .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-hr .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-hr .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-hr .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-hr .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-hr .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-hr .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-hr .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-hr .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-hr .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-hr .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-hr .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-hr .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-hr .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-hr .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-hr .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-hr .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-hr .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-hr .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-hr .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-hr .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-hr .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-hr .band-dark .city-pass{ color: #fff; }
  body.view-domain-hr .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-hr .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-hr .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-hr .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-hr .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-hr .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-hr .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-hr .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-hr .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-hr .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-hr .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-hr .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-hr .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-hr .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-hr .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-hr .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-hr .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-hr .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-hr .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-hr .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-hr .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-hr .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-hr .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-hr .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-hr .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-hr .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-hr .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-hr .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-hr .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-hr .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-hr .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-hr .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-hr .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-hr .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-hr .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-hr .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-hr .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-hr .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-hr .city-cta .cap{ font-family: var(--mono); font-size: 14px; color: var(--amber); font-weight: 700; margin-top: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-hr .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-hr .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-hr .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-hr a:focus-visible, body.view-domain-hr .btn:focus-visible, body.view-domain-hr .cap-card:focus-visible, body.view-domain-hr .dist-tab:focus-visible, body.view-domain-hr .timeline-step:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-hr .band-dark a:focus-visible, body.view-domain-hr .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-hr .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-hr{ scroll-behavior: auto; } }

body.view-domain-hr .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-household (2 pages) */

  body.view-domain-household .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-household .wrap{ padding: 0 18px; } body.view-domain-household{ font-size: 16.0px; } }
  body.view-domain-household section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-household section.tight{ padding: 48px 0; }

  body.view-domain-household .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-household .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-household .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-household .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-household .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-household .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-household .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-household .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-household .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-household .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-household .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-household .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-household .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-household .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-household .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-household .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-household .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-household .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-household .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-household .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-household .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-household .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-household .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-household .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-household .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-household .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-household .hero-illustration{ display: none; } }

  body.view-domain-household .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-household .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-household .lc-chip b{ color: var(--accent-strong); }

  /* ---- 02 capability cards ---- */
  body.view-domain-household .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-household .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-household .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-household .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-household .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-household .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-household .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-household .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-household .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-household .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-household .domain-tree, body.view-domain-household .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-household .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-household .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-household .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-household .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-household .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-household .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-household .domain-tree li::before, body.view-domain-household .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-household .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-household .domain-tree li.derived::before, body.view-domain-household .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-household .domain-tree li.gap::before, body.view-domain-household .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-household .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-household .domain-tree li:only-child::before, body.view-domain-household .domain-tree li:only-child::after{ display: none; }
  body.view-domain-household .domain-tree li:first-child::before, body.view-domain-household .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-household .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-household .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-household .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-household .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-household .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-household .tree-node-derived{ border-style: dashed; }
  body.view-domain-household .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-household .tree-node:hover, body.view-domain-household li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-household .tree-node-gap:hover, body.view-domain-household li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-household li.path-active::before, body.view-domain-household li.path-active::after, body.view-domain-household ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-household li.gap.path-active::before, body.view-domain-household li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-household .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-household .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-household .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-household .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-household .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-household .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-household .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-household .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- timelines / lifecycle ---- */
  body.view-domain-household .timeline-group{ margin-top: 26px; }
  body.view-domain-household .timeline-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; margin-bottom: 12px; }
  body.view-domain-household .timeline-chain{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  body.view-domain-household .timeline-step{ background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 14px; font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-household .timeline-step.planned{ background: var(--panel-2); border-style: dashed; color: var(--ink-3); font-weight: 600; }
  body.view-domain-household .timeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  @media (max-width: 640px) { body.view-domain-household .timeline-chain{ flex-direction: column; align-items: flex-start; } body.view-domain-household .timeline-arrow{ transform: rotate(90deg); padding: 4px 0 4px 16px; } }

  /* ---- signature: follow the citizen ---- */
  body.view-domain-household .citizen-toggle{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
  body.view-domain-household .citizen-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 10px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; text-align: left; }
  body.view-domain-household .citizen-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
  body.view-domain-household .citizen-tab .sub{ display:block; font-weight: 500; font-size: 14px; opacity: 0.85; margin-top: 2px; }
  body.view-domain-household .life-panel{ display: none; margin-top: 24px; }
  body.view-domain-household .life-panel.active{ display: block; }
  body.view-domain-household .life-intro{ font-size: 14.5px; color: var(--ink-2); max-width: 74ch; line-height: 1.6; }
  body.view-domain-household .life-timeline{ position: relative; margin-top: 22px; padding-left: 30px; }
  body.view-domain-household .life-timeline::before{ content: ""; position: absolute; left: 9px; top: 6px; bottom: 6px; width: 2px; background: var(--line); }
  body.view-domain-household .life-node{ position: relative; padding-bottom: 26px; }
  body.view-domain-household .life-node:last-child{ padding-bottom: 0; }
  body.view-domain-household .life-node::before{ content: ""; position: absolute; left: -30px; top: 3px; width: 13px; height: 13px; border-radius: 50%; background: var(--panel); border: 2.5px solid var(--accent-strong); }
  body.view-domain-household .life-node.is-current::before{ background: var(--good); border-color: var(--good); }
  body.view-domain-household .life-node .date{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-household .life-node.is-current .date{ color: var(--good); }
  body.view-domain-household .life-node h5{ font-size: 15.5px; font-weight: 650; margin-top: 4px; }
  body.view-domain-household .life-node p{ font-size: 14px; color: var(--ink-2); margin-top: 4px; line-height: 1.55; max-width: 60ch; }
  body.view-domain-household .life-node .code{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); }
  body.view-domain-household .signature-line{ font-family: var(--font-display); font-size: clamp(22px, 3vw, 30px); font-weight: 650; line-height: 1.35; color: var(--ink); max-width: 26ch; margin-top: 8px; }
  body.view-domain-household .signature-sub{ font-size: 15.0px; color: var(--ink-2); margin-top: 12px; max-width: 62ch; line-height: 1.6; }
  @media (max-width: 640px) { body.view-domain-education .life-timeline, body.view-domain-housing .life-timeline, body.view-domain-hr .life-timeline, body.view-domain-household .life-timeline{ padding-left: 24px; } body.view-domain-education .life-node::before, body.view-domain-housing .life-node::before, body.view-domain-hr .life-node::before, body.view-domain-household .life-node::before{ left: -24px; width: 11px; height: 11px; } body.view-domain-education .signature-line, body.view-domain-housing .signature-line, body.view-domain-hr .signature-line, body.view-domain-household .signature-line{ max-width: none; } body.view-domain-household .citizen-toggle{ flex-direction: column; } body.view-domain-household .citizen-tab{ width: 100%; } }

  /* ---- mechanism grid ---- */
  body.view-domain-household .mech-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 900px) { body.view-domain-household .mech-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-household .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 20px; }
  body.view-domain-household .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-household .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-household .mech-card .counts{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); margin-top: 8px; }
  body.view-domain-household .mech-card .counts small{ font-weight: 500; color: var(--ink-3); }
  body.view-domain-household .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-household .mech-card .rate{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 8px; display:block; }

  /* ---- signature: economic-style structure comparison (family structure) ---- */
  body.view-domain-household .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-household .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-household .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-household .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-household .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-household .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-household .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-household .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-household .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-household .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-household .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-household .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-household .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-household .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-household .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-household .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-household .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-household .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-household .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-household .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-household .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-household .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-household .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-household .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-household .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-household .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-household .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-household .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-household .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-household .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-household .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-household .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-household .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-household .code-block .kw{ color: #4fd9c4; }
  body.view-domain-household .code-block .cm{ color: #6b8298; }
  body.view-domain-household .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-household .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-household .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-household .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-household .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }
  body.view-domain-household .live-empty-state{ padding: 16px 18px; background: var(--panel-2); border: 1px dashed var(--line); font-size: 14px; color: var(--ink-3); font-style: italic; display: none; }
  body.view-domain-household .live-empty-state.active{ display: block; }

  body.view-domain-household .dist-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
  body.view-domain-household .dist-tab{ font-family: var(--mono); font-size: 14px; font-weight: 700; padding: 9px 16px; border: 1px solid var(--line); background: var(--panel); color: var(--ink-2); cursor: pointer; }
  body.view-domain-household .dist-tab.active{ background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

  /* ---- realism ---- */
  body.view-domain-household .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-household .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-household .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-household .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-household .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-household .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-household .status-dot.pass{ background: var(--good); }
  body.view-domain-household .status-dot.warn{ background: var(--amber); }
  body.view-domain-household .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-household .status-dot.fail{ background: #b3261e; }
  body.view-domain-household .status-line.pass{ color: var(--good); }
  body.view-domain-household .status-line.warn{ color: #9a6b00; }
  body.view-domain-household .status-line.pending{ color: var(--ink-3); }
  body.view-domain-household .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-household .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-household .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-household .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-household .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-household .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-household .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-household .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-household .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-household .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-household .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-household .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-household .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-household .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-household .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-household .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-household .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-household .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-household .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-household .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-household .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-household .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-household .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-household .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-household .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-household .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-household .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-household .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-household .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-household .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-household .band-dark .city-pass{ color: #fff; }
  body.view-domain-household .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-household .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-household .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-household .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-household .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-household .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-household .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-household .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-household .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-household .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-household .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-household .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations + versions ---- */
  body.view-domain-household .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-household .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-household .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-household .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-household .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-household .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-household .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-household .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-household .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-household .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-household .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-household .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }
  body.view-domain-household .version-list{ margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  body.view-domain-household .version-row{ display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
  body.view-domain-household .version-tag{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
  body.view-domain-household .version-date{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); white-space: nowrap; }
  body.view-domain-household .version-desc{ font-size: 14.5px; color: var(--ink-2); flex: 1 1 320px; }

  /* ---- story + explore ---- */
  body.view-domain-household .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-household .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-household .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .story-card{ background: var(--panel); padding: 20px 18px; position: relative; }
  body.view-domain-household .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-household .story-card h5{ font-size: 14.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-household .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-household .story-arrow{ display: none; }
  @media (min-width: 901px) { body.view-domain-household .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-household .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-household .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-household .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-household .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-household .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-household .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-household .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-household .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-household .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-household .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-household a:focus-visible, body.view-domain-household .btn:focus-visible, body.view-domain-household .cap-card:focus-visible, body.view-domain-household .dist-tab:focus-visible, body.view-domain-household .timeline-step:focus-visible, body.view-domain-household .citizen-tab:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-household .band-dark a:focus-visible, body.view-domain-household .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-household .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-household{ scroll-behavior: auto; } }

body.view-domain-household .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-infrastructure (2 pages) */

  body.view-domain-infrastructure .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-infrastructure .wrap{ padding: 0 18px; } body.view-domain-infrastructure{ font-size: 16.0px; } }
  body.view-domain-infrastructure section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-infrastructure section.tight{ padding: 48px 0; }

  body.view-domain-infrastructure .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-infrastructure .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-infrastructure .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-infrastructure .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-infrastructure .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-infrastructure .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-infrastructure .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-infrastructure .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-infrastructure .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-infrastructure .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-infrastructure .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-infrastructure .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-infrastructure .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-infrastructure .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(15px, 1.8vw, 19px); color: var(--ink-3); }
  body.view-domain-infrastructure .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-infrastructure .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-infrastructure .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-infrastructure .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-infrastructure .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-infrastructure .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-infrastructure .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-infrastructure .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-infrastructure .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-infrastructure .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-infrastructure .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-infrastructure .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-infrastructure .hero-illustration{ display: none; } }

  body.view-domain-infrastructure .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-infrastructure .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-infrastructure .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-infrastructure .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-infrastructure .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-infrastructure .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-infrastructure .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-infrastructure .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-infrastructure .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-infrastructure .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-infrastructure .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-infrastructure .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-infrastructure .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-infrastructure .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-infrastructure .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-infrastructure .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-infrastructure .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-infrastructure .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-infrastructure .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-infrastructure .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-infrastructure .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-infrastructure .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-infrastructure .domain-tree, body.view-domain-infrastructure .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-infrastructure .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-infrastructure .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-infrastructure .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-infrastructure .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-infrastructure .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-infrastructure .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-infrastructure .domain-tree li::before, body.view-domain-infrastructure .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-infrastructure .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-infrastructure .domain-tree li.derived::before, body.view-domain-infrastructure .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-infrastructure .domain-tree li.gap::before, body.view-domain-infrastructure .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-infrastructure .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-infrastructure .domain-tree li:only-child::before, body.view-domain-infrastructure .domain-tree li:only-child::after{ display: none; }
  body.view-domain-infrastructure .domain-tree li:first-child::before, body.view-domain-infrastructure .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-infrastructure .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-infrastructure .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-infrastructure .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-infrastructure .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-infrastructure .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-infrastructure .tree-node-derived{ border-style: dashed; }
  body.view-domain-infrastructure .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-infrastructure .tree-node:hover, body.view-domain-infrastructure li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-infrastructure .tree-node-gap:hover, body.view-domain-infrastructure li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-infrastructure li.path-active::before, body.view-domain-infrastructure li.path-active::after, body.view-domain-infrastructure ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-infrastructure li.gap.path-active::before, body.view-domain-infrastructure li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-infrastructure .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-infrastructure .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-infrastructure .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-infrastructure .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-infrastructure .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-infrastructure .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-infrastructure .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-infrastructure .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-infrastructure .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-infrastructure .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-infrastructure .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-infrastructure .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-infrastructure .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-infrastructure .spoke-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
  body.view-domain-infrastructure .spoke-card{ flex: 1 1 150px; background: var(--panel); border: 1px solid var(--line); padding: 16px 18px; text-align: center; }
  body.view-domain-infrastructure .spoke-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink); font-weight: 650; }
  body.view-domain-infrastructure .spoke-card .tagline{ font-size: 14px; color: var(--ink-3); margin-top: 4px; }
  body.view-domain-infrastructure .spoke-card .status{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-3); background: var(--panel-2); border: 1px solid var(--line); padding: 3px 9px; display: inline-block; margin-top: 10px; }
  body.view-domain-infrastructure .spoke-card a{ display: block; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-infrastructure .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-infrastructure .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-infrastructure .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-infrastructure .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-infrastructure .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-infrastructure .code-block .kw{ color: #4fd9c4; }
  body.view-domain-infrastructure .code-block .cm{ color: #6b8298; }
  body.view-domain-infrastructure .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-infrastructure .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-infrastructure .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-infrastructure .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-infrastructure .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-infrastructure .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-infrastructure .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-infrastructure .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-infrastructure .status-dot.warn{ background: var(--amber); }
  body.view-domain-infrastructure .status-line.warn{ color: var(--ink); }

  body.view-domain-infrastructure .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-infrastructure .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(26px, 4vw, 36px); color: var(--ink); line-height: 1.15; }
  body.view-domain-infrastructure .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-infrastructure .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-infrastructure .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-infrastructure .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-infrastructure .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-infrastructure .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-infrastructure .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-infrastructure .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-infrastructure .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-infrastructure .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-infrastructure .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-infrastructure .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-infrastructure .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-infrastructure .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-infrastructure .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-infrastructure .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-infrastructure .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-infrastructure .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-infrastructure .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-infrastructure .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-infrastructure .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-infrastructure .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-infrastructure .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-infrastructure .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-infrastructure .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-infrastructure .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-infrastructure .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-infrastructure .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-infrastructure .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-infrastructure .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-infrastructure .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-infrastructure .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-infrastructure .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-infrastructure .story-card{ background: var(--panel); padding: 18px 14px; position: relative; }
  body.view-domain-infrastructure .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-infrastructure .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-infrastructure .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-infrastructure .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-infrastructure .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-infrastructure .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-infrastructure .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-infrastructure .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-infrastructure .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-infrastructure .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink-3); }
  body.view-domain-infrastructure .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-infrastructure .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-infrastructure .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-infrastructure .mock-frame{ border: 1px dashed var(--line); background: var(--panel-2); padding: 4px; margin-top: 20px; position: relative; }
  body.view-domain-infrastructure .mock-frame::before{ content: "ILLUSTRATIVE MOCKUP — SCHEMA NOT YET BUILT"; position: absolute; top: -11px; left: 14px; background: var(--bg); padding: 0 8px; font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-infrastructure .mock-inner{ padding: 22px; }

  body.view-domain-infrastructure a:focus-visible, body.view-domain-infrastructure .btn:focus-visible, body.view-domain-infrastructure .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-infrastructure .band-dark a:focus-visible, body.view-domain-infrastructure .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-infrastructure .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-infrastructure{ scroll-behavior: auto; } }

body.view-domain-infrastructure .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-taxation (2 pages) */

  body.view-domain-taxation .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-taxation .wrap{ padding: 0 18px; } body.view-domain-taxation{ font-size: 16.0px; } }
  body.view-domain-taxation section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-taxation section.tight{ padding: 48px 0; }

  body.view-domain-taxation .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-taxation .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-taxation .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-taxation .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-taxation .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-taxation .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-taxation .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-taxation .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-taxation .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-taxation .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-taxation .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-taxation .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-taxation .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-taxation .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-taxation .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-taxation .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-taxation .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-taxation .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-taxation .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-taxation .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-taxation .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-taxation .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-taxation .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-taxation .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-taxation .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-taxation .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-taxation .hero-illustration{ display: none; } }

  body.view-domain-taxation .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-taxation .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-taxation .lc-chip b{ color: var(--accent-strong); }

  body.view-domain-taxation .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-taxation .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-taxation .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-taxation .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-taxation .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-taxation .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-taxation .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-taxation .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-taxation .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-taxation .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-taxation .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-taxation .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-taxation .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-taxation .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-taxation .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-taxation .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-taxation .domain-tree, body.view-domain-taxation .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-taxation .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-taxation .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-taxation .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-taxation .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-taxation .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-taxation .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-taxation .domain-tree li::before, body.view-domain-taxation .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-taxation .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-taxation .domain-tree li.derived::before, body.view-domain-taxation .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-taxation .domain-tree li.gap::before, body.view-domain-taxation .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-taxation .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-taxation .domain-tree li:only-child::before, body.view-domain-taxation .domain-tree li:only-child::after{ display: none; }
  body.view-domain-taxation .domain-tree li:first-child::before, body.view-domain-taxation .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-taxation .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-taxation .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-taxation .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-taxation .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-taxation .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-taxation .tree-node-derived{ border-style: dashed; }
  body.view-domain-taxation .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-taxation .tree-node:hover, body.view-domain-taxation li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-taxation .tree-node-gap:hover, body.view-domain-taxation li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-taxation li.path-active::before, body.view-domain-taxation li.path-active::after, body.view-domain-taxation ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-taxation li.gap.path-active::before, body.view-domain-taxation li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-taxation .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-taxation .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-taxation .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-taxation .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-taxation .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-taxation .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-taxation .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-taxation .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-taxation .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-taxation .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-taxation .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-taxation .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-taxation .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-taxation .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-taxation .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-taxation .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-taxation .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-taxation .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-taxation .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-taxation .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-taxation .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 28.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-taxation .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-taxation .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-taxation .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-taxation .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-taxation .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-taxation .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-taxation .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-taxation .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-taxation .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-taxation .code-block .kw{ color: #4fd9c4; }
  body.view-domain-taxation .code-block .cm{ color: #6b8298; }
  body.view-domain-taxation .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-taxation .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-taxation .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-taxation .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-taxation .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-taxation .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-taxation .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-taxation .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-taxation .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-taxation .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-taxation .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-taxation .status-dot.pass{ background: var(--good); }
  body.view-domain-taxation .status-line.pass{ color: var(--good); }

  body.view-domain-taxation .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-taxation .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-taxation .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-taxation .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-taxation .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-taxation .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-taxation .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-taxation .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-taxation .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-taxation .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-taxation .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-taxation .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-taxation .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-taxation .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  body.view-domain-taxation .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-taxation .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-taxation .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-taxation .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-taxation .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-taxation .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-taxation .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-taxation .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-taxation .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-taxation .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-taxation .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-taxation .band-dark .city-pass{ color: #fff; }
  body.view-domain-taxation .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-taxation .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-taxation .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-taxation .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-taxation .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-taxation .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-taxation .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-taxation .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-taxation .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-taxation .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-taxation .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-taxation .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-taxation .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-taxation .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-taxation .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-taxation .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-taxation .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-taxation .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-taxation .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-taxation .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-taxation .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-taxation .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 720px) { body.view-domain-taxation .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-taxation .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-taxation .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-taxation .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 721px) { body.view-domain-taxation .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-taxation .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-taxation .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-taxation .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-taxation .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-taxation .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-taxation .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-taxation .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-taxation .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-taxation .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-taxation .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-taxation a:focus-visible, body.view-domain-taxation .btn:focus-visible, body.view-domain-taxation .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-taxation .band-dark a:focus-visible, body.view-domain-taxation .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-taxation .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-taxation{ scroll-behavior: auto; } }

body.view-domain-taxation .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-insurance (2 pages) */

  body.view-domain-insurance .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-insurance .wrap{ padding: 0 18px; } body.view-domain-insurance{ font-size: 16.0px; } }
  body.view-domain-insurance section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-insurance section.tight{ padding: 48px 0; }

  body.view-domain-insurance .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-insurance .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-insurance .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-insurance .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-insurance .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-insurance .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-insurance .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-insurance .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-insurance .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-insurance .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-insurance .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-insurance .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-insurance .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-insurance .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-insurance .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-insurance .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-insurance .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-insurance .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-insurance .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-insurance .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-insurance .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-insurance .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-insurance .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-insurance .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-insurance .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-insurance .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-insurance .hero-illustration{ display: none; } }

  body.view-domain-insurance .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-insurance .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-insurance .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-insurance .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-insurance .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-insurance .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-insurance .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-insurance .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-insurance .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-insurance .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-insurance .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-insurance .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-insurance .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-insurance .domain-tree, body.view-domain-insurance .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-insurance .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-insurance .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-insurance .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-insurance .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-insurance .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-insurance .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-insurance .domain-tree li::before, body.view-domain-insurance .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-insurance .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-insurance .domain-tree li.derived::before, body.view-domain-insurance .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-insurance .domain-tree li.gap::before, body.view-domain-insurance .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-insurance .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-insurance .domain-tree li:only-child::before, body.view-domain-insurance .domain-tree li:only-child::after{ display: none; }
  body.view-domain-insurance .domain-tree li:first-child::before, body.view-domain-insurance .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-insurance .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-insurance .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-insurance .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-insurance .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-insurance .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-insurance .tree-node-derived{ border-style: dashed; }
  body.view-domain-insurance .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-insurance .tree-node:hover, body.view-domain-insurance li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-insurance .tree-node-gap:hover, body.view-domain-insurance li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-insurance li.path-active::before, body.view-domain-insurance li.path-active::after, body.view-domain-insurance ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-insurance li.gap.path-active::before, body.view-domain-insurance li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-insurance .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-insurance .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-insurance .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-insurance .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-insurance .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-insurance .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-insurance .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-insurance .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- two-example comparison cards ---- */
  body.view-domain-insurance .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-insurance .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-insurance .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-insurance .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-insurance .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-insurance .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-insurance .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-insurance .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-insurance .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  /* ---- signature / coverage cards ---- */
  body.view-domain-insurance .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-insurance .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-insurance .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-insurance .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-insurance .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-insurance .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-insurance .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-insurance .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-insurance .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-insurance .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-insurance .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-insurance .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-insurance .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-insurance .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-insurance .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-insurance .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-insurance .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-insurance .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-insurance .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-insurance .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-insurance .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-insurance .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-insurance .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-insurance .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-insurance .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-insurance .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-insurance .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-insurance .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-insurance .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-insurance .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-insurance .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-insurance .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-insurance .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-insurance .code-block .kw{ color: #4fd9c4; }
  body.view-domain-insurance .code-block .cm{ color: #6b8298; }
  body.view-domain-insurance .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-insurance .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-insurance .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-insurance .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-insurance .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-insurance .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-insurance .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-insurance .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-insurance .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-insurance .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-insurance .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-insurance .status-dot.pass{ background: var(--good); }
  body.view-domain-insurance .status-dot.warn{ background: var(--amber); }
  body.view-domain-insurance .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-insurance .status-dot.fail{ background: #b3261e; }
  body.view-domain-insurance .status-line.pass{ color: var(--good); }
  body.view-domain-insurance .status-line.warn{ color: #9a6b00; }
  body.view-domain-insurance .status-line.pending{ color: var(--ink-3); }
  body.view-domain-insurance .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-insurance .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-insurance .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 5vw, 44px); color: var(--ink); line-height: 1; }
  body.view-domain-insurance .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-insurance .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-insurance .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-insurance .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-insurance .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-insurance .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-insurance .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-insurance .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-insurance .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-insurance .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-insurance .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-insurance .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-insurance .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-insurance .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-insurance .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }
  body.view-domain-insurance .city-pass .dot.pending{ background: var(--amber); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-insurance .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-insurance .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-insurance .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-insurance .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-insurance .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-insurance .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-insurance .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-insurance .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-insurance .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-insurance .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-insurance .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-insurance .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-insurance .band-dark .city-pass{ color: #fff; }
  body.view-domain-insurance .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-insurance .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-insurance .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-insurance .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-insurance .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-insurance .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-insurance .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-insurance .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-insurance .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-insurance .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-insurance .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-insurance .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-insurance .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-insurance .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-insurance .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-insurance .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-insurance .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-insurance .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-insurance .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-insurance .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-insurance .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-insurance .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-insurance .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-insurance .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-insurance .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-insurance .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-insurance .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-insurance .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-insurance .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-insurance .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-insurance .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-insurance .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-insurance .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-insurance .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-insurance .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-insurance .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-insurance .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-insurance a:focus-visible, body.view-domain-insurance .btn:focus-visible, body.view-domain-insurance .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-insurance .band-dark a:focus-visible, body.view-domain-insurance .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-insurance .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-insurance{ scroll-behavior: auto; } }

body.view-domain-insurance .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-land (2 pages) */

  body.view-domain-land .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-land .wrap{ padding: 0 18px; } body.view-domain-land{ font-size: 16.0px; } }
  body.view-domain-land section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-land section.tight{ padding: 48px 0; }

  body.view-domain-land .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-land .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-land .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-land .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-land .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-land .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-land .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-land .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-land .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-land .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-land .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-land .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-land .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-land .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-land .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-land .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-land .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-land .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-land .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-land .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-land .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-land .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-land .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-land .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-land .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-land .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-land .hero-illustration{ display: none; } }

  body.view-domain-land .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-land .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-land .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-land .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-land .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-land .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-land .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-land .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-land .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-land .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-land .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- ascii / connections ---- */
  body.view-domain-land .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-land .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-land .domain-tree, body.view-domain-land .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-land .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-land .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-land .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-land .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-land .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-land .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-land .domain-tree li::before, body.view-domain-land .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-land .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-land .domain-tree li.derived::before, body.view-domain-land .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-land .domain-tree li.gap::before, body.view-domain-land .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-land .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-land .domain-tree li:only-child::before, body.view-domain-land .domain-tree li:only-child::after{ display: none; }
  body.view-domain-land .domain-tree li:first-child::before, body.view-domain-land .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-land .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-land .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-land .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-land .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-land .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-land .tree-node-derived{ border-style: dashed; }
  body.view-domain-land .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-land .tree-node:hover, body.view-domain-land li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-land .tree-node-gap:hover, body.view-domain-land li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-land li.path-active::before, body.view-domain-land li.path-active::after, body.view-domain-land ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-land li.gap.path-active::before, body.view-domain-land li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-land .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-land .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-land .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-land .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-land .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-land .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-land .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-land .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- two-parcel comparison cards ---- */
  body.view-domain-land .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-land .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-land .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-land .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-land .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-land .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-land .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-land .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-land .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  /* ---- Nairobi vs Lagos comparison tables ---- */
  body.view-domain-land .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-land .modifier-card{ flex: 1 1 260px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-land .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-land .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 34.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-land .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-land .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-land .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-land .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-land .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-land .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-land .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-land .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-land .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-land .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-land .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-land .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-land .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-land .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-land .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-land .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-land .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-land .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-land .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-land .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-land .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-land .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-land .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-land .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-land .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-land .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-land .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-land .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-land .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-land .code-block .kw{ color: #4fd9c4; }
  body.view-domain-land .code-block .cm{ color: #6b8298; }
  body.view-domain-land .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-land .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-land .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-land .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-land .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-land .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-land .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-land .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-land .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-land .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-land .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-land .status-dot.pass{ background: var(--good); }
  body.view-domain-land .status-dot.warn{ background: var(--amber); }
  body.view-domain-land .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-land .status-dot.fail{ background: #b3261e; }
  body.view-domain-land .status-line.pass{ color: var(--good); }
  body.view-domain-land .status-line.warn{ color: #9a6b00; }
  body.view-domain-land .status-line.pending{ color: var(--ink-3); }
  body.view-domain-land .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-land .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-land .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-land .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-land .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-land .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-land .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-land .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-land .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-land .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-land .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-land .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-land .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-land .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-land .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-land .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-land .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-land .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-land .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-land .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-land .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-land .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-land .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-land .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-land .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-land .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-land .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-land .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-land .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-land .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-land .band-dark .city-pass{ color: #fff; }
  body.view-domain-land .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-land .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-land .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-land .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-land .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-land .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-land .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-land .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-land .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-land .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-land .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-land .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-land .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-land .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-land .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-land .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-land .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-land .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-land .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-land .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-land .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-land .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-land .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-land .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-land .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-land .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-land .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-land .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-land .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-land .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-land .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-land .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-land .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-land .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-land .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-land .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-land .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-land .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-land .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-land .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-land .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-land a:focus-visible, body.view-domain-land .btn:focus-visible, body.view-domain-land .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-land .band-dark a:focus-visible, body.view-domain-land .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-land .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-land{ scroll-behavior: auto; } }

body.view-domain-land .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-environment (2 pages) */

  body.view-domain-environment .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-environment .wrap{ padding: 0 18px; } body.view-domain-environment{ font-size: 16.0px; } }
  body.view-domain-environment section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-environment section.tight{ padding: 48px 0; }

  body.view-domain-environment .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--amber) 16%, transparent); color: var(--ink); }
  body.view-domain-environment .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display:inline-block; }

  body.view-domain-environment .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-environment .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-environment .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-environment .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-environment .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-environment .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-environment .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-environment .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-environment .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-environment .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-environment .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-environment .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(16px, 1.9vw, 20px); color: var(--ink); }
  body.view-domain-environment .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-environment .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-environment .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-environment .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-environment .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-environment .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-environment .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-environment .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-environment .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-environment .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-environment .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-environment .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-environment .hero-illustration{ display: none; } }

  body.view-domain-environment .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-environment .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-environment .lc-chip b{ color: var(--accent-strong); }
  body.view-domain-environment .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.view-domain-environment .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-environment .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-environment .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-environment .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-environment .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-environment .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-environment .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-environment .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-environment .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-environment .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-environment .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-environment .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-environment .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-environment .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-environment .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }
  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-environment .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-environment .domain-tree, body.view-domain-environment .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-environment .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-environment .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-environment .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-environment .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-environment .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-environment .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-environment .domain-tree li::before, body.view-domain-environment .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-environment .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-environment .domain-tree li.derived::before, body.view-domain-environment .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-environment .domain-tree li.gap::before, body.view-domain-environment .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-environment .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-environment .domain-tree li:only-child::before, body.view-domain-environment .domain-tree li:only-child::after{ display: none; }
  body.view-domain-environment .domain-tree li:first-child::before, body.view-domain-environment .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-environment .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-environment .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-environment .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-environment .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-environment .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-environment .tree-node-derived{ border-style: dashed; }
  body.view-domain-environment .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-environment .tree-node:hover, body.view-domain-environment li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-environment .tree-node-gap:hover, body.view-domain-environment li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-environment li.path-active::before, body.view-domain-environment li.path-active::after, body.view-domain-environment ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-environment li.gap.path-active::before, body.view-domain-environment li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-environment .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-environment .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-environment .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-environment .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-environment .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-environment .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-environment .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-environment .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-environment .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-environment .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-environment .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-environment .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-environment .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-environment .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-environment .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-environment .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-environment .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-environment .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-environment .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-environment .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-environment .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 22.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-environment .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-environment .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-environment .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-environment .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-environment .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-environment .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-environment .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-environment .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-environment .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-environment .code-block .kw{ color: #4fd9c4; }
  body.view-domain-environment .code-block .cm{ color: #6b8298; }
  body.view-domain-environment .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-environment .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-environment .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-environment .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-environment .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-environment .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-environment .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-environment .status-dot.ok{ background: var(--accent); }
  body.view-domain-environment .status-dot.warn{ background: var(--amber); }
  body.view-domain-environment .status-line.warn{ color: var(--ink); }

  body.view-domain-environment .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-environment .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(28px, 4.2vw, 38px); color: var(--ink); line-height: 1.15; }
  body.view-domain-environment .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-environment .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.view-domain-environment .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-environment .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-environment .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-environment .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-environment .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-environment .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-environment .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-environment .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-environment .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-environment .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-environment .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-environment .band-dark .status-dot.ok{ background: #4fd9c4; }
  body.view-domain-environment .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-environment .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-environment .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-environment .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-environment .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-environment .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-environment .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-environment .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-environment .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-environment .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-environment .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-environment .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-environment .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-environment .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-environment .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-environment .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-environment .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-environment .story-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-environment .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-environment .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-environment .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-environment .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-environment .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  body.view-domain-environment .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-environment .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-environment .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-environment .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-environment .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-environment .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-environment .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 20.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-environment .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-environment .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-environment .quiet-link a{ color: var(--accent-strong); font-weight: 700; }
  body.view-domain-environment .caveat-badge{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 650; text-transform: uppercase; letter-spacing: 0.05em; padding: 4px 10px; border-radius: 999px; border: 1px dashed var(--ink-3); color: var(--ink-3); margin-bottom: 8px; }
  body.view-domain-environment .band-dark .caveat-badge{ border-color: #e0b34a; color: #e0b34a; }

  body.view-domain-environment .shock-diagram{ background: #0c1a24; border: 1px solid rgba(255,255,255,0.12); border-radius: 0; padding: 24px 26px; margin-top: 20px; font-family: var(--mono); font-size: 14px; line-height: 2; color: #cfe3e0; overflow-x: auto; white-space: pre; }
  body.view-domain-environment .shock-legend{ display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px; }
  body.view-domain-environment .shock-legend span{ display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; color: var(--ink-2); }
  body.view-domain-environment .shock-legend .sw{ display: inline-block; width: 26px; height: 0; border-top: 3px solid var(--accent-strong); }
  body.view-domain-environment .shock-legend .sw.dash{ border-top: 3px dashed var(--ink-3); }

  body.view-domain-environment a:focus-visible, body.view-domain-environment .btn:focus-visible, body.view-domain-environment .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-environment .band-dark a:focus-visible, body.view-domain-environment .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-environment .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-environment{ scroll-behavior: auto; } }

body.view-domain-environment .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* shared V5 component: view-domain-construction (2 pages) */

  body.view-domain-construction .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-construction .wrap{ padding: 0 18px; } body.view-domain-construction{ font-size: 16.0px; } }
  body.view-domain-construction section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-construction section.tight{ padding: 48px 0; }

  body.view-domain-construction .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-construction .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-construction .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-construction .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-construction .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-construction .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-construction .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-construction .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-construction .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-construction .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  /* ---- hero stat strip ---- */
  body.view-domain-construction .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-construction .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-construction .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-construction .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-construction .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-construction .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-construction .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-construction .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-construction .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-construction .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-construction .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-construction .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-construction .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-construction .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-construction .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-construction .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-construction .hero-illustration{ display: none; } }

  body.view-domain-construction .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-construction .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-construction .lc-chip b{ color: var(--accent-strong); }

  /* ---- capability cards ---- */
  body.view-domain-construction .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-construction .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-construction .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-construction .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-construction .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-construction .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-construction .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-construction .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  /* ---- three-card boundary row ---- */
  body.view-domain-construction .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-construction .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-construction .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-construction .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-construction .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-construction .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  /* ---- ascii / connections ---- */
  body.view-domain-construction .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-construction .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-construction .domain-tree, body.view-domain-construction .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-construction .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-construction .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-construction .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-construction .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-construction .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-construction .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-construction .domain-tree li::before, body.view-domain-construction .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-construction .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-construction .domain-tree li.derived::before, body.view-domain-construction .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-construction .domain-tree li.gap::before, body.view-domain-construction .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-construction .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-construction .domain-tree li:only-child::before, body.view-domain-construction .domain-tree li:only-child::after{ display: none; }
  body.view-domain-construction .domain-tree li:first-child::before, body.view-domain-construction .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-construction .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-construction .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-construction .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-construction .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-construction .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-construction .tree-node-derived{ border-style: dashed; }
  body.view-domain-construction .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-construction .tree-node:hover, body.view-domain-construction li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-construction .tree-node-gap:hover, body.view-domain-construction li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-construction li.path-active::before, body.view-domain-construction li.path-active::after, body.view-domain-construction ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-construction li.gap.path-active::before, body.view-domain-construction li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-construction .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-construction .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-construction .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-construction .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-construction .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-construction .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-construction .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-construction .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  /* ---- two-card comparison ---- */
  body.view-domain-construction .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-construction .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-construction .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-construction .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-construction .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-construction .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-construction .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-construction .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-construction .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  /* ---- Nairobi vs Lagos comparison / stage cards ---- */
  body.view-domain-construction .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-construction .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-construction .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-construction .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 28.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-construction .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }
  body.view-domain-construction .modifier-table-wrap{ margin-top: 20px; overflow-x: auto; }
  body.view-domain-construction .modifier-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-construction .modifier-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-construction .modifier-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-construction .modifier-table td.floor{ color: var(--amber); font-weight: 700; }

  /* ---- pipeline / evidence tiers ---- */
  body.view-domain-construction .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-construction .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-construction .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }
  body.view-domain-construction .evidence-tier-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 20px; }
  @media (max-width: 760px) { body.view-domain-construction .evidence-tier-grid{ grid-template-columns: 1fr 1fr; } }
  body.view-domain-construction .evidence-tier{ background: var(--panel); padding: 16px 16px; }
  body.view-domain-construction .evidence-tier .t{ font-family: var(--mono); font-size: 14px; font-weight: 650; letter-spacing: 0.05em; }
  body.view-domain-construction .evidence-tier.observed .t{ color: var(--good); }
  body.view-domain-construction .evidence-tier.derived .t{ color: var(--accent-strong); }
  body.view-domain-construction .evidence-tier.calibrated .t{ color: var(--amber); }
  body.view-domain-construction .evidence-tier.modeled .t{ color: var(--ink-3); }
  body.view-domain-construction .evidence-tier p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }

  /* ---- evidence sources ---- */
  body.view-domain-construction .source-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-construction .source-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .source-card{ background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-construction .source-card h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-construction .source-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-construction .source-chip-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
  body.view-domain-construction .source-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); background: var(--teal-tint); border: 1px solid var(--line); padding: 4px 10px; border-radius: 999px; }

  /* ---- data model ---- */
  body.view-domain-construction .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-construction .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-construction .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-construction .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-construction .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-construction .code-block .kw{ color: #4fd9c4; }
  body.view-domain-construction .code-block .cm{ color: #6b8298; }
  body.view-domain-construction .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-construction .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-construction .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-construction .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-construction .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  /* ---- realism ---- */
  body.view-domain-construction .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-construction .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-construction .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-construction .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-construction .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-construction .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-construction .status-dot.pass{ background: var(--good); }
  body.view-domain-construction .status-dot.warn{ background: var(--amber); }
  body.view-domain-construction .status-dot.pending{ background: var(--ink-3); }
  body.view-domain-construction .status-dot.fail{ background: #b3261e; }
  body.view-domain-construction .status-line.pass{ color: var(--good); }
  body.view-domain-construction .status-line.warn{ color: #9a6b00; }
  body.view-domain-construction .status-line.pending{ color: var(--ink-3); }
  body.view-domain-construction .status-line.fail{ color: #b3261e; }

  /* ---- certification ---- */
  body.view-domain-construction .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-construction .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-construction .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-construction .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-construction .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-construction .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-construction .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-construction .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-construction .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-construction .cert-cat li.pending::before{ content: "○"; color: var(--amber); }
  body.view-domain-construction .cert-cat li.na::before{ content: "–"; color: var(--ink-3); }
  body.view-domain-construction .cert-cat li.fail::before{ content: "✕"; color: #b3261e; }
  body.view-domain-construction .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-construction .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-construction .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-construction .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-construction .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  /* ---- band-dark overrides for the Certification section ---- */
  body.view-domain-construction .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-construction .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-construction .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-construction .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-construction .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-construction .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-construction .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-construction .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-construction .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-construction .band-dark .cert-cat li.fail::before{ color: #ff6b5e; }
  body.view-domain-construction .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-construction .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-construction .band-dark .city-pass{ color: #fff; }
  body.view-domain-construction .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-construction .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-construction .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-construction .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-construction .band-dark .status-line.warn{ color: #e0b34a; }
  body.view-domain-construction .band-dark .status-line.pending{ color: #8ea0ac; }
  body.view-domain-construction .band-dark .status-line.fail{ color: #ff6b5e; }
  body.view-domain-construction .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-construction .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-construction .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-construction .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-construction .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  /* ---- limitations ---- */
  body.view-domain-construction .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-construction .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-construction .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-construction .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-construction .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-construction .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-construction .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-construction .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-construction .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-construction .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-construction .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-construction .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  /* ---- story + explore ---- */
  body.view-domain-construction .story-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 900px) { body.view-domain-construction .story-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-construction .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-construction .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-construction .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-construction .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 901px) { body.view-domain-construction .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-construction .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-construction .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-construction .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-construction .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-construction .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-construction .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-construction .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-construction .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-construction .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-construction .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-construction a:focus-visible, body.view-domain-construction .btn:focus-visible, body.view-domain-construction .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-construction .band-dark a:focus-visible, body.view-domain-construction .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }

  body.view-domain-construction .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

  @media (prefers-reduced-motion: reduce) { html body.view-domain-construction{ scroll-behavior: auto; } }

body.view-domain-construction .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/lagos/domains/vehicles.html */

  body.page-lagos-domain-vehicles .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-lagos-domain-vehicles .wrap{ padding: 0 18px; } body.page-lagos-domain-vehicles{ font-size: 16.0px; } }
  body.page-lagos-domain-vehicles section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-domain-vehicles section.tight{ padding: 48px 0; }

  body.page-lagos-domain-vehicles .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.page-lagos-domain-vehicles .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.page-lagos-domain-vehicles .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.page-lagos-domain-vehicles .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.page-lagos-domain-vehicles .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.page-lagos-domain-vehicles .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.page-lagos-domain-vehicles .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.page-lagos-domain-vehicles .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.page-lagos-domain-vehicles .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.page-lagos-domain-vehicles .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.page-lagos-domain-vehicles .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.page-lagos-domain-vehicles .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.page-lagos-domain-vehicles .hero-stat:nth-child(5n){ border-right: none; }
  body.page-lagos-domain-vehicles .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.page-lagos-domain-vehicles .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.page-lagos-domain-vehicles .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.page-lagos-domain-vehicles .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.page-lagos-domain-vehicles .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.page-lagos-domain-vehicles .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.page-lagos-domain-vehicles .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.page-lagos-domain-vehicles .hero-stat:nth-child(2n){ border-right: none; } }
  body.page-lagos-domain-vehicles .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.page-lagos-domain-vehicles .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.page-lagos-domain-vehicles .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.page-lagos-domain-vehicles .hero-top-text{ flex: 1 1 420px; }
  body.page-lagos-domain-vehicles .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.page-lagos-domain-vehicles .hero-illustration{ display: none; } }

  body.page-lagos-domain-vehicles .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.page-lagos-domain-vehicles .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.page-lagos-domain-vehicles .lc-chip b{ color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.page-lagos-domain-vehicles .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.page-lagos-domain-vehicles .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-lagos-domain-vehicles .cap-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.page-lagos-domain-vehicles .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.page-lagos-domain-vehicles .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.page-lagos-domain-vehicles .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.page-lagos-domain-vehicles .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.page-lagos-domain-vehicles .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.page-lagos-domain-vehicles .boundary-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.page-lagos-domain-vehicles .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.page-lagos-domain-vehicles .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.page-lagos-domain-vehicles .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.page-lagos-domain-vehicles .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.page-lagos-domain-vehicles .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.page-lagos-domain-vehicles .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.page-lagos-domain-vehicles .domain-tree, body.page-lagos-domain-vehicles .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.page-lagos-domain-vehicles .domain-tree{ text-align: center; white-space: nowrap; }
  body.page-lagos-domain-vehicles .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.page-lagos-domain-vehicles .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.page-lagos-domain-vehicles .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.page-lagos-domain-vehicles .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.page-lagos-domain-vehicles .domain-tree li::before, body.page-lagos-domain-vehicles .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .domain-tree li.derived::before, body.page-lagos-domain-vehicles .domain-tree li.derived::after{ border-style: dashed; }
  body.page-lagos-domain-vehicles .domain-tree li.gap::before, body.page-lagos-domain-vehicles .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.page-lagos-domain-vehicles .domain-tree li:only-child{ padding-top: 0; }
  body.page-lagos-domain-vehicles .domain-tree li:only-child::before, body.page-lagos-domain-vehicles .domain-tree li:only-child::after{ display: none; }
  body.page-lagos-domain-vehicles .domain-tree li:first-child::before, body.page-lagos-domain-vehicles .domain-tree li:last-child::after{ border-color: transparent; }
  body.page-lagos-domain-vehicles .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.page-lagos-domain-vehicles .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.page-lagos-domain-vehicles .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.page-lagos-domain-vehicles .tree-node-derived{ border-style: dashed; }
  body.page-lagos-domain-vehicles .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.page-lagos-domain-vehicles .tree-node:hover, body.page-lagos-domain-vehicles li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.page-lagos-domain-vehicles .tree-node-gap:hover, body.page-lagos-domain-vehicles li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.page-lagos-domain-vehicles li.path-active::before, body.page-lagos-domain-vehicles li.path-active::after, body.page-lagos-domain-vehicles ul.path-active::before{ border-color: var(--accent); }
  body.page-lagos-domain-vehicles li.gap.path-active::before, body.page-lagos-domain-vehicles li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.page-lagos-domain-vehicles .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.page-lagos-domain-vehicles .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.page-lagos-domain-vehicles .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.page-lagos-domain-vehicles .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.page-lagos-domain-vehicles .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.page-lagos-domain-vehicles .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.page-lagos-domain-vehicles .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.page-lagos-domain-vehicles .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.page-lagos-domain-vehicles .mech-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-lagos-domain-vehicles .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.page-lagos-domain-vehicles .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-lagos-domain-vehicles .mech-card .kv:last-of-type{ border-bottom: none; }
  body.page-lagos-domain-vehicles .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.page-lagos-domain-vehicles .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.page-lagos-domain-vehicles .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.page-lagos-domain-vehicles .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.page-lagos-domain-vehicles .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.page-lagos-domain-vehicles .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-lagos-domain-vehicles .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; color: var(--ink); }
  body.page-lagos-domain-vehicles .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.page-lagos-domain-vehicles .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.page-lagos-domain-vehicles .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.page-lagos-domain-vehicles .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.page-lagos-domain-vehicles .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.page-lagos-domain-vehicles .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.page-lagos-domain-vehicles .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.page-lagos-domain-vehicles .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.page-lagos-domain-vehicles .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.page-lagos-domain-vehicles .code-block .kw{ color: #4fd9c4; }
  body.page-lagos-domain-vehicles .code-block .cm{ color: #6b8298; }
  body.page-lagos-domain-vehicles .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.page-lagos-domain-vehicles .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.page-lagos-domain-vehicles .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.page-lagos-domain-vehicles .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.page-lagos-domain-vehicles .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.page-lagos-domain-vehicles .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.page-lagos-domain-vehicles .realism-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-lagos-domain-vehicles .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-lagos-domain-vehicles .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.page-lagos-domain-vehicles .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.page-lagos-domain-vehicles .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.page-lagos-domain-vehicles .status-dot.warn{ background: var(--amber); }
  body.page-lagos-domain-vehicles .status-line.warn{ color: var(--ink); }
  body.page-lagos-domain-vehicles .status-dot.pass{ background: var(--good); }
  body.page-lagos-domain-vehicles .status-line.pass{ color: var(--good); }

  body.page-lagos-domain-vehicles .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.page-lagos-domain-vehicles .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 4.6vw, 42px); color: var(--ink); line-height: 1.15; }
  body.page-lagos-domain-vehicles .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.page-lagos-domain-vehicles .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.page-lagos-domain-vehicles .band-dark .doc-section-label{ color: #4fd9c4; }
  body.page-lagos-domain-vehicles .band-dark .doc-section h3{ color: #fff; }
  body.page-lagos-domain-vehicles .band-dark .doc-section p{ color: #a9b3ae; }
  body.page-lagos-domain-vehicles .band-dark .cert-headline .big{ color: #fff; }
  body.page-lagos-domain-vehicles .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.page-lagos-domain-vehicles .band-dark .cert-note{ color: #8ea0ac; }
  body.page-lagos-domain-vehicles .band-dark .inline-link{ color: #4fd9c4; }
  body.page-lagos-domain-vehicles .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.page-lagos-domain-vehicles .band-dark .realism-card h5{ color: #8ea0ac; }
  body.page-lagos-domain-vehicles .band-dark .realism-card .sub{ color: #cbd5da; }
  body.page-lagos-domain-vehicles .band-dark .status-line.warn{ color: #e0b34a; }
  body.page-lagos-domain-vehicles .band-dark .status-line.pass{ color: #4fd9c4; }
  body.page-lagos-domain-vehicles .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.page-lagos-domain-vehicles .band-dark .limit-box h5{ color: #fff; }
  body.page-lagos-domain-vehicles .band-dark .limit-box p{ color: #cbd5da; }
  body.page-lagos-domain-vehicles .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.page-lagos-domain-vehicles .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.page-lagos-domain-vehicles .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.page-lagos-domain-vehicles .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.page-lagos-domain-vehicles .limit-box summary::-webkit-details-marker{ display: none; }
  body.page-lagos-domain-vehicles .limit-box summary h5{ flex: 1 1 auto; }
  body.page-lagos-domain-vehicles .limit-box summary .tag{ margin-top: 0; }
  body.page-lagos-domain-vehicles .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.page-lagos-domain-vehicles .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.page-lagos-domain-vehicles .limit-box .limit-body p{ margin-top: 10px; }
  body.page-lagos-domain-vehicles .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.page-lagos-domain-vehicles .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.page-lagos-domain-vehicles .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.page-lagos-domain-vehicles .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.page-lagos-domain-vehicles .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 720px) { body.page-lagos-domain-vehicles .story-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.page-lagos-domain-vehicles .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.page-lagos-domain-vehicles .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 721px) { body.page-lagos-domain-vehicles .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.page-lagos-domain-vehicles .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.page-lagos-domain-vehicles .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.page-lagos-domain-vehicles .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.page-lagos-domain-vehicles .city-cta-grid{ grid-template-columns: 1fr; } }
  body.page-lagos-domain-vehicles .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-lagos-domain-vehicles .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-lagos-domain-vehicles .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 24.0px; margin-top: 8px; }
  body.page-lagos-domain-vehicles .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-lagos-domain-vehicles .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.page-lagos-domain-vehicles .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.page-lagos-domain-vehicles a:focus-visible, body.page-lagos-domain-vehicles .btn:focus-visible, body.page-lagos-domain-vehicles .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.page-lagos-domain-vehicles .band-dark a:focus-visible, body.page-lagos-domain-vehicles .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.page-lagos-domain-vehicles .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.page-lagos-domain-vehicles{ scroll-behavior: auto; } }

body.page-lagos-domain-vehicles .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* cities/nairobi/domains/vehicles.html */

  body.page-nairobi-domain-vehicles .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.page-nairobi-domain-vehicles .wrap{ padding: 0 18px; } body.page-nairobi-domain-vehicles{ font-size: 16.0px; } }
  body.page-nairobi-domain-vehicles section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-domain-vehicles section.tight{ padding: 48px 0; }

  body.page-nairobi-domain-vehicles .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.page-nairobi-domain-vehicles .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.page-nairobi-domain-vehicles .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.page-nairobi-domain-vehicles .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.page-nairobi-domain-vehicles .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.page-nairobi-domain-vehicles .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.page-nairobi-domain-vehicles .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.page-nairobi-domain-vehicles .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.page-nairobi-domain-vehicles .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.page-nairobi-domain-vehicles .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.page-nairobi-domain-vehicles .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.page-nairobi-domain-vehicles .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.page-nairobi-domain-vehicles .hero-stat:nth-child(5n){ border-right: none; }
  body.page-nairobi-domain-vehicles .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.page-nairobi-domain-vehicles .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.page-nairobi-domain-vehicles .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.page-nairobi-domain-vehicles .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.page-nairobi-domain-vehicles .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.page-nairobi-domain-vehicles .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.page-nairobi-domain-vehicles .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.page-nairobi-domain-vehicles .hero-stat:nth-child(2n){ border-right: none; } }
  body.page-nairobi-domain-vehicles .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.page-nairobi-domain-vehicles .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.page-nairobi-domain-vehicles .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.page-nairobi-domain-vehicles .hero-top-text{ flex: 1 1 420px; }
  body.page-nairobi-domain-vehicles .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.page-nairobi-domain-vehicles .hero-illustration{ display: none; } }

  body.page-nairobi-domain-vehicles .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.page-nairobi-domain-vehicles .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.page-nairobi-domain-vehicles .lc-chip b{ color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .lc-chip.warn{ border-color: var(--amber); color: var(--ink); }

  body.page-nairobi-domain-vehicles .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.page-nairobi-domain-vehicles .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.page-nairobi-domain-vehicles .cap-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.page-nairobi-domain-vehicles .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.page-nairobi-domain-vehicles .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.page-nairobi-domain-vehicles .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.page-nairobi-domain-vehicles .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.page-nairobi-domain-vehicles .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.page-nairobi-domain-vehicles .boundary-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.page-nairobi-domain-vehicles .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.page-nairobi-domain-vehicles .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.page-nairobi-domain-vehicles .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.page-nairobi-domain-vehicles .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.page-nairobi-domain-vehicles .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.page-nairobi-domain-vehicles .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.page-nairobi-domain-vehicles .domain-tree, body.page-nairobi-domain-vehicles .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.page-nairobi-domain-vehicles .domain-tree{ text-align: center; white-space: nowrap; }
  body.page-nairobi-domain-vehicles .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.page-nairobi-domain-vehicles .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.page-nairobi-domain-vehicles .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.page-nairobi-domain-vehicles .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.page-nairobi-domain-vehicles .domain-tree li::before, body.page-nairobi-domain-vehicles .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .domain-tree li.derived::before, body.page-nairobi-domain-vehicles .domain-tree li.derived::after{ border-style: dashed; }
  body.page-nairobi-domain-vehicles .domain-tree li.gap::before, body.page-nairobi-domain-vehicles .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.page-nairobi-domain-vehicles .domain-tree li:only-child{ padding-top: 0; }
  body.page-nairobi-domain-vehicles .domain-tree li:only-child::before, body.page-nairobi-domain-vehicles .domain-tree li:only-child::after{ display: none; }
  body.page-nairobi-domain-vehicles .domain-tree li:first-child::before, body.page-nairobi-domain-vehicles .domain-tree li:last-child::after{ border-color: transparent; }
  body.page-nairobi-domain-vehicles .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.page-nairobi-domain-vehicles .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.page-nairobi-domain-vehicles .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.page-nairobi-domain-vehicles .tree-node-derived{ border-style: dashed; }
  body.page-nairobi-domain-vehicles .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.page-nairobi-domain-vehicles .tree-node:hover, body.page-nairobi-domain-vehicles li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.page-nairobi-domain-vehicles .tree-node-gap:hover, body.page-nairobi-domain-vehicles li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.page-nairobi-domain-vehicles li.path-active::before, body.page-nairobi-domain-vehicles li.path-active::after, body.page-nairobi-domain-vehicles ul.path-active::before{ border-color: var(--accent); }
  body.page-nairobi-domain-vehicles li.gap.path-active::before, body.page-nairobi-domain-vehicles li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.page-nairobi-domain-vehicles .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.page-nairobi-domain-vehicles .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.page-nairobi-domain-vehicles .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.page-nairobi-domain-vehicles .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.page-nairobi-domain-vehicles .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.page-nairobi-domain-vehicles .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.page-nairobi-domain-vehicles .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.page-nairobi-domain-vehicles .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.page-nairobi-domain-vehicles .mech-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-nairobi-domain-vehicles .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.page-nairobi-domain-vehicles .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.page-nairobi-domain-vehicles .mech-card .kv:last-of-type{ border-bottom: none; }
  body.page-nairobi-domain-vehicles .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.page-nairobi-domain-vehicles .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.page-nairobi-domain-vehicles .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.page-nairobi-domain-vehicles .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.page-nairobi-domain-vehicles .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.page-nairobi-domain-vehicles .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-nairobi-domain-vehicles .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; color: var(--ink); }
  body.page-nairobi-domain-vehicles .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.page-nairobi-domain-vehicles .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.page-nairobi-domain-vehicles .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.page-nairobi-domain-vehicles .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.page-nairobi-domain-vehicles .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.page-nairobi-domain-vehicles .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.page-nairobi-domain-vehicles .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.page-nairobi-domain-vehicles .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.page-nairobi-domain-vehicles .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.page-nairobi-domain-vehicles .code-block .kw{ color: #4fd9c4; }
  body.page-nairobi-domain-vehicles .code-block .cm{ color: #6b8298; }
  body.page-nairobi-domain-vehicles .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.page-nairobi-domain-vehicles .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.page-nairobi-domain-vehicles .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.page-nairobi-domain-vehicles .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.page-nairobi-domain-vehicles .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.page-nairobi-domain-vehicles .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.page-nairobi-domain-vehicles .realism-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-nairobi-domain-vehicles .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-nairobi-domain-vehicles .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.page-nairobi-domain-vehicles .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.page-nairobi-domain-vehicles .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.page-nairobi-domain-vehicles .status-dot.warn{ background: var(--amber); }
  body.page-nairobi-domain-vehicles .status-line.warn{ color: var(--ink); }
  body.page-nairobi-domain-vehicles .status-dot.pass{ background: var(--good); }
  body.page-nairobi-domain-vehicles .status-line.pass{ color: var(--good); }

  body.page-nairobi-domain-vehicles .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.page-nairobi-domain-vehicles .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(30px, 4.6vw, 42px); color: var(--ink); line-height: 1.15; }
  body.page-nairobi-domain-vehicles .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.page-nairobi-domain-vehicles .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }

  body.page-nairobi-domain-vehicles .band-dark .doc-section-label{ color: #4fd9c4; }
  body.page-nairobi-domain-vehicles .band-dark .doc-section h3{ color: #fff; }
  body.page-nairobi-domain-vehicles .band-dark .doc-section p{ color: #a9b3ae; }
  body.page-nairobi-domain-vehicles .band-dark .cert-headline .big{ color: #fff; }
  body.page-nairobi-domain-vehicles .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.page-nairobi-domain-vehicles .band-dark .cert-note{ color: #8ea0ac; }
  body.page-nairobi-domain-vehicles .band-dark .inline-link{ color: #4fd9c4; }
  body.page-nairobi-domain-vehicles .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.page-nairobi-domain-vehicles .band-dark .realism-card h5{ color: #8ea0ac; }
  body.page-nairobi-domain-vehicles .band-dark .realism-card .sub{ color: #cbd5da; }
  body.page-nairobi-domain-vehicles .band-dark .status-line.warn{ color: #e0b34a; }
  body.page-nairobi-domain-vehicles .band-dark .status-line.pass{ color: #4fd9c4; }
  body.page-nairobi-domain-vehicles .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.page-nairobi-domain-vehicles .band-dark .limit-box h5{ color: #fff; }
  body.page-nairobi-domain-vehicles .band-dark .limit-box p{ color: #cbd5da; }
  body.page-nairobi-domain-vehicles .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.page-nairobi-domain-vehicles .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.page-nairobi-domain-vehicles .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.page-nairobi-domain-vehicles .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.page-nairobi-domain-vehicles .limit-box summary::-webkit-details-marker{ display: none; }
  body.page-nairobi-domain-vehicles .limit-box summary h5{ flex: 1 1 auto; }
  body.page-nairobi-domain-vehicles .limit-box summary .tag{ margin-top: 0; }
  body.page-nairobi-domain-vehicles .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.page-nairobi-domain-vehicles .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.page-nairobi-domain-vehicles .limit-box .limit-body p{ margin-top: 10px; }
  body.page-nairobi-domain-vehicles .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.page-nairobi-domain-vehicles .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.page-nairobi-domain-vehicles .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.page-nairobi-domain-vehicles .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.page-nairobi-domain-vehicles .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 720px) { body.page-nairobi-domain-vehicles .story-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.page-nairobi-domain-vehicles .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.page-nairobi-domain-vehicles .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 721px) { body.page-nairobi-domain-vehicles .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.page-nairobi-domain-vehicles .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.page-nairobi-domain-vehicles .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.page-nairobi-domain-vehicles .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.page-nairobi-domain-vehicles .city-cta-grid{ grid-template-columns: 1fr; } }
  body.page-nairobi-domain-vehicles .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.page-nairobi-domain-vehicles .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.page-nairobi-domain-vehicles .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 24.0px; margin-top: 8px; }
  body.page-nairobi-domain-vehicles .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.page-nairobi-domain-vehicles .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.page-nairobi-domain-vehicles .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.page-nairobi-domain-vehicles a:focus-visible, body.page-nairobi-domain-vehicles .btn:focus-visible, body.page-nairobi-domain-vehicles .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.page-nairobi-domain-vehicles .band-dark a:focus-visible, body.page-nairobi-domain-vehicles .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.page-nairobi-domain-vehicles .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.page-nairobi-domain-vehicles{ scroll-behavior: auto; } }

body.page-nairobi-domain-vehicles .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}

/* ===== COMPONENT: other.css ===== */
/* V5 other components */


/* ===== LEGACY V5 GLOBAL COMPATIBILITY ===== */
/* FIDELRA UNIFIED DESIGN SYSTEM V5
   One global visual grammar. Component files may define unique diagrams/layout mechanics,
   but do not own brand typography, page rhythm, headers, surfaces, cards, SQL, badges or footer. */
:root{
  --fd-ink:#12343a; --fd-copy:#294a51; --fd-muted:#5b7479;
  --fd-teal:#0b8f82; --fd-teal-2:#55c4c1; --fd-aqua:#97cbcb;
  --fd-deep:#163a42; --fd-night:#06101a; --fd-night-panel:#111d27;
  --fd-bg:#f7faf9; --fd-panel:#fff; --fd-mist:#eef5f4;
  --fd-line:#cbdad8; --fd-line-dark:#40525b;
  --fd-font:Inter,"Segoe UI",Arial,sans-serif;
  --fd-mono:"SFMono-Regular","Cascadia Code",Consolas,monospace;
  --fd-w:1180px;
  --sp-1:8px;--sp-2:12px;--sp-3:16px;--sp-4:24px;--sp-5:32px;--sp-6:48px;--sp-7:64px;--sp-8:80px;
  --ink:var(--fd-ink);--ink-2:var(--fd-copy);--ink-3:var(--fd-muted);
  --font:var(--fd-font);--font-display:var(--fd-font);--mono:var(--fd-mono);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:136px}
body.fcte-v5{margin:0;background:var(--fd-bg);color:var(--fd-ink);font-family:var(--fd-font);font-size:15.0px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.fcte-v5 button,body.fcte-v5 input,body.fcte-v5 select,body.fcte-v5 textarea{font-family:var(--fd-font)}
body.fcte-v5 a{color:#16767a;text-decoration:none} body.fcte-v5 a:hover{color:#0a5e63}
body.fcte-v5 h1,body.fcte-v5 h2,body.fcte-v5 h3,body.fcte-v5 h4,body.fcte-v5 h5,body.fcte-v5 h6{font-family:var(--fd-font);color:var(--fd-ink);font-weight:820;letter-spacing:-.035em;margin-top:0}
body.fcte-v5 h1{font-size:clamp(46px,5.2vw,72px);line-height:.98;margin-bottom:18px}
body.fcte-v5 h2{font-size:clamp(34px,3.7vw,52px);line-height:1.04;margin-bottom:16px}
body.fcte-v5 h3{font-size:24.0px;line-height:1.15;margin-bottom:12px}
body.fcte-v5 p,body.fcte-v5 li,body.fcte-v5 td,body.fcte-v5 .dek,body.fcte-v5 .lead,body.fcte-v5 .sub,body.fcte-v5 .desc{color:var(--fd-copy);font-weight:500}
body.fcte-v5 code,body.fcte-v5 pre,body.fcte-v5 .mono,body.fcte-v5 .eyebrow,body.fcte-v5 .kicker,body.fcte-v5 .doc-section-label,body.fcte-v5 .premium-scope-label{font-family:var(--fd-mono)}
body.fcte-v5 .wrap{width:min(var(--fd-w),calc(100% - 64px));max-width:var(--fd-w);margin-inline:auto;padding-left:0;padding-right:0}

/* Header contract */
body.fcte-v5 .global-header,body.fcte-v5 .premium-city-header,body.fcte-v5>header:not(.cover):not(.audit-hero){background:#f9fbfb;border-bottom:1px solid #dde8e6;box-shadow:none}
body.fcte-v5 .global-header>.wrap,body.fcte-v5 .premium-city-header .pch-global,body.fcte-v5>header:not(.cover):not(.audit-hero)>.wrap.nav{height:64px;min-height:64px;display:flex;align-items:center}
body.fcte-v5 .brand,body.fcte-v5 .pch-brand,body.fcte-v5>header .logo{font-family:var(--fd-font);font-size:18.0px;font-weight:850;letter-spacing:-.025em;color:var(--fd-deep)}
body.fcte-v5 .brand span,body.fcte-v5 .pch-brand span,body.fcte-v5>header .logo span{color:#58b8ba}
body.fcte-v5 .brand small,body.fcte-v5 .pch-brand small{display:none}
body.fcte-v5 .global-nav,body.fcte-v5 .pch-global-nav,body.fcte-v5 .nav-links{display:flex;align-items:center;gap:26px}
body.fcte-v5 .global-nav a,body.fcte-v5 .pch-global-nav a,body.fcte-v5 .nav-links a,body.fcte-v5 .global-nav .btn,body.fcte-v5 .pch-talk{background:transparent;border:0;padding:7px 0;color:#3d6066;font-size:14px;font-weight:720;box-shadow:none}
body.fcte-v5 .global-nav a:hover,body.fcte-v5 .pch-global-nav a:hover,body.fcte-v5 .nav-links a:hover{color:var(--fd-deep)}

/* City navigation contract */
body.fcte-v5 .premium-city-context{display:none}
body.fcte-v5 .pch-citybar{background:#fff;border-bottom:1px solid var(--fd-line);border-top:0}
body.fcte-v5 .pch-citybar>.wrap{height:64px;min-height:64px;display:flex;align-items:center;gap:30px}
body.fcte-v5 .pch-city-id{display:flex;align-items:center;gap:10px;min-width:205px}
body.fcte-v5 .pch-dot{display:none}
body.fcte-v5 .pch-flag{display:inline-block;width:30px;height:20px;flex:0 0 30px;border:1px solid rgba(18,52,58,.12)}
body.fcte-v5 .pch-flag-ng{background:linear-gradient(90deg,#008751 0 33.333%,#fff 33.333% 66.666%,#008751 66.666%)}
body.fcte-v5 .pch-flag-ke{background:linear-gradient(to bottom,#111 0 28%,#fff 28% 32%,#bb2026 32% 68%,#fff 68% 72%,#0b8f45 72%)}
body.fcte-v5 .pch-city-current{color:var(--fd-deep);font-size:14px;font-weight:820;padding:0}
body.fcte-v5 .pch-city-current:after{content:"Switch ↗";font:700 14px/1 var(--fd-mono);letter-spacing:.04em;color:#6d898d;margin-left:8px}
body.fcte-v5 .pch-city-nav{display:flex;margin-left:auto;gap:0}
body.fcte-v5 .pch-city-nav a{min-width:68px;padding:13px 10px 11px;color:#5b7378;font-size:14px;font-weight:760;line-height:1.05;text-align:center}
body.fcte-v5 .pch-city-nav a:before{font:700 14px/1 var(--fd-mono);color:#91a5a8;margin-bottom:5px}
body.fcte-v5 .pch-city-nav a.active,body.fcte-v5 .pch-city-nav a:hover{color:var(--fd-deep)}
body.fcte-v5 .pch-city-nav a.active:after{height:3px;left:10px;right:10px;background:#5eb7ba}

/* One page/section rhythm */
body.fcte-v5 .v5-section{padding-top:72px;padding-bottom:72px}
body.fcte-v5 .v5-section.tight{padding-top:64px;padding-bottom:64px}
body.fcte-v5 .page-hero{padding-top:72px;padding-bottom:72px}
body.fcte-v5 .page-hero .eyebrow,body.fcte-v5 .page-hero .kicker,body.fcte-v5 .premium-scope-label{color:#278689;font-size:14px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
body.fcte-v5 .page-hero p,body.fcte-v5 .page-hero .dek,body.fcte-v5 .page-hero .lead{max-width:760px;font-size:17.0px;line-height:1.65;margin-top:12px;margin-bottom:0}
body.fcte-v5 .section-head,body.fcte-v5 .head{margin-bottom:32px}
body.fcte-v5 .section-head p,body.fcte-v5 .head p{margin-top:10px;max-width:780px}

/* One dark-surface contract */
body.fcte-v5 .surface-dark,body.fcte-v5 .band-dark{background:var(--fd-night);color:#fff}
body.fcte-v5 .surface-dark h1,body.fcte-v5 .surface-dark h2,body.fcte-v5 .surface-dark h3,body.fcte-v5 .surface-dark h4,body.fcte-v5 .surface-dark h5,body.fcte-v5 .surface-dark h6,body.fcte-v5 .band-dark h1,body.fcte-v5 .band-dark h2,body.fcte-v5 .band-dark h3{color:#fff}
body.fcte-v5 .surface-dark p,body.fcte-v5 .surface-dark li,body.fcte-v5 .surface-dark .dek,body.fcte-v5 .surface-dark .lead,body.fcte-v5 .surface-dark .sub,body.fcte-v5 .surface-dark .desc,body.fcte-v5 .band-dark p{color:#c8d5d8}
body.fcte-v5 .surface-dark .eyebrow,body.fcte-v5 .surface-dark .kicker,body.fcte-v5 .surface-dark .premium-scope-label,body.fcte-v5 .band-dark .eyebrow{color:#50d5c5}
body.fcte-v5 .surface-dark a,body.fcte-v5 .band-dark a{color:#63dccd}

/* Surfaces and cards: functional, squared, no decorative shadows */
body.fcte-v5 .card,body.fcte-v5 .doc-card,body.fcte-v5 .goal-card,body.fcte-v5 .price-card,body.fcte-v5 .spec-panel,body.fcte-v5 .city-table-wrap,body.fcte-v5 .city-catalog-card,body.fcte-v5 .city-stat-card,body.fcte-v5 .city-feature-card,body.fcte-v5 .city-record-card,body.fcte-v5 .city-audit-card,body.fcte-v5 .city-release-card,body.fcte-v5 .cta-panel,body.fcte-v5 .story-next-card,body.fcte-v5 .network-wrap,body.fcte-v5 .journey-card,body.fcte-v5 .chart-card,body.fcte-v5 .qx-panel,body.fcte-v5 .tablewrap,body.fcte-v5 details,body.fcte-v5 .limit-box,body.fcte-v5 .asset-card,body.fcte-v5 .audit-long-scroll,body.fcte-v5 .audit-sequence{border-radius:0;box-shadow:none;border-color:var(--fd-line)}
body.fcte-v5 .card:hover,body.fcte-v5 .doc-card:hover,body.fcte-v5 .goal-card:hover{transform:none;box-shadow:none}
body.fcte-v5 .surface-dark .card,body.fcte-v5 .surface-dark .qx-panel,body.fcte-v5 .surface-dark .asset-card,body.fcte-v5 .surface-dark details,body.fcte-v5 .band-dark .card{background:var(--fd-night-panel);border-color:var(--fd-line-dark);color:#fff}
body.fcte-v5 .surface-dark .card p,body.fcte-v5 .surface-dark .qx-panel p,body.fcte-v5 .band-dark .card p{color:#b9c9cc}

/* Badges are intentionally pills; boxes are not */
body.fcte-v5 .badge,body.fcte-v5 .pill,body.fcte-v5 .phase-pill,body.fcte-v5 .doc-tag.live,body.fcte-v5 .fcte-certified-badge,body.fcte-v5 .asset-badge,body.fcte-v5 .city-cert-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--fd-teal);border:1px solid var(--fd-teal);color:#fff;padding:5px 10px;font:800 14px/1 var(--fd-mono);letter-spacing:.04em;text-transform:uppercase;box-shadow:none}

/* Buttons and calls to action */
body.fcte-v5 .btn,body.fcte-v5 button{border-radius:0;box-shadow:none;font-size:14px;font-weight:760;padding:10px 16px}
body.fcte-v5 .btn-primary,body.fcte-v5 .primary{background:var(--fd-deep);border:1px solid var(--fd-deep);color:#fff}
body.fcte-v5 .btn-ghost,body.fcte-v5 .ghost{background:transparent;color:var(--fd-deep);border:1px solid #99b4b4}
body.fcte-v5 .surface-dark .btn-ghost,body.fcte-v5 .band-dark .btn-ghost{color:#fff;border-color:#89afb2}

/* Tables, details and data surfaces */
body.fcte-v5 table{border-collapse:collapse;width:100%}
body.fcte-v5 th{font:800 14px/1.25 var(--fd-mono);letter-spacing:.06em;text-transform:uppercase;color:#49676d;background:var(--fd-mist)}
body.fcte-v5 th,body.fcte-v5 td{border:1px solid var(--fd-line);padding:12px 14px;text-align:left}
body.fcte-v5 details{background:#fff;border:1px solid var(--fd-line)}
body.fcte-v5 details summary{padding:14px 16px;font-weight:760;color:var(--fd-ink)}

/* SQL contract */
body.fcte-v5 pre,body.fcte-v5 .sql-box,body.fcte-v5 .sql-panel,body.fcte-v5 .query-panel,body.fcte-v5 .qx-sql,body.fcte-v5 [class*="sql-code"]{border-radius:0;box-shadow:none;background:#0d3036;color:#d9f2ef;border:1px solid #36545b;font-family:var(--fd-mono)}
body.fcte-v5 pre{padding:20px;overflow:auto}
body.fcte-v5 .sql-box *,body.fcte-v5 .sql-panel *,body.fcte-v5 .query-panel *,body.fcte-v5 .qx-sql *{color:inherit}

/* Domain docs: one readable typography contract */
body.fcte-v5.page-family-domain .domain-hero-lead,body.fcte-v5.page-family-domain .doc-section>p,body.fcte-v5.page-family-domain .plain-summary p,body.fcte-v5.page-family-domain .limit-body p,body.fcte-v5.page-family-domain .story-card p,body.fcte-v5.page-family-domain .lc-copy,body.fcte-v5.page-family-domain .entity-copy{font-family:var(--fd-font);font-size:15.5px;line-height:1.68;font-weight:500;color:var(--fd-copy)}
body.fcte-v5.page-family-domain .doc-section h3{font-size:clamp(30px,3.6vw,44px);line-height:1.07;font-weight:840;margin-top:8px}
body.fcte-v5.page-family-domain .story-next{display:none}

/* Audit contract */
body.fcte-v5.page-family-audits-index .audit-hero,body.fcte-v5.page-family-audit-detail .audit-hero{background:var(--fd-night);padding:64px;color:#fff}
body.fcte-v5.page-family-audits-index .audit-hero h1,body.fcte-v5.page-family-audit-detail .audit-hero h1{color:#fff}
body.fcte-v5.page-family-audits-index .audit-hero p,body.fcte-v5.page-family-audit-detail .audit-hero p{color:#c8d5d8}
body.fcte-v5 .group h2{text-transform:none}
body.fcte-v5 .audit-long-scroll{max-height:720px;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid var(--fd-line);padding:20px}
body.fcte-v5 .audit-long-scroll::-webkit-scrollbar{width:8px} body.fcte-v5 .audit-long-scroll::-webkit-scrollbar-thumb{background:#759da0} body.fcte-v5 .audit-long-scroll::-webkit-scrollbar-track{background:#edf3f2}

/* City gateway catalogue */
body.fcte-v5 .city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.fcte-v5 .city-grid .card{background:#fff;border:1px solid var(--fd-line);padding:22px;min-height:250px}
body.fcte-v5 .city-grid .future-card{background:#f3f5f4;color:#7e8d8f;border-color:#dfe6e4;opacity:.7}
body.fcte-v5 .city-dot{width:9px;height:9px;border-radius:50%;background:#4caeb0;box-shadow:none}
body.fcte-v5 .city-kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--fd-line);border-left:1px solid var(--fd-line);margin:20px 0 18px}
body.fcte-v5 .city-kpi{padding:11px 10px;border-right:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)}
body.fcte-v5 .city-kpi b{display:block;font-size:18.0px;line-height:1.1;color:var(--fd-deep)}
body.fcte-v5 .city-kpi span{display:block;margin-top:4px;font:700 14px/1.2 var(--fd-mono);text-transform:uppercase;letter-spacing:.06em;color:#668085}

/* Footer: one color and one grammar across all pages */
body.fcte-v5 footer,body.fcte-v5 .footer,body.fcte-v5 .fidelra-premium-footer{background:var(--fd-night);color:#cbd8da;border:0;box-shadow:none;padding:56px 0 24px;margin-top:0}
body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
body.fcte-v5 footer h1,body.fcte-v5 footer h2,body.fcte-v5 footer h3,body.fcte-v5 footer h4,body.fcte-v5 .fpf-brand-title{color:#fff}
body.fcte-v5 footer p,body.fcte-v5 .fpf-brand p,body.fcte-v5 .footer-brand-desc{color:#a9bdc0}
body.fcte-v5 footer a,body.fcte-v5 .fpf-col a{color:#d6e1e2} body.fcte-v5 footer a:hover,body.fcte-v5 .fpf-col a:hover{color:#63dccd}
body.fcte-v5 .fpf-col strong,body.fcte-v5 .footer-col-title{color:#8ea7aa;font:800 14px/1.2 var(--fd-mono);text-transform:uppercase;letter-spacing:.08em}
body.fcte-v5 .fpf-bottom,body.fcte-v5 .footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:16px;color:#7f989c}

/* Remove old decorative surface behavior while retaining pills/dots */
body.fcte-v5 [class*="card"],body.fcte-v5 [class*="panel"],body.fcte-v5 [class*="box"],body.fcte-v5 .tablewrap,body.fcte-v5 input[type="text"],body.fcte-v5 input[type="search"],body.fcte-v5 select,body.fcte-v5 textarea{border-radius:0;box-shadow:none}
body.fcte-v5 .badge,body.fcte-v5 .pill,body.fcte-v5 .phase-pill,body.fcte-v5 .fcte-certified-badge{border-radius:999px}

@media(max-width:900px){
 body.fcte-v5 .wrap{width:min(100% - 36px,var(--fd-w))}
 body.fcte-v5 .global-nav a:not(:last-child),body.fcte-v5 .pch-global-nav a:not(:last-child){display:none}
 body.fcte-v5 .pch-citybar>.wrap{height:auto;min-height:64px;flex-wrap:wrap;padding-block:10px}
 body.fcte-v5 .pch-city-nav{width:100%;overflow-x:auto}
 body.fcte-v5 .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 body.fcte-v5 .wrap{width:calc(100% - 32px)}
 body.fcte-v5 .v5-section,body.fcte-v5 .v5-section.tight,body.fcte-v5 .page-hero{padding-top:52px;padding-bottom:52px}
 body.fcte-v5 .city-grid{grid-template-columns:1fr}
 body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{grid-template-columns:1fr}
}



/* ===== STATIC INLINE-LAYOUT UTILITIES MIGRATED FROM HTML ===== */
.u-inline-0001{columns:1}
.u-inline-0002{margin-top:22px}
.u-inline-0003{margin-top:20px}
.u-inline-0004{text-align:center}
.u-inline-0005{margin-left:auto;margin-right:auto}
.u-inline-0006{justify-content:center;margin-top:24px}
.u-inline-0007{padding:24px 0 8px}
.u-inline-0008{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);font-size:14px}
.u-inline-0009{color:var(--text);text-decoration:none}
.u-inline-0010{color:var(--text);text-decoration:none;text-align:right}
.u-inline-0011{background:var(--panel-2);border:1px solid var(--line);padding:18px 20px;font-family:var(--mono);font-size:14px;line-height:1.7;color:var(--ink-2);white-space:pre;overflow-x:auto;margin:18px 0}
.u-inline-0012{color:var(--accent-strong)}
.u-inline-0013{padding-top:24px;padding-bottom:8px}
.u-inline-0014{color:var(--ink);text-decoration:none}
.u-inline-0015{color:var(--ink);text-decoration:none;text-align:right}
.u-inline-0016{flex:21}
.u-inline-0017{flex:19}
.u-inline-0018{flex:1}
.u-inline-0019{flex:14}
.u-inline-0020{flex:9}
.u-inline-0021{flex:2}
.u-inline-0022{flex:15}
.u-inline-0023{flex:17}
.u-inline-0024{flex:10}
.u-inline-0025{flex:16}
.u-inline-0026{flex:22}
.u-inline-0027{flex:7}
.u-inline-0028{flex:4}
.u-inline-0029{color:var(--accent)}
.u-inline-0030{padding-top:24px;padding-bottom:24px}
.u-inline-0031{background:var(--nairobi)}
.u-inline-0032{margin-top:12px}
.u-inline-0033{opacity:.6}
.u-inline-0034{display:none}
.u-inline-0035{margin-top:14px}
.u-inline-0036{margin-top:0}
.u-inline-0037{border-bottom:none}
.u-inline-0038{display:flex;align-items:center;justify-content:space-between;gap:12px}
.u-inline-0039{margin:8px 0 0}
.u-inline-0040{margin-top:44px}
.u-inline-0041{color:inherit}
.u-inline-0042{margin-top:18px}
.u-inline-0043{margin-top:34px}
.u-inline-0044{margin-top:40px}
.u-inline-0045{color:inherit;text-decoration:underline}
.u-inline-0046{margin-top:36px}
.u-inline-0047{margin-top:30px}
.u-inline-0048{margin-top:28px}
.u-inline-0049{margin-top:26px}
.u-inline-0050{margin-top:8px}
.u-inline-0051{background:#0c1a24}
.u-inline-0052{margin-top:32px}
.u-inline-0053{background:var(--good)}
.u-inline-0054{padding:24px 14px 18px}
.u-inline-0055{text-align:center;margin-top:26px}
.u-inline-0056{text-align:center;margin-top:30px}
.u-inline-0057{font-style:italic}
.u-inline-0058{border-color:rgba(255,255,255,0.25);color:#fff}
.u-inline-0059{font-size:17.0px}
.u-inline-0060{border-color:#9bd3d2;color:#f7ffff;background:rgba(255,255,255,.08)}
.u-inline-0061{margin:0 auto 12px;text-align:center}
.u-inline-0062{margin:4px auto 22px;text-align:center}
.u-inline-0063{max-width:640px;margin:0 auto}
.u-inline-0064{display:flex;flex-direction:column;gap:14px}
.u-inline-0065{background:var(--good-bg);border:1px solid var(--good-line);padding:10px 14px}
.u-inline-0066{display:block}
.u-inline-0067{background:var(--panel-2);padding:1px 6px}
.u-inline-0068{float:right}
.u-inline-0069{display:inline-block;margin-left:8px}
.u-inline-0070{font:700 14px var(--mono);color:#89999c;margin:15px 0}
.u-inline-0071{color:var(--mint)}
.u-inline-0072{padding-top:20px}
.u-inline-0073{display:flex;gap:10px;justify-content:center;margin-bottom:22px}
.u-inline-0074{grid-template-columns:1fr}
.u-inline-0075{display:flex;gap:10px;justify-content:center;margin-bottom:22px;flex-wrap:wrap}
.u-inline-0076{color:#4fd9c4;font-weight:700}

/* ==========================================================================\n   FIDELRA V5.1 FINAL DESIGN CONTRACT — THIS BLOCK OWNS THE VISUAL SYSTEM\n   ========================================================================== */
:root{
  --fd-ink:#12343a;--fd-copy:#294a51;--fd-muted:#60777c;
  --fd-teal:#0b8f82;--fd-teal-2:#55c4c1;--fd-aqua:#97cbcb;
  --fd-deep:#163a42;--fd-night:#06101a;--fd-night-panel:#101d26;
  --fd-bg:#f7faf9;--fd-panel:#ffffff;--fd-mist:#eef5f4;
  --fd-line:#cbdad8;--fd-line-soft:#e1ebe9;--fd-line-dark:#40525b;
  --fd-good:#15825f;--fd-warn:#9a6a18;--fd-bad:#a8463f;--fd-neutral:#76878b;
  --fd-font:Inter,"Segoe UI",Arial,sans-serif;--fd-mono:"SFMono-Regular","Cascadia Code",Consolas,monospace;
  --fd-w:1180px;--sp1:8px;--sp2:12px;--sp3:16px;--sp4:24px;--sp5:32px;--sp6:48px;--sp7:64px;--sp8:80px;
}
body.fcte-v5{
  /* Legacy variable aliases are deliberately fixed here so all old components inherit one palette. */
  --bg:var(--fd-bg);--panel:var(--fd-panel);--panel-2:var(--fd-mist);--teal-tint:#eef7f5;
  --ink:var(--fd-ink);--ink-2:var(--fd-copy);--ink-3:var(--fd-muted);--line:var(--fd-line);--line-soft:var(--fd-line-soft);
  --accent:var(--fd-teal);--accent-strong:#14777a;--accent-hover:#096f65;--accent-ink:#fff;
  --good:var(--fd-good);--warn:var(--fd-warn);--bad:var(--fd-bad);--neutral:var(--fd-neutral);--amber:var(--fd-warn);--mint:var(--fd-aqua);
  --font:var(--fd-font);--font-display:var(--fd-font);--mono:var(--fd-mono);
  margin:0;background:var(--fd-bg);color:var(--fd-ink);font:500 15.5px/1.65 var(--fd-font);overflow-x:hidden;
}
body.fcte-v5 *,body.fcte-v5 *::before,body.fcte-v5 *::after{box-sizing:border-box}
html{scroll-padding-top:136px}
body.fcte-v5 a{color:#14777a;text-decoration:none}body.fcte-v5 a:hover{color:#095f63}
body.fcte-v5 h1,body.fcte-v5 h2,body.fcte-v5 h3,body.fcte-v5 h4,body.fcte-v5 h5,body.fcte-v5 h6{font-family:var(--fd-font);color:var(--fd-ink);font-weight:650;letter-spacing:-.035em;margin-top:0}
body.fcte-v5 h1{font-size:clamp(48px,5.2vw,70px);line-height:1.0;margin-bottom:18px}
body.fcte-v5 h2{font-size:clamp(32px,3.7vw,48px);line-height:1.06;margin-bottom:16px}
body.fcte-v5 h3{font-size:22.0px;line-height:1.18;margin-bottom:10px}
body.fcte-v5 p,body.fcte-v5 li,body.fcte-v5 td,body.fcte-v5 .lead,body.fcte-v5 .lede,body.fcte-v5 .dek,body.fcte-v5 .desc,body.fcte-v5 .sub{font-family:var(--fd-font);color:var(--fd-copy);font-weight:500}
body.fcte-v5 code,body.fcte-v5 pre,body.fcte-v5 .mono,body.fcte-v5 .eyebrow,body.fcte-v5 .kicker,body.fcte-v5 .doc-section-label,body.fcte-v5 .premium-scope-label{font-family:var(--fd-mono)}
body.fcte-v5 .wrap{width:min(var(--fd-w),calc(100% - 64px));max-width:var(--fd-w);margin-inline:auto;padding-left:0;padding-right:0}

/* ONE HEADER */
body.fcte-v5 .global-header,body.fcte-v5 .premium-city-header{position:relative;top:auto;z-index:60;background:#f9fbfb;border:0;border-bottom:1px solid var(--fd-line-soft);box-shadow:none;backdrop-filter:none}
body.fcte-v5 .global-header>.wrap,body.fcte-v5 .premium-city-header .pch-global{height:64px;min-height:64px;display:flex;align-items:center}
body.fcte-v5 .brand,body.fcte-v5 .pch-brand{font:850 18.0px/1 var(--fd-font);letter-spacing:-.025em;color:var(--fd-deep)}
body.fcte-v5 .brand b,body.fcte-v5 .brand span,body.fcte-v5 .pch-brand span{color:#58b8ba}
body.fcte-v5 .brand small,body.fcte-v5 .pch-brand small{display:none}
body.fcte-v5 .global-nav,body.fcte-v5 .pch-global-nav{display:flex;align-items:center;gap:26px;margin-left:auto}
body.fcte-v5 .global-nav a,body.fcte-v5 .pch-global-nav a,body.fcte-v5 .global-nav .btn,body.fcte-v5 .pch-talk{background:none;border:0;box-shadow:none;padding:7px 0;color:#3d6066;font:700 14px/1.2 var(--fd-font)}
body.fcte-v5 .global-nav a:hover,body.fcte-v5 .pch-global-nav a:hover{color:var(--fd-deep)}

/* ONE CITY ROW */
body.fcte-v5 .premium-city-context{display:none}
body.fcte-v5 .pch-citybar{background:#fff;border:0;border-bottom:1px solid var(--fd-line)}
body.fcte-v5 .pch-citybar>.wrap{height:64px;min-height:64px;display:flex;align-items:center;gap:30px}
body.fcte-v5 .pch-city-id{display:flex;align-items:center;gap:10px;min-width:205px}
body.fcte-v5 .pch-dot{display:none}
body.fcte-v5 .pch-flag{display:inline-block;width:30px;height:20px;flex:0 0 30px;border:1px solid rgba(18,52,58,.12)}
body.fcte-v5 .pch-flag-ng{background:linear-gradient(90deg,#008751 0 33.333%,#fff 33.333% 66.666%,#008751 66.666%)}
body.fcte-v5 .pch-flag-ke{background:linear-gradient(to bottom,#111 0 28%,#fff 28% 32%,#bb2026 32% 68%,#fff 68% 72%,#0b8f45 72% 100%)}
body.fcte-v5 .pch-city-current{padding:0;color:var(--fd-deep);font:800 14px/1.2 var(--fd-font)}
body.fcte-v5 .pch-city-current::after{content:"Switch ↗";margin-left:8px;color:#70878b;font:700 14px/1 var(--fd-mono);letter-spacing:.04em}
body.fcte-v5 .pch-city-nav{display:flex;margin-left:auto;gap:0;overflow:visible}
body.fcte-v5 .pch-city-nav a{position:relative;min-width:68px;padding:13px 10px 11px;color:#5b7378;text-align:center;font:750 14px/1.05 var(--fd-font)}
body.fcte-v5 .pch-city-nav a::before{font:700 14px/1 var(--fd-mono);color:#91a5a8;margin-bottom:5px}
body.fcte-v5 .pch-city-nav a.active,body.fcte-v5 .pch-city-nav a:hover{color:var(--fd-deep)}
body.fcte-v5 .pch-city-nav a.active::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:#5eb7ba}

/* ONE PAGE RHYTHM */
body.fcte-v5 section.v5-section,body.fcte-v5 .v5-section{padding-top:72px;padding-bottom:72px}
body.fcte-v5 section.v5-section.tight,body.fcte-v5 .v5-section.tight{padding-top:64px;padding-bottom:64px}
body.fcte-v5 .page-hero{padding-top:72px;padding-bottom:72px;border-bottom:1px solid var(--fd-line-soft)}
body.fcte-v5 .page-hero .eyebrow,body.fcte-v5 .page-hero .kicker,body.fcte-v5 .premium-scope-label{color:#278689;font:800 14px/1.3 var(--fd-mono);letter-spacing:.12em;text-transform:uppercase}
body.fcte-v5 .page-hero h1{font-size:clamp(48px,5.2vw,70px);line-height:1.0;margin:14px 0 18px;max-width:950px}
body.fcte-v5 .page-hero p,body.fcte-v5 .page-hero .lead,body.fcte-v5 .page-hero .lede,body.fcte-v5 .page-hero .dek{max-width:760px;margin:0;font-size:17.0px;line-height:1.65;color:var(--fd-copy);font-weight:500}
body.fcte-v5 .section-head,body.fcte-v5 .head{max-width:820px;margin-bottom:32px}
body.fcte-v5 .section-head p,body.fcte-v5 .head p{max-width:760px;margin-top:10px}

/* ONE DARK SURFACE — NO DARK TEXT ON DARK BACKGROUNDS */
body.fcte-v5 .surface-dark,body.fcte-v5 .band-dark{background:var(--fd-night);color:#fff;border-color:var(--fd-night)}
body.fcte-v5 .surface-dark h1,body.fcte-v5 .surface-dark h2,body.fcte-v5 .surface-dark h3,body.fcte-v5 .surface-dark h4,body.fcte-v5 .surface-dark h5,body.fcte-v5 .surface-dark h6,body.fcte-v5 .band-dark h1,body.fcte-v5 .band-dark h2,body.fcte-v5 .band-dark h3,body.fcte-v5 .band-dark h4{color:#fff}
body.fcte-v5 .surface-dark p,body.fcte-v5 .surface-dark li,body.fcte-v5 .surface-dark .lead,body.fcte-v5 .surface-dark .lede,body.fcte-v5 .surface-dark .dek,body.fcte-v5 .surface-dark .desc,body.fcte-v5 .surface-dark .sub,body.fcte-v5 .band-dark p,body.fcte-v5 .band-dark li{color:#cbd8db}
body.fcte-v5 .surface-dark .eyebrow,body.fcte-v5 .surface-dark .kicker,body.fcte-v5 .surface-dark .premium-scope-label,body.fcte-v5 .band-dark .eyebrow,body.fcte-v5 .band-dark .doc-section-label{color:#55d6c7}
body.fcte-v5 .surface-dark a,body.fcte-v5 .band-dark a{color:#66ddcf}
body.fcte-v5 .surface-dark .page-hero p,body.fcte-v5 .page-hero.surface-dark p{color:#cbd8db}

/* Families that intentionally use a dark hero. */
body.fcte-v5.page-city-twins .page-hero,body.fcte-v5.page-family-city-overview .page-hero,body.fcte-v5.page-family-audits-index .page-hero,body.fcte-v5.page-family-audit-detail .page-hero{background:var(--fd-night);color:#fff;border-bottom-color:var(--fd-night)}
body.fcte-v5.page-city-twins .page-hero h1,body.fcte-v5.page-family-city-overview .page-hero h1,body.fcte-v5.page-family-audits-index .page-hero h1,body.fcte-v5.page-family-audit-detail .page-hero h1{color:#fff}
body.fcte-v5.page-city-twins .page-hero p,body.fcte-v5.page-family-city-overview .page-hero p,body.fcte-v5.page-family-audits-index .page-hero p,body.fcte-v5.page-family-audit-detail .page-hero p{color:#cbd8db}

/* ONE CARD / PANEL LANGUAGE */
body.fcte-v5 .card,body.fcte-v5 .doc-card,body.fcte-v5 .goal-card,body.fcte-v5 .price-card,body.fcte-v5 .spec-panel,body.fcte-v5 .city-table-wrap,body.fcte-v5 .city-catalog-card,body.fcte-v5 .city-stat-card,body.fcte-v5 .city-feature-card,body.fcte-v5 .city-record-card,body.fcte-v5 .city-audit-card,body.fcte-v5 .city-release-card,body.fcte-v5 .cta-panel,body.fcte-v5 .story-next-card,body.fcte-v5 .network-wrap,body.fcte-v5 .journey-card,body.fcte-v5 .chart-card,body.fcte-v5 .qx-panel,body.fcte-v5 .tablewrap,body.fcte-v5 details,body.fcte-v5 .limit-box,body.fcte-v5 .asset-card,body.fcte-v5 .audit-long-scroll,body.fcte-v5 .audit-sequence,body.fcte-v5 .tier-card{border-radius:0;box-shadow:none;border-color:var(--fd-line)}
body.fcte-v5 .card:hover,body.fcte-v5 .doc-card:hover,body.fcte-v5 .goal-card:hover,body.fcte-v5 .tier-card:hover{transform:none;box-shadow:none}
body.fcte-v5 .surface-dark .card,body.fcte-v5 .surface-dark .qx-panel,body.fcte-v5 .surface-dark .asset-card,body.fcte-v5 .surface-dark details,body.fcte-v5 .band-dark .card{background:var(--fd-night-panel);border-color:var(--fd-line-dark);color:#fff}
body.fcte-v5 .surface-dark .card p,body.fcte-v5 .surface-dark .qx-panel p,body.fcte-v5 .band-dark .card p{color:#bccacc}

/* Only status badges are rounded. */
body.fcte-v5 .badge,body.fcte-v5 .pill,body.fcte-v5 .phase-pill,body.fcte-v5 .doc-tag.live,body.fcte-v5 .fcte-certified-badge,body.fcte-v5 .asset-badge,body.fcte-v5 .city-cert-badge,body.fcte-v5 .sev-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--fd-teal);border:1px solid var(--fd-teal);color:#fff;padding:5px 10px;font:800 14px/1 var(--fd-mono);letter-spacing:.04em;text-transform:uppercase;box-shadow:none}

/* Buttons are technical rectangles. */
body.fcte-v5 .btn,body.fcte-v5 button{border-radius:0;box-shadow:none;font:750 14px/1.2 var(--fd-font);padding:10px 16px}
body.fcte-v5 .btn-primary,body.fcte-v5 .primary{background:var(--fd-deep);border:1px solid var(--fd-deep);color:#fff}
body.fcte-v5 .btn-ghost,body.fcte-v5 .ghost{background:transparent;color:var(--fd-deep);border:1px solid #99b4b4}
body.fcte-v5 .surface-dark .btn-ghost,body.fcte-v5 .band-dark .btn-ghost{color:#fff;border-color:#89afb2}

/* ONE TABLE + SQL LANGUAGE */
body.fcte-v5 table{border-collapse:collapse;width:100%}body.fcte-v5 th{font:800 14px/1.25 var(--fd-mono);letter-spacing:.06em;text-transform:uppercase;color:#49676d;background:var(--fd-mist)}
body.fcte-v5 th,body.fcte-v5 td{border:1px solid var(--fd-line);padding:12px 14px;text-align:left}
body.fcte-v5 pre,body.fcte-v5 .sql-box,body.fcte-v5 .sql-panel,body.fcte-v5 .query-panel,body.fcte-v5 .qx-sql,body.fcte-v5 [class*="sql-code"]{border-radius:0;box-shadow:none;background:#0d3036;color:#dff5f2;border:1px solid #36545b;font-family:var(--fd-mono)}
body.fcte-v5 pre{padding:20px;overflow:auto}body.fcte-v5 .sql-box *,body.fcte-v5 .sql-panel *,body.fcte-v5 .query-panel *,body.fcte-v5 .qx-sql *{color:inherit}

/* DOMAIN TYPOGRAPHY OVERRIDES THE OLD PER-DOMAIN FONT/SECTION RULES. */
body.fcte-v5.page-family-domain .wrap{width:min(var(--fd-w),calc(100% - 64px));max-width:var(--fd-w);padding-left:0;padding-right:0}
body.fcte-v5.page-family-domain section.v5-section{padding-top:72px;padding-bottom:72px}
body.fcte-v5.page-family-domain section.v5-section.tight{padding-top:64px;padding-bottom:64px}
body.fcte-v5.page-family-domain .page-hero h1{font-size:clamp(48px,5.2vw,70px);line-height:1.0;font-weight:650;margin:14px 0 18px}
body.fcte-v5.page-family-domain .domain-hero-lead,body.fcte-v5.page-family-domain .doc-section>p,body.fcte-v5.page-family-domain .plain-summary p,body.fcte-v5.page-family-domain .limit-body p,body.fcte-v5.page-family-domain .story-card p,body.fcte-v5.page-family-domain .lc-copy,body.fcte-v5.page-family-domain .entity-copy{font:500 15.5px/1.68 var(--fd-font);color:var(--fd-copy)}
body.fcte-v5.page-family-domain .doc-section h3{font:800 clamp(30px,3.5vw,42px)/1.08 var(--fd-font);letter-spacing:-.035em;margin-top:8px}
body.fcte-v5.page-family-domain .story-next{display:none}

/* AUDITS ARE PART OF THE SAME PRODUCT, NOT A SEPARATE REPORTING APP. */
body.fcte-v5.page-family-audits-index .audit-index-content,body.fcte-v5.page-family-audit-detail .audit-detail-content{padding-top:64px;padding-bottom:72px}
body.fcte-v5.page-family-audits-index .group{margin-bottom:48px}
body.fcte-v5.page-family-audits-index .group h2{font:800 clamp(28px,3vw,38px)/1.1 var(--fd-font);letter-spacing:-.03em;color:var(--fd-ink);text-transform:none;margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-audits-index .card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:transparent;border:0}
body.fcte-v5.page-family-audits-index a.card{display:block;background:#fff;border:1px solid var(--fd-line);padding:20px;color:inherit}
body.fcte-v5.page-family-audits-index .card .t{font:800 17.0px/1.25 var(--fd-font);color:var(--fd-ink);margin-bottom:7px}
body.fcte-v5.page-family-audits-index .card .d{font:500 14px/1.6 var(--fd-font);color:var(--fd-copy)}
body.fcte-v5.page-family-audits-index .card .m{font:750 14px/1.3 var(--fd-mono);color:var(--fd-teal);margin-top:10px}
body.fcte-v5.page-family-audit-detail .audit-sequence{padding:18px 0;margin:0;border-bottom:1px solid var(--fd-line);display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}
body.fcte-v5.page-family-audit-detail .audit-next{text-align:right}
body.fcte-v5.page-family-audit-detail .audit-hero{margin:0}
body.fcte-v5 .audit-long-scroll{max-height:720px;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid var(--fd-line);padding:22px}

/* ONE FOOTER */
body.fcte-v5 footer,body.fcte-v5 .footer,body.fcte-v5 .fidelra-premium-footer{background:var(--fd-night);color:#cbd8da;border:0;box-shadow:none;padding:56px 0 24px;margin:0}
body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
body.fcte-v5 footer p,body.fcte-v5 .fpf-brand p,body.fcte-v5 .footer-brand-desc{color:#a9bdc0}
body.fcte-v5 footer a,body.fcte-v5 .fpf-col a{color:#d6e1e2}body.fcte-v5 footer a:hover,body.fcte-v5 .fpf-col a:hover{color:#63dccd}
body.fcte-v5 .fpf-col strong,body.fcte-v5 .footer-col-title{color:#8ea7aa;font:800 14px/1.2 var(--fd-mono);text-transform:uppercase;letter-spacing:.08em}
body.fcte-v5 .fpf-bottom,body.fcte-v5 .footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:16px;color:#7f989c}

@media(max-width:900px){
 body.fcte-v5 .wrap{width:min(100% - 36px,var(--fd-w))}
 body.fcte-v5 .global-nav a:not(:last-child),body.fcte-v5 .pch-global-nav a:not(:last-child){display:none}
 body.fcte-v5 .pch-citybar>.wrap{height:auto;min-height:64px;flex-wrap:wrap;padding-block:10px}
 body.fcte-v5 .pch-city-nav{width:100%;overflow-x:auto}
 body.fcte-v5.page-family-audits-index .card-list{grid-template-columns:1fr}
 body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 body.fcte-v5 .wrap{width:calc(100% - 32px)}
 body.fcte-v5 section.v5-section,body.fcte-v5 .v5-section,body.fcte-v5 .page-hero{padding-top:52px;padding-bottom:52px}
 body.fcte-v5 .fpf-grid,body.fcte-v5 .footer-grid{grid-template-columns:1fr}
}

/* V5.1 polished family variants — still owned by this single stylesheet. */
body.fcte-v5.page-family-home .page-hero h1{font-size:clamp(62px,8vw,96px);line-height:.98;max-width:760px}
body.fcte-v5.page-family-home .page-hero p{font-size:17.0px;max-width:680px}
body.fcte-v5.page-family-marketing .page-hero h1{max-width:900px}
/* V5.4 city product contract: every city page enters through the same navy hero. */
body.fcte-v5.city-locked .page-hero{background:var(--fd-night);color:#fff;border-bottom-color:var(--fd-night)}
body.fcte-v5.city-locked .page-hero h1,
body.fcte-v5.city-locked .page-hero h2,
body.fcte-v5.city-locked .page-hero h3{color:#fff}
body.fcte-v5.city-locked .page-hero p,
body.fcte-v5.city-locked .page-hero .lead,
body.fcte-v5.city-locked .page-hero .lede,
body.fcte-v5.city-locked .page-hero .dek{color:#cbd8db}
body.fcte-v5.city-locked .page-hero a:not(.btn){color:#55d6c7}
body.fcte-v5.city-locked .page-hero .premium-scope-label,
body.fcte-v5.city-locked .page-hero .eyebrow,
body.fcte-v5.city-locked .page-hero .kicker{color:#55d6c7}

/* Keep section content aligned to the same page width, even on legacy audit/domain families. */
body.fcte-v5.page-family-audits-index .audit-index-content,
body.fcte-v5.page-family-audit-detail .audit-detail-content{width:min(var(--fd-w),calc(100% - 64px));max-width:var(--fd-w);margin-inline:auto;padding-left:0;padding-right:0}

/* Deep technical copy must remain readable on dark cards. */
body.fcte-v5 .surface-dark .card .t,
body.fcte-v5 .surface-dark .card h3,
body.fcte-v5 .surface-dark .card h4,
body.fcte-v5 .surface-dark .asset-card h3,
body.fcte-v5 .surface-dark .asset-card h4{color:#fff}
body.fcte-v5 .surface-dark .card .d,
body.fcte-v5 .surface-dark .card .cmp,
body.fcte-v5 .surface-dark .asset-card p{color:#c4d2d5}


/* ==========================================================================
   FIDELRA V5.2 — FUNCTIONAL WIDTH + TAB + DARK-SURFACE REPAIR
   Still one CSS file. These rules fix regressions caused by legacy component
   dimensions without creating a second visual system.
   ========================================================================== */

/* Marketing heroes use the same Fidelra night surface as City Twins/audits. */
body.fcte-v5.page-family-marketing .page-hero{
  background:var(--fd-night);
  color:#fff;
  border-bottom-color:var(--fd-night);
}
body.fcte-v5.page-family-marketing .page-hero h1,
body.fcte-v5.page-family-marketing .page-hero h2,
body.fcte-v5.page-family-marketing .page-hero h3{color:#fff}
body.fcte-v5.page-family-marketing .page-hero p,
body.fcte-v5.page-family-marketing .page-hero .lead,
body.fcte-v5.page-family-marketing .page-hero .lede,
body.fcte-v5.page-family-marketing .page-hero .dek{color:#cbd8db}
body.fcte-v5.page-family-marketing .page-hero .eyebrow{color:#55d6c7}

/* Homepage historical population chart is a full-width analytical workspace. */
body.fcte-v5.page-home #growth .wrap{width:min(1280px,calc(100% - 64px));max-width:1280px}
body.fcte-v5.page-home #growthChartMount,
body.fcte-v5.page-home #growthChartMount.evidence-grid{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:none}
body.fcte-v5.page-home #growthChartMount .chart-card{width:100%;max-width:none;margin:0;padding:24px}
body.fcte-v5.page-home #growthChartMount .chart-svg-wrap{width:100%;min-height:410px}
body.fcte-v5.page-home #growthChartMount .chart-svg-wrap svg{width:100%;height:410px;display:block}
body.fcte-v5.page-home #growthChartMount .chart-head{gap:20px;align-items:flex-start}
body.fcte-v5.page-home #growthChartMount .chart-toggle{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.fcte-v5.page-home #growthChartMount .chart-browse-link{display:inline-flex;align-items:center;min-height:32px;padding:7px 12px;border:1px solid var(--fd-line);color:#14777a;font:800 14px/1.1 var(--fd-mono);letter-spacing:.04em;text-transform:uppercase;background:#eef7f5}
body.fcte-v5.page-home #growthChartMount .chart-browse-link:hover{border-color:var(--fd-teal);background:var(--fd-teal);color:#fff}

/* City overview: all seven tabs must have room to render their actual content. */
body.fcte-v5.page-family-city-overview main .wrap{width:min(1280px,calc(100% - 64px));max-width:1280px}
body.fcte-v5.page-family-city-overview .twin-widget-box{width:100%;max-width:none}
body.fcte-v5.page-family-city-overview #widgetOtherView{width:100%;min-height:260px}
body.fcte-v5.page-family-city-overview .cert-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.fcte-v5.page-family-city-overview .wv-table{width:100%}
body.fcte-v5.page-family-city-overview .twin-checklist{flex-wrap:wrap;gap:14px 28px}

/* Audit workspaces need analysis width; old 1000px page caps are retired. */
body.fcte-v5.page-family-audit-detail main{
  width:min(1320px,calc(100% - 64px));
  max-width:1320px;
  margin-inline:auto;
  padding-left:0;
  padding-right:0;
  padding-bottom:72px;
}
body.fcte-v5.page-family-audit-detail .audit-sequence{width:100%}
body.fcte-v5.page-family-audit-detail .audit-hero{width:100%;padding:64px}
body.fcte-v5.page-family-audit-detail .audit-hero p{max-width:900px}
body.fcte-v5.page-family-audit-detail section.city,
body.fcte-v5.page-family-audit-detail .casestudy,
body.fcte-v5.page-family-audit-detail .callout,
body.fcte-v5.page-family-audit-detail .legend,
body.fcte-v5.page-family-audit-detail .methodology-note{width:100%;max-width:none}
body.fcte-v5.page-family-audit-detail canvas{max-width:100%}

/* Event Ablation is a wide analytical dashboard once its JS renders. */
body.fcte-v5.view-audit-event-ablation-dashboard section.city{padding-top:0;padding-bottom:0}
body.fcte-v5.view-audit-event-ablation-dashboard .bar-row{grid-template-columns:minmax(220px,32ch) minmax(320px,1fr) 8ch}
body.fcte-v5.view-audit-event-ablation-dashboard .casestudy{padding:24px 28px 20px}
body.fcte-v5.view-audit-event-ablation-dashboard .casestudy canvas{min-height:300px}

@media(max-width:900px){
  body.fcte-v5.page-home #growth .wrap,
  body.fcte-v5.page-family-city-overview main .wrap,
  body.fcte-v5.page-family-audit-detail main{width:calc(100% - 36px)}
  body.fcte-v5.page-family-audit-detail .audit-hero{padding:40px 28px}
  body.fcte-v5.view-audit-event-ablation-dashboard .bar-row{grid-template-columns:1fr;gap:6px}
  body.fcte-v5.page-family-city-overview .cert-mini-grid{grid-template-columns:1fr}
}

/* ============================================================================
   V5.3 — AUTHORITATIVE FIDELRA VISUAL CONTRACT
   This block is intentionally LAST. Component CSS may define geometry and
   interaction, but may not redefine Fidelra typography, shared surfaces,
   city navigation, or section rhythm.
   ============================================================================ */
:root{
  --fd-section-title-size:clamp(42px,5.6vw,60px);
  --fd-section-title-weight:900;
  --fd-section-title-line:1.05;
  --fd-section-title-track:-.045em;
  --fd-section-copy-size:17px;
  --fd-section-copy-line:1.65;
}

/* One section-heading scale everywhere — same visual scale as the main page. */
body.fcte-v5 .head h2,
body.fcte-v5 .section-head h2,
body.fcte-v5 .section-head h3,
body.fcte-v5.page-family-domain .doc-section > h3,
body.fcte-v5.page-family-domain .doc-section h3,
body.fcte-v5.page-family-domains-index .head h2,
body.fcte-v5.page-family-evidence .section-head h2,
body.fcte-v5.page-family-certification .section-head h2,
body.fcte-v5.page-family-audits-index .group h2,
body.fcte-v5.page-family-releases .section-head h2,
body.fcte-v5.page-family-access .section-head h2{
  font-family:var(--fd-font);
  font-size:var(--fd-section-title-size);
  font-weight:var(--fd-section-title-weight);
  line-height:var(--fd-section-title-line);
  letter-spacing:var(--fd-section-title-track);
}

/* Shared explanatory copy under section headings. */
body.fcte-v5 .head > p,
body.fcte-v5 .section-head > p,
body.fcte-v5.page-family-domain .doc-section > p{
  font-family:var(--fd-font);
  font-size:var(--fd-section-copy-size);
  line-height:var(--fd-section-copy-line);
  font-weight:500;
  max-width:760px;
}

/* Dark surfaces are always the Fidelra navy — no component may wash them out. */
body.fcte-v5 section.surface-dark,
body.fcte-v5 section.band-dark,
body.fcte-v5 .surface-dark,
body.fcte-v5 .band-dark{
  background:#06101a;
  background-color:#06101a;
  color:#fff;
  border-color:#06101a;
}
body.fcte-v5 .surface-dark h1,
body.fcte-v5 .surface-dark h2,
body.fcte-v5 .surface-dark h3,
body.fcte-v5 .surface-dark h4,
body.fcte-v5 .surface-dark h5,
body.fcte-v5 .surface-dark h6,
body.fcte-v5 .band-dark h1,
body.fcte-v5 .band-dark h2,
body.fcte-v5 .band-dark h3,
body.fcte-v5 .band-dark h4,
body.fcte-v5 .band-dark h5,
body.fcte-v5 .band-dark h6{
  color:#fff;
}
body.fcte-v5 .surface-dark p,
body.fcte-v5 .surface-dark li,
body.fcte-v5 .surface-dark .lead,
body.fcte-v5 .surface-dark .lede,
body.fcte-v5 .surface-dark .dek,
body.fcte-v5 .surface-dark .desc,
body.fcte-v5 .band-dark p,
body.fcte-v5 .band-dark li{
  color:#cbd8db;
}
body.fcte-v5 .surface-dark .eyebrow,
body.fcte-v5 .surface-dark .kicker,
body.fcte-v5 .band-dark .eyebrow,
body.fcte-v5 .band-dark .doc-section-label{
  color:#55d6c7;
}

/* Domain area: the city context/navigation strip is the same dark navy surface. */
body.fcte-v5.page-family-domain .pch-citybar,
body.fcte-v5.page-family-domains-index .pch-citybar{
  background:#06101a;
  border-color:#20313c;
}
body.fcte-v5.page-family-domain .pch-city-current,
body.fcte-v5.page-family-domains-index .pch-city-current{
  color:#fff;
}
body.fcte-v5.page-family-domain .pch-city-current::after,
body.fcte-v5.page-family-domains-index .pch-city-current::after{
  color:#8fa5ac;
}
body.fcte-v5.page-family-domain .pch-city-nav a,
body.fcte-v5.page-family-domains-index .pch-city-nav a{
  color:#b7c6ca;
}
body.fcte-v5.page-family-domain .pch-city-nav a::before,
body.fcte-v5.page-family-domains-index .pch-city-nav a::before{
  color:#738b91;
}
body.fcte-v5.page-family-domain .pch-city-nav a:hover,
body.fcte-v5.page-family-domain .pch-city-nav a.active,
body.fcte-v5.page-family-domains-index .pch-city-nav a:hover,
body.fcte-v5.page-family-domains-index .pch-city-nav a.active{
  color:#fff;
}
body.fcte-v5.page-family-domain .pch-city-nav a.active::after,
body.fcte-v5.page-family-domains-index .pch-city-nav a.active::after{
  background:#55d6c7;
}
body.fcte-v5.page-family-domain .pch-flag,
body.fcte-v5.page-family-domains-index .pch-flag{
  border-color:rgba(255,255,255,.2);
}

/* Domain index longitudinal section must be a true dark band. */
body.fcte-v5.page-family-domains-index #longitudinal{
  background:#06101a;
  color:#fff;
}
body.fcte-v5.page-family-domains-index #longitudinal .head h2{color:#fff}
body.fcte-v5.page-family-domains-index #longitudinal .head p{color:#cbd8db}
body.fcte-v5.page-family-domains-index #longitudinal .eyebrow,
body.fcte-v5.page-family-domains-index #longitudinal .timeline-label{color:#55d6c7}
body.fcte-v5.page-family-domains-index #longitudinal .timeline-step{
  background:#0d1b25;
  border-color:#30434d;
  color:#fff;
}
body.fcte-v5.page-family-domains-index #longitudinal .timeline-arrow{color:#718990}

/* Keep one predictable page/section rhythm on domain surfaces. */
body.fcte-v5.page-family-domain section.v5-section,
body.fcte-v5.page-family-domains-index section.v5-section{
  padding-top:72px;
  padding-bottom:72px;
}
body.fcte-v5.page-family-domain .head,
body.fcte-v5.page-family-domains-index .head,
body.fcte-v5.page-family-domain .section-head,
body.fcte-v5.page-family-domains-index .section-head{
  margin-bottom:32px;
  max-width:900px;
}

@media(max-width:760px){
  :root{--fd-section-title-size:clamp(34px,10vw,48px)}
  body.fcte-v5.page-family-domain .pch-citybar>.wrap,
  body.fcte-v5.page-family-domains-index .pch-citybar>.wrap{height:auto;min-height:64px}
}


/* ======================================================================
   V5.4 — CITY SURFACE CONTRACT
   One city-page entry surface. No light hero exceptions.
   ====================================================================== */
body.fcte-v5.city-locked .page-hero{
  background:#06101a;
  color:#fff;
  border-bottom-color:#06101a;
}
body.fcte-v5.city-locked .page-hero h1,
body.fcte-v5.city-locked .page-hero h2,
body.fcte-v5.city-locked .page-hero h3{color:#fff;}
body.fcte-v5.city-locked .page-hero p,
body.fcte-v5.city-locked .page-hero .lead,
body.fcte-v5.city-locked .page-hero .lede,
body.fcte-v5.city-locked .page-hero .dek{color:#cbd8db;}
body.fcte-v5.city-locked .page-hero .premium-scope-label,
body.fcte-v5.city-locked .page-hero .eyebrow,
body.fcte-v5.city-locked .page-hero .kicker{color:#55d6c7;}
body.fcte-v5.city-locked .page-hero .btn-ghost{color:#fff;border-color:#83a7aa;}

/* Inspection statement is copy on the dark surface, not a nested light card. */
body.fcte-v5.view-city-overview .band-dark .inspected-panel{
  max-width:900px;
  margin:0 auto;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
body.fcte-v5.view-city-overview .band-dark .inspected-panel::before{display:none;}
body.fcte-v5.view-city-overview .band-dark .inspected-panel h2{color:#fff;}
body.fcte-v5.view-city-overview .band-dark .inspected-panel p{color:#cbd8db;}


/* V5.5 — Certified City Twin asset section uses the shared light surface.
   The release card remains a dark technical asset inside the white section. */
body.fcte-v5 .certification-asset-section{
  background:#ffffff;
  color:var(--fd-ink);
  border-bottom:1px solid var(--fd-line-soft);
}
body.fcte-v5 .certification-asset-section .head h2{
  color:var(--fd-ink);
}
body.fcte-v5 .certification-asset-section .head p{
  color:var(--fd-copy);
}
body.fcte-v5 .certification-asset-section .eyebrow{
  color:var(--fd-teal);
}
body.fcte-v5 .certification-asset-section .asset-toggle{
  color:var(--fd-ink);
}


/* V5.6 — Findings heading remains outside the scroll workspace. */
body.fcte-v5 .audit-findings-section > .section-head{margin-bottom:28px}
body.fcte-v5 .audit-findings-scroll{max-height:720px;overflow-y:auto;overflow-x:hidden;background:#fff;border:1px solid var(--fd-line);padding:22px}
body.fcte-v5 .audit-findings-scroll > :first-child{margin-top:0}
body.fcte-v5 .audit-findings-scroll::-webkit-scrollbar{width:8px}
body.fcte-v5 .audit-findings-scroll::-webkit-scrollbar-thumb{background:#759da0}
body.fcte-v5 .audit-findings-scroll::-webkit-scrollbar-track{background:#edf3f2}
@media(max-width:760px){body.fcte-v5 .audit-findings-scroll{max-height:620px;padding:18px}}


/* ======================================================================
   V5.7 — DOMAINS LANDING HERO BALANCE
   The Domains entry page uses the same white city navigation and Fidelra
   type hierarchy as the main site. The hero remains navy; KPI cards are
   replaced by plain data text in the formerly empty right-hand space.
   ====================================================================== */

/* Domain navigation follows the shared white product-navigation surface. */
body.fcte-v5.page-family-domain .pch-citybar,
body.fcte-v5.page-family-domains-index .pch-citybar{
  background:#ffffff;
  border-color:var(--fd-line);
}
body.fcte-v5.page-family-domain .pch-city-current,
body.fcte-v5.page-family-domains-index .pch-city-current{
  color:var(--fd-ink);
}
body.fcte-v5.page-family-domain .pch-city-current::after,
body.fcte-v5.page-family-domains-index .pch-city-current::after{
  color:#71888d;
}
body.fcte-v5.page-family-domain .pch-city-nav a,
body.fcte-v5.page-family-domains-index .pch-city-nav a{
  color:#526d73;
}
body.fcte-v5.page-family-domain .pch-city-nav a::before,
body.fcte-v5.page-family-domains-index .pch-city-nav a::before{
  color:#91a4a8;
}
body.fcte-v5.page-family-domain .pch-city-nav a:hover,
body.fcte-v5.page-family-domain .pch-city-nav a.active,
body.fcte-v5.page-family-domains-index .pch-city-nav a:hover,
body.fcte-v5.page-family-domains-index .pch-city-nav a.active{
  color:var(--fd-ink);
}
body.fcte-v5.page-family-domain .pch-city-nav a.active::after,
body.fcte-v5.page-family-domains-index .pch-city-nav a.active::after{
  background:var(--fd-aqua);
}
body.fcte-v5.page-family-domain .pch-flag,
body.fcte-v5.page-family-domains-index .pch-flag{
  border-color:rgba(18,52,58,.18);
}

/* Main-page typography contract applied explicitly to Domains surfaces. */
body.fcte-v5.page-family-domains-index .page-hero h1,
body.fcte-v5.page-family-domain .page-hero h1{
  font-family:var(--fd-font);
  font-weight:650;
  line-height:.98;
  letter-spacing:-.055em;
}
body.fcte-v5.page-family-domains-index .page-hero h1{
  font-size:clamp(54px,6.2vw,82px);
  max-width:760px;
  margin:16px 0 22px;
}
body.fcte-v5.page-family-domains-index .page-hero p,
body.fcte-v5.page-family-domains-index .page-hero .lead,
body.fcte-v5.page-family-domains-index .page-hero .lede,
body.fcte-v5.page-family-domains-index .page-hero .dek,
body.fcte-v5.page-family-domain .page-hero p,
body.fcte-v5.page-family-domain .domain-hero-lead{
  font-family:var(--fd-font);
  font-size:17.0px;
  line-height:1.65;
  font-weight:500;
}
body.fcte-v5.page-family-domain .page-hero h1{
  font-size:clamp(48px,5.6vw,74px);
}

/* One balanced two-column Domains hero. */
body.fcte-v5.page-family-domains-index .page-hero>.wrap{
  max-width:1180px;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:76px;
  align-items:center;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-copy{
  min-width:0;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-copy>p{
  max-width:720px;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-kpis{
  min-width:0;
  align-self:center;
}

/* Maturity disclosure is explanatory text, not a card. */
body.fcte-v5.page-family-domains-index .maturity-note{
  margin:24px 0 0;
  padding:0;
  max-width:720px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#cbd8db;
  font-family:var(--fd-font);
  font-size:14px;
  line-height:1.65;
  font-weight:500;
}
body.fcte-v5.page-family-domains-index .maturity-note strong{
  color:#fff;
  font-weight:650;
}

/* KPI data becomes plain typography on navy — no white cards or strip. */
body.fcte-v5.page-family-domains-index .hero-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px 42px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
body.fcte-v5.page-family-domains-index .hero-stat,
body.fcte-v5.page-family-domains-index .hero-stat:nth-child(n){
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.fcte-v5.page-family-domains-index .hero-stat:last-child{
  grid-column:1/-1;
}
body.fcte-v5.page-family-domains-index .hero-stat .v{
  color:#fff;
  font-family:var(--fd-font);
  font-size:clamp(32px,3.2vw,44px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:650;
}
body.fcte-v5.page-family-domains-index .hero-stat .k{
  margin-top:8px;
  color:#89a2a8;
  font-family:var(--fd-mono);
  font-size:14px;
  line-height:1.35;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* Hero links remain understated technical navigation. */
body.fcte-v5.page-family-domains-index .hero-cta-row{
  margin-top:28px;
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
body.fcte-v5.page-family-domains-index .hero-cta-row a{
  color:#55d6c7;
  font-weight:650;
}

/* Domain sections use the same heading/copy weight system as the main site. */
body.fcte-v5.page-family-domains-index .head h2,
body.fcte-v5.page-family-domain .doc-section>h3,
body.fcte-v5.page-family-domain .doc-section h3{
  font-family:var(--fd-font);
  font-weight:650;
  line-height:1.03;
  letter-spacing:-.045em;
}
body.fcte-v5.page-family-domains-index .head>p,
body.fcte-v5.page-family-domain .doc-section>p{
  font-family:var(--fd-font);
  font-weight:500;
  line-height:1.65;
}

@media(max-width:900px){
  body.fcte-v5.page-family-domains-index .domain-index-hero-grid{
    grid-template-columns:1fr;
    gap:44px;
  }
  body.fcte-v5.page-family-domains-index .hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.fcte-v5.page-family-domains-index .hero-stat:last-child{grid-column:auto;}
}
@media(max-width:620px){
  body.fcte-v5.page-family-domains-index .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 24px;
  }
}


/* V5.8 — City overview Domain Explorer is a light analytical workspace. */
body.view-city-overview .city-domain-explorer-light{
  background:#ffffff;
  color:var(--fidelra-ink);
}
body.view-city-overview .city-domain-explorer-light .head h2{
  color:var(--fidelra-ink);
}
body.view-city-overview .city-domain-explorer-light .head p{
  color:var(--fidelra-copy);
}
body.view-city-overview .city-domain-explorer-light .eyebrow{
  color:var(--fidelra-teal);
}
body.view-city-overview .city-domain-explorer-light .domain-tab{
  border:1px solid var(--fidelra-line);
  background:#ffffff;
  color:var(--fidelra-copy);
}
body.view-city-overview .city-domain-explorer-light .domain-tab:hover{
  border-color:var(--fidelra-teal);
  color:var(--fidelra-ink);
}
body.view-city-overview .city-domain-explorer-light .domain-tab.active{
  background:var(--fidelra-teal);
  border-color:var(--fidelra-teal);
  color:#ffffff;
}
body.view-city-overview .city-domain-explorer-light .domain-tab .dt-stat{
  color:inherit;
  opacity:.78;
}
body.view-city-overview .city-domain-explorer-light .domain-detail{
  background:#ffffff;
  border-color:var(--fidelra-line);
  color:var(--fidelra-ink);
}

/* ============================================================================
   V5.9 — UNIFIED AUDIT FAMILY CONTRACT
   Audit type components may define chart/data geometry only. This block owns
   the shared audit shell, typography, widths, surfaces and navigation.
   ============================================================================ */
:root{
  --fd-audit-w:1320px;
  --fd-audit-reading:900px;
}

/* One audit canvas for index and detail pages. */
body.fcte-v5.page-family-audits-index,
body.fcte-v5.page-family-audit-detail{
  background:#f7faf9;
  color:var(--fd-ink);
}

/* Audit detail pages always use the full viewport for the hero, then a shared
   1320px analytical workspace for evidence below it. */
body.fcte-v5.page-family-audit-detail main{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 0 72px;
}
body.fcte-v5.page-family-audit-detail .audit-sequence-wrap,
body.fcte-v5.page-family-audit-detail main > .audit-sequence{
  width:min(var(--fd-audit-w),calc(100% - 64px));
  max-width:var(--fd-audit-w);
  margin:0 auto;
}
body.fcte-v5.page-family-audit-detail .audit-sequence-wrap{
  padding-left:0;
  padding-right:0;
}
body.fcte-v5.page-family-audit-detail .audit-sequence{
  min-height:72px;
  padding:18px 0;
  margin:0;
  border:0;
  border-bottom:1px solid var(--fd-line);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:24px;
  align-items:center;
  background:transparent;
  font-size:14px;
  font-weight:750;
}
body.fcte-v5.page-family-audit-detail .audit-sequence a{
  color:var(--fd-ink);
  text-decoration:none;
}
body.fcte-v5.page-family-audit-detail .audit-sequence a:hover{color:var(--fd-teal)}
body.fcte-v5.page-family-audit-detail .audit-sequence .audit-all{
  padding:8px 14px;
  border:1px solid var(--fd-line);
  border-radius:999px;
  white-space:nowrap;
}
body.fcte-v5.page-family-audit-detail .audit-sequence .audit-next{text-align:right}

/* One full-width dark hero for every audit. Content aligns to the same grid. */
body.fcte-v5.page-family-audit-detail .audit-hero,
body.fcte-v5.page-family-audits-index .audit-hero{
  width:100%;
  max-width:none;
  margin:0;
  padding-top:72px;
  padding-bottom:72px;
  padding-left:max(32px,calc((100vw - var(--fd-audit-w))/2));
  padding-right:max(32px,calc((100vw - var(--fd-audit-w))/2));
  background:var(--fd-night);
  color:#fff;
  border:0;
}
body.fcte-v5.page-family-audit-detail .audit-hero h1,
body.fcte-v5.page-family-audits-index .audit-hero h1{
  max-width:1080px;
  margin:14px 0 20px;
  font-family:var(--fd-font);
  font-size:clamp(48px,5.2vw,70px);
  font-weight:650;
  line-height:1.0;
  letter-spacing:-.045em;
  color:#fff;
}
body.fcte-v5.page-family-audit-detail .audit-hero p,
body.fcte-v5.page-family-audits-index .audit-hero p{
  max-width:var(--fd-audit-reading);
  margin:0;
  font-family:var(--fd-font);
  font-size:17.0px;
  font-weight:500;
  line-height:1.65;
  color:#cbd8db;
}
body.fcte-v5.page-family-audit-detail .audit-hero p + p{margin-top:12px}
body.fcte-v5.page-family-audit-detail .audit-hero .eyebrow,
body.fcte-v5.page-family-audit-detail .audit-hero .premium-scope-label,
body.fcte-v5.page-family-audits-index .audit-hero .eyebrow,
body.fcte-v5.page-family-audits-index .audit-hero .premium-scope-label{
  color:#55d6c7;
  font:800 14px/1.3 var(--fd-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* Shared analytical workspace width, regardless of the audit's original DOM. */
body.fcte-v5.page-family-audit-detail .audit-detail-content,
body.fcte-v5.page-family-audit-detail main > section.city,
body.fcte-v5.page-family-audit-detail main > .callout,
body.fcte-v5.page-family-audit-detail main > .legend,
body.fcte-v5.page-family-audit-detail main > .casestudy,
body.fcte-v5.page-family-audit-detail main > .methodology-note,
body.fcte-v5.page-family-audit-detail main > .audit-findings-section,
body.fcte-v5.page-family-audit-detail main > .tablewrap{
  width:min(var(--fd-audit-w),calc(100% - 64px));
  max-width:var(--fd-audit-w);
  margin-left:auto;
  margin-right:auto;
}
body.fcte-v5.page-family-audit-detail .audit-detail-content{
  padding-top:64px;
  padding-bottom:72px;
}
body.fcte-v5.page-family-audit-detail .audit-detail-content > section:first-child,
body.fcte-v5.page-family-audit-detail main > section.city:first-of-type{margin-top:0}

/* Audit headings share the main Fidelra hierarchy. */
body.fcte-v5.page-family-audit-detail .section-head > h2,
body.fcte-v5.page-family-audit-detail .city-head > h2,
body.fcte-v5.page-family-audit-detail .group > h2,
body.fcte-v5.page-family-audit-detail .casestudy > h2,
body.fcte-v5.page-family-audits-index .group > h2{
  font-family:var(--fd-font);
  font-size:clamp(34px,3.8vw,48px);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.035em;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-audit-detail .section-head > p,
body.fcte-v5.page-family-audit-detail .city-head + p,
body.fcte-v5.page-family-audit-detail .group > p,
body.fcte-v5.page-family-audit-detail .casestudy > p{
  font-family:var(--fd-font);
  font-size:16.0px;
  font-weight:500;
  line-height:1.65;
  color:var(--fd-copy);
}

/* Standard technical surfaces: white, squared, restrained. */
body.fcte-v5.page-family-audit-detail section.city,
body.fcte-v5.page-family-audit-detail .casestudy,
body.fcte-v5.page-family-audit-detail .callout,
body.fcte-v5.page-family-audit-detail .audit-findings-scroll,
body.fcte-v5.page-family-audit-detail .tablewrap{
  background:#fff;
  border:1px solid var(--fd-line);
  border-radius:0;
  box-shadow:none;
}

/* Population Pulse is no longer its own mini-site. */
body.fcte-v5.view-audit-population-pulse{
  display:block;
  font-family:var(--fd-font);
}
body.fcte-v5.view-audit-population-pulse section.city{
  margin-top:56px;
  margin-bottom:40px;
  padding:0;
}
body.fcte-v5.view-audit-population-pulse .city-head{
  padding:24px 28px 20px;
  border-bottom:1px solid var(--fd-line);
}
body.fcte-v5.view-audit-population-pulse .city-name{
  font-family:var(--fd-font);
  font-size:32.0px;
  font-weight:650;
  letter-spacing:-.03em;
  color:var(--fd-ink);
}
body.fcte-v5.view-audit-population-pulse .city-name .code,
body.fcte-v5.view-audit-population-pulse .city-stat,
body.fcte-v5.view-audit-population-pulse .registry-label{
  font-family:var(--fd-mono);
}
body.fcte-v5.view-audit-population-pulse .chart-wrap{
  width:100%;
  padding:26px 28px 14px;
  background:#fff;
  border:0;
}
body.fcte-v5.view-audit-population-pulse canvas{
  display:block;
  width:100%;
  max-width:none;
}
body.fcte-v5.view-audit-population-pulse .registry{padding:18px 28px 28px}
body.fcte-v5.view-audit-population-pulse .legend{
  margin-top:24px;
  gap:12px 24px;
  color:#a9bec2;
}
body.fcte-v5.view-audit-population-pulse .methodology-note{
  margin-top:0;
  padding:22px 0 48px;
  color:var(--fd-muted);
  font-size:14px;
  line-height:1.7;
}

/* Event Ablation uses the same shell; only its unique bar/chart geometry remains. */
body.fcte-v5.view-audit-event-ablation-dashboard main > .callout{margin-top:56px}
body.fcte-v5.view-audit-event-ablation-dashboard main > .legend{margin-top:20px;margin-bottom:28px}
body.fcte-v5.view-audit-event-ablation-dashboard section.city{padding:0;margin-bottom:40px}
body.fcte-v5.view-audit-event-ablation-dashboard .city-head{padding:24px 28px 20px;border-bottom:1px solid var(--fd-line)}
body.fcte-v5.view-audit-event-ablation-dashboard .casestudy{padding:28px;margin-bottom:40px}

/* Remove inconsistent secondary audit-navigation fragments. The shared sequence
   at the top is the only audit navigation pattern. */
body.fcte-v5.page-family-audit-detail .u-inline-0007,
body.fcte-v5.page-family-audit-detail .u-inline-0013,
body.fcte-v5.page-family-audit-detail .u-inline-0030{display:none}

/* Audits index uses the same width and section typography. */
body.fcte-v5.page-family-audits-index .audit-index-content,
body.fcte-v5.page-family-audits-index main > .wrap{
  width:min(var(--fd-audit-w),calc(100% - 64px));
  max-width:var(--fd-audit-w);
  margin-left:auto;
  margin-right:auto;
}
body.fcte-v5.page-family-audits-index .audit-index-content{padding-top:64px;padding-bottom:72px}

@media(max-width:900px){
  body.fcte-v5.page-family-audit-detail .audit-sequence-wrap,
  body.fcte-v5.page-family-audit-detail main > .audit-sequence,
  body.fcte-v5.page-family-audit-detail .audit-detail-content,
  body.fcte-v5.page-family-audit-detail main > section.city,
  body.fcte-v5.page-family-audit-detail main > .callout,
  body.fcte-v5.page-family-audit-detail main > .legend,
  body.fcte-v5.page-family-audit-detail main > .casestudy,
  body.fcte-v5.page-family-audit-detail main > .methodology-note,
  body.fcte-v5.page-family-audit-detail main > .audit-findings-section,
  body.fcte-v5.page-family-audits-index .audit-index-content,
  body.fcte-v5.page-family-audits-index main > .wrap{
    width:calc(100% - 36px);
  }
  body.fcte-v5.page-family-audit-detail .audit-sequence{grid-template-columns:1fr;gap:8px;padding:16px 0}
  body.fcte-v5.page-family-audit-detail .audit-sequence .audit-all{justify-self:start}
  body.fcte-v5.page-family-audit-detail .audit-sequence .audit-next{text-align:left}
  body.fcte-v5.page-family-audit-detail .audit-hero,
  body.fcte-v5.page-family-audits-index .audit-hero{padding:48px 18px}
  body.fcte-v5.view-audit-population-pulse .chart-wrap{padding-left:16px;padding-right:16px}
}

/* ============================================================================
   V5.10 — CITY DOMAIN EXPLORER WORKSPACE
   The city overview Domain Explorer is an analytical workspace, not a narrow
   article card. It gets a wider canvas and a deliberate desktop composition.
   ============================================================================ */
body.fcte-v5.page-family-city-overview .city-domain-explorer-light{
  padding-top:88px;
  padding-bottom:96px;
  background:#fff;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{
  width:calc(100% - 72px);
  max-width:1560px;
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(620px,1.22fr);
  column-gap:64px;
  row-gap:34px;
  align-items:start;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head{
  grid-column:1;
  margin:0;
  max-width:600px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head .eyebrow{
  display:block;
  margin-bottom:16px;
  font-size:14px;
  font-weight:650;
  letter-spacing:.14em;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head h2{
  margin:0;
  max-width:12ch;
  font-family:var(--fd-font);
  font-size:clamp(48px,4.2vw,68px);
  line-height:.98;
  font-weight:650;
  letter-spacing:-.05em;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head p{
  margin:22px 0 0;
  max-width:54ch;
  font-size:17.0px;
  line-height:1.65;
  font-weight:500;
  color:var(--fd-copy);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tabs{
  grid-column:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:6px 0 0;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab{
  min-height:72px;
  width:100%;
  border:1px solid var(--fd-line);
  border-radius:0;
  background:#fff;
  color:var(--fd-ink);
  padding:15px 18px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:12px;
  row-gap:4px;
  align-items:center;
  font-family:var(--fd-font);
  cursor:pointer;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab:hover{
  border-color:var(--fd-teal);
  background:#f7fbfa;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab.active{
  background:var(--fd-teal);
  border-color:var(--fd-teal);
  color:#fff;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-icon{
  grid-row:1 / span 2;
  font-size:20.0px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-name{
  font-size:15.0px;
  line-height:1.1;
  font-weight:850;
  white-space:normal;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-stat{
  font-family:var(--fd-mono);
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  opacity:.78;
  white-space:normal;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail{
  grid-column:1 / -1;
  width:100%;
  margin:8px 0 0;
  padding:34px 38px 38px;
  border:1px solid var(--fd-line);
  border-radius:0;
  background:#fff;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail .dd-name{
  font-family:var(--fd-font);
  font-size:28.0px;
  line-height:1.1;
  font-weight:650;
  letter-spacing:-.035em;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail .dd-note{
  margin-top:8px;
  max-width:86ch;
  font-size:15.5px;
  line-height:1.65;
  font-weight:500;
  color:var(--fd-copy);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-trust{
  margin-top:18px;
  gap:8px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-trust-pill{
  border-radius:999px;
  padding:7px 12px;
  font-size:14px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-section-label{
  margin:28px 0 12px;
  font-size:14px;
  letter-spacing:.11em;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--fd-line);
  border-left:1px solid var(--fd-line);
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-stat{
  min-height:92px;
  padding:20px 16px;
  background:#f4f8f7;
  border-right:1px solid var(--fd-line);
  border-bottom:1px solid var(--fd-line);
  text-align:left;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-stat b{
  font-family:var(--fd-font);
  font-size:24.0px;
  line-height:1;
  font-weight:650;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-stat span{
  margin-top:9px;
  display:block;
  font-size:14px;
  letter-spacing:.08em;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-row{
  margin-top:8px;
  border:1px solid var(--fd-line);
  border-left:3px solid var(--fd-line);
  background:#f8fbfa;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-row-top{
  min-height:50px;
  padding:12px 16px;
  font-size:14px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-row-count{
  font-size:14px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-detail-grid{
  gap:12px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-detail-stat{
  padding:13px 10px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-rel-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:42px;
  padding:18px 0 4px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-rel-node,
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-tree-label{
  font-size:14px;
  line-height:1.3;
  padding:7px 11px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-sql-wrap{
  margin-top:4px;
  padding:24px 26px;
  background:var(--fd-night);
  border-radius:0;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-sql{
  font-size:14px;
  line-height:1.75;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-sql-interp{
  font-size:14px;
  line-height:1.6;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-domain-actions{
  margin-top:28px;
  padding-top:22px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-domain-actions-title{
  font-size:18.0px;
  font-weight:850;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-domain-actions-copy{
  font-size:14px;
  line-height:1.6;
}

@media(max-width:1100px){
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{
    width:calc(100% - 48px);
    grid-template-columns:1fr;
    gap:28px;
  }
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head,
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tabs,
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail{
    grid-column:1;
  }
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head h2{max-width:16ch}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light{
    padding-top:64px;
    padding-bottom:72px;
  }
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{width:calc(100% - 32px)}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tabs{grid-template-columns:1fr}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail{padding:24px 20px}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-rel-grid{grid-template-columns:1fr;gap:24px}
}

/* ============================================================================
   V5.11 — DOMAIN EXPLORER WIDTH + FRAME CORRECTION
   Keep the explorer on the same Fidelra content measure as surrounding sections.
   The selected-domain workspace is an analytical surface, not a framed card.
   ============================================================================ */
body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{
  width:min(var(--fd-w),calc(100% - 64px));
  max-width:var(--fd-w);
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  column-gap:40px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail{
  border:0;
  padding:30px 0 0;
  background:transparent;
}
@media(max-width:1100px){
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{
    width:min(var(--fd-w),calc(100% - 48px));
    max-width:var(--fd-w);
  }
}
@media(max-width:760px){
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light > .wrap{
    width:calc(100% - 32px);
  }
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-detail{
    padding:24px 0 0;
  }
}

/* ======================================================================
   V5.12 — HEALTH DOMAIN HERO CLEANUP
   Health uses a normal-flow prev/all/next strip and text-only hero KPIs.
   ====================================================================== */
body.fcte-v5.view-domain-health .domain-nav.domain-nav-top{
  position:static;
  top:auto;
  z-index:auto;
}

body.fcte-v5.view-domain-health .hero-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:28px;
  margin-top:28px;
  border:0;
  background:transparent;
  overflow:visible;
}
body.fcte-v5.view-domain-health .hero-stat,
body.fcte-v5.view-domain-health .hero-stat:nth-child(n){
  padding:0;
  border:0;
  background:transparent;
}
body.fcte-v5.view-domain-health .hero-stat .v{
  color:#ffffff;
  font-family:var(--fd-font);
  font-size:clamp(24px,2.25vw,34px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.035em;
}
body.fcte-v5.view-domain-health .hero-stat .k{
  margin-top:8px;
  color:#9eb8bc;
  font-family:var(--fd-mono);
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.07em;
  text-transform:uppercase;
}
@media(max-width:900px){
  body.fcte-v5.view-domain-health .hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:560px){
  body.fcte-v5.view-domain-health .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
  }
}

/* ======================================================================
   V5.13 — DOMAIN-WIDE HERO CONSISTENCY
   Promote the Health domain treatment to every domain-detail page:
   - Previous / All Domains / Next Domain top strip is normal flow (not sticky)
   - Hero KPI snapshot is text-only on the navy hero (no white panel/cards)
   ====================================================================== */
body.fcte-v5.page-family-domain .domain-nav.domain-nav-top{
  position:static;
  top:auto;
  z-index:auto;
}

body.fcte-v5.page-family-domain .hero-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:28px;
  margin-top:28px;
  border:0;
  background:transparent;
  overflow:visible;
}
body.fcte-v5.page-family-domain .hero-stat,
body.fcte-v5.page-family-domain .hero-stat:nth-child(n){
  padding:0;
  border:0;
  background:transparent;
}
body.fcte-v5.page-family-domain .hero-stat .v{
  color:#ffffff;
  font-family:var(--fd-font);
  font-size:clamp(24px,2.25vw,34px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.035em;
}
body.fcte-v5.page-family-domain .hero-stat .k{
  margin-top:8px;
  color:#9eb8bc;
  font-family:var(--fd-mono);
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:.07em;
  text-transform:uppercase;
}
@media(max-width:900px){
  body.fcte-v5.page-family-domain .hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:560px){
  body.fcte-v5.page-family-domain .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
  }
}


/* ================================================================
   V5.14 — UNIFIED AUDIT SUMMARY CONTRACT
   Every audit detail: sequence -> navy hero -> at-a-glance numbers -> body.
   ================================================================ */
body.fcte-v5.page-family-audit-detail .audit-summary-wrap,
body.fcte-v5.page-family-audit-detail .audit-detail-content{
  width:min(var(--fd-w),calc(100% - 64px));
  max-width:var(--fd-w);
  margin-inline:auto;
}
body.fcte-v5.page-family-audit-detail .audit-summary-section{
  padding:56px 0 26px;
  margin:0;
}
body.fcte-v5.page-family-audit-detail .audit-summary-head{
  max-width:820px;
  margin-bottom:24px;
}
body.fcte-v5.page-family-audit-detail .audit-summary-head .eyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--fd-teal);
}
body.fcte-v5.page-family-audit-detail .audit-summary-head h2,
body.fcte-v5.page-family-audit-detail .audit-summary-section > .section-head h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:650;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-audit-detail .audit-summary-head p,
body.fcte-v5.page-family-audit-detail .audit-summary-section > .section-head p{
  margin:12px 0 0;
  max-width:760px;
  font-size:16.0px;
  line-height:1.65;
  font-weight:500;
  color:var(--fd-ink-2);
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-statbar{
  margin-top:26px;
  border-radius:0;
  box-shadow:none;
  background:#fff;
  border:1px solid var(--fd-line);
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-stat{
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 22px;
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-stat .v{
  font-size:clamp(22px,2.4vw,30px);
  font-weight:650;
  color:var(--fd-ink);
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-stat.good .v{
  color:var(--fd-teal);
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-stat .k{
  margin-top:7px;
  color:var(--fd-ink-3);
  font-size:14px;
  line-height:1.45;
}
@media (max-width:760px){
  body.fcte-v5.page-family-audit-detail .audit-summary-wrap,
  body.fcte-v5.page-family-audit-detail .audit-detail-content{width:calc(100% - 36px)}
  body.fcte-v5.page-family-audit-detail .audit-summary-section{padding:40px 0 20px}
}

/* ================================================================
   V5.16 — TOP-ROW GLOBAL NAV + CITY DROPDOWN CONTRACT
   Global Fidelra links remain visible. The former second-row city
   navigation is collapsed into a current-city dropdown in the top row.
   ================================================================ */
body.fcte-v5 .fidelra-global-menu{display:none}
body.fcte-v5 .global-nav,
body.fcte-v5 .pch-global-nav{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
  overflow:visible;
}
body.fcte-v5 .global-nav>a,
body.fcte-v5 .pch-global-nav>a{
  background:none;
  border:0;
  box-shadow:none;
  padding:7px 0;
  color:#3d6066;
  text-decoration:none;
  font:700 14px/1.2 var(--fd-font);
  white-space:nowrap;
}
body.fcte-v5 .global-nav>a:hover,
body.fcte-v5 .pch-global-nav>a:hover{color:var(--fd-deep)}
body.fcte-v5 .pch-citybar{display:none}
body.fcte-v5 .premium-city-header .pch-global{
  min-height:64px;
  height:64px;
  display:flex;
  align-items:center;
  gap:28px;
}
body.fcte-v5 .fidelra-city-menu{
  position:relative;
  border:0;
  background:transparent;
  margin:0;
  padding:0;
}
body.fcte-v5 .fidelra-city-menu>summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  padding:7px 0;
  color:#123a40;
  font:800 14px/1.2 var(--fd-font);
  white-space:nowrap;
}
body.fcte-v5 .fidelra-city-menu>summary::-webkit-details-marker{display:none}
body.fcte-v5 .fidelra-city-menu>summary::marker{content:""}
body.fcte-v5 .fidelra-city-menu .pch-flag{
  width:22px;
  height:15px;
  flex:0 0 22px;
}
body.fcte-v5 .fidelra-city-menu .city-menu-caret{
  color:#658085;
  font-size:14px;
  transition:transform .15s ease;
}
body.fcte-v5 .fidelra-city-menu[open] .city-menu-caret{transform:rotate(180deg)}
body.fcte-v5 .fidelra-city-menu-panel{
  position:absolute;
  z-index:3000;
  top:calc(100% + 13px);
  right:0;
  width:230px;
  padding:8px 0;
  background:#fff;
  border:1px solid #c9d8d7;
  box-shadow:0 12px 30px rgba(6,16,26,.12);
}
body.fcte-v5 .fidelra-city-menu-panel a{
  display:block;
  padding:10px 15px;
  color:#33565c;
  text-decoration:none;
  font:700 14px/1.25 var(--fd-font);
  border-left:3px solid transparent;
}
body.fcte-v5 .fidelra-city-menu-panel a:hover{
  background:#f0f6f5;
  color:#123a40;
}
body.fcte-v5 .fidelra-city-menu-panel a.active{
  color:#0a8581;
  background:#eef8f6;
  border-left-color:#0a9a91;
}
body.fcte-v5 .fidelra-city-menu-panel .city-menu-switch{
  margin-top:6px;
  padding-top:12px;
  border-top:1px solid #dbe6e4;
  color:#0a8581;
}
@media(max-width:1120px){
  body.fcte-v5 .global-nav,
  body.fcte-v5 .pch-global-nav{gap:16px;overflow-x:auto;scrollbar-width:none}
  body.fcte-v5 .global-nav::-webkit-scrollbar,
  body.fcte-v5 .pch-global-nav::-webkit-scrollbar{display:none}
  body.fcte-v5 .global-nav>a,
  body.fcte-v5 .pch-global-nav>a,
  body.fcte-v5 .fidelra-city-menu>summary{font-size:14px}
}
@media(max-width:760px){
  body.fcte-v5 .premium-city-header .pch-global,
  body.fcte-v5 .global-header .wrap{gap:16px}
  body.fcte-v5 .pch-brand,
  body.fcte-v5 .brand{flex:0 0 auto}
  body.fcte-v5 .global-nav,
  body.fcte-v5 .pch-global-nav{gap:14px}
}


/* ================================================================
   V5.17 — Data Explorer architecture
   One city-specific workflow: hero → path choice → domain explorer → panels.
   ================================================================ */
body.fcte-v5.page-family-data .page-hero>.wrap{display:block}
body.fcte-v5.page-family-data .data-hero-lead{max-width:820px;font-size:18.0px;line-height:1.65;color:#cbd8db}
body.fcte-v5.page-family-data .data-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
body.fcte-v5.page-family-data .data-hero-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;font:800 14px/1.3 var(--fd-mono);letter-spacing:.06em;text-transform:uppercase;color:#8fb1b5}
body.fcte-v5.page-family-data .data-hero-meta span{display:inline-flex;align-items:center}
body.fcte-v5.page-family-data .data-hero-meta span+span:before{content:"·";margin:0 10px;color:#55d6c7}

body.fcte-v5.page-family-data .data-pathways{background:#fff;border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .data-section-head{max-width:840px;margin-bottom:34px}
body.fcte-v5.page-family-data .data-section-head .eyebrow{font:800 14px/1.3 var(--fd-mono);letter-spacing:.12em;text-transform:uppercase;color:#278689;margin-bottom:10px}
body.fcte-v5.page-family-data .data-section-head h2{font-size:clamp(38px,4.5vw,54px);line-height:1.02;font-weight:650;letter-spacing:-.045em;margin:0;color:var(--fd-deep)}
body.fcte-v5.page-family-data .data-section-head p{font-size:16.5px;line-height:1.65;color:var(--fd-copy);max-width:760px;margin:14px 0 0}
body.fcte-v5.page-family-data .data-path-list{border-top:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .data-path-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 0;color:var(--fd-ink);text-decoration:none}
body.fcte-v5.page-family-data .data-path-item+.data-path-item{border-top:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .data-path-number{font:800 14px/1 var(--fd-mono);color:#278689;letter-spacing:.08em}
body.fcte-v5.page-family-data .data-path-copy{display:flex;flex-direction:column;gap:4px}
body.fcte-v5.page-family-data .data-path-copy strong{font-size:18.0px;color:var(--fd-deep)}
body.fcte-v5.page-family-data .data-path-copy>span{font-size:14.5px;line-height:1.55;color:var(--fd-copy)}
body.fcte-v5.page-family-data .data-path-cta{font:800 14px/1.2 var(--fd-mono);color:#087f78;white-space:nowrap}
body.fcte-v5.page-family-data .data-path-item:hover .data-path-copy strong,body.fcte-v5.page-family-data .data-path-item:hover .data-path-cta{color:#087f78}

body.fcte-v5.page-family-data #browser{background:#f8fbfb}
body.fcte-v5.page-family-data .data-browser-head{margin-bottom:40px}
body.fcte-v5.page-family-data .ds-layout{grid-template-columns:220px minmax(0,1fr);gap:38px;margin-top:0}
body.fcte-v5.page-family-data .ds-sidebar{position:static;top:auto;border:0;background:transparent}
body.fcte-v5.page-family-data .ds-sidebar-label{padding:0 0 12px;border-bottom:1px solid var(--fd-line);color:#547278}
body.fcte-v5.page-family-data .ds-domain-btn{padding:11px 8px;border-top:0;border-bottom:1px solid var(--fd-line);font-size:14px}
body.fcte-v5.page-family-data .ds-domain-btn.active{background:#0f938b;color:#fff}
body.fcte-v5.page-family-data .ds-sidebar-group{padding:18px 8px 7px;background:transparent;border-top:0;border-bottom:1px solid var(--fd-line);font-size:14px}
body.fcte-v5.page-family-data .ds-head{padding-bottom:22px;border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .ds-head h2{font-size:clamp(34px,4vw,48px);font-weight:650;letter-spacing:-.04em}
body.fcte-v5.page-family-data .ds-snapshot-card{margin-top:0;border:0;border-bottom:1px solid var(--fd-line);background:transparent;padding:24px 0}
body.fcte-v5.page-family-data .ds-content-card{margin-top:42px;border:0;background:transparent;padding:0}
body.fcte-v5.page-family-data .ds-content-card .ds-snapshot-divider{margin:28px 0}
body.fcte-v5.page-family-data .ds-use-card{max-width:none;border-left:0;border-right:0}
body.fcte-v5.page-family-data .network-wrap{background:#fff;border:1px solid var(--fd-line);padding:34px 24px 24px}
body.fcte-v5.page-family-data .code-block{background:#06101a;color:#d9f2ef;border:0;padding:22px 24px;max-height:320px}
body.fcte-v5.page-family-data .ds-sql-actions{align-items:center}
body.fcte-v5.page-family-data .ds-table-wrap{background:#fff;max-height:360px}
body.fcte-v5.page-family-data .ds-section-label.group-start{margin-top:44px;padding-top:28px}
body.fcte-v5.page-family-data .data-domain-next{margin-top:40px;padding-top:28px;border-top:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .data-domain-next h3{font-size:24.0px;margin:8px 0 8px;color:var(--fd-deep)}
body.fcte-v5.page-family-data .data-domain-next p{max-width:700px}
body.fcte-v5.page-family-data .data-domain-next .final-cta-row{margin-top:18px}

body.fcte-v5.page-family-data #panels{background:#fff;border-top:1px solid var(--fd-line)}
body.fcte-v5.page-family-data #panels>.wrap>h2{font-size:clamp(38px,4.5vw,54px);line-height:1.02;font-weight:650;letter-spacing:-.045em;max-width:820px}
body.fcte-v5.page-family-data #panels>.wrap>p{max-width:820px;font-size:16.5px;line-height:1.65}
body.fcte-v5.page-family-data .panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:34px;border-top:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-data .panel-card{border:0;border-right:1px solid var(--fd-line);padding:24px 22px;background:#fff}
body.fcte-v5.page-family-data .panel-card:last-child{border-right:0}
body.fcte-v5.page-family-data .panel-card.domain-match{border-color:var(--fd-line);box-shadow:none;background:#f1f8f7}
body.fcte-v5.page-family-data .panel-card-tags span{border-radius:0;background:#f4f7f7}
body.fcte-v5.page-family-data .panels-domain-note{border:0;border-left:3px solid #52b8b2;background:#f1f8f7;padding:14px 16px;max-width:820px}
body.fcte-v5.page-family-data .panel-split-note{margin-top:22px;font-size:14px}
body.fcte-v5.page-family-data .panel-split-note a{color:#087f78;font-weight:650}

@media(max-width:900px){
 body.fcte-v5.page-family-data .ds-layout{grid-template-columns:1fr}
 body.fcte-v5.page-family-data .ds-sidebar{order:0;max-height:none;overflow:visible}
 body.fcte-v5.page-family-data .ds-domain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 body.fcte-v5.page-family-data .ds-main{order:1}
 body.fcte-v5.page-family-data .panel-grid{grid-template-columns:1fr}
 body.fcte-v5.page-family-data .panel-card{border-right:0;border-bottom:1px solid var(--fd-line)}
 body.fcte-v5.page-family-data .panel-card:last-child{border-bottom:0}
}
@media(max-width:640px){
 body.fcte-v5.page-family-data .data-path-item{grid-template-columns:40px 1fr}
 body.fcte-v5.page-family-data .data-path-cta{grid-column:2}
 body.fcte-v5.page-family-data .ds-domain-list{grid-template-columns:1fr}
 body.fcte-v5.page-family-data .data-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
 body.fcte-v5.page-family-data .data-hero-meta span+span:before{display:none}
}


/* ================================================================
   V5.18 — FINAL POLISH CONTRACT
   Accessibility and interaction rules only. No page-family visual fork.
   ================================================================ */
body.fcte-v5 a:focus-visible,
body.fcte-v5 button:focus-visible,
body.fcte-v5 summary:focus-visible,
body.fcte-v5 input:focus-visible,
body.fcte-v5 [tabindex]:focus-visible{
  outline:2px solid var(--fd-teal,#15988f);
  outline-offset:3px;
}
body.fcte-v5 .surface-dark a:focus-visible,
body.fcte-v5 .surface-dark button:focus-visible,
body.fcte-v5 .surface-dark summary:focus-visible{
  outline-color:#63d9d1;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  body.fcte-v5 *,body.fcte-v5 *::before,body.fcte-v5 *::after{
    animation-duration:.01ms;
    animation-iteration-count:1;
    transition-duration:.01ms;
  }
}

/* ======================================================================
   V5.19 — FINAL ACCESS + PRODUCTION POLISH CONTRACT
   Access is one intent-led licensing system, not a stack of pricing cards.
   ====================================================================== */

/* Keyboard entry point across every public page. */
body.fcte-v5 .skip-link{
  position:fixed;left:18px;top:12px;z-index:10000;
  transform:translateY(-160%);padding:10px 14px;
  background:#06101a;color:#fff;border:1px solid #63d9d1;
  font:800 14px/1.2 var(--fd-font);text-decoration:none;
}
body.fcte-v5 .skip-link:focus{transform:translateY(0)}
body.fcte-v5 .skip-target{position:absolute;width:1px;height:1px;overflow:hidden}

/* Access uses the same 1180px Fidelra measure as the rest of the product. */
body.fcte-v5.page-family-access .wrap{
  width:min(var(--fd-w),calc(100% - 64px));max-width:var(--fd-w);margin-inline:auto;padding:0;
}
body.fcte-v5.page-family-access section{padding:72px 0;border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-access section.tight{padding:64px 0}
body.fcte-v5.page-family-access section.no-border{border-bottom:0}
body.fcte-v5.page-family-access .pricing-hero{padding:86px 0 78px}
body.fcte-v5.page-family-access .pricing-hero .doc-section-label,
body.fcte-v5.page-family-access .access-guide-eyebrow{
  display:block;font:800 14px/1.3 var(--fd-mono);letter-spacing:.12em;text-transform:uppercase;color:#53c7bf;margin-bottom:12px
}
body.fcte-v5.page-family-access .pricing-hero h1{
  max-width:1000px;margin:14px 0 0;font-size:clamp(52px,6.2vw,78px);line-height:.98;letter-spacing:-.055em;font-weight:650;color:#fff
}
body.fcte-v5.page-family-access .pricing-hero .lead{
  max-width:820px;margin:24px 0 0;font-size:18.0px;line-height:1.65;font-weight:500;color:#cbd8db
}
body.fcte-v5.page-family-access .pricing-hero .sub{
  margin-top:18px;font:800 14px/1.4 var(--fd-mono);letter-spacing:.07em;text-transform:uppercase;color:#8fb1b5
}
body.fcte-v5.page-family-access .pricing-hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* Intent comes before price. */
body.fcte-v5.page-family-access .access-guide{background:#fff}
body.fcte-v5.page-family-access .access-guide .access-guide-eyebrow{color:#278689}
body.fcte-v5.page-family-access .access-guide h2,
body.fcte-v5.page-family-access #tiers> .wrap > h2,
body.fcte-v5.page-family-access .access-assurance h2,
body.fcte-v5.page-family-access .access-extensions h2,
body.fcte-v5.page-family-access .access-compare h2,
body.fcte-v5.page-family-access .access-faq h2{
  margin:0;max-width:900px;font-size:clamp(38px,4.7vw,56px);line-height:1.02;letter-spacing:-.045em;font-weight:650;color:var(--fd-deep)
}
body.fcte-v5.page-family-access h3.section-sub{
  max-width:800px;margin:13px 0 0;font-size:16.5px;line-height:1.62;font-weight:750;color:#31575d
}
body.fcte-v5.page-family-access .decide-grid{
  margin-top:34px;border:0;border-top:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)
}
body.fcte-v5.page-family-access .decide-row{
  display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:20px;
  min-height:76px;padding:18px 0;border:0;border-bottom:1px solid var(--fd-line);
  color:var(--fd-ink);text-decoration:none;background:transparent
}
body.fcte-v5.page-family-access .decide-row:last-child{border-bottom:0}
body.fcte-v5.page-family-access .access-route-index{font:800 14px/1 var(--fd-mono);letter-spacing:.08em;color:#278689}
body.fcte-v5.page-family-access .decide-row .dq{font-size:17.0px;font-weight:650;color:var(--fd-deep)}
body.fcte-v5.page-family-access .decide-row .da{font:800 14px/1.25 var(--fd-mono);color:#087f78;white-space:nowrap}
body.fcte-v5.page-family-access .decide-row:hover{background:#f5faf9}
body.fcte-v5.page-family-access .decide-row:hover .dq{color:#087f78}
body.fcte-v5.page-family-access .access-guide .tc-cta-row{margin-top:20px}

/* Access levels form one continuous ladder. */
body.fcte-v5.page-family-access #tiers{background:#f8fbfb}
body.fcte-v5.page-family-access #tiers .section-sub{margin-bottom:34px}
body.fcte-v5.page-family-access #tiers .tier-card{
  display:grid;grid-template-columns:minmax(175px,.7fr) minmax(0,1.55fr) minmax(210px,.75fr);
  column-gap:44px;align-items:start;
  margin:0;padding:38px 0;border:0;border-top:1px solid #cfdcda;background:transparent;box-shadow:none
}
body.fcte-v5.page-family-access #tiers .tier-card:last-child{border-bottom:1px solid #cfdcda}
body.fcte-v5.page-family-access #tiers .tier-card.featured{border-top:2px solid #13988f;background:linear-gradient(90deg,rgba(19,152,143,.055),transparent 38%)}
body.fcte-v5.page-family-access #tiers .tier-card .tc-top{grid-column:1;grid-row:1 / span 12;display:block}
body.fcte-v5.page-family-access #tiers .tc-eyebrow{
  font:800 14px/1.2 var(--fd-mono);letter-spacing:.1em;text-transform:uppercase;color:#278689
}
body.fcte-v5.page-family-access #tiers .tc-price{
  margin-top:10px;font-size:clamp(27px,2.9vw,37px);line-height:1;font-weight:650;letter-spacing:-.035em;color:var(--fd-deep)
}
body.fcte-v5.page-family-access #tiers .tc-tagline,
body.fcte-v5.page-family-access #tiers .tc-desc,
body.fcte-v5.page-family-access #tiers .tc-examples,
body.fcte-v5.page-family-access #tiers .combo-grid,
body.fcte-v5.page-family-access #tiers .tc-includes-label,
body.fcte-v5.page-family-access #tiers .tc-includes{grid-column:2}
body.fcte-v5.page-family-access #tiers .tc-tagline{margin:0;font-size:20.0px;line-height:1.25;font-weight:650;color:var(--fd-deep)}
body.fcte-v5.page-family-access #tiers .tc-desc{margin:10px 0 0;max-width:700px;font-size:15.0px;line-height:1.65;color:var(--fd-copy)}
body.fcte-v5.page-family-access #tiers .tc-includes-label{
  margin-top:22px;font:800 14px/1.3 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#647d82
}
body.fcte-v5.page-family-access #tiers .tc-includes{columns:1;margin:9px 0 0;padding:0;list-style:none}
body.fcte-v5.page-family-access #tiers .tc-includes li{
  position:relative;padding:4px 0 4px 18px;font-size:14px;line-height:1.55;color:var(--fd-copy);break-inside:avoid
}
body.fcte-v5.page-family-access #tiers .tc-includes li:before{content:"✓";position:absolute;left:0;color:#0b8f84;font-weight:650}
body.fcte-v5.page-family-access #tiers .tc-examples{display:flex;flex-wrap:wrap;gap:0;margin-top:16px}
body.fcte-v5.page-family-access #tiers .tc-examples span{
  padding:5px 12px 5px 0;margin-right:12px;border:0;border-right:1px solid #cfddda;border-radius:0;background:transparent;
  font:700 14px/1.35 var(--fd-mono);color:#547278
}
body.fcte-v5.page-family-access #tiers .tc-examples span:last-child{border-right:0}
body.fcte-v5.page-family-access #tiers .combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:10px}
body.fcte-v5.page-family-access #tiers .combo-card{padding:13px 0;border:0;border-top:1px solid #d8e3e1;background:transparent}
body.fcte-v5.page-family-access #tiers .combo-card b{display:block;font-size:14px;color:var(--fd-deep)}
body.fcte-v5.page-family-access #tiers .combo-card .flow{margin-top:5px;font:600 14px/1.45 var(--fd-mono);color:#6b8388}
body.fcte-v5.page-family-access #tiers .tc-bestfor-label,
body.fcte-v5.page-family-access #tiers .tc-bestfor,
body.fcte-v5.page-family-access #tiers .tc-cta-row{grid-column:3}
body.fcte-v5.page-family-access #tiers .tc-bestfor-label{
  margin:0;font:800 14px/1.3 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#647d82
}
body.fcte-v5.page-family-access #tiers .tc-bestfor{margin:9px 0 0;font-size:14px;line-height:1.6;color:var(--fd-copy)}
body.fcte-v5.page-family-access #tiers .tc-cta-row{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:22px}

/* Assurance is proof text on a common baseline, not six floating cards. */
body.fcte-v5.page-family-access .access-assurance{background:#fff}
body.fcte-v5.page-family-access .access-assurance .cap-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin-top:34px;border-top:1px solid var(--fd-line)
}
body.fcte-v5.page-family-access .access-assurance .cap-card{
  min-height:150px;padding:24px 0;border:0;border-bottom:1px solid var(--fd-line);background:transparent
}
body.fcte-v5.page-family-access .access-assurance .cap-card h4{margin:0;font-size:17.0px;font-weight:650;color:var(--fd-deep)}
body.fcte-v5.page-family-access .access-assurance .cap-card p{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--fd-copy)}
body.fcte-v5.page-family-access .access-assurance .tc-cta-row{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}

/* Extension paths remain two explicit choices, but without decorative card shells. */
body.fcte-v5.page-family-access .access-extensions{background:#f8fbfb}
body.fcte-v5.page-family-access .access-extensions .tier-grid-2{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:34px;border-top:1px solid var(--fd-line)
}
body.fcte-v5.page-family-access .access-extensions .tier-card{
  margin:0;padding:28px 0;border:0;border-bottom:1px solid var(--fd-line);background:transparent;box-shadow:none
}
body.fcte-v5.page-family-access .access-extensions .tc-price{font-size:30.0px;font-weight:650;color:var(--fd-deep)}
body.fcte-v5.page-family-access .access-extensions .tc-tagline{margin-top:12px;font-size:18.0px;font-weight:650;color:var(--fd-deep)}
body.fcte-v5.page-family-access .access-extensions .tc-desc{font-size:14.5px;line-height:1.65;color:var(--fd-copy)}

/* Comparison remains a technical table. */
body.fcte-v5.page-family-access .access-compare{background:#fff}
body.fcte-v5.page-family-access .compare-table-wrap{margin-top:28px;overflow-x:auto;border:1px solid var(--fd-line);background:#fff}
body.fcte-v5.page-family-access .compare-table{width:100%;min-width:940px;border-collapse:collapse;font-size:14px}
body.fcte-v5.page-family-access .compare-table th,
body.fcte-v5.page-family-access .compare-table td{padding:13px 14px;border-bottom:1px solid var(--fd-line);text-align:center}
body.fcte-v5.page-family-access .compare-table th{background:#f3f7f6;font:800 14px/1.3 var(--fd-mono);letter-spacing:.05em;text-transform:uppercase;color:#5d777c}
body.fcte-v5.page-family-access .compare-table td:first-child,
body.fcte-v5.page-family-access .compare-table th:first-child{text-align:left;font-weight:650;color:#3f5c62}
body.fcte-v5.page-family-access .compare-table .price-row td{font-size:14.5px;font-weight:650;color:#087f78}
body.fcte-v5.page-family-access .compare-note{font-size:14px;color:#6b8084;margin-top:12px}
body.fcte-v5.page-family-access .compare-note+.compare-note{margin-top:4px}

/* FAQ uses document separators, not callout boxes. */
body.fcte-v5.page-family-access .access-faq .faq-list{max-width:900px;margin-top:28px;border-top:1px solid var(--fd-line)}
body.fcte-v5.page-family-access .access-faq .limit-box{
  margin:0;padding:0;border:0;border-bottom:1px solid var(--fd-line);background:transparent
}
body.fcte-v5.page-family-access .access-faq .limit-box summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 0;cursor:pointer;list-style:none
}
body.fcte-v5.page-family-access .access-faq .limit-box summary::-webkit-details-marker{display:none}
body.fcte-v5.page-family-access .access-faq .limit-box h5{margin:0;font-size:15.0px;font-weight:850;color:var(--fd-deep)}
body.fcte-v5.page-family-access .access-faq .limit-box .limit-body p{margin:0;padding:0 0 20px;max-width:780px;font-size:14.5px;line-height:1.65;color:var(--fd-copy)}
body.fcte-v5.page-family-access .access-faq .limit-box .arrow{font:800 14px/1 var(--fd-mono);color:#6b8388;transition:transform .15s ease}
body.fcte-v5.page-family-access .access-faq .limit-box[open] .arrow{transform:rotate(90deg)}

/* Final handoff returns to Fidelra navy and keeps the action set disciplined. */
body.fcte-v5.page-family-access .access-final{padding:84px 0;background:#06101a;border:0}
body.fcte-v5.page-family-access .access-final h2{max-width:860px;margin:0;font-size:clamp(42px,5.2vw,62px);line-height:1;letter-spacing:-.05em;font-weight:650;color:#fff}
body.fcte-v5.page-family-access .access-final .section-sub{max-width:760px;color:#b9cdd0}
body.fcte-v5.page-family-access .access-final .final-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

@media(max-width:940px){
  body.fcte-v5.page-family-access #tiers .tier-card{grid-template-columns:190px minmax(0,1fr);column-gap:30px}
  body.fcte-v5.page-family-access #tiers .tc-bestfor-label,
  body.fcte-v5.page-family-access #tiers .tc-bestfor,
  body.fcte-v5.page-family-access #tiers .tc-cta-row{grid-column:2}
  body.fcte-v5.page-family-access #tiers .tc-bestfor-label{margin-top:22px}
  body.fcte-v5.page-family-access .access-assurance .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  body.fcte-v5.page-family-access .wrap{width:calc(100% - 36px)}
  body.fcte-v5.page-family-access section,body.fcte-v5.page-family-access section.tight{padding:50px 0}
  body.fcte-v5.page-family-access .pricing-hero{padding:64px 0 56px}
  body.fcte-v5.page-family-access .decide-row{grid-template-columns:38px 1fr;gap:12px}
  body.fcte-v5.page-family-access .decide-row .da{grid-column:2;white-space:normal}
  body.fcte-v5.page-family-access #tiers .tier-card{display:block;padding:30px 0}
  body.fcte-v5.page-family-access #tiers .tc-tagline{margin-top:18px}
  body.fcte-v5.page-family-access #tiers .tc-bestfor-label{margin-top:22px}
  body.fcte-v5.page-family-access #tiers .combo-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-access .access-assurance .cap-grid,
  body.fcte-v5.page-family-access .access-extensions .tier-grid-2{grid-template-columns:1fr}
  body.fcte-v5.page-family-access .access-assurance .cap-card{min-height:0}
}

/* ======================================================================
   V5.21 — HERO SCALE + TEXT-ONLY SURFACES
   Final user-facing refinements requested after V5.20.
   ====================================================================== */

/* Data is a primary product surface. Give its hero the same visual authority
   as the main Fidelra story pages while preserving the existing content. */
body.fcte-v5.page-family-data .page-hero{
  padding-top:92px;
  padding-bottom:86px;
}
body.fcte-v5.page-family-data .page-hero h1{
  font-size:clamp(66px,7.4vw,100px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:650;
  max-width:1040px;
  margin:18px 0 24px;
  text-wrap:balance;
}
body.fcte-v5.page-family-data .data-hero-lead{
  max-width:900px;
  font-size:19.0px;
  line-height:1.62;
}
body.fcte-v5.page-family-data .data-hero-actions{margin-top:30px}
body.fcte-v5.page-family-data .data-hero-meta{margin-top:28px}

/* The path-choice area is editorial content, not a white card. It inherits
   the page canvas and relies only on type and technical separator rules. */
body.fcte-v5.page-family-data .data-pathways{
  background:transparent;
  border-top:0;
  border-bottom:0;
  padding-top:82px;
  padding-bottom:82px;
}
body.fcte-v5.page-family-data .data-pathways>.wrap{
  background:transparent;
  border:0;
  box-shadow:none;
}
body.fcte-v5.page-family-data .data-section-head{
  max-width:900px;
  margin-bottom:38px;
}
body.fcte-v5.page-family-data .data-section-head h2{
  font-size:clamp(46px,5.5vw,64px);
  line-height:.99;
  letter-spacing:-.052em;
  max-width:900px;
}
body.fcte-v5.page-family-data .data-section-head p{
  max-width:820px;
  font-size:17.0px;
}
body.fcte-v5.page-family-data .data-path-list{
  background:transparent;
  border-top:1px solid var(--fd-line);
  border-bottom:1px solid var(--fd-line);
}
body.fcte-v5.page-family-data .data-path-item{
  background:transparent;
  padding:26px 0;
}
body.fcte-v5.page-family-data .data-path-item:hover{
  background:transparent;
}

/* Evidence, Certification, Audits and Releases are first-class assurance
   products. Their hero titles now use one large, shared Fidelra scale. */
body.fcte-v5.page-family-evidence .page-hero,
body.fcte-v5.page-family-certification .page-hero,
body.fcte-v5.page-family-releases .page-hero,
body.fcte-v5.page-family-audits-index .audit-hero{
  padding-top:88px;
  padding-bottom:82px;
}
body.fcte-v5.page-family-evidence .page-hero h1,
body.fcte-v5.page-family-certification .page-hero h1,
body.fcte-v5.page-family-releases .page-hero h1,
body.fcte-v5.page-family-audits-index .audit-hero h1{
  font-size:clamp(62px,7vw,92px);
  line-height:.95;
  letter-spacing:-.052em;
  font-weight:650;
  max-width:1040px;
  margin:16px 0 22px;
  text-wrap:balance;
}
body.fcte-v5.page-family-evidence .page-hero p,
body.fcte-v5.page-family-certification .page-hero p,
body.fcte-v5.page-family-releases .page-hero p,
body.fcte-v5.page-family-audits-index .audit-hero p{
  max-width:860px;
  font-size:18.0px;
  line-height:1.62;
}

/* City overview certification explanation: plain text on navy, no white or
   tinted callout card. */
body.fcte-v5.view-city-overview #certification .realism-vs{
  max-width:760px;
  margin:28px auto 0;
  padding:0;
  border:0;
  border-left:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  color:#cbd8db;
  text-align:center;
  font-size:14px;
  line-height:1.65;
}
body.fcte-v5.view-city-overview #certification .realism-vs b{
  color:#55d6c7;
}

@media(max-width:760px){
  body.fcte-v5.page-family-data .page-hero,
  body.fcte-v5.page-family-evidence .page-hero,
  body.fcte-v5.page-family-certification .page-hero,
  body.fcte-v5.page-family-releases .page-hero,
  body.fcte-v5.page-family-audits-index .audit-hero{
    padding-top:58px;
    padding-bottom:56px;
  }
  body.fcte-v5.page-family-data .page-hero h1{
    font-size:clamp(48px,13vw,68px);
    line-height:.96;
  }
  body.fcte-v5.page-family-evidence .page-hero h1,
  body.fcte-v5.page-family-certification .page-hero h1,
  body.fcte-v5.page-family-releases .page-hero h1,
  body.fcte-v5.page-family-audits-index .audit-hero h1{
    font-size:clamp(46px,12vw,64px);
    line-height:.97;
  }
  body.fcte-v5.page-family-data .data-pathways{
    padding-top:58px;
    padding-bottom:58px;
  }
  body.fcte-v5.page-family-data .data-section-head h2{
    font-size:clamp(38px,10vw,50px);
  }
}
/* ============================================================================
   V5.22 — AUDIT LEGEND BADGES
   Chart / audit legend keys are compact semantic badges instead of loose text.
   This contract is shared by every audit-detail page that exposes a legend.
   ============================================================================ */
body.fcte-v5.page-family-audit-detail .audit-badge-legend{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

body.fcte-v5.page-family-audit-detail .audit-badge-legend .audit-legend-badge{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-height:32px;
  padding:7px 12px;
  gap:8px;
  border:1px solid rgba(85,214,199,.28);
  border-radius:999px;
  background:rgba(10,31,41,.72);
  color:#dce9eb;
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.015em;
  white-space:nowrap;
}

/* The Population Pulse legend lives on the navy hero. */
body.fcte-v5.page-family-audit-detail .audit-hero .audit-badge-legend{
  margin-top:24px;
}
body.fcte-v5.page-family-audit-detail .audit-hero .audit-badge-legend .audit-legend-badge{
  background:rgba(255,255,255,.055);
  border-color:rgba(85,214,199,.32);
  color:#dce9eb;
}

/* Event-ablation legends live on the light analytical canvas. */
body.fcte-v5.page-family-audit-detail main > .audit-badge-legend{
  margin-top:20px;
  margin-bottom:28px;
}
body.fcte-v5.page-family-audit-detail main > .audit-badge-legend .audit-legend-badge{
  background:#eef7f5;
  border-color:#c5dedb;
  color:#173b43;
}

/* Keep the original semantic swatches intact inside the new badge shell. */
body.fcte-v5.page-family-audit-detail .audit-legend-badge .swatch,
body.fcte-v5.page-family-audit-detail .audit-legend-badge .legend-swatch{
  flex:0 0 auto;
}

@media(max-width:700px){
  body.fcte-v5.page-family-audit-detail .audit-badge-legend{gap:8px}
  body.fcte-v5.page-family-audit-detail .audit-badge-legend .audit-legend-badge{
    max-width:100%;
    white-space:normal;
  }
}
/* ============================================================================
   V5.23 — UNIFIED AUDIT SECTION HEADING CONTRACT
   Every primary audit section title uses one Fidelra type scale, regardless
   of whether legacy markup wraps the H2 in .section-head or places it directly
   inside the section.
   ============================================================================ */
body.fcte-v5.page-family-audit-detail .audit-summary-head h2,
body.fcte-v5.page-family-audit-detail .audit-summary-section > .section-head h2,
body.fcte-v5.page-family-audit-detail .section-head > h2,
body.fcte-v5.page-family-audit-detail .group > h2,
body.fcte-v5.page-family-audit-detail .casestudy > h2,
body.fcte-v5.page-family-audit-detail .audit-detail-content > h2,
body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section > h2,
body.fcte-v5.page-family-audit-detail .audit-detail-content > section > h2{
  margin:0 0 16px;
  font-family:var(--fd-font);
  font-size:clamp(34px,3.8vw,48px);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.035em;
  color:var(--fd-ink);
  text-wrap:balance;
}

/* City/chart identity headings are data labels, not section headings. */
body.fcte-v5.page-family-audit-detail .city-head > h2.city-name{
  margin:0;
}

/* Keep supporting section copy on one consistent reading scale. */
body.fcte-v5.page-family-audit-detail .section-head > h2 + p,
body.fcte-v5.page-family-audit-detail .audit-summary-head h2 + p,
body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section > h2 + p,
body.fcte-v5.page-family-audit-detail .audit-detail-content > section > h2 + p{
  margin-top:0;
}

@media(max-width:700px){
  body.fcte-v5.page-family-audit-detail .audit-summary-head h2,
  body.fcte-v5.page-family-audit-detail .audit-summary-section > .section-head h2,
  body.fcte-v5.page-family-audit-detail .section-head > h2,
  body.fcte-v5.page-family-audit-detail .group > h2,
  body.fcte-v5.page-family-audit-detail .casestudy > h2,
  body.fcte-v5.page-family-audit-detail .audit-detail-content > h2,
  body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section > h2,
  body.fcte-v5.page-family-audit-detail .audit-detail-content > section > h2{
    font-size:clamp(30px,9vw,38px);
    line-height:1.06;
  }
}
/* ============================================================================
   V5.24 — UNIFIED AUDIT CANVAS
   One 1180px Fidelra canvas across every audit detail page. At-a-glance KPI
   strips retain the established audit statbar treatment.
   ============================================================================ */
body.fcte-v5.page-family-audit-detail{
  --fd-audit-w:var(--fd-w);
}

/* One page width everywhere in the audit family. */
body.fcte-v5.page-family-audit-detail .audit-sequence-wrap,
body.fcte-v5.page-family-audit-detail main > .audit-sequence,
body.fcte-v5.page-family-audit-detail .audit-detail-content,
body.fcte-v5.page-family-audit-detail .audit-summary-wrap,
body.fcte-v5.page-family-audit-detail main > section.city,
body.fcte-v5.page-family-audit-detail main > .callout,
body.fcte-v5.page-family-audit-detail main > .legend,
body.fcte-v5.page-family-audit-detail main > .casestudy,
body.fcte-v5.page-family-audit-detail main > .methodology-note,
body.fcte-v5.page-family-audit-detail main > .audit-findings-section,
body.fcte-v5.page-family-audit-detail main > .tablewrap{
  width:min(var(--fd-w),calc(100% - 64px));
  max-width:var(--fd-w);
  margin-left:auto;
  margin-right:auto;
}

/* Every audit hero uses the same full-bleed navy surface and aligned inner grid. */
body.fcte-v5.page-family-audit-detail .audit-hero{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:var(--fd-night);
  color:#fff;
  border:0;
}
body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
  width:min(var(--fd-w),calc(100% - 64px));
  max-width:var(--fd-w);
  margin-inline:auto;
  padding:72px 0;
}
body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner > h1{
  max-width:1080px;
}
body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner > p{
  max-width:900px;
}

/* Keep all analytical surfaces aligned to the same canvas. */
body.fcte-v5.page-family-audit-detail section.city,
body.fcte-v5.page-family-audit-detail .casestudy,
body.fcte-v5.page-family-audit-detail .callout,
body.fcte-v5.page-family-audit-detail .audit-findings-scroll,
body.fcte-v5.page-family-audit-detail .tablewrap{
  max-width:100%;
}

@media(max-width:760px){
  body.fcte-v5.page-family-audit-detail .audit-sequence-wrap,
  body.fcte-v5.page-family-audit-detail .audit-detail-content,
  body.fcte-v5.page-family-audit-detail .audit-summary-wrap,
  body.fcte-v5.page-family-audit-detail main > section.city,
  body.fcte-v5.page-family-audit-detail main > .callout,
  body.fcte-v5.page-family-audit-detail main > .legend,
  body.fcte-v5.page-family-audit-detail main > .casestudy,
  body.fcte-v5.page-family-audit-detail main > .methodology-note,
  body.fcte-v5.page-family-audit-detail main > .audit-findings-section,
  body.fcte-v5.page-family-audit-detail main > .tablewrap,
  body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
    width:calc(100% - 36px);
  }
  body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
    padding:48px 0;
  }}
/* ============================================================================
   V5.25 — AUDIT HERO METADATA BADGES
   Hero-level audit facts (date, domain, database, scope, method, run state)
   use compact navy-surface badges. At-a-glance KPI statbars remain unchanged.
   ============================================================================ */
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:24px;
  padding:0;
  text-align:left;
  white-space:normal;
  color:#dce9eb;
  font-family:var(--fd-mono);
  font-size:14px;
  line-height:1.3;
}
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges > span,
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges > div{
  display:inline-flex;
  align-items:center;
  width:auto;
  min-height:32px;
  padding:7px 12px;
  gap:6px;
  border:1px solid rgba(85,214,199,.34);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#dce9eb;
  font:800 14px/1.25 var(--fd-mono);
  letter-spacing:.015em;
}
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges b{
  color:#55d6c7;
  font-weight:650;
}
/* The Data Quality audit used a side-column run list. Keep its content, but
   place the same metadata badge system below the narrative like other audits. */
body.fcte-v5.page-nairobi-audit-nairobi-data-quality-audit .audit-hero .top-row{
  display:block;
}
body.fcte-v5.page-nairobi-audit-nairobi-data-quality-audit .audit-hero .run-meta.audit-hero-badges{
  margin-top:24px;
  text-align:left;
  line-height:1.3;
  white-space:normal;
}
@media(max-width:700px){
  body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges{gap:8px}
  body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges > span,
  body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges > div{
    max-width:100%;
    white-space:normal;
  }
}

/* ==========================================================================
   V5.26 — Domain hot-link contract
   ========================================================================== */
.fcte-domain-link{
  color:inherit;
  font-weight:inherit;
  text-decoration-line:underline;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(12,133,119,.55);
  text-underline-offset:.2em;
  transition:color .16s ease,text-decoration-color .16s ease;
}
.fcte-domain-link:hover,
.fcte-domain-link:focus-visible{
  color:var(--fd-teal,#0c8577);
  text-decoration-color:currentColor;
}
.fcte-domain-card-link{
  cursor:pointer;
  text-decoration:none;
  color:inherit;
  transition:border-color .16s ease,transform .16s ease,background-color .16s ease;
}
.fcte-domain-card-link:hover,
.fcte-domain-card-link:focus-visible{
  border-color:var(--fd-teal,#0c8577);
  outline:none;
}
.fcte-domain-card-link:focus-visible{
  box-shadow:0 0 0 2px rgba(12,133,119,.2);
}
/* ============================================================================
   V5.27 — UNIFIED PAGE HERO TYPOGRAPHY
   One final type contract for every primary site page hero. The homepage keeps
   its intentional flagship display treatment; every other product/marketing,
   city, domain and audit page shares this exact title scale and weight.
   ============================================================================ */
body.fcte-v5{
  --fd-hero-title-size:clamp(62px,6.8vw,92px);
  --fd-hero-title-weight:900;
  --fd-hero-title-line:.95;
  --fd-hero-title-track:-.052em;
  --fd-hero-copy-size:18px;
  --fd-hero-copy-line:1.62;
}

/* One authoritative H1 contract for every non-home page hero. */
body.fcte-v5:not(.page-family-home) .page-hero h1,
body.fcte-v5:not(.page-family-home) .page-hero .v5-page-title,
body.fcte-v5.page-family-audit-detail .audit-hero h1,
body.fcte-v5.page-family-audit-detail .audit-hero .title,
body.fcte-v5.page-family-audits-index .audit-hero h1,
body.fcte-v5.page-family-audits-index .audit-hero .title,
body.fcte-v5.page-family-access .pricing-hero h1{
  font-family:var(--fd-font);
  font-size:var(--fd-hero-title-size);
  font-weight:var(--fd-hero-title-weight);
  line-height:var(--fd-hero-title-line);
  letter-spacing:var(--fd-hero-title-track);
  max-width:1080px;
  margin:16px 0 22px;
  text-wrap:balance;
}

/* All dark city/product/audit heroes keep the same white title treatment. */
body.fcte-v5.city-locked .page-hero h1,
body.fcte-v5.page-family-audit-detail .audit-hero h1,
body.fcte-v5.page-family-audits-index .audit-hero h1{
  color:#fff;
}

/* Matching supporting-copy rhythm so a larger or smaller legacy paragraph
   cannot make one page hero look visually lighter than another. */
body.fcte-v5:not(.page-family-home) .page-hero > .wrap > p,
body.fcte-v5:not(.page-family-home) .page-hero .hero-top-text > p,
body.fcte-v5:not(.page-family-home) .page-hero .domain-hero-lead,
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-inner > p,
body.fcte-v5.page-family-audits-index .audit-hero > p,
body.fcte-v5.page-family-audits-index .audit-hero > .wrap > p{
  max-width:900px;
  font-family:var(--fd-font);
  font-size:var(--fd-hero-copy-size);
  font-weight:500;
  line-height:var(--fd-hero-copy-line);
}

/* Standard page-hero vertical rhythm. Audit-detail pages use an inner canvas
   and therefore receive the same spacing on .audit-hero-inner instead. */
body.fcte-v5:not(.page-family-home):not(.page-family-audit-detail) .page-hero{
  padding-top:88px;
  padding-bottom:82px;
}
body.fcte-v5.page-family-audit-detail .audit-hero{
  padding:0;
}
body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
  padding-top:88px;
  padding-bottom:82px;
}

/* One eyebrow rhythm across the hero family. Badge/pill labels remain badges. */
body.fcte-v5:not(.page-family-home) .page-hero .eyebrow,
body.fcte-v5:not(.page-family-home) .page-hero .kicker,
body.fcte-v5:not(.page-family-home) .page-hero .premium-scope-label,
body.fcte-v5.page-family-audit-detail .audit-hero .eyebrow,
body.fcte-v5.page-family-audit-detail .audit-hero .premium-scope-label{
  font:800 14px/1.3 var(--fd-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:760px){
  body.fcte-v5{
    --fd-hero-title-size:clamp(46px,12vw,64px);
    --fd-hero-copy-size:16px;
  }
  body.fcte-v5:not(.page-family-home):not(.page-family-audit-detail) .page-hero{
    padding-top:58px;
    padding-bottom:56px;
  }
  body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
    padding-top:58px;
    padding-bottom:56px;
  }
}
/* =========================================================
   V5.28 — Site-wide card hover contract
   One restrained interaction language for visual cards.
   Structural data/SQL/table/chart surfaces are intentionally excluded.
   ========================================================= */

body.fcte-v5 :is(
  .card,
  .doc-card,
  .goal-card,
  .price-card,
  .city-catalog-card,
  .city-stat-card,
  .city-feature-card,
  .city-record-card,
  .city-audit-card,
  .city-release-card,
  .citytwin-card,
  .journey-card,
  .usecase-card,
  .story-card,
  .story-next-card,
  .cap-card,
  .boundary-card,
  .mech-card,
  .modifier-card,
  .realism-card,
  .source-card,
  .domain-dir-card,
  .layer-card,
  .spoke-card,
  .score-card,
  .tier-card,
  .combo-card,
  .panel-card,
  .asset-card,
  .xd-card,
  .cert-cat-card,
  .dl-card,
  .domain-card,
  .data-city-card,
  .fcte-domain-card-link
){
  transition:
    transform 180ms cubic-bezier(.2,.75,.25,1),
    border-color 180ms ease,
    background-color 180ms ease,
    box-shadow 180ms ease;
  transform:translateY(0);
}

@media (hover:hover) and (pointer:fine){
  body.fcte-v5 :is(
    .card,
    .doc-card,
    .goal-card,
    .price-card,
    .city-catalog-card,
    .city-stat-card,
    .city-feature-card,
    .city-record-card,
    .city-audit-card,
    .city-release-card,
    .citytwin-card,
    .journey-card,
    .usecase-card,
    .story-card,
    .story-next-card,
    .cap-card,
    .boundary-card,
    .mech-card,
    .modifier-card,
    .realism-card,
    .source-card,
    .domain-dir-card,
    .layer-card,
    .spoke-card,
    .score-card,
    .tier-card,
    .combo-card,
    .panel-card,
    .asset-card,
    .xd-card,
    .cert-cat-card,
    .dl-card,
    .domain-card,
    .data-city-card,
    .fcte-domain-card-link
  ):hover{
    transform:translateY(-3px);
    border-color:rgba(13,143,135,.52);
    box-shadow:
      0 14px 30px rgba(6,16,26,.10),
      inset 0 0 0 1px rgba(13,143,135,.10);
  }

  body.fcte-v5 :is(.surface-dark,.band-dark,.audit-hero,.domain-hero,.city-hero) :is(
    .card,
    .doc-card,
    .goal-card,
    .price-card,
    .city-catalog-card,
    .city-stat-card,
    .city-feature-card,
    .city-record-card,
    .city-audit-card,
    .city-release-card,
    .citytwin-card,
    .journey-card,
    .usecase-card,
    .story-card,
    .story-next-card,
    .cap-card,
    .boundary-card,
    .mech-card,
    .modifier-card,
    .realism-card,
    .source-card,
    .domain-dir-card,
    .layer-card,
    .spoke-card,
    .score-card,
    .tier-card,
    .combo-card,
    .panel-card,
    .asset-card,
    .xd-card,
    .cert-cat-card,
    .dl-card,
    .domain-card,
    .data-city-card,
    .fcte-domain-card-link
  ):hover{
    border-color:rgba(77,217,196,.46);
    box-shadow:
      0 16px 34px rgba(0,0,0,.22),
      inset 0 0 0 1px rgba(77,217,196,.10);
  }
}

/* Keyboard users receive the same visual affordance on cards containing controls. */
body.fcte-v5 :is(
  .card,
  .doc-card,
  .goal-card,
  .price-card,
  .city-catalog-card,
  .city-stat-card,
  .city-feature-card,
  .city-record-card,
  .city-audit-card,
  .city-release-card,
  .citytwin-card,
  .journey-card,
  .usecase-card,
  .story-card,
  .story-next-card,
  .cap-card,
  .boundary-card,
  .mech-card,
  .modifier-card,
  .realism-card,
  .source-card,
  .domain-dir-card,
  .layer-card,
  .spoke-card,
  .score-card,
  .tier-card,
  .combo-card,
  .panel-card,
  .asset-card,
  .xd-card,
  .cert-cat-card,
  .dl-card,
  .domain-card,
  .data-city-card,
  .fcte-domain-card-link
):focus-within{
  border-color:rgba(13,143,135,.58);
  box-shadow:
    0 14px 30px rgba(6,16,26,.10),
    inset 0 0 0 1px rgba(13,143,135,.12);
}

body.fcte-v5 :is(
  a.card,
  a.doc-card,
  a.city-catalog-card,
  a.city-feature-card,
  a.city-record-card,
  a.city-audit-card,
  a.city-release-card,
  a.citytwin-card,
  a.journey-card,
  a.usecase-card,
  a.story-card,
  a.story-next-card,
  a.cap-card,
  a.domain-dir-card,
  a.asset-card,
  a.cert-cat-card,
  a.dl-card,
  a.domain-card,
  a.data-city-card,
  a.fcte-domain-card-link
){cursor:pointer}

@media (prefers-reduced-motion:reduce){
  body.fcte-v5 :is(
    .card,.doc-card,.goal-card,.price-card,.city-catalog-card,.city-stat-card,
    .city-feature-card,.city-record-card,.city-audit-card,.city-release-card,
    .citytwin-card,.journey-card,.usecase-card,.story-card,.story-next-card,
    .cap-card,.boundary-card,.mech-card,.modifier-card,.realism-card,.source-card,
    .domain-dir-card,.layer-card,.spoke-card,.score-card,.tier-card,.combo-card,
    .panel-card,.asset-card,.xd-card,.cert-cat-card,.dl-card,.domain-card,
    .data-city-card,.fcte-domain-card-link
  ){
    transition:none;
  }
  body.fcte-v5 :is(
    .card,.doc-card,.goal-card,.price-card,.city-catalog-card,.city-stat-card,
    .city-feature-card,.city-record-card,.city-audit-card,.city-release-card,
    .citytwin-card,.journey-card,.usecase-card,.story-card,.story-next-card,
    .cap-card,.boundary-card,.mech-card,.modifier-card,.realism-card,.source-card,
    .domain-dir-card,.layer-card,.spoke-card,.score-card,.tier-card,.combo-card,
    .panel-card,.asset-card,.xd-card,.cert-cat-card,.dl-card,.domain-card,
    .data-city-card,.fcte-domain-card-link
  ):hover{
    transform:none;
  }
}
/* ============================================================================
   V5.29 — READABILITY + SELECTED/HOVER STATE CONTRACT
   - Active/hovered domain selector cards use a solid teal surface with white text.
   - Raises legacy micro-copy that became too small across page families.
   - Dense code/SQL/chart internals are intentionally left compact.
   ============================================================================ */

/* --------------------------------------------------------------------------
   Domain Explorer: selected and hover states must be unmistakable.
   V5.26 hot-links can otherwise re-introduce teal text inside a teal card.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab:hover,
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab.active{
  background:var(--fd-teal);
  border-color:var(--fd-teal);
  color:#fff;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab:hover :is(.dt-name,.dt-stat,.fcte-domain-link),
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab.active :is(.dt-name,.dt-stat,.fcte-domain-link){
  color:#fff;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab:hover .fcte-domain-link,
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab.active .fcte-domain-link{
  text-decoration-color:rgba(255,255,255,.72);
}

/* --------------------------------------------------------------------------
   Global readability floor.
   -------------------------------------------------------------------------- */
body.fcte-v5{
  font-size:16.0px;
}

/* Header/navigation should never read like micro-copy. */
body.fcte-v5 .global-nav>a,
body.fcte-v5 .pch-global-nav>a,
body.fcte-v5 .fidelra-city-menu>summary{
  font-size:14px;
}
body.fcte-v5 .fidelra-city-menu-panel a{
  font-size:14px;
  line-height:1.3;
}
@media(max-width:1120px){
  body.fcte-v5 .global-nav>a,
  body.fcte-v5 .pch-global-nav>a,
  body.fcte-v5 .fidelra-city-menu>summary{font-size:14px}
}

/* Eyebrows and small section labels remain technical, but readable. */
body.fcte-v5 :is(
  .eyebrow,
  .doc-section-label,
  .premium-scope-label,
  .cert-subhead,
  .footer-col-title
){
  font-size:14px;
  line-height:1.35;
}
body.fcte-v5:not(.page-family-home) .page-hero :is(.eyebrow,.kicker,.premium-scope-label),
body.fcte-v5.page-family-audit-detail .audit-hero :is(.eyebrow,.premium-scope-label){
  font-size:14px;
}

/* Shared pills/status labels: still compact, no longer 8–9px. */
body.fcte-v5 :is(
  .badge,
  .pill,
  .phase-pill,
  .doc-tag.live,
  .fcte-certified-badge,
  .asset-badge,
  .city-cert-badge,
  .sev-pill
){
  font-size:14px;
  line-height:1.1;
}

/* Card copy: keep hierarchy but eliminate 11–12px paragraphs. */
body.fcte-v5 :is(
  .card,
  .doc-card,
  .goal-card,
  .price-card,
  .city-catalog-card,
  .city-feature-card,
  .city-record-card,
  .city-audit-card,
  .city-release-card,
  .citytwin-card,
  .journey-card,
  .usecase-card,
  .story-card,
  .cap-card,
  .boundary-card,
  .mech-card,
  .modifier-card,
  .realism-card,
  .source-card,
  .domain-dir-card,
  .layer-card,
  .spoke-card,
  .score-card,
  .tier-card,
  .combo-card,
  .panel-card,
  .asset-card,
  .xd-card,
  .cert-cat-card,
  .dl-card,
  .domain-card,
  .data-city-card
) :is(p,.desc,.description,.d,.sub,.note,.tagline){
  font-size:14px;
  line-height:1.55;
}

/* --------------------------------------------------------------------------
   City overview / Domain Explorer readability.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-name{
  font-size:17.0px;
  line-height:1.15;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-stat{
  font-size:14px;
  line-height:1.35;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .head .eyebrow,
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-section-label{
  font-size:14px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-trust-pill,
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dt-row-count{
  font-size:14px;
}
body.fcte-v5.page-family-city-overview .city-domain-explorer-light .dd-contains-stat span{
  font-size:14px;
}
body.fcte-v5.page-family-city-overview :is(
  .city-stat-card span,
  .city-feature-card>span,
  .city-record-card span,
  .city-audit-card>span,
  .city-cert-stats span,
  .city-release-card-head span,
  .qx-meta-row,
  .qx-copy-btn,
  .qx-export-btn,
  .qx-view-btn,
  .dt-toggle,
  .xd-domain-chip
){
  font-size:14px;
}

/* Data workspace labels and cards. */
body.fcte-v5.page-family-data :is(.ds-sidebar-group,.ds-sidebar-label){
  font-size:14px;
}
body.fcte-v5.page-family-data .ds-domain-btn .tag,
body.fcte-v5.page-family-data .panel-card-tags span{
  font-size:14px;
}
body.fcte-v5.page-family-data .ds-domain-btn{
  font-size:14px;
}

/* Domain documentation has many inherited 10–12px labels. */
body.fcte-v5.page-family-domain :is(.phase-pill,.doc-section-label){
  font-size:14px;
}
body.fcte-v5.page-family-domain .hero-stat .k{
  font-size:14px;
}
body.fcte-v5.page-family-domain :is(
  .cap-card .n,
  .rel-label,
  .mech-card .n,
  .story-card .num,
  .evidence-tier .t,
  .source-chip,
  .limit-box .tag
){
  font-size:14px;
}
body.fcte-v5.page-family-domain :is(
  .boundary-card h5,
  .modifier-card h5,
  .spoke-card h5,
  .realism-card h5
){
  font-size:14px;
  line-height:1.3;
}
body.fcte-v5.page-family-domain :is(.entity-table th,.live-table th,.modifier-table th){
  font-size:14px;
}

/* Audit metadata badges and KPI labels. */
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges,
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges>span,
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-badges>div{
  font-size:14px;
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-stat .k{
  font-size:14px;
}

/* Evidence / certification / releases / access supporting UI. */
body.fcte-v5.page-family-evidence :is(.doc-label,.tier-label,.source-label),
body.fcte-v5.page-family-certification :is(.cert-subhead,.cert-label,.check-label),
body.fcte-v5.page-family-releases :is(.release-label,.release-meta),
body.fcte-v5.page-family-access :is(.tier-label,.compare-note){
  font-size:14px;
}

/* Footer navigation should remain secondary, not tiny. */
body.fcte-v5 :is(.footer-col a,.fpf-col a){
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5 :is(.footer-bottom,.fpf-bottom){
  font-size:14px;
}

@media(max-width:760px){
  body.fcte-v5{font-size:15.5px}
  body.fcte-v5.page-family-city-overview .city-domain-explorer-light .domain-tab .dt-name{font-size:16.0px}
}

/* Additional legacy micro-copy audit: these were the most common sub-11px
   visible labels outside dense chart/SQL internals. */
body.fcte-v5.page-home :is(
  .spec-label,.price-card-ribbon,.price-tier-label,.journey-card .jc-eyebrow,
  .journey-card .jc-relations-label,.chart-fact .k,.city-badge-tag
){font-size:14px}
body.fcte-v5.page-family-marketing :is(
  .asset-card .asset-label,.notice,.filterbar button,.arch-groups .inside span,
  .toc b,.toc a,.chain-step span,.finding-card p
){font-size:14px}
body.fcte-v5.city-locked :is(
  .brand-lockup .brand-sub,.nav-links a .nav-step,.nav-links a .nav-sub,
  .story-next-step,.city-toggle-label,.audit-city-switcher-copy span,
  .city-picker-label,.city-card-region,.city-card-status,.city-domain-status,
  .release-id span,.release-id small,.city-price-city
){font-size:14px}
body.fcte-v5.page-family-audit-detail .audit-badge-legend .audit-legend-badge{
  font-size:14px;
}
/* ============================================================================
   V5.30 — CITY OVERVIEW + AUDITS INDEX REFINEMENT
   - Domain guidance is plain text on the dark City Twin workspace, not a card.
   - Teal relationship hubs always use white text.
   - Resident timeline age/year values align consistently to the left.
   - Audits landing page uses a tighter editorial canvas; detail audits stay 1180px.
   ============================================================================ */

/* Domain tab guidance: remove the legacy white qx-perspective strip. */
body.fcte-v5.page-family-city-overview .domain-open-note{
  margin:18px 0 0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#d8e4e5;
  font-size:14px;
  line-height:1.6;
}
body.fcte-v5.page-family-city-overview .domain-open-note b{
  color:#fff;
  font-weight:650;
}

/* Key Relationships: the selected/current domain hub is a teal card; all text
   on that teal surface must be white, including any hot-linked label. */
body.fcte-v5.page-family-city-overview .dd-rel-hub,
body.fcte-v5.page-family-city-overview .dd-rel-hub a,
body.fcte-v5.page-family-city-overview .dd-rel-hub .fcte-domain-link{
  color:#fff;
}
body.fcte-v5.page-family-city-overview .dd-rel-hub a{
  text-decoration-color:rgba(255,255,255,.72);
}

/* Resident lifecycle: keep the event title and age/year datum together and
   left-aligned. Older rules allowed the age datum to drift visually. */
body.fcte-v5.page-family-city-overview .cj-event .cj-body{
  min-width:0;
  flex:1 1 auto;
  text-align:left;
}
body.fcte-v5.page-family-city-overview .cj-event .cj-body b{
  justify-content:flex-start;
  text-align:left;
  width:100%;
  flex-wrap:wrap;
}
body.fcte-v5.page-family-city-overview .cj-event .cj-age{
  margin-left:0;
  text-align:left;
  justify-self:start;
  white-space:nowrap;
}

/* Audits landing page only: a more focused editorial width. Audit-detail
   canvases deliberately remain on the shared 1180px audit system. */
body.fcte-v5.page-family-audits-index{
  --fd-audits-index-w:1040px;
}
body.fcte-v5.page-family-audits-index .audit-hero > .wrap,
body.fcte-v5.page-family-audits-index .audit-index-content,
body.fcte-v5.page-family-audits-index main > .wrap{
  width:min(var(--fd-audits-index-w),calc(100% - 64px));
  max-width:var(--fd-audits-index-w);
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:760px){
  body.fcte-v5.page-family-audits-index .audit-hero > .wrap,
  body.fcte-v5.page-family-audits-index .audit-index-content,
  body.fcte-v5.page-family-audits-index main > .wrap{
    width:calc(100% - 36px);
  }
}

/* Shared selected-card text contract: whenever a selector/card uses the solid
   Fidelra teal selected surface, its readable foreground is white. */
body.fcte-v5 :is(
  .domain-tab.active,
  .ds-domain-btn.active,
  .tree-node-center,
  .dd-rel-hub,
  .cj-picker button.active,
  .qx-tab.active,
  .qx-view-btn.active,
  .filter-chip.active,
  .dist-tab.active,
  .citizen-tab.active,
  .asset-toggle button.active
),
body.fcte-v5 :is(
  .domain-tab.active,
  .ds-domain-btn.active,
  .tree-node-center,
  .dd-rel-hub,
  .cj-picker button.active,
  .qx-tab.active,
  .qx-view-btn.active,
  .filter-chip.active,
  .dist-tab.active,
  .citizen-tab.active,
  .asset-toggle button.active
) :is(a,span,b,strong,.fcte-domain-link){
  color:#fff;
}
/* ============================================================================
   V5.31 — DOMAIN HERO NAVIGATION BADGES + EXPLANATORY COPY
   Applied deliberately to the three Lagos domain documents requested in this
   pass. The badge class is reusable without changing every domain page.
   ============================================================================ */
body.fcte-v5.page-family-domain .page-hero .domain-hero-summary{
  max-width:880px;
  margin:10px 0 0;
  color:rgba(255,255,255,.86);
  font-size:18.0px;
  font-weight:500;
  line-height:1.62;
}
body.fcte-v5.page-family-domain .page-hero .domain-hero-summary + .domain-hero-summary{
  margin-top:10px;
}

body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin-top:22px;
  padding:0;
  border:0;
}
body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 13px;
  border:1px solid rgba(57,210,196,.42);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#fff;
  font-family:var(--fd-mono);
  font-size:14px;
  font-weight:650;
  line-height:1.15;
  letter-spacing:.015em;
  text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges a:hover,
body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges a:focus-visible{
  background:var(--fd-teal,#0b948a);
  border-color:var(--fd-teal,#0b948a);
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}

@media(max-width:760px){
  body.fcte-v5.page-family-domain .page-hero .domain-hero-summary{
    font-size:16.0px;
    line-height:1.58;
  }
  body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges{
    gap:7px;
  }
  body.fcte-v5.page-family-domain .page-hero .toc.domain-hero-badges a{
    min-height:32px;
    padding:7px 11px;
    font-size:14px;
  }
}
/* ============================================================================
   V5.32 — TRANSPORT HERO + PLAIN CITY INSIGHT TEXT
   - Transport uses the shared domain hero badge navigation in both cities.
   - City-overview perspective notes are plain text on the dark workspace,
     never white/tinted strips.
   ============================================================================ */

/* Remove legacy white/tinted perspective strips from City Twin overview tabs. */
body.fcte-v5.page-family-city-overview .qx-perspective{
  margin:16px 0 0;
  padding:0;
  border:0;
  border-left:0;
  background:transparent;
  box-shadow:none;
  color:#d8e4e5;
  font-size:14px;
  line-height:1.6;
}
body.fcte-v5.page-family-city-overview .qx-perspective b{
  color:#fff;
  font-weight:650;
}
body.fcte-v5.page-family-city-overview .qx-perspective .fcte-domain-link,
body.fcte-v5.page-family-city-overview .qx-perspective a{
  color:#49d7cb;
}

/* Transport summary gets a comfortable editorial measure. */
body.fcte-v5.view-domain-transport .page-hero .domain-hero-summary{
  max-width:900px;
}
/* =============================================================
   V5.34 — Social Protection icon placement only
   Roll back V5.33's grid/layout intervention completely. The hero
   keeps the established V5.32 typography, text width, spacing and
   content flow; only the existing SVG illustration is positioned in
   the unused right-side rail on desktop.
   ============================================================= */
body.view-domain-socialprotection #hero .hero-top-row{
  position:relative;
}
body.view-domain-socialprotection #hero .hero-top-text{
  position:relative;
  z-index:1;
}
body.view-domain-socialprotection #hero .hero-illustration{
  position:absolute;
  right:0;
  top:50%;
  width:260px;
  height:160px;
  margin:0;
  transform:translateY(-50%);
  pointer-events:none;
}

/* At narrower widths, return the illustration to the original normal
   document flow rather than squeezing or reformatting the hero copy. */
@media (max-width:980px){
  body.view-domain-socialprotection #hero .hero-illustration{
    position:static;
    display:block;
    width:260px;
    height:160px;
    margin:24px 0 0;
    transform:none;
  }
}
@media (max-width:760px){
  body.view-domain-socialprotection #hero .hero-illustration{
    display:none;
  }
}
/* =============================================================
   V5.35 — Social Protection adopts the Taxation domain document grammar
   Exact Taxation component contract, scoped to Social Protection.
   ============================================================= */
/* shared V5 component: view-domain-socialprotection (2 pages) */

  body.view-domain-socialprotection .wrap{ max-width: 1080px; margin: 0 auto; padding: 0 32px; }
  @media (max-width: 640px) { body.view-domain-socialprotection .wrap{ padding: 0 18px; } body.view-domain-socialprotection{ font-size: 16.0px; } }
  body.view-domain-socialprotection section{ padding: 60px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-socialprotection section.tight{ padding: 48px 0; }

  body.view-domain-socialprotection .phase-pill{ display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--good) 14%, transparent); color: var(--good); }
  body.view-domain-socialprotection .phase-pill::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--good); display:inline-block; }

  body.view-domain-socialprotection .doc-section-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent-strong); font-weight: 700; }
  body.view-domain-socialprotection .doc-section h3{ font-size: clamp(24px, 3vw, 30px); font-weight: 650; margin-top: 6px; }
  body.view-domain-socialprotection .doc-section p{ font-size: 16.0px; color: var(--ink-2); margin-top: 12px; line-height: 1.65; max-width: 74ch; }
  body.view-domain-socialprotection .doc-section ul{ margin: 12px 0 0; padding-left: 20px; }
  body.view-domain-socialprotection .doc-section li{ font-size: 15.5px; color: var(--ink-2); padding: 3px 0; line-height: 1.55; }
  body.view-domain-socialprotection .doc-section a.inline-link{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-socialprotection .toc{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; }
  body.view-domain-socialprotection .toc a{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }

  body.view-domain-socialprotection .hero-stats{ display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-radius: 0; overflow: hidden; margin-top: 30px; }
  body.view-domain-socialprotection .hero-stat{ padding: 20px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); }
  body.view-domain-socialprotection .hero-stat:nth-child(5n){ border-right: none; }
  body.view-domain-socialprotection .hero-stat .v{ font-family: var(--font-display); font-weight: 650; font-size: clamp(17px, 2.1vw, 22px); color: var(--ink); }
  body.view-domain-socialprotection .hero-stat .k{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); margin-top: 6px; }
  @media (max-width: 900px) { body.view-domain-socialprotection .hero-stats{ grid-template-columns: repeat(3, 1fr); } body.view-domain-socialprotection .hero-stat:nth-child(5n){ border-right: 1px solid var(--line); } body.view-domain-socialprotection .hero-stat:nth-child(3n){ border-right: none; } }
  @media (max-width: 560px) { body.view-domain-socialprotection .hero-stats{ grid-template-columns: repeat(2, 1fr); } body.view-domain-socialprotection .hero-stat:nth-child(3n){ border-right: 1px solid var(--line); } body.view-domain-socialprotection .hero-stat:nth-child(2n){ border-right: none; } }
  body.view-domain-socialprotection .hero-footnote{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); margin-top: 16px; }
  body.view-domain-socialprotection .hero-cta-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-socialprotection .hero-top-row{ display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
  body.view-domain-socialprotection .hero-top-text{ flex: 1 1 420px; }
  body.view-domain-socialprotection .hero-illustration{ flex-shrink: 0; }
  @media (max-width: 760px) { body.view-domain-socialprotection .hero-illustration{ display: none; } }

  body.view-domain-socialprotection .lifecycle-strip{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  body.view-domain-socialprotection .lc-chip{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--ink); background: var(--panel-2); border: 1px solid var(--line); padding: 7px 14px; border-radius: 999px; }
  body.view-domain-socialprotection .lc-chip b{ color: var(--accent-strong); }

  body.view-domain-socialprotection .cap-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
  @media (max-width: 900px) { body.view-domain-socialprotection .cap-grid{ grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { body.view-domain-socialprotection .cap-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .cap-card{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 22px; }
  body.view-domain-socialprotection .cap-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-socialprotection .cap-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-socialprotection .cap-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
  body.view-domain-socialprotection .scope-note{ background: var(--panel-2); border-left: 3px solid var(--accent); padding: 16px 20px; margin-top: 20px; border-radius: 0; }
  body.view-domain-socialprotection .scope-note p{ margin: 0; font-size: 14.5px; font-style: italic; }

  body.view-domain-socialprotection .boundary-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
  @media (max-width: 820px) { body.view-domain-socialprotection .boundary-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .boundary-card{ background: var(--panel); border: 1px solid var(--line); padding: 22px; }
  body.view-domain-socialprotection .boundary-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--accent-strong); font-weight: 650; }
  body.view-domain-socialprotection .boundary-card h4{ font-size: 16.0px; font-weight: 650; margin-top: 8px; }
  body.view-domain-socialprotection .boundary-card ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
  body.view-domain-socialprotection .boundary-card li{ font-family: var(--mono); font-size: 14px; color: var(--ink-2); }

  body.view-domain-socialprotection .ascii-diagram{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; overflow-x: auto; font-family: var(--mono); font-size: 14px; line-height: 1.7; color: var(--ink-2); white-space: pre; margin-top: 18px; }

  /* ---- domain tree (Connected Domain / Connected Architecture) ---- */
  body.view-domain-socialprotection .network-wrap{ background: var(--panel-2); border: 1px solid var(--line); border-radius: 0; padding: 36px 20px 26px; overflow-x: auto; margin-top: 18px; }
  body.view-domain-socialprotection .domain-tree, body.view-domain-socialprotection .domain-tree ul{ list-style: none; margin: 0; padding: 0; }
  body.view-domain-socialprotection .domain-tree{ text-align: center; white-space: nowrap; }
  body.view-domain-socialprotection .domain-tree ul{ display: flex; justify-content: center; padding-top: 28px; position: relative; }
  body.view-domain-socialprotection .domain-tree ul::before{ content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 28px; border-left: 2px solid var(--line); }
  body.view-domain-socialprotection .domain-tree ul.derived-only::before{ border-style: dashed; }
  body.view-domain-socialprotection .domain-tree ul.gap-only::before{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-socialprotection .domain-tree li{ display: inline-block; vertical-align: top; padding: 28px 12px 0; position: relative; }
  body.view-domain-socialprotection .domain-tree li::before, body.view-domain-socialprotection .domain-tree li::after{ content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 28px; border-top: 2px solid var(--line); }
  body.view-domain-socialprotection .domain-tree li::after{ right: auto; left: 50%; border-left: 2px solid var(--line); }
  body.view-domain-socialprotection .domain-tree li.derived::before, body.view-domain-socialprotection .domain-tree li.derived::after{ border-style: dashed; }
  body.view-domain-socialprotection .domain-tree li.gap::before, body.view-domain-socialprotection .domain-tree li.gap::after{ border-style: dashed; border-color: var(--bad, #b42318); }
  body.view-domain-socialprotection .domain-tree li:only-child{ padding-top: 0; }
  body.view-domain-socialprotection .domain-tree li:only-child::before, body.view-domain-socialprotection .domain-tree li:only-child::after{ display: none; }
  body.view-domain-socialprotection .domain-tree li:first-child::before, body.view-domain-socialprotection .domain-tree li:last-child::after{ border-color: transparent; }
  body.view-domain-socialprotection .domain-tree li:last-child::before{ border-right: 2px solid var(--line); }
  body.view-domain-socialprotection .domain-tree li:first-child::after{ border-left: 2px solid var(--line); }
  body.view-domain-socialprotection .tree-node{ display: inline-block; white-space: nowrap; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--ink-2); background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 10px 16px; transition: border-color .15s ease, color .15s ease, background .15s ease; cursor: default; }
  body.view-domain-socialprotection .tree-node-center{ background: var(--accent); color: #fff; border-color: var(--accent); font-size: 14px; padding: 14px 22px; }
  body.view-domain-socialprotection .tree-node-leaf{ font-weight: 600; color: var(--ink-3); }
  body.view-domain-socialprotection .tree-node-derived{ border-style: dashed; }
  body.view-domain-socialprotection .tree-node-gap{ border-style: dashed; border-color: var(--bad, #b42318); color: var(--ink-3); background: color-mix(in srgb, var(--bad, #b42318) 6%, var(--panel)); font-style: italic; }
  body.view-domain-socialprotection .tree-node:hover, body.view-domain-socialprotection li.path-active > .tree-node{ border-color: var(--accent); color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--panel)); }
  body.view-domain-socialprotection .tree-node-gap:hover, body.view-domain-socialprotection li.path-active > .tree-node-gap{ border-color: var(--bad, #b42318); color: var(--bad, #b42318); background: color-mix(in srgb, var(--bad, #b42318) 14%, var(--panel)); }
  body.view-domain-socialprotection li.path-active::before, body.view-domain-socialprotection li.path-active::after, body.view-domain-socialprotection ul.path-active::before{ border-color: var(--accent); }
  body.view-domain-socialprotection li.gap.path-active::before, body.view-domain-socialprotection li.gap.path-active::after{ border-color: var(--bad, #b42318); }
  body.view-domain-socialprotection .network-readout{ margin-top: 22px; font-family: var(--mono); font-size: 14px; color: var(--ink-3); border-top: 1px solid var(--line-soft); padding-top: 14px; transition: color .15s ease; text-align: center; }
  body.view-domain-socialprotection .network-readout.is-active{ color: var(--accent-strong); font-weight: 700; }
  @media (max-width: 640px) { body.view-domain-socialprotection .domain-tree{ transform: scale(0.82); transform-origin: top center; } }
  body.view-domain-socialprotection .rel-grid{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
  body.view-domain-socialprotection .rel-chip{ font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--panel-2); border: 1px solid var(--line); padding: 6px 13px; border-radius: 999px; }
  body.view-domain-socialprotection .rel-chip.in{ border-color: var(--accent); color: var(--accent-strong); }
  body.view-domain-socialprotection .rel-chip.gap{ border-style: dashed; color: var(--ink-3); }
  body.view-domain-socialprotection .rel-label{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-3); font-weight: 700; margin-top: 24px; }

  body.view-domain-socialprotection .mech-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 720px) { body.view-domain-socialprotection .mech-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .mech-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-socialprotection .mech-card .n{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-socialprotection .mech-card h4{ font-size: 15.5px; font-weight: 650; margin-top: 8px; }
  body.view-domain-socialprotection .mech-card .kv{ display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 7px 0; border-bottom: 1px solid var(--line-soft); }
  body.view-domain-socialprotection .mech-card .kv:last-of-type{ border-bottom: none; }
  body.view-domain-socialprotection .mech-card .kv b{ color: var(--ink); font-weight: 700; }
  body.view-domain-socialprotection .mech-card .kv span:first-child{ color: var(--ink-3); font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; }
  body.view-domain-socialprotection .mech-card p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.5; }

  body.view-domain-socialprotection .modifier-row{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  body.view-domain-socialprotection .modifier-card{ flex: 1 1 200px; background: var(--panel); border: 1px solid var(--line); padding: 18px 20px; }
  body.view-domain-socialprotection .modifier-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-socialprotection .modifier-card .big{ font-family: var(--font-display); font-weight: 650; font-size: 28.0px; margin-top: 8px; color: var(--ink); }
  body.view-domain-socialprotection .modifier-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; line-height: 1.5; }

  body.view-domain-socialprotection .pipeline-flow{ display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 16px; }
  body.view-domain-socialprotection .pipeline-step{ background: var(--teal-tint); border: 1px solid var(--line); border-radius: 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: var(--ink); }
  body.view-domain-socialprotection .pipeline-arrow{ color: var(--ink-3); font-size: 14px; padding: 0 8px; }

  body.view-domain-socialprotection .entity-table{ width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 14px; }
  body.view-domain-socialprotection .entity-table th{ text-align: left; font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 700; padding: 8px 12px; border-bottom: 2px solid var(--line); }
  body.view-domain-socialprotection .entity-table td{ padding: 10px 12px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); vertical-align: top; }
  body.view-domain-socialprotection .entity-table td:first-child{ font-family: var(--mono); font-weight: 700; color: var(--ink); white-space: nowrap; }
  body.view-domain-socialprotection .code-block{ background: #0c1a24; color: #cfe3e0; border-radius: 0; padding: 18px 20px; font-family: var(--mono); font-size: 14px; line-height: 1.7; overflow-x: auto; margin-top: 16px; }
  body.view-domain-socialprotection .code-block .kw{ color: #4fd9c4; }
  body.view-domain-socialprotection .code-block .cm{ color: #6b8298; }
  body.view-domain-socialprotection .live-table-wrap{ margin-top: 12px; overflow-x: auto; }
  body.view-domain-socialprotection .live-table{ width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 14px; }
  body.view-domain-socialprotection .live-table th{ text-align: left; padding: 8px 10px; background: var(--panel-2); color: var(--ink-3); font-weight: 700; border-bottom: 1px solid var(--line); white-space: nowrap; }
  body.view-domain-socialprotection .live-table td{ padding: 8px 10px; border-bottom: 1px solid var(--line-soft); color: var(--ink-2); white-space: nowrap; }
  body.view-domain-socialprotection .live-table-caption{ font-size: 14px; color: var(--ink-3); margin-top: 8px; font-style: italic; }

  body.view-domain-socialprotection .realism-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
  @media (max-width: 820px) { body.view-domain-socialprotection .realism-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .realism-card{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-socialprotection .realism-card h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-socialprotection .realism-card .sub{ font-size: 14px; color: var(--ink-2); margin-top: 8px; }
  body.view-domain-socialprotection .status-line{ display: flex; align-items: center; gap: 8px; margin-top: 10px; font-family: var(--mono); font-size: 14px; font-weight: 700; }
  body.view-domain-socialprotection .status-dot{ width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
  body.view-domain-socialprotection .status-dot.pass{ background: var(--good); }
  body.view-domain-socialprotection .status-line.pass{ color: var(--good); }

  body.view-domain-socialprotection .cert-headline{ display: flex; align-items: baseline; gap: 14px; margin-top: 6px; flex-wrap: wrap; }
  body.view-domain-socialprotection .cert-headline .big{ font-family: var(--font-display); font-weight: 650; font-size: clamp(38px, 6vw, 56px); color: var(--ink); line-height: 1; }
  body.view-domain-socialprotection .cert-headline .lbl{ font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.04em; color: var(--ink-3); text-transform: uppercase; }
  body.view-domain-socialprotection .cert-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
  @media (max-width: 720px) { body.view-domain-socialprotection .cert-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .cert-cat{ background: var(--panel); border: 1px solid var(--line); border-radius: 0; padding: 20px 22px; }
  body.view-domain-socialprotection .cert-cat h4{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-socialprotection .cert-cat ul{ list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
  body.view-domain-socialprotection .cert-cat li{ font-size: 14px; color: var(--ink-2); padding-left: 24px; position: relative; line-height: 1.5; }
  body.view-domain-socialprotection .cert-cat li::before{ content: "✓"; position: absolute; left: 0; color: var(--good); font-weight: 700; }
  body.view-domain-socialprotection .cert-cat li b{ font-family: var(--mono); font-size: 14px; color: var(--ink); }
  body.view-domain-socialprotection .cert-note{ font-size: 14px; color: var(--ink-3); margin-top: 18px; }
  body.view-domain-socialprotection .city-pass-row{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
  body.view-domain-socialprotection .city-pass{ display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); padding: 8px 14px; }
  body.view-domain-socialprotection .city-pass .dot{ width: 7px; height: 7px; border-radius: 50%; background: var(--good); }

  body.view-domain-socialprotection .band-dark .doc-section-label{ color: #4fd9c4; }
  body.view-domain-socialprotection .band-dark .doc-section h3{ color: #fff; }
  body.view-domain-socialprotection .band-dark .doc-section p{ color: #a9b3ae; }
  body.view-domain-socialprotection .band-dark .cert-headline .big{ color: #fff; }
  body.view-domain-socialprotection .band-dark .cert-headline .lbl{ color: #a9b3ae; }
  body.view-domain-socialprotection .band-dark .cert-cat{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-socialprotection .band-dark .cert-cat h4{ color: #4fd9c4; }
  body.view-domain-socialprotection .band-dark .cert-cat li{ color: #cbd5da; }
  body.view-domain-socialprotection .band-dark .cert-cat li b{ color: #fff; }
  body.view-domain-socialprotection .band-dark .cert-note{ color: #8ea0ac; }
  body.view-domain-socialprotection .band-dark .inline-link{ color: #4fd9c4; }
  body.view-domain-socialprotection .band-dark .city-pass{ color: #fff; }
  body.view-domain-socialprotection .band-dark .realism-card{ background: #0c1a24; border-color: rgba(255,255,255,0.12); }
  body.view-domain-socialprotection .band-dark .realism-card h5{ color: #8ea0ac; }
  body.view-domain-socialprotection .band-dark .realism-card .sub{ color: #cbd5da; }
  body.view-domain-socialprotection .band-dark .status-line.pass{ color: #4fd9c4; }
  body.view-domain-socialprotection .band-dark .limit-box{ background: rgba(255,255,255,0.05); border-left-color: #e0b34a; }
  body.view-domain-socialprotection .band-dark .limit-box h5{ color: #fff; }
  body.view-domain-socialprotection .band-dark .limit-box p{ color: #cbd5da; }
  body.view-domain-socialprotection .band-dark .limit-box .tag{ background: #0c1a24; border-color: rgba(255,255,255,0.14); color: #8ea0ac; }
  body.view-domain-socialprotection .band-dark .quote-callout{ color: #fff; border-left-color: #4fd9c4; }

  body.view-domain-socialprotection .limit-box{ background: color-mix(in srgb, var(--amber) 8%, var(--panel)); border-left: 3px solid var(--amber); padding: 16px 20px; margin-top: 14px; }
  body.view-domain-socialprotection .limit-box summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
  body.view-domain-socialprotection .limit-box summary::-webkit-details-marker{ display: none; }
  body.view-domain-socialprotection .limit-box summary h5{ flex: 1 1 auto; }
  body.view-domain-socialprotection .limit-box summary .tag{ margin-top: 0; }
  body.view-domain-socialprotection .limit-box summary .arrow{ font-family: var(--mono); font-size: 14px; color: var(--ink-3); transition: transform .15s ease; flex: 0 0 auto; }
  body.view-domain-socialprotection .limit-box[open] summary .arrow{ transform: rotate(90deg); }
  body.view-domain-socialprotection .limit-box .limit-body p{ margin-top: 10px; }
  body.view-domain-socialprotection .limit-box h5{ font-size: 14px; font-weight: 650; margin: 0; }
  body.view-domain-socialprotection .limit-box p{ margin-top: 6px; font-size: 14px; }
  body.view-domain-socialprotection .limit-box .tag{ display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-3); background: var(--panel); border: 1px solid var(--line); padding: 2px 8px; }
  body.view-domain-socialprotection .quote-callout{ font-family: var(--font-display); font-size: clamp(18px, 2.2vw, 22px); font-weight: 700; line-height: 1.5; color: var(--ink); max-width: 60ch; margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--accent); }

  body.view-domain-socialprotection .story-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-top: 22px; }
  @media (max-width: 720px) { body.view-domain-socialprotection .story-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .story-card{ background: var(--panel); padding: 20px 16px; position: relative; }
  body.view-domain-socialprotection .story-card .num{ font-family: var(--mono); font-size: 14px; font-weight: 650; color: var(--accent-strong); }
  body.view-domain-socialprotection .story-card h5{ font-size: 14px; font-weight: 650; margin-top: 8px; }
  body.view-domain-socialprotection .story-card p{ font-size: 14px; color: var(--ink-2); margin-top: 6px; line-height: 1.5; }
  @media (min-width: 721px) { body.view-domain-socialprotection .story-card:not(:last-child)::after{ content: "→"; position: absolute; right: -13px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-size: 16.0px; z-index: 1; background: var(--bg); width: 24px; text-align:center; } }
  body.view-domain-socialprotection .story-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-socialprotection .explore-links{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
  body.view-domain-socialprotection .city-cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  @media (max-width: 640px) { body.view-domain-socialprotection .city-cta-grid{ grid-template-columns: 1fr; } }
  body.view-domain-socialprotection .city-cta{ background: var(--panel); border: 1px solid var(--line); padding: 20px 22px; }
  body.view-domain-socialprotection .city-cta h5{ font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-3); font-weight: 650; }
  body.view-domain-socialprotection .city-cta .big{ font-family: var(--font-display); font-weight: 650; font-size: 26.0px; margin-top: 8px; }
  body.view-domain-socialprotection .city-cta a{ display: inline-block; margin-top: 12px; font-size: 14px; font-weight: 700; color: var(--accent-strong); }
  body.view-domain-socialprotection .quiet-link{ display: block; text-align: left; margin-top: 20px; font-size: 14px; color: var(--ink-3); }
  body.view-domain-socialprotection .quiet-link a{ color: var(--accent-strong); font-weight: 700; }

  body.view-domain-socialprotection a:focus-visible, body.view-domain-socialprotection .btn:focus-visible, body.view-domain-socialprotection .cap-card:focus-visible{ outline: 2px solid var(--accent); outline-offset: 2px; }
  body.view-domain-socialprotection .band-dark a:focus-visible, body.view-domain-socialprotection .band-dark .btn:focus-visible{ outline-color: #4fd9c4; }
  body.view-domain-socialprotection .sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  @media (prefers-reduced-motion: reduce) { html body.view-domain-socialprotection{ scroll-behavior: auto; } }

body.view-domain-socialprotection .premium-scope-label{font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4e9ea2;margin-bottom:10px}


/* V5.34 positioned this illustration absolutely. Taxation uses a normal
   flex hero rail, so restore the illustration to that same document flow. */
body.view-domain-socialprotection #hero .hero-top-row{position:static;}
body.view-domain-socialprotection #hero .hero-top-text{position:static;z-index:auto;}
body.view-domain-socialprotection #hero .hero-illustration{
  position:static;right:auto;top:auto;transform:none;margin:0;
  width:260px;height:160px;display:block;flex-shrink:0;pointer-events:none;
}
@media(max-width:760px){body.view-domain-socialprotection #hero .hero-illustration{display:none;}}
/* V5.38 — Transport editorial hero + top model rail */
body.view-domain-transport .transport-top-rail{
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f9f9;
  border-bottom:1px solid rgba(22,58,66,.10);
}
body.view-domain-transport .transport-top-rail-inner{
  width:min(1120px,calc(100% - 48px));
  height:3px;
  display:grid;
  grid-template-columns:26% 62% 12%;
  overflow:hidden;
}
body.view-domain-transport .transport-top-rail-inner span{display:block;height:3px}
body.view-domain-transport .transport-rail-dark{background:#163a42}
body.view-domain-transport .transport-rail-accent{background:#71c8c6}
body.view-domain-transport .transport-rail-soft{background:#cbe6e5}

body.view-domain-transport #hero .hero-top-row{
  align-items:flex-start;
}
body.view-domain-transport #hero .hero-top-text{
  flex:1 1 760px;
  max-width:980px;
}
body.view-domain-transport #hero .hero-illustration{
  margin-top:96px;
}
body.view-domain-transport .transport-hero-copy{
  max-width:940px;
  margin-top:18px;
}
body.view-domain-transport .transport-hero-copy p{
  margin:0 0 13px;
  max-width:940px;
  font-size:16.0px;
  line-height:1.62;
  color:rgba(255,255,255,.78);
}
body.view-domain-transport .transport-hero-copy .transport-hero-lead{
  font-size:20.0px;
  line-height:1.45;
  font-weight:700;
  color:#fff;
  max-width:900px;
}
body.view-domain-transport .transport-hero-copy .inline-link{
  color:var(--accent-strong);
  font-weight:650;
  text-decoration:none;
  border-bottom:1px solid rgba(73,225,213,.42);
}
body.view-domain-transport .transport-hero-copy .inline-link:hover,
body.view-domain-transport .transport-hero-copy .inline-link:focus-visible{
  color:#fff;
  border-bottom-color:#fff;
}
body.view-domain-transport #hero .hero-stats{
  margin-top:28px;
}
@media (max-width:980px){
  body.view-domain-transport #hero .hero-top-text{max-width:100%}
  body.view-domain-transport #hero .hero-illustration{margin-top:32px}
}
@media (max-width:760px){
  body.view-domain-transport .transport-top-rail-inner{width:calc(100% - 28px)}
  body.view-domain-transport .transport-hero-copy p{font-size:15.5px}
  body.view-domain-transport .transport-hero-copy .transport-hero-lead{font-size:18.0px}
}
/* V5.39 — Energy certification-card readability + Education stray-text cleanup */
body.view-domain-energy .cert-check-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
body.view-domain-energy .cert-check-row{
  display:grid;
  grid-template-columns:8px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.10);
}
body.view-domain-energy .cert-check-row:first-child{
  padding-top:0;
  border-top:0;
}
body.view-domain-energy .cert-check-row .status-dot{
  margin-top:.48em;
}
body.view-domain-energy .cert-check-row .status-copy{
  min-width:0;
  font-family:var(--mono);
  font-size:14px;
  line-height:1.65;
  color:#d7e0e4;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.view-domain-energy .cert-check-row .status-copy b{
  color:#fff;
  font-weight:650;
}
body.view-domain-energy .cert-check-row.warn .status-copy{
  color:#e7c56d;
}
body.view-domain-energy .realism-grid{
  grid-template-columns:minmax(0,1.75fr) minmax(280px,.9fr);
  align-items:stretch;
}
body.view-domain-energy .realism-card{
  min-width:0;
}
@media (max-width:820px){
  body.view-domain-energy .realism-grid{grid-template-columns:1fr;}
}
/* ============================================================================
   V5.41 — METHOD & EVIDENCE CARD READABILITY
   Increase text inside Method & Evidence boxes without changing page hierarchy.
   ============================================================================ */
body.fcte-v5.page-method-evidence .evidence-chain .chain-step{
  padding:20px;
}
body.fcte-v5.page-method-evidence .evidence-chain .chain-step b{
  font-size:15.0px;
  line-height:1.35;
}
body.fcte-v5.page-method-evidence .evidence-chain .chain-step span{
  margin-top:7px;
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5.page-method-evidence .assurance-grid .assurance{
  padding:22px;
}
body.fcte-v5.page-method-evidence .assurance-grid .assurance b{
  display:block;
  font-size:18.0px;
  line-height:1.25;
}
body.fcte-v5.page-method-evidence .assurance-grid .assurance p{
  margin-top:8px;
  font-size:14.5px;
  line-height:1.55;
}
body.fcte-v5.page-method-evidence .grid.c2 .card{
  padding:24px;
}
body.fcte-v5.page-method-evidence .grid.c2 .card h3{
  font-size:22.0px;
  line-height:1.18;
  margin:4px 0 10px;
}
body.fcte-v5.page-method-evidence .grid.c2 .card p{
  font-size:15.0px;
  line-height:1.6;
}

@media(max-width:760px){
  body.fcte-v5.page-method-evidence .evidence-chain .chain-step b{font-size:14.5px}
  body.fcte-v5.page-method-evidence .evidence-chain .chain-step span{font-size:14px}
  body.fcte-v5.page-method-evidence .assurance-grid .assurance b{font-size:17.0px}
  body.fcte-v5.page-method-evidence .assurance-grid .assurance p{font-size:14px}
  body.fcte-v5.page-method-evidence .grid.c2 .card h3{font-size:20.0px}
  body.fcte-v5.page-method-evidence .grid.c2 .card p{font-size:14.5px}
}
/* ============================================================================
   V5.43 — DEMOGRAPHICS POPULATION PULSE INLINE
   Removes the iframe/scrolling document from Live Calibration and renders the
   chart + event registry directly in the domain page. Restores event colors.
   ============================================================================ */
body.fcte-v5.view-domain-demographics .pulse-widget{
  position:relative;
  width:100%;
  margin-top:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:0;
  overflow:visible;
}
body.fcte-v5.view-domain-demographics .pulse-widget-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 24px;
  padding:24px 28px 20px;
  border-bottom:1px solid var(--line);
}
body.fcte-v5.view-domain-demographics .pulse-widget-head h5{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(30px,3.3vw,42px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--ink);
}
body.fcte-v5.view-domain-demographics .pulse-widget-code{
  margin-left:10px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:650;
  letter-spacing:.05em;
  color:var(--ink-3);
}
body.fcte-v5.view-domain-demographics .pulse-widget-stat{
  font-family:var(--mono);
  font-size:14px;
  font-weight:600;
  color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}
body.fcte-v5.view-domain-demographics .pulse-widget-stat b{
  color:var(--ink);
  font-weight:650;
}
body.fcte-v5.view-domain-demographics .pulse-chart-wrap{
  width:100%;
  padding:24px 28px 8px;
  background:#fff;
  overflow:visible;
}
body.fcte-v5.view-domain-demographics .pulse-chart-wrap canvas{
  display:block;
  width:100%;
  max-width:none;
}
body.fcte-v5.view-domain-demographics .pulse-widget-registry{
  padding:20px 28px 28px;
}
body.fcte-v5.view-domain-demographics .pulse-widget-registry-label{
  margin:0 0 10px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:var(--ink-3);
}
body.fcte-v5.view-domain-demographics .pulse-evt-row{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--line-soft);
}
body.fcte-v5.view-domain-demographics .pulse-evt-row:last-child{border-bottom:0}
body.fcte-v5.view-domain-demographics .pulse-evt-years{
  font-family:var(--mono);
  font-size:14px;
  font-weight:650;
  color:var(--ink-3);
  font-variant-numeric:tabular-nums;
}
body.fcte-v5.view-domain-demographics .pulse-evt-name{
  min-width:0;
  font-size:14px;
  font-weight:550;
  line-height:1.45;
  color:var(--ink);
}
body.fcte-v5.view-domain-demographics .pulse-evt-cat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 9px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.fcte-v5.view-domain-demographics .pulse-evt-cat.up{
  background:var(--good-bg);
  color:var(--good);
}
body.fcte-v5.view-domain-demographics .pulse-evt-cat.down{
  background:var(--critical-bg);
  color:var(--critical);
}
body.fcte-v5.view-domain-demographics .pulse-evt-cat.neutral{
  background:#fff;
  color:var(--ink-3);
  border:1px solid var(--line);
}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip{
  position:fixed;
  z-index:120;
  width:min(280px,calc(100vw - 24px));
  pointer-events:none;
  opacity:0;
  padding:10px 12px;
  background:#0b1821;
  color:#fff;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font-family:var(--mono);
  font-size:14px;
  line-height:1.5;
  transition:opacity .08s ease;
}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip strong,
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip span,
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip em{display:block}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip strong{font-size:14px;margin-bottom:4px}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip span{display:flex;justify-content:space-between;gap:14px;color:#cad7da}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip span b{color:#fff}
body.fcte-v5.view-domain-demographics .pulse-widget-tooltip em{
  margin-top:6px;
  padding-top:6px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#a9c0c3;
  font-style:normal;
  white-space:normal;
}

@media(max-width:760px){
  body.fcte-v5.view-domain-demographics .pulse-widget-head,
  body.fcte-v5.view-domain-demographics .pulse-chart-wrap,
  body.fcte-v5.view-domain-demographics .pulse-widget-registry{padding-left:18px;padding-right:18px}
  body.fcte-v5.view-domain-demographics .pulse-evt-row{
    grid-template-columns:1fr;
    gap:5px;
    padding:12px 0;
  }
  body.fcte-v5.view-domain-demographics .pulse-evt-cat{justify-self:start;white-space:normal;text-align:left}
}
/* V5.44 — Public disclosure / IP boundary */
.public-disclosure-strip{border-top:1px solid var(--line,#cbd9d8);border-bottom:1px solid var(--line,#cbd9d8);background:rgba(238,246,245,.72);color:var(--ink-2,#34545a);font-size:14px;line-height:1.55}
.public-disclosure-strip .wrap{padding-top:12px;padding-bottom:12px}
.public-disclosure-strip b{color:var(--ink,#10383e)}
.surface-dark + .public-disclosure-strip,.public-disclosure-audit{background:#0b1923;color:rgba(255,255,255,.72);border-color:rgba(151,203,203,.22)}
.public-disclosure-audit b{color:#97cbcb}
body.fcte-v5 :is(.public-disclosure-strip,.public-disclosure-strip .wrap,.hero-stat,.hero-stat .v,.hero-stat .k,.metric-box,.metric-value,.metric-label,.status-line,.status-copy){min-width:0}
body.fcte-v5 :is(.public-disclosure-strip,.public-disclosure-strip .wrap,.hero-stat .k,.status-copy,.metric-box,.metric-value,.metric-label){overflow-wrap:anywhere;word-break:break-word;white-space:normal}
body.fcte-v5 .public-disclosure-strip{white-space:normal}
/* ============================================================================
   FINAL PUBLIC READABILITY PASS — accepted V5.43 baseline
   Purpose: raise small public-facing copy on desktop and mobile without
   changing the accepted layout, visual hierarchy or interactive behavior.
   Dense code samples remain intentionally compact.
   ============================================================================ */

body.fcte-v5{
  font-size:16.0px;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Main narrative copy: a 15.5–16px floor on desktop. */
body.fcte-v5 :is(
  .lede,
  .subtitle,
  .section-head > p,
  .doc-section > p,
  .limit-body > p,
  .scope-note > p,
  .quote-callout,
  .methodology-note,
  .public-disclosure-strip,
  .audit-download-copy,
  .story-next-copy > span
){
  font-size:15.5px;
  line-height:1.65;
}

/* Cards and supporting explanatory copy. */
body.fcte-v5 :is(
  .card,
  .doc-card,
  .goal-card,
  .price-card,
  .city-catalog-card,
  .city-feature-card,
  .city-record-card,
  .city-audit-card,
  .city-release-card,
  .citytwin-card,
  .journey-card,
  .usecase-card,
  .story-card,
  .cap-card,
  .boundary-card,
  .mech-card,
  .modifier-card,
  .realism-card,
  .source-card,
  .domain-dir-card,
  .layer-card,
  .spoke-card,
  .score-card,
  .tier-card,
  .combo-card,
  .panel-card,
  .asset-card,
  .xd-card,
  .cert-cat-card,
  .dl-card,
  .domain-card,
  .data-city-card,
  .finding,
  .audit-card
) :is(p,.desc,.description,.d,.sub,.note,.tagline){
  font-size:15.0px;
  line-height:1.6;
}

/* Marketing pages had the most aggressive legacy micro-copy. */
body.fcte-v5.page-family-marketing :is(
  .card p,
  .asset-card p,
  .gateway-hero .hero-aside p,
  .domain-card p,
  .assurance p,
  .finding-card p,
  .boundary,
  .chain-step span,
  .impact-node span,
  .entity-card span,
  .resident-row b
){
  font-size:15.0px;
  line-height:1.6;
}

/* City explorer: body/detail copy should read like product documentation. */
body.fcte-v5.page-family-city-overview :is(
  .dd-copy,
  .dd-desc,
  .dd-body,
  .xd-card .xd-take,
  .cj-event .cj-body span,
  .dl-card .dl-desc,
  .inspected-panel p,
  .qx-copy,
  .qx-description
){
  font-size:15.0px;
  line-height:1.6;
}

/* Domain documentation. */
body.fcte-v5.page-family-domain :is(
  .hero-footnote,
  .cert-note,
  .network-readout,
  .limit-body,
  .live-table-caption,
  .signature-sub,
  .status-line,
  .version-desc
){
  font-size:15.0px;
  line-height:1.6;
}
body.fcte-v5.page-family-domain :is(.entity-table,.live-table,.modifier-table){
  font-size:14.5px;
  line-height:1.5;
}
body.fcte-v5.page-family-domain :is(.entity-table th,.live-table th,.modifier-table th){
  font-size:14px;
  line-height:1.35;
}
body.fcte-v5.page-family-domain .code-block{
  font-size:14px;
  line-height:1.75;
}

/* Evidence, certification, data, releases and access. */
body.fcte-v5:is(
  .page-family-evidence,
  .page-family-certification,
  .page-family-data,
  .page-family-releases,
  .page-family-access,
  .page-family-domains-index,
  .page-family-audits-index
) :is(.card p,.doc-card p,.d,.desc,.sub,.note,.story-next-copy span){
  font-size:15.0px;
  line-height:1.6;
}

/* Audit dashboards: raise finding, log and evidence text while preserving density. */
body.fcte-v5.page-family-audit-detail :is(
  .finding-title,
  .finding-detail,
  .finding-fix,
  .log-detail,
  .detail-body,
  .cmp,
  .audit-note,
  .audit-copy,
  table td
){
  font-size:14.5px;
  line-height:1.55;
}
body.fcte-v5.page-family-audit-detail table th{
  font-size:14px;
  line-height:1.35;
}

/* Technical labels remain compact, but no longer tiny. */
body.fcte-v5 :is(
  .eyebrow,
  .doc-section-label,
  .premium-scope-label,
  .cert-subhead,
  .footer-col-title,
  .phase-pill,
  .cap-card .n,
  .rel-label,
  .mech-card .n,
  .story-card .num,
  .evidence-tier .t,
  .source-chip,
  .limit-box .tag,
  .city-domain-status,
  .release-id span,
  .release-id small
){
  font-size:14px;
  line-height:1.4;
}
body.fcte-v5 :is(.badge,.pill,.doc-tag.live,.fcte-certified-badge,.asset-badge,.city-cert-badge,.sev-pill){
  font-size:14px;
}

/* Navigation and footer links are secondary, not micro-copy. */
body.fcte-v5 :is(.global-nav>a,.pch-global-nav>a,.fidelra-city-menu>summary,.fidelra-city-menu-panel a){
  font-size:14px;
}
body.fcte-v5 :is(.footer-col a,.fpf-col a){
  font-size:14px;
}
body.fcte-v5 :is(.footer-bottom,.fpf-bottom){
  font-size:14px;
}

@media(max-width:760px){
  body.fcte-v5{font-size:16.0px}

  body.fcte-v5 :is(
    .lede,
    .subtitle,
    .section-head > p,
    .doc-section > p,
    .limit-body > p,
    .scope-note > p,
    .quote-callout,
    .methodology-note,
    .public-disclosure-strip,
    .audit-download-copy,
    .story-next-copy > span
  ){
    font-size:16.0px;
    line-height:1.68;
  }

  body.fcte-v5 :is(
    .card,
    .doc-card,
    .goal-card,
    .price-card,
    .city-feature-card,
    .city-record-card,
    .city-audit-card,
    .city-release-card,
    .journey-card,
    .usecase-card,
    .story-card,
    .cap-card,
    .boundary-card,
    .mech-card,
    .modifier-card,
    .realism-card,
    .source-card,
    .domain-dir-card,
    .layer-card,
    .spoke-card,
    .score-card,
    .tier-card,
    .panel-card,
    .asset-card,
    .xd-card,
    .dl-card,
    .domain-card,
    .data-city-card,
    .finding,
    .audit-card
  ) :is(p,.desc,.description,.d,.sub,.note,.tagline){
    font-size:15.5px;
    line-height:1.65;
  }

  body.fcte-v5.page-family-domain :is(.entity-table,.live-table,.modifier-table),
  body.fcte-v5.page-family-audit-detail table td{
    font-size:14.5px;
  }

  body.fcte-v5 :is(.global-nav>a,.pch-global-nav>a,.fidelra-city-menu>summary,.fidelra-city-menu-panel a){
    font-size:14px;
  }
}

/* Lifecycle and evidence-tier prose are explanatory body copy, not labels. */
body.fcte-v5.page-family-domain :is(.life-node,.evidence-tier) > p{
  font-size:15.0px;
  line-height:1.6;
}
@media(max-width:760px){
  body.fcte-v5.page-family-domain :is(.life-node,.evidence-tier) > p{
    font-size:15.5px;
    line-height:1.65;
  }
}

/* Final small-copy cleanup on public index, access, data and audit surfaces. */
body.fcte-v5.page-family-access #tiers .tc-bestfor,
body.fcte-v5.page-family-data :is(.ds-graph-hint,.ds-drill-soon),
body.fcte-v5.page-family-domains-index .doc-standard-cell p,
body.fcte-v5.page-family-audits-index .card .d{
  font-size:15.0px ;
  line-height:1.6 ;
}
body.fcte-v5.page-family-audit-detail :is(.methodology-note,.audit-detail-content p,.audit-summary-wrap p){
  font-size:15.5px ;
  line-height:1.65 ;
}
body.fcte-v5.page-family-domain .citizen-tab .sub{
  font-size:14px ;
  line-height:1.35 ;
}
@media(max-width:760px){
  body.fcte-v5.page-family-access #tiers .tc-bestfor,
  body.fcte-v5.page-family-data :is(.ds-graph-hint,.ds-drill-soon),
  body.fcte-v5.page-family-domains-index .doc-standard-cell p,
  body.fcte-v5.page-family-audits-index .card .d{
    font-size:15.5px ;
    line-height:1.65 ;
  }
  body.fcte-v5.page-family-audit-detail :is(.methodology-note,.audit-detail-content p,.audit-summary-wrap p){
    font-size:16.0px ;
    line-height:1.68 ;
  }
  body.fcte-v5.page-family-domain .citizen-tab .sub{
    font-size:14px ;
  }
}

/* Access-page explanatory copy should never collapse into micro-text. */
body.fcte-v5.page-family-access :is(.cap-card p,.compare-note){
  font-size:15.0px ;
  line-height:1.6 ;
}
@media(max-width:760px){
  body.fcte-v5.page-family-access :is(.cap-card p,.compare-note){
    font-size:15.5px ;
    line-height:1.65 ;
  }
}
body.fcte-v5.page-family-access .tc-desc{
  font-size:15.0px ;
  line-height:1.6 ;
}
@media(max-width:760px){
  body.fcte-v5.page-family-access .tc-desc{
    font-size:15.5px ;
    line-height:1.65 ;
  }
}


/* V5.43 FINAL 10/10 TYPOGRAPHY SAFETY NET */
body.fcte-v5 { font-size:16.0px; line-height:1.65; }
body.fcte-v5 main :is(p,li,dd,blockquote) { font-size:max(16px,1rem); line-height:1.68; }
body.fcte-v5 main :is(.small-copy,.micro-copy,.card-copy,.body-copy,.description,.desc,.note) { font-size:15.5px; line-height:1.65; }
body.fcte-v5 main table td { font-size:15.0px; line-height:1.55; }
@media (max-width:760px) {
  body.fcte-v5 { font-size:16.0px; line-height:1.68; }
  body.fcte-v5 main :is(p,li,dd,blockquote) { font-size:16.0px; line-height:1.7; }
  body.fcte-v5 main :is(.small-copy,.micro-copy,.card-copy,.body-copy,.description,.desc,.note) { font-size:15.5px; line-height:1.68; }
  body.fcte-v5 main table td { font-size:14.5px; line-height:1.55; }
}


/* ========================================================================== */
/* FCTE V5.43 FINAL PUBLIC RELEASE — enterprise narrative + readability pass   */
/* ========================================================================== */
body.fcte-v5 main p:not(.eyebrow):not(.kicker):not([class*="label"]):not([class*="meta"]),
body.fcte-v5 main li:not([class*="nav"]),
body.fcte-v5 .doc-section p,
body.fcte-v5 .doc-section li {
  font-size: clamp(16px, .34vw + 14.8px, 17px) ;
  line-height: 1.72 ;
}
body.fcte-v5 main table td,
body.fcte-v5 main table th { font-size: 15.5px; line-height: 1.58; }
body.fcte-v5 .hero-top-text > p:not(.hero-footnote),
body.fcte-v5 .page-hero p:not(.hero-footnote) { font-size: clamp(16.5px, .45vw + 14.8px, 18px) ; line-height: 1.68 ; }
body.fcte-v5 .cap-card p,
body.fcte-v5 .scope-note p,
body.fcte-v5 .audit-card p,
body.fcte-v5 .evidence-card p { font-size: 16.0px ; line-height: 1.68 ; }

.enterprise-domain-brief{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(151,203,203,.08),rgba(255,255,255,0));}
.enterprise-domain-brief .enterprise-brief-intro{max-width:900px;color:var(--ink-2);margin:10px 0 24px;}
.enterprise-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;}
.enterprise-brief-card{border:1px solid var(--line);background:var(--panel);padding:22px 22px 20px;border-radius:14px;min-height:190px;}
.enterprise-brief-card .eb-k{font:800 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:10px;}
.enterprise-brief-card h3{font-size:20.0px;margin:0 0 9px;line-height:1.25;}
.enterprise-brief-card p{margin:0;color:var(--ink-2);}
.enterprise-relationship-row{margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;}
.enterprise-relationship-row strong{font-size:15.0px;padding-top:7px;}
.enterprise-domain-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:14px;font-weight:750;text-decoration:none;color:var(--ink);}
.enterprise-domain-chip:hover{border-color:var(--accent-strong);color:var(--accent-strong);}
.enterprise-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.enterprise-action-row .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;}
.enterprise-interface-note{margin-top:10px;font-size:14px ;color:var(--ink-3) ;}
.public-assurance-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);}
.public-assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px;}
.public-assurance-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:22px;}
.public-assurance-card h3{font-size:19.0px;margin:0 0 8px;}.public-assurance-card p{margin:0;color:var(--ink-2);}
.public-assurance-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}

@media(max-width:760px){
  body.fcte-v5 main p:not(.eyebrow):not(.kicker):not([class*="label"]):not([class*="meta"]),
  body.fcte-v5 main li:not([class*="nav"]), body.fcte-v5 .doc-section p, body.fcte-v5 .doc-section li{
    font-size:16.5px ; line-height:1.72 ;
  }
  body.fcte-v5 main table td,body.fcte-v5 main table th{font-size:15.0px;line-height:1.55;}
  .enterprise-brief-grid,.public-assurance-grid{grid-template-columns:1fr;}
  .enterprise-brief-card,.public-assurance-card{padding:20px 18px;min-height:0;}
  .enterprise-relationship-row{padding:16px;gap:9px;}
  .enterprise-domain-chip{font-size:14px;min-height:36px;}
}


/* V5.43 FINAL PUBLIC — RELEASE VERIFICATION */
.verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.verify-label{display:block;font-weight:650;margin-bottom:8px;color:var(--ink,#163a42)}
.verify-select{width:100%;min-height:48px;border:1px solid rgba(22,58,66,.22);border-radius:10px;padding:10px 12px;background:#fff;font:inherit}
.verify-state{margin-top:16px;font-weight:650}.verify-state.pass,.verify-result.pass{color:#116149}.verify-state.fail,.verify-result.fail{color:#9b2f2f}.verify-state.neutral{color:#53666b}
.verify-proof-card{display:grid;gap:22px;margin-top:18px}.verify-code{display:block;overflow-wrap:anywhere;white-space:normal;margin-top:8px;font-size:14px;line-height:1.55}
.verify-result{margin-top:14px}.release-integrity-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
@media(max-width:760px){.verify-grid{grid-template-columns:1fr}.verify-code{font-size:14px}}


/* FINAL RELEASE PATCH — high-contrast public data boundary */
body.fcte-v5 .public-disclosure-data,
body.fcte-v5 .surface-dark + .public-disclosure-data{
  background:#eaf5f4;
  color:#17383f;
  border-top:1px solid #8fc9c5;
  border-bottom:1px solid #c5dedb;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
body.fcte-v5 .public-disclosure-data .wrap{
  display:grid;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr);
  align-items:center;
  gap:34px;
  padding-top:24px;
  padding-bottom:24px;
}
body.fcte-v5 .public-disclosure-data .public-disclosure-label{
  display:flex;
  flex-direction:column;
  gap:5px;
}
body.fcte-v5 .public-disclosure-data .public-disclosure-label span{
  color:#087d7a;
  font-family:var(--mono,"SFMono-Regular",Consolas,"Liberation Mono",monospace);
  font-size:14px;
  font-weight:650;
  line-height:1.2;
  letter-spacing:.13em;
}
body.fcte-v5 .public-disclosure-data .public-disclosure-label strong{
  color:#10383e;
  font-size:17.0px;
  font-weight:650;
  line-height:1.35;
}
body.fcte-v5 .public-disclosure-data .public-disclosure-copy{
  margin:0;
  max-width:920px;
  color:#23484e;
  font-size:16.5px;
  line-height:1.62;
}
@media(max-width:760px){
  body.fcte-v5 .public-disclosure-data .wrap{
    grid-template-columns:1fr;
    gap:10px;
    padding-top:20px;
    padding-bottom:21px;
  }
  body.fcte-v5 .public-disclosure-data .public-disclosure-label strong{
    font-size:16.5px;
  }
  body.fcte-v5 .public-disclosure-data .public-disclosure-copy{
    font-size:16.0px;
    line-height:1.65;
  }
}

/* FINAL DOMAIN EVIDENCE-TIER REBUILD — 2026-08-07 */
body.fcte-v5.page-family-domain .evidence-tier-grid {
  display: grid ;
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
  gap: 1px ;
  background: var(--line) ;
  border: 1px solid var(--line) ;
  overflow: hidden ;
  margin-top: 22px ;
}
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier {
  background: var(--panel) ;
  padding: 20px 18px 22px ;
  min-height: 176px ;
}
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier .t {
  font-family: var(--mono) ;
  font-size: 14px ;
  font-weight: 650 ;
  letter-spacing: .07em ;
  line-height: 1.3 ;
}
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier p {
  margin: 9px 0 0 ;
  font-size: 15.5px ;
  line-height: 1.62 ;
  font-weight: 500 ;
  color: var(--ink-2) ;
}
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier.observed { border-top: 3px solid var(--good); }
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier.derived { border-top: 3px solid var(--accent-strong); }
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier.calibrated { border-top: 3px solid var(--amber); background: #fffdf7 ; }
body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier.modeled { border-top: 3px solid #81919c; }
@media (max-width: 980px) {
  body.fcte-v5.page-family-domain .evidence-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) ; }
  body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier { min-height: 0 ; }
}
@media (max-width: 620px) {
  body.fcte-v5.page-family-domain .evidence-tier-grid { grid-template-columns: 1fr ; }
  body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier { padding: 18px 16px 20px ; }
  body.fcte-v5.page-family-domain .evidence-tier-grid .evidence-tier p { font-size: 15.5px ; line-height: 1.65 ; }
}
/* END FINAL DOMAIN EVIDENCE-TIER REBUILD */

/* ==========================================================================
   FINAL AUDITS INDEX ALIGNMENT — V5.43
   Keep the assurance/audit landing pages on the same editorial typography
   and content measure as the rest of the public City Twin experience.
   ========================================================================== */
body.fcte-v5.page-family-audits-index{
  --fd-audits-index-w:980px;
}
body.fcte-v5.page-family-audits-index .audit-hero > .wrap,
body.fcte-v5.page-family-audits-index .public-assurance-band > .wrap,
body.fcte-v5.page-family-audits-index .audit-index-content,
body.fcte-v5.page-family-audits-index .story-next > .wrap,
body.fcte-v5.page-family-audits-index main > .wrap{
  width:min(var(--fd-audits-index-w),calc(100% - 64px));
  max-width:var(--fd-audits-index-w);
  margin-left:auto;
  margin-right:auto;
}
body.fcte-v5.page-family-audits-index .group > h2{
  font-family:var(--font-display,var(--fd-font));
  font-size:clamp(34px,4.3vw,48px);
  font-weight:650;
  letter-spacing:-.045em;
  line-height:1.03;
  text-wrap:balance;
  max-width:22ch;
  color:var(--fd-ink);
  text-transform:none;
  margin:0 0 22px;
  padding:0;
  border:0;
}
body.fcte-v5.page-family-audits-index .group + .group{
  margin-top:58px;
}
@media(max-width:760px){
  body.fcte-v5.page-family-audits-index .audit-hero > .wrap,
  body.fcte-v5.page-family-audits-index .public-assurance-band > .wrap,
  body.fcte-v5.page-family-audits-index .audit-index-content,
  body.fcte-v5.page-family-audits-index .story-next > .wrap,
  body.fcte-v5.page-family-audits-index main > .wrap{
    width:calc(100% - 36px);
  }
  body.fcte-v5.page-family-audits-index .group > h2{
    font-size:34.0px;
    max-width:20ch;
    margin-bottom:18px;
  }
  body.fcte-v5.page-family-audits-index .group + .group{
    margin-top:48px;
  }
}

/* FINAL CITY TYPOGRAPHY CONTRACT — V5.43
   Single source of truth for every page under /cities/.
   Legacy page-family rules may still control layout/colour/spacing, but they
   no longer control perceived typographic weight. Inter is loaded in the
   exact weights used below (500/600/800/900), avoiding synthetic 450/730/760
   rendering differences between browsers and operating systems. */
body.city-locked.fcte-v5{
  font-weight:500;
}

/* Major and sectional headings */
body.city-locked.fcte-v5 h1,
body.city-locked.fcte-v5 h2{
  font-weight:650 ;
}
body.city-locked.fcte-v5 h3,
body.city-locked.fcte-v5 h4{
  font-weight:650 ;
}

/* Hero / introductory explanatory copy should never render light. */
body.city-locked.fcte-v5 .lead,
body.city-locked.fcte-v5 .lede,
body.city-locked.fcte-v5 .dek,
body.city-locked.fcte-v5 .subtitle,
body.city-locked.fcte-v5 .domain-hero-lead,
body.city-locked.fcte-v5 .audit-dek,
body.city-locked.fcte-v5 .hero p.lead,
body.city-locked.fcte-v5 .page-hero p{
  font-weight:600;
}

/* Shared section labels and navigation use real loaded weights only. */
body.city-locked.fcte-v5 .eyebrow,
body.city-locked.fcte-v5 .doc-section-label,
body.city-locked.fcte-v5 .cert-subhead,
body.city-locked.fcte-v5 .cat-label,
body.city-locked.fcte-v5 .footer-col-title,
body.city-locked.fcte-v5 .nav-links a .nav-main,
body.city-locked.fcte-v5 .nav-actions a.btn-primary,
body.city-locked.fcte-v5 .btn{
  font-weight:700;
}
body.city-locked.fcte-v5 .nav-links a .nav-sub{
  font-weight:500;
}

/* Supporting copy remains readable without competing with headings. */
body.city-locked.fcte-v5 .head > p,
body.city-locked.fcte-v5 .section-head > p,
body.city-locked.fcte-v5 .doc-section > p,
body.city-locked.fcte-v5 .group > p,
body.city-locked.fcte-v5 .finding-body > p,
body.city-locked.fcte-v5 .card > p{
  font-weight:500;
}

/* Audit index keeps its narrower editorial measure but shares city heading weight. */
body.city-locked.fcte-v5.page-family-audits-index .group > h2{
  font-weight:650 ;
}

@media(max-width:760px){
  body.city-locked.fcte-v5{
    font-weight:500;
  }
  body.city-locked.fcte-v5 h1,
  body.city-locked.fcte-v5 h2{
    font-weight:650 ;
  }
  body.city-locked.fcte-v5 h3,
  body.city-locked.fcte-v5 h4{
    font-weight:650 ;
  }
  body.city-locked.fcte-v5 .lead,
  body.city-locked.fcte-v5 .lede,
  body.city-locked.fcte-v5 .dek,
  body.city-locked.fcte-v5 .subtitle,
  body.city-locked.fcte-v5 .domain-hero-lead,
  body.city-locked.fcte-v5 .audit-dek,
  body.city-locked.fcte-v5 .hero p.lead,
  body.city-locked.fcte-v5 .page-hero p{
    font-weight:600;
  }
}

/* Public assurance is a first-class city section, not a lighter callout. */
body.city-locked.fcte-v5 .public-assurance-band > .wrap > h2{
  font-family:var(--fd-font) ;
  font-size:var(--fd-section-title-size) ;
  font-weight:650 ;
  line-height:var(--fd-section-title-line) ;
  letter-spacing:var(--fd-section-title-track) ;
  max-width:22ch;
  text-wrap:balance;
}

/* END FINAL CITY TYPOGRAPHY CONTRACT */


/* ============================================================================
   FINAL CITY WIDTH CONTRACT — V5.43
   One editorial content measure across every page under /cities/.
   Background bands remain full-bleed; navigation/footer keep a wider shell.
   ============================================================================ */
body.city-locked.fcte-v5{
  --fd-city-content-w:980px;
  --fd-city-shell-w:1180px;
}

/* Every city content wrapper resolves to the same editorial canvas. */
body.city-locked.fcte-v5 .wrap{
  width:min(var(--fd-city-content-w),calc(100% - 64px)) ;
  max-width:var(--fd-city-content-w) ;
  margin-left:auto ;
  margin-right:auto ;
}

/* Direct content containers that historically carried their own wider measure. */
body.city-locked.fcte-v5 .audit-index-content,
body.city-locked.fcte-v5 .audit-detail-content,
body.city-locked.fcte-v5 .audit-sequence-wrap{
  width:min(var(--fd-city-content-w),calc(100% - 64px)) ;
  max-width:var(--fd-city-content-w) ;
  margin-left:auto ;
  margin-right:auto ;
}

/* Navigation chrome stays wider so the unified content measure does not crowd it. */
body.city-locked.fcte-v5 header .wrap,
body.city-locked.fcte-v5 footer .wrap,
body.city-locked.fcte-v5 .domain-nav .wrap{
  width:min(var(--fd-city-shell-w),calc(100% - 64px)) ;
  max-width:var(--fd-city-shell-w) ;
}

@media(max-width:760px){
  body.city-locked.fcte-v5 .wrap,
  body.city-locked.fcte-v5 .audit-index-content,
  body.city-locked.fcte-v5 .audit-detail-content,
  body.city-locked.fcte-v5 .audit-sequence-wrap{
    width:calc(100% - 36px) ;
    max-width:none ;
  }
  body.city-locked.fcte-v5 header .wrap,
  body.city-locked.fcte-v5 footer .wrap,
  body.city-locked.fcte-v5 .domain-nav .wrap{
    width:calc(100% - 36px) ;
    max-width:none ;
  }
}
/* END FINAL CITY WIDTH CONTRACT */

/* ============================================================================
   V5.43 FINAL — DOMAINS HERO KPI ROW
   Keep the Domains headline on its intentional two-line break and place all
   five release KPIs in one horizontal row below the explanatory copy.
   Applies identically to Lagos and Nairobi Domains pages.
   ============================================================================ */
body.fcte-v5.page-family-domains-index .page-hero>.wrap{
  max-width:980px;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-copy{
  width:100%;
  max-width:none;
}
body.fcte-v5.page-family-domains-index .page-hero h1,
body.fcte-v5.page-family-domains-index .page-hero .v5-page-title{
  max-width:none;
  width:100%;
  font-size:clamp(64px,5.7vw,88px);
  line-height:.94;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-copy>p,
body.fcte-v5.page-family-domains-index .maturity-note{
  max-width:780px;
}
body.fcte-v5.page-family-domains-index .domain-index-hero-kpis{
  width:100%;
  margin-top:46px;
  padding-top:28px;
  border-top:1px solid rgba(151,203,203,.24);
}
body.fcte-v5.page-family-domains-index .hero-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
body.fcte-v5.page-family-domains-index .hero-stat,
body.fcte-v5.page-family-domains-index .hero-stat:nth-child(n),
body.fcte-v5.page-family-domains-index .hero-stat:last-child{
  grid-column:auto;
  min-width:0;
  padding:0 22px;
  border:0;
  border-right:1px solid rgba(151,203,203,.18);
  background:transparent;
  box-shadow:none;
}
body.fcte-v5.page-family-domains-index .hero-stat:first-child{
  padding-left:0;
}
body.fcte-v5.page-family-domains-index .hero-stat:last-child{
  padding-right:0;
  border-right:0;
}
body.fcte-v5.page-family-domains-index .hero-stat .v{
  font-size:clamp(28px,2.5vw,38px);
  line-height:1;
  white-space:nowrap;
}
body.fcte-v5.page-family-domains-index .hero-stat .k{
  max-width:145px;
}

@media(max-width:900px){
  body.fcte-v5.page-family-domains-index .page-hero h1,
  body.fcte-v5.page-family-domains-index .page-hero .v5-page-title{
    font-size:clamp(54px,9vw,74px);
  }
  body.fcte-v5.page-family-domains-index .hero-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    row-gap:30px;
  }
  body.fcte-v5.page-family-domains-index .hero-stat,
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(n){
    padding:0 18px;
    border-right:1px solid rgba(151,203,203,.18);
  }
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(3n){
    border-right:0;
  }
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(1),
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(4){
    padding-left:0;
  }
}
@media(max-width:620px){
  body.fcte-v5.page-family-domains-index .domain-index-hero-kpis{
    margin-top:36px;
    padding-top:24px;
  }
  body.fcte-v5.page-family-domains-index .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 0;
  }
  body.fcte-v5.page-family-domains-index .hero-stat,
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(n){
    padding:0 16px;
    border-right:1px solid rgba(151,203,203,.18);
  }
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(2n){
    border-right:0;
  }
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(odd){
    padding-left:0;
  }
  body.fcte-v5.page-family-domains-index .hero-stat:nth-child(even){
    padding-right:0;
  }
}


/* ============================================================================
   FINAL SITE-WIDE WIDTH CONTRACT — V5.43
   One editorial content measure across the complete public marketplace.
   Full-bleed section backgrounds remain full viewport width; their inner
   content, cards and copy align to the same 980px canvas used by city pages.
   Navigation/footer chrome keeps a wider 1180px shell for breathing room.
   ============================================================================ */
body.fcte-v5{
  --fd-site-content-w:980px;
  --fd-site-shell-w:1180px;
}

/* One content canvas for homepage, marketing pages, release verification,
   Lagos, Nairobi, domain pages, evidence, certification, access and audits. */
body.fcte-v5 .wrap{
  width:min(var(--fd-site-content-w),calc(100% - 64px)) ;
  max-width:var(--fd-site-content-w) ;
  margin-left:auto ;
  margin-right:auto ;
}

/* A handful of audit components historically bypassed .wrap. */
body.fcte-v5 .audit-index-content,
body.fcte-v5 .audit-detail-content,
body.fcte-v5 .audit-sequence-wrap{
  width:min(var(--fd-site-content-w),calc(100% - 64px)) ;
  max-width:var(--fd-site-content-w) ;
  margin-left:auto ;
  margin-right:auto ;
}

/* Navigation/footer are chrome, not editorial content. Keep their established
   wider shell so labels and city controls do not wrap unnecessarily. */
body.fcte-v5 header .wrap,
body.fcte-v5 footer .wrap,
body.fcte-v5 .global-header > .wrap,
body.fcte-v5 .premium-city-header .wrap,
body.fcte-v5 .pch-citybar > .wrap,
body.fcte-v5 .domain-nav .wrap{
  width:min(var(--fd-site-shell-w),calc(100% - 64px)) ;
  max-width:var(--fd-site-shell-w) ;
}

@media(max-width:760px){
  body.fcte-v5 .wrap,
  body.fcte-v5 .audit-index-content,
  body.fcte-v5 .audit-detail-content,
  body.fcte-v5 .audit-sequence-wrap,
  body.fcte-v5 header .wrap,
  body.fcte-v5 footer .wrap,
  body.fcte-v5 .global-header > .wrap,
  body.fcte-v5 .premium-city-header .wrap,
  body.fcte-v5 .pch-citybar > .wrap,
  body.fcte-v5 .domain-nav .wrap{
    width:calc(100% - 36px) ;
    max-width:none ;
  }
}
/* END FINAL SITE-WIDE WIDTH CONTRACT */

/* ============================================================================
   V5.43 FINAL — DOMAIN TYPOGRAPHY CONTRACT
   One authoritative hierarchy for every Lagos + Nairobi domain document.
   Domain-specific CSS may control component layout/color, but not these
   primary typographic roles.
   ============================================================================ */

/* Domain hero title — identical scale and weight on all domain pages. */
body.fcte-v5.page-family-domain .page-hero h1.v5-page-title,
body.fcte-v5.page-family-domain .page-hero .v5-page-title {
  font-family: var(--fd-font) ;
  font-size: clamp(54px, 6vw, 72px) ;
  font-weight: 650 ;
  line-height: .96 ;
  letter-spacing: -.055em ;
  max-width: 14ch ;
  text-wrap: balance;
}

/* Domain hero supporting copy — one readable, confident treatment. */
body.fcte-v5.page-family-domain .page-hero .domain-hero-lead,
body.fcte-v5.page-family-domain .page-hero .domain-hero-summary,
body.fcte-v5.page-family-domain .page-hero .hero-top-text > p {
  font-family: var(--fd-font) ;
  font-size: 17.0px ;
  font-weight: 600 ;
  line-height: 1.62 ;
  letter-spacing: -.008em ;
  max-width: 62ch;
}

/* The first domain narrative H2 and every true document-section heading share
   one visual family. H3 is used by the legacy domain markup for most sections. */
body.fcte-v5.page-family-domain .doc-section > h2,
body.fcte-v5.page-family-domain .doc-section > h3,
body.fcte-v5.page-family-domain .doc-section > h3.signature-line {
  font-family: var(--fd-font) ;
  font-size: clamp(34px, 4.1vw, 48px) ;
  font-weight: 650 ;
  line-height: 1.02 ;
  letter-spacing: -.045em ;
  max-width: 22ch;
  text-wrap: balance;
}

/* Enterprise-brief cards are subsections, not page-section headlines. */
body.fcte-v5.page-family-domain .enterprise-brief-card > h3,
body.fcte-v5.page-family-domain .enterprise-brief-card h3 {
  font-family: var(--fd-font) ;
  font-size: 20.0px ;
  font-weight: 650 ;
  line-height: 1.18 ;
  letter-spacing: -.025em ;
  max-width: none;
}

/* CTA heading is intentionally between a section title and a card title. */
body.fcte-v5.page-family-domain .final-cta-band > h3,
body.fcte-v5.page-family-domain .final-cta-band h3 {
  font-family: var(--fd-font) ;
  font-size: clamp(28px, 3.3vw, 38px) ;
  font-weight: 650 ;
  line-height: 1.05 ;
  letter-spacing: -.04em ;
}

/* Card/entity headings stay compact and consistent. */
body.fcte-v5.page-family-domain :is(.cap-card,.boundary-card,.mech-card,.story-card,.entity-card,.cert-cat) h4 {
  font-family: var(--fd-font) ;
  font-size: 16.0px ;
  font-weight: 650 ;
  line-height: 1.22 ;
  letter-spacing: -.018em ;
}

/* Certification/category labels retain their compact mono treatment. */
body.fcte-v5.page-family-domain .cert-cat h4 {
  font-family: var(--fd-mono) ;
  font-size: 14px ;
  font-weight: 650 ;
  line-height: 1.25 ;
  letter-spacing: .055em ;
  text-transform: uppercase;
}

/* One eyebrow/label treatment throughout domain documents. */
body.fcte-v5.page-family-domain :is(.eyebrow,.kicker,.section-label,.domain-page-label,.mono-label,.overline) {
  font-family: var(--fd-mono) ;
  font-size: 14px ;
  font-weight: 650 ;
  line-height: 1.3 ;
  letter-spacing: .11em ;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  body.fcte-v5.page-family-domain .page-hero h1.v5-page-title,
  body.fcte-v5.page-family-domain .page-hero .v5-page-title {
    font-size: clamp(44px, 13vw, 58px) ;
    line-height: .98 ;
    max-width: 10ch ;
  }
  body.fcte-v5.page-family-domain .doc-section > h2,
  body.fcte-v5.page-family-domain .doc-section > h3,
  body.fcte-v5.page-family-domain .doc-section > h3.signature-line {
    font-size: clamp(30px, 9vw, 40px) ;
    line-height: 1.04 ;
    max-width: 18ch;
  }
  body.fcte-v5.page-family-domain .page-hero .domain-hero-lead,
  body.fcte-v5.page-family-domain .page-hero .domain-hero-summary,
  body.fcte-v5.page-family-domain .page-hero .hero-top-text > p {
    font-size: 16.5px ;
    line-height: 1.66 ;
  }
}


/* V5.43 FINAL MARKET-READINESS CONTRACT */
/* Readability: long-form public proof pages retain full tables/grids, while
   narrative copy uses a comfortable reading measure. */
body.fcte-v5 .section-head > p,
body.fcte-v5.page-family-domain .doc-section > p,
body.fcte-v5 :is(.audit-detail-content,.audit-index-content) .section-head > p{
  max-width:68ch;
}
body.fcte-v5.page-family-domain .doc-section{
  scroll-margin-top:120px;
}

/* Manifest-governed catalogue status. */
body.fcte-v5 .catalogue-governance,
body.fcte-v5 .domain-maturity-governance{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:22px 0 34px;
  padding:16px 18px;
  border:1px solid rgba(22,58,66,.14);
  background:rgba(151,203,203,.10);
  border-radius:12px;
  font-size:14.5px;
  line-height:1.5;
}
body.fcte-v5 .catalogue-governance a,
body.fcte-v5 .domain-maturity-governance a{
  flex:0 0 auto;
  font-weight:650;
}
body.fcte-v5 .domain-maturity-governance > div{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  align-items:baseline;
}
body.fcte-v5 .domain-maturity-governance span{
  display:block;
  width:100%;
  color:var(--muted,#68757a);
  font-size:14px;
}
body.fcte-v5 .city-maturity{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:18px 0 12px;
}
body.fcte-v5 .maturity-chip{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(22,58,66,.14);
  font-size:14px;
  font-weight:650;
  letter-spacing:.04em;
}
body.fcte-v5 .maturity-live{background:rgba(59,169,117,.10)}
body.fcte-v5 .maturity-partial{background:rgba(218,165,32,.10)}
body.fcte-v5 .maturity-planned{background:rgba(100,116,139,.08)}

/* Enterprise outcomes: fast executive scan before deployment detail. */
body.fcte-v5 .outcome-grid .outcome-card{min-height:0}
body.fcte-v5 .outcome-card h3{margin-bottom:10px}
body.fcte-v5 .outcome-card p{margin:0;font-size:15.5px;line-height:1.58}

/* Method/evidence reviewer shortcuts. */
body.fcte-v5 .proof-shortcuts{padding-top:0 ;padding-bottom:22px }
body.fcte-v5 .proof-shortcut-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.fcte-v5 .proof-shortcut{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:16px;
  border:1px solid rgba(22,58,66,.14);
  border-radius:12px;
  text-decoration:none;
  background:#fff;
}
body.fcte-v5 .proof-shortcut b{font-size:15.0px}
body.fcte-v5 .proof-shortcut span{font-size:14px;line-height:1.45;color:var(--muted,#68757a)}

/* Less-dense homepage use-case cards. */
body.fcte-v5 .uc-list-compact{margin-top:14px}
body.fcte-v5 .uc-list-compact li{margin-bottom:5px}

@media(max-width:760px){
  body.fcte-v5 .catalogue-governance,
  body.fcte-v5 .domain-maturity-governance{align-items:flex-start;flex-direction:column;gap:10px}
  body.fcte-v5 .proof-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  body.fcte-v5 .proof-shortcut-grid{grid-template-columns:1fr}
}
/* END V5.43 FINAL MARKET-READINESS CONTRACT */


/* V5.43 FINAL — HOUSING REALITY-CHECK TWO-ROW CONTRACT */
/* The Housing realism cards carry longer validation narratives than most
   domains. Use two columns so checks remain readable; the odd final card
   spans the second row rather than becoming a narrow third column. */
body.fcte-v5.page-family-domain.view-domain-housing .realism-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
  gap:16px ;
}
body.fcte-v5.page-family-domain.view-domain-housing .realism-grid > .realism-card:nth-child(3):last-child{
  grid-column:1 / -1;
}
body.fcte-v5.page-family-domain.view-domain-housing .realism-card{
  min-width:0;
}
body.fcte-v5.page-family-domain.view-domain-housing .status-line{
  display:grid ;
  grid-template-columns:8px minmax(0,1fr) ;
  align-items:start ;
  column-gap:9px ;
}
body.fcte-v5.page-family-domain.view-domain-housing .status-line .status-dot{
  margin-top:.48em;
}
body.fcte-v5.page-family-domain.view-domain-housing .status-line .status-copy{
  min-width:0;
  display:block;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
@media(max-width:760px){
  body.fcte-v5.page-family-domain.view-domain-housing .realism-grid{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-domain.view-domain-housing .realism-grid > .realism-card:nth-child(3):last-child{
    grid-column:auto;
  }
}
/* END V5.43 FINAL — HOUSING REALITY-CHECK TWO-ROW CONTRACT */

/* ==========================================================================
   V5.43 FINAL — SQUARE CARD GEOMETRY CONTRACT
   Public cards/panels use one technical rectangular language. Status badges,
   chips and pills intentionally retain their rounded capsule treatment.
   This final rule comes after market-readiness additions so later components
   cannot reintroduce decorative card radii.
   ========================================================================== */
body.fcte-v5 :is(
  .card,
  .doc-card,
  .asset-card,
  .goal-card,
  .price-card,
  .spec-panel,
  .twin-stat,
  .domain-grid,
  .domain-card,
  .question-box,
  .notice,
  .chain-step,
  .assurance,
  .main-kpi-panel,
  .gateway-kpis,
  .plain-summary,
  .plain-summary-stat,
  .final-cta-band,
  .domain-stat-panel,
  .city-table-wrap,
  .city-catalog-card,
  .city-stat-grid,
  .city-feature-card,
  .city-release-strip,
  .city-record-card,
  .city-workspace-callout,
  .city-maturity-note,
  .city-domain-card,
  .city-cert-card,
  .city-proof-card,
  .city-audit-card,
  .city-release-card,
  .city-price-card,
  .cta-panel,
  .story-next-card,
  .network-wrap,
  .journey-card,
  .chart-card,
  .qx-panel,
  .tablewrap,
  .limit-box,
  .enterprise-brief-card,
  .enterprise-relationship-row,
  .public-assurance-card,
  .catalogue-governance,
  .domain-maturity-governance,
  .proof-shortcut,
  .city-float-toggle
) {
  border-radius: 0 ;
  box-shadow: none ;
}

/* Structural documentation containers are cards too, even when their class
   name is a grid rather than a card. */
body.fcte-v5 :is(
  .arch-groups details,
  .domain-grid,
  .spec-panel,
  .catalogue-governance,
  .domain-maturity-governance,
  .proof-shortcut
) {
  border-radius: 0 ;
}

/* Pills/chips/status controls remain deliberately rounded. */
body.fcte-v5 :is(
  .badge,
  .pill,
  .phase-pill,
  .fcte-certified-badge,
  .asset-badge,
  .city-cert-badge,
  .sev-pill,
  .maturity-chip,
  .filter-chip,
  .rel-chip,
  .lc-chip,
  .source-chip,
  .status-tag,
  .version-tag,
  .city-status,
  .city-card-status,
  .city-domain-status,
  .city-cert-badge,
  .city-release-card-head em
) {
  border-radius: 999px ;
}
/* END V5.43 FINAL — SQUARE CARD GEOMETRY CONTRACT */

/* ========================================================================== 
   V5.43 FINAL — METHOD & EVIDENCE SPACING + SQUARE-CARD CONTRACT
   The proof shortcuts need breathing room below the hero. All informational
   containers on Method & Evidence use the same square technical card language.
   Interactive pills/chips/buttons retain their intentional control geometry.
   ========================================================================== */
body.fcte-v5.page-method-evidence #proof-shortcuts {
  padding-top: 48px ;
  padding-bottom: 30px ;
}

body.fcte-v5.page-method-evidence :is(
  .proof-shortcut,
  .chain-step,
  .assurance,
  .grid.c2 > .card,
  #release-integrity .card
) {
  border-radius: 0 ;
  box-shadow: none ;
}

@media (max-width: 760px) {
  body.fcte-v5.page-method-evidence #proof-shortcuts {
    padding-top: 34px ;
    padding-bottom: 24px ;
  }
}


:root { --fcte-hover-border-light: rgba(78, 158, 162, .55); }

/* ========================================================================== 
   V5.43 FINAL — SITE-WIDE CARD HOVER CONTRACT
   All true informational/content cards share one restrained enterprise hover:
   subtle lift, teal border emphasis and a low-elevation shadow. Structural
   grids, tables, navigation, pills and badges are intentionally excluded.
   ========================================================================== */
body.fcte-v5 :is(
  .card,
  .doc-card,
  .asset-card,
  .goal-card,
  .price-card,
  .spec-panel,
  .twin-stat,
  .domain-card,
  .question-box,
  .notice,
  .chain-step,
  .assurance,
  .main-kpi-panel,
  .plain-summary-stat,
  .city-catalog-card,
  .city-feature-card,
  .city-record-card,
  .city-domain-card,
  .city-cert-card,
  .city-proof-card,
  .city-audit-card,
  .city-release-card,
  .city-price-card,
  .cta-panel,
  .story-next-card,
  .journey-card,
  .chart-card,
  .qx-panel,
  .inspected-panel,
  .widget-view-panel,
  .limit-box,
  .enterprise-brief-card,
  .public-assurance-card,
  .proof-shortcut,
  .outcome-card,
  .usecase-card,
  .domain-dir-card,
  .layer-card,
  .tier-card,
  .combo-card,
  .panel-card,
  .ds-snapshot-card,
  .ds-content-card,
  .ds-use-card,
  .ds-drill-panel,
  .cap-card,
  .story-card,
  .realism-card,
  .modifier-card,
  .mech-card,
  .source-card,
  .boundary-card,
  .score-card,
  .life-panel,
  .spoke-card,
  .city-kpi,
  .dist-panel,
  .featured-domain-link,
  .citytwin-card,
  .verify-proof-card,
  .mode-card,
  .access-assurance,
  .panel-split-note,
  .arch-groups details
) {
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
  transform: translateZ(0);
}

@media (hover:hover) and (pointer:fine) {
  body.fcte-v5 :is(
    .card,
    .doc-card,
    .asset-card,
    .goal-card,
    .price-card,
    .spec-panel,
    .twin-stat,
    .domain-card,
    .question-box,
    .notice,
    .chain-step,
    .assurance,
    .main-kpi-panel,
    .plain-summary-stat,
    .city-catalog-card,
    .city-feature-card,
    .city-record-card,
    .city-domain-card,
    .city-cert-card,
    .city-proof-card,
    .city-audit-card,
    .city-release-card,
    .city-price-card,
    .cta-panel,
    .story-next-card,
    .journey-card,
    .chart-card,
    .qx-panel,
    .inspected-panel,
    .widget-view-panel,
    .limit-box,
    .enterprise-brief-card,
    .public-assurance-card,
    .proof-shortcut,
    .outcome-card,
    .usecase-card,
    .domain-dir-card,
    .layer-card,
    .tier-card,
    .combo-card,
    .panel-card,
    .ds-snapshot-card,
    .ds-content-card,
    .ds-use-card,
    .ds-drill-panel,
    .cap-card,
    .story-card,
    .realism-card,
    .modifier-card,
    .mech-card,
    .source-card,
    .boundary-card,
    .score-card,
    .life-panel,
    .spoke-card,
    .city-kpi,
    .dist-panel,
    .featured-domain-link,
    .citytwin-card,
    .verify-proof-card,
    .mode-card,
    .access-assurance,
    .panel-split-note,
    .arch-groups details
  ):hover {
    transform: translateY(-3px) ;
    border-color: var(--fcte-hover-border-light, #4E9EA2) ;
    box-shadow: 0 16px 30px -24px rgba(7, 43, 50, .48) ;
    filter: brightness(1.01);
  }
}

/* Keyboard focus receives the same restrained emphasis on linked/focusable cards. */
body.fcte-v5 :is(
  a.card,
  a.doc-card,
  a.asset-card,
  a.proof-shortcut,
  a.domain-dir-card,
  a.featured-domain-link,
  a.city-domain-card,
  a.city-feature-card,
  a.city-catalog-card,
  a.story-next-card
):focus-visible {
  outline: 2px solid var(--fcte-hover-border-light, #4E9EA2);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body.fcte-v5 :is(
    .card,.doc-card,.asset-card,.goal-card,.price-card,.spec-panel,.twin-stat,
    .domain-card,.question-box,.notice,.chain-step,.assurance,.main-kpi-panel,
    .plain-summary-stat,.city-catalog-card,.city-feature-card,.city-record-card,
    .city-domain-card,.city-cert-card,.city-proof-card,.city-audit-card,
    .city-release-card,.city-price-card,.cta-panel,.story-next-card,.journey-card,
    .chart-card,.qx-panel,.inspected-panel,.widget-view-panel,.limit-box,
    .enterprise-brief-card,.public-assurance-card,.proof-shortcut,.outcome-card,
    .usecase-card,.domain-dir-card,.layer-card,.tier-card,.combo-card,.panel-card,
    .ds-snapshot-card,.ds-content-card,.ds-use-card,.ds-drill-panel,.cap-card,
    .story-card,.realism-card,.modifier-card,.mech-card,.source-card,.boundary-card,
    .score-card,.life-panel,.spoke-card,.city-kpi,.dist-panel,.featured-domain-link,
    .citytwin-card,.verify-proof-card,.mode-card,.access-assurance,.panel-split-note,
    .arch-groups details
  ) {
    transition: none ;
  }
  body.fcte-v5 :is(
    .card,.doc-card,.asset-card,.goal-card,.price-card,.spec-panel,.twin-stat,
    .domain-card,.question-box,.notice,.chain-step,.assurance,.main-kpi-panel,
    .plain-summary-stat,.city-catalog-card,.city-feature-card,.city-record-card,
    .city-domain-card,.city-cert-card,.city-proof-card,.city-audit-card,
    .city-release-card,.city-price-card,.cta-panel,.story-next-card,.journey-card,
    .chart-card,.qx-panel,.inspected-panel,.widget-view-panel,.limit-box,
    .enterprise-brief-card,.public-assurance-card,.proof-shortcut,.outcome-card,
    .usecase-card,.domain-dir-card,.layer-card,.tier-card,.combo-card,.panel-card,
    .ds-snapshot-card,.ds-content-card,.ds-use-card,.ds-drill-panel,.cap-card,
    .story-card,.realism-card,.modifier-card,.mech-card,.source-card,.boundary-card,
    .score-card,.life-panel,.spoke-card,.city-kpi,.dist-panel,.featured-domain-link,
    .citytwin-card,.verify-proof-card,.mode-card,.access-assurance,.panel-split-note,
    .arch-groups details
  ):hover {
    transform: none ;
  }
}
/* END V5.43 FINAL — SITE-WIDE CARD HOVER CONTRACT */

/* =============================================================
   FINAL — Social Protection typography refinement
   Cleaner editorial heading face + tighter multiline rhythm.
   Applies to both Nairobi and Lagos Social Protection pages only.
   Technical labels/chips remain monospace.
   ============================================================= */
body.fcte-v5.view-domain-socialprotection .doc-section h2,
body.fcte-v5.view-domain-socialprotection .doc-section h3,
body.fcte-v5.view-domain-socialprotection .doc-section h4,
body.fcte-v5.view-domain-socialprotection .doc-section h5,
body.fcte-v5.view-domain-socialprotection .signature-line,
body.fcte-v5.view-domain-socialprotection .section-head h2,
body.fcte-v5.view-domain-socialprotection .section-head h3 {
  font-family: "Segoe UI", Arial, sans-serif ;
}

body.fcte-v5.view-domain-socialprotection .doc-section h3,
body.fcte-v5.view-domain-socialprotection .signature-line,
body.fcte-v5.view-domain-socialprotection .section-head h2,
body.fcte-v5.view-domain-socialprotection .section-head h3 {
  line-height: .96 ;
  letter-spacing: -.035em ;
}

body.fcte-v5.view-domain-socialprotection .doc-section h4,
body.fcte-v5.view-domain-socialprotection .doc-section h5 {
  line-height: 1.12 ;
  letter-spacing: -.018em ;
}

body.fcte-v5.view-domain-socialprotection .doc-section > p,
body.fcte-v5.view-domain-socialprotection .cap-card p,
body.fcte-v5.view-domain-socialprotection .boundary-card li,
body.fcte-v5.view-domain-socialprotection .story-card p,
body.fcte-v5.view-domain-socialprotection .mech-card p {
  font-family: "Segoe UI", Arial, sans-serif ;
}

@media (max-width: 760px) {
  body.fcte-v5.view-domain-socialprotection .doc-section h3,
  body.fcte-v5.view-domain-socialprotection .signature-line,
  body.fcte-v5.view-domain-socialprotection .section-head h2,
  body.fcte-v5.view-domain-socialprotection .section-head h3 {
    line-height: 1 ;
  }
}

/* =============================================================
   FINAL — Social Protection tighter multiline heading rhythm
   Tightens section subheaders and modifier-card subheaders only.
   ============================================================= */
body.fcte-v5.view-domain-socialprotection .signature-line {
  line-height: .90 ;
}

body.fcte-v5.view-domain-socialprotection .doc-section h3,
body.fcte-v5.view-domain-socialprotection .section-head h2,
body.fcte-v5.view-domain-socialprotection .section-head h3 {
  line-height: .93 ;
}

body.fcte-v5.view-domain-socialprotection .modifier-card .big {
  font-family: "Segoe UI", Arial, sans-serif ;
  line-height: .98 ;
  letter-spacing: -.025em ;
}

body.fcte-v5.view-domain-socialprotection .doc-section h4,
body.fcte-v5.view-domain-socialprotection .doc-section h5 {
  line-height: 1.02 ;
}

@media (max-width: 760px) {
  body.fcte-v5.view-domain-socialprotection .signature-line,
  body.fcte-v5.view-domain-socialprotection .doc-section h3,
  body.fcte-v5.view-domain-socialprotection .section-head h2,
  body.fcte-v5.view-domain-socialprotection .section-head h3 {
    line-height: .94 ;
  }
  body.fcte-v5.view-domain-socialprotection .modifier-card .big {
    line-height: 1 ;
  }
}

/* =============================================================
   FINAL — Social Protection realism card width normalization
   Two-card certification/realism rows fill the shared editorial canvas.
   ============================================================= */
body.fcte-v5.view-domain-socialprotection #realism .realism-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  gap: 18px ;
  width: 100%;
  max-width: none;
}
body.fcte-v5.view-domain-socialprotection #realism .realism-card {
  min-width: 0;
  padding: 24px 26px;
}
@media (max-width: 820px) {
  body.fcte-v5.view-domain-socialprotection #realism .realism-grid {
    grid-template-columns: 1fr ;
  }
}

/* ======================================================================
   FCTE Utility Domain 10/10 Contract — Water / Energy / Gas / Wastewater /
   Solid Waste. Keeps one visual grammar across Nairobi and Lagos.
   ====================================================================== */
body.utility-domain-10{
  --utility-connector: 2px;
  --utility-node-height: 44px;
  --utility-card-gap: 14px;
}

/* One schematic drawing language: crisp, technical, never filled iconography. */
body.utility-domain-10 .hero-illustration *{
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.utility-domain-10 .hero-illustration{
  overflow: visible;
}

/* Purpose/scope cards remain mathematically aligned even when copy length differs. */
body.utility-domain-10 .cap-grid{
  gap: var(--utility-card-gap);
  grid-auto-rows: 1fr;
}
body.utility-domain-10 .cap-card{
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 20px 22px;
}
body.utility-domain-10 .cap-card h4{
  min-height: 2.15em;
  display: flex;
  align-items: flex-end;
  line-height: 1.05;
}
body.utility-domain-10 .cap-card p{
  margin-top: 9px;
}

/* Shared four-stage service chain: identical card widths, arrow lanes and spacing. */
body.utility-domain-10 .utility-water-flow{
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);
  align-items: stretch;
  gap: 0;
  width: 100%;
  margin: 22px 0 26px;
}
body.utility-domain-10 .utility-water-flow .pipeline-step{
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12px 14px;
  line-height: 1.15;
  border: 1px solid var(--line);
  background: var(--panel);
  font-size: 14px;
  font-weight: 650;
}
body.utility-domain-10 .utility-water-flow .pipeline-arrow{
  min-width: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--accent-strong);
  font-size: 20.0px;
  line-height: 1;
  font-weight: 700;
}

/* Relationship diagrams: one connector weight and one node geometry across utilities. */
body.utility-domain-10 .network-wrap{
  padding: 34px 22px 24px;
}
body.utility-domain-10 .domain-tree ul::before,
body.utility-domain-10 .domain-tree li::before,
body.utility-domain-10 .domain-tree li::after,
body.utility-domain-10 .domain-tree li:last-child::before,
body.utility-domain-10 .domain-tree li:first-child::after{
  border-width: 0;
}
body.utility-domain-10 .domain-tree ul::before{
  border-left: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .domain-tree li::before,
body.utility-domain-10 .domain-tree li::after{
  border-top: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .domain-tree li::after{
  border-left: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .domain-tree li:last-child::before{
  border-right: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .domain-tree li:first-child::after{
  border-left: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .tree-node{
  min-width: 132px;
  min-height: var(--utility-node-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1.12;
  padding: 10px 14px;
}
body.utility-domain-10 .tree-node-center{
  min-width: 164px;
  min-height: 48px;
  padding: 12px 18px;
}
body.utility-domain-10 .tree-node-leaf{
  min-width: 126px;
}

/* Lifecycle/context cards line up as a single family. */
body.utility-domain-10 .modifier-row{
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: var(--utility-card-gap);
}
body.utility-domain-10 .modifier-card{
  min-width: 0;
  min-height: 154px;
  display: flex;
  flex-direction: column;
}
body.utility-domain-10 .modifier-card .big{
  line-height: 1.02;
  min-height: 2.05em;
}
body.utility-domain-10 .modifier-card .sub{
  margin-top: 8px;
}
body.utility-domain-10 .mech-grid,
body.utility-domain-10 .realism-grid{
  gap: var(--utility-card-gap);
}

/* Limitations: same rhythm, padding and summary geometry on every utility page. */
body.utility-domain-10 #limitations .doc-section > h3{
  margin-bottom: 20px;
}
body.utility-domain-10 #limitations .limit-box{
  margin: 0 0 10px;
  border-radius: 0;
}
body.utility-domain-10 #limitations .limit-box summary{
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 24px;
  align-items: center;
  column-gap: 14px;
  padding: 15px 18px;
}
body.utility-domain-10 #limitations .limit-box summary h5{
  margin: 0;
  line-height: 1.12;
}
body.utility-domain-10 #limitations .limit-body{
  padding: 0 18px 18px;
}
body.utility-domain-10 #limitations .limit-body p{
  max-width: 860px;
}
body.utility-domain-10 #limitations .inline-link{
  display: inline-block;
  margin-top: 10px;
}

@media (max-width: 820px){
  body.utility-domain-10 .modifier-row{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.utility-domain-10 .utility-water-flow{
    grid-template-columns: 1fr;
    gap: 0;
  }
  body.utility-domain-10 .utility-water-flow .pipeline-step{ min-height: 52px; }
  body.utility-domain-10 .utility-water-flow .pipeline-arrow{
    min-width: 0;
    min-height: 26px;
    transform: rotate(90deg);
  }
}
@media (max-width: 560px){
  body.utility-domain-10 .modifier-row{ grid-template-columns: 1fr; }
  body.utility-domain-10 .cap-card h4{ min-height: 0; }
  body.utility-domain-10 #limitations .limit-box summary{
    grid-template-columns: minmax(0,1fr) 22px;
    row-gap: 8px;
  }
  body.utility-domain-10 #limitations .limit-box summary .tag{
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
  }
  body.utility-domain-10 #limitations .limit-box summary .arrow{
    grid-column: 2;
    grid-row: 1;
  }
}

/* ======================================================================
   FCTE V5.43 — Utility flow connector repair
   Continuous card-to-card arrows + continuous relationship-tree paths.
   This final contract intentionally sits after all legacy domain rules.
   ====================================================================== */
body.utility-domain-10{
  --utility-flow-line: #9fb5b6;
  --utility-flow-active: #4e9ea2;
  --utility-branch-gap: 30px;
}

/* Service flow: draw a real continuous connector instead of relying on a glyph. */
body.utility-domain-10 .utility-water-flow .pipeline-arrow{
  position: relative;
  min-width: 34px;
  min-height: 58px;
  padding: 0;
  color: var(--utility-flow-line);
  font-size: 0;
  line-height: 0;
  overflow: visible;
  transition: color .16s ease;
}
body.utility-domain-10 .utility-water-flow .pipeline-arrow::before{
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: 50%;
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}
body.utility-domain-10 .utility-water-flow .pipeline-arrow::after{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translate(0,-50%) rotate(45deg);
  transform-origin: center;
}
body.utility-domain-10 .utility-water-flow .pipeline-step{
  position: relative;
  z-index: 1;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}
body.utility-domain-10 .utility-water-flow .pipeline-step:hover{
  border-color: var(--utility-flow-active);
  background: color-mix(in srgb, var(--utility-flow-active) 7%, var(--panel));
}
/* Highlight both the incoming and outgoing connector around a hovered step. */
body.utility-domain-10 .utility-water-flow .pipeline-step:hover + .pipeline-arrow,
body.utility-domain-10 .utility-water-flow .pipeline-arrow:has(+ .pipeline-step:hover){
  color: var(--utility-flow-active);
}

/* Relationship tree: eliminate inline baseline gaps so every vertical line meets a node. */
body.utility-domain-10 .domain-tree,
body.utility-domain-10 .domain-tree ul{
  list-style: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
}
body.utility-domain-10 .domain-tree{
  text-align: center;
  white-space: nowrap;
}
body.utility-domain-10 .domain-tree ul{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  padding-top: var(--utility-branch-gap);
}
body.utility-domain-10 .domain-tree li{
  display: block;
  position: relative;
  padding: var(--utility-branch-gap) 10px 0;
  margin: 0;
  text-align: center;
  vertical-align: top;
}
/* Nodes are blocks with intrinsic width: no inline baseline / descender gap below them. */
body.utility-domain-10 .domain-tree .tree-node{
  display: flex;
  width: max-content;
  max-width: 220px;
  margin: 0 auto;
}

/* Parent stem: starts one pixel inside the parent node border and reaches the child rail. */
body.utility-domain-10 .domain-tree ul::before{
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: 0;
  height: calc(var(--utility-branch-gap) + 2px);
  border: 0;
  border-left: var(--utility-connector) solid var(--line);
  transform: translateX(-50%);
  transition: border-color .16s ease;
}
/* Child rail + drop stem. */
body.utility-domain-10 .domain-tree li::before,
body.utility-domain-10 .domain-tree li::after{
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  height: calc(var(--utility-branch-gap) + 1px);
  border: 0;
  border-top: var(--utility-connector) solid var(--line);
  box-sizing: border-box;
  transition: border-color .16s ease;
}
body.utility-domain-10 .domain-tree li::before{
  right: 50%;
}
body.utility-domain-10 .domain-tree li::after{
  left: 50%;
  border-left: var(--utility-connector) solid var(--line);
}
/* Outer branch ends retain the vertical drop but remove the unused rail half. */
body.utility-domain-10 .domain-tree li:first-child::before{
  border-top-color: transparent;
}
body.utility-domain-10 .domain-tree li:last-child::after{
  border-top-color: transparent;
  border-left-color: transparent;
}
body.utility-domain-10 .domain-tree li:last-child::before{
  border-right: var(--utility-connector) solid var(--line);
}
body.utility-domain-10 .domain-tree li:first-child::after{
  border-left: var(--utility-connector) solid var(--line);
}
/* A sole child uses the parent's centered stem directly. */
body.utility-domain-10 .domain-tree li:only-child{
  padding-top: 0;
}
body.utility-domain-10 .domain-tree li:only-child::before,
body.utility-domain-10 .domain-tree li:only-child::after{
  display: none;
}

/* Hover/focus path: node AND every physical connector to the root illuminate together. */
body.utility-domain-10 .domain-tree li.path-active::before,
body.utility-domain-10 .domain-tree li.path-active::after,
body.utility-domain-10 .domain-tree ul.path-active::before{
  border-color: var(--utility-flow-active);
}
body.utility-domain-10 .domain-tree li.path-active:last-child::before{
  border-right-color: var(--utility-flow-active);
}
body.utility-domain-10 .domain-tree li.path-active:first-child::after{
  border-left-color: var(--utility-flow-active);
}
/* Keep the non-existent outside rail halves invisible even during path highlighting. */
body.utility-domain-10 .domain-tree li.path-active:first-child::before{
  border-top-color: transparent;
}
body.utility-domain-10 .domain-tree li.path-active:last-child::after{
  border-top-color: transparent;
  border-left-color: transparent;
}
/* Disclosed-boundary branches remain red when they are the active path. */
body.utility-domain-10 .domain-tree li.gap.path-active::before,
body.utility-domain-10 .domain-tree li.gap.path-active::after{
  border-color: var(--bad, #b42318);
}
body.utility-domain-10 .domain-tree li.gap.path-active:first-child::before{
  border-top-color: transparent;
}
body.utility-domain-10 .domain-tree li.gap.path-active:last-child::after{
  border-top-color: transparent;
  border-left-color: transparent;
}
body.utility-domain-10 .domain-tree li.gap.path-active:last-child::before{
  border-right-color: var(--bad, #b42318);
}
body.utility-domain-10 .domain-tree li.gap.path-active:first-child::after{
  border-left-color: var(--bad, #b42318);
}

@media (max-width: 820px){
  body.utility-domain-10 .utility-water-flow .pipeline-arrow{
    min-width: 0;
    min-height: 28px;
    width: 100%;
    transform: none;
  }
  body.utility-domain-10 .utility-water-flow .pipeline-arrow::before{
    left: 50%;
    right: auto;
    top: -1px;
    bottom: -1px;
    width: 2px;
    height: auto;
    transform: translateX(-50%);
  }
  body.utility-domain-10 .utility-water-flow .pipeline-arrow::after{
    right: auto;
    left: 50%;
    top: auto;
    bottom: 1px;
    transform: translate(-50%,0) rotate(135deg);
  }
}

/* ======================================================================
   FCTE V5.43 — Utility relationship tree geometry repair
   Render connector rails from real node positions so top rails cannot gap.
   ====================================================================== */
body.utility-domain-10 .network-wrap{
  position: relative;
}
body.utility-domain-10 .utility-tree-connectors{
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}
body.utility-domain-10 .utility-tree-connectors .utility-tree-edge{
  fill: none;
  stroke: var(--accent-strong);
  stroke-width: var(--utility-connector, 2px);
  stroke-linecap: square;
  stroke-linejoin: miter;
  vector-effect: non-scaling-stroke;
  opacity: .58;
  transition: stroke .16s ease, stroke-width .16s ease, opacity .16s ease;
}
body.utility-domain-10 .utility-tree-connectors .utility-tree-edge.is-derived{
  stroke-dasharray: 6 5;
}
body.utility-domain-10 .utility-tree-connectors .utility-tree-edge.is-boundary{
  stroke: var(--bad, #b42318);
  stroke-dasharray: 6 5;
  opacity: .78;
}
body.utility-domain-10 .utility-tree-connectors .utility-tree-edge.is-active{
  stroke: var(--utility-flow-active, #4e9ea2);
  stroke-width: 3px;
  opacity: 1;
}
body.utility-domain-10 .utility-tree-connectors .utility-tree-edge.is-boundary.is-active{
  stroke: var(--bad, #b42318);
  stroke-width: 3px;
  opacity: 1;
}
body.utility-domain-10 .network-wrap .domain-tree,
body.utility-domain-10 .network-wrap .network-readout{
  position: relative;
  z-index: 1;
}
/* Hide legacy pseudo rails only after the measured SVG connector layer is live. */
body.utility-domain-10.utility-svg-connectors-ready .domain-tree ul::before,
body.utility-domain-10.utility-svg-connectors-ready .domain-tree li::before,
body.utility-domain-10.utility-svg-connectors-ready .domain-tree li::after{
  display: none ;
}

/* ============================================================================
   FCTE V5.43 — FINAL RESPONSIVE / MOBILE + TABLET CONTRACT
   Appended last so every page family inherits one coherent responsive system.
   ============================================================================ */
:root{
  --fcte-mobile-gutter:18px;
  --fcte-tablet-gutter:28px;
  --fcte-touch:44px;
}
html{scroll-padding-top:78px}
body.fcte-v5{overflow-wrap:break-word}
body.fcte-v5 img,
body.fcte-v5 svg,
body.fcte-v5 canvas{max-width:100%}
body.fcte-v5 pre,
body.fcte-v5 code{max-width:100%}
body.fcte-v5 pre,
body.fcte-v5 .verify-code,
body.fcte-v5 .code-block{overflow-x:auto;-webkit-overflow-scrolling:touch}
body.fcte-v5 .responsive-table-wrap,
body.fcte-v5 .tablewrap,
body.fcte-v5 .table-wrap,
body.fcte-v5 .audit-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
body.fcte-v5 .responsive-table-wrap table{min-width:640px}

/* Accessible hamburger injected by responsive-site.js. */
body.fcte-v5 .responsive-nav-toggle{
  display:none;align-items:center;justify-content:center;flex-direction:column;
  gap:4px;position:relative;width:46px;height:44px;margin-left:auto;padding:0 10px;
  border:1px solid #bfd0cf;background:#fff;color:#163a42;cursor:pointer;flex:0 0 auto;
}
body.fcte-v5 .responsive-nav-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
body.fcte-v5 .responsive-nav-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body.fcte-v5 .responsive-nav-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.fcte-v5 .responsive-nav-toggle.is-open span:nth-child(2){opacity:0}
body.fcte-v5 .responsive-nav-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Hero overflow prose is intentionally moved into a body section. */
body.fcte-v5.page-family-domain .domain-context-continuation{
  background:#f7fbfa;border-bottom:1px solid var(--fd-line,#d8e4e2);padding-top:44px;padding-bottom:48px;
}
body.fcte-v5.page-family-domain .domain-context-continuation .doc-section-label{margin-bottom:10px}
body.fcte-v5.page-family-domain .domain-context-continuation h2{margin:0 0 22px;max-width:24ch}
body.fcte-v5.page-family-domain .domain-context-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px;max-width:980px}
body.fcte-v5.page-family-domain .domain-context-copy p{margin:0;font:500 15.5px/1.68 var(--fd-font);color:var(--fd-copy)}
body.fcte-v5 .audit-context-continuation{padding-top:34px;padding-bottom:38px;background:#f7fbfa;border-bottom:1px solid var(--fd-line,#d8e4e2)}
body.fcte-v5 .audit-context-continuation p{max-width:78ch;margin:10px 0 0;font-size:15.5px;line-height:1.68;color:var(--fd-copy)}

/* Domain hero: text and icon are one stable two-column composition. */
body.fcte-v5.page-family-domain .page-hero .hero-top-row{
  display:grid ;grid-template-columns:minmax(0,1fr) minmax(150px,220px) ;
  align-items:start ;gap:34px ;position:relative ;flex-wrap:nowrap ;
}
body.fcte-v5.page-family-domain .page-hero .hero-top-text{min-width:0;max-width:720px ;position:relative ;z-index:2}
body.fcte-v5.page-family-domain .page-hero .hero-illustration{
  position:static ;display:block ;width:100% ;max-width:220px ;height:auto ;
  max-height:150px ;justify-self:end ;align-self:start ;margin:14px 0 0 ;transform:none ;opacity:1;
}
body.fcte-v5.page-family-domain .page-hero .hero-top-text p:first-of-type{max-width:62ch;margin-bottom:0}

/* Reusable grids — tablet becomes two columns, phones one. */
@media (max-width:1024px){
  body.fcte-v5 header.global-header,
  body.fcte-v5 header.premium-city-header{position:sticky ;top:0 ;z-index:4000 }
  body.fcte-v5 header.global-header>.wrap,
  body.fcte-v5 .premium-city-header .pch-global{position:relative;min-height:62px ;height:62px ;padding-top:0 ;padding-bottom:0 }
  body.fcte-v5 .responsive-nav-toggle{display:flex}
  body.fcte-v5 .global-nav.responsive-nav-panel,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel{
    display:none ;position:absolute ;top:calc(100% + 1px);right:0;z-index:5000;
    width:min(430px,calc(100vw - 56px));max-height:calc(100vh - 82px);overflow-y:auto;
    margin:0 ;padding:12px ;gap:2px ;flex-direction:column ;align-items:stretch ;
    background:#fff;border:1px solid #cbd9d8;box-shadow:0 18px 40px rgba(6,22,31,.16);
  }
  body.fcte-v5 .global-nav.responsive-nav-panel.is-open,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel.is-open{display:flex }
  body.fcte-v5 .global-nav.responsive-nav-panel>a,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel>a,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fidelra-city-menu>summary{
    display:flex ;min-height:var(--fcte-touch);align-items:center;width:100%;padding:11px 12px ;font-size:14px ;border-bottom:1px solid #edf2f1;
  }
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fidelra-city-menu{width:100%}
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fidelra-city-menu-panel{
    position:static ;width:100% ;margin:0 0 8px;padding:4px 0;border:0;border-left:2px solid #dce9e7;box-shadow:none;background:#f7faf9;
  }
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fidelra-city-menu-panel a{min-height:40px;display:flex;align-items:center;padding:9px 14px;font-size:14px}
  body.responsive-nav-open{overflow:hidden}

  body.fcte-v5 .wrap,
  body.fcte-v5 header .wrap,
  body.fcte-v5 footer .wrap,
  body.fcte-v5 .premium-city-header .wrap,
  body.fcte-v5 .domain-nav .wrap{width:calc(100% - (var(--fcte-tablet-gutter) * 2)) ;max-width:none }

  body.fcte-v5 .v5-section,
  body.fcte-v5 .v5-section.tight{padding-top:64px;padding-bottom:64px}
  body.fcte-v5 .page-hero{padding-top:54px ;padding-bottom:52px }

  body.fcte-v5.page-family-domain .page-hero .hero-top-row{grid-template-columns:minmax(0,1fr) 150px ;gap:24px }
  body.fcte-v5.page-family-domain .page-hero .hero-illustration{max-width:150px ;max-height:112px ;margin-top:10px }
  body.fcte-v5.page-family-domain .page-hero h1.v5-page-title{font-size:clamp(48px,7.4vw,64px) ;max-width:11ch }
  body.fcte-v5.page-family-domain .page-hero .hero-top-text p:first-of-type{font-size:16.0px ;line-height:1.55 ;max-width:52ch}
  body.fcte-v5.page-family-domain .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr)) }
  body.fcte-v5.page-family-domain .hero-stat{min-width:0}
  body.fcte-v5.page-family-domain .domain-context-copy{grid-template-columns:1fr;gap:14px}

  body.fcte-v5 :is(.enterprise-brief-grid,.cap-grid,.mech-grid,.entity-grid,.story-grid,.realism-grid,.outcome-grid,.assurance-grid,.proof-grid,.related-grid,.price-grid,.city-grid,.proof-shortcut-grid){grid-template-columns:repeat(2,minmax(0,1fr)) }
  body.fcte-v5 :is(.modifier-row,.thesis-row){grid-template-columns:repeat(2,minmax(0,1fr)) }

  body.fcte-v5 .hero-grid,
  body.fcte-v5 .city-hero-grid,
  body.fcte-v5 .gateway-hero .hero-inner,
  body.fcte-v5 .two-col,
  body.fcte-v5 .page-layout{grid-template-columns:1fr }
  body.fcte-v5 .spec-panel{margin-top:18px}

  body.fcte-v5 .domain-hero-badges,
  body.fcte-v5 .toc,
  body.fcte-v5 .twin-widget-tabs,
  body.fcte-v5 .city-section-nav{
    display:flex ;flex-wrap:nowrap ;max-width:100%;overflow-x:auto ;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin;overscroll-behavior-inline:contain;padding-bottom:5px;
  }
  body.fcte-v5 .domain-hero-badges>a,
  body.fcte-v5 .toc>a,
  body.fcte-v5 .twin-widget-tabs>*{flex:0 0 auto;white-space:nowrap}

  body.fcte-v5 .data-path-item{grid-template-columns:38px minmax(0,1fr) auto }
  body.fcte-v5.page-family-data .ds-layout{grid-template-columns:1fr ;gap:26px }
  body.fcte-v5.page-family-data .ds-sidebar{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
  body.fcte-v5.page-family-data .ds-sidebar>*{flex:0 0 auto}
  body.fcte-v5.page-family-data .ds-domain-btn{min-height:42px;border:1px solid var(--fd-line);padding:9px 12px}
  body.fcte-v5.page-family-data .ds-sidebar-group{display:none}

  body.fcte-v5 .city-float-toggle{max-width:calc(100vw - 36px);overflow-x:auto;white-space:nowrap}
  body.fcte-v5 .audit-long-scroll{max-height:none}
}

@media (max-width:680px){
  html{scroll-padding-top:70px}
  body.fcte-v5 .wrap,
  body.fcte-v5 header .wrap,
  body.fcte-v5 footer .wrap,
  body.fcte-v5 .premium-city-header .wrap,
  body.fcte-v5 .domain-nav .wrap,
  body.fcte-v5 .audit-index-content,
  body.fcte-v5 .audit-detail-content,
  body.fcte-v5 .audit-sequence-wrap{width:calc(100% - (var(--fcte-mobile-gutter) * 2)) ;max-width:none }

  body.fcte-v5 .pch-brand,
  body.fcte-v5 .brand{font-size:14px ;white-space:nowrap}
  body.fcte-v5 .global-nav.responsive-nav-panel,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel{right:calc(var(--fcte-mobile-gutter) * -1);width:calc(100vw - (var(--fcte-mobile-gutter) * 2));max-height:calc(100dvh - 66px)}

  body.fcte-v5 .v5-section,
  body.fcte-v5 .v5-section.tight{padding-top:48px;padding-bottom:48px}
  body.fcte-v5 .page-hero{padding-top:38px ;padding-bottom:40px }

  body.fcte-v5.page-family-domain .page-hero .hero-top-row{grid-template-columns:minmax(0,1fr) 86px ;gap:12px }
  body.fcte-v5.page-family-domain .page-hero .hero-illustration{display:block ;max-width:86px ;max-height:78px ;margin-top:8px }
  body.fcte-v5.page-family-domain .page-hero h1.v5-page-title{font-size:clamp(40px,12.2vw,52px) ;line-height:.96 ;max-width:9ch ;margin-top:10px ;margin-bottom:14px }
  body.fcte-v5.page-family-domain .page-hero .hero-top-text p:first-of-type{font-size:15.5px ;line-height:1.52 ;max-width:none}
  body.fcte-v5.page-family-domain .audit-breadcrumb{font-size:14px}
  body.fcte-v5.page-family-domain .phase-pill{font-size:14px;max-width:100%;white-space:normal}
  body.fcte-v5.page-family-domain .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr)) ;margin-top:28px }
  body.fcte-v5.page-family-domain .hero-stat{padding:14px 10px ;min-height:76px}
  body.fcte-v5.page-family-domain .hero-stat:last-child:nth-child(odd){grid-column:1/-1}
  body.fcte-v5.page-family-domain .hero-stat .v{font-size:clamp(20px,6vw,27px) ;overflow-wrap:anywhere}
  body.fcte-v5.page-family-domain .hero-stat .k{font-size:14px }
  body.fcte-v5.page-family-domain .hero-footnote{font-size:14px}
  body.fcte-v5.page-family-domain .domain-context-continuation{padding-top:36px;padding-bottom:40px}
  body.fcte-v5.page-family-domain .domain-context-continuation h2{font-size:clamp(28px,8.5vw,36px) ;line-height:1.02 }
  body.fcte-v5.page-family-domain .domain-context-copy p{font-size:15.0px;line-height:1.62}

  body.fcte-v5 :is(.enterprise-brief-grid,.cap-grid,.mech-grid,.entity-grid,.story-grid,.realism-grid,.outcome-grid,.assurance-grid,.proof-grid,.related-grid,.price-grid,.city-grid,.proof-shortcut-grid,.modifier-row,.thesis-row){grid-template-columns:1fr }
  body.fcte-v5 :is(.enterprise-brief-card,.cap-card,.mech-card,.entity-card,.story-card,.realism-card,.outcome-card,.proof-shortcut){min-height:0 ;padding:17px 16px }

  body.fcte-v5 .domain-nav .wrap{display:grid ;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
  body.fcte-v5 .domain-nav-link{min-width:0;padding:10px 0}
  body.fcte-v5 .domain-nav-link.next{text-align:right}
  body.fcte-v5 .domain-nav-link .dn-k{font-size:14px}
  body.fcte-v5 .domain-nav-link .dn-v{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.fcte-v5 .domain-nav-all{font-size:14px;white-space:nowrap}

  body.fcte-v5 .hero-actions,
  body.fcte-v5 .enterprise-action-row,
  body.fcte-v5 .cta-row,
  body.fcte-v5 .data-hero-actions{display:grid ;grid-template-columns:1fr ;gap:9px }
  body.fcte-v5 .hero-actions .btn,
  body.fcte-v5 .enterprise-action-row .btn,
  body.fcte-v5 .cta-row .btn,
  body.fcte-v5 .data-hero-actions .btn{width:100%;justify-content:center;min-height:46px}

  body.fcte-v5 .stat-strip,
  body.fcte-v5 .metrics,
  body.fcte-v5 .proof-strip,
  body.fcte-v5 .hero-stat-strip,
  body.fcte-v5 .cert-score{grid-template-columns:repeat(2,minmax(0,1fr)) }
  body.fcte-v5 .twin-stat{min-width:0;padding:13px 8px }
  body.fcte-v5 .twin-stat .v{font-size:clamp(20px,6vw,27px) }

  body.fcte-v5 .data-path-item{grid-template-columns:30px minmax(0,1fr) ;gap:10px }
  body.fcte-v5 .data-path-cta{grid-column:2;margin-top:4px;white-space:normal}

  body.fcte-v5 .city-float-toggle{display:none }
  body.fcte-v5 .fpf-grid,
  body.fcte-v5 .footer-grid{grid-template-columns:1fr ;gap:26px }
  body.fcte-v5 .fpf-bottom,
  body.fcte-v5 .footer-bottom{display:flex;flex-direction:column;gap:7px;align-items:flex-start}

  body.utility-domain-10 .network-wrap{overflow-x:auto ;-webkit-overflow-scrolling:touch;padding-left:12px ;padding-right:12px }
  body.utility-domain-10 .network-wrap .domain-tree{min-width:620px}
  body.utility-domain-10 .network-readout{min-width:0}
  body.utility-domain-10 #limitations .limit-box summary{min-height:54px;padding:13px 14px}

  body.fcte-v5 .audit-sequence{grid-template-columns:1fr auto 1fr ;gap:8px }
  body.fcte-v5 .audit-sequence a{font-size:14px;min-width:0}
  body.fcte-v5 .audit-hero{padding:42px var(--fcte-mobile-gutter) }

  body.fcte-v5 .responsive-table-wrap{margin-left:calc(var(--fcte-mobile-gutter) * -1);margin-right:calc(var(--fcte-mobile-gutter) * -1);padding-left:var(--fcte-mobile-gutter);padding-right:var(--fcte-mobile-gutter)}
}

@media (max-width:420px){
  body.fcte-v5.page-family-domain .page-hero .hero-top-row{grid-template-columns:minmax(0,1fr) 70px ;gap:8px }
  body.fcte-v5.page-family-domain .page-hero .hero-illustration{max-width:70px ;max-height:64px }
  body.fcte-v5.page-family-domain .page-hero h1.v5-page-title{font-size:clamp(36px,11.5vw,46px) }
  body.fcte-v5 .stat-strip,
  body.fcte-v5 .metrics,
  body.fcte-v5 .proof-strip,
  body.fcte-v5 .hero-stat-strip,
  body.fcte-v5 .cert-score{grid-template-columns:1fr }
}

@media (prefers-reduced-motion:reduce){
  body.fcte-v5 .responsive-nav-toggle span{transition:none}
}
/* END FINAL RESPONSIVE CONTRACT */

/* Responsive finishing corrections. */
@media (max-width:680px){
  body.fcte-v5 .domain-nav-all{display:block ;text-align:center}
  body.fcte-v5 .city-toggle{display:flex ;justify-content:flex-start ;flex-wrap:nowrap ;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:5px}
  body.fcte-v5 .city-toggle > *{flex:0 0 auto}
}

/* Responsive audit additions — secondary grids and non-utility flows. */
@media (max-width:1024px){
  body.fcte-v5 :is(.rel-grid,.boundary-grid,.source-grid,.cert-grid,.evidence-tier-grid,.public-assurance-grid,.ds-snapshot-row,.ds-stat-row,.ds-use-row){grid-template-columns:repeat(2,minmax(0,1fr)) }
  body.fcte-v5.page-family-domain .network-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
}
@media (max-width:680px){
  body.fcte-v5 :is(.rel-grid,.boundary-grid,.source-grid,.cert-grid,.evidence-tier-grid,.public-assurance-grid,.ds-snapshot-row,.ds-stat-row,.ds-use-row){grid-template-columns:1fr }
  body.fcte-v5.page-family-domain .pipeline-flow:not(.utility-water-flow){display:flex ;flex-direction:column ;align-items:stretch ;gap:0 }
  body.fcte-v5.page-family-domain .pipeline-flow:not(.utility-water-flow) .pipeline-step{width:100% ;max-width:none ;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
  body.fcte-v5.page-family-domain .pipeline-flow:not(.utility-water-flow) .pipeline-arrow{width:100% ;min-height:26px;display:flex;align-items:center;justify-content:center;transform:rotate(90deg);transform-origin:center}
  body.fcte-v5.page-family-domain .network-wrap .domain-tree{min-width:560px}
  body.fcte-v5 :is(.final-cta-row,.hero-cta-row,.enterprise-relationship-row,.source-chip-row,.version-row,.meta-row,.city-pass-row){max-width:100%;flex-wrap:wrap }
}

/* ============================================================================
   FCTE V5.43 — Domain release badge + disclosure contrast contract
   Keeps the city/release marker visually consistent and the public-view notice
   readable across every domain, including tablet/mobile layouts.
   ============================================================================ */
body.fcte-v5.page-family-domain .domain-release-badge{
  display:inline-flex ;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:16px 0 0 ;
  padding:8px 12px ;
  border:1px solid rgba(78,158,162,.62);
  border-radius:999px;
  background:rgba(78,158,162,.08);
  color:#0b6f73 ;
  font-family:var(--mono) ;
  font-size:14px ;
  line-height:1.2 ;
  font-weight:650 ;
  letter-spacing:.015em;
  white-space:normal;
}
body.fcte-v5.page-family-domain .surface-dark .domain-release-badge{
  background:rgba(151,203,203,.09);
  border-color:rgba(151,203,203,.58);
  color:#aef1e9 ;
}

/* Domain disclosure follows a dark hero. Force readable copy and a bright label. */
body.fcte-v5.page-family-domain .public-disclosure-domain,
body.fcte-v5.page-family-domain .surface-dark + .public-disclosure-domain{
  background:#0b1923 ;
  border-color:rgba(151,203,203,.28) ;
  color:#e7f1f0 ;
}
body.fcte-v5.page-family-domain .public-disclosure-domain .wrap{
  color:#e7f1f0 ;
  font-weight:600;
}
body.fcte-v5.page-family-domain .public-disclosure-domain b{
  color:#72e2d7 ;
  font-weight:650 ;
}

@media (max-width:680px){
  body.fcte-v5.page-family-domain .domain-release-badge{
    padding:7px 10px ;
    font-size:14px ;
    line-height:1.25 ;
  }
  body.fcte-v5.page-family-domain .public-disclosure-domain{
    font-size:14px ;
    line-height:1.55 ;
  }
}

/* ============================================================================
   FCTE V5.43 — Domain context release badge placement refinement
   Release marker sits beneath the context copy in its own compact row.
   ============================================================================ */
body.fcte-v5.page-family-domain .domain-context-copy > .domain-release-badge{
  grid-column:1 / -1 ;
  justify-self:start ;
  align-self:start ;
  width:max-content ;
  max-width:100% ;
  margin:2px 0 0 ;
  padding:5px 9px ;
  border-radius:6px ;
  font-size:14px ;
  line-height:1.15 ;
  letter-spacing:.01em ;
}
@media (max-width:680px){
  body.fcte-v5.page-family-domain .domain-context-copy > .domain-release-badge{
    margin-top:0 ;
    padding:5px 8px ;
    border-radius:5px ;
    font-size:14px ;
    line-height:1.2 ;
  }
}


/* FCTE validated-metrics hero refinement — 2026-08-09
   City-identification KPI tiles are intentionally removed from published domain heroes.
   All remaining validated metrics and certification values are preserved. */
body[class*="page-"] .hero-stats.hero-stats-no-city,
body[class*="view-domain-"] .hero-stats.hero-stats-no-city {
  grid-template-columns: repeat(4, minmax(0, 1fr)) ;
}
body[class*="page-"] .hero-stats.hero-stats-no-city .hero-stat,
body[class*="view-domain-"] .hero-stats.hero-stats-no-city .hero-stat {
  min-width: 0;
}
body[class*="page-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(4n),
body[class*="view-domain-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(4n) {
  border-right: 0 ;
}
.hero-stat .v.hero-stat-value-nowrap {
  white-space: nowrap ;
  overflow-wrap: normal ;
  word-break: normal ;
}
@media (max-width: 900px) {
  body[class*="page-"] .hero-stats.hero-stats-no-city,
  body[class*="view-domain-"] .hero-stats.hero-stats-no-city {
    grid-template-columns: repeat(2, minmax(0, 1fr)) ;
  }
  body[class*="page-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(4n),
  body[class*="view-domain-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(4n) {
    border-right: 1px solid var(--line) ;
  }
  body[class*="page-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(2n),
  body[class*="view-domain-"] .hero-stats.hero-stats-no-city .hero-stat:nth-child(2n) {
    border-right: 0 ;
  }
}
@media (max-width: 430px) {
  .hero-stat .v.hero-stat-value-nowrap {
    font-size: clamp(15px, 5vw, 19px) ;
  }
}

/* FCTE V5.43 — KPI single-line + Civil Registration row contract — 2026-08-09 */
/* Validated numeric KPI values remain intact and render on one visual line. */
body.fcte-v5.page-family-domain .hero-stat .v.hero-stat-value-nowrap{
  white-space:nowrap ;
  overflow-wrap:normal ;
  word-break:normal ;
  hyphens:none ;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.04em;
}
@media (max-width:680px){
  body.fcte-v5.page-family-domain .hero-stat .v.hero-stat-value-nowrap{
    font-size:clamp(17px,5.1vw,23px) ;
    letter-spacing:-.045em ;
  }
}
@media (max-width:420px){
  body.fcte-v5.page-family-domain .hero-stat .v.hero-stat-value-nowrap{
    font-size:clamp(15px,4.8vw,20px) ;
  }
}

/* Civil Registration validation narratives use deliberate rows instead of
   allowing long anonymous flex text to fragment across the three-card grid. */
body.fcte-v5.page-family-domain.view-domain-civil-registration .status-line{
  display:grid ;
  grid-template-columns:8px minmax(0,1fr) ;
  align-items:start ;
  column-gap:10px ;
}
body.fcte-v5.page-family-domain.view-domain-civil-registration .status-line > .status-dot{
  margin-top:.48em ;
}
body.fcte-v5.page-family-domain.view-domain-civil-registration .status-line > .status-copy{
  display:flex ;
  flex-direction:column ;
  gap:4px ;
  min-width:0 ;
  max-width:100% ;
  overflow-wrap:normal ;
  word-break:normal ;
  hyphens:none ;
}
body.fcte-v5.page-family-domain.view-domain-civil-registration .status-copy > .status-row{
  display:block ;
  width:100% ;
}


/* FCTE cross-domain interconnections — post Domain Context */
.cross-domain-map{margin:22px 0 8px;padding:20px 0 0;border-top:1px solid rgba(15,64,66,.14)}
.cross-domain-map .cross-domain-map-label{margin-bottom:8px}
.cross-domain-map>h3{margin:0 0 8px}
.cross-domain-map>p{max-width:820px;margin:0 0 18px}
.cross-domain-map .network-wrap{margin-top:8px}
.cross-domain-map .network-readout{margin-top:16px}
.cross-domain-legend{margin:12px 0 0;font-size:14px;line-height:1.45;color:var(--muted,#5f6b6d)}
@media(max-width:760px){.cross-domain-map{margin-top:16px;padding-top:16px}.cross-domain-map .network-wrap{overflow-x:auto;padding-bottom:8px}}


/* FCTE adoption + governance layer — 2026-08-11 */
.fcte-positioning-section{border-top:1px solid rgba(10,45,50,.10)}
.fcte-inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.fcte-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fcte-compare-card.emphasis{border-top:3px solid #4e9ea2}
.assumption-envelope,.fit-contract{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(10,45,50,.14);margin-top:24px;background:#fff}.assumption-envelope>div,.fit-contract>div{padding:18px;border-right:1px solid rgba(10,45,50,.10)}.assumption-envelope>div:last-child,.fit-contract>div:last-child{border-right:0}.assumption-envelope b,.fit-contract b{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.assumption-envelope span,.fit-contract span{font-size:14px;line-height:1.45}
.validation-envelope-example{margin-top:24px;border:1px solid rgba(10,45,50,.14);background:#fff}.ve-head{padding:14px 18px;font-weight:650;border-bottom:1px solid rgba(10,45,50,.12)}.ve-row{display:grid;grid-template-columns:220px 1fr;padding:12px 18px;border-bottom:1px solid rgba(10,45,50,.08)}.ve-row:last-child{border-bottom:0}.ve-row span:first-child{font-weight:650}
.domain-fit-use{background:#f7faf9;border-top:1px solid rgba(10,45,50,.08);border-bottom:1px solid rgba(10,45,50,.08)}.domain-fit-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:32px;align-items:start}.domain-fit-grid h3{margin-top:0}.domain-fit-tags{display:flex;flex-wrap:wrap;gap:8px}.domain-fit-tags span,.use-status{display:inline-flex;padding:7px 10px;border:1px solid rgba(10,45,50,.15);font-size:14px;font-weight:650;background:#fff}.domain-fit-tags .conditional,.use-status.use-validate{border-color:#b68a28;background:#fffaf0}.domain-fit-tags .boundary,.use-status.use-boundary{border-color:#a55b5b;background:#fff6f6}.domain-fit-link{margin-top:18px}
.quickstart-grid .quickstart-card{min-height:190px}.use-class-grid .card{display:flex;flex-direction:column}.use-class-grid .use-status{margin-top:auto;align-self:flex-start}
@media(max-width:820px){.fcte-compare-grid,.domain-fit-grid{grid-template-columns:1fr}.assumption-envelope,.fit-contract{grid-template-columns:1fr 1fr}.assumption-envelope>div:nth-child(2),.fit-contract>div:nth-child(2){border-right:0}.ve-row{grid-template-columns:1fr;gap:4px}}
@media(max-width:520px){.assumption-envelope,.fit-contract{grid-template-columns:1fr}.assumption-envelope>div,.fit-contract>div{border-right:0;border-bottom:1px solid rgba(10,45,50,.10)}.assumption-envelope>div:last-child,.fit-contract>div:last-child{border-bottom:0}}


/* ============================================================================
   V5.43 — PUBLIC REFINEMENTS 2026-08-11
   City Twin principle cards, two-row Quickstart paging, and release-page parity.
   ============================================================================ */
body.fcte-v5.page-family-home .fcte-positioning-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}
body.fcte-v5.page-family-home .fcte-positioning-card{
  display:flex;
  flex-direction:column;
  min-height:220px;
  padding:24px;
  background:#fff;
  border:1px solid var(--fd-line,rgba(10,45,50,.16));
  border-top:3px solid #4e9ea2;
  border-radius:0;
}
body.fcte-v5.page-family-home .fcte-positioning-card .kicker{
  font:800 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#437f83;
}
body.fcte-v5.page-family-home .fcte-positioning-card h3{
  margin:10px 0 12px;
  font-size:22.0px;
  line-height:1.08;
}
body.fcte-v5.page-family-home .fcte-positioning-card p{
  margin:0;
  color:#4d666a;
  font-size:15.0px;
  line-height:1.62;
}
body.fcte-v5.page-family-home .fcte-positioning-card:hover,
body.fcte-v5.page-family-home .fcte-positioning-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(7,35,41,.08);
  border-color:rgba(78,158,162,.55);
}

body.page-family-marketing .quickstart-paged-grid{
  align-items:stretch;
}
body.page-family-marketing .quickstart-paged-grid .quickstart-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  border-radius:0;
}
body.page-family-marketing .quickstart-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.page-family-marketing .quickstart-status{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border:1px solid #d5e1df;
  font:800 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.06em;
}
body.page-family-marketing .quickstart-status.qs-status-live{background:#edf8f5;color:#177c70;border-color:#c9e7df}
body.page-family-marketing .quickstart-status.qs-status-partial{background:#fff9eb;color:#9a6b15;border-color:#ecd8aa}
body.page-family-marketing .quickstart-status.qs-status-planned{background:#f2f5f4;color:#6d7f80;border-color:#d9e1df}
body.page-family-marketing .quickstart-card-actions{
  margin-top:auto;
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
body.page-family-marketing .quickstart-card-actions .go,
body.page-family-marketing .quickstart-sample-link{
  font-size:14px;
  font-weight:650;
}
body.page-family-marketing .quickstart-sample-link{
  color:#527478;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.page-family-marketing .quickstart-pager{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--fd-line,#d7e2e0);
}
body.page-family-marketing .quickstart-pager-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#153d43;
  padding:8px 0;
  font-weight:650;
  cursor:pointer;
}
body.page-family-marketing .quickstart-pager-btn:first-child{justify-self:start}
body.page-family-marketing .quickstart-pager-btn:last-child{justify-self:end}
body.page-family-marketing .quickstart-pager-btn:disabled{opacity:.28;cursor:default}
body.page-family-marketing .quickstart-pager-status{
  display:flex;
  align-items:center;
  gap:9px;
  color:#6e8588;
  font:800 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}
body.page-family-marketing .quickstart-card[hidden]{display:none}

/* Release & Version History: one exact visual contract for both cities. */
body.fcte-v5.page-family-releases.release-design-parity #integrity>.wrap,
body.fcte-v5.page-family-releases.release-design-parity #history>.wrap,
body.fcte-v5.page-family-releases.release-design-parity #format>.wrap{
  max-width:1044px;
}
body.fcte-v5.page-family-releases.release-design-parity #integrity .grid.c4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
body.fcte-v5.page-family-releases.release-design-parity #integrity .card{
  min-height:210px;
  padding:22px;
  background:#fff;
  border:1px solid var(--fd-line,rgba(10,45,50,.16));
  border-top:3px solid #4e9ea2;
  border-radius:0;
}
body.fcte-v5.page-family-releases.release-design-parity #integrity .card .kicker{
  display:block;
  font:800 14px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#4e8589;
}
body.fcte-v5.page-family-releases.release-design-parity #integrity .card h3{
  margin:10px 0 10px;
  font-size:20.0px;
  line-height:1.08;
}
body.fcte-v5.page-family-releases.release-design-parity #integrity .card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#526a6e;
}
body.fcte-v5.page-family-releases.release-design-parity .release-integrity-actions{
  margin-top:22px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
body.fcte-v5.page-family-releases.release-design-parity #history .table-overflow{
  width:100%;
  border:1px solid var(--fd-line,rgba(10,45,50,.16));
  background:#fff;
}
body.fcte-v5.page-family-releases.release-design-parity #history table.ver-table{
  width:100%;
}
body.fcte-v5.page-family-releases.release-design-parity .release-changelog-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.fcte-v5.page-family-releases.release-design-parity .changelog-mock{
  height:100%;
  display:flex;
  flex-direction:column;
  border-radius:0;
  background:#fff;
  border:1px solid var(--fd-line,rgba(10,45,50,.16));
  border-top:3px solid #4e9ea2;
  padding:24px;
}
body.fcte-v5.page-family-releases.release-design-parity .changelog-mock .cl-cert{
  margin-top:auto;
  padding-top:18px;
}

@media(max-width:960px){
  body.fcte-v5.page-family-home .fcte-positioning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-releases.release-design-parity #integrity .grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  body.fcte-v5.page-family-releases.release-design-parity .release-changelog-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  body.fcte-v5.page-family-home .fcte-positioning-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-home .fcte-positioning-card{min-height:0}
  body.fcte-v5.page-family-releases.release-design-parity #integrity .grid.c4{grid-template-columns:1fr}
  body.page-family-marketing .quickstart-pager{grid-template-columns:1fr 1fr;gap:8px 14px}
  body.page-family-marketing .quickstart-pager-status{grid-column:1/-1;grid-row:1;justify-content:center;white-space:normal;text-align:center}
  body.page-family-marketing .quickstart-pager-btn:first-child{grid-column:1;grid-row:2}
  body.page-family-marketing .quickstart-pager-btn:last-child{grid-column:2;grid-row:2}
}


/* FCTE unified public data access — 2026-08-11 */
.page-unified-data .unified-data-city-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.page-unified-data .unified-data-city-btn{appearance:none;border:1px solid rgba(8,55,61,.28);background:#fff;color:#08373d;padding:10px 18px;font:800 14px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.page-unified-data .unified-data-city-btn:hover,.page-unified-data .unified-data-city-btn:focus-visible{border-color:rgba(78,158,162,.75);outline:none}
.page-unified-data .unified-data-city-btn.active{background:#08373d;color:#fff;border-color:#08373d}
.page-unified-data #free-samples{border-bottom:1px solid rgba(8,55,61,.12)}
.page-unified-data #free-samples .section-head{max-width:820px}
.page-unified-data #browser{scroll-margin-top:20px}
.page-unified-data #free-samples{scroll-margin-top:20px}
@media(max-width:600px){.page-unified-data .unified-data-city-switch{display:grid;grid-template-columns:1fr 1fr}.page-unified-data .unified-data-city-btn{width:100%}}

.page-unified-data .quickstart-card.quickstart-target{border-color:rgba(78,158,162,.8);box-shadow:0 0 0 2px rgba(78,158,162,.12)}

/* ======================================================================
   V5.43 — DATA ACCESS REDESIGN
   One calm workflow: choose city/domain → free sample or connected explorer
   → focused analytical extracts. Keeps public data functionality intact.
   ====================================================================== */
body.fcte-v5.page-family-data.data-access-redesign{
  --da-ink:#0b343a;
  --da-copy:#45646a;
  --da-line:#cfdddb;
  --da-soft:#f3f8f7;
  --da-teal:#0d8f87;
  --da-teal-dark:#08736d;
  --da-navy:#06151d;
}
body.fcte-v5.page-family-data.data-access-redesign .wrap{
  width:min(1180px,calc(100% - 64px));
  max-width:1180px;
  margin-inline:auto;
}
body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{width:min(1180px,calc(100% - 64px));max-width:1180px}
body.fcte-v5.page-family-data.data-access-redesign .page-hero{padding:78px 0 0;background:var(--da-navy)}
body.fcte-v5.page-family-data.data-access-redesign .page-hero .da-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:74px;align-items:end}
body.fcte-v5.page-family-data.data-access-redesign .page-hero h1{font-size:clamp(58px,6.5vw,88px);max-width:840px;margin:15px 0 22px;line-height:.95}
body.fcte-v5.page-family-data.data-access-redesign .data-hero-lead{font-size:18.0px;max-width:760px;color:#c4d5d8}
body.fcte-v5.page-family-data.data-access-redesign .da-hero-guide{border-top:1px solid rgba(110,211,201,.26);padding-bottom:34px}
body.fcte-v5.page-family-data.data-access-redesign .da-guide-step{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.11)}
body.fcte-v5.page-family-data.data-access-redesign .da-guide-step>span{font:800 14px/1.4 var(--fd-mono);color:#55d6c7;padding-top:4px}
body.fcte-v5.page-family-data.data-access-redesign .da-guide-step strong{display:block;color:#fff;font-size:15.0px;font-weight:850}
body.fcte-v5.page-family-data.data-access-redesign .da-guide-step small{display:block;margin-top:3px;color:#8fb1b5;font-size:14px;line-height:1.45}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.13)}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail span{padding:17px 14px 18px;border-right:1px solid rgba(255,255,255,.11);font:800 14px/1.3 var(--fd-mono);letter-spacing:.045em;text-transform:uppercase;color:#9cb9bd}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail span:first-child{padding-left:0;color:#55d6c7}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail span:last-child{border-right:0}

body.fcte-v5.page-family-data.data-access-redesign #free-samples{padding:78px 0 82px;background:#fff;border-bottom:1px solid var(--da-line)}
body.fcte-v5.page-family-data.data-access-redesign .da-section-intro{max-width:850px}
body.fcte-v5.page-family-data.data-access-redesign .da-section-number{font:800 14px/1.3 var(--fd-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--da-teal);margin-bottom:12px}
body.fcte-v5.page-family-data.data-access-redesign .da-section-intro h2,
body.fcte-v5.page-family-data.data-access-redesign .data-browser-head h2{margin:0;color:var(--da-ink);font-size:clamp(40px,4.6vw,58px);line-height:1;letter-spacing:-.047em;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .da-section-intro p,
body.fcte-v5.page-family-data.data-access-redesign .data-browser-head p{margin:14px 0 0;max-width:790px;font-size:16.5px;line-height:1.65;color:var(--da-copy)}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-toolbar{display:grid;grid-template-columns:auto minmax(250px,1fr) auto;gap:12px;align-items:center;margin:34px 0 12px;padding:12px;border:1px solid var(--da-line);background:var(--da-soft)}
body.fcte-v5.page-family-data.data-access-redesign .da-city-tabs{display:flex;gap:0;border:1px solid var(--da-line);background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .da-city-tab{appearance:none;border:0;border-right:1px solid var(--da-line);background:#fff;color:var(--da-ink);padding:11px 20px;font:850 14px/1.1 var(--fd-mono);cursor:pointer}
body.fcte-v5.page-family-data.data-access-redesign .da-city-tab:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .da-city-tab.active{background:var(--da-ink);color:#fff}
body.fcte-v5.page-family-data.data-access-redesign .da-search-field input{width:100%;min-height:42px;border:1px solid var(--da-line);background:#fff;color:var(--da-ink);padding:9px 13px;font:650 14px/1.2 var(--fd-font);outline:none}
body.fcte-v5.page-family-data.data-access-redesign .da-search-field input:focus{border-color:var(--da-teal)}
body.fcte-v5.page-family-data.data-access-redesign .da-samples-only{display:flex;align-items:center;gap:8px;padding:0 8px;font:800 14px/1.2 var(--fd-mono);color:#516d72;white-space:nowrap;cursor:pointer}
body.fcte-v5.page-family-data.data-access-redesign .da-samples-only input{accent-color:var(--da-teal)}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-meta{display:flex;align-items:center;gap:18px;margin:0 0 22px;font:750 14px/1.3 var(--fd-mono);color:#70868a}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-meta strong{color:var(--da-ink);margin-right:auto}
body.fcte-v5.page-family-data.data-access-redesign .da-dot{display:inline-block;width:8px;height:8px;border:1px solid #94aaa8;margin-right:5px;vertical-align:0}
body.fcte-v5.page-family-data.data-access-redesign .da-dot-sample{background:var(--da-teal);border-color:var(--da-teal)}
body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card{min-height:186px;padding:20px 18px;border:1px solid var(--da-line);background:#fff;display:flex;flex-direction:column;box-shadow:none;transform:none}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card[data-has-sample="1"]{border-top:3px solid var(--da-teal);padding-top:18px}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card:hover{border-color:rgba(78,158,162,.55);transform:translateY(-2px);box-shadow:0 10px 24px rgba(9,50,55,.07)}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-meta{min-height:20px;margin:0}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card h3{margin:10px 0 8px;color:var(--da-ink);font-size:18.0px;font-weight:650;line-height:1.15}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card p{margin:0;font-size:14px;line-height:1.5;color:#60787d}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions{margin-top:auto;padding-top:16px;display:flex;flex-wrap:wrap;gap:11px;align-items:center}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions a{font:800 14px/1.2 var(--fd-mono);text-decoration:none}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions .da-card-primary{color:var(--da-teal-dark)}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions .go{color:#657d82}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-status{border-radius:999px;padding:4px 7px;font-size:14px;letter-spacing:.05em}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager{margin-top:22px;padding-top:16px;border-top:1px solid var(--da-line)}

body.fcte-v5.page-family-data.data-access-redesign #browser{padding:82px 0 90px;background:#f4f8f7;border-bottom:1px solid var(--da-line)}
body.fcte-v5.page-family-data.data-access-redesign .data-browser-head{max-width:880px;margin-bottom:36px}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;margin-top:0;align-items:start}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{position:sticky;top:20px;border:1px solid var(--da-line);background:#fff;max-height:720px;overflow:auto}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label{position:sticky;top:0;z-index:3;background:#fff;padding:15px 14px;border-bottom:1px solid var(--da-line);font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-group{padding:16px 13px 7px;border:0;background:#f7faf9;color:#75898d}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn{padding:10px 13px;border:0;border-top:1px solid #e1e9e7;font-size:14px;min-height:39px}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn.active{background:var(--da-ink);color:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-main{background:#fff;border:1px solid var(--da-line);padding:30px 34px 34px}
body.fcte-v5.page-family-data.data-access-redesign .ds-head{padding-bottom:22px;border-bottom:1px solid var(--da-line)}
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{font-size:clamp(32px,3vw,44px)}
body.fcte-v5.page-family-data.data-access-redesign .ds-city-toggle{margin-top:18px;border-radius:0}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{display:flex;gap:0;margin:24px 0 0;border-bottom:1px solid var(--da-line);overflow-x:auto;scrollbar-width:none}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::-webkit-scrollbar{display:none}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#627b80;padding:12px 15px 11px;font:850 14px/1.2 var(--fd-mono);white-space:nowrap;cursor:pointer}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active{color:var(--da-ink);border-bottom-color:var(--da-teal)}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel{padding-top:4px}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[hidden]{display:none}
body.fcte-v5.page-family-data.data-access-redesign .ds-snapshot-card{padding:24px 0;border-bottom:1px solid var(--da-line)}
body.fcte-v5.page-family-data.data-access-redesign .ds-content-card{margin-top:30px}
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label.group-start{margin-top:30px;padding-top:20px}
body.fcte-v5.page-family-data.data-access-redesign .network-wrap{margin-top:15px;padding:30px 24px;background:#fbfdfd}
body.fcte-v5.page-family-data.data-access-redesign .code-block{margin-top:14px}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap{max-height:320px}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro{padding:22px 0 18px;border-bottom:1px solid var(--da-line)}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3{margin:8px 0;color:var(--da-ink);font-size:24.0px;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro p{margin:0;max-width:680px;color:var(--da-copy);font-size:14px;line-height:1.6}
body.fcte-v5.page-family-data.data-access-redesign .ds-provenance{margin-top:22px}
body.fcte-v5.page-family-data.data-access-redesign .data-domain-next{margin-top:26px;padding:24px;border:1px solid var(--da-line);background:var(--da-soft)}
body.fcte-v5.page-family-data.data-access-redesign .data-domain-next h3{font-size:22.0px}

body.fcte-v5.page-family-data.data-access-redesign #panels{padding:78px 0 82px;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .da-panels-intro{max-width:860px}
body.fcte-v5.page-family-data.data-access-redesign #panels .panel-grid{margin-top:32px;border:1px solid var(--da-line);grid-template-columns:repeat(3,minmax(0,1fr))}
body.fcte-v5.page-family-data.data-access-redesign #panels .panel-card{padding:25px 23px;min-height:260px;border-right:1px solid var(--da-line);border-bottom:0}
body.fcte-v5.page-family-data.data-access-redesign #panels .panel-card:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .panels-domain-note{margin-top:20px}
body.fcte-v5.page-family-data.data-access-redesign .story-next{padding:66px 0;background:var(--da-navy);border:0}
body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:end}
body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff h2{margin:0;color:#fff;font-size:clamp(38px,4vw,54px);line-height:1;letter-spacing:-.045em;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff p{margin:12px 0 0;max-width:690px;color:#b8cbce;font-size:15.5px;line-height:1.6}
body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff .da-section-number{color:#55d6c7}
body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff .final-cta-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:980px){
  body.fcte-v5.page-family-data.data-access-redesign .page-hero .da-hero-grid{grid-template-columns:1fr;gap:34px}
  body.fcte-v5.page-family-data.data-access-redesign .da-hero-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-bottom:0}
  body.fcte-v5.page-family-data.data-access-redesign .da-guide-step{grid-template-columns:30px 1fr;padding:15px 14px;border-right:1px solid rgba(255,255,255,.11)}
  body.fcte-v5.page-family-data.data-access-redesign .da-guide-step:last-child{border-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-toolbar{grid-template-columns:1fr 1fr}
  body.fcte-v5.page-family-data.data-access-redesign .da-search-field{grid-column:1/-1;grid-row:2}
  body.fcte-v5.page-family-data.data-access-redesign .da-samples-only{justify-self:end}
  body.fcte-v5.page-family-data.data-access-redesign .ds-layout{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{position:static;display:block;max-height:250px;overflow:auto}
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-group{grid-column:1/-1}
  body.fcte-v5.page-family-data.data-access-redesign #panels .panel-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign #panels .panel-card{border-right:0;border-bottom:1px solid var(--da-line);min-height:0}
  body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff{grid-template-columns:1fr;gap:26px}
  body.fcte-v5.page-family-data.data-access-redesign .da-final-handoff .final-cta-row{justify-content:flex-start}
}
@media(max-width:680px){
  body.fcte-v5.page-family-data.data-access-redesign .wrap,
  body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{width:calc(100% - 36px)}
  body.fcte-v5.page-family-data.data-access-redesign .page-hero{padding-top:58px}
  body.fcte-v5.page-family-data.data-access-redesign .page-hero h1{font-size:clamp(46px,13vw,64px)}
  body.fcte-v5.page-family-data.data-access-redesign .da-hero-guide{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .da-guide-step{border-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail{grid-template-columns:1fr 1fr;margin-top:42px}
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail span{padding:14px 10px;border-bottom:1px solid rgba(255,255,255,.11)}
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-rail span:first-child{padding-left:10px}
  body.fcte-v5.page-family-data.data-access-redesign #free-samples,
  body.fcte-v5.page-family-data.data-access-redesign #browser,
  body.fcte-v5.page-family-data.data-access-redesign #panels{padding:58px 0 62px}
  body.fcte-v5.page-family-data.data-access-redesign .da-section-intro h2,
  body.fcte-v5.page-family-data.data-access-redesign .data-browser-head h2{font-size:clamp(36px,10vw,48px)}
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-toolbar{display:flex;flex-direction:column;align-items:stretch}
  body.fcte-v5.page-family-data.data-access-redesign .da-city-tabs{display:grid;grid-template-columns:1fr 1fr}
  body.fcte-v5.page-family-data.data-access-redesign .da-samples-only{justify-self:auto;padding:8px 2px}
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-meta{align-items:flex-start;flex-wrap:wrap;gap:8px 14px}
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-meta strong{flex-basis:100%;margin-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .quickstart-card{min-height:160px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-main{padding:22px 18px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-group{grid-column:auto}
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{margin-left:-18px;margin-right:-18px;padding-left:8px}
}
body.fcte-v5.page-family-data.data-access-redesign .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* FCTE Data Access — deduplicated two-row domain catalog (2026-08-11) */
body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid .quickstart-card[hidden]{display:none}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-card-city{
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.065em;
  text-transform:uppercase;
  color:#73898d;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle{
  margin-top:24px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle button{
  appearance:none;
  min-width:120px;
  border:0;
  border-right:1px solid var(--da-line);
  padding:11px 18px;
  background:#fff;
  color:var(--da-ink);
  font:850 14px/1.2 var(--fd-mono);
  cursor:pointer;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle button:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle button.active{background:var(--da-ink);color:#fff}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-city-note{
  color:#6f8589;
}
@media (max-width:960px){
  body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  body.fcte-v5.page-family-data.data-access-redesign .da-domain-grid{grid-template-columns:1fr}
}

/* FCTE Data Access — compact single-line catalog pagination + clearer actions (2026-08-11) */
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid var(--da-line);
}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  border:1px solid var(--da-line);
  background:#fff;
  color:var(--da-ink);
  padding:9px 13px;
  font:850 14px/1.1 var(--fd-mono);
  cursor:pointer;
}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-btn:hover:not(:disabled),
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-btn:focus-visible{
  border-color:rgba(78,158,162,.65);
  color:var(--da-teal-dark);
  outline:none;
}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-btn:disabled{
  opacity:.32;
  cursor:default;
}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  color:#6e8588;
  font:800 14px/1.3 var(--fd-mono);
  letter-spacing:.025em;
  text-transform:none;
  white-space:nowrap;
}
body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-status span+span::before{
  content:'·';
  margin-right:8px;
  color:#9aacad;
}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions .da-card-primary{
  color:var(--da-teal-dark);
  font-weight:650;
}
body.fcte-v5.page-family-data.data-access-redesign .quickstart-card-actions .go{
  color:#536f74;
  font-weight:850;
}
@media(max-width:600px){
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:8px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-btn{
    min-width:68px;
    padding:8px 9px;
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-status{
    flex:1;
    gap:5px;
    font-size:14px;
    white-space:nowrap;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-catalog-pager .quickstart-pager-status span+span::before{
    margin-right:5px;
  }
}


/* FCTE Data Access — record drawer + complete domain navigator fix (2026-08-11) */
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label{
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label small{
  font:800 14px/1.2 var(--fd-mono);letter-spacing:.05em;color:#82969a
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag{
  min-width:48px;text-align:center
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag-sample{
  color:#087f76;background:#e9f7f4;border-color:#b9ddd7
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag-live{
  color:#355e63;background:#f4f8f7;border-color:#d6e2df
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag-partial{
  color:#866018;background:#fff8e8;border-color:#ead9ae
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag-planned{
  color:#687d81;background:#f4f7f7;border-color:#d7e0df
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn.active .tag{
  color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)
}
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint{
  margin:14px 0 8px;color:#60787d;font-size:14px;line-height:1.45
}
body.fcte-v5.page-family-data.data-access-redesign #dsRowsBody tr{cursor:pointer}
body.fcte-v5.page-family-data.data-access-redesign #dsRowsBody tr:hover{background:#f0f8f6}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-panel{
  transform:translateX(100%);
  visibility:hidden;
  pointer-events:none;
  transition:transform .2s ease,visibility 0s linear .2s;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-panel.open{
  transform:translateX(0);
  visibility:visible;
  pointer-events:auto;
  transition:transform .2s ease;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-backdrop{pointer-events:none}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-backdrop.open{pointer-events:auto}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-intro{
  margin:8px 0 0;color:#60787d;font-size:14px;line-height:1.55;clear:both
}
body.ds-drill-open{overflow:hidden}


/* FCTE Data Explorer — 10/10 sample browser polish (2026-08-18) */
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-tools{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 10px
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search{
  display:flex;align-items:center;gap:8px;min-width:260px;max-width:420px;flex:1;
  border:1px solid var(--da-line);background:#fff;padding:0 11px;color:#6f8589
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search:focus-within,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search:focus-within,
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-search:focus-within{border-color:#56a9a2;box-shadow:0 0 0 3px rgba(70,164,156,.10)}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search input,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search input,
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-search input{
  width:100%;border:0;outline:0;background:transparent;color:var(--da-ink);padding:10px 0;font:700 14px/1.25 var(--fd-mono)
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-meta{font:800 14px/1.2 var(--fd-mono);color:#6c8387;white-space:nowrap;margin-right:2px}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn{
  appearance:none;border:1px solid #cddbd8;background:#fff;color:#315e63;padding:8px 10px;
  font:850 14px/1.1 var(--fd-mono);cursor:pointer;white-space:nowrap
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn:hover,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn:focus-visible{border-color:#5ba9a2;color:#087f76;outline:none;background:#f5fbfa}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn.subtle{color:#6b8185;background:#fafcfc}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups{
  display:flex;align-items:center;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups::-webkit-scrollbar{display:none}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups .ds-group-label{
  flex:0 0 auto;font:900 14px/1.1 var(--fd-mono);letter-spacing:.06em;text-transform:uppercase;color:#87999c;margin-right:3px
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups button{
  appearance:none;flex:0 0 auto;border:1px solid #d8e4e2;background:#f8fbfa;color:#5d777b;padding:7px 9px;
  font:800 14px/1.1 var(--fd-mono);cursor:pointer
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups button:hover,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups button.active{border-color:#80beb8;background:#eaf7f4;color:#087f76}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel{
  margin:0 0 12px;border:1px solid var(--da-line);background:#fbfdfc;padding:14px
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel[hidden]{display:none}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-head>div{display:flex;flex-direction:column;gap:3px}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-head strong{font:900 14px/1.2 var(--fd-mono);color:var(--da-ink)}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-head span{font-size:14px;color:#74898d}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search{border:1px solid var(--da-line);background:#fff;padding:0 9px;min-width:210px}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-checklist{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:230px;overflow:auto;padding:3px 4px 3px 0
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice{
  min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border:1px solid #e2e9e7;background:#fff;
  font:700 14px/1.25 var(--fd-mono);color:#49666b
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice input{accent-color:#087f76}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice em{font-style:normal;font-size:14px;letter-spacing:.04em;color:#8a9b9e}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice.locked{background:#f2f8f6;border-color:#cfe4df}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-choice.locked em{color:#087f76}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #e1eae8}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap{
  position:relative;max-height:420px;background:#fff;overscroll-behavior:contain;scrollbar-gutter:stable
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap:focus{outline:2px solid rgba(68,158,151,.22);outline-offset:2px}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th{top:0;z-index:3;background:#eef5f3;color:#36575c;border-right:1px solid #d9e3e1}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td{border-right:1px solid #edf2f1;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-table .ds-pinned-col{position:sticky;z-index:2;box-shadow:1px 0 0 #d7e2df;background:#fbfdfc}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th.ds-pinned-col{z-index:5;background:#e7f2ef;color:#214f54}
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr:hover td{background:#f0f8f6}
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr:hover td.ds-pinned-col{background:#e8f5f2}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td.empty{color:#9aa9ab;background:#fcfdfd;font-style:normal}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td.empty span{
  display:inline-block;border:1px solid #e6eceb;background:#f6f8f8;color:#8c9b9e;padding:1px 5px;font:800 14px/1.25 var(--fd-mono);letter-spacing:.035em
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-empty-state{
  position:sticky;left:0;padding:26px;text-align:center;color:#74898d;font:800 14px/1.4 var(--fd-mono);background:#fff
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption{font-style:normal;line-height:1.5;color:#6e8589}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-tools{display:flex;align-items:center;gap:8px;margin:15px 0 12px}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-search{flex:1;border:1px solid var(--da-line);background:#fff;padding:0 9px}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-state .ds-null-value{color:#98a7a9;font-style:italic}
body.fcte-v5.page-family-data.data-access-redesign .ds-drill-state>div[hidden]{display:none}
@media(max-width:820px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-sample-tools{align-items:stretch;flex-direction:column}
  body.fcte-v5.page-family-data.data-access-redesign .ds-table-search{max-width:none;min-width:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-actions{justify-content:flex-start}
  body.fcte-v5.page-family-data.data-access-redesign .ds-column-panel-head{align-items:stretch;flex-direction:column}
  body.fcte-v5.page-family-data.data-access-redesign .ds-column-search{min-width:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-column-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-column-checklist{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-table-meta{flex-basis:100%}
  body.fcte-v5.page-family-data.data-access-redesign .ds-drill-tools{align-items:stretch;flex-direction:column}
}


/* FCTE data explorer — robust sticky sample-table headers (2026-08-19) */
body.fcte-v5.page-family-data.data-access-redesign .ds-table{
  border-collapse:separate;
  border-spacing:0;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table thead{
  position:sticky;
  top:0;
  z-index:8;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table thead th{
  position:sticky;
  top:0;
  z-index:9;
  background:#eef5f3;
  box-shadow:0 1px 0 #cfdcda;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table thead th.ds-pinned-col{
  z-index:12;
  background:#e7f2ef;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap{
  isolation:isolate;
}

/* FCTE data explorer — force-lock the actual column-name row during vertical grid scrolling */
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead{
  position:relative;
  top:auto;
  z-index:30;
  will-change:transform;
  background:#eef5f3;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead th{
  top:auto;
  z-index:31;
  background:#eef5f3;
  box-shadow:0 2px 0 #4f9d98;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead th.ds-pinned-col{
  z-index:34;
  background:#e7f2ef;
}


/* FCTE data explorer — always-accessible synchronized horizontal sample rail */
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail{
  display:block;
  width:100%;
  height:17px;
  margin:7px 0 -1px;
  overflow-x:auto;
  overflow-y:hidden;
  border:1px solid var(--da-line);
  border-bottom:0;
  background:#f3f8f7;
  scrollbar-width:thin;
  scrollbar-color:#6ea8a5 #e8f1ef;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail[hidden]{display:none}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail>div{height:1px}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail::-webkit-scrollbar{height:11px}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail::-webkit-scrollbar-track{background:#e8f1ef}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail::-webkit-scrollbar-thumb{background:#6ea8a5;border-radius:999px}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail::-webkit-scrollbar-thumb:hover{background:#4f9691}
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail + .ds-column-panel + .ds-table-wrap,
body.fcte-v5.page-family-data.data-access-redesign .ds-horizontal-rail + .ds-column-panel[hidden] + .ds-table-wrap{
  margin-top:0;
}

/* ======================================================================
   FCTE DATA EXPLORER — OVERVIEW + ASSURANCE POLISH (2026-08-19)
   Wider desktop canvas, denser release assurance, clearer trust hierarchy.
   Scoped to the unified data explorer only.
   ====================================================================== */
@media (min-width:1180px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:min(1420px,calc(100% - 72px));
    max-width:1420px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .data-browser-head{max-width:980px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-layout{
    grid-template-columns:250px minmax(0,1fr);
    gap:28px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-main{padding:34px 40px 38px}
}

/* Overview: preserve the content, improve scanability and use of width. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-snapshot-card{
  margin-top:18px;
  padding:20px 0 22px;
  background:transparent;
  border-left:0;
  border-right:0;
  border-top:0;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-content-card{
  margin-top:26px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table{
  table-layout:fixed;
  border:1px solid var(--da-line);
  margin-top:14px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table th{
  background:#f3f8f7;
  border-bottom:1px solid var(--da-line);
  padding:10px 14px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table th:first-child,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table td:first-child{
  width:29%;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table td{
  padding:12px 14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-use-card{
  max-width:none;
}

/* Evidence & release: compact trust dashboard instead of a loose link strip. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"] .da-assurance-intro{
  padding:20px 0 18px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"] .da-assurance-intro .ds-section-label{
  margin-top:0;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"] .da-assurance-intro h3{
  font-size:clamp(24px,2.2vw,30px);
  line-height:1.15;
  margin:8px 0 7px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-dashboard{
  margin-top:18px;
  padding-top:0;
  border-top:0;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  padding-bottom:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-head .ds-section-label{
  margin-top:0;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-head p{
  margin:6px 0 0;
  color:var(--da-copy);
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-state{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #b9d8d3;
  background:#eef8f6;
  color:#08736d;
  padding:8px 11px;
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.035em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-state::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#168c68;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-dashboard .ds-provenance-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px 0 18px;
  border-top:1px solid var(--da-line);
  border-bottom:1px solid var(--da-line);
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-metric{
  min-width:0;
  padding:11px 12px;
  background:#f7faf9;
  border-left:3px solid #9acdc7;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-metric small{
  display:block;
  margin-bottom:5px;
  color:#71888c;
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-metric strong{
  display:block;
  color:var(--da-ink);
  font:850 14px/1.3 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"title action" "desc action";
  gap:3px 18px;
  align-items:center;
  min-height:82px;
  padding:14px 16px;
  border:1px solid var(--da-line);
  background:#fff;
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a:hover,
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a:focus-visible{
  border-color:#76bdb7;
  background:#f7fbfa;
  transform:translateY(-1px);
  outline:none;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a>span{
  grid-area:title;
  color:var(--da-ink);
  font:900 14px/1.25 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a>small{
  grid-area:desc;
  color:#657d82;
  font:500 14px/1.4 var(--fd-font);
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a>b{
  grid-area:action;
  color:var(--da-teal-dark);
  font:800 14px/1.2 var(--fd-mono);
  white-space:nowrap;
}

/* Make the commercial handoff feel deliberate at the wider explorer width. */
body.fcte-v5.page-family-data.data-access-redesign .data-domain-next{
  margin-top:24px;
  padding:22px 24px;
}
body.fcte-v5.page-family-data.data-access-redesign .data-domain-next .ds-section-label{margin-top:0}

@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .da-provenance-dashboard .ds-provenance-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-data.data-access-redesign .da-proof-links{grid-template-columns:1fr}
}
@media(max-width:560px){
  body.fcte-v5.page-family-data.data-access-redesign .da-provenance-head{display:block}
  body.fcte-v5.page-family-data.data-access-redesign .da-proof-state{margin-top:12px}
  body.fcte-v5.page-family-data.data-access-redesign .da-provenance-dashboard .ds-provenance-row{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table{table-layout:auto}
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table th:first-child,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table td:first-child{width:auto}
}

/* Data Explorer terminology pass: public SQL is illustrative, not a physical schema contract. */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note{
  margin:8px 0 12px;
  max-width:860px;
  color:#60787d;
  font-size:14px;
  line-height:1.5;
}

/* ======================================================================
   Employment pricing 10/10 — buyer decision architecture
   Scoped to employment-domain-pricing.html only.
   ====================================================================== */
body.employment-pricing-10{--ep-accent:#0b8f84;--ep-accent-soft:#dff3f0;--ep-ink:#0d343a;--ep-muted:#627c81}
body.employment-pricing-10 .pricing-hero{padding-bottom:64px}
body.employment-pricing-10 .pricing-hero .pricing-hero-copy{
  max-width:800px;margin:12px 0 0;font-size:15.5px;line-height:1.7;color:#9fb8bc
}
body.employment-pricing-10 .pricing-hero .sub{font:inherit;text-transform:none;letter-spacing:0;color:#b6c9cc}
body.employment-pricing-10 .pricing-proof-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1020px;margin-top:34px;
  border-top:1px solid rgba(139,205,201,.28);border-bottom:1px solid rgba(139,205,201,.28)
}
body.employment-pricing-10 .pricing-proof-strip>div{padding:17px 22px 17px 0;margin-right:22px;border-right:1px solid rgba(139,205,201,.20)}
body.employment-pricing-10 .pricing-proof-strip>div:last-child{border-right:0;margin-right:0}
body.employment-pricing-10 .pricing-proof-strip b{display:block;font:800 14px/1.3 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#5fd0c8}
body.employment-pricing-10 .pricing-proof-strip span{display:block;margin-top:6px;font-size:14px;line-height:1.45;color:#b7cacc}

body.employment-pricing-10 .pricing-anchor-nav{
  position:sticky;top:0;z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  border-top:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)
}
body.employment-pricing-10 .pricing-anchor-nav .wrap{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
body.employment-pricing-10 .pricing-anchor-nav .wrap::-webkit-scrollbar{display:none}
body.employment-pricing-10 .pricing-anchor-nav a{
  flex:0 0 auto;padding:14px 18px 13px 0;margin-right:22px;color:#527077;text-decoration:none;
  font:800 14px/1.2 var(--fd-mono);letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid transparent
}
body.employment-pricing-10 .pricing-anchor-nav a:hover{color:#087f78;border-bottom-color:#0b9188}

body.employment-pricing-10 .pricing-notice-section{padding:30px 0;background:#f4f8f7}
body.employment-pricing-10 .pricing-notice{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;align-items:start;padding:0;
}
body.employment-pricing-10 .pricing-notice-kicker{font:800 14px/1.4 var(--fd-mono);letter-spacing:.1em;text-transform:uppercase;color:#087f78;padding-top:4px}
body.employment-pricing-10 .pricing-notice p{margin:0;max-width:880px;font-size:14px;line-height:1.65;color:#536e73}

body.employment-pricing-10 #find-fit{scroll-margin-top:52px}
body.employment-pricing-10 #tiers,
body.employment-pricing-10 #compare,
body.employment-pricing-10 #certification,
body.employment-pricing-10 #usage-rights,
body.employment-pricing-10 #faq,
body.employment-pricing-10 #extensions{scroll-margin-top:52px}

body.employment-pricing-10 #tiers .tier-card{position:relative}
body.employment-pricing-10 #tiers .tier-card.featured{padding-left:18px;padding-right:18px;margin-left:-18px;margin-right:-18px}
body.employment-pricing-10 #tiers .tier-card.bundle-tier{border-top:2px solid #8aa7a4}
body.employment-pricing-10 #tiers .tc-badge{
  display:inline-block;margin-left:7px;padding:4px 7px;border:1px solid #a9d9d4;background:#eff9f7;
  font:800 14px/1 var(--fd-mono);letter-spacing:.06em;text-transform:uppercase;color:#087f78;vertical-align:1px
}
body.employment-pricing-10 #tiers .price-row{grid-column:3;display:flex;flex-direction:column;gap:3px;margin-top:16px;padding-top:12px;border-top:1px solid #d4e1df}
body.employment-pricing-10 #tiers .price-row span{font:800 14px/1.45 var(--fd-mono);color:#087f78}

body.employment-pricing-10 .access-extensions .tier-card{position:relative}
body.employment-pricing-10 .access-extensions .tc-eyebrow{font:800 14px/1.2 var(--fd-mono);letter-spacing:.1em;text-transform:uppercase;color:#278689}
body.employment-pricing-10 .access-extensions .tc-includes-label{margin-top:20px;font:800 14px/1.3 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#647d82}
body.employment-pricing-10 .access-extensions .tc-includes{margin:8px 0 0;padding:0;list-style:none}
body.employment-pricing-10 .access-extensions .tc-includes li{position:relative;padding:4px 0 4px 18px;font-size:14px;line-height:1.55;color:var(--fd-copy)}
body.employment-pricing-10 .access-extensions .tc-includes li:before{content:"✓";position:absolute;left:0;color:#0b8f84;font-weight:650}
body.employment-pricing-10 .access-extensions .tc-cta-row{margin-top:22px}

body.employment-pricing-10 .assurance-metrics{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:32px;border-top:1px solid var(--fd-line);border-bottom:1px solid var(--fd-line)
}
body.employment-pricing-10 .assurance-metrics>div{min-height:104px;padding:22px 20px 19px 0;margin-right:20px;border-right:1px solid var(--fd-line)}
body.employment-pricing-10 .assurance-metrics>div:last-child{border-right:0;margin-right:0}
body.employment-pricing-10 .assurance-metrics strong{display:block;font-size:24.0px;line-height:1.05;letter-spacing:-.025em;color:var(--fd-deep)}
body.employment-pricing-10 .assurance-metrics span{display:block;margin-top:7px;font:700 14px/1.45 var(--fd-mono);text-transform:uppercase;letter-spacing:.05em;color:#647d82}

body.employment-pricing-10 #whats-included{background:#f8fbfb}
body.employment-pricing-10 #whats-included h2,
body.employment-pricing-10 #usage-rights h2{margin:0;max-width:900px;font-size:clamp(38px,4.7vw,56px);line-height:1.02;letter-spacing:-.045em;font-weight:650;color:var(--fd-deep)}
body.employment-pricing-10 .buyer-deliverables{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;margin-top:32px;border-top:1px solid var(--fd-line)
}
body.employment-pricing-10 .buyer-deliverables>div{padding:24px 0;border-bottom:1px solid var(--fd-line)}
body.employment-pricing-10 .buyer-deliverables b{display:block;font-size:16.0px;color:var(--fd-deep)}
body.employment-pricing-10 .buyer-deliverables span{display:block;margin-top:7px;font-size:14px;line-height:1.6;color:var(--fd-copy)}

body.employment-pricing-10 .pricing-rights-card{max-width:none;margin-top:30px;border:1px solid var(--fd-line);background:#fff}
body.employment-pricing-10 .pricing-rights-card .ds-use-row{padding:23px 24px}
body.employment-pricing-10 .pricing-rights-card .ds-use-row+ .ds-use-row{border-top:1px solid var(--fd-line)}

body.employment-pricing-10 .compare-table td{vertical-align:middle}
body.employment-pricing-10 .compare-table td:not(:first-child){color:#395b61}
body.employment-pricing-10 .compare-table tbody tr:hover td{background:#f7fbfa}

body.employment-pricing-10 .access-final .access-guide-eyebrow{color:#53c7bf}
body.employment-pricing-10 .access-final .btn.btn-ghost{border-color:#59747a;color:#e6f2f2}
body.employment-pricing-10 .access-final .btn.btn-ghost:hover{border-color:#75cfc8;color:#fff}

@media(max-width:940px){
  body.employment-pricing-10 .pricing-proof-strip{grid-template-columns:1fr 1fr}
  body.employment-pricing-10 .pricing-proof-strip>div:nth-child(2){border-right:0}
  body.employment-pricing-10 .pricing-proof-strip>div:nth-child(-n+2){border-bottom:1px solid rgba(139,205,201,.20)}
  body.employment-pricing-10 .assurance-metrics{grid-template-columns:1fr 1fr}
  body.employment-pricing-10 .assurance-metrics>div:nth-child(2){border-right:0;margin-right:0}
  body.employment-pricing-10 .assurance-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--fd-line)}
  body.employment-pricing-10 .buyer-deliverables{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body.employment-pricing-10 .pricing-anchor-nav a{padding-top:12px;padding-bottom:11px;margin-right:17px}
  body.employment-pricing-10 .pricing-notice{grid-template-columns:1fr;gap:8px}
  body.employment-pricing-10 .pricing-proof-strip{grid-template-columns:1fr}
  body.employment-pricing-10 .pricing-proof-strip>div{border-right:0;border-bottom:1px solid rgba(139,205,201,.20);margin-right:0;padding:14px 0}
  body.employment-pricing-10 .pricing-proof-strip>div:last-child{border-bottom:0}
  body.employment-pricing-10 #tiers .tier-card.featured{padding-left:0;padding-right:0;margin-left:0;margin-right:0}
  body.employment-pricing-10 #tiers .price-row{display:block;margin-top:14px}
  body.employment-pricing-10 #tiers .price-row span{display:block}
  body.employment-pricing-10 .assurance-metrics{grid-template-columns:1fr 1fr}
  body.employment-pricing-10 .assurance-metrics>div{min-height:90px}
  body.employment-pricing-10 .buyer-deliverables{grid-template-columns:1fr}
  body.employment-pricing-10 .pricing-rights-card .ds-use-row{padding:18px}
}
@media(max-width:480px){
  body.employment-pricing-10 .assurance-metrics{grid-template-columns:1fr}
  body.employment-pricing-10 .assurance-metrics>div{border-right:0;margin-right:0;border-bottom:1px solid var(--fd-line)}
  body.employment-pricing-10 .assurance-metrics>div:last-child{border-bottom:0}
}


/* Dynamic domain pricing: shared domain/city pricing context */
body.dynamic-domain-pricing .pricing-context-bar{display:flex;align-items:end;gap:14px;max-width:1020px;margin-top:26px;padding:14px 0 4px;border-top:1px solid rgba(139,205,201,.22)}
body.dynamic-domain-pricing .pricing-context-bar label{display:flex;flex-direction:column;gap:6px;color:#83aaa9;font:800 14px/1.2 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase}
body.dynamic-domain-pricing .pricing-context-bar select{min-width:190px;padding:10px 34px 10px 11px;border:1px solid #82b9b6;background:#f7fbfa;color:#0b343b;color-scheme:light;font:850 14px/1.2 var(--fd-mono);outline:none;opacity:1} body.dynamic-domain-pricing .pricing-context-bar select option{background:#fff;color:#0b343b;font-weight:700}
body.dynamic-domain-pricing .pricing-context-bar select:focus{border-color:#5fd0c8;box-shadow:0 0 0 2px rgba(95,208,200,.14)}
body.dynamic-domain-pricing .pricing-context-link{margin-left:auto;padding:10px 0;color:#76d4cd;text-decoration:none;font:800 14px/1.2 var(--fd-mono);letter-spacing:.04em;text-transform:uppercase}
body.dynamic-domain-pricing .pricing-context-link:hover{color:#fff}
@media(max-width:720px){body.dynamic-domain-pricing .pricing-context-bar{align-items:stretch;flex-direction:column}body.dynamic-domain-pricing .pricing-context-bar select{width:100%;min-width:0}body.dynamic-domain-pricing .pricing-context-link{margin-left:0}}

/* 2026-08-19: Home hero headline weight polish */
body.fcte-v5.page-family-home.page-home .page-hero .v5-page-title,
body.fcte-v5.page-family-home.page-home .hero h1.v5-page-title{
  font-weight: 950 ;
  letter-spacing: -0.072em ;
  text-rendering: geometricPrecision;
}
body.fcte-v5.page-family-home.page-home .page-hero .v5-page-title .line-1,
body.fcte-v5.page-family-home.page-home .page-hero .v5-page-title .line-2{
  display:block;
}

/* Pricing scope clarity: separate licence price from domain/city purchase unit. */
body.fcte-v5.page-family-access #tiers .tc-price .tc-price-scope{
  display:block;margin-top:7px;font:800 14px/1.3 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#587378
}
body.fcte-v5.page-family-access .compare-table .tc-price-scope{
  display:block;margin-top:4px;font:800 14px/1.3 var(--fd-mono);letter-spacing:.05em;text-transform:uppercase;color:#627b80
}
body.fcte-v5.page-family-access .compare-table small{font-size:14px;line-height:1.35;color:#627b80;font-weight:700}


/* Pricing comparison — preferred $10,000 Extended scope */
body.fcte-v5.page-family-access .compare-table th:nth-child(4),
body.fcte-v5.page-family-access .compare-table td:nth-child(4){
  background:#e8f5f3;
  border-left:2px solid #15998f;
  border-right:2px solid #15998f;
}
body.fcte-v5.page-family-access .compare-table thead th:nth-child(4){
  background:#d8efec;
  color:#0c5f5a;
  border-top:3px solid #15998f;
}
body.fcte-v5.page-family-access .compare-table tbody tr:last-child td:nth-child(4){
  border-bottom:3px solid #15998f;
}
body.fcte-v5.page-family-access .compare-table tbody tr:hover td:nth-child(4){
  background:#dff2ef;
}
body.fcte-v5.page-family-access .compare-table .popular-label{
  display:block;
  width:max-content;
  margin:7px auto 0;
  padding:4px 8px;
  border-radius:999px;
  background:#15998f;
  color:#fff;
  font:800 14px/1 var(--fd-mono);
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.fcte-v5.page-family-access .compare-table .price-row td:nth-child(4){
  color:#075f59;
  font-size:16.0px;
}


/* FCTE individual longitudinal sample tabs */
.ds-sample-mode-wrap{margin:0 0 26px;padding:18px 20px 16px;border:1px solid rgba(20,114,119,.22);background:linear-gradient(180deg,rgba(24,155,158,.055),rgba(24,155,158,.018));}
.ds-sample-mode-label{margin-bottom:8px;font-family:var(--mono,monospace);font-size:14px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:#187c80;}
.ds-sample-mode-tabs{display:inline-flex;align-items:center;border:1px solid #bfd2d4;background:#fff;padding:3px;gap:3px;}
.ds-sample-mode-tabs button{appearance:none;border:0;background:transparent;color:#506973;padding:9px 20px;min-width:104px;font:700 14px/1.1 var(--mono,monospace);letter-spacing:.035em;cursor:pointer;}
.ds-sample-mode-tabs button:hover{background:#f2f8f8;color:#173d45;}
.ds-sample-mode-tabs button.active{background:#147f82;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);}
.ds-sample-mode-copy{margin:11px 0 0;max-width:780px;font-size:14px;line-height:1.55;color:#5b7079;}
.ds-sample-mode-copy strong{color:#173d45;}
@media(max-width:640px){.ds-sample-mode-tabs{display:flex}.ds-sample-mode-tabs button{flex:1;min-width:0}.ds-sample-mode-wrap{padding:15px}}


/* Individual longitudinal presentation — normalized human view over full research extracts */
body.fcte-v5.page-family-data .ds-individual-overview{margin:0 0 28px;padding:22px;border:1px solid #d6e4e5;background:linear-gradient(180deg,#fbfefe 0%,#f7fbfb 100%);}
body.fcte-v5.page-family-data .ds-individual-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px;}
body.fcte-v5.page-family-data .ds-individual-kicker{display:block;margin-bottom:4px;font:800 14px/1.2 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#187c80;}
body.fcte-v5.page-family-data .ds-individual-section-head h3{margin:0;color:#173d45;font-size:24.0px;line-height:1.2;}
body.fcte-v5.page-family-data .ds-individual-city{white-space:nowrap;padding:7px 10px;border:1px solid #c9dcdd;background:#fff;color:#526c75;font:700 14px/1 var(--mono,monospace);letter-spacing:.04em;}
body.fcte-v5.page-family-data .ds-individual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;}
body.fcte-v5.page-family-data .ds-individual-card{padding:18px;border:1px solid #dce7e8;background:#fff;}
body.fcte-v5.page-family-data .ds-individual-card-label{margin-bottom:9px;font:800 14px/1.2 var(--mono,monospace);letter-spacing:.11em;text-transform:uppercase;color:#70858d;}
body.fcte-v5.page-family-data .ds-profile-id{margin-bottom:14px;color:#173d45;font-weight:700;font-size:14px;}
body.fcte-v5.page-family-data .ds-individual-card h4{margin:0 0 4px;color:#173d45;font-size:17.0px;}
body.fcte-v5.page-family-data .ds-employer-context{margin:0 0 13px;color:#637880;font-size:14px;}
body.fcte-v5.page-family-data .ds-individual-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;}
body.fcte-v5.page-family-data .ds-individual-card dl>div{padding:8px 0;border-top:1px solid #edf2f2;}
body.fcte-v5.page-family-data .ds-individual-card dl>div:nth-child(odd){padding-right:14px;}
body.fcte-v5.page-family-data .ds-individual-card dt{margin:0 0 2px;color:#7a8c92;font:700 14px/1.2 var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;}
body.fcte-v5.page-family-data .ds-individual-card dd{margin:0;color:#294b52;font-size:14px;font-weight:650;overflow-wrap:anywhere;}
body.fcte-v5.page-family-data .ds-context-note{margin:12px 0 0;color:#829197;font-size:14px;line-height:1.45;}
body.fcte-v5.page-family-data .ds-status-pill{display:inline-flex;padding:3px 7px;border:1px solid rgba(24,124,128,.24);background:rgba(24,124,128,.06);color:#187c80;font:800 14px/1 var(--mono,monospace);letter-spacing:.04em;text-transform:uppercase;}
body.fcte-v5.page-family-data .ds-individual-metrics{display:grid;grid-template-columns:repeat(5,1fr);margin-top:14px;border:1px solid #dce7e8;background:#fff;}
body.fcte-v5.page-family-data .ds-individual-metrics>div{padding:13px 14px;border-right:1px solid #e4ecec;}
body.fcte-v5.page-family-data .ds-individual-metrics>div:last-child{border-right:0;}
body.fcte-v5.page-family-data .ds-individual-metrics small{display:block;margin-bottom:4px;color:#7c8e94;font:700 14px/1.2 var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;}
body.fcte-v5.page-family-data .ds-individual-metrics strong{color:#173d45;font-size:15.0px;}
body.fcte-v5.page-family-data .ds-career-journey{margin-top:14px;padding:17px 18px;border:1px solid #dce7e8;background:#fff;overflow:hidden;}
body.fcte-v5.page-family-data .ds-career-track{position:relative;display:flex;align-items:flex-start;gap:0;padding:8px 8px 2px;}
body.fcte-v5.page-family-data .ds-career-track:before{content:"";position:absolute;left:24px;right:24px;top:15px;height:2px;background:#c9dddd;}
body.fcte-v5.page-family-data .ds-career-step{position:relative;z-index:1;flex:1;min-width:110px;padding-right:14px;}
body.fcte-v5.page-family-data .ds-career-dot{display:block;width:14px;height:14px;margin-bottom:8px;border:3px solid #fff;border-radius:50%;background:#187c80;box-shadow:0 0 0 1px #8dbfc0;}
body.fcte-v5.page-family-data .ds-career-date{margin-bottom:2px;color:#73888f;font:700 14px/1.2 var(--mono,monospace);}
body.fcte-v5.page-family-data .ds-career-step strong{display:block;color:#173d45;font-size:14px;}
body.fcte-v5.page-family-data .ds-career-step small{display:block;margin-top:2px;color:#7a8c92;font-size:14px;}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-employment-event.salary-change td{background:rgba(24,155,158,.055);font-weight:650;}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-employment-event.salary-change td:nth-child(1),
body.fcte-v5.page-family-data .ds-table tbody tr.ds-employment-event.salary-change td:nth-child(2){background:#eef9f8;}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-employment-event.career-event td{background:rgba(51,99,132,.035);}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-health-event.referral-event td{background:rgba(24,155,158,.05);font-weight:620;}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-health-event.diagnosis-event td{background:rgba(51,99,132,.035);}
body.fcte-v5.page-family-data .ds-table tbody tr.ds-health-event.abnormal-lab-event td{background:rgba(172,112,34,.065);font-weight:620;}
body.fcte-v5.page-family-data .ds-care-journey .ds-health-step strong{max-width:150px;overflow-wrap:anywhere;}

@media(max-width:820px){
  body.fcte-v5.page-family-data .ds-individual-grid{grid-template-columns:1fr;}
  body.fcte-v5.page-family-data .ds-individual-metrics{grid-template-columns:repeat(2,1fr);}
  body.fcte-v5.page-family-data .ds-individual-metrics>div{border-bottom:1px solid #e4ecec;}
  body.fcte-v5.page-family-data .ds-career-track{overflow-x:auto;min-width:0;}
  body.fcte-v5.page-family-data .ds-career-step{flex:0 0 150px;}
}
@media(max-width:540px){
  body.fcte-v5.page-family-data .ds-individual-overview{padding:16px;}
  body.fcte-v5.page-family-data .ds-individual-section-head{display:block;}
  body.fcte-v5.page-family-data .ds-individual-city{display:inline-flex;margin-top:10px;}
  body.fcte-v5.page-family-data .ds-individual-card dl{grid-template-columns:1fr;}
  body.fcte-v5.page-family-data .ds-individual-metrics{grid-template-columns:1fr 1fr;}
}

/* ======================================================================
   FCTE V5.43 — persistent opaque site header
   Keeps the primary navigation visible on every page while ensuring page
   content never shows through the header during scroll.
   ====================================================================== */
body.fcte-v5 header.global-header,
body.fcte-v5 header.premium-city-header {
  position: sticky ;
  top: 0 ;
  z-index: 5000 ;
  background: #f9fbfb ;
  background-color: #f9fbfb ;
  opacity: 1 ;
  backdrop-filter: none ;
  -webkit-backdrop-filter: none ;
  border-bottom: 1px solid var(--fd-line-soft, #dde8e6) ;
  box-shadow: 0 1px 0 rgba(13, 48, 54, 0.03) ;
  isolation: isolate;
}

/* Keep both rows of the city header fully opaque. */
body.fcte-v5 header.premium-city-header .pch-global {
  background: #f9fbfb ;
}
body.fcte-v5 header.premium-city-header .pch-citybar {
  background: #ffffff ;
}

/* The Data sidebar should stop below the persistent global header. */
body.fcte-v5.view-data .ds-sidebar {
  top: 84px;
}

/* Mobile header remains opaque when the navigation menu is opened. */
@media (max-width: 1024px) {
  body.fcte-v5 header.global-header,
  body.fcte-v5 header.premium-city-header,
  body.fcte-v5 header.global-header > .wrap,
  body.fcte-v5 header.premium-city-header .pch-global {
    background-color: #f9fbfb ;
  }
}


/* ======================================================================
   FCTE V5.43 — audit subsection typography alignment
   Audit index/detail subsection headings use the same authoritative
   section-title scale and real font weight as the rest of the city site.
   ====================================================================== */
body.fcte-v5.page-family-audits-index .group > h2,
body.fcte-v5.page-family-audits-index .section-head > h2,
body.fcte-v5.page-family-audits-index section > h2,
body.fcte-v5.page-family-audit-detail .section-head > h2,
body.fcte-v5.page-family-audit-detail .audit-summary-head > h2,
body.fcte-v5.page-family-audit-detail section > h2 {
  font-family: var(--fd-font) ;
  font-size: var(--fd-section-title-size) ;
  font-weight: var(--fd-section-title-weight) ;
  line-height: var(--fd-section-title-line) ;
  letter-spacing: var(--fd-section-title-track) ;
}

/* ======================================================================
   FCTE V5.43 — domain subsection typography alignment
   All true domain subsection headings use the same authoritative section
   title scale/weight used across the rest of the site. Compact card and
   CTA headings keep their intentionally smaller component hierarchy.
   ====================================================================== */
body.fcte-v5.page-family-domain .doc-section > h2,
body.fcte-v5.page-family-domain .doc-section > h3,
body.fcte-v5.page-family-domain .section-head > h2,
body.fcte-v5.page-family-domain .section-head > h3,
body.fcte-v5.page-family-domain .domain-fit-grid > div:first-child > h3,
body.fcte-v5.page-family-domain .cross-domain-map > h3 {
  font-family: var(--fd-font) ;
  font-size: var(--fd-section-title-size) ;
  font-weight: var(--fd-section-title-weight) ;
  line-height: var(--fd-section-title-line) ;
  letter-spacing: var(--fd-section-title-track) ;
}



/* FCTE public download counters */
.fcte-download-count{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-left:.55rem;
  padding:3px 8px;
  border:1px solid #c7dfdc;
  border-radius:999px;
  background:#eef7f6;
  color:#31565d;
  font-family:var(--fd-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);
  font-size:.72rem;
  font-weight:650;
  line-height:1.25;
  letter-spacing:.01em;
  white-space:nowrap;
  vertical-align:middle;
}
.quickstart-card-actions .fcte-download-count,
.doc-card .fcte-download-count{
  margin-left:.4rem;
}
.ds-download-btn + .fcte-download-count{
  margin-left:.65rem;
}
@media (max-width:640px){
  .fcte-download-count{font-size:.72rem;margin-left:.4rem;}
}


/* ======================================================================
   FCTE V5.43 — market launch + mobile finishing pass
   Two-city launch prominence, signed-artifact trust cues and stronger
   narrow-screen affordances. No pricing, KPI or dataset values changed.
   ====================================================================== */
body.fcte-v5.page-home .launch-availability{
  background:#f7fbfa;
  border-bottom:1px solid var(--fd-line,#d8e4e2);
}
body.fcte-v5.page-home .launch-availability-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:26px;
}
body.fcte-v5.page-home .launch-availability-head>div:first-child{max-width:820px}
body.fcte-v5.page-home .launch-availability-head h2{
  margin:9px 0 11px;
  color:var(--ink,#0c2730);
  font-family:var(--font-display,var(--fd-font,Inter,Arial,sans-serif));
  font-size:clamp(32px,4.2vw,48px);
  font-weight:650;
  line-height:1.04;
  letter-spacing:-.045em;
}
body.fcte-v5.page-home .launch-availability-head p{
  margin:0;
  max-width:72ch;
  color:var(--ink-2,#50666c);
  font-size:15.5px;
  line-height:1.65;
}
body.fcte-v5.page-home .launch-availability-status{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  border:1px solid #b9d8d3;
  background:#fff;
  color:#08736d;
  font:800 14px/1.2 var(--mono,monospace);
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.fcte-v5.page-home .launch-city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.fcte-v5.page-home .launch-city-card{
  min-width:0;
  padding:24px;
  border:1px solid var(--fd-line,#d8e4e2);
  border-top:3px solid #7fcac3;
  background:#fff;
}
body.fcte-v5.page-home .launch-city-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
body.fcte-v5.page-home .launch-city-name{color:var(--ink,#0c2730);font-size:20.0px;font-weight:650;letter-spacing:-.025em}
body.fcte-v5.page-home .launch-city-live{
  flex:0 0 auto;padding:5px 8px;background:#e8f6f2;color:#08736d;
  font:800 14px/1 var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;
}
body.fcte-v5.page-home .launch-city-card>p{margin:12px 0 0;color:var(--ink-2,#50666c);font-size:14px;line-height:1.6}
body.fcte-v5.page-home .launch-city-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
body.fcte-v5.page-home .launch-city-tags span{
  padding:5px 8px;border:1px solid #d5e4e2;background:#f7faf9;color:#506c72;
  font:750 14px/1 var(--mono,monospace);letter-spacing:.035em;text-transform:uppercase;
}
body.fcte-v5.page-home .launch-trust-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:18px;padding-top:14px;border-top:1px solid #e2ebea;
}
body.fcte-v5.page-home .launch-trust-badge{
  display:inline-flex;align-items:center;gap:6px;color:#08736d;
  font:850 14px/1.2 var(--mono,monospace);letter-spacing:.025em;text-transform:uppercase;
}
body.fcte-v5.page-home .launch-trust-row a{color:#28727a;font:800 14px/1.2 var(--mono,monospace);text-decoration:none}
body.fcte-v5.page-home .launch-trust-row a:hover{text-decoration:underline}
body.fcte-v5.page-home .launch-city-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}

/* Signed sample indicator: shown only for files present in the signed city manifests. */
.fcte-integrity-badge{
  display:inline-flex;
  align-items:center;
  margin-left:.45rem;
  padding:3px 6px;
  border:1px solid #b9d8d3;
  background:#eef8f6;
  color:#08736d ;
  font-size:.66rem;
  font-weight:650;
  line-height:1.1;
  letter-spacing:.025em;
  text-transform:uppercase;
  text-decoration:none ;
  white-space:nowrap;
  vertical-align:middle;
}
.fcte-integrity-badge:hover,.fcte-integrity-badge:focus-visible{border-color:#6fb9b1;background:#e4f4f1;outline:none}

/* Mobile table affordance: retain research-grade tables but make horizontal
   interaction explicit rather than silently clipping dense matrices. */
@media(max-width:680px){
  body.fcte-v5 .responsive-table-wrap{position:relative;padding-top:24px}
  body.fcte-v5 .responsive-table-wrap::before{
    content:"Swipe horizontally to view all columns →";
    position:absolute;top:2px;left:var(--fcte-mobile-gutter,18px);
    color:#71868a;font:750 14px/1.2 var(--fd-mono,var(--mono,monospace));
    letter-spacing:.035em;text-transform:uppercase;pointer-events:none;
  }
  body.fcte-v5 .responsive-table-wrap{scrollbar-color:#75aaa6 #e8f1ef;scrollbar-width:thin}
  body.fcte-v5 .responsive-table-wrap::-webkit-scrollbar{height:10px}
  body.fcte-v5 .responsive-table-wrap::-webkit-scrollbar-track{background:#e8f1ef}
  body.fcte-v5 .responsive-table-wrap::-webkit-scrollbar-thumb{background:#75aaa6;border-radius:999px}

  body.fcte-v5.page-home .hero h1.v5-page-title{font-size:clamp(43px,13vw,54px) ;line-height:.98 ;letter-spacing:-.055em }
  body.fcte-v5.page-home .hero p.lead{font-size:16.0px;line-height:1.55}
  body.fcte-v5.page-home .spec-cell{padding:15px 14px}
  body.fcte-v5.page-home .spec-value{font-size:clamp(22px,7vw,28px)}

  body.fcte-v5:not(.page-family-domain).page-family-access .page-hero .v5-page-title,
  body.fcte-v5:not(.page-family-domain).page-family-data .page-hero .v5-page-title,
  body.fcte-v5.page-family-city-overview .page-hero .v5-page-title,
  body.fcte-v5.page-family-audit-detail .page-hero .v5-page-title,
  body.fcte-v5.page-family-audits-index .page-hero .v5-page-title,
  body.fcte-v5.page-family-releases .page-hero .v5-page-title{
    font-size:clamp(38px,11vw,50px) ;
    line-height:.99 ;
    letter-spacing:-.045em ;
    overflow-wrap:anywhere;
  }

  body.fcte-v5.page-home .launch-availability-head{display:block;margin-bottom:20px}
  body.fcte-v5.page-home .launch-availability-status{margin-top:14px;white-space:normal}
  body.fcte-v5.page-home .launch-city-grid{grid-template-columns:1fr}
  body.fcte-v5.page-home .launch-city-card{padding:18px 16px}
  body.fcte-v5.page-home .launch-city-top{align-items:flex-start}
  body.fcte-v5.page-home .launch-city-actions{display:grid;grid-template-columns:1fr}
  body.fcte-v5.page-home .launch-city-actions .btn{width:100%;justify-content:center;min-height:46px}
  body.fcte-v5.page-home .launch-trust-row{align-items:flex-start;flex-direction:column;gap:8px}

  body.fcte-v5.page-family-data .ds-individual-metrics{grid-template-columns:1fr 1fr }
  body.fcte-v5.page-family-data .ds-individual-metrics>div:nth-child(2n){border-right:0}
  body.fcte-v5.page-family-data .ds-career-track{padding-bottom:10px;scrollbar-width:thin}
  body.fcte-v5.page-family-data .ds-sample-tools{min-width:0}
  body.fcte-v5.page-family-data .ds-table-tool-actions>*{max-width:100%}

  body.fcte-v5.page-family-access #tiers .tier-card{padding-left:16px ;padding-right:16px }
  body.fcte-v5.page-family-access .tc-top{min-width:0}
  body.fcte-v5.page-family-access .tc-price{overflow-wrap:anywhere}
  body.fcte-v5.page-family-access .pricing-context-bar{max-width:100%}
  body.fcte-v5.page-family-access .pricing-context-bar label{width:100%}
}

@media(max-width:420px){
  body.fcte-v5.page-home .hero h1.v5-page-title{font-size:clamp(40px,12.2vw,48px) }
  body.fcte-v5.page-home .spec-panel{grid-template-columns:1fr}
  body.fcte-v5.page-home .spec-cell:last-child{grid-column:auto}
  body.fcte-v5.page-home .launch-city-top{display:block}
  body.fcte-v5.page-home .launch-city-live{display:inline-flex;margin-top:8px}
  body.fcte-v5.page-family-data .ds-individual-metrics{grid-template-columns:1fr }
  .fcte-download-count,.fcte-integrity-badge{display:inline-flex;margin-top:6px;margin-left:0;margin-right:.4rem}
}


/* 2026-08-20: Access/pricing conversion clarity */
body.fcte-v5.page-family-access .access-price-card .kicker{font-weight:650 ;color:#0b7778}
body.fcte-v5.page-family-access .access-price-card .access-price-cta{margin-top:18px}
body.fcte-v5.page-family-access .access-price-card .access-price-cta.btn{min-height:38px;padding:0 13px;font-size:14px}
body.fcte-v5.page-family-access .access-compare-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
body.fcte-v5.page-family-access .access-compare .compare-note{font-weight:600;color:#47666c}
body.fcte-v5.page-family-access .access-compare h2 + .section-sub{margin-bottom:0}
@media(max-width:700px){body.fcte-v5.page-family-access .access-compare-actions .btn{width:100%}}

/* ============================================================================
   V5.43 FINAL — AUDIT DETAIL LAYOUT NORMALIZATION
   One authoritative audit-detail sequence for Lagos + Nairobi:
   hero -> public disclosure -> audit navigation -> context/summary -> findings.
   Removes legacy double-padding that produced large empty vertical bands.
   ============================================================================ */
body.fcte-v5.page-family-audit-detail main{
  width:100% ;
  max-width:none ;
  margin:0 ;
  padding:0 ;
}

/* Every audit starts immediately with the same full-bleed dark hero. */
body.fcte-v5.page-family-audit-detail .audit-hero,
body.fcte-v5.page-family-audit-detail .masthead.audit-hero,
body.fcte-v5.page-family-audit-detail section.audit-hero{
  width:100% ;
  max-width:none ;
  margin:0 ;
  padding:0 ;
  background:var(--fd-night) ;
  color:#fff ;
  border:0 ;
}
body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
  width:min(var(--fd-site-content-w,980px),calc(100% - 64px)) ;
  max-width:var(--fd-site-content-w,980px) ;
  margin:0 auto ;
  padding:64px 0 60px ;
}
body.fcte-v5.page-family-audit-detail .audit-hero h1,
body.fcte-v5.page-family-audit-detail .audit-hero h1.v5-page-title{
  margin:14px 0 20px ;
  max-width:16ch ;
  font-family:var(--fd-font) ;
  font-size:clamp(52px,5.15vw,70px) ;
  font-weight:650 ;
  line-height:.98 ;
  letter-spacing:-.05em ;
  color:#fff ;
  text-wrap:balance;
}
body.fcte-v5.page-family-audit-detail .audit-hero .audit-hero-inner > p:not(.eyebrow){
  max-width:820px ;
  margin-bottom:0 ;
  color:#cbd8db ;
}

/* The disclosure bar is always the second audit surface — directly under hero. */
body.fcte-v5.page-family-audit-detail .public-disclosure-audit{
  width:100% ;
  margin:0 ;
  background:#0b1923 ;
  color:rgba(255,255,255,.76) ;
  border-top:1px solid rgba(151,203,203,.22) ;
  border-bottom:1px solid rgba(151,203,203,.22) ;
}
body.fcte-v5.page-family-audit-detail .public-disclosure-audit > .wrap{
  padding-top:11px ;
  padding-bottom:11px ;
  font-size:14px ;
  line-height:1.5 ;
}
body.fcte-v5.page-family-audit-detail .public-disclosure-audit b{
  color:#97cbcb ;
}

/* Audit sequence belongs below the disclosure, never above the hero. */
body.fcte-v5.page-family-audit-detail .audit-sequence-wrap{
  margin-top:0 ;
  margin-bottom:0 ;
  padding:0 ;
  background:#f7faf9;
}
body.fcte-v5.page-family-audit-detail .audit-sequence{
  min-height:58px ;
  margin:0 ;
  padding:13px 0 ;
  border-top:0 ;
  border-bottom:1px solid var(--fd-line) ;
  background:transparent ;
  font-size:14px ;
  font-weight:750 ;
}

/* Optional context follows navigation and uses a compact editorial band. */
body.fcte-v5.page-family-audit-detail .audit-context-continuation{
  margin:0 ;
  padding:30px 0 32px ;
  background:#f7fbfa ;
  border-bottom:1px solid var(--fd-line,#d8e4e2) ;
}
body.fcte-v5.page-family-audit-detail .audit-context-continuation p{
  margin:9px 0 0 ;
}

/* Remove legacy wrapper padding. Child sections own the vertical rhythm. */
body.fcte-v5.page-family-audit-detail .audit-summary-wrap,
body.fcte-v5.page-family-audit-detail .audit-detail-content{
  margin-top:0 ;
  margin-bottom:0 ;
  padding-top:0 ;
  padding-bottom:0 ;
}
body.fcte-v5.page-family-audit-detail .audit-summary-section{
  margin:0 ;
  padding:44px 0 34px ;
}
body.fcte-v5.page-family-audit-detail .audit-summary-section .audit-statbar{
  margin-top:24px ;
}

/* One consistent section rhythm instead of wrapper padding + section padding. */
body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section{
  margin:0 ;
  padding:46px 0 ;
}
body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section + section.v5-section{
  border-top:1px solid var(--fd-line) ;
}
body.fcte-v5.page-family-audit-detail .audit-detail-content > .methodology-note,
body.fcte-v5.page-family-audit-detail .methodology-note{
  margin-top:0 ;
  margin-bottom:38px ;
}

/* Shared heading placement/measure on every audit detail. */
body.fcte-v5.page-family-audit-detail :is(.audit-summary-head,.section-head){
  max-width:860px ;
}
body.fcte-v5.page-family-audit-detail :is(.audit-summary-head,.section-head) > .eyebrow{
  display:block;
  margin:0 0 10px ;
}
body.fcte-v5.page-family-audit-detail :is(.audit-summary-head,.section-head) > h2{
  margin:0 0 14px ;
  font-size:clamp(34px,3.8vw,48px) ;
  font-weight:650 ;
  line-height:1.04 ;
  letter-spacing:-.035em ;
}
body.fcte-v5.page-family-audit-detail :is(.audit-summary-head,.section-head) > p{
  margin:0 ;
  max-width:760px ;
}

@media(max-width:760px){
  body.fcte-v5.page-family-audit-detail .audit-hero > .audit-hero-inner{
    width:calc(100% - 36px) ;
    padding:46px 0 44px ;
  }
  body.fcte-v5.page-family-audit-detail .audit-hero h1,
  body.fcte-v5.page-family-audit-detail .audit-hero h1.v5-page-title{
    max-width:12ch ;
    font-size:clamp(42px,11.8vw,58px) ;
  }
  body.fcte-v5.page-family-audit-detail .audit-sequence{
    min-height:0 ;
    padding:12px 0 ;
  }
  body.fcte-v5.page-family-audit-detail .audit-context-continuation{
    padding:24px 0 26px ;
  }
  body.fcte-v5.page-family-audit-detail .audit-summary-section{
    padding:34px 0 26px ;
  }
  body.fcte-v5.page-family-audit-detail .audit-detail-content > section.v5-section{
    padding:36px 0 ;
  }
}
/* END AUDIT DETAIL LAYOUT NORMALIZATION */


/* ======================================================================
   FCTE V5.43 — ACCESS + PRICING 10/10 CLARITY / TYPOGRAPHY
   One visual hierarchy for city Access gateways and canonical pricing.
   ====================================================================== */
body.fcte-v5.page-family-access .v5-section > .wrap > h2,
body.fcte-v5.page-family-access .access-domain-intro h2,
body.fcte-v5.page-family-access .access-final h2,
body.fcte-v5.page-family-access .pricing-value-main > h2 {
  font-family:var(--fd-font) ;
  font-size:var(--fd-section-title-size) ;
  font-weight:var(--fd-section-title-weight) ;
  line-height:var(--fd-section-title-line) ;
  letter-spacing:var(--fd-section-title-track) ;
  color:var(--fd-deep) ;
}
body.fcte-v5.page-family-access .surface-dark > .wrap > h2,
body.fcte-v5.page-family-access .access-final h2{color:#fff }
body.fcte-v5.page-family-access h3.section-sub{
  max-width:820px ;
  margin-top:14px ;
  font-family:var(--fd-font) ;
  font-size:17.5px ;
  font-weight:650 ;
  line-height:1.58 ;
  letter-spacing:-.012em ;
  color:#31575d ;
}
body.fcte-v5.page-family-access .surface-dark h3.section-sub,
body.fcte-v5.page-family-access .access-final h3.section-sub{color:#c4d5d7 }
body.fcte-v5.page-family-access .access-path-card h3{
  font-family:var(--fd-font) ;font-weight:650 ;letter-spacing:-.025em 
}
body.fcte-v5.page-family-access .domain-access-card h4{
  font-family:var(--fd-font) ;font-weight:650 ;letter-spacing:-.025em 
}
body.fcte-v5.page-family-access .access-meaning-strip{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;
  border:1px solid #c9d9d8;background:#f6faf9
}
body.fcte-v5.page-family-access .access-meaning-strip>div{padding:16px 18px;border-right:1px solid #d5e1e0}
body.fcte-v5.page-family-access .access-meaning-strip>div:last-child{border-right:0}
body.fcte-v5.page-family-access .access-meaning-strip b{display:block;margin-bottom:5px;color:#0b343b;font-size:14px;font-weight:650}
body.fcte-v5.page-family-access .access-meaning-strip span{display:block;color:#536f74;font-size:14px;line-height:1.5}
body.fcte-v5.page-family-access .access-pricing-rule{margin-top:18px}
body.fcte-v5.page-family-access .access-price-card .kicker{font-weight:650 }
body.fcte-v5.page-family-access .domain-tip{font-weight:650}
body.fcte-v5.page-family-access .access-domain-intro{align-items:start}
body.fcte-v5.page-family-access .access-paths{border-bottom:1px solid var(--fd-line)}
body.fcte-v5.page-family-access .pricing-context-bar select{
  font-family:var(--fd-font) ;font-weight:650 ;color:#0b343b ;background:#f9fbfb 
}
body.fcte-v5.page-family-access .pricing-context-bar label{font-weight:650 }
body.fcte-v5.page-family-access .pricing-domain-value h3{
  font-family:var(--fd-font) ;font-size:clamp(24px,2.3vw,32px) ;font-weight:650 ;line-height:1.08 ;letter-spacing:-.03em 
}
body.fcte-v5.page-family-access .tc-tagline{font-weight:650 }
body.fcte-v5.page-family-access .tc-includes-label,
body.fcte-v5.page-family-access .tc-bestfor-label,
body.fcte-v5.page-family-access .tc-badge-caption{font-weight:650 }
@media(max-width:760px){
  body.fcte-v5.page-family-access .access-meaning-strip{grid-template-columns:1fr}
  body.fcte-v5.page-family-access .access-meaning-strip>div{border-right:0;border-bottom:1px solid #d5e1e0}
  body.fcte-v5.page-family-access .access-meaning-strip>div:last-child{border-bottom:0}
  body.fcte-v5.page-family-access h3.section-sub{font-size:16.0px }
}
/* END ACCESS + PRICING 10/10 CLARITY / TYPOGRAPHY */

/* ======================================================================
   FCTE V5.43 — RELEASE HARDENING CONTRACT (2026-08-20)
   Final shared visual / accessibility / mobile contract for all CURRENT
   public pages. It intentionally overrides older component-level rules.
   ====================================================================== */
body.fcte-v5{
  --fcte-action-bg:#0b555c;
  --fcte-action-bg-hover:#073b40;
  --fcte-action-fg:#ffffff;
  --fcte-action-border:#0b555c;
  --fcte-action-soft:#e7f4f2;
  --fcte-action-soft-hover:#d5ebe8;
  --fcte-link:#076b70;
  --fcte-link-hover:#053f44;
  --fcte-focus:#d28b00;
}
body.fcte-v5 *,body.fcte-v5 *::before,body.fcte-v5 *::after{box-sizing:border-box;min-width:0}
body.fcte-v5 img,body.fcte-v5 svg,body.fcte-v5 canvas,body.fcte-v5 video{max-width:100%;height:auto}
body.fcte-v5 :is(p,li,dd,td,th,a,button,h1,h2,h3,h4,h5,h6){overflow-wrap:anywhere}
body.fcte-v5 :is(pre,.code-block,.sql-box,.sql-panel,.query-panel,.qx-sql,[class*="sql-code"]){max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}

/* One heading hierarchy across page families. */
body.fcte-v5 :is(.section-head,.head,.doc-section,.audit-summary-head) > h2,
body.fcte-v5 .v5-section > .wrap > h2{
  font-family:var(--fd-font,Inter,"Segoe UI",Arial,sans-serif);
  font-size:clamp(34px,4.1vw,52px);
  font-weight:650;
  line-height:1.03;
  letter-spacing:-.042em;
}
body.fcte-v5 :is(.section-head,.head,.doc-section,.audit-summary-head) > h3,
body.fcte-v5 .v5-section > .wrap > h3{
  font-family:var(--fd-font,Inter,"Segoe UI",Arial,sans-serif);
  font-weight:850;
  line-height:1.12;
  letter-spacing:-.028em;
}
body.fcte-v5 :is(.section-sub,.enterprise-brief-intro,.access-guide-copy,.hero-lead,.lead){font-weight:650}

/* Action contract: readable in normal, hover, focus and dark-surface states. */
body.fcte-v5 :is(a.btn,button.btn,.btn-primary,.btn.primary,.btn.mint,.access-price-cta){
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:var(--fcte-action-bg);
  border:1px solid var(--fcte-action-border);
  color:var(--fcte-action-fg);
  font-weight:650;
  text-decoration:none;
  text-shadow:none;
  opacity:1;
  cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;
}
body.fcte-v5 :is(a.btn,button.btn,.btn-primary,.btn.primary,.btn.mint,.access-price-cta):hover{
  background:var(--fcte-action-bg-hover);
  border-color:var(--fcte-action-bg-hover);
  color:#fff;
  text-decoration:none;
}
body.fcte-v5 :is(.btn-ghost,.btn.ghost,a.btn-ghost,button.btn-ghost){
  background:#fff;
  border:1px solid #7da2a5;
  color:#123d43;
  font-weight:650;
}
body.fcte-v5 :is(.btn-ghost,.btn.ghost,a.btn-ghost,button.btn-ghost):hover{
  background:var(--fcte-action-soft-hover);
  border-color:#0b7778;
  color:#073f44;
}
body.fcte-v5 :is(.surface-dark,.band-dark,.page-hero.surface-dark,.audit-hero) :is(.btn-primary,.btn.primary,.btn.mint){
  background:#8fd7d2;
  border-color:#8fd7d2;
  color:#062f34;
}
body.fcte-v5 :is(.surface-dark,.band-dark,.page-hero.surface-dark,.audit-hero) :is(.btn-primary,.btn.primary,.btn.mint):hover{
  background:#b5e7e3;
  border-color:#b5e7e3;
  color:#052b2f;
}
body.fcte-v5 :is(.surface-dark,.band-dark,.page-hero.surface-dark,.audit-hero) :is(.btn-ghost,.btn.ghost){
  background:transparent;
  border-color:#9dbabd;
  color:#fff;
}
body.fcte-v5 :is(.surface-dark,.band-dark,.page-hero.surface-dark,.audit-hero) :is(.btn-ghost,.btn.ghost):hover{
  background:#fff;
  border-color:#fff;
  color:#0a353b;
}

/* Text CTAs are clearly links, not low-contrast decoration. */
body.fcte-v5 :is(.cta-link,.inline-link,.go,.dd-go,.pricing-context-link,.ds-source-link,.featured-domain-link,.enterprise-domain-chip){
  color:var(--fcte-link);
  font-weight:650;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.fcte-v5 :is(.cta-link,.inline-link,.go,.dd-go,.pricing-context-link,.ds-source-link,.featured-domain-link,.enterprise-domain-chip):hover{
  color:var(--fcte-link-hover);
  text-decoration-thickness:2px;
}
body.fcte-v5 :is(.surface-dark,.band-dark) :is(.cta-link,.inline-link,.go,.dd-go,.pricing-context-link,.ds-source-link,.featured-domain-link,.enterprise-domain-chip){color:#9ee1dd}
body.fcte-v5 :is(.surface-dark,.band-dark) :is(.cta-link,.inline-link,.go,.dd-go,.pricing-context-link,.ds-source-link,.featured-domain-link,.enterprise-domain-chip):hover{color:#fff}

/* Strong keyboard focus everywhere. */
body.fcte-v5 :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--fcte-focus);
  outline-offset:3px;
  box-shadow:none;
}

/* Tables remain usable without forcing the entire page wider than the viewport. */
body.fcte-v5 :is(.tablewrap,.live-table-wrap,.audit-table-wrap,.compare-wrap,.ds-table-wrap,.city-table-wrap,.entity-table-wrap){
  max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;
}
body.fcte-v5 table{max-width:100%}
body.fcte-v5 .tablewrap table,body.fcte-v5 .live-table-wrap table,body.fcte-v5 .audit-table-wrap table,body.fcte-v5 .ds-table-wrap table{min-width:max-content}

/* Navigation/header stays opaque and above scrolling content. */
body.fcte-v5 :is(header.global-header,header.premium-city-header){
  position:sticky;top:0;z-index:5000;
  background:#f9fbfb;background-color:#f9fbfb;opacity:1;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
body.fcte-v5 .fidelra-city-menu-panel{background:#fff;color:#12343a;z-index:5100}

/* Prevent accidental page-wide overflow while allowing intentional scrollers. */
html{max-width:100%;overflow-x:clip}
body.fcte-v5{max-width:100%;overflow-x:clip}
body.fcte-v5 :is(.grid,.c2,.c3,.c4,.metrics,.stat-grid,.kpi-grid,.domain-grid,.audit-grid,.enterprise-brief-grid,.access-path-grid,.access-domain-grid,.tier-grid,.city-grid){min-width:0}

@media(max-width:900px){
  body.fcte-v5 .wrap{width:min(100% - 36px,var(--fd-w,1180px))}
  body.fcte-v5 :is(.grid.c4,.grid.c3,.metrics,.kpi-grid,.stat-grid,.enterprise-brief-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5 :is(.city-hero-grid,.main-connected-grid,.gateway-grid,.access-domain-intro,.pricing-value-grid,.verify-grid){grid-template-columns:1fr}
  body.fcte-v5 .premium-city-header .pch-global{min-height:60px}
}
@media(max-width:700px){
  body.fcte-v5{font-size:15.0px;line-height:1.58}
  body.fcte-v5 .wrap{width:calc(100% - 28px)}
  body.fcte-v5 :is(h1,.v5-page-title,.hero h1,.audit-hero h1){font-size:clamp(40px,12vw,58px);line-height:1;letter-spacing:-.045em}
  body.fcte-v5 :is(.section-head,.head,.doc-section,.audit-summary-head) > h2,
  body.fcte-v5 .v5-section > .wrap > h2{font-size:clamp(30px,9vw,42px);line-height:1.05}
  body.fcte-v5 :is(.grid,.grid.c2,.grid.c3,.grid.c4,.metrics,.kpi-grid,.stat-grid,.domain-grid,.audit-grid,.enterprise-brief-grid,.access-path-grid,.access-domain-grid,.tier-grid,.city-grid,.pricing-value-grid){grid-template-columns:1fr}
  body.fcte-v5 :is(.hero-actions,.final-cta-row,.tc-cta-row,.enterprise-action-row,.domain-hero-actions,.gateway-actions,.city-hero-actions,.cta-actions){display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  body.fcte-v5 :is(.hero-actions,.final-cta-row,.tc-cta-row,.enterprise-action-row,.domain-hero-actions,.gateway-actions,.city-hero-actions,.cta-actions) :is(a.btn,button.btn,.btn-primary,.btn-ghost){width:100%;white-space:normal;text-align:center}
  body.fcte-v5 :is(.tabs,.tab-row,.asset-toggle,.city-status-filters,.ds-sample-mode-tabs,.cj-picker,.qx-tabs,.pricing-subnav){overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  body.fcte-v5 :is(.tabs,.tab-row,.asset-toggle,.city-status-filters,.ds-sample-mode-tabs,.cj-picker,.qx-tabs,.pricing-subnav) > *{flex:0 0 auto}
  body.fcte-v5 :is(section,.v5-section){scroll-margin-top:82px}
  body.fcte-v5 .fpf-grid{grid-template-columns:1fr 1fr;gap:28px 18px}
  body.fcte-v5 .fpf-brand{grid-column:1/-1}
  body.fcte-v5 .audit-sequence{display:grid;grid-template-columns:1fr;gap:8px;text-align:left}
  body.fcte-v5 .audit-sequence > *{justify-self:start}
}
@media(max-width:430px){
  body.fcte-v5 .wrap{width:calc(100% - 22px)}
  body.fcte-v5 :is(.metrics,.kpi-grid,.stat-grid,.city-kpis,.ds-individual-metrics){grid-template-columns:1fr}
  body.fcte-v5 .fpf-grid{grid-template-columns:1fr}
  body.fcte-v5 :is(a.btn,button.btn,.btn-primary,.btn-ghost){min-height:46px;padding-inline:14px}
}
/* END FCTE V5.43 RELEASE HARDENING CONTRACT */


/* Hero balance patch: keep the City Twins network icon farther right so
   the marketing headline has enough room and no longer looks truncated. */
body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);
  gap:72px;
  align-items:center;
}
body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy{
  max-width:680px;
  min-width:0;
  position:relative;
  z-index:2;
}
body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy h1,
body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy .v5-page-title{
  max-width:680px;
}
body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
  justify-self:end;
  width:min(100%,660px);
  margin-left:auto;
  transform:translateX(36px);
}
body.fcte-v5.page-city-twins.page-family-marketing .gateway-network{
  display:block;
  width:100%;
  max-width:660px;
  margin-left:auto;
}
@media (max-width:1280px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
    gap:56px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    transform:translateX(18px);
  }
}
@media (max-width:960px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:100%;
    transform:none;
    justify-self:stretch;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy,
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy h1,
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy .v5-page-title{
    max-width:none;
  }
}


/* City Twins hero — Africa map visual */
body.fcte-v5.page-city-twins .gateway-africa-map{opacity:1;overflow:visible}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-map-grid path{
  stroke:#17333a;stroke-width:1;stroke-dasharray:3 7;fill:none;opacity:.55
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-continent,
body.fcte-v5.page-city-twins .gateway-africa-map .africa-horn{
  fill:#0d2027;stroke:#4f8589;stroke-width:2.2;stroke-linejoin:round
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-madagascar{
  fill:#0d2027;stroke:#4f8589;stroke-width:1.6
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-connection{
  fill:none;stroke:#55d6c7;stroke-width:1.5;stroke-dasharray:6 7;opacity:.62
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-pulse{
  fill:#55d6c7;opacity:.13;filter:url(#cityGlow)
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-dot{
  fill:#55d6c7;stroke:#d8fffa;stroke-width:2
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-leader{
  fill:none;stroke:#7ab5b8;stroke-width:1.2
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-name{
  fill:#fff;font:800 18.0px/1 Inter,Arial,sans-serif;letter-spacing:-.02em
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-meta{
  fill:#8db0b4;font:700 14px/1.2 var(--mono);letter-spacing:.035em;text-transform:uppercase
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-map-caption text{
  fill:#55d6c7;font:800 14px/1 var(--mono);letter-spacing:.12em
}
body.fcte-v5.page-city-twins .gateway-visual{
  display:flex;align-items:center;justify-content:flex-end
}
@media(max-width:960px){
  body.fcte-v5.page-city-twins .gateway-africa-map{max-width:680px;margin:0 auto}
  body.fcte-v5.page-city-twins .gateway-visual{justify-content:center}
}
@media(max-width:600px){
  body.fcte-v5.page-city-twins .gateway-africa-map .city-name{font-size:16.0px}
  body.fcte-v5.page-city-twins .gateway-africa-map .city-meta{font-size:14px}
}


/* City Twins hero — coastline-accurate Africa silhouette */
body.fcte-v5.page-city-twins .gateway-africa-map .africa-continent,
body.fcte-v5.page-city-twins .gateway-africa-map .africa-madagascar{
  fill:#0d232a;
  stroke:#5d9da1;
  stroke-linejoin:round;
  stroke-linecap:round;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-continent{stroke-width:1.9}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-continent-echo{
  fill:none;
  stroke:#55d6c7;
  stroke-width:7;
  opacity:.045;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-madagascar{stroke-width:1.5}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-map-grid path{opacity:.28}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-connection{
  stroke-width:1.35;
  stroke-dasharray:5 7;
  opacity:.68;
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-leader{stroke:#8bc2c4;opacity:.88}
body.fcte-v5.page-city-twins .gateway-africa-map .city-name{font-size:17.0px}
body.fcte-v5.page-city-twins .gateway-africa-map .city-meta{fill:#9ab9bd}


/* City Twins hero map — Natural Earth geometry + clickable city hotspots */
body.fcte-v5.page-city-twins .gateway-africa-map .africa-base-map{
  opacity:.98;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-base-glow{
  opacity:.16;
  filter:url(#mapSoftGlow);
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link{
  cursor:pointer;
  outline:none;
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-hit{
  fill:transparent;
  stroke:transparent;
  pointer-events:all;
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-open{
  fill:#55d6c7;
  font:800 14px/1 var(--mono);
  letter-spacing:.09em;
  opacity:0;
  transition:opacity .18s ease;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:hover .city-open,
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:focus .city-open{
  opacity:1;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:hover .city-dot,
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:focus .city-dot{
  fill:#d8fffa;
  stroke:#55d6c7;
  transform:scale(1.2);
  transform-box:fill-box;
  transform-origin:center;
}
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:hover .city-name,
body.fcte-v5.page-city-twins .gateway-africa-map .africa-city-link:focus .city-name{
  fill:#55d6c7;
}
body.fcte-v5.page-city-twins .gateway-africa-map .city-dot,
body.fcte-v5.page-city-twins .gateway-africa-map .city-name{
  transition:fill .18s ease, stroke .18s ease, transform .18s ease;
}
@media(max-width:600px){
  body.fcte-v5.page-city-twins .gateway-africa-map .city-open{display:none}
}


/* City Twins map enlargement + responsive optimization — 2026-08-21 */
@media (min-width:1281px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
    grid-template-columns:minmax(0,.95fr) minmax(500px,1.05fr);
    gap:44px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:min(740px,122%);
    max-width:none;
    transform:translateX(42px);
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-network{
    width:100%;
    max-width:740px;
  }
}
@media (min-width:961px) and (max-width:1280px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
    grid-template-columns:minmax(0,1fr) minmax(440px,1fr);
    gap:34px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:min(700px,116%);
    max-width:none;
    transform:translateX(24px);
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-network{
    width:100%;
    max-width:700px;
  }
}
@media (max-width:960px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:min(100%,760px);
    max-width:none;
    min-height:0;
    margin:10px auto 0;
    transform:none;
    justify-self:center;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-network,
  body.fcte-v5.page-city-twins .gateway-africa-map{
    width:100%;
    max-width:760px;
    margin:0 auto;
  }
}
@media (max-width:600px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-hero{
    padding-top:46px;
    padding-bottom:40px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-premium-grid{
    gap:10px;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy h1,
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-copy .v5-page-title{
    font-size:clamp(42px,13vw,52px);
    line-height:.98;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .hero-actions .btn{
    width:100%;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:calc(100% + 28px);
    margin:16px -14px 0;
    min-height:0;
  }
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-network,
  body.fcte-v5.page-city-twins .gateway-africa-map{
    width:100%;
    max-width:none;
  }
  body.fcte-v5.page-city-twins .gateway-africa-map .city-name{
    font-size:20.0px;
  }
  body.fcte-v5.page-city-twins .gateway-africa-map .city-meta{
    font-size:14px;
    letter-spacing:.025em;
  }
  body.fcte-v5.page-city-twins .gateway-africa-map .africa-map-caption text{
    font-size:14px;
    letter-spacing:.085em;
  }
  body.fcte-v5.page-city-twins .gateway-africa-map .city-pulse{
    opacity:.18;
  }
}
@media (max-width:380px){
  body.fcte-v5.page-city-twins.page-family-marketing .gateway-visual{
    width:calc(100% + 36px);
    margin-left:-18px;
    margin-right:-18px;
  }
  body.fcte-v5.page-city-twins .gateway-africa-map .city-name{font-size:19.0px}
  body.fcte-v5.page-city-twins .gateway-africa-map .city-meta{font-size:14px}
}


/* ============================================================================
   V5.43 Nairobi query explorer chart clarity pass
   - Keep the orange comparison line readable and explicitly labelled.
   - Correct the light-on-light Perspective text in the white query panel.
   ============================================================================ */
body.page-nairobi-index #query-explorer .qx-chart-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:20px 26px 4px;
}
body.page-nairobi-index #query-explorer .qx-chart-heading .qx-chart-label{
  padding:0;
}
body.page-nairobi-index #query-explorer .qx-chart-legend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:14px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:700;
  color:#526b76;
}
body.page-nairobi-index #query-explorer .qx-chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
body.page-nairobi-index #query-explorer .qx-legend-bar{
  width:10px;
  height:10px;
  display:inline-block;
  background:#0c8577;
}
body.page-nairobi-index #query-explorer .qx-legend-line{
  width:18px;
  height:0;
  display:inline-block;
  border-top:2px solid #b5790a;
  position:relative;
}
body.page-nairobi-index #query-explorer .qx-legend-line::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#b5790a;
  left:6px;
  top:-4px;
}
body.page-nairobi-index #query-explorer .qx-perspective{
  margin:10px 26px 26px;
  padding:14px 0 0;
  border:0;
  border-top:1px solid #dce6e8;
  background:transparent;
  box-shadow:none;
  color:#3f5661;
  font-size:14px;
  font-weight:500;
  line-height:1.65;
}
body.page-nairobi-index #query-explorer .qx-perspective b{
  color:#0b746c;
  font-weight:650;
}
@media(max-width:700px){
  body.page-nairobi-index #query-explorer .qx-chart-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding:18px 16px 2px;
  }
  body.page-nairobi-index #query-explorer .qx-chart-legend{
    justify-content:flex-start;
    gap:10px 14px;
  }
  body.page-nairobi-index #query-explorer .qx-perspective{
    margin:10px 16px 20px;
    font-size:14px;
  }
}


/* ============================================================================
   V5.43 homepage Africa map hero + horizontal KPI strip — 2026-08-21
   - Replaces the abstract hero network with the published Africa map.
   - Keeps published City Twins interactive and roadmap cities understated.
   - KPI metrics run horizontally on desktop and 2×2 on mobile.
   ============================================================================ */
body.page-home .home-map-hero{
  padding-top:112px;
  padding-bottom:38px;
  background:
    radial-gradient(circle at 73% 42%, color-mix(in srgb, var(--accent) 6%, transparent), transparent 32%),
    var(--bg);
}
body.page-home .home-map-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
  gap:42px;
  align-items:center;
}
body.page-home .home-hero-copy{min-width:0;position:relative;z-index:2}
body.page-home .home-map-visual{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  position:relative;
  z-index:1;
}
body.page-home .home-africa-map{
  display:block;
  width:min(100%,620px);
  height:auto;
  overflow:visible;
}
body.page-home .home-africa-base-map{opacity:.98}
body.page-home .home-africa-base-glow{opacity:.12;filter:url(#homeMapSoftGlow)}
body.page-home .home-map-city-link{cursor:pointer;outline:none}
body.page-home .home-city-hit{fill:transparent;stroke:transparent;pointer-events:all}
body.page-home .home-city-pulse{fill:var(--accent);opacity:.16;filter:url(#homeCityGlow)}
body.page-home .home-city-dot{fill:var(--accent);stroke:#fff;stroke-width:2}
body.page-home .home-city-leader{fill:none;stroke:#7aa7a8;stroke-width:1.15}
body.page-home .home-city-name{
  fill:var(--ink);
  font:800 17.0px/1 var(--font-display);
  letter-spacing:-.02em;
}
body.page-home .home-city-meta{
  fill:var(--ink-3);
  font:700 14px/1.2 var(--mono);
  letter-spacing:.05em;
  text-transform:uppercase;
}
body.page-home .home-city-dot,
body.page-home .home-city-name{transition:fill .18s ease,stroke .18s ease,transform .18s ease}
body.page-home .home-map-city-link:hover .home-city-dot,
body.page-home .home-map-city-link:focus .home-city-dot{
  fill:#fff;
  stroke:var(--accent);
  transform:scale(1.22);
  transform-box:fill-box;
  transform-origin:center;
}
body.page-home .home-map-city-link:hover .home-city-name,
body.page-home .home-map-city-link:focus .home-city-name{fill:var(--accent-strong)}
body.page-home .planned-city-dot{
  fill:#8ea5a9;
  stroke:#6b8488;
  stroke-width:1.4;
  opacity:.9;
}
body.page-home .home-map-legend text{
  fill:var(--ink-3);
  font:700 14px/1 var(--mono);
  letter-spacing:.1em;
}
body.page-home .home-map-legend .legend-published{fill:var(--accent);stroke:#fff;stroke-width:1.5}
body.page-home .home-map-legend .legend-roadmap{fill:#8ea5a9;stroke:#6b8488;stroke-width:1.3}
body.page-home .hero-roadmap .roadmap-label{
  display:inline-block;
  min-width:62px;
  font-family:var(--mono);
  font-size:14px;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent-strong);
}
body.page-home .home-kpi-panel{
  position:relative;
  z-index:2;
  margin-top:28px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 14px 34px -28px rgba(12,26,36,.38);
}
body.page-home .home-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.page-home .home-kpi{
  min-width:0;
  padding:18px 20px 17px;
  border-right:1px solid var(--line);
}
body.page-home .home-kpi:last-child{border-right:0}
body.page-home .home-kpi-value{
  font-family:var(--font-display);
  font-weight:850;
  font-size:clamp(24px,2.6vw,31px);
  line-height:1;
  letter-spacing:-.025em;
  color:var(--ink);
}
body.page-home .home-kpi-label{
  margin-top:7px;
  font-size:14px;
  line-height:1.45;
  color:var(--ink-3);
  text-transform:uppercase;
  letter-spacing:.065em;
}
body.page-home .home-kpi-verifiable{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 20px;
  border-top:1px solid var(--line);
  color:var(--ink-3);
  font-size:14px;
}
body.page-home .home-kpi-status{display:flex;align-items:center;gap:8px;color:var(--good);white-space:nowrap}
body.page-home .home-kpi-status strong{font-size:14px}
body.page-home .home-kpi-verifiable>a{margin-left:auto;color:var(--accent-strong);font-weight:750;white-space:nowrap}
body.page-home .home-kpi-verifiable>a:hover{text-decoration:underline}

@media (min-width:1281px){
  body.page-home .home-map-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(530px,1.1fr);gap:48px}
  body.page-home .home-africa-map{width:min(108%,650px);max-width:none;transform:translateX(16px)}
}
@media (max-width:1040px){
  body.page-home .home-map-hero-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:24px}
  body.page-home .hero h1{font-size:clamp(54px,8vw,82px)}
}
@media (max-width:900px){
  body.page-home .home-map-hero{padding-top:72px}
  body.page-home .home-map-hero-grid{grid-template-columns:1fr;gap:18px}
  body.page-home .home-map-visual{justify-content:center;margin-top:4px}
  body.page-home .home-africa-map{width:min(100%,690px)}
  body.page-home .home-kpi-panel{margin-top:18px}
}
@media (max-width:640px){
  body.page-home .home-map-hero{padding-top:54px;padding-bottom:30px}
  body.page-home .hero h1{font-size:clamp(48px,15vw,68px);line-height:.97}
  body.page-home .hero p.lead{font-size:16.0px;line-height:1.58}
  body.page-home .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:22px}
  body.page-home .hero-actions .btn{width:100%;justify-content:center}
  body.page-home .hero-roadmap{font-size:14px;line-height:1.65;margin-top:16px}
  body.page-home .hero-roadmap .roadmap-label{min-width:58px;font-size:14px}
  body.page-home .home-map-visual{width:calc(100% + 28px);margin:6px -14px 0}
  body.page-home .home-africa-map{width:100%;max-width:none}
  body.page-home .home-city-name{font-size:19.0px}
  body.page-home .home-city-meta{font-size:14px}
  body.page-home .planned-city-dot{r:4.5px}
  body.page-home .home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-home .home-kpi{padding:16px 14px;border-bottom:1px solid var(--line)}
  body.page-home .home-kpi:nth-child(2n){border-right:0}
  body.page-home .home-kpi:nth-last-child(-n+2){border-bottom:0}
  body.page-home .home-kpi-value{font-size:26.0px}
  body.page-home .home-kpi-label{font-size:14px}
  body.page-home .home-kpi-verifiable{align-items:flex-start;flex-wrap:wrap;gap:7px 12px;padding:12px 14px}
  body.page-home .home-kpi-verifiable>a{width:100%;margin-left:0}
  body.page-home .hero-divider{width:72%;margin-top:28px}
}
@media (max-width:390px){
  body.page-home .home-map-visual{width:calc(100% + 34px);margin-left:-17px;margin-right:-17px}
  body.page-home .home-city-name{font-size:18.0px}
  body.page-home .home-city-meta{font-size:14px}
}



/* ============================================================================
   Homepage hero final polish — 10/10 pass — 2026-08-21
   - Wider desktop composition with intentional 4-line headline.
   - Tighter Africa SVG viewport so the continent, not whitespace, scales up.
   - Cleaner published/roadmap metadata and stronger responsive hierarchy.
   ============================================================================ */
body.page-home .home-map-hero > .wrap{
  max-width:1360px;
  padding-left:40px;
  padding-right:40px;
}
body.page-home .home-map-hero{
  padding-top:78px;
  padding-bottom:34px;
  background:
    radial-gradient(circle at 73% 43%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 36%),
    var(--bg);
}
body.page-home .home-map-hero-grid{
  grid-template-columns:minmax(470px,.84fr) minmax(610px,1.16fr);
  gap:54px;
  align-items:center;
}
body.page-home .home-hero-copy{align-self:center}
body.fcte-v5.page-family-home.page-home .home-hero-title,
body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{
  margin:18px 0 0;
  max-width:none ;
  font-size:clamp(72px,5.4vw,98px) ;
  line-height:.91 ;
  letter-spacing:-.067em ;
  font-weight:950 ;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
body.page-home .home-hero-title .title-line{
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
}
body.page-home .home-hero-title .title-dark{color:var(--ink)}
body.page-home .home-hero-title .title-accent{color:var(--accent-strong)}
body.page-home .home-map-hero .hero p.lead,
body.page-home .home-map-hero p.lead{
  max-width:48ch;
  font-size:18.0px;
  line-height:1.58;
  margin-top:24px;
}
body.page-home .home-map-visual{
  justify-content:center;
  min-height:505px;
}
body.page-home .home-africa-map{
  width:min(100%,650px);
  max-width:none;
  transform:none;
}
body.page-home .home-city-name{font-size:18.0px}
body.page-home .home-city-meta{font-size:14px}
body.page-home .hero-roadmap{
  display:grid;
  gap:7px;
  margin-top:18px;
  max-width:520px;
  font-size:14px;
  line-height:1.45;
}
body.page-home .hero-roadmap .roadmap-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:start;
}
body.page-home .hero-roadmap .roadmap-label{
  min-width:0;
  padding-top:2px;
  font-size:14px;
  letter-spacing:.1em;
}
body.page-home .hero-roadmap .roadmap-cities{
  color:var(--ink-3);
  font-weight:520;
}
body.page-home .hero-roadmap .roadmap-published{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ink-2);
}
body.page-home .hero-roadmap .roadmap-published b{color:var(--ink);font-weight:650}
body.page-home .home-kpi-panel{
  width:min(100%,1200px);
  margin:24px auto 0;
  border-radius:16px;
  box-shadow:0 18px 42px -32px rgba(12,26,36,.42);
}
body.page-home .home-kpi{padding:19px 22px 18px}
body.page-home .home-kpi-value{font-size:clamp(26px,2.25vw,34px)}
body.page-home .home-kpi-label{font-size:14px}
body.page-home .hero-divider{margin-top:28px;width:46%}

@media (min-width:1500px){
  body.page-home .home-map-hero > .wrap{max-width:1420px}
  body.page-home .home-map-hero-grid{grid-template-columns:minmax(500px,.82fr) minmax(680px,1.18fr);gap:64px}
  body.page-home .home-africa-map{width:min(100%,700px)}
  body.page-home .home-map-visual{min-height:535px}
}
@media (max-width:1220px){
  body.page-home .home-map-hero > .wrap{max-width:1180px;padding-left:32px;padding-right:32px}
  body.page-home .home-map-hero-grid{grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);gap:34px}
  body.fcte-v5.page-family-home.page-home .home-hero-title,
  body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{font-size:clamp(68px,6.1vw,84px) }
  body.page-home .home-map-visual{min-height:460px}
  body.page-home .home-africa-map{width:min(100%,650px)}
}
@media (max-width:1040px){
  body.page-home .home-map-hero-grid{grid-template-columns:minmax(370px,.9fr) minmax(450px,1.1fr);gap:24px}
  body.fcte-v5.page-family-home.page-home .home-hero-title,
  body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{font-size:clamp(60px,6.5vw,72px) }
  body.page-home .home-map-visual{min-height:420px}
  body.page-home .home-africa-map{width:min(100%,610px)}
}
@media (max-width:900px){
  body.page-home .home-map-hero{padding-top:62px;padding-bottom:28px}
  body.page-home .home-map-hero > .wrap{padding-left:28px;padding-right:28px}
  body.page-home .home-map-hero-grid{grid-template-columns:1fr;gap:10px}
  body.page-home .home-hero-copy{max-width:680px}
  body.fcte-v5.page-family-home.page-home .home-hero-title,
  body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{font-size:clamp(64px,9.7vw,82px) ;line-height:.92 }
  body.page-home .home-map-visual{min-height:0;margin-top:18px}
  body.page-home .home-africa-map{width:min(100%,720px)}
  body.page-home .home-kpi-panel{margin-top:12px}
}
@media (max-width:640px){
  body.page-home .home-map-hero{padding-top:42px;padding-bottom:24px}
  body.page-home .home-map-hero > .wrap{padding-left:18px;padding-right:18px}
  body.fcte-v5.page-family-home.page-home .home-hero-title,
  body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{font-size:clamp(52px,15.2vw,68px) ;line-height:.93 ;letter-spacing:-.058em }
  body.page-home .home-map-hero p.lead{font-size:16.0px;line-height:1.56;margin-top:20px}
  body.page-home .hero-roadmap{gap:8px;max-width:none;margin-top:17px}
  body.page-home .hero-roadmap .roadmap-row{grid-template-columns:64px minmax(0,1fr);gap:8px}
  body.page-home .hero-roadmap .roadmap-cities{font-size:14px;line-height:1.45}
  body.page-home .home-map-visual{width:calc(100% + 20px);margin:15px -10px 0}
  body.page-home .home-africa-map{width:100%}
  body.page-home .home-city-name{font-size:18.0px}
  body.page-home .home-kpi-panel{margin-top:10px;border-radius:13px}
  body.page-home .home-kpi{padding:16px 14px}
  body.page-home .home-kpi-value{font-size:27.0px}
  body.page-home .home-kpi-label{font-size:14px}
  body.page-home .hero-divider{width:70%;margin-top:24px}
}
@media (max-width:390px){
  body.fcte-v5.page-family-home.page-home .home-hero-title,
  body.fcte-v5.page-family-home.page-home .hero h1.home-hero-title{font-size:clamp(48px,14.5vw,58px) }
  body.page-home .hero-roadmap .roadmap-row{grid-template-columns:60px minmax(0,1fr)}
  body.page-home .home-map-visual{width:calc(100% + 26px);margin-left:-13px;margin-right:-13px}
}


/* ============================================================================
   Homepage hero precision finish — flat KPI rail / no rounded card — 2026-08-21
   - Removes card chrome from hero metrics in favor of an editorial data rail.
   - Keeps 1940–2026 on one line, cleans roadmap wrapping, and tightens map legend.
   ============================================================================ */
body.page-home .home-kpi-panel{
  width:min(100%,1260px);
  margin:30px auto 0;
  background:transparent;
  border:0;
  border-top:1px solid var(--line-strong, var(--line));
  border-bottom:1px solid var(--line-strong, var(--line));
  border-radius:0 ;
  overflow:visible;
  box-shadow:none ;
}
body.page-home .home-kpi-grid{
  background:transparent;
}
body.page-home .home-kpi{
  padding:21px 24px 20px;
  border-right:1px solid var(--line);
  background:transparent;
}
body.page-home .home-kpi-value{
  white-space:nowrap;
}
body.page-home .home-kpi-history{
  letter-spacing:-.04em;
}
body.page-home .home-kpi-verifiable{
  padding:13px 24px 14px;
  border-top:1px solid var(--line);
  background:transparent;
}
body.page-home .hero-roadmap .roadmap-planned{
  display:flex;
  flex-direction:column;
  gap:1px;
}
body.page-home .hero-roadmap .roadmap-line{
  display:block;
  white-space:nowrap;
}
body.page-home .home-map-hero .hero-divider{
  display:none;
}

@media (min-width:1280px){
  body.page-home .home-kpi-panel{width:min(100%,1280px)}
}
@media (max-width:900px){
  body.page-home .home-kpi-panel{margin-top:18px}
}
@media (max-width:640px){
  body.page-home .home-kpi-panel{
    margin-top:14px;
    border-radius:0 ;
  }
  body.page-home .home-kpi{
    padding:17px 14px 16px;
  }
  body.page-home .home-kpi-history{
    font-size:clamp(22px,6.6vw,27px);
  }
  body.page-home .home-kpi-verifiable{
    padding:12px 14px 13px;
  }
  body.page-home .hero-roadmap .roadmap-line{
    white-space:normal;
  }
}


/* ============================================================================
   Homepage hero final micro-polish — wrap-up — 2026-08-21
   - Aligns the floating city switcher with the hero instead of the viewport edge.
   - Removes floating-card chrome so the control stays quiet and editorial.
   - Map legend and Lagos annotation are tightened in the SVG markup.
   ============================================================================ */
@media (min-width:901px){
  body.page-home .city-float-toggle{
    top:102px;
    right:max(28px, calc((100vw - 1360px)/2 + 28px));
    max-width:220px;
    gap:5px;
    padding:0;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    opacity:.86;
  }
  body.page-home .city-float-toggle:hover,
  body.page-home .city-float-toggle:focus-within{opacity:1}
  body.page-home .city-float-toggle .filter-chip{
    font-size:14px;
    padding:5px 9px;
  }
  body.page-home .city-float-toggle .city-badge-tag{font-size:14px}
}
@media (min-width:1500px){
  body.page-home .city-float-toggle{
    right:max(34px, calc((100vw - 1420px)/2 + 34px));
  }
}


/* ======================================================================
   FCTE V5.43 — Health public sample: dataset-style sticky header + chart
   Presentation enhancement only. Existing Health sample schema/columns stay intact.
   ====================================================================== */
body.fcte-v5.page-family-data .ds-health-dataset-shell{display:contents}
body.fcte-v5.page-family-data .ds-health-dataset-shell[hidden]{display:none }
body.fcte-v5.page-family-data .ds-health-sticky-head{
  position:sticky;
  top:64px;
  z-index:35;
  background:rgba(255,255,255,.985);
  border-top:1px solid #c9d9d7;
  border-bottom:1px solid #d9e5e3;
  box-shadow:0 8px 20px rgba(8,42,47,.045);
}
body.fcte-v5.page-family-data .ds-health-head-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:start;
  padding:20px 22px 15px;
}
body.fcte-v5.page-family-data .ds-health-head-copy{min-width:0}
body.fcte-v5.page-family-data .ds-health-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 7px;
  color:#2f7778;
  font:800 14px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.075em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data .ds-health-kicker-dot{
  width:7px;height:7px;background:#1d8c89;display:inline-block;flex:0 0 auto;
}
body.fcte-v5.page-family-data .ds-health-head-copy h3{
  margin:0;
  color:#14363d;
  font-size:clamp(22px,2.3vw,30px);
  line-height:1.08;
  letter-spacing:-.025em;
}
body.fcte-v5.page-family-data .ds-health-head-copy p{
  margin:8px 0 0;
  max-width:72ch;
  color:#5c7378;
  font-size:14px;
  line-height:1.55;
}
body.fcte-v5.page-family-data .ds-health-head-actions{
  min-width:210px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
}
body.fcte-v5.page-family-data .ds-health-cert-label{
  color:#2b6f70;
  font:800 14px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data .ds-health-download-btn{
  min-height:40px;
  padding:9px 14px;
  background:#113a42;
  border-color:#113a42;
  color:#fff;
  white-space:nowrap;
}
body.fcte-v5.page-family-data .ds-health-download-btn:hover{
  background:#0b555a;
  border-color:#0b555a;
  color:#fff;
}
body.fcte-v5.page-family-data .ds-health-head-actions .fcte-download-count,
body.fcte-v5.page-family-data .ds-health-head-actions .fcte-integrity-badge{
  margin:0;
  font-size:14px;
  line-height:1.2;
}
body.fcte-v5.page-family-data .ds-health-meta-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #edf2f1;
  background:#f8fbfa;
}
body.fcte-v5.page-family-data .ds-health-meta-rail>span{
  min-width:0;
  padding:11px 18px 12px;
  border-right:1px solid #e1eae8;
}
body.fcte-v5.page-family-data .ds-health-meta-rail>span:last-child{border-right:0}
body.fcte-v5.page-family-data .ds-health-meta-rail strong{
  display:block;
  color:#163b42;
  font-size:14.5px;
  line-height:1.15;
  font-weight:820;
}
body.fcte-v5.page-family-data .ds-health-meta-rail small{
  display:block;
  margin-top:3px;
  color:#819398;
  font:700 14px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data .ds-health-chart-block{
  margin:0 0 28px;
  padding:20px 22px 18px;
  background:#fff;
  border-bottom:1px solid #c9d9d7;
}
body.fcte-v5.page-family-data .ds-health-chart-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin-bottom:8px;
}
body.fcte-v5.page-family-data .ds-health-chart-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#70868a;
  font:800 14px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data .ds-health-chart-head h4{
  margin:0;
  color:#173b43;
  font-size:17.0px;
  letter-spacing:-.01em;
}
body.fcte-v5.page-family-data .ds-health-chart-legend{
  display:flex;
  gap:16px;
  align-items:center;
  color:#667e82;
  font:700 14px/1.2 var(--mono,ui-monospace,monospace);
  white-space:nowrap;
}
body.fcte-v5.page-family-data .ds-health-chart-legend span{display:inline-flex;align-items:center;gap:6px}
body.fcte-v5.page-family-data .ds-health-chart-legend i.bar{width:10px;height:10px;background:#179b9e;display:inline-block}
body.fcte-v5.page-family-data .ds-health-chart-legend i.line{width:16px;height:0;border-top:2px solid #c8752b;display:inline-block;position:relative}
body.fcte-v5.page-family-data .ds-health-chart-legend i.line:after{
  content:"";position:absolute;width:5px;height:5px;background:#c8752b;left:6px;top:-3.5px;border-radius:50%;
}
body.fcte-v5.page-family-data .ds-health-chart-stage{
  min-height:260px;
  overflow:hidden;
}
body.fcte-v5.page-family-data .ds-health-chart-svg{display:block;width:100%;height:auto;overflow:visible}
body.fcte-v5.page-family-data .ds-health-chart-svg .grid{stroke:#e4ecea;stroke-width:1}
body.fcte-v5.page-family-data .ds-health-chart-svg .bar-mark{fill:#179b9e;opacity:.88}
body.fcte-v5.page-family-data .ds-health-chart-svg .line-mark{fill:none;stroke:#c8752b;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
body.fcte-v5.page-family-data .ds-health-chart-svg .line-point{fill:#c8752b;stroke:#fff;stroke-width:1.5}
body.fcte-v5.page-family-data .ds-health-chart-svg .axis-label{
  fill:#809297;font:700 14px/1 var(--mono,ui-monospace,monospace);
}
body.fcte-v5.page-family-data .ds-health-chart-svg .axis-label.left{text-anchor:end}
body.fcte-v5.page-family-data .ds-health-chart-svg .axis-label.right{text-anchor:start}
body.fcte-v5.page-family-data .ds-health-chart-svg .axis-title{
  fill:#839398;font:700 14px/1 var(--mono,ui-monospace,monospace);letter-spacing:.04em;text-transform:uppercase;text-anchor:middle;
}
body.fcte-v5.page-family-data .ds-health-chart-svg .bar-value{
  fill:#24545a;font:800 14px/1 var(--mono,ui-monospace,monospace);text-anchor:middle;
}
body.fcte-v5.page-family-data .ds-health-chart-svg .line-value{
  fill:#a55b1d;font:800 14px/1 var(--mono,ui-monospace,monospace);text-anchor:middle;
}
body.fcte-v5.page-family-data .ds-health-chart-svg .x-label{
  fill:#526d72;font:750 14px/1 var(--mono,ui-monospace,monospace);text-anchor:middle;
}
body.fcte-v5.page-family-data .ds-health-chart-caption{
  margin:2px 0 0;
  padding-top:10px;
  border-top:1px solid #edf2f1;
  color:#6f8387;
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5.page-family-data .ds-health-chart-empty{
  margin:40px 0;text-align:center;color:#809196;font-size:14px;
}
@media (max-width:1024px){
  body.fcte-v5.page-family-data .ds-health-sticky-head{top:62px}
}
@media (max-width:720px){
  body.fcte-v5.page-family-data .ds-health-head-grid{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px 16px 12px;
  }
  body.fcte-v5.page-family-data .ds-health-head-copy p{
    font-size:14px;
    max-width:none;
  }
  body.fcte-v5.page-family-data .ds-health-head-actions{
    min-width:0;
    width:100%;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  body.fcte-v5.page-family-data .ds-health-download-btn{
    min-width:0;
    max-width:65%;
    white-space:normal;
    text-align:center;
    font-size:14px;
  }
  body.fcte-v5.page-family-data .ds-health-meta-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.fcte-v5.page-family-data .ds-health-meta-rail>span:nth-child(2){border-right:0}
  body.fcte-v5.page-family-data .ds-health-meta-rail>span:nth-child(-n+2){border-bottom:1px solid #e1eae8}
  body.fcte-v5.page-family-data .ds-health-chart-block{padding:16px 12px 14px}
  body.fcte-v5.page-family-data .ds-health-chart-head{display:block}
  body.fcte-v5.page-family-data .ds-health-chart-legend{margin-top:9px;gap:12px}
  body.fcte-v5.page-family-data .ds-health-chart-stage{overflow-x:auto;min-height:230px}
  body.fcte-v5.page-family-data .ds-health-chart-svg{min-width:620px}
}
@media (max-width:480px){
  body.fcte-v5.page-family-data .ds-health-sticky-head{
    position:sticky;
    top:62px;
  }
  body.fcte-v5.page-family-data .ds-health-head-copy h3{font-size:20.0px}
  body.fcte-v5.page-family-data .ds-health-head-copy p{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  body.fcte-v5.page-family-data .ds-health-cert-label{font-size:14px}
  body.fcte-v5.page-family-data .ds-health-meta-rail>span{padding:9px 12px}
  body.fcte-v5.page-family-data .ds-health-meta-rail strong{font-size:14px}
}


/* ============================================================================
   FCTE Data Marketplace — AI/ML + Research sample redesign — 2026-08-24
   Flat editorial marketplace surface; square edges, strong product hierarchy.
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign .wrap{
  width:min(1440px,calc(100% - 72px));max-width:1440px;
}
body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{
  width:min(1440px,calc(100% - 72px));max-width:1440px;
}
body.fcte-v5.page-family-data.data-access-redesign .page-hero .da-hero-grid{
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.45fr);gap:94px;
}
body.fcte-v5.page-family-data.data-access-redesign #browser{background:#f1f6f5;padding-top:76px}
body.fcte-v5.page-family-data.data-access-redesign .data-browser-head{max-width:1080px;margin-bottom:32px}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout{grid-template-columns:280px minmax(0,1fr);gap:24px}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{max-height:800px;border-color:#c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-main{padding:0;border-color:#c8d8d5;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  padding:28px 32px 26px;border-bottom:1px solid #c8d8d5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:start;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-copy{min-width:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker{display:flex;gap:9px;align-items:center;margin:0 0 9px;color:#527177;font:850 14px/1.2 var(--fd-mono);letter-spacing:.075em;text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker span+span{padding-left:9px;border-left:1px solid #b8cac7;color:#168981}
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{margin:0;font-size:clamp(36px,3.3vw,52px);line-height:.98;letter-spacing:-.045em}
body.fcte-v5.page-family-data.data-access-redesign .ds-head p{margin:11px 0 0;max-width:82ch;color:#5d757a;font-size:14px;line-height:1.58}
body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{min-width:220px;display:flex;flex-direction:column;align-items:flex-end;gap:9px}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat{text-align:right;padding-bottom:10px;border-bottom:1px solid #dce7e5;width:100%}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat small{display:block;color:#82969a;font:800 14px/1.2 var(--fd-mono);text-transform:uppercase;letter-spacing:.06em}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat strong{display:block;margin-top:4px;color:#123b42;font-size:16.0px;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-license-link{display:block;width:100%;padding:10px 12px;text-align:center;background:#0c3f46;color:#fff;text-decoration:none;font:850 14px/1.2 var(--fd-mono);text-transform:uppercase;letter-spacing:.03em}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-license-link:hover{background:#0b6567}
body.fcte-v5.page-family-data.data-access-redesign .ds-source-link{font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{margin:0;padding:0 22px;background:#f8fbfa;border-bottom:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{padding:15px 13px 13px;font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="aiml"],
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="research"]{color:#234f55;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="aiml"] span,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="research"] span{color:#0b8a83}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel{padding:28px 32px 34px}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="aiml"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="research"]{padding:0 0 36px}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="overview"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="connections"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="assurance"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="buy"]{padding-left:32px;padding-right:32px}

body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:30px 32px;border-bottom:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-aiml{background:#071b23;color:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research{background:#eef7f5;color:#123b42;border-top:4px solid #158f88}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow{margin-bottom:8px;color:#4ed1c3;font:900 14px/1.2 var(--fd-mono);letter-spacing:.09em;text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research .ds-market-eyebrow{color:#0a8079}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{margin:0;font-size:clamp(25px,2.6vw,36px);line-height:1.04;letter-spacing:-.035em;color:inherit}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p{margin:9px 0 0;max-width:76ch;color:#b8cccf;font-size:14px;line-height:1.55}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research .ds-market-sample-copy p{color:#587378}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-actions{display:flex;flex-direction:column;gap:8px;min-width:210px}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-download,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-secondary{appearance:none;border:1px solid #4ed1c3;background:#4ed1c3;color:#06191f;padding:11px 14px;text-align:center;text-decoration:none;font:900 14px/1.2 var(--fd-mono);cursor:pointer;white-space:nowrap}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-secondary{background:transparent;color:#d5e8e9;border-color:#46636a}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-download.research{background:#0b4c52;border-color:#0b4c52;color:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research .ds-market-secondary{color:#184c52;border-color:#88aaa5}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-download:hover{filter:brightness(.96)}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-secondary:hover{border-color:#43bcb1;color:#43bcb1}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid #c8d8d5;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span{padding:16px 22px;border-right:1px solid #dde7e5;min-width:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics strong{display:block;color:#123b42;font-size:17.0px;font-weight:650;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small{display:block;margin-top:4px;color:#7b9094;font:800 14px/1.2 var(--fd-mono);letter-spacing:.045em;text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block:first-child{border-right:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{padding:26px 32px;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;margin-bottom:16px}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #98b7b3;color:#0b827b;font:900 14px/1 var(--fd-mono)}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head small{display:block;color:#7c9194;font:900 14px/1.2 var(--fd-mono);letter-spacing:.08em}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{margin:3px 0 0;color:#143b42;font-size:18.0px;line-height:1.15}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head-between{grid-template-columns:28px minmax(0,1fr) auto}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head-between>b{color:#6d8589;font:800 14px/1.2 var(--fd-mono);align-self:center}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases{display:flex;flex-wrap:wrap;gap:7px}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases span{padding:7px 9px;border:1px solid #bcd0cd;background:#f7fbfa;color:#24535a;font:800 14px/1.2 var(--fd-mono)}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note{margin:15px 0 0;color:#687f83;font-size:14px;line-height:1.55}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce6e4;border-left:1px solid #dce6e4}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid>div{padding:12px 13px;border-right:1px solid #dce6e4;border-bottom:1px solid #dce6e4}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid small{display:block;color:#71888c;font:800 14px/1.2 var(--fd-mono);text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid strong{display:block;margin-top:4px;color:#103e45;font-size:20.0px;line-height:1}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span{display:block;margin-top:5px;color:#789094;font-size:14px;line-height:1.35}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint-block{border-bottom:1px solid #c8d8d5;background:#f8fbfa}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #cfdddb;border-left:1px solid #cfdddb}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint article{min-width:0;padding:16px;border-right:1px solid #cfdddb;border-bottom:1px solid #cfdddb;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint article>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint small{color:#0d817a;font:900 14px/1.2 var(--fd-mono);text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint strong{color:#173e45;font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p{margin:8px 0 10px;color:#73898d;font-size:14px;line-height:1.45}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-examples{display:flex;flex-wrap:wrap;gap:4px}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-examples code{padding:3px 5px;background:#eef5f4;color:#375c62;font:700 14px/1.2 var(--fd-mono);overflow:hidden;text-overflow:ellipsis;max-width:100%}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-block{padding-top:27px;border-bottom:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{overflow:auto;border:1px solid #cbdad7;max-height:330px}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th{position:sticky;top:0;background:#0d3038;color:#fff;padding:10px 12px;text-align:left;border-right:1px solid #315059;z-index:1}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span{display:block;font:850 14px/1.2 var(--fd-mono)}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{display:block;margin-top:3px;color:#72c8c0;font:750 14px/1.2 var(--fd-mono);text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{padding:9px 12px;border-right:1px solid #e1e9e7;border-bottom:1px solid #e1e9e7;white-space:nowrap;color:#31555b;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table tr:nth-child(even) td{background:#f8fbfa}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table .empty{color:#9aabad;font-family:var(--fd-mono)}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-bottom-cta{margin:28px 32px 0;padding:20px 0 0;border-top:1px solid #cadad7;display:flex;align-items:center;justify-content:space-between;gap:22px}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-bottom-cta small{display:block;color:#7d9295;font:900 14px/1.2 var(--fd-mono);letter-spacing:.07em}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-bottom-cta strong{display:block;margin-top:4px;color:#153e45;font-size:14px}

body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 32px 0;border:1px solid #cbdad7;background:#fff}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span{padding:12px 14px;border-right:1px solid #dce6e4}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{display:block;color:#809397;font:800 14px/1.2 var(--fd-mono);text-transform:uppercase}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{display:block;margin-top:4px;color:#173e45;font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-wrap{margin:20px 32px 0;padding:14px 0;border-top:1px solid #d0deda;border-bottom:1px solid #d0deda}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-tabs button{border-radius:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:0;margin-top:24px;border-top:1px solid #c8d8d5;border-bottom:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block:first-child{border-right:1px solid #c8d8d5}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-query-block .ds-section-label.group-start{margin-top:0;padding-top:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block{background:#f8fbfa}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p{color:#526f74;font-size:14px;line-height:1.6}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution{margin-top:16px;padding:13px 14px;border-left:3px solid #c97b35;background:#fff7ef}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution strong{color:#75481f;font-size:14px}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p{margin:5px 0 0;color:#78624f;font-size:14px;line-height:1.5}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-text-link{display:inline-block;margin-top:16px;color:#0b7772;font:850 14px/1.2 var(--fd-mono);text-decoration:none}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-row-inspect-hint,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-sample-tools,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-groups,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-horizontal-rail,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-panel,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-caption,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-rows-links{margin-left:32px;margin-right:32px}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-section-label{margin-top:26px}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-table-wrap{max-height:440px}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-individual-overview{margin:22px 32px 0}
body.fcte-v5.page-family-data.data-access-redesign .ds-health-dataset-shell{display:block}
body.fcte-v5.page-family-data.data-access-redesign .ds-health-dataset-shell[hidden]{display:none}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-chart-block{margin:0;padding:26px 32px;border-bottom:1px solid #c8d8d5;background:#f8fbfa}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-chart-stage{min-height:230px}

@media (max-width:1180px){
  body.fcte-v5.page-family-data.data-access-redesign .wrap,body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{width:min(100% - 44px,1180px)}
  body.fcte-v5.page-family-data.data-access-redesign .ds-layout{grid-template-columns:240px minmax(0,1fr)}
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-layout{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{position:static;max-height:260px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{align-items:stretch;min-width:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat{text-align:left}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block:first-child,body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block:first-child{border-right:0;border-bottom:1px solid #c8d8d5}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics,body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{grid-template-columns:1fr 1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span:nth-child(2),body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span:nth-child(2){border-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span:nth-child(-n+2),body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span:nth-child(-n+2){border-bottom:1px solid #dde7e5}
}
@media (max-width:680px){
  body.fcte-v5.page-family-data.data-access-redesign .wrap,body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{width:calc(100% - 28px)}
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head,body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero,body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{padding-left:18px;padding-right:18px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-actions{min-width:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics{grid-template-columns:1fr 1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-wrap,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-individual-overview{margin-left:18px;margin-right:18px}
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-section-label,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-row-inspect-hint,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-sample-tools,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-groups,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-horizontal-rail,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-panel,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-caption,body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-rows-links{margin-left:18px;margin-right:18px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-bottom-cta{margin-left:18px;margin-right:18px;align-items:flex-start;flex-direction:column}
}

/* ============================================================================
   FCTE Data Marketplace — query-aligned connection system — 2026-08-24
   The overview + Connections tab now mirror the same concepts used in the
   illustrative public sample query. Flat editorial treatment; no tree scroll.
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  margin-top:34px;
  padding:22px 24px 24px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  gap:0 34px;
  margin-top:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-block,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-usecase-block{min-width:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:22px;
  margin-top:7px;
  border-bottom:1px solid #d8e4e1;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:10px;
  padding:12px 0 13px;
  border-top:1px solid #d8e4e1;
  min-width:0;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-num{
  color:#0b8a83;
  font:900 14px/1.35 var(--fd-mono);
  letter-spacing:.05em;
  padding-top:2px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item strong{
  display:block;
  color:#143d44;
  font-size:14px;
  line-height:1.3;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item small{
  display:block;
  margin-top:4px;
  color:#60787d;
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item em{
  display:block;
  margin-top:6px;
  color:#8a9da0;
  font:750 14px/1.35 var(--fd-mono);
  font-style:normal;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:16px;
  margin-top:7px;
  border-bottom:1px solid #d8e4e1;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:7px;
  align-items:start;
  padding:11px 0 12px;
  border-top:1px solid #d8e4e1;
  min-width:0;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item>span{
  color:#789094;
  font:850 14px/1.35 var(--fd-mono);
  padding-top:1px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item strong{
  color:#31565c;
  font-size:14px;
  line-height:1.35;
  font-weight:650;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item small{
  grid-column:2;
  color:#b06b28;
  font:800 14px/1.2 var(--fd-mono);
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card .ds-tag-summary{
  margin-top:12px;
  color:#506f74;
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card .ds-inline-link{
  margin-left:5px;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro{
  max-width:820px;
  padding-bottom:20px;
  border-bottom:1px solid #d6e2df;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro .ds-section-label{display:block;margin-bottom:8px}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
  margin:0;
  color:#133b42;
  font-size:26.0px;
  line-height:1.06;
  letter-spacing:-.03em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro p{
  margin:9px 0 0;
  max-width:76ch;
  color:#60787d;
  font-size:14px;
  line-height:1.55;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-shell{
  margin-top:22px;
  border:1px solid #c6d8d5;
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root{
  display:grid;
  grid-template-columns:120px minmax(0,240px) minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:15px 18px;
  background:#0c4148;
  color:#fff;
  border-bottom:1px solid #0a353b;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root small{
  color:#5dd2c5;
  font:900 14px/1.2 var(--fd-mono);
  text-transform:uppercase;
  letter-spacing:.07em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root strong{
  font:900 14px/1.25 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root span{
  color:#c2d5d7;
  font-size:14px;
  line-height:1.4;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card{
  min-width:0;
  padding:18px 18px 17px;
  border-bottom:1px solid #d8e4e1;
  border-right:1px solid #d8e4e1;
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card:nth-child(2n){border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card-head>span{
  color:#0c8a83;
  font:900 14px/1.2 var(--fd-mono);
  letter-spacing:.06em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card-head small{
  color:#83989b;
  font:800 14px/1.2 var(--fd-mono);
  text-transform:uppercase;
  letter-spacing:.04em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card.is-derived .ds-query-connection-card-head small{color:#9b6f3d}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-path{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  color:#738a8e;
  font:750 14px/1.35 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-path b{color:#16a096;font-weight:650}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card h4{
  margin:9px 0 0;
  color:#143d44;
  font-size:15.0px;
  line-height:1.2;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card h4 a{color:inherit;text-decoration:none;border-bottom:1px solid #8db8b3}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card h4 a:hover{color:#0b8079;border-color:#0b8079}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card>p{
  margin:6px 0 0;
  min-height:31px;
  color:#5c767b;
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set{
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid #e1e9e7;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set>small{
  display:block;
  margin-bottom:7px;
  color:#84999c;
  font:800 14px/1.2 var(--fd-mono);
  text-transform:uppercase;
  letter-spacing:.05em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set>div{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set code{
  padding:4px 6px;
  background:#f0f6f5;
  border-left:2px solid #77b8b2;
  color:#31565c;
  font:750 14px/1.2 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set em{
  color:#7d9295;
  font-size:14px;
  line-height:1.4;
  font-style:normal;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-top:12px;
  color:#738a8e;
  font-size:14px;
  line-height:1.4;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot .network-readout{
  margin:0;
  padding:0;
  border:0;
  color:#3d6268;
  font:800 14px/1.4 var(--fd-mono);
  text-align:right;
}

@media (max-width:1020px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-grid{grid-template-columns:1fr;gap:24px}
}
@media (max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-list,
  body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-list,
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-list{grid-template-columns:1fr}
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card{border-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root{grid-template-columns:1fr;gap:5px}
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot{flex-direction:column}
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot .network-readout{text-align:left}
}


/* ============================================================================
   FCTE Data Marketplace — readability + unified sample-table system — 2026-08-24
   Rebuild goals:
   - readable at normal desktop zoom
   - one typography scale across Overview / Connections / AI-ML / Research
   - identical table-header treatment for AI-ML and Research samples
   - fewer cramped two-column micro-panels
   - stronger section hierarchy without rounded-card styling
   ============================================================================ */

body.fcte-v5.page-family-data.data-access-redesign{
  --dm-text:#244950;
  --dm-muted:#617a7f;
  --dm-soft:#f5f9f8;
  --dm-line:#c6d8d5;
  --dm-line-soft:#dce7e5;
  --dm-teal:#087f78;
  --dm-navy:#0b3f46;
}

/* Use more of the desktop canvas. */
body.fcte-v5.page-family-data.data-access-redesign .wrap,
body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap{
  width:min(1580px,calc(100% - 64px));
  max-width:1580px;
}
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(1500px,calc(100% - 64px));
  max-width:1500px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout{
  grid-template-columns:250px minmax(0,1fr);
  gap:28px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{
  max-height:820px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label{
  padding:16px 15px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-group{
  padding:16px 14px 9px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn{
  min-height:44px;
  padding:11px 14px;
  font-size:14px;
}

/* Domain product header. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  padding:32px 36px 30px;
  gap:38px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker{
  margin-bottom:10px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
  font-size:clamp(42px,3.7vw,58px);
  line-height:.98;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
  max-width:74ch;
  font-size:16.0px;
  line-height:1.6;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat strong{
  font-size:18.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-source-link{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-license-link{
  padding:12px 14px;
  font-size:14px;
}

/* Navigation is a primary control, not microcopy. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  padding:0 24px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  min-height:52px;
  padding:16px 15px 14px;
  font-size:14px;
  letter-spacing:.01em;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active{
  border-bottom-width:4px;
}

/* Unified section typography. */
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-tag-block-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-label{
  color:var(--dm-teal);
  font-size:14px;
  line-height:1.25;
  letter-spacing:.07em;
}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel{
  color:var(--dm-text);
}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-box p,
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-best,
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note{
  font-size:14.5px;
  line-height:1.62;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-inline-link,
body.fcte-v5.page-family-data.data-access-redesign .ds-dict-link,
body.fcte-v5.page-family-data.data-access-redesign .ds-rows-links a{
  font-size:14px;
}

/* Overview: reduce tiny fragments and give each line room to scan. */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  margin-top:30px;
  padding:26px 28px 28px;
  border-top:1px solid var(--dm-line);
  border-bottom:1px solid var(--dm-line);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:34px;
  margin-top:16px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-list{
  grid-template-columns:1fr;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item{
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  padding:14px 0 15px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-num{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item strong{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item small{
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-item em{
  font-size:14px;
  white-space:normal;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-list{
  grid-template-columns:1fr;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item{
  grid-template-columns:30px minmax(0,1fr);
  padding:13px 0 14px;
  gap:9px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item>span{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item strong{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-usecase-compact-item small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card .ds-tag-summary{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table th{
  padding:12px 15px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .entity-table td{
  padding:13px 15px;
  font-size:14px;
  line-height:1.5;
}

/* Connections: one clear vertical reading path instead of dense 2-column cards. */
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro{
  max-width:900px;
  padding-bottom:22px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
  font-size:30.0px;
  line-height:1.08;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro p{
  font-size:14.5px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-shell{
  margin-top:24px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root{
  grid-template-columns:150px minmax(170px,260px) minmax(0,1fr);
  padding:18px 22px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root strong{
  font-size:15.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-root span{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-list{
  grid-template-columns:1fr;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card:nth-child(2n){
  border-right:0;
  padding:22px 24px 21px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card-head>span{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card-head small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-path{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card h4{
  margin-top:10px;
  font-size:18.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-card>p{
  min-height:0;
  font-size:14px;
  line-height:1.55;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set>small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set code{
  padding:5px 7px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-field-set em{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-connection-foot .network-readout{
  font-size:14px;
}

/* AI/ML + Research: use the same visual system and readable scale. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{
  padding:34px 36px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
  font-size:clamp(30px,2.8vw,40px);
  line-height:1.03;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p{
  font-size:15.0px;
  line-height:1.58;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-download,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-secondary{
  padding:12px 15px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span{
  padding:18px 24px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics strong{
  font-size:19.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small{
  margin-top:5px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
  padding:30px 34px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head{
  grid-template-columns:34px 1fr;
  gap:13px;
  margin-bottom:18px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head>span{
  width:32px;
  height:32px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{
  margin-top:4px;
  font-size:21.0px;
  line-height:1.18;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head-between{
  grid-template-columns:34px minmax(0,1fr) auto;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head-between>b{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases{
  gap:8px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases span{
  padding:8px 10px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note{
  margin-top:17px;
  font-size:14px;
  line-height:1.6;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid>div{
  padding:15px 16px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid strong{
  margin-top:6px;
  font-size:23.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span{
  margin-top:6px;
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint article{
  padding:18px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint strong{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p{
  margin:9px 0 12px;
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-examples code{
  padding:4px 6px;
  font-size:14px;
}

/* Research query + guidance: readable 2/3 : 1/3 split. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
  margin-top:26px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span{
  padding:14px 16px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  margin-top:5px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
  grid-template-columns:minmax(0,2fr) minmax(300px,1fr);
  margin-top:28px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-query-block .ds-market-block-head{
  margin-bottom:10px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p{
  font-size:14px;
  line-height:1.62;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution{
  padding:15px 16px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution strong{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-text-link{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-research-rows-head{
  margin:30px 32px 10px;
}

/* One sample-table header system for both AI/ML and Research.
   Field name on first line; field category on second line. */
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap{
  border:1px solid var(--dm-line);
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table,
body.fcte-v5.page-family-data.data-access-redesign .ds-table{
  border-collapse:separate;
  border-spacing:0;
  width:max-content;
  min-width:100%;
  font-family:var(--fd-font);
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table thead th,
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead th{
  position:sticky;
  top:0;
  z-index:5;
  min-width:132px;
  padding:11px 13px 10px;
  text-align:left;
  vertical-align:bottom;
  background:#eaf3f1;
  color:#173f46;
  border-right:1px solid #cbdad7;
  border-bottom:2px solid #7ab9b3;
  white-space:nowrap;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table thead th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead th span{
  display:block;
  color:#173f46;
  font:850 14px/1.25 var(--fd-mono);
  letter-spacing:0;
  text-transform:none;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table thead th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-table #dsRowsHead th small{
  display:block;
  margin-top:4px;
  color:#0b837b;
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-table td{
  min-height:42px;
  padding:10px 13px;
  color:#31565c;
  border-right:1px solid #e4ecea;
  border-bottom:1px solid #e4ecea;
  background:#fff;
  white-space:nowrap;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table tr:nth-child(even) td,
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr:nth-child(even) td{
  background:#f8fbfa;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th.ds-pinned-col{
  background:#e2efec ;
  color:#173f46 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table .ds-pinned-col{
  background:#fbfdfc;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr:hover td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table tbody tr:hover td{
  background:#eef7f5;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr:hover td.ds-pinned-col{
  background:#e8f4f2;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption{
  margin-top:10px;
  font-size:14px;
  line-height:1.5;
}

/* Sample table tools are controls, so keep them legible. */
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search input,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search input{
  min-height:40px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-meta{
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn{
  min-height:38px;
  padding:9px 11px;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-column-groups button,
body.fcte-v5.page-family-data.data-access-redesign .ds-group-label{
  font-size:14px;
}

/* Evidence and licensing now use the same readable body scale. */
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3{
  font-size:30.0px;
  line-height:1.12;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro p{
  font-size:14.5px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a span{
  font-size:15.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a small{
  font-size:14px;
  line-height:1.45;
}

/* Responsive collapse happens earlier to prevent tiny text columns. */
@media (max-width:1220px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid,
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-grid{
    grid-template-columns:1fr;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block:first-child,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block:first-child{
    border-right:0;
    border-bottom:1px solid var(--dm-line);
  }
}
@media (max-width:980px){
  body.fcte-v5.page-family-data.data-access-redesign .wrap,
  body.fcte-v5.page-family-data.data-access-redesign .global-header .wrap,
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:min(100% - 32px,100%);
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-layout{
    grid-template-columns:1fr;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{
    position:relative;
    top:auto;
    max-height:380px;
  }
}
@media (max-width:700px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{
    padding-left:20px;
    padding-right:20px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    padding:0 10px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
    min-height:48px;
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
    grid-template-columns:1fr 1fr;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
    grid-template-columns:1fr;
  }
}


/* ============================================================================
   FCTE Data Marketplace — full-width / mobile-first explorer — 2026-08-24
   The domain rail is intentionally horizontal so sample data gets the page.
   ============================================================================ */

/* The explorer no longer sacrifices a permanent left column to domain navigation. */
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(1680px,calc(100% - 40px)) ;
  max-width:1680px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout{
  display:grid ;
  grid-template-columns:minmax(0,1fr) ;
  gap:18px ;
  width:100% ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-main{
  width:100% ;
  min-width:0 ;
}

/* Domain navigation becomes a compact horizontal marketplace rail. */
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{
  position:sticky ;
  top:62px ;
  z-index:45 ;
  display:grid ;
  grid-template-columns:auto minmax(0,1fr) ;
  align-items:stretch ;
  max-height:none ;
  overflow:hidden ;
  padding:0 ;
  border:1px solid #c6d8d5 ;
  background:#fff ;
  box-shadow:0 4px 14px rgba(9,55,61,.05) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label{
  position:static ;
  display:flex ;
  flex-direction:column ;
  justify-content:center ;
  min-width:138px ;
  padding:10px 14px ;
  border:0 ;
  border-right:1px solid #d6e2df ;
  background:#f5f9f8 ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label span{
  font-size:14px ;
  line-height:1.2 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label small{
  margin-top:3px ;
  font-size:14px ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list{
  display:flex ;
  flex-direction:row ;
  align-items:stretch ;
  gap:0 ;
  min-width:0 ;
  overflow-x:auto ;
  overflow-y:hidden ;
  overscroll-behavior-inline:contain ;
  scroll-snap-type:x proximity ;
  scrollbar-width:thin ;
  scrollbar-color:#79aaa6 #f5f9f8 ;
  -webkit-overflow-scrolling:touch ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list::-webkit-scrollbar{
  height:7px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list::-webkit-scrollbar-track{
  background:#f5f9f8 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-list::-webkit-scrollbar-thumb{
  background:#79aaa6 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-group{
  display:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn{
  flex:0 0 auto ;
  width:auto ;
  min-width:auto ;
  min-height:46px ;
  padding:11px 16px ;
  border:0 ;
  border-right:1px solid #e0e9e7 ;
  background:#fff ;
  color:#244950 ;
  font-size:14px ;
  line-height:1 ;
  white-space:nowrap ;
  scroll-snap-align:start ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn:hover{
  background:#f1f7f5 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn.active{
  background:#0b3f46 ;
  color:#fff ;
}
/* Status is already visible inside each domain product view; removing pills makes the rail usable. */
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn .tag{
  display:none ;
}

/* Keep the view tabs on one line; on phones they become a swipeable rail. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  display:flex ;
  flex-wrap:nowrap ;
  gap:0 ;
  overflow-x:auto ;
  overflow-y:hidden ;
  overscroll-behavior-inline:contain ;
  scrollbar-width:thin ;
  -webkit-overflow-scrolling:touch ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  flex:0 0 auto ;
  white-space:nowrap ;
  min-width:max-content ;
}

/* Domain title must never break mid-word. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3{
  word-break:normal ;
  overflow-wrap:normal ;
  hyphens:none ;
}

/* --------------------------------------------------------------------------
   Tables: data does not wrap. Horizontal movement is the intended interaction.
   AI/ML and Research use the exact same field-header geometry.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
  width:100% ;
  max-width:100% ;
  overflow-x:auto ;
  overflow-y:auto ;
  overscroll-behavior:contain ;
  -webkit-overflow-scrolling:touch ;
  touch-action:pan-x pan-y ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table{
  table-layout:auto ;
  width:max-content ;
  min-width:max-content ;
  max-width:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{
  white-space:nowrap ;
  word-break:normal ;
  overflow-wrap:normal ;
  hyphens:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th{
  min-width:150px ;
  max-width:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span{
  font-size:14px ;
  line-height:1.2 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{
  font-size:14px ;
  line-height:1.15 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{
  min-width:max-content ;
  font-size:14px ;
}
/* Let truly short scalar columns remain compact while still never wrapping. */
body.fcte-v5.page-family-data.data-access-redesign .ds-table th[data-col-index="4"],
body.fcte-v5.page-family-data.data-access-redesign .ds-table th[data-col-index="6"]{
  min-width:88px ;
}

/* Mobile: full-bleed data viewport, no sticky identifier columns consuming the screen. */
@media (max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:100% ;
    max-width:none ;
    padding-left:10px ;
    padding-right:10px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .data-browser-head{
    padding-left:4px ;
    padding-right:4px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{
    top:54px ;
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label{
    min-width:0 ;
    padding:8px 10px 6px ;
    border-right:0 ;
    border-bottom:1px solid #d6e2df ;
    flex-direction:row ;
    align-items:center ;
    justify-content:space-between ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-btn{
    min-height:42px ;
    padding:10px 13px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
    padding:22px 16px 20px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
    font-size:clamp(31px,10vw,42px) ;
    line-height:1 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{
    width:100% ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    padding-left:8px ;
    padding-right:8px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
    min-height:46px ;
    padding:13px 12px 12px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-sample-tools,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-groups,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-horizontal-rail,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-panel,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-caption,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-rows-links{
    margin-left:10px ;
    margin-right:10px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
    margin-left:0 ;
    margin-right:0 ;
  }
  /* Pinned columns are useful on desktop but consume too much of a phone viewport. */
  body.fcte-v5.page-family-data.data-access-redesign .ds-table .ds-pinned-col{
    position:static ;
    left:auto ;
    z-index:auto ;
    box-shadow:none ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th{
    min-width:138px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{
    font-size:14px ;
  }
}

@media (max-width:560px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    padding-left:6px ;
    padding-right:6px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar-label small{
    display:none ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
    padding-left:15px ;
    padding-right:15px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
    grid-template-columns:repeat(2,minmax(0,1fr)) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-sample-tools{
    gap:8px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table-search{
    min-width:100% ;
    width:100% ;
  }
}

/* ============================================================================
   FCTE DATA MARKETPLACE — focused 10/10 navigation + mobile-first data layout
   2026-08-24
   Goals: one reading column, Prev/Next domains, readable type, no wrapped data.
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign{
  --dm-max:1120px;
  --dm-text:#173f46;
  --dm-muted:#637b80;
  --dm-line:#c9d9d6;
  --dm-soft:#f5f9f8;
  --dm-teal:#087f78;
  --dm-navy:#083c43;
}

/* The marketplace is a focused product surface, not a full-width dashboard. */
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(var(--dm-max),calc(100% - 48px)) ;
  max-width:var(--dm-max) ;
  padding:0 ;
  margin-inline:auto ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout{
  display:block ;
  width:100% ;
  max-width:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-main{
  width:100% ;
  max-width:none ;
  min-width:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign #dsDomainList,
body.fcte-v5.page-family-data.data-access-redesign .ds-sidebar{
  display:none ;
}

/* Compact marketplace toolbar. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar{
  margin:0 0 18px ;
  padding:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:6px 0 18px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top h2{
  margin:5px 0 0;
  color:var(--dm-navy);
  font-size:clamp(28px,3vw,38px);
  line-height:1.02;
  letter-spacing:-.035em;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar .da-section-number{
  font-size:14px ;
  letter-spacing:.08em ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle{
  flex:0 0 auto;
  margin:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle button{
  min-width:94px;
  min-height:42px;
  font-size:14px;
}

/* Prev/current/next replaces the domain listing completely. */
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-switcher{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,1.35fr) minmax(0,1fr);
  border:1px solid var(--dm-line);
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
  min-width:0;
  min-height:72px;
  padding:12px 18px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step{
  appearance:none;
  border:0;
  background:#fff;
  color:var(--dm-text);
  text-align:left;
  cursor:pointer;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-next{
  text-align:right;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step:hover,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step:focus-visible{
  background:#eef6f4;
  outline:none;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-left:1px solid var(--dm-line);
  border-right:1px solid var(--dm-line);
  background:var(--dm-navy);
  color:#fff;
  text-align:center;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step small,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
  display:block;
  font:800 14px/1.2 var(--fd-mono);
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step small{
  color:#789095;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step strong{
  display:block;
  margin-top:6px;
  overflow:hidden;
  color:var(--dm-navy);
  font-size:14px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-prev small::before{content:'← ';}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-next small::after{content:' →';}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small{color:#8dd9d1;}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
  margin-top:4px;
  max-width:100%;
  overflow:hidden;
  font-size:18.0px;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
  margin-top:5px;
  color:#c7dbd8;
  font-size:14px;
}

/* Product header: clear hierarchy, sensible width. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  display:grid ;
  grid-template-columns:minmax(0,1fr) 270px ;
  gap:36px ;
  padding:28px 30px 26px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
  max-width:none ;
  font-size:clamp(42px,5vw,58px) ;
  line-height:.96 ;
  letter-spacing:-.05em ;
  word-break:normal ;
  overflow-wrap:normal ;
  hyphens:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
  margin-top:12px ;
  max-width:68ch ;
  font-size:15.0px ;
  line-height:1.58 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{
  align-self:start ;
}

/* View tabs stay readable and form one predictable navigation row. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  display:flex ;
  flex-wrap:nowrap ;
  overflow-x:auto ;
  gap:0 ;
  padding:0 18px ;
  scrollbar-width:none ;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::-webkit-scrollbar{display:none;}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  flex:0 0 auto ;
  min-width:max-content ;
  min-height:50px ;
  padding:15px 14px 13px ;
  font-size:14px ;
  white-space:nowrap ;
}

/* One readable content scale. */
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption{
  font-size:14px ;
  line-height:1.6 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-tag-block-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-label{
  font-size:14px ;
  line-height:1.3 ;
  letter-spacing:.07em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{
  font-size:20.0px ;
  line-height:1.15 ;
}

/* Research query: keep the primary content dominant. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
  grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr) ;
  gap:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .code-block{
  font-size:14px ;
  line-height:1.55 ;
}

/* Unified sample tables — no cell or header wrapping, ever. */
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
  position:relative;
  width:100% ;
  max-width:100% ;
  overflow-x:auto ;
  overflow-y:auto ;
  border:1px solid var(--dm-line) ;
  background:#fff ;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table{
  table-layout:auto ;
  width:max-content ;
  min-width:100% ;
  max-width:none ;
  border-collapse:separate ;
  border-spacing:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{
  white-space:nowrap ;
  word-break:keep-all ;
  overflow-wrap:normal ;
  hyphens:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th{
  min-width:128px ;
  padding:10px 12px 9px ;
  background:#e8f2f0 ;
  color:#153f46 ;
  border-right:1px solid #cadbd8 ;
  border-bottom:2px solid #6fb5ae ;
  text-align:left ;
  vertical-align:bottom ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span{
  display:block ;
  font:850 14px/1.2 var(--fd-mono) ;
  text-transform:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{
  display:block ;
  margin-top:4px ;
  color:var(--dm-teal) ;
  font:800 14px/1.15 var(--fd-mono) ;
  letter-spacing:.04em ;
  text-transform:uppercase ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{
  padding:9px 12px ;
  min-width:max-content ;
  max-width:none ;
  font-size:14px ;
  line-height:1.35 ;
  text-overflow:clip ;
}

/* On phones: normal page margins, tables alone go edge-to-edge. */
@media (max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:100% ;
    max-width:none ;
    padding:0 14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top{
    align-items:center;
    gap:12px;
    padding:4px 0 12px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top h2{
    font-size:24.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar .da-section-number{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-city-toggle button{
    min-width:68px ;
    min-height:38px ;
    padding:8px 10px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-switcher{
    grid-template-columns:1fr minmax(130px,1.35fr) 1fr;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step,
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
    min-height:64px;
    padding:9px 10px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step small{
    font-size:0;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-prev small::before{
    content:'← Prev';
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-next small::after{
    content:'Next →';
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step strong{
    margin-top:4px;
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
    font-size:14px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
    display:none;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
    display:block ;
    padding:22px 18px 18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
    font-size:36.0px ;
    line-height:.98 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{
    margin-top:18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    margin-inline:-14px ;
    padding:0 14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
    min-height:46px ;
    padding:13px 12px 11px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-grid{
    grid-template-columns:1fr ;
  }
  /* Only the data viewport goes full-bleed; the rest remains readable. */
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
    width:calc(100% + 28px) ;
    max-width:none ;
    margin-left:-14px ;
    margin-right:-14px ;
    border-left:0 ;
    border-right:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table .ds-pinned-col{
    position:static ;
    left:auto ;
    box-shadow:none ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table th,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th{
    min-width:120px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{
    font-size:14px ;
  }
}

@media (max-width:430px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{padding:0 12px ;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top h2{font-size:21.0px ;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top .da-section-number{display:none ;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-switcher{grid-template-columns:.9fr 1.2fr .9fr;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step strong{font-size:14px ;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{font-size:14px ;}
  body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{font-size:33.0px ;}
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
    width:calc(100% + 24px) ;
    margin-left:-12px ;
    margin-right:-12px ;
  }
}

/* Final readability floor for product copy. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-box p,
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-best{
  font-size:14px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint strong,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint small,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid small,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
  font-size:14px ;
}


/* ============================================================================
   FCTE Data Marketplace — narrow editorial explorer + restored graphical flow
   2026-08-24
   ============================================================================ */

/* Keep the dataset explorer on the same editorial measure as the surrounding
   page instead of turning it into a wide dashboard. */
body.fcte-v5.page-family-data.data-access-redesign{
  --dm-content-max:1000px;
}
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(var(--dm-content-max),calc(100% - 48px)) ;
  max-width:var(--dm-content-max) ;
  margin-inline:auto ;
  padding:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout,
body.fcte-v5.page-family-data.data-access-redesign .ds-main,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar{
  width:100% ;
  max-width:100% ;
}

/* Restore a true graphical relationship flow instead of connection cards. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"]{
  padding:30px 32px 34px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro{
  max-width:760px ;
  padding:0 0 18px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
  margin:7px 0 9px ;
  font-size:27.0px ;
  line-height:1.08 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro p{
  margin:0 ;
  font-size:14px ;
  line-height:1.58 ;
}

/* The flow itself may scroll horizontally, but the page never widens. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
  width:100% ;
  max-width:100% ;
  margin-top:6px ;
  padding:34px 20px 24px ;
  overflow-x:auto ;
  overflow-y:hidden ;
  border:1px solid #c7d8d5 ;
  background:#f7faf9 ;
  border-radius:0 ;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree{
  min-width:760px ;
  margin:0 auto ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node{
  padding:10px 14px ;
  font-size:14px ;
  text-transform:none ;
  letter-spacing:.01em ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node-center{
  padding:13px 20px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-readout{
  min-width:720px ;
  margin-top:22px ;
  padding-top:14px ;
  border-top:1px solid #d6e3e1 ;
  color:#567278 ;
  font-size:14px ;
  line-height:1.45 ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-legend{
  gap:20px ;
  margin-top:14px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-hint{
  margin-top:9px ;
  font-size:14px ;
  line-height:1.5 ;
}

/* Mobile keeps a normal page width; only intrinsically wide data/chart surfaces
   scroll inside themselves. */
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:100% ;
    max-width:none ;
    padding:0 14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"]{
    padding:22px 16px 26px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
    font-size:23.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
    padding:28px 12px 20px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree{
    min-width:700px ;
    transform:none ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-readout{
    min-width:670px ;
  }
}

@media(max-width:430px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    padding:0 12px ;
  }
}

/* ============================================================================
   FCTE Data Marketplace — padded content + badge tabs + readability pass
   2026-08-24
   ============================================================================ */

/* One consistent internal gutter for every dataset view. */
body.fcte-v5.page-family-data.data-access-redesign #dsAvailable{
  padding:0 30px 34px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel,
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="aiml"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="research"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="overview"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="connections"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="assurance"],
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel[data-da-panel="buy"]{
  padding:0 0 34px ;
}

/* Tabs are compact badges, not a secondary underline navigation bar. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  display:flex ;
  align-items:center ;
  flex-wrap:nowrap ;
  gap:9px ;
  margin:18px 0 24px ;
  padding:0 ;
  overflow-x:auto ;
  border:0 ;
  background:transparent ;
  scrollbar-width:none ;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::-webkit-scrollbar{display:none ;}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  flex:0 0 auto ;
  min-width:max-content ;
  min-height:38px ;
  padding:9px 14px ;
  border:1px solid #b9ceca ;
  border-radius:999px ;
  background:#fff ;
  color:#33585e ;
  box-shadow:none ;
  font:850 14px/1.15 var(--fd-mono) ;
  letter-spacing:0 ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button:hover,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button:focus-visible{
  border-color:#6faea7 ;
  background:#eff7f5 ;
  color:#073f46 ;
  outline:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[aria-selected="true"]{
  border-color:#087f78 ;
  border-bottom-color:#087f78 ;
  background:#087f78 ;
  color:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active span,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[aria-selected="true"] span,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="aiml"].active span,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button[data-da-tab="research"].active span{
  color:#fff ;
}

/* Remove the research-only top stripe so every selected tab is treated equally. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research{
  border-top:0 ;
}

/* Raise the readability floor across the whole marketplace. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
  font-size:16.0px ;
  line-height:1.62 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-box p,
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-best{
  font-size:15.5px ;
  line-height:1.62 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-tag-block-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-analytical-label{
  font-size:14px ;
  line-height:1.3 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
  font-size:clamp(34px,4vw,42px) ;
  line-height:1.02 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{
  font-size:22.0px ;
  line-height:1.16 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases span{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span{
  font-size:14px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint strong,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint small,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid small,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics strong{
  font-size:21.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search input,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search input{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn{
  font-size:14px ;
}

/* Same readable table geometry for AI/ML and Research. */
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th span{
  font-size:14px ;
  line-height:1.25 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table th small{
  font-size:14px ;
  line-height:1.2 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td,
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-table td{
  font-size:14px ;
  line-height:1.35 ;
}

/* Graph stays inside the same padded content measure. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-connections-intro,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-legend,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-hint{
  max-width:100% ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node-center{
  font-size:14px ;
}

@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign #dsAvailable{
    padding:0 14px 26px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    gap:7px ;
    margin:14px 0 20px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
    min-height:36px ;
    padding:8px 12px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head p,
  body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p,
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
  body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-note,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p{
    font-size:14.5px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
    font-size:31.0px ;
  }
  /* Keep the horizontal data viewport inside the page gutter. */
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
  body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap{
    width:100% ;
    max-width:100% ;
    margin-left:0 ;
    margin-right:0 ;
    border-left:1px solid var(--dm-line) ;
    border-right:1px solid var(--dm-line) ;
  }
}

/* FCTE Overview dedupe — 2026-08-24
   Keep the concise connection/use-case summary on Overview; detailed concept
   relationships live in the graphical Connections tab. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-query-context-card{
  padding-bottom:26px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-query-context-grid{
  margin-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-query-context-block,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-query-usecase-block{
  align-self:start;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-tag-summary{
  margin-bottom:0 ;
}


/* ============================================================================
   FCTE Overview — real six-card connection grid
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  padding:30px 30px 28px ;
  background:#fbfdfc ;
  border-top:1px solid #c6d8d5 ;
  border-bottom:1px solid #c6d8d5 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card>.ds-section-label{
  margin-bottom:18px ;
  font-size:14px ;
  letter-spacing:.08em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
  display:grid ;
  grid-template-columns:repeat(3,minmax(0,1fr)) ;
  gap:20px ;
  margin-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
  display:flex ;
  flex-direction:column ;
  min-width:0 ;
  min-height:248px ;
  padding:0 ;
  overflow:hidden ;
  border:1px solid #b9cfcb ;
  border-top:4px solid #0b8179 ;
  border-radius:0 ;
  background:#fff ;
  box-shadow:0 4px 12px rgba(18,68,72,.07) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-top{
  display:flex ;
  align-items:center ;
  justify-content:flex-start ;
  gap:12px ;
  min-height:52px ;
  padding:11px 15px ;
  border-bottom:1px solid #d7e3e1 ;
  background:#eff6f4 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-top>span{
  display:grid ;
  place-items:center ;
  flex:0 0 30px ;
  width:30px ;
  height:30px ;
  background:#0b8179 ;
  color:#fff ;
  font:850 14px/1 var(--fd-mono) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-top>small{
  color:#46676d ;
  font:800 14px/1.25 var(--fd-mono) ;
  letter-spacing:.055em ;
  text-transform:uppercase ;
  text-align:left ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-body{
  flex:1 1 auto ;
  padding:18px 18px 16px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  margin:0 0 9px ;
  color:#153f46 ;
  font-size:19.0px ;
  line-height:1.15 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card p{
  margin:0 ;
  color:#5a7379 ;
  font-size:14px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  padding:12px 18px 13px ;
  border-top:1px solid #dce7e5 ;
  background:#fafcfc ;
  color:#698185 ;
  font:700 14px/1.45 var(--fd-mono) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  border-top-color:#b46a16 ;
  background:#fffdf9 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card .ds-overview-context-card-top{
  background:#fff7eb ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card .ds-overview-context-card-top>span{
  background:#b46a16 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list{
  display:grid ;
  gap:0 ;
  margin-top:4px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list>span{
  display:grid ;
  grid-template-columns:24px minmax(0,1fr) auto ;
  gap:9px ;
  align-items:center ;
  min-height:35px ;
  padding:8px 0 ;
  border-top:1px solid #eadfce ;
  color:#31565c ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list>span:first-child{
  border-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list b{
  color:#b46a16 ;
  font:850 14px/1 var(--fd-mono) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list strong{
  font-size:14px ;
  line-height:1.3 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list small{
  color:#926119 ;
  font:800 14px/1 var(--fd-mono) ;
  text-transform:uppercase ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-foot{
  display:flex ;
  justify-content:space-between ;
  gap:22px ;
  margin-top:20px ;
  padding-top:16px ;
  border-top:1px solid #cfdedb ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-foot .ds-tag-summary{
  margin:0 ;
  font-size:14px ;
  line-height:1.5 ;
}
@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) ;
  }
}
@media(max-width:600px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
    padding:22px 16px 22px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
    grid-template-columns:1fr ;
    gap:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
    min-height:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-foot{
    display:block ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-foot .ds-tag-summary+ .ds-tag-summary{
    margin-top:8px ;
  }
}


/* ============================================================================
   FCTE Data Explorer — Overview cleanup
   Remove decorative horizontal rules and all hover motion from the Overview.
   Keep only card borders that define the six actual cards.
   ============================================================================ */

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-snapshot-card{
  border-bottom:0 ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-snapshot-divider{
  display:none ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-snapshot-row + .ds-snapshot-row,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-analytical-box{
  margin-top:18px ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-section-label.group-start{
  border-top:0 ;
  padding-top:0 ;
  margin-top:34px ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-query-context-card{
  border-top:0 ;
  border-bottom:0 ;
  background:transparent ;
  box-shadow:none ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-card-foot{
  border-top:0 ;
  margin-top:12px ;
  padding-top:4px ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-use-card{
  border:0 ;
  background:transparent ;
  box-shadow:none ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-use-row{
  padding-left:0 ;
  padding-right:0 ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-use-row + .ds-use-row{
  border-top:0 ;
  margin-top:10px ;
}

/* No hover, lift, brightness or animated border behavior in this Overview. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] :is(
  .ds-snapshot-card,
  .ds-content-card,
  .ds-query-context-card,
  .ds-use-card,
  .ds-overview-context-card,
  .ds-overview-use-card
){
  transition:none ;
  transform:none ;
  filter:none ;
}

@media (hover:hover) and (pointer:fine){
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] :is(
    .ds-snapshot-card,
    .ds-content-card,
    .ds-query-context-card,
    .ds-use-card
  ):hover{
    transform:none ;
    border-color:transparent ;
    box-shadow:none ;
    filter:none ;
  }

  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-context-card:hover{
    transform:none ;
    border-color:#b9cfcb ;
    border-top-color:#0b8179 ;
    box-shadow:0 4px 12px rgba(18,68,72,.07) ;
    filter:none ;
  }

  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-use-card:hover{
    border-top-color:#b46a16 ;
  }
}


/* ============================================================================
   Domain navigator — selected domain uses underline, not dark fill
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
  position:relative;
  background:#fff ;
  color:var(--dm-navy) ;
  border-left:1px solid var(--dm-line) ;
  border-right:1px solid var(--dm-line) ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:4px;
  background:var(--dm-teal);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small{
  color:#6c858a ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
  color:var(--dm-navy) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
  color:#5d777c ;
}

@media(max-width:700px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current::after{
    left:10px;
    right:10px;
    height:3px;
  }
}


/* ============================================================================
   FCTE DATA MARKETPLACE — 10/10 DESIGN SYSTEM
   Final refinement: clarity, typography, mobile data usability, commercial flow
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign{
  --dm-max:1000px;
  --dm-ink:#0b3f46;
  --dm-text:#294f55;
  --dm-muted:#648086;
  --dm-teal:#0b877e;
  --dm-teal-dark:#075f5a;
  --dm-pale:#eff7f5;
  --dm-soft:#f7faf9;
  --dm-warm:#fbf7ef;
  --dm-line:#c5d8d4;
  --dm-line-soft:#dce8e5;
  --dm-white:#fff;
}

/* Editorial measure: no wide dashboard drift. */
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(var(--dm-max),calc(100% - 48px)) ;
  max-width:var(--dm-max) ;
  margin-inline:auto ;
  padding-inline:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-layout,
body.fcte-v5.page-family-data.data-access-redesign .ds-main,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar{
  width:100% ;
  max-width:100% ;
}

/* Unified readable type scale. Nothing important below 11px. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
  font-size:clamp(42px,5vw,56px) ;
  line-height:.96 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head p,
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p{
  font-size:15.0px ;
  line-height:1.6 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow{
  font-size:14px ;
  line-height:1.25 ;
  letter-spacing:.06em ;
}
body.fcte-v5.page-family-data.data-access-redesign :is(.ds-dataset-kicker,.da-section-number){
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign :is(.ds-source-link,.ds-inline-link,.ds-market-text-link){
  font-size:14px ;
}

/* Dataset header: strong but calm. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  padding:30px 30px 28px ;
  gap:28px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-copy p{
  max-width:66ch ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat strong{
  font-size:20.0px ;
}

/* Domain navigator — selected domain is underline, never dark fill. */
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
  position:relative ;
  background:#fff ;
  color:var(--dm-ink) ;
  border-left:1px solid var(--dm-line) ;
  border-right:1px solid var(--dm-line) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current::after{
  content:"" ;
  position:absolute ;
  left:22px ;
  right:22px ;
  bottom:0 ;
  height:4px ;
  background:var(--dm-teal) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
  color:var(--dm-muted) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
  color:var(--dm-ink) ;
}

/* Product-mode tabs: clear badges, consistent sizing, no underline rules. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  display:flex ;
  gap:9px ;
  padding:18px 28px 22px ;
  overflow-x:auto ;
  border-top:1px solid var(--dm-line) ;
  border-bottom:0 ;
  background:#fff ;
  scrollbar-width:none;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::-webkit-scrollbar{display:none}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  flex:0 0 auto ;
  min-height:38px ;
  padding:9px 13px ;
  border:1px solid #a9c8c4 ;
  border-radius:999px ;
  background:#fff ;
  color:#345b60 ;
  font-size:14px ;
  font-weight:650 ;
  line-height:1 ;
  white-space:nowrap ;
  box-shadow:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active{
  background:var(--dm-teal) ;
  border-color:var(--dm-teal) ;
  color:#fff ;
  box-shadow:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button::after{display:none }

/* Overview: one clear story instead of status-line fragments. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"]{
  padding:34px 30px 38px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
  gap:34px;
  align-items:start;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer-copy h3{
  margin:8px 0 10px ;
  color:var(--dm-ink);
  font-size:29.0px ;
  line-height:1.08 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer-copy p{
  margin:0 ;
  color:var(--dm-text);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--dm-line);
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article{
  min-width:0;
  padding:16px;
  border-right:1px solid var(--dm-line-soft);
  border-bottom:1px solid var(--dm-line-soft);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:nth-child(2n){border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:nth-last-child(-n+2){border-bottom:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid small{
  display:block;
  color:var(--dm-muted);
  font:800 14px/1.25 var(--fd-mono);
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid strong{
  display:block;
  margin-top:8px;
  color:var(--dm-ink);
  font-size:22.0px;
  line-height:1;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid span{
  display:block;
  margin-top:6px;
  color:var(--dm-muted);
  font-size:14px;
  line-height:1.4;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:28px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance>div{
  padding:18px 20px;
  border-left:3px solid var(--dm-teal);
  background:var(--dm-pale);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance>div+div{
  border-left-color:#bd7b2a;
  background:var(--dm-warm);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance small{
  color:var(--dm-muted);
  font:800 14px/1.25 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance p{
  margin:7px 0 0 ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
  padding:0 2px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical p{
  max-width:72ch;
  margin:0 ;
  color:var(--dm-muted);
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical a{
  flex:0 0 auto;
  color:var(--dm-teal-dark);
  font-size:14px;
  font-weight:850;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-overview-lenses{
  margin-top:32px;
  padding-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-row{
  gap:8px ;
  margin-top:12px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-row button{
  min-height:36px ;
  padding:8px 12px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-queryview-best{
  margin-top:10px ;
  font-size:14px ;
}

/* Six real cards: simple contents, no hover, no pseudo-card clutter. */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  margin-top:34px ;
  padding:0 ;
  border:0 ;
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:15px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
  display:grid ;
  grid-template-columns:repeat(3,minmax(0,1fr)) ;
  gap:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
  position:relative;
  min-height:190px;
  padding:20px 18px 17px ;
  border:1px solid #b9cfcb ;
  border-top:4px solid var(--dm-teal) ;
  background:#fff ;
  box-shadow:0 3px 10px rgba(18,68,72,.06) ;
  transform:none ;
  transition:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  border-top-color:#bd7b2a ;
  background:#fffcf7 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-number{
  color:var(--dm-teal);
  font:900 14px/1 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card .ds-overview-card-number{color:#a9671d}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  margin:12px 0 8px ;
  color:var(--dm-ink);
  font-size:18.0px ;
  line-height:1.15 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p{
  margin:0 ;
  color:var(--dm-text);
  font-size:14px ;
  line-height:1.5 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  padding-top:9px ;
  border-top:1px solid var(--dm-line-soft) ;
  color:var(--dm-muted);
  font:750 14px/1.35 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list{
  display:grid;
  gap:7px;
  margin-top:12px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list span{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:auto ;
  padding:0 ;
  border:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list strong{
  font-size:14px;
  color:var(--dm-text);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list small{
  color:#a9671d;
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-summary{
  margin:12px 0 0 ;
  color:var(--dm-muted);
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card:hover{
  transform:none ;
  box-shadow:0 3px 10px rgba(18,68,72,.06) ;
}

/* Graphical Connections remains the detailed relationship view. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"]{
  padding:34px 30px 38px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
  margin:7px 0 9px ;
  font-size:28.0px ;
  line-height:1.08 ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
  width:100% ;
  max-width:100% ;
  margin-top:20px ;
  overflow-x:auto ;
  overflow-y:hidden ;
  border:1px solid var(--dm-line) ;
  background:var(--dm-soft) ;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree{
  min-width:760px ;
}

/* AI/ML has a technical product identity. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"]{
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-aiml{
  background:var(--dm-ink) ;
  color:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-aiml :is(h3,p,.ds-market-eyebrow){
  color:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{
  padding:32px 30px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
  font-size:34.0px ;
  line-height:1.04 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col{
  grid-template-columns:1fr 1fr ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
  padding:28px 30px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{
  font-size:20.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-usecases span{
  font-size:14px ;
  padding:8px 10px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
}

/* Research has a quieter, evidence-oriented identity. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]{
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research{
  background:#edf7f5 ;
  color:var(--dm-ink) ;
  border-left:4px solid var(--dm-teal) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research :is(h3,p,.ds-market-eyebrow){
  color:var(--dm-ink) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
  grid-template-columns:minmax(0,2fr) minmax(270px,1fr) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block{
  background:#fafcfb ;
}

/* One table system. Never wrap data to fake responsiveness. */
body.fcte-v5.page-family-data.data-access-redesign :is(.ds-aiml-preview-wrap,.ds-table-wrap){
  position:relative;
  width:100% ;
  max-width:100% ;
  overflow-x:auto ;
  overflow-y:auto ;
  border:1px solid var(--dm-line) ;
  background:#fff ;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table{
  width:max-content ;
  min-width:100% ;
  table-layout:auto ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th{
  min-width:125px ;
  padding:11px 13px ;
  white-space:nowrap ;
  overflow-wrap:normal ;
  word-break:normal ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span{
  font-size:14px ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small{
  font-size:14px ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td{
  padding:10px 13px ;
  font-size:14px ;
  white-space:nowrap ;
  overflow-wrap:normal ;
  word-break:normal ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table tbody tr{
  cursor:pointer;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption,
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint{
  font-size:14px ;
}

/* Mobile row detail is the preferred way to inspect 50–128 fields. */
@media(max-width:700px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:100% ;
    max-width:none ;
    padding-inline:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
    padding:24px 18px 22px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
    font-size:38.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    margin-inline:-1px ;
    padding:15px 16px 20px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"],
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"]{
    padding:26px 18px 30px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer,
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid{
    grid-template-columns:1fr 1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
    min-height:170px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical{
    flex-direction:column ;
    gap:8px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
    padding-left:18px ;
    padding-right:18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign :is(.ds-aiml-preview-wrap,.ds-table-wrap){
    max-height:460px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table th{
    min-width:138px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-drill-panel{
    top:0 ;
    right:0 ;
    bottom:0 ;
    width:100vw ;
    max-width:none ;
    height:100dvh ;
    border-left:0 ;
    padding:22px 18px 32px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current::after{
    left:10px ;
    right:10px ;
    height:3px ;
  }
}

/* Trust & Evidence. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"]{
  padding:34px 30px 38px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3{
  font-size:28.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a span{
  font-size:15.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a small{
  font-size:14px ;
}

/* Pricing & License: this is a product acquisition page, not a single CTA. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"]{
  padding:34px 30px 38px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero{
  max-width:760px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero h3{
  margin:8px 0 9px;
  color:var(--dm-ink);
  font-size:30.0px;
  line-height:1.08;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero p{margin:0 }
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:26px;
  border:1px solid var(--dm-line);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics article{
  padding:17px;
  border-right:1px solid var(--dm-line);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics article:last-child{border-right:0}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics small{
  display:block;
  color:var(--dm-muted);
  font:800 14px/1.2 var(--fd-mono);
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics strong{
  display:block;
  margin-top:7px;
  color:var(--dm-ink);
  font-size:18.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics span{
  display:block;
  margin-top:5px;
  color:var(--dm-muted);
  font-size:14px;
  line-height:1.35;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:34px;
  margin-top:30px;
  padding:26px 0;
  border-top:1px solid var(--dm-line);
  border-bottom:1px solid var(--dm-line);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included h4{
  margin:8px 0 0;
  color:var(--dm-ink);
  font-size:21.0px;
  line-height:1.2;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li{
  padding:0 0 0 13px;
  border-left:2px solid var(--dm-teal);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li strong{
  display:block;
  color:var(--dm-ink);
  font-size:14px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li span{
  display:block;
  margin-top:4px;
  color:var(--dm-muted);
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths article{
  min-height:190px;
  padding:20px;
  border:1px solid var(--dm-line);
  background:#fff;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths small{
  color:var(--dm-teal);
  font:850 14px/1.2 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths h4{
  margin:9px 0 7px;
  color:var(--dm-ink);
  font-size:18.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths p{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths a{
  display:inline-block;
  margin-top:12px;
  color:var(--dm-teal-dark);
  font-size:14px;
  font-weight:850;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-primary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:24px;
  padding:20px;
  background:var(--dm-pale);
  border-left:4px solid var(--dm-teal);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-primary small{
  display:block;
  color:var(--dm-muted);
  font:800 14px/1.2 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-primary strong{
  display:block;
  margin-top:6px;
  color:var(--dm-ink);
  font-size:15.0px;
}
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"],
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"]{
    padding:26px 18px 30px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics{
    grid-template-columns:1fr 1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics article:nth-child(2n){border-right:0}
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics article:nth-child(-n+2){border-bottom:1px solid var(--dm-line)}
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-included,
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-included ul{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-primary{
    align-items:flex-start ;
    flex-direction:column ;
  }
}

/* Remove the generic repeated CTA from the published explorer: the Pricing
   & License view now carries the commercial close. */
body.fcte-v5.page-family-data.data-access-redesign .data-domain-next{
  display:none ;
}


/* ============================================================================
   FCTE DATA MARKETPLACE — FINAL 10/10 POLISH
   Focus: readability, scanability, mobile containment and calm marketplace UI.
   ============================================================================ */

body.fcte-v5.page-family-data.data-access-redesign{
  --dm-max:1000px;
  --dm-gutter:30px;
}

/* ---------- Page measure and breathing room ---------- */
body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
  width:min(var(--dm-max),calc(100% - 48px)) ;
  max-width:var(--dm-max) ;
  padding-inline:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-main{
  overflow:hidden ;
}

/* ---------- Typography: one readable system ---------- */
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel{
  font-size:16.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-tab-panel p{
  font-size:15.5px ;
  line-height:1.62 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow,
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker,
body.fcte-v5.page-family-data.data-access-redesign .da-section-number{
  font-size:14px ;
  line-height:1.3 ;
  letter-spacing:.055em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
  font-size:clamp(42px,5vw,54px) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
  font-size:16.0px ;
  line-height:1.58 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-source-link,
body.fcte-v5.page-family-data.data-access-redesign .ds-inline-link,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-text-link,
body.fcte-v5.page-family-data.data-access-redesign .ds-rows-links a{
  font-size:14px ;
}

/* ---------- Domain navigation ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-switcher{
  min-height:78px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
  min-height:78px ;
  padding:13px 18px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step small,
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step strong{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
  font-size:18.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
  display:block ;
  font-size:14px ;
}

/* ---------- Dataset header ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  padding:32px var(--dm-gutter) 30px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{
  min-width:225px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-full-dataset-stat strong{
  font-size:21.0px ;
}

/* ---------- View tabs: clear badges + separation below ---------- */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  gap:9px ;
  padding:18px var(--dm-gutter) 27px ;
  scroll-snap-type:x proximity;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
  min-height:40px ;
  padding:10px 14px ;
  font-size:14px ;
  scroll-snap-align:start;
}
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button.active{
  font-weight:650 ;
}

/* ---------- Overview: one reading path ---------- */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"]{
  padding:34px var(--dm-gutter) 42px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer{
  display:block ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer-copy{
  max-width:760px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer-copy h3{
  font-size:30.0px ;
  line-height:1.08 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) ;
  margin-top:25px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article{
  min-height:112px ;
  padding:17px 16px ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:nth-child(2n){
  border-right:1px solid var(--dm-line-soft) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:last-child{
  border-right:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid strong{
  font-size:24.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid span{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance{
  margin-top:24px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance>div{
  padding:19px 20px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance p{
  font-size:14.5px ;
}

/* The AI/ML and Research tabs already communicate the sample lenses.
   Removing this duplicate selector makes Overview much faster to scan. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-lenses{
  display:none ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical{
  margin-top:20px ;
  padding:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical p{
  font-size:14px ;
}

/* Six cards — use 2×3 at this page width so content is never cramped. */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  margin-top:38px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-section-head{
  margin-bottom:18px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) ;
  gap:16px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
  min-height:184px ;
  padding:20px 20px 18px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  font-size:19.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p{
  font-size:14px ;
  line-height:1.52 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  left:20px ;
  right:20px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list strong{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-connection-summary{
  font-size:14px ;
}

/* ---------- Connected City ---------- */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"]{
  padding:34px var(--dm-gutter) 42px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro{
  max-width:760px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3{
  font-size:30.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
  margin-top:22px ;
  padding:34px 20px 26px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node-center{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-readout,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-legend,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .ds-graph-hint{
  font-size:14px ;
}

/* ---------- AI/ML + Research: same geometry, distinct purpose ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{
  padding:34px var(--dm-gutter) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
  font-size:35.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p{
  font-size:15.5px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics strong{
  font-size:20.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
  padding:30px var(--dm-gutter) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4{
  font-size:21.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  font-size:14px ;
}

/* ---------- Unified sample tables ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-wrap,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-wrap{
  max-width:100% ;
  border:1px solid var(--dm-line) ;
  scrollbar-gutter:stable;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table{
  width:max-content ;
  min-width:100% ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th{
  min-width:138px ;
  padding:12px 14px ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th span{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table th small{
  margin-top:4px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table td{
  padding:11px 14px ;
  font-size:14px ;
  line-height:1.35 ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint{
  display:inline-flex ;
  align-items:center;
  gap:8px;
  margin:0 0 12px ;
  padding:7px 10px ;
  background:var(--dm-pale);
  color:var(--dm-teal-dark) ;
  font-size:14px ;
  font-weight:750;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-row-inspect-hint::after{
  content:"→";
  font-size:16.0px;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-search input,
body.fcte-v5.page-family-data.data-access-redesign .ds-column-search input{
  min-height:42px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-tool-btn{
  min-height:40px ;
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-table-meta{
  font-size:14px ;
}

/* ---------- Trust and Licensing ---------- */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"],
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"]{
  padding:34px var(--dm-gutter) 42px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero h3{
  font-size:30.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths article{
  min-height:176px ;
  transition:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths article:hover{
  transform:none ;
  box-shadow:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths h4{
  font-size:19.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths p{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li span{
  font-size:14px ;
}

/* ---------- Mobile: readable page, wide data scrolls only inside data surfaces ---------- */
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign{
    --dm-gutter:18px;
  }
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    width:100% ;
    padding-inline:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .data-browser-head,
  body.fcte-v5.page-family-data.data-access-redesign .ds-main{
    max-width:100% ;
    min-width:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-toolbar-top{
    gap:16px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-switcher{
    grid-template-columns:.9fr 1.2fr .9fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step,
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current{
    min-height:68px ;
    padding:10px 9px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step small{
    font-size:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-prev small::before{
    content:"← PREV" ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-next small::after{
    content:"NEXT →" ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-step strong{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current small{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current strong{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-domain-current span{
    display:none ;
  }

  body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
    padding:24px var(--dm-gutter) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head h2{
    font-size:38.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-head p{
    font-size:15.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-marketplace-head-actions{
    min-width:0 ;
  }

  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
    margin:0 ;
    padding:15px var(--dm-gutter) 23px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs button{
    min-height:39px ;
    font-size:14px ;
  }

  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-primer-copy h3,
  body.fcte-v5.page-family-data.data-access-redesign .ds-connections-intro h3,
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro h3,
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero h3{
    font-size:25.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid{
    grid-template-columns:1fr 1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article{
    min-height:102px ;
    border-bottom:1px solid var(--dm-line-soft) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:nth-child(2n){
    border-right:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:nth-last-child(-n+2){
    border-bottom:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance,
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-grid,
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid,
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths,
  body.fcte-v5.page-family-data.data-access-redesign .ds-license-included{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
    min-height:174px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-section-head{
    align-items:flex-start ;
    flex-direction:column ;
    gap:7px ;
  }

  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero{
    padding:27px var(--dm-gutter) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy h3{
    font-size:29.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p{
    font-size:14.5px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-block{
    padding:26px var(--dm-gutter) ;
  }

  /* Critical mobile rule: the page never widens. Only these two surfaces scroll. */
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap,
  body.fcte-v5.page-family-data.data-access-redesign :is(.ds-aiml-preview-wrap,.ds-table-wrap){
    width:100% ;
    max-width:100% ;
    overflow-x:auto ;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table{
    width:max-content ;
    min-width:100% ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table th{
    min-width:142px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-table td{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-drill-panel{
    width:100vw ;
    max-width:none ;
    height:100dvh ;
  }
}

@media(max-width:430px){
  body.fcte-v5.page-family-data.data-access-redesign #browser>.wrap{
    padding-inline:12px ;
  }
}


/* ============================================================================
   FCTE Marketplace — rendered visual QA final pass
   10/10 candidate: connection graph, readable type, quieter samples,
   complete trust tab, and demoted continuation catalogue.
   ============================================================================ */

/* ---------- Secondary typography: readable without enlarging the whole page ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block>p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-caption,
body.fcte-v5.page-family-data.data-access-redesign .ds-health-chart-caption{
  font-size:14px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  font-size:14px ;
  line-height:1.4 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint p,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid span{
  font-size:14px ;
  line-height:1.48 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint strong{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint small,
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-examples code{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail span,
body.fcte-v5.page-family-data.data-access-redesign .ds-table-meta{
  font-size:14px ;
}

/* ---------- Connected City: flagship visual on desktop, scroll only on mobile ---------- */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
  margin-top:24px ;
  padding:34px 10px 22px ;
  border:0 ;
  border-top:1px solid var(--dm-line) ;
  border-bottom:1px solid var(--dm-line) ;
  background:#f8fbfa ;
  box-shadow:none ;
}
@media(min-width:761px){
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
    overflow:visible ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree{
    width:100% ;
    min-width:0 ;
    max-width:100% ;
    margin:0 auto ;
    transform:none ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree>li,
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree li:only-child{
    display:block ;
    width:100% ;
    padding-left:0 ;
    padding-right:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree ul{
    width:100% ;
    justify-content:stretch ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree ul>li{
    flex:1 1 0 ;
    min-width:0 ;
    padding-left:7px ;
    padding-right:7px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree ul>li:only-child{
    flex-basis:100% ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node{
    max-width:100% ;
    padding:11px 15px ;
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .tree-node-center{
    padding:15px 24px ;
    font-size:15.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-readout{
    width:auto ;
    min-width:0 ;
    max-width:760px ;
    margin:24px auto 0 ;
    font-size:14px ;
  }
}
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .network-wrap{
    overflow-x:auto ;
    padding:28px 12px 20px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="connections"] .domain-tree{
    min-width:700px ;
  }
}

/* ---------- AI / ML: use whitespace and separators instead of a wall of boxes ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col{
  gap:30px ;
  padding:29px 30px 6px ;
  border-bottom:0 ;
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block{
  padding:0 ;
  border:0 ;
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block:first-child{
  padding-right:29px ;
  border-right:1px solid var(--dm-line-soft) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid{
  gap:0 ;
  border:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid>div{
  padding:12px 12px 12px 0 ;
  border:0 ;
  border-top:1px solid var(--dm-line-soft) ;
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-role-grid>div:nth-child(2n){
  padding-left:14px ;
  border-left:1px solid var(--dm-line-soft) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint-block{
  padding-top:24px ;
  border-top:0 ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
  gap:0 28px ;
  border:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint article{
  padding:15px 0 17px ;
  border:0 ;
  border-top:1px solid var(--dm-line-soft) ;
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-chart-block{
  margin-top:8px ;
  padding-top:25px ;
  border-top:1px solid var(--dm-line) ;
  border-bottom:0 ;
  background:#fbfdfc ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-aiml-preview-block{
  border-top:1px solid var(--dm-line) ;
  border-bottom:0 ;
}

/* ---------- Research: keep code and data framed; let explanation breathe ---------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
  gap:30px ;
  padding:28px 30px 8px ;
  border:0 ;
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block{
  padding:0 ;
  border:0 ;
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block:first-child{
  padding-right:29px ;
  border-right:1px solid var(--dm-line-soft) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block{
  background:transparent ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution{
  margin-top:18px ;
  padding:14px 15px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-rows-head{
  margin-top:12px ;
  padding-top:26px ;
  border-top:1px solid var(--dm-line) ;
}

/* ---------- Trust & Evidence: make trust visible, not implied ---------- */
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro{
  padding-bottom:22px ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-summary{
  margin:4px 0 30px;
  padding:22px 0 26px;
  border-top:1px solid var(--dm-line);
  border-bottom:1px solid var(--dm-line);
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-summary-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-summary-head strong{
  color:var(--dm-ink);
  font-size:17.0px;
  line-height:1.25;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:18px;
  border-top:1px solid var(--dm-line-soft);
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:0 10px;
  min-height:112px;
  padding:17px 14px 15px 0;
  border-bottom:1px solid var(--dm-line-soft);
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:not(:nth-child(3n+1)){
  padding-left:15px;
  border-left:1px solid var(--dm-line-soft);
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks b{
  color:var(--dm-teal);
  font:900 14px/1.2 var(--fd-mono);
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span strong{
  display:block;
  color:var(--dm-ink);
  font-size:14.5px;
  line-height:1.25;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span small{
  display:block;
  margin-top:5px;
  color:var(--dm-muted);
  font-size:14px;
  line-height:1.45;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks em{
  grid-column:2;
  align-self:end;
  margin-top:10px;
  color:var(--dm-teal-dark);
  font:850 14px/1.2 var(--fd-mono);
  font-style:normal;
  text-transform:uppercase;
}
body.fcte-v5.page-family-data.data-access-redesign .da-provenance-dashboard{
  margin-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a{
  transition:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a:hover,
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a:focus-visible{
  transform:none ;
}

/* ---------- Continuation catalogue: one compact row, not a second hero section ---------- */
body.fcte-v5.page-family-data.data-access-redesign #free-samples{
  padding:38px 0 42px ;
  background:#fff ;
  border-top:1px solid var(--dm-line) ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
  align-items:end;
  gap:28px;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro .da-section-number{
  grid-column:1/-1;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro h2{
  margin:0 ;
  font-size:31.0px ;
  line-height:1.04 ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro p{
  margin:0 ;
  font-size:14px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-catalog-toolbar{
  margin-top:20px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-catalog-meta{
  margin-top:10px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .quickstart-grid{
  margin-top:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .quickstart-card{
  min-height:154px ;
  padding:15px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .quickstart-card h3{
  font-size:15.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .quickstart-card p{
  font-size:14px ;
  line-height:1.4 ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples .quickstart-card-actions{
  margin-top:10px ;
}
body.fcte-v5.page-family-data.data-access-redesign #free-samples [data-quickstart-pager]{
  margin-top:12px ;
}

@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:not(:nth-child(3n+1)){
    padding-left:0;
    border-left:0;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:nth-child(2n){
    padding-left:15px;
    border-left:1px solid var(--dm-line-soft);
  }
}
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
    display:grid ;
    grid-template-columns:1fr ;
    gap:0 ;
    padding-left:18px ;
    padding-right:18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-two-col>.ds-market-block,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid>.ds-market-block{
    padding:22px 0 ;
    border-right:0 ;
    border-bottom:1px solid var(--dm-line-soft) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-feature-blueprint{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-summary-head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
    grid-template-columns:1fr;
  }
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div,
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:nth-child(2n){
    padding-left:0;
    border-left:0;
  }
  body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro{
    grid-template-columns:1fr;
    gap:7px;
  }
  body.fcte-v5.page-family-data.data-access-redesign #free-samples .da-section-intro .da-section-number{
    grid-column:auto;
  }
}
\n
/* ============================================================================
   FCTE Data Explorer — visual consistency correction
   Rendered QA fixes: no card top accents, no wrapped Analysis card,
   and one consistent readable type scale across Overview, Trust and Pricing.
   ============================================================================ */

/* 1) Overview cards: plain cards, no colored top rule. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  border:1px solid #b9cfcb ;
  border-top:1px solid #b9cfcb ;
  background:#fff ;
  box-shadow:none ;
  min-height:178px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  background:#fffdf9 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-number{
  color:#0b8179 ;
  font:900 14px/1.2 var(--fd-mono) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card .ds-overview-card-number{
  color:#9a611d ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  margin:10px 0 8px ;
  font-size:18.0px ;
  line-height:1.2 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p{
  margin:0 ;
  font-size:14.5px ;
  line-height:1.55 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  font:750 14px/1.45 var(--fd-mono) ;
}

/* 2) Analysis enabled: explicit 2-row layout, no inherited 24px grid column. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list{
  display:grid ;
  gap:9px ;
  margin-top:12px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list>.ds-overview-use-item{
  display:grid ;
  grid-template-columns:30px minmax(0,1fr) auto ;
  align-items:center ;
  gap:9px ;
  min-width:0 ;
  padding:9px 0 ;
  border:0 ;
  border-top:1px solid #eadfce ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list>.ds-overview-use-item:first-child{
  border-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item b{
  color:#9a611d ;
  font:900 14px/1.2 var(--fd-mono) ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item strong{
  min-width:0 ;
  color:#123f46 ;
  font-size:14.5px ;
  line-height:1.35 ;
  white-space:normal ;
  overflow-wrap:normal ;
  word-break:normal ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item small{
  color:#8d5b1d ;
  font:800 14px/1.2 var(--fd-mono) ;
  white-space:nowrap ;
}

/* 3) One visible type system for Trust + Pricing. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"],
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"]{
  font-size:15.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"] :is(p,small,span),
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"] :is(p,small,span){
  line-height:1.5 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-intro p,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-hero p,
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li span,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths p{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span strong,
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a span,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li strong{
  font-size:14.5px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths h4{
  font-size:18.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics span{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks em,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks b,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-primary small{
  font-size:14px ;
}

/* 4) Trust summary is visibly card-based, but without decorative top borders. */
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
  display:grid ;
  grid-template-columns:repeat(3,minmax(0,1fr)) ;
  gap:12px ;
  margin-top:18px ;
  border:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:not(:nth-child(3n+1)),
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks>div:nth-child(2n){
  min-height:128px ;
  padding:16px ;
  border:1px solid #c5d8d4 ;
  border-top:1px solid #c5d8d4 ;
  background:#fff ;
}

/* 5) Pricing cards: same border treatment and type rhythm. */
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths{
  gap:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths article{
  min-height:190px ;
  padding:20px ;
  border:1px solid #c5d8d4 ;
  border-top:1px solid #c5d8d4 ;
  background:#fff ;
  box-shadow:none ;
}

/* 6) Remove all remaining decorative card-top accents in this explorer. */
body.fcte-v5.page-family-data.data-access-redesign :is(
  .ds-overview-context-card,
  .ds-overview-use-card,
  .ds-license-paths article,
  .da-assurance-checks>div
)::before{
  display:none ;
}

@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
    grid-template-columns:repeat(2,minmax(0,1fr)) ;
  }
}
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-list>.ds-overview-use-item{
    grid-template-columns:26px minmax(0,1fr) ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item small{
    grid-column:2 ;
    justify-self:start ;
  }
}


/* ============================================================================
   Health Visit Card — visit-level clinical summary from Health sample rows
   ============================================================================ */
body.ds-health-card-open{overflow:hidden }
.ds-health-card-backdrop{
  position:fixed;inset:0;z-index:11980;background:rgba(5,20,24,.76);
  opacity:0;pointer-events:none;transition:opacity .15s ease
}
.ds-health-card-backdrop.open{opacity:1;pointer-events:auto}
.ds-health-card-modal{
  position:fixed;z-index:11990;inset:5vh max(24px,calc((100vw - 1040px)/2));
  display:flex;flex-direction:column;min-width:0;max-width:1040px;margin:auto;
  border:1px solid #b8cbc8;border-radius:14px;background:#f5f7f7;
  box-shadow:0 24px 80px rgba(0,0,0,.28);opacity:0;pointer-events:none;
  transform:translateY(8px);transition:opacity .15s ease,transform .15s ease;overflow:hidden
}
.ds-health-card-modal.open{opacity:1;pointer-events:auto;transform:none}
.ds-health-card-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;
  padding:11px 16px 11px 20px;border-bottom:1px solid #d8e2e0;background:#fff
}
.ds-health-card-toolbar>div:first-child{min-width:0}
.ds-health-card-toolbar-kicker{
  display:block;color:#0a877e;font:850 14px/1.2 var(--fd-mono);
  letter-spacing:.06em;text-transform:uppercase
}
.ds-health-card-toolbar strong{
  display:block;margin-top:4px;overflow:hidden;color:#143f46;font-size:15.0px;
  line-height:1.2;text-overflow:ellipsis;white-space:nowrap
}
.ds-health-card-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ds-health-card-action,.ds-health-card-close{
  min-height:38px;padding:8px 12px;border:1px solid #9ebfba;border-radius:7px;
  background:#fff;color:#174f55;font:800 14px/1.1 var(--fd-mono);cursor:pointer
}
.ds-health-card-close{border-color:#0b877e;background:#0b877e;color:#fff}
.ds-health-card-scroll{flex:1 1 auto;min-height:0;padding:28px;overflow:auto}
.ds-health-visit-card{
  width:min(860px,100%);margin:0 auto;padding:34px 38px 28px;border:1px solid #ccd8d6;
  background:#fff;color:#173f46;box-shadow:0 8px 28px rgba(18,56,61,.08)
}
.ds-health-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.ds-health-report-header>div:first-child{min-width:0}
.ds-health-report-header span{
  display:block;color:#0a877e;font:850 14px/1.25 var(--fd-mono);
  letter-spacing:.05em;text-transform:uppercase
}
.ds-health-report-header h2{
  margin:6px 0 5px ;color:#0e3e45;font-size:29.0px ;line-height:1.04 
}
.ds-health-report-header p{margin:0 ;color:#5b777c;font-size:14px }
.ds-health-report-classification{flex:0 0 auto;text-align:right}
.ds-health-report-classification strong{display:block;color:#0e3e45;font:900 14px/1.2 var(--fd-mono)}
.ds-health-report-classification span{margin-top:7px;color:#b13b2f;font-size:14px}
.ds-health-report-rule{height:2px;margin:18px 0 16px;background:#10a59b}
.ds-health-report-patient{padding:17px 18px;border:1px solid #d5dfdd;background:#fbfcfc}
.ds-health-card-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.ds-health-card-pair{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start}
.ds-health-card-pair span{color:#667f84;font-size:14px;line-height:1.35}
.ds-health-card-pair strong{color:#163f46;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.ds-health-report-section{margin-top:18px}
.ds-health-report-section>h3{
  margin:0 0 10px ;padding:7px 10px;background:#16aaa0;color:#fff ;
  font-size:14px ;line-height:1.05 ;text-transform:uppercase
}
.ds-health-card-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d8e3e1}
.ds-health-card-metric{min-height:76px;padding:12px 13px;border-right:1px solid #e1e9e7;border-bottom:1px solid #e1e9e7}
.ds-health-card-metric:nth-child(4n){border-right:0}
.ds-health-card-metric:nth-last-child(-n+4){border-bottom:0}
.ds-health-card-metric span{display:block;color:#6b8186;font-size:14px}
.ds-health-card-metric strong{display:block;margin-top:7px;color:#123f46;font-size:20.0px;line-height:1.05}
.ds-health-card-metric strong small{margin-left:4px;color:#6b8186;font-size:14px;font-weight:700}
.ds-health-report-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.ds-health-report-list li{
  display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:8px 4px;border-bottom:1px solid #e5ecea
}
.ds-health-report-list li:last-child{border-bottom:0}
.ds-health-report-list li span{color:#687f84;font-size:14px}
.ds-health-report-list li strong{color:#173f46;font-size:14px;line-height:1.4}
.ds-health-report-summary{margin:0;padding:0 0 0 24px}
.ds-health-report-summary li{margin:0 0 7px;color:#173f46;font-size:14px;line-height:1.5}
.ds-health-reported-by{display:grid;gap:4px;padding:2px 4px}
.ds-health-reported-by strong{color:#123f46;font-size:14px}
.ds-health-reported-by span{color:#4d6c71;font-size:14px}
.ds-health-reported-by small{margin-top:4px;color:#758b8f;font-size:14px;font-style:italic}
.ds-health-report-footer{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-top:22px;
  padding-top:14px;border-top:1px solid #bfd4d0
}
.ds-health-report-footer strong{color:#0a877e;font:850 14px/1.25 var(--fd-mono)}
.ds-health-report-footer span{max-width:560px;color:#71878b;font-size:14px;line-height:1.4;text-align:right}

@media(max-width:760px){
  .ds-health-card-modal{inset:0;max-width:none;border:0;border-radius:0}
  .ds-health-card-toolbar{align-items:flex-start;padding:11px 12px}
  .ds-health-card-toolbar>div:first-child{display:none}
  .ds-health-card-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}
  .ds-health-card-action,.ds-health-card-close{min-height:42px;font-size:14px}
  .ds-health-card-scroll{padding:12px}
  .ds-health-visit-card{padding:24px 18px 22px;box-shadow:none}
  .ds-health-report-header{display:block}
  .ds-health-report-classification{margin-top:14px;text-align:left}
  .ds-health-report-header h2{font-size:25.0px }
  .ds-health-card-detail-grid{grid-template-columns:1fr;gap:8px}
  .ds-health-card-pair{grid-template-columns:120px minmax(0,1fr)}
  .ds-health-card-vitals{grid-template-columns:1fr 1fr}
  .ds-health-card-metric:nth-child(4n){border-right:1px solid #e1e9e7}
  .ds-health-card-metric:nth-child(2n){border-right:0}
  .ds-health-card-metric:nth-last-child(-n+4){border-bottom:1px solid #e1e9e7}
  .ds-health-card-metric:nth-last-child(-n+2){border-bottom:0}
  .ds-health-report-list li{grid-template-columns:1fr;gap:4px}
  .ds-health-report-footer{display:block}
  .ds-health-report-footer span{display:block;margin-top:7px;text-align:left}
}
@media print{
  body.ds-health-card-printing *{visibility:hidden }
  body.ds-health-card-printing .ds-health-card-modal,
  body.ds-health-card-printing .ds-health-card-modal *{visibility:visible }
  body.ds-health-card-printing .ds-health-card-backdrop,
  body.ds-health-card-printing .ds-health-card-toolbar{display:none }
  body.ds-health-card-printing .ds-health-card-modal{
    position:static ;display:block ;width:auto ;max-width:none ;
    height:auto ;margin:0 ;border:0 ;box-shadow:none ;
    opacity:1 ;transform:none ;overflow:visible 
  }
  body.ds-health-card-printing .ds-health-card-scroll{display:block ;overflow:visible ;padding:0 }
  body.ds-health-card-printing .ds-health-visit-card{
    width:auto ;max-width:none ;margin:0 ;border:0 ;box-shadow:none 
  }
}


/* ============================================================================
   FCTE — requested visual correction
   Same sample hero treatment, no Overview card top borders, larger readable text,
   and Health Visit Card aligned to the supplied clinical-report reference.
   ============================================================================ */

/* 1) AI/ML + Research sample heroes now use the SAME background treatment. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-aiml,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research{
  background:#0d4a50 ;
  color:#fff ;
  border:0 ;
  border-left:0 ;
  border-top:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-aiml :is(h3,p,.ds-market-eyebrow),
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero-research :is(h3,p,.ds-market-eyebrow){
  color:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-hero :is(.btn,.ds-market-sample-download,.ds-market-license-link){
  font-size:14px ;
}

/* 2) Overview cards: ONE background, absolutely no top rule/accent. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  background:#fff ;
  border:1px solid #bfd1ce ;
  border-top:0 ;
  box-shadow:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card:hover,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card:hover{
  background:#fff ;
  border-top:0 ;
  transform:none ;
  box-shadow:none ;
}

/* 3) Larger Overview text. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  font-size:20.0px ;
  line-height:1.2 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p{
  font-size:15.5px ;
  line-height:1.58 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  font-size:14px ;
  line-height:1.45 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-number,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item b{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item strong{
  font-size:15.5px ;
}

/* 4) Larger body + subheader text inside AI/ML, Research, Trust and Pricing. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block p,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="assurance"] p,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="buy"] p{
  font-size:15.5px ;
  line-height:1.6 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head h4,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid h4,
body.fcte-v5.page-family-data.data-access-redesign .da-proof-links a span,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths h4,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included h4{
  font-size:18.0px ;
  line-height:1.25 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head small,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks b,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks em,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics small{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span strong,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li strong{
  font-size:15.0px ;
}
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks span small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-included li span,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics span{
  font-size:14px ;
  line-height:1.5 ;
}

/* Same neutral container background throughout supporting blocks. */
body.fcte-v5.page-family-data.data-access-redesign :is(
  .ds-overview-guidance>div,
  .ds-research-context-rail,
  .ds-research-notes-block,
  .da-assurance-checks>div,
  .ds-license-paths article,
  .ds-license-metrics article
){
  background:#fff ;
}

/* ---------- Health Visit Card: clinical report reference layout ---------- */
.ds-health-visit-card{
  width:min(860px,100%) ;
  padding:34px 38px 28px ;
  background:#fff ;
  color:#173f46 ;
}
.ds-health-report-letterhead{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:start;
}
.ds-health-report-facility h1{
  margin:0 ;
  color:#11a49a ;
  font-size:24.0px ;
  line-height:1.15 ;
}
.ds-health-report-address{
  margin:8px 0 0 ;
  color:#294f55 ;
  font-size:14px ;
  line-height:1.4 ;
}
.ds-health-report-facility-meta{
  margin:3px 0 0 ;
  color:#5f777c ;
  font-size:14px ;
  line-height:1.4 ;
}
.ds-health-report-document-title{
  text-align:right;
}
.ds-health-report-document-title h2{
  margin:0 ;
  color:#11a49a ;
  font-size:22.0px ;
  line-height:1.15 ;
}
.ds-health-report-document-title strong{
  display:block;
  margin-top:10px;
  color:#bf3026;
  font-size:14px ;
  letter-spacing:.035em;
}
.ds-health-report-rule{
  height:2px ;
  margin:16px 0 14px ;
  background:#12a79d ;
}
.ds-health-report-patient-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  padding:15px 16px ;
  border:1px solid #d4dcda ;
  background:#fff ;
}
.ds-health-report-patient-col{
  display:grid;
  gap:7px;
}
.ds-health-report-field{
  display:grid;
  grid-template-columns:126px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.ds-health-report-field span{
  color:#294f55 ;
  font-size:14px ;
  line-height:1.35 ;
}
.ds-health-report-field strong{
  color:#111 ;
  font-size:14px ;
  line-height:1.35 ;
  font-weight:700 ;
  overflow-wrap:anywhere;
}
.ds-health-reference-section{
  margin-top:18px ;
}
.ds-health-reference-section h3{
  margin:0 0 5px ;
  padding:5px 8px ;
  background:#18aaa1 ;
  color:#fff ;
  font-size:15.0px ;
  line-height:1.1 ;
  font-weight:850 ;
}
.ds-health-reference-section>p{
  margin:0 ;
  color:#111 ;
  font-size:14.5px ;
  line-height:1.5 ;
}
.ds-health-report-secondary{
  margin-top:3px ;
  color:#5f777c ;
  font-size:14px ;
}
.ds-health-reference-findings,
.ds-health-reference-impression{
  margin:0 ;
  color:#111 ;
  font-size:14.5px ;
  line-height:1.5 ;
}
.ds-health-reference-findings{
  padding:0 ;
  list-style:none ;
}
.ds-health-reference-findings li{
  margin:0 0 4px ;
  padding-left:14px;
  position:relative;
}
.ds-health-reference-findings li::before{
  content:"•";
  position:absolute;
  left:0;
  top:0;
}
.ds-health-reference-impression{
  padding-left:20px ;
}
.ds-health-reference-impression li{
  margin:0 0 5px ;
}
.ds-health-reference-reporter{
  display:grid;
  gap:4px;
  color:#111 ;
}
.ds-health-reference-reporter strong{
  font-size:14.5px ;
}
.ds-health-reference-reporter span{
  font-size:14px ;
  line-height:1.4 ;
}
.ds-health-reference-reporter small{
  margin-top:3px;
  font-size:14px ;
  font-style:italic;
}
.ds-health-report-footer{
  margin-top:20px ;
  padding-top:12px ;
}
.ds-health-report-footer strong,
.ds-health-report-footer span{
  font-size:14px ;
}

/* Hide obsolete generic Health-card section styles if old markup is absent. */
.ds-health-visit-card .ds-health-report-header,
.ds-health-visit-card .ds-health-report-patient,
.ds-health-visit-card .ds-health-report-section,
.ds-health-visit-card .ds-health-card-vitals{
  /* retained for backward compatibility; new report markup does not use these */
}

@media(max-width:760px){
  .ds-health-report-letterhead{
    grid-template-columns:1fr;
    gap:14px;
  }
  .ds-health-report-document-title{
    text-align:left;
  }
  .ds-health-report-patient-box{
    grid-template-columns:1fr;
    gap:12px;
  }
  .ds-health-report-field{
    grid-template-columns:118px minmax(0,1fr);
  }
  .ds-health-report-facility h1{
    font-size:21.0px ;
  }
  .ds-health-report-document-title h2{
    font-size:20.0px ;
  }
}


/* ============================================================================
   FCTE — Visual correction V3
   Fix hidden Research CTA text, close KPI borders, restore equal card top
   borders, and raise subheader/metadata typography.
   ============================================================================ */

/* --------------------------------------------------------------------------
   1) Research / AI-ML hero action buttons
   The Research hero now shares the dark hero background, so its historical
   dark secondary-button text must not be allowed to override the white text.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-research .ds-market-secondary,
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-aiml .ds-market-secondary{
  color:#ffffff ;
  border:1px solid rgba(255,255,255,.72) ;
  background:transparent ;
  opacity:1 ;
  font-size:14px ;
  font-weight:650 ;
}
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-research .ds-market-secondary:hover,
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-aiml .ds-market-secondary:hover{
  color:#ffffff ;
  border-color:#ffffff ;
  background:rgba(255,255,255,.08) ;
}

/* Keep both download buttons readable against the common dark hero. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-research .ds-market-download,
body.fcte-v5.page-family-data.data-access-redesign
.ds-market-sample-hero-aiml .ds-market-download{
  color:#062a2f ;
  background:#55d5ca ;
  border-color:#55d5ca ;
}

/* --------------------------------------------------------------------------
   2) KPI metric rail — complete the outer box.
   Same 1px thickness on TOP / RIGHT / BOTTOM / LEFT.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics{
  border:1px solid #c8d8d5 ;
  border-width:1px ;
  background:#ffffff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span{
  border-right:1px solid #d7e3e1 ;
  border-top:0 ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics>span:last-child{
  border-right:0 ;
}

/* --------------------------------------------------------------------------
   3) Six Overview cards — restore a top edge, but NOT an accent strip.
   All four sides are exactly the same 1px border.
   -------------------------------------------------------------------------- */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  border:1px solid #bfd1ce ;
  border-top:1px solid #bfd1ce ;
  border-right:1px solid #bfd1ce ;
  border-bottom:1px solid #bfd1ce ;
  border-left:1px solid #bfd1ce ;
  background:#ffffff ;
  box-shadow:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card:hover,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card:hover{
  border:1px solid #bfd1ce ;
  background:#ffffff ;
  box-shadow:none ;
  transform:none ;
}

/* --------------------------------------------------------------------------
   4) Raise the small/subheader typography that is visibly undersized.
   -------------------------------------------------------------------------- */

/* Hero eyebrow: PUBLIC SAMPLE · RESEARCH / AI / ML */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow{
  font-size:14px ;
  line-height:1.3 ;
  letter-spacing:.055em ;
}

/* General section labels: WHAT THIS SAMPLE CONNECTS, RESEARCH SLICE, etc. */
body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker,
body.fcte-v5.page-family-data.data-access-redesign .da-section-number{
  font-size:14px ;
  line-height:1.35 ;
  letter-spacing:.05em ;
}

/* KPI labels: PUBLIC SAMPLE ROWS, PUBLISHED FIELDS, etc. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small{
  margin-top:6px ;
  font-size:14px ;
  line-height:1.3 ;
  letter-spacing:.035em ;
}

/* Research context rail: CITY TWIN / DATA TYPE / RELEASE / SAMPLE DESIGN */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
  font-size:14px ;
  line-height:1.3 ;
  letter-spacing:.035em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  margin-top:6px ;
  font-size:16.0px ;
  line-height:1.3 ;
}

/* Sample mode label and buttons. */
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-mode-wrap .ds-section-label{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-mode button,
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-mode-btn{
  font-size:14px ;
  line-height:1.2 ;
}

/* Card numbering + path text. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-card-number,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-item b{
  font-size:14px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  font-size:14px ;
  line-height:1.5 ;
}

/* Supporting subheaders within content blocks. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block-head small,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid .ds-market-eyebrow,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks b,
body.fcte-v5.page-family-data.data-access-redesign .da-assurance-checks em,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-paths small,
body.fcte-v5.page-family-data.data-access-redesign .ds-license-metrics small{
  font-size:14px ;
  line-height:1.3 ;
}

/* Slightly larger normal body copy so labels and prose no longer feel like
   two different UI scales. */
body.fcte-v5.page-family-data.data-access-redesign .ds-market-sample-copy p,
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p,
body.fcte-v5.page-family-data.data-access-redesign .ds-market-block p,
body.fcte-v5.page-family-data.data-access-redesign .ds-query-public-note,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-notes-block p,
body.fcte-v5.page-family-data.data-access-redesign .ds-research-caution p{
  font-size:16.0px ;
  line-height:1.62 ;
}

/* Mobile keeps the same hierarchy without becoming cramped. */
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-eyebrow{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-section-label,
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-kicker,
  body.fcte-v5.page-family-data.data-access-redesign .da-section-number{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-market-metrics small,
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
    font-size:14px ;
  }
}


/* ============================================================================
   FCTE Overview V4 — KPI hierarchy + dark teal analytical band
   ============================================================================ */

/* Remove the inherited body.view-data section padding/bottom-rule that was
   creating the unwanted horizontal line and oversized gap in the Overview. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-primer,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-guidance{
  padding-top:0 ;
  padding-bottom:0 ;
  border-top:0 ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-primer::before,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-primer::after,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-guidance::before,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="overview"] .ds-overview-guidance::after{
  display:none ;
  content:none ;
}

/* KPI rail: stronger numbers, labels and explanatory copy. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid{
  margin-top:26px ;
  border:1px solid #b9cfcb ;
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article{
  min-height:132px ;
  padding:20px 18px 19px ;
  border-right:1px solid #cfddda ;
  border-bottom:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article:last-child{
  border-right:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid small{
  color:#527278 ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1.25 ;
  font-weight:650 ;
  letter-spacing:.035em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid strong{
  display:block ;
  margin-top:9px ;
  color:#0d4148 ;
  font-size:32.0px ;
  line-height:1 ;
  font-weight:650 ;
  letter-spacing:-.025em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid span{
  display:block ;
  margin-top:8px ;
  color:#5c787d ;
  font-size:15.0px ;
  line-height:1.42 ;
  font-weight:700 ;
}

/* Bring the guidance directly beneath the KPI rail; no separator line. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-guidance{
  margin-top:30px ;
}

/* Dark teal section replacing the old plain analytical-note strip. */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical{
  display:flex ;
  align-items:center ;
  justify-content:space-between ;
  gap:28px ;
  margin-top:28px ;
  padding:22px 24px ;
  border:0 ;
  background:#0d4a50 ;
  color:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical-copy{
  min-width:0 ;
  max-width:720px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical small{
  display:block ;
  margin:0 0 7px ;
  color:#66ddd1 ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1.25 ;
  font-weight:650 ;
  letter-spacing:.055em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical p{
  max-width:none ;
  margin:0 ;
  color:#e8f4f3 ;
  font-size:15.5px ;
  line-height:1.55 ;
  font-weight:650 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical a{
  flex:0 0 auto ;
  min-height:42px ;
  display:inline-flex ;
  align-items:center ;
  padding:9px 14px ;
  border:1px solid rgba(255,255,255,.62) ;
  color:#fff ;
  background:transparent ;
  font-size:14px ;
  font-weight:650 ;
  text-decoration:none ;
  white-space:nowrap ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical a:hover{
  border-color:#fff ;
  background:rgba(255,255,255,.08) ;
  color:#fff ;
}

/* Keep the next section comfortably separated from the new band. */
body.fcte-v5.page-family-data.data-access-redesign .ds-query-context-card{
  margin-top:34px ;
}

@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid article{
    min-height:118px ;
    padding:17px 15px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid small{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid strong{
    font-size:27.0px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-metric-grid span{
    font-size:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical{
    align-items:flex-start ;
    flex-direction:column ;
    gap:16px ;
    padding:20px 18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-overview-analytical a{
    width:100% ;
    justify-content:center ;
  }
}


/* ============================================================================
   Marketplace simplification
   Field Groups removed from AI/ML; Overview cards no longer repeat flow paths.
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card{
  min-height:170px ;
  padding:22px 20px 20px ;
  justify-content:flex-start ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card h4{
  margin:12px 0 8px ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card>p{
  margin:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-context-card-path{
  display:none ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-overview-use-card{
  min-height:170px ;
}


/* ============================================================================
   Research assurance rail V5
   Flagged City Twin, reinforced synthetic-only status, certified release badge,
   and research internals aligned to the full sample-header width.
   ============================================================================ */

/* Full-width internal research layout: remove legacy 32px side insets. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-research-context-rail,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-wrap,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-individual-overview,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-research-grid,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-section-label,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-research-rows-head,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-row-inspect-hint,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-sample-tools,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-groups,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-horizontal-rail,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-column-panel,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-wrap,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-table-caption,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-rows-links,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-market-bottom-cta{
  width:100% ;
  max-width:100% ;
  margin-left:0 ;
  margin-right:0 ;
  box-sizing:border-box ;
}

/* Preserve appropriate vertical rhythm after removing the side inset. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-wrap{
  margin-top:20px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-individual-overview{
  margin-top:22px ;
}
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"]>.ds-research-rows-head{
  margin-top:30px ;
  margin-bottom:10px ;
}

/* Metadata rail itself. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
  display:grid ;
  grid-template-columns:repeat(4,minmax(0,1fr)) ;
  border:1px solid #bed2ce ;
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item{
  position:relative;
  min-height:112px ;
  padding:18px 20px ;
  border-right:1px solid #d4e0de ;
  background:#fff ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item:last-child{
  border-right:0 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail small{
  display:block ;
  color:#668087 ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1.25 ;
  font-weight:650 ;
  letter-spacing:.04em ;
  text-transform:uppercase ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail strong{
  display:flex ;
  align-items:center ;
  gap:8px ;
  margin-top:9px ;
  color:#143f46 ;
  font-size:17.0px ;
  line-height:1.2 ;
  font-weight:650 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail em{
  display:block ;
  margin-top:7px ;
  color:#698086 ;
  font-size:14px ;
  line-height:1.35 ;
  font-style:normal ;
  font-weight:650 ;
}

/* City + country flag. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-city-value b{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:26px ;
  height:20px ;
  font-size:18.0px ;
  line-height:1 ;
  font-weight:400 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-city{
  background:#fbfdfc ;
}

/* Synthetic-only is a deliberate assurance state, not plain metadata. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-synthetic{
  background:#e9f6f3 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-synthetic::before{
  content:"" ;
  position:absolute ;
  inset:0 auto 0 0 ;
  width:4px ;
  background:#0b8f86 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-synthetic strong{
  color:#076f69 ;
}

/* Certified badge: compact, explicit, release assurance. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-certified-badge{
  display:inline-flex ;
  width:max-content ;
  min-height:30px ;
  padding:5px 10px ;
  border:1px solid #087d75 ;
  background:#087d75 ;
  color:#fff ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1 ;
  font-weight:650 ;
  letter-spacing:.02em ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-release{
  background:#f8fbfa ;
}

/* Sample slice now visually shares the same full-width measure. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-sample-mode-wrap{
  padding:18px 20px ;
  border:1px solid #bed2ce ;
  background:#f5fbf9 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-mode-label{
  font-size:14px ;
  line-height:1.25 ;
}
body.fcte-v5.page-family-data.data-access-redesign .ds-sample-mode-copy{
  max-width:none ;
  font-size:15.0px ;
  line-height:1.6 ;
}

/* Research query/guidance grid uses the same width as header and rail. */
body.fcte-v5.page-family-data.data-access-redesign .ds-research-grid{
  width:100% ;
}

/* Tablet/mobile. */
@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
    grid-template-columns:1fr 1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item{
    border-bottom:1px solid #d4e0de ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item:nth-child(2n){
    border-right:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item:nth-last-child(-n+2){
    border-bottom:0 ;
  }
}
@media(max-width:560px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail{
    grid-template-columns:1fr ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item{
    min-height:auto ;
    border-right:0 ;
    border-bottom:1px solid #d4e0de ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-research-context-rail .ds-research-context-item:last-child{
    border-bottom:0 ;
  }
}


/* ============================================================================
   Health Visit Card V6 — hospital identity + visit-aware clinical layouts
   Same hospital always receives the same deterministic theme/layout.
   ============================================================================ */

/* Shared theme variables. */
.ds-health-visit-card{
  --hc-accent:#0d9188;
  --hc-deep:#0c4c52;
  --hc-soft:#edf8f6;
  --hc-line:#cbdad7;
  --hc-heading-font:Arial,Helvetica,sans-serif;
  --hc-body-font:Arial,Helvetica,sans-serif;
  font-family:var(--hc-body-font) ;
}
.ds-health-visit-card :is(h1,h2,h3,strong){
  font-family:var(--hc-heading-font) ;
}

/* Five deterministic hospital palettes. */
.ds-health-theme-teal{
  --hc-accent:#13a59b;
  --hc-deep:#0d4a50;
  --hc-soft:#edf8f6;
  --hc-line:#bfd7d3;
  --hc-heading-font:Arial,Helvetica,sans-serif;
  --hc-body-font:Arial,Helvetica,sans-serif;
}
.ds-health-theme-navy{
  --hc-accent:#315989;
  --hc-deep:#203f6d;
  --hc-soft:#f0f4f9;
  --hc-line:#c7d2df;
  --hc-heading-font:"Trebuchet MS",Arial,sans-serif;
  --hc-body-font:Arial,Helvetica,sans-serif;
}
.ds-health-theme-forest{
  --hc-accent:#3b8069;
  --hc-deep:#285846;
  --hc-soft:#f1f7f4;
  --hc-line:#c9d9d1;
  --hc-heading-font:Verdana,Arial,sans-serif;
  --hc-body-font:Verdana,Arial,sans-serif;
}
.ds-health-theme-burgundy{
  --hc-accent:#98516a;
  --hc-deep:#6a3047;
  --hc-soft:#faf2f5;
  --hc-line:#ddc9d1;
  --hc-heading-font:Georgia,"Times New Roman",serif;
  --hc-body-font:Arial,Helvetica,sans-serif;
}
.ds-health-theme-slate{
  --hc-accent:#647d91;
  --hc-deep:#3f586d;
  --hc-soft:#f2f5f7;
  --hc-line:#ccd6dc;
  --hc-heading-font:Tahoma,Arial,sans-serif;
  --hc-body-font:Tahoma,Arial,sans-serif;
}

/* Theme application. */
.ds-health-visit-card .ds-health-report-facility h1,
.ds-health-visit-card .ds-health-report-document-title h2{
  color:var(--hc-accent) ;
}
.ds-health-visit-card .ds-health-report-rule{
  background:var(--hc-accent) ;
}
.ds-health-visit-card .ds-health-reference-section h3{
  background:var(--hc-deep) ;
}
.ds-health-visit-card .ds-health-report-patient-box{
  border-color:var(--hc-line) ;
}
.ds-health-visit-card .ds-health-report-footer{
  border-top-color:var(--hc-line) ;
}
.ds-health-visit-card .ds-health-report-footer strong{
  color:var(--hc-deep) ;
}

/* Allergy row. */
.ds-health-report-allergies{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:126px minmax(0,1fr);
  gap:12px;
  margin-top:4px;
  padding:10px 12px;
  border-left:4px solid #c28a2d;
  background:#fff8ea;
}
.ds-health-report-allergies span{
  color:#6a5a3e;
  font-size:14px ;
  font-weight:650;
}
.ds-health-report-allergies strong{
  color:#704c13 ;
  font-size:14px ;
  line-height:1.35 ;
}
.ds-health-report-allergies.is-known{
  border-left-color:#b23838;
  background:#fff1f1;
}
.ds-health-report-allergies.is-known span,
.ds-health-report-allergies.is-known strong{
  color:#9b2525 ;
}
.ds-health-report-allergies.is-clear{
  border-left-color:#238264;
  background:#eef8f4;
}
.ds-health-report-allergies.is-clear span,
.ds-health-report-allergies.is-clear strong{
  color:#17664f ;
}

/* ED-like observation line. */
.ds-health-observation-line{
  color:#111 ;
  font-size:14.5px ;
  line-height:1.55 ;
  font-weight:700 ;
}

/* --------------------------------------------------------------------------
   Layout A: classic hospital letterhead.
   -------------------------------------------------------------------------- */
.ds-health-layout-classic .ds-health-report-letterhead{
  display:grid ;
  grid-template-columns:minmax(0,1fr) auto ;
  gap:30px ;
  padding:0 ;
  background:#fff ;
}
.ds-health-layout-classic .ds-health-report-document-title{
  text-align:right ;
}

/* --------------------------------------------------------------------------
   Layout B: full hospital banner like an ED/hospital form.
   -------------------------------------------------------------------------- */
.ds-health-layout-banner .ds-health-report-letterhead{
  display:grid ;
  grid-template-columns:minmax(0,1fr) auto ;
  gap:28px ;
  align-items:center ;
  margin:-34px -38px 20px ;
  padding:24px 28px ;
  background:var(--hc-deep) ;
}
.ds-health-layout-banner .ds-health-report-facility h1,
.ds-health-layout-banner .ds-health-report-document-title h2,
.ds-health-layout-banner .ds-health-report-address,
.ds-health-layout-banner .ds-health-report-facility-meta{
  color:#fff ;
}
.ds-health-layout-banner .ds-health-report-address,
.ds-health-layout-banner .ds-health-report-facility-meta{
  opacity:.92;
}
.ds-health-layout-banner .ds-health-report-document-title strong{
  color:#ffe0d6 ;
}
.ds-health-layout-banner .ds-health-report-rule{
  display:none ;
}
.ds-health-layout-banner .ds-health-report-patient-box{
  background:var(--hc-soft) ;
}

/* --------------------------------------------------------------------------
   Layout C: split identity — white hospital column + colored report title panel.
   -------------------------------------------------------------------------- */
.ds-health-layout-split .ds-health-report-letterhead{
  display:grid ;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr) ;
  gap:0 ;
  align-items:stretch ;
  margin:0 0 18px ;
  border:1px solid var(--hc-line) ;
}
.ds-health-layout-split .ds-health-report-facility{
  padding:20px 22px ;
  background:#fff ;
}
.ds-health-layout-split .ds-health-report-document-title{
  display:flex ;
  flex-direction:column ;
  justify-content:center ;
  padding:20px 22px ;
  background:var(--hc-accent) ;
  text-align:left ;
}
.ds-health-layout-split .ds-health-report-document-title h2{
  color:#fff ;
}
.ds-health-layout-split .ds-health-report-document-title strong{
  color:#fff4ee ;
}
.ds-health-layout-split .ds-health-report-rule{
  display:none ;
}
.ds-health-layout-split .ds-health-report-patient-box{
  border-left:4px solid var(--hc-accent) ;
  background:var(--hc-soft) ;
}

/* Slightly different section-heading geometry between layouts. */
.ds-health-layout-classic .ds-health-reference-section h3{
  padding:6px 9px ;
}
.ds-health-layout-banner .ds-health-reference-section h3{
  padding:6px 10px ;
  letter-spacing:.015em ;
}
.ds-health-layout-split .ds-health-reference-section h3{
  display:inline-block ;
  min-width:42% ;
  padding:7px 12px ;
}

/* Keep report text comfortably readable. */
.ds-health-visit-card .ds-health-reference-section>p,
.ds-health-visit-card .ds-health-reference-findings,
.ds-health-visit-card .ds-health-reference-impression{
  font-size:14.5px ;
  line-height:1.55 ;
}
.ds-health-visit-card .ds-health-report-field span,
.ds-health-visit-card .ds-health-report-field strong{
  font-size:14px ;
}

/* Print hospital identity backgrounds when supported. */
@media print{
  body.ds-health-card-printing .ds-health-visit-card{
    -webkit-print-color-adjust:exact ;
    print-color-adjust:exact ;
  }
}

/* Mobile: preserve identity but normalize the geometry. */
@media(max-width:760px){
  .ds-health-layout-banner .ds-health-report-letterhead{
    grid-template-columns:1fr ;
    margin:-24px -18px 18px ;
    padding:20px 18px ;
  }
  .ds-health-layout-banner .ds-health-report-document-title{
    text-align:left ;
  }

  .ds-health-layout-split .ds-health-report-letterhead{
    grid-template-columns:1fr ;
  }
  .ds-health-layout-split .ds-health-report-document-title{
    min-height:110px ;
  }

  .ds-health-report-allergies{
    grid-template-columns:110px minmax(0,1fr) ;
  }
}


/* ============================================================================
   Dataset Assurance Rail V7
   Dataset-level metadata belongs under the domain header and ABOVE tab modes.
   ============================================================================ */

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail{
  display:grid ;
  grid-template-columns:repeat(4,minmax(0,1fr)) ;
  width:auto ;
  max-width:none ;
  margin:0 30px 18px ;
  border:1px solid #bed2ce ;
  background:#fff ;
  box-sizing:border-box ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item{
  position:relative ;
  min-height:104px ;
  padding:17px 20px ;
  border-right:1px solid #d4e0de ;
  background:#fff ;
  box-sizing:border-box ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item:last-child{
  border-right:0 ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail small{
  display:block ;
  color:#668087 ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1.25 ;
  font-weight:650 ;
  letter-spacing:.04em ;
  text-transform:uppercase ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail strong{
  display:flex ;
  align-items:center ;
  gap:8px ;
  margin-top:8px ;
  color:#143f46 ;
  font-size:17.0px ;
  line-height:1.2 ;
  font-weight:650 ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail em{
  display:block ;
  margin-top:6px ;
  color:#698086 ;
  font-size:14px ;
  line-height:1.35 ;
  font-style:normal ;
  font-weight:650 ;
}

/* City + country flag */
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-city-value b{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:27px ;
  height:21px ;
  font-size:19.0px ;
  line-height:1 ;
  font-weight:400 ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-city{
  background:#fbfdfc ;
}

/* Synthetic-only is intentionally emphasized because it applies to the
   complete dataset, not only one sample mode. */
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-synthetic{
  background:#e9f6f3 ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-synthetic::before{
  content:"" ;
  position:absolute ;
  inset:0 auto 0 0 ;
  width:4px ;
  background:#0b8f86 ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-synthetic strong{
  color:#076f69 ;
}

/* Certified release badge */
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-certified-badge{
  display:inline-flex ;
  width:max-content ;
  min-height:30px ;
  padding:5px 10px ;
  border:1px solid #087d75 ;
  background:#087d75 ;
  color:#fff ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1 ;
  font-weight:650 ;
  letter-spacing:.02em ;
}

body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-release{
  background:#f8fbfa ;
}

/* Tabs now clearly sit BELOW dataset-level assurance. */
body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail + .da-explorer-tabs{
  border-top:0 ;
  padding-top:0 ;
  margin-top:0 ;
}

/* The Research tab no longer owns this metadata rail. */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="research"] .ds-research-context-rail{
  display:none ;
}

/* Tablet/mobile */
@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail{
    grid-template-columns:1fr 1fr ;
    margin-left:18px ;
    margin-right:18px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item{
    border-bottom:1px solid #d4e0de ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item:nth-child(2n){
    border-right:0 ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item:nth-last-child(-n+2){
    border-bottom:0 ;
  }
}

@media(max-width:560px){
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-rail{
    grid-template-columns:1fr ;
    margin-left:14px ;
    margin-right:14px ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item{
    min-height:auto ;
    border-right:0 ;
    border-bottom:1px solid #d4e0de ;
  }
  body.fcte-v5.page-family-data.data-access-redesign .ds-dataset-assurance-item:last-child{
    border-bottom:0 ;
  }
}


/* ============================================================================
   Dataset Assurance V8
   Dataset assurance is part of the selected-domain header itself.
   ============================================================================ */

/* The selected-domain header now owns three visual rows:
   copy/actions, assurance rail, then its enclosing bottom border. */
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head{
  grid-template-columns:minmax(0,1fr) auto ;
  align-items:start ;
}

/* Rail is a full-width child INSIDE the domain header. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head > .ds-dataset-assurance-rail{
  grid-column:1 / -1 ;
  display:grid ;
  grid-template-columns:repeat(4,minmax(0,1fr)) ;
  width:100% ;
  max-width:100% ;
  margin:24px 0 0 ;
  border:1px solid #bed2ce ;
  background:#fff ;
  box-sizing:border-box ;
}

/* Remove the older outside-header spacing behavior. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-dataset-assurance-rail{
  margin-left:0 ;
  margin-right:0 ;
}

/* Individual assurance cells. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-item{
  position:relative ;
  min-height:100px ;
  padding:16px 18px ;
  border-right:1px solid #d4e0de ;
  background:#fff ;
  box-sizing:border-box ;
}
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-item:last-child{
  border-right:0 ;
}

/* City cell. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-city{
  background:#fbfdfc ;
}

/* Synthetic-only remains the strongest assurance highlight. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-synthetic{
  background:#e9f6f3 ;
}
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-synthetic::before{
  content:"" ;
  position:absolute ;
  inset:0 auto 0 0 ;
  width:4px ;
  background:#0b8f86 ;
}
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-synthetic strong{
  color:#076f69 ;
}

/* Compact CERTIFIED badge — no large green rectangle. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-certified-badge{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  width:max-content ;
  min-height:26px ;
  margin-top:7px ;
  padding:4px 10px ;
  border:1px solid #087d75 ;
  border-radius:999px ;
  background:#087d75 ;
  color:#fff ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1 ;
  font-weight:650 ;
  letter-spacing:.025em ;
  white-space:nowrap ;
}

/* Do not force all assurance strong elements to stretch like blocks. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head .ds-dataset-assurance-rail strong{
  width:auto ;
}

/* Tabs now begin AFTER the complete selected-domain card. */
body.fcte-v5.page-family-data.data-access-redesign
.ds-head.ds-marketplace-head + #dsAvailable .da-explorer-tabs{
  padding-top:18px ;
}

/* Ensure there is no orphan/duplicate dataset rail outside the header. */
body.fcte-v5.page-family-data.data-access-redesign
#dsAvailable > .ds-dataset-assurance-rail{
  display:none ;
}

/* Tablet */
@media(max-width:900px){
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head > .ds-dataset-assurance-rail{
    grid-template-columns:1fr 1fr ;
    margin:20px 0 0 ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head .ds-dataset-assurance-item{
    border-bottom:1px solid #d4e0de ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head .ds-dataset-assurance-item:nth-child(2n){
    border-right:0 ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head .ds-dataset-assurance-item:nth-last-child(-n+2){
    border-bottom:0 ;
  }
}

/* Mobile */
@media(max-width:560px){
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head > .ds-dataset-assurance-rail{
    grid-template-columns:1fr ;
    margin-top:18px ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head .ds-dataset-assurance-item{
    min-height:auto ;
    border-right:0 ;
    border-bottom:1px solid #d4e0de ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-head.ds-marketplace-head .ds-dataset-assurance-item:last-child{
    border-bottom:0 ;
  }
}


/* ============================================================================
   Dataset Explorer V9 — remove separator above tab navigation
   ============================================================================ */

/* Remove every inherited rule that can draw the horizontal line between the
   selected-domain card and the mode tabs. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs,
body.fcte-v5.page-family-data.data-access-redesign #dsAvailable,
body.fcte-v5.page-family-data.data-access-redesign .ds-main,
body.fcte-v5.page-family-data.data-access-redesign .ds-head.ds-marketplace-head + #dsAvailable{
  border-top:0 ;
}

/* Tabs retain deliberate breathing room without a rule. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs{
  margin-top:0 ;
  padding-top:18px ;
  background:#fff ;
}

/* Prevent pseudo-elements from recreating the separator. */
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::before,
body.fcte-v5.page-family-data.data-access-redesign .da-explorer-tabs::after,
body.fcte-v5.page-family-data.data-access-redesign #dsAvailable::before,
body.fcte-v5.page-family-data.data-access-redesign #dsAvailable::after{
  display:none ;
  content:none ;
}


/* ============================================================================
   Longitudinal Health Cards V10
   Every timeline event can open a hospital-themed Health Card.
   ============================================================================ */

.ds-health-longitudinal-event-card .ds-health-report-document-title strong{
  letter-spacing:.045em ;
}

.ds-health-longitudinal-event-card .ds-health-event-focus{
  margin-top:20px ;
}

.ds-health-longitudinal-event-card .ds-health-event-source h3{
  background:#6b7f86 ;
}

.ds-health-longitudinal-event-card[data-event-type="vital"] .ds-health-event-focus h3{
  background:#168d82 ;
}

.ds-health-longitudinal-event-card[data-event-type="diagnosis"] .ds-health-event-focus h3,
.ds-health-longitudinal-event-card[data-event-type="condition"] .ds-health-event-focus h3{
  background:#77506f ;
}

.ds-health-longitudinal-event-card[data-event-type="lab"] .ds-health-event-focus h3{
  background:#365f8d ;
}

.ds-health-longitudinal-event-card[data-event-type="prescription"] .ds-health-event-focus h3{
  background:#6a7850 ;
}

.ds-health-longitudinal-event-card[data-event-type="procedure"] .ds-health-event-focus h3{
  background:#75513a ;
}

.ds-health-longitudinal-event-card[data-event-type="referral"] .ds-health-event-focus h3{
  background:#8a6331 ;
}

/* Longitudinal cards can be denser than full visit summaries while preserving
   the same clinical-report readability. */
.ds-health-longitudinal-event-card .ds-health-report-patient-box{
  margin-bottom:2px ;
}

.ds-health-longitudinal-event-card .ds-health-reference-findings li{
  font-size:14px ;
  line-height:1.5 ;
}

.ds-health-longitudinal-event-card .ds-health-report-footer span{
  max-width:600px ;
}

/* The timeline row itself now clearly behaves like a Health Card launcher. */
body.fcte-v5.page-family-data.data-access-redesign
[data-da-panel="research"] .ds-table tbody tr{
  cursor:pointer ;
}

@media(max-width:760px){
  .ds-health-longitudinal-event-card .ds-health-reference-findings li{
    font-size:14px ;
  }
}


/* ============================================================================
   Health Cards Complete V11
   Plain-language condition + titled clinicians + intentional placeholders.
   ============================================================================ */

.ds-health-plain-condition{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:13px 15px;
  border-left:4px solid var(--hc-accent,#0d9188);
  background:var(--hc-soft,#edf8f6);
}
.ds-health-plain-condition strong{
  color:#173f46 ;
  font-size:16.0px ;
  line-height:1.35 ;
  font-weight:650 ;
}
.ds-health-plain-condition span{
  flex:0 0 auto;
  color:#61777c ;
  font-family:var(--fd-mono) ;
  font-size:14px ;
  line-height:1.35 ;
  font-weight:650 ;
}
.ds-health-layman-condition h3{
  background:var(--hc-deep,#0d4a50) ;
}

/* Missing query values remain visibly intentional rather than creating blank
   holes in the report. */
.ds-health-report-field strong,
.ds-health-card-pair strong{
  min-height:1.2em ;
  overflow-wrap:anywhere ;
}

.ds-health-reference-reporter>strong,
.ds-health-reported-by>strong{
  font-size:15.0px ;
  font-weight:650 ;
}

.ds-health-reference-reporter span{
  font-size:14px ;
  line-height:1.45 ;
}

.ds-health-report-address,
.ds-health-report-facility-meta,
.ds-health-report-allergies strong,
.ds-health-reference-section p,
.ds-health-reference-findings li{
  line-height:1.55 ;
}

@media(max-width:760px){
  .ds-health-plain-condition{
    flex-direction:column;
    gap:7px;
  }
  .ds-health-plain-condition strong{
    font-size:15.0px ;
  }
}


/* ============================================================================
   AI/ML V12 — sample-distribution chart intentionally removed.
   ============================================================================ */
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-dataset-shell,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-chart-block,
body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-health-chart-stage{
  display:none ;
  margin:0 ;
  padding:0 ;
  min-height:0 ;
  height:0 ;
  border:0 ;
}

body.fcte-v5.page-family-data.data-access-redesign [data-da-panel="aiml"] .ds-aiml-preview-block{
  margin-top:26px ;
}


/* ============================================================================
   Pricing V13 — downloadable pricing matrix
   ============================================================================ */
.fcte-pricing-table-tools{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:24px 0 12px;
}
.fcte-pricing-table-tools-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.fcte-pricing-table-tools small{
  color:#6f858b;
  font-family:var(--fd-mono);
  font-size:14px;
  font-weight:650;
  letter-spacing:.06em;
}
.fcte-pricing-table-tools strong{
  color:#173f46;
  font-size:15.0px;
  line-height:1.3;
  font-weight:650;
}
.fcte-pricing-table-download{
  appearance:none;
  border:1px solid #0b8f86;
  background:#0b8f86;
  color:#fff;
  min-height:42px;
  padding:10px 16px;
  font-family:var(--fd-mono);
  font-size:14px;
  line-height:1;
  font-weight:650;
  cursor:pointer;
}
.fcte-pricing-table-download:hover,
.fcte-pricing-table-download:focus-visible{
  background:#086f69;
  border-color:#086f69;
}
.fcte-pricing-table-download:focus-visible{
  outline:3px solid rgba(11,143,134,.2);
  outline-offset:2px;
}
@media(max-width:720px){
  .fcte-pricing-table-tools{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }
  .fcte-pricing-table-download{width:100%;}
}


/* ============================================================================
   Documentation Library V15 - branded PDF download badges
   ============================================================================ */
.fcte-doc-download-row{
  width:min(1120px,calc(100% - 48px));
  margin:18px auto 22px;
  padding:0 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  box-sizing:border-box;
}
.fcte-doc-pdf-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:7px 13px 7px 8px;
  border:1px solid #8fc7c1;
  border-radius:999px;
  background:#eff8f6;
  color:#143f46;
  text-decoration:none ;
  box-shadow:0 1px 0 rgba(13,73,79,.04);
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.fcte-doc-pdf-badge:hover,
.fcte-doc-pdf-badge:focus-visible{
  background:#e4f4f1;
  border-color:#0b8f86;
  transform:translateY(-1px);
}
.fcte-doc-pdf-badge:focus-visible{
  outline:3px solid rgba(11,143,134,.18);
  outline-offset:2px;
}
.fcte-doc-pdf-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#0b8f86;
  color:#fff;
  font-family:var(--fd-mono,ui-monospace,SFMono-Regular,Menlo,monospace);
  font-size:14px;
  line-height:1;
  font-weight:650;
  letter-spacing:.05em;
}
.fcte-doc-pdf-label{
  font-size:14px;
  line-height:1;
  font-weight:650;
  white-space:nowrap;
}
.fcte-doc-pdf-arrow{
  color:#0b8f86;
  font-size:16.0px;
  line-height:1;
  font-weight:650;
}
.fcte-doc-contact{
  color:#6a8085;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
  text-align:right;
}
.fcte-doc-contact a{
  color:#0b7f78;
  font-weight:650;
  text-decoration:none;
}
.fcte-doc-contact a:hover{text-decoration:underline;}
@media(max-width:760px){
  .fcte-doc-download-row{
    width:min(100% - 28px,1120px);
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    margin-top:14px;
  }
  .fcte-doc-pdf-badge{max-width:100%;}
  .fcte-doc-pdf-label{white-space:normal;}
  .fcte-doc-contact{text-align:left;}
}
@media print{
  .fcte-doc-download-row{display:none ;}
}


/* ============================================================================
   FCTE V16 — city context + navigation state + evidence-pack download cleanup
   ============================================================================ */

/* Selected City Twin control is always visibly interactive on live city pages. */
body.fcte-v5 .fidelra-city-menu > summary{
  min-height:36px ;
  padding:7px 10px ;
  border:1px solid #c8dcda ;
  border-radius:999px ;
  background:#f4faf9 ;
  color:#123d42 ;
  font-weight:650 ;
}
body.fcte-v5 .fidelra-city-menu > summary:hover,
body.fcte-v5 .fidelra-city-menu[open] > summary{
  border-color:#0b8f86 ;
  background:#eaf7f4 ;
  color:#087a73 ;
}

/* Explicit city choices at the top of the dropdown. */
body.fcte-v5 .fidelra-city-switcher{
  margin:-8px 0 7px ;
  padding:10px 8px 9px ;
  border-bottom:1px solid #dbe7e5 ;
  background:#f8fbfb ;
}
body.fcte-v5 .fidelra-city-switcher-label{
  padding:2px 7px 7px ;
  color:#71878b ;
  font-family:var(--fd-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace) ;
  font-size:14px ;
  font-weight:650 ;
  letter-spacing:.08em ;
}
body.fcte-v5 .fidelra-city-menu-panel .fidelra-city-choice{
  display:grid ;
  grid-template-columns:24px 1fr auto ;
  align-items:center ;
  gap:9px ;
  min-height:42px ;
  margin:0 0 4px ;
  padding:8px 9px ;
  border:1px solid transparent ;
  border-left:1px solid transparent ;
  border-radius:6px ;
  background:transparent ;
}
body.fcte-v5 .fidelra-city-menu-panel .fidelra-city-choice:last-child{
  margin-bottom:0 ;
}
body.fcte-v5 .fidelra-city-menu-panel .fidelra-city-choice:hover{
  border-color:#c8dcda ;
  background:#eef7f6 ;
}
body.fcte-v5 .fidelra-city-menu-panel .fidelra-city-choice.active{
  border-color:#8ccdc6 ;
  background:#dff3ef ;
  color:#086f69 ;
}
body.fcte-v5 .fidelra-city-choice .pch-flag{
  width:22px ;
  height:15px ;
}
body.fcte-v5 .fidelra-city-choice-name{
  font-size:14px ;
  font-weight:650 ;
}
body.fcte-v5 .fidelra-city-choice-state{
  color:#70858a ;
  font-family:var(--fd-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace) ;
  font-size:14px ;
  font-weight:650 ;
  text-transform:uppercase ;
  letter-spacing:.045em ;
}
body.fcte-v5 .fidelra-city-choice.active .fidelra-city-choice-state{
  color:#087a73 ;
}

/* Make the currently selected city section unmistakable in the dropdown. */
body.fcte-v5 .fidelra-city-menu-panel > a.active,
body.fcte-v5 .fidelra-city-menu-panel > a[aria-current="page"]{
  color:#fff ;
  background:#0b837c ;
  border-left-color:#0b837c ;
  font-weight:650 ;
}
body.fcte-v5 .fidelra-city-menu-panel > a.active:hover,
body.fcte-v5 .fidelra-city-menu-panel > a[aria-current="page"]:hover{
  background:#086d68 ;
  color:#fff ;
}

/* Internal city/release tabs: selected state must remain visible even on file://. */
body.fcte-v5 :is(.dist-tab,.dist-city-btn,.pulse-city-btn).active,
body.fcte-v5 :is(.dist-tab,.dist-city-btn,.pulse-city-btn)[aria-selected="true"]{
  background:#0b8f86 ;
  border-color:#0b8f86 ;
  color:#fff ;
  font-weight:650 ;
}

/* Keep download count attached to the Public Evidence Pack action. */
body.fcte-v5 a.fcte-evidence-pack-download{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  gap:9px ;
  white-space:nowrap ;
}
body.fcte-v5 a.fcte-evidence-pack-download .fcte-download-count-inline{
  min-height:20px ;
  margin:0 ;
  padding:2px 7px ;
  border:1px solid rgba(255,255,255,.45) ;
  background:rgba(255,255,255,.15) ;
  color:inherit ;
  font-size:14px ;
  line-height:1.1 ;
}
body.fcte-v5 a.btn-ghost.fcte-evidence-pack-download .fcte-download-count-inline{
  border-color:#afd2ce ;
  background:#eaf6f4 ;
  color:#31565d ;
}

@media(max-width:760px){
  body.fcte-v5 .fidelra-city-menu > summary{
    border-radius:8px ;
  }
  body.fcte-v5 a.fcte-evidence-pack-download{
    white-space:normal ;
    flex-wrap:wrap ;
  }
}

/* ============================================================================
   FCTE V17 - documentation download row cleanup
   ============================================================================ */
body.fcte-v5 .fcte-doc-download-row{
  min-height:0 ;
  padding:14px max(24px,calc((100% - 1000px)/2)) ;
  justify-content:flex-start ;
  gap:0 ;
  background:#f6faf9 ;
  border-top:1px solid #d8e5e3 ;
  border-bottom:1px solid #d8e5e3 ;
}
body.fcte-v5 .fcte-doc-contact{display:none ;}
body.fcte-v5 .fcte-download-count{display:none ;}
body.fcte-v5 .fcte-doc-pdf-badge{
  margin:0 ;
  min-height:38px ;
  padding:7px 12px ;
}


/* ============================================================================
   FCTE V18 — borderless City Twin navigation + no documentation download strip
   ============================================================================ */

/* Top navigation selector should read like navigation, not a form control. */
body.fcte-v5 .fidelra-city-menu > summary{
  border:0 ;
  border-radius:0 ;
  background:transparent ;
  box-shadow:none ;
  padding:7px 6px ;
}
body.fcte-v5 .fidelra-city-menu > summary:hover,
body.fcte-v5 .fidelra-city-menu > summary:focus-visible,
body.fcte-v5 .fidelra-city-menu[open] > summary{
  border:0 ;
  background:transparent ;
  box-shadow:none ;
  color:#087a73 ;
}
body.fcte-v5 .fidelra-city-menu > summary:focus-visible{
  outline:2px solid rgba(11,143,134,.28) ;
  outline-offset:4px ;
}

/* Dropdown itself stays elevated through shadow only — no hard outline. */
body.fcte-v5 .fidelra-city-menu-panel{
  border:0 ;
  box-shadow:0 14px 34px rgba(6,16,26,.14) ;
}

/* Documentation pages no longer reserve a separate download strip. */
body.fcte-v5 .fcte-doc-download-row{
  display:none ;
  margin:0 ;
  padding:0 ;
  min-height:0 ;
  border:0 ;
}

@media(max-width:760px){
  body.fcte-v5 .fidelra-city-menu > summary{
    border:0 ;
    border-radius:0 ;
    padding:7px 4px ;
  }
}


/* ============================================================================
   V19 CTA STANDARDIZATION
   One header CTA width for every Data Explorer domain.
   Health's existing 225px action column is the canonical desktop reference.
   ============================================================================ */

@media(min-width:761px){
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-marketplace-head-actions{
    flex:0 0 225px ;
    width:225px ;
    min-width:225px ;
    max-width:225px ;
    box-sizing:border-box ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-full-dataset-stat{
    width:225px ;
    min-width:225px ;
    max-width:225px ;
    box-sizing:border-box ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-full-dataset-stat strong{
    width:100% ;
    max-width:100% ;
    white-space:normal ;
    word-break:normal ;
    overflow-wrap:break-word ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  .ds-market-license-link{
    display:flex ;
    align-items:center ;
    justify-content:center ;
    width:225px ;
    min-width:225px ;
    max-width:225px ;
    box-sizing:border-box ;
  }
}

/* On phones the existing responsive layout remains full-width. */
@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-marketplace-head-actions,
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-full-dataset-stat,
  body.fcte-v5.page-family-data.data-access-redesign
  .ds-market-license-link{
    width:100% ;
    min-width:0 ;
    max-width:100% ;
    box-sizing:border-box ;
  }
}


/* ============================================================================
   V19 DATA EXPLORER — GOVERNANCE TYPOGRAPHY PARITY
   Reference: use-governance.html subsection hierarchy.
   ============================================================================ */

/* Major subsection titles use the same strong hierarchy as governance section
   headings: 34px, 900 weight, tight line-height and display tracking. */
body.fcte-v5.page-family-data.data-access-redesign
:is(
  .ds-overview-primer-copy h3,
  .ds-connections-intro h3,
  .ds-market-sample-copy h3,
  .da-assurance-intro h3,
  .ds-license-hero h3
){
  font-size:34.0px ;
  font-weight:650 ;
  line-height:1.02 ;
  letter-spacing:-.045em ;
}

/* Nested subsection/card titles follow the governance 20–24px h3 treatment,
   standardized at 20px for the denser Data Explorer surfaces. */
body.fcte-v5.page-family-data.data-access-redesign
:is(
  .ds-market-block-head h4,
  .ds-research-grid h4,
  .ds-overview-context-card h4,
  .da-proof-links a span,
  .ds-license-paths h4,
  .ds-license-included h4
){
  font-size:20.0px ;
  font-weight:650 ;
  line-height:1.16 ;
  letter-spacing:-.02em ;
}

/* Keep small mono labels as labels; only strengthen their weight so the
   hierarchy matches Governance without inflating metadata text. */
body.fcte-v5.page-family-data.data-access-redesign
:is(
  .ds-section-label,
  .ds-market-eyebrow,
  .ds-dataset-kicker,
  .ds-market-block-head small
){
  font-weight:650 ;
}

@media(max-width:760px){
  body.fcte-v5.page-family-data.data-access-redesign
  :is(
    .ds-overview-primer-copy h3,
    .ds-connections-intro h3,
    .ds-market-sample-copy h3,
    .da-assurance-intro h3,
    .ds-license-hero h3
  ){
    font-size:30.0px ;
    line-height:1.04 ;
  }

  body.fcte-v5.page-family-data.data-access-redesign
  :is(
    .ds-market-block-head h4,
    .ds-research-grid h4,
    .ds-overview-context-card h4,
    .da-proof-links a span,
    .ds-license-paths h4,
    .ds-license-included h4
  ){
    font-size:19.0px ;
  }
}


/* V51 — PRICING / COMMERCE TYPOGRAPHY PARITY
   Commerce pages now use the same current Fidelra stylesheet and type system
   as the rest of the marketplace. Keep component copy compact while making
   the actual selected-domain price the dominant commercial value. */
body.fcte-v5.page-family-access,
body.fcte-v5.page-family-access :is(button,input,select,textarea){
  font-family:var(--fd-font,"Inter","Segoe UI",Arial,sans-serif);
}

/* Pricing hero follows the canonical non-home hero contract exactly. */
body.fcte-v5.page-family-access .pricing-hero h1,
body.fcte-v5.page-family-access .pricing-hero .v5-page-title{
  font-family:var(--fd-font,"Inter","Segoe UI",Arial,sans-serif) ;
  font-size:var(--fd-hero-title-size) ;
  font-weight:var(--fd-hero-title-weight) ;
  line-height:var(--fd-hero-title-line) ;
  letter-spacing:var(--fd-hero-title-track) ;
}
body.fcte-v5.page-family-access .pricing-hero .lead{
  font-family:var(--fd-font,"Inter","Segoe UI",Arial,sans-serif) ;
  font-size:var(--fd-hero-copy-size) ;
  line-height:var(--fd-hero-copy-line) ;
  font-weight:500 ;
}

/* Dense pricing rows: slightly smaller component copy than content sections. */
body.fcte-v5.page-family-access #tiers .tier-card{
  padding-top:31px;
  padding-bottom:31px;
}
body.fcte-v5.page-family-access #tiers .tc-tagline{
  font-size:17.0px ;
  line-height:1.28 ;
  font-weight:650 ;
}
body.fcte-v5.page-family-access #tiers .tc-desc{
  font-size:14px ;
  line-height:1.58 ;
}
body.fcte-v5.page-family-access #tiers .tc-includes li{
  font-size:14px ;
  line-height:1.5 ;
}
body.fcte-v5.page-family-access #tiers .tc-bestfor{
  font-size:14px ;
  line-height:1.52 ;
}
body.fcte-v5.page-family-access #tiers .tc-eyebrow,
body.fcte-v5.page-family-access #tiers .tc-includes-label,
body.fcte-v5.page-family-access #tiers .tc-bestfor-label{
  font-size:14px ;
}
body.fcte-v5.page-family-access #tiers .tc-price{
  font-family:var(--fd-font,"Inter","Segoe UI",Arial,sans-serif) ;
  font-size:clamp(29px,2.65vw,35px) ;
  font-weight:650 ;
  letter-spacing:-.035em ;
}
/* The selected domain's actual standalone dollar price is the key value. */
body.fcte-v5.page-family-access #tier-focused .tc-price{
  font-size:clamp(40px,4.3vw,50px) ;
  line-height:.94 ;
  letter-spacing:-.05em ;
}
body.fcte-v5.page-family-access #tier-focused .tc-price .tc-price-scope{
  margin-top:9px ;
  font-size:14px ;
  letter-spacing:.065em ;
}

/* Optional-enhancement containers stay editorial/compact rather than oversized. */
body.fcte-v5.page-family-access #package-enhancements .buyer-deliverables b{
  font-size:14px ;
  line-height:1.3 ;
}
body.fcte-v5.page-family-access #package-enhancements .buyer-deliverables span{
  font-size:14px ;
  line-height:1.5 ;
}

@media(max-width:760px){
  body.fcte-v5.page-family-access #tiers .tier-card{padding-top:25px;padding-bottom:25px}
  body.fcte-v5.page-family-access #tier-focused .tc-price{font-size:40.0px }
}

/* source: assets/resident-life.css */

body.fcte-v5.page-family-resident-life{--rl-ink:#103f46;--rl-deep:#071722;--rl-teal:#0b948a;--rl-mint:#67d9cd;--rl-line:#bfd2cf;--rl-muted:#617b80;background:#f2f7f6}
body.fcte-v5 .resident-life-main .wrap,body.fcte-v5 .resident-launch-section .wrap{width:min(1120px,calc(100% - 64px));max-width:1120px;margin-inline:auto}
body.fcte-v5 .resident-launch-section{padding:76px 0}
body.fcte-v5 .resident-launch-section .head{max-width:820px}
body.fcte-v5 .resident-launch-section .head p{max-width:760px;color:#c2d1d4;font-size:16.0px;line-height:1.65}
body.fcte-v5 .resident-launch-primary{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:28px;margin-top:32px;padding:22px 24px;border:1px solid #31505a;background:#0a202b}
body.fcte-v5 .resident-launch-primary span{color:var(--rl-mint);font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace);letter-spacing:.07em}
body.fcte-v5 .resident-launch-primary strong{display:block;margin-top:6px;color:#fff;font-size:19.0px;line-height:1.25;font-weight:650}
body.fcte-v5 .resident-launch-primary p{margin:6px 0 0;color:#9fb5b9;font-size:14px}
body.fcte-v5 .resident-launch-primary .btn{width:100%}
body.fcte-v5 .resident-launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:18px;border-top:1px solid #31505a;border-left:1px solid #31505a}
body.fcte-v5 .resident-launch-card{min-height:166px;padding:20px;border-right:1px solid #31505a;border-bottom:1px solid #31505a;background:#081a25;color:#fff;text-decoration:none;border-radius:0}
body.fcte-v5 .resident-launch-card:hover{background:#0b252d}
body.fcte-v5 .resident-launch-num{color:var(--rl-mint);font:900 14px/1 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-launch-card strong{display:block;margin-top:18px;font-size:18.0px;line-height:1.2;font-weight:650}
body.fcte-v5 .resident-launch-card small{display:block;margin-top:8px;color:#a9bdc1;font-size:14px;line-height:1.5}
body.fcte-v5 .resident-launch-card b{display:block;margin-top:14px;color:var(--rl-mint);font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace)}

body.fcte-v5 .resident-life-hero{padding:82px 0 0;background:var(--rl-deep);color:#fff}
body.fcte-v5 .resident-life-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:60px;align-items:start;margin-top:18px}
body.fcte-v5 .resident-life-hero h1{margin:0;color:#fff;font-size:clamp(54px,6vw,78px);line-height:.94;letter-spacing:-.06em;font-weight:650}
body.fcte-v5 .resident-life-hero p{max-width:720px;margin:22px 0 0;color:#c3d2d5;font-size:17.0px;line-height:1.65}
body.fcte-v5 .resident-life-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
body.fcte-v5 .resident-life-principle{padding:24px;border:1px solid #31505a;background:#0a202b;border-radius:0}
body.fcte-v5 .resident-life-principle small{color:var(--rl-mint);font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace);letter-spacing:.07em}
body.fcte-v5 .resident-life-principle strong{display:block;margin-top:12px;color:#fff;font-size:21.0px;line-height:1.2;font-weight:650}
body.fcte-v5 .resident-life-principle p{margin-top:10px;color:#9fb4b8;font-size:14px;line-height:1.6}
body.fcte-v5 .resident-life-hero-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px;border-top:1px solid #29414a;border-left:1px solid #29414a}
body.fcte-v5 .resident-life-hero-rail>div{min-height:114px;padding:18px 20px;border-right:1px solid #29414a;border-bottom:1px solid #29414a}
body.fcte-v5 .resident-life-hero-rail small{display:block;color:#7e9ba0;font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-life-hero-rail strong{display:block;margin-top:8px;color:#fff;font-size:20.0px;line-height:1.1;font-weight:650}
body.fcte-v5 .resident-life-hero-rail span{display:block;margin-top:6px;color:#a9bdc1;font-size:14px;line-height:1.4}

body.fcte-v5 .resident-life-section{padding:78px 0;border-bottom:1px solid #d6e3e1}
body.fcte-v5 .resident-life-section:nth-of-type(odd){background:#fff}
body.fcte-v5 .resident-life-section-head{max-width:900px;margin-top:10px}
body.fcte-v5 .resident-life-section-head p{max-width:820px;margin:14px 0 0;color:var(--rl-muted);font-size:15.5px;line-height:1.65}

body.fcte-v5 .resident-profile-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:30px;border-top:1px solid var(--rl-line);border-left:1px solid var(--rl-line)}
body.fcte-v5 .resident-profile-btn{min-height:76px;padding:16px 18px;border:0;border-right:1px solid var(--rl-line);border-bottom:1px solid var(--rl-line);background:#fff;color:var(--rl-ink);text-align:left;cursor:pointer;border-radius:0}
body.fcte-v5 .resident-profile-btn span{display:block;color:#6c8388;font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace);text-transform:uppercase}
body.fcte-v5 .resident-profile-btn strong{display:block;margin-top:6px;font-size:15.0px;line-height:1.25;font-weight:650}
body.fcte-v5 .resident-profile-btn.active{background:var(--rl-teal);color:#fff}
body.fcte-v5 .resident-profile-btn.active span{color:#d8fffa}
body.fcte-v5 .resident-timeline-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:20px;margin-top:22px}
body.fcte-v5 .resident-timeline-panel,body.fcte-v5 .resident-related-panel{border:1px solid var(--rl-line);background:#fff;border-radius:0}
body.fcte-v5 .resident-panel-heading{padding:18px 20px;border-bottom:1px solid #dbe6e4}
body.fcte-v5 .resident-panel-heading small{display:block;color:#6b8388;font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-panel-heading strong{display:block;margin-top:6px;color:var(--rl-ink);font-size:20.0px;line-height:1.2;font-weight:650}
body.fcte-v5 .resident-timeline{padding:10px 22px 26px}
body.fcte-v5 .resident-life-event{display:grid;grid-template-columns:66px 32px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid #e0e9e7}
body.fcte-v5 .resident-life-event:last-child{border-bottom:0}
body.fcte-v5 .resident-life-age{color:#648087;font:900 14px/1.25 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-life-icon{font-size:20.0px;line-height:1}
body.fcte-v5 .resident-life-event strong{color:var(--rl-ink);font-size:16.0px;line-height:1.25;font-weight:650}
body.fcte-v5 .resident-life-event p{margin:5px 0 0;color:var(--rl-muted);font-size:14px;line-height:1.55}
body.fcte-v5 .resident-related-panel #residentRelated{padding:8px 20px 18px}
body.fcte-v5 .resident-related-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e0e9e7;color:#5d777c;font-size:14px}
body.fcte-v5 .resident-related-row strong{color:var(--rl-ink);text-align:right}
body.fcte-v5 .resident-related-note{margin:0;padding:16px 20px 20px;border-top:1px solid #dbe6e4;color:#71878b;font-size:14px;line-height:1.5}

body.fcte-v5 .resident-domain-explorer{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:18px;
  margin-top:30px;
  align-items:start;
}
body.fcte-v5 .resident-domain-nav{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--rl-line);
  border-left:1px solid var(--rl-line);
  background:#fff;
}
body.fcte-v5 .resident-domain-tab{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  align-items:center;
  width:100%;
  min-height:58px;
  padding:12px 14px;
  border:0;
  border-right:1px solid var(--rl-line);
  border-bottom:1px solid var(--rl-line);
  background:#fff;
  color:var(--rl-ink);
  text-align:left;
  cursor:pointer;
  border-radius:0;
}
body.fcte-v5 .resident-domain-tab span{
  color:var(--rl-teal);
  font:900 14px/1 var(--fd-mono,ui-monospace,monospace);
}
body.fcte-v5 .resident-domain-tab strong{
  font-size:14px;
  line-height:1.25;
  font-weight:650;
}
body.fcte-v5 .resident-domain-tab:hover{background:#f2f8f7}
body.fcte-v5 .resident-domain-tab.active{
  background:var(--rl-teal);
  color:#fff;
}
body.fcte-v5 .resident-domain-tab.active span{color:#d9fffb}

body.fcte-v5 .resident-domain-panel{
  min-height:430px;
  padding:28px;
  border:1px solid var(--rl-line);
  background:#fff;
  border-radius:0;
}
body.fcte-v5 .resident-domain-panel-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid #dce7e5;
}
body.fcte-v5 .resident-domain-panel-top>div{
  display:flex;
  gap:12px;
  align-items:center;
}
body.fcte-v5 .resident-domain-panel-top span{
  color:var(--rl-teal);
  font:900 14px/1 var(--fd-mono,ui-monospace,monospace);
}
body.fcte-v5 .resident-domain-panel-top small,
body.fcte-v5 .resident-domain-panel-top b,
body.fcte-v5 .resident-domain-panel-label,
body.fcte-v5 .resident-domain-panel-note small{
  color:#6d8489;
  font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace);
  letter-spacing:.05em;
}
body.fcte-v5 .resident-domain-panel h3{
  margin:22px 0 0;
}
body.fcte-v5 .resident-domain-panel>p{
  max-width:740px;
  margin:12px 0 0;
  color:var(--rl-muted);
  font-size:15.0px;
  line-height:1.6;
}
body.fcte-v5 .resident-domain-panel-body{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);
  gap:28px;
  margin-top:24px;
}
body.fcte-v5 .resident-domain-panel ul{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid #e1e9e8;
}
body.fcte-v5 .resident-domain-panel li{
  position:relative;
  padding:10px 0 10px 18px;
  border-bottom:1px solid #e1e9e8;
  color:#48686e;
  font-size:14px;
  line-height:1.4;
}
body.fcte-v5 .resident-domain-panel li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--rl-teal);
  font-weight:650;
}
body.fcte-v5 .resident-domain-panel-note{
  padding:18px;
  border-left:4px solid var(--rl-teal);
  background:#eef7f5;
}
body.fcte-v5 .resident-domain-panel-note strong{
  display:block;
  margin-top:9px;
  color:var(--rl-ink);
  font-size:16.0px;
  line-height:1.3;
  font-weight:650;
}
body.fcte-v5 .resident-domain-panel-note p{
  margin:8px 0 0;
  color:var(--rl-muted);
  font-size:14px;
  line-height:1.5;
}
body.fcte-v5 .resident-domain-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #dce7e5;
}
body.fcte-v5 .resident-domain-link{
  color:#087b75;
  font:900 14px/1.3 var(--fd-mono,ui-monospace,monospace);
}

@media(max-width:900px){
  body.fcte-v5 .resident-domain-explorer{
    grid-template-columns:220px minmax(0,1fr);
  }
  body.fcte-v5 .resident-domain-panel-body{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  body.fcte-v5 .resident-domain-explorer{
    display:block;
    margin-top:24px;
  }
  body.fcte-v5 .resident-domain-nav{
    flex-direction:row;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    border-left:1px solid var(--rl-line);
  }
  body.fcte-v5 .resident-domain-tab{
    flex:0 0 auto;
    grid-template-columns:24px auto;
    width:auto;
    min-width:max-content;
    min-height:54px;
    padding:11px 14px;
    white-space:nowrap;
  }
  body.fcte-v5 .resident-domain-panel{
    min-height:0;
    margin-top:12px;
    padding:20px 18px;
  }
  body.fcte-v5 .resident-domain-panel-top b{
    display:none;
  }
  body.fcte-v5 .resident-domain-panel-body{
    display:block;
  }
  body.fcte-v5 .resident-domain-panel-note{
    margin-top:20px;
  }
  body.fcte-v5 .resident-domain-actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.fcte-v5 .resident-domain-actions .btn{
    width:100%;
  }
  body.fcte-v5 .resident-domain-link{
    display:block;
    padding:10px 0;
  }
}
body.fcte-v5 .resident-life-use-section{background:var(--rl-deep);color:#fff}
body.fcte-v5 .resident-life-use-section .resident-life-section-head h2{color:#fff}
body.fcte-v5 .resident-life-use-section .resident-life-section-head p{color:#b8cbce}
body.fcte-v5 .resident-use-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;border-top:1px solid #31505a;border-left:1px solid #31505a}
body.fcte-v5 .resident-use-grid article{min-height:230px;padding:22px;border-right:1px solid #31505a;border-bottom:1px solid #31505a;background:#0a202b;border-radius:0}
body.fcte-v5 .resident-use-grid article>span{color:var(--rl-mint);font:900 14px/1 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-use-grid h3{margin:16px 0 0;color:#fff;font-size:19.0px;line-height:1.2;font-weight:650}
body.fcte-v5 .resident-use-grid p{margin:10px 0 0;color:#a9bdc1;font-size:14px;line-height:1.55}

body.fcte-v5 .resident-life-boundary-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:48px;align-items:start}
body.fcte-v5 .resident-life-boundary-grid>div>p{color:var(--rl-muted);font-size:15.0px;line-height:1.65}
body.fcte-v5 .resident-life-boundary-points{border-top:1px solid var(--rl-line)}
body.fcte-v5 .resident-life-boundary-points>div{padding:16px 0;border-bottom:1px solid var(--rl-line)}
body.fcte-v5 .resident-life-boundary-points small{color:var(--rl-teal);font:900 14px/1.2 var(--fd-mono,ui-monospace,monospace)}
body.fcte-v5 .resident-life-boundary-points strong{display:block;margin-top:5px;color:var(--rl-ink);font-size:16.0px;font-weight:650}
body.fcte-v5 .resident-life-boundary-points span{display:block;margin-top:4px;color:var(--rl-muted);font-size:14px;line-height:1.45}
body.fcte-v5 .resident-life-final{padding:58px 0;background:var(--rl-deep)}
body.fcte-v5 .resident-life-final>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}
body.fcte-v5 .resident-life-final h2{max-width:760px;margin-top:10px;color:#fff}
body.fcte-v5 .resident-life-final p{max-width:700px;color:#b8cbce;font-size:14.5px;line-height:1.6}
body.fcte-v5 .resident-life-final-actions{display:flex;flex-direction:column;gap:8px;min-width:220px}
body.fcte-v5 .resident-life-final-actions .btn{width:100%}

@media(max-width:900px){
  body.fcte-v5 .resident-life-hero-grid,body.fcte-v5 .resident-timeline-layout,body.fcte-v5 .resident-life-boundary-grid{grid-template-columns:1fr}
  body.fcte-v5 .resident-life-hero-rail,body.fcte-v5 .resident-use-grid,body.fcte-v5 .resident-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  body.fcte-v5 .resident-life-main .wrap,body.fcte-v5 .resident-launch-section .wrap{width:calc(100% - 36px)}
  body.fcte-v5 .resident-life-hero{padding-top:54px}
  body.fcte-v5 .resident-life-hero h1{font-size:46.0px}
  body.fcte-v5 .resident-launch-primary,body.fcte-v5 .resident-life-final>.wrap{grid-template-columns:1fr}
  body.fcte-v5 .resident-launch-grid,body.fcte-v5 .resident-profile-selector,body.fcte-v5 .resident-domain-grid,body.fcte-v5 .resident-life-hero-rail,body.fcte-v5 .resident-use-grid{grid-template-columns:1fr}
  body.fcte-v5 .resident-life-section,body.fcte-v5 .resident-launch-section{padding:58px 0}
  body.fcte-v5 .resident-life-event{grid-template-columns:54px 28px minmax(0,1fr)}
}


/* ============================================================================
   V28 RESIDENT LIFE HERO CLEANUP
   Remove redundant "Illustrative composite" side panel and let the hero breathe.
   ============================================================================ */

body.fcte-v5 .resident-life-hero-grid-single{
  grid-template-columns:minmax(0,1fr) ;
  gap:0 ;
}

body.fcte-v5 .resident-life-hero-grid-single>div{
  max-width:860px ;
}

body.fcte-v5 .resident-life-hero-grid-single h1{
  max-width:820px ;
}

body.fcte-v5 .resident-life-hero-grid-single p{
  max-width:760px ;
}

body.fcte-v5 .resident-life-principle{
  display:none ;
}


/* ============================================================================
   V29 RESIDENT LIFE — final CTA belongs inside the white boundary section.
   ============================================================================ */

body.fcte-v5 .resident-life-boundary-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:36px;
  align-items:end;
  margin-top:42px;
  padding:30px 0 0;
  border-top:1px solid var(--rl-line);
  background:transparent;
}

body.fcte-v5 .resident-life-boundary-cta .eyebrow{
  color:var(--rl-teal) ;
}

body.fcte-v5 .resident-life-boundary-cta h2{
  max-width:760px;
  margin-top:10px;
  color:var(--rl-ink) ;
}

body.fcte-v5 .resident-life-boundary-cta p{
  max-width:700px;
  margin:12px 0 0;
  color:var(--rl-muted) ;
  font-size:14.5px;
  line-height:1.6;
}

body.fcte-v5 .resident-life-boundary-cta .resident-life-final-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:220px;
}

body.fcte-v5 .resident-life-boundary-cta .resident-life-final-actions .btn{
  width:100%;
}

body.fcte-v5 .resident-life-boundary-cta .btn-ghost{
  color:var(--rl-ink) ;
  border-color:var(--rl-line) ;
  background:#fff ;
}

@media(max-width:700px){
  body.fcte-v5 .resident-life-boundary-cta{
    grid-template-columns:1fr;
    gap:22px;
    margin-top:32px;
    padding-top:24px;
  }

  body.fcte-v5 .resident-life-boundary-cta .resident-life-final-actions{
    min-width:0;
    width:100%;
  }
}

/* source: assets/subsection-typography.css */
/* ============================================================================
   FCTE SITE-WIDE SECTION TYPOGRAPHY
   Reference hierarchy: use-governance.html
   Loaded LAST on every HTML page.
   ============================================================================ */

:root{
  --fcte-section-heading-size:clamp(34px,4.5vw,52px);
  --fcte-section-heading-weight:900;
  --fcte-section-heading-line:1.02;
  --fcte-section-heading-tracking:-.045em;

  --fcte-subsection-heading-size:24px;
  --fcte-subsection-heading-weight:900;
  --fcte-subsection-heading-line:1.15;
  --fcte-subsection-heading-tracking:-.02em;
}

/* True section headings — same scale and weight as Governance section heads. */
.fcte-section-heading{
  font-size:var(--fcte-section-heading-size) ;
  font-weight:var(--fcte-section-heading-weight) ;
  line-height:var(--fcte-section-heading-line) ;
  letter-spacing:var(--fcte-section-heading-tracking) ;
}

/* True h3 subsection headings — same strong 24px/900 hierarchy used by the
   Governance boundary and subsection panels. Card titles remain untouched. */
.fcte-subsection-heading{
  font-size:var(--fcte-subsection-heading-size) ;
  font-weight:var(--fcte-subsection-heading-weight) ;
  line-height:var(--fcte-subsection-heading-line) ;
  letter-spacing:var(--fcte-subsection-heading-tracking) ;
}

@media(max-width:760px){
  :root{
    --fcte-section-heading-size:32px;
    --fcte-subsection-heading-size:21px;
  }
}

/* source: assets/site-ui-contract.css */
/* ============================================================================
   FCTE SITE UI CONTRACT V22
   TABLES: no wrapped cell content; scroll inside table container.
   CARDS/TABLES: square corners.
   CTAS: one shared height/padding geometry.
   Loaded LAST on every HTML page.
   ============================================================================ */

:root{
  --fcte-ui-line:#bfd2cf;
  --fcte-ui-cta-min-height:44px;
  --fcte-ui-cta-pad-y:11px;
  --fcte-ui-cta-pad-x:18px;
}

/* --------------------------------------------------------------------------
   TABLES — never wrap cell contents.
   -------------------------------------------------------------------------- */

.fcte-table-scroll{
  display:block ;
  width:100% ;
  max-width:100% ;
  max-height:min(72vh,720px) ;
  margin-left:0 ;
  margin-right:0 ;
  overflow:auto ;
  overflow-x:auto ;
  overflow-y:auto ;
  overscroll-behavior:contain ;
  -webkit-overflow-scrolling:touch ;
  scrollbar-gutter:stable ;
  border-radius:0 ;
  box-sizing:border-box ;
}

.fcte-nowrap-table{
  width:max-content ;
  min-width:100% ;
  max-width:none ;
  table-layout:auto ;
  border-radius:0 ;
}

.fcte-nowrap-table th,
.fcte-nowrap-table td{
  white-space:nowrap ;
  word-break:normal ;
  overflow-wrap:normal ;
  hyphens:none ;
}

/* Any nested table shells also remain square. */
table,
thead,
tbody,
tfoot,
tr,
th,
td,
.tablewrap,
.live-table-wrap,
.modifier-table-wrap,
.ver-table-wrap,
.ds-table-wrap,
.ds-aiml-preview-wrap,
.compare-table-wrap,
.access-buyer-table-wrap,
.fcte-table-scroll{
  border-radius:0 ;
}

/* --------------------------------------------------------------------------
   CARDS / PANELS / TILES — square corners site-wide.
   This deliberately overrides historical rounded-card experiments.
   -------------------------------------------------------------------------- */

article,
[class*="card"],
[class*="Card"],
[class*="tile"],
[class*="Tile"],
[class*="panel"],
[class*="Panel"],
.quickstart-card,
.domain-access-card,
.enterprise-brief-card,
.public-assurance-card,
.story-card,
.realism-card,
.modifier-card,
.mech-card,
.doc-card,
.source-card,
.boundary-card,
.lineage-card,
.cap-card,
.score-card,
.layer-card,
.spoke-card,
.tier-card,
.outcome-card,
.citytwin-card,
.access-buyer-fit-card,
.access-domain-picker-card{
  border-radius:0 ;
}

/* Preserve circular/pill semantics where they are not cards. */
.badge,
.pill,
[class*="badge"],
[class*="pill"],
.ds-dataset-certified-badge,
.ds-domain-status-badge{
  /* status indicators remain badges; not part of the card rule */
}

/* --------------------------------------------------------------------------
   CTAs — consistent padding/height, square edges, content centered.
   Color variants remain owned by each page/component.
   -------------------------------------------------------------------------- */

.btn,
a.btn,
button.btn,
.btn-primary,
.btn-ghost,
.panel-card-cta,
.access-buyer-card-cta,
.uc-cta,
.cta-link,
.da-card-primary,
.ds-market-download,
.ds-market-secondary,
.ds-market-license-link,
.ds-download-btn,
.audit-download-btn,
.fcte-pricing-pdf-badge,
.verify-scope-btn,
.pager-btn,
.quickstart-pager-btn{
  display:inline-flex ;
  align-items:center ;
  justify-content:center ;
  min-height:var(--fcte-ui-cta-min-height) ;
  padding:
    var(--fcte-ui-cta-pad-y)
    var(--fcte-ui-cta-pad-x) ;
  border-radius:0 ;
  box-sizing:border-box ;
  line-height:1.2 ;
  text-align:center ;
  text-decoration:none ;
}

/* Compact link-style CTAs retain their role but receive breathing room. */
.go,
.inline-link,
.quickstart-sample-link,
.domain-nav-all,
.proof-shortcut{
  border-radius:0 ;
}

/* Single visual contract for the bottom CTA panel on every page — page-specific rules
   elsewhere may repeat these values, but no page should render this box unstyled. */
.cta-panel{
  text-align:center;
  background:color-mix(in srgb, var(--accent) 7%, var(--panel));
  border:1px solid var(--line);
  border-radius:16px;
  padding:56px 32px;
}
.cta-panel h2{
  font-size:clamp(24px, 3.4vw, 34px);
  font-weight:650;
}
.cta-panel p{
  color:var(--ink-2);
  margin-top:12px;
}
.cta-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:26px;
  flex-wrap:wrap;
}

/* CTA containers should never press content against their edge. */
.cta-panel,
.final-cta-band,
.access-buyer-final,
.ds-market-bottom-cta,
.ds-license-primary,
.domain-access-actions,
.quickstart-card-actions,
.panel-card-actions{
  box-sizing:border-box ;
}

/* Keep established responsive behavior while preserving all-side padding. */
@media(max-width:760px){
  .btn,
  a.btn,
  button.btn,
  .btn-primary,
  .btn-ghost,
  .panel-card-cta,
  .access-buyer-card-cta,
  .uc-cta,
  .cta-link,
  .da-card-primary,
  .ds-market-download,
  .ds-market-secondary,
  .ds-market-license-link,
  .ds-download-btn,
  .audit-download-btn,
  .fcte-pricing-pdf-badge,
  .verify-scope-btn,
  .pager-btn,
  .quickstart-pager-btn{
    min-height:44px ;
    padding:11px 16px ;
  }

  .fcte-table-scroll{
    max-height:68vh ;
  }
}


/* ============================================================================
   V23 TABLE RENDERING FIX
   Dynamic tables must obey the same contract as static tables.
   ============================================================================ */

/* Any recognized table container becomes the scroll boundary, including
   dynamically generated components such as .qx-table-wrap. */
[class*="table-wrap"],
[class*="tablewrap"],
[class*="table-scroll"],
.table-overflow,
.responsive-table-wrap,
.qx-table-wrap,
.entity-table-wrap,
.audit-table-scroll,
.city-table-scroll,
.fcte-table-scroll{
  display:block ;
  width:100% ;
  max-width:100% ;
  overflow:auto ;
  overflow-x:auto ;
  overflow-y:auto ;
  overscroll-behavior:contain ;
  -webkit-overflow-scrolling:touch ;
  scrollbar-gutter:stable ;
  border-radius:0 ;
  box-sizing:border-box ;
}

/* Tables size themselves to their content. The container scrolls instead of
   squeezing values into narrow columns. */
table{
  width:max-content ;
  min-width:100% ;
  max-width:none ;
  table-layout:auto ;
  border-radius:0 ;
}

/* Universal no-wrap rule: applies to static AND dynamically generated tables. */
table th,
table td{
  white-space:nowrap ;
  word-break:normal ;
  overflow-wrap:normal ;
  hyphens:none ;
}

/* Table DATA uses a different face from the rest of the site.
   Headers retain each page's existing technical/mono treatment. */
table tbody td{
  font-family:"Trebuchet MS", Arial, Helvetica, sans-serif ;
  font-variant-numeric:tabular-nums ;
}

/* Keep table header styling distinct and technical. */
table thead th{
  font-family:var(--fd-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace) ;
}

/* Explicitly kill rounded corners on common dynamically generated table shells. */
.qx-table,
.qx-table-wrap,
.ds-table,
.ds-table-wrap,
.ds-aiml-preview-table,
.ds-aiml-preview-wrap,
.city-table,
.city-table-wrap,
.entity-table,
.entity-table-wrap,
.audit-table,
.audit-table-wrap,
.audit-table-scroll,
.live-table,
.live-table-wrap,
.modifier-table,
.modifier-table-wrap,
.ver-table,
.ver-table-wrap{
  border-radius:0 ;
}


/* ============================================================================
   V31 AUDIT KPI VALUE FIX
   Status values such as CONTROLLED must remain a single line.
   ============================================================================ */

body.page-family-audit-detail .audit-stat .v,
body.page-family-audits-index .audit-stat .v{
  white-space:nowrap ;
  word-break:keep-all ;
  overflow-wrap:normal ;
  hyphens:none ;
}

body.page-family-audit-detail .audit-stat-status .v,
body.page-family-audits-index .audit-stat-status .v{
  font-size:clamp(18px,2vw,24px) ;
  letter-spacing:-.025em ;
}

body.page-family-audit-detail .audit-stat-status,
body.page-family-audits-index .audit-stat-status{
  min-width:0 ;
}

@media(max-width:760px){
  body.page-family-audit-detail .audit-stat-status .v,
  body.page-family-audits-index .audit-stat-status .v{
    font-size:20.0px ;
  }
}

/* source: assets/cart-nav.css */

/* ============================================================================
   FCTE V36 — GLOBAL E-COMMERCE QUOTE CART
   ============================================================================ */

.fcte-cart-nav-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 10px;
  border:0;
  border-left:1px solid #d8e4e2;
  border-radius:0;
  background:transparent;
  color:#294f56;
  font:800 14px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
}

.premium-city-header .fcte-cart-nav-button{
  border-left-color:#d8e4e2;
}

.fcte-cart-nav-button:hover,
.fcte-cart-nav-button:focus-visible{
  background:#eef6f4;
  color:#087d77;
}

.fcte-cart-nav-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:block;
}

.fcte-cart-nav-label{
  white-space:nowrap;
}

.fcte-cart-nav-count{
  display:grid;
  place-items:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  background:#0b948a;
  color:#fff;
  font:900 14px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
}

.fcte-cart-nav-count.is-empty{
  background:#d8e4e2;
  color:#4f6b70;
}

.fcte-cart-overlay{
  position:fixed;
  inset:0;
  z-index:10020;
  background:rgba(4,20,28,.62);
}

.fcte-cart-overlay[hidden],
.fcte-cart-drawer[hidden]{
  display:none;
}

.fcte-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:10021;
  display:flex;
  flex-direction:column;
  width:min(440px,100vw);
  height:100vh;
  border-left:1px solid #9ebbb7;
  background:#f7fbfa;
  box-shadow:-20px 0 50px rgba(2,22,29,.18);
}

body.fcte-cart-open{
  overflow:hidden;
}

.fcte-cart-drawer-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
  padding:22px 22px 18px;
  border-bottom:1px solid #c9dbd8;
  background:#fff;
}

.fcte-cart-drawer-eyebrow{
  display:block;
  color:#0b948a;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fcte-cart-drawer-head h2{
  margin:6px 0 0;
  color:#103f46;
  font:900 25.0px/1.05 Arial,Helvetica,sans-serif;
  letter-spacing:-.035em;
}

.fcte-cart-drawer-head p{
  margin:7px 0 0;
  color:#6d8286;
  font:500 14px/1.45 Arial,Helvetica,sans-serif;
}

.fcte-cart-drawer-close{
  min-height:38px;
  padding:8px 10px;
  border:1px solid #bdd2cf;
  border-radius:0;
  background:#fff;
  color:#4a696f;
  font:900 14px/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
}

.fcte-cart-drawer-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:0 22px;
}

.fcte-cart-mini-empty{
  padding:34px 0;
  border-bottom:1px solid #d5e3e1;
}

.fcte-cart-mini-empty strong{
  display:block;
  color:#103f46;
  font:900 16.0px/1.2 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-empty span{
  display:block;
  margin-top:6px;
  color:#6f8387;
  font:500 14px/1.5 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:15px;
  padding:20px 0;
  border-bottom:1px solid #d5e3e1;
  background:transparent;
  border-radius:0;
}

.fcte-cart-mini-item-meta{
  min-width:0;
}

.fcte-cart-mini-item-meta small{
  display:block;
  color:#688087;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.fcte-cart-mini-item-meta strong{
  display:block;
  margin-top:5px;
  color:#103f46;
  font:900 16.0px/1.18 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-item-meta span{
  display:block;
  margin-top:4px;
  color:#6d8387;
  font:500 14px/1.4 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-tier{
  margin-top:11px;
}

.fcte-cart-mini-tier label{
  display:block;
  margin-bottom:5px;
  color:#6d8387;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-transform:uppercase;
}

.fcte-cart-mini-tier select{
  width:100%;
  min-height:38px;
  padding:7px 9px;
  border:1px solid #abc6c2;
  border-radius:0;
  background:#fff;
  color:#103f46;
  font:800 14px/1.2 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-item-price{
  min-width:90px;
  text-align:right;
}

.fcte-cart-mini-item-price strong{
  display:block;
  color:#103f46;
  white-space:nowrap;
  font:900 16.0px/1.1 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-remove{
  margin-top:9px;
  padding:0;
  border:0;
  background:transparent;
  color:#a05231;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  cursor:pointer;
}

.fcte-cart-mini-warning{
  margin:18px 0;
  padding:14px 15px;
  border-left:4px solid #c78621;
  background:#fbf4e5;
  color:#675f50;
  font:600 14px/1.45 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-warning strong{
  display:block;
  margin-bottom:4px;
  color:#103f46;
  font-size:14px;
  font-weight:650;
}

.fcte-cart-drawer-foot{
  flex:0 0 auto;
  padding:18px 22px 22px;
  border-top:1px solid #c9dbd8;
  background:#fff;
}

.fcte-cart-mini-total{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
}

.fcte-cart-mini-total div small{
  display:block;
  color:#688087;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-transform:uppercase;
}

.fcte-cart-mini-total div span{
  display:block;
  margin-top:4px;
  color:#728589;
  font:500 14px/1.35 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-total strong{
  color:#103f46;
  white-space:nowrap;
  font:900 25.0px/1 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:16px;
}

.fcte-cart-mini-actions a,
.fcte-cart-mini-actions button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 14px;
  border-radius:0;
  text-decoration:none;
  cursor:pointer;
  font:900 14px/1.2 Arial,Helvetica,sans-serif;
}

.fcte-cart-mini-checkout{
  border:1px solid #0b5d61;
  background:#0b5d61;
  color:#fff;
}

.fcte-cart-mini-shop{
  border:1px solid #a8c4c0;
  background:#fff;
  color:#294f56;
}

.fcte-cart-mini-clear{
  margin-top:12px;
  width:100%;
  padding:7px 0;
  border:0;
  background:transparent;
  color:#7b8d90;
  font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  cursor:pointer;
}

@media(max-width:980px){
  .pch-global-nav .fcte-cart-nav-label,
  .global-nav .fcte-cart-nav-label{
    display:none;
  }
  .fcte-cart-nav-button{
    padding-inline:8px;
  }
}

@media(max-width:700px){
  .fcte-cart-drawer{
    width:100vw;
    border-left:0;
  }
  .fcte-cart-drawer-head,
  .fcte-cart-drawer-body,
  .fcte-cart-drawer-foot{
    padding-left:18px;
    padding-right:18px;
  }
}

.fcte-cart-mini-tier strong{display:block;color:#103f46;font:900 14px/1.3 Arial,Helvetica,sans-serif}
.fcte-cart-mini-tier span{display:block;margin-top:5px;color:#6d8387;font:500 14px/1.4 Arial,Helvetica,sans-serif}
.fcte-cart-mini-tier a{display:inline-block;margin-top:7px;color:#087d77;font:900 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-decoration:none}

/* source: assets/mobile-hardening-v149.css */
/* FCTE V149 · SITE-WIDE MOBILE HARDENING
   Mobile/tablet only. Desktop composition and commerce 1040px width are untouched. */

html{box-sizing:border-box;-webkit-text-size-adjust:100%}
*,*:before,*:after{box-sizing:inherit}
img,svg,video,canvas{max-width:100%}
img,video{height:auto}
iframe{max-width:100%}
pre,code,.verify-code,.code-block{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.responsive-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1024px){
  :root{--fcte-mobile-gutter:20px}
  body{min-width:0;overflow-x:hidden}
  .wrap,.pch-global,.page-shell,.content-shell,.access-shell{min-width:0}
  .global-header .wrap,.premium-city-header .pch-global{position:relative}
  .global-header .brand,.premium-city-header .pch-brand{white-space:nowrap}

  /* Mobile nav helper activated by responsive-site.js. */
  .responsive-nav-toggle{flex:0 0 auto}
  .global-nav.responsive-nav-panel,.pch-global-nav.responsive-nav-panel{z-index:1005}
  body.responsive-nav-open{overflow:hidden}

  /* Common wide controls become horizontally scrollable rather than clipped. */
  .domain-hero-badges,.toc,.twin-widget-tabs,.city-section-nav,.audit-sequence,
  .domain-nav .wrap,.pricing-anchor-nav .wrap,.extras-flow,.domain-flow,
  .access-tabs,.data-tabs,.filter-tabs,.dataset-tabs,.release-tabs{
    max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin
  }
  .extras-flow,.domain-flow{justify-content:flex-start;flex-wrap:nowrap;padding-bottom:3px}
  .extras-flow-step,.domain-flow-step{flex:0 0 auto;white-space:nowrap}

  /* Generic grids. */
  .grid.c4,.grid.c5,.grid.c6,.footer-grid,.pricing-value-grid,.commercial-grid,
  .evidence-grid,.audit-grid,.cert-grid,.domain-grid,.release-grid,.metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  /* Avoid long headings forcing overflow. */
  h1,h2,h3,.v5-page-title,.fcte-section-heading{
    overflow-wrap:normal;word-break:normal;hyphens:none
  }

  /* Cart / checkout / overlays. */
  .fcte-cart-mini,.fcte-cart-drawer{max-width:min(440px,calc(100vw - 24px))}
  .access-checkout-shell{width:min(100%,960px)}
  .access-checkout-grid{grid-template-columns:1fr}
  .access-checkout-modal{padding:18px}

  /* Data / charts should never force the page wider. */
  .chart,.chart-wrap,.chart-shell,.visual,.visual-wrap,.map-wrap,.diagram,.diagram-wrap,
  .sample-chart,.dataset-chart,.pareto-chart{max-width:100%;overflow:hidden}
}

@media(max-width:760px){
  :root{--fcte-mobile-gutter:16px}

  /* Standard horizontal gutters. */
  body.fcte-v5 .wrap,body.fidelra-fcte .wrap,
  .domain-shop-wrap,.extras-wrap,.review117-wrap,
  .pricing-hero .wrap,.pricing-anchor-nav .wrap{
    width:100%;max-width:none;padding-left:16px;padding-right:16px
  }

  /* Header and navigation. */
  .global-header .wrap,.premium-city-header .pch-global{min-height:58px;padding-left:16px;padding-right:16px}
  .global-header .brand,.premium-city-header .pch-brand{font-size:14px}
  .responsive-nav-toggle{min-width:44px;min-height:44px}
  .global-nav.responsive-nav-panel,.pch-global-nav.responsive-nav-panel{
    left:16px;right:16px;width:auto;max-height:calc(100dvh - 70px);overflow:auto
  }

  /* Hero layouts. */
  .hero-grid,.gateway-premium-grid,.pricing-hero-grid,.domain-title-grid,.extras103-hero-grid,
  .review117-hero-grid,.access-hero-grid,.domain-hero-grid,.city-hero-grid{
    grid-template-columns:1fr;gap:24px
  }
  .page-hero,.pricing-hero,.domain-shop-intro,.extras-intro,.review117-hero{padding-top:34px;padding-bottom:34px}
  .v5-page-title,.pricing-hero .v5-page-title,.domain-title-grid h1,.extras103-hero-copy h1,.review117-hero-copy h1{
    max-width:none;font-size:clamp(38px,11vw,50px);line-height:.98;letter-spacing:-.045em
  }
  .lead,.pricing-hero .lead,.domain-title-grid>div>p,.extras103-hero-copy>p,.review117-hero-copy>p{
    max-width:none;font-size:15.0px;line-height:1.55
  }

  /* All common multi-column layouts collapse. */
  .grid.c2,.grid.c3,.grid.c4,.grid.c5,.grid.c6,.footer-grid,.pricing-value-shell,.pricing-value-grid,
  .fcte-compare-grid,.review117-benefit-grid,.review118-delivery-grid,.review-commercial-grid,
  .extras-city-scope,.domain-title-grid,.domain-detail-card,.domain-inline-package,
  .package-impact-grid,.access-package-shortcut,.access-cart-item,.access-cart-footer,
  .access-cart-scope-warning,.access-checkout-grid,.section-head,.review117-section-head{
    grid-template-columns:1fr
  }

  /* Cards/buttons. */
  .btn,button,[role="button"],input[type="submit"],input[type="button"]{min-height:44px}
  .final-cta-row,.tc-cta-row,.review117-final-actions,.extras103-bottom-actions,.package-actions{
    flex-wrap:wrap;gap:10px
  }
  .final-cta-row .btn,.review117-final-actions .btn,.extras103-bottom-actions .btn,
  .package-actions button{width:100%;justify-content:center}

  /* Pricing. */
  .pricing-context-bar{grid-template-columns:1fr;gap:10px}
  .pricing-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricing142-hero-actions{align-items:stretch}
  .pricing142-hero-actions .btn{width:100%;justify-content:center}
  .tier-grid,.pricing-grid{grid-template-columns:1fr}

  /* Domain builder. */
  .domain-city-options{grid-template-columns:1fr 1fr}
  .domain-category-tabs{display:flex;overflow-x:auto;gap:6px;padding-bottom:4px}
  .domain-category-tab{flex:0 0 180px;min-height:64px}
  .domain-browser-navigation{grid-template-columns:1fr auto 1fr;gap:8px}
  .domain-browser-navigation button{min-width:0;padding-left:10px;padding-right:10px}
  .domain-detail-card{display:block}
  .domain-visual-panel,.domain-detail-content{width:100%;min-width:0}
  .domain-detail-content{padding:24px 18px}
  .domain-detail-content h2{font-size:clamp(36px,11vw,48px)}
  .domain-benefit-grid{grid-template-columns:1fr;gap:14px}
  .domain-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .domain-scale-hero{min-height:0}
  .package-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .package-selected-grid{grid-template-columns:1fr}
  .package-price-inline{grid-template-columns:1fr;gap:14px;text-align:left}

  /* Extras. */
  .extras103-hero-visual{max-width:520px;margin-left:auto;margin-right:auto}
  .extras-city-scope{grid-template-columns:1fr;padding:14px}
  .extras-city-choices{justify-content:flex-start}
  .extras-city-choice,.extras-city-add{flex:1 1 145px;min-width:0}
  .extras-menu-grid,.extras-browser-grid,.extras-product-grid,.extras100-product-main,
  .extras100-outcome-grid,.extras100-impact-grid,.extras100-before-after-grid{
    grid-template-columns:1fr
  }
  .extras-review-guide{grid-template-columns:1fr;gap:16px}
  .extras-review-guide-cta{width:100%}

  /* Review. */
  .review117-hero-grid{grid-template-columns:1fr}
  .review117-summary{width:100%;max-width:none}
  .review117-hero-benefits{grid-template-columns:1fr;gap:12px}
  .review139-city-header{grid-template-columns:1fr auto;gap:10px 16px}
  .review139-city-header>div{min-width:0}
  .review139-city-header>strong{align-self:end}
  .review-receive-card{grid-template-columns:1fr;gap:14px}
  .review-receive-card ul,.review-receive-footer{margin-left:0}
  .review-line-remove{position:absolute;right:0;top:18px}
  .review127-inline-action{grid-template-columns:1fr;gap:14px}
  .review127-inline-spacer{display:none}
  .review127-submit{width:100%}

  /* Checkout. */
  .access-checkout-modal{padding:0;align-items:stretch}
  .access-checkout-shell{width:100%;min-height:100dvh;max-height:none;border:0}
  .access-checkout-head{grid-template-columns:1fr auto;padding:20px 16px}
  .access-checkout-head h2{font-size:28.0px}
  .access-checkout-grid{padding:18px 16px 28px;gap:22px}
  .access-checkout-item-lines{grid-template-columns:1fr}
  .access-checkout-detail{grid-template-columns:54px 74px minmax(0,1fr)}
  .access-checkout-form{padding:18px}
  .access-checkout-form input,.access-checkout-form textarea{font-size:16.0px}

  /* City / evidence / release pages. */
  .section-head{gap:12px}
  .domain-hero-badges,.toc,.city-section-nav,.audit-sequence{margin-right:-16px;padding-right:16px}
  .grid.c4,.grid.c5,.grid.c6,.footer-grid,.evidence-grid,.audit-grid,.cert-grid,.domain-grid,.release-grid,.metric-grid{
    grid-template-columns:1fr
  }
  .footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .footer-grid{gap:28px}

  /* Tables/data. */
  .responsive-table-wrap{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .responsive-table-wrap table{min-width:620px}
  table{font-size:14px}
}

@media(max-width:480px){
  :root{--fcte-mobile-gutter:14px}
  body.fcte-v5 .wrap,body.fidelra-fcte .wrap,.domain-shop-wrap,.extras-wrap,.review117-wrap,
  .pricing-hero .wrap,.pricing-anchor-nav .wrap{padding-left:14px;padding-right:14px}
  .global-header .wrap,.premium-city-header .pch-global{padding-left:14px;padding-right:14px}
  .global-nav.responsive-nav-panel,.pch-global-nav.responsive-nav-panel{left:14px;right:14px}
  .pricing-kpi-strip,.domain-kpi-grid,.package-impact-grid{grid-template-columns:1fr}
  .domain-city-options{grid-template-columns:1fr}
  .domain-browser-navigation{grid-template-columns:1fr 1fr}
  .domain-browser-navigation .domain-browser-count{grid-column:1/-1;grid-row:1;text-align:center}
  .review139-city-header{grid-template-columns:1fr}
  .review139-city-header>strong{text-align:left}
  .access-checkout-detail{grid-template-columns:1fr;gap:2px;padding:8px 0}
  .access-checkout-detail-city{font-size:14px}
  .responsive-table-wrap{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}
}

/* source: assets/mobile-hardening-v150.css */
/* FCTE V150 · SECOND MOBILE AUDIT
   Narrow-screen refinement only. Desktop compositions and locked commerce widths are untouched. */

@media (max-width:1024px){
  /* Mobile navigation: normalize both City Twin and Domain dropdowns inside the hamburger panel. */
  body.fcte-v5 .global-nav.responsive-nav-panel details,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel details{
    position:static;width:100%;margin:0;border:0;background:transparent;
  }
  body.fcte-v5 .global-nav.responsive-nav-panel details>summary,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel details>summary{
    display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;
    padding:11px 12px;border:0;border-bottom:1px solid #edf2f1;background:transparent;color:#163a42;
    font-size:14px;font-weight:650;list-style:none;cursor:pointer;
  }
  body.fcte-v5 .global-nav.responsive-nav-panel details>summary::-webkit-details-marker,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel details>summary::-webkit-details-marker{display:none}
  body.fcte-v5 .global-nav.responsive-nav-panel :is(.fidelra-domain-menu-panel,.fidelra-city-menu-panel,.home-city-nav-panel),
  body.fcte-v5 .pch-global-nav.responsive-nav-panel :is(.fidelra-domain-menu-panel,.fidelra-city-menu-panel,.home-city-nav-panel),
  body.fcte-v5 .global-nav.responsive-nav-panel .fcte-domains-menu-mount,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fcte-domains-menu-mount{
    position:static;inset:auto;transform:none;width:100%;min-width:0;max-width:none;max-height:none;
    margin:0 0 7px;padding:5px 0;border:0;border-left:2px solid #dce9e7;border-radius:0;
    box-shadow:none;background:#f7faf9;overflow:visible;
  }
  body.fcte-v5 .global-nav.responsive-nav-panel .fcte-domains-menu-mount :is(.domain-menu-grid,.domains-menu-grid,.menu-grid),
  body.fcte-v5 .pch-global-nav.responsive-nav-panel .fcte-domains-menu-mount :is(.domain-menu-grid,.domains-menu-grid,.menu-grid){grid-template-columns:1fr;gap:0}
  body.fcte-v5 .global-nav.responsive-nav-panel details a,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel details a{max-width:100%;white-space:normal;overflow-wrap:anywhere}

  /* Known wide visual/data regions are scroll-contained instead of widening the viewport. */
  body.fcte-v5 :is(.network-wrap,.domain-tree-wrap,.diagram-wrap,.fcte-table-scroll,.compare-table-wrap,.ds-table-wrap,.ds-aiml-preview-wrap,.ds-health-chart-stage,.ds-health-chart-block,.ds-horizontal-rail,.audit-table-scroll,.city-source-table-wrap){
    max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;
  }
  body.fcte-v5 :is(.network-wrap,.fcte-table-scroll,.compare-table-wrap,.ds-table-wrap,.ds-aiml-preview-wrap,.ds-health-chart-stage,.audit-table-scroll){scrollbar-width:thin}

  /* Keep drawer/popup layers inside the viewport, including iOS safe-area edges. */
  .fcte-cart-mini,.fcte-cart-drawer{
    max-width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;
  }
  body.fcte-v5 .modal,body.fcte-v5 [role="dialog"]{max-width:calc(100vw - 24px)}
}

@media (max-width:760px){
  /* Prevent iOS input zoom and make touch controls comfortably tappable. */
  body.fcte-v5 :is(input,select,textarea){font-size:16.0px;max-width:100%}
  body.fcte-v5 :is(button,.btn,[role="button"],summary){touch-action:manipulation}
  body.fcte-v5 details>summary{min-height:44px}

  /* HOME — second-pass phone composition. */
  body.page-home .home-map-hero-grid{grid-template-columns:1fr;gap:24px}
  body.page-home .home-hero-title{max-width:100%;font-size:clamp(40px,11vw,52px);line-height:.98}
  body.page-home .home-map-visual{width:100%;max-width:560px;margin:0 auto;min-width:0}
  body.page-home .home-africa-map{width:100%;height:auto;max-height:500px}
  body.page-home .home-map-legend{display:flex;flex-wrap:wrap;gap:8px 14px}
  body.page-home .home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-home .launch-city-grid,body.page-home .journey-grid,body.page-home .usecase-grid{grid-template-columns:1fr}
  body.page-home .find-start-actions{display:grid;grid-template-columns:1fr;gap:10px}
  body.page-home .find-start-actions .btn{width:100%;justify-content:center}
  body.page-home .thesis-row{grid-template-columns:1fr}

  /* CITY TWIN catalogue / marketing. */
  body.page-city-twins .gateway-premium-grid{grid-template-columns:1fr;gap:24px}
  body.page-city-twins .gateway-network{width:100%;max-width:560px;margin-inline:auto}
  body.page-city-twins .gateway-africa-map{width:100%;height:auto;max-height:500px}
  body.page-city-twins .city-grid,body.page-city-twins .live-city-grid{grid-template-columns:1fr}
  body.page-city-twins .city-card-actions,body.page-city-twins .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  body.page-city-twins .city-card-actions .btn,body.page-city-twins .hero-actions .btn{width:100%;justify-content:center}

  /* DATA — compact explorer controls and contain large previews/charts. */
  body.page-family-data .da-hero-grid,
  body.page-family-data .ds-market-two-col,
  body.page-family-data .ds-overview-metric-grid,
  body.page-family-data .ds-overview-card-grid,
  body.page-family-data .ds-research-grid,
  body.page-family-data .ds-feature-role-grid,
  body.page-family-data .da-assurance-summary,
  body.page-family-data .da-provenance-dashboard{grid-template-columns:1fr}
  body.page-family-data :is(.da-explorer-tabs,.ds-domain-switcher,.ds-sample-mode-tabs,.ds-column-groups,.da-city-tabs){
    max-width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;
  }
  body.page-family-data :is(.da-explorer-tabs>*,.ds-sample-mode-tabs>*,.da-city-tabs>*){flex:0 0 auto;white-space:nowrap}
  body.page-family-data .ds-domain-switcher{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  body.page-family-data .ds-domain-current{min-width:0;white-space:normal;overflow-wrap:normal;word-break:normal}
  body.page-family-data .ds-marketplace-head{grid-template-columns:1fr;gap:14px}
  body.page-family-data .ds-marketplace-head-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  body.page-family-data .ds-marketplace-head-actions .btn{width:100%;justify-content:center}
  body.page-family-data :is(.ds-health-chart-svg,.ds-aiml-preview-table,.ds-table,.fcte-nowrap-table){max-width:none}
  body.page-family-data .ds-horizontal-rail{padding-bottom:6px}

  /* ACCESS / licensing pages. */
  body.access-buyer-rebuild .access-buyer-main .wrap{width:100%;max-width:none;padding-left:16px;padding-right:16px}
  body.access-buyer-rebuild .access-buyer-hero{padding-top:42px}
  body.access-buyer-rebuild .access-buyer-hero h1{font-size:clamp(40px,11vw,50px);line-height:.98;max-width:none}
  body.access-buyer-rebuild .access-buyer-hero-copy>p{font-size:15.5px;line-height:1.58}
  body.access-buyer-rebuild .access-buyer-actions{display:grid;grid-template-columns:1fr;gap:9px}
  body.access-buyer-rebuild .access-buyer-actions .btn{width:100%;justify-content:center}
  body.access-buyer-rebuild .access-buyer-decision-card{padding:19px}
  body.access-buyer-rebuild .access-buyer-price-rail{grid-template-columns:1fr;margin-top:32px}
  body.access-buyer-rebuild .access-buyer-price-rail>div{min-height:0;padding:15px 17px}
  body.access-buyer-rebuild .access-buyer-section{padding:48px 0}
  body.access-buyer-rebuild .access-buyer-section-head h2,body.access-buyer-rebuild .access-buyer-final h2{font-size:clamp(34px,9.5vw,43px)}
  body.access-buyer-rebuild .access-buyer-section-head p{font-size:15.0px;line-height:1.58}
  body.access-buyer-rebuild .access-buyer-fit-grid{grid-template-columns:1fr}
  body.access-buyer-rebuild .access-buyer-fit-card{min-height:0;padding:20px}
  body.access-buyer-rebuild .access-domain-picker{grid-template-columns:1fr}
  body.access-buyer-rebuild .access-add-cart-btn{min-width:0;width:100%}
  body.access-buyer-rebuild .access-quote-cart{padding:18px 16px}
  body.access-buyer-rebuild .access-cart-item{grid-template-columns:1fr;gap:13px}
  body.access-buyer-rebuild .access-cart-item-price{text-align:left}
  body.access-buyer-rebuild .access-cart-item-price strong{font-size:22.0px}
  body.access-buyer-rebuild .access-checkout-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 14px}
  body.access-buyer-rebuild .access-checkout-line>div{min-width:0}
  body.access-buyer-rebuild .access-checkout-form .btn{min-height:50px;font-size:15.0px}

  /* Pricing — keep the approved hierarchy while making the purchase path obvious on a phone. */
  body.dynamic-domain-pricing .pricing-hero{padding-top:36px;padding-bottom:34px}
  body.dynamic-domain-pricing .pricing-hero .v5-page-title{font-size:clamp(40px,11vw,50px);line-height:.98}
  body.dynamic-domain-pricing .pricing-anchor-nav .wrap{gap:0}
  body.dynamic-domain-pricing .pricing-anchor-nav a{flex:0 0 auto;padding-left:14px;padding-right:14px;white-space:nowrap}
  body.dynamic-domain-pricing .decide-grid,body.dynamic-domain-pricing .tier-grid{grid-template-columns:1fr}
  body.dynamic-domain-pricing .tier-card{min-height:0}
  body.dynamic-domain-pricing .tc-top{grid-template-columns:1fr;gap:9px}
  body.dynamic-domain-pricing .tc-price{white-space:normal;overflow-wrap:normal;word-break:normal}
  body.dynamic-domain-pricing .compare-table-wrap{margin-inline:-16px;padding-inline:16px}

  /* Domain package builder — protect names, price, and selected-package controls. */
  body.scope-v76 .domain-title-grid h1{font-size:clamp(40px,11vw,50px);line-height:.98}
  body.scope-v76 .domain-category-tabs{margin-inline:-16px;padding-left:16px;padding-right:16px}
  body.scope-v76 .domain-detail-top{display:grid;grid-template-columns:1fr;gap:10px}
  body.scope-v76 .domain-heading-copy{min-width:0;width:100%}
  body.scope-v76 .domain-heading-copy h2{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:normal}
  body.scope-v76 .domain-price-block{position:static;justify-self:start;text-align:left;width:auto;max-width:100%}
  body.scope-v76 .domain-scale-headline{display:grid;grid-template-columns:1fr;gap:6px}
  body.scope-v76 .domain-scale-headline>*{min-width:0;max-width:100%}
  body.scope-v76 .package-actions{display:grid;grid-template-columns:1fr;gap:8px}
  body.scope-v76 .package-actions button,body.scope-v76 .package-actions a{width:100%;justify-content:center}

  /* Extras — retain the approved hero; simplify controls below it. */
  body.extras-v78 .extras103-hero-copy h1{font-size:clamp(40px,11vw,50px);line-height:.98}
  body.extras-v78 .extras104-cred-grid,body.extras-v78 .extras104-badges,body.extras-v78 .extras104-industry-badges{grid-template-columns:1fr}
  body.extras-v78 .extras-service-menu{max-width:100%;overflow:hidden}
  body.extras-v78 .extras-menu-grid{grid-template-columns:1fr}
  body.extras-v78 .extras-product-card{min-width:0}
  body.extras-v78 .extras-review-guide-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.extras-v78 .extras-review-guide-actions{display:grid;grid-template-columns:1fr;gap:9px}
  body.extras-v78 .extras-review-guide-actions>*{width:100%;justify-content:center}

  /* Review — city/package scanability with no overlapping delete control. */
  body.review-v139 .review117-hero-copy h1{font-size:clamp(40px,11vw,50px);line-height:.98}
  body.review-v139 .review139-city-header{padding-top:14px;padding-bottom:12px}
  body.review-v139 .review139-city-header h3{font-size:27.0px}
  body.review-v139 .review139-city-header>strong{font-size:24.0px}
  body.review-v139 .review-receive-card{position:relative;padding-right:48px}
  body.review-v139 .review-line-remove{right:0;top:18px;width:42px;height:42px;display:grid;place-items:center}
  body.review-v139 .review117-customize-note{font-size:14px;line-height:1.55}

  /* Footer and long bottom legal rows. */
  body.fcte-v5 .footer-bottom{font-size:14px;line-height:1.5}
  body.fcte-v5 .footer-col a{min-height:36px;display:flex;align-items:center}
}

@media (max-width:480px){
  body.page-home .home-kpi-grid{grid-template-columns:1fr}
  body.page-home .home-map-visual,body.page-city-twins .gateway-network{max-width:100%}
  body.page-family-data .ds-domain-switcher{grid-template-columns:42px minmax(0,1fr) 42px}
  body.access-buyer-rebuild .access-buyer-fit-top{grid-template-columns:1fr;gap:8px}
  body.access-buyer-rebuild .access-buyer-fit-top strong{text-align:left;font-size:23.0px}
  body.access-buyer-rebuild .access-checkout-line{grid-template-columns:1fr}
  body.access-buyer-rebuild .access-checkout-line>b{justify-self:start;font-size:15.0px}
  body.extras-v78 .extras-review-guide-summary{grid-template-columns:1fr}
  body.review-v139 .review-receive-card{padding-right:44px}
}

/* source: assets/mobile-hardening-v151.css */
/* FCTE V151 · FINAL MOBILE FIT-AND-FINISH
   Third-pass mobile-only refinements. Desktop composition and the approved
   commerce widths remain untouched. */

@media (max-width:1024px){
  /* Universal shrink contract for flex/grid children: prevents the last few
     long labels, values, and dynamic cards from widening the viewport. */
  body.fcte-v5 :is(
    .grid,.hero-grid,.city-hero-grid,.page-layout,.two-col,.section-head,
    .pricing-context-bar,.pricing-kpi-strip,.tier-grid,.pricing-grid,.decide-grid,
    .domain-title-grid,.domain-detail-card,.domain-detail-top,.domain-benefit-grid,.domain-kpi-grid,
    .package-impact-grid,.package-selected-grid,.package-price-inline,
    .extras-city-scope,.extras-menu-grid,.extras-browser-grid,.extras-product-grid,.extras-review-guide,
    .review117-hero-grid,.review139-city-header,.review-receive-card,.review127-inline-action,
    .access-buyer-fit-grid,.access-buyer-price-rail,.access-cart-item,.access-checkout-grid,.access-checkout-line,
    .footer-grid,.fpf-grid
  ) > *{min-width:0;max-width:100%}

  /* Safe-area-aware mobile navigation and overlays. */
  body.fcte-v5 .global-nav.responsive-nav-panel,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel{
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:max(12px,env(safe-area-inset-bottom));
  }
  body.fcte-v5 .responsive-nav-toggle{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  body.fcte-v5 .responsive-nav-panel :is(a,summary){scroll-margin-block:8px}

  .fcte-cart-drawer{
    padding-bottom:env(safe-area-inset-bottom);
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* All intentional horizontal rails get predictable touch behavior. */
  body.fcte-v5 :is(
    .responsive-table-wrap,.tablewrap,.table-wrap,.audit-table-wrap,
    .network-wrap,.domain-tree-wrap,.diagram-wrap,.fcte-table-scroll,.compare-table-wrap,
    .ds-table-wrap,.ds-aiml-preview-wrap,.ds-health-chart-stage,.ds-horizontal-rail,
    .domain-hero-badges,.toc,.twin-widget-tabs,.city-section-nav,.audit-sequence,
    .pricing-anchor-nav .wrap,.domain-category-tabs,.da-explorer-tabs,.city-toggle
  ){
    touch-action:pan-x pan-y;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:16px;
  }

  /* Dynamic media can never escape its card/container. */
  body.fcte-v5 :is(figure,picture,.chart,.chart-wrap,.chart-shell,.visual,.visual-wrap,.map-wrap,.diagram,.diagram-wrap){min-width:0;max-width:100%}
  body.fcte-v5 :is(img,svg,canvas,video,iframe){max-inline-size:100%}
}

@media (max-width:760px){
  /* Touch/accessibility polish. Keep text links editorial; enlarge interactive UI. */
  body.fcte-v5 :is(button,.btn,[role="button"],input[type="button"],input[type="submit"],select){min-height:44px}
  body.fcte-v5 :is(button,.btn,[role="button"]){max-width:100%;white-space:normal;text-align:center;line-height:1.25}
  body.fcte-v5 :is(input,select,textarea){width:100%;min-width:0}
  body.fcte-v5 textarea{min-height:112px}
  body.fcte-v5 .global-nav.responsive-nav-panel>a,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel>a,
  body.fcte-v5 .global-nav.responsive-nav-panel details a,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel details a{min-height:44px;display:flex;align-items:center}

  /* Avoid awkward clipping of long metadata, filenames, IDs, and email text
     without changing the approved heading wrapping. */
  body.fcte-v5 :is(
    .meta,.metadata,.eyebrow,.kicker,.badge,.pill,.chip,
    .release-meta,.audit-meta,.source-meta,.dataset-meta,.footer-bottom,
    .access-checkout-detail-name,.access-checkout-line span,.review117-customize-note
  ){max-width:100%;overflow-wrap:anywhere}

  /* Commerce horizontal rails: clear start/end gutters and stable active item. */
  body.dynamic-domain-pricing .pricing-anchor-nav .wrap,
  body.scope-v76 .domain-category-tabs,
  body.extras-v78 .extras-flow,
  body.review-v139 .domain-flow{
    scroll-padding-left:16px;scroll-padding-right:16px;
  }

  /* Pricing: compact secondary navigation on narrow devices without altering
     the desktop hierarchy or savings cards. */
  body.dynamic-domain-pricing .pricing-anchor-nav{overflow:hidden}
  body.dynamic-domain-pricing .pricing-anchor-nav .wrap{
    width:100%;max-width:none;overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;
  }
  body.dynamic-domain-pricing .pricing-anchor-nav a{min-height:44px;display:flex;align-items:center}

  /* Domain builder: dynamic content, navigation, and package summary. */
  body.scope-v76 .domain-browser-navigation>*{min-width:0}
  body.scope-v76 .domain-browser-navigation button{min-height:46px}
  body.scope-v76 .domain-category-tab{scroll-margin-inline:12px}
  body.scope-v76 :is(.domain-scale-headline,.domain-scale-note,.domain-detail-content p,.package-selected-item){max-width:100%}
  body.scope-v76 .package-selected-item{overflow-wrap:normal;word-break:normal}

  /* Extras: browser/menu labels remain readable at 360–430px. */
  body.extras-v78 :is(.extras-city-choice,.extras-city-add,.extras-service-menu button,.extras-menu-grid button){min-height:46px}
  body.extras-v78 :is(.extras-product-title,.extras-product-card h2,.extras-product-card h3){max-width:100%;word-break:normal;overflow-wrap:normal}

  /* Review: make total/action rows robust even with large currency values. */
  body.review-v139 .review139-city-header>strong{min-width:0;overflow-wrap:anywhere}
  body.review-v139 .review127-inline-total{min-width:0}
  body.review-v139 .review127-inline-total strong{max-width:100%;overflow-wrap:anywhere}

  /* Checkout: full-screen mobile sheet with sticky close/header and safe-area
     bottom padding. This particularly improves landscape and short screens. */
  body.access-checkout-open{overscroll-behavior:none}
  body.fcte-v5.access-buyer-rebuild .access-checkout-modal{
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  body.fcte-v5.access-buyer-rebuild .access-checkout-shell{padding-bottom:env(safe-area-inset-bottom)}
  body.fcte-v5.access-buyer-rebuild .access-checkout-head{
    position:sticky;top:0;z-index:4;
    padding-top:max(18px,env(safe-area-inset-top));
  }
  body.fcte-v5.access-buyer-rebuild .access-checkout-close{min-width:44px;min-height:44px;display:grid;place-items:center}
  body.fcte-v5.access-buyer-rebuild .access-checkout-total{min-width:0;flex-wrap:wrap}
  body.fcte-v5.access-buyer-rebuild .access-checkout-total>*{min-width:0}

  /* Data explorer: protect dense selectors and chart/table labels. */
  body.page-family-data :is(.ds-domain-current,.ds-marketplace-head,.ds-overview-card,.ds-research-card,.ds-feature-role-card)>*{min-width:0}
  body.page-family-data :is(.ds-domain-current,.ds-marketplace-head h2,.ds-marketplace-head h3){overflow-wrap:normal;word-break:normal}
  body.page-family-data :is(.da-explorer-tabs,.ds-sample-mode-tabs,.da-city-tabs,.ds-column-groups){scroll-padding-inline:16px}

  /* Domain/evidence/audit/certification pages: compact navigation and safe
     long values without forcing headline word breaks. */
  body.page-family-domain :is(.hero-stat,.audit-card,.evidence-card,.cert-card,.source-card)>*{min-width:0}
  body.page-family-domain :is(.hero-stat .v,.audit-metric,.cert-metric,.source-value){max-width:100%;overflow-wrap:anywhere}

  /* Footer links become reliably tappable while preserving the editorial footer. */
  body.fcte-v5 .footer-col a,body.fcte-v5 .fpf-col a{min-height:42px;display:flex;align-items:center}
}

/* Small-phone completion: 320–379px, including older Android/iPhone widths. */
@media (max-width:379px){
  :root{--fcte-mobile-gutter:12px}
  body.fcte-v5 .wrap,body.fidelra-fcte .wrap,
  .domain-shop-wrap,.extras-wrap,.review117-wrap,
  .pricing-hero .wrap,.pricing-anchor-nav .wrap{
    padding-left:12px;padding-right:12px;
  }
  body.fcte-v5 .global-header .wrap,
  body.fcte-v5 .premium-city-header .pch-global{padding-left:12px;padding-right:12px}
  body.fcte-v5 .global-nav.responsive-nav-panel,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel{left:12px;right:12px;width:auto}

  /* Hero typography stays bold but no longer risks a one-character orphan. */
  body.fcte-v5 :is(.v5-page-title,.pricing-hero .v5-page-title,.domain-title-grid h1,.extras103-hero-copy h1,.review117-hero-copy h1){
    font-size:clamp(35px,11.2vw,43px);line-height:.99;letter-spacing:-.04em;
  }

  body.scope-v76 .domain-detail-content{padding-left:14px;padding-right:14px}
  body.scope-v76 .domain-detail-content h2{font-size:clamp(33px,10.5vw,41px);line-height:1}
  body.scope-v76 .domain-browser-navigation{gap:6px}
  body.scope-v76 .domain-browser-navigation button{padding-left:8px;padding-right:8px;font-size:14px}

  body.extras-v78 .extras-city-choice,body.extras-v78 .extras-city-add{flex-basis:100%}

  body.review-v139 .review139-city-header h3{font-size:25.0px}
  body.review-v139 .review139-city-header>strong{font-size:22.0px}
  body.review-v139 .review-receive-card{padding-left:14px;padding-right:44px}

  body.access-buyer-rebuild .access-buyer-main .wrap{padding-left:12px;padding-right:12px}
  body.access-buyer-rebuild .access-buyer-decision-card,
  body.access-buyer-rebuild .access-buyer-fit-card{padding-left:16px;padding-right:16px}
  body.fcte-v5.access-buyer-rebuild .access-checkout-grid{padding-left:12px;padding-right:12px}
  body.fcte-v5.access-buyer-rebuild .access-checkout-form{padding:15px}

  .responsive-table-wrap{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
}

/* Short landscape phones: preserve content access rather than spending the
   limited height on oversized hero/header spacing. */
@media (max-width:1024px) and (max-height:520px) and (orientation:landscape){
  body.fcte-v5 .global-nav.responsive-nav-panel,
  body.fcte-v5 .pch-global-nav.responsive-nav-panel{max-height:calc(100dvh - 58px)}
  body.fcte-v5 .page-hero,
  body.dynamic-domain-pricing .pricing-hero,
  body.scope-v76 .domain-shop-intro,
  body.extras-v78 .extras-intro,
  body.review-v139 .review117-hero{padding-top:24px;padding-bottom:24px}
  body.fcte-v5.access-buyer-rebuild .access-checkout-head{padding-top:12px;padding-bottom:12px}
  body.fcte-v5.access-buyer-rebuild .access-checkout-head h2{font-size:24.0px}
}

/* Coarse pointer devices: eliminate accidental tiny icon-only targets. */
@media (hover:none) and (pointer:coarse) and (max-width:1024px){
  body.fcte-v5 :is(.responsive-nav-toggle,.fcte-cart-nav-button,.fcte-cart-drawer-close,.access-checkout-close,.review-line-remove){min-width:44px;min-height:44px}
  body.fcte-v5 :is(a,button,summary){-webkit-tap-highlight-color:rgba(8,125,119,.10)}
}

/* source: assets/fidelra-footer-v156.css */
/* V156 — one canonical Fidelra / FCTE footer across the entire public site.
   Flat editorial treatment; square edges; responsive; independent of page-family CSS. */
.fidelra-unified-footer{
  margin:0;
  padding:54px 0 24px;
  border:0;
  background:#071d27;
  color:#b9cdcf;
  font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
.fidelra-unified-footer *{box-sizing:border-box}
.fidelra-unified-footer .fuf-wrap{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:0;
}
.fidelra-unified-footer .fuf-grid{
  display:grid;
  grid-template-columns:minmax(250px,1.55fr) repeat(4,minmax(120px,1fr));
  gap:34px;
  align-items:start;
}
.fidelra-unified-footer .fuf-brand-title{
  margin:0;
  color:#fff;
  font-size:20.0px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.035em;
}
.fidelra-unified-footer .fuf-brand-title span{color:#69d5cc}
.fidelra-unified-footer .fuf-site-link{
  display:inline-block;
  margin-top:10px;
  color:#69d5cc;
  font:850 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.055em;
  text-decoration:none;
}
.fidelra-unified-footer .fuf-brand-copy{
  max-width:390px;
  margin:14px 0 0;
  color:#9fb7ba;
  font-size:14px;
  line-height:1.65;
  font-weight:550;
}
.fidelra-unified-footer .fuf-brand-copy strong{color:#d8e6e7;font-weight:650}
.fidelra-unified-footer .fuf-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.fidelra-unified-footer .fuf-col-title{
  margin:0 0 5px;
  color:#7f9fa3;
  font:850 14px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.075em;
}
.fidelra-unified-footer .fuf-col a{
  color:#d1dfe0;
  font-size:14px;
  line-height:1.35;
  font-weight:650;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.fidelra-unified-footer .fuf-col a:hover,
.fidelra-unified-footer .fuf-col a:focus-visible{color:#75ddd3;text-decoration:none}
.fidelra-unified-footer .fuf-bottom{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#829fa3;
  font-size:14px;
  line-height:1.5;
}
.fidelra-unified-footer .fuf-bottom span:first-child{max-width:760px}
.fidelra-unified-footer .fuf-bottom a{color:#b8d4d5;text-decoration:none;font-weight:700}
.fidelra-unified-footer .fuf-bottom a:hover,
.fidelra-unified-footer .fuf-bottom a:focus-visible{color:#75ddd3}
@media(max-width:980px){
  .fidelra-unified-footer .fuf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 34px}
  .fidelra-unified-footer .fuf-brand{grid-column:1/-1}
  .fidelra-unified-footer .fuf-brand-copy{max-width:620px}
}
@media(max-width:620px){
  .fidelra-unified-footer{padding:42px 0 22px}
  .fidelra-unified-footer .fuf-wrap{width:min(100% - 36px,1180px)}
  .fidelra-unified-footer .fuf-grid{grid-template-columns:1fr;gap:24px}
  .fidelra-unified-footer .fuf-brand{grid-column:auto}
  .fidelra-unified-footer .fuf-col{gap:10px}
  .fidelra-unified-footer .fuf-col a{min-height:28px;display:flex;align-items:center;font-size:14px}
  .fidelra-unified-footer .fuf-bottom{flex-direction:column;gap:8px;margin-top:30px;font-size:14px}
}

/* source: assets/fidelra-footer-v157.css */
/* V157 — runtime-hardened canonical Fidelra footer. Loaded last on every page. */
html body > footer.fidelra-unified-footer{
  display:block;
  visibility:visible;
  opacity:1;
  position:relative;
  inset:auto;
  z-index:2;
  float:none;
  clear:both;
  width:100%;
  max-width:none;
  min-width:0;
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  transform:none;
  clip:auto;
  clip-path:none;
  margin:0;
  flex:none;
  grid-column:1/-1;
  align-self:stretch;
  background:#071d27;
}
html body > footer.fidelra-unified-footer[hidden]{display:block}
html body > footer.fidelra-unified-footer .fuf-wrap,
html body > footer.fidelra-unified-footer .fuf-grid,
html body > footer.fidelra-unified-footer .fuf-bottom{visibility:visible;opacity:1}
/* Keep the footer visible even on page families that define generic footer selectors. */
body.fcte-v5 > footer.fidelra-unified-footer,
body.city-locked > footer.fidelra-unified-footer,
body.page-family-access > footer.fidelra-unified-footer,
body.page-family-marketing > footer.fidelra-unified-footer{display:block;visibility:visible;opacity:1}
@media(max-width:620px){
  html body > footer.fidelra-unified-footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}


/* FCTE Cloudflare production polish */
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{overflow-x:clip;}
img,svg,video,canvas{max-width:100%;height:auto;}
:where(h1,h2,.v5-page-title,.fcte-section-heading){text-wrap:balance;}
:where(p,.lead,.subtitle){text-wrap:pretty;}
:where(.btn,button,[role="button"],input,select,textarea,a.card):focus-visible{outline:3px solid currentColor;outline-offset:3px;}
:where(.btn,button,[role="button"]){touch-action:manipulation;}
:where(input,select,textarea){font:inherit;}
@media(max-width:760px){
  :where(.hero-actions,.cta-row,.verify-actions,.story-next-card>div:last-child){row-gap:10px;}
  :where(.hero-actions .btn,.cta-row .btn,.verify-actions .btn){max-width:100%;white-space:normal;text-align:center;}
  :where(.log-wrap,.compare-table-wrap,.table-scroll,.data-table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;}
}
/* FCTE demo gallery shortcut inside City Twin menus */
.fidelra-city-menu-panel > a.fidelra-demos-link{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:7px 8px 8px;padding:10px 11px;min-height:42px;
  color:#0a6666;background:#eef8f7;border:1px solid #b9d9d7;
  border-left:3px solid #0b8f8b;font-weight:650;text-decoration:none;
}
.fidelra-city-menu-panel > a.fidelra-demos-link:hover,
.fidelra-city-menu-panel > a.fidelra-demos-link:focus-visible{
  background:#e2f3f1;color:#064e50;border-color:#80c2bf;
}
.fidelra-demos-link-label{font:800 14px/1.2 var(--fd-font);letter-spacing:0;}
.fidelra-demos-link-state{font:800 14px/1.2 var(--fd-mono);letter-spacing:.08em;text-transform:uppercase;color:#0b817e;}
@media(max-width:1024px){
  .fidelra-city-menu-panel > a.fidelra-demos-link{margin:6px 8px;padding:11px 12px;min-height:44px;}
}

