/* A quiet landing page; shared styles provide only the base typography/reset. */
.nonprofits-page {
  --np-bg: #0b0d11;
  --np-text: #f4f5f7;
  --np-muted: #a1a6b0;
  --np-line: #252a33;
  --np-accent: #c1d2e7;
  color: var(--np-text);
  font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: radial-gradient(ellipse 640px 440px at 50% 260px, #101722 0%, var(--np-bg) 85%);
  background-repeat: no-repeat;
  background-color: var(--np-bg);
  color-scheme: dark;
}
.nonprofits-page [hidden] { display: none !important; }
.np-wrap { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.np-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.nonprofits-page .skip-link { position: absolute; top: 12px; left: 16px; z-index: 10; padding: 8px 14px; border-radius: 5px; color: #10151c; background: #f4f5f7; transform: translateY(-200%); }
.nonprofits-page .skip-link:focus { transform: translateY(0); }
.np-site-header { position: relative; z-index: 1; }
.np-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 88px; gap: 24px; }
.np-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--np-text); font-size: 15px; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }
.np-brand img { display: block; width: 34px; height: 34px; }
.np-brand:hover { text-decoration: none; }
.np-header-nav { display: flex; align-items: center; gap: 29px; font-size: 13px; white-space: nowrap; }
.np-header-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #aeb4be; text-underline-offset: 4px; }
.np-header-nav .np-header-request { display: inline-flex; align-items: center; gap: 11px; min-height: 38px; padding: 8px 13px; border: 1px solid #343a45; border-radius: 6px; color: #e3e7ed; }
.np-header-nav .np-header-request:hover { border-color: #646d7d; background: #151a22; text-decoration: none; }
.nonprofits-main { padding-bottom: 78px; }
.np-hero { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 580px; padding: 45px 0 58px; text-align: center; }
.np-eyebrow { margin: 0 0 25px; color: #a8b6c8; font-size: 11px; font-weight: 550; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.np-hero h1 { max-width: 820px; margin: 0; color: var(--np-text); font-size: clamp(64px, 7vw, 88px); font-weight: 600; line-height: 1.04; letter-spacing: -.045em; }
.np-hero h1 > span { color: var(--np-accent); }
.np-hero-copy { margin: 26px 0 0; color: #c7ced8; font-size: 21px; font-weight: 400; line-height: 1.6; letter-spacing: -.015em; }
.np-platform { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 10px 0 0; color: #9aa6b7; font-size: 12px; line-height: 1.7; }
.np-platform > span, .np-trust-line > span { color: #647083; }
.np-trust-line { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 31px 0 0; color: #a9b5c6; font-size: 14px; line-height: 1.7; }
.np-trust-line a { color: inherit; text-underline-offset: 4px; }
.np-hero-actions { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 30px; }
.np-button { display: inline-flex; align-items: center; justify-content: center; gap: 21px; min-height: 50px; padding: 13px 23px; border: 1px solid transparent; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 550; line-height: 1.5; text-align: center; text-decoration: none; cursor: pointer; }
.np-button-primary { color: #12171f; border-color: #eef2f7; background: #eef2f7; }
.np-button-primary:hover { color: #10151b; border-color: #fff; background: #fff; text-decoration: none; }
.np-button-primary:active { background: #d8e2ee; border-color: #d8e2ee; }
.np-button-secondary { color: #e2e7ee; border-color: #3a4350; background: transparent; }
.np-button-secondary:hover { color: #fff; border-color: #7c8797; background: #1b222c; text-decoration: none; }
.np-button:disabled { cursor: wait; opacity: .65; }
.np-text-link, .np-text-button { display: inline-flex; align-items: center; gap: 9px; color: #b6bfcc; font-size: 13px; line-height: 1.5; text-underline-offset: 4px; }
.np-text-link:hover { color: #eef2f7; }
.np-text-button { padding: 0; border: 0; background: none; font-family: inherit; cursor: pointer; }
.np-text-button:hover { color: #eef2f7; text-decoration: underline; }
.np-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 54px; max-width: 900px; margin-top: 0; margin-bottom: 72px; padding-top: 26px; text-align: left; }
.np-offer-copy > p { margin: 0; color: #a9b5c5; font-size: 16px; line-height: 1.8; }
.np-offer-copy h2 { margin: 0 0 20px; color: #e7edf6; font-size: 31px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; }
.np-offer-copy .np-text-link { min-height: 44px; margin-top: 15px; color: #c0d0e5; font-size: 14px; }
.nonprofits-page .np-request { max-width: 740px; padding: 0; border: 1px solid #36404e; border-radius: 14px; background: #11161e; scroll-margin-top: 24px; }
.nonprofits-page .np-request[open] { background: #11161e; }
.np-request-toggle { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 106px; padding: 24px 28px; border-radius: 14px; list-style: none; cursor: pointer; }
.np-request-toggle:hover { background: #161d27; }
.np-request[open] > .np-request-toggle { border-radius: 14px 14px 0 0; }
.np-request-toggle::-webkit-details-marker, .np-question summary::-webkit-details-marker { display: none; }
.np-request-summary { display: flex; flex-direction: column; gap: 5px; }
.np-request-summary > #request-title { color: #f0f3f7; font-size: 19px; font-weight: 550; line-height: 1.5; letter-spacing: -.02em; }
.np-request-meta { color: #a4afbf; font-size: 13px; font-weight: 400; line-height: 1.5; }
.np-request-action { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; min-height: 42px; padding: 10px 14px; border: 1px solid #465363; border-radius: 7px; color: #e4ebf4; font-size: 13px; line-height: 1.5; }
.np-chevron { flex: 0 0 auto; width: 20px; height: 20px; color: #bdcadd; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s ease; }
.np-request[open] > .np-request-toggle .np-chevron, .np-question[open] > summary .np-chevron { transform: rotate(180deg); }
.np-when-open { display: none; }
.np-request[open] > .np-request-toggle .np-when-open { display: inline; }
.np-request[open] > .np-request-toggle .np-when-closed { display: none; }
.np-eligibility-note { max-width: 740px; margin-top: 15px; margin-bottom: 0; color: #a6b2c3; font-size: 13px; line-height: 1.7; text-align: center; }
.np-eligibility-note a { color: #becfe4; text-underline-offset: 4px; }
.np-form-panel { width: 100%; min-width: 0; margin: 0; padding: 28px; border: 0; border-top: 1px solid #2d3744; border-radius: 0 0 14px 14px; background: transparent; }
.np-form-heading { margin-bottom: 24px; }
.np-form-heading h2 { margin: 0; color: var(--np-text); font-size: 23px; font-weight: 550; line-height: 1.3; letter-spacing: -.035em; }
.np-form-heading p { margin: 8px 0 0; color: var(--np-muted); font-size: 13px; line-height: 1.6; }
.np-fields { display: grid; min-width: 0; gap: 28px; margin: 0; padding: 0; border: 0; }
.np-form-group { display: grid; min-width: 0; gap: 18px; }
.np-form-group + .np-form-group { padding-top: 24px; border-top: 1px solid #2d3744; }
.np-group-title { margin: 0; color: #e4eaf3; font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.np-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.np-field { min-width: 0; }
.np-field label, .np-reference label { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: #d5dae3; font-size: 14px; font-weight: 550; line-height: 1.5; }
.np-field label > span:not(.np-label-text) { color: #9ba5b4; font-size: 12px; font-weight: 400; }
.np-required { color: #b4cbea; font-weight: 600; }
.np-field input, .np-field textarea, .np-reference input { display: block; width: 100%; min-width: 0; padding: 11px 13px; border: 1px solid #566173; border-radius: 7px; color: var(--np-text); background: #0c1118; font: inherit; font-size: 16px; line-height: 1.5; caret-color: #b4cbea; }
.np-field input { min-height: 48px; }
.np-field input::placeholder { color: #808c9d; }
.np-field textarea { min-height: 112px; resize: vertical; }
.np-field input:hover, .np-field textarea:hover { border-color: #7b899d; }
.np-field input:focus, .np-field textarea:focus { border-color: #b4cbea; }
.np-field input[aria-invalid="true"], .np-field textarea[aria-invalid="true"] { border-color: #f5a6a6; }
.np-field-help { margin: 7px 0 0; color: #a4afbf; font-size: 13px; line-height: 1.6; }
.np-confirmation { display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 11px; padding-top: 20px; border-top: 1px solid #2d3744; }
.np-confirmation > input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: #a8c6ee; cursor: pointer; }
.np-confirmation > label { color: #abb5c4; font-size: 13px; line-height: 1.7; cursor: pointer; }
.np-confirmation > .np-field-error { grid-column: 2; }
.np-verification { margin-top: 24px; }
.np-verification #np-turnstile { min-height: 65px; width: 100%; max-width: 100%; }
.np-verification > .np-field-help { min-height: 20px; }
.np-verification #np-turnstile[data-size="compact"] { display: grid; min-height: 140px; justify-content: center; }
.np-verification .np-text-button { margin-top: 8px; font-size: 12px; }
.np-privacy { margin: 20px 0 17px; color: #aab4c3; font-size: 12px; line-height: 1.7; }
.np-privacy a, .np-field-help a, .np-success-help a, .np-question a { color: #bfd4f0; text-decoration: underline; text-underline-offset: 3px; }
.np-submit { justify-content: space-between; width: 100%; min-height: 47px; }
.np-submit-status { min-height: 21px; margin: 8px 0 0; color: var(--np-muted); font-size: 12px; line-height: 1.7; }
.np-submit-status:empty { min-height: 0; margin-top: 0; }
.np-receipt-note { margin: 10px 0 0; color: #aab4c3; font-size: 12px; line-height: 1.65; }
.np-field-error { margin: 7px 0 0; color: #ffc0c0; font-size: 12px; line-height: 1.6; }
.np-form-error { margin-bottom: 22px; padding: 13px 15px; border: 1px solid #8b535a; border-radius: 6px; color: #ffd3d3; background: #251b22; font-size: 13px; line-height: 1.6; }
.np-form-error p { margin: 0; }
.np-form-error a { display: inline-block; margin-top: 6px; color: #c2daff; text-decoration: underline; text-underline-offset: 3px; }
.np-form-error .np-text-button { display: block; margin-top: 9px; color: #c2daff; font-size: 13px; text-align: left; }
.np-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.np-success { outline: none; }
.np-print-brand { display: none; }
.np-kicker { margin: 0 0 10px; color: #a8bfdc; font-size: 10px; font-weight: 650; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.np-success-mark { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 24px; border: 1px solid #3c6659; border-radius: 50%; color: #91d1b9; background: #162821; }
.np-success-mark svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.np-success h3 { margin: 0; font-size: 32px; font-weight: 550; line-height: 1.18; letter-spacing: -.045em; }
.np-success > p:not(.np-kicker):not(.np-copy-status) { margin: 16px 0 0; color: #acb6c4; font-size: 13px; line-height: 1.7; }
.np-success strong { color: #dfe6ef; font-weight: 600; overflow-wrap: anywhere; }
.np-reference { margin: 25px 0 20px; }
.np-reference input { font-family: Consolas, "Cascadia Mono", monospace; font-size: 13px; }
.np-reference > p { margin: 8px 0 0; color: #9ba5b4; font-size: 11px; line-height: 1.7; }
.np-success-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.np-copy-status { min-height: 21px; margin: 8px 0 0; color: #b9ceeb; font-size: 12px; line-height: 1.7; }
.np-success .np-success-help { padding-top: 15px; border-top: 1px solid #29313e; overflow-wrap: anywhere; }
.np-success .np-text-button { margin-top: 24px; }
.np-questions { max-width: 740px; margin-top: 64px; }
.np-questions h2 { margin: 0 0 21px; color: #e5ebf3; font-size: 22px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.nonprofits-page .np-question { margin: 0; padding: 0; border: 0; border-bottom: 1px solid #343c48; border-radius: 0; background: transparent; }
.nonprofits-page .np-question:first-of-type { border-top: 1px solid #343c48; }
.nonprofits-page .np-question[open] { background: transparent; }
.np-question summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 66px; padding: 18px 2px; color: #d8e0ec; font-size: 16px; font-weight: 500; line-height: 1.7; list-style: none; cursor: pointer; }
.np-question summary:hover, .np-question[open] > summary { color: #fff; }
.np-question p { max-width: 650px; margin: 0 36px 24px 2px; color: #aebace; font-size: 15px; line-height: 1.8; }
.nonprofits-page .np-site-footer { content-visibility: visible; contain-intrinsic-size: none; border-top: 1px solid #202631; }
.np-footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 24px; min-height: 82px; padding-block: 20px; }
.np-footer-inner p { margin: 0; color: #9ba7b8; font-size: 12px; line-height: 1.7; }
.np-footer-inner nav { display: flex; gap: 24px; }
.np-footer-inner a { display: inline-flex; align-items: center; min-height: 44px; color: #a6b2c3; font-size: 12px; text-underline-offset: 4px; }
.nonprofits-page a:focus-visible, .nonprofits-page button:focus-visible, .nonprofits-page summary:focus-visible, .nonprofits-page input:focus-visible, .nonprofits-page textarea:focus-visible, .np-form-error:focus-visible { outline: 2px solid #b4cbea; outline-offset: 4px; }
@media (max-width: 720px) {
  .np-wrap { width: calc(100% - 40px); }
  .np-header-inner { min-height: 78px; }
  .np-header-nav { gap: 18px; }
  .np-hero { min-height: 550px; padding: 43px 0 45px; }
  .np-eyebrow { margin-bottom: 23px; font-size: 10px; letter-spacing: .12em; }
  .np-hero h1 { font-size: clamp(52px, 11vw, 72px); }
  .np-hero-copy { margin-top: 25px; font-size: 19px; }
  .np-offer { grid-template-columns: minmax(0, 1fr); gap: 28px; max-width: 540px; margin-bottom: 48px; padding-top: 22px; text-align: center; }
  .np-offer-copy > p { font-size: 15px; }
  .np-offer-copy h2 { font-size: 29px; }
  .np-request-summary > #request-title { font-size: 18px; }
  .np-request-toggle { min-height: 106px; padding: 22px; }
  .np-form-panel { padding: 25px 22px; }
  .np-questions { margin-top: 52px; }
  .np-form-row { gap: 16px; }
  .nonprofits-main { padding-bottom: 54px; }
}
@media (max-width: 480px) {
  .np-header-inner { gap: 16px; min-height: 76px; }
  .np-brand { gap: 8px; font-size: 13px; }
  .np-header-nav { gap: 13px; font-size: 11px; }
  .np-header-nav .np-header-request { gap: 7px; padding: 7px 9px; }
  .np-hero { min-height: 0; padding: 54px 0 39px; }
  .np-hero h1 { font-size: clamp(44px, 11.5vw, 54px); }
  .np-hero-copy { max-width: 325px; font-size: 18px; }
  .np-copy-break { display: none; }
  .np-hero-actions { flex-direction: column; gap: 19px; margin-top: 29px; }
  .np-button { min-height: 47px; padding-inline: 18px; }
  .np-trust-line { max-width: 320px; margin-top: 27px; gap: 3px 6px; font-size: 13px; }
  .np-trust-line > span { display: none; }
  .np-platform { gap: 7px; font-size: 11px; }
  .np-offer-copy h2 { font-size: 27px; }
  .np-request-toggle { flex-direction: column; align-items: stretch; gap: 18px; padding: 22px 18px; }
  .np-request-summary > #request-title { font-size: 17px; }
  .np-request-meta { font-size: 12px; }
  .np-request-action { justify-content: space-between; min-height: 44px; padding: 10px 14px; }
  .np-form-panel { padding: 24px 18px; }
  .np-form-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .np-reference input { font-size: 11px; padding-inline: 8px; }
  .np-success-actions { gap: 9px; }
  .np-footer-inner { flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; min-height: 104px; }
  .np-footer-inner nav { gap: 17px; }
}
@media (max-width: 640px) {
  .np-form-row { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .np-fields { gap: 24px; }
  .np-form-group + .np-form-group { padding-top: 22px; }
  .np-field label { flex-wrap: wrap; gap: 4px 10px; }
}
@media (max-width: 380px) {
  .np-wrap { width: calc(100% - 36px); }
  .np-brand > span { display: none; }
  .np-header-nav { gap: 20px; font-size: 12px; }
  .np-eyebrow { font-size: 9px; }
  .np-hero h1 { font-size: 42px; }
  .np-form-panel { padding: 24px 14px; }
  .np-success-actions { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .np-chevron { transition: none; }
}
@media print {
  .nonprofits-page { color: #111; background: #fff; }
  .np-site-header, .np-site-footer, .skip-link, .np-hero, .np-offer, .np-request-toggle, .np-eligibility-note, .np-questions, #np-form-content, .np-success-actions, .np-copy-status, .np-success .np-text-button { display: none !important; }
  .nonprofits-main { padding: 20px 0; }
  .nonprofits-page .np-request { display: block; width: 100%; max-width: none; padding: 0; border: 0; }
  .np-form-panel { width: 100%; max-width: none; margin: 0; padding: 25px; border: 1px solid #ccc; color: #111; background: #fff; }
  .np-success h3, .np-success strong, .np-reference label, .np-success .np-kicker, .np-success p, .np-success > p:not(.np-kicker):not(.np-copy-status), .np-success a { color: #111; }
  .np-reference input { color: #111; border-color: #aaa; background: #fff; font-size: 13px; }
  .np-success .np-print-brand { display: block; margin: 0 0 20px; color: #111; font-size: 18px; font-weight: 650; }
}
