/* no-poison-pros v2: share + giveaway + layout helpers */
.p22-cols{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.p22-opt[hidden],.p22-pl-own[hidden],.p22-pl-tech[hidden]{display:none!important}
.p22-pl-own small,.p22-pl-tech small{display:block;font-size:14px;font-weight:500;margin-top:4px;line-height:1.4;opacity:.9}

.pff-share{margin-top:22px}
.pff-share-grid{display:grid;gap:28px;grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start}
.pff-share-grid>*{min-width:0}
.pff-card-preview{border:3px solid var(--ink);background:var(--ink);aspect-ratio:1;width:100%;max-width:280px;display:block;box-shadow:6px 6px 0 var(--ink);margin:0}
.pff-card-preview img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;vertical-align:top}
.pff-share-copy h3{margin:0 0 8px;font:900 22px Archivo,sans-serif;text-transform:uppercase}
.pff-share-copy p{margin:0 0 12px;font-size:16px;line-height:1.5;max-width:42ch}
.pff-caps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.pff-caps li{border:2px solid var(--ink);background:#fff;padding:10px 12px;font-size:15px;line-height:1.4}
.pff-caps button{all:unset;cursor:pointer;display:block;width:100%;font:inherit}
.pff-caps button:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.pff-share-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.pff-share-btns .btn{min-height:48px}
.pff-share-st{min-height:1.4em;font-weight:700;margin:8px 0 0;font-size:15px}

.pff-give{border:3px solid var(--ink);background:#fff;padding:clamp(18px,4vw,28px);box-shadow:6px 6px 0 var(--ink);max-width:46rem}
.pff-give .p32-k{color:var(--ink);margin:0 0 8px}
.pff-give h2{font:900 clamp(26px,4.5vw,36px)/1.05 Archivo,sans-serif;text-transform:uppercase;margin:0 0 10px}
.pff-give h2 .mk{background:var(--lime);color:var(--ink);padding:0 .12em}
.pff-give p{margin:0 0 12px;font-size:17px;line-height:1.5;max-width:60ch}
.pff-give .pff-give-note{font-size:14px;color:var(--ink-2);margin:0 0 14px}
.pff-give-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

@media(max-width:860px){
.pff-share-grid{grid-template-columns:1fr;gap:20px}
.pff-card-preview{max-width:min(280px,100%)}
.pff-give{box-shadow:4px 4px 0 var(--ink)}
}

/* hero jump links: readable on dark */
.p-hero .p21-note{color:var(--on-dark-2,#F2F2EC);font-size:16px;line-height:1.55;display:flex;flex-wrap:wrap;gap:6px 0;align-items:center}
.p-hero .p21-note a{color:var(--lime,#D4FF3A);font-weight:800;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;padding:2px 0}
.p-hero .p21-note a:hover,.p-hero .p21-note a:focus-visible{color:#fff}

/* pros v3: spacing rhythm */
:root{
  --pros-gap:10px; /* match .p21-pledge card gap */
  --pros-sec:clamp(28px,5vw,48px);
}
/* Tech column: button sits in the same rhythm as the commitment cards */
#tech .p21-pledge{margin-bottom:0}
#tech .p21-pledge + p{
  margin:var(--pros-gap) 0; /* even above + below, same as card gap */
  padding-bottom:6px; /* clear the 4px lime offset shadow */
}
#tech .p21-pledge + p .btn{display:inline-flex}
/* Stacked tech cols: use card rhythm, not a fat 28px canyon */
@media(max-width:680px){
  #tech .p22-cols{gap:var(--pros-gap)}
}
@media(min-width:681px){
  #tech .p22-cols{gap:28px}
}
/* Section vertical rhythm */
#tech{padding:var(--pros-sec) 0}
#tech .p22-k{margin:0 0 8px}
#tech .display{margin:0 0 12px}
#tech .p21-p{margin:0 0 14px}
#tech .p23-tally{margin:12px 0 14px}
#tech .p22-why{margin:0}
#tech .p22-why h3{margin:0 0 10px}
#trap-standard{padding-top:var(--pros-sec)!important;padding-bottom:var(--pros-sec)}
#pledge{padding:var(--pros-sec) 0}
#pledge .req{gap:28px}
#pledge .p21-pledge{margin-top:14px}
#pledge .p21-note{margin-top:14px}
#share{padding:var(--pros-sec) 0}
#share .gh{margin:0 0 10px}
#share .p30-i{margin:0 0 18px}
.pff-share{margin-top:0}
.p23-nsec{padding-top:var(--pros-sec)!important;padding-bottom:var(--pros-sec)}
/* Form: consistent field spacing */
#pro-form .field{margin-bottom:14px}
#pro-form .field-row{gap:0 14px;margin-bottom:0}
#pro-form .group{margin:4px 0 16px}
#pro-form .check-box{margin:0 0 16px}
#pro-form .fine{margin-top:12px}
/* Share buttons: room for offset shadows */
.pff-share-btns{gap:12px;margin-top:12px;padding-bottom:6px}
.pff-share-st{margin-top:10px}
/* Mobile tighten without crowding */
@media(max-width:390px){
  #tech .p21-pledge + p{margin:var(--pros-gap) 0;padding-bottom:6px}
  .pff-card-preview{box-shadow:4px 4px 0 var(--ink)}
}
