/* Layout: one report sheet. A 12-column hero (intro 5 / Fig. 1 7), then report sections with
   a 13rem side-heading column and a content column, separated by 1px rules. */
:root{
  --paper:#FFFFFF;
  --ink:#0A2463;          /* navy: all text, rules that matter, drawings */
  --ink-2:#3D4B72;        /* secondary text, 8.6:1 on paper */
  --rule:#CDD4E2;         /* hairlines */
  --grid:#E6EAF1;         /* plot gridlines, table stripes */
  --orange:#FF6300;       /* wordmark orange: the send action only (navy text on it, 5.4:1) */
  --orange-hi:#FF7B29;
  --blue:#1879B4;         /* swirl blue: one trace, focus */
  --link:#135F8E;         /* link text, 6.6:1 */
  --tint:#EEF4FA;

  --sans:"Chivo", "Helvetica Neue", Arial, sans-serif;
  --mono:"Chivo Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --t-12:.75rem; --t-14:.875rem; --t-16:1rem; --t-20:1.25rem; --t-25:1.5625rem;
  --t-31:1.953rem; --t-39:2.441rem; --t-49:3.052rem;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s12:48px; --s16:64px; --s20:80px;
  --r:2px;
  --side:13rem;

  --ease-out:cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out:cubic-bezier(0.77, 0, 0.175, 1);
  --dur-press:140ms; --dur-ui:200ms; --dur-reveal:480ms;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--s6)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-16);line-height:1.55;font-weight:400;caret-color:var(--blue);-webkit-font-smoothing:antialiased}
::selection{background:var(--ink);color:var(--paper)}
img,svg{display:block;max-width:100%}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:800;line-height:1.1}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
table{border-collapse:collapse;font-variant-numeric:tabular-nums}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}
.mono{font-family:var(--mono);font-weight:400}
.nw{white-space:nowrap}

/* Letterhead */
.lh{position:relative;padding-bottom:6px}
.lh::after,footer::before{content:"";position:absolute;left:0;right:0;height:6px;background:linear-gradient(var(--ink) 0 3px,transparent 3px 5px,var(--ink) 5px 6px)}
.lh::after{bottom:0}
.lh .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);min-height:76px;padding-block:var(--s3)}
.logo{flex:none;display:block}
.logo img{height:24px;width:auto}
.nav{display:flex;align-items:center;gap:var(--s6)}
.nav ul{display:flex;gap:var(--s5);list-style:none}
.nav a{color:var(--ink);text-decoration:none;font-size:var(--t-14);font-weight:500;padding-block:var(--s3)}
.nav a:hover{text-decoration:underline}
.menu{display:none}
.skip{position:absolute;left:var(--s4);top:-60px;background:var(--ink);color:var(--paper);padding:var(--s2) var(--s3);z-index:5}
.skip:focus{top:var(--s2)}
.skip:hover{color:var(--paper)}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--s5);background:var(--orange);color:var(--ink);font:700 var(--t-16)/1 var(--sans);text-decoration:none;border:0;border-radius:var(--r);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out),transform var(--dur-press) var(--ease-out)}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--orange-hi);color:var(--ink)}}
.btn.sm{min-height:40px;font-size:var(--t-14);padding:0 var(--s4)}

