/* ═════════ Guests-of-Honor floating stage (ported from the SBC /event page) ═════════ */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes gwind{0%{transform:translate3d(0,0,0) rotate(0)}25%{transform:translate3d(10px,-14px,0) rotate(6deg)}50%{transform:translate3d(-6px,-24px,0) rotate(-5deg)}75%{transform:translate3d(-14px,-8px,0) rotate(8deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@keyframes gdrift{0%,100%{transform:translate3d(0,0,0);opacity:.15}50%{transform:translate3d(8px,-22px,0);opacity:.7}}
@keyframes grise{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.85}85%{opacity:.6}100%{transform:translate3d(var(--dx,16px),-820px,0);opacity:0}}
@keyframes gpulse{0%,100%{opacity:.55}50%{opacity:1}}
.rank .R.guests{margin:96px 128px 112px 0;border:0;box-shadow:none;border-radius:0;overflow:visible;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.guests .wind{position:absolute;inset:-30px -20px;overflow:hidden;pointer-events:none;z-index:0}
.guests .wind i{position:absolute;bottom:-20px;border-radius:50%;background:#1e90ff;box-shadow:0 0 10px rgba(30,144,255,.55);animation:grise linear infinite}
.guests .eyebrow{position:relative;z-index:2;font-size:20px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#0b5fb8}
.guests .gtitle{position:relative;z-index:2;font-size:46px;font-weight:700;line-height:1.1;margin-top:10px;color:var(--ink)}
.guests .ghost{position:relative;z-index:2;font-size:17px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(11,95,184,.7);margin-top:12px}
.gstage{position:relative;z-index:2;width:640px;height:530px;margin-top:20px}
.gstage .gring{position:absolute;inset:5%;border-radius:50%;border:2px dashed rgba(30,144,255,.35);animation:spin 40s linear infinite;z-index:0}
.gstage .gglow{position:absolute;left:21%;top:21%;width:58%;height:58%;border-radius:50%;background:rgba(82,169,255,.28);filter:blur(34px);animation:gpulse 3.2s ease-in-out infinite;z-index:0}
.gstage .fl{position:absolute;z-index:0;animation:gwind 12s ease-in-out infinite}
.gstage .fl span{display:block;width:100%;height:100%;border:2px dashed rgba(30,144,255,.6);border-radius:50%}
.gstage .fl.d span{border-radius:3px;border-style:solid;transform:rotate(45deg)}
.gstage .pt{position:absolute;z-index:0;border-radius:50%;background:#52a9ff;animation:gdrift 7s ease-in-out infinite}
.gcard{position:absolute;overflow:hidden;border-radius:28px;border:2px solid rgba(255,255,255,.9);background:#fff;box-shadow:0 30px 60px -22px rgba(10,26,59,.55);animation:floaty 5.5s ease-in-out infinite}
.gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:opacity .55s var(--ease)}
.gcard .gname{position:absolute;left:0;right:0;bottom:0;padding:9px 14px;background:rgba(10,26,59,.74);color:#8fc8ff;font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(4px)}
.gcard .gname::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#52a9ff;margin-right:10px;vertical-align:1px}
.gcard .gtier{position:absolute;left:14px;top:14px;z-index:3;padding:7px 14px;border-radius:999px;background:rgba(10,26,59,.82);color:#e2c47a;font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.gcard.c0{left:50%;top:50%;width:320px;height:320px;margin:-160px 0 0 -160px;z-index:10}
.gcard.c1{left:0;top:0;width:210px;height:210px;z-index:20;animation-delay:.9s}
.gcard.c2{right:0;bottom:0;width:210px;height:210px;z-index:20;animation-delay:1.8s}
.gcap{position:relative;z-index:2;margin-top:22px;min-height:104px;transition:opacity .5s}
.gcap b{display:block;font-size:34px;font-weight:700;color:var(--ink)}
.gcap span{display:block;font-size:22px;line-height:1.35;color:var(--ink-2);margin-top:6px;max-width:640px}

.slide.light .rank .R.guests{box-shadow:none!important;border:0!important;background:none!important}
.gcard .gtier{left:auto!important;right:14px}

/* Rank pages: photos only — no guest text (user request) */
.rank .guests .eyebrow,.rank .guests .gtitle,.rank .guests .ghost,.rank .guests .gcap,.rank .guests .gcard .gtier,.rank .guests .gcard .gname{display:none!important}
.rank .guests .gcard img{object-position:50% 50%}
