
/* ---------- faces ---------- */
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader.woff2) format("woff2-variations");
 font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-italic.woff2) format("woff2-variations");
 font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/plexmono.woff2) format("woff2");
 font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/plexmono-500.woff2) format("woff2");
 font-weight:500;font-style:normal;font-display:swap}

:root{
 --paper:#FBFAF7;      /* stock, not white */
 --panel:#F3F0E9;      /* second surface — exhibits, pull-quotes */
 --ink:#17191D;
 --mid:#565A61;
 --soft:#8C8E92;
 --hair:#E2DED5;
 --rule:#C9C4B8;
 --acc:#8E1B2C;        /* oxblood */
 --slot:#B08C1E;
 --dark:#17191D;
 --ser:"Newsreader",Palatino,"Iowan Old Style",Georgia,serif;
 --mono:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ser);
 font-size:18.5px;line-height:1.62;font-weight:380;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
 font-feature-settings:"kern" 1,"liga" 1,"onum" 1}
a{color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--s5)}
.lbl,.mono,.rl,.cap,.ul,.role,.mastr,.navin,.num,.auth,.meta,.fin,.flinks,th,.crumb,.step,.fld label{
 font-family:var(--mono);font-feature-settings:"kern" 1}

/* ---------- masthead ---------- */
.mast{border-bottom:1px solid var(--rule);background:var(--paper)}
.mastin{max-width:1280px;margin:0 auto;padding:var(--s4) var(--s5) var(--s3);
 display:grid;grid-template-columns:1fr auto;gap:var(--s5);align-items:end}
.name{font-family:var(--ser);font-size:40px;font-weight:420;line-height:1;letter-spacing:-.02em;margin:0}
.name a{text-decoration:none}
.role{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin-top:14px}
.mastr{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);
 text-align:right;line-height:2.2}
.mastr a{text-decoration:none}
.navbar{border-bottom:1px solid var(--hair)}
.navin{max-width:1280px;margin:0 auto;padding:14px var(--s5);display:flex;flex-wrap:wrap;gap:var(--s4);
 font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.navin a{color:var(--mid);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.navin a:hover{color:var(--acc)}
.navin a[aria-current]{color:var(--ink);border-bottom-color:var(--acc)}
/* the only nav item that is a request rather than a destination */
.navin a.nav-join{color:var(--acc);font-family:var(--mono)}
.navin a.nav-join:hover{color:var(--acc);border-bottom-color:var(--acc)}
.navin a.nav-join[aria-current]{color:var(--acc);border-bottom-color:var(--acc)}
.flinks a.nav-join{color:#C4808C}
.flinks a.nav-join:hover{color:var(--acc)}

/* ---------- opening ---------- */
.state{max-width:1280px;margin:0 auto;padding:var(--s7) var(--s5) var(--s6);
 border-bottom:1px solid var(--rule)}
/* on the home page the hero carries the h1, so the premise below it sits quieter */
.state.demoted{padding-top:var(--s5);padding-bottom:var(--s5)}
.state.demoted p:first-of-type{font-size:19px;line-height:1.66;color:#2E3238}
.state .lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);
 margin-bottom:var(--s3);display:block}
.state h1,.premise-h{font-family:var(--ser);font-size:clamp(30px,3.9vw,46px);line-height:1.12;
 font-weight:400;letter-spacing:-.028em;margin:0 0 var(--s4);max-width:16em;border:0;padding:0}
.state p{margin:0 0 var(--s2);color:#2E3238;max-width:34em;font-size:19px;line-height:1.68}
.state p:first-of-type{font-size:21px;line-height:1.58;color:var(--ink)}
.pf{margin:0;padding:0}
.pf img{width:100%;height:auto;display:block;filter:saturate(.92) contrast(1.03);
 box-shadow:0 1px 2px rgba(23,25,29,.10),0 12px 32px -12px rgba(23,25,29,.28)}
.pf figcaption{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--soft);padding:14px 0 0;line-height:2}

/* ---------- shell ---------- */
.shell{max-width:1280px;margin:0 auto;padding:0 var(--s5);display:grid;
 grid-template-columns:150px 1fr;gap:var(--s7);align-items:start}
.rail{position:sticky;top:0;padding:var(--s6) 0 var(--s5)}
.rail .rl{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);
 margin-bottom:var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--rule)}
.rail a{display:block;font-size:15px;line-height:1.3;color:var(--mid);padding:11px 0;
 border-bottom:1px solid var(--hair);text-decoration:none}
