/* ==========================================================================
   Research and Company — the editorial pages (.edp-* / .rs-* / .cp-*)
   Loaded after the homepage's style.css, which supplies the shared chrome,
   tokens, fonts, the signing field, the site close and the footer, and is
   never edited for these pages. Every selector here is scoped to an
   .edp-page body or to the .edp-* / .rs-* / .cp-* prefixes, so nothing
   reaches the homepage, Governed Bit Intervention or the product pages.

   Shared: the GBI / product grid and annotation margin, the type scale,
   the maturity stamp, the cross-reference, the phone running head, print.
   Research (.rs-*): the register and the reserved space.
   Company (.cp-*): editorial columns, the positions sheet on bone, the
   control shelf, the invitation.
   No motion anywhere on these pages.
   ========================================================================== */

.edp-page {
  --edp-ink: #f6f5f2;
  --edp-ink-2: rgba(246, 245, 242, 0.76);
  --edp-ink-3: rgba(246, 245, 242, 0.6);
  --edp-ink-4: rgba(246, 245, 242, 0.38);
  --edp-label: #9c968b;
  --edp-hair: rgba(255, 255, 255, 0.09);
  --edp-rule: rgba(255, 255, 255, 0.16);
  --edp-rule-strong: rgba(246, 245, 242, 0.42);
  --edp-gutter: 32px;
  background: #0a0a0a;
}

/* Current destination (01 §2): Research and Company each mark their own. */
.edp-page .site-nav-link[aria-current="page"] {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  text-decoration-color: rgba(255, 255, 255, 0.42);
}

.edp-page .compact-nav-link[aria-current="page"] {
  font-weight: 600;
}

.edp-page a:focus-visible,
.edp-page button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  html:has(.edp-page) {
    scroll-behavior: auto;
  }
}

/* ---- Grid and annotation margin (the GBI / product grammar) -------------- */
.edp-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--edp-gutter);
  max-width: var(--frame-text);
  margin: 0 auto;
  padding: 0 var(--edp-gutter);
}

.edp-margin {
  grid-column: 1 / span 3;
  padding-top: 0.45em;
}

.edp-main {
  grid-column: 4 / span 8;
}

.edp-label {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.005em;
  color: var(--edp-label);
}

/* The site's only badge treatment (01 §8): outlined, no fill, no colour.
   A second line, where the authority gives one, sits inside the stamp. */
.edp-stamp {
  margin: 14px 0 0;
}

.edp-stamp > span {
  display: inline-flex;
  flex-direction: column;
  padding: 4px 9px 4px 10px;
  border: 1px solid rgba(246, 245, 242, 0.26);
  border-radius: 2px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: var(--edp-ink-2);
}

.edp-stamp-second {
  margin-top: 1px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--edp-ink-3);
}

