:root {
  --vzhjfv: #56cce6;
  --vxtfun: #283a3e;
  --vj1z0x: #14363d;
  --von1f3: #367c8c;
  --vkekih: #6c95ef;
  --v52uwn: #56cce6;
  --vfmnr4: #2f373c;
  --vahwrx: #434c51;
  --vqh2mw: #89979f;
  --vz6r18: #181d20;
  --vi50wc: #1b2328;
  --vo5hd2: #293338;
  --v4n01w: #ebeeef;
  --vyfega: #a4adb2;
  --v5leta: #53c69c;
  --v1v5st: #e4b558;
  --ve5jog: #de625e;
  --vvunsm: 68.803rem;
  --vdhqjt: 71ch;
  --v0103u: #293338;
  --vw6l1t: clamp(1.04rem, 3vw, 1.884rem);
  --vxyqwv: 4.142rem;
  --vil0e5: 'Red Hat Display', system-ui, sans-serif;
  --v4hqlx: 'Red Hat Text', system-ui, sans-serif;
  --vo9bkd: 'Red Hat Display', system-ui, sans-serif;
  --vcyjyo: clamp(2.302rem, 4.5vw, 3.51rem);
  --vyav29: clamp(1.519rem, 3vw, 2.302rem);
  --vaeflq: 1.519rem;
  --v8vg83: 1.091rem;
  --vdi9j6: 0.853rem;
  --v2l9m0: 1.15;
  --vf33he: 1.65;
  --vpes7c: 0.512rem;
  --v6umr6: 0.733rem;
  --v9zbal: #111111;
  --vmnog3: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--v4hqlx); font-size: var(--v8vg83); line-height: var(--vf33he); color: var(--v4n01w); background: var(--vi50wc); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--vil0e5); line-height: var(--v2l9m0); font-weight: 700; color: var(--v4n01w); text-wrap: balance; }
