:root{
  --bg:#090909;
  --bg-soft:#121212;
  --card:#171717;
  --card-2:#1d1d1d;
  --line:rgba(212,175,55,.42);
  --line-soft:rgba(212,175,55,.18);
  --gold:#d4af37;
  --gold-2:#f0cd55;
  --text:#f5f5f5;
  --muted:#b7b7b7;
  --shadow:0 10px 34px rgba(212,175,55,.10);
  --radius:22px;
  --max:1380px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html,body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;
  background:
    radial-gradient(circle at top, rgba(212,175,55,.10), transparent 28%),
    linear-gradient(180deg,#0b0b0b 0%, #080808 100%);
  color:var(--text);
  min-height:100vh;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  font:inherit;
}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(10,10,10,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.05);
}

.header-shell{
  width:min(var(--max), calc(100% - 32px));
  margin:0 auto;
  padding:18px 0 14px;
}

.header-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.site-logo{
  font-size:3rem;
  font-weight:900;
  letter-spacing:2px;
  color:var(--gold);
  line-height:1;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.is-hidden{
  display:none !important;
}

.btn{
  height:48px;
  min-height:48px;
  padding:0 18px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  border:1px solid transparent;
  cursor:pointer;
  transition:.2s ease;
  white-space:nowrap;
}

.btn-primary{
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#111;
  box-shadow:0 0 22px rgba(212,175,55,.22);
}

.btn-outline{
  background:transparent;
  color:var(--gold);
  border-color:var(--gold);
}

.btn:hover{
  transform:translateY(-1px);
}

.header-nav{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.nav-chip{
  height:42px;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,.02);
  color:var(--muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  cursor:pointer;
  transition:.2s ease;
}

.nav-chip.is-active,
.nav-chip:hover{
  color:#111;
  border-color:var(--gold);
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
}

.nav-link{
  cursor:pointer;
}

.page-main{
  width:min(var(--max), calc(100% - 32px));
  margin:0 auto;
}

.hero-strip{
  padding:18px 0 8px;
}

.hero-strip__viewport{
  overflow:hidden;
}

.hero-strip__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc(25% - 12px);
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:6px;
}

.hero-strip__track::-webkit-scrollbar{
  display:none;
}

.hero-card{
  min-height:108px;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  box-shadow:var(--shadow);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px 18px;
}

.hero-card__brand{
  font-size:1.5rem;
  font-weight:900;
  color:var(--gold);
  line-height:1.05;
}

.hero-card__sub{
  margin-top:8px;
  color:#d7d7d7;
  font-size:.98rem;
}

.intro-block{
  text-align:center;
  padding:10px 0 16px;
}

.intro-block h1{
  font-size:clamp(2rem, 4vw, 4rem);
  line-height:1.04;
  font-weight:900;
  color:var(--text);
}

.intro-block p{
  margin-top:12px;
  color:var(--muted);
  font-size:1.08rem;
}

.cards-section{
  padding:8px 0 24px;
}

.sponsors-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}

