/* The public journal, correspondence form, and supporting pages share the forge. */
:root {
  color-scheme: dark;
  --paper: #13181d;
  --ink: #ded9ca;
  --muted: #a9afb0;
  --line: #41494e;
  --rule: #41494e;
  --dark: #090d11;
  --white: #e7e1d3;
  --brass: #b7a178;
  --bronze: #b7a178;
  --accent: #b7a178;
  --pale: #202a31;
  --lavender: #26323c;
  --lavender-light: #1d262e;
  --purple: #b2c1c9;
  --green: #a0b6bb;
  --teal: #a0b6bb;
  --type: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --serif: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  background: #080c0f;
}

body.forge-site.forge-inner {
  min-height: 100vh;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.7;
  background: linear-gradient(#06090dd9, #090d11f2 950px),
    url("/halloween/assets/forge-v2/hall.png") center top / 1600px auto no-repeat, #090d11;
}
.forge-inner h1, .forge-inner h2, .forge-inner h3 {
  color: #e7e1d3;
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -.025em;
  text-shadow: 0 2px 1px #000;
}
.forge-inner h1 { font-size: clamp(40px, 4.7vw, 64px); line-height: 1.09; }
.forge-inner h2 { line-height: 1.16; }
.forge-inner a { text-decoration-color: #858c8b; }
.forge-inner a:hover { color: #fff5d9; text-decoration-color: #c4b48c; }
.forge-inner :focus-visible { outline: 2px solid #d0bd8f; outline-offset: 5px; }
.forge-inner ::selection { background: #566573; color: #fff8e8; }
.forge-inner .skip, .forge-inner .skip-link { background: #18212a; color: #f1e8d2; border: 1px solid #8a8d84; }
.forge-inner .eyebrow, .forge-inner .note-category, .forge-inner .person-role {
  color: #b7a178;
  font: 500 11px/1.6 var(--serif);
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Black stone, an ivory inscription, and the actual forge crest. */
.forge-inner .nf-header {
  min-height: 110px;
  max-width: 1280px;
  padding: 20px 42px;
  border-bottom: 1px solid #575c5c;
  background: linear-gradient(110deg, #171b1e, #090c0f 58%, #141b20);
  box-shadow: inset 0 1px #92968b24, 0 4px 0 #050709, 0 5px 0 #343c41;
  color: #e8e0cd;
}
.forge-inner .nf-symbol { width: 46px; height: 62px; filter: drop-shadow(0 3px 3px #000); }
.forge-inner .nf-symbol img { width: 100%; height: 100%; object-fit: contain; }
.forge-inner .nf-wordmark {
  font: 400 21px/1.2 var(--serif);
  font-variant: small-caps;
  letter-spacing: .12em;
  text-shadow: 0 2px 1px #000;
}
.forge-inner .nf-wordmark small { font: 400 8px/1.5 var(--type); letter-spacing: .24em; color: #a69b82; }
.forge-inner .nf-nav { gap: 25px; font: 400 13px/1.4 var(--serif); }
.forge-inner .nf-nav a { padding-block: 12px; }
.forge-inner .nf-nav a[aria-current] { color: #dfc99b; text-decoration-color: #a48a57; }
.forge-inner .nf-nav .nf-contact-link {
  padding: 12px 17px;
  color: #e4d8ba;
  background: linear-gradient(#272d31, #11171c);
  border: 1px solid #777b72;
  box-shadow: inset 0 0 0 2px #0b0e10, inset 0 0 0 3px #555b573d, 0 2px 3px #000;
}
.forge-inner .nf-nav .nf-contact-link:hover { background: linear-gradient(#35414a, #1a242c); }

/* Relief surrounds the sheet; fields inside it stay plain and legible. */
.forge-inner .book, .forge-inner .article-book {
  max-width: 1280px;
  margin: 24px auto 36px;
  border: 22px solid #3a4146;
  border-image: url("/halloween/assets/forge-v2/frame.png") 170 / 22px / 0 round;
  background: linear-gradient(120deg, #1b242ce8, #11171df7 55%, #192129f5);
  box-shadow: 0 18px 65px #000b, inset 0 0 70px #0006;
}
.forge-inner main:has(#contact-form), .forge-inner .privacy-page, .forge-inner .error-page {
  border: 30px solid #42494e;
  border-image: url("/halloween/assets/forge-v2/frame.png") 170 / 30px / 0 round;
  background: linear-gradient(115deg, #23303aef, #11171df5 55%, #1b242cee);
  box-shadow: 0 16px 60px #000c, inset 0 0 65px #0008;
}
.forge-inner main:has(#contact-form) { max-width: 800px; margin: 52px auto 60px; padding: 35px 44px; }
.forge-inner main:has(#contact-form) h1 { margin-top: 13px; }
.forge-inner main:has(#contact-form) .intro { color: #c0c3bf; font-size: 16px; }
.forge-inner #contact-form { border-top: 1px solid #616b704f; padding-top: 26px; }
.forge-inner #contact-form label { color: #d9d1bd; font: 400 15px/1.5 var(--serif); letter-spacing: .02em; }
.forge-inner #contact-form label span, .forge-inner #contact-form small, .forge-inner .privacy { color: #aeb5b6; }
.forge-inner #contact-form input, .forge-inner #contact-form textarea {
  background: linear-gradient(#070b0f, #0d141b);
  border: 1px solid #777c74;
  border-radius: 0;
  color: #e9e3d3;
  box-shadow: inset 0 2px 4px #000d, 0 1px 0 #9da39128;
  padding: 13px 14px;
  font-size: 16px;
}
.forge-inner #contact-form input:focus, .forge-inner #contact-form textarea:focus { border-color: #c2b489; }
.forge-inner #contact-form input::placeholder, .forge-inner #contact-form textarea::placeholder { color: #89949a; }
.forge-inner #status { color: #c4d2bd; }
.forge-inner #status[data-error="true"] { color: #f2a18f; }
.forge-inner .email-option { border-color: var(--line); color: #afb6b6; }
.forge-inner .email-option a { color: #d6c49d; }
.forge-inner #contact-form button,
.forge-inner .analytics-options button,
.forge-inner .forged-button,
.forge-inner .team-contact .button,
.forge-inner .play-button,
.forge-inner .plain-button,
.forge-inner dialog > button {
  min-height: 44px;
  padding: 12px 20px;
  border: 1px solid #8d8d7c;
  border-radius: 0;
  color: #eee4cb !important;
  background: linear-gradient(#35404a, #19232b);
  box-shadow: inset 0 0 0 2px #080c10, inset 0 0 0 3px #a1a68a2b, 0 3px 5px #0005;
  font: 400 15px/1.4 var(--serif);
  letter-spacing: .025em;
  text-decoration: none;
}
.forge-inner #contact-form button:hover,
.forge-inner .analytics-options button:hover,
.forge-inner .forged-button:hover,
.forge-inner .team-contact .button:hover,
.forge-inner .play-button:hover,
.forge-inner .plain-button:hover,
.forge-inner dialog > button:hover { background: linear-gradient(#46535e, #263540); }
.forge-inner .analytics-options button[aria-pressed="true"] {
  background: linear-gradient(#40545e, #253c46);
  border-color: #d2c195;
  box-shadow: inset 0 0 0 2px #080c10, inset 0 0 0 3px #c6b88c72;
}
.forge-inner button:disabled { opacity: .55; }
.forge-inner .privacy-page { max-width: 920px; margin: 50px auto; padding: 32px 42px; }
.forge-inner .privacy-page p { color: #c8ccc8; }
.forge-inner .privacy-page h2 { margin-top: 34px; }
.forge-inner .privacy-page a { overflow-wrap: anywhere; }
.forge-inner .error-page { max-width: 820px; margin: 65px auto; padding: 42px; }

/* The journal is an inventory of real work, with photographic plates. */
.forge-inner .folio, .forge-inner .chapter, .forge-inner .end-folio {
  background: linear-gradient(#27313a, #192128);
  border-color: #080c0f;
  outline-color: #505954;
  color: #c7b98f;
  font-family: var(--serif);
  letter-spacing: .06em;
  box-shadow: inset 0 1px #777f7940;
}
.forge-inner .folio-number, .forge-inner .chapter > span {
  background: #0c1319;
  color: #d5c49d;
  border-right: 1px solid #7b8276;
  box-shadow: inset 0 0 0 2px #343c41;
  border-radius: 0;
}
.forge-inner .notes-content { margin-inline: 48px; padding-top: 40px; }
.forge-inner .notes-intro > p { font-size: 16px; color: #c0c6c5; border-color: #59666d; }
.forge-inner .note-card { border-color: #4a555c; gap: 48px; }
.forge-inner .note-photo, .forge-inner .plate,
.forge-inner .photo-pair .enlarge, .forge-inner .paper-stage .enlarge, .forge-inner .powered-stage .enlarge {
  background: #090f14;
  border: 1px solid #727c7c;
  box-shadow: inset 0 0 0 3px #0a0e12, inset 0 0 0 4px #545e6359, 0 6px 16px #0005;
  padding: 8px;
}
.forge-inner .note-copy h2 { font-size: clamp(34px, 3.8vw, 50px); }
.forge-inner .note-author, .forge-inner .note-topics, .forge-inner figcaption { color: #aeb7b8; }
.forge-inner .note-topics { border-color: var(--line); }
.forge-inner .note-read { color: #d7c49a; }
.forge-inner .notes-footer { margin-inline: 48px; border-color: var(--line); }
.forge-inner .article-nav { margin-top: 5px; background: #0c1217; border-color: #464f54; color: #c7c3b8; }
.forge-inner .article-nav a { min-height: 30px; display: inline-flex; align-items: center; }
.forge-inner .hero { background: transparent; }
.forge-inner .hero .lead { color: #d2d4cb; border-color: #6b777b; font-size: 18px; }
.forge-inner .hero .intro { font-size: 16px; color: #aeb8bd; }
.forge-inner .hero-specs { gap: 12px; padding-top: 20px; }
.forge-inner .hero-specs > div { padding: 8px 10px; background: #0a1016; border: 1px solid #4c575e; }
.forge-inner .hero-specs dt { color: #bca883; }
.forge-inner .hero-specs dd { color: #d6d9cf; }
.forge-inner .photo-build, .forge-inner .system-section, .forge-inner .closing { background: transparent; }
.forge-inner .caption-index, .forge-inner .node-number, .forge-inner .flow-arrow { color: #bda984; }
.forge-inner figcaption { border-color: #5e686e; }
.forge-inner .plate-label { color: #b6a889; }
.forge-inner .zoom { color: #e2d8bf; background: #131e27; border-color: #89938a; }
.forge-inner .explainer {
  background: linear-gradient(120deg, #25323d, #151f28);
  border: 1px solid #7d8580;
  box-shadow: inset 0 0 0 3px #0b1117, inset 0 0 0 4px #59666c6b;
}
.forge-inner .demo-intro, .forge-inner .protocol-detail p, .forge-inner .principles p { font-size: 15px; }
.forge-inner .simulation, .forge-inner .demo-footnote { color: #a9b4ba; font-size: 11px; }
.forge-inner .segmented { background: #0b1219; border-color: #7a8589; }
.forge-inner .segmented button { min-height: 44px; color: #c0c9cc; }
.forge-inner .segmented button[aria-pressed="true"] { background: #3d5261; color: #f1e4c7; }
.forge-inner .segmented button:hover { background: #2a3a46; }
.forge-inner .track { background: #0b141d; border-color: #879ca9; }
.forge-inner .pressed-block { background: #576e80; color: #fff3d7; }
.forge-inner .poll { border-color: #9aa9b1; }
.forge-inner .playhead { background: #d7b56a; box-shadow: 0 0 0 3px #0005; }
.forge-inner .demo-result { border-color: #5a6870; }
.forge-inner .protocol-state > div {
  background: #0a1118;
  border: 1px solid #6f7c80;
  box-shadow: inset 0 2px 6px #000b, 0 1px 0 #bdc3b533;
}
.forge-inner .protocol-state span { color: #bea980; }
.forge-inner .protocol-state strong { font-family: var(--serif); color: #e4dcc6; }
.forge-inner .protocol-state p { color: #bdc7cc; font-size: 13px; }
.forge-inner .protocol-steps li[aria-current] { color: #f0e1bc; background: #3b4c58; }
.forge-inner .protocol-detail pre { background: #080e14; border: 1px solid #4c5963; color: #c7d6df; }
.forge-inner .limits { border-color: #56636b; }
.forge-inner .limits summary { min-height: 48px; color: #d9d3c3; }
.forge-inner dialog {
  background: #111a22;
  border: 1px solid #7a8787;
  color: var(--ink);
  box-shadow: 0 15px 80px #000;
}
.forge-inner dialog::backdrop { background: #030609eb; }

/* The people pages retain their photographs and their full text. */
.forge-inner .team-intro { border-top: 0; padding-top: 58px; }
.forge-inner .team-intro h1 span { color: #beb29a; }
.forge-inner .intro-bottom > p { color: #c3c9c7; font-size: 17px; }
.forge-inner .portrait-frame {
  background: #0b1015;
  border: 18px solid #40474c;
  border-image: url("/halloween/assets/forge-v2/frame.png") 170 / 18px / 0 round;
  box-shadow: 0 8px 20px #0008;
}
.forge-inner .person-copy { padding: 26px 20px 24px; background: linear-gradient(#1b252ee0, #111820e0); border: 1px solid #475259; }
.forge-inner .person-copy > p:not(.person-role), .forge-inner .responsibilities ul { color: #bdc5c6; }
.forge-inner .person-role { margin-bottom: 12px; }
.forge-inner .person h2 { font-size: clamp(28px, 2.7vw, 37px); }
.forge-inner .person-email a { color: #c9b88f; }
.forge-inner .responsibilities h3 { font-size: 19px; font-weight: 400; }
.forge-inner .team-mission { background: #111b23e8; border-block: 1px solid #52616b; }
.forge-inner .team-mission-statement { color: #d1c29e; }
.forge-inner footer { color: #a8b0b2; border-color: var(--line); }
.forge-inner .footer strong, .forge-inner .article-footer > div > a { color: #d9d1bb; font-family: var(--serif); }
.forge-inner .article-footer::before { border-color: #505d66; }

@media (max-width: 1000px) {
  .forge-inner .nf-header { padding: 20px 25px; gap: 18px; }
  .forge-inner .nf-nav { gap: 18px; font-size: 12px; }
  .forge-inner .nf-wordmark { font-size: 19px; }
  .forge-inner .notes-content, .forge-inner .notes-footer { margin-inline: 30px; }
  .forge-inner main:has(#contact-form), .forge-inner .privacy-page, .forge-inner .error-page { width: calc(100% - 40px); }
}
@media (max-width: 760px) {
  .forge-inner .nf-header { flex-wrap: wrap; gap: 16px; }
  .forge-inner .nf-brand { margin-inline: auto; }
  .forge-inner .nf-nav { width: 100%; justify-content: center; border-top: 1px solid #464f53; padding-top: 12px; }
  .forge-inner .book, .forge-inner .article-book { margin: 0; border-width: 14px; border-image-width: 14px; }
  .forge-inner .notes-intro { grid-template-columns: 1fr; gap: 20px; }
  .forge-inner .notes-intro > p { max-width: 500px; }
  .forge-inner .note-card { gap: 30px; }
  .forge-inner main:has(#contact-form), .forge-inner .privacy-page, .forge-inner .error-page {
    border-width: 22px;
    border-image-width: 22px;
    padding: 28px 26px;
    margin-block: 30px;
  }
}
@media (max-width: 540px) {
  .forge-inner .nf-header { padding: 18px 16px; }
  .forge-inner .nf-symbol { width: 37px; height: 51px; }
  .forge-inner .nf-wordmark { font-size: 18px; }
  .forge-inner .nf-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; text-align: center; font-size: 13px; }
  .forge-inner .nf-nav .nf-contact-link { grid-column: 1 / -1; justify-self: center; padding: 10px 18px; }
  .forge-inner .notes-content, .forge-inner .notes-footer { margin-inline: 18px; }
  .forge-inner .notes-intro h1 { font-size: 40px; }
  .forge-inner .note-card { grid-template-columns: 1fr; }
  .forge-inner .note-copy h2 { font-size: 38px; }
  .forge-inner .folio { font-size: 10px; }
  .forge-inner .folio-end { display: none; }
  .forge-inner main:has(#contact-form), .forge-inner .privacy-page, .forge-inner .error-page {
    width: calc(100% - 20px);
    border-width: 15px;
    border-image-width: 15px;
    padding: 24px 18px;
  }
  .forge-inner .privacy-page h1 { font-size: 36px; }
  .forge-inner .hero-specs { flex-direction: column; }
  .forge-inner .hero-specs > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .forge-inner .hero-specs dd { margin: 0; }
  .forge-inner .hero .lead { font-size: 17px; }
  .forge-inner .photo-step-copy, .forge-inner .stage-copy p, .forge-inner .protocol-detail p { font-size: 15px; }
  .forge-inner .article-nav nav { gap: 8px 16px; }
  .forge-inner .team-intro h1 { font-size: 44px; }
  .forge-inner .person-copy { padding-inline: 18px; }
  .forge-inner .person h2 { overflow-wrap: anywhere; }
  .forge-inner .person-copy > p:not(.person-role) { font-size: 15px; }
}
/* V3 readability: keep the carved shell, give the content room to breathe. */
@media screen {
  body.forge-site.forge-inner { font-size: 20px; line-height: 1.65; color: #e4e5dd; }
  .forge-inner .nf-wordmark { font-size: 24px; }
  .forge-inner .nf-wordmark small { font-size: 12px; letter-spacing: .12em; color: #d0c6af; }
  .forge-inner .nf-nav { font: 500 16px/1.5 var(--type); gap: 24px; }
  .forge-inner .nf-nav a { min-height: 48px; display: inline-flex; align-items: center; }
  .forge-inner .eyebrow, .forge-inner .note-category, .forge-inner .person-role {
    color: #d7c59e;
    font: 500 14px/1.6 var(--type);
    letter-spacing: .08em;
  }
  .forge-inner .notes-intro > p,
  .forge-inner .note-copy > p:not(.note-category):not(.note-author):not(.note-topics),
  .forge-inner .hero .intro,
  .forge-inner .photo-step-copy,
  .forge-inner .stage-copy p,
  .forge-inner .section-intro > p,
  .forge-inner .section-intro > div > p,
  .forge-inner .demo-intro,
  .forge-inner .protocol-detail p,
  .forge-inner .principles p,
  .forge-inner .intro-bottom > p,
  .forge-inner .person-copy > p:not(.person-role),
  .forge-inner .responsibilities ul,
  .forge-inner .mission-context,
  .forge-inner main:has(#contact-form) .intro,
  .forge-inner .privacy-page p,
  .forge-inner .error-page p {
    color: #d4dcd9;
    font-size: 20px;
    line-height: 1.65;
  }
  .forge-inner .hero .lead { font-size: 22px; line-height: 1.6; color: #e3e6dc; }
  .forge-inner .hero .intro, .forge-inner .hero .lead { max-width: 58ch; }
  .forge-inner .note-author, .forge-inner .note-topics, .forge-inner .byline,
  .forge-inner figcaption, .forge-inner .path-note, .forge-inner .demo-footnote,
  .forge-inner .protocol-state p, .forge-inner .demo-result p,
  .forge-inner .email-option, .forge-inner .privacy {
    color: #c8d1d2;
    font: 400 16px/1.65 var(--type);
    letter-spacing: normal;
  }
  .forge-inner .caption-index { font-size: 14px; min-width: 24px; color: #d4c197; }
  .forge-inner .note-read, .forge-inner .text-link,
  .forge-inner .article-nav, .forge-inner .closing-rule a,
  .forge-inner .person-email a { font-size: 17px; line-height: 1.6; }
  .forge-inner .note-read, .forge-inner .person-email a { color: #e3d0a7; }
  .forge-inner .person-email a { overflow-wrap: anywhere; }
  .forge-inner .article-nav { gap: 16px 24px; flex-wrap: wrap; }
  .forge-inner .article-nav nav { flex-wrap: wrap; gap: 8px 24px; }
  .forge-inner .article-nav a { min-height: 44px; }
  .forge-inner .hero-specs { flex-wrap: wrap; }
  .forge-inner .hero-specs > div { padding: 12px 14px; }
  .forge-inner .hero-specs dt, .forge-inner .plate-label,
  .forge-inner .node-number, .forge-inner .simulation,
  .forge-inner .protocol-state span, .forge-inner .intro-location,
  .forge-inner .closing-rule span { font: 500 14px/1.6 var(--type); letter-spacing: .04em; color: #d3c09a; }
  .forge-inner .hero-specs dd { font-size: 17px; line-height: 1.5; }
  .forge-inner .folio, .forge-inner .chapter, .forge-inner .end-folio {
    height: auto;
    min-height: 46px;
    gap: 16px;
    font: 500 14px/1.5 var(--type);
  }
  .forge-inner .folio-number, .forge-inner .chapter > span { height: auto; min-height: 43px; align-self: stretch; }
  .forge-inner .chapter p { font: 500 14px/1.5 var(--type); letter-spacing: .04em; padding-block: 10px; }
  .forge-inner .signal-path strong { font-size: 22px; }
  .forge-inner .signal-path p { font-size: 16px; line-height: 1.5; }
  .forge-inner .track-label, .forge-inner .time-labels { font-size: 14px; line-height: 1.5; }
  .forge-inner .track-label { flex-wrap: wrap; gap: 6px 20px; }
  .forge-inner .track { height: 64px; }
  .forge-inner .pressed-block { font-size: 12px; letter-spacing: 0; }
  .forge-inner .protocol-state strong { font-size: 36px; }
  .forge-inner .demo-result strong { font-size: 20px; line-height: 1.5; }
  .forge-inner .protocol-steps { font-size: 16px; line-height: 1.5; color: #c4cdd0; gap: 10px 26px; }
  .forge-inner .limits summary { font-size: 18px; line-height: 1.5; }
  .forge-inner .protocol-detail h4 { font-size: 22px; }
  .forge-inner .protocol-detail pre { font-size: 17px; }
  .forge-inner .responsibilities h3 { font-size: 23px; }
  .forge-inner #contact-form label { font: 500 17px/1.5 var(--type); color: #e2dfd1; }
  .forge-inner #contact-form input, .forge-inner #contact-form textarea { font-size: 18px; line-height: 1.5; padding: 14px 16px; }
  .forge-inner #contact-form input::placeholder, .forge-inner #contact-form textarea::placeholder { color: #b0bdc4; }
  .forge-inner #contact-form label span, .forge-inner #contact-form small { font-size: 16px; line-height: 1.6; color: #c3cdd0; }
  .forge-inner #contact-form .field { margin-bottom: 28px; }
  .forge-inner main:has(#contact-form) { max-width: 900px; }
  .forge-inner #contact-form button,
  .forge-inner .analytics-options button,
  .forge-inner .forged-button,
  .forge-inner .team-contact .button,
  .forge-inner .play-button,
  .forge-inner .plain-button,
  .forge-inner .segmented button,
  .forge-inner dialog > button {
    min-height: 48px;
    font: 500 16px/1.5 var(--type);
    letter-spacing: .015em;
    padding: 12px 18px;
  }
  .forge-inner .demo-controls, .forge-inner .step-controls { gap: 12px; }
  .forge-inner dialog p { font-size: 18px; line-height: 1.6; }
  .forge-inner footer, .forge-inner .footer p,
  .forge-inner .notes-footer, .forge-inner .article-footer p,
  .forge-inner .article-footer nav, .forge-inner .article-footer > div > a {
    font: 400 15px/1.65 var(--type);
    letter-spacing: .01em;
    color: #c6ced0;
  }
  .forge-inner footer nav { flex-wrap: wrap; }
  .forge-inner .footer .privacy-links, .forge-inner .footer small,
  .forge-inner .footer strong, .forge-inner .footer > div > span { font-size: 15px; line-height: 1.65; }
  .forge-inner .notes-content { padding-block: 48px 64px; }
  .forge-inner .note-card { padding-top: 40px; }
}
@media screen and (max-width: 1000px) {
  .forge-inner .nf-header { flex-wrap: wrap; gap: 18px; }
  .forge-inner .nf-brand { margin-inline: auto; }
  .forge-inner .nf-nav { width: 100%; justify-content: center; border-top: 1px solid #464f53; padding-top: 12px; }
  .forge-inner .hero { grid-template-columns: 1fr; gap: 36px; }
  .forge-inner .hero-copy { max-width: 760px; }
  .forge-inner .hero-figure { max-width: 640px; margin-inline: auto; }
}
@media screen and (max-width: 600px) {
  .forge-inner .nf-wordmark { font-size: 21px; }
  .forge-inner .nf-wordmark small { font-size: 11px; }
  .forge-inner .nf-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; text-align: center; font-size: 15px; }
  .forge-inner .nf-nav a { justify-content: center; white-space: normal; }
  .forge-inner .nf-nav .nf-contact-link { grid-column: 1 / -1; justify-self: center; padding: 12px 18px; }
  .forge-inner .notes-content, .forge-inner .notes-footer { margin-inline: 18px; }
  .forge-inner .chapter { gap: 12px; }
  .forge-inner .chapter p { padding-right: 10px; }
  .forge-inner .folio { font-size: 13px; }
  .forge-inner .end-folio { flex-wrap: wrap; gap: 6px 14px; padding-block: 12px; font-size: 13px; }
  .forge-inner .hero-specs > div { flex-wrap: wrap; justify-content: flex-start; gap: 5px 18px; }
  .forge-inner .signal-path { grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); gap: 18px 12px; }
  .forge-inner .segmented { display: flex; flex-wrap: wrap; }
  .forge-inner .segmented button { flex: 1 1 130px; padding: 12px 10px; }
  .forge-inner .pressed-block { writing-mode: vertical-rl; }
  .forge-inner .step-controls > * { flex: 1 1 125px; }
  .forge-inner .protocol-state strong { font-size: 32px; }
  .forge-inner .closing-rule { flex-direction: column; align-items: flex-start; }
  .forge-inner .closing-rule span { max-width: none; }
  .forge-inner .notes-footer { flex-direction: column; }
  .forge-inner .notes-footer nav { gap: 12px 20px; }
  .forge-inner .article-footer nav a { white-space: normal; }
  .forge-inner .email-option a { overflow-wrap: anywhere; }
}
@media print {
  :root { color-scheme: light; --ink: #222; --muted: #555; --paper: #fff; --line: #aaa; }
  body.forge-site.forge-inner, .forge-inner .book, .forge-inner .article-book,
  .forge-inner .privacy-page, .forge-inner .person-copy { background: #fff; color: #222; border-image: none; box-shadow: none; }
  .forge-inner .book, .forge-inner .article-book { border: 0; }
  .forge-inner h1, .forge-inner h2, .forge-inner h3 { color: #222; text-shadow: none; }
  .forge-inner .nf-header { background: #fff; color: #222; box-shadow: none; }
  .forge-inner .nf-nav { display: none; }
}
