/* Nonprofit service page: readable, responsive layout. */
.nonprofit-page main {color:#392052; overflow-wrap:break-word}
.nonprofit-page main .wrap {width:min(1080px,calc(100% - 48px));margin-inline:auto}
.nonprofit-page main section.content {padding:64px 0}
.nonprofit-page main section.content + section.content {border-top:1px solid #e7dfed}
.nonprofit-page main section.content:nth-child(even) {background:#f8f5fb}
.nonprofit-page main .section-head {max-width:800px;margin:0 0 40px}
.nonprofit-page main h1 {font-family:Georgia,serif;font-size:clamp(2.2rem,4.5vw,3.5rem);line-height:1.12;letter-spacing:-.025em;margin:12px 0 24px}
.nonprofit-page main h2 {font-family:Georgia,serif;font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.22;margin:0 0 20px;letter-spacing:-.015em}
.nonprofit-page main p {font-size:1.05rem;line-height:1.8;max-width:78ch;margin:0 0 20px;color:#51495b}
.nonprofit-page main .eyebrow {font-size:.76rem;line-height:1.5;letter-spacing:.12em;color:#5a2b78;font-weight:700;text-transform:uppercase}
.nonprofit-page main .service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.nonprofit-page main .service-card {background:#fff;border:1px solid #e3d9eb;border-radius:18px;padding:32px;box-shadow:0 8px 24px rgba(57,32,82,.045)}
.nonprofit-page main .service-card h2 {font-size:1.65rem;margin-bottom:18px}
.nonprofit-page main .service-card p:last-child {margin-bottom:0;font-size:.95rem}
.nonprofit-page main ol {list-style:none;counter-reset:steps;padding:0;margin:28px 0 0;display:grid;gap:16px}
.nonprofit-page main li {counter-increment:steps;position:relative;padding:24px 24px 24px 76px;background:#fff;border:1px solid #e3d9eb;border-radius:14px;line-height:1.75;color:#51495b}
.nonprofit-page main li::before {content:counter(steps);position:absolute;left:24px;top:24px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#392052;color:#fff;font-weight:700}
.nonprofit-page main li strong {color:#392052}
.nonprofit-page main .button {display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:4px 0 22px;padding:14px 22px;line-height:1.4;max-width:100%;white-space:normal;text-align:center}
.nonprofit-page main a:not(.button) {text-underline-offset:4px;text-decoration-thickness:1px}
.nonprofit-page main p + h2 {margin-top:44px}
@media(max-width:700px){.nonprofit-page main .wrap{width:calc(100% - 40px)}.nonprofit-page main section.content{padding:42px 0}.nonprofit-page main .service-grid{grid-template-columns:1fr;gap:18px}.nonprofit-page main .service-card{padding:24px}.nonprofit-page main li{padding:20px 20px 20px 64px}.nonprofit-page main li::before{left:18px;top:22px}.nonprofit-page main p{font-size:1rem}}
