/* Palimpsest Eval Journal
   Editorial ink, evidence spines, and visible revision layers. No decorative
   gradients and no dashboard glass. The page should read like a research desk
   that happens to publish on the web, not a software product landing page. */

body.ej {
  --ej-ink: #08110f;
  --ej-ink-2: #101b18;
  --ej-ink-3: #172622;
  --ej-paper: #e7ece6;
  --ej-paper-2: #bdc9c0;
  --ej-paper-3: #85968b;
  --ej-oxide: #d8704a;
  --ej-blue: #91a8ff;
  --ej-seal: #f25f4b;
  --ej-patina: #72a88f;
  --ej-rule: rgba(231, 236, 230, 0.17);
  --ej-rule-strong: rgba(231, 236, 230, 0.38);
  margin: 0;
  color: var(--ej-paper);
  background: var(--ej-ink);
  font-family: Inter, "Aptos", "Segoe UI", system-ui, sans-serif;
  line-height: 1.6;
}

body.ej::before {
  content: "";
  position: fixed;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: max(18px, calc((100vw - 1240px) / 2));
  width: 1px;
  background: rgba(216, 112, 74, 0.28);
  pointer-events: none;
}

body.ej > *:not(.ps-nav):not(.ps-skip) { position: relative; z-index: 1; }
body.ej .ps-nav { background: rgba(8, 17, 15, 0.96); }

.ej-wrap {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.ej a { color: inherit; }
.ej a:focus-visible,
.ej button:focus-visible,
.ej [tabindex]:focus-visible {
  outline: 3px solid var(--ej-blue);
  outline-offset: 4px;
}

.ej-masthead {
  padding-block: clamp(46px, 7vw, 94px) clamp(52px, 7vw, 88px);
  border-bottom: 1px solid var(--ej-rule-strong);
}

.ej-masthead__issue {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(42px, 6vw, 74px);
  color: var(--ej-paper-3);
  font: 700 11px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ej-masthead__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  align-items: end;
  gap: clamp(34px, 8vw, 110px);
}

.ej-eyebrow,
.ej-kicker {
  margin: 0 0 15px;
  color: var(--ej-oxide);
  font: 750 12px/1.25 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ej-masthead h1 {
  max-width: 730px;
  margin: 0;
  color: var(--ej-paper);
  font-family: "Arial Narrow", "Aptos Display", "Roboto Condensed", sans-serif;
  font-size: clamp(64px, 10vw, 132px);
  font-stretch: condensed;
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.77;
  text-transform: uppercase;
}

.ej-masthead h1 span {
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ej-paper-2);
}

.ej-masthead__statement > p {
  margin: 0;
  color: var(--ej-paper-2);
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.5;
}

.ej-undertext {
  position: relative;
  min-height: 92px;
  margin-top: 32px;
  padding: 19px 0 0 26px;
  border-top: 1px solid var(--ej-rule);
}

.ej-undertext::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 12px;
  height: 46px;
  border-left: 2px solid var(--ej-oxide);
  border-bottom: 2px solid var(--ej-oxide);
}

.ej-undertext span,
.ej-undertext strong {
  display: block;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
}

.ej-undertext span {
  position: relative;
  color: rgba(189, 201, 192, 0.42);
  text-decoration: line-through;
  text-decoration-color: var(--ej-seal);
  text-decoration-thickness: 2px;
}

.ej-undertext strong {
  margin-top: 8px;
  color: var(--ej-paper);
  font-weight: 600;
}

.ej-masthead__rule {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 14px;
  margin-top: clamp(48px, 7vw, 92px);
  color: var(--ej-paper-3);
  font: 600 11px/1.2 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ej-masthead__rule span { height: 1px; background: var(--ej-rule); }
.ej-masthead__rule b { color: var(--ej-oxide); font-size: 28px; letter-spacing: -0.06em; }

.ej-ledger,
.ej-principles,
.ej-method,
.ej-evidence,
.ej-gates,
.ej-revisions {
  padding-block: clamp(62px, 9vw, 118px);
}

.ej-section-head {
  display: grid;
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 30px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--ej-rule-strong);
}

.ej-section-head > p {
  margin: 0;
  color: var(--ej-oxide);
  font: 700 11px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ej-section-head h2 {
  max-width: 760px;
  margin: 0;
  font-family: "Arial Narrow", "Aptos Display", "Roboto Condensed", sans-serif;
  font-size: clamp(34px, 5.3vw, 66px);
  font-weight: 750;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.ej-section-head > a {
  color: var(--ej-blue);
  font: 600 12px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  text-underline-offset: 5px;
}

.ej-card-stack { border-bottom: 1px solid var(--ej-rule-strong); }

.ej-card {
  position: relative;
  display: grid;
  grid-template-columns: 72px 1fr;
  min-height: 360px;
  border-top: 1px solid var(--ej-rule);
}

.ej-card:first-child { border-top: 0; }

.ej-card__spine {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  border-right: 1px solid var(--ej-rule);
}

.ej-card__spine::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--ej-rule);
}

