/* THE THREE FACES, DEFINED ONCE. Written 7 September 2026, after the operator reported the type
   still looked wrong everywhere he opened it. It was never the sizes; those were fixed three
   times over. It was the FACE.

   His ruling of 5 September was "Aptos sets the headlines, Calibri the body". It was applied to
   the demonstration page and nowhere else, and that page's own <style> loads after the
   stylesheets, so its :root won there while every walkthrough kept the old system stack. A
   reader met Calibri on the page and San Francisco the instant they opened anything.

   TWO NAMING SYSTEMS existed for the same three faces, --sans/--display/--mono beside
   --face-body/--face-display/--face-data, and --sans was defined twice with DIFFERENT stacks.
   The three below are the definition. The older names are aliases, so nothing that already
   reads either has to be hunted down, and the two can no longer drift apart.

   The serif stays where it is the brand mark: the masthead lockup and the credential band. That
   was his ruling too and is not reopened. */
:root{
  --face-body:    Calibri, Carlito, "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;
  --face-display: Aptos, "Aptos Display", "Segoe UI Variable Display", Inter, "Segoe UI", system-ui, sans-serif;
  --face-data:    "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --sans:    var(--face-body);
  --display: var(--face-display);
  --mono:    var(--face-data);
}

/* THE TYPE SCALE, AND THERE IS ONLY ONE. Written 7 September 2026 after the sizes were fixed
   three times in pieces and survived each pass, because each pass covered only the files that
   pass happened to open. Every value below is a size the product was already using; naming
   them is the whole change, and nothing here moves by more than about a pixel.

   TEXT      4xs .5 · 3xs .5625 · 2xs .625 · xs .75 · s .8125 · sm .875 · base 1 · md 1.15
   DISPLAY   lg 1.4 · display 1.65 · xl 1.9 · hero 2.1 · 2xl 2.6

   display and hero are role-named because each is used once: the credential band's business
   name, and the cohort instrument's headline figure. Adding a raw size anywhere is now a
   failing check, not a preference. */
:root{
  --t-2xs:0.625rem;  --t-xs:0.75rem;
  --t-sm:0.875rem;   --t-base:1rem;     --t-md:1.15rem;
  --t-lg:1.4rem;    --t-display:1.65rem; --t-xl:1.9rem;   --t-hero:2.1rem;
  --t-2xl:2.6rem;
}
/* CyberStanding · registry.css
   The five brand values live here and nowhere else. A page that hardcodes a hex
   has broken the system. Source of truth: brand-package/CLAUDE-BRAND.md */

:root{
  /* THE PHONE PASS, 3 September 2026 (registry drop §3.4). The five state inks and --dim
     re-set for a phone in daylight: every state now holds 7:1+ against both grounds
     (paper/card — gap 16.01/16.71 · reach 12.15/12.68 · ver 9.73/10.15 · ok 8.19/8.55 ·
     att 7.05/7.35), --dim passes AA for body text (4.69/4.90), and the worst greyscale
     pair widened from deltaL 0.0036 (ver vs reach) to 0.0194 — hue chromaticity held
     exactly, so this is an intensity change, not a repalette. The directive's 0.03 target
     is arithmetically infeasible under the 7:1 floor: five pairwise-0.03 states need a
     luminance span of 0.12, and 7:1 on paper caps the whole set below L 0.0937. */

  --navy:#12293F; --ink:#0F1E2E; --ring:#A97F32; --face:#C9A24D; --paper:#FBFAF7;
  --wash:#F7F9FB; /* the registry's own wash, NOMENCLATURE §8 */
  --rule:#D9DFE6; --rule-soft:#E8ECF1; --body:#3D4A57; --dim:#68727C; --card:#FFFFFF;
  --ok:#21563A; --att:#71500D; --gap:#371210;
  /* VER — the fifth basis's own ink, settled 2 September 2026 by Claude Design. Verified
     sits between Measured and Registry record, and it borrowed Measured's green — five bases
     rendering as four in colour (NOMENCLATURE §8, fork 1). A sea-toned step between the ok
     green and the navy: same perceptual weight as ok, hue moved toward the registry's own
     ink. Colour is reinforcement only; the STRUCTURE of the mark is what survives paper —
     see the basis set below. */
  --ver:#184941;
  /* NOT ESTABLISHED. Settled by Claude Design 1 September 2026 and carried in NOMENCLATURE
     v1.4 section 8.1. It reaches this stylesheet on 3 September, when the registry gained the
     first rows that can show the state: an unestablished tier and an unstated scope. Declared
     once here, derived everywhere else, and the words are always present beside it so the
     colour never carries the meaning alone. */
  --reach: #1F3546;
  /* NO THIRD FACE. `--serif` was "Source Serif 4", Georgia, serif, and fourteen rules used
     it: the credential band's business name, the anchor pane's heading, h1, the ledes. Source
     Serif 4 is not installed anywhere in this product, so every one of them fell through to
     GEORGIA and sat beside Calibri body and Aptos headings. Three faces on one screen, and it
     is what the operator was seeing on "How to read the credential". The 5 September ruling is
     two faces: Aptos headlines, Calibri body. The token is gone rather than redefined, because
     a token named --serif that is not a serif is a trap for whoever reads it next.
     7 September 2026. */
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--body);
     font:var(--t-base)/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--ring)}