/* Hero: intro + Fig. 1 */
.top{position:relative;padding-block:var(--s10) var(--s16)}
.intro{display:flex;flex-direction:column;gap:var(--s6);margin-bottom:var(--s10)}
h1{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.022em;line-height:1.04;max-width:22ch}
.below{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s8);margin-top:var(--s2)}
.readout{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
@media (min-width:1100px){
  /* Fig. 1 runs the full sheet; the intro is set in the plot's empty upper-left,
     where every sample type's traces are still on the baseline. */
  .figbar{min-height:45px;flex-wrap:nowrap}
  .intro{position:absolute;z-index:2;top:calc(var(--s10) + 45px + var(--s3) + var(--s6) + var(--s5));left:calc(44px + var(--s6));width:min(44%,540px);margin:0;padding:0 var(--s5) var(--s5) 0;background:var(--paper)}
  .intro h1{font-size:clamp(2.3rem,2.9vw,2.75rem)}
  .intro .lede{font-size:1.125rem;max-width:none}
  .plotwrap{padding-top:var(--s6)}
  .below{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s12);margin-top:var(--s4)}
  .samples{margin-top:0}
}
.runctl{display:inline-flex;gap:var(--s3);align-items:center}
.runrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4)}
.lede{font-size:var(--t-20);line-height:1.5;color:var(--ink-2);max-width:34ch}
.act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5)}
.act .addr{font-size:var(--t-16);color:var(--ink-2)}
.samples{border:0;margin:var(--s2) 0 0;padding:0;min-width:0}
.samples legend{padding:0;font-weight:700;font-size:var(--t-14);margin-bottom:var(--s2)}
.samples legend span{font-weight:400;color:var(--ink-2)}
.samples ul{list-style:none;border-top:1px solid var(--rule)}
.samples li{border-bottom:1px solid var(--rule)}
.samples label{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding-block:var(--s1);cursor:pointer;font-size:var(--t-16)}
.samples input{width:18px;height:18px;margin:0;accent-color:var(--ink);flex:none}
.samples label span{flex:1}
.samples label em{display:block;font-style:normal;font-size:var(--t-14);color:var(--ink-2);font-weight:400;line-height:1.3}
.samples label small{font-family:var(--mono);font-size:var(--t-12);color:var(--ink-2)}
.samples li:has(input:checked){background:var(--tint)}
.samples li:has(input:checked) label span{font-weight:700}

/* Fig. 1 */
.fig{margin:0;display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.figbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--ink);font-size:var(--t-14)}
.figbar .t{font-weight:700}
.figbar .src{font-weight:400}
.figbar .sp{flex:1}
.figbar .sd{font-size:var(--t-12);font-weight:700;letter-spacing:.02em;border:1px solid var(--ink);padding:2px 6px;border-radius:var(--r)}
.runtabs{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r)}
[hidden]{display:none!important}
.runtab{font:500 var(--t-14)/1 var(--sans);color:var(--ink);background:var(--paper);border:0;padding:0 var(--s3);min-height:32px;cursor:pointer}
.runtab+.runtab{border-left:1px solid var(--rule)}
.runtab[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.cyc{font-family:var(--mono);font-size:var(--t-14);color:var(--ink-2);font-variant-numeric:tabular-nums}
.cyc b{font-weight:500;color:var(--ink);display:inline-block;min-width:2ch;text-align:right}
.replay{font:500 var(--t-14)/1 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:var(--r);min-height:32px;padding:0 var(--s3);cursor:pointer;transition:background-color var(--dur-ui) var(--ease-out),transform var(--dur-press) var(--ease-out)}
.replay:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.replay:hover{background:var(--tint)}}

