/* dholera.life. Self-hosted faces, no CDN. */
@font-face{font-family:'Alegreya';font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-400-normal-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:'Alegreya';font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-400-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya';font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-400-italic-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:'Alegreya';font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-400-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/alegreyasans-400-normal-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:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/alegreyasans-400-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/alegreyasans-400-italic-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:'Alegreya Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/alegreyasans-400-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreyasans-500-normal-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:'Alegreya Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreyasans-500-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreyasans-700-normal-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:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreyasans-700-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans SC';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreyasanssc-500-normal-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:'Alegreya Sans SC';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreyasanssc-500-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Alegreya Sans SC';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreyasanssc-700-normal-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:'Alegreya Sans SC';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreyasanssc-700-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Sono';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/sono-400-normal-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:'Sono';font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/sono-400-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- tokens ------------------------------------------------------ */
:root{
  --plaster:#B38E7E;   /* the ground, nothing below 24px is ever set on it */
  --ink:#472201;       /* bistre, all body text and all geometry */
  --slip:#D3B5A7;      /* the reading plane, every table and card */
  --wash:#E9C6BC;      /* header rows, legend blocks, text on the deep band */
  --rule:#957568;      /* the only hairline, 1px, never heavier */
  --band:#56423D;      /* the deep plane, collapsed masthead, footer, nulls */
  --stamp:#665493;     /* aubergine, the presence stamp and nothing else */
  --deep:#3F3168;      /* aubergine deep, links and inline emphasis */
  --step:26px;         /* the baseline */
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--plaster);-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--plaster);color:var(--ink);
  font-family:'Alegreya Sans',ui-sans-serif,sans-serif;
  font-size:17.5px;line-height:1.62;
  overflow-x:hidden;
}
img,svg{max-width:100%}

/* ---------- typography -------------------------------------------------- */
h1,h2,h3,h4{font-family:Alegreya,ui-serif,serif;font-weight:400;margin:0 0 12px;text-wrap:balance}
h1{font-size:52px;line-height:1.06;letter-spacing:-0.008em}
h2{font-size:38px;line-height:1.12;letter-spacing:-0.008em;margin-top:calc(var(--step)*1.6)}
h3{font-size:27px;line-height:1.2;margin-top:calc(var(--step)*1.1)}
h4{font-size:21px;line-height:1.25}
h2 em,h1 em,h3 em{font-style:italic}
p{margin:0 0 var(--step)}
.prose{max-width:68ch}
.lead{font-size:21px;line-height:1.5}
.sc{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:500;letter-spacing:.02em}
.kicker{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.02em;margin:0 0 8px;display:block}
.mono,.num,time,.code{font-family:Sono,ui-monospace,monospace;font-variant-numeric:tabular-nums}
.note{font-style:italic;font-size:16px;line-height:1.5}
a{color:var(--deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
  transition:text-decoration-thickness 90ms linear}
a:hover,a:focus{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:60;background:var(--slip);padding:10px 14px;border:1px solid var(--ink)}

/* ---------- shell ------------------------------------------------------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
main{display:block;padding:34px 0 8px}
section{margin:0 0 calc(var(--step)*1.4)}

/* ---------- masthead ---------------------------------------------------- */
/* The design JSON set the masthead on the plaster and also forbade any text
   below 24px on the plaster. That contradiction is resolved here in favour of
   the contrast rule: the masthead sits on a full-measure slip. */
.masthead{background:var(--slip);border-bottom:0}
.masthead .wrap{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 28px;
  min-height:104px;padding-top:20px;padding-bottom:14px}
.wordmark{font-family:Alegreya,ui-serif,serif;font-weight:400;font-size:30px;line-height:1.1;
  color:var(--ink);text-decoration:none;display:block;flex:1 1 340px}
.wordmark em{font-style:italic}
.wordmark:hover,.wordmark:focus{text-decoration:none}
.standing{font-family:Sono,ui-monospace,monospace;font-weight:500;font-size:11.5px;
  letter-spacing:.06em;color:var(--band);margin:8px 0 0;line-height:1.7}
.mastnav{display:flex;flex-wrap:wrap;gap:4px 18px;padding:0 0 4px;margin:0;list-style:none}
.mastnav a{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:500;font-size:12.5px;
  letter-spacing:.02em;color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;
  padding-bottom:2px;transition:border-color 90ms linear}
.mastnav a:hover,.mastnav a:focus,.mastnav a[aria-current]{border-bottom-color:var(--stamp)}

/* the presence strip: the masthead rule replaced by live data */
.pstrip{display:flex;gap:1px;height:6px;background:var(--plaster);width:100%}
.pstrip a{flex:1 1 0;background:var(--stamp);text-decoration:none;display:block;min-width:0}
.pstrip a:hover,.pstrip a:focus{outline:2px solid var(--deep);outline-offset:1px}
.pstrip-cap{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-size:12.5px;
  color:var(--ink);background:var(--slip);padding:3px 22px 5px;margin:0}

/* the collapsed rail past 420px of scroll */
.rail{position:fixed;top:0;left:0;right:0;height:40px;background:var(--band);color:var(--wash);
  display:flex;align-items:center;gap:16px;padding:0 22px;z-index:40;
  transform:translateY(-100%);transition:transform 120ms ease-out}
.rail[data-on="1"]{transform:translateY(0)}
.rail a{color:var(--wash);font-family:Alegreya,ui-serif,serif;font-size:15px;text-decoration:none}
.rail span{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-size:12.5px;
  letter-spacing:.02em;color:var(--wash);opacity:.92;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}

/* ---------- slips ------------------------------------------------------- */
.slip{background:var(--slip);border:1px solid var(--rule);border-radius:2px;
  padding:20px 22px 16px;margin:0 0 28px}
.slip>:last-child{margin-bottom:0}
.slip.tight{padding:14px 16px 12px}
.foot{font-family:Sono,ui-monospace,monospace;font-size:11.5px;line-height:1.7;
  border-top:1px solid var(--rule);padding-top:9px;margin:16px 0 0}
.foot b{font-weight:600}
.cannot{font-family:Alegreya,ui-serif,serif;font-style:italic;font-size:17px;line-height:1.45;
  margin:10px 0 0}
.cannot b{font-style:normal;font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;
  font-weight:700;font-size:12.5px;letter-spacing:.02em;display:block;margin-bottom:2px}

.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));margin:0 0 28px}
.fig{background:var(--slip);border:1px solid var(--rule);border-radius:2px;padding:16px 18px 14px}
.fig .v{font-family:Sono,ui-monospace,monospace;font-size:34px;line-height:1.05;display:block;
  margin:2px 0 4px;font-variant-numeric:tabular-nums}
