/* Donations page visual system; shared shell owns site-wide layout. */
.donations-page { --ink:#152f42; --blue:#245b78; --gold:#c8963d; --line:#ded6c5; --muted:#52616a; }
.donate-hero { position:relative; overflow:hidden; padding:clamp(2.2rem,6vw,5.7rem); border:1px solid #d6cfbe; border-top:5px solid var(--gold); background:linear-gradient(122deg,#e8eef0 0%,#f7f3ea 63%,#e9e1cf 100%); box-shadow:0 18px 45px #1a304014; }
    .donate-hero:after { content:""; position:absolute; width:370px;height:370px;right:-90px;top:-145px;border:1px solid #b98a3b42;border-radius:50%;box-shadow:0 0 0 30px #b98a3b0d,0 0 0 65px #b98a3b0a;pointer-events:none; }
    .eyebrow,.kicker { color:#87601e; font:700 .72rem/1.35 "IBM Plex Mono",monospace; letter-spacing:.14em; text-transform:uppercase; }
    .donate-hero h1 { max-width:930px; margin:.8rem 0 1.1rem; color:var(--ink); font:500 clamp(2.5rem,5vw,4.3rem)/1.02 "Fraunces",Georgia,serif; letter-spacing:-.035em; }
    .donate-hero h1 em { color:var(--blue); font-weight:400; }
    .hero-lede { max-width:675px; margin:0; color:#40535e; font-size:clamp(1.02rem,1.7vw,1.22rem); line-height:1.72; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; margin-top:2rem; }
    .button-link { display:inline-flex;align-items:center;gap:.7rem;padding:.9rem 1.15rem;background:var(--ink);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 4px 12px #152f4221; }
    .button-link:hover { background:#245b78; }
    .quiet-link,.inline-link { color:#1e5875;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px; }
    .open-status { display:flex;align-items:flex-start;gap:.85rem;margin-top:2.6rem;padding:1rem 1.1rem;max-width:690px;border:1px solid #d5c8a8;background:#fffaf0d9;color:#47545a;font-size:.92rem; }
    .open-status strong { display:block;margin-bottom:.2rem;color:#403c31; }
    .status-mark { flex:0 0 9px;width:9px;height:9px;margin-top:.35rem;border-radius:50%;background:#b88023;box-shadow:0 0 0 4px #b880231a; }
    .story { margin:1.1rem 0 0;padding:clamp(1.8rem,5vw,4rem);background:var(--site-paper, #fffdf8);border:1px solid var(--line);box-shadow:0 14px 36px #1a30400d; }
    .story-heading { display:grid;grid-template-columns:minmax(190px,.78fr) minmax(0,1.22fr);gap:clamp(1.5rem,5vw,4.8rem);align-items:start; }
    .story h2,.funding h2,.trust h2,.close h2 { margin:.4rem 0 0;color:var(--ink);font:500 clamp(1.8rem,3.7vw,3rem)/1.12 "Fraunces",Georgia,serif;letter-spacing:-.02em; }
    .story-copy { max-width:610px;margin:0;color:#435660;font-size:1.06rem;line-height:1.8; }
    .rule { height:1px;margin:2rem 0;background:var(--line); }
    .principles { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line); }
    .principle { min-height:164px;padding:1.35rem;background:#fffdf9; }
    .principle .n { color:#a07128;font:700 .7rem "IBM Plex Mono",monospace;letter-spacing:.12em; }
    .principle h3 { margin:.8rem 0 .45rem;color:var(--ink);font:500 1.35rem/1.15 "Fraunces",Georgia,serif; }
    .principle p { margin:0;color:#52616a;font-size:.93rem;line-height:1.65; }
    .funding { display:grid;grid-template-columns:1fr .82fr;gap:2rem;align-items:center;margin:1.1rem 0 0;padding:clamp(1.8rem,5vw,3.7rem);background:#18394d;color:#edf2f1; }
    .funding .kicker { color:#e2bd78; }
    .funding h2 { max-width:560px;color:#fff; }
    .funding-copy { max-width:565px;color:#e0e9e9;line-height:1.75; }
    .funding-copy p { margin:.9rem 0 1.2rem; }
    .funding .button-link { color:var(--ink);background:#f0d49a;box-shadow:none; }
    .funding .button-link:hover { background:#ffe4af; }
    .giving-shell { display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(1.5rem,4vw,3.4rem);align-items:center;margin:1.1rem 0 0;padding:clamp(1.8rem,5vw,3.5rem);background:linear-gradient(135deg,#efe8d8,#faf8f1 72%);border:1px solid var(--line); }
    .giving-shell h2 { margin:.45rem 0 .8rem;color:var(--ink);font:500 clamp(1.8rem,3.5vw,2.7rem)/1.12 "Fraunces",Georgia,serif; }
    .giving-shell-copy { color:#4c5e66;line-height:1.75; }
    .giving-shell-copy p { margin:.65rem 0 1.1rem; }
    .givebutter-host { padding:1.2rem;background:#fff;border:1px solid #d8d1c3;box-shadow:0 10px 30px #152f4214; }
    .givebutter-head { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #e7e2d8; }
    .givebutter-wordmark { color:#203c50;font:700 1rem/1 "Public Sans",sans-serif;letter-spacing:-.02em; }
    .givebutter-wordmark span { color:#427a70; }
    .secure-label { color:#5d6b71;font:600 .7rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase; }
    .givebutter-slot { display:grid;align-content:center;justify-items:center;min-height:300px;margin-top:1rem;padding:1.5rem;text-align:center;border:1px dashed #b9c5bf;background:#f7faf8; }
    .slot-mark { display:grid;place-items:center;width:44px;height:44px;margin-bottom:.9rem;border:1px solid #d6e0da;border-radius:50%;color:#397260;font-size:1.2rem; }
    .givebutter-slot strong { color:#18394d;font:500 1.22rem "Fraunces",Georgia,serif; }
    .givebutter-slot p { max-width:330px;margin:.55rem 0 0;color:#586970;font-size:.88rem;line-height:1.6; }
    .slot-status { display:inline-block;margin-top:1rem;padding:.35rem .55rem;border-radius:2rem;background:#f2ead8;color:#72531e;font:700 .7rem "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase; }
    .host-note { margin:.8rem 0 0;color:#67747a;font-size:.73rem;line-height:1.5; }
    .funding-number { padding:1.5rem;border:1px solid #ffffff42;background:#ffffff0a; }
    .funding-number strong { display:block;color:#f4d99f;font:500 clamp(2.7rem,5vw,4.4rem)/1 "Fraunces",Georgia,serif;letter-spacing:-.035em; }
    .funding-number span { display:block;max-width:22rem;margin:.7rem 0 0;color:#e0e9e9;font-size:.94rem;line-height:1.55; }
    .program-stat { display:flex;align-items:baseline;gap:.6rem;margin-top:.8rem;padding-top:.7rem;border-top:1px solid #ffffff38;color:#dce8e5;font-size:.86rem; }
    .program-stat strong { color:#f3d495;font:500 1.55rem "Fraunces",Georgia,serif; }
    .stages { display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:1.5rem; }
    .stage { position:relative;padding:1rem 1.2rem 0 0;border-top:2px solid #d2b06d; }
    .stage + .stage { padding-left:1.2rem;border-left:1px solid #ffffff3b; }
    .stage b { color:#f3d495;font:700 .68rem "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase; }
    .stage strong { display:block;margin:.4rem 0;color:#fff;font:500 1.17rem "Fraunces",Georgia,serif; }
    .stage small { color:#d1dedd;line-height:1.45; }
    .trust { display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;margin:1.1rem 0 0;padding:clamp(1.8rem,5vw,3.5rem);background:#e6eceb;border-left:5px solid #347187; }
    .trust-points { display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.5rem; }
    .trust-point { color:#475b63;font-size:.93rem;line-height:1.65; }
    .trust-point strong { display:block;margin-bottom:.25rem;color:#1d4053;font:500 1.13rem "Fraunces",Georgia,serif; }
    .close { margin:1.1rem 0 2.3rem;padding:clamp(1.8rem,5vw,3.4rem);text-align:center;background:#fffdf8;border:1px solid var(--line); }
    .close h2 { margin:.6rem auto; }
    .close p { max-width:610px;margin:.8rem auto 1.3rem;color:#50616a;line-height:1.75; }
    .close .button-link { margin:.25rem; }
    .disclaimer { max-width:770px;margin:1.4rem auto 0;color:#66747a;font-size:.77rem;line-height:1.55; }
    @media(max-width:720px){.story-heading,.funding,.giving-shell,.trust{grid-template-columns:1fr}.principles,.stages{grid-template-columns:1fr}.principle{min-height:auto}.stage,.stage + .stage{padding:1rem 0;border-left:0;border-top:1px solid #ffffff3b}.funding-number{max-width:420px}.trust-points{grid-template-columns:1fr 1fr}.donate-hero:after{right:-235px}.hero-actions{align-items:flex-start;flex-direction:column}}
    @media(max-width:420px){.trust-points{grid-template-columns:1fr}.open-status{font-size:.86rem}}
