:root {
  --vct4q6: #90cfdf;
  --vueauc: #202e32;
  --v2ayj4: #112b32;
  --vf8oea: #4d8999;
  --vbnbfq: #94ade5;
  --vklc4o: #90cfdf;
  --vccthf: #222f35;
  --v126tg: #354750;
  --vwzcip: #8499a4;
  --v5hmf9: #101619;
  --v3y097: #121c21;
  --vh726z: #1c2a30;
  --vwde13: #edf1f2;
  --vo4dcp: #aab5bb;
  --vcrmi3: #53c69c;
  --vtnjl0: #e4b558;
  --v9msmb: #de625e;
  --v9ketf: 72.337rem;
  --vbbis0: 69ch;
  --vf8rez: #1c2a30;
  --vze4k6: clamp(0.944rem, 3vw, 1.972rem);
  --vly7iw: 4.012rem;
  --v86jja: 'Lora', system-ui, sans-serif;
  --vmi230: 'IBM Plex Sans', system-ui, sans-serif;
  --vqp586: 'Lora', system-ui, sans-serif;
  --vtnmkl: clamp(2.244rem, 4.5vw, 3.602rem);
  --v3ylo4: clamp(1.542rem, 3vw, 2.244rem);
  --v1jyf3: 1.542rem;
  --vrnnbq: 1.108rem;
  --va2bgh: 0.896rem;
  --vei847: 1.15;
  --vm6hej: 1.65;
  --vtblmt: 0.472rem;
  --vpcd1n: 0.776rem;
  --vrlsgy: #111111;
  --vpbjq4: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--vmi230); font-size: var(--vrnnbq); line-height: var(--vm6hej); color: var(--vwde13); background: var(--v3y097); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--v86jja); line-height: var(--vei847); font-weight: 700; color: var(--vwde13); text-wrap: balance; }