.fig .u{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-size:12.5px;letter-spacing:.02em;
  display:block}
.fig .d{font-family:Sono,ui-monospace,monospace;font-size:11.5px;line-height:1.6;margin:8px 0 0}

/* provenance is carried by line, not by colour, so it survives greyscale */
.official{border-bottom:1px solid var(--ink);padding-bottom:1px}
.reported{border-bottom:1px dotted var(--ink);padding-bottom:1px}
.target{font-family:Alegreya,ui-serif,serif;font-style:italic}

/* ---------- tables ------------------------------------------------------ */
.tablewrap{overflow-x:auto;background:var(--slip);border:1px solid var(--rule);border-radius:2px;
  margin:0 0 10px;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:15px}
caption{text-align:left;padding:16px 18px 12px;font-family:Alegreya,ui-serif,serif;font-size:21px;
  line-height:1.25}
caption .vintage{display:block;font-family:Sono,ui-monospace,monospace;font-size:11.5px;
  letter-spacing:.02em;margin-top:5px;line-height:1.6}
thead th{background:var(--wash);font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;
  font-weight:500;font-size:12.5px;letter-spacing:.02em;text-align:left;vertical-align:bottom;
  padding:8px 10px;border-bottom:1px solid var(--ink);border-radius:0}
thead th.n{text-align:right}
tbody th,tbody td{padding:6px 10px;vertical-align:top;border-radius:0}
tbody th{font-family:'Alegreya Sans',ui-sans-serif,sans-serif;font-weight:500;font-size:15px;
  text-align:left;line-height:1.34}
tbody td{font-family:'Alegreya Sans',ui-sans-serif,sans-serif;font-weight:400;line-height:1.34}
tbody td.n,tbody td.mono{font-family:Sono,ui-monospace,monospace;font-size:14px;
  font-variant-numeric:tabular-nums}
