:root {
  --vw2yo8: #e378b8;
  --v3fow2: #482e3d;
  --vt0xru: #491835;
  --v0ha34: #964074;
  --vsfw4o: #b08dec;
  --vp3q7q: #e378b8;
  --v6zmrd: #413546;
  --vllkei: #56485b;
  --vj764z: #9988a0;
  --vhbhuv: #261e29;
  --v5rbmp: #2d2032;
  --v1yir9: #3d2e42;
  --vmgpr1: #eeebf0;
  --vt07vb: #b4a8b8;
  --vyp3dt: #53c69c;
  --vxfnsy: #e4b558;
  --vu1rx1: #de625e;
  --vbql6h: 75.603rem;
  --v5s07m: 64ch;
  --v5cq25: #3d2e42;
  --vxwprk: clamp(1.017rem, 3vw, 1.884rem);
  --vwyfci: 4.16rem;
  --v42na0: 'Space Grotesk', system-ui, sans-serif;
  --vwvknm: 'IBM Plex Sans', system-ui, sans-serif;
  --v5ze7w: 'Space Grotesk', system-ui, sans-serif;
  --vg94j3: clamp(2.166rem, 4.5vw, 3.42rem);
  --vmoh6a: clamp(1.512rem, 3vw, 2.166rem);
  --v9gunp: 1.512rem;
  --v3kxv4: 1.025rem;
  --vgxuo3: 0.891rem;
  --v14j7x: 1.15;
  --vrykw5: 1.65;
  --vlvv4z: 0.498rem;
  --v7okw5: 0.753rem;
  --v5a820: #111111;
  --vi183e: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--vwvknm); font-size: var(--v3kxv4); line-height: var(--vrykw5); color: var(--vmgpr1); background: var(--v5rbmp); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--v42na0); line-height: var(--v14j7x); font-weight: 700; color: var(--vmgpr1); text-wrap: balance; }