a:hover{color:var(--ink)}

/* ---------- masthead ---------- */
.mast{background:var(--navy);padding:1.15rem 0}
/* PASS 6, THE BRAND ON THE PHONE (the operator, 11 September): the full lockup — name over the
   justified descriptor — is for letterhead, print and the one-pager. Product page headers are
   thin: the mark and the name only. */
.mast--quiet{padding:.55rem 0}
.mast--quiet .lockup .mark{width:24px;height:24px;margin-right:.55rem}
.mast--quiet .lockup .name{font-size:var(--t-xs)}
.mast--quiet .lockup .desc{display:none}
.wrap{max-width:60rem;margin:0 auto;padding:0 1.5rem}
.lockup{display:flex;align-items:center;text-decoration:none}
.lockup .mark{margin-right:.95rem}
/* THE LOCKUP, CORRECTED 10 SEPTEMBER (Design's rule, the operator's eye): the descriptor must
   never render wider than the name. Not by fixed sizes and tracking, which break at other widths,
   but by construction: the text block is a column whose width the name sets, and the descriptor
   is one justified line spanning exactly that width, each letter distributed (engraver's
   justification). The markup writes the descriptor one letter per span; the justification is the
   tracking. Holds at every size: masthead, band, pass, one-pager. */
.lockup__text{display:inline-flex;flex-direction:column;align-items:stretch}
/* THE WORDMARK IS THE ONE PLACE THE SERIF STAYS (the ruling above: "the serif stays where it is
   the brand mark: the masthead lockup and the credential band"). It was reading var(--display)
   and so fell to a sans, which the operator saw on 10 September as "our logo isn't right". The
   face is named here directly rather than through a token, because the no-third-face ruling
   removed the token on purpose; Source Serif 4 is vendored by fonts.css. */
.lockup .name{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-weight:600;font-size:var(--t-base);letter-spacing:.28em;
              color:var(--paper);text-transform:uppercase;line-height:1}
.lockup .desc{font-family:var(--sans);font-weight:600;font-size:var(--t-2xs);letter-spacing:0;
              color:var(--face);text-transform:uppercase;margin-top:.2rem;display:flex;justify-content:space-between;white-space:nowrap}
.lockup .desc span{display:inline-block}
.lockup .desc .sp{width:.55em} /* settled with the operator and Design, 10 Sep night */

/* ---------- the mark ----------
   Every size the mark takes is declared here, per context — never as an inline
   width attribute in the HTML. Beside the wordmark the text carries the lockup
   and 42px punctuates it; alone on the credential band it is set larger to
   carry comparable optical weight. Each placement is a screen/print pair:
   mark.svg is drawn gold for a navy field, so where print drops the navy the
   mark swaps to the navy colorway — inlined as SVG taking currentColor, since
   a print-only image file is not reliably fetched before the print snapshot.
   mark-print-navy.svg remains the canonical asset for that colorway. */
.mark{display:block;flex:none}
.mark--print{display:none;color:var(--navy)}
.mark--lockup{width:42px;height:42px}
.mark--band{width:56px;height:56px}

