/* ==========================================================================
   THE PINGREE FILES — Brand Standards v1.0 · Case No. ME-2026
   Blaine Black · Dossier Bone · Tarnished Brass · Stamp Red
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Bodoni+Moda:ital,opsz,wght@1,6..96,400;1,6..96,500&display=swap');

:root{
  /* Brand color — locked */
  --black:#0E0D0B;
  --bone:#E6E0D2;
  --brass:#A9873F;
  --stamp-bone:#8E2016;   /* stamp red ON bone */
  --stamp-black:#C9422C;  /* stamp red ON black */

  /* Mechanical tints (not brand colors) */
  --tint-1:#171613;
  --tint-2:#211F1B;
  --hair:#35322B;
  --dim:#A9A395;
  --faint:#6E6A60;
  --brass-dim:#6E5A2C;
  --brass-lift:#C8A75C;

  /* Type */
  --stencil:'Bespoke Stencil','Arial Narrow',Impact,sans-serif;
  --body:'Supreme','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',Consolas,monospace;
  --quote:'Bodoni Moda',Georgia,serif;

  --gut:clamp(20px,5vw,88px);
  --measure:62ch;
}

*,*::before,*::after{box-sizing:border-box;}

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--black);
  color:var(--bone);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (min-width:900px){ body{ font-size:18px; } }

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--brass-lift); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover{ color:var(--bone); }

/* ---------- T-01 TONER GRAIN — always on ------------------------------- */
.grain{
  position:fixed; inset:0; z-index:900; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.04;
  mix-blend-mode:screen;
}
.paper .grain-local{
  position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.30; mix-blend-mode:multiply;
}

/* ---------- T-06 FOIL HAIRLINE — the only gradient --------------------- */
.foil{
  height:3px; width:100%;
  background:linear-gradient(90deg,#3A2E12 0%,var(--brass) 22%,var(--brass-lift) 46%,var(--brass) 68%,#3A2E12 100%);
}

/* ---------- Typographic roles ------------------------------------------ */
.stencil{
  font-family:var(--stencil);
  font-weight:700;
  text-transform:uppercase;
  line-height:1.0;
  letter-spacing:.005em;
}
.meta{
  font-family:var(--mono); font-weight:400;
  font-size:11px; line-height:1.6; letter-spacing:.16em;
  text-transform:uppercase; color:var(--dim);
}
@media(min-width:900px){ .meta{ font-size:12px; } }
.meta--brass{ color:var(--brass); }
.meta--faint{ color:var(--faint); }

.artcl{
  font-family:var(--body); font-weight:800;
  font-size:clamp(21px,2.5vw,33px); line-height:1.14;
  letter-spacing:-.01em; margin:0 0 18px;
}
.lede{ font-size:clamp(18px,1.65vw,22px); line-height:1.5; max-width:60ch; }
p{ max-width:var(--measure); margin:0 0 1.05em; }
.dimtext{ color:var(--dim); }

.figure{
  font-family:var(--mono); font-weight:500;
  font-size:clamp(32px,5.2vw,56px); line-height:1.0;
  letter-spacing:-.02em; color:var(--bone);
  font-variant-numeric:tabular-nums;
}
.figure--brass{ color:var(--brass-lift); }
.figure--stamp{ color:var(--stamp-black); }

.pull{
  font-family:var(--quote); font-style:italic; font-weight:400;
  font-size:clamp(20px,2.4vw,31px); line-height:1.3;
  color:var(--brass); max-width:24ch; margin:0;
}

/* ---------- Layout ------------------------------------------------------ */
.wrap{ width:100%; max-width:1360px; margin:0 auto; padding:0 var(--gut); }
section{ position:relative; }
.pad{ padding:clamp(72px,10vw,150px) 0; }

/* Section header grammar: exhibit no. top-right, rule beneath */
.exhead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:24px; border-bottom:1px solid var(--hair);
  padding-bottom:14px; margin-bottom:clamp(38px,5vw,64px);
}
.exhead__no{ text-align:right; white-space:nowrap; flex-shrink:0; }
.sectitle{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(30px,4.4vw,54px); line-height:1.05; margin:6px 0 0;
  max-width:16ch;
}

