
/*  PR SUBMIT — "Assay"
    A: deep botanical green + amber, vial fills, ℞ label vernacular
    B: live instrument readout, drawing traces, sparklines, blinking index
    C: patient-chart structure, boxed grade stamps, numbered calculator panels
    Type: Archivo Narrow (labels/display) · Archivo (body) · IBM Plex Mono (all data)
          Instrument Serif italic for a single emphasis word, nothing else.        */
:root{
  --bg:#0B1614; --bg2:#0E1C19; --pan:#132422; --pan2:#172C28; --sunk:#0F201D;
  --ink:#F1EFE7; --body:#C6D2CD; --dim:#8CA09A; --faint:#5F7671;
  --rule:#1D3430; --rule2:#27443E;
  --amb:#E0A93B; --amb2:#F0C266;
  --grn:#39A88A; --cy:#45C8B8;
  --red:#D65A4B; --vio:#9A8FE0;
  --g-ap:#39A88A; --g-rc:#45C8B8; --g-eh:#9A8FE0; --g-an:#E0A93B; --g-iv:#7D918C; --g-fk:#D65A4B;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--body);font-family:"Archivo",system-ui,-apple-system,sans-serif;
  font-size:14.5px;line-height:1.58;-webkit-font-smoothing:antialiased}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}
.narrow{max-width:700px}
a{color:var(--cy);text-decoration:none}
a:hover{color:var(--amb2)}
h1,h2,h3,h4{color:var(--ink);font-family:"Archivo Narrow",sans-serif;font-weight:700;
  line-height:1.12;letter-spacing:-.005em}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
img{max-width:100%}
:focus-visible{outline:2px solid var(--amb);outline-offset:2px}
::selection{background:rgba(224,169,59,.28)}

/* ── masthead: pharmacy label ── */
.top{background:var(--bg2);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:60}
.top::after{content:"";display:block;height:3px;
  background:repeating-linear-gradient(90deg,var(--amb) 0 18px,var(--rule) 18px 36px);opacity:.55}
.top .bar{display:flex;align-items:center;height:50px}
.top .bar>*+*{margin-left:12px}
.brand{display:flex;align-items:center;color:var(--ink);font-family:"Archivo Narrow",sans-serif;
  font-weight:700;font-size:16.5px;letter-spacing:.01em;white-space:nowrap;min-width:0;overflow:hidden}
.brand:hover{color:var(--ink)}
.brand .orb{width:6px;height:6px;border-radius:50%;background:var(--grn);margin-right:8px;flex:none;
  animation:live 1.9s ease-in-out infinite}
@keyframes live{50%{opacity:.25}}
.brand small{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.16em;color:var(--faint);
  font-weight:400;text-transform:uppercase;margin-left:9px}
.spacer{flex:1}
.rxtag{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.14em;color:var(--dim);
  border:1px solid var(--rule2);padding:3px 7px;white-space:nowrap}
.burger{display:none;flex-direction:column;width:36px;height:32px;justify-content:center;align-items:center;
  background:var(--pan);border:1px solid var(--rule2);cursor:pointer}
.burger span{width:15px;height:1.5px;background:var(--ink);transition:.25s}
.burger span+span{margin-top:4px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ── index bar ── */
.tabbar{background:var(--bg2);border-bottom:1px solid var(--rule);position:sticky;top:53px;z-index:55}
.tabscroll{display:flex;overflow-x:auto;scrollbar-width:none;max-width:1020px;margin:0 auto;padding:0 20px}
.tabscroll::-webkit-scrollbar{display:none}
.tabscroll a{flex:none;padding:9px 13px;font-family:"IBM Plex Mono",monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.tabscroll a:hover{color:var(--ink)}
.tabscroll a[aria-current]{color:var(--amb);border-bottom-color:var(--amb)}

/* ── drawer ── */
.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;visibility:hidden}
.drawer .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(4,10,9,.7);opacity:0;transition:.25s}
.drawer .sheet{position:absolute;top:0;right:0;bottom:0;width:min(300px,84vw);background:var(--bg2);
  border-left:1px solid var(--rule2);transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);padding:16px 18px;overflow-y:auto}