h1 { font-size: var(--vtnmkl); letter-spacing: -0.02em; }
h2 { font-size: var(--v3ylo4); margin-top: 2.606rem; margin-bottom: 0.776rem; }
h3 { font-size: var(--v1jyf3); margin-top: 1.673rem; margin-bottom: 0.472rem; }
p { margin-bottom: 0.944rem; }
a { color: var(--vklc4o); }
ul, ol { margin: 0 0 0.944rem 1.322rem; }
li { margin-bottom: 0.337rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.139); border: 1px solid rgba(128, 128, 128, 0.24); border-radius: 4px; padding: 0.098em 0.369em; font-size: 0.93em; color: var(--vwde13); }
blockquote { border-left: 3px solid var(--vct4q6); padding-left: 0.944rem; color: var(--vo4dcp); margin: 0 0 0.944rem; }
img { max-width: 100%; height: auto; display: block; }
sup.gg4yb6 a { text-decoration: none; color: var(--vbnbfq); font-weight: 600; }
.container { width: 100%; max-width: var(--v9ketf); margin-inline: auto; padding-inline: var(--vze4k6); }
.gm8bfp { position: absolute; left: -999px; }
.gm8bfp:focus { left: 0.944rem; top: 0.944rem; background: var(--vh726z); padding: 0.472rem 0.944rem; z-index: 100; }
main { display: block; }
.ghowke { font-family: var(--vqp586); font-weight: 800; font-size: 1.14rem; color: var(--vwde13); text-decoration: none; }
.gpoi2a { min-width: 0; }
.gpoi2a ul { display: flex; flex-wrap: wrap; gap: 1.322rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.gpoi2a li { white-space: nowrap; }
.gpoi2a a { color: var(--vo4dcp); text-decoration: none; font-size: var(--va2bgh); font-weight: 600; }
.gpoi2a a:hover { color: var(--vklc4o); }
.gmv2c9 { display: none; background: none; border: 1px solid var(--v126tg); border-radius: 6px; padding: 0.413rem 0.573rem; font-size: 1.085rem; line-height: 1; cursor: pointer; color: var(--vwde13); }
.gtuxzk { font-family: var(--vqp586); text-transform: uppercase; letter-spacing: 0.12em; font-size: var(--va2bgh); font-weight: 700; color: var(--vbnbfq); margin-bottom: 0.776rem; }
.gvy39p { font-size: 1.14rem; color: var(--vo4dcp); margin-top: 0.944rem; max-width: 61ch; }
.gvpsdw { display: flex; flex-wrap: wrap; gap: 0.776rem; margin-top: 1.673rem; }
.g60ijn { display: inline-block; padding: 0.814rem 1.578rem; border-radius: var(--vtblmt); font-weight: 700; text-decoration: none; font-size: var(--va2bgh); transition: transform 0.157s ease, opacity 0.157s ease; }
.g60ijn:hover { transform: translateY(-1.5px); }
.gfxdq4 { background: var(--vct4q6); color: var(--vrlsgy); }
.g1tde4 { background: transparent; color: var(--vklc4o); border: 1.5px solid var(--vklc4o); }
article > section, main > article { padding-block: 0.472rem; }
.gi0tn2 { padding-block: 0.944rem 2.99rem; }
.gi0tn2 .container > section { max-width: var(--vbbis0); margin-inline: auto; }
.gi0tn2 .container > section.gu4f0m, .gi0tn2 .container > .gu4f0m { max-width: none; }
.gi0tn2 .container > section > .gsgtvm,
.gi0tn2 .container > section > .gllapt,
.gi0tn2 .container > section > .g576f0,
.gi0tn2 .container > section > .gup4a7,
.gi0tn2 .container > section > .gibvjn {
  --vooapd: min(var(--v9ketf) - 2 * var(--vze4k6), 100vw - 2 * var(--vze4k6));
  width: var(--vooapd);
  max-width: none;
  margin-inline: calc((100% - var(--vooapd)) / 2);
}
@media (max-width: 903px) {
  .gi0tn2 .container > section > .gsgtvm,
  .gi0tn2 .container > section > .gllapt,
  .gi0tn2 .container > section > .g576f0,
  .gi0tn2 .container > section > .gup4a7,
  .gi0tn2 .container > section > .gibvjn { width: 100%; margin-inline: 0; }
}
.gibvjn img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--vh726z); }
.gecrf4 img { aspect-ratio: 16 / 6; object-fit: cover; }
.g576f0 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.322rem, 3vw, 2.606rem); align-items: center; background: var(--vf8rez, var(--vh726z)); border: 1px solid var(--v126tg); border-radius: var(--vpcd1n); padding: clamp(1.322rem, 3vw, 2.244rem); margin: 2.606rem 0; }
.glzocd img { border-radius: calc(var(--vpcd1n) - 0.247rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.glzocd figcaption { font-size: var(--va2bgh); color: var(--vo4dcp); margin-top: 0.573rem; line-height: 1.45; }
.g6cn7i { font-family: var(--vqp586); text-transform: uppercase; letter-spacing: 0.098em; font-size: 0.776rem; font-weight: 700; color: var(--vbnbfq); margin-bottom: 0.573rem; }
.gaisdn h2, .gaisdn h3 { margin-top: 0; }
.gaisdn p:last-child { margin-bottom: 0; }
@media (max-width: 723px) { .g576f0 { grid-template-columns: 1fr; } }
.gf3sjs { border-left: 3px solid var(--vbnbfq); background: var(--vf8rez, var(--vh726z)); border-radius: 0 var(--vpcd1n) var(--vpcd1n) 0; padding: 1.322rem 1.542rem; margin: 1.972rem 0; }
.gf3sjs h2, .gf3sjs h3 { margin-top: 0; font-size: 1.043rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--vo4dcp); }
.g1ohiv { list-style: none; margin: 0.776rem 0 0; padding: 0; display: grid; gap: 0.573rem; }
.g1ohiv li { margin: 0; padding-left: 1.336rem; position: relative; }
.g1ohiv li::before { content: "\2014"; position: absolute; left: 0; color: var(--vbnbfq); font-weight: 700; }
.gllapt { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.552rem), 1fr)); gap: 1px; background: var(--v126tg); border: 1px solid var(--v126tg); border-radius: var(--vpcd1n); overflow: hidden; margin: 2.244rem 0; }
.gvnds3 { background: var(--vh726z); padding: 1.336rem 1.322rem; }
.g10gh6 { font-family: var(--vqp586); font-size: clamp(1.673rem, 3.5vw, 2.606rem); font-weight: 800; line-height: 1.05; color: var(--vct4q6); letter-spacing: -0.02em; }
.g2pvo8 { font-size: var(--va2bgh); color: var(--vo4dcp); margin-top: 0.413rem; line-height: 1.4; }
.gup4a7 { background: var(--vct4q6); color: var(--vrlsgy); border-radius: var(--vpcd1n); padding: clamp(1.542rem, 4vw, 2.677rem); margin: 2.99rem 0 0.944rem; text-align: center; }
.gup4a7 h2, .gup4a7 h3 { color: var(--vrlsgy); margin-top: 0; }
.gup4a7 p { color: var(--vrlsgy); opacity: 0.88; margin-inline: auto; max-width: 53ch; }
.gup4a7 .gvpsdw { justify-content: center; }
.gup4a7 .g1tde4 { color: var(--vrlsgy); border-color: var(--vrlsgy); }
.gibvjn img { border-radius: var(--vpcd1n); width: 100%; }
.gibvjn figcaption { font-size: var(--va2bgh); color: var(--vo4dcp); margin-top: 0.573rem; font-style: italic; }
.gecrf4 { margin: 1.542rem 0; }
.gecrf4 img { border-radius: var(--vpcd1n); }
.gg3xa3 { background: var(--vh726z); border: 1px solid #354750; border-radius: var(--vpcd1n); padding: 1.542rem; }
.gsgtvm { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.188rem), 1fr)); gap: 1.322rem; margin: 1.542rem 0 1.972rem; }
.gsgtvm .gg3xa3 { display: flex; flex-direction: column; gap: 0.472rem; }
.gsgtvm .gg3xa3 img { border-radius: calc(var(--vpcd1n) - 0.247rem); margin-bottom: 0.472rem; aspect-ratio: 16 / 10; object-fit: cover; }
.gsgtvm .gg3xa3 h2, .gsgtvm .gg3xa3 h3 { margin: 0; font-size: 1.14rem; }
.gsgtvm .gg3xa3 p { margin: 0; font-size: var(--va2bgh); color: var(--vo4dcp); }
.gsgtvm .gg3xa3 .ghjkf6 { margin-top: auto; padding-top: 0.573rem; font-weight: 700; font-size: var(--va2bgh); color: var(--vklc4o); text-decoration: none; }
.gsgtvm .gg3xa3 .ghjkf6:hover { text-decoration: underline; }
.gvjvn9 { margin: 1.542rem 0; }
.gvjvn9 img { border-radius: var(--vpcd1n); }
.gvjvn9 figcaption { font-size: var(--va2bgh); color: var(--vo4dcp); margin-top: 0.472rem; font-style: italic; }
.gcpn26 { overflow-x: auto; margin: 1.322rem 0 1.673rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--va2bgh); }
th, td { text-align: left; padding: 0.573rem 0.814rem; border-bottom: 1px solid var(--v126tg); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vwde13); font-family: var(--v86jja); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.08); }
.gt9s1u { padding-left: 1.542rem; }
.gt9s1u li { margin-bottom: 0.776rem; font-size: var(--va2bgh); color: var(--vo4dcp); }
.gt9s1u li a { word-break: break-word; }
.gzc002 ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.gvvqxc.gg7v783 { border-bottom: 2px solid var(--vwde13); background: var(--vh726z); position: sticky; top: 0; z-index: 50; }
.gvvqxc.gg7v783 .container { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: var(--vly7iw); gap: 0.944rem; }
.gvvqxc.gg7v783 .ghowke { grid-column: 2; grid-row: 1; text-align: center; }
.gvvqxc.gg7v783 .gpoi2a { display: contents; }
.gvvqxc.gg7v783 .g1vyft { display: flex; gap: 1.085rem; align-items: center; grid-row: 1; }
.gvvqxc.gg7v783 .gq1g25 { grid-column: 1; justify-content: flex-start; }
.gvvqxc.gg7v783 .gnxpp2 { grid-column: 3; justify-content: flex-end; }
@media (max-width: 763px) {
  .gvvqxc.gg7v783 .container { grid-template-columns: 1fr auto; }
  .gvvqxc.gg7v783 .ghowke { grid-column: 1; text-align: left; }
  .gvvqxc.gg7v783 .gmv2c9 { display: block; grid-column: 2; justify-self: end; }
  .gvvqxc.gg7v783 .gpoi2a { display: none; grid-column: 1 / -1; }
  .gvvqxc.gg7v783 .gpoi2a.gomam5 { display: block; }
  .gvvqxc.gg7v783 .g1vyft { flex-direction: column; gap: 0.472rem; }
}
.gmuxcd.gy828i0 { padding: clamp(2.606rem, 6vw, 5.14rem) 0 clamp(1.542rem, 4vw, 2.99rem); }
.gmuxcd.gy828i0 .container { max-width: min(var(--v9ketf), 55.604rem); }
.gmuxcd.gy828i0 h1 { max-width: 22ch; }
.ggbmqa.glni6q4 { margin-top: 4.012rem; }
.ggbmqa.glni6q4 .g99jjs { background: var(--vccthf); padding-block: 2.606rem; }
.ggbmqa.glni6q4 .g99jjs a { color: var(--vo4dcp); text-decoration: none; }
.ggbmqa.glni6q4 .g99jjs a:hover { color: var(--vklc4o); text-decoration: underline; }
.ggbmqa.glni6q4 .gzc002 { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1.542rem; }
.ggbmqa.glni6q4 .gzc002 h2 { font-size: var(--va2bgh); text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 0.573rem; color: var(--vo4dcp); }
.ggbmqa.glni6q4 .gzc002 li { margin-bottom: 0.413rem; font-size: var(--va2bgh); }
.ggbmqa.glni6q4 .g9pu5q { background: var(--v2ayj4); color: var(--vpbjq4); padding-block: 1.322rem; }
.ggbmqa.glni6q4 .g9pu5q .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.776rem; }
.ggbmqa.glni6q4 .g9pu5q a { color: var(--vpbjq4); }
.ggbmqa.glni6q4 .geck1i { font-style: italic; opacity: 0.85; margin: 0; }
.ggbmqa.glni6q4 .gwviky { font-size: var(--va2bgh); opacity: 0.65; margin: 0; }