tbody td.n{text-align:right}
tbody tr{height:34px}
/* row grouping: hanging indent. The group label sits at the left margin and its
   member rows are indented under it. No fills, no every-fifth-row rule. */
tr.grp th{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.02em;padding-top:15px;padding-bottom:3px;border-bottom:1px solid var(--rule)}
tr.mem th:first-child,tr.mem td:first-child{padding-left:26px}
tfoot th,tfoot td{border-top:2px solid var(--ink);padding:9px 10px;
  font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.02em}
tfoot td.n{font-family:Sono,ui-monospace,monospace;font-size:14px;text-align:right;font-weight:400}

/* the matrix: sticky stub, age gutter, no zebra */
.matrix{min-width:920px}
.matrix .gut{font-family:Sono,ui-monospace,monospace;font-size:11.5px;width:34px;
  padding-left:14px;padding-right:0;white-space:nowrap}
.matrix .stale{font-style:italic;color:var(--band)}
.matrix tbody th.stub{position:sticky;left:0;background:var(--slip);z-index:2;min-width:132px;
  border-right:1px solid var(--rule)}
.matrix thead th.stub{position:sticky;left:0;background:var(--wash);z-index:3;
  border-right:1px solid var(--rule)}
.tablewrap.scrolled .matrix tbody th.stub,.tablewrap.scrolled .matrix thead th.stub{
  border-right-width:2px}
.matrix td.cell{text-align:center;padding:5px 6px;min-width:56px}
.scrollhint{font-family:Sono,ui-monospace,monospace;font-size:11.5px;margin:0 0 10px;
  padding:0 2px}

/* ---------- the presence stamp, the signature element ------------------- */
.stamp{display:inline-block;width:22px;height:22px;transform:rotate(-1.5deg);
  font-family:Sono,ui-monospace,monospace;font-size:12px;line-height:22px;text-align:center;
  vertical-align:middle}
.st-here{background:var(--stamp);color:var(--wash)}
.st-u5{background:rgba(102,84,147,.62)}
.st-b510{border:1.5px solid var(--stamp);background:transparent}
.st-o10{width:22px;height:22px;background:transparent;position:relative}
.st-o10::before{content:"";position:absolute;left:9px;bottom:1px;width:4px;height:4px;
  background:var(--stamp)}
.st-none{background:transparent;position:relative}
.st-none::before{content:"\2013";color:var(--band);font-family:Sono,ui-monospace,monospace;
  font-size:14px}
.strip{display:flex;gap:2px;flex-wrap:wrap;margin:0 0 12px}
.strip .stamp{flex:0 0 auto}

.legend{display:grid;gap:10px 22px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  background:var(--wash);border:1px solid var(--rule);border-radius:2px;padding:16px 18px;
  margin:0 0 22px;list-style:none}
.legend li{display:flex;gap:11px;align-items:flex-start;font-size:16px;line-height:1.4}
.legend .lab{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:500;font-size:12.5px;
  letter-spacing:.02em;display:block}
.legend .exp{font-size:15px;line-height:1.4}

/* ---------- status codes, carried by line and by word, never by colour --- */
.status{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.02em;white-space:nowrap;display:inline-block;padding-bottom:1px}
.status::before{content:"";display:inline-block;width:11px;height:11px;margin-right:7px;
  transform:rotate(-1.5deg);vertical-align:baseline;position:relative;top:1px}
.s-operating::before{background:var(--stamp)}
.s-listed::before{background:transparent;border:1.5px solid var(--stamp)}
.s-announced::before{background:transparent;border-bottom:1.5px solid var(--band);height:6px}
.s-none::before{background:transparent;border-bottom:1px solid var(--band);height:6px;width:11px}
.s-operating{border-bottom:1px solid var(--ink)}
.s-listed{border-bottom:1px dotted var(--ink)}
.s-announced{font-style:italic;font-family:Alegreya,ui-serif,serif;font-weight:400;font-size:16px;
  letter-spacing:0}
tr.notop th,tr.notop td{background:rgba(86,66,61,.07)}

/* ---------- drawn plates, no photographs anywhere ----------------------- */
.plate{background:var(--slip);border:1px solid var(--rule);border-radius:2px;padding:16px 18px 12px;
  margin:0 0 28px}