h1 { font-size: var(--vcyjyo); letter-spacing: -0.021em; }
h2 { font-size: var(--vyav29); margin-top: 2.484rem; margin-bottom: 0.733rem; }
h3 { font-size: var(--vaeflq); margin-top: 1.786rem; margin-bottom: 0.512rem; }
p { margin-bottom: 1.04rem; }
a { color: var(--v52uwn); }
ul, ol { margin: 0 0 1.04rem 1.321rem; }
li { margin-bottom: 0.358rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.164); border: 1px solid rgba(128, 128, 128, 0.26); border-radius: 4px; padding: 0.103em 0.342em; font-size: 0.857em; color: var(--v4n01w); }
blockquote { border-left: 3px solid var(--vzhjfv); padding-left: 1.04rem; color: var(--vyfega); margin: 0 0 1.04rem; }
img { max-width: 100%; height: auto; display: block; }
sup.vpimpl a { text-decoration: none; color: var(--vkekih); font-weight: 600; }
.container { width: 100%; max-width: var(--vvunsm); margin-inline: auto; padding-inline: var(--vw6l1t); }
.vzjaas { position: absolute; left: -999px; }
.vzjaas:focus { left: 1.04rem; top: 1.04rem; background: var(--vo5hd2); padding: 0.512rem 1.04rem; z-index: 100; }
main { display: block; }
.v5ogxl { font-family: var(--vo9bkd); font-weight: 800; font-size: 1.21rem; color: var(--v4n01w); text-decoration: none; }
.valo7l { min-width: 0; }
.valo7l ul { display: flex; flex-wrap: wrap; gap: 1.321rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.valo7l li { white-space: nowrap; }
.valo7l a { color: var(--vyfega); text-decoration: none; font-size: var(--vdi9j6); font-weight: 600; }
.valo7l a:hover { color: var(--v52uwn); }
.vg8eea { display: none; background: none; border: 1px solid var(--vahwrx); border-radius: 6px; padding: 0.393rem 0.609rem; font-size: 1.094rem; line-height: 1; cursor: pointer; color: var(--v4n01w); }
.v9l87d { font-family: var(--vo9bkd); text-transform: uppercase; letter-spacing: 0.125em; font-size: var(--vdi9j6); font-weight: 700; color: var(--vkekih); margin-bottom: 0.733rem; }
.v0kddk { font-size: 1.21rem; color: var(--vyfega); margin-top: 1.04rem; max-width: 58ch; }
.vr16cp { display: flex; flex-wrap: wrap; gap: 0.733rem; margin-top: 1.786rem; }
.vga8xy { display: inline-block; padding: 0.836rem 1.683rem; border-radius: var(--vpes7c); font-weight: 700; text-decoration: none; font-size: var(--vdi9j6); transition: transform 0.157s ease, opacity 0.157s ease; }
.vga8xy:hover { transform: translateY(-1px); }
.vo5oct { background: var(--vzhjfv); color: var(--v9zbal); }
.vld9dh { background: transparent; color: var(--v52uwn); border: 1.5px solid var(--v52uwn); }
article > section, main > article { padding-block: 0.512rem; }
.vpajmj { padding-block: 1.04rem 3.059rem; }
.vpajmj .container > section { max-width: var(--vdhqjt); margin-inline: auto; }
.vpajmj .container > section.v1gqel, .vpajmj .container > .v1gqel { max-width: none; }
.vpajmj .container > section > .vnm5oz,
.vpajmj .container > section > .vm2pao,
.vpajmj .container > section > .varxm9,
.vpajmj .container > section > .v5tgqk,
.vpajmj .container > section > .v5klsw {
  --vsy4uy: min(var(--vvunsm) - 2 * var(--vw6l1t), 100vw - 2 * var(--vw6l1t));
  width: var(--vsy4uy);
  max-width: none;
  margin-inline: calc((100% - var(--vsy4uy)) / 2);
}
@media (max-width: 904px) {
  .vpajmj .container > section > .vnm5oz,
  .vpajmj .container > section > .vm2pao,
  .vpajmj .container > section > .varxm9,
  .vpajmj .container > section > .v5tgqk,
  .vpajmj .container > section > .v5klsw { width: 100%; margin-inline: 0; }
}
.v5klsw img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--vo5hd2); }
.vgmx5l img { aspect-ratio: 16 / 6; object-fit: cover; }
.varxm9 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.321rem, 3vw, 2.484rem); align-items: center; background: var(--v0103u, var(--vo5hd2)); border: 1px solid var(--vahwrx); border-radius: var(--v6umr6); padding: clamp(1.321rem, 3vw, 2.302rem); margin: 2.484rem 0; }
.v6l2gw img { border-radius: calc(var(--v6umr6) - 0.26rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.v6l2gw figcaption { font-size: var(--vdi9j6); color: var(--vyfega); margin-top: 0.609rem; line-height: 1.45; }
.vpho7r { font-family: var(--vo9bkd); text-transform: uppercase; letter-spacing: 0.103em; font-size: 0.733rem; font-weight: 700; color: var(--vkekih); margin-bottom: 0.609rem; }
.vii04o h2, .vii04o h3 { margin-top: 0; }
.vii04o p:last-child { margin-bottom: 0; }
@media (max-width: 724px) { .varxm9 { grid-template-columns: 1fr; } }
.vzxhzj { border-left: 3px solid var(--vkekih); background: var(--v0103u, var(--vo5hd2)); border-radius: 0 var(--v6umr6) var(--v6umr6) 0; padding: 1.321rem 1.519rem; margin: 1.884rem 0; }
.vzxhzj h2, .vzxhzj h3 { margin-top: 0; font-size: 0.993rem; text-transform: uppercase; letter-spacing: 0.077em; color: var(--vyfega); }
.vt2b4y { list-style: none; margin: 0.733rem 0 0; padding: 0; display: grid; gap: 0.609rem; }
.vt2b4y li { margin: 0; padding-left: 1.465rem; position: relative; }
.vt2b4y li::before { content: "\2014"; position: absolute; left: 0; color: var(--vkekih); font-weight: 700; }
.vm2pao { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.147rem), 1fr)); gap: 1px; background: var(--vahwrx); border: 1px solid var(--vahwrx); border-radius: var(--v6umr6); overflow: hidden; margin: 2.302rem 0; }
.vxpz54 { background: var(--vo5hd2); padding: 1.465rem 1.321rem; }
.vl2arx { font-family: var(--vo9bkd); font-size: clamp(1.786rem, 3.5vw, 2.484rem); font-weight: 800; line-height: 1.05; color: var(--vzhjfv); letter-spacing: -0.021em; }
.vhc61z { font-size: var(--vdi9j6); color: var(--vyfega); margin-top: 0.393rem; line-height: 1.4; }
.v5tgqk { background: var(--vzhjfv); color: var(--v9zbal); border-radius: var(--v6umr6); padding: clamp(1.519rem, 4vw, 2.84rem); margin: 3.059rem 0 1.04rem; text-align: center; }
.v5tgqk h2, .v5tgqk h3 { color: var(--v9zbal); margin-top: 0; }
.v5tgqk p { color: var(--v9zbal); opacity: 0.88; margin-inline: auto; max-width: 54ch; }
.v5tgqk .vr16cp { justify-content: center; }
.v5tgqk .vld9dh { color: var(--v9zbal); border-color: var(--v9zbal); }
.v5klsw img { border-radius: var(--v6umr6); width: 100%; }
.v5klsw figcaption { font-size: var(--vdi9j6); color: var(--vyfega); margin-top: 0.609rem; font-style: italic; }
.vgmx5l { margin: 1.519rem 0; }
.vgmx5l img { border-radius: var(--v6umr6); }
.v063cg { background: var(--vo5hd2); border: 1px solid #434c51; border-radius: var(--v6umr6); padding: 1.519rem; }
.vnm5oz { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.962rem), 1fr)); gap: 1.321rem; margin: 1.519rem 0 1.884rem; }
.vnm5oz .v063cg { display: flex; flex-direction: column; gap: 0.512rem; }
.vnm5oz .v063cg img { border-radius: calc(var(--v6umr6) - 0.26rem); margin-bottom: 0.512rem; aspect-ratio: 16 / 10; object-fit: cover; }
.vnm5oz .v063cg h2, .vnm5oz .v063cg h3 { margin: 0; font-size: 1.21rem; }
.vnm5oz .v063cg p { margin: 0; font-size: var(--vdi9j6); color: var(--vyfega); }
.vnm5oz .v063cg .v15obn { margin-top: auto; padding-top: 0.609rem; font-weight: 700; font-size: var(--vdi9j6); color: var(--v52uwn); text-decoration: none; }
.vnm5oz .v063cg .v15obn:hover { text-decoration: underline; }
.vrojse { margin: 1.519rem 0; }
.vrojse img { border-radius: var(--v6umr6); }
.vrojse figcaption { font-size: var(--vdi9j6); color: var(--vyfega); margin-top: 0.512rem; font-style: italic; }
.vk6a9l { overflow-x: auto; margin: 1.321rem 0 1.786rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vdi9j6); }
th, td { text-align: left; padding: 0.609rem 0.836rem; border-bottom: 1px solid var(--vahwrx); vertical-align: top; }
thead th { border-bottom: 2px solid var(--v4n01w); font-family: var(--vil0e5); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.081); }
.vrx4lv { padding-left: 1.519rem; }
.vrx4lv li { margin-bottom: 0.733rem; font-size: var(--vdi9j6); color: var(--vyfega); }
.vrx4lv li a { word-break: break-word; }
.vayhbn ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.v5145d.vwuh912 { border-bottom: 1px solid var(--vahwrx); background: var(--vo5hd2); position: sticky; top: 0; z-index: 50; }
.v5145d.vwuh912 .container { display: flex; align-items: center; justify-content: space-between; min-height: var(--vxyqwv); gap: 1.04rem; }
@media (max-width: 863px) {
  .v5145d.vwuh912 .vg8eea { display: block; }
  .v5145d.vwuh912 .valo7l { display: none; position: absolute; top: var(--vxyqwv); left: 0; right: 0; background: var(--vo5hd2); border-bottom: 1px solid var(--vahwrx); padding: 1.04rem var(--vw6l1t); z-index: 50; }
  .v5145d.vwuh912 .valo7l.vv5982 { display: block; }
  .v5145d.vwuh912 .valo7l ul { flex-direction: column; gap: 0.733rem; }
}
@media (min-width: 864px) {
  body.v14reo2 { padding-left: 14.285rem; }
  .v5145d.vwuh912 { position: fixed; top: 0; left: 0; bottom: 0; width: 14.285rem; border-right: 1px solid var(--vahwrx); border-bottom: none; }
  .v5145d.vwuh912 .container { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1.519rem; min-height: 0; padding-top: 1.884rem; max-width: none; }
  .v5145d.vwuh912 .valo7l ul { flex-direction: column; gap: 0.733rem; align-items: flex-start; }
  .v5145d.vwuh912 .vg8eea { display: none; }
}
.vcm1wi.v46wtl0 { padding: clamp(2.484rem, 6vw, 4.989rem) 0 clamp(1.519rem, 4vw, 3.059rem); }
.vcm1wi.v46wtl0 .container { max-width: min(var(--vvunsm), 58.204rem); }
.vcm1wi.v46wtl0 h1 { max-width: 23ch; }
.vwd1kn.vamoq70 { background: var(--vj1z0x); color: var(--vmnog3); margin-top: 4.142rem; padding-block: 2.484rem; }
.vwd1kn.vamoq70 a { color: var(--vmnog3); text-decoration: none; opacity: 0.85; }
.vwd1kn.vamoq70 a:hover { opacity: 1; text-decoration: underline; }
.vwd1kn.vamoq70 .ve8gvz { font-style: italic; opacity: 0.8; margin-bottom: 1.519rem; max-width: 58ch; }
.vwd1kn.vamoq70 .vayhbn { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.519rem; }
.vwd1kn.vamoq70 .vayhbn h2 { font-size: var(--vdi9j6); text-transform: uppercase; letter-spacing: 0.077em; margin: 0 0 0.609rem; opacity: 0.7; }
.vwd1kn.vamoq70 .vayhbn li { margin-bottom: 0.393rem; font-size: var(--vdi9j6); }
.vwd1kn.vamoq70 .vswh2b { margin-top: 1.786rem; font-size: var(--vdi9j6); opacity: 0.6; }

