:root {
  --vmyt9d: #56e6e6;
  --v9b8ld: #283e3e;
  --v99ltb: #143d3d;
  --vuri69: #368c8c;
  --vof2hr: #6cadef;
  --v8bkup: #56e6e6;
  --v7802a: #2f3a3c;
  --vtb3vr: #434f51;
  --v6tzmu: #899b9f;
  --vxl6fe: #181f20;
  --vrxqeu: #1b2628;
  --v5f4as: #293638;
  --vdz3fi: #ebefef;
  --vdbykk: #a4afb2;
  --vazdfc: #53c69c;
  --v17jk7: #e4b558;
  --v5t186: #de625e;
  --v3urc8: 69.754rem;
  --v06947: 71ch;
  --vc7uw0: #293638;
  --vih8cf: clamp(1.018rem, 3vw, 2.051rem);
  --v72bnx: 4.227rem;
  --vq3877: 'Archivo', system-ui, sans-serif;
  --vc7pgf: 'Public Sans', system-ui, sans-serif;
  --vrna3b: 'Archivo', system-ui, sans-serif;
  --vemuwm: clamp(2.376rem, 4.5vw, 3.426rem);
  --v1zann: clamp(1.508rem, 3vw, 2.376rem);
  --vu94o8: 1.508rem;
  --vieozd: 1.049rem;
  --vjzh2w: 0.865rem;
  --vffzgy: 1.15;
  --vuah74: 1.65;
  --vf7i2i: 0.48rem;
  --v8zuc8: 0.705rem;
  --vmlyw7: #111111;
  --ve1t8l: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--vc7pgf); font-size: var(--vieozd); line-height: var(--vuah74); color: var(--vdz3fi); background: var(--vrxqeu); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--vq3877); line-height: var(--vffzgy); font-weight: 700; color: var(--vdz3fi); text-wrap: balance; }