h1 { font-size: var(--vg94j3); letter-spacing: -0.02em; }
h2 { font-size: var(--vmoh6a); margin-top: 2.466rem; margin-bottom: 0.753rem; }
h3 { font-size: var(--v9gunp); margin-top: 1.828rem; margin-bottom: 0.498rem; }
p { margin-bottom: 1.017rem; }
a { color: var(--vp3q7q); }
ul, ol { margin: 0 0 1.017rem 1.235rem; }
li { margin-bottom: 0.341rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.133); border: 1px solid rgba(128, 128, 128, 0.264); border-radius: 4px; padding: 0.099em 0.343em; font-size: 0.863em; color: var(--vmgpr1); }
blockquote { border-left: 3px solid var(--vw2yo8); padding-left: 1.017rem; color: var(--vt07vb); margin: 0 0 1.017rem; }
img { max-width: 100%; height: auto; display: block; }
sup.c3ulmc a { text-decoration: none; color: var(--vsfw4o); font-weight: 600; }
.container { width: 100%; max-width: var(--vbql6h); margin-inline: auto; padding-inline: var(--vxwprk); }
.chltc7 { position: absolute; left: -999px; }
.chltc7:focus { left: 1.017rem; top: 1.017rem; background: var(--v1yir9); padding: 0.498rem 1.017rem; z-index: 100; }
main { display: block; }
.ca8384 { font-family: var(--v5ze7w); font-weight: 800; font-size: 1.229rem; color: var(--vmgpr1); text-decoration: none; }
.c584e4 { min-width: 0; }
.c584e4 ul { display: flex; flex-wrap: wrap; gap: 1.235rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.c584e4 li { white-space: nowrap; }
.c584e4 a { color: var(--vt07vb); text-decoration: none; font-size: var(--vgxuo3); font-weight: 600; }
.c584e4 a:hover { color: var(--vp3q7q); }
.cry69v { display: none; background: none; border: 1px solid var(--vllkei); border-radius: 6px; padding: 0.412rem 0.621rem; font-size: 1.041rem; line-height: 1; cursor: pointer; color: var(--vmgpr1); }
.cwu656 { font-family: var(--v5ze7w); text-transform: uppercase; letter-spacing: 0.122em; font-size: var(--vgxuo3); font-weight: 700; color: var(--vsfw4o); margin-bottom: 0.753rem; }
.cwk8cb { font-size: 1.229rem; color: var(--vt07vb); margin-top: 1.017rem; max-width: 57ch; }
.c9lmjy { display: flex; flex-wrap: wrap; gap: 0.753rem; margin-top: 1.828rem; }
.c08og5 { display: inline-block; padding: 0.81rem 1.598rem; border-radius: var(--vlvv4z); font-weight: 700; text-decoration: none; font-size: var(--vgxuo3); transition: transform 0.145s ease, opacity 0.145s ease; }
.c08og5:hover { transform: translateY(-1px); }
.crr4su { background: var(--vw2yo8); color: var(--v5a820); }
.cc69ya { background: transparent; color: var(--vp3q7q); border: 1.5px solid var(--vp3q7q); }
article > section, main > article { padding-block: 0.498rem; }
.c6lz8o { padding-block: 1.017rem 2.846rem; }
.c6lz8o .container > section { max-width: var(--v5s07m); margin-inline: auto; }
.c6lz8o .container > section.cdqzqo, .c6lz8o .container > .cdqzqo { max-width: none; }
.c6lz8o .container > section > .c0niw4,
.c6lz8o .container > section > .czxjnz,
.c6lz8o .container > section > .czhkte,
.c6lz8o .container > section > .cxi21t,
.c6lz8o .container > section > .cwmdyt {
  --vyicjb: min(var(--vbql6h) - 2 * var(--vxwprk), 100vw - 2 * var(--vxwprk));
  width: var(--vyicjb);
  max-width: none;
  margin-inline: calc((100% - var(--vyicjb)) / 2);
}
@media (max-width: 903px) {
  .c6lz8o .container > section > .c0niw4,
  .c6lz8o .container > section > .czxjnz,
  .c6lz8o .container > section > .czhkte,
  .c6lz8o .container > section > .cxi21t,
  .c6lz8o .container > section > .cwmdyt { width: 100%; margin-inline: 0; }
}
.cwmdyt img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--v1yir9); }
.cbps9q img { aspect-ratio: 16 / 6; object-fit: cover; }
.czhkte { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.235rem, 3vw, 2.466rem); align-items: center; background: var(--v5cq25, var(--v1yir9)); border: 1px solid var(--vllkei); border-radius: var(--v7okw5); padding: clamp(1.235rem, 3vw, 2.166rem); margin: 2.466rem 0; }
.cq7kv7 img { border-radius: calc(var(--v7okw5) - 0.26rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cq7kv7 figcaption { font-size: var(--vgxuo3); color: var(--vt07vb); margin-top: 0.621rem; line-height: 1.45; }
.c7uy2s { font-family: var(--v5ze7w); text-transform: uppercase; letter-spacing: 0.099em; font-size: 0.753rem; font-weight: 700; color: var(--vsfw4o); margin-bottom: 0.621rem; }
.cx0jrx h2, .cx0jrx h3 { margin-top: 0; }
.cx0jrx p:last-child { margin-bottom: 0; }
@media (max-width: 723px) { .czhkte { grid-template-columns: 1fr; } }
.cdn6g6 { border-left: 3px solid var(--vsfw4o); background: var(--v5cq25, var(--v1yir9)); border-radius: 0 var(--v7okw5) var(--v7okw5) 0; padding: 1.235rem 1.512rem; margin: 1.884rem 0; }
.cdn6g6 h2, .cdn6g6 h3 { margin-top: 0; font-size: 1.086rem; text-transform: uppercase; letter-spacing: 0.083em; color: var(--vt07vb); }
.cxebwl { list-style: none; margin: 0.753rem 0 0; padding: 0; display: grid; gap: 0.621rem; }
.cxebwl li { margin: 0; padding-left: 1.352rem; position: relative; }
.cxebwl li::before { content: "\2014"; position: absolute; left: 0; color: var(--vsfw4o); font-weight: 700; }
.czxjnz { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.174rem), 1fr)); gap: 1px; background: var(--vllkei); border: 1px solid var(--vllkei); border-radius: var(--v7okw5); overflow: hidden; margin: 2.166rem 0; }
.czmcjh { background: var(--v1yir9); padding: 1.352rem 1.235rem; }
.c955bk { font-family: var(--v5ze7w); font-size: clamp(1.828rem, 3.5vw, 2.466rem); font-weight: 800; line-height: 1.05; color: var(--vw2yo8); letter-spacing: -0.02em; }
.ch6ik6 { font-size: var(--vgxuo3); color: var(--vt07vb); margin-top: 0.412rem; line-height: 1.4; }
.cxi21t { background: var(--vw2yo8); color: var(--v5a820); border-radius: var(--v7okw5); padding: clamp(1.512rem, 4vw, 2.679rem); margin: 2.846rem 0 1.017rem; text-align: center; }
.cxi21t h2, .cxi21t h3 { color: var(--v5a820); margin-top: 0; }
.cxi21t p { color: var(--v5a820); opacity: 0.88; margin-inline: auto; max-width: 57ch; }
.cxi21t .c9lmjy { justify-content: center; }
.cxi21t .cc69ya { color: var(--v5a820); border-color: var(--v5a820); }
.cwmdyt img { border-radius: var(--v7okw5); width: 100%; }
.cwmdyt figcaption { font-size: var(--vgxuo3); color: var(--vt07vb); margin-top: 0.621rem; font-style: italic; }
.cbps9q { margin: 1.512rem 0; }
.cbps9q img { border-radius: var(--v7okw5); }
.c73nup { background: var(--v1yir9); border: 1px solid #56485b; border-radius: var(--v7okw5); padding: 1.512rem; }
.c0niw4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.351rem), 1fr)); gap: 1.235rem; margin: 1.512rem 0 1.884rem; }
.c0niw4 .c73nup { display: flex; flex-direction: column; gap: 0.498rem; }
.c0niw4 .c73nup img { border-radius: calc(var(--v7okw5) - 0.26rem); margin-bottom: 0.498rem; aspect-ratio: 16 / 10; object-fit: cover; }
.c0niw4 .c73nup h2, .c0niw4 .c73nup h3 { margin: 0; font-size: 1.229rem; }
.c0niw4 .c73nup p { margin: 0; font-size: var(--vgxuo3); color: var(--vt07vb); }
.c0niw4 .c73nup .ccyutw { margin-top: auto; padding-top: 0.621rem; font-weight: 700; font-size: var(--vgxuo3); color: var(--vp3q7q); text-decoration: none; }
.c0niw4 .c73nup .ccyutw:hover { text-decoration: underline; }
.cl9jq7 { margin: 1.512rem 0; }
.cl9jq7 img { border-radius: var(--v7okw5); }
.cl9jq7 figcaption { font-size: var(--vgxuo3); color: var(--vt07vb); margin-top: 0.498rem; font-style: italic; }
.cp01gg { overflow-x: auto; margin: 1.235rem 0 1.828rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vgxuo3); }
th, td { text-align: left; padding: 0.621rem 0.81rem; border-bottom: 1px solid var(--vllkei); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vmgpr1); font-family: var(--v42na0); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.074); }
.c2l04g { padding-left: 1.512rem; }
.c2l04g li { margin-bottom: 0.753rem; font-size: var(--vgxuo3); color: var(--vt07vb); }
.c2l04g li a { word-break: break-word; }
.ch008g ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.cd4y7e.c2miqi2 { border-bottom: 1px solid var(--vllkei); background: var(--v1yir9); position: sticky; top: 0; z-index: 50; }
.cd4y7e.c2miqi2 .container { display: flex; align-items: center; justify-content: space-between; min-height: var(--vwyfci); gap: 1.017rem; }
@media (max-width: 862px) {
  .cd4y7e.c2miqi2 .cry69v { display: block; }
  .cd4y7e.c2miqi2 .c584e4 { display: none; position: absolute; top: var(--vwyfci); left: 0; right: 0; background: var(--v1yir9); border-bottom: 1px solid var(--vllkei); padding: 1.017rem var(--vxwprk); z-index: 50; }
  .cd4y7e.c2miqi2 .c584e4.c279ff { display: block; }
  .cd4y7e.c2miqi2 .c584e4 ul { flex-direction: column; gap: 0.753rem; }
}
@media (min-width: 863px) {
  body.cqq9g12 { padding-left: 14.309rem; }
  .cd4y7e.c2miqi2 { position: fixed; top: 0; left: 0; bottom: 0; width: 14.309rem; border-right: 1px solid var(--vllkei); border-bottom: none; }
  .cd4y7e.c2miqi2 .container { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 1.512rem; min-height: 0; padding-top: 1.884rem; max-width: none; }
  .cd4y7e.c2miqi2 .c584e4 ul { flex-direction: column; gap: 0.753rem; align-items: flex-start; }
  .cd4y7e.c2miqi2 .cry69v { display: none; }
}
.clcjfv.ckuvjg3 { position: relative; padding: 0; margin-bottom: 1.884rem; }
.clcjfv.ckuvjg3 .c9q7ud { position: relative; min-height: 300px; background: var(--v3fow2); }
.clcjfv.ckuvjg3 .c9q7ud img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; }
.clcjfv.ckuvjg3 .container { position: relative; }
.clcjfv.ckuvjg3 .c0lh48 { background: var(--v1yir9); color: var(--vmgpr1); border-radius: var(--v7okw5); padding: clamp(1.512rem, 4vw, 2.466rem); max-width: 42.544rem; margin-top: -4.16rem; box-shadow: 0 10px 30px rgba(0,0,0,0.15); position: relative; }
.clcjfv.ckuvjg3 h1 { max-width: 21ch; }
.cckl8w.cv3acs3 { background: var(--v1yir9); border-top: 2px solid var(--vmgpr1); margin-top: 4.16rem; padding-block: 2.466rem; }
.cckl8w.cv3acs3 a { color: var(--vt07vb); text-decoration: none; }
.cckl8w.cv3acs3 a:hover { color: var(--vp3q7q); text-decoration: underline; }
.cckl8w.cv3acs3 .cpytfg { font-style: italic; color: var(--vt07vb); margin-bottom: 1.512rem; max-width: 57ch; }
.cckl8w.cv3acs3 .ch008g { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1.512rem; }
.cckl8w.cv3acs3 .ch008g > div { border-left: 1px solid var(--vllkei); padding-left: 1.017rem; }
.cckl8w.cv3acs3 .ch008g h2 { font-size: var(--vgxuo3); text-transform: uppercase; letter-spacing: 0.099em; margin: 0 0 0.621rem; color: var(--vmgpr1); }
.cckl8w.cv3acs3 .ch008g li { margin-bottom: 0.412rem; font-size: var(--vgxuo3); }
.cckl8w.cv3acs3 .cb036c { margin-top: 1.828rem; font-size: var(--vgxuo3); color: var(--vt07vb); }

