:root {
  --vnh01p: #c4e36d;
  --vxl53p: #2a2f1e;
  --v8pkab: #262e0f;
  --v7ev45: #7d933e;
  --v851ar: #c983ec;
  --vupjf1: #c4e36d;
  --v6ut3a: #241a37;
  --vvdap7: #392a55;
  --v1gqo2: #8c7cab;
  --vgx7ta: #100b19;
  --v4249m: #140d21;
  --voot80: #1f1532;
  --vn6abm: #eceaf0;
  --vdg8so: #a7a0b6;
  --vzanr0: #53c69c;
  --ve7i4b: #e4b558;
  --vefstu: #de625e;
  --vww404: 75.041rem;
  --vzm297: 67ch;
  --vlyr70: #1f1532;
  --vo2vob: clamp(1.022rem, 3vw, 2.027rem);
  --v9vxc9: 4.168rem;
  --v1k8dj: 'Roboto Slab', system-ui, sans-serif;
  --v51fvv: 'Inter', system-ui, sans-serif;
  --vefr23: 'Roboto Slab', system-ui, sans-serif;
  --vu7u3e: clamp(2.293rem, 4.5vw, 3.68rem);
  --viobtj: clamp(1.463rem, 3vw, 2.293rem);
  --ve6tnw: 1.463rem;
  --vbz7j1: 1.035rem;
  --vf93rg: 0.924rem;
  --vgjgb2: 1.15;
  --vqz5ec: 1.65;
  --v9acri: 0.483rem;
  --vznrj0: 0.773rem;
  --vd4f0j: #111111;
  --v9cxu1: #ffffff;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--v51fvv); font-size: var(--vbz7j1); line-height: var(--vqz5ec); color: var(--vn6abm); background: var(--v4249m); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--v1k8dj); line-height: var(--vgjgb2); font-weight: 700; color: var(--vn6abm); text-wrap: balance; }
h1 { font-size: var(--vu7u3e); letter-spacing: -0.02em; }
h2 { font-size: var(--viobtj); margin-top: 2.387rem; margin-bottom: 0.773rem; }
h3 { font-size: var(--ve6tnw); margin-top: 1.793rem; margin-bottom: 0.483rem; }
p { margin-bottom: 1.022rem; }
a { color: var(--vupjf1); }
ul, ol { margin: 0 0 1.022rem 1.294rem; }
li { margin-bottom: 0.36rem; }
strong { font-weight: 700; }
code { font-family: ui-monospace, "SF Mono", Menlo, monospace; background: rgba(128, 128, 128, 0.122); border: 1px solid rgba(128, 128, 128, 0.312); border-radius: 4px; padding: 0.105em 0.367em; font-size: 0.886em; color: var(--vn6abm); }
blockquote { border-left: 3px solid var(--vnh01p); padding-left: 1.022rem; color: var(--vdg8so); margin: 0 0 1.022rem; }
img { max-width: 100%; height: auto; display: block; }
sup.dw8vzf a { text-decoration: none; color: var(--v851ar); font-weight: 600; }
.container { width: 100%; max-width: var(--vww404); margin-inline: auto; padding-inline: var(--vo2vob); }
.d1gto6 { position: absolute; left: -999px; }
.d1gto6:focus { left: 1.022rem; top: 1.022rem; background: var(--voot80); padding: 0.483rem 1.022rem; z-index: 100; }
main { display: block; }
.d8j4zz { font-family: var(--vefr23); font-weight: 800; font-size: 1.175rem; color: var(--vn6abm); text-decoration: none; }
.dlr76b { min-width: 0; }
.dlr76b ul { display: flex; flex-wrap: wrap; gap: 1.294rem; list-style: none; margin: 0; padding: 0; min-width: 0; }
.dlr76b li { white-space: nowrap; }
.dlr76b a { color: var(--vdg8so); text-decoration: none; font-size: var(--vf93rg); font-weight: 600; }
.dlr76b a:hover { color: var(--vupjf1); }
.dl38rw { display: none; background: none; border: 1px solid var(--vvdap7); border-radius: 6px; padding: 0.405rem 0.633rem; font-size: 1.163rem; line-height: 1; cursor: pointer; color: var(--vn6abm); }
.dtvbur { font-family: var(--vefr23); text-transform: uppercase; letter-spacing: 0.122em; font-size: var(--vf93rg); font-weight: 700; color: var(--v851ar); margin-bottom: 0.773rem; }
.d70k86 { font-size: 1.175rem; color: var(--vdg8so); margin-top: 1.022rem; max-width: 63ch; }
.douwi3 { display: flex; flex-wrap: wrap; gap: 0.773rem; margin-top: 1.793rem; }
.dh9t1k { display: inline-block; padding: 0.87rem 1.642rem; border-radius: var(--v9acri); font-weight: 700; text-decoration: none; font-size: var(--vf93rg); transition: transform 0.144s ease, opacity 0.144s ease; }
.dh9t1k:hover { transform: translateY(-1px); }
.dcbhz3 { background: var(--vnh01p); color: var(--vd4f0j); }
.d9mmbf { background: transparent; color: var(--vupjf1); border: 1.5px solid var(--vupjf1); }
article > section, main > article { padding-block: 0.483rem; }
.do7a51 { padding-block: 1.022rem 3.031rem; }
.do7a51 .container > section { max-width: var(--vzm297); margin-inline: auto; }
.do7a51 .container > section.do9v3j, .do7a51 .container > .do9v3j { max-width: none; }
.do7a51 .container > section > .d3dbyd,
.do7a51 .container > section > .dxcmwu,
.do7a51 .container > section > .dyzou7,
.do7a51 .container > section > .dzcx0e,
.do7a51 .container > section > .d1cy16 {
  --vko6hc: min(var(--vww404) - 2 * var(--vo2vob), 100vw - 2 * var(--vo2vob));
  width: var(--vko6hc);
  max-width: none;
  margin-inline: calc((100% - var(--vko6hc)) / 2);
}
@media (max-width: 904px) {
  .do7a51 .container > section > .d3dbyd,
  .do7a51 .container > section > .dxcmwu,
  .do7a51 .container > section > .dyzou7,
  .do7a51 .container > section > .dzcx0e,
  .do7a51 .container > section > .d1cy16 { width: 100%; margin-inline: 0; }
}
.d1cy16 img { aspect-ratio: 16 / 7; object-fit: contain; background: var(--voot80); }
.d0tnvj img { aspect-ratio: 16 / 6; object-fit: cover; }
.dyzou7 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.294rem, 3vw, 2.387rem); align-items: center; background: var(--vlyr70, var(--voot80)); border: 1px solid var(--vvdap7); border-radius: var(--vznrj0); padding: clamp(1.294rem, 3vw, 2.293rem); margin: 2.387rem 0; }
.di4aa6 img { border-radius: calc(var(--vznrj0) - 0.252rem); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.di4aa6 figcaption { font-size: var(--vf93rg); color: var(--vdg8so); margin-top: 0.633rem; line-height: 1.45; }
.daeckt { font-family: var(--vefr23); text-transform: uppercase; letter-spacing: 0.105em; font-size: 0.773rem; font-weight: 700; color: var(--v851ar); margin-bottom: 0.633rem; }
.dorrmy h2, .dorrmy h3 { margin-top: 0; }
.dorrmy p:last-child { margin-bottom: 0; }
@media (max-width: 724px) { .dyzou7 { grid-template-columns: 1fr; } }
.d49j8t { border-left: 3px solid var(--v851ar); background: var(--vlyr70, var(--voot80)); border-radius: 0 var(--vznrj0) var(--vznrj0) 0; padding: 1.294rem 1.463rem; margin: 2.027rem 0; }
.d49j8t h2, .d49j8t h3 { margin-top: 0; font-size: 1.016rem; text-transform: uppercase; letter-spacing: 0.078em; color: var(--vdg8so); }
.dfcv7c { list-style: none; margin: 0.773rem 0 0; padding: 0; display: grid; gap: 0.633rem; }
.dfcv7c li { margin: 0; padding-left: 1.317rem; position: relative; }
.dfcv7c li::before { content: "\2014"; position: absolute; left: 0; color: var(--v851ar); font-weight: 700; }
.dxcmwu { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.896rem), 1fr)); gap: 1px; background: var(--vvdap7); border: 1px solid var(--vvdap7); border-radius: var(--vznrj0); overflow: hidden; margin: 2.293rem 0; }
.docuiy { background: var(--voot80); padding: 1.317rem 1.294rem; }
.dwzba3 { font-family: var(--vefr23); font-size: clamp(1.793rem, 3.5vw, 2.387rem); font-weight: 800; line-height: 1.05; color: var(--vnh01p); letter-spacing: -0.02em; }
.dkfyrx { font-size: var(--vf93rg); color: var(--vdg8so); margin-top: 0.405rem; line-height: 1.4; }
.dzcx0e { background: var(--vnh01p); color: var(--vd4f0j); border-radius: var(--vznrj0); padding: clamp(1.463rem, 4vw, 2.895rem); margin: 3.031rem 0 1.022rem; text-align: center; }
.dzcx0e h2, .dzcx0e h3 { color: var(--vd4f0j); margin-top: 0; }
.dzcx0e p { color: var(--vd4f0j); opacity: 0.88; margin-inline: auto; max-width: 59ch; }
.dzcx0e .douwi3 { justify-content: center; }
.dzcx0e .d9mmbf { color: var(--vd4f0j); border-color: var(--vd4f0j); }
.d1cy16 img { border-radius: var(--vznrj0); width: 100%; }
.d1cy16 figcaption { font-size: var(--vf93rg); color: var(--vdg8so); margin-top: 0.633rem; font-style: italic; }
.d0tnvj { margin: 1.463rem 0; }
.d0tnvj img { border-radius: var(--vznrj0); }
.dadpo6 { background: var(--voot80); border: 1px solid #392a55; border-radius: var(--vznrj0); padding: 1.463rem; }
.d3dbyd { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.297rem), 1fr)); gap: 1.294rem; margin: 1.463rem 0 2.027rem; }
.d3dbyd .dadpo6 { display: flex; flex-direction: column; gap: 0.483rem; }
.d3dbyd .dadpo6 img { border-radius: calc(var(--vznrj0) - 0.252rem); margin-bottom: 0.483rem; aspect-ratio: 16 / 10; object-fit: cover; }
.d3dbyd .dadpo6 h2, .d3dbyd .dadpo6 h3 { margin: 0; font-size: 1.175rem; }
.d3dbyd .dadpo6 p { margin: 0; font-size: var(--vf93rg); color: var(--vdg8so); }
.d3dbyd .dadpo6 .dbal59 { margin-top: auto; padding-top: 0.633rem; font-weight: 700; font-size: var(--vf93rg); color: var(--vupjf1); text-decoration: none; }
.d3dbyd .dadpo6 .dbal59:hover { text-decoration: underline; }
.do9a88 { margin: 1.463rem 0; }
.do9a88 img { border-radius: var(--vznrj0); }
.do9a88 figcaption { font-size: var(--vf93rg); color: var(--vdg8so); margin-top: 0.483rem; font-style: italic; }
.d1bumb { overflow-x: auto; margin: 1.294rem 0 1.793rem; }
table { border-collapse: collapse; width: 100%; font-size: var(--vf93rg); }
th, td { text-align: left; padding: 0.633rem 0.87rem; border-bottom: 1px solid var(--vvdap7); vertical-align: top; }
thead th { border-bottom: 2px solid var(--vn6abm); font-family: var(--v1k8dj); }
tbody tr:nth-child(even) { background: rgba(128, 128, 128, 0.086); }
.dsbxu9 { padding-left: 1.463rem; }
.dsbxu9 li { margin-bottom: 0.773rem; font-size: var(--vf93rg); color: var(--vdg8so); }
.dsbxu9 li a { word-break: break-word; }
.dwner5 ul { list-style: none; margin: 0; padding: 0; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
.dgll6r.du86ab4 { border-bottom: 1px solid var(--vvdap7); background: var(--voot80); position: sticky; top: 0; z-index: 50; }
.dgll6r.du86ab4 .container { display: flex; align-items: center; justify-content: space-between; min-height: var(--v9vxc9); }
.dgll6r.du86ab4 .dl38rw { display: block; }
.dgll6r.du86ab4 .dlr76b { position: fixed; top: 0; right: 0; bottom: 0; width: min(20.617rem, 80vw); background: var(--voot80); border-left: 1px solid var(--vvdap7); transform: translateX(100%); transition: transform 0.257s ease; z-index: 60; padding: 4.389rem 1.463rem 1.463rem; overflow-y: auto; }
.dgll6r.du86ab4 .dlr76b.diut4o { transform: translateX(0); }
.dgll6r.du86ab4 .dlr76b ul { flex-direction: column; gap: 1.022rem; }
.dgll6r.du86ab4 .dlr76b a { font-size: var(--vbz7j1); }
.dzebke { position: fixed; inset: 0; background: rgba(0,0,0,0.4); opacity: 0; visibility: hidden; transition: opacity 0.257s ease; z-index: 55; }
body.dfll94 .dzebke { opacity: 1; visibility: visible; }
.deq6qw.d6hkf71 { padding: clamp(2.387rem, 6vw, 5.18rem) 0 clamp(1.463rem, 4vw, 3.031rem); text-align: center; }
.deq6qw.d6hkf71 .container { max-width: 48.152rem; }
.deq6qw.d6hkf71 h1 { margin-inline: auto; max-width: 20ch; }
.deq6qw.d6hkf71 .d70k86 { margin-inline: auto; }
.deq6qw.d6hkf71 .douwi3 { justify-content: center; }
.deq6qw.d6hkf71 .d0tnvj { margin-inline: auto; }
.dnfwv9.d6ic0x2 { background: var(--v6ut3a); border-top: 1px solid var(--vvdap7); margin-top: 4.168rem; padding-block: 2.387rem; text-align: center; }
.dnfwv9.d6ic0x2 a { color: var(--vdg8so); text-decoration: none; }
.dnfwv9.d6ic0x2 a:hover { color: var(--vupjf1); text-decoration: underline; }
.dnfwv9.d6ic0x2 .d2bmd1 { font-style: italic; color: var(--vdg8so); margin: 0 auto 1.294rem; max-width: 54ch; }
.dnfwv9.d6ic0x2 .drpqyt { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.773rem 1.294rem; font-size: var(--vf93rg); }
.dnfwv9.d6ic0x2 .d5nilx { margin-top: 1.294rem; font-size: var(--vf93rg); color: var(--vdg8so); }

/* ---- per-site theme layer ---- */
/* Research Campaigns Review — protocol dossier / decision-gate system */

:root {
  --vdg8so: #aaa3b8;
  --rcr-line: rgba(201, 131, 236, 0.34);
  --rcr-line-soft: rgba(236, 234, 240, 0.12);
  --rcr-grid: rgba(196, 227, 109, 0.055);
  --rcr-violet-wash: rgba(201, 131, 236, 0.1);
  --rcr-lime-wash: rgba(196, 227, 109, 0.075);
  --rcr-deep: #100b19;
  --rcr-shadow: 0 1.8rem 5rem rgba(5, 2, 9, 0.38);
  --vzm297: 69ch;
  --vznrj0: 0.2rem;
}

html {
  background: var(--v4249m);
  scroll-padding-top: 5.5rem;
}

body {
  background:
    linear-gradient(90deg, transparent calc(50% - 0.5px), rgba(201, 131, 236, 0.035) 50%, transparent calc(50% + 0.5px)),
    var(--v4249m);
  color: var(--vn6abm);
  font-size: 1.045rem;
  font-feature-settings: "tnum" 1, "kern" 1;
  letter-spacing: -0.004em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(var(--rcr-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--rcr-grid) 1px, transparent 1px);
  background-size: 5rem 5rem;
  mask-image: linear-gradient(to bottom, #000, transparent 58rem);
}

::selection {
  color: var(--rcr-deep);
  background: var(--vnh01p);
}

main {
  overflow: hidden;
}

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

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--vnh01p);
  outline-offset: 4px;
}