h1 { font-size: var(--vemuwm); letter-spacing: -0.02em; }
h2 { font-size: var(--v1zann); margin-top: 2.494rem; margin-bottom: 0.705rem; }
h3 { font-size: var(--vu94o8); margin-top: 1.845rem; margin-bottom: 0.48rem; }
p { margin-bottom: 1.018rem; }
a { color: var(--v8bkup); }
ul, ol { margin: 0 0 1.018rem 1.245rem; }
li { margin-bottom: 0.344rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.116); border: 1px solid rgba(128, 128, 128, 0.234); border-radius: 4px; padding: 0.097em 0.335em; font-size: 0.91em; color: var(--vdz3fi); }
blockquote { border-left: 3px solid var(--vmyt9d); padding-left: 1.018rem; color: var(--vdbykk); margin: 0 0 1.018rem; }
img { max-width: 100%; height: auto; display: block; }
sup.vg68tb a { text-decoration: none; color: var(--vof2hr); font-weight: 600; }
.container { width: 100%; max-width: var(--v3urc8); margin-inline: auto; padding-inline: var(--vih8cf); }
.vobfiy { position: absolute; left: -999px; }
.vobfiy:focus { left: 1.018rem; top: 1.018rem; background: var(--v5f4as); padding: 0.48rem 1.018rem; z-index: 100; }
main { display: block; }
.vlwux7 { font-family: var(--vrna3b); font-weight: 800; font-size: 1.188rem; color: var(--vdz3fi); text-decoration: none; }
.vbsg4f { min-width: 0; }
.vbsg4f ul { display: flex; flex-wrap: wrap; gap: 1.245rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.vbsg4f li { white-space: nowrap; }
.vbsg4f a { color: var(--vdbykk); text-decoration: none; font-size: var(--vjzh2w); font-weight: 600; }
.vbsg4f a:hover { color: var(--v8bkup); }
.vc9itk { display: none; background: none; border: 1px solid var(--vtb3vr); border-radius: 6px; padding: 0.406rem 0.568rem; font-size: 1.078rem; line-height: 1; cursor: pointer; color: var(--vdz3fi); }
.vq8zr3 { font-family: var(--vrna3b); text-transform: uppercase; letter-spacing: 0.115em; font-size: var(--vjzh2w); font-weight: 700; color: var(--vof2hr); margin-bottom: 0.705rem; }
.v60kky { font-size: 1.188rem; color: var(--vdbykk); margin-top: 1.018rem; max-width: 57ch; }
.vfc5fb { display: flex; flex-wrap: wrap; gap: 0.705rem; margin-top: 1.845rem; }
.vbstl0 { display: inline-block; padding: 0.9rem 1.677rem; border-radius: var(--vf7i2i); font-weight: 700; text-decoration: none; font-size: var(--vjzh2w); transition: transform 0.152s ease, opacity 0.152s ease; }
.vbstl0:hover { transform: translateY(-1.5px); }
.vq5zxn { background: var(--vmyt9d); color: var(--vmlyw7); }
.vcq8of { background: transparent; color: var(--v8bkup); border: 1.5px solid var(--v8bkup); }
article > section, main > article { padding-block: 0.48rem; }
.v2hnsh { padding-block: 1.018rem 3.061rem; }
.v2hnsh .container > section { max-width: var(--v06947); margin-inline: auto; }
.v2hnsh .container > section.vhng8r, .v2hnsh .container > .vhng8r { max-width: none; }
.v2hnsh .container > section > .v9lmox,
.v2hnsh .container > section > .vrk0wy,
.v2hnsh .container > section > .v2lu83,
.v2hnsh .container > section > .v61po2,
.v2hnsh .container > section > .vjir6m {
  --vx91uc: min(var(--v3urc8) - 2 * var(--vih8cf), 100vw - 2 * var(--vih8cf));
  width: var(--vx91uc);
  max-width: none;
  margin-inline: calc((100% - var(--vx91uc)) / 2);
}
@media (max-width: 904px) {
  .v2hnsh .container > section > .v9lmox,
  .v2hnsh .container > section > .vrk0wy,
  .v2hnsh .container > section > .v2lu83,
  .v2hnsh .container > section > .v61po2,
  .v2hnsh .container > section > .vjir6m { width: 100%; margin-inline: 0; }
}
.vjir6m img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--v5f4as); }
.vcmhbn img { aspect-ratio: 16 / 6; object-fit: cover; }
.v2lu83 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.245rem, 3vw, 2.494rem); align-items: center; background: var(--vc7uw0, var(--v5f4as)); border: 1px solid var(--vtb3vr); border-radius: var(--v8zuc8); padding: clamp(1.245rem, 3vw, 2.376rem); margin: 2.494rem 0; }
.vnvvfm img { border-radius: calc(var(--v8zuc8) - 0.254rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.vnvvfm figcaption { font-size: var(--vjzh2w); color: var(--vdbykk); margin-top: 0.568rem; line-height: 1.45; }
.vuk2u1 { font-family: var(--vrna3b); text-transform: uppercase; letter-spacing: 0.097em; font-size: 0.705rem; font-weight: 700; color: var(--vof2hr); margin-bottom: 0.568rem; }
.vcfy4u h2, .vcfy4u h3 { margin-top: 0; }
.vcfy4u p:last-child { margin-bottom: 0; }
@media (max-width: 724px) { .v2lu83 { grid-template-columns: 1fr; } }
.vwvxnd { border-left: 3px solid var(--vof2hr); background: var(--vc7uw0, var(--v5f4as)); border-radius: 0 var(--v8zuc8) var(--v8zuc8) 0; padding: 1.245rem 1.508rem; margin: 2.051rem 0; }
.vwvxnd h2, .vwvxnd h3 { margin-top: 0; font-size: 0.992rem; text-transform: uppercase; letter-spacing: 0.079em; color: var(--vdbykk); }
.v45x9w { list-style: none; margin: 0.705rem 0 0; padding: 0; display: grid; gap: 0.568rem; }
.v45x9w li { margin: 0; padding-left: 1.435rem; position: relative; }
.v45x9w li::before { content: "\2014"; position: absolute; left: 0; color: var(--vof2hr); font-weight: 700; }
.vrk0wy { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.45rem), 1fr)); gap: 1px; background: var(--vtb3vr); border: 1px solid var(--vtb3vr); border-radius: var(--v8zuc8); overflow: hidden; margin: 2.376rem 0; }
.v3qp0u { background: var(--v5f4as); padding: 1.435rem 1.245rem; }
.vy5n4v { font-family: var(--vrna3b); font-size: clamp(1.845rem, 3.5vw, 2.494rem); font-weight: 800; line-height: 1.05; color: var(--vmyt9d); letter-spacing: -0.02em; }
.v93esh { font-size: var(--vjzh2w); color: var(--vdbykk); margin-top: 0.406rem; line-height: 1.4; }
.v61po2 { background: var(--vmyt9d); color: var(--vmlyw7); border-radius: var(--v8zuc8); padding: clamp(1.508rem, 4vw, 2.799rem); margin: 3.061rem 0 1.018rem; text-align: center; }
.v61po2 h2, .v61po2 h3 { color: var(--vmlyw7); margin-top: 0; }
.v61po2 p { color: var(--vmlyw7); opacity: 0.88; margin-inline: auto; max-width: 56ch; }
.v61po2 .vfc5fb { justify-content: center; }
.v61po2 .vcq8of { color: var(--vmlyw7); border-color: var(--vmlyw7); }
.vjir6m img { border-radius: var(--v8zuc8); width: 100%; }
.vjir6m figcaption { font-size: var(--vjzh2w); color: var(--vdbykk); margin-top: 0.568rem; font-style: italic; }
.vcmhbn { margin: 1.508rem 0; }
.vcmhbn img { border-radius: var(--v8zuc8); }
.vm2opu { background: var(--v5f4as); border: 1px solid #434f51; border-radius: var(--v8zuc8); padding: 1.508rem; }
.v9lmox { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.088rem), 1fr)); gap: 1.245rem; margin: 1.508rem 0 2.051rem; }
.v9lmox .vm2opu { display: flex; flex-direction: column; gap: 0.48rem; }
.v9lmox .vm2opu img { border-radius: calc(var(--v8zuc8) - 0.254rem); margin-bottom: 0.48rem; aspect-ratio: 16 / 10; object-fit: cover; }
.v9lmox .vm2opu h2, .v9lmox .vm2opu h3 { margin: 0; font-size: 1.188rem; }
.v9lmox .vm2opu p { margin: 0; font-size: var(--vjzh2w); color: var(--vdbykk); }
.v9lmox .vm2opu .vewivt { margin-top: auto; padding-top: 0.568rem; font-weight: 700; font-size: var(--vjzh2w); color: var(--v8bkup); text-decoration: none; }
.v9lmox .vm2opu .vewivt:hover { text-decoration: underline; }
.v54yok { margin: 1.508rem 0; }
.v54yok img { border-radius: var(--v8zuc8); }
.v54yok figcaption { font-size: var(--vjzh2w); color: var(--vdbykk); margin-top: 0.48rem; font-style: italic; }
.vtnk8f { overflow-x: auto; margin: 1.245rem 0 1.845rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vjzh2w); }
th, td { text-align: left; padding: 0.568rem 0.9rem; border-bottom: 1px solid var(--vtb3vr); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vdz3fi); font-family: var(--vq3877); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.081); }
.vcuvhx { padding-left: 1.508rem; }
.vcuvhx li { margin-bottom: 0.705rem; font-size: var(--vjzh2w); color: var(--vdbykk); }
.vcuvhx li a { word-break: break-word; }
.vo7s65 ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.v9swen.vyrdnz6 { background: var(--v7802a); border-bottom: 3px solid var(--vdz3fi); position: sticky; top: 0; z-index: 50; }
.v9swen.vyrdnz6 .container { display: flex; align-items: baseline; justify-content: space-between; min-height: var(--v72bnx); gap: 1.018rem; }
.v9swen.vyrdnz6 .vlwux7 { font-size: 1.435rem; letter-spacing: -0.01em; }
.v9swen.vyrdnz6 .vbsg4f a { text-transform: uppercase; letter-spacing: 0.059em; font-size: 0.828rem; }
@media (max-width: 764px) {
  .v9swen.vyrdnz6 .vc9itk { display: block; }
  .v9swen.vyrdnz6 .vbsg4f { display: none; position: absolute; top: var(--v72bnx); left: 0; right: 0; background: var(--v7802a); border-bottom: 3px solid var(--vdz3fi); padding: 1.018rem var(--vih8cf); z-index: 50; }
  .v9swen.vyrdnz6 .vbsg4f.v3wqlg { display: block; }
  .v9swen.vyrdnz6 .vbsg4f ul { flex-direction: column; gap: 0.705rem; }
}
.v9ddgs.vnnh130 { padding: clamp(2.494rem, 6vw, 4.851rem) 0 clamp(1.508rem, 4vw, 3.061rem); }
.v9ddgs.vnnh130 .container { max-width: min(var(--v3urc8), 57.465rem); }
.v9ddgs.vnnh130 h1 { max-width: 22ch; }
.vglkf5.vjv47p4 { margin-top: 4.227rem; }
.vglkf5.vjv47p4 .vj1bi1 { background: var(--v7802a); padding-block: 2.494rem; }
.vglkf5.vjv47p4 .vj1bi1 a { color: var(--vdbykk); text-decoration: none; }
.vglkf5.vjv47p4 .vj1bi1 a:hover { color: var(--v8bkup); text-decoration: underline; }
.vglkf5.vjv47p4 .vo7s65 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.508rem; }
.vglkf5.vjv47p4 .vo7s65 h2 { font-size: var(--vjzh2w); text-transform: uppercase; letter-spacing: 0.079em; margin: 0 0 0.568rem; color: var(--vdbykk); }
.vglkf5.vjv47p4 .vo7s65 li { margin-bottom: 0.406rem; font-size: var(--vjzh2w); }
.vglkf5.vjv47p4 .v03ehr { background: var(--v99ltb); color: var(--ve1t8l); padding-block: 1.245rem; }
.vglkf5.vjv47p4 .v03ehr .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.705rem; }
.vglkf5.vjv47p4 .v03ehr a { color: var(--ve1t8l); }
.vglkf5.vjv47p4 .vtct01 { font-style: italic; opacity: 0.85; margin: 0; }
.vglkf5.vjv47p4 .vqnpc9 { font-size: var(--vjzh2w); opacity: 0.65; margin: 0; }

