/* ============================================================
   COPY PASTE CHRONICLES · cpc.css
   The shared design system for copypastechronicles.com. One local
   stylesheet, zero external requests. Fonts are system stacks only.
   ============================================================ */

:root{
  --paper:#f4eede; --paper2:#ece4cf; --manila:#eadcb4; --manila2:#e0d0a2;
  --ink:#171310; --ink-soft:rgba(23,19,16,.72); --ink-faint:rgba(23,19,16,.14);
  --red:#c9040f; --red-deep:#a20309; --red-bright:#e8212c;
  --serif:Georgia,'Times New Roman',Times,serif;
  --head:'Arial Narrow','Franklin Gothic Medium','Helvetica Neue',Arial,sans-serif;
  --fat:'Arial Black','Helvetica Neue',Arial,sans-serif;
  --blackletter:'Old English Text MT','Blackadder ITC',Georgia,serif;
  --mono:Consolas,'Courier New',monospace;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);background-image:radial-gradient(rgba(23,19,16,.045) 1px,transparent 1.2px);background-size:6px 6px;font-family:var(--serif);color:var(--ink);line-height:1.5;overflow-x:hidden}
img{max-width:100%}
a{color:inherit}
.measure{max-width:1520px;margin:0 auto;padding-left:clamp(16px,4vw,64px);padding-right:clamp(16px,4vw,64px)}
@media (min-width:2400px){.measure{max-width:1800px}}
.kick{font-family:var(--mono);font-size:clamp(.62rem,1vw,.8rem);letter-spacing:.26em;text-transform:uppercase;color:var(--red);font-weight:700;margin:0 0 10px}
.docket{font-family:var(--mono);font-size:clamp(.6rem,.9vw,.74rem);letter-spacing:.18em;text-transform:uppercase;border-top:2px solid currentColor;border-bottom:2px solid currentColor;padding:.55em 0;display:flex;flex-wrap:wrap;gap:.4em 1.8em}
.docket a{display:inline-block;font-size:clamp(.7rem,1vw,.8rem);padding:.35em 0}
.stamp{display:inline-block;border:4px solid currentColor;font-family:var(--fat);font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:.28em .7em;transform:rotate(-4deg);font-size:clamp(.85rem,1.5vw,1.2rem)}

/* ---------- sticky nav (ink bar) ---------- */
.topbar{position:sticky;top:0;z-index:40;background:var(--ink);border-bottom:4px solid var(--red);transition:box-shadow .25s}
.topbar.scrolled{box-shadow:0 8px 24px rgba(23,19,16,.4)}
.topbar-in{max-width:1520px;margin:0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:12px clamp(16px,4vw,64px)}
@media (min-width:2400px){.topbar-in{max-width:1800px}}
.brand{font-family:var(--fat);font-weight:900;font-size:clamp(14px,1.3vw,18px);text-transform:uppercase;letter-spacing:.04em;color:var(--paper);text-decoration:none;white-space:nowrap}
.brand em{font-style:normal;color:var(--red-bright)}
.nav{display:flex;flex-wrap:wrap;gap:2px 18px;align-items:baseline}
.nav a{font-family:var(--mono);font-size:clamp(12px,.9vw,12px);letter-spacing:.16em;text-transform:uppercase;color:rgba(244,238,222,.62);text-decoration:none;display:inline-block;padding:11px 1px;border-bottom:2px solid transparent}
.nav a.on{color:var(--paper);border-bottom-color:var(--red-bright)}
.nav a:hover{color:var(--paper);border-bottom-color:rgba(244,238,222,.62)}
/* wave 9: mobile nav. book.js builds the hamburger + drawer and stamps
   .cpc-mnav on the bar; the inline links hide ONLY under that stamp, so a
   page that never runs book.js keeps its wrapped links (fail-closed). */
@media (max-width:820px){
.topbar.cpc-mnav .nav{display:none}
.topbar .brand{font-size:16px}
}