p,
li {
  text-wrap: pretty;
}

h1,
h2,
h3 {
  font-variation-settings: "wght" 650;
}

h1 {
  font-size: clamp(2.9rem, 6.6vw, 6.4rem);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.06em;
}

h2 {
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.035em;
}

h3 {
  letter-spacing: -0.022em;
}

.d1gto6:focus {
  left: 1rem;
  top: 1rem;
  border: 1px solid var(--v851ar);
  border-radius: 0;
  color: var(--vn6abm);
  background: var(--voot80);
  box-shadow: 0.3rem 0.3rem 0 var(--vnh01p);
}

/* Variant 4: restrained drawer masthead with an RC review-stamp. */
.dgll6r.du86ab4 {
  overflow: visible;
  border-top: 3px solid var(--vnh01p);
  border-bottom: 1px solid var(--rcr-line);
  background: rgba(31, 21, 50, 0.96);
  box-shadow: 0 0.8rem 2.8rem rgba(5, 2, 9, 0.24);
  backdrop-filter: blur(14px);
}

.dgll6r.du86ab4 .container {
  min-height: 4.9rem;
}

.d8j4zz {
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr);
  align-items: center;
  gap: 0.76rem;
  max-width: 16rem;
  color: var(--vn6abm);
  font-family: var(--vefr23);
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.d8j4zz::before {
  content: "RC";
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  color: var(--rcr-deep);
  background:
    linear-gradient(135deg, var(--vnh01p) 0 68%, var(--v851ar) 68% 100%);
  border: 1px solid var(--vn6abm);
  font-family: var(--v51fvv);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: -0.07em;
  box-shadow: 0.32rem 0.32rem 0 rgba(201, 131, 236, 0.45);
}

