/*
|--------------------------------------------------------------------------
| SAN NICODEMO ABATE
|--------------------------------------------------------------------------
| PREMIUM SPONSORS & DONATIONS PAGE
|--------------------------------------------------------------------------
|
| Route: index.php?route=sponsors
| Scope: .sponsor-page only
|
|--------------------------------------------------------------------------
*/

.sponsor-page {
    --sp-navy: #0d263b;
    --sp-navy-deep: #081a2a;
    --sp-navy-soft: #17384f;
    --sp-gold: #b88917;
    --sp-gold-deep: #946a08;
    --sp-gold-light: #e5c66c;
    --sp-gold-pale: #f6e9ba;
    --sp-cream: #fffdf8;
    --sp-ivory: #f8f3e8;
    --sp-paper: #fffefb;
    --sp-ink: #15283c;
    --sp-muted: #5b6874;
    --sp-border: rgba(180, 137, 23, 0.22);
    --sp-shadow: 0 18px 45px rgba(13, 38, 59, 0.10);
    --sp-shadow-soft: 0 10px 28px rgba(13, 38, 59, 0.07);

    width: min(1180px, calc(100% - 34px));
    margin: 32px auto 70px;
    color: var(--sp-ink);
    font-family: inherit;
}

.sponsor-page *,
.sponsor-page *::before,
.sponsor-page *::after {
    box-sizing: border-box;
}

.sponsor-page h1,
.sponsor-page h2,
.sponsor-page h3,
.sponsor-page p {
    margin-top: 0;
}

.sponsor-page a {
    text-decoration: none;
}

/* --------------------------------------------------------------------------
   HERO
   -------------------------------------------------------------------------- */

.sponsor-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    min-height: 530px;
    overflow: hidden;
    border: 1px solid rgba(180, 137, 23, 0.22);
    border-radius: 30px;
    background:
        radial-gradient(circle at 84% 20%, rgba(232, 199, 105, 0.31), transparent 28%),
        linear-gradient(104deg, #fffefb 0%, #fffdf7 49%, #f3ead8 100%);
    box-shadow: var(--sp-shadow);
    isolation: isolate;
}

.sponsor-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 44%, rgba(255,255,255,.15) 77%, rgba(255,255,255,0) 100%),
        repeating-linear-gradient(135deg, rgba(180,137,23,.025) 0 1px, transparent 1px 12px);
}

.sponsor-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 68px 18px 62px 64px;
}

.sponsor-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    color: var(--sp-gold-deep);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.sponsor-kicker::after {
    content: "";
    width: 86px;
    height: 1px;
    background: linear-gradient(90deg, var(--sp-gold), transparent);
}

.sponsor-hero h1 {
    max-width: 690px;
    margin-bottom: 16px;
    color: var(--sp-navy-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 5.4vw, 5.5rem);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.045em;
}

.sponsor-hero-lead {
    max-width: 650px;
    margin-bottom: 27px;
    color: #566575;
    font-size: clamp(1rem, 1.5vw, 1.17rem);
    line-height: 1.68;
}

.sponsor-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.sponsor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 13px 25px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.sponsor-btn:hover,
.sponsor-btn:focus-visible {
    transform: translateY(-2px);
}

.sponsor-btn-gold {
    color: #fff;
    border-color: rgba(147, 105, 8, .55);
    background: linear-gradient(135deg, #b58612, #d2ab3e 56%, #a9780c);
    box-shadow: 0 12px 25px rgba(174, 126, 14, .22);
}

.sponsor-btn-gold:hover,
.sponsor-btn-gold:focus-visible {
    color: #fff;
    box-shadow: 0 15px 30px rgba(174, 126, 14, .30);
}

.sponsor-btn-light {
    color: #8c650d;
    border-color: rgba(175, 130, 23, .25);
    background: rgba(255,255,255,.83);
    box-shadow: 0 8px 22px rgba(13,38,59,.06);
}

.sponsor-btn-light:hover,
.sponsor-btn-light:focus-visible {
    color: #755205;
    background: #fff;
}

.sponsor-btn-outline {
    color: #8e650a;
    border-color: rgba(174, 126, 14, .55);
    background: transparent;
}

.sponsor-btn-outline:hover,
.sponsor-btn-outline:focus-visible {
    color: #fff;
    background: var(--sp-gold);
}

.sponsor-payment-note {
    max-width: 610px;
    margin: 18px 0 0;
    color: #78828b;
    font-size: .78rem;
    line-height: 1.5;
}

.sponsor-hero-art {
    position: relative;
    min-height: 530px;
    overflow: hidden;
}

.sponsor-hero-art::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, #fffdf7 0%, rgba(255,253,247,.60) 20%, rgba(255,253,247,0) 48%),
        linear-gradient(0deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 30%);
}