/* ---------- hero: the red field (home) ---------- */
#hero{background:var(--red);background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.05) 0 2px,transparent 2px 16px);color:var(--paper);padding:clamp(40px,6vw,104px) 0 clamp(44px,6.5vw,110px);position:relative;border-bottom:8px solid var(--ink)}
.hero-kick{font-family:var(--mono);font-size:clamp(.62rem,1vw,.82rem);letter-spacing:.32em;text-transform:uppercase;color:var(--paper);font-weight:700;opacity:.85;margin-bottom:clamp(16px,2.2vw,28px)}
.hero-stack{font-family:var(--fat);font-weight:900;text-transform:uppercase;line-height:.84;letter-spacing:-.02em;font-size:clamp(2.2rem,8.4vw,9.4rem);overflow-wrap:break-word}
.hero-stack .w1{display:block;color:var(--paper)}
.hero-stack .w2{display:block;color:var(--ink)}
.hero-stack .w3{display:block;color:var(--paper);text-shadow:6px 6px 0 var(--ink)}
@supports (-webkit-text-stroke:3px #000){.hero-stack .w2{color:transparent;-webkit-text-stroke:3px var(--ink)}}
.hero-chip{display:inline-block;background:var(--ink);color:var(--paper);font-family:var(--head);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1rem,1.9vw,1.7rem);padding:.5em 1em;margin-top:clamp(18px,2.6vw,34px);transform:rotate(-1deg)}
.hero-sub{font-style:italic;font-size:clamp(1rem,1.6vw,1.4rem);line-height:1.5;max-width:58ch;margin:clamp(16px,2.2vw,30px) 0 0;color:rgba(244,238,222,.92)}
.hero-stamp{position:absolute;top:clamp(16px,3vw,56px);right:clamp(12px,4vw,80px);transform:rotate(7deg);color:var(--ink);z-index:2}
.hero-stamp .stamp{background:rgba(244,238,222,.2)}
@media (max-width:820px){.hero-stamp{position:static;display:block;transform:none;padding:6px clamp(16px,4vw,64px) 18px}
.hero-stamp .stamp{font-size:.85rem;transform:rotate(-2deg);border-width:3px}}
.hero-docket{color:var(--paper);margin-top:clamp(28px,4vw,56px)}
.hero-docket b{background:var(--ink);padding:.1em .5em}

/* ---------- interior page hero (paper) ---------- */
.page-hero{padding:clamp(36px,5vw,88px) 0 clamp(26px,3.6vw,60px);position:relative;border-bottom:3px double var(--ink)}
.page-hero h1{font-family:var(--fat);font-weight:900;text-transform:uppercase;line-height:.86;letter-spacing:-.015em;font-size:clamp(2.5rem,7.4vw,7rem);text-wrap:balance;margin:.05em 0 .2em}
.page-hero h1 .rd{color:var(--red)}
.page-hero .sec-deck{margin-top:.4em}
.page-hero .docket{margin-top:clamp(20px,2.8vw,40px)}
.page-stamp{position:absolute;top:clamp(14px,2.6vw,48px);right:clamp(12px,4vw,80px);transform:rotate(7deg);color:var(--red);z-index:2}
.page-stamp .stamp{background:rgba(244,238,222,.5)}
@media (max-width:820px){.page-stamp{position:static;display:block;transform:none;padding:0 0 14px}
.page-stamp .stamp{font-size:.85rem;transform:rotate(-2deg);border-width:3px}}

/* ---------- credibility band (ink) ---------- */
#numbers{background:var(--ink);color:var(--paper);border-bottom:6px solid var(--red)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{border-right:1px solid rgba(244,238,222,.14);padding:clamp(16px,2.2vw,34px) clamp(12px,1.6vw,26px);display:flex;flex-direction:column;gap:.2em;min-width:0}
.stat:last-child{border-right:0}
.stat .v{font-family:var(--fat);font-weight:900;font-size:clamp(1.7rem,3.4vw,3.4rem);line-height:1;letter-spacing:-.01em}
.stat .v.rd{color:var(--red-bright)}
.stat .k{font-family:var(--mono);font-size:clamp(.56rem,.8vw,.68rem);letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-top:.5em;color:var(--red-bright)}
.stat .s{font-size:clamp(.7rem,1vw,.82rem);color:rgba(244,238,222,.62);line-height:1.4}
@media (max-width:820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.stat{border-bottom:1px solid rgba(244,238,222,.14)}
.stat:nth-child(even){border-right:0}
.stat:nth-child(n+3){border-bottom:0}}