.d8j4zz::after {
  content: "REVIEW / MASTER FILE";
  grid-column: 2;
  margin-top: -0.5rem;
  color: var(--vnh01p);
  font-family: var(--v51fvv);
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.17em;
}

.dl38rw {
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  border-color: var(--v851ar);
  border-radius: 0;
  color: var(--vn6abm);
  background: var(--v4249m);
  box-shadow: 0.24rem 0.24rem 0 rgba(196, 227, 109, 0.28);
}

.dgll6r.du86ab4 .dlr76b {
  background:
    linear-gradient(180deg, rgba(201, 131, 236, 0.09), transparent 13rem),
    var(--voot80);
  border-left-color: var(--rcr-line);
  box-shadow: -1.4rem 0 4rem rgba(5, 2, 9, 0.42);
}

.dlr76b ul {
  counter-reset: nav-dossier;
}

.dlr76b li {
  margin: 0;
  border-bottom: 1px solid var(--rcr-line-soft);
}

.dlr76b a {
  position: relative;
  display: block;
  padding: 0.58rem 0.25rem 0.58rem 1.15rem;
  color: var(--vdg8so);
  font-size: 0.82rem;
  letter-spacing: 0.025em;
  transition: color 150ms ease, padding-left 150ms ease, background 150ms ease;
}