.sponsor-hero-art::after {
    content: "";
    position: absolute;
    inset: auto -40px 17px 6%;
    height: 180px;
    z-index: 1;
    filter: blur(20px);
    background: rgba(255,255,255,.65);
    border-radius: 50%;
}

.sponsor-hero-saint {
    position: absolute;
    right: -2%;
    bottom: -8%;
    z-index: 0;
    width: 92%;
    height: 112%;
    object-fit: cover;
    object-position: center 17%;
    filter: saturate(.88) contrast(.98) sepia(.05);
    mask-image: linear-gradient(to left, #000 76%, rgba(0,0,0,.82) 87%, transparent 100%);
}

.sponsor-hero-quote {
    position: absolute;
    top: 64px;
    left: 0;
    z-index: 4;
    width: 240px;
    color: #5f5d58;
    font-family: "Brush Script MT", "Segoe Script", cursive;
    font-size: 1.35rem;
    font-style: italic;
    line-height: 1.35;
    transform: rotate(-5deg);
    text-shadow: 0 1px 0 #fff;
}

.sponsor-olive {
    position: absolute;
    z-index: 4;
    color: rgba(83, 103, 55, .68);
    font-family: Georgia, serif;
    font-size: 5rem;
    line-height: 1;
}

.sponsor-olive-one {
    right: 18px;
    bottom: 30px;
    transform: rotate(-33deg);
}

.sponsor-olive-two {
    right: 88px;
    bottom: 3px;
    font-size: 3.2rem;
    opacity: .52;
    transform: rotate(12deg);
}

/* --------------------------------------------------------------------------
   SHARED SECTION HEADING
   -------------------------------------------------------------------------- */

.sponsor-section {
    margin-top: 28px;
}

.sponsor-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.sponsor-section-heading > div {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.sponsor-section-heading h2 {
    margin: 0;
    color: var(--sp-navy-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3.2vw, 2.55rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.sponsor-heading-line {
    display: block;
    flex: 0 0 78px;
    width: 78px;
    height: 1px;
    background: linear-gradient(90deg, var(--sp-gold), rgba(180,137,23,0));
}

/* --------------------------------------------------------------------------
   FUNDING CARD
   -------------------------------------------------------------------------- */

.sponsor-funding-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 18px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid var(--sp-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 0%, rgba(232,199,105,.13), transparent 28%),
        rgba(255,255,255,.94);
    box-shadow: var(--sp-shadow-soft);
}

.sponsor-project-thumb {
    display: none;
}

.sponsor-project-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% 14%;
}

.sponsor-funding-main {
    padding: 16px 18px 12px;
}

.sponsor-funding-heading {
    margin-bottom: 10px;
}

.sponsor-funding-heading h2 {
    font-size: clamp(1.7rem, 2.7vw, 2.3rem);
}

.sponsor-together {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #7d7163;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .98rem;
    font-style: italic;
}

.sponsor-together span {
    color: #7c875d;
    font-size: 1.8rem;
}

.sponsor-funding-stats {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin: 9px 0 12px;
}

.sponsor-funding-stats p {
    margin: 0;
}

.sponsor-funding-stats strong {
    color: #ae7810;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    letter-spacing: -.04em;
}

.sponsor-funding-stats p > span {
    margin-left: 5px;
    color: #627080;
    font-size: .98rem;
}

.sponsor-funding-stats .sponsor-target {
    display: flex;
    align-items: baseline;
    gap: 5px;
    color: #576779;
}

.sponsor-funding-stats .sponsor-target span {
    margin: 0;
}

.sponsor-funding-stats .sponsor-target strong {
    color: var(--sp-navy);
    font-family: inherit;
    font-size: 1.18rem;
    letter-spacing: 0;
}

.sponsor-target-pending strong {
    font-size: .95rem !important;
}

.sponsor-progress {
    position: relative;
    height: 16px;
    margin: 8px 48px 16px 0;
    overflow: visible;
    border-radius: 999px;
    background: #e9e9e6;
}

.sponsor-progress > span {
    display: block;
    height: 100%;
    min-width: 4px;
    border-radius: inherit;
    background: linear-gradient(90deg, #ac770d, #dfbd58);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

.sponsor-progress > b {
    position: absolute;
    top: 50%;
    right: -48px;
    color: #9c700b;
    font-size: .86rem;
    transform: translateY(-50%);
}

.sponsor-progress-pending > span {
    width: 18%;
    opacity: .35;
}

.sponsor-funding-copy {
    margin-bottom: 0;
    color: #66717e;
    font-size: .95rem;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   BENEFITS
   -------------------------------------------------------------------------- */

.sponsor-benefits {
    padding: 26px 24px 4px;
    border: 1px solid rgba(13,38,59,.06);
    border-radius: 22px;
    background: rgba(255,255,255,.58);
}

.sponsor-benefit-grid,
.sponsor-how-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sponsor-benefit-grid article,
.sponsor-how-grid article {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    gap: 15px;
    padding: 18px 24px 24px 0;
}

.sponsor-benefit-grid article + article,
.sponsor-how-grid article + article {
    padding-left: 24px;
    border-left: 1px solid rgba(13,38,59,.10);
}

.sponsor-round-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(180,137,23,.20);
    border-radius: 50%;
    color: #9a6f0b;
    background: linear-gradient(145deg, #fff8df, #f2db93);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    font-size: 1.45rem;
}

.sponsor-benefit-grid h3,
.sponsor-how-grid h3 {
    margin: 2px 0 7px;
    color: #183650;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.04rem;
}

.sponsor-benefit-grid p,
.sponsor-how-grid p {
    margin: 0;
    color: #65717d;
    font-size: .88rem;
    line-height: 1.55;
}

/* --------------------------------------------------------------------------
   BUSINESS SPONSORS
   -------------------------------------------------------------------------- */

.sponsor-businesses {
    padding: 12px 6px 4px;
}

.sponsor-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    color: #98700f;
    font-size: .9rem;
    font-weight: 700;
}

.sponsor-text-link:hover,
.sponsor-text-link:focus-visible {
    color: #6f4d05;
}

.sponsor-logo-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.sponsor-logo-card > a,
.sponsor-logo-card > div {
    display: flex;
    min-height: 185px;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 15px 14px;
    color: var(--sp-ink);
    border: 1px solid rgba(13,38,59,.08);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(13,38,59,.05);
}

.sponsor-logo-card > a:hover {
    border-color: rgba(180,137,23,.35);
    transform: translateY(-2px);
}

.sponsor-logo-mark {
    display: grid;
    place-items: center;
    flex: 1;
    width: 100%;
    min-height: 94px;
    color: var(--sp-navy);
    text-align: center;
}

.sponsor-logo-mark img {
    display: block;
    max-width: 175px;
    max-height: 92px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.sponsor-logo-mark strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.02rem;
}

.sponsor-logo-name {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: #5f6d78;
    font-size: .76rem;
    line-height: 1.35;
    text-align: center;
}

.sponsor-logo-name > strong {
    color: var(--sp-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .96rem;
    font-weight: 700;
}

.sponsor-logo-name small {
    margin-left: 4px;
    color: var(--sp-gold);
}

.sponsor-logo-location {
    color: #66727d;
    font-size: .72rem;
    font-weight: 700;
}

.sponsor-logo-type {
    color: #9a7210;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sponsor-empty-strip {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 22px 24px;
    border: 1px dashed rgba(180,137,23,.42);
    border-radius: 18px;
    background:
        linear-gradient(100deg, rgba(255,255,255,.94), rgba(249,241,219,.60));
}

.sponsor-empty-mark {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    color: #9d7110;
    background: #f8e9b5;
    font-size: 1.7rem;
}

.sponsor-empty-strip strong {
    display: block;
    margin-bottom: 4px;
    color: var(--sp-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
}

.sponsor-empty-strip p {
    margin: 0;
    color: #6d7780;
    font-size: .88rem;
    line-height: 1.5;
}

/* --------------------------------------------------------------------------
   SPONSORSHIP PLANS
   -------------------------------------------------------------------------- */

.sponsor-plans-section {
    scroll-margin-top: 110px;
}

.sponsor-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.sponsor-plan {
    position: relative;
    display: flex;
    min-height: 435px;
    flex-direction: column;
    align-items: center;
    padding: 28px 24px 22px;
    border: 1px solid rgba(13,38,59,.08);
    border-radius: 20px;
    background: rgba(255,255,255,.93);
    box-shadow: var(--sp-shadow-soft);
}

.sponsor-plan-featured {
    border-color: rgba(180,137,23,.70);
    box-shadow: 0 20px 42px rgba(156,112,11,.18);
    transform: translateY(-5px);
}

.sponsor-plan-ribbon {
    position: absolute;
    top: -1px;
    left: 50%;
    width: calc(100% + 2px);
    padding: 9px 12px;
    border-radius: 20px 20px 0 0;
    color: #fff;
    background: linear-gradient(90deg, #a87709, #c69a28, #a87709);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .18em;
    text-align: center;
    text-transform: uppercase;
    transform: translateX(-50%);
}

.sponsor-plan-featured {
    padding-top: 53px;
}

.sponsor-plan-icon {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    margin-bottom: 12px;
    border: 1px solid rgba(180,137,23,.18);
    border-radius: 50%;
    color: #9b6d08;
    background: #f7e8b6;
    font-size: 1.65rem;
}

.sponsor-plan h3 {
    margin-bottom: 4px;
    color: var(--sp-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    text-align: center;
}

.sponsor-plan-price {
    margin-bottom: 20px;
    color: #9a6f0b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    font-weight: 700;
}

.sponsor-plan-price span {
    margin-right: 4px;
    font-size: .9rem;
    font-weight: 500;
}

.sponsor-plan ul {
    width: 100%;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.sponsor-plan li {
    display: grid;
    grid-template-columns: 20px minmax(0,1fr);
    gap: 8px;
    margin: 0 0 10px;
    color: #53616d;
    font-size: .87rem;
    line-height: 1.45;
}

.sponsor-plan li span {
    color: #a57508;
    font-weight: 900;
}

.sponsor-plan .sponsor-btn {
    width: 100%;
    margin-top: auto;
    border-radius: 10px;
    font-size: .94rem;
}

.sponsor-plan-note {
    max-width: 820px;
    margin: 14px auto 0;
    color: #7b838b;
    font-size: .78rem;
    line-height: 1.55;
    text-align: center;
}

/* --------------------------------------------------------------------------
   HOW TO CONTRIBUTE
   -------------------------------------------------------------------------- */

.sponsor-how {
    padding: 4px 6px 0;
}

.sponsor-how-grid article {
    padding-top: 6px;
}

.sponsor-mini-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 37px;
    margin-top: 14px;
    padding: 8px 15px;
    color: #93690b;
    border: 1px solid rgba(180,137,23,.45);
    border-radius: 9px;
    background: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .84rem;
    font-weight: 700;
}

.sponsor-mini-btn:hover,
.sponsor-mini-btn:focus-visible {
    color: #fff;
    background: var(--sp-gold);
}

/* --------------------------------------------------------------------------
   GRATITUDE CTA
   -------------------------------------------------------------------------- */

.sponsor-gratitude {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    gap: 20px;
    margin-top: 28px;
    padding: 18px 22px;
    overflow: hidden;
    border: 1px solid rgba(180,137,23,.24);
    border-radius: 18px;
    background:
        linear-gradient(100deg, rgba(255,255,255,.96), rgba(249,240,214,.70));
    box-shadow: var(--sp-shadow-soft);
}

.sponsor-gratitude-branch {
    display: block;
    width: 82px;
    color: #70805b;
    font-family: Georgia, serif;
    font-size: 5rem;
    line-height: .8;
    transform: rotate(-22deg);
}

.sponsor-gratitude h2 {
    margin-bottom: 3px;
    color: var(--sp-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
}

.sponsor-gratitude p {
    margin: 0;
    color: #65717c;
    font-size: .83rem;
    line-height: 1.55;
}

.sponsor-gratitude .sponsor-btn {
    white-space: nowrap;
    font-size: .88rem;
}

.sponsor-signoff {
    margin: 22px 0 0;
    color: #ad831e;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .28em;
    text-align: center;
    text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   FOCUS
   -------------------------------------------------------------------------- */

.sponsor-page a:focus-visible,
.sponsor-page button:focus-visible {
    outline: 3px solid rgba(202, 161, 55, .34);
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   TABLET
   -------------------------------------------------------------------------- */

@media (max-width: 1050px) {
    .sponsor-hero {
        grid-template-columns: minmax(0, 1.05fr) minmax(310px, .95fr);
    }

    .sponsor-hero-copy {
        padding-left: 44px;
    }

    .sponsor-logo-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .sponsor-page {
        width: min(100% - 24px, 1180px);
        margin-top: 22px;
    }

    .sponsor-hero {
        grid-template-columns: 1fr;
    }

    .sponsor-hero-copy {
        padding: 48px 36px 36px;
    }

    .sponsor-hero-art {
        min-height: 420px;
    }

    .sponsor-hero-art::before {
        background:
            linear-gradient(180deg, #fffdf7 0%, rgba(255,253,247,.10) 30%, rgba(255,253,247,0) 60%),
            linear-gradient(0deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,0) 30%);
    }

    .sponsor-hero-saint {
        right: 5%;
        width: 72%;
        height: 112%;
        mask-image: linear-gradient(to top, #000 72%, rgba(0,0,0,.9) 92%, transparent 100%);
    }

    .sponsor-hero-quote {
        top: 55px;
        left: 10%;
    }

    .sponsor-funding-card {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .sponsor-benefit-grid,
    .sponsor-how-grid,
    .sponsor-plan-grid {
        grid-template-columns: 1fr;
    }

    .sponsor-benefit-grid article,
    .sponsor-how-grid article {
        padding: 18px 0;
    }

    .sponsor-benefit-grid article + article,
    .sponsor-how-grid article + article {
        padding-left: 0;
        border-top: 1px solid rgba(13,38,59,.10);
        border-left: 0;
    }

    .sponsor-plan {
        min-height: auto;
    }

    .sponsor-plan-featured {
        transform: none;
    }
}

/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

@media (max-width: 660px) {
    .sponsor-page {
        width: min(100% - 16px, 1180px);
        margin-bottom: 48px;
    }

    .sponsor-hero {
        border-radius: 22px;
    }

    .sponsor-hero-copy {
        padding: 38px 22px 30px;
    }

    .sponsor-kicker {
        font-size: .69rem;
        letter-spacing: .14em;
    }

    .sponsor-kicker::after {
        width: 52px;
    }

    .sponsor-hero h1 {
        font-size: clamp(2.55rem, 13vw, 4rem);
    }

    .sponsor-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sponsor-btn {
        width: 100%;
    }

    .sponsor-hero-art {
        min-height: 360px;
    }

    .sponsor-hero-saint {
        right: -8%;
        width: 96%;
    }

    .sponsor-hero-quote {
        top: 34px;
        left: 24px;
        width: 190px;
        font-size: 1.05rem;
    }

    .sponsor-funding-card {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 13px;
        border-radius: 20px;
    }

    .sponsor-project-thumb {
        min-height: 220px;
        max-height: 280px;
    }

    .sponsor-funding-main {
        padding: 4px 7px 8px;
    }

    .sponsor-funding-heading,
    .sponsor-business-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .sponsor-funding-stats {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .sponsor-funding-stats .sponsor-target {
        width: 100%;
        justify-content: space-between;
    }

    .sponsor-together {
        display: none;
    }

    .sponsor-section-heading > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .sponsor-heading-line {
        width: 64px;
        flex-basis: 64px;
    }

    .sponsor-benefits {
        padding: 22px 18px 3px;
    }

    .sponsor-benefit-grid article,
    .sponsor-how-grid article {
        grid-template-columns: 48px minmax(0,1fr);
        gap: 12px;
    }

    .sponsor-round-icon {
        width: 44px;
        height: 44px;
        font-size: 1.2rem;
    }

    .sponsor-logo-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sponsor-empty-strip,
    .sponsor-gratitude {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .sponsor-empty-strip .sponsor-btn,
    .sponsor-gratitude .sponsor-btn {
        width: 100%;
    }

    .sponsor-gratitude-branch {
        display: none;
    }

    .sponsor-signoff {
        letter-spacing: .15em;
        line-height: 1.7;
    }
}

@media (max-width: 420px) {
    .sponsor-logo-strip {
        grid-template-columns: 1fr;
    }

    .sponsor-plan {
        padding-left: 18px;
        padding-right: 18px;
    }
}

/* --------------------------------------------------------------------------
   REDUCED MOTION
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .sponsor-page *,
    .sponsor-page *::before,
    .sponsor-page *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}


/* --------------------------------------------------------------------------
   STATUE FUNDING MILESTONES
   -------------------------------------------------------------------------- */

.sponsor-progress-wrap {
    margin-top: 8px;
}

.sponsor-progress-wrap .sponsor-progress {
    margin-right: 0;
    margin-bottom: 0;
}

.sponsor-progress-marker {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 18px;
    height: 18px;
    border: 3px solid #fff8e8;
    border-radius: 50%;
    background: #d7bc73;
    box-shadow:
        0 0 0 1px rgba(164, 116, 10, .52),
        0 3px 10px rgba(13, 38, 59, .12);
    transform: translate(-50%, -50%);
}

.sponsor-progress-marker-current {
    background: #b77d08;
}

.sponsor-progress-marker-resin {
    background: #d8bd75;
}

.sponsor-progress-marker-final {
    right: 0;
    left: auto;
    transform: translate(50%, -50%);
    background: #f4ead0;
}

.sponsor-progress-points {
    position: relative;
    min-height: 82px;
    margin-top: 12px;
}

.sponsor-progress-point {
    position: absolute;
    top: 0;
    display: flex;
    width: 190px;
    flex-direction: column;
    gap: 2px;
    color: #5f6f7d;
    font-size: .75rem;
    line-height: 1.25;
}

.sponsor-progress-point strong {
    color: #b37a08;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.sponsor-progress-point span {
    color: #183650;
    font-weight: 800;
}

.sponsor-progress-point small {
    color: #66717e;
    font-size: .69rem;
}

.sponsor-progress-point-current {
    left: 0;
    text-align: left;
}

.sponsor-progress-point-resin {
    left: 40%;
    align-items: center;
    text-align: center;
    transform: translateX(-50%);
}

.sponsor-progress-point-final {
    right: 0;
    align-items: flex-end;
    text-align: right;
}

@media (max-width: 760px) {
    .sponsor-progress-points {
        display: grid;
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-top: 18px;
    }

    .sponsor-progress-point,
    .sponsor-progress-point-current,
    .sponsor-progress-point-resin,
    .sponsor-progress-point-final {
        position: static;
        width: auto;
        align-items: flex-start;
        padding: 9px 12px;
        border: 1px solid rgba(13, 38, 59, .08);
        border-radius: 12px;
        background: rgba(255, 255, 255, .68);
        text-align: left;
        transform: none;
    }
}
