/* ===== Writer's Pledge ===== */
.pledge-card { margin: 0; background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: clamp(var(--space-8), 5vw, var(--space-16)); text-align: center; box-shadow: var(--shadow-md); position: relative; }
.pledge-card::before { content: ""; position: absolute; inset: var(--space-3); border: 1px solid oklch(from var(--color-primary) l c h / 0.25); border-radius: var(--radius-md); pointer-events: none; }
.pledge-card__text { margin: var(--space-8) auto var(--space-6); max-width: 34ch; font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.3; font-weight: 400; color: var(--color-text); }
.pledge-card__text p::before { content: "\201C"; } .pledge-card__text p::after { content: "\201D"; }
.pledge-card__sig { display: grid; align-items: end; grid-template-columns: 1.6fr 1fr; gap: var(--space-8); margin: var(--space-10) auto var(--space-6); max-width: 520px; text-align: left; }
.pledge-card__sig > div { display: flex; flex-direction: column; gap: var(--space-1); }
.pledge-card__sig .small { border-top: 1.5px solid var(--color-ink); padding-top: var(--space-2); text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--text-xs); }
.pledge-card__name { font-family: var(--font-display); font-style: italic; font-size: var(--text-xl); line-height: 1.2; min-height: 1.2em; overflow-wrap: anywhere; }
.pledge-card__date { font-size: var(--text-base); min-height: 1.6em; display: flex; align-items: flex-end; }
.pledge-form { display: grid; gap: var(--space-5); }
.section--ink .pledge-form .field label { color: oklch(from var(--color-text-inverse) l c h / 0.75); }
.section--ink .pledge-form .field input { color: var(--color-text); }
.pledge-agree { display: flex; gap: var(--space-3); align-items: flex-start; cursor: pointer; line-height: 1.5; }
.pledge-agree input { width: 20px; height: 20px; margin-top: 3px; flex: none; accent-color: var(--color-marigold); }
.pledge-form .btn { justify-self: start; }
.pledge-form .form-msg { min-height: 1.4em; color: var(--color-marigold); }
.pledge-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }
[data-pledge-copy-msg] { text-align: center; color: var(--color-primary); min-height: 1.4em; }
@media (max-width: 560px) { .pledge-card__sig { grid-template-columns: 1fr; gap: var(--space-6); } }
@media print {
  body > *:not(main) { display: none !important; }
  main > section:not(#signed) { display: none !important; }
  #signed { padding: 0 !important; }
  .pledge-actions, [data-pledge-copy-msg] { display: none !important; }
  #pledge-certificate { box-shadow: none; margin: 0.5in auto 0; max-width: 7in; break-inside: avoid; }
  body { background: #fff; }
}
.pledge-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 560px) { .pledge-form__row { grid-template-columns: 1fr; } }
.pledge-opt { text-transform: none; letter-spacing: 0; font-weight: 400; }
.pledge-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pledge-form .btn[disabled] { opacity: 0.6; cursor: progress; }
.pledge-count { font-weight: 700; color: var(--color-marigold); font-size: var(--text-base); }
.pledge-share { text-align: center; }
.pledge-share__links { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; margin-top: var(--space-3); }
.pledge-share__links .chip { text-decoration: none; cursor: pointer; font: inherit; }
@media print { .pledge-share { display: none !important; } }
.pledge-blurb { margin-top: var(--space-4); padding: var(--space-4); background: var(--color-surface-2); border-left: 3px solid var(--color-primary); border-radius: var(--radius-sm); font-size: var(--text-sm); line-height: 1.6; }