/* ---- per-site theme layer ---- */
/* Saints Peptides — hard-tissue scan file */
:root {
  --sp-bg: #1b2328;
  --sp-deep: #181d20;
  --sp-panel: #293338;
  --sp-panel-2: #283a3e;
  --sp-line: #434c51;
  --sp-text: #ebeeef;
  --sp-muted: #a4adb2;
  --sp-cyan: #56cce6;
  --sp-blue: #6c95ef;
  --sp-green: #53c69c;
  --sp-warning: #e4b558;
  --sp-shadow: 0 1.4rem 4rem rgba(0, 0, 0, .28);
  --sp-scan: repeating-linear-gradient(90deg, rgba(86, 204, 230, .13) 0 1px, transparent 1px 4.5rem);
}

html {
  scroll-padding-top: 1rem;
  background: var(--sp-bg);
}

body {
  overflow-x: hidden;
  background-color: var(--sp-bg);
  background-image:
    linear-gradient(90deg, rgba(86, 204, 230, .035) 1px, transparent 1px),
    linear-gradient(rgba(86, 204, 230, .025) 1px, transparent 1px);
  background-size: 4.5rem 4.5rem;
  color: var(--sp-text);
  font-size: 1.06rem;
  letter-spacing: -.007em;
  text-rendering: optimizeLegibility;
}

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