.drawer.open{pointer-events:auto;visibility:visible}
.drawer.open .scrim{opacity:1}
.drawer.open .sheet{transform:translateX(0)}
.drawer h4{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;color:var(--amb);
  text-transform:uppercase;margin:18px 0 6px;font-weight:500}
.drawer a{display:block;padding:8px 0;color:var(--ink);font-size:14.5px;border-bottom:1px solid var(--rule)}
.drawer .close{background:var(--pan);border:1px solid var(--rule2);color:var(--ink);width:32px;height:32px;
  cursor:pointer;font-size:16px;float:right}

/* ── hero + SIGNATURE trace ── */
.hero{padding:24px 0 20px;background:var(--bg2);border-bottom:1px solid var(--rule);position:relative}
.kicker{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amb)}
.hero h1{font-size:clamp(24px,3.4vw,34px);margin:11px 0 8px;max-width:22ch;letter-spacing:-.015em}
.hero h1 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;
  color:var(--amb2);letter-spacing:0}
.hero .lead{font-size:14.5px;color:var(--dim);max-width:60ch}
.assay{width:100%;height:38px;margin:14px 0 2px;display:block;overflow:visible}
.cta{margin-top:14px;display:flex;flex-wrap:wrap}
.cta>*{margin:0 8px 8px 0}

/* ── search ── */
.bigsearch{position:relative;margin-top:14px;max-width:520px}
.bigsearch input{width:100%;background:var(--pan);border:1px solid var(--rule2);color:var(--ink);
  font-size:14.5px;padding:10px 13px 10px 34px;font-family:inherit}
.bigsearch input:focus{outline:none;border-color:var(--amb)}
.bigsearch .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--amb);
  font-family:"IBM Plex Mono",monospace;font-size:13px}
.chips{display:flex;flex-wrap:wrap;margin-top:9px;margin-right:-5px}
.chips>*{margin:0 5px 5px 0}
.chip{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.03em;padding:3px 8px;
  border:1px solid var(--rule2);background:var(--pan);color:var(--dim);cursor:pointer}
.chip:hover{border-color:var(--amb);color:var(--amb)}
#results{margin-top:14px}

/* ── sections ── */
section{padding:24px 0}
.shead{margin-bottom:12px;max-width:72ch}
.shead h2{font-size:20px;margin:5px 0 5px}
.shead p{color:var(--dim);font-size:13.5px}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amb)}

/* ── SIGNATURE: vial figures ── */
.stats{display:flex;flex-wrap:wrap;margin-top:16px;border:1px solid var(--rule)}
.stat{flex:1 1 120px;background:var(--pan);border-right:1px solid var(--rule);padding:12px 13px;
  position:relative;overflow:hidden}
.stat:last-child{border-right:0}
.stat::before{content:"";position:absolute;left:0;right:0;bottom:0;height:18%;
  background:linear-gradient(180deg,rgba(57,168,138,.30),rgba(57,168,138,.06));
  animation:vial 4.5s ease-in-out infinite alternate}
.stat:nth-child(2)::before{animation-delay:-1.5s;
  background:linear-gradient(180deg,rgba(224,169,59,.26),rgba(224,169,59,.05))}
.stat:nth-child(3)::before{animation-delay:-3s;
  background:linear-gradient(180deg,rgba(69,200,184,.24),rgba(69,200,184,.05))}
.stat:nth-child(4)::before{animation-delay:-2.2s;
  background:linear-gradient(180deg,rgba(214,90,75,.22),rgba(214,90,75,.05))}
@keyframes vial{from{height:14%}to{height:68%}}
.stat .n{font-family:"IBM Plex Mono",monospace;font-size:22px;font-weight:500;color:var(--ink);
  line-height:1;position:relative}
.stat .l{font-size:11px;color:var(--dim);margin-top:4px;line-height:1.35;position:relative}

/* ── cards ── */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));
  border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.card{background:var(--pan);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:13px 14px;display:block;color:inherit;position:relative;transition:background .18s}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--tc,var(--rule2))}
.card:hover{background:var(--pan2);color:inherit}
.card h3{font-size:15.5px;margin-bottom:2px}
.card .cls{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--faint)}
.card p{color:var(--dim);font-size:12.5px;margin-top:7px;line-height:1.5}

/* ── SIGNATURE: boxed grade stamp ── */
.ev{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;white-space:nowrap;padding:2px 7px;
  border:1px solid currentColor;line-height:1.4}