/* ---------- sections ---------- */
/* top/bottom only: a `padding:X 0` shorthand would override .measure's
   horizontal padding (section.blk out-specifies .measure) and run content
   flush to the viewport edge at <=1520px */
section.blk{padding-top:clamp(34px,5vw,84px);padding-bottom:clamp(34px,5vw,84px)}
h2.headline{font-family:var(--fat);font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.015em;font-size:clamp(2.1rem,5.4vw,5.6rem);text-wrap:balance;margin:.1em 0 .35em}
h2.headline .rd{color:var(--red)}
.sec-deck{font-style:italic;font-size:clamp(.98rem,1.5vw,1.25rem);color:var(--ink-soft);max-width:66ch}
.rule-top{border-top:3px double var(--ink)}

/* ---------- case-file folders ---------- */
.folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);margin-top:clamp(48px,5.4vw,76px)}
@media (max-width:1120px){.folders{grid-template-columns:minmax(0,1fr);max-width:740px;row-gap:clamp(56px,8vw,72px)}}
.folder{position:relative;display:flex;flex-direction:column;background:var(--manila);background-image:radial-gradient(rgba(23,19,16,.05) 1px,transparent 1.2px);background-size:5px 5px;border:3px solid var(--ink);padding:clamp(18px,2.2vw,30px) clamp(18px,2.2vw,30px) clamp(16px,2vw,26px) calc(clamp(18px,2.2vw,30px) + 8px);text-decoration:none;color:var(--ink);min-width:0;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 26px rgba(23,19,16,.18)}
.folder::before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--red)}
.folder:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 20px 44px rgba(23,19,16,.3),0 0 0 2px var(--red)}
.tab{position:absolute;top:calc(clamp(26px,3vw,34px)*-1);height:clamp(26px,3vw,34px);min-width:46%;max-width:88%;background:var(--manila);border:3px solid var(--ink);border-bottom:0;display:flex;align-items:center;padding:0 1em;font-family:var(--mono);font-size:clamp(.56rem,.8vw,.7rem);letter-spacing:.2em;text-transform:uppercase;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.folders .folder:nth-child(1) .tab{left:-3px}
.folders .folder:nth-child(2) .tab{left:50%;transform:translateX(-50%)}
.folders .folder:nth-child(3) .tab{right:-3px}
.tab b{color:var(--red);margin-right:.7em}
.f-top{display:flex;justify-content:space-between;gap:.4em 1em;flex-wrap:wrap;font-family:var(--mono);font-size:clamp(.56rem,.8vw,.68rem);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1em}
.f-code{background:var(--ink);color:var(--paper);padding:.3em .6em}
.f-vert{color:var(--red-deep);font-weight:700;padding:.3em 0}
.f-name{font-family:var(--fat);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:.92;letter-spacing:-.01em}
.f-count{font-family:var(--mono);font-size:clamp(.62rem,.9vw,.76rem);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:.6em 0 1em}
.sheet{background:rgba(255,255,255,.6);border:1px solid var(--ink-faint);padding:clamp(12px,1.6vw,18px);margin-bottom:1.2em}
.sheet .sh-tag{font-family:var(--mono);font-size:clamp(.52rem,.72vw,.62rem);letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:700;display:block;margin-bottom:.5em}
.sheet p{font-style:italic;font-size:clamp(.98rem,1.35vw,1.18rem);line-height:1.45}
.sheet p b{font-style:normal;color:var(--red)}
.f-docket{font-family:var(--mono);font-size:clamp(.54rem,.76vw,.64rem);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--ink);padding-top:.8em;margin-top:auto;line-height:2}
.f-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:.6em 1.4em;flex-wrap:wrap;margin-top:1em}
.f-go{font-family:var(--mono);font-size:clamp(.6rem,.85vw,.72rem);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.folder:hover .f-go{color:var(--red)}
.barcode{width:clamp(74px,7vw,104px);height:clamp(18px,2vw,26px);background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 6px,transparent 6px 10px,var(--ink) 10px 13px,transparent 13px 16px);flex:none;opacity:.85}
.f-stampwrap{position:absolute;top:clamp(-16px,-1.1vw,-11px);right:clamp(10px,1.4vw,18px);color:var(--red);z-index:2}
.f-stampwrap .stamp{background:rgba(244,238,222,.5);font-size:clamp(.72rem,1.1vw,.95rem)}
.burst{position:absolute;top:clamp(-20px,-1.4vw,-14px);right:clamp(10px,1.4vw,18px);width:clamp(92px,8vw,126px);aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-8deg);box-shadow:0 0 0 4px var(--manila),0 0 0 6px var(--red);z-index:2}
.burst .b-num{font-family:var(--fat);font-weight:900;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1}
.burst .b-lbl{font-family:var(--mono);font-size:clamp(.4rem,.55vw,.48rem);letter-spacing:.06em;text-transform:uppercase;max-width:11em;line-height:1.3;padding:0 .4em}
.folder.pending{background:var(--manila2);border-style:dashed}
.folder.pending .f-name{color:var(--ink-soft)}
.pending-stamp{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-12deg);border:4px solid var(--red);color:var(--red);font-family:var(--fat);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1rem,1.8vw,1.6rem);padding:.32em .8em;background:rgba(244,238,222,.88);pointer-events:none;white-space:nowrap;z-index:2}