a {
  text-decoration-thickness: .08em;
  text-underline-offset: .19em;
}

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

h1,
h2,
h3,
h4 {
  letter-spacing: -.035em;
}

h1 {
  font-size: clamp(2.55rem, 5.7vw, 5.4rem);
  font-weight: 600;
  line-height: .94;
}

h2 {
  font-weight: 600;
}

/* Fixed specimen index: the wordmark reads as an instrument label. */
.v5145d {
  background:
    linear-gradient(180deg, rgba(86, 204, 230, .08), transparent 10rem),
    var(--sp-deep);
  border-color: rgba(86, 204, 230, .26);
  box-shadow: .8rem 0 2.5rem rgba(0, 0, 0, .18);
}

.v5145d::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .28rem;
  background: linear-gradient(180deg, var(--sp-cyan) 0 38%, var(--sp-blue) 38% 63%, transparent 63%);
}

.v5ogxl {
  position: relative;
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: .78rem;
  width: 100%;
  padding: 0 0 1.15rem;
  border-bottom: 1px solid var(--sp-line);
  color: var(--sp-text);
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.04;
}

.v5ogxl::before {
  content: "SP";
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 2.75rem;
  aspect-ratio: 1;
  border: 1px solid var(--sp-cyan);
  background:
    linear-gradient(135deg, transparent 0 46%, rgba(86, 204, 230, .22) 46% 54%, transparent 54%),
    var(--sp-panel);
  color: var(--sp-cyan);
  box-shadow: .27rem .27rem 0 var(--sp-blue);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.v5ogxl::after {
  content: "REPAIR EVIDENCE UNIT";
  grid-column: 2;
  color: var(--sp-muted);
  font-family: var(--v4hqlx);
  font-size: .56rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.3;
}

.valo7l a {
  position: relative;
  display: block;
  min-width: 10.5rem;
  padding: .32rem .25rem .32rem 1rem;
  border-left: 1px solid var(--sp-line);
  color: var(--sp-muted);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.valo7l a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -.2rem;
  width: .34rem;
  height: .34rem;
  border: 1px solid var(--sp-cyan);
  background: var(--sp-deep);
  transform: translateY(-50%) rotate(45deg);
}

.valo7l a:hover,
.valo7l a:focus-visible {
  color: var(--sp-text);
  border-left-color: var(--sp-cyan);
  text-decoration: none;
}

.vg8eea {
  border-radius: 0;
  border-color: var(--sp-cyan);
  background: var(--sp-panel);
  color: var(--sp-cyan);
}

.vzjaas:focus {
  border: 1px solid var(--sp-cyan);
  border-radius: 0;
  color: var(--sp-text);
  box-shadow: .3rem .3rem 0 var(--sp-blue);
}

/* A diagnostic plate rather than a generic banner. */
.vcm1wi {
  position: relative;
  overflow: hidden;
  padding: 0;
  border-bottom: 1px solid rgba(86, 204, 230, .26);
  background:
    radial-gradient(circle at 83% 28%, rgba(108, 149, 239, .18), transparent 28rem),
    linear-gradient(145deg, var(--sp-deep), var(--sp-bg) 63%);
}

.vcm1wi::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(90deg, transparent 0 74%, rgba(86, 204, 230, .08) 74% 74.15%, transparent 74.15%),
    repeating-linear-gradient(0deg, transparent 0 3.95rem, rgba(86, 204, 230, .055) 3.95rem 4rem);
  pointer-events: none;
}