/* ---------- Masthead ---------------------------------------------------- */
.mast{
  position:sticky; top:0; z-index:800;
  background:rgba(14,13,11,.93);
  backdrop-filter:blur(8px) saturate(120%);
  border-bottom:1px solid var(--hair);
}
.mast__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; height:62px;
}
.lockup{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--bone); min-width:140px; }
.lockup__wordmark{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:16px; letter-spacing:.02em; line-height:1; white-space:nowrap;
}
.lockup__wordmark em{ font-style:normal; color:var(--brass); }
.mast nav{ display:none; gap:26px; }
@media(min-width:940px){ .mast nav{ display:flex; } }
.mast nav a{
  font-family:var(--mono); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--dim); text-decoration:none;
  padding:6px 0; border-bottom:1px solid transparent; transition:.18s;
}
.mast nav a:hover{ color:var(--brass-lift); border-bottom-color:var(--brass); }
.mast__case{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; color:var(--faint); display:none; }
@media(min-width:660px){ .mast__case{ display:block; } }

/* ---------- HERO — T-01 + T-06 ------------------------------------------ */
.hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--hair); }
.hero__grid{
  display:grid; grid-template-columns:1fr; gap:clamp(40px,5vw,64px);
  padding:clamp(46px,6.5vw,92px) 0 clamp(52px,6vw,84px);
  align-items:center;
}
@media(min-width:1000px){
  .hero__grid{ grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:clamp(44px,4.4vw,68px); }
}
.hero h1{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(34px,4.7vw,59px); line-height:1.03; letter-spacing:.002em;
  margin:22px 0 0; color:var(--bone);
}
@media(min-width:1560px){ .hero h1{ font-size:68px; } }
.hero h1 .ln{ display:block; white-space:nowrap; }
@media(max-width:430px){ .hero h1 .ln{ white-space:normal; } }
.hero h1 .ln--brass{ color:var(--brass); }
.hero__deck{ margin-top:clamp(26px,3vw,38px); max-width:56ch; }
.hero__deck p{ font-size:clamp(17px,1.6vw,20px); line-height:1.55; color:#D6D0C2; }
.hero__deck strong{ color:var(--bone); font-weight:800; }

.plate{ position:relative; }
.plate img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center 18%; filter:contrast(1.16) brightness(.9); }
@media(min-width:1000px){ .plate img{ aspect-ratio:5/4; } }
.plate__frame{ position:relative; border:1px solid var(--hair); background:var(--tint-1); }
.plate__cap{
  display:flex; justify-content:space-between; gap:16px;
  border-top:1px solid var(--hair); padding:10px 12px; background:var(--black);
}
.plate__cap .meta{ white-space:nowrap; }
.plate__cap .meta:first-child{ white-space:normal; }
/* T-05 verdict stamp — one per asset */
.stamp{
  position:absolute; z-index:5;
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  color:var(--stamp-black); border:3px solid var(--stamp-black);
  padding:8px 16px 7px; font-size:clamp(15px,1.7vw,22px); letter-spacing:.06em;
  transform:rotate(-6deg); opacity:.92; line-height:1; white-space:nowrap;
  background:rgba(14,13,11,.32);
}
.stamp--bone{ color:var(--stamp-bone); border-color:var(--stamp-bone); background:rgba(230,224,210,.28); }
.stamp--a{ left:14px; top:16px; }
@media(min-width:1000px){ .stamp--a{ left:-18px; top:26px; } }