/* ---------- the door ---------- */
/* PASS 6 (the operator): the door opens at the same height as the enrollment's 1 OF 3 — one
   breath under the masthead, not a tenth of the screen. */
main{padding:1.4rem 0 2rem}
.door{max-width:34rem;margin:0 auto;padding:0 1.5rem;width:100%}
.kicker{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.2em;text-transform:uppercase;
        color:var(--ring);margin:0 0 1.1rem}
h1{font-family:var(--display);font-weight:400;font-size:clamp(1.85rem,1.2rem+2.4vw,2.6rem);
   line-height:1.14;color:var(--ink);margin:0 0 .7rem;letter-spacing:-.012em}
.sub{margin:0 0 2rem;color:var(--body);max-width:44ch}
form{display:flex;flex-wrap:wrap;gap:.6rem}
input[type=text]{flex:1;min-width:14rem;font-family:var(--mono);font-size:var(--t-base);
  padding:.95rem 1rem;border:1px solid var(--rule);border-radius:2px;background:var(--card);
  color:var(--ink);letter-spacing:.06em}
input[type=text]::placeholder{color:#B6BFC8;letter-spacing:.04em}
input[type=text]:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px rgba(169,127,50,.13)}
button{font:600 var(--t-sm) var(--sans);padding:.95rem 1.6rem;border:1px solid var(--navy);
  background:var(--navy);color:var(--paper);border-radius:2px;cursor:pointer;letter-spacing:.01em}
button:hover{background:var(--ink)}
button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.hint{margin:1.1rem 0 0;font-size:var(--t-sm);color:var(--dim)}
.hint code{font-family:var(--mono);font-size:var(--t-sm);color:var(--ring);cursor:pointer;
           border-bottom:1px dotted var(--ring)}

/* ---------- result ---------- */
.result{display:none;max-width:52rem;margin:0 auto;padding:0 1.5rem;width:100%}
.result.on{display:block}
.back{font-size:var(--t-xs);color:var(--dim);background:none;border:0;padding:0;cursor:pointer;
      font-family:var(--sans);margin-bottom:1.5rem}
