/* 2026-10 fundraising visual upgrade: approved Carolina Cares + Poston Preserve campaign assets. */
.campaign-lockup{display:block;width:min(100%,760px);height:auto;margin:0 0 20px;object-fit:contain}
.campaign-lockup--compact{width:min(100%,560px)}
.campaign-figure{margin:0;border:1px solid var(--border);border-radius:8px;background:var(--paper);overflow:hidden}
.campaign-figure>a{display:block;color:inherit;text-decoration:none}
.campaign-figure img{display:block;width:100%;height:auto}
.campaign-figure figcaption{padding:11px 14px;border-top:1px solid var(--border);color:var(--muted);font-size:.78rem;line-height:1.5;background:rgba(255,255,255,.94)}
.campaign-figure--image-only figcaption{border-top:0}
.campaign-figure--shadow{box-shadow:0 20px 44px rgba(7,27,49,.11)}
.fri-product.fri-product--campaign{padding:0;overflow:hidden;background:#f5f1e8}
.fri-product.fri-product--campaign img{aspect-ratio:16/9;object-fit:cover}
.fri-hero .campaign-lockup{max-width:520px;margin-bottom:18px}
.fri-donor-emblem{display:block;width:108px;height:auto;margin:-4px auto 14px}
.fri-visual-callout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:center;margin:28px 0;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--cream)}
.fri-visual-callout .campaign-figure{background:#fff}
.fri-visual-callout h3{margin-top:0}.fri-visual-callout p:last-child{margin-bottom:0}
.sponsor-page .prestige-hero{padding-block:clamp(38px,5vw,66px)}
.sponsor-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,4vw,54px);align-items:center;width:100%;max-width:var(--max);margin-inline:auto}
.sponsor-hero-copy{min-width:0}.sponsor-hero-copy .campaign-lockup{max-width:520px;margin-bottom:18px}
.sponsor-hero-visual img{aspect-ratio:16/9;object-fit:cover}
.sponsor-brand-row{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--border);border-radius:8px;background:var(--paper);margin-top:28px}
.sponsor-brand-row img{width:86px;height:auto;flex:0 0 auto}.sponsor-brand-row p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}
.giving-card-image.giving-card-image--campaign{padding:0;background:#f5f1e8;position:relative}
.giving-card-image.giving-card-image--campaign img{object-fit:cover}
.giving-card-image.giving-card-image--campaign.giving-card-image--contain img{object-fit:contain;padding:10px}
.giving-card-visual-note{position:absolute;left:10px;bottom:10px;margin:0;padding:5px 8px;border-radius:4px;background:rgba(255,255,255,.92);color:#42515c;font-size:.68rem;line-height:1.35;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.pp-hero.pp-hero--campaign .pp-hero-art{background:#f7f2e9;border-color:#cfb983;border-radius:8px;overflow:hidden;box-shadow:0 22px 48px rgba(7,27,49,.10)}
.pp-hero.pp-hero--campaign .pp-hero-art img{aspect-ratio:2/1;object-fit:cover}
.pp-hero .pp-hero-lockup{max-width:500px;margin-bottom:18px}
.pp-phase-campaign{margin:30px 0 8px}.pp-phase-campaign img{aspect-ratio:16/9;object-fit:cover}
.pp-wordmark.pp-wordmark--new{padding:22px;background:#fff;border:1px solid var(--border);border-radius:8px}
.pp-wordmark.pp-wordmark--new img{width:100%;height:auto;object-fit:contain}
.pp-giving-visual{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start;margin:30px 0 34px}
.pp-giving-visual-copy{padding:22px 0}.pp-giving-visual-copy h3{font-size:1.65rem}.pp-giving-visual-copy p{color:var(--muted)}
.pp-donation-campaign-art{margin:0 0 22px}.pp-donation-campaign-art a{display:block}
.pp-donation-campaign-art img{width:100%;height:auto;max-height:560px;object-fit:contain;background:#f7f2e9}
.pp-stewardship-mark{display:flex;justify-content:center;align-items:center;padding:20px;margin-top:24px;border:1px solid var(--border);border-radius:8px;background:#fff}
.pp-stewardship-mark img{display:block;width:min(100%,300px);height:auto}.pp-support .campaign-figure figcaption{color:#42515c}
@media (max-width:900px){.sponsor-hero-grid,.fri-visual-callout,.pp-giving-visual{grid-template-columns:1fr}.sponsor-hero-copy .campaign-lockup,.fri-hero .campaign-lockup,.pp-hero .pp-hero-lockup{max-width:100%}.fri-visual-callout{padding:18px}}
@media (max-width:700px){.campaign-figure figcaption{font-size:.74rem;padding:9px 11px}.sponsor-page .prestige-hero{padding:24px var(--gutter)}.sponsor-hero-grid{gap:22px}.sponsor-brand-row{align-items:flex-start;padding:16px}.sponsor-brand-row img{width:70px}.pp-phase-campaign{margin-top:22px}.pp-donation-campaign-art img{max-height:none}}