/* ---------- the filing cabinet (dossiers index: full-width drawers) ---------- */
.cabinet{display:flex;flex-direction:column;gap:clamp(56px,6vw,84px);margin-top:clamp(56px,6vw,88px);max-width:1220px}
.drawer{position:relative;display:block;background:var(--manila);background-image:radial-gradient(rgba(23,19,16,.05) 1px,transparent 1.2px);background-size:5px 5px;border:3px solid var(--ink);padding:clamp(18px,2.4vw,34px) clamp(18px,2.4vw,34px) clamp(16px,2.2vw,28px) calc(clamp(18px,2.4vw,34px) + 8px);text-decoration:none;color:var(--ink);min-width:0;transition:transform .18s,box-shadow .18s;box-shadow:0 10px 26px rgba(23,19,16,.18)}
.drawer::before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--red)}
.drawer:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 20px 44px rgba(23,19,16,.3),0 0 0 2px var(--red)}
.drawer .tab{left:-3px}
.drawer.pending{background:var(--manila2);border-style:dashed}
.drawer.pending .f-name{color:var(--ink-soft)}
.d-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(16px,2.4vw,40px);align-items:start}
@media (max-width:900px){.d-grid{grid-template-columns:minmax(0,1fr)}}
.d-grid .sheet{margin-bottom:0}
.d-findings{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,16px)}
.drawer .f-docket{margin-top:clamp(16px,2vw,24px)}
/* keep the burst clear of the case-code row on wide drawers */
.drawer.has-burst .f-top{padding-right:clamp(96px,10vw,150px)}
/* and clear of the agency name on grid folders: the name is one unbreakable
   word, so clearance needs BOTH right padding and a slightly smaller size */
.folder.has-burst .f-top,.folder.has-burst .f-name{padding-right:clamp(56px,7vw,100px)}
.folder.has-burst .f-name{font-size:clamp(1.5rem,2vw,2.05rem)}
@media (max-width:900px){.drawer.has-burst .f-count{padding-right:clamp(72px,20vw,110px)}}
/* on drawers, the pending stamp sits over the header zone, not the findings */
.drawer .pending-stamp{left:auto;right:clamp(14px,5vw,80px);top:clamp(58px,7vw,104px);transform:rotate(-8deg)}
@media (max-width:900px){
  .drawer.pending{padding-top:clamp(64px,16vw,84px)}
  .drawer .pending-stamp{top:clamp(18px,4.5vw,34px);left:50%;right:auto;transform:translateX(-50%) rotate(-6deg)}
}

/* ---------- the Passed drawer (dossiers index): the bar, and every measured book against it ---------- */
.passed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:clamp(24px,3vw,44px);max-width:1220px}
@media (max-width:1000px){.passed-grid{grid-template-columns:minmax(0,1fr)}}
.passed-grid .sheet{margin-bottom:0;border:2px solid var(--ink)}
.passed-note{font-family:var(--mono);font-size:clamp(.6rem,.85vw,.74rem);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);line-height:1.9;max-width:1220px;margin-top:clamp(16px,2vw,26px)}
section[id="passed"]{scroll-margin-top:72px}