/* ---- per-site theme layer ---- */
/*
 * Brand My Peptides — an editorial case-file system.
 * Plum fields, index-card geometry and a single diamond marker carry the visual language.
 */

:root {
  --bmp-ink: var(--vmgpr1);
  --bmp-paper: var(--v1yir9);
  --bmp-rule: color-mix(in srgb, var(--vmgpr1) 18%, transparent);
  --bmp-rule-hot: color-mix(in srgb, var(--vw2yo8) 56%, transparent);
  --bmp-shadow: 0 24px 70px rgba(16, 7, 20, 0.34);
  --bmp-shadow-small: 0 14px 34px rgba(16, 7, 20, 0.22);
  --bmp-step: clamp(4.5rem, 8vw, 8rem);
}

html {
  background: var(--v5rbmp);
}

body {
  background:
    linear-gradient(90deg, rgba(176, 141, 236, 0.026) 1px, transparent 1px) 0 0 / 4.5rem 4.5rem,
    linear-gradient(rgba(176, 141, 236, 0.022) 1px, transparent 1px) 0 0 / 4.5rem 4.5rem,
    var(--v5rbmp);
  color: var(--vmgpr1);
  font-kerning: normal;
}

main {
  overflow: hidden;
}

::selection {
  color: var(--vhbhuv);
  background: var(--vw2yo8);
}

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