.edp-xref {
  margin: 22px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.edp-xref a {
  font-size: 14px;
  font-weight: 500;
  color: var(--edp-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(255, 255, 255, 0.28);
  transition: text-decoration-color var(--transition-fast);
}

.edp-xref a:hover {
  text-decoration-color: currentColor;
}

/* Keeps a hyphenated compound on one line (markup only; copy unchanged). */
.edp-nowrap {
  white-space: nowrap;
}

/* Phone running head (01 §3): phones only. */
.edp-running-head {
  display: none;
}

/* ---- Type scale ------------------------------------------------------------ */
.edp-head {
  padding: clamp(148px, 19vh, 188px) 0 0;
}

.edp-title {
  margin: 0;
  max-width: 17ch;
  font-size: clamp(42px, 4.6vw, 66px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -0.034em;
  color: #ffffff;
  text-wrap: balance;
}

.edp-deck {
  margin: 24px 0 0;
  max-width: 40ch;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.42;
  letter-spacing: -0.008em;
  color: rgba(246, 245, 242, 0.8);
  text-wrap: pretty;
}

.edp-heading {
  margin: 0;
  max-width: 22ch;
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.028em;
  color: var(--edp-ink);
  text-wrap: balance;
}

.edp-lede {
  margin: 22px 0 0;
  max-width: 52ch;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.46;
  letter-spacing: -0.006em;
  color: var(--edp-ink-2);
  text-wrap: pretty;
}

.edp-body {
  margin: 20px 0 0;
  max-width: 62ch;
  font-size: 16.5px;
  line-height: 1.66;
  color: var(--edp-ink-3);
  text-wrap: pretty;
}

/* A clause's concluding sentence, read at reading ink. */
.edp-body--ink {
  font-weight: 500;
  color: var(--edp-ink-2);
}

/* A statement clause: the heading is the display object, the paragraphs
   step in to the reading measure (GBI section A's rhythm). */
.edp-heading--statement {
  max-width: 16ch;
  font-size: clamp(38px, 4.2vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.032em;
}

.edp-lede--statement {
  max-width: 36ch;
  margin-top: 26px;
  font-size: clamp(20px, 1.8vw, 25px);
  line-height: 1.42;
  letter-spacing: -0.012em;
}

.edp-stepped {
  grid-column: 5 / span 6;
  margin-top: clamp(36px, 3.4vw, 52px);
}

.edp-stepped .edp-body:first-child {
  margin-top: 0;
}

.edp-sign {
  margin: 36px 0 0;
}

/* ==========================================================================
   RESEARCH — "a statement of method"
   Deep ground for the statement, a lifted graphite ground for the register
   and its note, deep again for the reserved space, then the close.
   ========================================================================== */
.rs-agenda {
  padding: clamp(96px, 9vw, 136px) 0 clamp(112px, 10vw, 152px);
}

/* ---- The topics: the register is the object ------------------------------ */
.rs-topics {
  padding: clamp(96px, 9vw, 132px) 0 clamp(96px, 9vw, 128px);
  background: linear-gradient(180deg, #0a0a0a 0%, #111316 16%, #121417 80%, #0a0a0a 100%);
}

.rs-register {
  grid-column: 4 / -1;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--edp-rule-strong);
  border-bottom: 1px solid var(--edp-rule);
}

/* One ledger row: identifier · title · line · status. */
.rs-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 5fr) minmax(0, 6fr) 76px;
  column-gap: 28px;
  align-items: baseline;
  padding: 26px 0 28px;
}

.rs-row + .rs-row {
  border-top: 1px solid var(--edp-hair);
}

/* The identifier is apparatus: light, low ink, the section-mark family. */
.rs-id {
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  color: var(--edp-ink-4);
}

.rs-title {
  margin: 0;
  font-size: clamp(18px, 1.45vw, 20.5px);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: -0.012em;
  color: var(--edp-ink);
  text-wrap: balance;
}

.rs-line {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--edp-ink-3);
  text-wrap: pretty;
}

/* Plain text in its own column: a status word, never a badge. */
.rs-status {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: right;
  color: var(--edp-label);
}

/* ---- The standing note, on its own rule --------------------------------- */
.rs-note {
  margin-top: clamp(56px, 5vw, 72px);
}

.rs-note::before {
  content: "";
  grid-column: 1 / -1;
  height: 1px;
  margin-bottom: 26px;
  background: var(--edp-rule);
}

.rs-note .edp-margin {
  padding-top: 0.2em;
}

.rs-note-first {
  margin: 0;
  max-width: 44ch;
  font-size: clamp(19px, 1.6vw, 22px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: -0.01em;
  color: var(--edp-ink);
  text-wrap: pretty;
}

.rs-note-body {
  margin: 16px 0 0;
  max-width: 62ch;
  font-size: 16.5px;
  line-height: 1.62;
  color: var(--edp-ink-2);
  text-wrap: pretty;
}

/* ---- What is not here: the reserved space, drawn ------------------------- */
.rs-reserved {
  padding: clamp(104px, 9.5vw, 144px) 0 clamp(96px, 9vw, 128px);
}

/* The frame keeps the register's own rules and its identifier column; the
   heading is inside it and the rows beneath stay empty. */
.rs-frame {
  grid-column: 4 / -1;
  border-top: 2px solid var(--edp-rule-strong);
  border-bottom: 1px solid var(--edp-rule);
}

.rs-frame-head {
  padding: 30px 0 34px calc(44px + 28px);
}

.rs-frame-heading {
  max-width: 20ch;
}

.rs-frame-lede {
  margin-top: 16px;
}

.rs-frame-blank {
  display: block;
}

.rs-frame-row {
  display: block;
  height: 64px;
  border-top: 1px solid var(--edp-hair);
}

.rs-reserved-body {
  margin-top: 40px;
  padding-left: calc(44px + 28px);
}

.rs-reserved-body .edp-body:first-child {
  margin-top: 0;
}

/* ==========================================================================
   COMPANY — "a human, institutional counterpoint"
   Deep statement head → two editorial columns on lifted graphite → the six
   positions on bone → the control shelf on deep ground → the invitation.
   ========================================================================== */
.cp-title {
  max-width: 26ch;
  font-size: clamp(36px, 3.9vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.edp--company .edp-head {
  padding-bottom: clamp(96px, 9vw, 136px);
}

/* ---- Two editorial columns ------------------------------------------------ */
.cp-columns {
  padding: clamp(88px, 8.4vw, 124px) 0 clamp(104px, 9.5vw, 140px);
  background: linear-gradient(180deg, #0a0a0a 0%, #101113 18%, #121315 82%, #101113 100%);
}

.cp-col {
  grid-column: span 6;
  padding-top: 18px;
  border-top: 1px solid var(--edp-rule);
}

.cp-col:first-child {
  grid-column: 1 / span 6;
  padding-right: clamp(0px, 2vw, 32px);
}

.cp-col .edp-label {
  margin-bottom: 26px;
}

.cp-heading {
  max-width: 20ch;
  font-size: clamp(27px, 2.5vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.024em;
}

.cp-col .edp-lede {
  margin-top: 20px;
  font-size: clamp(17.5px, 1.4vw, 19.5px);
}

/* ---- Accountable AI: six positions on bone -------------------------------- */
.cp-positions {
  --edp-ink: #15171a;
  --edp-ink-2: rgba(21, 23, 26, 0.8);
  --edp-ink-3: rgba(21, 23, 26, 0.7);
  --edp-ink-4: rgba(21, 23, 26, 0.36);
  --edp-label: #625e56;
  --edp-hair: rgba(21, 23, 26, 0.16);
  --edp-rule: rgba(21, 23, 26, 0.3);
  --edp-rule-strong: rgba(21, 23, 26, 0.86);
  padding: clamp(104px, 9.5vw, 140px) 0 clamp(104px, 9.5vw, 144px);
  background: #e2dfd8;
  color: var(--edp-ink);
}

.cp-positions .edp-heading {
  max-width: 24ch;
}

.cp-positions .edp-lede {
  max-width: 60ch;
}

/* A numbered requirements sheet: two columns of ruled cells, the number
   hanging in its own narrow column. Read across, 1 to 6. */
.cp-list {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(40px, 5vw, 72px);
  margin: clamp(56px, 5.2vw, 76px) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: cp-position;
  border-top: 2px solid var(--edp-rule-strong);
}

.cp-list li {
  counter-increment: cp-position;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 20px;
  padding: 26px 0 34px;
}

.cp-list li:nth-child(n + 3) {
  border-top: 1px solid var(--edp-hair);
}

.cp-list li::before {
  content: counter(cp-position);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--edp-ink-4);
}

.cp-list p {
  margin: 0;
  max-width: 58ch;
  font-size: 17px;
  line-height: 1.58;
  color: var(--edp-ink-3);
  text-wrap: pretty;
}

.cp-list strong {
  font-weight: 600;
  color: var(--edp-ink);
}

/* ---- The control shelf: Direction beside Today ---------------------------- */
.cp-control {
  padding: clamp(104px, 9.5vw, 144px) 0 clamp(96px, 9vw, 128px);
  background: #0b0b0c;
}

.cp-ledger {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 2px solid var(--edp-rule-strong);
  border-bottom: 1px solid var(--edp-rule);
}

.cp-ledger {
  grid-template-rows: auto auto;
}

/* Each rung spans the ledger's two rows (head, body) as a subgrid, so the
   two heads share one height and the headings align across the hairline. */
.cp-rung {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  align-content: start;
  padding: 28px clamp(28px, 3.4vw, 52px) 44px 0;
}

.cp-rung + .cp-rung {
  padding: 28px 0 44px clamp(28px, 3.4vw, 52px);
  border-left: 1px solid var(--edp-rule);
}

/* The rung's head: label, stamp and (Today) the cross-reference, set as the
   ledger's header row. */
.cp-rung-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px 24px;
  padding-bottom: 26px;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--edp-hair);
}

.cp-rung-head .edp-stamp {
  margin: 0;
}

.cp-rung-head .edp-xref {
  flex-basis: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

.cp-rung .edp-heading {
  font-size: clamp(27px, 2.5vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.024em;
}

.cp-rung .edp-lede {
  font-size: clamp(17.5px, 1.4vw, 19.5px);
}

/* The site's one reserved italic: reading size, no marks, no frame. */
.cp-quote {
  margin: 30px 0 0;
  max-width: 40ch;
  font-size: clamp(18px, 1.45vw, 20px);
  line-height: 1.5;
  letter-spacing: -0.004em;
  color: var(--edp-ink-2);
}

.cp-quote em {
  font-style: italic;
}

/* ---- Talking to DataEnergy: a quiet statement ------------------------------ */
.cp-talk {
  padding: clamp(104px, 9.5vw, 136px) 0 clamp(72px, 6.6vw, 96px);
  background: #0b0b0c;
}

/* The established plain action (homepage portfolio): underlined text,
   never a signing field. */
.cp-action {
  margin: 30px 0 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.cp-action a {
  color: var(--edp-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  text-decoration-color: rgba(255, 255, 255, 0.32);
  transition: text-decoration-color var(--transition-fast);
}

.cp-action a:hover {
  text-decoration-color: currentColor;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1100px) {
  .edp-margin { grid-column: 1 / span 2; }
  .edp-main   { grid-column: 3 / span 10; }
  .edp-stepped { grid-column: 4 / span 8; }
  .rs-register,
  .rs-frame   { grid-column: 3 / -1; }

  /* Title over line; the status keeps its column. */
  .rs-row {
    grid-template-columns: 40px minmax(0, 1fr) 76px;
    grid-template-areas:
      "id title status"
      ".  line  .";
    row-gap: 8px;
  }

  .rs-id     { grid-area: id; }
  .rs-title  { grid-area: title; }
  .rs-line   { grid-area: line; }
  .rs-status { grid-area: status; }

  .rs-frame-head,
  .rs-reserved-body {
    padding-left: calc(40px + 28px);
  }
}

/* Tablet: the margin folds into the flow above each clause. */
@media (max-width: 899px) {
  .edp-page {
    --edp-gutter: 28px;
  }

  .edp-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .edp-margin,
  .edp-main,
  .edp-stepped,
  .rs-register,
  .rs-frame,
  .cp-col,
  .cp-col:first-child,
  .cp-list,
  .cp-ledger {
    grid-column: 1;
  }

  .edp-margin {
    padding-top: 0;
    margin-bottom: 20px;
  }

  .edp-head .edp-margin {
    margin-bottom: 16px;
  }

  .rs-note .edp-margin {
    margin-bottom: 14px;
  }

  .cp-col:first-child {
    padding-right: 0;
  }

  .cp-col + .cp-col {
    margin-top: 72px;
  }

  .cp-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .cp-list li:nth-child(n + 2) {
    border-top: 1px solid var(--edp-hair);
  }

  .cp-ledger {
    grid-template-columns: minmax(0, 1fr);
  }

  .cp-rung {
    grid-row: auto;
    grid-template-rows: auto auto;
  }

  .cp-rung,
  .cp-rung + .cp-rung {
    padding: 26px 0 40px;
    border-left: 0;
  }

  .cp-rung + .cp-rung {
    border-top: 1px solid var(--edp-rule);
  }
}

/* Phones: designed on its own, not reduced. */
@media (max-width: 640px) {
  .edp-page {
    --edp-gutter: 24px;
  }

  /* Running head: a thin strip under the header bar (01 §3). */
  .edp-running-head {
    display: block;
    margin: 0;
    padding: 7px var(--edp-gutter) 8px;
    border-top: 1px solid var(--border-subtle);
    background: rgba(10, 10, 10, 0.9);
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.005em;
    color: var(--edp-label);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .edp-head {
    padding-top: 136px;
  }

  .edp-title {
    font-size: clamp(34px, 9.6vw, 42px);
  }

  .cp-title {
    font-size: clamp(28px, 7.9vw, 34px);
    line-height: 1.12;
  }

  .edp-deck {
    margin-top: 16px;
    font-size: 17px;
  }

  .edp-heading {
    font-size: clamp(27px, 8vw, 32px);
  }

  .edp-heading--statement {
    font-size: clamp(32px, 9.4vw, 38px);
  }

  .edp-lede {
    font-size: 17.5px;
  }

  .edp-lede--statement {
    margin-top: 20px;
    font-size: 19px;
  }

  .edp-body {
    font-size: 16px;
    line-height: 1.62;
  }

  .edp-stepped {
    margin-top: 32px;
  }

  .edp-sign .signing-field {
    width: 100%;
    justify-content: space-between;
  }

  .rs-agenda {
    padding: 80px 0 96px;
  }

  .rs-topics,
  .rs-reserved {
    padding: 80px 0 88px;
  }

  /* Identifier beside the title; line and status beneath. */
  .rs-row {
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-areas:
      "id title"
      ".  line"
      ".  status";
    column-gap: 14px;
    row-gap: 8px;
    padding: 22px 0 24px;
  }

  .rs-id {
    font-size: 24px;
  }

  .rs-title {
    font-size: 18px;
  }

  .rs-line {
    font-size: 15.5px;
  }

  .rs-status {
    margin-top: 2px;
    text-align: left;
  }

  .rs-frame-head,
  .rs-reserved-body {
    padding-left: calc(30px + 14px);
  }

  .rs-frame-head {
    padding-top: 24px;
    padding-bottom: 28px;
  }

  .rs-frame-row {
    height: 48px;
  }

  .rs-reserved-body {
    margin-top: 32px;
  }

  .edp--company .edp-head {
    padding-bottom: 80px;
  }

  .cp-columns,
  .cp-positions,
  .cp-control {
    padding: 80px 0 88px;
  }

  .cp-heading,
  .cp-rung .edp-heading {
    font-size: clamp(25px, 7.2vw, 29px);
  }

  .cp-list li {
    grid-template-columns: 30px minmax(0, 1fr);
    column-gap: 14px;
    padding: 22px 0 28px;
  }

  .cp-list li::before {
    font-size: 24px;
  }

  .cp-list p {
    font-size: 16px;
  }

  .cp-talk {
    padding: 80px 0 72px;
  }
}

/* ==========================================================================
   Print (01 §14): paper, not the dark screen. Header in flow with the
   primary navigation; running head, compact navigation, Menu, skip link and
   the close band's image are not printed; link destinations beginning with
   / or http are appended; stamps stay outlined.
   ========================================================================== */
@media print {
  @page {
    margin: 16mm 15mm 18mm;
  }

  .edp-page,
  .edp-page .cp-positions {
    --edp-ink: #111111;
    --edp-ink-2: #2b2b2b;
    --edp-ink-3: #444444;
    --edp-ink-4: #6b6b6b;
    --edp-label: #555555;
    --edp-hair: #d0d0d0;
    --edp-rule: #8a8a8a;
    --edp-rule-strong: #333333;
    background: #ffffff;
    color: #111111;
  }

  html:has(.edp-page) {
    background: #ffffff;
  }

  .edp-page *,
  .edp-page *::before,
  .edp-page *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .skip-link,
  .edp-running-head,
  .compact-nav-panel,
  .nav-disclosure,
  .close-horizon {
    display: none !important;
  }

  .edp-page a[href^="/"]::after,
  .edp-page a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.86em;
    font-weight: 400;
    color: #444444;
    overflow-wrap: anywhere;
  }

  .edp-page .site-header {
    position: static;
    background: none;
    border-bottom: 1px solid #c8c8c8;
  }

  .edp-page .site-header-inner {
    display: block;
    padding: 0 0 12px;
  }

  .edp-page .wordmark {
    color: #111111;
  }

  .edp-page .site-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 20px;
    margin-top: 8px;
  }

  .edp-page .site-nav-link {
    font-size: 11.5px;
    white-space: normal;
    color: #333333;
  }

  .edp-page .site-nav-link[aria-current="page"] {
    color: #111111;
    font-weight: 600;
    text-decoration-color: #111111;
  }

  .edp-head,
  .edp-clause,
  .rs-topics,
  .cp-columns,
  .cp-positions,
  .cp-control,
  .cp-talk,
  .site-close,
  .site-footer {
    background: none !important;
  }

  .edp-grid {
    padding-left: 0;
    padding-right: 0;
  }

  .edp-head,
  .edp--company .edp-head {
    padding: 24px 0 18px;
  }

  .edp-clause,
  .rs-topics,
  .cp-columns,
  .cp-positions,
  .cp-control,
  .cp-talk {
    padding: 22px 0 18px !important;
    border-top: 1px solid #c8c8c8;
  }

  .edp-title {
    font-size: 34px;
    color: #111111;
  }

  .cp-title {
    font-size: 28px;
  }

  .edp-deck {
    font-size: 16px;
    color: #2b2b2b;
  }

  .edp-heading,
  .edp-heading--statement,
  .cp-heading,
  .cp-rung .edp-heading {
    font-size: 24px;
  }

  .edp-lede,
  .edp-lede--statement,
  .rs-note-first {
    font-size: 16px;
  }

  .edp-body,
  .rs-line,
  .rs-note-body,
  .cp-list p {
    font-size: 13.5px;
    line-height: 1.55;
  }

  .edp-stamp > span {
    border-color: #555555;
    color: #222222;
  }

  .rs-note::before {
    background: none;
    border-top: 1px solid #8a8a8a;
  }

  .rs-row,
  .cp-list li,
  .cp-rung-head,
  .rs-reserved {
    break-inside: avoid;
  }

  .edp-page .signing-field {
    width: auto;
    padding: 9px 14px;
    color: #111111;
    background: none;
    border-color: #555555;
  }

  .edp-page .cp-action a {
    color: #111111;
  }

  .site-close {
    padding: 22px 0 18px;
    border-top: 1px solid #c8c8c8;
  }

  .site-close .close-inner {
    margin-top: 0;
    padding: 0;
  }

  .site-close .close-spine {
    font-size: 15px;
    color: #111111;
  }

  .edp-page .site-footer {
    --sf-ink: #111111;
    --sf-ink-2: #333333;
    --sf-ink-3: #555555;
    padding: 18px 0 0;
    border-top-color: #c8c8c8;
    break-inside: avoid;
  }

  .edp-page .site-footer-grid {
    padding: 0;
  }

  .edp-page p {
    orphans: 3;
    widows: 3;
  }

  .edp-heading,
  .edp-margin,
  .edp-label,
  .cp-rung-head {
    break-after: avoid;
  }
}