.dlr76b a::before {
  content: "";
  position: absolute;
  top: 1.02rem;
  left: 0;
  width: 0.38rem;
  height: 0.38rem;
  border: 1px solid var(--v851ar);
  transform: rotate(45deg);
}

.dlr76b a:hover,
.dlr76b a:focus-visible {
  padding-left: 1.55rem;
  color: var(--vn6abm);
  background: linear-gradient(90deg, var(--rcr-violet-wash), transparent 82%);
}

/* Variant 1: asymmetric protocol plate, with a framed image only when supplied. */
.deq6qw.d6hkf71 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.8rem, 8vw, 7.8rem) 0 clamp(3.2rem, 7vw, 6.2rem);
  border-bottom: 1px solid var(--rcr-line);
  text-align: left;
  background:
    radial-gradient(circle at 82% 23%, rgba(201, 131, 236, 0.16), transparent 26rem),
    linear-gradient(118deg, rgba(31, 21, 50, 0.78), rgba(20, 13, 33, 0.12) 58%),
    var(--v4249m);
}

.deq6qw.d6hkf71::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 0 24.9%, rgba(201, 131, 236, 0.08) 25%, transparent 25.1% 49.9%, rgba(201, 131, 236, 0.08) 50%, transparent 50.1% 74.9%, rgba(201, 131, 236, 0.08) 75%, transparent 75.1%),
    linear-gradient(180deg, transparent 0 84%, rgba(196, 227, 109, 0.05) 84% 84.2%, transparent 84.2%);
}