.rail a:hover{color:var(--acc)}
.rail a i{display:block;font-family:var(--mono);font-style:normal;font-size:9.5px;
 letter-spacing:.16em;color:var(--soft);margin-bottom:4px}
.main{padding:var(--s6) 0 0;min-width:0}

/* ---------- group heads ---------- */
.grp{scroll-margin-top:var(--s3);margin-bottom:var(--s5)}
.ghead{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--s3);
 border-bottom:2px solid var(--ink);padding-bottom:var(--s2);margin-bottom:var(--s2)}
.ghead i{font-family:var(--ser);font-style:normal;font-size:46px;font-weight:300;line-height:.9;
 color:var(--acc);opacity:.9;letter-spacing:-.02em}
.ghead h2{font-family:var(--ser);font-size:30px;font-weight:400;letter-spacing:-.02em;margin:0}

/* ---------- entries ---------- */
.e{display:grid;grid-template-columns:1fr;padding:var(--s5) 0;border-bottom:1px solid var(--hair)}
.e:not(.has){grid-template-columns:96px 1fr;gap:var(--s4)}
.e:not(.has)::before{content:attr(data-n);font-family:var(--ser);font-size:60px;font-weight:300;
 line-height:.85;color:var(--acc);opacity:.16;letter-spacing:-.04em;font-variant-numeric:lining-nums}
.e:not(.has) .num{display:none}
.e:last-child{border-bottom:0}
/* entries carrying an exhibit get the panel treatment — this is the rhythm */
.e.has{grid-template-columns:1fr 340px;gap:var(--s6);align-items:start;
 background:linear-gradient(90deg,transparent 0 58%,var(--panel) 58% 100%);
 padding:var(--s5) var(--s4) var(--s5) 0;margin-right:calc(var(--s4) * -1);
 border-radius:2px}
.e .num{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--acc);
 margin-bottom:var(--s2);font-weight:500}
.e h3{font-family:var(--ser);font-size:27px;font-weight:400;letter-spacing:-.02em;margin:0 0 var(--s2);
 line-height:1.18;max-width:16em}
.e h3 a{text-decoration:none;background-image:linear-gradient(var(--acc),var(--acc));
 background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.e h3 a:hover{color:var(--acc);background-size:100% 1px}
.auth{font-size:11px;line-height:1.7;color:var(--mid);letter-spacing:.02em;
 display:inline-block;padding:0 0 0 12px;margin-bottom:var(--s3);border-left:2px solid var(--acc)}
.auth.none{border-left-color:var(--hair);color:var(--soft)}
.does{margin:0 0 var(--s3);color:#2E3238;max-width:36em;font-size:18.5px}
.used{font-size:16px;line-height:1.62;color:var(--mid);border-top:1px solid var(--hair);
 padding-top:var(--s2);max-width:38em}
.used b{color:var(--ink);font-weight:600}
.ul{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
 color:var(--soft);margin-bottom:var(--s1)}
.more{display:inline-block;margin-top:var(--s3);font-family:var(--mono);font-size:10px;
 letter-spacing:.18em;text-transform:uppercase;color:var(--acc);text-decoration:none;
 border-bottom:1px solid var(--acc);padding-bottom:3px;opacity:.85}
.more:hover{opacity:1}

/* ---------- exhibits ---------- */
.fig{margin:0}
.fig img{width:100%;height:auto;display:block;background:#fff;
 filter:contrast(1.14) brightness(1.04) saturate(.6);
 box-shadow:0 1px 2px rgba(23,25,29,.12),0 18px 40px -16px rgba(23,25,29,.34)}
.cap{font-family:var(--mono);font-size:9.5px;line-height:1.9;letter-spacing:.09em;
 text-transform:uppercase;color:var(--soft);margin:14px 0 0}
.exlbl{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
 color:var(--acc);margin:0 0 12px;font-weight:500}
.slotbox{border:1px dashed var(--slot);background:#FDFBF1;aspect-ratio:76/98;
 display:flex;align-items:center;justify-content:center;text-align:center;
 font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
 color:#8A6D0B;line-height:2.4}

/* ---------- article pages ---------- */
.crumb{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);
 padding:var(--s3) 0 0;max-width:1280px;margin:0 auto}
.crumb a{color:var(--soft);text-decoration:none}
.crumb a:hover{color:var(--acc)}
.art{max-width:1280px;margin:0 auto;padding:var(--s3) var(--s5) 0;display:grid;
 grid-template-columns:1fr 300px;gap:var(--s7);align-items:start}
.art h1{font-family:var(--ser);font-size:clamp(30px,3.6vw,44px);line-height:1.12;font-weight:400;
 letter-spacing:-.028em;margin:0 0 var(--s3);max-width:15em}
.ans{border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);background:transparent;
 padding:var(--s3) 0 var(--s4);margin:0 0 var(--s5);max-width:38em}
.ans .h{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--acc);margin-bottom:var(--s2)}
.ans p{margin:0;font-size:22px;line-height:1.5;color:var(--ink);font-weight:380;letter-spacing:-.008em}
.art h2{font-family:var(--ser);font-size:26px;font-weight:400;letter-spacing:-.02em;
 margin:var(--s6) 0 var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--rule);max-width:38em}
