:root{
    --support-blue:#155eef;
    --support-blue-dark:#0b4cc9;
    --support-ink:#101828;
    --support-muted:#667085;
    --support-line:#e4e7ec;
    --support-soft:#f7f9fc;
    --support-yellow:#ffd400;
}
.support-page{
    background:var(--support-soft);
    min-height:70vh;
}
.support-shell{
    margin:0 auto;
    max-width:1220px;
    padding-left:clamp(16px,4vw,42px);
    padding-right:clamp(16px,4vw,42px);
}
.support-hero{
    background:
        radial-gradient(circle at 82% 10%,rgba(21,94,239,.20),transparent 30%),
        linear-gradient(145deg,#fff,#edf4ff);
    border-bottom:1px solid var(--support-line);
    padding:clamp(50px,9vw,105px) 0;
}
.support-hero-grid{
    align-items:center;
    display:grid;
    gap:44px;
    grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);
}
.support-kicker{
    color:var(--support-blue-dark);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.support-hero h1{
    color:var(--support-ink);
    font-size:clamp(3rem,7vw,6rem);
    letter-spacing:-.075em;
    line-height:.93;
    margin:10px 0 20px;
    max-width:900px;
}
.support-hero p{
    color:var(--support-muted);
    font-size:clamp(.95rem,2vw,1.15rem);
    line-height:1.65;
    margin:0;
    max-width:720px;
}
.support-hero-points{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:25px;
}
.support-hero-points span{
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:999px;
    color:var(--support-ink);
    font-size:.72rem;
    font-weight:850;
    padding:9px 12px;
}
.support-impact-card{
    background:#080b12;
    border-radius:22px;
    color:#fff;
    display:grid;
    gap:4px;
    padding:26px;
}
.support-impact-card>span{
    color:rgba(255,255,255,.62);
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
}
.support-impact-card strong{
    font-size:4rem;
    letter-spacing:-.07em;
}
.support-impact-card p{
    color:rgba(255,255,255,.72);
    font-size:.76rem;
}
.support-content{
    padding:clamp(34px,7vw,78px) 0;
}
.support-layout{
    align-items:start;
    display:grid;
    gap:20px;
    grid-template-columns:minmax(0,1.18fr) minmax(300px,.72fr);
}
.support-payment-card,
.support-explanation{
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:22px;
}
.support-payment-card{
    padding:clamp(20px,4vw,34px);
}
.support-payment-card header h2{
    font-size:clamp(2rem,5vw,3.2rem);
    letter-spacing:-.06em;
    margin:6px 0 10px;
}
.support-payment-card header p{
    color:var(--support-muted);
    line-height:1.55;
    margin:0;
}
.support-form{
    display:grid;
    gap:17px;
    margin-top:25px;
}
.support-amounts{
    display:grid;
    gap:8px;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.support-amount-button{
    background:#f8fafc;
    border:1px solid var(--support-line);
    border-radius:13px;
    color:var(--support-ink);
    cursor:pointer;
    font-size:.92rem;
    font-weight:950;
    min-height:52px;
}
.support-amount-button.active{
    background:#edf4ff;
    border-color:var(--support-blue);
    color:var(--support-blue-dark);
}
.support-field{
    display:grid;
    gap:7px;
}
.support-field>span{
    color:var(--support-ink);
    font-size:.72rem;
    font-weight:900;
}
.support-field>input,
.support-currency-input{
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:12px;
    min-height:48px;
}
.support-field>input{
    box-sizing:border-box;
    padding:11px 12px;
    width:100%;
}
.support-field small{
    color:var(--support-muted);
    font-size:.63rem;
}
.support-currency-input{
    align-items:center;
    display:grid;
    grid-template-columns:1fr auto;
    overflow:hidden;
}
.support-currency-input input{
    border:0;
    font:inherit;
    min-height:46px;
    outline:0;
    padding:0 12px;
}
.support-currency-input b{
    border-left:1px solid var(--support-line);
    padding:12px 14px;
}
.support-check{
    align-items:flex-start;
    display:flex;
    font-size:.7rem;
    gap:8px;
}
.support-selected{
    align-items:center;
    background:#f8fafc;
    border:1px solid var(--support-line);
    border-radius:14px;
    display:flex;
    justify-content:space-between;
    padding:14px;
}
.support-selected span{
    color:var(--support-muted);
    font-size:.7rem;
}
.support-selected strong{
    font-size:1.15rem;
}
.support-continue,
.support-pay{
    background:var(--support-blue);
    border:0;
    border-radius:12px;
    color:#fff;
    cursor:pointer;
    font-weight:950;
    min-height:50px;
    padding:12px 16px;
}
.support-continue:hover,
.support-pay:hover{
    background:var(--support-blue-dark);
}
.support-payment-panel{
    border-top:1px solid var(--support-line);
    display:grid;
    gap:15px;
    padding-top:18px;
}
.support-payment-panel[hidden]{
    display:none!important;
}
.support-error{
    color:#b42318;
    font-size:.68rem;
}
.support-blocked{
    background:#fff4ed;
    border:1px solid #ffb088;
    border-radius:15px;
    margin-top:20px;
    padding:15px;
}
.support-blocked strong{
    color:#b42318;
}
.support-blocked p{
    color:#7a271a;
    font-size:.72rem;
    margin:6px 0 0;
}
.support-explanation{
    display:grid;
    gap:0;
    overflow:hidden;
}
.support-explanation>article{
    align-items:flex-start;
    border-bottom:1px solid var(--support-line);
    display:grid;
    gap:13px;
    grid-template-columns:auto 1fr;
    padding:20px;
}
.support-explanation>article>span{
    align-items:center;
    background:#edf4ff;
    border-radius:11px;
    color:var(--support-blue-dark);
    display:flex;
    font-size:.65rem;
    font-weight:950;
    height:36px;
    justify-content:center;
    width:36px;
}
.support-explanation h3{
    font-size:.9rem;
    margin:0 0 5px;
}
.support-explanation p{
    color:var(--support-muted);
    font-size:.69rem;
    line-height:1.5;
    margin:0;
}
.support-transparency{
    background:#080b12;
    color:#fff;
    padding:22px;
}
.support-transparency strong{
    font-size:.82rem;
}
.support-transparency ul{
    color:rgba(255,255,255,.68);
    display:grid;
    font-size:.68rem;
    gap:7px;
    line-height:1.45;
    margin:12px 0 0;
    padding-left:18px;
}
.support-primary-link,
.support-secondary-link{
    align-items:center;
    border-radius:11px;
    display:inline-flex;
    font-size:.72rem;
    font-weight:950;
    justify-content:center;
    min-height:44px;
    padding:0 15px;
    text-decoration:none;
}
.support-primary-link{
    background:var(--support-blue);
    color:#fff;
}
.support-secondary-link{
    background:#f2f4f7;
    color:var(--support-ink);
}
.support-result-page,
.support-receipt-page{
    align-items:center;
    background:var(--support-soft);
    display:flex;
    justify-content:center;
    min-height:70vh;
    padding:30px 16px;
}
.support-result-card,
.support-receipt{
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:22px;
    box-shadow:0 18px 55px rgba(16,24,40,.08);
    max-width:700px;
    padding:clamp(25px,6vw,50px);
    width:100%;
}
.support-result-card{
    text-align:center;
}
.support-result-icon{
    align-items:center;
    background:#ecfdf3;
    border-radius:50%;
    color:#067647;
    display:flex;
    font-size:1.8rem;
    font-weight:950;
    height:68px;
    justify-content:center;
    margin:0 auto 18px;
    width:68px;
}
.support-result-card.pending .support-result-icon{
    background:#fff6ed;
    color:#c4320a;
}
.support-result-card h1{
    font-size:clamp(2rem,6vw,3.5rem);
    letter-spacing:-.06em;
    margin:0 0 10px;
}
.support-result-card p{
    color:var(--support-muted);
    line-height:1.6;
}
.support-result-reference{
    background:#f8fafc;
    border-radius:12px;
    font-family:monospace;
    font-size:.7rem;
    margin:18px 0;
    padding:12px;
}
.support-result-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    justify-content:center;
}
.support-receipt header{
    align-items:flex-start;
    border-bottom:1px solid var(--support-line);
    display:flex;
    justify-content:space-between;
    padding-bottom:20px;
}
.support-receipt header span{
    color:var(--support-blue-dark);
    font-size:.68rem;
    font-weight:950;
}
.support-receipt h1{
    margin:5px 0 0;
}
.support-receipt header button{
    background:#f2f4f7;
    border:0;
    border-radius:10px;
    cursor:pointer;
    padding:9px 11px;
}
.support-receipt dl{
    display:grid;
    gap:0;
    margin:22px 0;
}
.support-receipt dl>div{
    border-bottom:1px solid var(--support-line);
    display:grid;
    gap:12px;
    grid-template-columns:140px 1fr;
    padding:12px 0;
}
.support-receipt dt{
    color:var(--support-muted);
}
.support-receipt dd{
    font-weight:850;
    margin:0;
}
.support-receipt-note{
    color:var(--support-muted);
    font-size:.68rem;
    line-height:1.5;
}
.support-include{
    background:#080b12;
    color:#fff;
    margin:clamp(28px,6vw,64px) auto;
    max-width:1380px;
}
.support-include-inner{
    align-items:center;
    display:grid;
    gap:24px;
    grid-template-columns:auto minmax(0,1fr) auto;
    padding:clamp(24px,5vw,48px);
}
.support-include-visual{
    align-items:center;
    background:#155eef;
    border-radius:22px;
    display:flex;
    height:90px;
    justify-content:center;
    overflow:hidden;
    position:relative;
    width:90px;
}
.support-include-visual strong{
    font-size:1.6rem;
    z-index:2;
}
.support-include-orbit{
    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;
    height:62px;
    position:absolute;
    transform:rotate(35deg);
    width:26px;
}
.support-include-copy .support-kicker{
    color:#8eb2ff;
}
.support-include-copy h2{
    font-size:clamp(1.8rem,4vw,3.2rem);
    letter-spacing:-.055em;
    margin:6px 0 9px;
    max-width:820px;
}
.support-include-copy p{
    color:rgba(255,255,255,.66);
    line-height:1.55;
    margin:0;
    max-width:760px;
}
.support-include-actions{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:17px;
}
.support-include-actions>span{
    color:rgba(255,255,255,.52);
    font-size:.63rem;
}
.support-include-proof{
    border-left:1px solid rgba(255,255,255,.15);
    display:grid;
    padding-left:24px;
}
.support-include-proof strong{
    font-size:2.3rem;
}
.support-include-proof span{
    color:rgba(255,255,255,.6);
    font-size:.64rem;
}
@media(max-width:820px){
    .support-hero-grid,
    .support-layout{
        grid-template-columns:1fr;
    }
    .support-include-inner{
        grid-template-columns:auto 1fr;
    }
    .support-include-proof{
        border-left:0;
        border-top:1px solid rgba(255,255,255,.15);
        grid-column:1/-1;
        padding-left:0;
        padding-top:16px;
    }
}
@media(max-width:560px){
    .support-amounts{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .support-include{
        margin-left:14px;
        margin-right:14px;
    }
    .support-include-inner{
        grid-template-columns:1fr;
    }
    .support-include-visual{
        height:62px;
        width:62px;
    }
    .support-receipt dl>div{
        grid-template-columns:1fr;
        gap:4px;
    }
}
@media print{
    body>*:not(.site-main):not(main){
        display:none!important;
    }
    .support-receipt-page{
        background:#fff;
        padding:0;
    }
    .support-receipt{
        border:0;
        box-shadow:none;
    }
    .support-receipt header button{
        display:none;
    }
}

.support-page-redesigned{background:#f4f7fb}
.support-top-intro{padding:34px 0 0}
.support-top-card,.support-why-card,.support-donation-card,.support-recent-card{
    background:#fff;border:1px solid #dce5f0;border-radius:22px;
    box-shadow:0 12px 35px rgba(16,24,40,.05)
}
.support-top-card{padding:34px}
.support-top-card h1{font-size:clamp(2.4rem,6vw,4.8rem);letter-spacing:-.07em;margin:8px 0 12px}
.support-top-card p{color:#667085;line-height:1.65;max-width:820px}
.support-why-card{align-items:center;display:flex;gap:24px;justify-content:space-between;margin-top:16px;padding:24px}
.support-why-card h2{margin:0 0 7px}
.support-why-card p{color:#667085;line-height:1.55;margin:0;max-width:760px}
.support-why-actions{display:flex;flex:0 0 auto;gap:9px}
.support-donation-layout{display:grid;gap:22px;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)}
.support-donation-card,.support-recent-card{padding:28px}
.support-donation-card>h2,.support-recent-card>h2{font-size:1.4rem;margin:0 0 24px}
.support-amounts-four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:420px}
.support-field>input,.support-field textarea{
    background:#fff;border:1px solid #cfd9e7;border-radius:12px;
    box-sizing:border-box;font:inherit;padding:13px 14px;width:100%
}
.support-field textarea{min-height:92px;resize:vertical}
.support-public-check{align-items:flex-start;display:flex;font-size:.75rem;gap:9px}
.support-recent-list{background:#f8fafc;border:1px solid #dce5f0;border-radius:18px;padding:0 18px}
.support-recent-list article{border-bottom:1px solid #dce5f0;padding:18px 0}
.support-recent-list article:last-child{border-bottom:0}
.support-recent-head{align-items:center;display:flex;gap:15px;justify-content:space-between}
.support-recent-head strong{font-size:.9rem}
.support-recent-head b{color:#155eef;font-size:1.15rem}
.support-recent-list time{color:#667085;display:block;font-size:.68rem;margin-top:6px}
.support-recent-list p{color:#475467;font-size:.72rem;line-height:1.45;margin:10px 0 0}
.support-empty{color:#667085;padding:18px 0}
@media(max-width:820px){
    .support-donation-layout{grid-template-columns:1fr}
    .support-why-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
    .support-amounts-four{grid-template-columns:repeat(2,1fr)}
    .support-why-actions{display:grid;width:100%}
}

.support-partners{
    background:#fff;
    border-top:1px solid var(--support-line);
    overflow:hidden;
    padding:42px 0 48px;
}
.support-partners-head{
    margin-bottom:24px;
    text-align:center;
}
.support-partners-head h2{
    font-size:clamp(1.8rem,4vw,3rem);
    letter-spacing:-.055em;
    margin:6px 0 0;
}
.support-partners-marquee{
    overflow:hidden;
    position:relative;
    width:100%;
}
.support-partners-marquee::before,
.support-partners-marquee::after{
    bottom:0;
    content:"";
    pointer-events:none;
    position:absolute;
    top:0;
    width:90px;
    z-index:2;
}
.support-partners-marquee::before{
    background:linear-gradient(90deg,#fff,transparent);
    left:0;
}
.support-partners-marquee::after{
    background:linear-gradient(-90deg,#fff,transparent);
    right:0;
}
.support-partners-track{
    align-items:center;
    animation:supportPartnersScroll 30s linear infinite;
    display:flex;
    gap:26px;
    width:max-content;
}
.support-partner-logo{
    align-items:center;
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:16px;
    display:flex;
    flex:0 0 180px;
    height:96px;
    justify-content:center;
    padding:14px;
}
.support-partner-logo img{
    filter:grayscale(15%);
    max-height:68px;
    max-width:150px;
    object-fit:contain;
}
@keyframes supportPartnersScroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-50% - 13px))}
}
@media(prefers-reduced-motion:reduce){
    .support-partners-track{animation-duration:75s}
}
.support-more-page{
    background:#f4f7fb;
    padding:48px 0 70px;
}
.support-more-layout{
    align-items:start;
    display:grid;
    gap:20px;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
}
.support-more-main,
.support-more-side{
    background:#fff;
    border:1px solid var(--support-line);
    border-radius:22px;
    padding:clamp(24px,5vw,42px);
}
.support-more-main h1{
    font-size:clamp(2.2rem,5vw,4rem);
    letter-spacing:-.065em;
    margin:8px 0 22px;
}
.support-more-richtext{
    color:#475467;
    font-size:.86rem;
    line-height:1.8;
}
.support-more-side h2{
    font-size:1.25rem;
    margin:0 0 15px;
}
.support-more-side ul{
    color:#475467;
    display:grid;
    gap:10px;
    line-height:1.5;
    margin:0 0 22px;
    padding-left:20px;
}
@media(max-width:760px){
    .support-more-layout{grid-template-columns:1fr}
    .support-partner-logo{flex-basis:140px;height:80px}
    .support-partner-logo img{max-height:55px;max-width:115px}
}

.support-amount-help {
    margin: -0.35rem 0 0.25rem;
    color: #475467;
    font-size: 0.92rem;
    line-height: 1.55;
}

.support-amount-help a {
    color: #155eef;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.support-amount-help a:hover,
.support-amount-help a:focus-visible {
    color: #004eeb;
}
.support-receipt-brand{align-items:center;display:flex;gap:14px}.support-receipt-brand img{height:58px;object-fit:contain;width:53px}.support-receipt-legal{background:#f8fafc;border:1px solid var(--support-line);border-radius:14px;margin:24px 0;padding:16px 18px}.support-receipt-legal h2{font-size:.9rem;margin:0 0 8px}.support-receipt-legal p{color:var(--support-muted);font-size:.68rem;line-height:1.55;margin:0}.support-receipt-legal a{font-weight:750}@media print{.support-receipt .support-primary-link{display:none!important}.support-receipt-legal a{text-decoration:none;color:inherit}}