/* ---- per-site theme layer ---- */
/* Peptides Focused — arctic evidence-field editorial layer */

:root {
  --pf-ice: #edf1f2;
  --pf-frost: #aab5bb;
  --pf-cyan: #90cfdf;
  --pf-periwinkle: #94ade5;
  --pf-deep: #121c21;
  --pf-panel: #1c2a30;
  --pf-line: #354750;
  --pf-shadow: #101619;
  --pf-grid: rgba(144, 207, 223, 0.055);
  --vbbis0: 67ch;
  --vpcd1n: 0.18rem;
}

html {
  scroll-padding-top: 5rem;
}

body {
  background-color: var(--pf-deep);
  background-image:
    linear-gradient(var(--pf-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--pf-grid) 1px, transparent 1px);
  background-size: 4rem 4rem;
  font-size: clamp(1rem, 0.35vw + 0.92rem, 1.08rem);
  line-height: 1.72;
  letter-spacing: -0.004em;
}

::selection {
  color: #101619;
  background: var(--pf-cyan);
}

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

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

h1,
h2,
h3 {
  font-weight: 600;
}

h1 {
  font-size: clamp(3rem, 7.5vw, 6.7rem);
  line-height: 0.92;
  letter-spacing: -0.052em;
}

h2 {
  font-size: clamp(1.65rem, 3.1vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.42rem);
  letter-spacing: -0.018em;
}