.vcm1wi::after {
  content: "BONE / CARTILAGE / MATRIX";
  position: absolute;
  right: 1.4rem;
  bottom: 1.1rem;
  color: var(--sp-muted);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  writing-mode: vertical-rl;
}

.vcm1wi .container {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, .85fr);
  grid-template-rows: auto auto auto auto;
  gap: 0 clamp(2rem, 5vw, 5rem);
  align-items: center;
  max-width: 72rem;
  min-height: 38rem;
  padding-top: clamp(3.4rem, 7vw, 7rem);
  padding-bottom: clamp(3.4rem, 7vw, 7rem);
}

.vcm1wi .container:not(:has(.vgmx5l)) {
  grid-template-columns: minmax(0, 1fr) minmax(10rem, .38fr);
}

.vcm1wi .container:not(:has(.vgmx5l))::after {
  content: "+";
  grid-column: 2;
  grid-row: 1 / 5;
  display: grid;
  place-items: center;
  width: min(100%, 13rem);
  aspect-ratio: 1;
  justify-self: end;
  border: 1px solid var(--sp-line);
  background:
    linear-gradient(90deg, transparent calc(50% - 1px), rgba(86, 204, 230, .32) 50%, transparent calc(50% + 1px)),
    linear-gradient(transparent calc(50% - 1px), rgba(86, 204, 230, .32) 50%, transparent calc(50% + 1px)),
    radial-gradient(circle, transparent 0 34%, rgba(108, 149, 239, .2) 34.5% 35%, transparent 35.5%),
    var(--sp-deep);
  color: var(--sp-cyan);
  box-shadow: .65rem .65rem 0 rgba(108, 149, 239, .16);
  font-size: 3rem;
  font-weight: 400;
}

.vcm1wi .v9l87d,
.vcm1wi h1,
.vcm1wi .v0kddk,
.vcm1wi .vr16cp {
  grid-column: 1;
}

.v9l87d {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.1rem;
  color: var(--sp-cyan);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .18em;
}

.v9l87d::before {
  content: "";
  width: 2.7rem;
  height: .42rem;
  background: repeating-linear-gradient(90deg, var(--sp-cyan) 0 2px, transparent 2px 6px);
}

.vcm1wi h1 {
  max-width: 12ch;
  margin-bottom: 1.35rem;
}

.vcm1wi h1::after {
  content: "";
  display: block;
  width: clamp(6rem, 14vw, 11rem);
  height: .22rem;
  margin-top: 1.4rem;
  background: linear-gradient(90deg, var(--sp-cyan) 0 68%, var(--sp-blue) 68%);
}

.v0kddk {
  max-width: 49ch;
  margin: 0;
  color: var(--sp-text);
  font-size: clamp(1.02rem, 1.7vw, 1.22rem);
  line-height: 1.62;
}

.vr16cp {
  margin-top: 1.8rem;
}