/* ---------- about page prose ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:1220px;gap:clamp(22px,3.4vw,60px);align-items:start;margin-top:clamp(18px,2.4vw,34px)}
@media (max-width:900px){.about-grid{grid-template-columns:minmax(0,1fr)}}
.about-copy{columns:2;column-gap:clamp(28px,4.4vw,72px)}
@media (max-width:900px){.about-copy{columns:1}}
.about-copy p{font-size:clamp(.98rem,1.3vw,1.15rem);margin-bottom:1em;max-width:66ch;text-align:justify;hyphens:auto}
.about-copy .cta{break-inside:avoid}
.about-copy p:first-of-type::first-letter{font-family:var(--fat);font-weight:900;font-size:3.6em;float:left;line-height:.85;padding:.04em .12em 0 0;color:var(--red)}
.prose p{font-size:clamp(.98rem,1.3vw,1.15rem);margin-bottom:1em;max-width:66ch;text-align:justify;hyphens:auto}
.prose.lead p:first-of-type::first-letter{font-family:var(--fat);font-weight:900;font-size:3.6em;float:left;line-height:.85;padding:.04em .12em 0 0;color:var(--red)}
.prose h3{font-family:var(--head);font-weight:900;text-transform:uppercase;font-size:clamp(1.2rem,1.8vw,1.6rem);margin:1.6em 0 .5em}
.prose h3:first-child{margin-top:0}
.prose b{color:var(--red-deep)}
.pull{border-left:6px solid var(--red);background:rgba(255,255,255,.5);border-top:1px solid var(--ink-faint);border-bottom:1px solid var(--ink-faint);padding:clamp(14px,2vw,24px) clamp(16px,2.2vw,28px);margin:1.6em 0;font-style:italic;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.5;max-width:56ch}
.pull b{font-style:normal;color:var(--red)}

/* ---------- fairness ledger (about) ---------- */
.ledger-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,36px);margin:clamp(20px,2.8vw,40px) 0}
@media (max-width:820px){.ledger-duo{grid-template-columns:minmax(0,1fr)}}
.ledger-cell{border:2px solid var(--ink);background:rgba(255,255,255,.4);padding:clamp(16px,2.2vw,28px);min-width:0}
.ledger-cell.neg{border-style:dashed;background:transparent}
.ledger-cell .lg-tag{font-family:var(--mono);font-size:clamp(.56rem,.8vw,.68rem);letter-spacing:.22em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:.7em}
.ledger-cell .lg-tag.pub{color:var(--red)}
.ledger-cell .lg-tag.nev{color:var(--ink-soft)}
.ledger-cell ul{list-style:none}
.ledger-cell li{font-size:clamp(.9rem,1.2vw,1.05rem);padding:.45em 0;border-bottom:1px solid var(--ink-faint);line-height:1.45}
.ledger-cell li:last-child{border-bottom:0}
.ledger-cell li b{color:var(--red-deep)}

