
/* ---------- 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}
.mast-portal{color:var(--portal);font-weight:500;border-bottom:1px solid rgba(31,95,111,.35);
 padding-bottom:1px}
.mast-portal:hover{color:var(--portal);border-bottom-color:var(--portal)}
.mast-counsel{color:var(--counsel);font-weight:500;border-bottom:1px solid rgba(75,46,131,.35);
 padding-bottom:1px}
.mast-counsel:hover{color:var(--counsel);border-bottom-color:var(--counsel)}
.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}
/* A price that is a decision rather than a rate. The badge marks it in the price
   column; the row under it carries the terms. Both are needed: the badge alone
   says "temporary" without saying until when or what it reverts to, and the row
   alone is missed by anyone scanning the right-hand column for a number. */
.offr{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;
 text-transform:uppercase;color:var(--ok);font-weight:500;margin-top:4px}
.offr-row td{border-bottom:1px solid var(--hair);padding-top:0}
.offr-row .d{font-size:14px;color:var(--mid);max-width:none}
/* A note attached to a verdict rather than a verdict of its own — the bond case
   above all, where the band alone ("worth a look") undersells the best fact on
   the page. Narrower rule, smaller type, same colour language. */
.tnote{border-left:3px solid var(--rule);padding:var(--s3) var(--s4);margin-top:var(--s2);
 font-size:15.5px}
.tnote p{margin:0;color:#2E3238}
.tnote.t-ok{border-left-color:var(--ok);background:#F3F8F4}
.tnote.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}
:root{--portal:#1F5F6F}   /* trustee login — 6.88:1 on --paper */
/* The second door, for outside counsel. Chosen by measurement rather than taste:
   9.97:1 on --paper, and separated from BOTH existing link colours under
   simulated deutan and tritan vision (worst all-pairs ΔE 10.8 deutan, 11.0
   tritan, 15.4 normal — the indigo and green candidates failed that test against
   the teal and the claret respectively). The two doors also differ in wording, so
   colour is never the only thing telling them apart. */
:root{--counsel:#4B2E83}  /* attorney door — 9.97:1 on --paper */

/* ---------- 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)}
}