/* ---- per-site theme layer ---- */
/* Clean Peptide Labs — analytical assay-dossier system */
:root {
  --cpl-bg: #1b2628;
  --cpl-panel: #293638;
  --cpl-panel-deep: #181f20;
  --cpl-line: #434f51;
  --cpl-text: #ebefef;
  --cpl-muted: #a4afb2;
  --cpl-cyan: #56e6e6;
  --cpl-blue: #6cadef;
  --cpl-teal: #368c8c;
  --cpl-grid: rgba(86, 230, 230, 0.075);
  --cpl-scan: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='square'%3E%3Cpath d='M4 8V4h4M16 4h4v4M20 16v4h-4M8 20H4v-4M7 12h10M12 7v10'/%3E%3C/svg%3E");
  --cpl-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='square'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E");
  --cpl-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5'/%3E%3C/svg%3E");
}

html {
  scroll-padding-top: 5rem;
  background: var(--cpl-bg);
}

body {
  min-width: 0;
  color: var(--cpl-text);
  background-color: var(--cpl-bg);
  background-image:
    linear-gradient(90deg, var(--cpl-grid) 1px, transparent 1px),
    linear-gradient(0deg, var(--cpl-grid) 1px, transparent 1px);
  background-size: 4rem 4rem;
  font-size: 1.04rem;
  letter-spacing: -0.006em;
  text-rendering: optimizeLegibility;
}