.sponsor-card{
  position:relative;
  background:linear-gradient(180deg,#1a1a1a 0%, #151515 100%);
  border:1px solid var(--line);
  border-radius:22px;
  padding:12px 12px 0;
  overflow:hidden;
  min-width:0;
  min-height:320px;
  display:flex;
  flex-direction:column;
  gap:10px;
  box-shadow:0 10px 26px rgba(212,175,55,.10);
}

.sponsor-logo-box{
  height:50%;
  min-height:122px;
  max-height:122px;
  border-radius:16px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(212,175,55,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}

.sponsor-logo{
  max-width:82%;
  max-height:60px;
  object-fit:contain;
  display:block;
}

.sponsor-logo-fallback{
  font-size:1.1rem;
  font-weight:900;
  color:var(--gold);
  text-align:center;
  line-height:1.1;
  padding:0 10px;
  letter-spacing:.3px;
}

.bonus-chip{
  min-height:15%;
  border-radius:14px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-weight:800;
  color:#f0cd55;
  background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(212,175,55,.08));
  border:1px solid rgba(212,175,55,.20);
  font-size:1rem;
  line-height:1.15;
}

.promo-box{
  min-height:15%;
  border-radius:16px;
  border:1px dashed rgba(212,175,55,.55);
  background:#0d0d0d;
  padding:10px 12px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "label copy"
    "value copy";
  gap:4px 10px;
  align-items:center;
}

.promo-box.no-copy{
  grid-template-columns:1fr;
  grid-template-areas:
    "label"
    "value";
  justify-items:center;
  text-align:center;
}

.promo-label{
  grid-area:label;
  font-size:.78rem;
  color:#9f9f9f;
  line-height:1;
}

.promo-value{
  grid-area:value;
  font-size:1rem;
  font-weight:900;
  color:#f0cd55;
  line-height:1.1;
  word-break:break-word;
}

.copy-btn{
  grid-area:copy;
  width:36px;
  height:36px;
  border:none;
  border-radius:12px;
  background:rgba(212,175,55,.10);
  color:#d4af37;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.card-bottom-btn{
  margin-top:auto;
  width:calc(100% + 24px);
  margin-left:-12px;
  margin-right:-12px;
  height:20%;
  min-height:52px;
  border-top:1px solid rgba(212,175,55,.25);
  background:linear-gradient(135deg,#f0cd55,#d4af37);
  color:#111;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-bottom-left-radius:22px;
  border-bottom-right-radius:22px;
}

.card-bottom-btn:hover{
  filter:brightness(1.03);
}

.site-footer{
  margin-top:10px;
  padding:24px 16px 34px;
  border-top:1px solid rgba(255,255,255,.05);
  text-align:center;
  color:#9a9a9a;
}

@media (max-width: 1180px){
  .hero-strip__track{
    grid-auto-columns:calc(33.333% - 11px);
  }

  .sponsors-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
}

@media (max-width: 768px){
  .header-shell,
  .page-main{
    width:min(var(--max), calc(100% - 24px));
  }

  .header-top{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "logo logo"
      "actions actions";
    gap:12px;
  }

  .site-logo{
    grid-area:logo;
    font-size:2.6rem;
    text-align:left;
  }

  .header-actions{
    grid-area:actions;
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .header-actions .btn{
    width:100%;
  }

  .header-nav{
    margin-top:14px;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:4px;
  }

  .header-nav::-webkit-scrollbar{
    display:none;
  }

  .nav-chip{
    flex:0 0 auto;
  }

  .hero-strip{
    padding:12px 0 4px;
  }

  .hero-strip__track{
    grid-auto-columns:calc(50% - 6px);
    gap:12px;
  }

  .hero-card{
    min-height:92px;
    border-radius:18px;
    padding:14px;
  }

  .hero-card__brand{
    font-size:1.2rem;
  }

  .hero-card__sub{
    font-size:.86rem;
    margin-top:6px;
  }

  .intro-block{
    padding:6px 0 12px;
  }

  .intro-block h1{
    font-size:3rem;
  }

  .intro-block p{
    font-size:1rem;
    margin-top:10px;
  }

  .cards-section{
    padding:6px 0 18px;
  }

  .sponsors-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
  }

  .sponsor-card{
    min-height:290px;
    padding:10px 10px 0;
    gap:8px;
    border-radius:20px;
  }

  .sponsor-logo-box{
    min-height:78px;
    max-height:78px;
    border-radius:14px;
  }

  .sponsor-logo{
    max-height:44px;
  }

  .sponsor-logo-fallback{
    font-size:.92rem;
  }

  .bonus-chip{
    min-height:42px;
    font-size:.84rem;
  }

  .promo-box{
    min-height:64px;
    padding:8px 10px;
    border-radius:14px;
  }

  .promo-label{
    font-size:.72rem;
  }

  .promo-value{
    font-size:.86rem;
  }

  .copy-btn{
    width:32px;
    height:32px;
    border-radius:10px;
  }

  .card-bottom-btn{
    min-height:46px;
    height:46px;
    font-size:.92rem;
  }
}

@media (max-width: 420px){
  .site-logo{
    font-size:2.35rem;
  }

  .header-actions .btn{
    height:46px;
    min-height:46px;
    font-size:.96rem;
  }

  .nav-chip{
    height:40px;
    min-height:40px;
    padding:0 15px;
    font-size:.95rem;
  }

  .intro-block h1{
    font-size:2.45rem;
  }

  .intro-block p{
    font-size:.95rem;
  }

  .sponsors-grid{
    gap:10px;
  }

  .sponsor-card{
    min-height:275px;
    padding:10px 10px 0;
    gap:8px;
  }

  .sponsor-logo-box{
    min-height:70px;
    max-height:70px;
  }

  .sponsor-logo{
    max-height:38px;
  }

  .sponsor-logo-fallback{
    font-size:.84rem;
  }

  .bonus-chip{
    min-height:40px;
    font-size:.78rem;
  }

  .promo-box{
    min-height:60px;
    padding:8px;
    gap:4px 8px;
  }

  .promo-label{
    font-size:.7rem;
  }

  .promo-value{
    font-size:.8rem;
  }

  .card-bottom-btn{
    min-height:44px;
    height:44px;
    font-size:.88rem;
  }
}


/* ===== BONUS CHIP REMOVED ===== */
.bonus-chip{
  display:none !important;
}

.sponsor-card{
  min-height: 270px !important;
  gap: 8px !important;
}

.sponsor-logo-box{
  min-height: 132px !important;
  max-height: 132px !important;
}

.promo-box{
  min-height: 72px !important;
}

@media (max-width: 768px){
  .sponsor-card{
    min-height: 246px !important;
    gap: 8px !important;
  }

  .sponsor-logo-box{
    min-height: 92px !important;
    max-height: 92px !important;
  }

  .promo-box{
    min-height: 64px !important;
  }
}

@media (max-width: 420px){
  .sponsor-card{
    min-height: 232px !important;
  }

  .sponsor-logo-box{
    min-height: 82px !important;
    max-height: 82px !important;
  }

  .promo-box{
    min-height: 58px !important;
  }
}
