.sponsors-page{max-width:1040px}
.sp-hero{text-align:center;margin:18px auto 26px;max-width:680px}
.sp-hero h1{font-size:clamp(1.5rem,3.4vw,2.2rem);margin:10px 0 12px;line-height:1.2}
.sp-hero p{color:var(--text-secondary);line-height:1.7;margin:0 0 18px;font-size:.98rem}
.sp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.sp-card{position:relative;display:flex;flex-direction:column;padding:22px 20px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px}
.sp-card.is-featured{border-color:var(--gold);box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.sp-ribbon{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--gold);color:#07293f;font-size:.7rem;font-weight:800;letter-spacing:.04em;padding:4px 12px;border-radius:999px;white-space:nowrap}
[data-theme="light"] .sp-ribbon{color:#fff}
.sp-card h2{font-size:1.1rem;margin:0 0 8px;color:var(--gold)}
.sp-price{font-size:1.7rem;font-weight:800;color:var(--text-primary);margin-bottom:14px}
.sp-price .sp-cur{font-size:.8rem;font-weight:700;color:var(--text-muted)}
.sp-price small{font-size:.78rem;font-weight:600;color:var(--text-muted)}
.sp-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;flex:1;align-content:start}
.sp-list li{position:relative;padding-left:22px;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}
.sp-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:800}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;font-weight:700;font-size:.9rem;text-decoration:none;border:1.5px solid var(--gold);cursor:pointer}
.sp-btn-primary{background:var(--gold);color:#07293f}
[data-theme="light"] .sp-btn-primary{color:#fff}
.sp-btn-ghost{background:transparent;color:var(--gold)}
.sp-note{margin:22px 0 8px;padding:18px 20px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;text-align:center}
.sp-note h3{margin:0 0 6px;font-size:1.02rem;color:var(--gold)}
.sp-note p{margin:0 0 12px;color:var(--text-secondary);font-size:.92rem;line-height:1.65}
.sp-contact{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;font-size:.92rem}
.sp-contact a{color:var(--text-primary);text-decoration:none}
.sp-contact b{color:var(--gold)}
@media (max-width:860px){.sp-grid{grid-template-columns:1fr;max-width:460px;margin:0 auto}.sp-card.is-featured{order:-1}}