::selection {
  color: var(--cpl-panel-deep);
  background: var(--cpl-cyan);
}

a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--cpl-cyan);
  outline-offset: 4px;
}

h1,
h2,
h3 {
  letter-spacing: -0.04em;
}

/* Chrome: a compact instrument panel rather than a generic navigation bar. */
.v9swen {
  position: relative;
  top: auto;
  border: 0;
  border-top: 3px solid var(--cpl-cyan);
  border-bottom: 1px solid var(--cpl-line);
  background: rgba(24, 31, 32, 0.97);
  box-shadow: 0 1rem 2.6rem rgba(0, 0, 0, 0.18);
}

.v9swen .container {
  align-items: center;
  max-width: 78rem;
  min-height: 4.75rem;
  padding-top: 0.72rem;
  padding-bottom: 0.72rem;
}

.vlwux7 {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  min-width: 13rem;
  color: var(--cpl-text);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
}

.vlwux7::before {
  content: "CPL";
  display: grid;
  width: 2.55rem;
  height: 2.55rem;
  flex: 0 0 2.55rem;
  place-items: center;
  border: 1px solid var(--cpl-cyan);
  background:
    linear-gradient(90deg, transparent 48%, rgba(86, 230, 230, 0.22) 49% 51%, transparent 52%),
    linear-gradient(0deg, transparent 48%, rgba(86, 230, 230, 0.22) 49% 51%, transparent 52%),
    var(--cpl-panel);
  color: var(--cpl-cyan);
  box-shadow: 0.28rem 0.28rem 0 var(--cpl-teal);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.vlwux7::after {
  content: "ASSAY / EVIDENCE";
  position: absolute;
  left: 3.27rem;
  bottom: -0.08rem;
  color: var(--cpl-muted);
  font-family: 'Public Sans', system-ui, sans-serif;
  font-size: 0.49rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.vbsg4f ul {
  justify-content: flex-end;
  gap: 0.25rem 0.7rem;
}

.v9swen .vbsg4f a {
  position: relative;
  padding: 0.35rem 0;
  color: var(--cpl-muted);
  font-size: 0.7rem;
  letter-spacing: 0.075em;
}

.v9swen .vbsg4f a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.08rem;
  left: 0;
  height: 1px;
  background: var(--cpl-cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.16s ease;
}

.v9swen .vbsg4f a:hover::after,
.v9swen .vbsg4f a:focus-visible::after {
  transform: scaleX(1);
}

.vc9itk {
  border-radius: 0;
  border-color: var(--cpl-cyan);
  color: var(--cpl-cyan);
}

/* Hero: an offset assay cover with a reticle field and ruled readout. */
.v9ddgs {
  position: relative;
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid var(--cpl-line);
  background:
    radial-gradient(circle at 88% 18%, rgba(108, 173, 239, 0.13), transparent 24rem),
    linear-gradient(110deg, var(--cpl-panel-deep) 0 68%, #203133 68% 100%);
}

.v9ddgs::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  right: clamp(1rem, 4vw, 4rem);
  bottom: 1.25rem;
  width: clamp(3.5rem, 8vw, 7.5rem);
  border-right: 1px solid rgba(86, 230, 230, 0.34);
  border-left: 1px solid rgba(86, 230, 230, 0.34);
  background: repeating-linear-gradient(0deg, transparent 0 0.7rem, rgba(86, 230, 230, 0.2) 0.7rem calc(0.7rem + 1px));
}

.v9ddgs::after {
  content: "ID  /  ASSAY  /  STABILITY";
  position: absolute;
  right: clamp(1.3rem, 4.5vw, 4.6rem);
  bottom: 1.7rem;
  color: var(--cpl-cyan);
  font-size: 0.54rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  writing-mode: vertical-rl;
}

.v9ddgs .container {
  position: relative;
  max-width: 78rem;
  padding-top: clamp(3.5rem, 7vw, 6.6rem);
  padding-right: clamp(5.5rem, 12vw, 10rem);
  padding-bottom: clamp(3.6rem, 7vw, 6.5rem);
  padding-left: clamp(1rem, 5vw, 4.6rem);
}

.v9ddgs .container::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: clamp(1rem, 5vw, 4.6rem);
  width: 5.6rem;
  height: 1px;
  background: linear-gradient(90deg, var(--cpl-cyan) 0 62%, var(--cpl-blue) 62% 80%, var(--cpl-line) 80%);
}

.v9ddgs .container:has(.vcmhbn) {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr);
  column-gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.v9ddgs .container:has(.vcmhbn) > :not(.vcmhbn) {
  grid-column: 1;
}

.v9ddgs h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--cpl-text);
  font-size: clamp(2.6rem, 6.5vw, 5.6rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.068em;
}