/* ---------- methodology: chain of custody ---------- */
.steps{margin-top:clamp(26px,3.4vw,52px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
@media (max-width:1080px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{position:relative;border:2px solid var(--ink);background:rgba(255,255,255,.4);padding:clamp(48px,5vw,64px) clamp(16px,2vw,24px) clamp(16px,2vw,24px);min-width:0}
.step .n{position:absolute;top:clamp(-22px,-2vw,-30px);left:clamp(12px,1.6vw,20px);font-family:var(--fat);font-weight:900;font-size:clamp(3rem,5.4vw,5.4rem);line-height:1;color:var(--red);text-shadow:3px 3px 0 var(--paper),5px 5px 0 var(--ink)}
.step h3{font-family:var(--head);font-weight:900;text-transform:uppercase;font-size:clamp(1.15rem,1.7vw,1.55rem);margin:0 0 .4em}
.step p{font-size:clamp(.85rem,1.15vw,.98rem);color:var(--ink-soft);line-height:1.55}
.chain{margin-top:clamp(20px,2.6vw,36px);color:var(--ink)}

/* ---------- contact / ink band ---------- */
.inkband{background:var(--ink);color:var(--paper);border-top:8px solid var(--red);padding:clamp(38px,5.4vw,90px) 0}
.inkband .kick{color:var(--red-bright)}
.inkband h2.headline{color:var(--paper)}
.c-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,52px);margin-top:clamp(22px,3vw,44px)}
@media (max-width:820px){.c-duo{grid-template-columns:minmax(0,1fr)}}
.c-cell{border:2px solid rgba(244,238,222,.25);padding:clamp(18px,2.4vw,34px);min-width:0}
.c-cell h3{font-family:var(--fat);font-weight:900;text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,2.1rem);line-height:.95;margin:.15em 0 .4em}
.c-cell p{font-size:clamp(.92rem,1.25vw,1.05rem);color:rgba(244,238,222,.68);max-width:52ch}
.c-cell[id],section.inkband[id]{scroll-margin-top:72px}
@media (max-width:820px){.c-cell[id],section.inkband[id]{scroll-margin-top:178px}}
.cta{display:inline-block;background:var(--red);color:#fff;font-family:var(--fat);font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(.9rem,1.3vw,1.1rem);padding:.75em 1.4em;text-decoration:none;box-shadow:4px 4px 0 var(--paper);margin-top:1.1em;transition:transform .15s,box-shadow .15s;border:0;cursor:pointer}
.cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--paper)}
.inkband .indep-ft{font-style:italic;font-family:var(--serif);margin-top:clamp(24px,3vw,44px);max-width:96ch;color:rgba(244,238,222,.55);font-size:clamp(.82rem,1.1vw,.95rem);line-height:1.7}

/* ---------- forms (on ink) ---------- */
.cpc-form{margin-top:1.4em;display:flex;flex-direction:column;gap:1em}
.cpc-form label{font-family:var(--mono);font-size:clamp(.58rem,.8vw,.7rem);letter-spacing:.2em;text-transform:uppercase;color:rgba(244,238,222,.72);display:block;margin-bottom:.5em}
.cpc-form input,.cpc-form select,.cpc-form textarea{width:100%;background:rgba(244,238,222,.06);border:2px solid rgba(244,238,222,.3);color:var(--paper);font-family:var(--serif);font-size:clamp(.95rem,1.2vw,1.05rem);padding:.65em .8em;border-radius:0}
.cpc-form input:focus,.cpc-form select:focus,.cpc-form textarea:focus{outline:none;border-color:var(--red-bright)}
.cpc-form textarea{min-height:7em;resize:vertical}
.cpc-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 49%,var(--paper) 50%,transparent 60%);background-repeat:no-repeat;background-position:right .9em center;background-size:.6em .6em}
.cpc-form select option{color:var(--ink);background:var(--paper)}
.cpc-form .cta{align-self:flex-start}
.form-note{font-family:var(--mono);font-size:clamp(.56rem,.78vw,.66rem);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,238,222,.45);line-height:1.8;margin-top:.4em}