p,
li {
  hanging-punctuation: first last;
}

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

h1 {
  font-size: clamp(2.75rem, 6vw, 5.8rem);
  line-height: 0.96;
  font-weight: 600;
  max-width: 15ch;
}

h2 {
  font-size: clamp(1.75rem, 3.4vw, 2.85rem);
  line-height: 1.04;
  font-weight: 600;
}

h3 {
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  font-weight: 600;
}

blockquote {
  position: relative;
  border: 0;
  border-top: 1px solid var(--bmp-rule-hot);
  border-bottom: 1px solid var(--bmp-rule-hot);
  padding: 1.4rem 1.4rem 1.4rem 3rem;
  color: var(--vmgpr1);
}

blockquote::before {
  content: "◇";
  position: absolute;
  left: 0.7rem;
  top: 1.2rem;
  color: var(--vw2yo8);
  font: 600 1.2rem/1 var(--v5ze7w);
}

.chltc7:focus {
  left: 1rem;
  top: 1rem;
  border: 1px solid var(--vw2yo8);
  border-radius: 0;
  box-shadow: var(--bmp-shadow-small);
  color: var(--vmgpr1);
}

/* Sidebar as a bound index spine. */
.cd4y7e {
  background:
    linear-gradient(180deg, rgba(227, 120, 184, 0.08), transparent 32%),
    var(--v1yir9);
  border-color: var(--bmp-rule);
}

