/* Next event card */
.nextup{background:var(--bg-head);color:var(--paper);border-radius:18px;margin-bottom:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.25rem,3.5vw,2rem);display:grid;gap:1.25rem 2rem;align-items:center;box-shadow:0 30px 60px -35px #12231999}
.nextup-date{background:var(--gold);color:var(--oak-deep);border-radius:12px;width:5.5rem;padding:.6rem 0 .7rem;text-align:center;display:grid;line-height:1}
.nextup-date .mo{font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.nextup-date .day{font-family:var(--font-display);font-weight:900;font-size:3rem;line-height:.9;margin-top:.2rem}
.nextup-date .dow{font-size:.75rem;font-weight:600;margin-top:.25rem}
.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:750;margin:0 0 .5rem}
.nextup h2{font-size:var(--step-2);line-height:1}
.nextup-copy p:last-child{color:#f8faf6c7;margin:.6rem 0 0;max-width:var(--measure)}
@media (width>=52rem){.nextup{grid-template-columns:auto 1fr auto}}

/* Impact stats + ranked cleanups */
.stats{list-style:none;margin:0 0 clamp(2.5rem,6vw,4rem);padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.stats li{border-top:1px solid #f8faf633;padding-top:1rem;display:grid;gap:.35rem}
.stat-num{font-family:var(--font-display);font-weight:900;font-size:var(--step-4);line-height:.85;color:var(--gold)}
.stat-num small{font-size:.4em;font-weight:800;margin-left:.15em}
.stat-label{color:#f8faf6c7;font-size:1rem}
@media (width>=40rem){.stats{grid-template-columns:repeat(3,1fr);gap:2rem}}
.ranked{margin:0;display:grid;gap:1.4rem}
.ranked-row{display:grid;gap:.5rem}
.ranked-meta{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.ranked-name{font-weight:650;font-size:1.05rem}
.ranked-note{color:#f8faf6a6;font-size:.9rem;font-weight:400;margin-left:.4rem}
.ranked-lbs{font-family:var(--font-display);font-weight:800;font-size:var(--step-1);font-variant-numeric:tabular-nums;white-space:nowrap}
.ranked-track{background:#f8faf61a;border-radius:var(--radius);height:1.1rem;overflow:hidden}
.ranked-bar{width:var(--w);height:100%;display:flex;transform-origin:0;border-radius:var(--radius);overflow:hidden}
.ranked-bar span{background:var(--sage);flex:1}
.ranked-bar span.couch{background:var(--gold);flex:0 0 var(--c)}
.armed .ranked-bar{transition:transform .9s cubic-bezier(.2,.7,.2,1) var(--d);transform:scaleX(0)}
.armed.filled .ranked-bar{transform:scaleX(1)}
.ranked-key{color:#f8faf6a6;font-size:.9rem;margin-top:.5rem;display:flex;align-items:center;gap:.5rem}
.ranked-key i{background:var(--gold);border-radius:3px;width:.9rem;height:.9rem;display:inline-block}

/* Partners */
.partners{margin-top:clamp(4rem,9vw,7rem)}
.partners-head{display:grid;gap:1rem;margin-bottom:clamp(1.75rem,4vw,2.5rem)}
.partners-head h2{max-width:16ch}
.partners-head p{color:var(--ink-soft);margin:0;max-width:var(--measure)}
.logo-grid{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.logo-grid li{background:#fff;border:1px solid var(--line);border-radius:14px;aspect-ratio:3/2;display:grid;place-items:center;grid-template:minmax(0,1fr)/minmax(0,1fr);padding:1rem;transition:transform .2s,box-shadow .2s}
.logo-grid li:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px #17221b66}
.logo-grid li{min-width:0;overflow:hidden}
.logo-grid img{width:100%;height:100%;min-height:0;object-fit:contain;display:block}
.logo-grid li.dark{background:#000;border-color:#000}

.wordmark{font-family:Georgia,"Times New Roman",serif;color:#13294b;text-align:center;line-height:1.1;font-size:clamp(1rem,2.2vw,1.35rem);letter-spacing:.04em}
.wordmark b{display:block;font-size:1.35em;letter-spacing:.06em}
@media (width>=40rem){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}
@media (width>=64rem){.partners-head{grid-template-columns:1fr 1fr;align-items:end;gap:3rem}.logo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.logo-grid li{aspect-ratio:1}}
.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.logo-grid img[src*=mammut]{transform:scale(1.35)}
.gsp-logo{display:block;width:clamp(13rem,32vw,20rem);height:auto;margin:0 auto clamp(1.5rem,4vw,2.5rem);mix-blend-mode:multiply}
