:root {
  --ink: #1c2b3a;
  --pearl: #fbf7f0;
  --gold: #8a6234;
  --teal: #3d7c88;
  --sage: #5d7384;
  --line: rgba(90, 70, 42, 0.16);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-ui: "Outfit", system-ui, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: var(--font-ui);
  font-weight: 300;
  background:
    radial-gradient(ellipse 50% 40% at 88% 8%, rgba(61, 124, 136, 0.14), transparent 60%),
    #f7f3ea;
}

a { color: var(--gold); }
button, input { font: inherit; color: inherit; }

.back, .mast, .find, .examples-wrap, .hits, .status, .stage, .evidence, footer {
  width: min(1120px, calc(100% - 2rem));
  margin-inline: auto;
}

.back {
  display: inline-block;
  margin-top: 1.1rem;
  font-size: 0.92rem;
}

.mast { padding: 1.2rem 0 0.4rem; }
.kicker {
  margin: 0;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--gold);
}
.mast h1 {
  margin: 0.25rem 0 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 3.1rem);
  line-height: 1.05;
}

.find { margin-top: 1.2rem; }
.find label {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
}
.find__row { display: flex; gap: 0.5rem; max-width: 42rem; }
.find input, .find button, .mode, .evidence-toggle, .hits button, .examples button, .evidence-row {
  border: 1px solid rgba(138, 98, 52, 0.45);
  background: #fffdf8;
  border-radius: 2px;
}
.find input { flex: 1; padding: 0.7rem 0.8rem; }
.find button, .evidence-toggle { padding: 0.7rem 0.9rem; cursor: pointer; }