.deq6qw.d6hkf71::after {
  content: "CONTROL  /  COHORT  /  GATE";
  position: absolute;
  right: max(1.1rem, calc((100vw - var(--vww404)) / 2));
  bottom: 1.1rem;
  color: var(--vdg8so);
  font-size: 0.61rem;
  font-weight: 700;
  letter-spacing: 0.19em;
  writing-mode: vertical-rl;
  opacity: 0.78;
}

.deq6qw.d6hkf71 .container {
  position: relative;
  max-width: var(--vww404);
  text-align: left;
}

.deq6qw.d6hkf71 .container::before {
  content: "PROTOCOL\A 01 / 04";
  position: absolute;
  top: -1.6rem;
  right: 0;
  color: rgba(236, 234, 240, 0.075);
  font-family: var(--vefr23);
  font-size: clamp(3.4rem, 9vw, 8.4rem);
  font-weight: 700;
  line-height: 0.74;
  letter-spacing: -0.06em;
  white-space: pre;
}

.deq6qw.d6hkf71 .container:has(.d0tnvj) {
  display: grid;
  grid-template-columns: minmax(0, 6.2fr) minmax(19rem, 5.8fr);
  grid-template-rows: auto auto auto auto;
  align-items: end;
  gap: 0 clamp(2.5rem, 6vw, 6.2rem);
}

.deq6qw.d6hkf71 .container:has(.d0tnvj) > .dtvbur,
.deq6qw.d6hkf71 .container:has(.d0tnvj) > h1,
.deq6qw.d6hkf71 .container:has(.d0tnvj) > .d70k86,
.deq6qw.d6hkf71 .container:has(.d0tnvj) > .douwi3 {
  grid-column: 1;
}

.deq6qw.d6hkf71 .container:has(.d0tnvj) > .d0tnvj {
  grid-column: 2;
  grid-row: 1 / span 4;
}

.deq6qw h1 {
  position: relative;
  z-index: 1;
  max-width: 12ch;
  margin: 0;
}

.dtvbur {
  display: flex;
  align-items: center;
  gap: 0.72rem;
  width: max-content;
  max-width: 100%;
  margin-bottom: 1.25rem;
  color: var(--v851ar);
  font-family: var(--v51fvv);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.17em;
}