.cd4y7e::after {
  content: "DISCONTINUATION / REBOUND";
  position: absolute;
  left: 1.9rem;
  bottom: 1.8rem;
  width: 9rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--bmp-rule-hot);
  color: var(--vt07vb);
  font: 600 0.66rem/1.45 var(--v42na0);
  letter-spacing: 0.15em;
}

.ca8384 {
  position: relative;
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  align-items: center;
  max-width: 11rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.ca8384::before {
  content: "BM";
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border: 1px solid var(--vw2yo8);
  color: var(--vw2yo8);
  font: 700 0.68rem/1 var(--v5ze7w);
  letter-spacing: 0.06em;
  transform: rotate(45deg);
}

.ca8384::after {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 1.05rem;
  width: 0.9rem;
  border-top: 1px solid var(--vsfw4o);
  transform: rotate(-45deg);
  opacity: 0.8;
}

.c584e4 a {
  position: relative;
  display: inline-block;
  padding: 0.12rem 0 0.28rem;
  color: var(--vt07vb);
  letter-spacing: 0.045em;
}

.c584e4 a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  border-bottom: 1px solid var(--vw2yo8);
  transition: right 160ms ease;
}

.c584e4 a:hover::after,
.c584e4 a:focus-visible::after {
  right: 0;
}

.cry69v {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 0;
  border-color: var(--bmp-rule-hot);
  color: transparent;
  position: relative;
}

.cry69v::before,
.cry69v::after {
  content: "";
  position: absolute;
  left: 0.64rem;
  right: 0.64rem;
  border-top: 1px solid var(--vmgpr1);
}

.cry69v::before {
  top: 0.92rem;
}

.cry69v::after {
  top: 1.5rem;
}

/* Hero: the image is the field; the copy is an offset research card. */
.clcjfv {
  isolation: isolate;
  margin-bottom: 0;
  background: var(--vhbhuv);
}

.clcjfv .c9q7ud {
  min-height: clamp(23rem, 54vw, 42rem);
  overflow: hidden;
}

.clcjfv .c9q7ud::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(38, 30, 41, 0.7), rgba(45, 32, 50, 0.14) 68%),
    linear-gradient(0deg, rgba(45, 32, 50, 0.52), transparent 48%);
}

.clcjfv .c9q7ud::after {
  content: "";
  position: absolute;
  inset: 1.25rem;
  z-index: 2;
  border: 1px solid rgba(238, 235, 240, 0.34);
  pointer-events: none;
}

.clcjfv .c9q7ud img {
  filter: saturate(0.78) contrast(1.05);
  transform: scale(1.012);
}

.clcjfv .container {
  z-index: 3;
}

.clcjfv .ck222n {
  width: min(48rem, calc(100% - clamp(0rem, 7vw, 6rem)));
  margin-top: clamp(-7.5rem, -9vw, -4.5rem);
  margin-left: clamp(0rem, 5vw, 5rem);
  padding: clamp(1.75rem, 4vw, 3.7rem);
  border: 0;
  border-radius: 0;
  box-shadow: var(--bmp-shadow);
  background:
    linear-gradient(135deg, rgba(227, 120, 184, 0.09), transparent 42%),
    var(--v1yir9);
}

.clcjfv .ck222n::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 7rem;
  border-top: 3px solid var(--vw2yo8);
}

.clcjfv .ck222n::after {
  content: "LAST DOSE / FIELD NOTE";
  display: block;
  margin-top: 2rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--bmp-rule);
  color: var(--vt07vb);
  font: 600 0.66rem/1.2 var(--v42na0);
  letter-spacing: 0.17em;
}

.cwu656 {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--vw2yo8);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.cwu656::before {
  content: "◇";
  color: var(--vsfw4o);
  font-size: 0.92rem;
}

.cwk8cb {
  max-width: 54ch;
  color: var(--vmgpr1);
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  line-height: 1.55;
}