.examples-wrap { margin-top: 0.8rem; }
.examples-wrap p, .status { color: var(--sage); font-size: 0.88rem; }
.examples { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.examples button { padding: 0.4rem 0.65rem; cursor: pointer; text-align: left; }

.hits {
  list-style: none;
  padding: 0;
  margin: 0.6rem auto 0;
  max-width: 42rem;
}
.hits button {
  display: grid;
  width: 100%;
  text-align: left;
  gap: 0.1rem;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  margin-bottom: 0.35rem;
}
.hits button span, .legal, .name-note { color: var(--sage); font-size: 0.86rem; }
.legal, .name-note { margin: 0.15rem 0 0; }
.hit-note { color: var(--gold); }

.periods { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; margin-top: 0.9rem; }
.periods button {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.05rem 0.55rem;
  text-align: left;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(138, 98, 52, 0.45);
  background: #fffdf8;
  cursor: pointer;
}
.period__mark {
  grid-row: span 3;
  width: 0.9rem;
  height: 0.9rem;
  margin-top: 0.15rem;
  border: 1px solid var(--ink);
}
.periods button[aria-pressed="true"] {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.periods button[aria-pressed="true"] .period__mark {
  background: var(--ink);
  box-shadow: inset 0 0 0 2px #f7f3ea;
}
.period__name { font-size: 0.95rem; }
.period__range, .period__state { color: var(--sage); font-size: 0.78rem; }

.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0.2rem 0 0.7rem; }
.stat { margin: 0; }
.stat b {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 500;
  line-height: 1;
}
.stat span, .scope { color: var(--sage); font-size: 0.88rem; }
.scope { margin: 0.2rem 0 0.6rem; }
.method { margin-top: 0.7rem; color: var(--sage); font-size: 0.88rem; }
.method summary { cursor: pointer; color: var(--ink); }
.method p { margin: 0.45rem 0; line-height: 1.45; }
.evidence-count { color: var(--sage); margin-top: 0; }

.stage {
  display: grid;
  grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
  gap: 1.25rem 1.5rem;
  align-items: center;
  margin-top: 1.4rem;
}

.reading h2 {
  margin: 0 0 0.35rem;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.modes { display: grid; gap: 0.65rem; margin: 0.8rem 0; }
.mode {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas:
    "mark name count"
    "mark hint state";
  gap: 0.1rem 0.75rem;
  padding: 0.85rem 0.95rem;
  text-align: left;
  cursor: pointer;
}
.mode__mark {
  grid-area: mark;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  border: 1px solid var(--ink);
  border-radius: 2px;
}
.mode[aria-pressed="true"] {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
  background: rgba(61, 124, 136, 0.1);
}
.mode[aria-pressed="true"] .mode__mark {
  background: var(--ink);
  box-shadow: inset 0 0 0 3px #f7f3ea;
}
.mode__name { grid-area: name; font-size: 1.15rem; }
.mode__hint { grid-area: hint; color: var(--sage); font-size: 0.88rem; }
.mode__count { grid-area: count; font-family: var(--font-display); font-size: 1.8rem; line-height: 1; }
.mode__state { grid-area: state; color: var(--sage); font-size: 0.78rem; justify-self: end; }

.finding {
  border-top: 1px solid var(--line);
  padding-top: 0.8rem;
}
.finding h3 { margin: 0 0 0.35rem; font-family: var(--font-display); font-weight: 500; font-size: 1.45rem; }
.finding p { margin: 0.35rem 0; line-height: 1.45; }
.caveat { color: var(--sage); font-size: 0.88rem; }
.ipc-list { list-style: none; padding: 0; margin: 0.4rem 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ipc-list li { border: 1px solid var(--line); padding: 0.25rem 0.5rem; }
.ipc-list b { margin-left: 0.45rem; color: var(--gold); font-weight: 500; }
.is-error { color: #f0d0c4; }
.evidence-toggle { margin-top: 0.6rem; }
.evidence-toggle:disabled { opacity: 0.55; cursor: not-allowed; }

.lq-stage {
  position: relative;
  height: 420px;
  min-height: 360px;
  background: radial-gradient(ellipse at 50% 42%, rgba(61, 124, 136, 0.16), rgba(247, 243, 234, 0.2) 72%);
}
.lq-gl { display: block; width: 100%; height: 100%; }
.crystal-fallback {
  display: none;
  margin: 0;
  padding: 1rem;
  color: var(--sage);
}
.lq-scene.is-flat .crystal-fallback { display: block; }
.lq-scene.is-flat .lq-gl { display: none; }

.evidence { margin-top: 1.5rem; padding-bottom: 2rem; }
.evidence h2 { font-family: var(--font-display); font-weight: 500; }
.evidence-row {
  display: grid;
  width: 100%;
  text-align: left;
  gap: 0.15rem;
  padding: 0.7rem 0.8rem;
  margin-bottom: 0.4rem;
  cursor: pointer;
}
.evidence-row.is-open { outline: 2px solid var(--ink); outline-offset: 2px; }
.evidence-row span { color: var(--sage); font-size: 0.86rem; }
.evidence-detail {
  margin-top: 0.6rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
}
.evidence-detail dl { display: grid; gap: 0.35rem; }
.evidence-detail dt { color: var(--gold); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.evidence-detail dd { margin: 0; }
.evidence-detail pre {
  white-space: pre-wrap;
  font-family: var(--font-ui);
  font-size: 0.82rem;
  color: var(--sage);
}
.locked { color: var(--sage); }

footer { padding: 1.5rem 0 2rem; color: var(--sage); font-size: 0.82rem; }

@media (max-width: 800px) {
  .stage { grid-template-columns: 1fr; }
  .lq-stage { height: 340px; min-height: 320px; order: -1; }
  .crystal { order: -1; }
  .mode { grid-template-columns: auto 1fr; grid-template-areas: "mark name" "mark hint" "count state"; }
  .mode__count { justify-self: start; }
  .find__row { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .lq-stage { height: 280px; }
}

/* Technology DNA: readable evidence with an interactive orbital index. */
.crystal { position: relative; }
.mode--dna { border-color: #9684b2; background: linear-gradient(115deg,#f4eefb,#fffdf8); }
.mode--dna .mode__mark { border: 0; color: #71509b; font-size: 1.35rem; line-height: 1; }
.mode--dna[aria-pressed="true"] .mode__mark { background: none; box-shadow: none; }
.mode--dna[aria-pressed="true"] { outline-color: #71509b; background: #eee7f5; }
.dna-fields { display: grid; gap: .45rem; margin: 1rem 0; }
.dna-field { display: grid; grid-template-columns: 3.6rem 1fr auto; gap: .3rem .6rem; text-align: left; padding: .65rem .8rem; cursor: pointer; border: 1px solid #d7d0df; border-radius: 5px; background: #fffcf7; position: relative; overflow: hidden; }
.dna-field[aria-pressed="true"] { border-color: #71509b; background: linear-gradient(110deg,#eee7f6,#fffcf7); box-shadow: -3px 0 #71509b,0 5px 16px #543a7510; }
.dna-field__code { color: #71509b; font-weight: 500; letter-spacing: .05em; }
.dna-field__label { font-size: .9rem; }
.dna-field strong { color: var(--teal); font-weight: 500; }
.dna-field__track { grid-column: 1/-1; height: 2px; background: #e5e0e8; margin-top: .3rem; }
.dna-field__track i { display: block; height: 100%; background: linear-gradient(90deg,#7651a3,#54a0a5); }
.dna-orbits { position: absolute; inset: 0 0 1.8rem; pointer-events: none; }
.dna-orbits svg { width: 100%; height: 100%; overflow: visible; }
.dna-orbits ellipse { stroke: #80669955; stroke-width: .18; fill: none; stroke-dasharray: 1 1.5; }
.dna-orbits path { stroke: #9681b033; stroke-width: .18; fill: none; }
.dna-orbits path.is-selected { stroke: #438792; stroke-width: .4; }
.dna-node { position: absolute; transform: translate(-50%,-50%); display: flex; align-items: center; gap: .35rem; padding: .35rem .55rem; border: 1px solid #cfc2de; background: #fbf7f0f2; color: #66507e; border-radius: 20px; cursor: pointer; pointer-events: auto; box-shadow: 0 5px 15px #30234512; font-size: .8rem; }
.dna-node[aria-pressed="true"] { color: #fff; background: #396e77; border-color: #396e77; box-shadow: 0 0 0 4px #488d9622,0 5px 20px #396e7725; }
.dna-caption { color: var(--sage); text-align: center; font-size: .76rem; max-width: 24rem; margin: .4rem auto; }
.dna-jump { display: inline-block; color: #426e78; margin-top: .4rem; }
.dna-evidence { border-top: 1px solid #d7cfdf; padding-top: 1.5rem; }
.dna-evidence__heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.dna-evidence h2 { margin: .25rem 0 .8rem; font-size: 2rem; }
.dna-badge { font-size: .75rem; border: 1px solid #c4ccd0; border-radius: 20px; padding: .4rem .7rem; color: #426e78; }
.dna-application-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.dna-application { display: grid; gap: .5rem; padding: 1rem; text-align: left; border: 1px solid #d4cddd; border-radius: 6px; background: linear-gradient(140deg,#fffdf9,#f0edf2); cursor: pointer; box-shadow: 0 8px 25px #37274408; }
.dna-application > span:first-child { font-size: .85rem; letter-spacing: .06em; color: #71509b; }
.dna-application strong { font-weight: 400; line-height: 1.5; }
.dna-application small { color: var(--sage); }
.dna-application[aria-expanded="true"] { outline: 2px solid var(--teal); }
.dna-application__cta { color: var(--teal); font-size: .85rem; }
.dna-empty { border-left: 2px solid #ac95c5; padding: 1rem; background: #eee9f244; }
.dna-source { display: grid; gap: .35rem; padding: .75rem 0; border-top: 1px solid var(--line); }
.dna-source span { font-size: .85rem; color: var(--sage); }
.is-error { color: #9b3535; }
button:focus-visible, a:focus-visible { outline: 2px solid #396e77; outline-offset: 4px; }
[hidden] { display: none !important; }
@media (max-width: 800px) { .dna-application-grid {grid-template-columns:1fr;} .dna-evidence__heading {align-items:start;flex-direction:column;} }

/* Company comparison: two sculptural anchors, one readable technology bridge. */
.view-switch,.compare-view { width:min(1120px,calc(100% - 2rem));margin-inline:auto; }
.view-switch { display:flex;gap:.35rem;border-bottom:1px solid var(--line);margin-top:1.4rem;padding-bottom:.6rem; }
.view-switch button { border:0;background:transparent;padding:.65rem 1rem;cursor:pointer;border-radius:4px;color:var(--sage); }
.view-switch button[aria-pressed="true"] { color:var(--ink);background:#e9e4f0;box-shadow:inset 0 -2px #796098; }
.view-switch button span { margin-left:.8rem;color:#71509b; }
.compare-intro { padding:1.8rem 0 1rem; }
.compare-intro h2 { font:500 clamp(2rem,3vw,2.8rem)/1.1 var(--font-display);margin:.35rem 0; }
.compare-intro > p:last-child { color:var(--sage);margin:.65rem 0 0; }
.compare-controls { display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) minmax(180px,.65fr);gap:1.1rem;align-items:start; }
.compare-picker:first-child { grid-column:1;grid-row:1; }
.compare-picker:nth-child(2) { grid-column:3;grid-row:1; }
.compare-swap { grid-column:2;grid-row:1;margin-top:1.65rem;border:1px solid #cbbfd7;background:#f3edf7;border-radius:50%;height:42px;cursor:pointer;color:#71509b;font-size:1.3rem; }
.compare-period { grid-column:4;grid-row:1; }
.compare-controls label { display:block;font-size:.8rem;letter-spacing:.07em;margin-bottom:.45rem; }
.compare-picker__input { display:flex;gap:.35rem; }
.compare-picker input,.compare-picker button,.compare-period select,.compare-toolbar button { border:1px solid #cfc5d7;border-radius:4px;background:#fffdf8;min-height:42px;padding:.55rem .65rem; }
.compare-picker input { min-width:0;width:100%; }
.compare-picker button,.compare-toolbar button { cursor:pointer; }
.compare-period select { width:100%; }
.compare-legal { min-height:2.2rem;font-size:.73rem;line-height:1.5;color:var(--sage);margin:.4rem 0;overflow-wrap:anywhere; }
.compare-picker .scope:empty { display:none; }
.compare-hits { list-style:none;padding:0;margin:.5rem 0;max-height:220px;overflow:auto;border:1px solid #d8cedf; }
.compare-hits button { width:100%;text-align:left;border-radius:0;font-size:.78rem;line-height:1.5; }
.compare-toolbar { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem; }
.compare-toolbar p { color:#4a7378;font-size:.8rem;letter-spacing:.04em; }
.compare-toolbar button { font-size:.8rem;min-height:34px;background:transparent; }
.compare-status { color:var(--sage);font-size:.85rem;min-height:1.2rem;margin:.4rem 0; }
.compare-status button { background:transparent;border:1px solid #cfc5d7;cursor:pointer; }
.bridge-arena { position:relative;height:440px;isolation:isolate;border-top:1px solid #ded5e4;border-bottom:1px solid #ded5e4;background:radial-gradient(ellipse at 50% 48%,#ebe4f166,transparent 68%); }
.compare-crystal { position:absolute;width:27%;top:25px;z-index:0; }
.compare-crystal:first-child { left:0; }
.compare-crystal:nth-child(2) { right:0; }
.compare-crystal .lq-stage { height:330px;min-height:330px;background:radial-gradient(ellipse at 50% 45%,#d6e5e844,transparent 70%); }
.compare-crystal .crystal-fallback { margin:4rem 1rem;text-align:center;font-size:.8rem; }
.bridge-wires { position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none; }
.bridge-wires path { fill:none;stroke:#9882b171;stroke-width:1; }
.bridge-wires path.is-unknown { stroke-dasharray:3 5;opacity:.55; }
.bridge-wires g.is-selected path { stroke:#3d7c88;stroke-width:1.6;animation:bridge-arrive .35s ease-out; }
.bridge-wires circle { fill:#3d7c88; }
.bridge-fields { position:absolute;left:28%;width:44%;top:34px;z-index:2;display:grid;gap:8px; }
.bridge-field { display:grid;grid-template-columns:76px 1fr 76px;align-items:center;gap:.4rem;height:58px;border:1px solid #ded3e6;border-radius:6px;background:linear-gradient(115deg,#fffdf9f5,#f1eaf7f5);cursor:pointer;text-align:center;padding:.4rem .6rem;box-shadow:0 5px 18px #49355b08; }
.bridge-field[aria-pressed="true"] { border-color:#4b8991;box-shadow:0 0 0 2px #49899114,0 7px 24px #39768214;background:linear-gradient(115deg,#edf6f2,#fbf6ff); }
.bridge-field__share { font-size:.85rem;color:#4d747e;line-height:1.25; }
.bridge-field__label { display:grid;gap:.15rem; }
.bridge-field__label strong { font-weight:500;color:#72548f;letter-spacing:.07em; }
.bridge-field__label > span { font-size:.73rem;line-height:1.15; }
.bridge-identity { position:absolute;top:345px;width:27%;text-align:center;z-index:2; }
.bridge-identity--a { left:0; }.bridge-identity--b { right:0; }
.bridge-identity .kicker { font-size:.65rem; }
.bridge-identity h3 { font:500 1.55rem/1.05 var(--font-display);margin:.3rem .3rem; }
.bridge-identity p { font-size:.76rem;margin:.3rem 0;color:var(--sage); }
.bridge-identity small { font-size:.67rem;color:var(--sage); }
.bridge-caption { text-align:center;font-size:.73rem;color:var(--sage);margin:.7rem 0 1.4rem; }
.bridge-no-fields { padding:3rem 1rem;text-align:center;font:500 1.5rem var(--font-display); }
.bridge-arena.is-loading .compare-crystal { opacity:.45; }
.bridge-insight { background:linear-gradient(110deg,#eee8f3,#f7f8f2);border:1px solid #d5cddd;border-radius:8px;padding:1.4rem 1.6rem; }
.bridge-insight h3 { font:500 1.7rem var(--font-display);margin:.35rem 0; }
#bridge-finding { line-height:1.5;margin:.6rem 0;color:#4e6273; }
.bridge-shares { display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem; }
.bridge-shares > div { display:grid;gap:.3rem;border-left:2px solid #ac95c5;padding-left:.8rem; }
.bridge-shares strong { font:500 2rem var(--font-display);color:#4c7581; }
.bridge-shares span,.bridge-shares small { font-size:.8rem;color:var(--sage); }
.compare-evidence,.rights-strip { margin-top:2rem; }
.compare-section-heading { display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:.8rem; }
.compare-section-heading h3 { font:500 1.7rem var(--font-display);margin:.3rem 0 .6rem; }
.compare-section-heading > span { font-size:.76rem;color:var(--sage); }
.compare-evidence-grid { display:grid;grid-template-columns:1fr 1fr;gap:1.4rem; }
.compare-evidence-grid > div { min-width:0; }
.compare-evidence-grid h4 { font:500 1.4rem var(--font-display);margin:.7rem 0; }
.compare-application { width:100%;display:grid;gap:.5rem;text-align:left;padding:1rem;border:1px solid #d4cddd;background:linear-gradient(140deg,#fffdf9,#efecf3);border-radius:6px;cursor:pointer;margin-bottom:.65rem; }
.compare-application > span { font-size:.8rem;color:#71509b; }
.compare-application strong { font-weight:400;font-size:.9rem;line-height:1.5; }
.compare-application small { color:var(--sage);font-size:.73rem; }
.compare-application[aria-expanded="true"] { outline:2px solid var(--teal);outline-offset:1px; }
.compare-empty { font-size:.85rem;line-height:1.6;padding:1rem;background:#f0ebf2;border-left:2px solid #b9a8c9; }
.rights-strip table { width:100%;border-collapse:collapse;table-layout:fixed; }
.rights-strip th,.rights-strip td { text-align:left;border-bottom:1px solid var(--line);padding:.8rem .5rem;font-weight:300; }
.rights-strip th:first-child { width:48%; }.rights-strip thead th { font-size:.8rem;color:#72548f; }
.rights-strip tbody th { font-size:.86rem; }.rights-strip td { font:500 1.5rem var(--font-display); }
.compare-method { margin:1.5rem 0 2rem; }
@keyframes bridge-arrive { from { opacity:.25; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .bridge-wires g.is-selected path {animation:none;} }
@media (max-width:1100px) { .bridge-field {grid-template-columns:58px 1fr 58px;padding:.35rem;} .bridge-field__share {font-size:.72rem;} .compare-controls {gap:.7rem;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 180px;} }

.back { display:block; }
.bridge-field__gap { display:inline-block;font:400 .66rem var(--font-ui);color:#4e7b81;letter-spacing:0;margin-left:.45rem; }

.bridge-arena {height:470px;}
.bridge-wires {height:440px;}
.bridge-identity h3 {font-size:1.4rem;}

/* Shared research workspace. Only implemented destinations are exposed. */
.workspace-header,.research-context,.research-tabs,.workspace-status,.empty-state {width:min(1120px,calc(100% - 2rem));margin-inline:auto;}
.workspace-header {display:flex;align-items:center;gap:2rem;padding:1.5rem 0 1.2rem;}
.workspace-brand {display:grid;gap:.3rem;text-decoration:none;color:var(--ink);}
.workspace-brand strong {font:500 clamp(1.65rem,3vw,2.2rem)/1 var(--font-display);}
.workspace-brand .kicker {font-size:.63rem;}
.workspace-nav button {border:0;background:transparent;color:#6f527e;padding:.7rem .2rem;border-bottom:2px solid #8d70ab;cursor:pointer;}
.workspace-actions {margin-left:auto;display:flex;align-items:center;gap:1.1rem;font-size:.8rem;}
.workspace-actions button {border:1px solid #d0c4da;background:#fffdf8;border-radius:20px;padding:.6rem .9rem;cursor:pointer;}
.workspace-actions a {color:var(--sage);text-decoration:none;}
.workspace-actions #back-classic {display:inline;width:auto;margin:0;font-size:.75rem;}
.research-context {position:sticky;top:0;z-index:20;background:#fbf8f1f5;border:1px solid #d8cfdf;border-radius:8px;box-shadow:0 7px 25px #3b2b4b08;backdrop-filter:blur(12px);padding:1rem 1.1rem;}
.research-context > summary {display:none;}
.context-grid {display:flex;gap:.85rem;align-items:flex-start;}
.context-company {flex:1.25;min-width:0;}
.context-label {display:block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#796186;margin:0 0 .4rem;}
.context-company button {display:block;width:100%;text-align:left;border:1px solid #d8d0df;background:#fffdf8;padding:.65rem .7rem;border-radius:4px;cursor:pointer;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:40px;}
.context-period {flex:1;min-width:155px;}
.context-period select {width:100%;font-size:.85rem;padding:.6rem .5rem;background:#fffdf8;border:1px solid #d8d0df;border-radius:4px;min-height:40px;}
.context-period small,.context-field small {font-size:.7rem;line-height:1.45;color:var(--sage);display:block;margin-top:.35rem;}
.context-field {flex:.85;min-width:135px;}
.context-field > div {display:flex;align-items:center;gap:.5rem;min-height:40px;background:#eee8f3;border-radius:4px;padding:.5rem .65rem;color:#72548f;font-size:.83rem;}
.context-field button {margin-left:auto;border:0;background:transparent;cursor:pointer;color:#72548f;font-size:1.15rem;padding:0 .2rem;}
.context-compare {align-self:center;white-space:nowrap;margin-top:.4rem;border:1px solid #77a0a5;background:#e9f1ed;color:#316b75;border-radius:20px;padding:.65rem .9rem;font-size:.85rem;cursor:pointer;}
.context-compare:disabled {opacity:.5;cursor:not-allowed;}
.context-note {font-size:.76rem;color:#8a6234;margin:.6rem 0 0;line-height:1.5;}
.research-tabs {display:flex;gap:1.4rem;border-bottom:1px solid var(--line);padding-top:.7rem;overflow:auto;}
.research-tabs button {white-space:nowrap;border:0;border-bottom:2px solid transparent;background:transparent;padding:.8rem .15rem;cursor:pointer;color:var(--sage);font-size:.9rem;}
.research-tabs button[aria-current="page"] {color:#6e4f8e;border-bottom-color:#8d70ab;}
.workspace-status {font-size:.85rem;color:var(--sage);margin-top:.7rem;margin-bottom:.7rem;}
.workspace-status:empty {display:none;}
.empty-state {margin-top:1.4rem;padding:3.5rem 3rem;border:1px solid #ded4e5;border-radius:12px;background:radial-gradient(ellipse at 95% 10%,#d8c9eb88,transparent 65%),linear-gradient(120deg,#fffdf8,#f0efed);box-shadow:0 20px 60px #35224308;}
.empty-state h1 {font:500 clamp(2.5rem,5vw,4.3rem)/1.03 var(--font-display);margin:.7rem 0 1rem;}
.empty-state > p:not(.kicker) {max-width:36rem;color:var(--sage);line-height:1.6;}
.empty-state > button {border:1px solid #648d94;background:#396e77;color:#fff;padding:.85rem 1.3rem;border-radius:24px;cursor:pointer;margin:.5rem 0;}
.research-dialog {color:var(--ink);width:min(660px,calc(100% - 2rem));max-height:85dvh;overflow:auto;background:#fbf8f1;border:1px solid #cfc2dc;border-radius:12px;padding:1.5rem;box-shadow:0 25px 100px #1c203444;}
.research-dialog::backdrop {background:#182a3980;backdrop-filter:blur(5px);}
.dialog-heading {display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;}
.dialog-heading h2 {font:500 2rem var(--font-display);margin:.25rem 0;}
.dialog-heading > button {border:1px solid #d0c4d9;background:#fffdf8;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:1.3rem;flex-shrink:0;}
#company-picker .find,#company-picker .examples-wrap,#company-picker .hits,#company-picker .status {width:100%;margin-inline:0;}
#company-picker .find__row {max-width:none;}
#company-picker .hits {max-height:330px;overflow:auto;}
#company-picker .examples {gap:.4rem;}
#company-picker .examples button {font-size:.8rem;}
.application-dialog {width:min(800px,calc(100% - 2rem));}
.application-dialog h3 {font:500 1.65rem var(--font-display);line-height:1.25;}
.application-dialog pre {white-space:pre-wrap;overflow-wrap:anywhere;font:300 .85rem/1.6 var(--font-ui);}
#return-results {margin-top:1rem;border:1px solid #7c9ca2;background:#edf3ef;color:#396e77;padding:.65rem 1rem;border-radius:20px;cursor:pointer;}
.compare-local-actions {display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:.5rem 0 1rem;}
.compare-local-actions button {border:1px solid #cec1d8;background:#fffdf8;padding:.5rem .75rem;border-radius:20px;font-size:.8rem;cursor:pointer;}
.compare-local-actions > span {margin-right:auto;color:var(--sage);font-size:.75rem;}
.compare-local-actions button:disabled {opacity:.5;cursor:not-allowed;}
#single-view .stage {margin-top:1.5rem;}
#dna-evidence,#evidence {scroll-margin-top:180px;}
@media(max-width:1000px) {
  .workspace-header {gap:1rem;}.workspace-actions {gap:.65rem;}.workspace-actions #back-classic {display:none;}
  .context-grid {gap:.55rem;}.context-company {flex:1;}.context-period {min-width:140px;}.context-field {min-width:110px;flex:.7;}
}
@media(max-width:760px) {
  .workspace-header {flex-wrap:wrap;padding:1rem 0;gap:.75rem;}.workspace-brand {flex:1;}.workspace-nav {margin-left:auto;}
  .workspace-actions {width:100%;margin-left:0;justify-content:space-between;}.workspace-actions #back-classic {display:inline;}
  .research-context {padding:.75rem;}.research-context > summary {display:grid;grid-template-columns:1fr auto;gap:.3rem;cursor:pointer;list-style:none;}
  .research-context > summary .kicker {grid-column:1/-1;font-size:.6rem;}.research-context > summary > span:last-child {font-size:.65rem;color:#796186;align-self:center;}
  #context-summary {font-size:.8rem;line-height:1.4;}.research-context[open] .context-grid {margin-top:1rem;}
  .context-grid {display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}.context-company {min-width:0;}.context-period {min-width:0;}.context-field {min-width:0;}
  .context-compare {justify-self:start;align-self:end;margin:0;}.context-note {font-size:.7rem;}
  .research-tabs {gap:1.1rem;}.research-tabs button {font-size:.8rem;}
  .empty-state {padding:2.2rem 1.4rem;}.empty-state h1 {font-size:2.8rem;}
  .research-dialog {padding:1rem;max-height:90dvh;}.dialog-heading h2 {font-size:1.7rem;}
  .compare-local-actions {gap:.45rem;}.compare-local-actions > span {width:100%;order:3;}
  .bridge-arena {display:grid;grid-template-columns:1fr 1fr;height:auto;padding-bottom:1rem;}
  .compare-crystal,.compare-crystal:first-child,.compare-crystal:nth-child(2) {position:relative;top:auto;left:auto;right:auto;width:100%;grid-row:1;}
  .compare-crystal:first-child {grid-column:1;}.compare-crystal:nth-child(2) {grid-column:2;}
  .compare-crystal .lq-stage {height:220px;min-height:220px;}
  .bridge-wires {display:none;}.bridge-identity,.bridge-identity--a,.bridge-identity--b {position:static;width:100%;grid-row:2;}
  .bridge-identity--a {grid-column:1;}.bridge-identity--b {grid-column:2;}.bridge-identity h3 {font-size:1.2rem;}
  .bridge-fields {position:static;grid-column:1/-1;grid-row:3;width:100%;padding:1rem .25rem 0;gap:.5rem;}
  .bridge-field {grid-template-columns:65px 1fr 65px;height:auto;min-height:65px;}.bridge-field__label>span {font-size:.7rem;}
  .bridge-field__gap {display:block;margin-left:0;}.bridge-caption {font-size:.65rem;line-height:1.5;}
  .bridge-insight {padding:1rem;}.bridge-insight h3 {font-size:1.5rem;}.bridge-shares {gap:.65rem;}.bridge-shares strong {font-size:1.5rem;}
  .compare-evidence-grid {grid-template-columns:1fr;gap:1rem;}.compare-section-heading {align-items:start;flex-direction:column;gap:0;}
  .rights-strip th:first-child {width:42%;}.rights-strip th,.rights-strip td {padding:.6rem .25rem;}.rights-strip tbody th {font-size:.75rem;}.rights-strip thead th {font-size:.65rem;overflow-wrap:anywhere;}
  #dna-evidence,#evidence {scroll-margin-top:130px;}
}

/* Company movements: observation cards and source-linked application stories. */
#single-view[data-movement] .stage { align-items:center; grid-template-columns:minmax(0,57fr) minmax(0,43fr); }
#single-view[data-movement] .lq-stage { height:470px; }
#single-view[data-movement] .reading > p:has(#classic-company) { margin:.5rem 0 1.4rem; font-size:.82rem; }
.movement-title { font:500 clamp(1.9rem,3vw,2.8rem)/1.05 var(--font-display); margin:.3rem 0 .3rem; }
.movement-intro { margin:0 0 1.1rem; color:var(--sage); font-size:.9rem; }
.movement-cards { display:grid; gap:.8rem; }
.movement-card { --motion:#9c794c; position:relative; width:100%; display:grid; grid-template-columns:1.1rem 1fr auto; grid-template-areas:'marker title number' '. hint number' '. unit unit' '. prior cta'; gap:.25rem .65rem; text-align:left; background:linear-gradient(120deg,#fffcf5,rgba(255,255,255,.45)); border:1px solid #c9bba5; border-radius:8px; padding:1rem 1.1rem .85rem; cursor:pointer; color:var(--ink); box-shadow:0 5px 16px #41372a06; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.movement-card--restorations { --motion:#3d7c88; }
.movement-card--journeys { --motion:#79649a; }
.movement-card:hover { border-color:var(--motion); box-shadow:0 9px 24px #41372a12; }
.movement-card[aria-pressed=true] { border-color:var(--motion); transform:translateY(-3px); box-shadow:0 12px 25px #41372a12,inset 3px 0 0 var(--motion); background:linear-gradient(120deg,#fffdf8,#f1ede5); }
.movement-card:focus-visible,.journey-app:focus-visible { outline:2px solid var(--motion,var(--teal)); outline-offset:4px; }
.movement-card__marker { grid-area:marker; color:var(--motion); align-self:center; font-size:1rem; }
.movement-card__title { grid-area:title; font-weight:500; font-size:1.05rem; }
.movement-card__number { grid-area:number; font:500 2.8rem/.95 var(--font-display); color:var(--motion); align-self:center; padding-left:.5rem; }
.movement-card__hint { grid-area:hint; color:#62717b; font-size:.81rem; }
.movement-card__unit { grid-area:unit; color:#455968; font-size:.78rem; }
.movement-card__prior { grid-area:prior; color:#62717b; font-size:.78rem; padding-top:.6rem; border-top:1px solid var(--line); margin-top:.35rem; }
.movement-card__prior b { color:var(--ink); font-weight:500; }
.movement-card__cta { grid-area:cta; color:var(--motion); font-size:.75rem; justify-self:end; align-self:end; padding:.6rem 0 0 .3rem; border-top:1px solid var(--line); margin-top:.35rem; white-space:nowrap; }
.movement-card__cta span { padding-left:.4rem; }
.movement-period { display:flex; align-items:stretch; gap:.7rem; margin:1.1rem 0 .5rem; }
.movement-period__line { flex:0 0 2px; background:linear-gradient(#c5b396,#8daeb1); }
.movement-period p { font-size:.8rem; color:var(--sage); line-height:1.5; margin:0; }
.movement-period strong { font-weight:400; color:var(--ink); }
.movement-overlap { font-size:.76rem; line-height:1.5; }
.movement-jump { display:inline-block; font-size:.85rem; margin-top:.4rem; color:#476575; text-underline-offset:4px; }
.movement-caption { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.45rem .6rem; font-size:.8rem; margin:.3rem auto 0; color:#546873; }
.movement-caption strong { font-weight:500; }
.movement-caption > span:last-child { width:100%; text-align:center; font-size:.72rem; opacity:.85; }
.movement-caption__dots { display:flex; align-items:center; width:54px; }
.movement-caption__dots i { display:block; width:6px; height:6px; border:1px solid #a88555; border-radius:50%; }
.movement-caption__dots b { flex:1; height:1px; background:linear-gradient(90deg,#a88555,#79a7ae); }
.movement-caption__dots i:last-child { border-color:#79a7ae; background:#79a7ae; }
.movement-evidence { scroll-margin-top:230px; border-top:1px solid var(--line); padding-top:1.4rem; }
.movement-evidence__head { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.movement-evidence__head h2 { margin:.2rem 0 .6rem; font-size:2rem; }
.movement-evidence .evidence-count { font-size:.88rem; }
.journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.journey-card { background:radial-gradient(ellipse at 90% 0,#dce8e43d,transparent 65%),#fffdf7; border:1px solid #c7c8bd; border-radius:10px; padding:1.25rem; box-shadow:0 10px 30px #3a41330a; min-width:0; }
.journey-card.is-open { outline:2px solid var(--teal); }
.journey-card__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; align-items:center; }
.journey-card__head .kicker { font-size:.64rem; color:#78658c; }
.journey-card__head > span:last-child { color:var(--sage); font-size:.7rem; }
.journey-card h3 { font:500 1.4rem/1.25 var(--font-display); margin:.8rem 0 .4rem; overflow-wrap:anywhere; }
.journey-app { color:#376d78; background:transparent; border:0; border-bottom:1px solid #8bafb5; font-size:.82rem; padding:.25rem 0; text-align:left; cursor:pointer; }
.journey-steps { display:flex; gap:.7rem; align-items:center; border-block:1px solid var(--line); margin:1.2rem 0 1rem; padding:1.2rem 0; }
.journey-step { display:grid; gap:.3rem; flex:1; min-width:0; font-size:.78rem; }
.journey-step strong { font-weight:500; }
.journey-step span { color:#5a6e79; }
.journey-step i { width:9px; height:9px; border-radius:50%; background:#a88451; box-shadow:0 0 0 4px #a8845115; margin-bottom:.4rem; }
.journey-step--restore i { background:#508d96; box-shadow:0 0 0 4px #508d9615; }
.journey-link { color:#6f999c; font-size:1.4rem; }
.journey-sources,.movement-record details { color:#526777; font-size:.78rem; line-height:1.5; }
.journey-sources summary,.movement-record summary { cursor:pointer; }
.journey-source { display:grid; gap:.25rem; border-left:2px solid #b4a585; margin-top:.8rem; padding:.5rem .8rem; }
.journey-source + .journey-source { border-color:#79a7ae; }
.journey-source strong { font-weight:500; }
.journey-source p { white-space:pre-wrap; overflow-wrap:anywhere; }
.movement-record-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.movement-record { min-width:0; background:#fffcf5; border:1px solid var(--line); border-radius:8px; padding:1rem; }
.movement-record .kicker { font-size:.62rem; }
.movement-record h3 { font-size:1.1rem; line-height:1.35; font-weight:400; margin:.7rem 0; overflow-wrap:anywhere; }
.movement-record p { color:#526777; font-size:.78rem; overflow-wrap:anywhere; }
.movement-empty { border-left:2px solid #a7b8b1; padding:1rem; color:#526777; font-size:.9rem; background:#ffffff50; }
#movement-panel .is-error,.movement-evidence .is-error { color:#9a4134; }
@media(max-width:900px) { .movement-record-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 #single-view[data-movement] .stage { grid-template-columns:1fr; }
 #single-view[data-movement] .crystal { order:1; }
 #single-view[data-movement] .lq-stage { height:280px; min-height:260px; }
 .movement-caption { margin-top:0; }
 .journey-grid { grid-template-columns:1fr; }
 .movement-evidence { scroll-margin-top:150px; }
}
@media(max-width:480px) {
 .movement-card { padding:.9rem; gap:.25rem .4rem; }
 .movement-card__number { font-size:2.5rem; }
 .movement-card__title { font-size:1rem; }
 .movement-card__hint { font-size:.75rem; }
 .movement-card__prior { font-size:.72rem; }
 .movement-card__cta { font-size:.7rem; }
 .movement-record-grid { grid-template-columns:1fr; }
 .journey-card { padding:1rem; }
 .movement-evidence__head { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
 .movement-card { transition:none; }
 .movement-card[aria-pressed=true] { transform:none; }
}

/* Application story: month-spaced observation rail with a separate source reader. */
.application-dialog { width:min(1240px,calc(100% - 2rem)); max-height:92vh; padding:1.4rem; overflow:auto; }
.application-dialog > .dialog-heading { margin-bottom:1rem; }
.application-dialog .story-identity h3 { max-width:52rem; font-size:clamp(1.5rem,2.5vw,2.25rem); margin:.4rem 0 .6rem; }
.story-meta { display:flex; flex-wrap:wrap; gap:.4rem .65rem; align-items:center; font-size:.8rem; color:#526977; }
.story-meta > span:first-child { font-weight:500; color:#263f49; }
.story-ipc { border:1px solid #c4d2cd; padding:.2rem .45rem; border-radius:4px; background:#eef2eb; }
.story-parties { font-size:.76rem; color:#5b727c; margin:.8rem 0 1rem; max-width:54rem; }
.story-parties summary { cursor:pointer; }
.story-parties p { overflow-wrap:anywhere; }
.story-scope { display:flex; gap:.7rem; align-items:stretch; background:#e9eee780; border:1px solid #d5dbd1; border-radius:6px; padding:.75rem .9rem; margin:1rem 0; }
.story-scope__mark { width:3px; background:linear-gradient(#6a598b,#7da3a0); flex-shrink:0; }
.story-scope strong { font-size:.84rem; font-weight:500; }
.story-scope p { font-size:.75rem; margin:.25rem 0 0; color:#546d78; }
.story-legend { display:flex; flex-wrap:wrap; gap:.45rem 1rem; margin:1rem 0; font-size:.72rem; color:#566d78; }
.story-legend span { display:flex; align-items:center; gap:.35rem; }
.story-legend i { width:7px; height:7px; border-radius:50%; background:#86928c; }
.story-legend .tone-research { background:#6d929e; }.story-legend .tone-grant {background:#b29c60;}.story-legend .tone-lapse {background:#b38b52;}.story-legend .tone-restore {background:#4d9999;}
.story-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:1.1rem; align-items:start; }
.story-path { min-width:0; border:1px solid #d5d6ca; border-radius:9px; background:radial-gradient(ellipse at 80% 5%,#d8e5e030,transparent 70%),#f5f2e8; overflow:hidden; }
.story-path__heading { display:flex; align-items:flex-start; gap:.7rem; justify-content:space-between; padding:1rem 1rem 0; }
.story-path__heading .kicker { font-size:.66rem; }
.story-path__heading .scope { font-size:.73rem; margin:.35rem 0 0; }
.story-path__heading > span { font-size:.72rem; white-space:nowrap; color:#627782; }
.story-rail { overflow:auto; max-height:500px; margin:.4rem .3rem; scrollbar-width:thin; scrollbar-color:#849f9d #e7e8dd; overscroll-behavior:contain; }
.story-rail:focus-visible {outline:2px solid #6d8d98;outline-offset:-2px;}
.story-plot { position:relative; isolation:isolate; }
.story-track { position:absolute; left:0; top:0; filter:drop-shadow(0 5px 4px #19343c25); }
.story-stop { position:absolute; width:196px; }
.story-stop__connector { position:absolute; width:1px; height:var(--connector); left:98px; top:calc(0px - var(--connector)); background:#6f9495; z-index:0; }
.story-plate { position:relative; z-index:2; border:1px solid #b8c4bc; border-bottom:3px solid #879a94; border-radius:5px; padding:.7rem; background:linear-gradient(145deg,#fffef8,#e9ece3); box-shadow:2px 7px 9px #1e374216; transition:transform .2s,box-shadow .2s,border-color .2s; }
.story-stop.has-selection .story-plate { transform:translateY(-8px); border-color:#82729d; box-shadow:0 9px 17px #60517826,0 0 0 1px #b4a2ce40; }
.story-stop.has-selection .story-stop__connector { height:calc(var(--connector) - 8px); }
.story-stop.is-outside:not(.has-selection) .story-plate { background:linear-gradient(145deg,#efeee7,#e3e6df); border-color:#ced2c7; box-shadow:1px 4px 6px #20333b08; }
.story-stop.is-outside:not(.has-selection) .story-event { color:#596e74; }
.story-plate__heading {display:grid;gap:.2rem; padding-bottom:.5rem; border-bottom:1px solid #cdd3c8; margin-bottom:.45rem;}
.story-plate__heading strong {font-size:.85rem; font-weight:500; color:#2d4f59;}
.story-plate__heading small {font-size:.64rem;color:#657b82;}
.story-stop__events {display:grid; gap:.35rem;}
.story-stop__events.is-expanded {max-height:130px;overflow-y:auto;scrollbar-width:thin;}
.story-event {--tone:#82928c; display:grid; grid-template-columns:7px 1fr;gap:.15rem .4rem;width:100%;padding:.45rem .4rem;text-align:left;border:1px solid #ccd3c8;border-radius:4px;background:#fffcf4;color:#2e454e;cursor:pointer; font-size:.73rem;min-height:42px;}
.story-event--research {--tone:#6d929e;}.story-event--grant {--tone:#b29c60;}.story-event--lapse {--tone:#b38b52;}.story-event--restore {--tone:#4d9999;}
.story-event i {width:6px;height:6px;background:var(--tone);border-radius:50%;margin-top:3px;}
.story-event span {line-height:1.3;}
.story-event small {grid-column:2;font-size:.6rem;color:#657c83;}
.story-event:hover {border-color:var(--tone);}
.story-event[aria-pressed=true] {border-color:var(--tone);background:#edf0e8;box-shadow:inset 2px 0 0 var(--tone);}
.story-event.is-related {border-color:#b38b52;box-shadow:inset 2px 0 0 #b38b52;}
.story-event:focus-visible,.story-expand:focus-visible {outline:2px solid #6d5c8c;outline-offset:2px;}
.story-expand {display:block;width:100%;text-align:left;margin-top:.5rem;background:transparent;border:0;color:#376d78;font-size:.7rem;padding:.2rem 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.story-order-note {font-size:.6rem;color:#617780;line-height:1.35;margin:.5rem 0 0;}
.story-axis-note {font-size:.7rem;line-height:1.5;color:#607782;margin:.5rem 1rem 1rem;}
.story-source {position:sticky;top:0; padding:1.1rem; border:1px solid #c5cec3;border-radius:8px;background:#fffcf5;box-shadow:0 8px 22px #1d353b08;min-width:0;}
.story-source__head {display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;}
.story-type {font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#6c807a;}
.story-type--restore {color:#397b80;}.story-type--lapse {color:#98703a;}.story-type--grant {color:#8c7846;}.story-type--research {color:#557c8b;}
.story-source-id {font-size:.64rem;color:#6a7d86;}
.story-source h4 {font:500 1.7rem/1.15 var(--font-display);margin:.7rem 0;}
.story-observed {font-size:.8rem;color:#4c6976;line-height:1.5;}
.story-observed strong {font-weight:500;color:#253e49;}
.story-facts {margin:1rem 0;font-size:.75rem;}
.story-facts div {display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-top:1px solid #dfe1d7;padding:.55rem 0;}
.story-facts dt {color:#627982;}.story-facts dd {margin:0;color:#334f5a;overflow-wrap:anywhere;}
.story-linked-note {border-left:2px solid #b38b52;padding-left:.6rem;font-size:.73rem;line-height:1.5;color:#6c705f;}
.story-excerpt {font-size:.77rem;line-height:1.5;color:#486571;}
.story-excerpt summary {cursor:pointer;}
.application-dialog .story-excerpt pre {font-size:.73rem;max-height:230px;overflow:auto;white-space:pre-wrap;background:#f2f0e8;padding:.7rem;}
.story-source__links {display:grid;gap:.6rem;margin:1rem 0;font-size:.76rem;}
.story-source__caveat {font-size:.7rem;line-height:1.5;color:#657983;border-top:1px solid #dfe1d7;padding-top:.7rem;}
.story-undated {padding:1rem;border-top:1px solid #d4d8cc;}
.story-undated .story-stop {position:relative;left:auto;top:auto;width:100%;}.story-undated .story-stop__connector {display:none;}
.application-dialog > #return-results {margin-top:1.1rem;}
@media(max-width:760px) {
 .application-dialog {width:calc(100% - 1rem);padding:1rem;max-height:94vh;}
 .story-layout {display:block;}
 .story-rail {overflow:visible;max-height:none;margin:.7rem;}
 .story-plot {width:auto!important;height:auto!important;padding-left:1rem;}
 .story-track {display:none;}
 .story-plot:before {content:'';position:absolute;left:1px;top:0;bottom:0;width:2px;background:linear-gradient(#719492,#213f49);}
 .story-stop {position:relative;left:auto!important;top:auto!important;width:auto;margin:0 0 1.1rem;}
 .story-stop__connector {top:25px!important;left:-15px;width:15px;height:1px!important;background:#6f9495;}
 .story-stop.has-selection .story-plate {transform:none;}
 .story-source--inline {position:static;margin:.8rem 0 0;}
 .story-path__heading {padding:.9rem .8rem 0;}
 .story-source h4 {font-size:1.5rem;}
 .story-legend {gap:.4rem .65rem;font-size:.66rem;}
 .story-scope {padding:.65rem;}
 .story-scope strong {font-size:.77rem;}
}
@media(prefers-reduced-motion:reduce) {.story-plate {transition:none;}.story-stop.has-selection .story-plate {transform:none;}.story-stop.has-selection .story-stop__connector {height:var(--connector);}}
.application-dialog > .dialog-heading {position:sticky;top:-1.4rem;z-index:12;background:#fbf8f1;padding:.4rem 0 .6rem;border-bottom:1px solid #ddd9cd;}
@media(min-width:761px) {.story-plate {transform:perspective(900px) rotateX(5deg);transform-origin:center bottom;}.story-stop.has-selection .story-plate {transform:perspective(900px) rotateX(0deg) translateY(-8px);}}
@media(max-width:760px) {.application-dialog > .dialog-heading {top:-1rem;}}
@media(prefers-reduced-motion:reduce) {.story-plate,.story-stop.has-selection .story-plate {transform:none;}}
.story-event span {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(min-width:761px) {.application-dialog .story-source {top:90px;}}

/* Rights movement field selection: all bars share one full-period application scale. */
#single-view[data-movement] .stage {align-items:start;}
#single-view[data-movement] .lq-stage {height:390px;min-height:340px;}
.movement-orbits {position:absolute;inset:0;pointer-events:none;z-index:2;}
.movement-orbits svg {width:100%;height:100%;overflow:visible;}
.movement-orbits ellipse {fill:none;stroke:#8b74aa33;stroke-width:.2;stroke-dasharray:1 1.5;}
.movement-orbits path {fill:none;stroke:#8a9d9a33;stroke-width:.18;}
.movement-orbits path.is-selected {stroke:#8c6eae;stroke-width:.45;}
.movement-pin {position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border:1px solid #c4b7d5;border-radius:20px;background:#fcf8f0eb;box-shadow:0 4px 13px #51406812;font-size:.75rem;font-weight:400;color:#67527e;cursor:pointer;}
.movement-pin i {width:5px;height:5px;border-radius:50%;background:#9d8ab2;}
.movement-pin[aria-pressed=true] {background:#715c8f;color:#fff;border-color:#715c8f;box-shadow:0 0 0 4px #9a80b51f,0 5px 17px #715c8f30;}
.movement-pin[aria-pressed=true] i {background:#e3d7f0;}
.movement-pin > span {display:none;position:absolute;left:50%;top:calc(100% + .4rem);transform:translateX(-50%);font-size:.68rem;font-weight:300;white-space:normal;text-align:center;width:135px;color:#344e59;background:#fffdf7;border:1px solid #d5cbdc;border-radius:5px;padding:.35rem .45rem;box-shadow:0 4px 14px #263c4210;}
.movement-pin:hover > span,.movement-pin:focus-visible > span {display:block;}
.movement-pin:focus-visible {outline:2px solid #426c76;outline-offset:3px;}
.movement-technology {margin:1.3rem 0 0;padding:1.1rem;border:1px solid #d1cebf;border-radius:10px;background:linear-gradient(145deg,#fffdf7e6,#eeeee3b3);box-shadow:0 10px 25px #2f41430a;scroll-margin-top:230px;}
.movement-tech__heading {display:flex;justify-content:space-between;align-items:start;gap:.6rem;}
.movement-tech__heading .kicker {font-size:.61rem;letter-spacing:.12em;}
.movement-tech__heading h3 {font:500 1.7rem/1.1 var(--font-display);margin:.35rem 0 .75rem;}
.movement-tech__selection {font-size:.66rem;border:1px solid #cec3d6;color:#67527e;border-radius:15px;padding:.3rem .5rem;white-space:nowrap;background:#f4eff7;}
.movement-tech__controls {display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;}
.movement-tech__controls button {border:1px solid #ccd0c6;border-radius:5px;padding:.4rem .5rem;background:#fffdf6;font-size:.72rem;cursor:pointer;}
.movement-tech__controls button[aria-pressed=true] {border-color:#7f699a;background:#ece7f1;box-shadow:inset 0 -2px #9a85b3;}
.movement-tech__controls .movement-missing {color:#62716f;background:#eff0e9;}
.movement-missing b {font-weight:500;margin-left:.35rem;}
.movement-tech__legend {display:flex;flex-wrap:wrap;gap:.4rem .8rem;font-size:.65rem;color:#526d77;margin:.4rem 0 .6rem;}
.movement-tech__legend > span {display:flex;align-items:center;gap:.3rem;}
.movement-tech__legend i {width:6px;height:6px;border-radius:50%;background:#ac8451;}
.movement-tech__legend > span:nth-child(2) i {background:#508e97;}
.movement-tech__legend small {font:inherit;margin-left:auto;color:#6d7d83;}
.movement-field-list {display:grid;gap:.35rem;}
.movement-field {display:grid;grid-template-columns:3rem 1fr;gap:.15rem .4rem;width:100%;text-align:left;padding:.6rem .65rem;border:1px solid #d2d5c9;border-radius:5px;background:#fffcf6;color:#2c4651;cursor:pointer;}
.movement-field:hover {border-color:#ad9cbd;}
.movement-field[aria-pressed=true] {border-color:#8c76a3;background:linear-gradient(110deg,#eee7f3,#fffcf6);box-shadow:inset 2px 0 #8c76a3;}
.movement-field__code {font-size:.76rem;font-weight:500;color:#756089;}
.movement-field__name {font-size:.73rem;color:#4d6773;line-height:1.35;}
.movement-field__bars {grid-column:1/-1;display:grid;gap:.25rem;margin-top:.25rem;}
.movement-bar {display:grid;grid-template-columns:1fr 1.8rem;gap:.55rem;align-items:center;}
.movement-bar__track {height:4px;background:#e8e8df;border-radius:2px;overflow:hidden;}
.movement-bar__track i {display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#cfb58e,#9d7846);}
.movement-bar--restore .movement-bar__track i {background:linear-gradient(90deg,#a1c4c2,#4a8691);}
.movement-bar b {font-size:.68rem;line-height:1;font-weight:400;text-align:right;font-variant-numeric:tabular-nums;color:#8a683b;}
.movement-bar--restore b {color:#3e7883;}
.movement-tech__expand {font-size:.75rem;background:none;border:0;padding:.6rem 0 .3rem;color:#4d7180;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.movement-tech__coverage {font-size:.72rem;line-height:1.5;color:#516d77;border-top:1px solid #d8d9ce;margin:.8rem 0 .4rem;padding-top:.7rem;}
.movement-tech__coverage strong {font-weight:500;color:#294954;}
.movement-tech__source,.movement-tech__missing-note {font-size:.68rem;line-height:1.5;color:#65787e;margin:.4rem 0;}
.movement-technology .method {font-size:.71rem;}
.movement-tech__return {font-size:.72rem;display:inline-block;margin:.35rem 0;color:#567c85;}
.movement-field-empty {border-left:2px solid #ac98bd;padding-left:.6rem;margin:.6rem 0;font-size:.75rem;}
.movement-filter-scope {font-size:.8rem;color:#715c8f;margin:.2rem 0 1rem;padding-left:.6rem;border-left:2px solid #ab99bf;}
.movement-filter-scope a {font-size:.73rem;color:#597987;margin-left:.4rem;white-space:nowrap;}
.movement-record-ipc {font-size:.69rem!important;line-height:1.45;color:#6c6281!important;margin:.5rem 0;}
.movement-evidence-scope {font-size:.78rem;color:#76628b;margin:.1rem 0 .5rem;}
#movement-panel {scroll-margin-top:230px;}
@media(max-width:800px) {
 #single-view[data-movement] .lq-stage {height:300px;min-height:280px;}
 .movement-technology {margin-top:1rem;scroll-margin-top:155px;}
 #movement-panel {scroll-margin-top:155px;}
}
@media(max-width:480px) {
 .movement-technology {padding:.9rem;}
 .movement-pin {font-size:.7rem;padding:.3rem .4rem;}
 .movement-tech__heading h3 {font-size:1.6rem;}
 .movement-field__name {font-size:.7rem;}
}
.movement-tech__controls .movement-missing[aria-pressed=true] {border-color:#84948a;background:#e3e8df;box-shadow:inset 0 -2px #91a397;}
@media(max-width:480px) {.movement-pin {min-height:36px;min-width:59px;justify-content:center;}.movement-tech__controls button {min-height:38px;}}

/* Different paths: compact sculptural anchors above a common-scale evidence lens. */
.different-paths {padding-bottom:2rem;}
.paths-intro {display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:1.1rem 0 .4rem;}
.paths-intro h2 {font:500 clamp(1.8rem,3vw,2.4rem)/1.05 var(--font-display);margin:.25rem 0;}
.paths-intro>p {font-size:.83rem;line-height:1.5;color:var(--sage);max-width:245px;margin:0;}
.different-paths .compare-local-actions {margin:.5rem 0;}
.different-paths .compare-status:empty {display:none;}
.paths-hero {display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid #d7cfe0;border-bottom:1px solid #d7cfe0;min-height:190px;background:radial-gradient(ellipse at 50% 50%,#e4d8ee55,transparent 70%);}
.paths-company {display:flex;align-items:center;justify-content:center;min-width:0;gap:.35rem;}
.paths-company:last-child {flex-direction:row-reverse;}
.paths-crystal {flex:0 1 135px;width:135px;min-width:75px;position:relative;}
.paths-crystal .lq-stage {height:170px;min-height:170px;}
.paths-crystal canvas {width:100%;height:100%;}
.paths-crystal .crystal-fallback {font-size:.65rem;padding:.5rem;}
.paths-company h3 {font:500 clamp(1.1rem,2vw,1.5rem)/1.12 var(--font-display);margin:.3rem 0;overflow-wrap:anywhere;}
.paths-company .kicker {font-size:.63rem;}
.paths-company>div:last-child {max-width:165px;}
.paths-field {text-align:center;padding:.8rem .5rem;min-width:0;position:relative;}
.paths-field:before,.paths-field:after {content:'';position:absolute;width:26px;height:1px;background:#ad9bbd;top:50%;}
.paths-field:before {left:-18px;}.paths-field:after {right:-18px;}
.paths-field h3 {display:grid;gap:.3rem;margin:.3rem 0 .6rem;}
.paths-field h3 strong {font:500 2rem/1 var(--font-display);color:#725494;}
.paths-field h3 span {font-size:.78rem;font-weight:400;}
.paths-field label {display:block;font-size:.65rem;color:var(--sage);margin:.3rem 0;}
.paths-field select {width:100%;max-width:300px;min-height:36px;border:1px solid #cfc2d8;background:#fffdf8;border-radius:5px;padding:.4rem;font-size:.75rem;color:var(--ink);}
.paths-field p {font-size:.7rem;color:var(--sage);margin:.4rem 0 0;}
.paths-key {display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;color:#526571;margin:1rem 0 .5rem;}
.paths-key>span:last-child {display:flex;align-items:center;gap:.4rem;}
.paths-key i {display:inline-block;width:18px;height:6px;background:#527d84;border-radius:1px;}
.paths-key i.paths-ghost {background:#d6dcda;border:1px solid #a7b5b3;}
.paths-row {border-top:1px solid #d9d1ca;}
.paths-row:last-child {border-bottom:1px solid #d9d1ca;}
.paths-row-main {display:grid;grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);align-items:stretch;gap:0;}
.paths-measure {position:relative;display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;align-content:center;align-items:center;min-height:108px;border:0;background:transparent;text-align:left;padding:.85rem 1rem;cursor:pointer;color:var(--ink);border-radius:0;}
.paths-measure--a {grid-template-columns:1fr auto;text-align:right;}
.paths-measure--a .paths-count {grid-column:2;grid-row:1;}
.paths-measure--a .paths-track {grid-column:1;grid-row:1;}
.paths-count {font:500 2.35rem/1 var(--font-display);min-width:53px;font-variant-numeric:tabular-nums;}
.paths-count small {display:block;font:400 .6rem/1.4 var(--font-ui);color:var(--sage);margin-top:.2rem;}
.paths-track {position:relative;display:block;height:22px;background:linear-gradient(0deg,transparent 10px,#d6d4cc 10px,#d6d4cc 11px,transparent 11px);}
.paths-track i {position:absolute;top:6px;height:8px;left:0;border-radius:1px;}
.paths-track .paths-prior {top:2px;height:16px;background:color-mix(in srgb,var(--movement-color) 18%,transparent);border:1px solid color-mix(in srgb,var(--movement-color) 38%,transparent);}
.paths-track .paths-current {background:var(--movement-color);box-shadow:0 2px 6px color-mix(in srgb,var(--movement-color) 15%,transparent);}
.paths-measure--a .paths-track i {left:auto;right:0;}
.paths-measure-note {grid-column:1/-1;font-size:.65rem;line-height:1.35;color:var(--sage);}
.paths-measure[aria-expanded="true"] {background:linear-gradient(120deg,color-mix(in srgb,var(--movement-color) 11%,transparent),transparent);box-shadow:inset 0 -2px var(--movement-color);}
.paths-measure:hover:not(:disabled) {background-color:#ffffff60;}
.paths-measure:disabled {cursor:default;}
.paths-measure:focus-visible,.paths-app:focus-visible {outline:2px solid var(--movement-color,var(--teal));outline-offset:-3px;}
.paths-row-label {position:relative;text-align:center;display:flex;flex-direction:column;justify-content:center;padding:.7rem .5rem;}
.paths-row-label:before,.paths-row-label:after {content:'';position:absolute;top:35%;height:30%;width:1px;background:linear-gradient(transparent,#c5b9cd,transparent);}
.paths-row-label:before {left:0;}.paths-row-label:after {right:0;}
.paths-row-label>span {font-size:.58rem;color:var(--movement-color);letter-spacing:.15em;}
.paths-row-label h3 {font:500 1.4rem/1.1 var(--font-display);margin:.25rem 0;}
.paths-row-label small {font-size:.61rem;color:var(--sage);line-height:1.3;}
.paths-footnote {font-size:.7rem;color:var(--sage);line-height:1.5;margin:.7rem 0 1.3rem;}
.paths-drawer {padding:1.2rem 1.4rem;border-top:1px solid color-mix(in srgb,var(--movement-color) 35%,transparent);background:linear-gradient(130deg,color-mix(in srgb,var(--movement-color) 7%,#fffdf8),#fffdf8);animation:paths-unfold .22s ease-out;}
.paths-drawer--a {border-left:3px solid var(--movement-color);}.paths-drawer--b {border-right:3px solid var(--movement-color);}
.paths-drawer-heading {display:flex;align-items:start;justify-content:space-between;gap:.8rem;}
.paths-drawer-heading h4 {font:500 1.5rem var(--font-display);margin:.3rem 0;}
.paths-drawer-heading button {border:1px solid #cbc1b6;border-radius:20px;background:transparent;font-size:.72rem;padding:.4rem .7rem;cursor:pointer;}
.paths-drawer>p {font-size:.8rem;line-height:1.5;margin:.5rem 0;}
.paths-drawer .scope {font-size:.7rem;}
.paths-apps {margin:.9rem 0;}
.paths-app {width:100%;display:grid;grid-template-columns:180px 1fr auto;gap:1rem;align-items:center;text-align:left;border:0;border-top:1px solid #d9d3ca;background:transparent;color:var(--ink);padding:.8rem .2rem;cursor:pointer;}
.paths-app:last-child {border-bottom:1px solid #d9d3ca;}
.paths-app>span:first-child {display:grid;gap:.25rem;}
.paths-app strong {font-size:.82rem;font-weight:500;}
.paths-app small {font-size:.65rem;color:var(--sage);}
.paths-app>span:nth-child(2) {font-size:.8rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.paths-app>span:last-child {font-size:.73rem;color:var(--movement-color);white-space:nowrap;}
.paths-app:hover {background:#ffffff80;}
.paths-empty {padding:1rem;border-left:2px solid var(--movement-color);}
.paths-profile {border:1px solid #d4c9df;border-radius:6px;background:#f4eff655;}
.paths-profile>summary {cursor:pointer;padding:1rem 1.2rem;font:500 1.4rem var(--font-display);}
.paths-profile>summary>span {font:400 .7rem var(--font-ui);color:var(--sage);margin-left:.8rem;}
.paths-profile-body {padding:.4rem 1.2rem 1.2rem;border-top:1px solid #d4c9df;}
.paths-profile-fields {display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0;}
.paths-profile-fields button {border:1px solid #d4c9df;background:#fffdf8;border-radius:20px;padding:.5rem .7rem;font-size:.72rem;cursor:pointer;}
.paths-profile-fields [aria-pressed="true"] {border-color:var(--teal);color:var(--teal);}
.paths-profile h3 {font:500 1.6rem var(--font-display);}
@keyframes paths-unfold {from {opacity:.3;transform:translateY(-5px);}to {opacity:1;transform:none;}}
@media(max-width:800px) {
 .paths-hero {grid-template-columns:1fr 1.1fr 1fr;}
 .paths-company {flex-direction:column;gap:0;text-align:center;padding:.5rem 0;}
 .paths-company:last-child {flex-direction:column;}
 .paths-crystal {flex:auto;width:100%;max-width:120px;}
 .paths-crystal .lq-stage {height:110px;min-height:110px;}
 .paths-company>div:last-child {padding:0 .4rem;}
 .paths-company h3 {font-size:1.05rem;}
 .paths-field:before,.paths-field:after {display:none;}
 .paths-field h3 strong {font-size:1.65rem;}
 .paths-intro>p {display:none;}
 .paths-row-main {grid-template-columns:minmax(0,1fr) 155px minmax(0,1fr);}
 .paths-measure {padding:.7rem .5rem;gap:.2rem .4rem;}
 .paths-count {font-size:2rem;min-width:40px;}
 .paths-row-label h3 {font-size:1.2rem;}
 .paths-app {grid-template-columns:145px 1fr;gap:.6rem;}
 .paths-app>span:last-child {grid-column:2;}
}
@media(max-width:520px) {
 .paths-intro h2 {font-size:1.8rem;}
 .paths-field .kicker {font-size:.52rem;}
 .paths-field h3 span {font-size:.65rem;}
 .paths-field select {font-size:.65rem;}
 .paths-field p {font-size:.6rem;}
 .paths-key {display:grid;gap:.4rem;}
 .paths-row-main {grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);}
 .paths-measure {grid-template-columns:1fr;gap:.4rem;text-align:center;min-height:135px;}
 .paths-measure--a {grid-template-columns:1fr;}
 .paths-measure .paths-count {grid-column:1;grid-row:1;}
 .paths-measure .paths-track {grid-column:1;grid-row:2;width:100%;}
 .paths-count small {font-size:.56rem;}
 .paths-measure-note {font-size:.56rem;}
 .paths-row-label h3 {font-size:1.08rem;}
 .paths-row-label small {font-size:.56rem;}
 .paths-drawer {padding:1rem .8rem;}
 .paths-app {grid-template-columns:1fr;}
 .paths-app>span:last-child {grid-column:1;}
 .paths-profile>summary>span {display:block;margin:.35rem 0;}
}
@media(prefers-reduced-motion:reduce) {.paths-drawer {animation:none;}}
/* Fixed count columns keep the physical length of both bar scales identical. */
.paths-measure {grid-template-columns:88px minmax(0,1fr);}
.paths-measure--a {grid-template-columns:minmax(0,1fr) 88px;}
.paths-track i[style="width:0%"] {display:none;}
@media(min-width:521px) and (max-width:800px) {
 .paths-measure {grid-template-columns:58px minmax(0,1fr);}
 .paths-measure--a {grid-template-columns:minmax(0,1fr) 58px;}
}
@media(max-width:520px) {.paths-measure,.paths-measure--a {grid-template-columns:1fr;}}

/* Technology neighbours: a spatial index, with evidence in an ordinary reading flow. */
.neighbours-view {width:min(1120px,calc(100% - 2rem));margin:0 auto 2rem;}
.neighbours-intro {display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:1.3rem 0 .7rem;}
.neighbours-intro h2 {font:500 clamp(2.2rem,3.5vw,3rem)/1.02 var(--font-display);margin:.4rem 0;}
.neighbours-intro>p {max-width:300px;font-size:.9rem;line-height:1.6;color:var(--sage);margin:0 0 .4rem;}
.neighbours-status {display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.73rem;color:var(--sage);}
.neighbours-status p {margin:.2rem 0;line-height:1.4;}
.neighbours-status>span {white-space:nowrap;}
.neighbours-arena {isolation:isolate;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:1rem 2.6rem;min-height:350px;padding:1.3rem 0;background:radial-gradient(ellipse at 50% 50%,#dcd0e640,transparent 65%);}
.neighbours-arena>svg {position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;}
.neighbours-arena>svg path {stroke:#ac95bc88;stroke-width:1;fill:none;}
.neighbours-arena[data-count="2"] .neighbours-lower-wire,.neighbours-arena[data-count="1"] .neighbours-lower-wire,.neighbours-arena[data-count="0"]>svg {display:none;}
.neighbours-anchor {grid-column:2;grid-row:1/3;text-align:center;align-self:center;min-width:0;}
.neighbours-anchor .lq-stage {min-height:225px;height:225px;}
.neighbours-anchor .crystal-fallback {padding:2rem 1rem;font-size:.7rem;}
.neighbours-anchor .kicker {font-size:.6rem;margin:.2rem 0;}
.neighbours-anchor h3 {font:500 1.7rem/1.1 var(--font-display);margin:.4rem 0;overflow-wrap:anywhere;}
.neighbours-cards {display:contents;}
.neighbour-card {position:relative;min-width:0;display:grid;align-content:center;gap:.4rem;text-align:left;padding:1rem 1.15rem;border:1px solid #cfc2d8;border-radius:8px;background:linear-gradient(125deg,#fffcf6f5,#f1eaf5ee);box-shadow:0 8px 25px #3b2a4d09;color:var(--ink);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s;}
.neighbour-card--0 {grid-column:1;grid-row:1;}.neighbour-card--1 {grid-column:3;grid-row:1;}.neighbour-card--2 {grid-column:1;grid-row:2;}.neighbour-card--3 {grid-column:3;grid-row:2;}
.neighbours-arena[data-count="2"] .neighbour-card--0,.neighbours-arena[data-count="2"] .neighbour-card--1,.neighbours-arena[data-count="1"] .neighbour-card--0 {grid-row:1/3;align-self:center;min-height:180px;}
.neighbour-card__mark {position:absolute;right:.8rem;top:.6rem;color:#9576b0;font-size:1.3rem;}
.neighbour-card .kicker {font-size:.54rem;padding-right:1.2rem;}
.neighbour-card>strong {font-size:.9rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere;}
.neighbour-card__fields {color:#74528e;font-size:.84rem;letter-spacing:.04em;}
.neighbour-card__support {font-size:.69rem;color:var(--sage);line-height:1.4;}
.neighbour-card__cta {font-size:.7rem;color:var(--teal);margin-top:.25rem;}
.neighbour-card:hover {border-color:#8d75a4;transform:translateY(-2px);box-shadow:0 10px 30px #3b2a4d11;}
.neighbour-card[aria-expanded="true"] {border-color:var(--teal);background:linear-gradient(125deg,#eff6f1,#f3edf8);box-shadow:inset 3px 0 var(--teal),0 8px 26px #367b8210;}
.neighbour-card:focus-visible,.neighbours-view button:focus-visible,.neighbours-view select:focus-visible {outline:2px solid var(--teal);outline-offset:3px;}
.neighbours-caption {color:var(--sage);font-size:.7rem;line-height:1.5;text-align:center;margin:.3rem 0 1.3rem;}
.neighbours-empty {grid-column:1;grid-row:1/3;align-self:center;font:500 1.4rem/1.25 var(--font-display);padding:1rem;border-left:2px solid #a895bb;}
.neighbours-empty span {display:block;font:400 .78rem/1.6 var(--font-ui);color:var(--sage);margin-top:.7rem;}
.neighbour-detail {border:1px solid #b3cbcb;border-left:3px solid var(--teal);border-radius:7px;background:linear-gradient(120deg,#edf4f1,#fffdf8 65%);padding:1.4rem 1.6rem;animation:paths-unfold .22s ease-out;}
.neighbour-detail__heading {display:flex;align-items:start;justify-content:space-between;gap:1rem;}
.neighbour-detail__heading h3 {font:500 1.9rem/1.12 var(--font-display);margin:.4rem 0;overflow-wrap:anywhere;}
.neighbour-detail__heading button {flex-shrink:0;border:1px solid #b2c3c3;border-radius:20px;padding:.45rem .7rem;background:transparent;cursor:pointer;font-size:.72rem;}
.neighbour-detail>p {font-size:.82rem;line-height:1.6;max-width:850px;}
.neighbour-detail__lens {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;margin:1.2rem 0;}
.neighbour-detail label {display:block;font-size:.78rem;font-weight:500;margin-bottom:.5rem;}
.neighbour-detail select {width:100%;min-width:0;max-width:520px;border:1px solid #aebfc1;background:#fffdf8;border-radius:4px;padding:.6rem;font-size:.8rem;min-height:44px;}
.neighbour-detail__actions {display:grid;gap:.6rem;}
.neighbour-detail__actions button,.neighbours-context button,.neighbours-paging button {border:1px solid #bec6c5;border-radius:24px;padding:.65rem 1rem;background:#fffdf8;cursor:pointer;font-size:.8rem;min-height:44px;}
.neighbour-detail__actions button:first-child {border-color:var(--teal);background:var(--teal);color:#fff;}
.neighbour-preview {border-top:1px solid #b8cdcb;padding-top:1rem;}
.neighbour-preview__counts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:.8rem 0;}
.neighbour-preview__counts>div {border-left:2px solid #ae864f;padding:.4rem .8rem;display:grid;gap:.4rem;}
.neighbour-preview__counts>div:nth-child(2) {border-color:#3d7c88;}.neighbour-preview__counts>div:nth-child(3) {border-color:#9473b3;}
.neighbour-preview__counts span {font-size:.75rem;color:var(--sage);}
.neighbour-preview__counts strong {font:500 2rem/1 var(--font-display);font-variant-numeric:tabular-nums;}
.neighbour-preview__counts small {font-size:.8rem;color:#8c9b9e;}
.neighbours-context {margin:1.3rem 0;border-top:1px solid var(--line);padding-top:1rem;}
.neighbours-context p:not(.kicker) {font-size:.78rem;line-height:1.6;color:var(--sage);max-width:900px;}
.neighbours-paging {display:flex;justify-content:end;gap:.8rem;margin:1rem 0;font-size:.8rem;}
.neighbours-view .method {margin:1rem 0;}
.neighbours-view .scope {font-size:.73rem;line-height:1.55;}
@media(max-width:900px) {
 .neighbours-arena {grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:1rem;}
 .neighbours-anchor .lq-stage {height:190px;min-height:190px;}
 .neighbour-card {padding:.8rem;}.neighbour-card>strong {font-size:.8rem;}
 .neighbour-detail__lens {gap:1rem;}
}
@media(max-width:640px) {
 .neighbours-intro {display:block;}.neighbours-intro h2 {font-size:2.1rem;}.neighbours-intro>p {max-width:none;font-size:.78rem;}
 .neighbours-status {display:block;}.neighbours-status>span {display:block;margin:.45rem 0;white-space:normal;}
 .neighbours-arena {grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:.8rem;min-height:0;padding:.4rem 0 1rem;}
 .neighbours-arena>svg {display:none;}
 .neighbours-anchor {grid-column:1/-1;grid-row:1;max-width:260px;justify-self:center;width:100%;padding-bottom:.7rem;}
 .neighbours-anchor .lq-stage {height:150px;min-height:150px;}.neighbours-anchor h3 {font-size:1.45rem;}
 .neighbours-arena .neighbour-card {grid-column:auto;grid-row:auto;min-height:180px;align-self:stretch;}
 .neighbours-empty {grid-column:1/-1;grid-row:auto;}
 .neighbour-detail {padding:1rem;}.neighbour-detail__heading h3 {font-size:1.5rem;}
 .neighbour-detail__lens {grid-template-columns:1fr;}.neighbour-detail__actions {grid-template-columns:1fr;}
 .neighbour-preview__counts {gap:.5rem;}.neighbour-preview__counts>div {padding:.3rem .5rem;}
 .neighbour-preview__counts strong {font-size:1.5rem;}.neighbour-preview__counts span {font-size:.63rem;}
}
@media(max-width:400px) {.neighbours-arena {grid-template-columns:minmax(0,1fr);}.neighbour-card {min-height:150px!important;}}
@media(prefers-reduced-motion:reduce) {.neighbour-card {transition:none;}.neighbour-card:hover {transform:none;}.neighbour-detail {animation:none;}}
/* Reset the desktop two-card spanning rules before placing cards in the mobile flow. */
@media(max-width:640px) {
 .neighbours-arena[data-count] .neighbour-card {grid-column:auto;grid-row:auto;align-self:stretch;}
}

.neighbours-view .neighbour-scale-controls {display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0 .45rem;}
.neighbours-view .neighbour-scale-controls button,.neighbours-empty button {font:400 .8rem var(--font-ui);min-height:44px;border:1px solid #c9c0d2;background:#fffcf6;border-radius:24px;padding:.6rem 1rem;cursor:pointer;}
.neighbours-view .neighbour-scale-controls button[aria-pressed="true"] {border-color:var(--teal);background:#e6f0ec;color:#275c66;box-shadow:inset 0 -2px var(--teal);}
.neighbours-view #neighbours-scale-controls>.scope {margin:.4rem 0 .8rem;}
.neighbours-empty button {margin-top:.5rem;}

/* Keep movement evidence in the reading column, independent of the taller field panel. */
#single-view[data-movement] .reading { min-width:0; }
.reading > .movement-evidence { margin-top:1.5rem; }
.reading > .movement-evidence .movement-record-grid,
.reading > .movement-evidence .journey-grid { grid-template-columns:minmax(0,1fr); }
.reading > .movement-evidence .movement-evidence__head { flex-wrap:wrap; gap:.5rem; }
.reading > .movement-evidence .journey-app { overflow-wrap:anywhere; }

/* Ownership plates: readable names stay flat above the dimensional objects. */
.ownership-view {width:min(1120px,calc(100% - 2rem));margin:2rem auto 0;}
.ownership-heading {display:flex;justify-content:space-between;align-items:start;gap:1rem;}
.ownership-heading h1 {font:500 clamp(2.2rem,4vw,3.5rem)/1.05 var(--font-display);margin:.4rem 0;}
.ownership-heading p:not(.kicker) {font-size:.9rem;color:var(--sage);max-width:48rem;}
.ownership-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.8rem 0;}
.ownership-metrics button {display:grid;text-align:left;gap:.35rem;border:1px solid #c7d1cd;border-radius:9px;padding:1rem;background:#fffdf680;color:var(--ink);cursor:pointer;}
.ownership-metrics button:disabled {cursor:default;}
.ownership-metrics button>span {font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;}
.ownership-metrics strong {font:500 2.7rem var(--font-display);}
.ownership-metrics small {font-size:.72rem;color:var(--sage);}
.ownership-metrics button[aria-expanded=true] {border-color:var(--teal);box-shadow:inset 0 -3px var(--teal);}
.ownership-map {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:2rem;align-items:center;padding:2rem 1rem;background:radial-gradient(ellipse at 50% 48%,#b9cfca38,transparent 68%);border-block:1px solid var(--line);}
.ownership-side {min-width:0;display:grid;gap:1rem;}
.ownership-side__label {font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:flex;justify-content:space-between;}
.ownership-side__empty {padding:1rem;border:1px dashed #c9d0c8;border-radius:7px;}
.ownership-connection {--edge:#55878b;position:relative;isolation:isolate;display:grid;text-align:left;gap:.55rem;padding:1.25rem 1rem 1rem;min-width:0;width:100%;border:1px solid #bac9c3;border-radius:8px;background:linear-gradient(145deg,#fffdf5,#e4eae3);color:var(--ink);box-shadow:0 10px 20px #1e3f4210;cursor:pointer;}
.ownership-connection--outgoing {--edge:#a88450;}
.ownership-connection--unresolved {--edge:#8a7999;background:#f3eff1;border-color:#c8bfd0;}
.ownership-connection strong {font-size:.86rem;line-height:1.4;font-weight:500;overflow-wrap:anywhere;}
.ownership-connection .kicker {font-size:.6rem;color:var(--edge);}
.ownership-connection__count {font-size:.8rem;font-variant-numeric:tabular-nums;}
.ownership-connection__count small {display:block;font-size:.68rem;color:var(--sage);margin-top:.2rem;}
.ownership-connection__cta {font-size:.68rem;color:var(--edge);padding-top:.5rem;border-top:1px solid #bbc6bd75;}
.ownership-connection::after {content:'';position:absolute;top:50%;width:2rem;height:1px;background:linear-gradient(90deg,var(--edge),#92a9a380);pointer-events:none;}
.ownership-connection--incoming::after {left:100%;}
.ownership-connection--outgoing::after {right:100%;}
.ownership-connection--unresolved::after {display:none;}
.ownership-connection:hover {border-color:var(--edge);}
.ownership-connection[aria-expanded=true] {border-color:var(--edge);box-shadow:0 0 0 2px color-mix(in srgb,var(--edge) 20%,transparent),0 12px 28px #244f4b1b;}
.ownership-connection[aria-expanded=true]::after {height:2px;animation:ownership-light .65s ease-out;}
.ownership-plate {height:32px;position:relative;display:block;perspective:160px;margin:0 .5rem .2rem;}
.ownership-plate i {position:absolute;inset:0;background:linear-gradient(125deg,#a9c1be,#d6e1da);border:1px solid #809d98;border-bottom:3px solid #55726d;border-radius:2px;transform:rotateX(40deg);box-shadow:0 4px 5px #24434022;transition:transform .3s ease;}
.ownership-plate i:nth-child(1) {top:6px;}.ownership-plate i:nth-child(2) {top:3px;}
.ownership-connection--outgoing .ownership-plate i {background:linear-gradient(125deg,#b3a48b,#e1dacb);border-color:#9b8b70;}
.ownership-connection[aria-expanded=true] .ownership-plate i:last-child {transform:translateY(-8px) rotateX(40deg);background:#d6ebe7;}
.ownership-anchor {position:relative;min-width:0;text-align:center;padding:2.5rem .5rem;}
.ownership-anchor h2 {font:500 clamp(1.2rem,2vw,1.8rem)/1.2 var(--font-display);overflow-wrap:anywhere;}
.ownership-anchor .kicker {font-size:.62rem;color:var(--teal);}
.ownership-anchor__object {position:relative;height:95px;margin:0 .4rem 1.8rem;perspective:450px;}
.ownership-anchor__object i,.ownership-anchor__object b {position:absolute;inset:0;border:1px solid #5b7d7d;border-bottom:6px solid #152d34;border-radius:5px;background:linear-gradient(125deg,#355b61,#142c35 75%);transform:rotateX(52deg) rotateZ(-5deg);box-shadow:0 20px 25px #1e363324;}
.ownership-anchor__object i:nth-child(1) {top:12px;}.ownership-anchor__object i:nth-child(2) {top:6px;}
.ownership-anchor__object b {inset:7px 12px 0;background:linear-gradient(120deg,#bcd5cb22,transparent);border:1px solid #c1d7c780;box-shadow:none;}
.ownership-unresolved {display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:1.5rem 0;padding:1.25rem;border:1px dashed #bcaec7;border-radius:8px;}
.ownership-unresolved h2 {font:500 1.5rem var(--font-display);}.ownership-unresolved>div:last-child {display:grid;gap:.7rem;}
.ownership-unresolved .ownership-plate {display:none;}
.ownership-evidence {margin:2rem 0;scroll-margin-top:230px;border-top:1px solid var(--line);padding-top:1.5rem;}
.ownership-evidence h2 {font:500 1.8rem var(--font-display);margin:.5rem 0;overflow-wrap:anywhere;}
.ownership-evidence__heading {display:flex;justify-content:space-between;align-items:start;gap:1rem;}
.ownership-evidence__heading>button {border:1px solid var(--line);background:none;font-size:1.5rem;border-radius:50%;width:36px;height:36px;flex-shrink:0;cursor:pointer;}
.ownership-evidence__heading p:not(.kicker) {font-size:.8rem;color:var(--sage);}
.ownership-records {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;}
.ownership-record {min-width:0;padding:1.25rem;border:1px solid #c6cbbf;border-radius:8px;background:#fffdf6;}
.ownership-record__meta {display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.72rem;color:var(--sage);}
.ownership-record__meta .kicker {font-size:.6rem;margin:0;}
.ownership-record h3 {font:500 1.3rem/1.25 var(--font-display);overflow-wrap:anywhere;}
.ownership-record dl {font-size:.8rem;line-height:1.5;}.ownership-record dt {font-size:.65rem;color:var(--sage);text-transform:uppercase;margin-top:.6rem;}.ownership-record dd {margin:.25rem 0;overflow-wrap:anywhere;}
.ownership-record__actions {display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin:.8rem 0;}
.ownership-record__actions button {padding:0;border:0;border-bottom:1px solid var(--teal);color:var(--teal);background:none;font:inherit;font-size:.8rem;text-align:left;cursor:pointer;overflow-wrap:anywhere;}
.ownership-record__actions a {font-size:.75rem;}.ownership-record>small {font-size:.65rem;color:var(--sage);}
.ownership-reason {border-left:2px solid #a08eb1;padding-left:.6rem;font-size:.75rem;color:#746080;}
.ownership-zero {border-left:2px solid var(--teal);padding:1rem;background:#e4ece360;}.ownership-zero>button {border:1px solid var(--teal);background:#f9fbf5;padding:.6rem .9rem;color:var(--teal);border-radius:5px;cursor:pointer;}
.ownership-view button:focus-visible {outline:2px solid var(--teal);outline-offset:4px;}
@keyframes ownership-light {from {box-shadow:0 0 0 4px #9bc8c680;filter:brightness(1.6);}to {box-shadow:0 0 0 0 transparent;filter:brightness(1);}}
@media(max-width:760px) {.ownership-map {grid-template-columns:1fr;gap:1rem;padding:1rem;}.ownership-anchor {grid-row:1;padding:1rem 2rem;}.ownership-anchor__object {max-width:230px;margin:0 auto 1.5rem;}.ownership-side {grid-template-columns:repeat(2,minmax(0,1fr));}.ownership-side__label {grid-column:1/-1;}.ownership-connection::after {display:none;}.ownership-unresolved {grid-template-columns:1fr;gap:1rem;}.ownership-evidence {scroll-margin-top:160px;}.ownership-metrics {gap:.4rem;}.ownership-metrics button {padding:.7rem .5rem;}.ownership-metrics button>span {font-size:.6rem;}.ownership-metrics small {font-size:.65rem;}}
@media(max-width:480px) {.ownership-heading {flex-wrap:wrap;}.ownership-records,.ownership-side {grid-template-columns:1fr;}.ownership-heading h1 {font-size:2.1rem;}.ownership-map {padding:.8rem;}.ownership-metrics strong {font-size:2rem;}.ownership-metrics button>span {letter-spacing:0;}.ownership-record {padding:1rem;}}
@media(prefers-reduced-motion:reduce) {.ownership-plate i {transition:none;}.ownership-connection[aria-expanded=true]::after {animation:none;}}

.company-identities {width:min(1120px,calc(100% - 2rem));margin:1rem auto;border:1px solid #cbd3c9;border-radius:7px;background:#fffdf570;padding:.7rem 1rem;color:var(--sage);font-size:.75rem;}
.company-identities summary {cursor:pointer;color:var(--teal);font-weight:500;}.company-identities ul {padding-left:1.25rem;}.company-identities li {overflow-wrap:anywhere;margin:.3rem 0;}.company-identities .scope {font-size:.7rem;}

/* Ownership technology lens: fields are full-query counts, paths show direction only. */
.ownership-technology {margin:2rem 0 1rem;min-width:0;}
.ownership-technology__heading {display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;}
.ownership-technology__heading h2 {font:500 clamp(1.6rem,3vw,2.2rem)/1.1 var(--font-display);margin:.4rem 0 0;}
.ownership-technology__heading>span {font-size:.7rem;color:var(--sage);}
.ownership-field-strip {display:flex;gap:.7rem;overflow-x:auto;padding:4px 3px 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#93ada7 transparent;}
.ownership-field {flex:0 0 186px;display:flex;flex-direction:column;gap:.5rem;scroll-snap-align:start;padding:1rem;text-align:left;border:1px solid #cbd0c3;border-radius:7px;background:linear-gradient(145deg,#fffdf6,#e9ede5);color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s;}
.ownership-field>strong {font-size:.82rem;letter-spacing:.04em;color:var(--teal);}
.ownership-field__label {font-size:.7rem;line-height:1.35;min-height:2.7em;color:var(--sage);}
.ownership-field__measure {display:grid;gap:4px;font-size:.67rem;--field-color:#348b8e;}
.ownership-field__measure--outgoing {--field-color:#b1824a;}
.ownership-field__measure>span {display:flex;justify-content:space-between;}
.ownership-field__measure i {display:block;height:3px;background:#d9dfd5;border-radius:2px;overflow:hidden;}
.ownership-field__measure i>b {display:block;height:100%;background:var(--field-color);}
.ownership-field>small {font-size:.6rem;color:#786c82;margin-top:.2rem;}
.ownership-field:hover,.ownership-field[aria-pressed=true] {border-color:var(--teal);}
.ownership-field[aria-pressed=true] {box-shadow:inset 0 -3px var(--teal),0 5px 14px #315e5420;background:#f5faf4;}
.ownership-field:disabled {cursor:progress;opacity:.7;}
.ownership-coverage {max-width:54rem;font-size:.7rem;line-height:1.6;}
.ownership-selection {display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.85rem;font-weight:500;color:var(--teal);padding:.8rem 0;border-top:1px solid var(--line);}
.ownership-selection>span {font-size:.68rem;font-weight:400;color:var(--sage);}
.ownership-map {position:relative;isolation:isolate;column-gap:4rem;}
.ownership-map>.ownership-side,.ownership-map>.ownership-anchor {position:relative;z-index:1;}
.ownership-map .ownership-connection::after {display:none;}
.ownership-links {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible;}
.ownership-link {--flow:#378b8e;fill:none;stroke:var(--flow);}
.ownership-link--outgoing {--flow:#b1824a;}
.ownership-link__base {stroke-width:1.2;opacity:.5;}
.ownership-link circle {fill:var(--flow);stroke:none;opacity:.65;}
.ownership-link.is-selected .ownership-link__base {stroke-width:2;opacity:1;}
.ownership-link.is-muted {opacity:.2;}
.ownership-link__pulse {stroke:#e7fff7;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:.12 .88;filter:drop-shadow(0 0 3px var(--flow));animation:ownership-flow .6s ease-out both;}
.ownership-map.has-selection .ownership-connection[aria-expanded=false] {opacity:.55;}
.ownership-map.has-selection .ownership-connection[aria-expanded=false]:hover,.ownership-map.has-selection .ownership-connection:focus-visible {opacity:1;}
.ownership-selection-pulse {animation:ownership-edge .6s ease-out;}
.ownership-record__ipc {display:grid;gap:.3rem;padding:.65rem .8rem;margin:.7rem 0;background:#e7efea;border-left:2px solid var(--teal);font-size:.75rem;}
.ownership-record__ipc>span,.ownership-record__ipc>small {color:var(--sage);font-size:.65rem;line-height:1.5;}
@keyframes ownership-flow {from {stroke-dashoffset:.12;opacity:0;}15% {opacity:1;}85% {opacity:1;}to {stroke-dashoffset:-1;opacity:0;}}
@keyframes ownership-edge {from {filter:brightness(1.25);box-shadow:0 0 16px #7bbcb660;}to {filter:brightness(1);}}
@media(max-width:760px){.ownership-links {display:none;}.ownership-map {column-gap:1rem;}.ownership-anchor {grid-row:auto;}.ownership-side--incoming {grid-row:1;}.ownership-anchor {grid-row:2;}.ownership-side--outgoing {grid-row:3;}.ownership-selection {align-items:start;flex-direction:column;gap:.4rem;}.ownership-technology__heading {align-items:start;flex-direction:column;}.ownership-field {flex-basis:174px;}.ownership-side {border-left:2px solid #6eaaa6;padding-left:.8rem;}.ownership-side--outgoing {border-color:#b1824a;}}
@media(prefers-reduced-motion:reduce){.ownership-link__pulse {display:none;animation:none;}.ownership-selection-pulse {animation:none;}.ownership-field {transition:none;}}

.ownership-unresolved .ownership-connection {border-style:dashed;}