.ej-card__spine span {
  position: relative;
  z-index: 1;
  width: 9px;
  height: 9px;
  border: 2px solid var(--ej-oxide);
  border-radius: 50%;
  background: var(--ej-ink);
}

.ej-card__copy {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
  column-gap: clamp(28px, 7vw, 92px);
  align-content: center;
  padding: clamp(38px, 6vw, 74px);
}

.ej-card__copy .ej-kicker { grid-column: 1 / -1; }

.ej-card h2 {
  margin: 0;
  font-family: "Arial Narrow", "Aptos Display", "Roboto Condensed", sans-serif;
  font-size: clamp(38px, 6vw, 72px);
  font-weight: 760;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.ej-card h2 a { text-decoration: none; }
.ej-card h2 a:hover { color: var(--ej-blue); }

.ej-card__dek {
  grid-column: 1;
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--ej-paper-2);
  font-size: 18px;
}

.ej-card__numbers {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: start;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--ej-oxide);
}

.ej-card__numbers li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ej-rule);
}

.ej-card__numbers strong {
  color: var(--ej-paper);
  font: 760 clamp(24px, 3vw, 38px)/1 "Arial Narrow", "Aptos Display", sans-serif;
}

.ej-card__numbers span {
  color: var(--ej-paper-3);
  font: 600 10px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  text-align: right;
  text-transform: uppercase;
}

.ej-card__meta {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 25px 0 0;
  color: var(--ej-paper-3);
  font: 600 11px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.ej-card__meta span:first-child { color: var(--ej-paper-2); }

.ej-read {
  grid-column: 1;
  justify-self: start;
  margin-top: 27px;
  color: var(--ej-blue);
  font: 700 13px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
  text-decoration: none;
}

.ej-read span { display: inline-block; margin-left: 7px; transition: transform 160ms ease; }
.ej-read:hover span { transform: translateX(5px); }

.ej-principles { border-top: 1px solid var(--ej-rule); }
.ej-principles > ol { margin: 0; padding: 0; list-style: none; }

.ej-principles > ol > li {
  display: grid;
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1fr);
  gap: 30px;
  padding: 30px 0;
  border-bottom: 1px solid var(--ej-rule);
}

.ej-principles > ol > li > span {
  color: var(--ej-oxide);
  font: 750 28px/1 "Arial Narrow", "Aptos Display", sans-serif;
}

.ej-principles h3 {
  margin: 0 0 7px;
  font-family: "Arial Narrow", "Aptos Display", sans-serif;
  font-size: 29px;
  letter-spacing: -0.025em;
}

.ej-principles li p { max-width: 760px; margin: 0; color: var(--ej-paper-2); }

.ej-source-strip {
  border-block: 1px solid var(--ej-rule-strong);
  background: var(--ej-ink-2);
}

.ej-source-strip > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding-block: 28px;
}

.ej-source-strip p { margin: 0; color: var(--ej-paper-2); }
.ej-source-strip p span { color: var(--ej-oxide); font-weight: 750; }
.ej-source-strip nav { display: flex; flex-wrap: wrap; justify-content: end; gap: 14px 22px; }
.ej-source-strip a { color: var(--ej-blue); font: 600 11px/1.4 ui-monospace, monospace; }

.ej-footer { border-top: 1px solid var(--ej-rule); }
.ej-footer > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  min-height: 116px;
  color: var(--ej-paper-3);
  font: 600 11px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
}
.ej-footer p { margin: 0; text-align: center; }
.ej-footer a:last-child { justify-self: end; color: var(--ej-blue); }

/* Article */
.ej-article-head {
  padding-block: 36px clamp(62px, 8vw, 104px);
  border-bottom: 1px solid var(--ej-rule-strong);
}

.ej-article-head > nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: clamp(44px, 7vw, 82px);
  color: var(--ej-paper-3);
  font: 600 11px/1.4 ui-monospace, "SFMono-Regular", Consolas, monospace;
}
.ej-article-head > nav a { color: var(--ej-blue); }

.ej-article-head__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.32fr);
  gap: clamp(42px, 8vw, 108px);
  align-items: end;
}

