/* ===================================================
   GOGO REJEKI · Casino Landing Stylesheet
   Palette derived from the GOGO REJEKI logo:
   - Deep midnight indigo / navy violet base
   - Polished gold (text)
   - Magenta neon (REJEKI)
   - Cool platinum/silver (frame)
   =================================================== */
:root{
  /* core palette */
  --bg-0:#05031a;
  --bg-1:#0a0628;
  --bg-2:#13093d;
  --bg-3:#1c0e54;
  --indigo:#2a1170;
  --violet:#4b1f9c;
  --magenta:#e221c2;
  --magenta-glow:#ff44dd;
  --pink:#ff6ad5;

  --gold-1:#fff5b8;
  --gold-2:#ffd766;
  --gold-3:#e0a13e;
  --gold-4:#8b5a18;

  --silver-1:#f0f4ff;
  --silver-2:#a9b3d6;
  --silver-3:#5a6391;

  --ink:#f4f0ff;
  --ink-dim:#bfb6e0;
  --ink-mute:#7c75a8;

  /* shadows */
  --neon-magenta: 0 0 12px rgba(255,68,221,.55), 0 0 30px rgba(255,68,221,.35), 0 0 60px rgba(255,68,221,.18);
  --neon-gold: 0 0 14px rgba(255,215,102,.6), 0 0 36px rgba(255,180,60,.35);
  --shadow-card: 0 20px 60px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(255,255,255,.05);
  --shadow-deep: 0 30px 80px -30px rgba(0,0,0,.85);

  /* type */
  --font-display:"Cinzel", Georgia, serif;
  --font-arcade:"Bungee", system-ui, sans-serif;
  --font-body:"Rajdhani", system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }
html{ overflow-x: clip; }
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(226,33,194,.18), transparent 60%),
    radial-gradient(1000px 800px at 0% 100%, rgba(75,31,156,.35), transparent 55%),
    radial-gradient(800px 600px at 50% 50%, rgba(28,14,84,.55), transparent 70%),
    linear-gradient(180deg, var(--bg-0) 0%, var(--bg-1) 40%, var(--bg-0) 100%);
  background-attachment: fixed;
  min-height:100vh;
  overflow-x:hidden;
  letter-spacing:.01em;
  font-size:16px;
  line-height:1.55;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

/* ============ background ornaments ============ */
.bg-orb{
  position:fixed; pointer-events:none; z-index:0;
  width:600px; height:600px; border-radius:50%;
  filter: blur(120px); opacity:.55;
  animation: orb-float 18s ease-in-out infinite;
}
.bg-orb--a{
  top:-200px; left:-150px;
  background: radial-gradient(circle, var(--violet), transparent 65%);
}
.bg-orb--b{
  bottom:-200px; right:-200px;
  background: radial-gradient(circle, var(--magenta), transparent 65%);
  animation-delay:-9s;
}
@keyframes orb-float{
  0%,100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(40px,-30px) scale(1.08); }
}

