/* Nazryx Procurement — same design language as nazryx.com */
:root{
  --blue:#0066FF; --blue-txt:#0052D6; --blue-deep:#0D3082;
  --ground:#F7F6F2; --ink:#0A0A0A; --ink-2:#3A3A38; --ink-3:#5E5E58;
  --line:#E2E0D9; --card:#FFFFFF;
  --pastel-blue:#DCEAFF; --pastel-blue-ink:#0052D6;
  --pastel-mint:#DAF2E4; --pastel-mint-ink:#0E6B3F;
  --pastel-peach:#FCE7D6; --pastel-peach-ink:#9A4200;
  --pastel-lav:#E7E1FB; --pastel-lav-ink:#3B00FF;
  --panel:#E8EFF6; --soft:#ECF4FF;
  --pink:#FBE1EC; --pink-ink:#D6006C;
  --r-lg:26px; --r-md:18px; --r-sm:12px;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-feature-settings:"ss01" 1,"cv11" 1; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{
  font-family:"Inter Tight","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-feature-settings:"ss01" 1; font-weight:700; letter-spacing:-0.035em;
  line-height:1.05; text-wrap:balance; margin:0;
}
p{margin:0}
.blue{color:var(--blue-txt)}
.mono{font-variant-numeric:tabular-nums}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:20px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,246,242,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}
.brand svg{width:30px;height:auto;display:block}
.brand b{font-family:"Inter Tight",sans-serif;font-size:19px;letter-spacing:-.04em;font-weight:700}
.brand .tagword{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:0}
.aud{display:inline-flex;margin-left:auto;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;flex:0 0 auto}
.aud a{text-decoration:none;font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;color:var(--ink-2);white-space:nowrap}
.aud a:hover{background:#fff;color:var(--blue-txt)}
.aud a.on{background:var(--blue);color:#fff}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:999px;font-size:14.5px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap;cursor:pointer;font-family:inherit}
.btn:active{transform:translateY(1px)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:#0052D6}
.btn-ghost{background:transparent;color:var(--ink);border-color:#CFCCC3}
.btn-ghost:hover{border-color:var(--ink)}
.btn-white{background:#fff;color:var(--blue);border-color:var(--line)}
.btn-white:hover{background:#EAF1FF}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-danger{background:transparent;color:var(--pink-ink);border-color:#EFCBDC}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}

/* ---------- page furniture ---------- */
section{padding-block:44px}
.hero{padding-block:56px 20px}
h1{font-size:clamp(34px,5.2vw,58px)}
.eyebrow{font-size:13px;font-weight:600;color:var(--blue-txt);margin-bottom:12px}
.lede{font-size:17px;color:var(--ink-2);max-width:60ch;margin-top:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.mailnote{font-size:13.5px;color:var(--ink-3);margin-top:14px}
.mailnote b{color:var(--blue-txt);font-weight:600}
.mailnote a:hover{text-decoration:underline}
h2{font-size:clamp(24px,3vw,32px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sec-sub{font-size:14.5px;color:var(--ink-3);margin-top:8px;max-width:64ch}

/* ---------- request cards ---------- */
.listgrid{display:grid;grid-template-columns:1fr;gap:16px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px;display:flex;flex-direction:column;gap:18px;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}
.tcard:hover{border-color:var(--blue);box-shadow:0 6px 20px rgba(10,10,10,.06)}
.tcard-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.tcard-ref{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.tcard-title{font-family:"Inter Tight",sans-serif;font-size:26px;font-weight:700;letter-spacing:-.035em;line-height:1.1}
.tcard-market{font-size:14px;color:var(--ink-2);margin-top:8px}
.tcard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.stat{border-radius:var(--r-md);padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px}
.stat b{font-family:"Inter Tight",sans-serif;font-size:28px;letter-spacing:-.04em;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}
.stat span{font-size:12.5px;line-height:1.35;color:var(--ink-2)}
.s1{background:var(--pastel-blue)} .s1 b{color:var(--pastel-blue-ink)}
.s2{background:var(--pastel-mint)} .s2 b{color:var(--pastel-mint-ink)}
.s3{background:var(--pastel-peach)} .s3 b{color:var(--pastel-peach-ink)}
.s4{background:var(--pastel-lav)}  .s4 b{color:var(--pastel-lav-ink)}
.tcard-actions{display:flex;gap:10px;flex-wrap:wrap}

.status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--pastel-mint);color:var(--pastel-mint-ink)}
.status-pill.closed{background:#EEECE6;color:var(--ink-3)}
.status-pill.review{background:var(--pastel-peach);color:var(--pastel-peach-ink)}
.status-pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}

/* ---------- tender notice ---------- */
.notice{padding-block:44px 8px}
.ref{font-size:13.5px;color:var(--ink-3);margin-bottom:14px}
.ref b{color:var(--ink);font-weight:600}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:28px}
.block{padding-block:34px;border-top:1px solid var(--line)}
.seclabel{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.secnum{font-size:13px;color:var(--blue-txt);font-weight:600}
.blocklede{color:var(--ink-2);font-size:15px;margin:-4px 0 20px;max-width:70ch}

.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);margin-bottom:18px}
table{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}
thead th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:12px 16px;border-bottom:1px solid var(--line);background:#FBFAF7;white-space:nowrap}
tbody td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
td.qty,th.qty{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
td.molecule{font-weight:600}
.cathead td{background:var(--soft);color:var(--blue-txt);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:9px 16px}

.callout{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;font-size:14.5px;line-height:1.6}
.callout b{color:var(--blue-txt)}
.checklist{display:flex;flex-direction:column;gap:12px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55}
.check .mark{flex:none;width:20px;height:20px;border-radius:7px;background:var(--pastel-blue);color:var(--blue-txt);display:flex;align-items:center;justify-content:center;margin-top:3px}
.check .mark svg{width:11px;height:11px}
.steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:30px 1fr;gap:14px;padding-block:16px;border-top:1px solid var(--line)}
.step:first-child{border-top:none}
.stepno{font-size:12.5px;font-weight:700;color:var(--blue-txt);background:var(--pastel-blue);width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center}
.step h3{font-size:16px}
.step p{margin-top:5px;font-size:14px;color:var(--ink-2)}

.tt{display:flex;flex-direction:column}
.ttrow{display:grid;grid-template-columns:20px 1fr;gap:16px}
.ttline{display:flex;flex-direction:column;align-items:center}
.ttdot{width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--line);flex:none;margin-top:5px}
.ttrow.done .ttdot{background:var(--blue);border-color:var(--blue)}
.ttrow.current .ttdot{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px var(--pastel-blue)}
.ttbar{width:2px;flex:1;background:var(--line);margin-top:3px}
.ttrow.done .ttbar{background:var(--blue)}
.ttbody{padding-bottom:22px}
.ttrow:last-child .ttbody{padding-bottom:2px}
.tttitle{font-size:15px;font-weight:600}
.ttdate{font-size:13.5px;color:var(--ink-3);margin-top:3px}

.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.doc{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;background:var(--card);transition:border-color .15s ease,background .15s ease}
.doc:hover{border-color:var(--blue);background:#FCFEFF}
.doc .ico{flex:none;width:42px;height:42px;border-radius:12px;background:var(--pastel-blue);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;color:var(--blue-txt)}
.doc .name{font-size:14.5px;font-weight:600}
.doc .meta{font-size:12.5px;color:var(--ink-3);margin-top:2px}
.doc .arrow{margin-left:auto;color:var(--blue)}

/* ---------- footer ---------- */
.sitefoot{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:48px;padding-block:26px 46px;font-size:14px;color:var(--ink-2)}
.sf-name{font-weight:600;color:var(--ink)}
.sf-desc{font-size:13px;color:var(--ink-3);line-height:1.6;margin-top:6px;max-width:62ch}
.sitefoot a,.sf-mail{color:var(--blue-txt);text-decoration:none;font-weight:600}
.sitefoot a:hover{text-decoration:underline}

.empty{padding:50px 0;text-align:center;color:var(--ink-3);font-size:15px}

@media (max-width:640px){
  .tcard{padding:22px 20px}
  .aud{margin-left:0;order:3;width:100%;justify-content:center}
}
