:root{--give-primary:#0D0D0F;--give-secondary:#fff;--give-accent:#E11B22;--ink:#17181a;--muted:#69727d;--surface:#fff;--soft:#f4f6f8;--line:#e3e7eb;--radius:20px}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.give-global-nav,.school-give-nav{background:#0d0d0f;color:#fff}.give-global-inner,.school-give-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.give-k1,.school-give-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.give-k1>span{font-size:2rem;font-weight:900;font-style:italic;letter-spacing:-.08em}.give-k1>span strong{color:#e11b22}.give-k1 div,.school-give-brand div{display:flex;flex-direction:column}.give-k1 b{font-size:.85rem;font-style:italic}.give-k1 small,.school-give-brand small{font-size:.65rem;letter-spacing:.12em;opacity:.65}.school-give-brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.school-give-brand strong{max-width:520px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.give-secure{font-weight:700}.give-secure i{color:#e11b22;margin-right:6px}.directory-hero{padding:76px 20px 130px;background:linear-gradient(135deg,#0d0d0f,#22252a);color:#fff}.directory-hero h1{font-size:clamp(2.4rem,5vw,4.5rem);font-weight:850;letter-spacing:-.045em;max-width:900px;margin:12px auto}.directory-hero p{max-width:760px;margin:0 auto;color:#c8cdd3;font-size:1.16rem}.give-eyebrow{display:inline-block;color:#e11b22;font-size:.75rem;font-weight:900;font-style:italic;letter-spacing:.14em}.give-eyebrow.light{color:#fff}.directory-panel-wrap{margin-top:-82px;padding-bottom:70px}.directory-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.12);padding:32px;max-width:760px;margin:auto}.give-step{display:flex;align-items:center;gap:12px;margin-bottom:10px}.give-step>span,.give-step-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0d0d0f;color:#fff;font-weight:800}.give-step div,.give-step-title div{display:flex;flex-direction:column}.give-step small,.give-step-title p{color:var(--muted);margin:0}.give-primary-btn,.give-accent-btn{background:var(--give-accent)!important;border-color:var(--give-accent)!important;color:#fff!important;font-weight:800}.give-or{display:flex;align-items:center;gap:12px;color:#8a919a;margin:24px 0}.give-or:before,.give-or:after{content:"";height:1px;background:var(--line);flex:1}.school-search-results{display:grid;gap:8px;margin-top:10px;max-height:320px;overflow:auto}.school-search-result{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}.school-search-result:hover{border-color:#aab2bb;background:#fafbfc}.school-search-result span{display:block;color:var(--muted);font-size:.86rem}.school-give-nav{background:var(--give-primary)}.school-give-hero{background:linear-gradient(125deg,var(--give-primary),#121416);color:#fff;padding:76px 0;position:relative;overflow:hidden}.school-give-hero:after{content:"K1";position:absolute;right:2%;top:-28%;font-size:23rem;font-weight:900;font-style:italic;opacity:.05;line-height:1}.school-give-hero h1{font-size:clamp(2.5rem,5vw,4.7rem);font-weight:900;font-style:italic;letter-spacing:-.045em;position:relative;z-index:1}.school-give-hero p{font-size:1.17rem;color:rgba(255,255,255,.78);max-width:760px;position:relative;z-index:1}.hero-school-logo{max-width:220px;max-height:220px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.25));position:relative;z-index:1}.give-section{padding-top:68px;padding-bottom:68px}.give-soft{background:#eef1f4}.section-heading{margin-bottom:28px}.section-heading h2{font-weight:850;letter-spacing:-.03em;margin:.35rem 0}.section-heading p{color:var(--muted);max-width:760px;margin-bottom:0}.give-choice-card{height:100%;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.04);transition:.18s}.give-choice-card:hover{transform:translateY(-3px);border-color:#bac2ca;box-shadow:0 14px 34px rgba(0,0,0,.08)}.choice-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:color-mix(in srgb,var(--give-accent) 12%,white);color:var(--give-accent);font-size:1.15rem;margin-bottom:18px}.give-choice-card strong{font-size:1.13rem}.give-choice-card p{color:var(--muted);margin:.45rem 0 1.4rem}.choice-link{margin-top:auto;color:var(--give-accent);font-weight:800}.public-campaign-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.campaign-card-body{padding:24px;flex:1}.campaign-card-body small{color:var(--give-accent);font-weight:800;text-transform:uppercase}.campaign-card-body h3{font-weight:800;margin:.5rem 0}.campaign-card-body p{color:var(--muted)}.campaign-money{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.campaign-money span{color:var(--muted)}.public-campaign-card .progress{height:8px;margin-top:10px}.public-campaign-card .progress-bar{background:var(--give-accent)}.campaign-card-action{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--line);text-decoration:none;font-weight:800;color:var(--ink)}.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.program-pill,.team-support-card,.athlete-support-card{display:flex;align-items:center;gap:14px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--ink)}.program-pill:hover,.team-support-card:hover,.athlete-support-card:hover{border-color:#abb4bd;box-shadow:0 8px 20px rgba(0,0,0,.05)}.program-pill>span,.team-support-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef1f4}.program-pill div,.team-support-card div:nth-child(2),.athlete-support-card div:nth-child(2){display:flex;flex-direction:column}.program-pill small,.team-support-card small,.team-support-card span,.athlete-support-card small,.athlete-support-card span{color:var(--muted);font-size:.8rem}.team-support-card strong,.athlete-support-card strong{font-size:1.02rem}.athlete-search-wrap{position:relative;max-width:640px}.athlete-search-wrap i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#7f8790}.athlete-search-wrap input{padding-left:44px}.athlete-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e9edf1;font-weight:900;flex:0 0 auto}.athlete-avatar img{width:100%;height:100%;object-fit:cover}.sponsor-band{background:var(--give-primary);color:#fff;padding:54px 0}.sponsor-band>.container{display:flex;justify-content:space-between;align-items:center;gap:30px}.sponsor-band p{color:rgba(255,255,255,.72);margin:0;max-width:720px}.give-footer{background:#09090a;color:#fff;padding:28px 0}.give-footer-inner{display:flex;justify-content:space-between;gap:20px}.give-footer-inner>div{display:flex;align-items:center;gap:12px}.give-footer span,.give-footer a{color:#9ca3ab;text-decoration:none;font-size:.85rem}.not-found-card{max-width:600px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:50px}.give-icon-circle{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#e9edf1;font-size:1.5rem}.give-checkout-wrap{padding-top:48px;padding-bottom:70px}.give-checkout-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:28px}.checkout-main,.checkout-summary,.sponsor-form-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px}.checkout-summary{align-self:start;position:sticky;top:24px}.give-step-title{display:flex;gap:14px;align-items:flex-start}.give-step-title strong{font-size:1.2rem}.support-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px}.support-type{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 10px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:700}.support-type.active,.support-type:hover{border-color:var(--give-accent);background:color-mix(in srgb,var(--give-accent) 6%,white);color:var(--give-accent)}.designation-panel{display:none}.designation-panel.active{display:block}.checkout-divider{margin:30px 0;border-color:var(--line);opacity:1}.amount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.amount-grid button{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:800}.amount-grid button.active,.amount-grid button:hover{background:#0d0d0f;color:#fff;border-color:#0d0d0f}.checkout-not-ready{display:flex;gap:13px;padding:15px;border:1px solid #ffe18a;background:#fff8df;border-radius:12px;color:#634e00}.checkout-not-ready i{font-size:1.25rem}.checkout-not-ready p{color:#7c6511}.checkout-summary h2{font-weight:850;margin-top:.5rem}.checkout-summary>p{color:var(--muted)}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.summary-row strong{text-align:right}.summary-row.total{font-size:1.15rem}.checkout-summary small{display:block;color:var(--muted);margin-top:12px}.sponsor-page{padding-top:64px;padding-bottom:80px}.sponsor-page h1{font-weight:900;font-size:clamp(2.6rem,5vw,4rem);letter-spacing:-.04em}.sponsor-benefits{display:grid;gap:15px;margin-top:28px}.sponsor-benefits>div{display:flex;gap:10px}.sponsor-benefits i{color:var(--give-accent)}.sponsor-form-card h2{font-weight:850}.success-state{text-align:center;padding:30px 10px}.section-text-link{color:var(--give-accent);font-weight:800;text-decoration:none}@media(max-width:991px){.give-checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static;order:-1}.sponsor-band>.container{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.directory-panel{padding:22px}.school-give-inner{min-height:68px}.school-give-brand strong{max-width:180px}.school-give-hero{padding:52px 0}.hero-school-logo{max-width:130px}.give-section{padding-top:48px;padding-bottom:48px}.amount-grid{grid-template-columns:repeat(2,1fr)}.give-footer-inner{flex-direction:column}.sponsor-band{padding:42px 0}}

/* =========================================================
   K1 GIVING DIRECTORY
   Shared K1 public design system
   ========================================================= */

.k1-give-finder-card {
    padding: 2rem;

    border: 1px solid #e1e3e6;
    border-radius: 22px;

    background: #ffffff;

    box-shadow:
        0 20px 55px
        rgba(13, 13, 15, .10);
}


.k1-give-step {
    display: flex;

    align-items: center;

    gap: .9rem;

    margin-bottom: .8rem;
}


.k1-give-step > span {
    display: grid;

    width: 34px;
    height: 34px;

    flex: 0 0 auto;

    place-items: center;

    border-radius: 50%;

    background: var(--k1-black);

    color: #ffffff;

    font-size: .82rem;

    font-weight: 900;
}


.k1-give-step strong {
    display: block;

    font-size: .93rem;
}


.k1-give-step small {
    display: block;

    margin-top: 2px;

    color: var(--k1-muted);

    font-size: .78rem;
}


.k1-give-select {
    min-height: 54px;

    border-radius: 10px;
}


.k1-give-or {
    display: flex;

    align-items: center;

    gap: 1rem;

    margin: 1.5rem 0;

    color: #92969c;

    font-size: .8rem;

    text-transform: uppercase;
}


.k1-give-or::before,
.k1-give-or::after {
    content: "";

    height: 1px;

    flex: 1;

    background: #e1e3e6;
}


.school-search-results {
    margin-top: .75rem;
}


@media (max-width: 767.98px) {

    .k1-give-finder-card {
        padding: 1.35rem;
        border-radius: 18px;
    }

}

/* =========================================================
   GIVING FINDER ANCHOR
   ========================================================= */

#giveFinder {
    scroll-margin-top: 78px;
}