.art h3{font-family:var(--ser);font-size:21px;font-weight:500;margin:var(--s4) 0 var(--s1)}
.art p{margin:0 0 var(--s2);color:#2E3238;max-width:36em}
.art ul,.art ol{margin:0 0 var(--s3);padding-left:22px;max-width:36em}
.art li{margin-bottom:12px;color:#2E3238}
.art ol{counter-reset:pu;list-style:none;padding-left:0}
.art ol>li{counter-increment:pu;position:relative;padding-left:38px}
.art ol>li::before{content:counter(pu,decimal-leading-zero);position:absolute;left:0;top:2px;
 font-family:var(--mono);font-size:10.5px;color:var(--acc);letter-spacing:.08em}
blockquote.rule{margin:0 0 var(--s3);padding:var(--s3) var(--s4);background:var(--panel);
 border-left:3px solid var(--acc);font-family:var(--ser);font-size:20px;line-height:1.52;
 color:var(--ink);max-width:38em;font-style:italic;font-weight:380}
blockquote.rule cite{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
 text-transform:uppercase;color:var(--mid);font-style:normal;margin-top:var(--s2)}
.side{position:sticky;top:var(--s3);padding-top:var(--s4)}
.side .blk{border-top:2px solid var(--ink);padding:var(--s2) 0 var(--s4)}
.side .h{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--soft);margin-bottom:var(--s2)}
.side a{display:block;font-size:16px;line-height:1.32;color:var(--mid);padding:10px 0;
 border-bottom:1px solid var(--hair);text-decoration:none}
.side a:hover{color:var(--acc)}
.side p{font-size:15.5px;color:var(--mid);margin:0 0 var(--s2)}
.side .cta{display:inline-block;background:var(--ink);color:var(--paper);font-family:var(--mono);
 font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:14px 20px;
 text-decoration:none;margin-top:var(--s1);border-bottom:0}
.side .cta:hover{background:var(--acc);color:#fff}

/* ---------- exhibit block on article pages ---------- */
.ex{display:grid;grid-template-columns:330px 1fr;gap:var(--s5);margin:var(--s3) 0 var(--s4);
 align-items:start;background:var(--panel);padding:var(--s4);border-radius:2px}
.ex .doc{font-family:var(--mono);font-size:12px;line-height:1.95;color:#2E3238;
 background:#fff;border:1px solid var(--hair);padding:var(--s4);white-space:pre-wrap;margin:0;
 box-shadow:0 1px 2px rgba(23,25,29,.06)}
.ex .meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
 color:var(--soft);line-height:2;margin:var(--s2) 0 0}

/* ---------- faq ---------- */
.faq{border-top:2px solid var(--ink);margin-top:var(--s6);padding-top:var(--s1);max-width:40em}
.faq .q{font-family:var(--ser);font-size:21px;font-weight:500;margin:var(--s4) 0 var(--s1)}
.faq .a{margin:0;color:#2E3238;max-width:36em}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:17px}
th{text-align:left;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--soft);font-weight:400;padding:0 0 12px;border-bottom:1.5px solid var(--ink)}
td{padding:var(--s3) 0;border-bottom:1px solid var(--hair);vertical-align:top;color:var(--mid)}
td.t{color:var(--ink);font-weight:600;width:20%;padding-right:var(--s3)}
td.d{width:44%;padding-right:var(--s3)}
td.n{text-align:right;white-space:nowrap;color:var(--ink);font-weight:500;font-family:var(--mono);
 font-size:14px;font-variant-numeric:tabular-nums}
.awd{margin-top:var(--s4);border-left:3px solid var(--acc);background:var(--panel);
 padding:var(--s4)}
.awd .lb{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--soft);margin-bottom:var(--s2)}
.awd .r{display:grid;grid-template-columns:1fr auto;gap:var(--s3);padding:14px 0;
 border-bottom:1px solid var(--hair);align-items:baseline}