.c9lmjy {
  gap: 0.7rem;
}

.c08og5 {
  position: relative;
  border-radius: 0;
  padding: 0.8rem 1.25rem;
  font-family: var(--v42na0);
  font-size: 0.77rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.crr4su {
  background: var(--vw2yo8);
  color: var(--vhbhuv);
  border: 1px solid var(--vw2yo8);
}

.crr4su::after,
.cc69ya::after {
  content: " ↗";
}

.cc69ya {
  color: var(--vmgpr1);
  border-color: var(--bmp-rule-hot);
}

/* Reading column and section rhythm. */
.c6lz8o {
  padding-block: clamp(2.5rem, 6vw, 5rem) clamp(4rem, 8vw, 7rem);
}

.c6lz8o .container > section {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4.25rem) 0;
  margin-inline: auto;
}

.c6lz8o .container > section + section {
  border-top: 1px solid var(--bmp-rule);
}

.c6lz8o .container > section::before {
  content: "◇";
  position: absolute;
  top: -0.72rem;
  left: 50%;
  display: grid;
  width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  transform: translateX(-50%);
  background: var(--v5rbmp);
  color: var(--vw2yo8);
  font: 500 0.86rem/1 var(--v5ze7w);
}

.c6lz8o .container > section:first-of-type {
  padding-top: 2rem;
}

.c6lz8o .container > section:first-of-type::before {
  display: none;
}

.c6lz8o section > h2 {
  position: relative;
  margin: 0 0 1.6rem;
  padding-left: 1.25rem;
}

.c6lz8o section > h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.16em;
  bottom: 0.14em;
  width: 2px;
  background: linear-gradient(var(--vw2yo8), var(--vsfw4o));
}

.c6lz8o section:first-of-type > p:first-of-type {
  font-size: clamp(1.08rem, 1.45vw, 1.2rem);
  line-height: 1.68;
  color: var(--vmgpr1);
}

.c6lz8o strong {
  color: var(--vmgpr1);
}

.c6lz8o ul:not(.cxebwl) li::marker,
.c6lz8o ol li::marker {
  color: var(--vw2yo8);
  font-weight: 600;
}

.c3ulmc {
  vertical-align: baseline;
  position: relative;
  top: -0.16em;
}

.c3ulmc a {
  display: inline-grid;
  min-width: 1.55rem;
  min-height: 1.55rem;
  place-items: center;
  border: 1px solid var(--bmp-rule-hot);
  color: var(--vw2yo8);
  font: 700 0.68rem/1 var(--v42na0);
}

.c3ulmc a:hover {
  color: var(--vhbhuv);
  background: var(--vw2yo8);
}

/* Compound cards read like numbered catalog drawers. */
.c0niw4 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 clamp(3.25rem, 7vw, 6.5rem);
  border: 1px solid var(--bmp-rule);
  border-radius: 0;
  background: var(--bmp-rule);
  box-shadow: var(--bmp-shadow-small);
}

.c0niw4 .c73nup {
  position: relative;
  min-width: 0;
  padding: 1.25rem 1.35rem 1.5rem;
  border: 0;
  border-radius: 0;
  background: var(--v1yir9);
  overflow: hidden;
}

.c0niw4 .c73nup::before {
  content: "01";
  position: absolute;
  right: 1rem;
  top: 0.8rem;
  z-index: 2;
  padding: 0.25rem 0.42rem;
  background: var(--vhbhuv);
  color: var(--vw2yo8);
  font: 700 0.67rem/1 var(--v5ze7w);
  letter-spacing: 0.08em;
}

.c0niw4 .c73nup:nth-child(2)::before {
  content: "02";
}

.c0niw4 .c73nup:nth-child(3)::before {
  content: "03";
}

.c0niw4 .c73nup img {
  width: calc(100% + 2.7rem);
  max-width: none;
  margin: -1.25rem -1.35rem 1.1rem;
  border: 0;
  border-radius: 0;
  filter: saturate(0.7) contrast(1.04);
  transition: transform 280ms ease, filter 280ms ease;
}

.c0niw4 .c73nup:hover img {
  transform: scale(1.025);
  filter: saturate(0.96) contrast(1.06);
}

.c0niw4 .c73nup h2,
.c0niw4 .c73nup h3 {
  font-size: 1.35rem;
}

.c0niw4 .c73nup p {
  color: var(--vmgpr1);
  line-height: 1.58;
}

