/* /plan — giving-plan builder (extra wave X1). Uses site.css tokens; no new colours. */
.pl-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 32px;margin:8px 0 40px}
.pl-fs{border:0;margin:0 0 26px;padding:0;min-width:0}
.pl-fs legend{font-family:var(--serif);font-size:1.32rem;font-weight:600;color:var(--ink);padding:0;margin-bottom:14px}
.pl-hint{display:block;font-family:var(--sans);font-size:.9rem;font-weight:400;color:var(--ink-3);margin-top:4px}
.pl-causes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.pl-causes li{position:relative}
.pl-causes input{position:absolute;left:16px;top:19px;width:20px;height:20px;margin:0;accent-color:var(--accent)}
.pl-causes label{display:block;min-height:100%;padding:16px 16px 16px 48px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer}
.pl-causes input:checked+label{border-color:var(--accent);background:var(--accent-soft)}
.pl-causes input:focus-visible+label{outline:3px solid var(--focus);outline-offset:2px}
.pl-ct{display:block;font-weight:600;color:var(--ink);margin-bottom:4px}
.pl-cp{display:block;font-size:.88rem;line-height:1.45;color:var(--ink-2)}
.pl-amt-in{max-width:320px}
.pl-submit{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pl-reset{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
.pl-none{margin:14px 0 0;color:var(--ink-2)}
.pl-out{margin:0 0 48px}
.pl-out>h2{font-family:var(--serif);font-size:2rem;margin:0 0 10px}
.pl-amt{font-size:1.05rem;color:var(--ink-2);margin:0 0 14px}
.pl-units{margin:0 0 22px}
.pl-cause{border-top:2px solid var(--ink);padding-top:22px;margin-top:30px}
.pl-cause h3,.pl-sec h3{font-family:var(--serif);font-size:1.55rem;margin:0 0 8px}
.pl-lead{color:var(--ink-2);margin:0 0 14px;max-width:72ch}
.pl-item h4.q-name{font-family:var(--serif);font-size:1.25rem;margin:0 0 6px}
.pl-item h4.q-name a{color:var(--ink);text-decoration:none}
.pl-item h4.q-name a:hover{text-decoration:underline}
.pl-why{font-size:.86rem;margin-left:6px;white-space:nowrap}
.pl-oq{margin:10px 0 0;padding-left:12px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.5;color:var(--ink-2)}
.pl-oq-k{display:block;font-family:var(--sans);font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.pl-gap{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--gold-soft);color:var(--ink);font-size:.93rem}
.pl-big{margin:14px 0 0}
.pl-k{margin:16px 0 6px;font-weight:600;font-size:.93rem}
.pl-more{margin:14px 0 0;font-size:.95rem}
.pl-more a{display:inline-block;padding:10px 0}
.pl-sec{margin-top:40px}
.pl-fund h4{font-family:var(--serif);font-size:1.2rem;margin:6px 0}
.pl-fund .actions{margin-top:12px}
.pl-ask{margin:14px 0 0;padding-left:1.4em}
.pl-ask li{margin:0 0 16px}
.pl-q{font-family:var(--serif);font-size:1.18rem;font-weight:600;margin:0 0 4px}
.pl-good{margin:0;font-size:.95rem;color:var(--ink-2)}
.pl-good .pl-gk{color:var(--accent);font-weight:600;white-space:nowrap}
.pl-rule{margin:4px 0 0;font-size:.88rem;color:var(--ink-3)}
.pl-rule a{display:inline-block;padding:8px 0}
.pl-link{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pl-link input{flex:1 1 280px;min-width:0;font:500 .92rem var(--mono);padding:12px;border:1px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink)}
.pl-copied{min-height:1.4em;margin:6px 0 0;color:var(--accent);font-size:.9rem}
.pl-how{border-top:1px solid var(--line);padding-top:28px;margin-top:56px}
.pl-how h2{font-family:var(--serif);font-size:1.6rem;margin:0 0 12px}
@media (max-width:700px){
  .pl-form{padding:20px 18px;border-radius:var(--radius-sm)}
  .pl-causes{grid-template-columns:1fr}
  .pl-out>h2{font-size:1.65rem}
  .pl-why{display:inline-block;margin:4px 0 0;padding:6px 0}
}
@media print{.pl-form,.pl-link button,.site-header,.site-footer{display:none}.pl-cause{break-inside:avoid-page}}
.pl-form .pl-fs legend{font-family:var(--serif);font-size:1.32rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:14px}
.pl .pl-cause h3,.pl .pl-sec h3{font-family:var(--serif);font-size:1.6rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 8px}
.pl .q-note{margin:12px 0 0}