strong {
  color: var(--pf-ice);
  font-weight: 600;
}

blockquote {
  position: relative;
  margin-block: 2rem;
  padding: 1.4rem 1.5rem 1.4rem 4rem;
  border: 1px solid var(--pf-line);
  border-left: 0;
  background: var(--pf-panel);
  color: var(--pf-ice);
  font-family: var(--v86jja);
  font-size: 1.08rem;
}

blockquote::before {
  content: "⊕";
  position: absolute;
  left: 1.4rem;
  top: 1.25rem;
  color: var(--pf-cyan);
  font-family: var(--vmi230);
  font-size: 1.2rem;
}

/* Header: a centered wordmark held between two compact evidence indexes. */
.gvvqxc {
  border-top: 0.28rem solid var(--pf-cyan);
  border-bottom: 1px solid var(--pf-line);
  background: rgba(18, 28, 33, 0.97);
  box-shadow: 0 0.7rem 2.4rem rgba(16, 22, 25, 0.3);
  backdrop-filter: blur(12px);
}

.gvvqxc .container {
  min-height: 4.65rem;
}

.ghowke {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.62rem;
  min-width: max-content;
  color: var(--pf-ice);
  font-family: var(--v86jja);
  font-size: clamp(0.92rem, 1.4vw, 1.12rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.045em;
  white-space: nowrap;
}

.ghowke::before {
  content: "PF";
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--pf-cyan);
  box-shadow:
    inset 0 0 0 0.28rem var(--pf-deep),
    inset 0 0 0 0.34rem rgba(148, 173, 229, 0.55);
  color: var(--pf-cyan);
  font-family: var(--vmi230);
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.ghowke::after {
  content: none;
}

.gpoi2a ul {
  gap: 0.28rem 0.72rem;
}

.gpoi2a li {
  margin: 0;
}

.gpoi2a a {
  position: relative;
  padding-block: 0.3rem;
  color: var(--pf-frost);
  font-size: clamp(0.6rem, 0.56vw, 0.68rem);
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.gpoi2a a::after {
  content: "";
  position: absolute;
  right: 100%;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--pf-cyan);
  transition: right 160ms ease;
}

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

.gmv2c9 {
  border-radius: 0;
  border-color: var(--pf-cyan);
  color: var(--pf-cyan);
}

/* Hero: an offset research plate crossed by measurement rules. */
.gmuxcd {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(30rem, 66vh, 45rem);
  padding-block: clamp(4.5rem, 8vw, 7.8rem) clamp(4.2rem, 8vw, 7.2rem);
  border-bottom: 1px solid var(--pf-line);
  background:
    radial-gradient(circle at 88% 20%, rgba(148, 173, 229, 0.18), transparent 23rem),
    linear-gradient(110deg, rgba(28, 42, 48, 0.96) 0 59%, rgba(17, 43, 50, 0.84) 59% 100%),
    var(--pf-deep);
}

.gmuxcd::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(2rem, 6vw, 5rem);
  right: clamp(1.2rem, 5vw, 5rem);
  width: clamp(10rem, 28vw, 25rem);
  aspect-ratio: 1;
  border: 1px solid rgba(144, 207, 223, 0.48);
  background:
    linear-gradient(rgba(144, 207, 223, 0.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(144, 207, 223, 0.11) 1px, transparent 1px);
  background-size: 2rem 2rem;
  clip-path: polygon(0 0, 100% 0, 100% 84%, 84% 100%, 0 100%);
}

.gmuxcd::after {
  content: "FOCUS  /  MODEL  /  ENDPOINT  /  LIMIT";
  position: absolute;
  right: clamp(1.2rem, 4vw, 4rem);
  bottom: 1.4rem;
  color: var(--pf-cyan);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.22em;
}

.gmuxcd .container {
  position: relative;
  max-width: var(--v9ketf);
}

.gmuxcd .container::before {
  content: "";
  position: absolute;
  top: -2.2rem;
  bottom: -2.2rem;
  left: var(--container-padding);
  width: 0.38rem;
  border-block: 1px solid var(--pf-periwinkle);
  background: var(--pf-cyan);
  opacity: 0.9;
}

.gmuxcd h1,
.gmuxcd .gtuxzk,
.gmuxcd .gvy39p,
.gmuxcd .gvpsdw {
  position: relative;
  z-index: 2;
  margin-left: clamp(1.5rem, 3.2vw, 3rem);
  max-width: 11ch;
}

.gmuxcd h1 {
  max-width: 11ch;
  text-shadow: 0 1.2rem 3.5rem rgba(16, 22, 25, 0.55);
}

.gmuxcd .gtuxzk {
  max-width: none;
}

.gmuxcd .gvy39p {
  max-width: 46ch;
}

.gmuxcd .gvpsdw {
  max-width: none;
}

.gtuxzk {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--pf-periwinkle);
  font-family: var(--vmi230);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.18em;
}