.vga8xy {
  border-radius: .15rem;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.vo5oct {
  border: 1px solid var(--sp-cyan);
  background: var(--sp-cyan);
  color: var(--sp-deep);
  box-shadow: .35rem .35rem 0 var(--sp-blue);
}

.vld9dh {
  border-color: var(--sp-line);
  color: var(--sp-text);
}

.vld9dh:hover {
  border-color: var(--sp-cyan);
  color: var(--sp-cyan);
}

.vgmx5l {
  position: relative;
  grid-column: 2;
  grid-row: 1 / 5;
  width: 100%;
  margin: 0;
  padding: .65rem;
  border: 1px solid var(--sp-line);
  background: rgba(24, 29, 32, .78);
  box-shadow: 1rem 1rem 0 rgba(108, 149, 239, .18), var(--sp-shadow);
}

.vgmx5l::before,
.vgmx5l::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 2.15rem;
  height: 2.15rem;
  pointer-events: none;
}

.vgmx5l::before {
  top: -.35rem;
  left: -.35rem;
  border-top: 2px solid var(--sp-cyan);
  border-left: 2px solid var(--sp-cyan);
}

.vgmx5l::after {
  right: -.35rem;
  bottom: -.35rem;
  border-right: 2px solid var(--sp-blue);
  border-bottom: 2px solid var(--sp-blue);
}

.vgmx5l img {
  width: 100%;
  min-height: 27rem;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(.82) contrast(1.08);
}

/* The article reads as a numbered clinical file. */
.vpajmj {
  padding: clamp(2.5rem, 6vw, 5.5rem) 0 4rem;
}

.vpajmj .container {
  counter-reset: sp-section;
}

.vpajmj .container > section {
  position: relative;
  counter-increment: sp-section;
  max-width: 74ch;
  padding: clamp(2.6rem, 5vw, 4.6rem) 0 clamp(2.8rem, 5vw, 4.8rem) 5.2rem;
  border-top: 1px solid var(--sp-line);
}