.vq8zr3 {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1.15rem;
  color: var(--cpl-cyan);
  font-size: 0.68rem;
  letter-spacing: 0.18em;
}

.vq8zr3::before {
  content: "";
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
  background: currentColor;
  -webkit-mask: var(--cpl-scan) center / contain no-repeat;
  mask: var(--cpl-scan) center / contain no-repeat;
}

.v60kky {
  max-width: 46rem;
  margin: 1.4rem 0 0;
  color: var(--cpl-text);
  font-size: clamp(1.02rem, 1.7vw, 1.25rem);
  line-height: 1.62;
}

.vfc5fb {
  margin-top: 1.85rem;
}

.vbstl0 {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border-radius: 0;
  letter-spacing: 0.035em;
}

.vbstl0::after {
  content: "";
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  background: currentColor;
  -webkit-mask: var(--cpl-arrow) center / contain no-repeat;
  mask: var(--cpl-arrow) center / contain no-repeat;
}

.vq5zxn {
  border: 1px solid var(--cpl-cyan);
  background: var(--cpl-cyan);
  color: var(--cpl-panel-deep);
  box-shadow: 0.38rem 0.38rem 0 var(--cpl-teal);
}

.vcq8of {
  border-color: var(--cpl-blue);
  color: var(--cpl-text);
}

.vcmhbn {
  position: relative;
  grid-column: 2;
  grid-row: 1 / span 5;
  margin: 0;
  padding: 0.7rem;
  border: 1px solid var(--cpl-line);
  background: var(--cpl-panel);
  box-shadow: 0.75rem 0.75rem 0 rgba(54, 140, 140, 0.48);
}

