/* Redone sponsor section ("Our partners. Your perks.") — ported from the seostdmc sponsor-wall.
   Scoped to sponsor-specific class names; .tier renamed .sptier to avoid the design-system clash.
   Shared classes (.wrap/.btn/.btn--accent/.dot/.serif/.eyebrow) use the homepage's own styles. */
:root{--gold:#e8b654;--line2:#333a6e;--mute2:#7e84a6}

.sponsors{padding:clamp(56px,8vw,96px) 0;background:var(--bg2)}
.sponsors__head{max-width:940px;margin:0 auto clamp(32px,4vw,48px);text-align:center}
.sponsors__head h2{font-family:var(--disp);font-weight:800;line-height:1.02;letter-spacing:-.015em;font-size:clamp(1.6rem,3.4vw,2.5rem);white-space:nowrap;margin:14px 0 0}
@media(max-width:600px){.sponsors__head h2{white-space:normal;font-size:clamp(1.5rem,6.5vw,2rem)}}
.sponsors__head .serif{margin-top:14px;font-size:clamp(1rem,1.7vw,1.18rem)}

.sptier{margin-bottom:18px}
.sptier__label{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.sptier__label b{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--mute)}
.sptier__label .bar{width:24px;height:2px;border-radius:2px;background:var(--cyan)}
.sptier__label .rule{flex:1;height:1px;background:var(--line)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

.card{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;
  background:linear-gradient(180deg,var(--c1),var(--c2));transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.card:hover,.card:focus-visible{transform:translateY(-3px);border-color:var(--line2);box-shadow:0 22px 46px -30px rgba(0,0,0,.75);outline:none}
.card:focus-visible{border-color:var(--cyan)}
.card .acc{position:absolute;top:0;left:0;right:0;height:3px;background:var(--ac);z-index:2}
.card .wm{position:absolute;right:-14px;top:50%;transform:translateY(-50%);z-index:0;font-family:var(--disp);font-weight:900;
  font-size:clamp(4rem,10vw,8rem);color:rgba(255,255,255,.035);line-height:.8;letter-spacing:-.04em;white-space:nowrap;pointer-events:none}
.plate{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:11px;box-shadow:0 10px 26px -14px rgba(0,0,0,.6)}
.plate img{display:block;object-fit:contain}
.chip{align-self:flex-start;font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;
  color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:4px 11px;border-radius:999px}
.chip--gold{background:rgba(232,182,84,.15);border-color:rgba(232,182,84,.5);color:var(--gold)}
.chip--cyan{background:rgba(41,171,226,.15);border-color:rgba(41,171,226,.5);color:var(--cyan-hi)}
.vp{font-family:var(--disp);font-weight:800;line-height:1.08;letter-spacing:-.01em;margin:0}
.ds{font-size:.9rem;color:rgba(255,255,255,.8);line-height:1.45;margin:0}
.off{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:#fff;margin:0;line-height:1.3;
  background:rgba(232,182,84,.1);border:1px solid rgba(232,182,84,.36);border-radius:999px;padding:7px 15px}
.off b{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.62rem;white-space:nowrap}
.go{font-family:var(--disp);font-weight:700;font-size:.72rem;letter-spacing:.02em;color:rgba(255,255,255,.62);display:inline-flex;align-items:center;gap:6px;transition:color .25s}
.card:hover .go,.card:focus-visible .go{color:#fff}
.go svg{width:12px;height:12px;transition:transform .25s var(--ease)}.card:hover .go svg{transform:translateX(3px)}

.hof{padding:clamp(24px,3vw,34px)}
.hof__top{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.3fr);gap:clamp(20px,3vw,34px);align-items:center;margin-bottom:20px;position:relative;z-index:1}
.hof .plate{padding:22px 36px;justify-self:start}.hof .plate img{max-height:78px;max-width:280px}
.hof__id{display:flex;flex-direction:column;gap:10px}
.hof__id .vp{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.hof__benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;position:relative;z-index:1}
.hof__benefits .b{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:8px}
.hof__benefits .b svg{width:20px;height:20px;stroke:var(--cyan-hi);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hof__benefits .b b{font-family:var(--disp);font-weight:700;font-size:.9rem}
.hof__benefits .b span{font-size:.78rem;color:rgba(255,255,255,.72);line-height:1.4}
.hof__bottom{display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative;z-index:1}
.offerbox{flex:1;min-width:260px;background:rgba(232,182,84,.08);border:1px solid rgba(232,182,84,.28);border-radius:11px;padding:13px 16px}
.offerbox .k{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.58rem;color:var(--gold)}
.offerbox p{margin:5px 0 0;font-weight:500;color:#fff;font-size:.92rem}
.hof__ctas{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.booth{font-family:var(--disp);font-weight:800;color:var(--gold);font-size:.8rem;letter-spacing:.04em}

.mvp{display:flex;align-items:center;justify-content:center;padding:clamp(24px,3vw,34px);min-height:320px}
.mvp__inner{display:flex;align-items:stretch;gap:clamp(26px,3.5vw,46px)}
.mvp .plate{align-self:stretch;padding:16px 26px;flex:none}
.mvp .plate img{max-height:100%;max-width:240px;height:auto}
.mvp__meta{display:flex;flex-direction:column;align-items:flex-start;gap:9px;max-width:540px}
.mvp__meta .vp{font-size:clamp(1.2rem,2vw,1.55rem)}
.feats{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px 22px}
.feats li{font-size:.86rem;color:rgba(255,255,255,.84);display:flex;align-items:center;gap:8px}
.feats .ck{color:var(--cyan-hi);font-weight:800}
.mvp__foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}

.allstar{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:30px 24px;min-height:320px}
.allstar .plate{padding:14px 26px}.allstar .plate img{max-height:66px;max-width:244px}
.allstar__meta{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
.allstar .ds{min-height:2.6em;display:flex;align-items:center;text-align:center}
.allstar .off{align-self:center;margin-top:2px}

.sponsors .cta{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(30px,4vw,48px);border-radius:16px;
  padding:clamp(32px,4vw,48px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;
  margin-bottom:clamp(40px,5vw,64px);background:linear-gradient(118deg,#12719f,#1a2f66 60%,#141a3a);border:1px solid rgba(41,171,226,.5)}
.sponsors .cta::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cyan);z-index:1}
.cta__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(640px 320px at 50% 135%,rgba(41,171,226,.5),transparent 60%)}
.cta__k{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--cyan-hi);margin:0}
.cta__text h3{font-family:var(--disp);font-weight:800;font-size:clamp(1.6rem,3.2vw,2.3rem);margin:9px 0 0;line-height:1.04}
.cta__sub{color:rgba(255,255,255,.86);margin:10px auto 0;max-width:46ch;font-size:.95rem}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

.btn--light{background:#fff;color:#07182b}.btn--light:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(0,0,0,.5)}
.btn--ghost{background:transparent;color:#fff;border:1px solid var(--line2)}.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan-hi)}
.btn--ghostlight{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.38)}.btn--ghostlight:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}

/* sponsor detail modal */
.m{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s}
.m.open{opacity:1;visibility:visible}
.m__bd{position:absolute;inset:0;background:rgba(4,6,16,.76)}
.m__card{position:relative;width:min(560px,100%);background:var(--panel);border:1px solid var(--line2);border-radius:16px;overflow:hidden;max-height:92vh;overflow-y:auto;transform:translateY(14px) scale(.98);transition:transform .32s var(--ease);box-shadow:0 40px 90px -36px rgba(0,0,0,.9)}
.m.open .m__card{transform:none}
.m__hero{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 24px 14px;background:linear-gradient(180deg,#1b2550,#141834)}
.m__plate{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:12px 24px}
.m__plate img{max-height:70px;max-width:230px;object-fit:contain;display:block}
.m__x{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.28);color:#fff;font-size:17px;cursor:pointer;z-index:2}
.m__body{padding:14px clamp(22px,4vw,34px) 28px}
.m__k{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;color:var(--cyan)}
.m__body h3{font-family:var(--disp);font-weight:800;font-size:1.4rem;margin:6px 0 12px}
.m__about{color:var(--mute);margin:0 0 18px;line-height:1.6}
.m__offer{background:rgba(232,182,84,.08);border:1px solid rgba(232,182,84,.28);border-radius:12px;padding:15px 17px;margin-bottom:22px}
.m__offer .k{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;color:var(--gold)}
.m__offer p{margin:6px 0 0;color:#fff;font-weight:500}
.m__cta{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:720px){
  .hof__top{grid-template-columns:1fr;text-align:center}
  .hof .plate{justify-self:center}.hof__id{align-items:center}.hof__id .chip{align-self:center}
  .hof__benefits{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.feats{justify-content:center}
  .mvp__inner{flex-direction:column;align-items:center;gap:18px}
  .mvp .plate{align-self:center}.mvp .plate img{max-height:96px;max-width:200px}
  .mvp__meta{align-items:center;text-align:center;max-width:none}.mvp__meta .chip{align-self:center}
  .mvp__foot{justify-content:center}
}
