/* ============================================================================
   landing-dossier.css: "Field Dossier" homepage (/), body content only.
   Rendered inside the portal shell (shell.php -> #kp-main). All rules are
   scoped under .dossier so nothing leaks into the shell header/rail/footer.
   Fonts (Inter / Orbitron / JetBrains Mono) come from the shell's
   /assets/fonts.css. No @font-face, no base64 here.
   ========================================================================== */

.dossier{
  --bg:#000; --panel:#060906; --panel2:#070b07;
  --neon:#9FEF00; --neon-dim:#6fa800; --neon-bright:#b6ff1a;
  --amber:#ffcc00; --danger:#ff5f57;
  --t1:#e8f0e0; --t2:#aab4be; --t3:#8a93a0;
  --bd:rgba(159,239,0,.16); --bd2:rgba(159,239,0,.34);
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --disp:'Orbitron',sans-serif;
  --body:'Inter',system-ui,sans-serif;
  position:relative;
  color:var(--t1);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.dossier *{ box-sizing:border-box; }
.dossier a{ color:var(--neon); text-decoration:none; }
.dossier a:hover{ color:var(--neon-bright); }
.dossier img{ max-width:100%; display:block; }

/* full-dossier decorative grid, absolute (never fixed) so it stays behind the
   content and never covers the fixed shell header (z-index 1000). */
.dossier::before{
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background-image:
    linear-gradient(rgba(159,239,0,.020) 1px,transparent 1px),
    linear-gradient(90deg,rgba(159,239,0,.020) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 18%,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 18%,transparent 72%);
}
.dossier > *{ position:relative; z-index:1; }

.dossier .wrap{ max-width:1220px; margin:0 auto; padding:0 26px; }

/* ---------- shared section ---------- */
.dossier section{ padding:68px 0; border-top:1px solid var(--bd); }
.dossier .exhibit-tag{ display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--neon); margin-bottom:16px; }
.dossier .exhibit-tag .no{ display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:26px; padding:0 8px; border:1px solid var(--bd2); border-radius:5px; color:var(--neon); background:rgba(159,239,0,.05); font-weight:600; }
.dossier .exhibit-tag .ln{ color:var(--t3); }
.dossier h2.exh{ font-family:var(--disp); font-weight:800; font-size:clamp(26px,4vw,40px); line-height:1.08; margin:0 0 16px; letter-spacing:-.01em; color:var(--t1); }
.dossier h2.exh .a{ color:var(--neon); }
.dossier .lead{ color:var(--t2); font-size:16.5px; line-height:1.65; max-width:820px; margin:0 0 34px; }
.dossier .lead a{ font-weight:600; }
.dossier .mono-cap{ font-family:var(--mono); font-size:12px; color:var(--t3); letter-spacing:.03em; }

.dossier .brk{ position:relative; }
.dossier .brk::before,.dossier .brk::after{ content:''; position:absolute; width:20px; height:20px; pointer-events:none; z-index:2; }
.dossier .brk::before{ top:-1px; left:-1px; border-top:2px solid var(--neon); border-left:2px solid var(--neon); }
.dossier .brk::after{ bottom:-1px; right:-1px; border-bottom:2px solid var(--neon); border-right:2px solid var(--neon); }