.vpajmj .container > section::before {
  content: counter(sp-section, decimal-leading-zero);
  position: absolute;
  top: clamp(2.9rem, 5vw, 4.9rem);
  left: 0;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 2rem;
  border: 1px solid var(--sp-cyan);
  color: var(--sp-cyan);
  background: var(--sp-deep);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.vpajmj .container > section h2 {
  position: relative;
  max-width: 22ch;
  margin: 0 0 1.35rem;
  font-size: clamp(1.65rem, 3.2vw, 2.55rem);
  line-height: 1.05;
}

.vpajmj .container > section h2::after {
  content: "";
  display: block;
  width: 3.7rem;
  height: 2px;
  margin-top: .8rem;
  background: var(--sp-blue);
}

.vpajmj .container > section p,
.vpajmj .container > section li {
  line-height: 1.78;
}

.vpajmj .container > section:first-of-type {
  max-width: 78ch;
  margin-bottom: 2rem;
  padding: clamp(2rem, 4vw, 3rem) clamp(1.4rem, 4vw, 3.4rem) clamp(2rem, 4vw, 3rem) 6.5rem;
  border: 1px solid var(--sp-line);
  border-top: .28rem solid var(--sp-cyan);
  background:
    linear-gradient(135deg, rgba(86, 204, 230, .08), transparent 55%),
    var(--sp-panel);
  box-shadow: .65rem .65rem 0 rgba(108, 149, 239, .16);
}

.vpajmj .container > section:first-of-type::before {
  top: 2.25rem;
  left: 1.5rem;
  border-color: var(--sp-blue);
  color: var(--sp-text);
  background: var(--sp-blue);
}

blockquote {
  position: relative;
  margin: 2rem 0;
  padding: 1.4rem 1.5rem 1.4rem 4rem;
  border: 1px solid var(--sp-line);
  border-left: .24rem solid var(--sp-blue);
  background: var(--sp-panel);
  color: var(--sp-text);
}

blockquote::before {
  content: "+";
  position: absolute;
  top: 1.15rem;
  left: 1.3rem;
  color: var(--sp-cyan);
  font-size: 1.65rem;
  font-weight: 500;
}

/* Asymmetric specimen cards, numbered like case files. */
.vnm5oz {
  counter-reset: sp-card;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 clamp(3rem, 7vw, 6rem);
  background: transparent;
  border: 0;
  overflow: visible;
}

.vnm5oz .v063cg {
  position: relative;
  counter-increment: sp-card;
  grid-column: span 6;
  min-height: 19rem;
  padding: 4.6rem clamp(1.4rem, 3vw, 2.2rem) 2rem;
  border: 1px solid var(--sp-line);
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(86, 204, 230, .08), transparent 52%),
    var(--sp-panel);
  box-shadow: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.vnm5oz .v063cg:nth-child(1),
.vnm5oz .v063cg:nth-child(4) {
  grid-column: span 7;
}

.vnm5oz .v063cg:nth-child(2),
.vnm5oz .v063cg:nth-child(3) {
  grid-column: span 5;
}

.vnm5oz .v063cg::before {
  content: "SPECIMEN 0" counter(sp-card);
  position: absolute;
  top: 1.35rem;
  left: 1.5rem;
  color: var(--sp-cyan);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.vnm5oz .v063cg::after {
  content: "";
  position: absolute;
  top: 1.35rem;
  right: 1.5rem;
  width: 1rem;
  height: 1rem;
  border: 1px solid var(--sp-blue);
  transform: rotate(45deg);
}

.vnm5oz .v063cg:hover {
  z-index: 1;
  border-color: var(--sp-cyan);
  box-shadow: .55rem .55rem 0 rgba(86, 204, 230, .16);
  transform: translateY(-.25rem);
}

.vnm5oz .v063cg h3 {
  margin: 0 0 .6rem;
  color: var(--sp-text);
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.vnm5oz .v063cg p {
  color: var(--sp-text);
  font-size: .9rem;
  line-height: 1.68;
}

.v15obn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--sp-cyan);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.v15obn::after {
  content: "→";
  color: var(--sp-blue);
  font-size: 1.1rem;
}

.vrojse,
.v5klsw {
  padding: .6rem;
  border: 1px solid var(--sp-line);
  border-radius: 0;
  background: var(--sp-deep);
}

.vrojse img,
.v5klsw img {
  border-radius: 0;
}

.vzxhzj {
  border: 1px solid var(--sp-line);
  border-left: .35rem solid var(--sp-cyan);
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(86, 204, 230, .1), transparent 42%),
    var(--sp-panel);
}

.vzxhzj h2,
.vzxhzj h3 {
  color: var(--sp-cyan);
}

.vt2b4y li::before {
  content: "+";
  color: var(--sp-cyan);
}

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

.vxpz54 {
  position: relative;
  background: var(--sp-deep);
}

.vxpz54::before {
  content: "";
  position: absolute;
  top: .75rem;
  right: .75rem;
  width: .48rem;
  height: .48rem;
  border: 1px solid var(--sp-blue);
  transform: rotate(45deg);
}

.vl2arx {
  color: var(--sp-cyan);
  font-weight: 600;
}

.vhc61z {
  color: var(--sp-text);
}

/* Comparison table as a horizontal evidence matrix. */
.vk6a9l {
  margin: 2rem 0 3rem;
  border: 1px solid var(--sp-line);
  background: var(--sp-deep);
  box-shadow: var(--sp-shadow);
}

table {
  min-width: 52rem;
  background: var(--sp-deep);
  color: var(--sp-text);
  font-size: .8rem;
}

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

thead th {
  border-bottom: .22rem solid var(--sp-cyan);
  background: var(--sp-panel-2);
  color: var(--sp-text);
  font-size: .67rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

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

tbody tr:hover {
  background: rgba(108, 149, 239, .1);
}

/* References use the same square-plus icon language as cautions and notes. */
.vrx4lv {
  display: grid;
  gap: .8rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}

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

.vrx4lv li::before {
  top: 1.05rem;
  left: 1rem;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid var(--sp-cyan);
  background: var(--sp-deep);
  color: var(--sp-cyan);
  font-weight: 700;
}

.vpimpl {
  color: var(--sp-text);
  overflow-wrap: anywhere;
}

.v5tgqk {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sp-cyan);
  border-radius: 0;
  background:
    linear-gradient(105deg, rgba(86, 204, 230, .18), transparent 46%),
    var(--sp-deep);
  color: var(--sp-text);
  text-align: left;
  box-shadow: .7rem .7rem 0 rgba(108, 149, 239, .2);
}

.v5tgqk::after {
  content: "+";
  position: absolute;
  right: clamp(1.2rem, 4vw, 3rem);
  top: 50%;
  color: rgba(86, 204, 230, .22);
  font-size: clamp(5rem, 15vw, 11rem);
  font-weight: 400;
  line-height: 1;
  transform: translateY(-52%);
}

.v5tgqk h2,
.v5tgqk h3,
.v5tgqk p {
  position: relative;
  z-index: 1;
  margin-left: 0;
  color: var(--sp-text);
  text-align: left;
}

/* Deep footer, resolved like the close of a case file. */
.vwd1kn {
  position: relative;
  margin-top: 0;
  border-top: .35rem solid var(--sp-cyan);
  background:
    linear-gradient(90deg, transparent 0 67%, rgba(86, 204, 230, .04) 67%),
    var(--sp-deep);
  color: var(--sp-text);
}

.vwd1kn::before {
  content: "SP / LITERATURE FILE";
  display: block;
  padding: .65rem max(1rem, calc((100vw - 72rem) / 2));
  border-bottom: 1px solid var(--sp-line);
  color: var(--sp-cyan);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .17em;
}

.vwd1kn .container {
  padding-top: 3.4rem;
  padding-bottom: 2.2rem;
}

.ve8gvz {
  max-width: 67ch;
  padding: 0 0 1.5rem 1.4rem;
  border-left: .24rem solid var(--sp-blue);
  color: var(--sp-text);
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1.65;
  opacity: 1;
}

.vayhbn {
  padding-top: 1.8rem;
  border-top: 1px solid var(--sp-line);
}

.vayhbn h2,
.v3jpk9 {
  color: var(--sp-cyan);
  letter-spacing: .13em;
}

.vwd1kn a {
  color: var(--sp-text);
  opacity: .78;
}

.vwd1kn a:hover {
  color: var(--sp-cyan);
  opacity: 1;
}

.vswh2b {
  padding-top: 1.4rem;
  border-top: 1px solid var(--sp-line);
  color: var(--sp-muted);
  opacity: 1;
}

@media (max-width: 1020px) {
  .vcm1wi .container {
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .72fr);
    gap: 0 2rem;
  }

  .vcm1wi .container:not(:has(.vgmx5l)) {
    grid-template-columns: minmax(0, 1fr);
  }

  .vcm1wi .container:not(:has(.vgmx5l))::after {
    display: none;
  }

  .vgmx5l img {
    min-height: 23rem;
  }
}