.plotwrap{position:relative;padding:var(--s6) 0 46px 44px}
.plot{position:relative;aspect-ratio:1000/440;width:100%}
.plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gl line{stroke:var(--grid);stroke-width:1;vector-effect:non-scaling-stroke}
.axisline{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.thr{stroke:var(--ink);stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.trace{fill:none;stroke:var(--c);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:opacity var(--dur-ui) var(--ease-out)}
.trace.ctl{stroke:#7A86A6;stroke-width:1.5}
.trace.pos{stroke-dasharray:6 3}
.trace.ntc{stroke-dasharray:1.5 3}
.cursor{stroke:var(--blue);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transition:opacity var(--dur-ui) var(--ease-out)}
.running .cursor{opacity:1}
.cq{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--paper);border:2px solid var(--c);opacity:1;transform:scale(1);transition:opacity 200ms var(--ease-out),transform 240ms var(--ease-out)}
.js .running .cq:not(.on){opacity:0;transform:scale(.5)}
.focus .trace:not(.hl),.focus .cq:not(.hl){opacity:.15}
.ax{position:absolute;font-family:var(--mono);font-size:var(--t-12);color:var(--ink-2);line-height:1;font-variant-numeric:tabular-nums}
.ax.x{bottom:-22px;transform:translateX(-50%)}
.ax.y{left:-10px;transform:translate(-100%,-50%)}
.axt{position:absolute;font-size:var(--t-12);color:var(--ink-2)}
.axt.x{left:50%;bottom:-42px;transform:translateX(-50%)}
.axt.y{left:-44px;top:-2px;transform:translateY(-100%)}
.thrlabel{position:absolute;left:var(--s2);font-size:var(--t-12);color:var(--ink);background:var(--paper);padding:0 var(--s1);transform:translateY(-120%)}

.results{width:100%;font-size:var(--t-14)}
.results caption{text-align:left;font-size:var(--t-14);color:var(--ink-2);padding-bottom:var(--s2);caption-side:bottom;padding-top:var(--s3)}
.results thead th{font-weight:700;text-align:left;border-bottom:1px solid var(--ink);padding:0 var(--s3) var(--s2) 0;font-size:var(--t-12);letter-spacing:.02em}
.results thead th.num{text-align:right}
.results td,.results tbody th{padding:6px var(--s3) 6px 0;border-bottom:1px solid var(--grid);text-align:left;font-weight:400;vertical-align:baseline}
.results tbody th{font-weight:500}
.results .num{text-align:right;font-family:var(--mono);min-width:6ch;white-space:nowrap}
.results .res{white-space:nowrap}
.results .res.nd{color:var(--ink-2)}
.results .sw{display:inline-block;width:14px;height:0;border-top:2px solid var(--c);vertical-align:middle;margin-right:var(--s2);position:relative;top:-2px}
.results .sw.pos{border-top:2px dashed #7A86A6}
.results .sw.ntc{border-top:2px dotted #7A86A6}
.results tr.ctlrow th,.results tr.ctlrow td{color:var(--ink-2)}
.results tr.pending .res{color:var(--ink-2);font-style:italic}
.results tr.hl{background:var(--tint)}
.runnote{font-size:var(--t-14);color:var(--ink-2)}
.figcap{font-size:var(--t-14);color:var(--ink-2);border-top:1px solid var(--rule);padding-top:var(--s3)}
.figcap b{color:var(--ink);font-weight:700}

/* Report sections */
.sec{display:grid;grid-template-columns:var(--side) minmax(0,1fr);gap:var(--s12);padding-block:var(--s16);border-top:1px solid var(--ink)}
.sec>h2{font-size:var(--t-25);letter-spacing:-.01em;line-height:1.15}
.body{display:flex;flex-direction:column;gap:var(--s10);min-width:0}
.body>p,.lead{max-width:68ch}
.lead{font-size:var(--t-20);line-height:1.5}
h3{font-size:var(--t-16);font-weight:700;line-height:1.3}
.cap{font-size:var(--t-14);color:var(--ink-2);margin-top:var(--s3);max-width:72ch}
.cap b{color:var(--ink)}

/* Table 1 and 2: recommendations */
.tables{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s10);align-items:start}
.tables>div:last-child{max-width:560px}
.tables>div{min-width:0}
.th{margin-bottom:var(--s3)}
.scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.rec{width:100%;font-size:var(--t-14)}
.rec thead th{font-weight:700;font-size:var(--t-12);text-align:center;vertical-align:bottom;padding:0 var(--s1) var(--s2);border-bottom:1px solid var(--ink);line-height:1.25;min-width:64px}
.rec thead th:first-child{text-align:left;min-width:0}
.rec tbody th{text-align:left;font-weight:400;padding:5px var(--s3) 5px 0;white-space:nowrap}
.rec td{text-align:center;padding:5px var(--s1)}
.rec tbody tr{border-bottom:1px solid var(--grid)}
.rec tr.grp th{font-weight:700;font-size:var(--t-12);padding-top:var(--s4);letter-spacing:.02em}
.rec tr.grp{border-bottom:1px solid var(--rule)}
.mk{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid var(--rule);vertical-align:middle}
.mk.y{background:var(--ink);border-color:var(--ink)}
.key{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);font-size:var(--t-14);color:var(--ink-2);margin-top:var(--s3)}
.key span{display:inline-flex;align-items:center;gap:var(--s2)}

/* How testing works */
.howto{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s12);align-items:start}
.steps{list-style:none;counter-reset:st;border-top:1px solid var(--ink)}
.steps li{counter-increment:st;display:grid;grid-template-columns:2.5rem minmax(0,1fr);padding:var(--s4) 0;border-bottom:1px solid var(--grid);max-width:62ch}
.steps li::before{content:counter(st);font-family:var(--mono);font-size:var(--t-14);color:var(--ink-2);padding-top:2px}
.kit{margin:0;display:flex;flex-direction:column;gap:var(--s3)}
.kit figcaption{font-weight:700;font-size:var(--t-16);padding-bottom:var(--s3);border-bottom:1px solid var(--ink)}
.kit img{width:100%;height:auto}

/* Instruments */
.inst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s12)}
.spec{display:flex;flex-direction:column;min-width:0}
.spec .ph{height:280px;display:flex;align-items:flex-end;margin-bottom:var(--s6)}
.spec .ph img{height:100%;width:auto;max-width:100%;object-fit:contain}
.spec h3{font-size:var(--t-20);font-weight:800}
.spec h3 sup{font-size:.55em;font-weight:500;top:-.8em}
.spec .kind{font-size:var(--t-14);color:var(--ink-2);margin:2px 0 var(--s3)}
.spec dl{margin:0;display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);font-size:var(--t-14);border-top:1px solid var(--ink)}
.spec dt,.spec dd{margin:0;padding:6px var(--s3) 6px 0;border-bottom:1px solid var(--grid)}
.spec dt{color:var(--ink-2)}
.spec dd .mono{font-size:.95em}