.ev i{display:none}
.ev.ap{color:var(--g-ap)}.ev.rc{color:var(--g-rc)}.ev.eh{color:var(--g-eh)}
.ev.an{color:var(--g-an)}.ev.iv{color:var(--g-iv)}.ev.fk{color:var(--g-fk)}

/* ── results table ── */
.row{display:flex;align-items:flex-start;background:var(--pan);border-bottom:1px solid var(--rule);
  padding:10px 12px;color:inherit}
.row:first-of-type{border-top:1px solid var(--rule)}
.row:hover{background:var(--pan2);color:inherit}
.row .nm{font-family:"Archivo Narrow",sans-serif;font-size:15.5px;font-weight:700;color:var(--ink)}
.row .sub{font-size:12px;color:var(--dim);margin-top:2px;line-height:1.45}
.row .rt{margin-left:auto;text-align:right;flex:none;padding-left:12px;padding-top:2px}
.empty{padding:24px 16px;color:var(--dim);border:1px dashed var(--rule2);background:var(--pan);font-size:13.5px}

/* ── prose ── */
.prose{max-width:64ch}
.prose h2{font-size:18.5px;margin:24px 0 7px;padding-bottom:5px;border-bottom:1px solid var(--rule);
  scroll-margin-top:110px}
.prose h2::before{content:"▌";color:var(--amb);margin-right:7px;font-size:13px}
.prose h3{font-size:15px;margin:15px 0 5px}
.prose p{margin-bottom:10px}
.prose ul,.prose ol{margin:0 0 11px 18px}
.prose li{margin-bottom:5px}
.prose strong{color:var(--ink);font-weight:600}
.note{background:var(--pan);border:1px solid var(--rule);border-left:2px solid var(--cy);
  padding:11px 13px;margin:13px 0;font-size:13.5px}
.note.amber{border-left-color:var(--amb)}
.note.red{border-left-color:var(--red)}
.note .lbl{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--amb);margin-bottom:5px}

/* ── monograph spec block ── */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));
  border:1px solid var(--rule);background:var(--pan);margin:16px 0}
.facts div{padding:9px 12px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.facts .k{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--faint)}
.facts .v{font-size:13px;margin-top:3px;color:var(--ink);line-height:1.4}
.srcs{border-top:1px solid var(--rule);margin-top:26px;padding-top:15px}
.srcs h3{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--amb);font-weight:500}
.srcs ol{margin:9px 0 0 18px;font-size:12.5px;color:var(--dim)}
.srcs li{margin-bottom:4px}
.tags{display:flex;flex-wrap:wrap;margin:9px -4px 5px 0}
.tags>*{margin:0 4px 4px 0}
.tag{font-family:"IBM Plex Mono",monospace;font-size:10.5px;padding:2px 7px;border:1px solid var(--rule2);
  background:var(--sunk);color:var(--dim)}
a.tag:hover{border-color:var(--amb);color:var(--amb)}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;background:var(--amb);color:#17120A;font-weight:600;
  font-family:"Archivo Narrow",sans-serif;font-size:14px;letter-spacing:.02em;padding:8px 15px;
  border:1px solid var(--amb);cursor:pointer;transition:.15s}