.gtuxzk::before {
  content: "⊕";
  color: var(--pf-cyan);
  font-size: 1rem;
  letter-spacing: 0;
}

.gvy39p {
  max-width: 46ch;
  margin-top: 1.5rem;
  color: var(--pf-frost);
  font-size: clamp(1.04rem, 1.7vw, 1.28rem);
  line-height: 1.56;
}

.gvpsdw {
  gap: 0.62rem;
  margin-top: 2rem;
}

.g60ijn {
  border-radius: 0;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.gfxdq4 {
  border: 1px solid var(--pf-cyan);
  background: var(--pf-cyan);
  color: #101619;
  box-shadow: 0.42rem 0.42rem 0 rgba(148, 173, 229, 0.32);
}

.g1tde4 {
  border-color: var(--pf-periwinkle);
  color: var(--pf-ice);
}

.gfxdq4:hover {
  transform: translate(0.12rem, 0.12rem);
  box-shadow: 0.28rem 0.28rem 0 rgba(148, 173, 229, 0.32);
}

.gecrf4 {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: var(--container-padding);
  width: min(42%, 30rem);
  margin: 0;
  padding: 0.65rem;
  border: 1px solid rgba(144, 207, 223, 0.62);
  background: rgba(18, 28, 33, 0.62);
  box-shadow: 1.1rem 1.1rem 0 rgba(17, 43, 50, 0.88);
  transform: translateY(-50%);
}

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

.gecrf4::before {
  top: -1px;
  left: -1px;
  border-top: 3px solid var(--pf-cyan);
  border-left: 3px solid var(--pf-cyan);
}

.gecrf4::after {
  right: -1px;
  bottom: -1px;
  border-right: 3px solid var(--pf-periwinkle);
  border-bottom: 3px solid var(--pf-periwinkle);
}

.gecrf4 img {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(0.86) contrast(1.05);
}

.gmuxcd:has(.gecrf4) h1,
.gmuxcd:has(.gecrf4) .gvy39p,
.gmuxcd:has(.gecrf4) .gvpsdw {
  max-width: min(48%, 38rem);
}

/* Long-form rhythm: every section is a measured evidence field. */
.gi0tn2 {
  padding-block: clamp(3.5rem, 7vw, 6.5rem) 2rem;
}

.gi0tn2 .container > section {
  position: relative;
  max-width: var(--vbbis0);
  padding-block: clamp(2.7rem, 5vw, 4.5rem);
  border-top: 1px solid var(--pf-line);
}

.gi0tn2 .container > section::after {
  content: "";
  position: absolute;
  top: -0.25rem;
  right: 0;
  width: 0.48rem;
  height: 0.48rem;
  border: 1px solid var(--pf-cyan);
  background: var(--pf-deep);
}

.gi0tn2 .container > section:first-of-type {
  max-width: min(78ch, 100%);
  margin-bottom: clamp(1rem, 3vw, 2rem);
  padding: clamp(1.7rem, 4vw, 3rem);
  border: 1px solid var(--pf-line);
  border-left: 0.38rem solid var(--pf-cyan);
  background:
    linear-gradient(135deg, rgba(144, 207, 223, 0.07), transparent 50%),
    var(--pf-panel);
  box-shadow: 0.8rem 0.8rem 0 rgba(16, 22, 25, 0.58);
}

.gi0tn2 .container > section:first-of-type::after {
  top: 1rem;
  right: 1rem;
  background: var(--pf-panel);
}

.gi0tn2 section h2 {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: 0.78rem;
  align-items: start;
  margin-top: 0;
  margin-bottom: 1.35rem;
}

.gi0tn2 section h2::before {
  content: "⊕";
  margin-top: 0.18em;
  color: var(--pf-cyan);
  font-family: var(--vmi230);
  font-size: 0.76rem;
  line-height: 1;
  letter-spacing: 0;
}

.gi0tn2 section p {
  margin-bottom: 1.08rem;
}

.gi0tn2 section p:last-child {
  margin-bottom: 0;
}

.gi0tn2 ul:not(.g1ohiv) {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.gi0tn2 ul:not(.g1ohiv) li {
  position: relative;
  padding-left: 1.45rem;
}

.gi0tn2 ul:not(.g1ohiv) li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  border: 1px solid var(--pf-cyan);
  transform: rotate(45deg);
}

/* Compound index cards: four specimen plates, not generic tiles. */
.gsgtvm {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 clamp(3.8rem, 7vw, 6rem);
  border-top: 1px solid var(--pf-line);
  border-left: 1px solid var(--pf-line);
  background: transparent;
}

.gg3xa3 {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 0 1.25rem 1.5rem;
  border: 0;
  border-right: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-panel);
  transition: background-color 170ms ease, transform 170ms ease;
}

