@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-800.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Plex Mono';src:url(/assets/fonts/plexmono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Plex Mono';src:url(/assets/fonts/plexmono-600.woff2) format('woff2');font-weight:600;font-display:swap}

:root{
  --paper:#f4f1e9; --ink:#1a1714; --ink-soft:#4a443c; --red:#a8201a;
  --measure:45.6rem; --serif:Newsreader,Georgia,'Times New Roman',serif; --mono:'Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif);
  font-size:clamp(1.05rem,0.98rem + 0.4vw,1.2rem); line-height:1.62;
  /* faint paper grain */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
.sheet{max-width:var(--measure); margin:0 auto; padding:clamp(1.5rem,4vw,3.5rem) 1.25rem 4rem}

.masthead{border-bottom:3px double var(--ink); padding-bottom:1.2rem; margin-bottom:2rem}
.masthead__title{font-weight:800; font-size:clamp(2.4rem,8vw,4rem); line-height:1.02; letter-spacing:-0.01em; margin:0 0 .6rem; text-transform:uppercase}
.masthead__dek{font-style:italic; color:var(--ink-soft); font-size:1.15rem; margin:0 0 1rem}
.masthead__meta{font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin:0}
.masthead__meta a{color:var(--red)}

.essay > p:first-of-type::first-letter{
  float:left; font-weight:800; font-size:4.4rem; line-height:.72; padding:.35rem .55rem 0 0; color:var(--red);
}
.essay h2{font-weight:600; font-size:1.5rem; line-height:1.2; margin:2.4rem 0 .6rem}
.essay p{margin:0 0 1.1rem}
.essay a{color:var(--red)}
.essay blockquote{
  margin:2rem 0; padding:.2rem 0 .2rem 1.3rem; border-left:3px solid var(--red);
  font-size:1.45rem; line-height:1.3; font-style:italic; color:var(--ink);
}
.essay blockquote p{margin:0}

.fig{margin:2.2rem 0}
.fig-img{display:block;width:100%;height:auto;border:1.5px solid var(--ink)}
.fig-ph{
  border:1.5px solid var(--ink); background:repeating-linear-gradient(45deg,transparent,transparent 9px,rgba(26,23,20,.04) 9px,rgba(26,23,20,.04) 10px);
  padding:1.1rem; min-height:8rem; display:flex; flex-direction:column; gap:.5rem;
}
.fig-ph__tag{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--red)}
.fig-ph__prompt{font-family:var(--mono); font-size:.78rem; line-height:1.45; color:var(--ink-soft); margin:0}
.fig figcaption{font-family:var(--mono); font-size:.72rem; color:var(--ink-soft); margin-top:.5rem; text-align:center}

.cta{margin:3rem 0 0; padding:2rem 1.5rem; border:1.5px solid var(--ink); background:rgba(168,32,26,.03); position:relative}
.cta::after{
  content:"REFUSE"; position:absolute; top:-.7rem; right:1rem; transform:rotate(-7deg);
  font-family:var(--mono); font-weight:600; letter-spacing:.16em; color:var(--red);
  border:2px solid var(--red); border-radius:3px; padding:.1rem .5rem; font-size:.8rem; background:var(--paper);
}
.cta__pledge{font-size:1.3rem; font-style:italic; line-height:1.35; margin:0 0 1.4rem}
.field{display:block; margin:0 0 .9rem}
.field span{display:block; font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.3rem}
.field input,.field textarea{width:100%; font-family:var(--serif); font-size:1rem; padding:.6rem .7rem; border:1.5px solid var(--ink); background:var(--paper); color:var(--ink)}
.field textarea{resize:vertical}
.pledge__toggle{background:none; border:none; color:var(--red); font-family:var(--mono); font-size:1rem; cursor:pointer; padding:.3rem 0 1rem}
.pledge__submit{font-family:var(--mono); font-weight:600; letter-spacing:.08em; text-transform:uppercase; background:var(--ink); color:var(--paper); border:none; padding:.8rem 1.4rem; font-size:.85rem; cursor:pointer; margin-top:.4rem}
.pledge__submit:hover{background:var(--red)}
.pledge__micro{font-size:.82rem; color:var(--ink-soft); margin:1rem 0 0; line-height:1.4}
.pledge__status{font-family:var(--mono); font-size:.82rem; margin:.8rem 0 0; min-height:1.2em}
.pledge__status.ok{color:var(--ink)} .pledge__status.err{color:var(--red)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.cf-turnstile{margin:.4rem 0}
.cta__wall{margin:1.5rem 0 0; font-family:var(--mono); font-size:.85rem}
.cta__wall a{color:var(--red)}

.sources{margin-top:3rem; border-top:1px solid var(--ink-soft); padding-top:1rem}
.sources__title{font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 .5rem}
.sources ul{margin:0; padding-left:1.1rem; font-size:.86rem; color:var(--ink-soft)}
.sources li{margin:.2rem 0}
.sources__cc0{font-size:.8rem; color:var(--ink-soft); margin:1rem 0 0; line-height:1.4}
.sources__cc0 a{color:var(--red)}

/* signatories wall */
.banner{font-family:var(--mono); font-size:.85rem; padding:.7rem .9rem; margin:0 0 1.5rem; border:1.5px solid var(--ink)}
.banner.ok{border-color:var(--ink)} .banner.err{border-color:var(--red); color:var(--red)}
.wall-count{font-family:var(--mono); font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 1.5rem}
.wall-count #count{color:var(--red); font-weight:600}
.wall{list-style:none; margin:0; padding:0; display:grid; gap:1rem}
.sig{border-bottom:1px solid rgba(26,23,20,.18); padding-bottom:1rem}
.sig__name{font-weight:600; font-size:1.1rem}
.sig__note{margin:.3rem 0 0; font-style:italic; color:var(--ink); line-height:1.4}
.sig__date{display:block; font-family:var(--mono); font-size:.68rem; color:var(--ink-soft); margin-top:.3rem}
.wall-more{font-family:var(--mono); font-size:.8rem; margin:1.5rem 0 0; padding:.6rem 1.1rem; border:1.5px solid var(--ink); background:var(--paper); cursor:pointer}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
