.liability-page .hero h1 { max-width: 22ch; }
.liability-page .lbl {
  display: inline-block; margin-right: .35rem; padding: .08rem .45rem; border-radius: 4px; vertical-align: .08em;
  font-family: var(--font-mono); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.lbl--acquitted { color: #14532d; background: var(--green-100); }
.lbl--admitted  { color: #7c2d12; background: #ffedd5; }
.lbl--reporting { color: #581c87; background: #f3e8ff; }
.lbl--policy    { color: var(--slate-700); background: var(--slate-100); border: 1px solid var(--slate-200); }
.rec__tag--alleged { color: var(--slate-700); background: var(--slate-100); border-color: var(--slate-300); }

.lia-plain { margin: .2rem 0 1.4rem; max-width: 64ch; font-size: 1.12rem; line-height: 1.5; color: var(--navy-800); }
.lia-plain span {
  display: inline-block; margin-right: .5rem; padding: .12rem .5rem; border-radius: 4px; vertical-align: .12em;
  background: var(--navy-800); color: #fff; font: 700 .66rem/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase;
}
.lia-law { display: block; margin-top: .6rem; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .03em; line-height: 1.5; color: var(--slate-500); }
p.lia-law { margin: .8rem 0 0; }
.lia-fair { font-style: italic; color: var(--slate-600); }
.lia-record { margin: 1.2rem 0 0; max-width: 72ch; font-size: .93rem; line-height: 1.9; color: var(--slate-700); }

.lia-kicker {
  margin: .5rem 0 0; font-family: var(--font-serif); font-weight: 800; letter-spacing: -.01em;
  font-size: clamp(1.45rem, 3.6vw, 2.25rem); line-height: 1.15; color: #fff;
}
.lia-kicker em { font-style: normal; color: var(--amber-400); }
.lia-hero-cards { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .8rem; }
.lia-hero-cards li {
  display: grid; gap: .3rem; padding: 1rem 1.1rem; border-radius: var(--radius);
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-top: 3px solid var(--amber-400);
}
.lia-hero-cards li:nth-child(2) { border-top-color: var(--cyan-300, #67e8f9); }
.lia-hero-cards li:nth-child(3) { border-top-color: #fca5a5; }
.lia-hero-cards strong { color: #fff; font-family: var(--font-serif); font-size: 1.12rem; line-height: 1.25; }
.lia-hero-cards span { color: var(--text-on-dark-muted); font-size: .95rem; line-height: 1.45; }
.lia-dateline { margin: 1.4rem 0 0; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .06em; color: var(--text-on-dark-muted); }

.lia-analogy {
  margin: 0 0 1.4rem; max-width: 64ch; padding: 1.1rem 1.25rem; border-radius: var(--radius-lg);
  background: var(--amber-50); border: 1px solid var(--amber-100); border-left: 5px solid var(--amber-500);
}
.lia-analogy__label { margin: 0 0 .35rem; font: 700 .7rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber-800); }
.lia-analogy p:last-child { margin: 0; font-size: 1.06rem; line-height: 1.55; color: var(--navy-800); }

.chain { margin: 1.8rem 0 0; display: grid; gap: 1.1rem; }
.chain__row { padding: 1rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); }
.chain__row--back { background: var(--navy-900); border-color: var(--navy-700); }
.chain__title { margin: 0 0 .8rem; font: 700 .7rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cyan-700, #0e7490); }
.chain__row--back .chain__title { color: var(--amber-400); }
.chain__nodes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.4rem; }
.chain__node {
  position: relative; display: grid; gap: .3rem; align-content: start; padding: .8rem .85rem; border-radius: var(--radius);
  background: var(--slate-50); border: 1px solid var(--slate-200); font-size: .88rem; line-height: 1.4; color: var(--slate-700);
}
.chain__node b { color: var(--navy-800); font-size: .95rem; line-height: 1.25; }
.chain__node:not(:last-child)::after {
  content: "\2192"; position: absolute; right: -1.15rem; top: 50%; transform: translateY(-50%);
  font: 700 1.1rem/1 var(--font-sans); color: var(--slate-400);
}
.chain__node--ghost { background: transparent; border: 2px dashed var(--slate-300); color: var(--slate-500); }
.chain__node--ghost b { color: var(--slate-500); }
.chain__node--you { background: #fff7ed; border: 2px solid var(--amber-500); }
.chain__id {
  justify-self: start; margin-top: .2rem; padding: .1rem .45rem; border-radius: 3px; font: 700 .62rem/1.4 var(--font-mono);
  font-style: normal; letter-spacing: .12em; background: var(--navy-800); color: #fff;
}
.chain__row--back .chain__node { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .14); color: var(--text-on-dark-muted); }
.chain__row--back .chain__node b { color: #fff; }
.chain__row--back .chain__node--you { background: rgba(217, 119, 6, .16); border-color: var(--amber-400); }
.chain__row--back .chain__node--ask { border: 2px solid #fca5a5; }
.chain__row--back .chain__node:not(:last-child)::after { color: var(--slate-400); }
.chain figcaption { font-size: .9rem; color: var(--slate-600); font-style: italic; }
@media (max-width: 860px) {
  .chain__nodes { grid-template-columns: 1fr; gap: 1.5rem; }
  .chain__node:not(:last-child)::after { content: "\2193"; right: auto; left: 1.1rem; top: auto; bottom: -1.35rem; transform: none; }
}

.lia-inline-rec { margin-top: 1.6rem; max-width: 72ch; }

.zones { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 1rem; }
.zone {
  position: relative; display: grid; gap: .5rem; align-content: start; padding: 1.2rem 1.2rem 1.1rem; border-radius: var(--radius-lg);
  background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); border-top: 6px solid var(--z);
}
.zone--green { --z: #16a34a; --zbg: var(--green-100); }
.zone--amber { --z: var(--amber-500); --zbg: var(--amber-100); }
.zone--red   { --z: #dc2626; --zbg: var(--red-100); }
.zone__light { margin: 0; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--z); box-shadow: 0 0 0 6px var(--zbg); }
.zone h3 { margin: .3rem 0 0; font-size: 1.15rem; }
.zone p:not(.zone__light) { margin: 0; font-size: .97rem; line-height: 1.55; color: var(--slate-700); }

.lia-pull { margin: 1.8rem 0 0; max-width: 60ch; padding: 1.2rem 1.4rem; border-radius: var(--radius-lg); background: var(--navy-800); color: #fff; }
.lia-pull blockquote { margin: 0; font-family: var(--font-serif); font-size: clamp(1.1rem, 2.4vw, 1.35rem); line-height: 1.4; font-weight: 700; }
.lia-pull figcaption { margin-top: .6rem; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .05em; color: var(--text-on-dark-muted); }

.roles { margin: 1.4rem 0 0; }
.roles__label { margin: 0 0 .5rem; font: 700 .7rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--slate-600); }
.roles__chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.roles__chips button {
  font: 600 .86rem/1 var(--font-sans); padding: .55rem .85rem; border-radius: 999px; cursor: pointer;
  background: #fff; color: var(--navy-700); border: 1px solid var(--slate-300);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.roles__chips button:hover { border-color: var(--navy-600); }
.roles__chips button[aria-pressed="true"] { background: var(--navy-800); color: #fff; border-color: var(--navy-800); }
.roles__chips button:focus-visible { outline: 3px solid var(--amber-400); outline-offset: 2px; }

.asks { margin-top: 1.4rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 1rem; align-items: start; }
.ask {
  position: relative; display: grid; gap: .6rem; align-content: start; padding: 1.15rem 1.2rem 1.1rem;
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card);
}
.ask[hidden] { display: none; }
.ask--everyone { border-top: 4px solid var(--red-700); }
.ask__role { margin: 0; font: 700 .66rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cyan-700, #0e7490); }
.ask__say {
  position: relative; margin: .1rem 0 .5rem; padding: .85rem 1rem; border-radius: 14px 14px 14px 4px;
  background: var(--navy-800); color: #fff; font-family: var(--font-serif); font-weight: 700; font-size: 1.12rem; line-height: 1.35;
}
.ask__say::after {
  content: ""; position: absolute; left: 0; bottom: -10px; width: 0; height: 0;
  border-top: 10px solid var(--navy-800); border-right: 14px solid transparent;
}
.ask .pb { margin-top: .4rem; gap: .6rem; }
.ask .pb > div { grid-template-columns: 1fr; gap: .2rem; }
.ask .pb dt { padding-top: 0; }
.ask .pb dd { font-size: .93rem; }
.lia-none { margin-top: 1rem; color: var(--slate-600); }

.lanes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1rem; margin: .4rem 0 1.4rem; }
.lane { padding: 1.1rem 1.2rem; border-radius: var(--radius-lg); border: 1px solid var(--border); background: #fff; box-shadow: var(--shadow-card); }
.lane--system { border-top: 5px solid var(--cyan-600, #0891b2); }
.lane--member { border-top: 5px solid var(--red-700); background: #fffafa; }
.lane__title { margin: 0 0 .7rem; font: 700 .7rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--navy-800); }
.lane ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.lane li { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: .6rem; align-items: baseline; font-size: .95rem; line-height: 1.4; color: var(--slate-700); }
.lane time { font: 700 .74rem/1.4 var(--font-mono); color: var(--slate-500); }
.lane--system b { color: #15803d; }
.lane--member li:last-child { color: var(--red-700); font-weight: 700; }
.lia-callout {
  margin: 1.4rem 0 0; max-width: 68ch; padding: 1rem 1.2rem; border-radius: var(--radius);
  background: var(--red-100); border-left: 5px solid var(--red-700); color: #450a0a; font-size: 1rem; line-height: 1.5;
}
.lia-callout p { margin: 0; }
.lia-callout strong { color: #7f1d1d; }

.codes { margin-top: 1.6rem; display: grid; gap: 1.1rem; }
.codes__row { padding: 1.1rem 1.15rem 1.2rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); }
.codes__theme { display: flex; align-items: center; gap: .65rem; margin: 0 0 .9rem; font-size: 1.12rem; line-height: 1.3; }
.codes__theme span {
  flex: none; display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 6px;
  background: var(--amber-500); color: #2a1602; font: 800 .95rem/1 var(--font-sans);
}
.codes__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: .8rem; }
.codes__q { margin: 0; padding: .85rem .95rem; border-radius: var(--radius); background: var(--slate-50); border: 1px solid var(--slate-200); border-left: 4px solid var(--navy-600); display: grid; gap: .45rem; align-content: start; }
.codes__q p { margin: 0; font-size: .93rem; line-height: 1.5; color: var(--navy-800); }
.codes__co { font: 700 .68rem/1.3 var(--font-mono) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--cyan-700, #0e7490) !important; }
.codes__q cite { font-style: normal; font-family: var(--font-mono); font-size: .7rem; color: var(--slate-500); }

.lia-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1rem; margin-top: 1.6rem; }
.lia-panel { padding: 1.2rem 1.25rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); }
.lia-panel h3 { margin: 0 0 .6rem; font-size: 1.15rem; }
.lia-panel p { margin: 0 0 .7rem; font-size: .96rem; line-height: 1.55; color: var(--slate-700); }
.lia-panel--dark { background: var(--navy-800); border-color: var(--navy-700); color: var(--text-on-dark); }
.lia-panel--dark h3 { color: #fff; }
.lia-panel--dark ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .6rem; font-size: .95rem; line-height: 1.5; color: var(--text-on-dark-muted); }
.lia-panel--dark strong { color: #fff; }

.lia-flip {
  margin-top: 1.4rem; padding: 1.2rem 1.3rem; border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #ecfdf5, #f0fdfa); border: 1px solid #bbf7d0; border-left: 5px solid #16a34a;
}
.lia-flip .lia-flip__label { margin: 0; font: 700 .7rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: #15803d; }
.lia-flip h3 { margin: .3rem 0 .5rem; font-size: 1.2rem; }
.lia-flip p { margin: 0 0 .6rem; max-width: 70ch; font-size: .98rem; line-height: 1.55; color: var(--slate-700); }
.lia-script {
  margin: .4rem 0 0 !important; padding: .8rem 1rem; border-radius: 10px; background: #fff; border: 1px dashed #86efac;
  font-family: var(--font-serif); font-size: 1.05rem !important; font-weight: 700; color: var(--navy-800) !important;
}

.steps { list-style: none; margin: 0; padding: 0; counter-reset: step; display: grid; gap: 0; }
.step { position: relative; counter-increment: step; padding: 0 0 1.6rem 3.4rem; max-width: 78ch; }
.step::before {
  content: counter(step); position: absolute; left: 0; top: 0; width: 2.3rem; height: 2.3rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--navy-800); color: #fff; font: 800 1rem/1 var(--font-sans);
  box-shadow: 0 0 0 4px rgba(12, 40, 69, .12);
}
.step:not(:last-child)::after { content: ""; position: absolute; left: 1.1rem; top: 2.5rem; bottom: .2rem; width: 2px; background: var(--slate-200); }
.step h3 { margin: .35rem 0 .45rem; font-size: 1.12rem; line-height: 1.3; }
.step p { margin: 0 0 .6rem; font-size: .98rem; line-height: 1.55; color: var(--slate-700); }
.step--key::before { background: var(--red-700); box-shadow: 0 0 0 4px rgba(185, 28, 28, .16); }
.lia-quote {
  margin: .4rem 0 .8rem; padding: .9rem 1.1rem; border-radius: var(--radius); background: var(--navy-900); color: #fff;
  font-family: var(--font-serif); font-size: 1.04rem; line-height: 1.45; font-weight: 700; border-left: 4px solid var(--amber-400);
}
.clocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: .8rem; margin: .8rem 0 .2rem; }
.clock { padding: .9rem 1rem; border-radius: var(--radius); background: #fff; border: 1px solid var(--border); border-top: 4px solid #16a34a; box-shadow: var(--shadow-card); }
.clock--co { border-top-color: var(--red-700); }
.clock__who { margin: 0 !important; font: 700 .68rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--slate-600) !important; }
.clock__big { margin: .2rem 0 .3rem !important; font-family: var(--font-serif); font-weight: 800; font-size: 1.7rem !important; line-height: 1.1; color: var(--navy-800) !important; }
.clock p:last-child { margin: 0; font-size: .9rem; }

.tl { margin: .6rem 0 0; padding: 1.1rem 1.15rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); }
.tl__axis { display: flex; justify-content: space-between; margin: 0 0 .6rem; padding-left: 0; font: 600 .68rem/1 var(--font-mono); color: var(--slate-500); border-bottom: 1px solid var(--slate-200); padding-bottom: .4rem; }
.tl__rows { list-style: none; margin: 0; padding: 0; display: grid; gap: .95rem; }
.tl__row { display: grid; gap: .25rem; }
.tl__name { margin: 0; font-weight: 700; font-size: .95rem; color: var(--navy-800); }
.tl__name small { margin-left: .4rem; font: 600 .7rem/1 var(--font-mono); color: var(--slate-500); }
.tl__track { position: relative; height: .85rem; border-radius: 999px; background: var(--slate-100); }
.tl__bar {
  position: absolute; top: 0; bottom: 0; border-radius: 999px;
  left: calc(var(--s) / 28 * 100%); width: calc((var(--e) - var(--s)) / 28 * 100%);
  background: linear-gradient(90deg, var(--amber-400), var(--red-700));
}
.tl__note { margin: 0; font-size: .82rem; line-height: 1.4; color: var(--slate-600); }
.tl figcaption { margin-top: .9rem; font-size: .86rem; line-height: 1.5; color: var(--slate-600); font-style: italic; }
html.nsp-reveal .tl__bar { transform-origin: left center; }
@media (prefers-reduced-motion: no-preference) {
  html.nsp-reveal .tl.is-in .tl__bar { animation: liaGrow 1.1s var(--ease-out) both; }
  html.nsp-reveal .tl.is-in .tl__row:nth-child(2) .tl__bar { animation-delay: .08s; }
  html.nsp-reveal .tl.is-in .tl__row:nth-child(3) .tl__bar { animation-delay: .16s; }
  html.nsp-reveal .tl.is-in .tl__row:nth-child(4) .tl__bar { animation-delay: .24s; }
  html.nsp-reveal .tl.is-in .tl__row:nth-child(5) .tl__bar { animation-delay: .32s; }
  html.nsp-reveal .tl.is-in .tl__row:nth-child(6) .tl__bar { animation-delay: .40s; }
}
@keyframes liaGrow { from { transform: scaleX(.02); } to { transform: scaleX(1); } }

.lia-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: .8rem; margin-top: 1.2rem; }
.lia-facts > div { padding: 1rem 1.1rem; border-radius: var(--radius); background: var(--navy-800); color: var(--text-on-dark-muted); }
.lia-facts p { margin: 0; font-size: .9rem; line-height: 1.45; }
.lia-facts__big { font-family: var(--font-serif); font-weight: 800; font-size: 1.9rem !important; line-height: 1.1 !important; color: var(--amber-400); margin-bottom: .3rem !important; }

.career { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; margin-top: 1.2rem; }
.career__card { padding: 1.15rem 1.2rem; border-radius: var(--radius-lg); background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card); }
.career__card h3 { margin: 0 0 .45rem; font-size: 1.1rem; }
.career__card p { margin: 0; font-size: .95rem; line-height: 1.55; color: var(--slate-700); }

.lia-fairbox { margin-top: 1.6rem; max-width: 72ch; padding: 1.1rem 1.25rem; border-radius: var(--radius-lg); background: var(--slate-50); border: 1px solid var(--slate-200); }
.lia-fairbox h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.lia-fairbox p { margin: 0; font-size: .96rem; line-height: 1.55; color: var(--slate-700); }
.lia-next { margin-top: 1.4rem; }

.desk {
  max-width: 40rem; margin: 0 auto; padding: 1.4rem 1.5rem 1.2rem; border-radius: 14px; background: #fff;
  border: 2px solid var(--navy-800); box-shadow: 0 18px 40px -22px rgba(10, 31, 56, .55);
}
.desk__brand { margin: 0; font: 700 .68rem/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber-600); }
.desk__title { margin: .35rem 0 .9rem; font-size: clamp(1.25rem, 3vw, 1.6rem); line-height: 1.2; }
.desk__title::after { display: none; }
.desk__list { margin: 0; padding-left: 1.4rem; display: grid; gap: .5rem; font-size: 1.04rem; line-height: 1.45; color: var(--slate-700); }
.desk__list li::marker { font-weight: 800; color: var(--navy-800); }
.desk__list strong { color: var(--navy-800); }
.desk__foot { margin: 1rem 0 0; padding-top: .7rem; border-top: 1px dashed var(--slate-300); font-size: .78rem; line-height: 1.45; color: var(--slate-500); }
.desk__print { margin: .9rem 0 0; }

.qa__jump { margin: .4rem 0 1.6rem; padding: 1rem 1.2rem; border-radius: var(--radius-lg); background: var(--slate-50); border: 1px solid var(--slate-200); }
.qa__jump ol { margin: 0; padding-left: 1.4rem; columns: 2 22rem; column-gap: 2rem; font-size: .93rem; line-height: 1.45; }
.qa__jump li { margin: .2rem 0; break-inside: avoid; }
.qa { display: grid; gap: 1rem; max-width: 78ch; }
.qa__item { padding: 1rem 1.2rem; border-radius: var(--radius); background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--cyan-600, #0891b2); }
.qa__item h3 { margin: 0 0 .45rem; font-size: 1.08rem; line-height: 1.3; }
.qa__item p { margin: 0; font-size: .97rem; line-height: 1.6; color: var(--slate-700); }
.qa__item p.qa__more { margin-top: .5rem; font-size: .85rem; color: var(--slate-500); }
.qa__item:target { box-shadow: 0 0 0 3px rgba(217, 119, 6, .35); }

@media print {
  .roles, .lia-next, .desk__print, .qa__jump { display: none !important; }
  .ask[hidden] { display: grid !important; }
  .ask__say { background: #fff !important; color: #000 !important; border: 2px solid #000; }
  .ask__say::after { display: none; }
  html.print-desk body > *:not(main),
  html.print-desk main > *:not(#desk-card) { display: none !important; }
  html.print-desk #desk-card { padding: 0 !important; background: #fff !important; border: 0 !important; }
  html.print-desk .desk { box-shadow: none; }
}