@media (max-width: 760px) {
  body {
    background-size: 3.5rem 3.5rem;
  }

  h1 {
    font-size: clamp(2.35rem, 12vw, 3.7rem);
  }

  .v5145d::before {
    inset: 0 0 auto;
    width: auto;
    height: .25rem;
    background: linear-gradient(90deg, var(--sp-cyan) 0 58%, var(--sp-blue) 58% 78%, transparent 78%);
  }

  .v5145d .container {
    min-height: 4.8rem;
  }

  .v5ogxl {
    width: auto;
    min-width: 0;
    grid-template-columns: 2.15rem minmax(0, 1fr);
    padding: 0;
    border: 0;
    font-size: .98rem;
    white-space: nowrap;
  }

  .v5ogxl::before {
    width: 2.15rem;
  }

  .v5ogxl::after {
    font-size: .48rem;
    letter-spacing: .09em;
  }

  .valo7l a {
    min-width: 0;
    padding: .48rem .25rem .48rem 1rem;
  }

  .vcm1wi::after {
    display: none;
  }

  .vcm1wi .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 0;
    min-height: 0;
    padding-top: 3.25rem;
    padding-bottom: 3.5rem;
  }

  .vcm1wi .v9l87d,
  .vcm1wi h1,
  .vcm1wi .v0kddk,
  .vcm1wi .vr16cp,
  .vgmx5l {
    grid-column: 1;
    grid-row: auto;
  }

  .vcm1wi h1 {
    max-width: 14ch;
  }

  .vgmx5l {
    margin-top: 2.5rem;
    box-shadow: .55rem .55rem 0 rgba(108, 149, 239, .18);
  }

  .vgmx5l img {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .vpajmj {
    padding-top: 2.7rem;
  }

  .vpajmj .container > section,
  .vpajmj .container > section:first-of-type {
    padding: 4.5rem 0 2.8rem;
  }

  .vpajmj .container > section:first-of-type {
    padding-right: 1.2rem;
    padding-bottom: 2rem;
    padding-left: 1.2rem;
  }

  .vpajmj .container > section::before,
  .vpajmj .container > section:first-of-type::before {
    top: 1.25rem;
    left: 0;
  }

  .vpajmj .container > section:first-of-type::before {
    left: 1.2rem;
  }

  .vnm5oz {
    grid-template-columns: minmax(0, 1fr);
  }

  .vnm5oz .v063cg,
  .vnm5oz .v063cg:nth-child(1),
  .vnm5oz .v063cg:nth-child(2),
  .vnm5oz .v063cg:nth-child(3),
  .vnm5oz .v063cg:nth-child(4) {
    grid-column: 1;
    min-height: 0;
  }

  .vrx4lv li {
    padding: 4rem 1rem 1.1rem;
  }

  .vrx4lv li::before {
    top: 1rem;
  }

  .v5tgqk::after {
    right: -1rem;
    opacity: .55;
  }
}
