/* free tools: /newsletter-sponsors + /sponsorship-proposal (lib/free-tools.js). Layers on style.css (warm-paper brutalism). */
body.tool nav .wrap{gap:16px}
.navr{display:flex;align-items:center;gap:22px}
.navlink{font:600 15px Archivo;text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:2px solid transparent}
.navlink:hover,.navlink.on{border-bottom-color:var(--accent)}
body.tool .logo{text-decoration:none}

.tool-hero{padding-block:84px 20px}
body.tool h1{font-size:64px;max-width:900px}
body.tool .sub{max-width:760px}
.lede{max-width:760px;margin-top:18px;font-size:16.5px;color:#3b382f}
.cta-box{margin-top:40px;max-width:720px;border:2px solid var(--ink);background:var(--card);box-shadow:5px 5px 0 var(--ink);padding:26px 28px}
.cta-h{font:400 22px 'Archivo Black';letter-spacing:-.01em;text-transform:uppercase}
.cta-box .runform{margin-top:18px;max-width:none}
body.tool section{padding-block:64px 0}
body.tool main>section:last-child{padding-bottom:40px}
.intro{max-width:720px;margin-top:12px;color:#3b382f;font-size:16.5px}
.more{margin-top:22px;color:#3b382f}

/* new this month */
.fresh{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:24px}
.fresh li{border:2px solid var(--ink);background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.fresh li b{font:600 16.5px Archivo;overflow-wrap:anywhere}
.fresh li .mono{color:var(--mute);font-size:11px;text-transform:none;letter-spacing:.02em}

/* tables (base look is style.css .stable) */
.tscroll{overflow-x:auto;margin-top:18px;border:2px solid var(--ink);background:var(--card);box-shadow:5px 5px 0 var(--ink);padding:6px 20px 10px}
.tscroll .stable{margin-top:10px;font-variant-numeric:tabular-nums}
.stable .num{text-align:right;white-space:nowrap}
.stable th.num{text-align:right}
.stable .rk{color:var(--mute);width:34px}
.stable .bn{min-width:210px}
.stable .bn b{display:block}
.stable .dom{display:block;color:var(--mute);font-size:11px;text-transform:none;letter-spacing:.02em;margin-top:2px}
.stable .dt{white-space:nowrap;color:#3b382f}
.stable .rec{color:#3b382f;font-size:14px}
.stable td,.stable th{padding-left:10px}
.stable td:first-child,.stable th:first-child{padding-left:0}

/* by niche */
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.ncard{border:2px solid var(--ink);background:var(--card);box-shadow:4px 4px 0 var(--ink);padding:20px 22px;min-width:0}
.ncard h3{font:400 17px 'Archivo Black';text-transform:uppercase;letter-spacing:-.01em}
.ncard>.mono{color:var(--mute);margin-top:6px;font-size:11px}
.ncard ol{list-style:none;margin-top:12px;counter-reset:n}
.ncard li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--soft);font-size:15px;counter-increment:n}
.ncard li:last-child{border-bottom:0}
.ncard li span:first-child{overflow-wrap:anywhere;min-width:0}
.ncard li span:first-child::before{content:counter(n) ". ";color:var(--mute);font-family:'Space Mono',monospace;font-size:12px}
.ncard li .mono{color:var(--mute);text-transform:none;letter-spacing:0;white-space:nowrap}

/* proposal builder */
.pform{display:grid;grid-template-columns:1.4fr 1fr 1.1fr .75fr 1fr auto;gap:12px;align-items:end;margin-top:36px;max-width:1040px}
.pform label{display:flex;flex-direction:column;gap:6px;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);min-width:0}
.pform input,.pform select{border:2px solid var(--ink);background:var(--card);padding:13px 12px;font:400 16px 'Space Mono',monospace;color:var(--ink);width:100%;min-width:0;border-radius:0;text-transform:none;letter-spacing:0}
.pform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
.pform .btn{height:52px}
.docwrap{padding-top:40px!important}
.doc{max-width:860px;border:2px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 var(--ink);padding:40px 44px}
.doc-head{border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:6px}
.doc-head h2{font:400 clamp(19px,6vw,36px)/1.05 'Archivo Black';letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:break-word}
.doc-head .mono{color:var(--mute);margin-top:8px}
.doc h3{font:400 15px 'Archivo Black';text-transform:uppercase;letter-spacing:.01em;margin:26px 0 8px}
.doc p{font-size:16.5px;color:#27251f}
.doc p+p{margin-top:6px}
.doc b{font-weight:600;background:var(--highlight);padding:0 3px}
.doc .ph{color:var(--mute);font-style:italic}
.ptable{width:100%;border-collapse:collapse;font-size:15.5px;font-variant-numeric:tabular-nums}
.ptable th{text-align:left;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:0 12px 8px 0;border-bottom:2px solid var(--ink);font-weight:400}
.ptable td{padding:12px 12px 12px 0;border-bottom:1px solid var(--soft);vertical-align:top}
.ptable td b{background:none;padding:0}
.ptable .num{text-align:right;white-space:nowrap;padding-right:0}
.ptable th.num{text-align:right;padding-right:0}
.bchips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.bchips li{border:1.5px solid var(--ink);background:var(--paper);padding:5px 11px;font:500 14.5px Archivo}
.terms{margin-left:20px;font-size:15.5px;color:#27251f}
.terms li{padding:3px 0}
.doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:26px;max-width:860px}
.doc-actions .mono{color:var(--mute)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;max-width:1000px}
.cols p{color:#3b382f;font-size:16.5px}
.cols b{font-weight:600;background:var(--highlight);padding:0 4px}
.tt{font:600 18px Archivo;margin-top:34px}
.btable td:first-child{white-space:nowrap}
.guide .h2{font-size:28px;margin-top:40px}
.guide .h2:first-child{margin-top:0}
.guide p{max-width:760px;margin-top:12px;font-size:16.5px;color:#3b382f}
.faq details p a,.more a,.cols a,.intro a{color:var(--ink)}

@media(max-width:1000px){.pform{grid-template-columns:1fr 1fr 1fr}.pform .btn{grid-column:span 3}.ngrid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){
  body.tool h1{font-size:42px}
  .tool-hero{padding-block:56px 10px}
  .cta-box{padding:20px 18px;box-shadow:4px 4px 0 var(--ink)}
  body.tool section{padding-block:52px 0}
  .cols{grid-template-columns:1fr;gap:12px}
  .doc{padding:26px 22px;box-shadow:4px 4px 0 var(--ink)}
  .guide .h2{font-size:24px}
}
@media(max-width:720px){
  .navlink{display:none}
  .ngrid{grid-template-columns:1fr}
  .pform{grid-template-columns:1fr 1fr}.pform label:first-child{grid-column:span 2}.pform .btn{grid-column:span 2}
  .tscroll{padding:4px 14px 8px;box-shadow:4px 4px 0 var(--ink)}
  /* the sponsors table becomes stacked rows: brand on top, the numbers under it */
  .stable.lt thead{display:none}
  .stable.lt,.stable.lt tbody,.stable.lt tr,.stable.lt td{display:block;width:100%}
  .stable.lt tr{display:grid;grid-template-columns:28px auto 1fr;column-gap:10px;padding:12px 0;border-bottom:1px solid var(--soft)}
  .stable.lt td{border:0;padding:0}
  .stable.lt td.rk{grid-row:span 3;padding-top:2px}
  .stable.lt td.bn{grid-column:2/4;min-width:0}
  .stable.lt td.bn b,.stable.lt .dom{overflow-wrap:break-word}
  .stable.lt td.num.nl{grid-column:2;grid-row:2;text-align:left;margin-top:6px;font-size:13px}
  .stable.lt td.num.nl::after{content:" newsletters";color:var(--mute)}
  .stable.lt td.num.ads{display:none}
  .stable.lt td.dt{grid-column:3;grid-row:2;font-size:13px;color:var(--mute);margin-top:6px}
  .stable.lt td.dt::before{content:"· last ad "}
  .stable.lt td.rec{grid-column:2/4;grid-row:3;font-size:13.5px;margin-top:2px}
  .ptable{font-size:14.5px}
  .ptable thead{display:none}
  .ptable,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%}
  .ptable tr{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:12px 0;border-bottom:1px solid var(--soft)}
  .ptable td{border:0;padding:0}
  .ptable td:nth-child(2){grid-column:1/3;grid-row:2;color:#3b382f;margin-top:4px}
  .ptable td.num{grid-column:2;grid-row:1}
}
@media(max-width:400px){body.tool h1{font-size:32px}.doc{padding:22px 18px}.pform{grid-template-columns:1fr}.pform label:first-child,.pform .btn{grid-column:auto}}

@media print{
  body::before,body::after{display:none}
  body{background:#fff}
  nav,footer,.tool-hero,.doc-actions,section:not(.docwrap){display:none!important}
  .docwrap{padding:0!important}
  .doc{border:0;box-shadow:none;padding:0;max-width:none}
  .doc b{background:none}
}