/* Lab */
.labgrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s12)}
.labgrid p+p{margin-top:var(--s4)}
.who{list-style:none;border-top:1px solid var(--ink);font-size:var(--t-16)}
.who li{padding:var(--s2) 0;border-bottom:1px solid var(--grid)}
address{font-style:normal;margin-top:var(--s6);line-height:1.6}
.tag{margin-top:var(--s6);font-weight:700}

/* Close */
.before{display:flex;flex-direction:column;gap:var(--s3)}
.before dl{margin:0;display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);border-top:1px solid var(--ink);font-size:var(--t-16)}
.before dt,.before dd{margin:0;padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--grid)}
.before dt{font-weight:700}
.before dd{max-width:68ch}
.req{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--s12);align-items:start}
.req ol{list-style:none;counter-reset:q;border-top:1px solid var(--ink)}
.req ol li{counter-increment:q;display:grid;grid-template-columns:3ch minmax(0,1fr);padding:var(--s3) 0;border-bottom:1px solid var(--grid)}
.req ol li::before{content:counter(q);font-family:var(--mono);color:var(--ink-2)}
.send{display:flex;flex-direction:column;gap:var(--s3);align-items:flex-start;padding:var(--s6);border:1px solid var(--ink)}
.send .addr{font-size:var(--t-20);font-weight:700;word-break:break-word}

footer{position:relative;margin-top:var(--s4);padding-top:6px}
footer::before{top:0}
footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4) var(--s8);padding-block:var(--s6) var(--s10);font-size:var(--t-14);color:var(--ink-2)}
footer ul{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);list-style:none}
footer a{color:var(--ink-2)}
footer .note{grid-column:1/-1}