.dtvbur::before {
  content: "";
  width: 2.35rem;
  height: 0.5rem;
  flex: 0 0 2.35rem;
  border: solid var(--vnh01p);
  border-width: 1px 0;
}

.d70k86 {
  max-width: 57ch;
  margin-top: 1.35rem;
  padding-left: 1.15rem;
  border-left: 2px solid var(--v851ar);
  color: var(--vdg8so);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
}

.douwi3 {
  justify-content: flex-start;
}

.dh9t1k {
  border-radius: 0;
  letter-spacing: 0.035em;
}

.dcbhz3 {
  border: 1px solid var(--vnh01p);
  box-shadow: 0.28rem 0.28rem 0 rgba(201, 131, 236, 0.48);
}

.d9mmbf {
  background: rgba(31, 21, 50, 0.72);
}

.d0tnvj {
  position: relative;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid var(--rcr-line);
  background: rgba(16, 11, 25, 0.62);
  box-shadow: var(--rcr-shadow);
  transform: translateY(1.2rem);
}

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

.d0tnvj::before {
  top: -0.45rem;
  left: -0.45rem;
  border-top: 2px solid var(--vnh01p);
  border-left: 2px solid var(--vnh01p);
}

.d0tnvj::after {
  right: -0.45rem;
  bottom: -0.45rem;
  border-right: 2px solid var(--v851ar);
  border-bottom: 2px solid var(--v851ar);
}

.d0tnvj img {
  width: 100%;
  min-height: 25rem;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.08) brightness(0.82);
}

/* Reading column: numbered dossier sections and wide evidence modules. */
.do7a51 {
  padding-block: clamp(2.8rem, 6vw, 5.8rem);
}

.do7a51 > .container {
  counter-reset: rcr-section;
}

.do7a51 > .container > section {
  position: relative;
  counter-increment: rcr-section;
  padding: clamp(2.2rem, 5vw, 4rem) 0;
  border-top: 1px solid var(--rcr-line-soft);
}

.do7a51 > .container > section:first-of-type {
  margin-top: 0.8rem;
  padding: clamp(1.7rem, 4vw, 2.8rem);
  border: 1px solid var(--rcr-line);
  background:
    linear-gradient(135deg, var(--rcr-violet-wash), transparent 56%),
    var(--voot80);
  box-shadow: 0.65rem 0.65rem 0 rgba(201, 131, 236, 0.08);
}

.do7a51 > .container > section h2 {
  position: relative;
  margin-top: 0;
  margin-bottom: 1.35rem;
  padding-left: 3.6rem;
}

.do7a51 > .container > section h2::before {
  content: "0" counter(rcr-section);
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 2.65rem;
  padding-bottom: 0.38rem;
  border-bottom: 2px solid var(--vnh01p);
  color: var(--v851ar);
  font-family: var(--v51fvv);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
}

.do7a51 > .container > section p:last-child {
  margin-bottom: 0;
}

.do7a51 strong {
  color: var(--vn6abm);
}

.dw8vzf a {
  display: inline-grid;
  min-width: 1.55rem;
  min-height: 1.55rem;
  place-items: center;
  margin-inline: 0.08rem;
  border: 1px solid var(--rcr-line);
  border-radius: 50%;
  color: var(--vnh01p);
  background: var(--rcr-deep);
  font-family: var(--v51fvv);
  font-size: 0.65rem;
  line-height: 1;
}

.do9a88 {
  position: relative;
  margin: 2.2rem 0 0;
  padding: 0.7rem;
  border: 1px solid var(--rcr-line);
  background: var(--rcr-deep);
}