.ej-article-head h1 {
  max-width: 920px;
  margin: 0;
  font-family: "Arial Narrow", "Aptos Display", "Roboto Condensed", sans-serif;
  font-size: clamp(52px, 8vw, 104px);
  font-weight: 780;
  letter-spacing: -0.06em;
  line-height: 0.91;
}

.ej-article-head__dek {
  max-width: 810px;
  margin: 30px 0 0;
  color: var(--ej-paper-2);
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.48;
}

.ej-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 28px 0 0;
  color: var(--ej-paper-3);
  font: 600 11px/1.5 ui-monospace, "SFMono-Regular", Consolas, monospace;
}
.ej-byline strong { color: var(--ej-paper); }

.ej-article-head__receipt {
  padding-top: 14px;
  border-top: 3px solid var(--ej-oxide);
}
.ej-article-head__receipt > p {
  margin: 0 0 18px;
  color: var(--ej-oxide);
  font: 750 11px/1.4 ui-monospace, monospace;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ej-article-head__receipt dl { margin: 0; }
.ej-article-head__receipt dl > div { display: contents; }
.ej-article-head__receipt dt,
.ej-article-head__receipt dd {
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid var(--ej-rule);
  font: 600 11px/1.45 ui-monospace, monospace;
}
.ej-article-head__receipt dt { color: var(--ej-paper-3); text-transform: uppercase; }
.ej-article-head__receipt dd { color: var(--ej-paper-2); overflow-wrap: anywhere; }
.ej-article-head__receipt a { display: inline-block; margin-top: 17px; color: var(--ej-blue); font: 600 11px/1.4 ui-monospace, monospace; }

.ej-thesis {
  display: grid;
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1fr);
  gap: 30px;
  margin-top: clamp(54px, 8vw, 94px);
  padding-block: 27px;
  border-block: 1px solid var(--ej-rule-strong);
}
.ej-thesis span { color: var(--ej-oxide); font: 750 11px/1.4 ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.12em; }
.ej-thesis p { max-width: 860px; margin: 0; font-family: "Arial Narrow", "Aptos Display", sans-serif; font-size: clamp(26px, 4vw, 48px); line-height: 1.08; letter-spacing: -0.035em; }

.ej-key-numbers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--ej-rule-strong);
}
.ej-key-numbers li { min-width: 0; padding: 28px; border-right: 1px solid var(--ej-rule); }
.ej-key-numbers li:last-child { border-right: 0; }
.ej-key-numbers strong { display: block; color: var(--ej-paper); font: 780 clamp(42px, 6vw, 72px)/0.9 "Arial Narrow", "Aptos Display", sans-serif; letter-spacing: -0.055em; }
.ej-key-numbers span { display: block; margin-top: 12px; color: var(--ej-paper-2); font: 700 12px/1.35 ui-monospace, monospace; text-transform: uppercase; }
.ej-key-numbers small { display: block; margin-top: 5px; color: var(--ej-paper-3); }
.ej-key-numbers i { display: block; margin-top: 13px; font: normal 9px/1.4 ui-monospace, monospace; overflow-wrap: anywhere; }
.ej-key-numbers i a { color: var(--ej-blue); }

.ej-article-body {
  display: grid;
  grid-template-columns: minmax(180px, 0.28fr) minmax(0, 0.72fr);
  gap: clamp(38px, 8vw, 110px);
  padding-block: clamp(70px, 10vw, 132px);
}

.ej-article-index { align-self: start; position: sticky; top: 82px; }
.ej-article-index > p { margin: 0 0 15px; color: var(--ej-oxide); font: 750 11px/1.4 ui-monospace, monospace; letter-spacing: 0.1em; text-transform: uppercase; }
.ej-article-index ol { margin: 0 0 20px; padding: 0; list-style: none; border-top: 1px solid var(--ej-rule); }
.ej-article-index li { border-bottom: 1px solid var(--ej-rule); }
.ej-article-index a { display: block; padding: 10px 0; color: var(--ej-paper-3); font: 600 11px/1.45 ui-monospace, monospace; text-decoration: none; }
.ej-article-index a:hover { color: var(--ej-blue); }