@media (max-width:1100px){
  .lede{max-width:52ch}
  .tables,.inst,.labgrid,.req,.howto{grid-template-columns:minmax(0,1fr)}
  .kit{max-width:520px}
}
@media (max-width:900px){
  .nav ul{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 var(--s3);border:1px solid var(--ink);border-radius:var(--r);font-size:var(--t-14);font-weight:500}
  .menu summary::-webkit-details-marker{display:none}
  .menu ul{position:absolute;right:0;top:calc(100% + 6px);background:var(--paper);border:1px solid var(--ink);list-style:none;min-width:200px;z-index:4;padding:var(--s2) 0}
  .menu a{display:block;padding:var(--s3) var(--s4);color:var(--ink);text-decoration:none}
  .sec{grid-template-columns:minmax(0,1fr);gap:var(--s6);padding-block:var(--s12)}
  .nav .btn{display:none}
}
@media (max-width:560px){
  .lh .wrap{min-height:64px}
  .logo img{height:20px}
  .top{padding-block:var(--s8) var(--s12)}
  .lede{font-size:var(--t-16)}
  .plotwrap{padding-left:34px}
  .axt.y{left:-34px}
  .spec dl{grid-template-columns:minmax(0,7rem) minmax(0,1fr)}
  .spec .ph{height:220px}
  .before dl{grid-template-columns:minmax(0,1fr)}
  .before dt{border-bottom:0;padding-bottom:0}
  footer .wrap{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:1ms!important}
  .btn:active,.replay:active{transform:none}
}

/* ---------- Inner pages ---------- */
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.menu a[aria-current="page"]{font-weight:700}
.pagehead{padding-block:var(--s12) var(--s12);display:flex;flex-direction:column;gap:var(--s4)}
.pagehead h1{font-size:clamp(2.1rem,4vw,3.25rem);letter-spacing:-.022em;line-height:1.04;max-width:22ch}
.pagehead .lede{max-width:60ch}
.pagehead + .sec{border-top:1px solid var(--ink)}
.links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6)}
.btn.ghost{background:var(--paper);border:1px solid var(--ink)}
@media (hover:hover) and (pointer:fine){.btn.ghost:hover{background:var(--tint)}}

.pairs{margin:0;display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr);border-top:1px solid var(--ink)}
.pairs dt,.pairs dd{margin:0;padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--grid)}
.pairs dt{font-weight:700}
.pairs dd{max-width:68ch}

.tlist{width:100%;font-size:var(--t-16)}
.tlist thead th{font-size:var(--t-12);font-weight:700;letter-spacing:.02em;text-align:left;border-bottom:1px solid var(--ink);padding:0 var(--s4) var(--s2) 0}
.tlist th,.tlist td{text-align:left;padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--grid);vertical-align:baseline}
.tlist tbody th{font-weight:500;white-space:nowrap}
.tlist td:nth-child(2){color:var(--ink-2);font-size:var(--t-14)}

.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s12);border-top:1px solid var(--ink)}
.area{padding:var(--s5) 0;border-bottom:1px solid var(--grid);display:flex;flex-direction:column;gap:var(--s2)}
.area p{color:var(--ink-2)}
.area ul{padding-left:1.1rem;display:flex;flex-direction:column;gap:2px}

.prose{max-width:68ch}
.prose > * + *{margin-top:var(--s4)}
.prose h2{font-size:var(--t-20);font-weight:800;margin-top:var(--s10)}
.prose h3{font-size:var(--t-16);font-weight:700;margin-top:var(--s8)}
.prose h4{font-size:var(--t-16);font-weight:700;margin-top:var(--s6)}
.prose ul,.prose ol{padding-left:1.25rem;display:flex;flex-direction:column;gap:var(--s1)}
.prose li > ul,.prose li > ol{margin-top:var(--s1)}
.prose blockquote{margin-left:0;padding-left:var(--s4);border-left:1px solid var(--ink);color:var(--ink-2)}
.prose table{width:100%;font-size:var(--t-14)}
.prose th,.prose td{text-align:left;padding:6px var(--s3) 6px 0;border-bottom:1px solid var(--grid);vertical-align:top}
.prose thead th{border-bottom:1px solid var(--ink)}
.prose hr{border:0;border-top:1px solid var(--rule);margin-block:var(--s8)}

