/* ============================================================================
   Ghostwriter Files — the human-cost desk (FRONT EDGE)
   Clinical light broadsheet: paper white, charcoal ink, one steel accent.
   Empathetic toward the human; the hard light on the design choice.
   ========================================================================= */
:root{
  --gw-ink:#0c0b0a; --gw-paper:#ffffff; --gw-cream:#f6f4ef; --gw-line:#e4e0d8; --gw-line2:#cfcabe;
  --gw-slate:#6b6459; --gw-accent:#2A2A2A;
  --gw-company:#7a2222; --gw-media:#8a6d1e; --gw-none:#6b6459;
  --gw-display:"Oswald",system-ui,sans-serif; --gw-serif:"Source Serif 4",Georgia,serif;
  --gw-label:"Archivo",system-ui,sans-serif; --gw-mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--gw-paper);color:var(--gw-ink);font-family:var(--gw-serif);
  font-size:18px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.gw-deck{display:flex;align-items:center;gap:18px;padding:14px clamp(18px,4vw,40px);
  border-bottom:2px solid var(--gw-ink);position:sticky;top:0;z-index:10;
  background:color-mix(in srgb,var(--gw-paper) 90%,transparent);backdrop-filter:blur(8px)}
.gw-back{font-family:var(--gw-label);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-slate)}
.gw-back:hover{color:var(--gw-accent)}
.gw-brand{font-family:var(--gw-display);font-size:20px;letter-spacing:.02em;text-transform:uppercase;margin:0 auto}
.gw-brand span{color:var(--gw-slate)}
.gw-kicker{font-family:var(--gw-label);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gw-slate)}

.gw-wrap{max-width:44rem;margin:0 auto;padding:clamp(32px,6vw,64px) clamp(20px,5vw,24px) 100px}
.gw-index .gw-wrap{max-width:60rem}

/* ---- Dossier reader ---- */
.gw-entity{font-family:var(--gw-mono);font-size:12.5px;letter-spacing:.02em;color:var(--gw-slate);text-transform:uppercase}
.gw-headline{font-family:var(--gw-display);font-weight:500;font-size:clamp(30px,5.5vw,52px);line-height:1.04;
  text-transform:uppercase;letter-spacing:.005em;margin:.3em 0 .5em}
.gw-claim{display:inline-block;font-family:var(--gw-label);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;padding:5px 12px;margin-bottom:2.2em}
.claim-company{--c:var(--gw-company)} .claim-media{--c:var(--gw-media)} .claim-none{--c:var(--gw-none)}
.gw-claim{color:#fff;background:var(--c,var(--gw-accent))}

.gw-part{margin:0 0 1.9em}
.gw-part h2{font-family:var(--gw-label);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gw-slate);margin:0 0 .5em;border-bottom:1px solid var(--gw-line);padding-bottom:.5em}
.gw-part p{font-size:17.5px;line-height:1.68;margin:0}
.gw-dissonance p{font-size:19px;line-height:1.7;border-left:3px solid var(--gw-accent);padding-left:18px}
.gw-fin{font-family:var(--gw-mono);font-size:13px;color:var(--gw-slate);margin-top:.7em !important}

.gw-echo{margin:2.4em 0 1.8em;background:var(--gw-cream);border:1px solid var(--gw-line);border-left:3px solid var(--gw-accent);padding:18px 22px}
.gw-echo-k{font-family:var(--gw-label);font-weight:700;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gw-accent);margin-bottom:.5em}
.gw-echo p{font-size:15.5px;line-height:1.6;margin:0 0 .8em}
.gw-echo-links{display:flex;flex-wrap:wrap;gap:10px}
.gw-echo-link{font-family:var(--gw-label);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gw-accent);border:1px solid var(--gw-line2);padding:7px 13px;transition:border-color .15s,background .15s}
.gw-echo-link:hover{border-color:var(--gw-accent);background:#fff}

.gw-src{display:flex;flex-wrap:wrap;gap:16px;align-items:center;border-top:1px solid var(--gw-line);padding-top:14px;
  font-family:var(--gw-mono);font-size:12px;color:var(--gw-slate)}
.gw-attr b{color:var(--gw-ink)}
.gw-src-link{color:var(--gw-accent);border-bottom:1px solid var(--gw-line2)}
.gw-tk{font-family:var(--gw-mono);font-weight:600;color:var(--gw-ink)}

/* ---- Archive landing ---- */
.gw-lead{max-width:52rem;margin-bottom:clamp(26px,4vw,40px)}
.gw-lead-t{font-family:var(--gw-display);font-weight:600;font-size:clamp(38px,8vw,76px);line-height:.94;text-transform:uppercase;margin:0 0 .3em}
.gw-lead-d{font-size:clamp(16px,2vw,19px);line-height:1.62;color:var(--gw-slate);margin:0;max-width:60ch}
.gw-lead-d em{font-style:italic;color:var(--gw-ink)}
.gw-h{font-family:var(--gw-display);font-weight:500;font-size:clamp(22px,3vw,30px);text-transform:uppercase;
  border-bottom:2px solid var(--gw-ink);padding-bottom:8px;margin:clamp(30px,4vw,44px) 0 16px}
.gw-sub{font-size:15px;color:var(--gw-slate);max-width:70ch;margin:0 0 18px}
.gw-sub b{color:var(--gw-ink)}

.gw-dossiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.gw-card{display:flex;flex-direction:column;background:var(--gw-paper);border:1px solid var(--gw-line);
  border-top:3px solid var(--c,var(--gw-accent));padding:18px 20px;transition:transform .18s,box-shadow .18s}
.gw-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px -18px rgba(0,0,0,.4)}
.gw-card-claim{font-family:var(--gw-label);font-weight:700;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--c,var(--gw-accent))}
.gw-card-co{font-family:var(--gw-mono);font-size:12px;color:var(--gw-slate);margin:.4em 0 .2em}
.gw-card-h{font-family:var(--gw-display);font-weight:500;font-size:21px;line-height:1.1;text-transform:uppercase;margin:.1em 0 .7em;flex:1}
.gw-card-go{font-family:var(--gw-label);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gw-accent)}

.gw-cat{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}
.gw-cat th{font-family:var(--gw-label);font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gw-slate);text-align:left;border-bottom:1px solid var(--gw-line2);padding:8px 10px}
.gw-cat td{border-bottom:1px solid var(--gw-line);padding:10px;vertical-align:top}
.gw-cat-co{font-family:var(--gw-mono);font-weight:600;white-space:nowrap}
.gw-cat-co span{color:var(--gw-slate);font-weight:400}
.gw-cat-date,.gw-cat-n{font-family:var(--gw-mono);font-size:12.5px;color:var(--gw-slate);white-space:nowrap}
.gw-cat-sum{color:var(--gw-ink);line-height:1.5}
.gw-chip{font-family:var(--gw-label);font-weight:700;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;white-space:nowrap;color:#fff}
.chip-company{background:var(--gw-company)} .chip-media{background:var(--gw-media)} .chip-none{background:var(--gw-none)}
.gw-cat-note{font-family:var(--gw-mono);font-size:11.5px;color:var(--gw-slate);margin-top:14px}
.gw-dek{font-family:var(--gw-display);font-weight:400;font-size:clamp(16px,2.2vw,22px);font-style:normal;
  color:var(--gw-slate);margin:.1em 0 1em;letter-spacing:.01em}
