/* ============================================================
   LUCKY 777 — landing styles
   ============================================================ */
:root{
  --o1:#ff8a3d; --o2:#ff4d12; --o3:#ee2d05;
  --gold:#ffcf47; --gold2:#f7a521;
  --ink:#14161c; --ink2:#434a56; --muted:#8a92a0;
  --bg:#0c0a12; --panel:#15121d; --panel2:#1d1826; --card:#201a2c;
  --line:rgba(255,255,255,.08);
  --radius:26px;
  --shadow-o:0 22px 50px rgba(238,45,5,.35);
  --dsp:"Quicksand",system-ui,sans-serif;
  --txt:"Poppins",system-ui,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
img{display:block}
body{font-family:var(--txt);color:#f3eefb;line-height:1.45;overflow-x:hidden;
  background:
    radial-gradient(900px 500px at 50% -8%,rgba(255,100,30,.28),transparent 60%),
    radial-gradient(700px 500px at 100% 18%,rgba(177,75,255,.14),transparent 55%),
    linear-gradient(180deg,var(--bg),#0a0810)}
.wrap{max-width:560px;margin:0 auto;padding:14px 14px 32px}
h1,h2,h3,.dsp{font-family:var(--dsp);letter-spacing:-.3px}

.suits{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.05;font-size:60px;color:#fff}
.suits span{position:absolute}

.top{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 14px}
.brand{display:flex;align-items:center;gap:9px}
.brand .mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;padding:7px;
  background:linear-gradient(145deg,#2a2238,#191320);box-shadow:0 8px 20px rgba(0,0,0,.4);border:1px solid var(--line)}
.brand .mark img{width:100%;height:100%}
.brand b{font-family:var(--dsp);font-weight:700;font-size:19px}
.brand b span{color:var(--gold)}
.plus18{font-family:var(--dsp);font-weight:700;font-size:12px;color:#2a1800;background:var(--gold);border-radius:999px;padding:5px 10px}

/* HERO */
.hero{position:relative;border-radius:var(--radius);overflow:hidden;padding:20px 18px 24px;isolation:isolate;
  background:linear-gradient(155deg,#ff8a4a 0%,var(--o2) 48%,var(--o3) 100%);box-shadow:var(--shadow-o)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 80% at 82% -5%,rgba(255,255,255,.4),transparent 52%),
             radial-gradient(90% 80% at 6% 108%,rgba(160,20,0,.55),transparent 60%)}
.timer{display:inline-flex;align-items:center;gap:7px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.3);
  border-radius:999px;padding:7px 13px;font-family:var(--dsp);font-weight:700;font-size:13.5px;letter-spacing:.3px;color:#fff}
.timer img{width:15px;height:15px}
.timer #t{font-variant-numeric:tabular-nums}

.reel{display:flex;gap:8px;justify-content:center;margin:14px 0 8px}
.win{width:68px;height:82px;border-radius:14px;overflow:hidden;position:relative;
  background:linear-gradient(180deg,#140d08,#2a1b10);
  box-shadow:inset 0 0 0 3px rgba(255,207,71,.9),inset 0 8px 18px rgba(0,0,0,.6),0 10px 22px rgba(60,10,0,.4)}
.win .strip{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;align-items:center;
  animation:spin 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.win:nth-child(2) .strip{animation-duration:1.35s}
.win:nth-child(3) .strip{animation-duration:1.6s}
.win .sym{height:82px;display:grid;place-items:center}
.win .sym img{width:46px;height:46px}
@keyframes spin{from{transform:translateY(-410px)}to{transform:translateY(0)}}
.seven{font-family:var(--dsp);font-weight:700;color:var(--gold);text-shadow:0 2px 0 #b9760a,0 0 16px rgba(255,207,71,.8);font-size:46px}

.hero h1{font-size:34px;line-height:1.02;margin:8px 0 4px;font-weight:700;color:#fff;text-align:center;text-shadow:0 2px 14px rgba(150,25,0,.4)}
.hero .amt{display:block;text-align:center;font-size:62px;line-height:.95;letter-spacing:-2px;font-family:var(--dsp);font-weight:700;color:#fff}
.hero .amt small{font-size:28px;vertical-align:top}
.fsband{display:block;text-align:center;margin:4px auto 0;width:max-content;font-size:21px;font-weight:700;
  background:rgba(255,255,255,.95);color:var(--o3);padding:4px 16px;border-radius:999px;font-family:var(--dsp)}
.hero p.sub{margin:14px auto 0;font-size:14px;color:rgba(255,255,255,.95);max-width:330px;text-align:center}

.cta-wrap{position:relative;isolation:isolate;overflow:hidden;display:block;width:100%;margin:20px 0 2px;
  border-radius:16px;cursor:pointer;background:#fff;box-shadow:0 12px 26px rgba(120,20,0,.25);padding:16px;text-align:center;transition:transform .15s}
.cta-wrap:active{transform:scale(.99)}
.cta-wrap>*:not(.cta-click){pointer-events:none;position:relative;z-index:2}
.cta-lbl{font-family:var(--dsp);font-weight:700;font-size:18px;color:var(--o3)}
.cta-wrap>.cta-click{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;padding:0;margin:0;
  color:transparent;font-size:0;cursor:pointer;z-index:1;border-radius:inherit}
.cta-wrap>.cta-click:focus-visible{outline:3px solid #fff;outline-offset:3px}

.trust{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:16px 0 2px;font-size:12px}
.trust span{display:inline-flex;align-items:center;gap:5px}

.jackpot{margin:14px 0 2px;border-radius:18px;padding:14px;text-align:center;
  background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line)}
.jackpot .lab{display:inline-flex;align-items:center;gap:6px;font-family:var(--dsp);font-weight:700;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.jackpot .lab img{width:14px;height:14px}
.jackpot .amt{font-family:var(--dsp);font-weight:700;font-size:34px;letter-spacing:1px;margin-top:2px;
  background:linear-gradient(180deg,#fff2c4,var(--gold) 55%,var(--gold2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  font-variant-numeric:tabular-nums}
.jackpot .amt u{text-decoration:none;font-size:18px;color:var(--gold)}

.section{padding:28px 2px 2px}
.eyebrow{text-align:center;font-family:var(--dsp);font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-size:12px;margin-bottom:4px}
.section h2{text-align:center;font-size:26px;font-weight:700;margin:2px 0 18px}

.games{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.game{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:3/4;padding:10px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 10px 22px rgba(0,0,0,.35)}
.game .ico img{width:40px;height:40px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.45))}
.game .nm{font-family:var(--dsp);font-weight:700;font-size:12.5px;line-height:1.15;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.game .tag{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.3);
  border-radius:999px;font-size:9px;font-weight:700;padding:3px 7px;color:#fff;font-family:var(--dsp)}
.g1{background:linear-gradient(160deg,#ff7a2f,#c21f00)}
.g2{background:linear-gradient(160deg,#7a2bff,#3a1270)}
.g3{background:linear-gradient(160deg,#16a34a,#064e2b)}
.g4{background:linear-gradient(160deg,#ffd447,#b9760a)}
.g5{background:linear-gradient(160deg,#ff3d6e,#8a0d33)}
.g6{background:linear-gradient(160deg,#2b8bff,#0a3a7a)}
.game .nm b{color:#ffe9a8}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cell{text-align:center;padding:18px 12px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.icon3d{width:58px;height:58px;margin:0 auto 10px;border-radius:16px;display:grid;place-items:center;position:relative;
  background:radial-gradient(circle at 34% 26%,#20222c,#15131d);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.35);border:1px solid var(--line)}
.icon3d img{width:30px;height:30px;position:relative;z-index:2}
.cell h3{font-size:15px;margin:0 0 3px;font-weight:600;font-family:var(--dsp);color:#fff}
.cell p{font-size:12px;color:var(--muted);margin:0}

.match{margin:28px 0 2px;border-radius:var(--radius);background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--line);padding:26px 18px;text-align:center}
.match .pct{font-family:var(--dsp);font-weight:700;font-size:70px;line-height:.9;letter-spacing:-3px;
  background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.match h2{font-size:24px;margin:6px 0 2px}
.match h2 em{font-style:normal;color:var(--gold)}
.match p{font-size:13px;color:var(--muted);max-width:320px;margin:10px auto 0}

.steps{padding:28px 2px 2px}
.steps h2{font-size:25px;font-weight:700;margin:0 0 4px}
.steps .lead{color:var(--muted);font-size:13.5px;margin:0 0 16px}
.step{display:flex;gap:14px;align-items:flex-start;padding:9px 0}
.step .n{flex:none;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(145deg,var(--gold),var(--gold2));color:#2a1800;
  display:grid;place-items:center;font-family:var(--dsp);font-weight:700;font-size:15px}
.step h3{margin:3px 0 2px;font-size:15px;font-weight:600;font-family:var(--dsp);color:#fff}
.step p{margin:0;font-size:13px;color:var(--muted)}
.step p b{color:#fff}

.promo{margin:24px 0 2px;border-radius:18px;border:1.5px dashed var(--gold);background:rgba(255,207,71,.06);padding:18px;text-align:center}
.promo .lab{font-family:var(--dsp);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.promo .row{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}
.promo .code{font-family:var(--dsp);font-weight:700;font-size:26px;letter-spacing:3px;color:var(--gold)}
.copy{font-family:var(--dsp);font-weight:700;font-size:13px;color:#2a1800;background:var(--gold);border:0;border-radius:10px;padding:8px 13px;cursor:pointer}
.copy.copied{background:#16a34a;color:#fff}
.copy:active{transform:scale(.96)}

.cta2{margin:22px 0 2px;background:linear-gradient(150deg,#ff8a4a,var(--o2) 50%,var(--o3));box-shadow:var(--shadow-o)}
.cta2 .cta-lbl{color:#fff;font-size:19px}

.terms{margin:24px 0 2px;font-size:11.5px;line-height:1.6;color:var(--muted)}
.terms b{color:#cdd3dc}
footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);text-align:center}
.rg{display:inline-flex;gap:8px;align-items:center;font-family:var(--dsp);font-weight:700;font-size:14px;color:#fff;margin-bottom:8px}
.rg .b18{background:var(--gold);color:#2a1800;border-radius:7px;padding:2px 7px;font-size:11px}
footer .fp{font-size:11px;color:var(--muted);line-height:1.6;max-width:440px;margin:0 auto}

.ov{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(6,3,10,.72);backdrop-filter:blur(5px)}
.ov.on{display:flex}
.modal{width:100%;max-width:400px;background:linear-gradient(180deg,var(--card),var(--panel));border:1px solid var(--line);
  border-radius:26px;padding:26px 22px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(10px);animation:rise .25s ease forwards}
@keyframes rise{to{transform:translateY(0)}}
.modal .gi{width:64px;height:64px;margin:0 auto 8px;border-radius:20px;display:grid;place-items:center;padding:16px;
  background:linear-gradient(145deg,var(--o1),var(--o3));box-shadow:var(--shadow-o)}
.modal .gi img{width:100%;height:100%}
.modal h3{font-size:21px;font-weight:700;margin:6px 0;color:#fff}
.modal p{font-size:13.5px;color:var(--muted);margin:0 0 18px}
.modal p b{color:var(--gold)}
.btn-main{width:100%;border:0;border-radius:15px;padding:16px;font-family:var(--dsp);font-weight:700;font-size:16px;color:#fff;cursor:pointer;
  background:linear-gradient(150deg,var(--o1),var(--o3));box-shadow:var(--shadow-o)}
.btn-main:active{transform:scale(.98)}
.btn-ghost{width:100%;margin-top:9px;border:1.5px solid var(--line);border-radius:15px;padding:13px;font-family:var(--dsp);font-weight:600;font-size:14px;color:var(--muted);background:transparent;cursor:pointer}
.spin{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;display:inline-block;vertical-align:-3px;margin-right:8px;animation:rot .7s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}

@media(prefers-reduced-motion:reduce){
  .win .strip{animation:none}
}
@media(max-width:380px){.hero .amt{font-size:54px}.match .pct{font-size:58px}}