.vcmhbn::before {
  content: "SAMPLE FIELD / 04";
  display: block;
  margin-bottom: 0.55rem;
  color: var(--cpl-muted);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.vcmhbn img {
  aspect-ratio: 4 / 3;
  border-radius: 0;
  filter: saturate(0.84) contrast(1.06);
  object-fit: cover;
}

/* Reading body: numbered dossier sections with the on-ramp promoted. */
.v2hnsh {
  padding-top: clamp(2.4rem, 5vw, 4.5rem);
  background: linear-gradient(rgba(27, 38, 40, 0.91), rgba(27, 38, 40, 0.91));
}

.v2hnsh > .container {
  counter-reset: cpl-section;
}

.v2hnsh .container > section {
  position: relative;
  counter-increment: cpl-section;
  max-width: 48rem;
  margin: 0 auto;
  padding: 2.8rem 0 2.8rem 4.75rem;
  border-top: 1px solid var(--cpl-line);
}

.v2hnsh .container > section::before {
  content: counter(cpl-section, decimal-leading-zero);
  position: absolute;
  top: 2.8rem;
  left: 0;
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 1px solid var(--cpl-line);
  border-top-color: var(--cpl-cyan);
  background: var(--cpl-panel-deep);
  color: var(--cpl-cyan);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.v2hnsh .container > section h2 {
  margin: 0 0 1.15rem;
  color: var(--cpl-text);
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  font-weight: 600;
  line-height: 1.08;
}

.v2hnsh .container > section h2::after {
  content: "";
  display: block;
  width: 4.2rem;
  height: 2px;
  margin-top: 0.72rem;
  background: linear-gradient(90deg, var(--cpl-cyan) 0 70%, var(--cpl-blue) 70% 84%, var(--cpl-line) 84%);
}

.v2hnsh .container > section p,
.v2hnsh .container > section li {
  color: var(--cpl-text);
  line-height: 1.76;
}

.v2hnsh .container > section:first-of-type {
  max-width: 52rem;
  margin-bottom: 2.7rem;
  padding: clamp(1.6rem, 4vw, 2.4rem) clamp(1.5rem, 4vw, 2.5rem) clamp(1.6rem, 4vw, 2.4rem) clamp(5rem, 9vw, 6.3rem);
  border: 1px solid var(--cpl-line);
  border-left: 3px solid var(--cpl-cyan);
  background:
    linear-gradient(90deg, rgba(86, 230, 230, 0.07) 1px, transparent 1px),
    var(--cpl-panel);
  background-size: 2.3rem 100%;
  box-shadow: 0.75rem 0.75rem 0 rgba(20, 61, 61, 0.72);
}

.v2hnsh .container > section:first-of-type::before {
  content: "READ\A FIRST";
  top: 2rem;
  left: 1.5rem;
  height: auto;
  border: 0;
  background: transparent;
  line-height: 1.5;
  white-space: pre;
}

.v2hnsh strong {
  color: var(--cpl-cyan);
  font-weight: 600;
}

.vg68tb a {
  display: inline-grid;
  min-width: 1.36rem;
  height: 1.36rem;
  place-items: center;
  border: 1px solid var(--cpl-blue);
  background: rgba(108, 173, 239, 0.08);
  color: var(--cpl-text);
  font-size: 0.72rem;
  line-height: 1;
}

.v54yok {
  position: relative;
  margin-top: 2rem;
  padding: 0.65rem;
  border: 1px solid var(--cpl-line);
  border-radius: 0;
  background: var(--cpl-panel);
  box-shadow: 0.55rem 0.55rem 0 rgba(54, 140, 140, 0.35);
}

.v54yok::after {
  content: "VISUAL SAMPLE";
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  padding: 0.25rem 0.42rem;
  background: var(--cpl-panel-deep);
  color: var(--cpl-cyan);
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.v54yok img {
  border-radius: 0;
  object-fit: cover;
}

/* Compound cards: specimen cards, not generic tiles. */
.v9lmox {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 4.25rem;
}

.vm2opu {
  position: relative;
  min-height: 15rem;
  overflow: hidden;
  border: 1px solid var(--cpl-line);
  border-radius: 0;
  background:
    linear-gradient(90deg, transparent 0 2.9rem, rgba(86, 230, 230, 0.09) 2.9rem calc(2.9rem + 1px), transparent calc(2.9rem + 1px)),
    var(--cpl-panel);
  box-shadow: inset 0 3px 0 var(--cpl-teal);
}

.vm2opu::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 1.8rem;
  height: 1.8rem;
  background: var(--cpl-cyan);
  opacity: 0.8;
  -webkit-mask: var(--cpl-scan) center / contain no-repeat;
  mask: var(--cpl-scan) center / contain no-repeat;
}

.vm2opu:nth-child(even) {
  transform: translateY(1rem);
  box-shadow: inset 0 3px 0 var(--cpl-blue);
}

.v9lmox .vm2opu h3 {
  max-width: calc(100% - 3rem);
  color: var(--cpl-text);
  font-size: 1.38rem;
  letter-spacing: -0.045em;
}

.v9lmox .vm2opu p {
  color: var(--cpl-text);
  font-size: 0.91rem;
  line-height: 1.62;
}

.vewivt {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--cpl-cyan);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.vewivt::before {
  content: "";
  width: 0.86rem;
  height: 0.86rem;
  background: currentColor;
  -webkit-mask: var(--cpl-arrow) center / contain no-repeat;
  mask: var(--cpl-arrow) center / contain no-repeat;
}

/* Comparison matrix: wide instrument readout with a locked first column. */
.vtnk8f {
  width: min(72rem, calc(100vw - 2rem));
  margin: 1.6rem 0 2rem 50%;
  border: 1px solid var(--cpl-line);
  background: var(--cpl-panel-deep);
  box-shadow: 0.65rem 0.65rem 0 rgba(20, 61, 61, 0.66);
  transform: translateX(-50%);
}

table {
  min-width: 58rem;
  color: var(--cpl-text);
  font-variant-numeric: tabular-nums;
}

th,
td {
  padding: 0.9rem 1rem;
  border-right: 1px solid var(--cpl-line);
  border-bottom: 1px solid var(--cpl-line);
  color: var(--cpl-text);
  line-height: 1.55;
}

thead th {
  border-bottom: 2px solid var(--cpl-cyan);
  background: #143d3d;
  color: var(--cpl-text);
  font-size: 0.67rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

tbody tr:nth-child(even) {
  background: rgba(86, 230, 230, 0.055);
}

tbody td:first-child {
  color: var(--cpl-cyan);
  font-weight: 600;
}

/* Reference records resemble indexed assay reports. */
.vcuvhx {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.vcuvhx li {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 1.2rem 1.2rem 1.2rem 3.9rem;
  border: 1px solid var(--cpl-line);
  background: var(--cpl-panel);
  color: var(--cpl-text);
  overflow-wrap: anywhere;
}

.vcuvhx li::after {
  content: "";
  position: absolute;
  top: 1.15rem;
  left: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--cpl-cyan);
  -webkit-mask: var(--cpl-file) center / contain no-repeat;
  mask: var(--cpl-file) center / contain no-repeat;
}

.vcuvhx li::before {
  color: var(--cpl-cyan);
  font-weight: 700;
}

.vcuvhx li,
.vcuvhx li a {
  color: var(--cpl-text);
}

/* Supplemental renderer modules share the assay language. */
.vwvxnd {
  border: 1px solid var(--cpl-line);
  border-left: 3px solid var(--cpl-cyan);
  border-radius: 0;
  background: var(--cpl-panel);
  box-shadow: 0.5rem 0.5rem 0 rgba(20, 61, 61, 0.62);
}

.v45x9w li::before {
  color: var(--cpl-cyan);
}

.vrk0wy {
  gap: 1px;
  border: 1px solid var(--cpl-line);
  border-radius: 0;
  background: var(--cpl-line);
}

.v3qp0u {
  background: var(--cpl-panel-deep);
}

.vy5n4v {
  color: var(--cpl-cyan);
  font-variant-numeric: tabular-nums;
}

.v93esh {
  color: var(--cpl-text);
}

.v61po2 {
  border: 1px solid var(--cpl-cyan);
  border-radius: 0;
  background:
    linear-gradient(90deg, var(--cpl-grid) 1px, transparent 1px),
    #143d3d;
  background-size: 3rem 100%;
  color: var(--cpl-text);
  box-shadow: 0.7rem 0.7rem 0 var(--cpl-teal);
}

.v61po2 h2,
.v61po2 h3,
.v61po2 p {
  color: var(--cpl-text);
  opacity: 1;
}

/* Footer closes like a report colophon. */
.vglkf5 {
  margin-top: 0;
  border-top: 1px solid var(--cpl-cyan);
  background: var(--cpl-panel-deep);
}

.vglkf5::before {
  content: "CLEAN PEPTIDE LABS  /  RECORD ENDS";
  display: block;
  max-width: 78rem;
  margin: 0 auto;
  padding: 1.15rem clamp(1rem, 3vw, 2rem);
  border-bottom: 1px solid var(--cpl-line);
  color: var(--cpl-cyan);
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.vglkf5 .vj1bi1 {
  background: var(--cpl-panel-deep);
}

.vglkf5 .vo7s65 {
  grid-template-columns: repeat(2, minmax(11rem, 1fr));
  max-width: 40rem;
}

.vglkf5 .vo7s65 h2 {
  color: var(--cpl-cyan);
}

.vglkf5 .vo7s65 a {
  color: var(--cpl-text);
}

.vglkf5 .v03ehr {
  border-top: 1px solid var(--cpl-line);
  background: #143d3d;
}

.vtct01 {
  max-width: 62rem;
  color: var(--cpl-text);
  font-style: normal;
  opacity: 1;
}

.vqnpc9 {
  color: var(--cpl-text);
  opacity: 0.72;
}

@media (max-width: 960px) {
  .v9swen .vbsg4f a {
    font-size: 0.64rem;
  }

  .v9ddgs .container:has(.vcmhbn) {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.72fr);
  }

  .vcuvhx {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 4.5rem;
  }

  body {
    background-size: 2.5rem 2.5rem;
  }

  .v9swen .container {
    min-height: 4.4rem;
    padding-top: 0.58rem;
    padding-bottom: 0.58rem;
  }

  .vlwux7 {
    min-width: 0;
    max-width: calc(100vw - 5.5rem);
    font-size: 0.92rem;
  }

  .vlwux7::before {
    width: 2.25rem;
    height: 2.25rem;
    flex-basis: 2.25rem;
  }

  .vlwux7::after {
    left: 2.97rem;
    font-size: 0.44rem;
  }

  .v9swen .vbsg4f {
    top: 4.4rem;
    border-color: var(--cpl-cyan);
    background: var(--cpl-panel-deep);
  }

  .v9swen .vbsg4f a {
    display: block;
    padding: 0.48rem 0;
    color: var(--cpl-text);
    font-size: 0.83rem;
  }

  .v9ddgs::before,
  .v9ddgs::after {
    display: none;
  }

  .v9ddgs .container,
  .v9ddgs .container:has(.vcmhbn) {
    display: block;
    padding: 3rem 1rem 3.4rem;
  }

  .v9ddgs .container::before {
    top: 1.55rem;
    left: 1rem;
  }

  .v9ddgs h1 {
    max-width: 12ch;
    font-size: clamp(2.35rem, 13vw, 4rem);
  }

  .vcmhbn {
    margin-top: 2.2rem;
    box-shadow: 0.45rem 0.45rem 0 rgba(54, 140, 140, 0.48);
  }

  .vbstl0 {
    width: 100%;
    justify-content: space-between;
    text-align: left;
  }

  .v2hnsh {
    padding-top: 2rem;
  }

  .v9lmox {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    margin-bottom: 3rem;
  }

  .vm2opu {
    min-height: 0;
  }

  .vm2opu:nth-child(even) {
    transform: none;
  }

  .v2hnsh .container > section,
  .v2hnsh .container > section:first-of-type {
    max-width: 100%;
    margin-bottom: 0;
    padding: 4.1rem 0 2.25rem;
    border-right: 0;
    border-left: 0;
    box-shadow: none;
  }

  .v2hnsh .container > section::before,
  .v2hnsh .container > section:first-of-type::before {
    top: 1.15rem;
    left: 0;
    width: auto;
    height: auto;
    border: 0;
    background: transparent;
  }

  .v2hnsh .container > section:first-of-type::before {
    content: "READ FIRST";
    white-space: normal;
  }

  .v2hnsh .container > section h2 {
    font-size: 1.65rem;
  }

  .v54yok::after {
    display: none;
  }

  .vtnk8f {
    width: calc(100vw - 2rem);
    box-shadow: 0.35rem 0.35rem 0 rgba(20, 61, 61, 0.66);
  }

  .vcuvhx li {
    padding: 1.05rem 1rem 1.05rem 3.25rem;
  }

  .vcuvhx li::after {
    left: 1rem;
  }

  .vglkf5 .vo7s65 {
    grid-template-columns: 1fr;
  }
}