.gg3xa3::before {
  content: "0";
  position: absolute;
  z-index: 2;
  top: 0.7rem;
  left: 0.72rem;
  display: grid;
  width: 1.6rem;
  height: 1.6rem;
  place-items: center;
  border: 1px solid var(--pf-cyan);
  background: rgba(18, 28, 33, 0.9);
  color: var(--pf-cyan);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
}

.gg3xa3:nth-child(1)::before { content: "01"; }
.gg3xa3:nth-child(2)::before { content: "02"; }
.gg3xa3:nth-child(3)::before { content: "03"; }
.gg3xa3:nth-child(4)::before { content: "04"; }

.gg3xa3:hover {
  z-index: 1;
  background: #202e32;
  transform: translateY(-0.3rem);
}

.gsgtvm .gg3xa3 img {
  width: calc(100% + 2.5rem);
  max-width: none;
  margin: 0 -1.25rem 1.15rem;
  border-radius: 0;
  border-bottom: 1px solid var(--pf-line);
  filter: saturate(0.78) contrast(1.04);
}

.gsgtvm .gg3xa3 h3 {
  margin-bottom: 0.45rem;
  color: var(--pf-ice);
}

.gsgtvm .gg3xa3 p {
  color: var(--pf-frost);
  font-size: 0.88rem;
  line-height: 1.58;
}

.ghjkf6 {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--pf-cyan);
  font-size: 0.69rem;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

/* Supporting modules share the same calibration-mark language. */
.gvjvn9 {
  position: relative;
  margin-block: 2.5rem;
  padding: 0.55rem;
  border: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-panel);
}