/* =========================================================
   SCHOOL SUPPORT / SPONSORSHIP DIRECTORY
   Add to the bottom of /assets/public/k1-giving.css
========================================================= */

.support-stat-card {
    height: 100%;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.support-stat-card strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
    font-weight: 900;
    color: var(--give-primary);
}

.support-stat-card span {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 700;
}

.support-directory-card {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.support-directory-school {
    border-left: 5px solid var(--give-accent);
}

.support-directory-icon,
.support-option-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--give-accent) 10%, white);
    color: var(--give-accent);
    font-size: 1.25rem;
}

.support-directory-copy {
    min-width: 0;
    flex: 1;
}

.support-directory-copy h3,
.support-option-card h3 {
    margin: 4px 0 6px;
    font-weight: 850;
    letter-spacing: -.02em;
}

.support-directory-copy p,
.support-option-card p {
    margin: 0;
    color: var(--muted);
}

.support-directory-type {
    display: block;
    color: var(--give-accent);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.support-directory-actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
}

.support-option-card {
    display: flex;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

.support-option-card .support-option-icon {
    margin-bottom: 18px;
}

.support-card-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line);
    margin-left: -24px;
    margin-right: -24px;
    margin-bottom: -24px;
    margin-top: 24px;
}

.support-card-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 15px 12px;
    color: var(--ink);
    text-decoration: none;
    font-weight: 800;
    transition: .15s ease;
}

.support-card-actions a + a {
    border-left: 1px solid var(--line);
}

.support-card-actions a:first-child:hover {
    background: var(--give-accent);
    color: #fff;
}

.support-card-actions a:last-child:hover {
    background: var(--give-primary);
    color: #fff;
}

.public-campaign-card .support-card-actions {
    margin: 0;
}

.public-campaign-card .support-card-actions a {
    padding: 16px 12px;
}

@media (max-width: 767px) {
    .support-directory-card {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .support-directory-actions {
        width: 100%;
    }

    .support-directory-actions .btn {
        flex: 1;
    }
}