.doc{border-top:0;padding-top:var(--s12)}
.doc-h{font-size:clamp(1.9rem,3.4vw,2.75rem);letter-spacing:-.02em;line-height:1.08;max-width:24ch;margin-bottom:var(--s8)}
.meta{font-size:var(--t-14);color:var(--ink-2);display:flex;flex-direction:column;gap:var(--s4);align-self:start;position:sticky;top:var(--s6)}
.meta dl{margin:0;display:flex;flex-direction:column;gap:var(--s1);border-top:1px solid var(--ink);padding-top:var(--s3)}
.meta dt{font-weight:700;color:var(--ink);margin-top:var(--s2)}
.meta dd{margin:0}
.meta ul{list-style:none;border-top:1px solid var(--ink)}
.meta li{border-bottom:1px solid var(--grid)}
.meta li a{display:block;padding:var(--s2) 0;color:var(--ink);text-decoration:none}
.meta li a[aria-current="page"]{font-weight:700}
.meta p:first-child{font-weight:700;color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin-top:var(--s10);padding-top:var(--s3);border-top:1px solid var(--rule);font-size:var(--t-14);color:var(--ink-2)}

.posts{list-style:none;border-top:1px solid var(--ink);margin-bottom:var(--s16)}
.post{display:grid;grid-template-columns:var(--side) minmax(0,1fr);column-gap:var(--s12);padding:var(--s6) 0;border-bottom:1px solid var(--grid)}
.post .pm{grid-row:1/span 2;display:flex;flex-direction:column;gap:2px;font-size:var(--t-14);color:var(--ink-2)}
.post .pm span{font-weight:700;color:var(--ink)}
.post h2{font-size:var(--t-20);font-weight:800;line-height:1.25}
.post h2 a{color:var(--ink);text-decoration:none}
.post h2 a:hover{text-decoration:underline}
.post > p:last-child{color:var(--ink-2);max-width:68ch;margin-top:var(--s2)}

.form{display:flex;flex-direction:column;gap:var(--s4);max-width:560px}
.form label{display:block;font-weight:700;font-size:var(--t-14);margin-bottom:var(--s1)}
.form label span{font-weight:400;color:var(--ink-2)}
.form input,.form textarea{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:var(--r);padding:10px 12px;min-height:44px}
.form textarea{resize:vertical}
.form input:focus-visible,.form textarea:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.send h3{font-size:var(--t-14);font-weight:700}
.send address{font-style:normal}

.search{margin-bottom:var(--s3)}
.results-list{list-style:none;border-top:1px solid var(--ink);margin:var(--s4) 0 var(--s16)}
.results-list li{padding:var(--s4) 0;border-bottom:1px solid var(--grid)}
.results-list li a{font-weight:700;font-size:var(--t-20)}
.results-list li p{color:var(--ink-2);max-width:68ch;margin-top:var(--s1)}

.manual{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8);margin:var(--s10) 0 var(--s16)}
.manual img{width:100%;height:auto;border:1px solid var(--grid)}
.hub{list-style:none;border-top:1px solid var(--ink);margin-bottom:var(--s16);max-width:480px}
.hub li{border-bottom:1px solid var(--grid)}
.hub a{display:block;padding:var(--s3) 0;font-weight:700}
address.lead{font-style:normal}

@media (max-width:900px){
  .post{grid-template-columns:minmax(0,1fr)}
  .post .pm{grid-row:auto;flex-direction:row;gap:var(--s3);margin-bottom:var(--s2)}
  .meta{position:static}
  .areas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .pairs{grid-template-columns:minmax(0,1fr)}
  .pairs dt{border-bottom:0;padding-bottom:0}
  .manual{grid-template-columns:minmax(0,1fr)}
  .pagehead{padding-block:var(--s8)}
}

@media (max-width:560px){
  .tlist thead{display:none}
  .tlist tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--grid)}
  .tlist th,.tlist td{border:0;padding:0}
  .tlist tbody th{white-space:normal}
  .tlist td:last-child{grid-column:1/-1;color:var(--ink-2);font-size:var(--t-14);margin-top:2px}
}