/* ---------- Figure ticker ----------------------------------------------- */
.ticker{ border-top:1px solid var(--hair); background:var(--tint-1); }
.ticker__grid{ display:grid; grid-template-columns:1fr; }
@media(min-width:640px){ .ticker__grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1060px){ .ticker__grid{ grid-template-columns:repeat(4,1fr); } }
.tick{ padding:clamp(24px,3vw,34px) clamp(18px,2.4vw,30px); border-bottom:1px solid var(--hair); }
.tick:last-child{ border-bottom:none; }
@media(min-width:640px){
  .tick{ border-right:1px solid var(--hair); }
  .tick:nth-child(2n){ border-right:none; }
  .tick:nth-child(n+3){ border-bottom:none; }
}
@media(min-width:1060px){
  .tick{ border-bottom:none; border-right:1px solid var(--hair); }
  .tick:nth-child(2n){ border-right:1px solid var(--hair); }
  .tick:last-child{ border-right:none; }
}
.tick .figure{ margin:8px 0 10px; }
.tick p{ font-size:15px; line-height:1.45; color:var(--dim); margin:0; max-width:30ch; }

/* ---------- Bone paper panel -------------------------------------------- */
.paper{ position:relative; background:var(--bone); color:var(--black); }
.paper a{ color:#6E5A2C; }
.paper a:hover{ color:var(--black); }
.paper .meta{ color:#5F5A50; }
.paper .meta--brass{ color:var(--brass-dim); }
.paper .exhead{ border-bottom-color:rgba(14,13,11,.22); }
.paper .figure{ color:var(--black); }
.paper .figure--brass{ color:var(--brass-dim); }
.paper .dimtext{ color:#4A463E; }
.paper .pull{ color:var(--brass-dim); }
.paper .wrap{ position:relative; z-index:2; }

/* ---------- Family tree -------------------------------------------------- */
.tree{ position:relative; margin-top:clamp(30px,4vw,44px); }
.tree__row{ display:grid; gap:clamp(16px,2.2vw,26px); }
.tree__row--2{ grid-template-columns:1fr; }
@media(min-width:760px){ .tree__row--2{ grid-template-columns:1fr 1fr; } }
.node{
  position:relative; border:1px solid rgba(14,13,11,.28);
  background:rgba(14,13,11,.035); padding:16px;
  display:flex; gap:14px; align-items:flex-start;
}
.node--dark{ border-color:var(--hair); background:var(--tint-1); }
.node__face{
  width:76px; height:76px; flex-shrink:0; overflow:hidden;
  border:1px solid rgba(14,13,11,.35); background:var(--bone);
}
.node--dark .node__face{ border-color:var(--hair); }
.node__face img{ width:100%; height:100%; object-fit:cover; object-position:center 32%; }
.node__body{ min-width:0; }
.node__name{
  font-family:var(--body); font-weight:800; font-size:17px; line-height:1.2;
  margin:2px 0 5px; letter-spacing:-.01em;
}
.node__role{ font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--brass-dim); margin:0 0 8px; }
.node--dark .node__role{ color:var(--brass); }
.node__fact{ font-size:14.5px; line-height:1.45; margin:0; color:#3A362F; max-width:38ch; }
.node--dark .node__fact{ color:var(--dim); }

.connector{
  display:flex; align-items:center; gap:14px;
  padding:14px 0; margin:0;
}
.connector__line{ flex:1; height:1px; background:var(--brass); opacity:.55; }
.connector__lbl{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--brass-dim); white-space:normal; max-width:26ch; line-height:1.5;
}
@media(min-width:560px){ .connector__lbl{ white-space:nowrap; max-width:none; } }
.paper .connector__lbl{ color:var(--brass-dim); }
.stem{ width:1px; height:34px; background:var(--brass); opacity:.55; margin-left:38px; }
.tree__heir{ border-color:var(--brass); border-width:2px; background:rgba(169,135,63,.09); }
.tree__heir .node__face{ width:92px; height:92px; }
.tree__heir .node__name{ font-size:20px; }

/* ---------- Ledger (T-03) money block ------------------------------------ */
.ledger{ position:relative; }
.ledger::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(to right,var(--brass) 1px,transparent 1px),
                   linear-gradient(to bottom,var(--brass) 1px,transparent 1px);
  background-size:22px 22px; opacity:.16;
}
.ledger__in{ position:relative; z-index:2; }

/* Audit line with leader dots */
.audit{ list-style:none; margin:0; padding:0; }
.audit li{
  display:flex; align-items:baseline; gap:8px;
  padding:14px 0; border-bottom:1px solid rgba(14,13,11,.18);
}
.paper .audit li{ border-bottom-color:rgba(14,13,11,.18); }
section:not(.paper) .audit li{ border-bottom-color:var(--hair); }
.audit__lbl{ font-size:15.5px; line-height:1.35; flex:0 1 auto; max-width:58%; }
.audit__dots{
  flex:1 1 auto; min-width:18px; height:1em;
  border-bottom:1px dotted rgba(14,13,11,.42);
  transform:translateY(-.28em);
}
section:not(.paper) .audit__dots{ border-bottom-color:rgba(169,135,63,.5); }
.audit__val{
  font-family:var(--mono); font-weight:500; font-size:15.5px;
  font-variant-numeric:tabular-nums; white-space:nowrap; flex-shrink:0;
}
.audit__val--brass{ color:var(--brass-dim); }
section:not(.paper) .audit__val--brass{ color:var(--brass-lift); }
.audit li.total{ border-bottom:none; border-top:2px solid var(--black); margin-top:6px; padding-top:16px; }
section:not(.paper) .audit li.total{ border-top-color:var(--brass); }
.audit li.total .audit__lbl{ font-weight:800; }
.audit li.total .audit__val{ font-size:clamp(19px,2.2vw,26px); font-weight:700; }

/* ---------- Findings (T-01 + T-04) --------------------------------------- */
.finding{ border-top:1px solid var(--hair); padding:clamp(52px,6.5vw,86px) 0; }
.finding:first-of-type{ border-top:none; }
.finding__grid{ display:grid; grid-template-columns:1fr; gap:clamp(26px,3.4vw,52px); }
@media(min-width:980px){ .finding__grid{ grid-template-columns:minmax(0,300px) minmax(0,1fr); gap:clamp(38px,4.5vw,72px); } }
.finding__rail{ position:relative; }
@media(min-width:980px){ .finding__rail{ position:sticky; top:96px; align-self:start; } }
.finding__no{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(28px,3.4vw,40px); line-height:1; color:var(--brass); margin:8px 0 14px;
}
.finding__rail h3{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(24px,2.9vw,34px); line-height:1.05; margin:0 0 16px; max-width:12ch;
}
.finding__hero-figure{ margin:0 0 8px; font-size:clamp(30px,3.6vw,46px); overflow-wrap:anywhere; }
.finding__body > p:first-of-type{ font-size:clamp(18px,1.6vw,21px); line-height:1.5; font-weight:500; }

/* T-04 redaction bars — max three per asset, cover the dodge not the fact */
.redact{
  background:var(--black); color:transparent; padding:0 .28em;
  border-radius:1px; user-select:none; position:relative; white-space:nowrap;
  box-decoration-break:clone;
}
section:not(.paper) .redact{ background:var(--bone); }
.redact::after{
  content:attr(data-r); position:absolute; left:0; right:0; bottom:-17px;
  font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--faint); text-align:center; white-space:nowrap;
}
.paper .redact::after{ color:#6E6A60; }

/* Data table */
.tbl{ width:100%; border-collapse:collapse; margin:6px 0 4px; font-variant-numeric:tabular-nums; }
.tbl th{
  font-family:var(--mono); font-weight:400; font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--faint); text-align:left;
  padding:0 14px 9px 0; border-bottom:1px solid var(--hair); white-space:nowrap;
}
.paper .tbl th{ color:#6E6A60; border-bottom-color:rgba(14,13,11,.25); }
.tbl td{
  font-family:var(--mono); font-size:14px; padding:9px 14px 9px 0;
  border-bottom:1px solid var(--hair); color:var(--dim);
}
.paper .tbl td{ border-bottom-color:rgba(14,13,11,.14); color:#3A362F; }
.tbl td:first-child{ color:var(--bone); }
.paper .tbl td:first-child{ color:var(--black); }
.tbl tr.peak td{ color:var(--stamp-black); font-weight:700; }
.paper .tbl tr.peak td{ color:var(--stamp-bone); }
.tbl tr.peak td:first-child{ color:var(--stamp-black); }
.paper .tbl tr.peak td:first-child{ color:var(--stamp-bone); }

/* Source line — bottom, always */
.src{
  margin-top:22px; padding-top:12px; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:11px; line-height:1.75; letter-spacing:.08em;
  color:var(--faint); text-transform:uppercase; max-width:78ch;
}
.paper .src{ border-top-color:rgba(14,13,11,.22); color:#6E6A60; }
.src a{
  color:var(--brass-dim); text-decoration:underline;
  display:inline; padding:4px 0; -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
section:not(.paper) .src a{ color:var(--brass); }
.src a:hover{ color:var(--bone); }
.paper .src a:hover{ color:var(--black); }
.src b{ color:var(--dim); font-weight:400; letter-spacing:.14em; }
.paper .src b{ color:#4A463E; }

/* Caveat / on-the-record note */
.note{
  border-left:2px solid var(--brass); padding:2px 0 2px 16px; margin:26px 0 0;
  font-size:14.5px; line-height:1.55; color:var(--dim); max-width:58ch;
}
.paper .note{ color:#4A463E; }
.note a{ display:inline; padding:4px 0; -webkit-box-decoration-break:clone; box-decoration-break:clone; }

/* Quote card */
.qcard{ border:1px solid var(--hair); padding:clamp(24px,3vw,38px); background:var(--tint-1); }
.paper .qcard{ border-color:rgba(14,13,11,.28); background:rgba(14,13,11,.04); }
.qcard cite{ display:block; margin-top:18px; font-style:normal; }

/* ---------- Verdict ------------------------------------------------------ */
.verdict{ position:relative; overflow:hidden; }
.verdict h2{
  font-family:var(--stencil); font-weight:700; text-transform:uppercase;
  font-size:clamp(40px,7.6vw,92px); line-height:1.0; margin:26px 0 0;
}
.verdict h2 .ln{ display:block; }
.verdict h2 .ln--brass{ color:var(--brass); }
.verdict__deck{ margin-top:clamp(28px,3.4vw,42px); max-width:58ch; }
.verdict__deck p{ font-size:clamp(17px,1.6vw,20px); color:#D6D0C2; }

/* ---------- Footer -------------------------------------------------------- */
.foot{ border-top:1px solid var(--hair); background:var(--tint-1); }
.foot__grid{ display:grid; grid-template-columns:1fr; gap:36px; padding:clamp(48px,6vw,74px) 0 30px; }
@media(min-width:900px){ .foot__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:64px; } }
.foot h4{ font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--brass); margin:0 0 16px; font-weight:400; }
.srcindex{ columns:1; column-gap:40px; margin:0; padding:0; list-style:none; }
@media(min-width:640px){ .srcindex{ columns:2; } }
.srcindex li{
  break-inside:avoid; font-family:var(--mono); font-size:11px; line-height:1.85;
  letter-spacing:.05em; color:var(--faint); margin-bottom:5px;
}
.srcindex a{
  color:var(--dim); text-decoration:none; border-bottom:1px solid var(--hair);
  display:inline; padding:4px 0; -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.srcindex a:hover{ color:var(--brass-lift); border-bottom-color:var(--brass); }
.disclaimer{
  border-top:1px solid var(--hair); padding:22px 0 40px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; line-height:1.9;
  text-transform:uppercase; color:var(--faint); max-width:none;
}

/* ---------- Motion ------------------------------------------------------- */
.rv{ opacity:0; transform:translateY(16px); transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1); }
.rv.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .rv{ opacity:1; transform:none; transition:none; }
}

::selection{ background:var(--brass); color:var(--black); }
:focus-visible{ outline:2px solid var(--brass-lift); outline-offset:3px; }