.back:hover{color:var(--ink)}
.doc{background:var(--card);border:1px solid var(--rule)}
.doc__band{background:var(--navy);padding:1.6rem 1.9rem;display:flex;
           align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.doc__band > div{padding-right:1.5rem}
.doc__band .regmark{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.2em;
                    text-transform:uppercase;color:var(--face);margin:0 0 .7rem}
.doc__band h2{font-family:var(--display);font-weight:400;font-size:var(--t-display);color:#fff;margin:0;
              line-height:1.15;letter-spacing:-.01em}
.doc__band .meta{color:#A9BACA;font-size:var(--t-xs);margin:.55rem 0 0}
.idstrip{display:flex;flex-wrap:wrap;padding:1.05rem 1.9rem 0;margin:0;
         border-bottom:1px solid var(--rule);background:var(--wash)}
.idstrip > div{margin:0 2.4rem 1.05rem 0}
.idstrip dt{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.16em;text-transform:uppercase;
            color:var(--dim);margin:0 0 .3rem}
.idstrip dd{margin:0;font-family:var(--mono);font-size:var(--t-sm);color:var(--ink)}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.16em;
   text-transform:uppercase;color:var(--dim);font-weight:400;padding:.9rem 1.9rem .55rem}
td{padding:.85rem 1.9rem;border-top:1px solid var(--rule-soft);vertical-align:top;font-size:var(--t-sm)}
td.safeguard{color:var(--ink)}
td.when{font-family:var(--mono);font-size:var(--t-xs);white-space:nowrap;color:var(--body)}
.prov{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;
      display:inline-block;padding:.16rem .45rem;border:1px solid;border-radius:2px;
      white-space:nowrap}
/* THE FIVE BASES AS A SET — settled 2 September 2026 by Claude Design, replacing the
   doubled-bottom-rule placeholder (its greyscale property is kept: Verified still draws with
   a double rule). They are epistemic qualifiers, part of the sentence, and the document
   prints, faxes, and gets photocopied into claim files — so each basis is a different
   STRUCTURE, not a different hue. Who stands behind the claim is what the frame draws:
     Measured        one heavy ruled edge — the instrument's own line, read directly
     Verified        a doubled frame — countersigned: a third party's record, and ours of it
     Registry record a filled ground — written on the registry's own paper, our clock
     Attested        a plain hairline — the account owner's stated word, held as exactly that
     Not recorded    no apparatus at all — nothing was established, so no qualifier appears
   In greyscale the five read: heavy edge / double line / grey field / light line / no frame.
   Colour reinforces (ok green, sea, navy, ochre, dim) and never carries the distinction. */
/* THE FRAMES DERIVE, 3 September 2026 (declaration-engine brief 5.2): each basis chip's
   frame is its own ink's exact hue at the frame's established saturation and lightness
   (ok S24.3 L79.8 · ver S24.6 L72.9 · att S55.4 L78.0). The old values were tuned by eye
   to the pre-3.4 inks; recomputed from the new inks' hues they move by a hair
   (#BFD8C9->#BFD8CB, #A9CBC5 unchanged, #E6D4A8->#E6D1A8) because 3.4 held chromaticity -
   but the rule is now stated, so a future ink change moves the frames with it. */
.p-measured{color:var(--ok);border-color:#BFD8CB;border-left:3px solid var(--ok)}
/* THE POPULATION BLOCK. Two numbers under the endpoint row, each carrying its own basis mark,
   because neither explains the other. Added 3 September 2026: method.html has promised this
   since the operator's text pass and the credential drew neither number. */
.pop{margin-top:.34rem;font-size:var(--t-sm);line-height:1.45;color:var(--body)}
.pop .prov{margin-right:.4rem}
.pop.quiet{color:var(--dim)}
/* The population block renders as its own full-width sub-row beneath the endpoint row — the
   same grammar as the record fold, always open, because the two denominators ARE the record
   rather than depth behind it. Neither number explains the other; each carries its own mark. */
.poprow > td{background:var(--wash);padding:.8rem 1.9rem 1rem 2.9rem;border-top:0}
.poprow .pop{margin:0 0 .4rem}
.poprow .pop:last-child{margin-bottom:0}

/* NOT ESTABLISHED. The most common state on a real credential and the one this surface had no
   instance of, because the rows that carry it were absent. It is not a warning and not a gap:
   the reading was taken and the source could not answer. Drawn in reach, with the words always
   present, so the colour never carries the meaning alone. */
.reach{color:var(--reach)}

.p-verified{color:var(--ver);border:3px double #A9CBC5} /* the double frame survives greyscale and a fax */
.p-record{color:var(--navy);border-color:#C6D2DD;background:#EDF1F5}
.p-attested{color:var(--att);border-color:#E6D1A8}
.p-none{color:var(--dim);border:0;padding:0;letter-spacing:.08em}
/* A READING THAT STOPPED IS A FACT ABOUT OUR REACH, NOT A FINDING ABOUT THE BUSINESS.
   Corrected 3 September 2026. The stale note drew in --gap, the finding color, two lines from
   the .reach rule that draws the same class of fact in steel. A safeguard past its rhythm was
   established and is still shown with its date; nothing about it says the control is absent.
   Painting it in the finding color tells a reader the opposite of what the record says. */
.standing{font-size:var(--t-sm);color:var(--dim);display:block;margin-top:.2rem}
/* The per-row cadence line. index.html's renderer emitted this class with no rule behind
   it (registry drop 3.3); defined 3 September on the operator's direction - one step
   quieter than the stale note in size, still the AA-passing dim ink, because the cadence
   is body text a phone reader may need. */
.standing.quiet{font-size:var(--t-xs)}
.standing.stale{color:var(--reach)}

/* ---------- the record fold ----------
   Added 2 September 2026 with the funds transfer change: one safeguard can rest on several
   facts — at one basis (inbound mail: four measured readings) or at three (funds transfer:
   our clock, a third party's signature, and the approver's word). The line beneath the
   safeguard name is the document's own idiom — it is where the rhythm note already sits —
   so depth is added without new furniture. Each fact carries its own basis mark from the set
   above; the marks are never blended into one. The toggle takes the page's own disclosure
   register (the mono anchor line), and print opens every fold. */
.standing.grad{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.04em;
               color:var(--ring);cursor:pointer;display:inline-block;margin-top:.35rem}
.standing.grad:hover{color:var(--ink)}
.standing.grad:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.standing.grad:after{content:" \2192"}
.foldrow > td{background:var(--wash);padding:.9rem 1.9rem 1.1rem 2.9rem;border-top:0}
.foldtbl{width:100%;border-collapse:collapse}
.foldtbl td{padding:.5rem 0;border-top:1px solid var(--rule-soft);font-size:var(--t-xs);
            vertical-align:top}
.foldtbl tr:first-child td{border-top:0}
.foldtbl td.fact{color:var(--ink);width:16rem;padding-right:1rem}
.foldtbl td.fb{width:10rem;padding-right:1rem}
.foldtbl td.fb .prov{font-size:var(--t-2xs);padding:.14rem .4rem}
.foldtbl td.src{color:var(--body);padding-right:1rem}
.foldtbl td.when{font-family:var(--mono);font-size:var(--t-xs);text-align:right;white-space:nowrap;
                 color:var(--body)}
.doc__foot{display:flex;align-items:center;padding:1.2rem 1.9rem;
           border-top:1px solid var(--rule);background:var(--wash);flex-wrap:wrap;gap:1rem}
.doc__foot .note{font-size:var(--t-sm);color:var(--dim);margin:0;flex:1;min-width:16rem}

/* ---------- empty states ---------- */
.state{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--ring);
       padding:2rem 1.9rem;max-width:38rem}
.state h2{font-family:var(--display);font-weight:400;font-size:var(--t-lg);color:var(--ink);margin:0 0 .6rem}
.state p{margin:0 0 .8rem;max-width:52ch}
.state p:last-child{margin-bottom:0}
.state .code{font-family:var(--mono);color:var(--ink)}

/* ---------- prose pages ---------- */
.page{max-width:42rem;margin:0 auto;padding:0 1.5rem}
.page h1{margin-bottom:1.1rem}
.page .standfirst{font-size:var(--t-base);color:var(--body);margin:0 0 2.6rem;max-width:50ch}
.page h2{font-family:var(--display);font-weight:400;font-size:var(--t-lg);color:var(--ink);
         margin:2.8rem 0 .8rem;line-height:1.2;letter-spacing:-.008em;
         padding-top:1.5rem;border-top:1px solid var(--rule)}
.page h2:first-of-type{border-top:0;padding-top:0}
.page h3{font-family:var(--sans);font-weight:600;font-size:var(--t-sm);color:var(--ink);
         margin:1.8rem 0 .5rem}
.page p{margin:0 0 1.05rem}
.page p strong{color:var(--ink)}
.page ul{margin:0 0 1.05rem;padding-left:1.2rem}
.page li{margin-bottom:.5rem}
.page .m{font-family:var(--mono);font-size:var(--t-sm);color:var(--ink)}
.lede{font-family:var(--display);font-size:var(--t-md);line-height:1.5;color:var(--ink);
      margin:0 0 1.4rem}
.pull{border-left:2px solid var(--ring);padding:.2rem 0 .2rem 1.3rem;margin:1.8rem 0;
      font-family:var(--display);font-size:var(--t-md);line-height:1.5;color:var(--ink)}
.basis{border:1px solid var(--rule);background:var(--card);padding:1.2rem 1.4rem;margin:0 0 .9rem}
.basis .prov{margin-bottom:.6rem}
.basis p{margin:0;font-size:var(--t-sm)}
/* THE LIMITS ARE EQUALS — directive §6: "Design them as equals. Not as fine print, and not
   as a confession." The gap-red edge said warning; a limit stated by the registry about
   itself is not a finding about anyone. Same card as the bases, the registry's own ink. */
.limit{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--reach);
       padding:1.2rem 1.4rem;margin:0 0 .9rem}
.limit b{display:block;color:var(--ink);margin-bottom:.3rem;font-family:var(--display);
         font-weight:400;font-size:var(--t-base)}
.limit p{margin:0;font-size:var(--t-sm)}
.anchor{background:var(--navy);color:#C6D2DD;padding:1.6rem 1.7rem;margin:1.8rem 0;
        font-size:var(--t-sm)}
.anchor h3{color:#fff;margin:0 0 .7rem;font-family:var(--display);font-weight:400;font-size:var(--t-md)}
.anchor p{margin:0 0 .8rem}
.anchor p:last-child{margin:0}
.anchor .val{font-family:var(--mono);font-size:var(--t-xs);color:var(--face);word-break:break-all;
             display:block;margin-top:.3rem}
.steps{counter-reset:s;list-style:none;padding:0;margin:1.2rem 0}
.steps li{counter-increment:s;position:relative;padding-left:2.4rem;margin-bottom:1rem}
.steps li:before{content:counter(s);position:absolute;left:0;top:.05rem;
                 font-family:var(--mono);font-size:var(--t-xs);color:var(--ring);
                 border:1px solid var(--rule);width:1.6rem;height:1.6rem;
                 display:flex;align-items:center;justify-content:center;border-radius:50%}
.backlink{display:inline-block;font-size:var(--t-xs);color:var(--dim);text-decoration:none;
          margin-bottom:1.8rem;border:0}
.backlink:hover{color:var(--ink)}

/* ---------- the seal (the operator, 11 September): the C pressed, not printed. Two forms.
   Never a header element — it closes pages and marks print. ---------- */
.seal{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.seal svg{width:60px;height:60px;display:block}
.seal--paper{background:var(--paper);
  box-shadow:inset 2px 3px 5px rgba(15,30,46,.16),inset -2px -3px 4px rgba(255,255,255,.9)}
.seal--paper svg{color:transparent;filter:drop-shadow(1px 1.5px 1px rgba(255,255,255,.85)) drop-shadow(-1px -1px 1px rgba(15,30,46,.14))}
.seal--paper svg circle{stroke:#E3DFD5}.seal--paper svg path{stroke:#DAD5C8}
.seal--navy{background:linear-gradient(135deg,#16304A 0%,#0E2236 100%);
  box-shadow:inset 1px 2px 3px rgba(0,0,0,.5),inset -1px -2px 3px rgba(126,160,190,.14)}
.seal--navy svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.55)) drop-shadow(0 -0.5px 0.5px rgba(160,190,215,.25))}
.seal--navy svg circle{stroke:#0A1B2B}.seal--navy svg path{stroke:#0B1D2E}
/* The emboss sits in the bottom-right corner, as a pressed seal does on a document (the
   operator, 11 September) — inside the footer's measure, above the method/integrity line. */
footer .seal{width:56px;height:56px;margin:0 1.5rem .9rem auto}
footer .seal svg{width:40px;height:40px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding:1.6rem 0 1.4rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;
             font-size:var(--t-xs);color:var(--dim)}
footer a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--rule)}
footer a:hover{color:var(--ink)}
footer nav a{margin-left:1.5rem}

/* ---------- lapsed banner ---------- */
.lapsed{margin:0;padding:1.1rem 1.9rem;background:#FBF1DC;border-bottom:1px solid var(--rule);
        font-size:var(--t-sm);color:#6B4E0E}

/* ---------- the anchor drawer ---------- */
.anchorbox{background:var(--navy);color:#C6D2DD;padding:1.7rem 1.9rem;font-size:var(--t-sm)}
.anchorbox .pending{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.08em;
  color:var(--face);border:1px solid #2C4359;padding:.5rem .7rem;margin:0 0 1.3rem}
.anchorbox h3{font-family:var(--display);font-weight:400;font-size:var(--t-md);color:#fff;margin:0 0 .6rem}
.anchorbox h4{font-family:var(--sans);font-weight:600;font-size:var(--t-sm);color:#fff;
              margin:1.6rem 0 .3rem}
.anchorbox > p{margin:0 0 1.1rem;max-width:56ch}
.anchorvals{margin:0;padding:1rem 0 0;border-top:1px solid #2C4359}
.anchorvals > div{display:flex;flex-wrap:wrap;padding:.42rem 0;border-bottom:1px solid #1D3A55}
.anchorvals dt{font-family:var(--mono);font-size:var(--t-2xs);letter-spacing:.14em;text-transform:uppercase;
               color:#8CA1B4;width:11rem;flex:none;padding-top:.15rem}
.anchorvals dd{margin:0;font-family:var(--mono);font-size:var(--t-xs);color:#fff;flex:1;min-width:14rem}
.anchorvals dd.brk{word-break:break-all;color:var(--face)}
.anchorbox .steps{margin:.8rem 0 0}
.anchorbox .steps li{color:#C6D2DD;padding-left:2.2rem}
.anchorbox .steps li:before{color:var(--face);border-color:#2C4359}
.anchorbox .caveat{margin:1.5rem 0 0;padding-top:1.1rem;border-top:1px solid #2C4359;
                   font-size:var(--t-sm);max-width:60ch}
.anchorbox .caveat b{color:#fff;display:block;margin-bottom:.3rem}

/* ---------- download ---------- */
.dl{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;padding:1.4rem 1.9rem;
    border-top:1px solid var(--rule);background:var(--card)}
.dl > div{flex:1;min-width:18rem}
.dl b{display:block;color:var(--ink);font-family:var(--display);font-weight:400;font-size:var(--t-base);
      margin-bottom:.25rem}
.dl span{display:block;font-size:var(--t-xs);color:var(--dim);max-width:56ch}

.dl .prov-note{margin-top:.45rem;font-size:var(--t-2xs);color:#9AA4AE;font-family:var(--mono);
               letter-spacing:.02em}

/* ---------- the print frame ----------
   .pf wraps each page's body. On screen every part of it is display:block, so
   it is inert. In print it becomes a table whose header and footer groups
   repeat on every printed sheet, giving each page a 10mm top and bottom
   margin while @page's margin stays zero — zero is the one condition under
   which the browser omits its own printed header and footer (title, URL).
   Zero horizontal margin also lets the navy masthead bleed to the paper's
   edges; content takes its 12mm side margin as padding instead. */
.pf,.pf-g,.pf-r,.pf-c{display:block}
.pf-c{padding:0;border:0}
.pf-s{display:none}

/* ---------- print, in one place ---------- */
@page{margin:0}
@media print{
  .pf{display:table;width:100%}
  thead.pf-g{display:table-header-group}
  tbody.pf-g{display:table-row-group}
  tfoot.pf-g{display:table-footer-group}
  .pf-r{display:table-row}
  .pf-c{display:table-cell}
  .pf-s{display:block;height:10mm}
  .mast{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .wrap,.result,.page{padding-left:12mm;padding-right:12mm}
  .mark--screen{display:none}
  .mark--print{display:block}
  /* On the navy masthead the inline print mark takes the gold instead of navy;
     the gold image file is not reliably fetched for the print snapshot. */
  .mast .mark--print{color:var(--face)}
  main{padding:1.6rem 0 2rem}
  .backlink,.back,footer nav{display:none}
  .door,.hint{display:none}
  .doc__band{background:none;border-bottom:1px solid var(--rule)}
  .doc__band h2{color:var(--ink)} .doc__band .meta{color:var(--body)}
  .doc__band .regmark{color:var(--ring)}
  .anchor{background:none;color:var(--body);border:1px solid var(--rule)}
  .anchor h3{color:var(--ink)}
  .anchorbox{background:none;color:var(--body);border:1px solid var(--rule);padding:1.2rem}
  .anchorbox h3,.anchorbox h4,.anchorbox .caveat b{color:var(--ink)}
  .anchorbox .steps{display:none}
  .anchorbox .pending{color:var(--att);border-color:var(--rule)}
  .anchorvals dt{color:var(--dim)} .anchorvals dd{color:var(--ink)}
  .anchorvals dd.brk{color:var(--ring)}
  .anchorvals > div{border-color:var(--rule-soft)}
  .lapsed{background:none;border:1px solid var(--rule)}
  .dl{display:none}
  /* EVERY FOLD OPENS. A printed credential a reader has to click is broken, so print never
     consults the toggle state. Only safeguards resting on more than one fact have a fold. */
  .foldrow[hidden]{display:table-row !important}
  .foldrow > td{background:none;border-top:1px solid var(--rule-soft)}
  .poprow > td{background:none;border-top:1px solid var(--rule-soft)}
  .standing.grad{color:var(--body);cursor:auto}
  .standing.grad:after{content:""}
}
