.supporters-section{background:#fffdf8;border-top:1px solid #e8e7df}
.supporters-heading{max-width:760px;margin:0 auto;text-align:center}
.supporters-heading .eyebrow{color:#9a5060;font-size:14px;letter-spacing:.2em;margin-bottom:20px}
.supporters-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.65;letter-spacing:.02em;margin-bottom:24px;text-wrap:wrap;word-break:normal}
.supporters-heading>p:not(.eyebrow){font-size:16px;line-height:1.95;color:#394332;text-wrap:wrap;word-break:normal}
.supporter-sample-note{margin:24px auto 0;max-width:740px;text-align:center;font-size:14px;line-height:1.8;color:#58614e}
.supporter-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:32px;margin:42px auto;max-width:1080px}
.supporter-logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:140px;padding:14px;background:#fff;border-radius:12px;transition:box-shadow .2s ease}
.supporter-logo img{width:100%;height:auto;aspect-ratio:3;object-fit:contain;border-radius:0}
.supporter-logo:hover{box-shadow:0 4px 20px #55634b14}
.supporter-logo:focus-visible{outline:2px solid #465638;outline-offset:4px}
.supporters-all{display:flex;justify-content:center;max-width:max-content;margin:0 auto;font-size:16px}
.supporters-page{color:#394332;font-size:16px;line-height:1.95;text-align:center}
.supporters-page>h2{font-size:clamp(26px,3vw,36px);line-height:1.65;text-wrap:wrap;word-break:normal}
.supporters-page>p{font-size:16px;line-height:1.95;margin:20px auto;max-width:740px;text-wrap:wrap;word-break:normal}
.supporters-page .supporter-sample-note{font-size:14px;line-height:1.8;color:#58614e}
.supporters-page .supporter-logo-grid{grid-template-columns:1fr;margin:36px auto;gap:24px;max-width:560px}
.supporters-page .supporter-logo{padding:24px 36px;min-height:150px}
.supporters-page .supporters-all{margin-top:36px}
@media(max-width:899px){.supporter-logo-grid{grid-template-columns:1fr;max-width:480px;gap:24px;margin:32px auto}.supporter-logo{min-height:125px;padding:18px 26px}.supporters-heading h2{font-size:28px}.supporter-sample-note{text-align:left;max-width:480px}.supporters-page .supporter-logo{padding:20px;min-height:120px}}
@media(prefers-reduced-motion:reduce){.supporter-logo{transition:none}}

/* Preserve short heading phrases; descriptive paragraphs use the full line. */
.supporters-heading h2 .jp-phrase,.supporters-page>h2 .jp-phrase{display:inline-block;white-space:nowrap}
.join-intro h2,.cream-section .section-heading h2,.join-flow h2,.contact-layout h2,.member-card h3,.profile-hero h1{text-wrap:balance}

.member-copy-phrase{display:inline-block;white-space:nowrap}.page-id-18 .page-heading h1{max-width:100%}