.plate svg{display:block;width:100%;height:auto}
.plate figcaption{font-family:Sono,ui-monospace,monospace;font-size:11.5px;line-height:1.7;
  margin:10px 0 0;border-top:1px solid var(--rule);padding-top:9px}
.bars{list-style:none;margin:0 0 18px;padding:0}
.bars li{display:grid;grid-template-columns:minmax(120px,1fr) 3fr auto;gap:12px;align-items:center;
  padding:4px 0;font-size:15px}
.bars .bar{height:13px;background:var(--stamp)}
.bars .num{font-family:Sono,ui-monospace,monospace;font-size:14px}
.bars .lab{font-family:'Alegreya Sans',ui-sans-serif,sans-serif;font-weight:500;font-size:15px}

/* ---------- lists ------------------------------------------------------- */
ul.plain,ol.plain{list-style:none;margin:0 0 var(--step);padding:0}
ul.plain li,ol.plain li{padding:0 0 9px;line-height:1.5}
ul.bul{margin:0 0 var(--step);padding-left:20px}
ul.bul li{padding:0 0 8px}
.pairs{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;margin:0 0 var(--step);
  font-size:16px}
.pairs dt{font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;font-weight:500;font-size:12.5px;
  letter-spacing:.02em;padding-top:3px}
.pairs dd{margin:0;font-family:Sono,ui-monospace,monospace;font-size:14px;line-height:1.5}
.vlinks{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  border-top:1px solid var(--rule)}
.vlinks a{display:block;padding:10px 12px;border-bottom:1px solid var(--rule);text-decoration:none;
  color:var(--ink);font-family:'Alegreya Sans',ui-sans-serif,sans-serif;font-weight:500}
.vlinks a:hover,.vlinks a:focus{background:var(--wash)}
.vlinks .m{font-family:Sono,ui-monospace,monospace;font-size:11.5px;display:block}

/* ---------- footer ------------------------------------------------------ */
footer.site{background:var(--band);color:var(--wash);margin-top:calc(var(--step)*2);
  padding:30px 0 34px}
footer.site a{color:var(--wash);text-decoration-color:var(--wash)}
footer.site .wrap{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
footer.site h2{font-size:21px;margin:0 0 8px;color:var(--wash)}
footer.site p,footer.site li{font-size:15px;line-height:1.55}
footer.site .mono{font-size:11.5px;line-height:1.8}

/* ---------- motion: one behaviour, budgeted ----------------------------- */
@keyframes ink{from{opacity:0}to{opacity:1}}
.inking .stamp{opacity:0}
.inking.inked .stamp{animation:ink 180ms ease-out forwards;animation-delay:var(--d,0ms)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .inking .stamp{opacity:1}
}

/* ---------- mobile is its own layout ------------------------------------ */
@media (max-width:760px){
  body{font-size:17px}
  h1{font-size:34px}h2{font-size:27px}h3{font-size:22px}h4{font-size:19px}
  .lead{font-size:19px}
  .masthead .wrap{min-height:84px;padding-top:16px;align-items:flex-start;flex-direction:column}
  .wordmark{font-size:22px;flex:1 1 auto}
  .standing{font-size:11px;line-height:1.75}
  .pstrip{height:4px}
  .mastnav{display:none}
  .drawer{display:block}
  .drawer summary{list-style:none;font-family:'Alegreya Sans SC',ui-sans-serif,sans-serif;
    font-weight:700;font-size:12.5px;letter-spacing:.02em;padding:9px 22px;background:var(--band);
    color:var(--wash);cursor:pointer}
  .drawer summary::-webkit-details-marker{display:none}
  .drawer ul{margin:0;padding:0;list-style:none;background:var(--band)}
  .drawer li{border-top:1px solid var(--rule)}
  .drawer a{display:block;padding:12px 22px;color:var(--wash);text-decoration:none;
    font-family:'Alegreya Sans',ui-sans-serif,sans-serif;font-weight:500;font-size:16px}
  .matrix{min-width:760px}
  tbody tr{height:30px}
  .bars li{grid-template-columns:1fr;gap:3px}
  .bars .bar{height:11px}
  .pairs{grid-template-columns:1fr;gap:1px 0}
  .pairs dd{margin-bottom:9px}
  caption{font-size:19px;padding:14px 14px 10px}
  .slip{padding:16px 15px 13px}
  .wrap{padding:0 15px}
}
@media (min-width:761px){.drawer{display:none}}