.ej-article-section { padding-bottom: clamp(56px, 8vw, 92px); }
.ej-article-section + .ej-article-section { padding-top: clamp(56px, 8vw, 92px); border-top: 1px solid var(--ej-rule-strong); }
.ej-article-section > header { display: grid; grid-template-columns: 48px 1fr; gap: 20px; margin-bottom: 28px; }
.ej-article-section > header span { color: var(--ej-oxide); font: 750 17px/1 ui-monospace, monospace; }
.ej-article-section h2 { max-width: 770px; margin: 0; font-family: "Arial Narrow", "Aptos Display", sans-serif; font-size: clamp(36px, 5.3vw, 62px); line-height: 1; letter-spacing: -0.045em; }
.ej-article-section > div { padding-left: 68px; }
.ej-article-section p { max-width: 760px; margin: 0 0 24px; color: var(--ej-paper-2); font-size: clamp(17px, 1.8vw, 20px); line-height: 1.72; }
.ej-citations { display: block; margin-top: 12px; color: var(--ej-paper-3); font: 500 10px/1.5 ui-monospace, monospace; overflow-wrap: anywhere; }
.ej-citations b { color: var(--ej-oxide); text-transform: uppercase; }
.ej-citations a { color: var(--ej-blue); }

.ej-adversarial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-block: 1px solid var(--ej-rule-strong);
}
.ej-record { padding: clamp(38px, 6vw, 70px); }
.ej-record + .ej-record { border-left: 1px solid var(--ej-rule-strong); }
.ej-record h2 { margin: 0 0 25px; font-family: "Arial Narrow", "Aptos Display", sans-serif; font-size: clamp(31px, 4vw, 48px); line-height: 1; letter-spacing: -0.04em; }
.ej-record--counter h2 { color: var(--ej-blue); }
.ej-record--limits h2 { color: var(--ej-oxide); }
.ej-record ul { margin: 0; padding: 0; list-style: none; }
.ej-record li { padding: 18px 0; border-top: 1px solid var(--ej-rule); }
.ej-record p { margin: 0; color: var(--ej-paper-2); }
.ej-record li > span { display: block; margin-top: 8px; font: 500 9px/1.5 ui-monospace, monospace; overflow-wrap: anywhere; }
.ej-record li > span a { color: var(--ej-blue); }

.ej-method ol { margin: 0; padding: 0; list-style: none; }
.ej-method ol li { display: grid; grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1fr); gap: 30px; padding: 26px 0; border-bottom: 1px solid var(--ej-rule); }
.ej-method ol li > span { color: var(--ej-oxide); font: 750 25px/1 "Arial Narrow", sans-serif; }
.ej-method h3 { margin: 0 0 4px; font-family: "Arial Narrow", "Aptos Display", sans-serif; font-size: 27px; }
.ej-method li p { max-width: 720px; margin: 0; color: var(--ej-paper-2); }
.ej-method li small { display: block; margin-top: 8px; font: 500 9px/1.5 ui-monospace, monospace; }
.ej-method li small a { color: var(--ej-blue); }
.ej-command { display: flex; justify-content: space-between; gap: 24px; margin-top: 34px; padding: 21px 24px; border: 1px solid var(--ej-rule-strong); background: var(--ej-ink-2); }
.ej-command span { color: var(--ej-paper-3); font: 650 11px/1.5 ui-monospace, monospace; text-transform: uppercase; }
.ej-command code { color: var(--ej-patina); overflow-wrap: anywhere; }

.ej-evidence { border-top: 1px solid var(--ej-rule); }
.ej-table-wrap { overflow-x: auto; border-bottom: 1px solid var(--ej-rule-strong); }
.ej-table-wrap:focus-visible { outline-color: var(--ej-blue); }
.ej-evidence table { width: 100%; min-width: 980px; border-collapse: collapse; text-align: left; }
.ej-evidence th { padding: 12px 16px; border-bottom: 1px solid var(--ej-rule-strong); color: var(--ej-paper-3); font: 700 10px/1.4 ui-monospace, monospace; letter-spacing: 0.08em; text-transform: uppercase; }
.ej-evidence td { max-width: 340px; padding: 18px 16px; border-bottom: 1px solid var(--ej-rule); color: var(--ej-paper-2); vertical-align: top; font-size: 12px; }
.ej-evidence td > code,
.ej-evidence td > span,
.ej-evidence td > strong,
.ej-evidence td > a { display: block; margin-bottom: 7px; }
.ej-evidence td > code { color: var(--ej-blue); overflow-wrap: anywhere; }
.ej-evidence td > span { color: var(--ej-paper-3); font: 600 10px/1.4 ui-monospace, monospace; }
.ej-evidence pre { max-height: 190px; margin: 0; padding: 12px; overflow: auto; border-left: 2px solid var(--ej-oxide); background: var(--ej-ink-2); color: var(--ej-paper-2); font: 500 10px/1.55 ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.ej-evidence td p { margin: 0 0 12px; }
.ej-evidence td a { color: var(--ej-blue); }

.ej-gates { border-top: 1px solid var(--ej-rule); }
.ej-gates ul { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--ej-rule-strong); }
.ej-gates li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 25px; border-top: 1px solid var(--ej-rule); }
.ej-gates li:nth-child(odd) { border-right: 1px solid var(--ej-rule); }
.ej-gates li > span { color: var(--ej-patina); font-size: 20px; }
.ej-gates strong { display: block; font-size: 15px; }
.ej-gates p { margin: 6px 0 10px; color: var(--ej-paper-3); font-size: 13px; }
.ej-gates code { color: var(--ej-oxide); font-size: 10px; }

