/* Proof Ledger — Home, V5 machined chassis. One steel chassis holds the shared
   header and footer and eight removable bays. Release facts are generated by the
   build or read from /truth/ by pf-home.js; nothing here names a product.
   Rules are scoped under .pf-machine so they outrank the shared system skin,
   which loads after this file. */

@font-face { font-family:"Archivo"; font-style:normal; font-weight:400 900; font-stretch:62% 125%; font-display:swap; src:url("/assets/fonts/archivo-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/ibm-plex-mono-latin-400.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap; src:url("/assets/fonts/ibm-plex-mono-latin-500.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:600; font-display:swap; src:url("/assets/fonts/ibm-plex-mono-latin-600.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:"IBM Plex Mono"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/ibm-plex-mono-latin-700.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }

/* ── tokens ─────────────────────────────────────────────────────────────── */
.pf-ledger-page {
  --black:#0b0f14; --iron:#1c232b; --receipt:#f4f7f8; --gold:#d6a84f; --steel:#b5c0c5; --teal:#85c8bb;
  --seam:#04060a; --ink:#dce3e6; --ink2:#c3cdd2; --ink3:#97a5ac;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace; --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rail:12px; --gut:clamp(16px,2.4vw,40px);
  --tex-fine:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .6 0 0 0 0 .66 0 0 0 .9 -.32'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23f)' opacity='.16'/%3E%3C/svg%3E");
  --tex-brush:repeating-linear-gradient(0deg,rgba(255,255,255,.013) 0 1px,rgba(0,0,0,.035) 1px 2px,transparent 2px 3px);
  --tex-paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='q'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='6' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .22 0 0 0 0 .24 0 0 0 0 .27 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23q)'/%3E%3C/svg%3E");
  --tex-carbon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cdefs%3E%3ClinearGradient id='a' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%230a0c0f'/%3E%3Cstop offset='.5' stop-color='%23242930'/%3E%3Cstop offset='1' stop-color='%230a0c0f'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%230b0d10'/%3E%3Cstop offset='.5' stop-color='%23181c21'/%3E%3Cstop offset='1' stop-color='%230b0d10'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='6' height='6' fill='url(%23a)'/%3E%3Crect x='6' width='6' height='6' fill='url(%23a)'/%3E%3Crect x='12' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='18' width='6' height='6' fill='url(%23b)'/%3E%3Crect y='6' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='6' y='6' width='6' height='6' fill='url(%23a)'/%3E%3Crect x='12' y='6' width='6' height='6' fill='url(%23a)'/%3E%3Crect x='18' y='6' width='6' height='6' fill='url(%23b)'/%3E%3Crect y='12' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='6' y='12' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='12' y='12' width='6' height='6' fill='url(%23a)'/%3E%3Crect x='18' y='12' width='6' height='6' fill='url(%23a)'/%3E%3Crect y='18' width='6' height='6' fill='url(%23a)'/%3E%3Crect x='6' y='18' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='12' y='18' width='6' height='6' fill='url(%23b)'/%3E%3Crect x='18' y='18' width='6' height='6' fill='url(%23a)'/%3E%3C/svg%3E");
  margin:0; overflow-x:visible; color:var(--steel); font-family:var(--sans); font-size:16px; line-height:1.5;
  background:radial-gradient(1400px 800px at 18% -12%,rgba(120,140,165,.10),transparent 62%),radial-gradient(900px 700px at 100% 40%,rgba(80,100,120,.05),transparent 60%),#07090c;
  color-scheme:dark;
}
.pf-ledger-page * { box-sizing:border-box }
html:has(dialog.pf-dialog[open]) { overflow:hidden }
.pf-ledger-page img { max-width:100% }
.pf-ledger-page button { font:inherit }
.ledger-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
.pf-text-filters { position:absolute; width:0; height:0; overflow:hidden }

/* ── one chassis: side rails + cross rails, removable bays ──────────────── */
.pf-ledger-page .pf-machine {
  position:relative; display:grid; gap:var(--rail); width:min(1560px,calc(100% - 2 * var(--gut))); margin:var(--gut) auto calc(var(--gut) * 1.6); padding:var(--rail); border-radius:7px;
  background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#141a1f,#0e1216 55%,#0b0e12);
  box-shadow:0 0 0 1px #000,inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.9),0 50px 90px rgba(0,0,0,.6),0 14px 30px rgba(0,0,0,.45);
}
.pf-ledger-page .pf-machine::before,.pf-ledger-page .pf-machine::after { content:""; position:absolute; top:calc(var(--rail) + 4px); bottom:calc(var(--rail) + 4px); width:2px; pointer-events:none; background:linear-gradient(90deg,#010203 0 1px,rgba(255,255,255,.065) 1px 2px) }
.pf-ledger-page .pf-machine::before { left:calc(var(--rail) / 2 - 1px) }
.pf-ledger-page .pf-machine::after { right:calc(var(--rail) / 2 - 1px) }
.pf-ledger-page .pf-machine main { display:grid; gap:var(--rail); min-width:0; padding:0 }
/* Enlarged text: a word longer than its line breaks instead of running out of its box. */
.pf-ledger-page .pf-machine { overflow-wrap:break-word }
.pf-ledger-page .pf-machine :is(.site-header,.site-footer,main>section) {
  position:relative; min-width:0; border:0; border-radius:3px;
  box-shadow:0 0 0 1px var(--seam),inset 1px 1px 0 rgba(255,255,255,.075),inset -1px -1px 0 rgba(0,0,0,.55),3px 5px 12px rgba(0,0,0,.45);
}
/* Countersunk screws on the seam above each bay. */
.pf-ledger-page .pf-machine main>section::before,.pf-ledger-page .pf-machine main>section::after,.pf-ledger-page .pf-machine .site-footer::before,.pf-ledger-page .pf-machine .site-footer::after {
  content:""; position:absolute; z-index:2; top:calc(var(--rail) / -2 - 5px); width:10px; height:10px; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle at 50% 50%,#0b0d10 0 1.6px,transparent 2px),radial-gradient(circle at 34% 30%,#e9edf0,#a1a9b0 42%,#565d64 78%,#2a2f34);
  box-shadow:0 0 0 1.5px #040506,0 0 0 2.5px rgba(255,255,255,.06),1px 2px 2px rgba(0,0,0,.7);
}
.pf-ledger-page .pf-machine main>section::before,.pf-ledger-page .pf-machine .site-footer::before { left:calc(var(--rail) / -2 - 5px) }
.pf-ledger-page .pf-machine main>section::after,.pf-ledger-page .pf-machine .site-footer::after { right:calc(var(--rail) / -2 - 5px) }
.pf-ledger-page .pf-machine .pf-ledger-wrap { width:auto; max-width:none; margin:0 }

/* ── type ──────────────────────────────────────────────────────────────── */
.pf-ledger-page .ledger-label { margin:0; font:500 13px/1.25 var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--steel); overflow-wrap:anywhere }
.pf-ledger-page .ledger-eyebrow { display:flex; align-items:center; gap:12px }
.pf-ledger-page .ledger-eyebrow::before { content:""; flex:0 0 28px; height:3px; border-radius:1px; background:linear-gradient(90deg,#f0d38e,#d6a84f 50%,#9a7433); box-shadow:0 1px 0 rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.4) }
.pf-ledger-page .pf-machine h2 {
  margin:0; font-family:var(--sans); font-weight:800; font-stretch:90%; font-size:clamp(30px,3.1vw,52px); line-height:1; letter-spacing:-.017em;
  min-width:0; color:#e2e8eb;
  filter:drop-shadow(0 1px 0 #2a3138) drop-shadow(1px 3px 5px rgba(0,0,0,.45));
}
/* Metal lettering (hero h1 and the bay h2s). `color` is the durable foreground:
   it paints the words unless this is a screen without forced colours that can
   clip a background to text. Then a gradient over a solid colour is clipped to
   the glyphs, so the words still paint if background images are disabled or
   fail. The gradient keeps its box (content-box, no repeat); padding taken back
   by the margin lets the solid colour reach descenders below line-height 1. */
@media screen and (forced-colors:none) {
  @supports ((-webkit-background-clip:text) or (background-clip:text)) {
    .pf-ledger-page .pf-machine :is(.ledger-hero h1,main>section:not(.ledger-close) h2) { -webkit-background-clip:text; background-clip:text; background-origin:content-box; background-repeat:no-repeat; -webkit-text-fill-color:transparent; padding-bottom:.16em; margin-bottom:-.16em }
    .pf-ledger-page .pf-machine main>section:not(.ledger-close) h2 { background-color:#dde3e6; background-image:linear-gradient(180deg,#f4f7f8 10%,#cfd6db 70%,#e6ebee) }
    .pf-ledger-page .pf-machine .ledger-hero h1 { background-color:#d8dee2; background-image:linear-gradient(178deg,#f6f8f9 0%,#e6eaed 36%,#c9d0d5 56%,#dde2e5 77%,#f2f5f6 100%) }
  }
}
.pf-ledger-page .ledger-engraving { font:600 12px/1.3 var(--mono); letter-spacing:.26em; text-transform:uppercase; color:#0a0e12; text-shadow:1px 1px 0 rgba(255,255,255,.12),-1px -1px 0 rgba(0,0,0,.5) }

/* ── machined controls ─────────────────────────────────────────────────── */
.pf-ledger-page .pf-machine :where(a,button,summary):focus-visible,.pf-ledger-page .pf-dialog :where(a,button,summary,[tabindex]):focus-visible { outline:2px solid var(--teal); outline-offset:3px; border-radius:2px }
.pf-ledger-page .ledger-arrow { width:18px; height:18px; flex:none; vertical-align:middle }
.pf-ledger-page .pf-machine .ledger-button {
  display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:58px; padding:0 30px; border-radius:3px; border:1px solid #05070a; cursor:pointer;
  font:700 17px/1.15 var(--sans); font-stretch:86%; letter-spacing:.11em; text-transform:uppercase; text-align:center; text-decoration:none; color:#0b0f14;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 1px,rgba(0,0,0,.04) 1px 3px),linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%) -160% 0/220% 100% no-repeat,linear-gradient(180deg,#e8ecef,#b5bdc3 55%,#979fa6);
  background-color:#bac2c8;
  /* Side padding gives way only when the button is too narrow for its longest word (enlarged text). */
  padding-inline:clamp(8px,(100% - 6em) / 2,30px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -2px 0 rgba(0,0,0,.22),0 2px 0 #07080a,0 10px 18px rgba(0,0,0,.5); text-shadow:0 1px 0 rgba(255,255,255,.5);
  transition:transform .12s ease,box-shadow .12s ease,filter .16s ease,background-position .5s ease;
}
.pf-ledger-page .pf-machine .ledger-button:hover { color:#0b0f14; background-position:0 0,160% 0,0 0; filter:brightness(1.04) }
.pf-ledger-page .pf-machine .ledger-button:active { transform:translateY(2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.2),0 0 0 #07080a,0 3px 7px rgba(0,0,0,.55) }
.pf-ledger-page .pf-machine .ledger-button-small { min-height:44px; padding:0 14px; gap:8px; font-size:14.5px; font-stretch:94%; letter-spacing:.005em; text-transform:none }
.pf-ledger-page .pf-machine .ledger-button-small .ledger-arrow { width:16px; height:16px }
.pf-ledger-page .pf-machine .ledger-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--teal); font-size:15.5px; font-weight:600; text-decoration:underline; text-decoration-color:rgba(133,200,187,.45); text-underline-offset:5px }
.pf-ledger-page .pf-machine .ledger-link:hover { color:#b3e3d9 }
.pf-ledger-page .pf-machine .ledger-link-mono { gap:12px; min-height:48px; font:500 15px/1.2 var(--mono); letter-spacing:.14em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(133,200,187,.45) }
.pf-ledger-page .pf-machine .ledger-link-mono:hover { color:#c4efe6; border-bottom-color:var(--teal) }
.pf-ledger-page .ledger-receipt-button[hidden] { display:none!important }
/* Inspect the Mark is revealed by script. Its row is reserved from first paint,
   so the reveal does not move the hero; while hidden it is invisible, out of the
   tab order and out of the accessibility tree. */
.pf-ledger-page .pf-inspect[hidden] { display:inline-flex!important; visibility:hidden }
.pf-ledger-page .pf-machine .ledger-receipt-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 14px; border-radius:3px; border:1px solid #05070a; cursor:pointer;
  font:700 14.5px/1.15 var(--sans); font-stretch:94%; letter-spacing:.005em; text-align:center; color:var(--teal);
  background:var(--tex-brush),linear-gradient(180deg,#2c353e,#1e252c); background-color:#252d35; box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.5),0 2px 0 #050608,0 8px 16px rgba(0,0,0,.45);
  transition:transform .12s ease,filter .16s ease;
}
.pf-ledger-page .pf-machine .ledger-receipt-button svg { width:16px; height:16px; flex:none }
.pf-ledger-page .pf-machine .ledger-receipt-button:hover { color:#c4efe6; filter:brightness(1.12) }
.pf-ledger-page .pf-machine .ledger-receipt-button:active { transform:translateY(2px) }

/* ── header rail ───────────────────────────────────────────────────────── */
.pf-ledger-page .pf-machine .skip-link { position:absolute; z-index:120; top:8px; left:16px; transform:translateY(-100vh); padding:10px 16px; border-radius:3px; background:#f4f7f8; color:#0b0f14; font-weight:700 }
.pf-ledger-page .pf-machine .skip-link:focus { transform:none }
.pf-ledger-page .pf-machine .site-header { position:relative; z-index:40; color:#f4f7f8; backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--tex-brush),linear-gradient(180deg,#252d35,#191f25) }
.pf-ledger-page .pf-machine .site-header .nav-row { width:auto; max-width:none; min-height:0; margin:0; padding:10px clamp(14px,2vw,30px); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 24px }
.pf-ledger-page .pf-machine .site-header .brand-lockup { display:flex; flex:0 1 auto; align-items:center; gap:14px; min-width:0; min-height:56px; color:#f4f7f8; text-decoration:none }
.pf-ledger-page .pf-machine .site-header .brand-mark-picture { display:contents }
.pf-ledger-page .pf-machine .site-header .brand-mark-picture > source { display:none }
.pf-ledger-page .pf-machine .site-header .brand-mark { width:50px; height:auto; padding:0; filter:drop-shadow(0 1px 1px rgba(0,0,0,.4)) }
.pf-ledger-page .pf-machine .site-header .brand-name { display:flex; flex-direction:column; gap:6px; font:800 clamp(17px,1.3vw,22px)/1 var(--sans); font-stretch:86%; letter-spacing:.06em; text-transform:uppercase; white-space:normal; color:#eef2f4; text-shadow:0 1px 0 #535c64,1px 3px 3px rgba(0,0,0,.45) }
.pf-ledger-page .pf-machine .site-header .brand-name small { margin:0; font:500 11.5px/1 var(--mono); letter-spacing:.2em; color:#9fadb4; text-shadow:none }
.pf-ledger-page .pf-machine .site-header .nav-panel { display:flex; align-items:center; gap:clamp(14px,2.4vw,40px); flex:0 1 auto; margin-left:auto }
.pf-ledger-page .pf-machine .site-header .top-nav { display:flex; align-items:center; gap:clamp(14px,2.4vw,40px); margin:0 }
.pf-ledger-page .pf-machine .site-header .top-nav a { position:relative; display:flex; align-items:center; min-height:44px; padding:0; border:0; font:600 15.5px/1 var(--sans); font-stretch:84%; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; color:#f4f7f8; text-decoration:none; text-shadow:0 -1px 0 rgba(0,0,0,.9) }
.pf-ledger-page .pf-machine .site-header .top-nav a::after { content:""; position:absolute; left:0; right:0; bottom:8px; height:2px; background:var(--teal); transform:scaleX(0); transform-origin:left; transition:transform .18s ease }
.pf-ledger-page .pf-machine .site-header .top-nav a:hover { color:#fff }
.pf-ledger-page .pf-machine .site-header .top-nav a:is(:hover,[aria-current="page"])::after { transform:scaleX(1) }
.pf-ledger-page .pf-machine .site-header .nav-panel .nav-cta {
  display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border-radius:3px; border:1px solid #05070a; color:#f4f7f8;
  font:700 15.5px/1 var(--sans); font-stretch:84%; letter-spacing:.11em; text-transform:uppercase; background:linear-gradient(180deg,#3a444e,#262e36);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset -1px -1px 0 rgba(0,0,0,.5),0 0 0 3px #0f1419,0 0 0 4px rgba(255,255,255,.05); transform:none; transition:border-color .15s,transform .12s;
}
.pf-ledger-page .pf-machine .site-header .nav-panel .nav-cta:hover { border-color:var(--teal); background:linear-gradient(180deg,#3a444e,#262e36); color:#fff }
.pf-ledger-page .pf-machine .site-header .nav-toggle { display:none }

/* ── hero bay: raised signage on a machined plate ──────────────────────── */
.pf-ledger-page .pf-machine .ledger-hero {
  overflow:hidden; border-bottom:0;
  background:radial-gradient(85% 120% at 12% 0%,rgba(255,255,255,.06),transparent 62%),linear-gradient(116deg,transparent 36%,rgba(200,215,235,.045) 50%,transparent 63%),var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#27303a,#1a2027);
}
.pf-ledger-page .pf-machine .ledger-hero-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:clamp(20px,3vw,56px); min-height:0; padding:clamp(16px,2vw,36px) clamp(18px,3.8vw,68px) }
.pf-ledger-page .pf-machine .ledger-hero-copy { container-type:inline-size; display:flex; flex-direction:column; gap:clamp(14px,1.5vw,24px); min-width:0 }
.pf-ledger-page .pf-machine .ledger-hero h1 {
  margin:0; max-width:none; font-family:var(--sans); font-weight:900; font-stretch:88%; font-size:clamp(34px,13.6cqi,112px); line-height:.93; letter-spacing:-.026em;
  /* The size leaves each line 3.4% short of the column, so the <br/> sets the
     lines at default settings; enlarged text or text spacing wraps instead of
     running out of the hero, and a word wider than the column breaks. */
  white-space:normal; overflow-wrap:break-word;
  color:#dfe4e7;
  /* A thin lit edge and a two-step sidewall: dimensional, with a clear face. */
  filter:url(#pf-text-steel) drop-shadow(1px 1px 0 #66707a) drop-shadow(1px 1px 0 #3b434b) drop-shadow(2px 7px 9px rgba(0,0,0,.42));
}
.pf-ledger-page .pf-machine .ledger-hero-subtitle { margin:0; max-width:none; font-family:var(--sans); font-weight:800; font-stretch:90%; font-size:clamp(25px,4.4cqi,46px); line-height:1.02; letter-spacing:-.015em; color:#e6ebee; text-shadow:0 1px 0 rgba(255,255,255,.12),1px 2px 0 #3a4249,2px 6px 10px rgba(0,0,0,.45) }
.pf-ledger-page .pf-machine .ledger-hero-description { margin:0; max-width:44ch; font-family:var(--sans); font-size:clamp(17px,1.25vw,21px); line-height:1.5; font-weight:500; color:var(--ink) }
.pf-ledger-page .pf-machine .ledger-hero-utilities { margin:0; max-width:48ch; font-family:var(--sans); font-size:clamp(14px,1.05vw,16.5px); line-height:1.55; color:#c1cbcf }
.pf-ledger-page .pf-machine .ledger-hero .ledger-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 30px; margin:0; padding-top:6px }
/* At default text the primary label keeps one line (at 320px it uses some of its
   padding); larger text wraps it inside the button instead of past its edge. */
.pf-ledger-page .pf-machine .ledger-hero .ledger-button { white-space:nowrap }
@container (width < calc(11.6em + 30px)) { .pf-ledger-page .pf-machine .ledger-hero .ledger-button { white-space:normal } }
.pf-ledger-page .pf-machine .ledger-hero-mark { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0 }
/* margin-block and ::after reset the earlier foundry plate scene (pf-foundry-system.css),
   whose 15-22px margins and serial tag do not belong to the V5 emblem. */
.pf-ledger-page .pf-machine .ledger-plate-scene { display:flex; flex-direction:column; align-items:center; width:min(100%,620px); margin-block:0; padding:0; perspective:none; isolation:auto }
.pf-ledger-page .pf-machine .ledger-plate-scene::before,.pf-ledger-page .pf-machine .ledger-plate-scene::after { content:none }
.pf-ledger-page .pf-machine .ledger-plate-serial { margin-top:-2px; font:600 11px/1.4 var(--mono); letter-spacing:.26em; text-transform:uppercase; color:#0a0e12; text-shadow:1px 1px 0 rgba(255,255,255,.12),-1px -1px 0 rgba(0,0,0,.5) }
/* The negative margins (of the emblem's width) overlap the render frame's empty
   top band and soft lower shadow band with the hero padding; no art is clipped. */
.pf-emblem { position:relative; width:100%; aspect-ratio:1600/1849; margin:-4% 0 -5%; --lN:0; --lE:0; --lS:0; --lW:0; --lOn:0; --mx:30%; --my:30%; --ang:0deg }
.pf-emblem picture,.pf-emblem-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none }
.pf-lm { position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .35s ease; -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat }
.pf-lm--n { -webkit-mask-image:url("/brand/emblem/LIGHT_NORTH_R3.webp"); mask-image:url("/brand/emblem/LIGHT_NORTH_R3.webp"); opacity:calc(var(--lN) * .9) }
.pf-lm--e { -webkit-mask-image:url("/brand/emblem/LIGHT_EAST_R3.webp"); mask-image:url("/brand/emblem/LIGHT_EAST_R3.webp"); opacity:calc(var(--lE) * .9) }
.pf-lm--s { -webkit-mask-image:url("/brand/emblem/LIGHT_SOUTH_R3.webp"); mask-image:url("/brand/emblem/LIGHT_SOUTH_R3.webp"); opacity:calc(var(--lS) * .9) }
.pf-lm--w { -webkit-mask-image:url("/brand/emblem/LIGHT_WEST_R3.webp"); mask-image:url("/brand/emblem/LIGHT_WEST_R3.webp"); opacity:calc(var(--lW) * .9) }
.pf-lm--n,.pf-lm--e,.pf-lm--s,.pf-lm--w { background:radial-gradient(70% 60% at var(--mx) var(--my),#ffffff,rgba(235,242,255,.55) 60%,rgba(235,242,255,.25)) }
.pf-lm--bridge { -webkit-mask-image:url("/brand/emblem/LIGHT_BRIDGE_R3.webp"); mask-image:url("/brand/emblem/LIGHT_BRIDGE_R3.webp"); opacity:calc(var(--lOn) * .55); background:linear-gradient(100deg,transparent calc(var(--mx) - 16%),rgba(255,248,232,.9) var(--mx),transparent calc(var(--mx) + 16%)) }
.pf-lm--brass { -webkit-mask-image:url("/brand/emblem/LIGHT_BRASS_R3.webp"); mask-image:url("/brand/emblem/LIGHT_BRASS_R3.webp"); opacity:calc(var(--lOn) * .5); background:radial-gradient(28% 22% at var(--mx) var(--my),rgba(255,222,150,.95),rgba(255,210,130,0)) }
.pf-lm--seal { -webkit-mask-image:url("/brand/emblem/LIGHT_SEAL_R3.webp"); mask-image:url("/brand/emblem/LIGHT_SEAL_R3.webp"); opacity:calc(var(--lOn) * .5); background:conic-gradient(from var(--ang) at 50% 43%,rgba(255,255,255,.34),transparent 9%,transparent 41%,rgba(255,255,255,.2) 50%,transparent 59%,transparent 91%,rgba(255,255,255,.34)) }
.pf-lm--eng { -webkit-mask-image:url("/brand/emblem/LIGHT_ENGRAVING_R3.webp"); mask-image:url("/brand/emblem/LIGHT_ENGRAVING_R3.webp"); opacity:calc(var(--lOn) * .55); background:#020304 }
.pf-ledger-page .ledger-hero-mark:has(.pf-inspect:focus-visible) .pf-emblem { --lN:.75; --lW:.75; --lOn:.8; --mx:28%; --my:24%; --ang:-38deg }
.pf-ledger-page .ledger-hero-mark:has(.pf-inspect:focus-visible) .pf-lm { transition-duration:.25s }
.pf-ledger-page .pf-inspect {
  display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 18px 0 14px; border-radius:999px; border:1px solid #05070a; cursor:pointer;
  font:600 13px/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:#e9d8ae; background:linear-gradient(180deg,#2b323a,#1b2127);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.6),0 0 0 3px rgba(11,15,20,.9),0 0 0 4px rgba(214,168,79,.28),0 8px 16px rgba(0,0,0,.45); transition:transform .12s,box-shadow .15s,color .15s;
}
.pf-ledger-page .pf-inspect svg { width:18px; height:18px; color:var(--gold) }
.pf-ledger-page .pf-inspect:hover { color:#f6e7c0; box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.6),0 0 0 3px rgba(11,15,20,.9),0 0 0 4px rgba(214,168,79,.55),0 8px 16px rgba(0,0,0,.45) }
.pf-ledger-page .pf-inspect:active { transform:translateY(1px) }

/* ── proof chain: one forged chain in one fabricated housing ──────────────
   The chain, housing, anchors, pointers and plate blanks are one offline
   render (assets/proof-chain). Stage numbers, names and statements are the
   HTML list laid over it. Every coordinate below comes from the render's
   alignment data: horizontal values are CSS-px positions in the 1400 x 431
   frame divided by 14 (1cqw = 1/100 of the assembly width); the vertical
   values are CSS px in the 160 x 635 frame, times --s. */
.pf-ledger-page .pf-machine .ledger-chain { padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); border-bottom:0; background:linear-gradient(118deg,transparent 40%,rgba(200,215,235,.035) 52%,transparent 64%),var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#232b33,#181e24) }
.pf-ledger-page .pf-machine .ledger-chain-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px 28px; margin-bottom:clamp(18px,2vw,26px) }
.pf-ledger-page .pf-machine .ledger-chain-machine { position:relative; isolation:isolate; container-type:inline-size; container-name:chain }
.pf-ledger-page .pf-machine .ledger-chain-assembly { position:relative; z-index:1; display:block; pointer-events:none }
.pf-ledger-page .pf-machine .ledger-chain-assembly img { display:block; width:100%; height:100% }
.pf-ledger-page .pf-machine .ledger-rail { position:relative; list-style:none; margin:0; padding:0; color:#c9d2d7 }
.pf-ledger-page .pf-machine .ledger-rail li { margin:0 }
.pf-ledger-page .pf-machine .ledger-rail :is(h3,p,.ledger-station-number) { margin:0 }
.pf-ledger-page .pf-machine .ledger-station-number { font:700 13px/1 var(--mono); letter-spacing:.2em; color:#1a2026 }
.pf-ledger-page .pf-machine .ledger-rail h3 { font:700 16px/1 var(--mono); letter-spacing:.12em; color:#151b21 }
/* Laser-etched marks: a dark cut with a bright lip on its lower edge. */
.pf-ledger-page .pf-machine .ledger-rail :is(h3,.ledger-station-number) { text-shadow:0 1px 0 rgba(255,255,255,.42),0 -1px 0 rgba(0,0,0,.14) }
/* Inspection light: keyboard focus inside a station, or a hovering pointer,
   lights its link. It is soft: a cool pool of light over the link, nothing moves. */
.pf-ledger-page .pf-machine .ledger-rail li::after {
  content:""; position:absolute; z-index:2; right:auto; bottom:auto; opacity:0; border:0; transform:none; pointer-events:none; /* clears the older arrow glyph in pf-foundry-system.css */
  background:radial-gradient(closest-side,rgba(214,228,242,.22),rgba(206,222,238,.09) 60%,rgba(206,222,238,0));
  transition:opacity .22s ease-out;
}
.pf-ledger-page .pf-machine .ledger-rail li:focus-within::after { opacity:1 }
@media (hover:hover) { .pf-ledger-page .pf-machine .ledger-rail li:hover::after { opacity:1 } }

/* Horizontal assembly (1000px and up): the tensioned chain in its housing,
   with a shallow inspection strip bolted under it. */
@media (min-width:1000px) {
  .pf-ledger-page .pf-machine .ledger-chain-assembly { aspect-ratio:1400 / 431 }
  /* One steel bar, five stations, each centred on its primary link and plate
     pointer. Square chamfered edges and socket-head screws on the housing's
     end-screw columns, at the housing's screw size. */
  .pf-ledger-page .pf-machine .ledger-rail {
    position:static; display:grid; grid-template-columns:14.9314cqw 14.9561cqw 14.9807cqw 14.9557cqw 14.9307cqw;
    margin:-.7839cqw .7743cqw 0; padding:14px 14.2596cqw 18px 9.4371cqw; border-radius:0;
    background:
      radial-gradient(circle at calc(2.66cqw - .16cqw) calc(50% - .2cqw),rgba(255,255,255,.2),transparent .32cqw),
      radial-gradient(circle at 2.66cqw 50%,#06080a 0 .2cqw,#22282d .26cqw,#3d454c .36cqw,#2a3036 .5cqw,#15191d .57cqw,#020304 .63cqw,transparent .69cqw),
      radial-gradient(circle at calc(100% - 2.66cqw - .16cqw) calc(50% - .2cqw),rgba(255,255,255,.2),transparent .32cqw),
      radial-gradient(circle at calc(100% - 2.66cqw) 50%,#06080a 0 .2cqw,#22282d .26cqw,#3d454c .36cqw,#2a3036 .5cqw,#15191d .57cqw,#020304 .63cqw,transparent .69cqw),
      repeating-linear-gradient(180deg,rgba(255,255,255,.016) 0 1px,transparent 1px 3px),
      linear-gradient(180deg,#0d1014 0,#1c2228 3px,#1a2026 60%,#151a1f);
    background-color:#1a2026;
    box-shadow:0 0 0 1px #05070a,inset 0 1px 0 rgba(0,0,0,.6),inset 0 -2px 0 rgba(0,0,0,.45),inset 0 -3px 0 rgba(255,255,255,.07),inset 1px 0 0 rgba(255,255,255,.05),inset -1px 0 0 rgba(255,255,255,.05),0 12px 20px rgba(0,0,0,.42);
  }
  .pf-ledger-page .pf-machine .ledger-rail li { position:static; padding:0 12px }
  .pf-ledger-page .pf-machine .ledger-rail p { position:relative; padding-top:14px; font:400 16px/1.45 var(--sans); text-align:center; text-wrap:balance; color:#c9d2d7 }
  /* An engraved index line under each pointer: plate, strip and text share one axis. */
  .pf-ledger-page .pf-machine .ledger-rail p::before { content:""; position:absolute; top:0; left:50%; width:1px; height:9px; background:#05070a; box-shadow:1px 0 0 rgba(255,255,255,.08) }
  .pf-ledger-page .pf-machine .ledger-rail li:focus-within p { color:#f1f5f7 }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(1) { --px:12.0671cqw; --lx:10.5707cqw; --lw:14.2057cqw; --ly:6.495cqw; --lh:9.1614cqw }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(2) { --px:26.9979cqw; --lx:25.4907cqw; --lw:14.2307cqw; --ly:7.9386cqw; --lh:8.8786cqw }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(3) { --px:41.9786cqw; --lx:40.4657cqw; --lw:14.2464cqw; --ly:8.3914cqw; --lh:8.755cqw }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(4) { --px:56.9593cqw; --lx:55.455cqw; --lw:14.2293cqw; --ly:7.915cqw; --lh:8.9271cqw }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(5) { --px:71.89cqw; --lx:70.4043cqw; --lw:14.2cqw; --ly:6.5086cqw; --lh:9.1336cqw }
  /* The number is etched on the rendered stainless plate (x, width and centre-y from the alignment data). */
  .pf-ledger-page .pf-machine .ledger-station-number { position:absolute; z-index:2; left:var(--px); width:11.2207cqw; text-align:center; white-space:nowrap }
  /* Plate blank under the render: it only shows when images are unavailable. */
  .pf-ledger-page .pf-machine .ledger-rail li::before { content:""; position:absolute; z-index:0; left:var(--px); top:22.6529cqw; width:11.2207cqw; height:5.7229cqw; border-radius:3px; background-color:#a9aeb3; box-shadow:inset 0 0 0 1px rgba(0,0,0,.35) }
  .pf-ledger-page .pf-machine .ledger-rail li::after { left:calc(var(--lx) - 1.2cqw); top:calc(var(--ly) - 1.2cqw); width:calc(var(--lw) + 2.4cqw); height:calc(var(--lh) + 2.4cqw) }
}
@media (min-width:1000px) and (hover:hover) { .pf-ledger-page .pf-machine .ledger-rail li:hover p { color:#f1f5f7 } }

/* 1181px and up: the plates are wide enough to carry number and name. */
@media (min-width:1181px) {
  .pf-ledger-page .pf-machine .ledger-rail h3 { position:absolute; z-index:2; left:var(--px); top:calc(25.5143cqw + 1px); width:11.2207cqw; text-align:center; white-space:nowrap }
  .pf-ledger-page .pf-machine .ledger-station-number { top:calc(25.5143cqw - 18px) }
}
@media (min-width:1181px) and (max-width:1359px) {
  /* Smaller plates: the etched names tighten so they clear the plate screws. */
  .pf-ledger-page .pf-machine .ledger-rail h3 { font-size:15px; letter-spacing:.05em }
  .pf-ledger-page .pf-machine .ledger-station-number { font-size:12.5px }
}
/* 1000-1180px: the plates carry the etched number only; the stage name
   heads its statement on the strip directly under the same pointer. */
@media (min-width:1000px) and (max-width:1180px) {
  .pf-ledger-page .pf-machine .ledger-station-number { top:calc(25.5143cqw - 7px); font-size:15px; letter-spacing:.16em; text-indent:.16em }
  .pf-ledger-page .pf-machine .ledger-rail li { padding:0 6px }
  .pf-ledger-page .pf-machine .ledger-rail h3 { position:relative; padding-top:14px; font-size:15px; line-height:1.2; letter-spacing:.1em; text-align:center; color:#dfe6ea; text-shadow:0 -1px 0 rgba(0,0,0,.7) }
  .pf-ledger-page .pf-machine .ledger-rail h3::before { content:""; position:absolute; top:0; left:50%; width:1px; height:9px; background:#05070a; box-shadow:1px 0 0 rgba(255,255,255,.08) }
  .pf-ledger-page .pf-machine .ledger-rail p { padding-top:6px; font-size:15px; line-height:1.4 }
  .pf-ledger-page .pf-machine .ledger-rail p::before { display:none }
}

/* Below 1000px the plates would be too small for legible etching, so the
   same nine links hang vertically in a guide channel and each plate is
   mounted beside its link on a carrier bolted to the housing. The plates are
   in normal flow with a minimum height: at default text settings each one is
   centred on its pointer, and under user text-spacing overrides they grow
   and push the stack down instead of overflowing. */
@media (max-width:999px) {
  /* --s scales the whole vertical assembly (render, carrier, pointers, plates) as one part. */
  .pf-ledger-page .pf-machine .ledger-chain-machine { --s:1.1; --pw:320px; width:min(100%,calc(120.57px * var(--s) + var(--pw) + 8px)); margin-inline:auto }
  .pf-ledger-page .pf-machine .ledger-chain-assembly { position:absolute; left:0; top:0; width:calc(160px * var(--s)); aspect-ratio:160 / 635 }
  /* Pointer centres sit at (300.46px + k x 95.08px) x --s (k = -2..2). While
     --ph + --pg equals the pointer pitch, every plate is centred on its pointer. */
  .pf-ledger-page .pf-machine .ledger-rail {
    --pitch:calc(95.08px * var(--s)); --ph:92px; --pg:calc(var(--pitch) - var(--ph));
    display:flex; flex-direction:column; gap:var(--pg); box-sizing:border-box; min-height:calc(635px * var(--s));
    margin:0 0 0 calc(120.57px * var(--s)); padding:calc(300.46px * var(--s) - 2 * var(--pitch) - var(--ph) / 2) 8px 26px 0;
  }
  /* The carrier: the housing's brushed steel and square chamfered edge, with
     socket-head screws above the first plate and below the last. */
  .pf-ledger-page .pf-machine .ledger-rail::before {
    content:""; position:absolute; z-index:0; left:calc(29.43px * var(--s)); right:0; top:calc(4.6px * var(--s)); bottom:calc(4.8px * var(--s));
    background:
      radial-gradient(circle at calc(100% - 17px) 18px,#06080a 0 1.7px,#22282d 2.2px,#3d454c 3px,#2a3036 4.2px,#15191d 4.8px,#020304 5.3px,transparent 5.8px),
      radial-gradient(circle at calc(100% - 17px) calc(100% - 18px),#06080a 0 1.7px,#22282d 2.2px,#3d454c 3px,#2a3036 4.2px,#15191d 4.8px,#020304 5.3px,transparent 5.8px),
      radial-gradient(circle at 50% 18px,#06080a 0 1.7px,#22282d 2.2px,#3d454c 3px,#2a3036 4.2px,#15191d 4.8px,#020304 5.3px,transparent 5.8px),
      radial-gradient(circle at 50% calc(100% - 18px),#06080a 0 1.7px,#22282d 2.2px,#3d454c 3px,#2a3036 4.2px,#15191d 4.8px,#020304 5.3px,transparent 5.8px),
      linear-gradient(90deg,rgba(0,0,0,.55) 0 2px,transparent 7px),
      repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),
      linear-gradient(180deg,#2c3238,#20252a 6%,#1d2126 94%,#15181c);
    background-color:#1e2227;
    box-shadow:0 0 0 1px #05070a,inset 0 1px 0 rgba(255,255,255,.08),inset 0 2px 0 rgba(0,0,0,.4),inset -1px 0 0 rgba(255,255,255,.06),inset -2px 0 0 rgba(0,0,0,.6),inset 0 -2px 0 rgba(0,0,0,.45),3px 6px 14px rgba(0,0,0,.45);
  }
  .pf-ledger-page .pf-machine .ledger-rail li {
    position:relative; z-index:2; box-sizing:border-box; min-height:var(--ph);
    display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; align-content:center; gap:3px 9px; padding:6px 22px 7px 11px;
    background:
      radial-gradient(circle at calc(100% - 10px) 11px,#1d2328 0 1px,#d2d7db 1.5px,#8f979d 2.6px,#4a5258 3.2px,rgba(0,0,0,.5) 3.7px,transparent 4.2px),
      radial-gradient(circle at calc(100% - 10px) calc(100% - 11px),#1d2328 0 1px,#d2d7db 1.5px,#8f979d 2.6px,#4a5258 3.2px,rgba(0,0,0,.5) 3.7px,transparent 4.2px),
      repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,.025) 1px 3px),linear-gradient(180deg,#bcc1c6,#a3a8ae 55%,#979ca2);
    background-color:#a6abb0;
    box-shadow:0 0 0 1px #0a0d10,inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.25),2px 3px 6px rgba(0,0,0,.5);
  }
  /* Engraved border rule, inset like the rendered plate blanks. */
  .pf-ledger-page .pf-machine .ledger-rail li::before { content:""; position:absolute; inset:3px; border-radius:1px; border:1px solid rgba(0,0,0,.26); box-shadow:0 1px 0 rgba(255,255,255,.35),inset 0 1px 0 rgba(255,255,255,.35); pointer-events:none }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(1) { --k:-2 }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(2) { --k:-1 }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(3) { --k:0 }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(4) { --k:1 }
  .pf-ledger-page .pf-machine .ledger-rail li:nth-child(5) { --k:2 }
  .pf-ledger-page .pf-machine .ledger-station-number { font-size:12.5px; letter-spacing:.14em }
  .pf-ledger-page .pf-machine .ledger-rail h3 { font-size:15px; letter-spacing:.12em }
  .pf-ledger-page .pf-machine .ledger-rail p { grid-column:1 / -1; font:400 16px/1.35 var(--sans); color:#192026; text-wrap:pretty }
  /* Link centre is 74.14px x --s from the assembly edge; the plate starts at 120.57px x --s. */
  .pf-ledger-page .pf-machine .ledger-rail li::after { left:calc(-46.43px * var(--s) - 42px * var(--s)); top:calc(var(--ph) / 2 + var(--k) * (var(--pitch) - var(--ph) - var(--pg)) - 58px * var(--s)); width:calc(84px * var(--s)); height:calc(116px * var(--s)) }
}
@media (max-width:699px) {
  .pf-ledger-page .pf-machine .ledger-chain-machine { --s:1; width:auto }
  .pf-ledger-page .pf-machine .ledger-rail p { font-size:15px; line-height:1.3 }
}
@media (max-width:360px) {
  .pf-ledger-page .pf-machine .ledger-chain-machine { margin-inline:-6px }
  .pf-ledger-page .pf-machine .ledger-rail { padding-right:2px }
  .pf-ledger-page .pf-machine .ledger-rail li { padding:5px 17px 6px 9px }
  .pf-ledger-page .pf-machine .ledger-rail h3 { font-size:14.5px; letter-spacing:.06em }
}

/* ── proof chain: text first ──────────────────────────────────────────────
   The plates above are sized for default text. When the visitor's text is
   larger (a setting that enlarges the computed font size) or the artwork
   fails to load,
   the five stations become a plain numbered list in normal flow: words are
   never clamped, shrunk or clipped, and the chain is never stretched to
   follow them. The thresholds compare the bay's width with its own font
   size (em), so they follow the visitor's text size; there is no media
   query for text spacing, so plates simply grow under spacing overrides.
   Every threshold keeps the default layout at default text settings. */
.pf-ledger-page .pf-machine .ledger-chain>.pf-ledger-wrap { container:chainbay / inline-size }
/* 361-699px: tighten the plates as at 360px before giving them up. */
@media (min-width:361px) and (max-width:699px) {
  @container chainbay (width < calc(171px + 6.6em)) {
    .pf-ledger-page .pf-machine .ledger-chain-machine { margin-inline:-6px }
    .pf-ledger-page .pf-machine .ledger-rail { padding-right:2px }
    .pf-ledger-page .pf-machine .ledger-rail li { padding:5px 17px 6px 9px }
    .pf-ledger-page .pf-machine .ledger-rail h3 { font-size:14.5px; letter-spacing:.06em }
  }
}
/* 700-999px: the plate column widens with the text before the list takes over. */
@media (min-width:700px) and (max-width:999px) { .pf-ledger-page .pf-machine .ledger-chain-machine { --pw:max(320px,calc(6.6em + 42px)) } }
/* 1181px and up: number and name sit either side of the plate's centre line at
   offsets that follow their text size (the same 18px and 1px at default text). */
@media (min-width:1181px) {
  .pf-ledger-page .pf-machine .ledger-station-number { top:calc(25.5143cqw - 1.384615em) }
  .pf-ledger-page .pf-machine .ledger-rail h3 { top:calc(25.5143cqw + .0625em) }
}
@media (min-width:1181px) and (max-width:1359px) {
  .pf-ledger-page .pf-machine .ledger-station-number { top:calc(25.5143cqw - 1.44em) }
  .pf-ledger-page .pf-machine .ledger-rail h3 { top:calc(25.5143cqw + .066667em) }
}
/* 1181px and up: names that no longer fit the plates move to the strip, as at 1000-1180px. */
@media (min-width:1181px) {
  @container chainbay (width < calc(71px + 51.3em)) {
    .pf-ledger-page .pf-machine .ledger-station-number { top:calc(25.5143cqw - 7px); font-size:15px; letter-spacing:.16em; text-indent:.16em }
    .pf-ledger-page .pf-machine .ledger-rail li { padding:0 6px }
    .pf-ledger-page .pf-machine .ledger-rail h3 { position:relative; left:auto; top:auto; width:auto; white-space:normal; padding-top:14px; font-size:15px; line-height:1.2; letter-spacing:.1em; color:#dfe6ea; text-shadow:0 -1px 0 rgba(0,0,0,.7) }
    .pf-ledger-page .pf-machine .ledger-rail h3::before { content:""; position:absolute; top:0; left:50%; width:1px; height:9px; background:#05070a; box-shadow:1px 0 0 rgba(255,255,255,.08) }
    .pf-ledger-page .pf-machine .ledger-rail p { padding-top:6px; font-size:15px; line-height:1.4 }
    .pf-ledger-page .pf-machine .ledger-rail p::before { display:none }
  }
}
/* The switch: each condition names the machine a "chainlist" container,
   and the list below is written once for all of them. */
@media (min-width:1000px) { @container chainbay (width < calc(80px + 35.2em)) { .pf-ledger-page .pf-machine .ledger-chain-machine { container-name:chain chainlist } } }
@media (max-width:999px) {
  @container chainbay (width < calc(146px + 6em)) or ((width >= 600px) and (width < calc(183px + 6.6em))) {
    .pf-ledger-page .pf-machine .ledger-chain-machine { container-name:chain chainlist; width:auto; margin-inline:0 }
  }
}
.pf-ledger-page .pf-machine .ledger-chain-machine[data-art-failed] { container-name:chain chainlist; width:auto; margin-inline:0 }
.pf-ledger-page .pf-machine .ledger-chain-machine[data-art-failed] .ledger-chain-assembly { display:none }
@container chainlist (width >= 0px) {
  .pf-ledger-page .pf-machine .ledger-rail { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14em),1fr)); gap:10px; min-height:0; margin:14px 0 0; padding:0; background:none; box-shadow:none }
  .pf-ledger-page .pf-machine .ledger-rail::before,.pf-ledger-page .pf-machine .ledger-rail li::before,.pf-ledger-page .pf-machine .ledger-rail li::after,.pf-ledger-page .pf-machine .ledger-rail :is(h3,p)::before { display:none }
  .pf-ledger-page .pf-machine .ledger-rail li {
    position:relative; z-index:2; min-height:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:baseline; align-content:start; gap:4px 10px; padding:9px 14px 11px;
    background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,.025) 1px 3px),linear-gradient(180deg,#bcc1c6,#a3a8ae 55%,#979ca2); background-color:#a6abb0;
    box-shadow:0 0 0 1px #0a0d10,inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.25),2px 3px 6px rgba(0,0,0,.5); outline:1px solid transparent; outline-offset:-1px;
  }
  .pf-ledger-page .pf-machine .ledger-rail :is(h3,.ledger-station-number) { position:static; left:auto; top:auto; width:auto; padding:0; text-indent:0; text-align:left; white-space:normal; color:#151b21; text-shadow:0 1px 0 rgba(255,255,255,.42),0 -1px 0 rgba(0,0,0,.14) }
  .pf-ledger-page .pf-machine .ledger-rail p { grid-column:1 / -1; padding:0; text-align:left; color:#192026 }
  .pf-ledger-page .pf-machine .ledger-rail :is(li:hover,li:focus-within) p { color:#192026 }
  /* Vertical artwork: the whole chain stays above the list as an overview. */
  @media (max-width:999px) { .pf-ledger-page .pf-machine .ledger-chain-assembly { position:static; width:calc(112px * var(--s)); margin:0 auto } }
}

/* ── doctrine: a printed sheet clamped in the bay ──────────────────────── */
.pf-ledger-page .pf-machine .ledger-doctrine { color:var(--steel); padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#1d242b,#151a20) }
.pf-ledger-page .pf-machine .ledger-doctrine-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) auto; gap:clamp(18px,3vw,46px); align-items:center; padding:0 }
.pf-ledger-page .pf-machine .ledger-doctrine-sheet { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:0 }
.pf-ledger-page .pf-machine .ledger-doctrine h2 { margin:0 }
.pf-ledger-page .pf-machine .ledger-doctrine-copy { margin:0; max-width:58ch; font-size:17px; line-height:1.6; color:var(--ink2) }
.pf-ledger-page .pf-machine .ledger-doctrine-note { margin:0; padding-left:22px; border-left:2px solid rgba(214,168,79,.45); font:500 13px/2 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--ink3) }
.pf-ledger-page .pf-machine .ledger-seal { width:clamp(120px,13vw,180px); height:auto; aspect-ratio:1; justify-self:center; transform:rotate(-9deg); opacity:1 }
.pf-ledger-page .pf-machine .ledger-receipt-watermark { display:block; width:100%; height:100%; opacity:.2; filter:brightness(0) invert(1) drop-shadow(0 1px 0 rgba(0,0,0,.9)) }

/* ── software bay: recessed equipment bay with display modules ─────────── */
.pf-ledger-page .pf-machine .ledger-featured {
  padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#131920,#10151a);
  box-shadow:0 0 0 1px var(--seam),inset 0 3px 12px rgba(0,0,0,.75),inset 2px 0 6px rgba(0,0,0,.4),inset -1px -1px 0 rgba(255,255,255,.04),3px 5px 12px rgba(0,0,0,.45);
}
.pf-ledger-page .pf-machine .ledger-featured>.pf-ledger-wrap { display:flex; flex-direction:column; gap:clamp(18px,1.8vw,24px) }
.pf-ledger-page .pf-machine .ledger-featured-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px 32px }
.pf-ledger-page .pf-machine .ledger-featured-head>div { display:flex; flex-direction:column; gap:12px; min-width:0 }
.pf-ledger-page .pf-machine .ledger-featured-lede { margin:0; max-width:62ch; font-size:17px; line-height:1.55; color:var(--ink2) }
.pf-ledger-page .pf-machine .ledger-featured>.pf-ledger-wrap { container-type:inline-size; container-name:bay }
.pf-ledger-page .pf-machine .ledger-featured-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px }
.pf-ledger-page .pf-machine .ledger-instrument {
  container-type:inline-size; container-name:module; position:relative; display:flex; flex-direction:column; min-width:0; padding:0; border:0; border-radius:4px; transform:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px),linear-gradient(180deg,#29323b,#1d242b);
  box-shadow:0 0 0 1px var(--seam),inset 1px 1px 0 rgba(255,255,255,.085),inset -1px -1px 0 rgba(0,0,0,.5),3px 6px 14px rgba(0,0,0,.55);
}
.pf-ledger-page .pf-machine .ledger-instrument:is(:hover,:focus-within) { border:0; transform:none }
.pf-ledger-page .pf-machine .ledger-instrument-in { flex:1; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; gap:16px; min-width:0; padding:12px 12px 16px }
.pf-ledger-page .pf-machine .ledger-feature-screen { margin:0; display:flex; flex-direction:column; min-width:0 }
.pf-ledger-page .pf-machine .ledger-feature-media { position:relative; display:block; aspect-ratio:auto; overflow:visible; padding:6px; border:0; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#0a0d11,#131920); box-shadow:inset 1px 1px 0 rgba(0,0,0,.9),inset -1px -1px 0 rgba(255,255,255,.07),0 0 0 1px #05070a; --gx:30%; --gy:20%; --gOn:0 }
.pf-ledger-page .pf-machine .ledger-feature-glass { position:relative; display:block; aspect-ratio:1600/902; overflow:hidden; border-radius:2px; background:#0c0f13; box-shadow:0 0 0 2px #040506 }
.pf-ledger-page .pf-machine .ledger-feature-glass :is(picture,img) { display:block; width:100%; height:100%; object-fit:contain; object-position:center; border:0 }
.pf-ledger-page .pf-machine .ledger-feature-glass::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(118deg,rgba(255,255,255,.06) 0%,rgba(205,230,255,.02) 18%,transparent 26%),radial-gradient(60% 45% at var(--gx) var(--gy),rgba(220,235,255,calc(var(--gOn) * .07)),transparent 70%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 22px rgba(0,0,0,.35) }
.pf-ledger-page .pf-machine .ledger-feature-media:hover img { filter:brightness(1.03) }
.pf-ledger-page .pf-machine .ledger-feature-screen figcaption { display:flex; align-items:center; gap:8px; overflow-wrap:anywhere; min-height:30px; padding:7px 10px; border-radius:0 0 4px 4px; font:500 13px/1.35 var(--mono); color:#aebac0; background:linear-gradient(180deg,#151a20,#11151a); box-shadow:0 0 0 1px #05070a,inset 0 1px 0 rgba(0,0,0,.6) }
.pf-ledger-page .pf-machine .ledger-feature-screen figcaption::before { content:""; flex:none; width:6px; height:6px; border-radius:50%; background:#5f6b73; box-shadow:inset 0 1px 1px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.08) }
.pf-ledger-page .pf-machine .ledger-instrument-body { display:flex; flex-direction:column; gap:10px; min-width:0; padding:2px 4px 0 }
.pf-ledger-page .pf-machine .ledger-instrument-title { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0 }
.pf-ledger-page .pf-machine .ledger-instrument .ledger-product-mark { width:38px; height:38px; flex:none; object-fit:contain; border-radius:8px }
.pf-ledger-page .pf-machine .ledger-instrument h3 { flex:1 1 auto; width:min-content; margin:0; min-width:0; font:700 25px/1.05 var(--sans); letter-spacing:-.005em; color:#f4f7f8 }
.pf-ledger-page .pf-machine .ledger-instrument .ledger-version { margin-left:auto; flex:none; padding:6px 10px; border-radius:2px; font:600 13.5px/1 var(--mono); color:#f4f7f8; background:#0e1318; box-shadow:inset 0 1px 3px rgba(0,0,0,.9),0 1px 0 rgba(255,255,255,.08) }
.pf-ledger-page .pf-machine .ledger-instrument .ledger-job { margin:0; min-height:0; max-width:none; font-size:18px; line-height:1.35; font-weight:600; color:#f4f7f8 }
.pf-ledger-page .pf-machine .ledger-summary { margin:0; font-size:16px; line-height:1.55; color:var(--ink2); text-wrap:pretty }
.pf-ledger-page .pf-machine .ledger-instrument .ledger-platform { display:block; margin:0; font:500 13.5px/1.55 var(--mono); color:#aebac0; overflow-wrap:anywhere }
.pf-ledger-page .pf-machine .ledger-instrument-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:auto; padding-top:2px }
@container module (min-width:700px) { .pf-ledger-page .pf-machine .ledger-instrument-in { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-template-rows:auto; align-items:start; gap:26px; padding:14px 22px 14px 14px } .pf-ledger-page .pf-machine .ledger-instrument-body { align-self:stretch } }
/* Side-by-side modules share caption height so their titles line up. */
@container bay (min-width:860px) { .pf-ledger-page .pf-machine .ledger-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } .pf-ledger-page .pf-machine .ledger-featured-grid>.ledger-instrument:last-child:nth-child(odd) { grid-column:1 / -1 } .pf-ledger-page .pf-machine .ledger-feature-screen figcaption { min-height:52px } }
@container bay (min-width:1180px) { .pf-ledger-page .pf-machine .ledger-featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)) } .pf-ledger-page .pf-machine .ledger-featured-grid>.ledger-instrument:last-child:nth-child(odd) { grid-column:auto } }
.pf-ledger-page .pf-machine .ledger-featured-notes { display:grid; gap:4px }
.pf-ledger-page .pf-machine :is(.ledger-featured-note,.ledger-preview-note) { margin:0; max-width:100ch; font-size:15px; line-height:1.6; color:var(--ink2) }

/* ── record specimen: paper clamped on a carbon bed ────────────────────── */
.pf-ledger-page .pf-machine .ledger-specimen { padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); border:0; background:linear-gradient(118deg,transparent 40%,rgba(200,215,235,.035) 52%,transparent 64%),var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#232b33,#181e24) }
.pf-ledger-page .pf-machine .ledger-specimen-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(18px,2.6vw,40px); align-items:center }
.pf-ledger-page .pf-machine .ledger-specimen-copy { display:flex; flex-direction:column; gap:16px; min-width:0 }
.pf-ledger-page .pf-machine .ledger-specimen-copy h2 { max-width:none; font-size:clamp(28px,2.7vw,44px); line-height:1.04; text-wrap:balance }
.pf-ledger-page .pf-machine .ledger-specimen-copy p { margin:0; max-width:52ch; font-size:16.5px; line-height:1.6; color:var(--ink2) }
.pf-ledger-page .pf-machine .ledger-specimen-copy .ledger-actions { display:flex; flex-wrap:wrap; gap:4px 26px; margin:0 }
.pf-ledger-page .pf-machine .ledger-specimen-bed { position:relative; min-width:0; padding:32px clamp(14px,2.2vw,28px) clamp(14px,2vw,24px); border-radius:4px; background:var(--tex-carbon) 0 0/22px 22px,#0d1013; box-shadow:0 0 0 1px #05070a,inset 0 3px 14px rgba(0,0,0,.85),inset 0 0 0 1px rgba(255,255,255,.03) }
.pf-ledger-page :is(.ledger-specimen-bed,.pf-rc-bed)>.ledger-clamp {
  position:absolute; z-index:2; top:16px; left:16%; right:16%; height:26px; border-radius:3px; border:1px solid #05070a;
  background:radial-gradient(circle at 18px 50%,#0b0d10 0 1.6px,transparent 2px),radial-gradient(circle at calc(100% - 18px) 50%,#0b0d10 0 1.6px,transparent 2px),radial-gradient(circle at 18px 50%,#c5ccd1 0 3px,#565d64 4.5px,transparent 5.5px),radial-gradient(circle at calc(100% - 18px) 50%,#c5ccd1 0 3px,#565d64 4.5px,transparent 5.5px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 3px),linear-gradient(180deg,#a8b0b7,#757d85 60%,#5d656d);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 5px 8px rgba(0,0,0,.45);
}
.pf-ledger-page .pf-machine .ledger-record { position:relative; min-width:0; margin:0; padding:30px clamp(16px,2.4vw,30px) 14px; border:0; border-radius:2px; color:#1c232b; background:var(--tex-paper) 0 0/260px 260px,linear-gradient(180deg,#f5f8f9,#e7ecee); background-color:#eef2f3; box-shadow:0 12px 24px rgba(0,0,0,.55),0 2px 3px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.7) }
.pf-ledger-page .pf-machine .ledger-record dl { margin:0; display:grid; grid-template-columns:minmax(92px,auto) minmax(0,1fr); gap:11px 18px; font:400 14px/1.45 var(--mono) }
.pf-ledger-page .pf-machine .ledger-record dt { padding-top:2px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#4f5c64 }
.pf-ledger-page .pf-machine .ledger-record dd { margin:0; min-width:0; overflow-wrap:anywhere; color:#1c232b }
.pf-ledger-page .pf-machine .ledger-record :is(.ledger-strong,.ledger-current) { font-weight:700; color:#1c232b }
.pf-ledger-page .pf-machine .ledger-record .ledger-prose { font:400 15px/1.5 var(--sans) }
.pf-ledger-page .pf-machine .ledger-hash { display:block; max-width:100%; padding:8px 10px; border-radius:2px; font:400 13.5px/1.45 var(--mono); overflow-wrap:anywhere; color:#1c232b; background:#dfe6e9; box-shadow:inset 0 1px 2px rgba(28,35,43,.2) }
.pf-ledger-page .pf-machine .ledger-record details { margin-top:12px; font-size:14.5px; line-height:1.5; color:#26303a }
.pf-ledger-page .pf-machine .ledger-record summary { min-height:44px; display:flex; align-items:center; overflow-wrap:anywhere; cursor:pointer; font:600 12.5px/1.3 var(--mono); letter-spacing:.06em; color:#1d6a5e }
.pf-ledger-page .pf-machine .ledger-record ul { margin:4px 0 0; padding-left:20px; display:grid; gap:6px }
.pf-ledger-page .pf-machine .ledger-record .ledger-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px 22px; margin-top:16px; padding-top:12px; border-top:1px dashed rgba(28,35,43,.3) }
.pf-ledger-page .pf-machine .ledger-record .ledger-link { color:#1d6a5e; font-size:15px; font-weight:700; text-decoration:none }
.pf-ledger-page .pf-machine .ledger-record .ledger-link:hover { color:#0f4d43; text-decoration:underline }
.pf-ledger-page .pf-machine .ledger-record .ledger-receipt-button { color:#e9f6f2 }
.pf-ledger-page .pf-machine .ledger-record :where(a,button,summary):focus-visible { outline-color:#1d6a5e }

/* ── all software: an index plate ──────────────────────────────────────── */
.pf-ledger-page .pf-machine .ledger-index { color:var(--steel); padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#151b21,#11161b) }
.pf-ledger-page .pf-machine .ledger-index-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 28px; margin-bottom:18px }
.pf-ledger-page .pf-machine .ledger-index-head p { margin:0; font:500 13px/1.4 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink3) }
.pf-ledger-page .pf-machine .ledger-index-grid { display:block; overflow-x:visible; border-radius:4px; background:linear-gradient(180deg,#1f262d,#181d23); box-shadow:0 0 0 1px #05070a,inset 0 1px 0 rgba(255,255,255,.06) }
.pf-ledger-page .pf-machine .ledger-index table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left }
.pf-ledger-page .pf-machine .ledger-index :is(th,td) { padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.55); box-shadow:0 1px 0 rgba(255,255,255,.04); vertical-align:middle; overflow-wrap:anywhere; color:var(--ink2); font-size:15px; line-height:1.4 }
.pf-ledger-page .pf-machine .ledger-index tbody tr:last-child :is(th,td) { border-bottom:0; box-shadow:none }
.pf-ledger-page .pf-machine .ledger-index thead th { font:600 12px/1.4 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); background:rgba(0,0,0,.18) }
.pf-ledger-page .pf-machine .ledger-index tbody th { font-weight:700; color:#f4f7f8 }
.pf-ledger-page .pf-machine .ledger-index th:nth-child(1) { width:24% }
.pf-ledger-page .pf-machine .ledger-index th:nth-child(2) { width:18% }
.pf-ledger-page .pf-machine .ledger-index th:nth-child(3) { width:22% }
.pf-ledger-page .pf-machine .ledger-index th:nth-child(4) { width:26% }
.pf-ledger-page .pf-machine .ledger-index th:nth-child(5) { width:10% }
.pf-ledger-page .pf-machine .ledger-index-name { display:flex; align-items:center; gap:12px }
.pf-ledger-page .pf-machine .ledger-index-name img { width:28px; height:28px; flex:none; object-fit:contain; border-radius:6px; filter:none }
.pf-ledger-page .pf-machine .ledger-index .ledger-version { display:block; font:600 14px/1.4 var(--mono); color:#f4f7f8 }
.pf-ledger-page .pf-machine .ledger-index .ledger-status { display:block; font:500 12px/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink3) }
.pf-ledger-page .pf-machine .ledger-index tr[data-release-status="WITHDRAWN"] .ledger-status { color:#f0a7a1; font-weight:700 }
.pf-ledger-page .pf-machine .ledger-index .ledger-link { font-size:15px }

/* ── position ──────────────────────────────────────────────────────────── */
.pf-ledger-page .pf-machine .ledger-position { padding:clamp(22px,2.6vw,42px) clamp(14px,3vw,48px); border-bottom:0; background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#232b33,#181e24) }
.pf-ledger-page .pf-machine .ledger-position>.pf-ledger-wrap { display:flex; flex-direction:column; gap:clamp(16px,1.8vw,24px) }
.pf-ledger-page .pf-machine .ledger-position-head { margin:0; font-size:clamp(28px,2.7vw,44px); line-height:1.04; max-width:24ch }
.pf-ledger-page .pf-machine .ledger-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }
.pf-ledger-page .pf-machine .ledger-principles article { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:18px 18px 20px; border:0; border-radius:4px; background:linear-gradient(180deg,#29323b,#1d242b); box-shadow:0 0 0 1px var(--seam),inset 1px 1px 0 rgba(255,255,255,.085),inset -1px -1px 0 rgba(0,0,0,.5) }
.pf-ledger-page .pf-machine .ledger-principles article+article { border:0; padding-left:18px }
.pf-ledger-page .pf-machine .ledger-principles svg { width:34px; height:34px; color:var(--gold) }
.pf-ledger-page .pf-machine .ledger-principles h3 { margin:0 0 6px; font:700 21px/1.2 var(--sans); color:#f4f7f8 }
.pf-ledger-page .pf-machine .ledger-principles p { margin:0; max-width:none; font-size:16px; line-height:1.55; color:var(--ink2) }

/* ── close: the signature plate ────────────────────────────────────────── */
.pf-ledger-page .pf-machine .ledger-close { padding:clamp(20px,2.4vw,32px) clamp(16px,3vw,48px); border-bottom:0; background:var(--tex-brush),linear-gradient(180deg,#232b33,#181d23) }
.pf-ledger-page .pf-machine .ledger-close-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px }
.pf-ledger-page .pf-machine .ledger-close-row>div { display:flex; flex-direction:column; gap:8px }
.pf-ledger-page .pf-machine .ledger-close h2 { font-weight:900; font-size:clamp(26px,2.4vw,38px); color:#e9edf0; background:none; filter:none; text-shadow:0 1px 0 rgba(255,255,255,.1),1px 2px 0 #353d44,2px 6px 10px rgba(0,0,0,.4) }
.pf-ledger-page .pf-machine .ledger-close p { margin:0; font-size:15.5px; color:#c9d2d6 }
.pf-ledger-page .pf-machine .ledger-close .ledger-engraving { font-size:12.5px; letter-spacing:.18em; color:#a6b2b9; text-shadow:-1px -1px 0 rgba(0,0,0,.85),1px 1px 0 rgba(255,255,255,.1) }

/* ── footer rail ───────────────────────────────────────────────────────── */
.pf-ledger-page .pf-machine .site-footer { margin:0; padding:0; border:0; color:var(--steel); background:var(--tex-brush),linear-gradient(180deg,#1e252c,#161b21) }
.pf-ledger-page .pf-machine .site-footer .footer-grid { width:auto; max-width:none; margin:0; padding:clamp(20px,2.4vw,32px) clamp(16px,3vw,48px); display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:24px 40px }
.pf-ledger-page .pf-machine .site-footer .footer-brand-lockup { display:inline-flex; align-items:center; gap:12px; min-height:44px; font:800 17px/1 var(--sans); font-stretch:86%; letter-spacing:.06em; text-transform:uppercase; color:#f4f7f8; text-decoration:none }
.pf-ledger-page .pf-machine .site-footer .footer-logo { width:42px; height:42px; padding:0 }
.pf-ledger-page .pf-machine .site-footer .footer-brand p { margin:10px 0 0; font:900 22px/1.15 var(--sans); font-stretch:90%; color:#e9edf0 }
.pf-ledger-page .pf-machine .site-footer .footer-brand .footer-maker-note { margin-top:10px; font:500 12px/1.8 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink3) }
.pf-ledger-page .pf-machine .site-footer h2 { margin:0 0 8px; font:600 12.5px/1.4 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:#a6b2b9; background:none; filter:none }
.pf-ledger-page .pf-machine .site-footer ul { margin:0; padding:0; list-style:none; display:grid }
.pf-ledger-page .pf-machine .site-footer li a { display:inline-flex; align-items:center; min-height:36px; padding:0; font:500 15px/1.3 var(--sans); color:var(--ink2); text-decoration:none }
.pf-ledger-page .pf-machine .site-footer li a:hover { color:var(--teal); text-decoration:underline; text-underline-offset:4px }
.pf-ledger-page .pf-machine .site-footer .footer-bottom { width:auto; max-width:none; margin:0; padding:14px clamp(16px,3vw,48px); border-top:1px solid #05070a; box-shadow:inset 0 1px 0 rgba(255,255,255,.04); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px }
.pf-ledger-page .pf-machine .site-footer .footer-bottom p { margin:0; font:500 13px/1.6 var(--mono); color:var(--ink3) }
.pf-ledger-page .pf-machine .site-footer .motion-toggle { min-height:44px; border-radius:3px; border:1px solid #05070a; background:linear-gradient(180deg,#2b323a,#1b2127); color:var(--ink2); font:500 12px/1 var(--mono)!important }

/* ── inspection compartments (dialogs) ─────────────────────────────────── */
.pf-dialog { padding:0; border:0; margin:auto; width:min(1240px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); background:transparent; color:var(--steel); overflow:visible; font-family:var(--sans) }
.pf-dialog::backdrop { background:rgba(3,5,8,.8); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px) }
.pf-dialog[open] { animation:pf-dialog-in .22s cubic-bezier(.2,.8,.2,1) }
.pf-dialog[open]::backdrop { animation:pf-dialog-fade .22s ease }
@keyframes pf-dialog-in { from { opacity:0; transform:translateY(8px) scale(.99) } }
@keyframes pf-dialog-fade { from { opacity:0 } }
.pf-dialog-frame { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); border-radius:7px; overflow:hidden; background:var(--tex-fine) 0 0/300px 300px,linear-gradient(180deg,#1a2027,#11161b); background-color:#151a20; box-shadow:0 0 0 1px #000,inset 0 1px 0 rgba(255,255,255,.08),0 40px 90px rgba(0,0,0,.7) }
.pf-receipt-dialog .pf-dialog-frame { height:calc(100dvh - 32px) }
.pf-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px clamp(16px,2.4vw,28px); background:var(--tex-brush),linear-gradient(180deg,#262e36,#1b2128); box-shadow:inset 0 -1px 0 #05070a,0 1px 0 rgba(255,255,255,.04) }
.pf-dialog-head>div { display:flex; flex-direction:column; gap:8px; min-width:0 }
.pf-dialog-head .ledger-label { font-size:12px }
.pf-dialog-head h2 { margin:0; font:800 clamp(20px,2vw,28px)/1.1 var(--sans); font-stretch:90%; color:#f4f7f8; overflow-wrap:anywhere }
.pf-dialog-close { flex:none; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 16px; border-radius:3px; border:1px solid #05070a; cursor:pointer; font:700 14px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:#f4f7f8; background:linear-gradient(180deg,#38424c,#262e36); box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset -1px -1px 0 rgba(0,0,0,.5) }
.pf-dialog-close:active { transform:translateY(1px) }
.pf-dialog-close kbd { font:600 11px/1 var(--mono); padding:4px 6px; border-radius:2px; color:var(--steel); background:#0f1419; box-shadow:inset 0 1px 2px rgba(0,0,0,.8) }
.pf-dialog-scroll { overflow:auto; overscroll-behavior:contain; min-height:0 }
.pf-dialog :where(a,button,[tabindex]):focus-visible { outline:2px solid var(--teal); outline-offset:3px; border-radius:2px }

/* mark inspection */
.pf-mk { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); min-height:0 }
.pf-mk-stage { position:relative; display:flex; align-items:center; justify-content:center; padding:clamp(14px,2.4vw,34px); background:radial-gradient(60% 55% at 40% 38%,rgba(150,170,195,.16),transparent 70%),radial-gradient(120% 90% at 50% 120%,rgba(0,0,0,.6),transparent 60%),#0b0f13; box-shadow:inset -1px 0 0 #05070a }
.pf-mk-fig { position:relative; width:min(100%,calc((100dvh - 150px) * .8653)); aspect-ratio:1600/1849; margin:0 }
.pf-mk-fig>img { position:absolute; inset:0; width:100%; height:100%; max-width:none }
.pf-mk-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none }
.pf-mk-svg .hl { fill:rgba(133,200,187,.08); stroke:#85c8bb; stroke-width:1.6; stroke-dasharray:5 4; vector-effect:non-scaling-stroke }
.pf-pin { position:absolute; z-index:2; width:32px; height:32px; margin:-16px 0 0 -16px; padding:0; border-radius:50%; cursor:pointer; display:grid; place-items:center; font:700 13px/1 var(--mono); color:#f4f7f8; background:rgba(11,15,20,.86); border:1.5px solid rgba(214,168,79,.85); box-shadow:0 0 0 3px rgba(11,15,20,.45),0 4px 10px rgba(0,0,0,.6); transition:transform .12s,background .15s,color .15s }
.pf-pin:hover { transform:scale(1.08) }
.pf-pin[aria-pressed="true"] { background:#d6a84f; color:#0b0f14; border-color:#f3dba0 }
.pf-mk-side { display:flex; flex-direction:column; gap:16px; min-width:0; padding:clamp(16px,2.2vw,28px) }
.pf-mk-intro { margin:0; font-size:15.5px; line-height:1.55; color:var(--ink2) }
.pf-mk-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px }
.pf-mk-list button { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:6px 10px; border-radius:3px; cursor:pointer; text-align:left; font:600 14px/1.25 var(--sans); color:var(--ink); background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.06) }
.pf-mk-list button:hover { background:rgba(255,255,255,.06) }
.pf-mk-list button[aria-pressed="true"] { background:rgba(214,168,79,.14); border-color:rgba(214,168,79,.6); color:#f4f7f8 }
.pf-mk-list .k { flex:none; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; font:700 12px/1 var(--mono); color:#d6a84f; border:1px solid rgba(214,168,79,.6) }
.pf-mk-list button[aria-pressed="true"] .k { background:#d6a84f; color:#0b0f14 }
.pf-mk-detail { display:flex; flex-direction:column; gap:10px; padding:16px 18px; border-radius:4px; background:linear-gradient(180deg,#1f262d,#181d23); box-shadow:0 0 0 1px #05070a,inset 0 1px 0 rgba(255,255,255,.06) }
.pf-mk-detail h3 { margin:0; font:800 21px/1.15 var(--sans); color:#f4f7f8 }
.pf-mk-detail p { margin:0; font-size:16px; line-height:1.6; color:var(--ink) }
.pf-mk-detail .ledger-label { font-size:12px }
.pf-loupe { width:100%; aspect-ratio:16/6.4; border-radius:4px; background-color:#0b0f13; background-image:url("/brand/emblem/PF_MARK_G_EMBLEM_R3.webp"); background-repeat:no-repeat; box-shadow:0 0 0 1px #05070a,inset 0 0 0 1px rgba(255,255,255,.06),inset 0 0 30px rgba(0,0,0,.5) }
.pf-loupe[hidden] { display:none }
.pf-mk-note { margin:0; font-size:13.5px; line-height:1.55; color:var(--ink3) }

/* receipt inspection */
.pf-rc-tabs { display:flex; flex-wrap:wrap; gap:8px; padding:14px clamp(16px,2.4vw,28px) 0 }
.pf-rc-tabs:empty { display:none }
.pf-rc-tabs button { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 16px; border-radius:3px 3px 0 0; cursor:pointer; font:700 15px/1 var(--sans); color:var(--ink2); background:linear-gradient(180deg,#232a31,#1a1f25); background-color:#1e242a; border:1px solid #05070a; border-bottom:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.07) }
.pf-rc-tabs button[aria-selected="true"] { color:#0b0f14; background:linear-gradient(180deg,#e9edf0,#c9d0d5); background-color:#d9dfe3 }
.pf-rc-tabs button .v { font:600 12.5px/1 var(--mono); opacity:.85 }
.pf-rc-bay { padding:0 clamp(10px,2vw,28px) clamp(14px,2vw,28px) }
.pf-rc-tabs:empty+.pf-rc-bay { padding-top:clamp(14px,2vw,28px) }
.pf-rc-bed { position:relative; padding:30px clamp(10px,2vw,26px) clamp(12px,2vw,24px); border-radius:0 4px 4px 4px; background:var(--tex-carbon) 0 0/22px 22px,#0d1013; box-shadow:0 0 0 1px #05070a,inset 0 3px 14px rgba(0,0,0,.85) }
.pf-rc-bed>.ledger-clamp { top:12px }
.pf-rc-doc { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:22px; min-height:180px; padding:34px clamp(14px,2.6vw,36px) 22px; border-radius:2px; color:#1c232b; background:var(--tex-paper) 0 0/260px 260px,linear-gradient(180deg,#f6f8f9,#e9eef0); background-color:#eff3f4; box-shadow:0 12px 24px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.7) }
.pf-rc-doc:focus-visible { outline:2px solid var(--teal); outline-offset:3px }
.pf-rc-doc a { color:#1d6a5e; font-weight:700 }
.pf-rc-doc a:hover { color:#0f4d43 }
.pf-rc-doc :where(a,button):focus-visible { outline-color:#1d6a5e }
.pf-rc-loading { margin:0; font:500 14px/1.5 var(--mono); color:#3c4a52 }
.pf-rc-top { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:10px 24px; padding-bottom:16px; border-bottom:2px solid #1c232b }
.pf-rc-top h3 { margin:0; font:800 clamp(24px,2.4vw,32px)/1 var(--sans); color:#0b0f14 }
.pf-rc-top p { margin:6px 0 0; font:500 14px/1.4 var(--mono); color:#3c4a52 }
.pf-rc-sec { display:grid; gap:10px; min-width:0 }
.pf-rc-sec h4 { margin:0; font:700 12.5px/1.2 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:#4f5c64 }
.pf-rc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 32px }
.pf-rc-facts { margin:0; display:grid; grid-template-columns:minmax(120px,auto) minmax(0,1fr); gap:8px 16px; font:400 14.5px/1.45 var(--sans) }
.pf-rc-facts dt { font:500 12.5px/1.6 var(--mono); letter-spacing:.06em; color:#4f5c64 }
.pf-rc-facts dd { margin:0; min-width:0; overflow-wrap:anywhere }
.pf-rc-facts .pf-mono { font:400 13px/1.5 var(--mono) }
.pf-art { display:grid; gap:8px; padding:12px 14px; border-radius:3px; background:rgba(28,35,43,.05); box-shadow:inset 0 0 0 1px rgba(28,35,43,.14) }
.pf-art-h { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px }
.pf-art-h b { font:700 14.5px/1.3 var(--mono); overflow-wrap:anywhere }
.pf-art-meta { margin:0; font:400 13px/1.4 var(--mono); color:#4f5c64 }
.pf-art-row { margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px }
.pf-art-row code { flex:1 1 360px; min-width:0; padding:8px 10px; border-radius:2px; font:400 13.5px/1.45 var(--mono); overflow-wrap:anywhere; color:#1c232b; background:#dde4e8; box-shadow:inset 0 1px 2px rgba(28,35,43,.22) }
.pf-copy { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 12px; border-radius:3px; cursor:pointer; font:700 12.5px/1 var(--mono); letter-spacing:.06em; color:#0f3e37; background:linear-gradient(180deg,#f3f6f7,#d3dbe0); background-color:#e3e9ec; border:1px solid #6c7880; box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.15) }
.pf-copy:active { transform:translateY(1px) }
.pf-chips { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:6px 18px; margin:0; padding:0; list-style:none }
.pf-chips li { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:32px; padding:4px 0; border-bottom:1px dotted rgba(28,35,43,.25); font-size:14.5px }
.pf-chip { flex:none; display:inline-block; padding:4px 8px; border-radius:2px; font:700 11.5px/1.2 var(--mono); letter-spacing:.08em; white-space:nowrap; text-transform:uppercase }
.pf-chip.ok { color:#0d4a40; background:#cfe9e2; box-shadow:inset 0 0 0 1px #6fb3a5 }
.pf-chip.pend { color:#6b4a07; background:#f4e3b8; box-shadow:inset 0 0 0 1px #c9a24b }
.pf-chip.neutral { color:#2b333a; background:#dfe4e7; box-shadow:inset 0 0 0 1px #8d989f }
.pf-chip.none { color:#47525a; background:transparent; box-shadow:inset 0 0 0 1px #8d989f }
.pf-rc-list { margin:0; padding-left:20px; display:grid; gap:7px; font-size:15px; line-height:1.5; overflow-wrap:anywhere }
.pf-rc-tests { margin:0; display:grid; gap:6px; font-size:14.5px; line-height:1.45 }
.pf-rc-tests div { display:grid; grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr); gap:12px; padding:5px 0; border-bottom:1px dotted rgba(28,35,43,.25) }
.pf-rc-tests dt { font-weight:600 }
.pf-rc-tests dd { margin:0; font:400 13.5px/1.45 var(--mono); overflow-wrap:anywhere }
.pf-rc-cmd { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px }
.pf-rc-cmd code { flex:1 1 380px; min-width:0; padding:10px 12px; border-radius:2px; font:500 13.5px/1.45 var(--mono); overflow-wrap:anywhere; color:#e9f1f3; background:#1b2229; box-shadow:inset 0 1px 3px rgba(0,0,0,.6) }
.pf-rc-caveat { margin:0; padding:10px 12px; border-left:3px solid #1c232b; background:rgba(28,35,43,.06); font-size:14.5px; line-height:1.5 }
.pf-rc-ev { display:flex; flex-wrap:wrap; gap:2px 18px; font-size:14px; overflow-wrap:anywhere }
.pf-rc-ev a { display:inline-flex; align-items:center; min-height:36px; text-decoration:underline; text-underline-offset:3px }
.pf-rc-none { margin:0; font-size:14.5px }
.pf-rc-links { display:flex; flex-wrap:wrap; gap:4px 24px; padding-top:12px; border-top:1px dashed rgba(28,35,43,.3) }
.pf-rc-links a { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-size:15px; text-decoration:none }
.pf-rc-links .ledger-arrow { width:16px; height:16px }
.pf-rc-src { display:grid; gap:8px; padding:12px 14px; border-radius:3px; background:rgba(28,35,43,.05); box-shadow:inset 0 0 0 1px rgba(28,35,43,.12) }
.pf-rc-src h4 { margin:0; font:700 12.5px/1.2 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:#4f5c64 }
.pf-rc-src .pf-rc-facts { font-size:13.5px }
.pf-rc-src>p { margin:0; font:400 12.5px/1.5 var(--mono); color:#4f5c64 }
.pf-rc-fail { display:grid; gap:12px; justify-items:start }
.pf-rc-fail h3 { margin:0; font:800 clamp(20px,2vw,26px)/1.15 var(--sans); color:#0b0f14 }
.pf-rc-fail p { margin:0; max-width:75ch; font-size:15px; line-height:1.55; overflow-wrap:anywhere }
.pf-rc-fail .pf-rc-links { justify-self:stretch }
.pf-rc-conflicts { justify-self:stretch; width:100%; border-collapse:collapse; font-size:14px; line-height:1.45; table-layout:fixed }
.pf-rc-conflicts :is(th,td) { padding:7px 10px 7px 0; border-bottom:1px dotted rgba(28,35,43,.3); text-align:left; vertical-align:top; overflow-wrap:anywhere }
.pf-rc-conflicts thead th { font:700 12px/1.3 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:#4f5c64 }
.pf-rc-conflicts tbody th { font-weight:700; width:24% }
.pf-rc-conflicts .pf-mono { font:400 13px/1.45 var(--mono) }
@media (max-width:700px) { .pf-rc-conflicts thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%) } .pf-rc-conflicts :is(tr,th,td) { display:block; width:auto } .pf-rc-conflicts tbody th { padding-top:12px } }

/* ── decorative images that fail ─────────────────────────────────────────
   pf-home.js marks a decorative image that could not be fetched or decoded
   (data-pf-img="failed") and the part that only exists to hold it
   (data-art-failed). Neither leaves a broken-image frame; the proof chain's
   list is handled with the chain above. */
.pf-ledger-page img[data-pf-img="failed"] { display:none!important }
.pf-ledger-page .pf-machine .ledger-hero-grid[data-art-failed] { grid-template-columns:minmax(0,1fr) }
.pf-ledger-page .pf-machine .ledger-hero-grid[data-art-failed]>.ledger-hero-mark,.pf-ledger-page .pf-machine .ledger-seal[data-art-failed] { display:none }

/* ── responsive ────────────────────────────────────────────────────────── */
@media (max-width:1180px) { .pf-ledger-page { --rail:10px } }
@media (max-width:1100px) { .pf-ledger-page .pf-machine .ledger-principles { grid-template-columns:minmax(0,1fr) } }
@media (max-width:980px) {
  .pf-ledger-page .pf-machine .ledger-specimen-grid,.pf-ledger-page .pf-machine .ledger-doctrine-grid { grid-template-columns:minmax(0,1fr) }
  .pf-ledger-page .pf-machine .ledger-seal { display:none }
  .pf-mk { grid-template-columns:minmax(0,1fr) }
  .pf-mk-stage { box-shadow:inset 0 -1px 0 #05070a }
  .pf-mk-fig { width:min(100%,560px) }
  .pf-ledger-page .pf-machine .site-footer .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr) }
  .pf-ledger-page .pf-machine .site-footer .footer-brand { grid-column:1 / -1 }
}
@media (max-width:900px) {
  .pf-ledger-page .pf-machine .ledger-hero-grid { grid-template-columns:minmax(0,1fr) }
  .pf-ledger-page .pf-machine .ledger-hero-mark { order:2 }
  .pf-ledger-page .pf-machine .ledger-plate-scene { width:min(100%,460px) }
}
@media (max-width:600px) {
  .pf-ledger-page .pf-machine .ledger-plate-scene { width:min(80%,275px); margin:8px auto 0 }
}
@media (max-width:900px) {
  .pf-ledger-page .pf-machine .site-header .nav-toggle { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:52px; height:44px; padding:0; border-radius:3px; border:1px solid #05070a; cursor:pointer; color:#f4f7f8; background:linear-gradient(180deg,#38424c,#262e36); box-shadow:inset 1px 1px 0 rgba(255,255,255,.15),inset -1px -1px 0 rgba(0,0,0,.5),0 0 0 3px #0f1419 }
  .pf-ledger-page .pf-machine .site-header .nav-toggle-bar { display:block; width:22px; height:2px; margin:0; background:currentColor }
  .pf-ledger-page .pf-machine .site-header .nav-panel { position:static; display:none; flex:1 1 100%; flex-direction:column; align-items:stretch; gap:0; margin:8px calc(clamp(14px,2vw,30px) * -1) -10px; padding:0; border:0; border-top:1px solid #05070a; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); background:transparent }
  .pf-ledger-page .pf-machine .site-header.nav-open .nav-panel { display:flex }
  .pf-ledger-page .pf-machine .site-header .top-nav { flex-direction:column; align-items:stretch; gap:0 }
  .pf-ledger-page .pf-machine .site-header .top-nav a { min-height:52px; padding:0 22px; border-bottom:1px solid #05070a; box-shadow:0 1px 0 rgba(255,255,255,.04); font-size:16px }
  .pf-ledger-page .pf-machine .site-header .top-nav a::after { display:none }
  .pf-ledger-page .pf-machine .site-header .nav-panel .nav-cta { align-self:stretch; width:auto; margin:12px 22px 14px; justify-content:center }
}
@media (max-width:700px) {
  .pf-ledger-page { --rail:6px }
  .pf-ledger-page .pf-machine main>section::before,.pf-ledger-page .pf-machine main>section::after,.pf-ledger-page .pf-machine .site-footer::before,.pf-ledger-page .pf-machine .site-footer::after { display:none }
  .pf-ledger-page .pf-machine .ledger-chain-head .ledger-engraving { display:none }
  .pf-ledger-page .pf-machine .ledger-hero h1 { white-space:normal }
  .pf-ledger-page .pf-machine .ledger-index thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%) }
  .pf-ledger-page .pf-machine .ledger-index :is(table,tbody,tr,th,td),.pf-ledger-page .pf-machine .ledger-index :is(th,td):nth-child(n) { display:block; width:auto }
  .pf-ledger-page .pf-machine .ledger-index tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.55); box-shadow:0 1px 0 rgba(255,255,255,.04) }
  .pf-ledger-page .pf-machine .ledger-index tbody tr:last-child { border-bottom:0; box-shadow:none }
  .pf-ledger-page .pf-machine .ledger-index tbody :is(th,td) { padding:0; border:0; box-shadow:none }
  .pf-ledger-page .pf-machine .ledger-index tbody th { grid-column:1 / -1 }
  .pf-ledger-page .pf-machine .ledger-index tbody td:nth-child(2) { grid-column:1 / -1 }
  .pf-ledger-page .pf-machine .ledger-index tbody td:nth-child(3),.pf-ledger-page .pf-machine .ledger-index tbody td:nth-child(4) { grid-column:1 / -1; font-size:14.5px; color:var(--ink3) }
  .pf-ledger-page .pf-machine .ledger-index tbody td:nth-child(5) { grid-column:1 / -1 }
  .pf-mk-list { grid-template-columns:minmax(0,1fr) }
  .pf-rc-grid { grid-template-columns:minmax(0,1fr) }
  .pf-dialog { width:100vw; max-height:100dvh; margin:0; inset:0 }
  .pf-dialog .pf-dialog-frame { max-height:100dvh; height:100dvh; border-radius:0 }
  .pf-rc-facts { grid-template-columns:minmax(0,1fr); gap:2px 0 }
  .pf-rc-facts dd { margin-bottom:8px }
  .pf-rc-tests div { grid-template-columns:minmax(0,1fr); gap:2px }
  .pf-ledger-page .pf-machine .site-footer .footer-grid { grid-template-columns:minmax(0,1fr) }
}
@media (max-width:640px) {
  .pf-ledger-page .pf-machine .site-header .brand-name small { font-size:10.5px; letter-spacing:.14em }
  .pf-ledger-page .pf-machine .ledger-hero .ledger-actions .ledger-button { flex:1 1 100% }
}
@media (max-width:480px) {
  .pf-ledger-page .pf-machine .site-header .nav-row { gap:0 10px; padding:8px 12px }
  .pf-ledger-page .pf-machine .site-header .brand-lockup { gap:10px; min-height:52px }
  .pf-ledger-page .pf-machine .site-header .brand-mark { width:38px; height:auto }
  .pf-ledger-page .pf-machine .site-header .brand-name { font-size:15px; letter-spacing:.04em }
  .pf-ledger-page .pf-machine .site-header .brand-name small { display:none }
  .pf-ledger-page .pf-machine .site-header .nav-panel { margin:8px -12px -8px }
  .pf-ledger-page .pf-machine .ledger-record dl { grid-template-columns:minmax(0,1fr); gap:3px 0 }
  .pf-ledger-page .pf-machine .ledger-record dd { margin-bottom:9px }
  .pf-ledger-page .pf-machine .ledger-instrument h3 { font-size:22px }
}

/* Light follows a fine pointer only. Touch shows the finished emblem. */
@media (hover:none),(pointer:coarse) { .pf-lm { display:none } .pf-dialog-close kbd { display:none } }

/* ── motion: the device setting and the site's motion toggle both apply ── */
@media (prefers-reduced-motion:reduce) {
  .pf-ledger-page *,.pf-ledger-page *::before,.pf-ledger-page *::after { animation:none!important; transition:none!important }
  .pf-dialog[open],.pf-dialog[open]::backdrop { animation:none!important }
  .pf-lm { display:none }
}
html[data-motion="off"] .pf-lm { display:none }
html[data-motion="off"] .pf-dialog[open],html[data-motion="off"] .pf-dialog[open]::backdrop { animation:none }
html[data-motion="off"] .pf-ledger-page .pf-machine .ledger-rail li::after { transition:none }

/* ── forced colors: system palette, vector seal, no decorative light ───── */
@media (forced-colors:active) {
  .pf-ledger-page,.pf-ledger-page .pf-machine,.pf-ledger-page .pf-machine :is(.site-header,.site-footer,main>section),.pf-dialog-frame,.pf-rc-doc,.pf-ledger-page .pf-machine .ledger-record { background:Canvas; color:CanvasText; forced-color-adjust:auto }
  .pf-ledger-page .pf-machine :is(.site-header,.site-footer,main>section),.pf-ledger-page .pf-machine .ledger-rail,.pf-ledger-page .pf-machine .ledger-instrument,.pf-dialog-frame { border:1px solid CanvasText }
  .pf-ledger-page .pf-machine :is(.ledger-hero h1,h2,.ledger-hero-subtitle) { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:CanvasText; -webkit-text-fill-color:CanvasText; filter:none; text-shadow:none }
  .pf-lm,.pf-ledger-page .pf-machine main>section::before,.pf-ledger-page .pf-machine main>section::after,.pf-ledger-page .pf-machine .site-footer::before,.pf-ledger-page .pf-machine .site-footer::after,.ledger-clamp { display:none }
  .pf-ledger-page .pf-machine :is(.ledger-button,.ledger-receipt-button,.nav-cta),.pf-inspect,.pf-dialog-close,.pf-copy,.pf-rc-tabs button,.pf-mk-list button,.pf-pin { border:1px solid ButtonText; background:ButtonFace; color:ButtonText }
  .pf-chip { border:1px solid CanvasText }
  /* Pressed points and the selected receipt tab keep a visible state in the user's highlight
     colours. They are system colours, set without the browser's text backplate, which would
     otherwise paint Canvas behind the HighlightText. */
  .pf-pin[aria-pressed="true"],.pf-mk-list button[aria-pressed="true"],.pf-rc-tabs button[aria-selected="true"] { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight }
  .pf-mk-list button[aria-pressed="true"] .k { background:HighlightText; color:Highlight; border-color:HighlightText }
  /* A url() texture survives forced colours; the record beds take the user's canvas instead. */
  .pf-ledger-page .pf-machine .ledger-specimen-bed,.pf-rc-bed { background:Canvas }
  .pf-ledger-page .pf-machine .ledger-record,.pf-rc-doc { outline:1px solid CanvasText; outline-offset:-1px }
  /* Vector fallbacks follow the user's palette, not the page's dark scheme. */
  .pf-ledger-page .pf-machine :is(.site-header .brand-mark,.site-footer .footer-logo,.pf-emblem-image) { color-scheme:light dark; filter:none }
  .pf-ledger-page .pf-machine .site-header .nav-toggle-bar { forced-color-adjust:none; background:ButtonText }
  /* The hero seal is drawn from an inline copy of PF_MAKER_SEAL.svg in this document, in the user's system colours.
     An SVG loaded through <img> evaluates its own forced-colours rules in a separate image document, which was
     observed to keep its normal colours in some renders. The decorative doctrine watermark is dropped. */
  .pf-ledger-page .pf-machine .pf-emblem .pf-emblem-image,.pf-ledger-page .pf-machine .ledger-receipt-watermark { display:none }
  .pf-ledger-page .pf-machine .pf-emblem .pf-seal-fc { display:block; position:absolute; inset:0 }
  .pf-ledger-page .pf-machine .pf-emblem .pf-seal-inline { display:block; width:100%; height:100%; forced-color-adjust:none }
  .pf-seal-inline [data-maker-mark="pressed-seal"] :is(circle,path),.pf-seal-inline :is([data-maker-mark="alignment"],[data-maker-mark="three-stages"]),.pf-seal-inline [data-pf-geometry]>path { stroke:CanvasText }
  .pf-seal-inline [data-pf-geometry]>g { fill:CanvasText }
  .pf-seal-inline [data-pf-geometry]>g[transform] { display:none }
  .pf-seal-inline text { fill:CanvasText }
  /* Home's header and footer micro marks: inline same-document copies (inserted by build-site.ps1 for Home only),
     in the user's system colours, at the same size as the images they replace. */
  .pf-ledger-page .pf-machine :is(.site-header .brand-mark,.site-footer .footer-logo) { display:none }
  .pf-ledger-page .pf-machine .pf-mark-fc { display:block; flex:none }
  .pf-ledger-page .pf-machine .pf-mark-fc--header { width:50px; height:50px }
  .pf-ledger-page .pf-machine .pf-mark-fc--footer { width:42px; height:42px }
  .pf-mark-fc svg { display:block; width:100%; height:100%; forced-color-adjust:none }
  .pf-mark-fc :is([data-maker-mark],[data-maker-mark] path,[data-pf-geometry]>path) { stroke:CanvasText }
  .pf-mark-fc [data-maker-mark="plate-edge"] { fill:none }
  .pf-mark-fc [data-pf-geometry]>g { fill:CanvasText }
  @media (max-width:480px) { .pf-ledger-page .pf-machine .pf-mark-fc--header { width:38px; height:38px } }
  /* Proof chain: plates and strip become system-colour panels; the inspection light is dropped. */
  .pf-ledger-page .pf-machine .ledger-rail { background:Canvas; color:CanvasText; box-shadow:none }
  .pf-ledger-page .pf-machine .ledger-rail :is(h3,p,.ledger-station-number) { color:CanvasText; text-shadow:none }
  .pf-ledger-page .pf-machine .ledger-rail li::after,.pf-ledger-page .pf-machine .ledger-rail :is(p,h3)::before,.pf-ledger-page .pf-machine .ledger-rail::before { display:none }
  .pf-ledger-page .pf-machine .ledger-rail li::before { z-index:2; background:Canvas; border:1px solid CanvasText; box-shadow:none }
  .pf-ledger-page .pf-machine .ledger-rail :is(h3,.ledger-station-number) { z-index:3 }
  @media (max-width:999px) { .pf-ledger-page .pf-machine .ledger-rail { border:0; background:none } .pf-ledger-page .pf-machine .ledger-rail li { background:Canvas; border:1px solid CanvasText; box-shadow:none } .pf-ledger-page .pf-machine .ledger-rail li::before { display:none } }
}