/* ---------- COVER / case-file cover ---------- */
.dossier .cover{ padding:38px 0 56px; border-top:none; }
.dossier .file{ position:relative; border:1px solid var(--bd2); border-radius:14px; background:
  radial-gradient(ellipse at 82% -10%,rgba(159,239,0,.10),transparent 46%),
  linear-gradient(180deg,var(--panel2),#020402); overflow:hidden; }
.dossier .file-strip{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:12px 24px; border-bottom:1px dashed var(--bd2); font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--t3);
  background:repeating-linear-gradient(45deg,rgba(159,239,0,.05),rgba(159,239,0,.05) 12px,transparent 12px,transparent 24px); }
.dossier .file-strip .cls{ color:#000; background:var(--neon); padding:4px 12px; border-radius:4px; font-weight:700; letter-spacing:.16em; }
.dossier .file-body{ display:grid; grid-template-columns:1.35fr .9fr; gap:34px; padding:40px 44px 46px; }
@media(max-width:900px){ .dossier .file-body{ grid-template-columns:1fr; padding:32px 26px 36px; } }
.dossier .subj-tag{ font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--neon-dim); margin-bottom:12px; }
.dossier h1.subj{ font-family:var(--disp); font-weight:900; font-size:clamp(32px,5.4vw,60px); line-height:1.0; margin:0 0 8px; letter-spacing:-.015em; color:var(--t1) !important; text-shadow:none !important; }
.dossier h1.subj .a{ color:var(--neon) !important; display:block; text-shadow:none !important; }
/* the unified theme paints h1/h2/h3 with a neon glow; the dossier is flat by design */
.kp-body .dossier h1, .kp-body .dossier h2, .kp-body .dossier h3, .kp-body .dossier h4{ text-shadow:none !important; }
.dossier .subj-brief{ font-family:var(--mono); font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--t2); margin:6px 0 26px; }
.dossier .typed-wrap{ border-left:2px solid var(--bd2); padding:4px 0 4px 18px; margin:0 0 30px; min-height:120px; }
.dossier .typed{ font-size:16px; line-height:1.66; color:var(--t2); margin:0; }
.dossier .typed b{ color:var(--t1); font-weight:600; }
.dossier .typed .k{ color:var(--neon); }
.dossier .typed .cur{ display:inline-block; width:8px; height:16px; background:var(--neon); vertical-align:-2px; margin-left:2px; animation:kd-blink 1.1s steps(1) infinite; }
@keyframes kd-blink{ 50%{ opacity:0; } }
.dossier .cta-row{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:0; }
.dossier .btn{ display:inline-flex; align-items:center; gap:9px; padding:14px 24px; border-radius:8px; font-weight:700; font-size:14.5px; letter-spacing:.01em; border:1px solid transparent; cursor:pointer; font-family:inherit; transition:transform .15s ease,background .18s ease,border-color .18s ease,color .18s ease; }
.dossier .btn:hover{ transform:translateY(-2px); text-decoration:none; }
.dossier .btn svg{ width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:2; }
.dossier .btn-primary{ background:var(--neon); color:#000; }
.dossier .btn-primary:hover{ background:var(--neon-bright); color:#000; }
.dossier .btn-ghost{ background:transparent; color:var(--t1); border-color:var(--bd2); }
.dossier .btn-ghost:hover{ border-color:var(--neon); color:var(--neon); }
.dossier .btn-amber{ background:var(--amber); color:#000; }
.dossier .btn-amber:hover{ background:#ffd633; color:#000; }
.dossier .field-list{ font-family:var(--mono); font-size:12.5px; color:var(--t2); letter-spacing:.02em; display:grid; gap:9px; }
.dossier .field-list .fl{ display:flex; gap:10px; align-items:baseline; justify-content:space-between; }
.dossier .field-list .fl .k{ color:var(--t3); text-transform:uppercase; letter-spacing:.1em; font-size:11px; flex:0 0 auto; }
.dossier .field-list .fl .v{ color:var(--t1); text-align:right; }
.dossier .field-list .fl .v b{ color:var(--neon); }
.dossier .field-list .dline{ border-top:1px dashed var(--bd); margin:4px 0; }

.dossier .stamp-wrap{ position:relative; display:flex; align-items:flex-start; justify-content:center; padding-top:8px; }
.dossier .stamp{ position:relative; transform:rotate(-9deg); color:var(--neon); border:3px double var(--neon); border-radius:8px; padding:12px 18px 10px; text-align:center; font-family:var(--disp); letter-spacing:.06em; opacity:.92;
  box-shadow:inset 0 0 0 1px rgba(159,239,0,.25); }
.dossier .stamp .s1{ font-size:12px; font-weight:800; line-height:1; }
.dossier .stamp .s2{ font-size:22px; font-weight:900; line-height:1; margin:5px 0 4px; }
.dossier .stamp .s3{ font-family:var(--mono); font-weight:400; font-size:10px; letter-spacing:.18em; color:var(--neon-dim); }
.dossier .stamp::after{ content:''; position:absolute; inset:-6px; border:1px solid rgba(159,239,0,.22); border-radius:12px; pointer-events:none; }
.dossier .stamp.press{ animation:kd-press 900ms cubic-bezier(.2,.9,.25,1) both; }
@keyframes kd-press{ 0%{ opacity:0; transform:rotate(-9deg) scale(2.6); } 55%{ opacity:.55; } 70%{ transform:rotate(-9deg) scale(.92); } 100%{ opacity:.92; transform:rotate(-9deg) scale(1); } }

.dossier .cover-meta{ display:flex; flex-wrap:wrap; gap:8px 26px; padding:16px 24px; border-top:1px dashed var(--bd2); font-family:var(--mono); font-size:12px; color:var(--t2); letter-spacing:.02em; background:rgba(0,0,0,.35); }
.dossier .cover-meta span{ display:inline-flex; align-items:center; gap:8px; }
.dossier .cover-meta b{ color:var(--neon); font-weight:700; }
.dossier .cover-meta .dot{ width:6px; height:6px; border-radius:50%; background:var(--neon); }

/* quick reference strip under the cover */
.dossier .quicklinks{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:18px; }
@media(max-width:820px){ .dossier .quicklinks{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .dossier .quicklinks{ grid-template-columns:1fr; } }
.dossier .qlink{ border:1px solid var(--bd); border-radius:12px; padding:16px 18px; background:var(--panel); color:var(--t1); transition:border-color .18s,transform .18s,background .18s; }
.dossier .qlink:hover{ border-color:var(--neon); transform:translateY(-2px); background:rgba(159,239,0,.04); }
.dossier .qlink b{ display:block; color:var(--neon); font-family:var(--disp); font-weight:700; font-size:14px; margin-bottom:6px; }
.dossier .qlink span{ color:var(--t2); font-size:12.5px; line-height:1.5; }
.dossier .qtrust{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 22px; margin-top:20px; font-family:var(--mono); font-size:12.5px; letter-spacing:.02em; }
.dossier .qtrust a{ color:var(--neon); display:inline-flex; align-items:center; gap:7px; }
.dossier .qtrust span{ color:var(--t2); }

/* ---------- pull-quote strip ---------- */
.dossier .pull{ border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); padding:42px 0;
  background:linear-gradient(90deg,transparent,rgba(159,239,0,.05),transparent); }
.dossier .pull .wrap{ display:flex; gap:24px; align-items:flex-start; }
.dossier .pull .mk{ font-family:var(--disp); font-size:52px; line-height:.7; color:var(--neon-dim); flex:0 0 auto; }
.dossier .pull blockquote{ margin:0; font-family:var(--disp); font-weight:700; font-size:clamp(19px,2.7vw,30px); line-height:1.28; color:var(--t1); letter-spacing:-.005em; }
.dossier .pull blockquote .a{ color:var(--neon); }
.dossier .pull cite{ display:block; margin-top:14px; font-family:var(--mono); font-size:12px; font-style:normal; color:var(--t3); letter-spacing:.08em; text-transform:uppercase; }

/* ---------- evidence photos ---------- */
.dossier .evidence{ display:grid; grid-template-columns:2.05fr 1fr; gap:22px; align-items:stretch; }
@media(max-width:900px){ .dossier .evidence{ grid-template-columns:1fr; } }
.dossier .photo{ position:relative; border:1px solid var(--bd2); border-radius:10px; overflow:hidden; background:#040604; min-height:200px; display:block; }
.dossier a.photo:hover{ border-color:var(--neon); }
.dossier .photo img{ width:100%; height:100%; object-fit:cover; object-position:top center; display:block; filter:saturate(1.05) contrast(1.02); }
.dossier .evidence > .photo{ aspect-ratio:4/3; }
.dossier .evidence-side .photo{ aspect-ratio:1.9; flex:0 0 auto; }
.dossier .evidence-more{ flex:1; }
.dossier .photo .plate{ position:absolute; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:12px;
  padding:9px 14px; font-family:var(--mono); font-size:11px; letter-spacing:.05em; color:var(--t1);
  background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.4) 70%,transparent); }
.dossier .photo .plate .id{ color:var(--neon); }
.dossier .photo .tape{ position:absolute; top:-9px; left:22px; transform:rotate(-3deg); background:rgba(159,239,0,.16); border:1px solid var(--bd2);
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; color:var(--neon); padding:4px 12px; text-transform:uppercase; z-index:3; }
.dossier .evidence-side{ display:flex; flex-direction:column; gap:22px; }
.dossier .evidence-more{ display:flex; flex-direction:column; justify-content:center; gap:8px; border:1px solid var(--bd2); border-radius:10px; padding:20px; background:linear-gradient(160deg,rgba(159,239,0,.08),rgba(159,239,0,.02)); color:var(--t1); transition:box-shadow .2s,border-color .2s,transform .2s; }
.dossier .evidence-more:hover{ border-color:var(--neon); transform:translateY(-2px); box-shadow:0 0 26px rgba(159,239,0,.18); }
.dossier .evidence-more strong{ font-family:var(--disp); font-size:15px; color:var(--t1); }
.dossier .evidence-more span{ font-size:12.5px; color:var(--t2); line-height:1.5; }
.dossier .evidence-more .cta{ color:var(--neon); font-family:var(--mono); font-size:12px; }

/* ---------- field notes ---------- */
/* Masonry columns: notes vary a lot in length, a strict grid stretched the
   short cards into big empty boxes. Columns pack them edge to edge. */
.dossier .notes-grid{ columns:3; column-gap:14px; margin-top:26px; }
@media(max-width:900px){ .dossier .notes-grid{ columns:2; } }
@media(max-width:640px){ .dossier .notes-grid{ columns:1; } }
.dossier .notes-grid .note{ break-inside:avoid; margin-bottom:14px; }
.dossier .note{ border:1px solid var(--bd); border-radius:10px; padding:18px 18px 16px; background:var(--panel); }
.dossier .note:hover{ border-color:var(--bd2); }
.dossier .note h4{ font-family:var(--disp); font-weight:700; font-size:15px; margin:0 0 8px; color:var(--t1); line-height:1.3; }
.dossier .note p{ margin:0 0 10px; color:var(--t2); font-size:14px; line-height:1.58; }
.dossier .note p:last-child{ margin-bottom:0; }
.dossier .note p strong{ color:var(--t1); font-weight:600; }
.dossier .note p em{ color:var(--t1); font-style:italic; }
.dossier .note code{ font-family:var(--mono); color:var(--neon); font-size:12.5px; }
.dossier .note .idx{ font-family:var(--mono); font-size:11px; color:var(--neon-dim); letter-spacing:.1em; margin-bottom:8px; }
.dossier .note .more{ font-family:var(--mono); font-size:11.5px; color:var(--neon); letter-spacing:.03em; }
.dossier .note .more::after{ content:' >'; }

/* ---------- equipment list (protocols) ---------- */
.dossier .equip{ border:1px solid var(--bd2); border-radius:12px; background:var(--panel2); overflow:hidden; }
.dossier .equip-head{ display:grid; grid-template-columns:56px 1fr 168px 96px; padding:11px 18px;
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); border-bottom:1px solid var(--bd2); background:rgba(159,239,0,.04); }
.dossier .equip-head span:last-child{ justify-self:end; }
.dossier .equip-row{ display:grid; grid-template-columns:56px 1fr 168px 96px; align-items:center; padding:13px 18px; border-bottom:1px dashed var(--bd); font-size:14px; }
.dossier .equip-row:last-child{ border-bottom:0; }
.dossier .equip-row:hover{ background:rgba(159,239,0,.04); }
.dossier .equip-row .n{ font-family:var(--mono); font-size:12px; color:var(--neon-dim); }
.dossier .equip-row .name{ font-weight:600; color:var(--t1); }
.dossier .equip-row .name.tor{ color:var(--neon); }
.dossier .equip-row .ecls{ font-family:var(--mono); font-size:11.5px; color:var(--t2); letter-spacing:.03em; }
.dossier .equip-row .st{ justify-self:end; font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; color:var(--neon); border:1px solid var(--bd2); border-radius:999px; padding:3px 9px; background:rgba(159,239,0,.05); white-space:nowrap; }
@media(max-width:640px){
  .dossier .equip-head{ grid-template-columns:44px 1fr 82px; }
  .dossier .equip-head .h-cls{ display:none; }
  .dossier .equip-row{ grid-template-columns:44px 1fr 82px; }
  .dossier .equip-row .ecls{ display:none; }
}

/* ---------- pipeline (fleet) ---------- */
.dossier .pipeline{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:14px; align-items:stretch; margin-bottom:30px; }
@media(max-width:820px){ .dossier .pipeline{ grid-template-columns:1fr; } .dossier .pipeline .arw{ display:none; } }
.dossier .stage{ border:1px solid var(--bd); border-radius:12px; padding:22px 20px; background:var(--panel); }
.dossier .stage:hover{ border-color:var(--bd2); }
.dossier .stage .sn{ font-family:var(--mono); font-size:11px; color:var(--neon); letter-spacing:.16em; margin-bottom:9px; }
.dossier .stage h4{ font-family:var(--disp); font-weight:700; font-size:18px; margin:0 0 9px; color:var(--t1); }
.dossier .stage p{ margin:0; color:var(--t2); font-size:14px; line-height:1.58; }
.dossier .stage p strong{ color:var(--t1); font-weight:600; }
.dossier .arw{ display:flex; align-items:center; justify-content:center; color:var(--neon-dim); font-family:var(--disp); font-size:22px; }
.dossier .nodes{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
@media(max-width:820px){ .dossier .nodes{ grid-template-columns:repeat(2,1fr); } }
.dossier .node{ border:1px solid var(--bd); border-radius:10px; padding:16px 15px; background:var(--panel2); }
.dossier .node .nh{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.dossier .node .nh .d{ width:7px; height:7px; border-radius:50%; background:var(--neon); }
.dossier .node .nm{ font-family:var(--disp); font-weight:800; font-size:16px; color:var(--neon); letter-spacing:.03em; }
.dossier .node .role{ font-family:var(--mono); font-size:11px; color:var(--t2); line-height:1.5; letter-spacing:.02em; }
.dossier .node .tagz{ margin-top:9px; font-family:var(--mono); font-size:10px; color:var(--t3); letter-spacing:.06em; }

/* ---------- comparison table ---------- */
.dossier .compare-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--bd2); border-radius:12px; background:var(--panel2); }
.dossier table.compare{ width:100%; min-width:720px; border-collapse:collapse; font-size:14px; }
.dossier table.compare th,.dossier table.compare td{ padding:13px 15px; text-align:center; border-bottom:1px dashed var(--bd); }
.dossier table.compare th{ font-family:var(--disp); font-weight:700; font-size:12.5px; letter-spacing:.05em; color:var(--t1); text-transform:uppercase; border-bottom:1px solid var(--bd2); }
.dossier table.compare th.kd{ color:var(--neon); }
.dossier table.compare td.feat{ text-align:left; color:var(--t1); font-weight:500; }
.dossier table.compare th.feat{ text-align:left; }
.dossier table.compare td.kd{ color:var(--neon); font-weight:700; background:rgba(159,239,0,.05); }
.dossier table.compare td.y{ color:var(--t1); }
.dossier table.compare td.n{ color:var(--t3); }
.dossier table.compare tr:last-child th,.dossier table.compare tr:last-child td{ border-bottom:0; }
.dossier .compare-note{ text-align:center; color:var(--t3); font-size:12px; margin-top:14px; font-family:var(--mono); letter-spacing:.03em; }

/* ---------- mission-critical cards ---------- */
.dossier .mission-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media(max-width:900px){ .dossier .mission-grid{ grid-template-columns:1fr; } }
.dossier .mission{ border:1px solid var(--bd); border-radius:12px; padding:22px 20px; background:var(--panel); }
.dossier .mission:hover{ border-color:var(--bd2); }
.dossier .mission .mi{ width:36px; height:36px; border-radius:8px; border:1px solid var(--bd); background:rgba(159,239,0,.08); color:var(--neon); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.dossier .mission .mi svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; }
.dossier .mission h4{ font-family:var(--disp); font-weight:700; font-size:16px; margin:0 0 9px; color:var(--t1); line-height:1.3; }
.dossier .mission p{ margin:0 0 10px; color:var(--t2); font-size:14px; line-height:1.58; }
.dossier .mission p strong{ color:var(--t1); font-weight:600; }
.dossier .mission .more{ font-family:var(--mono); font-size:11.5px; color:var(--neon); letter-spacing:.03em; }
.dossier .mission .more::after{ content:' >'; }
.dossier .center-cta{ text-align:center; margin-top:28px; }
.dossier .center-cta .btn svg{ width:16px; height:16px; }

/* ---------- support band ---------- */
.dossier .support-band{ border-top:1px dashed rgba(255,204,0,.35); border-bottom:1px dashed rgba(255,204,0,.35);
  background:linear-gradient(90deg,transparent,rgba(255,204,0,.04),transparent); padding:28px 24px; text-align:center; }
.dossier .sb-inner{ display:inline-flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:center; max-width:900px; margin:0 auto; }
.dossier .support-band > svg,.dossier .sb-inner > svg{ width:22px; height:22px; color:var(--amber); flex-shrink:0; }
.dossier .sb-text{ color:var(--t1); font-size:15.5px; line-height:1.5; }
.dossier .sb-text strong{ color:var(--amber); font-weight:700; }
.dossier .sb-cta{ display:inline-flex; align-items:center; gap:8px; padding:11px 22px; background:var(--amber); color:#000; border-radius:7px; font-weight:700; font-size:14px; letter-spacing:.02em; transition:all .18s ease; }
.dossier .sb-cta svg{ width:18px; height:18px; color:#000; stroke:currentColor; fill:none; stroke-width:2; }
.dossier .sb-cta:hover{ background:#ffd633; box-shadow:0 0 22px rgba(255,204,0,.4); transform:translateY(-1px); }

/* ---------- curated arsenal ---------- */
.dossier .arsenal{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:980px){ .dossier .arsenal{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:540px){ .dossier .arsenal{ grid-template-columns:1fr; } }
.dossier .ars{ border:1px solid var(--bd); border-radius:12px; padding:20px 20px; background:var(--panel); }
.dossier .ars:hover{ border-color:var(--bd2); background:rgba(159,239,0,.03); }
.dossier .ars h5{ font-family:var(--disp); font-size:13px; color:var(--neon); margin:0 0 12px; letter-spacing:.05em; text-transform:uppercase; }
.dossier .ars ul{ margin:0; padding:0; list-style:none; }
.dossier .ars li{ color:var(--t1); font-size:13.5px; padding:6px 0; border-bottom:1px dashed rgba(159,239,0,.09); display:flex; justify-content:space-between; align-items:center; gap:8px; }
.dossier .ars li:last-child{ border-bottom:0; }
.dossier .ars li span{ color:var(--t3); font-family:var(--mono); font-size:10.5px; text-align:right; }

/* ---------- live tools ---------- */
.dossier .tools-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:920px){ .dossier .tools-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:540px){ .dossier .tools-grid{ grid-template-columns:1fr; } }
.dossier .tool-card{ display:block; border:1px solid var(--bd); border-radius:12px; padding:20px 20px 18px; background:var(--panel); color:var(--t1); transition:border-color .18s,transform .18s,background .18s; }
.dossier .tool-card:hover{ border-color:var(--neon); background:rgba(159,239,0,.04); transform:translateY(-2px); color:var(--t1); }
.dossier .tool-head{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.dossier .tool-head .ti{ width:34px; height:34px; border-radius:8px; background:rgba(159,239,0,.1); border:1px solid var(--bd); display:flex; align-items:center; justify-content:center; color:var(--neon); flex-shrink:0; }
.dossier .tool-head .ti svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; }
.dossier .tool-head h5{ font-family:var(--disp); font-weight:700; font-size:14.5px; margin:0; letter-spacing:.01em; line-height:1.25; }
.dossier .tool-card p{ color:var(--t2); font-size:13px; line-height:1.55; margin:0 0 10px; }
.dossier .tool-link{ font-family:var(--mono); font-size:11.5px; color:var(--neon); letter-spacing:.03em; }
.dossier .tool-link::after{ content:' >'; }

/* ---------- signing chain / transparency ---------- */
.dossier .custody{ border:1px solid var(--bd2); border-radius:12px; background:var(--panel2); padding:26px 26px 22px; margin-bottom:26px; }
.dossier .custody-line{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 0; font-family:var(--mono); font-size:12.5px; }
.dossier .cnode{ display:flex; align-items:center; gap:9px; padding:8px 14px; border:1px solid var(--bd2); border-radius:8px; background:rgba(159,239,0,.04); color:var(--t1); }
.dossier .cnode b{ color:var(--neon); font-weight:600; }
.dossier .clink{ flex:1 1 24px; min-width:20px; height:2px; background:linear-gradient(90deg,var(--bd2),var(--neon-dim),var(--bd2)); margin:0 6px; opacity:.8; }
.dossier .custody-note{ margin-top:18px; font-size:13.5px; color:var(--t2); line-height:1.6; }
.dossier .custody-note b{ color:var(--t1); }
.dossier .trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:900px){ .dossier .trust-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .dossier .trust-grid{ grid-template-columns:1fr; } }
.dossier .tcard{ display:block; border:1px solid var(--bd); border-radius:10px; padding:18px 18px 16px; background:var(--panel); color:var(--t1); transition:border-color .18s,transform .18s,background .18s; }
.dossier .tcard:hover{ border-color:var(--neon); transform:translateY(-2px); background:rgba(159,239,0,.04); color:var(--t1); }
.dossier .tcard .ti{ width:30px; height:30px; border-radius:7px; border:1px solid var(--bd); background:rgba(159,239,0,.08); color:var(--neon); display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.dossier .tcard .ti svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; }
.dossier .tcard h5{ font-family:var(--disp); font-weight:700; font-size:14px; margin:0 0 6px; color:var(--t1); }
.dossier .tcard p{ margin:0 0 9px; color:var(--t2); font-size:13px; line-height:1.5; }
.dossier .tcard .lnk{ font-family:var(--mono); font-size:11.5px; color:var(--neon); letter-spacing:.03em; }
.dossier .tcard .lnk::after{ content:' >'; }

/* ---------- record / assessments + stats ---------- */
.dossier .assessments{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:30px; }
@media(max-width:780px){ .dossier .assessments{ grid-template-columns:1fr; } }
.dossier .assess{ border:1px solid var(--bd); border-left:2px solid var(--neon-dim); border-radius:8px; padding:18px 20px; background:var(--panel); }
.dossier .assess .src{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--neon-dim); margin-bottom:9px; display:flex; justify-content:space-between; gap:10px; }
.dossier .assess .src .ok{ color:var(--neon); }
.dossier .assess p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--t1); }
.dossier .assess p b{ color:var(--neon); }
.dossier .assess p a{ font-weight:600; }
.dossier .record-stats{ display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
@media(max-width:900px){ .dossier .record-stats{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:520px){ .dossier .record-stats{ grid-template-columns:repeat(2,1fr); } }
.dossier .rstat{ border:1px solid var(--bd); border-radius:10px; padding:18px 12px; text-align:center; background:var(--panel); }
.dossier .rstat .n{ font-family:var(--disp); font-weight:800; font-size:26px; color:var(--neon); line-height:1; margin-bottom:7px; }
.dossier .rstat .l{ font-family:var(--mono); font-size:10.5px; color:var(--t2); text-transform:uppercase; letter-spacing:.06em; line-height:1.35; }

/* ---------- current builds ---------- */
.dossier .builds-strip{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(max-width:820px){ .dossier .builds-strip{ grid-template-columns:1fr; } }
.dossier .build-card{ display:flex; flex-direction:column; gap:8px; padding:20px 20px; border:1px solid var(--bd); border-radius:12px; background:var(--panel); color:var(--t1); transition:border-color .18s,transform .18s,background .18s; }
.dossier .build-card:hover{ border-color:var(--neon); transform:translateY(-2px); background:rgba(159,239,0,.04); color:var(--t1); }
.dossier .build-card-head{ display:flex; align-items:center; gap:10px; }
.dossier .build-icon{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; color:var(--neon); border:1px solid var(--bd); border-radius:6px; flex-shrink:0; }
.dossier .build-icon svg{ width:16px; height:16px; }
.dossier .build-label{ font-family:var(--disp); font-weight:700; font-size:11.5px; color:var(--neon); text-transform:uppercase; letter-spacing:.06em; }
.dossier .build-version{ font-family:var(--mono); font-size:22px; font-weight:700; color:var(--t1); line-height:1; }
.dossier .build-version.is-offline{ color:var(--t2); font-size:15px; font-weight:500; }
.dossier .build-meta{ font-family:var(--mono); font-size:12px; color:var(--neon); letter-spacing:.03em; }
.dossier .build-meta.is-unavailable{ color:var(--t2); }
.dossier .build-date{ font-size:12px; color:var(--t2); }
.dossier .builds-stamp{ margin-top:18px; text-align:center; font-family:var(--mono); font-size:12px; color:var(--t2); letter-spacing:.03em; }
.dossier .builds-stamp strong{ color:var(--neon); font-weight:700; }

/* ---------- clearance levels (editions) ---------- */
.dossier .levels{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:900px){ .dossier .levels{ grid-template-columns:1fr; } }
.dossier .level{ position:relative; border:1px solid var(--bd); border-radius:14px; background:var(--panel); padding:26px 24px 24px; display:flex; flex-direction:column; transition:border-color .18s,transform .18s; }
.dossier .level:hover{ border-color:var(--bd2); transform:translateY(-3px); }
.dossier .level.pick{ border-color:var(--neon); background:linear-gradient(180deg,rgba(159,239,0,.07),var(--panel)); }
.dossier .level.pick::before{ content:'RECOMMENDED CLEARANCE'; position:absolute; top:-11px; left:22px; background:var(--neon); color:#000; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.1em; padding:4px 12px; border-radius:5px; }
.dossier .level .lv{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--neon-dim); margin-bottom:8px; }
.dossier .level h3{ font-family:var(--disp); font-weight:800; font-size:22px; margin:0 0 5px; color:var(--t1); }
.dossier .level .tl{ font-family:var(--mono); font-size:12px; color:var(--neon); margin-bottom:14px; letter-spacing:.02em; }
.dossier .level p.d{ color:var(--t2); font-size:14px; line-height:1.58; margin:0 0 16px; }
.dossier .spec{ list-style:none; margin:0 0 18px; padding:14px 0 0; border-top:1px dashed var(--bd); display:grid; gap:7px; }
.dossier .spec li{ display:flex; justify-content:space-between; gap:10px; font-family:var(--mono); font-size:12px; }
.dossier .spec li .k{ color:var(--t3); letter-spacing:.04em; }
.dossier .spec li .v{ color:var(--t1); text-align:right; }
.dossier .spec li .v.hl{ color:var(--neon); }
.dossier .level .best{ font-size:12.5px; color:var(--t3); line-height:1.5; margin:0 0 18px; }
.dossier .level .best b{ color:var(--t2); }
.dossier .level-act{ margin-top:auto; display:flex; flex-wrap:wrap; gap:8px; }
.dossier .level-act a{ flex:1 1 84px; justify-content:center; padding:11px 10px; font-size:12.5px; gap:6px; }

/* ---------- requisition ---------- */
.dossier .req{ border:1px solid var(--bd2); border-radius:14px; overflow:hidden; background:
  radial-gradient(ellipse at 50% -20%,rgba(159,239,0,.10),transparent 55%),var(--panel2); }
.dossier .req-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:14px 26px; border-bottom:1px dashed var(--bd2); font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); }
.dossier .req-top .cls{ color:#000; background:var(--neon); padding:4px 12px; border-radius:4px; font-weight:700; letter-spacing:.14em; }
.dossier .req-body{ padding:38px 40px 40px; }
@media(max-width:640px){ .dossier .req-body{ padding:30px 24px 32px; } }
.dossier .req-body h2{ font-family:var(--disp); font-weight:900; font-size:clamp(26px,4vw,42px); margin:0 0 10px; color:var(--t1); }
.dossier .req-body h2 .a{ color:var(--neon); }
.dossier .req-body>p{ color:var(--t2); font-size:16px; line-height:1.6; max-width:640px; margin:0 0 28px; }
.dossier .req-fields{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
@media(max-width:700px){ .dossier .req-fields{ grid-template-columns:1fr; } }
.dossier .req-field{ border:1px solid var(--bd); border-radius:10px; padding:18px 20px; background:rgba(0,0,0,.4); }
.dossier .req-field .rlbl{ font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t3); margin-bottom:8px; }
.dossier .req-field .rval{ font-family:var(--disp); font-weight:700; font-size:18px; color:var(--t1); margin-bottom:4px; }
.dossier .req-field .rsub{ font-size:13px; color:var(--t2); line-height:1.5; }
.dossier .req-field .rsub b{ color:var(--neon); font-weight:600; }
.dossier .req-cta{ display:flex; flex-wrap:wrap; gap:12px; }
.dossier .req-sign{ margin-top:26px; padding-top:18px; border-top:1px dashed var(--bd2); display:flex; flex-wrap:wrap; gap:8px 26px; font-family:var(--mono); font-size:12px; color:var(--t2); letter-spacing:.02em; }
.dossier .req-sign b{ color:var(--neon); }
.dossier .req-sign .sig{ color:var(--t1); border-bottom:1px solid var(--bd2); padding-bottom:1px; }

/* ---------- dossier end strip (not a real <footer>) ---------- */
.dossier .dfoot{ padding:34px 0 20px; border-top:1px solid var(--bd); color:var(--t3); font-size:13px; }
.dossier .dfoot-in{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; align-items:center; }
.dossier .dfoot-in a{ color:var(--t2); margin-right:18px; font-family:var(--mono); font-size:12.5px; }
.dossier .dfoot-in a:hover{ color:var(--neon); }
.dossier .dfoot .meta{ font-family:var(--mono); font-size:12px; color:var(--t3); }
.dossier .dfoot .meta b{ color:var(--neon-dim); }

/* ---------- scroll reveal ---------- */
.dossier .rev{ opacity:0; transform:translateY(16px); transition:opacity .6s ease,transform .6s ease; }
.dossier .rev.in{ opacity:1; transform:none; }

/* ---------- back to top ---------- */
.dossier-backtotop{ position:fixed; right:24px; bottom:24px; width:50px; height:50px; display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,rgba(159,239,0,.14) 0%,rgba(0,16,16,.92) 100%); color:#b6ff1a; border:1.5px solid #9FEF00; border-radius:12px; cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(8px); z-index:900;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s,background .18s ease,border-color .18s ease,box-shadow .18s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 18px rgba(159,239,0,.28); -webkit-tap-highlight-color:transparent; }
.dossier-backtotop.is-visible{ opacity:1; visibility:visible; transform:translateY(0);
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear 0s,background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.dossier-backtotop:hover{ background:linear-gradient(180deg,rgba(159,239,0,.28) 0%,rgba(0,24,12,.92) 100%); border-color:#b6ff1a; box-shadow:0 10px 28px rgba(0,0,0,.6),0 0 26px rgba(159,239,0,.28); transform:translateY(-2px); }
.dossier-backtotop svg{ width:22px; height:22px; stroke:currentColor; stroke-width:2.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }

@media(prefers-reduced-motion:reduce){
  .dossier .typed .cur{ animation:none; }
  .dossier .stamp.press{ animation:none; }
  .dossier .rev{ opacity:1; transform:none; transition:none; }
  .dossier .btn:hover,.dossier .tcard:hover,.dossier .level:hover,.dossier .stage:hover,.dossier .tool-card:hover,.dossier .build-card:hover,.dossier .qlink:hover,.dossier .evidence-more:hover{ transform:none; }
  .dossier-backtotop{ transition:opacity .15s linear,visibility 0s linear .15s; transform:none; }
  .dossier-backtotop.is-visible{ transition:opacity .15s linear,visibility 0s linear 0s; transform:none; }
  .dossier-backtotop:hover{ transform:none; }
}
.dossier a:focus-visible,.dossier button:focus-visible,.dossier-backtotop:focus-visible{ outline:2px solid var(--neon-bright); outline-offset:3px; border-radius:4px; }