.btn:hover{background:var(--amb2);border-color:var(--amb2);color:#17120A}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule2)}
.btn.ghost:hover{border-color:var(--amb);color:var(--amb);background:transparent}
.btn.sm{padding:6px 11px;font-size:12.5px}

/* ── SIGNATURE: numbered calculator instruments ── */
.calcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.calc{background:var(--pan);border:1px solid var(--rule2);counter-increment:instr}
.calc .chead{background:var(--sunk);border-bottom:1px solid var(--rule2);padding:8px 12px;
  display:flex;align-items:center}
.calc .chead::before{content:counter(instr,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;
  font-size:10px;color:#17120A;background:var(--amb);padding:2px 6px;margin-right:9px;flex:none}
.calc .chead h3{font-size:14.5px;letter-spacing:.01em}
.calc .cbody{padding:13px 12px}
.calc .why{font-size:12px;color:var(--dim);margin-bottom:11px;line-height:1.5}
.f{margin-bottom:8px}
.f label{display:block;font-size:11.5px;color:var(--dim);margin-bottom:3px}
.f label b{color:var(--ink);font-weight:600}
.inrow{display:flex;align-items:stretch;background:var(--sunk);border:1px solid var(--rule2)}
.inrow:focus-within{border-color:var(--amb)}
.inrow input,.inrow select{flex:1;background:none;border:0;color:var(--ink);font-size:14px;padding:7px 10px;
  font-family:"IBM Plex Mono",monospace;width:100%;min-width:0}
.inrow input:focus,.inrow select:focus{outline:none}
.inrow .u{padding:0 10px;font-size:11px;color:var(--faint);font-family:"IBM Plex Mono",monospace;
  border-left:1px solid var(--rule2);display:flex;align-items:center;background:var(--pan)}
.out{position:relative;overflow:hidden;background:var(--bg);border:1px solid var(--rule2);
  border-left:2px solid var(--grn);padding:11px 12px;margin-top:11px}
.out .big{font-family:"IBM Plex Mono",monospace;font-size:23px;font-weight:500;color:var(--amb2);
  line-height:1.15;position:relative}
.out .big small{font-size:12px;color:var(--dim);font-weight:400}
.out .desc{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.5;position:relative}
.warn{display:none;margin-top:9px;padding:9px 11px;font-size:12px;
  background:rgba(224,169,59,.09);border:1px solid rgba(224,169,59,.35);color:var(--amb2)}
.warn.on{display:block}
.warn.danger{background:rgba(214,90,75,.1);border-color:rgba(214,90,75,.4);color:#EE9187}
.mini{display:flex;margin-top:9px;border:1px solid var(--rule)}
.mini div{flex:1;background:var(--sunk);border-right:1px solid var(--rule);padding:7px;text-align:center}
.mini div:last-child{border-right:0}
.mini .mv{font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--ink)}
.mini .mk{font-size:10px;color:var(--faint);margin-top:1px}

/* ── news ── */
.news{border-top:1px solid var(--rule)}
.item{background:var(--pan);border-bottom:1px solid var(--rule);padding:12px 14px}
.item .meta{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;color:var(--faint);
  text-transform:uppercase;margin-bottom:5px;display:flex;flex-wrap:wrap;align-items:center}
.item .meta>*+*{margin-left:9px}
.item h3{font-size:15.5px;margin-bottom:4px}
.item p{font-size:13px;color:var(--dim);line-height:1.55}
.src-pill{color:var(--amb)}

/* ── footer ── */
footer{border-top:1px solid var(--rule);margin-top:30px;padding:26px 0 20px;background:var(--bg2)}
.fcols{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:22px}
.fcols h5{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--amb);margin-bottom:8px;font-weight:500}
.fcols a{display:block;color:var(--dim);font-size:12.5px;padding:2px 0}
.fcols a:hover{color:var(--amb2)}
.disc{border:1px solid var(--rule2);border-left:2px solid var(--red);background:var(--pan);
  padding:10px 12px;margin-top:20px;font-size:12px;color:var(--dim);line-height:1.55}
.disc b{color:var(--ink)}
.fbot{border-top:1px solid var(--rule);margin-top:18px;padding-top:14px;font-family:"IBM Plex Mono",monospace;
  font-size:10.5px;color:var(--faint);display:flex;justify-content:space-between;flex-wrap:wrap}
.fbot>*{margin-right:16px}

/* ── motion ── */
.rev{opacity:1}
.js .rev{opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}
.js .rev.in{opacity:1;transform:none}
.js .rev.d1{transition-delay:.05s}.js .rev.d2{transition-delay:.1s}
.js .rev.d3{transition-delay:.15s}.js .rev.d4{transition-delay:.2s}.js .rev.d5{transition-delay:.25s}
.prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:99;background:var(--amb);transition:width .1s linear}
@media(prefers-reduced-motion:reduce){
  .js .rev{opacity:1;transform:none;transition:none}
  .stat::before,.brand .orb{animation:none}
  .assay{display:none}.prog{display:none}}

@media(max-width:880px){.fcols{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .tabbar{display:none}
  .burger{display:flex}
  .brand small,.rxtag{display:none}
  .top .bar>.btn{display:none}
  .hero{padding:18px 0 16px}
  section{padding:18px 0}
  .fcols{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .calcgrid{grid-template-columns:1fr}
}