/* ---------- blotter ---------- */
.blotter-empty{margin-top:clamp(36px,4.6vw,64px);max-width:1220px}
.blot-row{display:flex;align-items:baseline;gap:1em 2em;flex-wrap:wrap;border-bottom:2px solid var(--ink-faint);padding:clamp(16px,2.2vw,26px) 2px;font-family:var(--mono);font-size:clamp(.62rem,.9vw,.78rem);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.blot-row:first-child{border-top:2px solid var(--ink)}
.blot-row .bn{font-family:var(--fat);font-weight:900;font-size:clamp(1rem,1.6vw,1.4rem);color:var(--ink-faint);letter-spacing:0}
.blot-row .pending{color:var(--red);font-weight:700}

/* ---------- footer (red bar) ---------- */
.pagefoot{background:var(--red);color:var(--paper);padding:clamp(24px,3vw,44px) 0;font-family:var(--mono);font-size:clamp(10px,.85vw,12px);line-height:1.8}
.footrow{display:flex;justify-content:space-between;align-items:baseline;gap:.8em 2em;flex-wrap:wrap;letter-spacing:.12em;text-transform:uppercase}
.foot-mark{font-family:var(--blackletter);font-size:clamp(1.3rem,2.2vw,2rem);text-transform:none;letter-spacing:0;text-decoration:none;white-space:nowrap}
.foot-nav{display:flex;flex-wrap:wrap;gap:.4em 1.6em}
.foot-nav a{color:rgba(244,238,222,.85);text-decoration:none;border-bottom:2px solid transparent;padding:2px 0}
.foot-nav a:hover{color:#fff;border-bottom-color:rgba(244,238,222,.6)}
.foot-indep{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:0;color:rgba(244,238,222,.8);max-width:96ch;font-size:clamp(.8rem,1.05vw,.92rem);line-height:1.7;margin-top:clamp(14px,1.8vw,22px);border-top:1px solid rgba(244,238,222,.35);padding-top:clamp(12px,1.6vw,20px)}
.foot-legal{margin-top:.9em;color:rgba(244,238,222,.7)}

/* ---------- reveal (progressive enhancement) ----------
   Default is VISIBLE. The hidden-then-reveal state applies ONLY when JS is running
   (html.js, set by a head script before paint). A crawler, a link-preview bot, a
   no-JS visitor, or a preview/screenshot tool that never fires the IntersectionObserver
   therefore sees the full page instead of a blank one below the hero. */
.rv{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
html.js .rv{opacity:0;transform:translateY(18px)}
html.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .rv{opacity:1;transform:none;transition:none}}

/* ---------- the record finder (contact) ---------- */
.finder-input{font-size:clamp(1.05rem,1.7vw,1.45rem);padding:.75em .9em}
.finder-rows{margin-top:1em;border-top:2px solid rgba(244,238,222,.35)}
.finder-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em 1.2em;padding:.8em 2px;border-bottom:1px solid rgba(244,238,222,.16);font-family:var(--mono);font-size:clamp(.62rem,.9vw,.78rem);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,238,222,.85);text-decoration:none;cursor:pointer}
button.finder-row{background:none;border:0;border-bottom:1px solid rgba(244,238,222,.16);width:100%;text-align:left}
.finder-row:hover{color:#fff;background:rgba(244,238,222,.06)}
.finder-row .ftag{background:var(--red);color:#fff;padding:.25em .55em;font-weight:700}
.finder-row .floc{color:rgba(244,238,222,.55)}
.finder-row .fgo{margin-left:auto;color:var(--red-bright);font-weight:700;white-space:nowrap}
.finder-note{font-family:var(--mono);font-size:clamp(.56rem,.78vw,.66rem);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,238,222,.45);line-height:1.8;margin-top:.4em}
.finder-note a{color:var(--red-bright)}
.finder-picked{display:inline-flex;gap:.8em;align-items:baseline;border:2px solid var(--red-bright);padding:.55em .8em;font-family:var(--mono);font-size:clamp(.6rem,.85vw,.72rem);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);margin-top:.6em}
.finder-picked[hidden]{display:none}
.finder-picked .fx{background:none;border:0;padding:0;font-family:inherit;font-size:inherit;letter-spacing:inherit;color:var(--red-bright);cursor:pointer;font-weight:700}
.finder-row:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}
.finder-picked .fx:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}

/* ---------- blotter entries ---------- */
.blot-entries{max-width:1220px;margin-top:clamp(30px,4vw,56px)}
.blot-e{border-top:2px solid var(--ink);padding:clamp(18px,2.4vw,30px) 2px}
.blot-e:last-child{border-bottom:2px solid var(--ink)}
.blot-eh{display:flex;flex-wrap:wrap;gap:.5em 1.6em;align-items:baseline;font-family:var(--mono);font-size:clamp(.6rem,.85vw,.74rem);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.blot-eh .n2{font-family:var(--fat);font-weight:900;font-size:clamp(1rem,1.6vw,1.4rem);color:var(--red);letter-spacing:0}
.blot-e h3{font-family:var(--fat);font-weight:900;text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.9rem);line-height:1;margin:.35em 0 .3em}
.blot-e p{font-size:clamp(.95rem,1.25vw,1.1rem);max-width:70ch;line-height:1.55}
.blot-src{font-family:var(--mono);font-size:clamp(.56rem,.78vw,.68rem);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:.7em}
.blot-src a{text-decoration:none}