.bg-grid{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(168,144,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,144,255,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at 50% 30%, #000 30%, transparent 80%);
}

.bg-circuit{
  position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.18;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23a890ff' stroke-width='.8'%3E%3Cpath d='M10 30h60v40h50v60h70'/%3E%3Cpath d='M30 200v-40h70v-30h60v-50h50'/%3E%3Ccircle cx='10' cy='30' r='3' fill='%23ff6ad5' stroke='none'/%3E%3Ccircle cx='210' cy='130' r='3' fill='%23ffd766' stroke='none'/%3E%3Ccircle cx='30' cy='200' r='3' fill='%23ff6ad5' stroke='none'/%3E%3Ccircle cx='210' cy='80' r='3' fill='%23ffd766' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

/* ============ ticker ============ */
.ticker{
  position:relative; z-index:5;
  background: linear-gradient(90deg, rgba(226,33,194,.18), rgba(75,31,156,.18), rgba(226,33,194,.18));
  border-bottom:1px solid rgba(255,107,213,.25);
  border-top:1px solid rgba(255,107,213,.25);
  overflow:hidden;
  padding:10px 0;
  font-family:var(--font-arcade);
  font-size:13px;
  letter-spacing:.08em;
  width:100%;
  max-width:100vw;
}
.ticker__track{
  display:flex; gap:60px;
  white-space:nowrap;
  animation: marquee 40s linear infinite;
  padding-left:60px;
}
.ticker__track span{ color:var(--ink-dim); }
.ticker__track b{
  color:var(--gold-2);
  text-shadow: 0 0 12px rgba(255,215,102,.4);
}
@keyframes marquee{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* ============ navigation ============ */
.nav{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center;
  padding:14px 40px;
  background: linear-gradient(180deg, rgba(10,6,40,.92), rgba(10,6,40,.7) 75%, rgba(10,6,40,0));
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom:1px solid rgba(168,144,255,.12);
}
.nav__brand{
  display:flex; align-items:center; gap:14px;
  margin-right:auto;
}
.nav__brand img{
  width:54px; height:54px;
  filter: drop-shadow(0 4px 14px rgba(255,68,221,.45));
}
.nav__brand-text{ display:flex; flex-direction:column; line-height:1; }
.nav__brand-title{
  font-family:var(--font-arcade);
  font-size:18px;
  background: linear-gradient(180deg, var(--gold-1), var(--gold-3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:.04em;
}
.nav__brand-sub{
  font-size:10px; letter-spacing:.4em;
  color:var(--magenta-glow);
  margin-top:4px;
  text-shadow: 0 0 8px rgba(255,68,221,.7);
}
.nav__links{ display:flex; gap:6px; }
.nav__link{
  position:relative;
  padding:10px 18px;
  font-weight:600; font-size:14px;
  letter-spacing:.05em; text-transform:uppercase;
  color:var(--ink-dim);
  transition: color .25s;
}
.nav__link:hover{ color:var(--gold-2); }
.nav__link--active{ color:var(--gold-2); }
.nav__link--active::after{
  content:''; position:absolute; left:18px; right:18px; bottom:4px; height:2px;
  background: linear-gradient(90deg, transparent, var(--gold-2), transparent);
  box-shadow: var(--neon-gold);
}
.nav__cta{
  margin-left:24px;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 20px; border-radius:999px;
  background: linear-gradient(135deg, var(--magenta), var(--violet));
  color:#fff; font-weight:700; font-size:13px;
  letter-spacing:.1em; text-transform:uppercase;
  box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset, 0 8px 24px -6px rgba(226,33,194,.6);
  transition: transform .2s, box-shadow .25s;
}
.nav__cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 14px 32px -6px rgba(226,33,194,.85);
}
.nav__cta-dot{
  width:8px; height:8px; border-radius:50%;
  background:#67ff8d;
  box-shadow:0 0 10px #67ff8d;
  animation: blink 1.4s ease-in-out infinite;
}
@keyframes blink{ 50%{ opacity:.4; } }

/* ============ hero ============ */
.hero{
  position:relative; z-index:1;
  padding:60px 40px 100px;
  max-width:1400px; margin:0 auto;
}
.hero__inner{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:60px;
  align-items:center;
}
.hero__badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 16px;
  border:1px solid rgba(255,107,213,.4);
  background: linear-gradient(90deg, rgba(226,33,194,.12), rgba(75,31,156,.18));
  border-radius:999px;
  font-size:11px; letter-spacing:.25em; text-transform:uppercase;
  color:var(--pink);
  font-weight:600;
}
.hero__badge-pulse{
  width:8px; height:8px; border-radius:50%;
  background:var(--magenta-glow);
  box-shadow:0 0 12px var(--magenta-glow);
  animation: blink 1.4s infinite;
}

.hero__title{
  font-family:var(--font-display);
  font-weight:900;
  font-size: clamp(56px, 9vw, 132px);
  line-height:.92;
  letter-spacing:-.01em;
  margin:24px 0 20px;
}
.hero__title-line{ display:block; }
.hero__title-line--gold{
  background: linear-gradient(180deg, #fff7c4 0%, #ffd766 30%, #c98c2a 60%, #6a3c0d 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter: drop-shadow(0 4px 12px rgba(255,180,60,.35));
  position:relative;
}
.hero__title-line--neon{
  color: #fff;
  text-shadow:
    0 0 6px #fff,
    0 0 20px var(--magenta-glow),
    0 0 40px var(--magenta),
    0 0 80px var(--magenta);
  -webkit-text-stroke: 1px rgba(255,255,255,.4);
  animation: neon-flicker 4s infinite;
}
@keyframes neon-flicker{
  0%, 18%, 22%, 25%, 53%, 57%, 100% {
    text-shadow:
      0 0 6px #fff,
      0 0 20px var(--magenta-glow),
      0 0 40px var(--magenta),
      0 0 80px var(--magenta);
  }
  20%, 24%, 55%{
    text-shadow: none;
  }
}

.hero__tagline{
  max-width:560px;
  width:100%;
  font-size:18px;
  color:var(--ink-dim);
  margin:0 0 36px;
  line-height:1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.hero__stats{
  display:grid; grid-template-columns: repeat(3,1fr);
  gap:14px;
  margin-bottom:36px;
  max-width:580px;
}
.stat{
  position:relative;
  padding:18px 16px;
  border-radius:14px;
  background: linear-gradient(180deg, rgba(75,31,156,.25), rgba(10,6,40,.5));
  border:1px solid rgba(168,144,255,.18);
  overflow:hidden;
}
.stat::before{
  content:''; position:absolute; inset:0;
  background: radial-gradient(circle at 30% 0%, rgba(255,107,213,.15), transparent 60%);
  pointer-events:none;
}
.stat__num{
  font-family:var(--font-arcade);
  font-size:24px;
  background: linear-gradient(180deg, var(--gold-1), var(--gold-3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-weight:400;
  position:relative;
}
.stat__label{
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-mute); margin-top:4px;
  position:relative;
}

.hero__actions{
  display:flex; gap:16px; flex-wrap:wrap;
  margin-bottom:36px;
}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 32px; border-radius:999px;
  font-family:var(--font-arcade);
  font-size:15px; letter-spacing:.08em;
  font-weight:400;
  cursor:pointer; border:none;
  transition: transform .2s, box-shadow .25s;
  position:relative; overflow:hidden;
}
.btn--gold{
  color:#3a1d00;
  background: linear-gradient(180deg, #fff5b8 0%, #ffd766 35%, #d59b35 70%, #8b5a18 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.4) inset,
    0 -4px 0 0 rgba(139,90,24,.5) inset,
    0 12px 32px -8px rgba(255,180,60,.7),
    0 0 0 2px rgba(139,90,24,.3);
}
.btn--gold::after{
  content:''; position:absolute; inset:0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform .8s;
}
.btn--gold:hover{
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 -4px 0 0 rgba(139,90,24,.5) inset,
    0 18px 40px -8px rgba(255,180,60,.85),
    0 0 0 2px rgba(255,215,102,.5);
}
.btn--gold:hover::after{ transform: translateX(100%); }
.btn--ghost{
  color:var(--ink);
  background: rgba(255,255,255,.04);
  border:1px solid rgba(168,144,255,.3);
  backdrop-filter: blur(8px);
}
.btn--ghost:hover{
  background: rgba(168,144,255,.1);
  border-color: var(--magenta-glow);
  box-shadow: var(--neon-magenta);
}

/* Download APK button - bright, prominent, double-line text */
.btn--download{
  position:relative;
  padding:12px 26px;
  color:#06200d;
  background: linear-gradient(180deg, #b8ff8a 0%, #4be36b 35%, #1aa83a 75%, #0d6e23 100%);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.4) inset,
    0 -3px 0 0 rgba(13,110,35,.5) inset,
    0 12px 28px -8px rgba(75,227,107,.7),
    0 0 0 2px rgba(13,110,35,.3),
    0 0 24px rgba(75,227,107,.35);
  align-items:center;
  text-align:left;
}
.btn--download::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform .8s;
  pointer-events:none;
}
.btn--download::before{
  content:''; position:absolute; inset:-4px; border-radius:999px;
  background: radial-gradient(circle, rgba(75,227,107,.4), transparent 70%);
  z-index:-1; opacity:.7;
  animation: pulse-download 2.2s ease-in-out infinite;
}
@keyframes pulse-download{
  0%,100%{ transform:scale(1); opacity:.5; }
  50%{ transform:scale(1.08); opacity:.85; }
}
.btn--download:hover{
  transform: translateY(-3px) scale(1.02);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 -3px 0 0 rgba(13,110,35,.5) inset,
    0 18px 36px -8px rgba(75,227,107,.85),
    0 0 0 2px rgba(75,227,107,.5),
    0 0 36px rgba(75,227,107,.5);
}
.btn--download:hover::after{ transform: translateX(100%); }
.btn--download .btn__icon{
  flex-shrink:0;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.2));
}
.btn--download .btn__text{
  display:flex; flex-direction:column; line-height:1.05;
}
.btn--download .btn__label{
  font-family:var(--font-arcade);
  font-size:15px; letter-spacing:.05em;
}
.btn--download .btn__sub{
  font-family:var(--font-body);
  font-size:11px; letter-spacing:.08em;
  opacity:.75;
  text-transform:uppercase;
  font-weight:600;
  margin-top:3px;
}

.hero__trust{
  display:flex; gap:24px; flex-wrap:wrap;
}
.trust-item{
  display:flex; align-items:center; gap:10px;
  font-size:13px;
  color:var(--ink-dim);
}
.trust-item svg{ color:var(--gold-2); }

/* hero right - logo display */
.hero__right{
  position:relative;
  display:flex; justify-content:center; align-items:center;
  min-height:520px;
}
.hero__logo-frame{
  position:relative;
  width: min(520px, 100%);
  aspect-ratio: 1 / 1;
  display:flex; justify-content:center; align-items:center;
}
.hero__logo{
  position:relative; z-index:3;
  width:88%; height:auto;
  filter:
    drop-shadow(0 0 30px rgba(255,68,221,.5))
    drop-shadow(0 30px 60px rgba(0,0,0,.8));
  animation: float 6s ease-in-out infinite;
}
@keyframes float{
  0%,100%{ transform: translateY(0) rotate(0deg); }
  50%{ transform: translateY(-14px) rotate(.5deg); }
}
.hero__logo-glow{
  position:absolute; inset:10%;
  background:
    radial-gradient(circle, rgba(255,68,221,.55) 0%, rgba(75,31,156,.35) 35%, transparent 65%);
  filter: blur(30px);
  animation: pulse-glow 4s ease-in-out infinite;
  z-index:1;
}
@keyframes pulse-glow{
  0%,100%{ opacity:.7; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.1); }
}
.hero__logo-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:1px dashed rgba(255,107,213,.35);
  z-index:2;
  animation: spin 30s linear infinite;
}
.hero__logo-ring--1{ inset:-2%; border-color: rgba(255,215,102,.3); animation-duration:40s; }
.hero__logo-ring--2{ inset:6%; border-color: rgba(255,107,213,.3); animation-duration:25s; animation-direction:reverse; }
.hero__logo-ring--3{
  inset:14%;
  border-style:solid;
  border-color: transparent;
  border-top-color: rgba(255,215,102,.5);
  border-right-color: rgba(255,107,213,.5);
  animation-duration:18s;
}
@keyframes spin{ to{ transform: rotate(360deg); } }

.hero__sparkle{
  position:absolute; z-index:4;
  font-size:28px;
  color:var(--gold-2);
  text-shadow: 0 0 16px var(--gold-2);
  animation: twinkle 3s ease-in-out infinite;
}
.hero__sparkle--1{ top:8%; left:10%; }
.hero__sparkle--2{ top:14%; right:8%; color:var(--magenta-glow); text-shadow:0 0 16px var(--magenta-glow); animation-delay:.7s; }
.hero__sparkle--3{ bottom:18%; left:6%; color:var(--magenta-glow); text-shadow:0 0 16px var(--magenta-glow); animation-delay:1.4s; }
.hero__sparkle--4{ bottom:10%; right:14%; animation-delay:2.1s; }
@keyframes twinkle{
  0%,100%{ opacity:.4; transform: scale(.8); }
  50%{ opacity:1; transform: scale(1.2); }
}

/* jackpot ribbon */
.jackpot-ribbon{
  margin-top:60px;
  text-align:center;
  padding:32px 20px;
  border-radius:24px;
  background:
    linear-gradient(135deg, rgba(255,215,102,.1), rgba(226,33,194,.1)),
    linear-gradient(180deg, rgba(75,31,156,.4), rgba(10,6,40,.7));
  border:1px solid rgba(255,215,102,.25);
  position:relative;
  overflow:hidden;
}
.jackpot-ribbon::before, .jackpot-ribbon::after{
  content:''; position:absolute;
  width:200px; height:200px;
  border-radius:50%; filter:blur(60px);
  opacity:.4;
}
.jackpot-ribbon::before{
  top:-100px; left:-50px;
  background: var(--magenta);
}
.jackpot-ribbon::after{
  bottom:-100px; right:-50px;
  background: var(--gold-2);
}
.jackpot-ribbon__label{
  font-family:var(--font-arcade);
  font-size:13px; letter-spacing:.4em;
  color:var(--gold-2);
  text-shadow: var(--neon-gold);
  position:relative;
}
.jackpot-ribbon__amount{
  font-family:var(--font-arcade);
  font-size: clamp(40px, 7vw, 84px);
  background: linear-gradient(180deg, #fff7c4 0%, #ffd766 40%, #d59b35 70%, #8b5a18 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter: drop-shadow(0 0 24px rgba(255,180,60,.6));
  margin: 8px 0;
  position:relative;
  letter-spacing:.02em;
}
.jackpot-ribbon__sub{
  font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-mute);
  position:relative;
}

/* ============ section heads ============ */
.section-head{
  text-align:center;
  max-width:720px; margin: 0 auto 50px;
}
.section-head--left{ text-align:left; margin: 0 auto 30px; }
.section-head__eyebrow{
  font-family:var(--font-arcade);
  font-size:12px; letter-spacing:.5em;
  color:var(--magenta-glow);
  text-shadow: 0 0 12px rgba(255,68,221,.6);
  margin-bottom:14px;
}
.section-head__title{
  font-family:var(--font-display);
  font-weight:900;
  font-size: clamp(36px, 5vw, 60px);
  line-height:1;
  margin:0;
  letter-spacing:.01em;
}
.section-head__sub{
  margin:18px auto 0;
  color:var(--ink-dim);
  font-size:16px;
  max-width:520px;
}
.gold-text{
  background: linear-gradient(180deg, #fff7c4, #ffd766 40%, #c98c2a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter: drop-shadow(0 0 18px rgba(255,180,60,.4));
}

/* ============ promo ============ */
.promo{
  position:relative; z-index:1;
  padding: 80px 40px;
  max-width:1400px; margin:0 auto;
}
.promo__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:20px;
}
.promo-card{
  position:relative;
  padding:28px 24px;
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(75,31,156,.35), rgba(10,6,40,.6));
  border:1px solid rgba(168,144,255,.15);
  box-shadow: var(--shadow-card);
  overflow:hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
.promo-card::before{
  content:''; position:absolute; inset:-1px;
  border-radius:inherit;
  padding:1px;
  background: linear-gradient(135deg, transparent, rgba(255,107,213,.5), transparent 60%);
  -webkit-mask: linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity:0;
  transition: opacity .3s;
  pointer-events:none;
}
.promo-card:hover{
  transform: translateY(-6px);
  border-color: rgba(255,107,213,.4);
  box-shadow:
    0 28px 60px -20px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,107,213,.2),
    0 0 50px -10px rgba(255,68,221,.35);
}
.promo-card:hover::before{ opacity:1; }
.promo-card--featured{
  background:
    linear-gradient(180deg, rgba(226,33,194,.25), rgba(75,31,156,.4)),
    radial-gradient(circle at 30% 0%, rgba(255,107,213,.4), transparent 60%);
  border-color: rgba(255,107,213,.4);
}
.promo-card__tag{
  display:inline-block;
  padding:5px 12px;
  border-radius:999px;
  font-family:var(--font-arcade);
  font-size:10px; letter-spacing:.15em;
  background: linear-gradient(135deg, var(--magenta), var(--pink));
  color:#fff;
  margin-bottom:18px;
  box-shadow: 0 0 20px rgba(255,68,221,.4);
}
.promo-card__tag--blue{ background: linear-gradient(135deg, #2c6cff, #5fa8ff); box-shadow:0 0 20px rgba(95,168,255,.4); }
.promo-card__tag--purple{ background: linear-gradient(135deg, #6e36e0, #a96aff); box-shadow:0 0 20px rgba(169,106,255,.4); }
.promo-card__tag--gold{ background: linear-gradient(135deg, #d59b35, #ffd766); color:#3a1d00; box-shadow:0 0 20px rgba(255,215,102,.5); }
.promo-card__amount{
  font-family:var(--font-arcade);
  font-size:64px; line-height:1;
  background: linear-gradient(180deg, #fff7c4, #ffd766 50%, #c98c2a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  filter: drop-shadow(0 4px 12px rgba(255,180,60,.4));
  margin-bottom:14px;
}
.promo-card__amount span{ font-size:32px; }
.promo-card__title{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  margin:0 0 8px;
  color:var(--ink);
}
.promo-card__desc{
  font-size:14px;
  color:var(--ink-dim);
  margin:0 0 16px;
  line-height:1.55;
}
.promo-card__meta{
  padding-top:14px;
  border-top:1px dashed rgba(168,144,255,.2);
  font-size:12px; letter-spacing:.06em;
  color:var(--ink-mute);
  text-transform:uppercase;
}

/* ============ games ============ */
.games{
  position:relative; z-index:1;
  padding:80px 40px;
  max-width:1400px; margin:0 auto;
}
.games__grid{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:16px;
}
.game-card{
  position:relative;
  padding:28px 16px;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(75,31,156,.4), rgba(10,6,40,.7));
  border:1px solid rgba(168,144,255,.15);
  text-align:center;
  overflow:hidden;
  transition: transform .3s, border-color .3s;
  cursor:pointer;
}
.game-card:hover{
  transform: translateY(-8px) scale(1.04);
  border-color: var(--gold-2);
  box-shadow:
    0 0 0 1px rgba(255,215,102,.3),
    0 25px 45px -15px rgba(255,180,60,.4);
}
.game-card__icon{
  font-size:48px;
  margin-bottom:12px;
  filter: drop-shadow(0 6px 14px rgba(255,68,221,.5));
  transition: transform .3s;
}
.game-card:hover .game-card__icon{ transform: scale(1.15) rotate(-5deg); }
.game-card__name{
  font-family:var(--font-arcade);
  font-size:14px; letter-spacing:.06em;
  background: linear-gradient(180deg, var(--gold-1), var(--gold-3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:4px;
}
.game-card__count{
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-mute);
}
.game-card__shine{
  position:absolute; top:0; left:-100%; width:100%; height:100%;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.15) 50%, transparent 70%);
  transition: left .7s;
}
.game-card:hover .game-card__shine{ left:100%; }

/* ============ winners ============ */
.winners{
  position:relative; z-index:1;
  padding:60px 40px;
  max-width:1200px; margin:0 auto;
}
.winners__list{
  display:flex; flex-direction:column;
  gap:10px;
}
.winner-row{
  display:grid;
  grid-template-columns: auto 1fr auto auto;
  align-items:center;
  gap:20px;
  padding:16px 22px;
  border-radius:14px;
  background: linear-gradient(90deg, rgba(75,31,156,.3), rgba(10,6,40,.45));
  border:1px solid rgba(168,144,255,.12);
  font-size:14px;
  animation: row-in .5s ease both;
}
.winner-row--new{
  border-color: rgba(255,215,102,.5);
  background: linear-gradient(90deg, rgba(255,180,60,.18), rgba(75,31,156,.3));
  box-shadow: 0 0 24px -6px rgba(255,215,102,.4);
}
@keyframes row-in{
  from{ opacity:0; transform: translateY(-12px); }
  to{ opacity:1; transform: translateY(0); }
}
.winner-row__avatar{
  width:38px; height:38px; border-radius:50%;
  background: linear-gradient(135deg, var(--magenta), var(--violet));
  display:grid; place-items:center;
  font-family:var(--font-arcade); font-size:14px;
  color:#fff;
}
.winner-row__name{ color:var(--ink); font-weight:600; }
.winner-row__game{
  color:var(--ink-mute); font-size:12px;
  text-transform:uppercase; letter-spacing:.1em;
}
.winner-row__amount{
  font-family:var(--font-arcade);
  background: linear-gradient(180deg, var(--gold-1), var(--gold-3));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:16px;
}
.winner-row__time{
  color:var(--ink-mute);
  font-size:11px; letter-spacing:.08em;
  text-transform:uppercase;
}

/* ============ contact ============ */
.contact{
  position:relative; z-index:1;
  padding:80px 40px;
  max-width:1200px; margin:0 auto;
}
.contact__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:24px;
}
.contact-card{
  position:relative;
  padding:36px 28px;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(75,31,156,.4), rgba(10,6,40,.7));
  border:1px solid rgba(168,144,255,.18);
  overflow:hidden;
  transition: transform .35s, box-shadow .35s, border-color .35s;
  display:flex; flex-direction:column;
}
.contact-card::before{
  content:''; position:absolute;
  top:-60px; right:-60px;
  width:180px; height:180px; border-radius:50%;
  filter:blur(60px); opacity:.4;
  transition: opacity .35s, transform .35s;
}
.contact-card:hover{
  transform: translateY(-8px);
  border-color: currentColor;
}
.contact-card:hover::before{ opacity:.7; transform: scale(1.2); }

.contact-card--chat{ color: var(--magenta-glow); }
.contact-card--chat::before{ background: var(--magenta); }
.contact-card--chat:hover{ box-shadow: 0 25px 60px -20px rgba(255,68,221,.5); }

.contact-card--whatsapp{ color:#25D366; }
.contact-card--whatsapp::before{ background:#25D366; }
.contact-card--whatsapp:hover{ box-shadow: 0 25px 60px -20px rgba(37,211,102,.5); }

.contact-card--telegram{ color:#3da8ee; }
.contact-card--telegram::before{ background:#3da8ee; }
.contact-card--telegram:hover{ box-shadow: 0 25px 60px -20px rgba(61,168,238,.5); }

.contact-card__icon{
  width:74px; height:74px; border-radius:18px;
  background: rgba(255,255,255,.04);
  border:1px solid currentColor;
  display:grid; place-items:center;
  margin-bottom:24px;
  position:relative; z-index:1;
  box-shadow: 0 0 30px -8px currentColor;
}
.contact-card__label{
  font-family:var(--font-arcade);
  font-size:11px; letter-spacing:.4em;
  margin-bottom:8px;
  position:relative;
}
.contact-card__title{
  font-family:var(--font-display);
  font-weight:700; font-size:22px;
  color:var(--ink);
  margin-bottom:8px;
  position:relative;
}
.contact-card__desc{
  color:var(--ink-dim);
  font-size:14px;
  margin-bottom:28px;
  flex:1;
  position:relative;
}
.contact-card__cta{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase;
  position:relative;
  transition: gap .25s;
}
.contact-card:hover .contact-card__cta{ gap:14px; }

/* ============ footer ============ */
.footer{
  position:relative; z-index:1;
  margin-top:60px;
  border-top:1px solid rgba(168,144,255,.15);
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.4));
  padding: 60px 40px 30px;
}
.footer__top{
  max-width:1400px; margin:0 auto 40px;
  display:grid; grid-template-columns: 1fr 2fr;
  gap:60px;
}
.footer__logo{ width:120px; height:auto; margin-bottom:18px; filter: drop-shadow(0 0 20px rgba(255,68,221,.4)); }
.footer__tagline{
  color:var(--ink-dim); font-size:14px;
  max-width:340px;
  line-height:1.6;
}
.footer__cols{
  display:grid; grid-template-columns: repeat(3,1fr);
  gap:30px;
}
.footer__col h4{
  font-family:var(--font-arcade);
  font-size:12px; letter-spacing:.25em;
  color:var(--gold-2);
  margin:0 0 16px;
}
.footer__col a{
  display:block;
  color:var(--ink-dim);
  font-size:14px;
  padding:6px 0;
  transition: color .2s;
}
.footer__col a:hover{ color: var(--magenta-glow); }
.footer__warning{
  font-size:13px; color:var(--ink-mute); margin:0;
  line-height:1.55;
}
.footer__bottom{
  max-width:1400px; margin:0 auto;
  padding-top:24px;
  border-top:1px dashed rgba(168,144,255,.18);
  display:flex; justify-content:space-between;
  align-items:center;
  flex-wrap:wrap; gap:16px;
  font-size:12px; letter-spacing:.08em;
  color:var(--ink-mute);
  text-transform:uppercase;
}
.footer__badges{ display:flex; gap:20px; flex-wrap:wrap; }
.footer__badge{ color:var(--ink-dim); }

/* ============ floating action button ============ */
.fab{
  position:fixed; bottom:24px; right:24px; z-index:50;
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 22px; border-radius:999px;
  background: linear-gradient(135deg, var(--magenta), #6e36e0);
  color:#fff; font-weight:700; font-size:14px;
  letter-spacing:.06em;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 14px 40px -8px rgba(226,33,194,.7),
    0 0 28px rgba(255,68,221,.5);
  transition: transform .25s;
}
.fab:hover{ transform: translateY(-3px) scale(1.04); }
.fab__pulse{
  position:absolute; inset:0; border-radius:999px;
  background: var(--magenta);
  opacity:.5;
  animation: pulse-ring 2s ease-out infinite;
  z-index:-1;
}
@keyframes pulse-ring{
  0%{ transform:scale(1); opacity:.5; }
  100%{ transform:scale(1.4); opacity:0; }
}

/* ============ responsive ============ */
@media (max-width: 1100px){
  .promo__grid{ grid-template-columns: repeat(2, 1fr); }
  .games__grid{ grid-template-columns: repeat(3, 1fr); }
  .footer__top{ grid-template-columns: 1fr; gap:40px; }
}
@media (max-width: 860px){
  .nav{ padding:10px 14px; }
  .nav__links{ display:none; }
  .nav__brand-text{ display:none; }
  .nav__brand picture img{ width:42px; height:42px; }
  .nav__cta{ margin-left:auto; padding:8px 14px; font-size:11px; }

  .ticker{ font-size:11px; padding:7px 0; }

  .hero{ padding:14px 16px 40px; }
  .hero__inner{ grid-template-columns: 1fr; gap:14px; }

  /* === Mobile first-screen layout ===
     Logo (smaller) → Title → Tagline (1 line) → Download CTA → Main btn
     All visible in 844px viewport. Stats / trust pushed below the fold. */

  .hero__right{ min-height:auto; order:-1; margin-bottom:0; }
  .hero__logo-frame{ width: min(170px, 50%); }
  /* Hide expensive decorative animations on the logo - mobile perf */
  .hero__logo-ring--1, .hero__logo-ring--2, .hero__logo-ring--3 { display:none; }
  .hero__sparkle{ display:none; }

  .hero__badge{ font-size:10px; padding:5px 11px; letter-spacing:.16em; margin-bottom:0; }
  .hero__title{ font-size: clamp(42px, 12vw, 64px); margin:8px 0 8px; line-height:.92; }
  .hero__tagline{
    font-size:13px; line-height:1.45;
    margin: 0 0 14px;
    max-width:100%;
    /* keep tagline compact - 2 lines max so button stays in view */
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  /* Action buttons in first viewport */
  .hero__actions{
    flex-direction: column;
    gap:10px;
    margin-bottom:18px;
  }
  .hero__actions .btn{ width:100%; justify-content:center; padding:13px 18px; }
  .btn--download{ padding:11px 22px; }
  .btn--download .btn__label{ font-size:14px; letter-spacing:.04em; }
  .btn--download .btn__sub{ font-size:10px; }
  .btn--download .btn__icon{ width:20px; height:20px; }

  /* Below the fold - smaller, less margin */
  .hero__stats{ grid-template-columns: 1fr 1fr 1fr; gap:8px; margin-bottom:16px; }
  .stat{ padding:10px 8px; }
  .stat__num{ font-size:17px; }
  .stat__label{ font-size:9px; }
  .hero__trust{ gap:10px; font-size:11px; flex-wrap:wrap; }
  .trust-item{ font-size:11px; }
  .trust-item svg{ width:16px; height:16px; }

  .promo, .games, .winners, .contact{ padding: 50px 16px; }
  .section-head{ margin-bottom:32px; }
  .contact__grid{ grid-template-columns: 1fr; gap:16px; }
  .games__grid{ grid-template-columns: repeat(2, 1fr); gap:12px; }
  .promo__grid{ grid-template-columns: 1fr; gap:14px; }
  .promo-card{ padding:22px 20px; }
  .promo-card__amount{ font-size:48px; }

  .footer{ padding: 36px 16px 22px; }
  .footer__top{ grid-template-columns: 1fr; gap:30px; }
  .footer__cols{ grid-template-columns: 1fr; gap:24px; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; }
  .winner-row{ grid-template-columns: auto 1fr auto; gap:12px; padding:12px 14px; }
  .winner-row__time{ display:none; }

  .fab__label{ display:none; }
  .fab{ padding:13px; bottom:14px; right:14px; }

  .jackpot-ribbon{ margin-top:30px; padding:22px 14px; }
  .jackpot-ribbon__amount{ font-size: 40px; word-break: break-all; }

  /* === Mobile performance optimizations === */
  /* Heavy blur filters tank scroll perf on mobile - lighten or disable */
  .bg-orb{ filter: blur(60px); opacity:.4; width:300px; height:300px; }
  .bg-orb--a{ top:-100px; left:-80px; }
  .bg-orb--b{ bottom:-100px; right:-100px; }
  .bg-circuit{ display:none; } /* SVG bg can be skipped on mobile */
  .hero__logo-glow{ filter: blur(20px); }
}

@media (max-width: 380px){
  .hero__title{ font-size:38px; }
  .hero__logo-frame{ width: min(150px, 48%); }
  .hero__stats{ grid-template-columns: 1fr 1fr; }
  .hero__stats .stat:last-child{ grid-column: span 2; }
  .ticker{ font-size:10px; padding:8px 0; }
  .nav{ padding:10px 14px; }
}
/* respect motion preferences */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