.do9a88::after {
  content: "SOURCE IMAGE / COMPOUND FILE";
  position: absolute;
  right: 1rem;
  bottom: 0.95rem;
  padding: 0.2rem 0.45rem;
  color: var(--vn6abm);
  background: rgba(16, 11, 25, 0.82);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.do9a88 img {
  width: 100%;
  border-radius: 0;
  filter: saturate(0.78) contrast(1.06);
}

/* Four numbered compound files. */
.d3dbyd {
  counter-reset: rcr-card;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: clamp(2.8rem, 6vw, 5.2rem) 0;
  border: 1px solid var(--rcr-line);
  background: var(--rcr-line);
  box-shadow: var(--rcr-shadow);
}

.d3dbyd .dadpo6 {
  position: relative;
  counter-increment: rcr-card;
  min-height: 28rem;
  overflow: hidden;
  padding: 1.3rem;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(160deg, rgba(201, 131, 236, 0.08), transparent 44%),
    var(--voot80);
}

.d3dbyd .dadpo6::before {
  content: "FILE 0" counter(rcr-card);
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  padding: 0.24rem 0.5rem;
  color: var(--rcr-deep);
  background: var(--vnh01p);
  font-size: 0.57rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.d3dbyd .dadpo6 img {
  width: calc(100% + 2.6rem);
  max-width: none;
  margin: -1.3rem -1.3rem 1rem;
  border-radius: 0;
  filter: saturate(0.66) contrast(1.09) brightness(0.82);
  transition: filter 180ms ease, transform 180ms ease;
}

.d3dbyd .dadpo6:hover img {
  filter: saturate(0.9) contrast(1.05) brightness(0.9);
  transform: scale(1.015);
}

.d3dbyd .dadpo6 h3 {
  margin-top: 0.45rem;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}

.d3dbyd .dadpo6 p {
  color: var(--vdg8so);
  font-size: 0.94rem;
}

.dbal59 {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: max-content;
  border-bottom: 1px solid var(--v851ar);
  color: var(--vnh01p);
  letter-spacing: 0.04em;
}

.dbal59::before {
  content: "◇";
  color: var(--v851ar);
}

/* Evidence table as a wide protocol register. */
.d1bumb {
  width: min(var(--vww404), calc(100vw - 2rem));
  max-width: none;
  margin: 2rem 50%;
  padding: 0.8rem;
  border: 1px solid var(--rcr-line);
  background: var(--rcr-deep);
  box-shadow: var(--rcr-shadow);
  transform: translateX(-50%);
}

table {
  min-width: 58rem;
  border: 1px solid var(--rcr-line-soft);
  font-size: 0.82rem;
}

th,
td {
  padding: 0.9rem 0.95rem;
  border-right: 1px solid var(--rcr-line-soft);
  border-bottom: 1px solid var(--rcr-line-soft);
  line-height: 1.5;
}

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

thead th {
  border-bottom: 2px solid var(--v851ar);
  color: var(--vn6abm);
  background: rgba(201, 131, 236, 0.13);
  font-family: var(--v51fvv);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

tbody tr:nth-child(even) {
  background: rgba(236, 234, 240, 0.045);
}

tbody td:first-child {
  color: var(--vnh01p);
  font-weight: 700;
}

/* References become indexed register cards. */
.dsbxu9 {
  counter-reset: rcr-ref;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: min(var(--vww404), 100%);
  margin: 2.5rem auto 0;
  padding: 0;
  list-style: none;
}

.dsbxu9 li {
  position: relative;
  counter-increment: rcr-ref;
  min-width: 0;
  margin: 0;
  padding: 1.15rem 1.15rem 1.15rem 4rem;
  border: 1px solid var(--rcr-line-soft);
  color: var(--vdg8so);
  background: var(--voot80);
  font-size: 0.78rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.dsbxu9 li::before {
  content: counter(rcr-ref, decimal-leading-zero);
  position: absolute;
  top: 1.15rem;
  left: 1rem;
  width: 2.2rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--vnh01p);
  color: var(--v851ar);
  font-family: var(--v1k8dj);
  font-size: 0.88rem;
  font-weight: 700;
}

.dsbxu9 li a {
  display: inline-grid;
  width: 1.55rem;
  height: 1.55rem;
  margin-left: 0.25rem;
  place-items: center;
  border: 1px solid var(--rcr-line);
  color: var(--vnh01p);
  text-decoration: none;
}

.d49j8t,
.dxcmwu,
.dzcx0e {
  border-radius: 0;
}

.d49j8t {
  border-left: 3px solid var(--v851ar);
  background: linear-gradient(90deg, var(--rcr-violet-wash), transparent), var(--voot80);
}

.dfcv7c li::before {
  content: "◇";
  color: var(--vnh01p);
}

.dxcmwu {
  gap: 1px;
  border-color: var(--rcr-line);
  background: var(--rcr-line);
}

.docuiy {
  background: var(--voot80);
}

.dwzba3 {
  color: var(--vnh01p);
}

.dzcx0e {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rcr-line);
  color: var(--vn6abm);
  background:
    linear-gradient(135deg, rgba(196, 227, 109, 0.14), transparent 48%),
    var(--voot80);
  text-align: left;
}

.dzcx0e::after {
  content: "NEXT GATE →";
  position: absolute;
  right: 1rem;
  bottom: 0.65rem;
  color: var(--v851ar);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.dzcx0e h2,
.dzcx0e h3,
.dzcx0e p {
  color: var(--vn6abm);
}

/* Variant 2: three-column register footer with an offset disclaimer plate. */
.dnfwv9.d6ic0x2 {
  position: relative;
  margin-top: clamp(4rem, 8vw, 7rem);
  padding: clamp(3rem, 6vw, 5rem) 0 2rem;
  border-top: 1px solid var(--rcr-line);
  background:
    linear-gradient(90deg, rgba(201, 131, 236, 0.055) 1px, transparent 1px),
    var(--voot80);
  background-size: 5rem 100%;
  text-align: left;
}

.dnfwv9.d6ic0x2::before {
  content: "RCR / INDEPENDENT REFERENCE DESK";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(var(--vww404), calc(100% - 2rem));
  padding-top: 0.8rem;
  border-top: 3px solid var(--vnh01p);
  color: var(--v851ar);
  font-size: 0.59rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  transform: translateX(-50%);
}

.dnfwv9.d6ic0x2 .container {
  display: grid;
  grid-template-columns: minmax(14rem, 1.15fr) minmax(0, 1.85fr);
  gap: 2.5rem clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.d2bmd1 {
  margin: 0;
  padding: 1.35rem;
  border: 1px solid var(--rcr-line);
  color: var(--vn6abm);
  background: var(--v4249m);
  font-family: var(--v1k8dj);
  font-size: 0.95rem;
  font-style: normal;
  line-height: 1.55;
  box-shadow: 0.42rem 0.42rem 0 rgba(201, 131, 236, 0.11);
}

.dr1r2e {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  justify-content: stretch;
}

.dzf6z6 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.38rem;
  padding-left: 1rem;
  border-left: 1px solid var(--rcr-line);
}

.dg2o7f {
  margin-bottom: 0.35rem;
  color: var(--vnh01p);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.dnfwv9.d6ic0x2 a {
  color: var(--vdg8so);
  font-size: 0.78rem;
}

.dnfwv9.d6ic0x2 a:hover,
.dnfwv9.d6ic0x2 a:focus-visible {
  color: var(--vn6abm);
}

.d5nilx {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1.35rem;
  border-top: 1px solid var(--rcr-line-soft);
  color: var(--vdg8so);
  font-size: 0.72rem;
  letter-spacing: 0.045em;
}

@media (max-width: 900px) {
  .deq6qw.d6hkf71 .container:has(.d0tnvj) {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.78fr);
    gap: 0 2rem;
  }

  .d0tnvj img {
    min-height: 21rem;
  }

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

  .dnfwv9.d6ic0x2 .container {
    grid-template-columns: 1fr;
  }
}

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

  h1 {
    font-size: clamp(2.5rem, 13vw, 4.35rem);
  }

  .d8j4zz {
    grid-template-columns: 2.35rem minmax(0, 1fr);
    max-width: 13.8rem;
    font-size: 0.92rem;
  }

  .d8j4zz::before {
    width: 2.35rem;
    height: 2.35rem;
  }

  .d8j4zz::after {
    font-size: 0.45rem;
  }

  .dgll6r.du86ab4 .dlr76b {
    width: min(22rem, 86vw);
  }

  .deq6qw.d6hkf71 {
    padding: 3.7rem 0 3.2rem;
  }

  .deq6qw.d6hkf71::after,
  .deq6qw.d6hkf71 .container::before {
    display: none;
  }

  .deq6qw.d6hkf71 .container:has(.d0tnvj) {
    display: block;
  }

  .deq6qw h1 {
    max-width: 10.5ch;
  }

  .dtvbur {
    width: auto;
    font-size: 0.61rem;
    overflow-wrap: anywhere;
  }

  .dtvbur::before {
    width: 1.4rem;
    flex-basis: 1.4rem;
  }

  .d0tnvj {
    margin-top: 2.2rem;
    transform: none;
  }

  .d0tnvj img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

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

  .d3dbyd .dadpo6 {
    min-height: 0;
  }

  .do7a51 > .container > section:first-of-type {
    padding: 1.35rem;
  }

  .do7a51 > .container > section h2 {
    padding-left: 0;
    padding-top: 1.45rem;
  }

  .do7a51 > .container > section h2::before {
    top: 0;
  }

  .do9a88::after {
    display: none;
  }

  .d1bumb {
    width: calc(100vw - 1rem);
    padding: 0.45rem;
  }

  .dsbxu9 li {
    padding-left: 3.5rem;
  }

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

  .dzf6z6 {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rcr-line-soft);
  }
}

@media (prefers-reduced-motion: reduce) {
  .d3dbyd .dadpo6 img {
    transition: none;
  }
}

/* Hand fix after visual QA 2026-09-18: the off-canvas nav list extended the document past the viewport (horizontal scrollbar). */
html, body { overflow-x: clip; }