.ccyutw {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--vw2yo8);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ccyutw::before {
  content: "◇";
  color: var(--vsfw4o);
}

/* Tables are ledgers, not generic striped grids. */
.cp01gg {
  margin-block: 2rem 2.8rem;
  border: 1px solid var(--bmp-rule);
  border-top: 3px solid var(--vw2yo8);
  box-shadow: var(--bmp-shadow-small);
  background: var(--v1yir9);
  scrollbar-color: var(--vw2yo8) var(--vhbhuv);
}

table {
  min-width: 47rem;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.91rem;
  line-height: 1.48;
}

th,
td {
  padding: 1rem 1.05rem;
  border-right: 1px solid var(--bmp-rule);
  border-bottom: 1px solid var(--bmp-rule);
}

th:last-child,
td:last-child {
  border-right: 0;
}

thead th {
  position: static;
  border-bottom: 1px solid var(--bmp-rule-hot);
  background: var(--vhbhuv);
  color: var(--vmgpr1);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--vsfw4o) 5%, transparent);
}

tbody tr:hover {
  background: color-mix(in srgb, var(--vw2yo8) 8%, transparent);
}

/* Optional renderer modules share the same case-file grammar. */
.cdn6g6 {
  position: relative;
  margin-block: 2.5rem;
  padding: 1.7rem 1.8rem 1.7rem 4.4rem;
  border: 1px solid var(--bmp-rule-hot);
  border-radius: 0;
  background: linear-gradient(115deg, rgba(227, 120, 184, 0.08), transparent 55%), var(--v1yir9);
}

.cdn6g6::before {
  content: "◇";
  position: absolute;
  left: 1.5rem;
  top: 1.45rem;
  color: var(--vw2yo8);
  font: 500 1.65rem/1 var(--v5ze7w);
}

.cxebwl li::before {
  content: "◇";
  color: var(--vsfw4o);
}

.czxjnz {
  border: 1px solid var(--bmp-rule);
  border-radius: 0;
  background: transparent;
}

.czmcjh {
  background: var(--v1yir9);
}

.c955bk {
  color: var(--vw2yo8);
  font-weight: 600;
}

.ch6ik6 {
  color: var(--vmgpr1);
}

.cxi21t {
  position: relative;
  border: 1px solid var(--vw2yo8);
  border-radius: 0;
  overflow: hidden;
  color: var(--vhbhuv);
  background:
    radial-gradient(circle at 85% 25%, rgba(176, 141, 236, 0.54), transparent 23%),
    var(--vw2yo8);
}

.cxi21t::before {
  content: "◇";
  position: absolute;
  right: clamp(1rem, 5vw, 4rem);
  top: 50%;
  color: rgba(38, 30, 41, 0.32);
  font: 500 clamp(4rem, 10vw, 8rem)/1 var(--v5ze7w);
  transform: translateY(-50%);
}

.cxi21t h2,
.cxi21t h3,
.cxi21t p {
  position: relative;
  color: var(--vhbhuv);
}

.cl9jq7,
.cwmdyt {
  position: relative;
  padding: 0.65rem;
  border: 1px solid var(--bmp-rule);
  border-radius: 0;
  background: var(--v1yir9);
}

.cl9jq7::after,
.cwmdyt::after {
  content: "◇";
  position: absolute;
  right: 1.1rem;
  top: 1.1rem;
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  background: var(--vhbhuv);
  color: var(--vw2yo8);
}

.czhkte {
  border-radius: 0;
  border-color: var(--bmp-rule-hot);
  box-shadow: var(--bmp-shadow-small);
}

.c7uy2s {
  color: var(--vw2yo8);
}

/* Reference entries become a ruled library catalog. */
.c2l04g {
  display: grid;
  gap: 0;
  margin: 2rem 0 0;
  padding: 0;
  border-top: 1px solid var(--bmp-rule-hot);
  counter-reset: bmp-reference;
}

.c2l04g li {
  position: relative;
  margin: 0;
  padding: 1.45rem 1rem 1.45rem 3.85rem;
  border-bottom: 1px solid var(--bmp-rule);
  color: var(--vmgpr1);
  line-height: 1.52;
  overflow-wrap: anywhere;
  counter-increment: bmp-reference;
}