.awd .r:last-of-type{border-bottom:0}
.awd .r p{margin:0;font-size:16px;color:var(--mid)}
.awd .r b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}
.awd .r .a{font-family:var(--mono);font-size:16px;font-weight:500;color:var(--ink);white-space:nowrap;
 font-variant-numeric:tabular-nums}

/* ---------- sections ---------- */
.sec{max-width:1280px;margin:0 auto;padding:var(--s6) var(--s5);display:grid;
 grid-template-columns:150px 1fr;gap:var(--s7);border-bottom:1px solid var(--rule)}
.sec .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
 color:var(--acc);padding-top:10px}
.sec h2{font-family:var(--ser);font-size:34px;font-weight:400;letter-spacing:-.025em;
 margin:0 0 var(--s3);max-width:16em;line-height:1.16}
.sec p{margin:0 0 var(--s2);color:#2E3238;max-width:36em}

/* the dark band gives the page a spine */
.band{background:var(--dark);color:#E4E2DD;border:0;margin-top:var(--s5)}
.band .sec{border-bottom:0}
.band .lbl{color:#C4808C}
.band h2{color:#FBFAF7;font-size:38px;max-width:14em}
.band p{color:#B4B2AE;max-width:38em;font-size:18.5px}
.band em{color:#FBFAF7;font-style:italic}

/* ---------- intake ---------- */
.int{background:var(--dark);color:#E4E2DD;border-top:1px solid #2A2D33}
.intin{max-width:1280px;margin:0 auto;padding:var(--s6) var(--s5);
 display:grid;grid-template-columns:150px 1fr;gap:var(--s7)}
.intin .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
 color:#C4808C;padding-top:10px}
/* on /send/ the same heading is the page's h1 — one rule, either level */
.int h1,.int h2{font-family:var(--ser);font-size:34px;font-weight:400;letter-spacing:-.025em;
 margin:0 0 var(--s3);color:#FBFAF7}
.int p.i{margin:0 0 var(--s4);color:#B4B2AE;max-width:36em}
.int p.i a{color:#E4E2DD}
.step{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#8C8E92;
 margin:var(--s4) 0 var(--s2);padding-top:var(--s2);border-top:1px solid rgba(255,255,255,.14)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}
.fld label{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
 color:#8C8E92;margin-bottom:var(--s1)}
.fld input,.fld textarea,.fld select{width:100%;background:rgba(255,255,255,.045);
 border:1px solid rgba(255,255,255,.16);padding:13px 14px;font-size:16px;color:#fff;
 font-family:var(--ser);min-height:46px;border-radius:0}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:0;border-color:#C4808C;
 background:rgba(255,255,255,.07)}
.fld textarea{min-height:88px;resize:vertical}
.fld.w{grid-column:span 3}
.drop{grid-column:span 3;border:1px dashed rgba(255,255,255,.28);background:rgba(255,255,255,.03);
 padding:var(--s4);text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
 text-transform:uppercase;color:#B4B2AE;line-height:2.2}
.drop input{opacity:0;position:absolute;width:1px;height:1px}
.drop label{cursor:pointer;color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.chk{grid-column:span 3;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;
 padding-top:var(--s1)}
.chk input{margin-top:7px}
.chk span,.chk label{font-size:15px;color:#B4B2AE;line-height:1.6}
.chk label{cursor:pointer}
.go{display:inline-block;margin-top:var(--s3);background:#FBFAF7;color:var(--ink);border:0;
 font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
 padding:16px 26px;font-weight:500;cursor:pointer}
.go:hover{background:#C4808C;color:#fff}
.warn{font-size:14px;color:#85878B;margin-top:var(--s3);max-width:46em;line-height:1.62}

/* ---------- footer ---------- */
footer{max-width:1280px;margin:0 auto;padding:var(--s5) var(--s5) var(--s6)}
.frow{display:grid;grid-template-columns:150px 1fr;gap:var(--s7)}
.fin{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);
 line-height:2.2;margin-bottom:var(--s3)}
.fin a{text-decoration:none}
.fdis{font-size:13.5px;color:var(--soft);line-height:1.66;max-width:50em;margin:0}
.flinks{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);
 margin:0 0 var(--s2)}
.flinks a{color:var(--soft);text-decoration:none;margin-right:var(--s3)}
.flinks a:hover{color:var(--acc)}



/* ---------- masthead as a mark, not a signature ---------- */
.markwrap{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap}
.mark{font-family:var(--mono);font-size:15px;font-weight:500;letter-spacing:.34em;
 text-transform:uppercase;color:var(--ink);text-decoration:none;padding-right:2px}
.mast .role{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
 color:var(--soft);margin:0}
.mastr{display:flex;align-items:center;gap:var(--s3);text-align:right}
.status{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--ok);display:inline-flex;align-items:center;gap:8px}
.status i{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;
 box-shadow:0 0 0 3px rgba(31,111,67,.15)}

/* ---------- hero: dark is the machine ---------- */
.hero{background:var(--dark);color:#E4E2DD;border-bottom:1px solid #2A2D33}
.heroin{max-width:1280px;margin:0 auto;padding:var(--s7) var(--s5) var(--s6);
 display:grid;grid-template-columns:1fr 400px;gap:var(--s7);align-items:start}
.hlbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
 color:#C4808C;margin-bottom:var(--s3)}
.hero h1{font-family:var(--ser);font-size:clamp(32px,4.3vw,52px);line-height:1.08;font-weight:400;
 letter-spacing:-.03em;margin:0 0 var(--s3);color:#FBFAF7;max-width:15em}
.hsub{font-size:19px;line-height:1.6;color:#A9AEB6;max-width:34em;margin:0 0 var(--s5)}
.heroform .drop{border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.04);
 padding:var(--s5) var(--s4);text-align:center;font-family:var(--mono);font-size:10px;
 letter-spacing:.14em;text-transform:uppercase;color:#B4B2AE;line-height:2.2}
.heroform .drop label{cursor:pointer;color:#fff;font-size:13px;letter-spacing:.12em;
 border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}
.heroform .drop input[type=file]{opacity:0;position:absolute;width:1px;height:1px}
.heroform .rest{margin-top:var(--s4)}
.hero .hcta{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-top:var(--s2)}
.hero .hcta a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
 text-decoration:none;color:#FBFAF7;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}
.hero .hcta a.solid{background:var(--acc);border:0;padding:13px 22px;color:#fff}
.hero .hcta a.solid:hover{background:#A62234}
.hero .hcta a:hover{border-bottom-color:#C4808C}

/* ---------- the specimen: show the deliverable ---------- */
.spec{position:sticky;top:var(--s3)}
.speclbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
 color:#8C8E92;margin-bottom:var(--s2)}
.speccard{background:#FBFAF7;color:var(--ink);padding:var(--s2) var(--s4) var(--s3);
 box-shadow:0 1px 2px rgba(0,0,0,.3),0 24px 48px -20px rgba(0,0,0,.7);position:relative}
.specstamp{font-family:var(--mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;
 color:var(--acc);border-bottom:1px solid var(--hair);padding:0 0 12px;margin:0 0 4px;
 display:flex;align-items:center;gap:8px}
.specstamp::before{content:"";width:6px;height:6px;background:var(--acc);border-radius:50%;
 flex:0 0 auto}
.specrow{display:grid;grid-template-columns:1fr;gap:3px;padding:12px 0;
 border-bottom:1px solid var(--hair)}
.specrow:last-child{border-bottom:0}
.specrow span{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--soft)}
.specrow b{font-family:var(--ser);font-size:16px;font-weight:500;line-height:1.35;letter-spacing:-.01em}
.specrow b.urgent{color:var(--acc)}
.specnote{font-family:var(--mono);font-size:9.5px;line-height:1.9;letter-spacing:.06em;
 text-transform:uppercase;color:#7E848C;margin:var(--s2) 0 0}

/* ---------- network application ---------- */
.napp{background:var(--dark);color:#E4E2DD;border-top:1px solid #2A2D33}
.nappin{max-width:1280px;margin:0 auto;padding:var(--s6) var(--s5)}
.nsteps{display:flex;gap:var(--s4);flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;
 letter-spacing:.18em;text-transform:uppercase;color:#5E636B;
 border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:var(--s3);margin-bottom:var(--s5)}
.nsteps b{font-weight:400;display:flex;align-items:center;gap:9px}
.nsteps b::before{content:"";width:6px;height:6px;border-radius:50%;background:#3A3E45}
.nsteps b.on{color:#FBFAF7}
.nsteps b.on::before{background:var(--acc);box-shadow:0 0 0 3px rgba(142,27,44,.28)}
.nsteps b.done{color:#8C9299}
.nsteps b.done::before{background:#1F6F43}
.npane{display:none}
.npane.on{display:block}
.npane h2{font-family:var(--ser);font-size:32px;font-weight:400;letter-spacing:-.025em;
 margin:0 0 var(--s2);color:#FBFAF7}
.npane p.i{margin:0 0 var(--s4);color:#B4B2AE;max-width:40em}
.nrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);max-width:44em}
.nrow.one{grid-template-columns:1fr}
.nfld label{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;
 text-transform:uppercase;color:#8C9299;margin-bottom:9px}
.nfld input,.nfld textarea{width:100%;background:rgba(255,255,255,.05);color:#FBFAF7;
 border:1px solid rgba(255,255,255,.18);padding:13px 14px;font-family:var(--ser);font-size:17px}
.nfld textarea{min-height:88px;resize:vertical}
.nfld input:focus,.nfld textarea:focus{outline:2px solid #C4808C;outline-offset:1px}
.nbtn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
 background:var(--acc);color:#fff;border:0;padding:14px 24px;cursor:pointer}
.nbtn:hover{background:#A62234}
.nbtn[disabled]{opacity:.5;cursor:default}
.nbtn.ghost{background:transparent;color:#B4B2AE;border-bottom:1px solid rgba(255,255,255,.35);
 padding:8px 0;margin-left:var(--s3)}
.nbtn.ghost:hover{background:transparent;color:#fff}
.nacts{margin-top:var(--s4);display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2)}
.nerr{margin-top:var(--s3);padding:13px 16px;border-left:2px solid #C4808C;
 background:rgba(196,128,140,.1);font-size:15px;line-height:1.6;color:#E8D8DA;max-width:44em}
.nwait{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
 color:#8C9299;margin-top:var(--s3)}
/* the found profile */
.ncard{background:#FBFAF7;color:var(--ink);padding:var(--s3) var(--s4) var(--s4);max-width:44em;
 box-shadow:0 24px 48px -24px rgba(0,0,0,.7)}
.ncard .vh{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
 display:flex;align-items:center;gap:8px;padding-bottom:11px;margin-bottom:var(--s2);
 border-bottom:1px solid var(--hair);color:#1F6F43}
.ncard .vh::before{content:"";width:6px;height:6px;border-radius:50%;background:#1F6F43}
.ncard .vh.un{color:var(--slot)}
.ncard .vh.un::before{background:var(--slot)}
.ncard .nr{display:grid;grid-template-columns:135px 1fr;gap:var(--s3);padding:9px 0;
 border-bottom:1px solid var(--hair);align-items:baseline}
.ncard .nr:last-child{border-bottom:0}
.ncard .nr span{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;
 color:var(--soft)}
.ncard .nr b{font-family:var(--ser);font-size:17px;font-weight:500;letter-spacing:-.01em}
.ncard .un-block{margin-top:var(--s4)}
.nfine{font-family:var(--mono);font-size:9.5px;line-height:1.9;letter-spacing:.05em;
 text-transform:uppercase;color:#7E848C;margin:var(--s3) 0 0;max-width:44em}
.ndrop{border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.04);
 padding:var(--s4);max-width:44em;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
 text-transform:uppercase;color:#B4B2AE;line-height:2.2;text-align:center}
.ndrop label{cursor:pointer;color:#fff;font-size:13px;letter-spacing:.12em;
 border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}
.ndrop input[type=file]{opacity:0;position:absolute;width:1px;height:1px}
.ncal{background:#FBFAF7;padding:var(--s2);margin-top:var(--s3);min-height:560px}
.ncal iframe{width:100%;min-height:560px;border:0;display:block}
@media(max-width:760px){
 .nrow{grid-template-columns:1fr}
 .ncard .nr{grid-template-columns:1fr;gap:3px}
}

/* ---------- metrics strip ---------- */
.metrics{border-top:1px solid #2A2D33;background:#101215}
.metrics.paper{background:var(--paper);border-top:0;border-bottom:1px solid var(--rule)}
.metrics.paper .m b{color:var(--ink)}
.metrics.paper .m span{color:var(--mid)}
.metrics.paper .m.pending b{color:var(--acc)}
.hmach{font-family:var(--ser);font-size:clamp(30px,4vw,48px);line-height:1.08;font-weight:400;
 letter-spacing:-.03em;margin:0 0 var(--s3);color:#FBFAF7;max-width:15em;border:0;padding:0}
.metricsin{max-width:1280px;margin:0 auto;padding:var(--s4) var(--s5);
 display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.metricsin .m b{display:block;font-family:var(--mono);font-size:30px;letter-spacing:-.03em;
 color:#FBFAF7;line-height:1}
.metricsin .m span{display:block;font-size:13.5px;color:#85878B;margin-top:10px;line-height:1.5}
.metricsin .m.pending b{color:#C4808C;font-size:22px}
/* a word rather than a numeral wants less weight than a tabular figure */
.metricsin .m.word b{font-size:19px;letter-spacing:.04em;padding-top:9px}

/* ---------- symptom router ---------- */
.router{border-bottom:1px solid var(--rule);background:var(--panel)}
.routerin{max-width:1280px;margin:0 auto;padding:var(--s6) var(--s5);display:grid;
 grid-template-columns:150px 1fr;gap:var(--s7)}
.routerin .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
 color:var(--acc);padding-top:10px}
.router h2{font-family:var(--ser);font-size:34px;font-weight:400;letter-spacing:-.025em;margin:0 0 var(--s2)}
.router .ri{margin:0 0 var(--s4);color:#2E3238;max-width:34em}
.rtgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);
 border:1px solid var(--rule)}
.rt{display:block;background:var(--paper);padding:var(--s3);text-decoration:none;
 transition:background .15s}
.rt:hover{background:#fff}
.rt b{display:block;font-family:var(--ser);font-size:19px;font-weight:500;letter-spacing:-.012em;
 color:var(--ink);margin-bottom:6px;line-height:1.25}
.rt:hover b{color:var(--acc)}
.rt span{display:block;font-size:15px;color:var(--mid);line-height:1.5}
.rmore{margin:var(--s3) 0 0;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
 text-transform:uppercase}
.rmore a{color:var(--acc);text-decoration:none}

/* ---------- intake, inverted ---------- */
.dropname{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
 color:#A9AEB6;margin-top:10px}

/* ---------- attached files ----------
   Attaching a document used to replace the hint text with a filename in 10px
   uppercase mono, which is indistinguishable from the hint it replaced. A
   visitor could not tell whether the attachment had taken. Each file now gets a
   row of its own it can be removed from. */
.filelist{list-style:none;margin:var(--s3) 0 0;padding:0;text-align:left}
.filelist li{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);
 border:1px solid rgba(255,255,255,.18);padding:11px 12px;margin-top:8px}
.filelist li:first-child{margin-top:0}
.filelist svg{flex:0 0 auto;color:#C4808C}
.filelist .fn{font-family:var(--ser);font-size:15.5px;color:#FBFAF7;text-transform:none;
 letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;
 text-align:left}
.filelist .fsz{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:#8C9299;
 flex:0 0 auto}
.filelist .rm{flex:0 0 auto;background:none;border:0;color:#8C9299;font-size:20px;line-height:1;
 cursor:pointer;padding:0 2px}
.filelist .rm:hover{color:#fff}
.filelist .rm:focus-visible{outline:2px solid #C4808C;outline-offset:2px}
.drop.over,.ndrop.over{border-color:#C4808C;background:rgba(196,128,140,.1)}
.nofile{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10px;
 letter-spacing:.12em;text-transform:uppercase;color:#C4808C;text-decoration:none;
 border-bottom:1px solid rgba(196,128,140,.5);padding-bottom:2px}
#intake .rest{margin-top:var(--s4)}
#intake.collapsed .rest{display:none}
#intake.collapsed.engaged .rest{display:block}
#posture-note{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
 color:#C4808C;border-left:2px solid #C4808C;padding:8px 14px;margin:0 0 var(--s3)}
.int .drop{grid-column:auto;margin-bottom:0}

/* ---------- triage tool ---------- */
.tset{border:0;border-top:1px solid var(--hair);padding:var(--s4) 0 var(--s2);margin:0}
.tset legend{font-family:var(--ser);font-size:21px;font-weight:500;letter-spacing:-.012em;
 padding:0 0 var(--s2);color:var(--ink)}
.tset legend i{font-family:var(--mono);font-style:normal;font-size:10.5px;letter-spacing:.14em;
 color:var(--acc);margin-right:14px}
.tq{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:11px 0;
 cursor:pointer;border-bottom:1px solid var(--hair)}
.tq:last-child{border-bottom:0}
.tq input{margin-top:7px;accent-color:var(--acc)}
.tq span{font-size:17px;color:#2E3238}
.tq:hover span{color:var(--ink)}
.tres{border-left:3px solid var(--rule);background:var(--panel);padding:var(--s4);
 margin:var(--s5) 0 var(--s3)}
.tres h3{font-family:var(--ser);font-size:26px;font-weight:400;letter-spacing:-.02em;margin:0 0 var(--s2)}
.tres p{margin:0 0 var(--s2);color:#2E3238}
.tres.t-ok{border-left-color:var(--ok);background:#F3F8F4}
.tres.t-warn{border-left-color:var(--warn);background:#FFFCF2}
.tres.t-no{border-left-color:var(--acc);background:#FCF4F5}
.tlinks{margin:0;display:flex;flex-wrap:wrap;gap:0 var(--s3)}
.tlinks a{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
 color:var(--acc);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* ---------- tokens the sheet already used but never declared ---------- */
/* --ok and --warn are referenced by .status (masthead) and .tres (triage tool).
   Declared here rather than in the :root block above so the two are additive. */
:root{--ok:#1F6F43; --warn:#8A6A12}

/* ---------- skip link + focus ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--ink);color:var(--paper);
 font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
 padding:12px 18px;text-decoration:none}
.skip:focus{left:0}
#content{scroll-margin-top:0}
#content:focus{outline:0}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.intake-form :focus-visible{outline-color:#C4808C}
.drop input[type=file]:focus-visible+label{outline:2px solid #C4808C;outline-offset:4px}
button.nofile{background:none;border:0;padding:0 0 2px;cursor:pointer;font-size:10px}

/* entry and result titles carry the same face whichever level the outline needs */
.e h2{font-family:var(--ser);font-size:27px;font-weight:400;letter-spacing:-.02em;margin:0 0 var(--s2);
 line-height:1.18;max-width:16em}
.e h2 a{text-decoration:none;background-image:linear-gradient(var(--acc),var(--acc));
 background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.e h2 a:hover{color:var(--acc);background-size:100% 1px}
.tres h2{font-family:var(--ser);font-size:26px;font-weight:400;letter-spacing:-.02em;margin:0 0 var(--s2)}

/* ---------- intake: submission states ---------- */
.fmsg{margin:var(--s3) 0 0;padding:14px 18px;border-left:2px solid #8C8E92;
 background:rgba(255,255,255,.05);font-size:15px;line-height:1.6;color:#D6D4CF;max-width:46em}
.fmsg a{color:#fff}
.fmsg.is-working{border-left-color:#C4808C;color:#B4B2AE}
.fmsg.is-ok{border-left-color:var(--ok);background:rgba(31,111,67,.14);color:#E4E2DD}
.fmsg.is-err{border-left-color:#C4808C;background:rgba(196,128,140,.12);color:#F0DEE1}
/* not-open-yet is not a failure and should not be dressed as one */
.fmsg.is-closed{border-left-color:var(--slot);background:rgba(176,140,30,.12);color:#EFE6CE}
.fmsg b{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
 display:block;margin-bottom:6px;font-weight:500}
.intake-form.is-sending .go{opacity:.5;pointer-events:none}
.intake-form.is-sent .go{display:none}
.intake-form .nojs{margin:var(--s3) 0 0;padding:14px 18px;border-left:2px solid #C4808C;
 font-size:15px;line-height:1.6;color:#B4B2AE;max-width:46em}
.intake-form .nojs a{color:#fff}

@media(max-width:1080px){
 .state,.shell,.sec,.intin,.frow,.art,.ex,.routerin,.heroin{grid-template-columns:1fr;gap:var(--s4)}
 .metricsin{grid-template-columns:repeat(2,1fr);gap:var(--s3)}
 .spec{position:static}
 .rtgrid{grid-template-columns:1fr}
 .state{padding-top:var(--s6)}
 .pf{max-width:240px}
 .rail{position:static;padding:var(--s4) 0 0;display:flex;flex-wrap:wrap;gap:0 var(--s3)}
 .rail .rl{width:100%;margin-bottom:var(--s1);border:0}
 .rail a{border-bottom:0;padding:5px 0;font-size:14px}
 .rail a i{display:inline;margin-right:8px}
 .main{padding-top:var(--s4)}
 .e.has{grid-template-columns:1fr;gap:var(--s4);background:var(--panel);padding:var(--s4);
   margin-right:0}
 .fig{max-width:320px}
 .ex{padding:var(--s3)}
 .grid{grid-template-columns:1fr}
 .fld.w,.drop,.chk{grid-column:span 1}
 .mastin{grid-template-columns:1fr;gap:var(--s2);align-items:start}
 .mastr{text-align:left}
 .side{position:static}
}
@media(max-width:660px){
 .wrap,.mastin,.navin,.state,.shell,.sec,.intin,footer,.art,.crumb{
   padding-left:var(--s3);padding-right:var(--s3)}
 body{font-size:17.5px}
 .ghead i{font-size:34px}
 td.t,td.d{width:auto}
 table,thead,tbody,tr,td,th{display:block;width:100%}
 th{display:none}
 td{border-bottom:0;padding:4px 0}
 tr{display:block;border-bottom:1px solid var(--hair);padding:var(--s2) 0}
 td.n{text-align:left;padding-top:var(--s1)}
}
