*{box-sizing:border-box}
:root{
  --panel:rgba(24,18,28,.82);
  --panel-soft:rgba(30,22,36,.60);
  --line:rgba(255,220,128,.22);
  --line-strong:rgba(255,220,128,.42);
  --gold-2:#ffe9a8;
  --text:#fff7df;
  --muted:#dbc89c;
  --shadow:0 22px 65px rgba(0,0,0,.34), 0 0 30px rgba(255,220,128,.09);
  --shadow-hover:0 26px 80px rgba(0,0,0,.42), 0 0 34px rgba(255,220,128,.16);
}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:"Inter",system-ui,sans-serif;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,221,132,.13), transparent 24%),
    radial-gradient(circle at 85% 16%, rgba(255,221,132,.11), transparent 20%),
    radial-gradient(circle at 50% 110%, rgba(255,221,132,.08), transparent 26%),
    linear-gradient(180deg,#161117 0%, #100d13 42%, #0a090d 100%);
  overflow-x:hidden;
}
.bg{position:fixed;border-radius:50%;filter:blur(100px);opacity:.55;pointer-events:none;z-index:0}
.glow-1{width:260px;height:260px;left:-90px;top:20px;background:rgba(255,210,110,.11)}
.glow-2{width:220px;height:220px;right:-60px;top:180px;background:rgba(255,210,110,.08)}
.glow-3{width:260px;height:260px;left:35%;bottom:-100px;background:rgba(164,120,255,.08)}
.topbar,.page{position:relative;z-index:1}
.topbar{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:14px 0 6px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{position:relative;display:inline-grid;place-items:center;min-width:190px;min-height:48px;padding:0 12px;color:var(--gold-2);text-decoration:none;overflow:hidden}
.brand-text{position:relative;z-index:2;font-family:"Orbitron",sans-serif;font-weight:800;letter-spacing:.16em;font-size:18px;text-shadow:0 0 10px rgba(255,220,128,.28),0 0 22px rgba(255,220,128,.12);animation:brandGlow 2.2s ease-in-out infinite alternate}
.brand-orbit{position:absolute;inset:2px;border-radius:999px;border:1px solid transparent}
.orbit-1{border-top-color:rgba(255,223,136,.75);border-bottom-color:rgba(255,223,136,.15);animation:spin 7s linear infinite}
.orbit-2{inset:8px;border-right-color:rgba(255,223,136,.55);border-left-color:rgba(255,223,136,.12);animation:spin 5.5s linear reverse infinite}
@keyframes brandGlow{from{opacity:.82;transform:scale(1)}to{opacity:1;transform:scale(1.03)}}
@keyframes spin{to{transform:rotate(360deg)}}
.socials{display:flex;gap:12px;flex-wrap:wrap}
.socials a{text-decoration:none;color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:.28s ease;font-size:14px}
.socials a:hover,.card:hover,.ad-visual:hover,.ad-link:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-hover)}
.icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--gold-2);border:1px solid rgba(255,220,128,.18);background:radial-gradient(circle at 30% 30%, rgba(255,220,128,.18), rgba(255,220,128,.05))}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:6px 0 72px}
.hero{width:min(720px,100%);margin:0 auto;display:grid;gap:12px;justify-items:center}
.hero-logo{position:relative;width:220px;height:220px;display:grid;place-items:center}
.orbit{position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent}
.orbit-a{border-top-color:rgba(255,223,136,.85);border-bottom-color:rgba(255,223,136,.18);animation:spin 12s linear infinite}
.orbit-b{inset:10px;border-right-color:rgba(255,223,136,.55);border-left-color:rgba(255,223,136,.15);animation:spin 8s linear reverse infinite}
.orbit-c{inset:20px;border-top-color:rgba(255,223,136,.30);border-bottom-color:rgba(255,223,136,.60);animation:spin 16s linear infinite}
.logo-circle{position:relative;z-index:2;width:178px;height:178px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,223,136,.42);box-shadow:var(--shadow),0 0 30px rgba(255,220,128,.14)}
.logo-circle img{width:100%;height:100%;object-fit:cover;display:block}
.ad-card{width:100%;display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)), var(--panel);backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--gold-2);background:rgba(255,220,128,.06);font-size:11px;letter-spacing:.16em;margin-bottom:10px}
.ad-copy h2,.section-head h2{margin:0;font-family:"Cinzel",serif;color:var(--gold-2);letter-spacing:.05em}
.ad-copy h2{font-size:28px}
.ad-copy p,.section-head p,.card p{color:var(--muted);line-height:1.65}
.ad-copy p{margin:8px 0 0;max-width:390px;font-size:14px}
.ad-link{display:inline-flex;margin-top:14px;padding:10px 16px;border-radius:999px;color:var(--text);text-decoration:none;border:1px solid var(--line);background:linear-gradient(135deg, rgba(255,220,128,.12), rgba(255,220,128,.04));transition:.28s ease;box-shadow:var(--shadow)}
.ad-visual{position:relative;width:160px;height:160px;margin-left:auto;border-radius:50%;display:grid;place-items:center;text-decoration:none;transition:.28s ease}
.ad-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,223,136,.40);box-shadow:0 0 0 10px rgba(255,223,136,.03), 0 0 24px rgba(255,223,136,.10)}
.ad-visual img{position:relative;z-index:1;width:126px;height:126px;object-fit:cover;border-radius:50%;border:2px solid rgba(255,223,136,.28);box-shadow:0 12px 30px rgba(0,0,0,.32)}
.sponsors{padding-top:28px}
.section-head{max-width:760px;margin:0 auto 24px;text-align:center}
.section-head h2{font-size:clamp(28px,4.4vw,48px);margin-top:4px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{position:relative;overflow:hidden;min-height:250px;padding:16px 16px 18px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), var(--panel-soft);backdrop-filter:blur(12px);box-shadow:var(--shadow);text-decoration:none;color:var(--text);transition:.28s ease;display:flex;flex-direction:column}
.card::after{content:"";position:absolute;top:-24%;right:-20%;width:110px;height:170%;transform:rotate(24deg);background:linear-gradient(180deg, transparent, rgba(255,239,188,.08), transparent)}
.ribbon{position:absolute;top:16px;left:-34px;min-width:116px;padding:7px 12px;transform:rotate(-36deg);text-align:center;font-size:11px;font-weight:700;letter-spacing:.18em;color:#2a1d00;background:linear-gradient(135deg,#fff0b8,#d9a53f);box-shadow:0 0 18px rgba(255,220,128,.22);z-index:2}
.card.vip .ribbon{background:linear-gradient(135deg,#fff6cf,#c8891c)}
.img-wrap{height:122px;border-radius:18px;border:1px solid rgba(255,223,136,.18);background:linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.16)), rgba(7,7,9,.35);display:flex;align-items:center;justify-content:center;padding:10px;margin-bottom:18px;overflow:hidden}
.img-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;margin:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.card h3{margin:0;font-family:"Cinzel",serif;font-size:22px;color:var(--gold-2);letter-spacing:.04em}
.card p{margin:10px 0 0;font-size:14px}
@media (max-width:980px){.topbar{flex-direction:column}.ad-card{grid-template-columns:1fr;text-align:center}.ad-copy p{max-width:none}.ad-visual{margin:0 auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.topbar{width:min(100%,calc(100% - 20px));padding-top:12px}.page{width:min(100%,calc(100% - 20px));padding-bottom:48px}.hero{width:100%}.hero-logo{width:180px;height:180px}.logo-circle{width:146px;height:146px}.ad-card{grid-template-columns:1fr;text-align:center;padding:16px}.ad-copy p{max-width:none}.ad-visual{margin:0 auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{min-height:220px;padding:14px}.img-wrap{height:104px;margin-bottom:14px}.card h3{font-size:18px}}
@media (max-width:520px){.socials{justify-content:center}.brand-text{font-size:16px}.topbar{gap:12px}.socials a{font-size:13px;padding:9px 12px}.grid{grid-template-columns:1fr}.hero-logo{width:170px;height:170px}.logo-circle{width:136px;height:136px}}


/* final sponsor image fit refinements */
.ad-copy p,
.ad-link{
  display:none !important;
}

.grid{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.img-wrap{
  padding: 12px !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.10)),
    rgba(7,7,9,.24) !important;
}

.img-wrap img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: auto !important;
  display: block !important;
}

@media (max-width: 1180px){
  .grid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px){
  .grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px){
  .grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px){
  .grid{
    grid-template-columns: 1fr !important;
  }
}


/* v3 fixed sponsor layout */
.grid{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.img-wrap{
  padding: 12px !important;
  overflow: hidden !important;
}

.img-wrap img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  display: block !important;
}

@media (max-width: 1180px){
  .grid{ grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 980px){
  .grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 768px){
  .grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 520px){
  .grid{ grid-template-columns: 1fr !important; }
}


/* FINAL FIX - remove ugly black backgrounds in logos */
.img-wrap{
  background: transparent !important;
  border: 1px solid rgba(255,223,136,.12) !important;
}

.img-wrap img{
  background: transparent !important;
  mix-blend-mode: lighten;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

/* optional soft glow behind logos */
.img-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  background: radial-gradient(circle at center, rgba(255,220,128,.08), transparent 70%);
  z-index:0;
}
.img-wrap img{
  position:relative;
  z-index:1;
}


/* final sponsor image fit */
.img-wrap{
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.img-wrap img{
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
}