.c2l04g li::before {
  content: counter(bmp-reference, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 1.48rem;
  color: var(--vw2yo8);
  font: 700 0.72rem/1 var(--v5ze7w);
  letter-spacing: 0.08em;
}

.c2l04g li:hover {
  background: color-mix(in srgb, var(--vsfw4o) 5%, transparent);
}

.c2l04g a {
  overflow-wrap: anywhere;
}

/* Footer closes the file with a high-contrast accession strip. */
.cckl8w {
  position: relative;
  margin-top: 0;
  padding-block: clamp(3rem, 6vw, 5.5rem) 2rem;
  border-top: 1px solid var(--vw2yo8);
  background:
    linear-gradient(90deg, rgba(227, 120, 184, 0.07), transparent 35%),
    var(--vhbhuv);
}

.cckl8w::before {
  content: "BMP / REFERENCE DESK";
  position: absolute;
  top: 0;
  right: clamp(1rem, 4vw, 3rem);
  padding: 0.48rem 0.75rem;
  background: var(--vw2yo8);
  color: var(--vhbhuv);
  font: 700 0.64rem/1 var(--v42na0);
  letter-spacing: 0.15em;
}

.cpytfg {
  max-width: 62ch;
  padding-left: 1.25rem;
  border-left: 2px solid var(--vw2yo8);
  color: var(--vmgpr1);
  font-style: normal;
  font-size: 1rem;
}

.ch008g {
  margin-top: 2.3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--bmp-rule);
}

.ch008g > div {
  border-color: var(--bmp-rule-hot);
}

.ch008g h2,
.ch008g .cmwzn8 {
  color: var(--vw2yo8);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
}

.cckl8w a {
  color: var(--vt07vb);
}

.cckl8w a:hover {
  color: var(--vw2yo8);
}

.cb036c {
  padding-top: 1.25rem;
  border-top: 1px solid var(--bmp-rule);
  color: var(--vt07vb);
  letter-spacing: 0.04em;
}

@media (min-width: 863px) {
  .cd4y7e .container {
    padding-inline: 1.9rem;
  }

  .c584e4 {
    width: 100%;
  }

  .c584e4 li {
    width: 100%;
  }

  .c584e4 a {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .c0niw4 {
    grid-template-columns: 1fr;
  }

  .c0niw4 .c73nup {
    display: grid;
    grid-template-columns: minmax(10rem, 0.75fr) minmax(0, 1.25fr);
    column-gap: 1.35rem;
    align-items: start;
  }

  .c0niw4 .c73nup img {
    grid-row: 1 / span 4;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

@media (max-width: 862px) {
  .cd4y7e::after {
    display: none;
  }

  .cd4y7e .container {
    min-height: 4.6rem;
  }

  .c584e4 {
    border-top: 1px solid var(--bmp-rule-hot);
    box-shadow: 0 18px 34px rgba(16, 7, 20, 0.35);
  }

  .ca8384 {
    max-width: none;
    grid-template-columns: 2.5rem auto;
  }

  .ca8384::before {
    width: 1.9rem;
    height: 1.9rem;
  }
}

@media (max-width: 760px) {
  h1 {
    font-size: clamp(2.35rem, 12vw, 3.75rem);
  }

  .clcjfv .c9q7ud {
    min-height: 20rem;
  }

  .clcjfv .c9q7ud::after {
    inset: 0.7rem;
  }

  .clcjfv .ck222n {
    width: calc(100% - 0.75rem);
    margin-top: -3.5rem;
    margin-left: 0.75rem;
    padding: 1.55rem 1.35rem;
  }

  .clcjfv .ck222n::after {
    font-size: 0.6rem;
  }

  .c0niw4 .c73nup {
    display: flex;
  }

  .c0niw4 .c73nup img {
    width: calc(100% + 2.7rem);
    max-width: none;
    margin: -1.25rem -1.35rem 1.1rem;
  }

  .c6lz8o {
    padding-top: 2rem;
  }

  .c6lz8o .container > section {
    padding-block: 2.65rem;
  }

  .cdn6g6 {
    padding: 3.9rem 1.25rem 1.35rem;
  }

  .cdn6g6::before {
    top: 1.25rem;
    left: 1.25rem;
  }

  .c2l04g li {
    padding-left: 2.7rem;
    padding-right: 0;
  }

  .cxi21t::before,
  .cl9jq7::after,
  .cwmdyt::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .c584e4 a::after,
  .c0niw4 .c73nup img {
    transition: none;
  }
}