.ej-revisions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.38fr); gap: clamp(40px, 8vw, 110px); border-top: 1px solid var(--ej-rule); }
.ej-revisions h2 { max-width: 700px; margin: 0; font-family: "Arial Narrow", "Aptos Display", sans-serif; font-size: clamp(36px, 5vw, 60px); line-height: 1; letter-spacing: -0.045em; }
.ej-revisions > div > p:last-child { max-width: 680px; color: var(--ej-paper-2); }
.ej-revisions ul { align-self: start; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ej-oxide); }
.ej-revisions li { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--ej-rule); font: 550 10px/1.5 ui-monospace, monospace; }
.ej-revisions li a { color: var(--ej-blue); overflow-wrap: anywhere; }
.ej-revisions li span { color: var(--ej-patina); text-transform: uppercase; }

.ej-disclosure { display: grid; grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1fr); gap: 30px; padding-block: 35px; border-top: 1px solid var(--ej-rule-strong); }
.ej-disclosure span { color: var(--ej-oxide); font: 750 10px/1.4 ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.1em; }
.ej-disclosure p { max-width: 760px; margin: 0; color: var(--ej-paper-2); }

@media (max-width: 820px) {
  .ej-wrap { width: min(100% - 30px, 1180px); }
  .ej-masthead__grid,
  .ej-card__copy,
  .ej-article-head__grid,
  .ej-article-body,
  .ej-revisions { grid-template-columns: 1fr; }
  .ej-section-head { grid-template-columns: 1fr; gap: 12px; }
  .ej-section-head > a { justify-self: start; }
  .ej-card { grid-template-columns: 32px 1fr; }
  .ej-card__spine { gap: 14px; }
  .ej-card__spine span { width: 7px; height: 7px; }
  .ej-card__copy { padding: 34px 24px 44px; }
  .ej-card__numbers { grid-column: 1; grid-row: auto; margin-top: 26px; }
  .ej-card__dek,
  .ej-card__meta,
  .ej-read { grid-column: 1; }
  .ej-source-strip > div { grid-template-columns: 1fr; }
  .ej-source-strip nav { justify-content: start; }
  .ej-footer > div { grid-template-columns: 1fr; padding-block: 28px; }
  .ej-footer p { text-align: left; }
  .ej-footer a:last-child { justify-self: start; }
  .ej-article-index { position: static; }
  .ej-article-index ol { display: grid; grid-template-columns: 1fr 1fr; }
  .ej-article-section > div { padding-left: 0; }
  .ej-adversarial { grid-template-columns: 1fr; }
  .ej-record + .ej-record { border-left: 0; border-top: 1px solid var(--ej-rule-strong); }
  .ej-gates ul { grid-template-columns: 1fr; }
  .ej-gates li:nth-child(odd) { border-right: 0; }
}

@media (max-width: 560px) {
  .ej-masthead__issue { display: grid; }
  .ej-masthead h1 { font-size: clamp(58px, 22vw, 92px); }
  .ej-masthead__statement > p { font-size: 17px; }
  .ej-card h2 { font-size: 39px; }
  .ej-principles > ol > li,
  .ej-method ol li,
  .ej-thesis,
  .ej-disclosure { grid-template-columns: 54px 1fr; gap: 14px; }
  .ej-key-numbers { grid-template-columns: 1fr; }
  .ej-key-numbers li { border-right: 0; border-bottom: 1px solid var(--ej-rule); }
  .ej-article-head h1 { font-size: 52px; }
  .ej-article-index ol { grid-template-columns: 1fr; }
  .ej-article-section > header { grid-template-columns: 36px 1fr; }
  .ej-command { display: grid; }
  .ej-record { padding-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ej *, .ej *::before, .ej *::after {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  body.ej { color: #101714; background: #fff; }
  body.ej::before, .ej .ps-nav, .ej-footer, .ej-source-strip { display: none !important; }
  .ej-wrap { width: 100%; }
  .ej a { color: #101714; }
  .ej-article-index { position: static; }
  .ej-evidence table { min-width: 0; }
  .ej-evidence pre { max-height: none; background: #f3f5f2; color: #101714; }
}