.gvjvn9::after {
  content: "FIG / EVIDENCE FIELD";
  position: absolute;
  right: 0.75rem;
  bottom: 0.65rem;
  padding: 0.2rem 0.42rem;
  background: rgba(18, 28, 33, 0.9);
  color: var(--pf-cyan);
  font-size: 0.56rem;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.gvjvn9 img {
  width: 100%;
  border-radius: 0;
}

.gcpn26 {
  width: min(100%, calc(100vw - 2 * var(--container-padding)));
  margin-block: 2rem 2.7rem;
  overflow-x: auto;
  border: 1px solid var(--pf-line);
  background: var(--pf-panel);
  box-shadow: 0.55rem 0.55rem 0 rgba(16, 22, 25, 0.55);
}

table {
  min-width: 46rem;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.82rem;
  line-height: 1.5;
}

th,
td {
  padding: 0.9rem 1rem;
  border-right: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
}

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

tr:last-child td {
  border-bottom: 0;
}

thead th {
  border-bottom: 2px solid var(--pf-cyan);
  background: #112b32;
  color: var(--pf-ice);
  font-family: var(--vmi230);
  font-size: 0.65rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

tbody tr:nth-child(even) {
  background: rgba(144, 207, 223, 0.045);
}

tbody tr:hover {
  background: rgba(148, 173, 229, 0.09);
}

.gf3sjs {
  position: relative;
  margin-block: 2.4rem;
  padding: 1.65rem 1.65rem 1.65rem 4.2rem;
  border: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-panel);
}

.gf3sjs::before {
  content: "⊕";
  position: absolute;
  top: 1.45rem;
  left: 1.55rem;
  color: var(--pf-cyan);
  font-size: 1.3rem;
}

.g1ohiv {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

.g1ohiv li {
  padding-block: 0.6rem;
  border-top: 1px solid var(--pf-line);
}

.gllapt {
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  border-radius: 0;
  background: var(--pf-line);
}

.gvnds3 {
  background: var(--pf-panel);
}

.g10gh6 {
  color: var(--pf-cyan);
  font-family: var(--v86jja);
  font-weight: 600;
}

.g2pvo8 {
  color: var(--pf-frost);
  font-size: 0.68rem;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

.gup4a7 {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--pf-cyan);
  border-radius: 0;
  background: #112b32;
  color: var(--pf-ice);
  text-align: left;
}

.gup4a7::after {
  content: "⊕";
  position: absolute;
  right: 1.2rem;
  bottom: -0.35rem;
  color: rgba(144, 207, 223, 0.2);
  font-size: 6rem;
  line-height: 1;
}

.gup4a7 h2,
.gup4a7 h3,
.gup4a7 p {
  color: var(--pf-ice);
}

/* Reference ledger: numbered records with a visible source rail. */
.gt9s1u {
  margin-top: 2.5rem;
  padding-left: 0;
  border-top: 1px solid var(--pf-line);
  list-style: none;
  counter-reset: pf-ref;
}

.gt9s1u li {
  position: relative;
  margin: 0;
  padding: 1.35rem 1rem 1.35rem 3.65rem;
  border-right: 1px solid var(--pf-line);
  border-bottom: 1px solid var(--pf-line);
  border-left: 1px solid var(--pf-line);
  background: rgba(28, 42, 48, 0.74);
  color: var(--pf-frost);
  overflow-wrap: anywhere;
  counter-increment: pf-ref;
}

.gt9s1u li::before {
  content: counter(pf-ref, decimal-leading-zero);
  position: absolute;
  top: 1.4rem;
  left: 1rem;
  color: var(--pf-cyan);
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.gt9s1u li:nth-child(even) {
  background: rgba(17, 43, 50, 0.78);
}

.gt9s1u li a {
  overflow-wrap: anywhere;
}

.gg4yb6 {
  display: inline-grid;
  min-width: 1.45rem;
  min-height: 1.45rem;
  place-items: center;
  margin-inline: 0.08rem;
  border: 1px solid rgba(148, 173, 229, 0.58);
  background: rgba(148, 173, 229, 0.08);
  color: var(--pf-periwinkle);
  font-size: 0.68rem;
  line-height: 1;
}

/* Footer: a two-tier source index with the disclaimer treated as a colophon. */
.ggbmqa {
  position: relative;
  margin-top: clamp(4rem, 8vw, 7rem);
  border-top: 0.28rem solid var(--pf-cyan);
}

.ggbmqa::before {
  content: "PEPTIDES FOCUSED  /  SOURCE-LED SYNTHESIS";
  position: absolute;
  top: -2rem;
  right: var(--container-padding);
  color: var(--pf-frost);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.16em;
}

.g99jjs {
  padding-block: clamp(2.7rem, 5vw, 4.5rem);
  background:
    linear-gradient(90deg, rgba(144, 207, 223, 0.05) 1px, transparent 1px),
    #222f35;
  background-size: 4rem 100%;
}

.gzc002 {
  grid-template-columns: 1.35fr 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
}

.gzc002 h2 {
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--pf-line);
  color: var(--pf-cyan);
  font-family: var(--vmi230);
  font-size: 0.67rem;
  letter-spacing: 0.13em;
}

.gzc002 li {
  margin-bottom: 0.48rem;
}

.gzc002 a {
  color: var(--pf-frost);
  font-size: 0.82rem;
}

.gzc002 a:hover {
  color: var(--pf-ice);
}

.g9pu5q {
  border-top: 1px solid var(--pf-line);
  background: #112b32;
}

.g9pu5q .container {
  align-items: center;
  padding-block: 1.4rem;
}

.geck1i {
  max-width: 74ch;
  color: var(--pf-ice);
  font-family: var(--v86jja);
  font-size: 0.84rem;
  line-height: 1.55;
  font-style: normal;
}

.gwviky {
  color: var(--pf-frost);
  font-size: 0.68rem;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

@media (min-width: 761px) {
  .gmuxcd:has(.gecrf4) .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 42%);
    grid-template-rows: repeat(4, auto);
    column-gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
  }

  .gmuxcd:has(.gecrf4) h1,
  .gmuxcd:has(.gecrf4) .gtuxzk,
  .gmuxcd:has(.gecrf4) .gvy39p,
  .gmuxcd:has(.gecrf4) .gvpsdw {
    grid-column: 1;
    max-width: none;
  }

  .gmuxcd:has(.gecrf4) h1 {
    font-size: clamp(3rem, 6vw, 5rem);
  }

  .gmuxcd:has(.gecrf4) .gecrf4 {
    position: relative;
    top: auto;
    right: auto;
    grid-column: 2;
    grid-row: 1 / -1;
    width: 100%;
    transform: none;
  }
}

@media (max-width: 980px) {
  .gsgtvm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gecrf4 {
    width: min(39%, 24rem);
  }
}

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

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

  h1 {
    font-size: clamp(2.55rem, 14vw, 4.35rem);
  }

  .gvvqxc .container {
    min-height: 4.2rem;
  }

  .ghowke {
    font-size: 1rem;
  }

  .ghowke::before {
    width: 2rem;
    height: 2rem;
  }

  .ghowke::after {
    left: 2.62rem;
  }

  .gpoi2a {
    padding-block: 0.8rem 1rem;
  }

  .gpoi2a ul {
    align-items: stretch;
  }

  .gpoi2a a {
    display: block;
    padding-block: 0.42rem;
    font-size: 0.7rem;
  }

  .gmuxcd {
    min-height: 0;
    padding-block: 4rem 4.8rem;
  }

  .gmuxcd::before {
    right: -4rem;
    width: 14rem;
    opacity: 0.42;
  }

  .gmuxcd::after {
    right: 1rem;
    bottom: 1rem;
    max-width: calc(100% - 2rem);
    font-size: 0.52rem;
    letter-spacing: 0.12em;
  }

  .gmuxcd .container::before {
    left: var(--container-padding);
  }

  .gmuxcd h1,
  .gmuxcd .gtuxzk,
  .gmuxcd .gvy39p,
  .gmuxcd .gvpsdw,
  .gmuxcd:has(.gecrf4) h1,
  .gmuxcd:has(.gecrf4) .gvy39p,
  .gmuxcd:has(.gecrf4) .gvpsdw {
    max-width: calc(100% - 1.25rem);
    margin-left: 1.25rem;
  }

  .gecrf4 {
    position: relative;
    top: auto;
    right: auto;
    width: calc(100% - 1.25rem);
    margin: 2.8rem 0 0 1.25rem;
    transform: none;
  }

  .gecrf4 img {
    aspect-ratio: 16 / 9;
  }

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

  .gi0tn2 {
    padding-top: 3rem;
  }

  .gi0tn2 .container > section,
  .gi0tn2 .container > section:first-of-type {
    max-width: 100%;
    padding-block: 2.8rem;
  }

  .gi0tn2 .container > section:first-of-type {
    padding-inline: 1.25rem;
  }

  .gcpn26 {
    max-width: 100%;
    margin-inline: 0;
  }

  .gf3sjs {
    padding: 3.8rem 1.25rem 1.25rem;
  }

  .gf3sjs::before {
    top: 1.2rem;
    left: 1.25rem;
  }

  .gt9s1u li {
    padding: 1.2rem 0.85rem 1.2rem 3rem;
  }

  .gt9s1u li::before {
    top: 1.22rem;
    left: 0.8rem;
  }

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

  .g9pu5q .container {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gg3xa3,
  .g60ijn,
  .gpoi2a a::after {
    transition: none;
  }
}
