/* mosaic — masonry wall template for 7K Casino */
:root{
  --acc:#6c8bff;
  --acc2:#ffd15c;
  --bg:#0d0f14;
  --bg2:#141822;
  --panel:#171c27;
  --panel2:#1c2231;
  --ink:#f3f5fa;
  --ink2:#aab3c6;
  --ink3:#727d92;
  --line:#28303f;
  --line2:#333d50;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(1200px 600px at 85% -5%, rgba(255,191,61,.08), transparent 60%),
    radial-gradient(1000px 500px at 5% 10%, rgba(37,224,176,.07), transparent 55%),
    var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:"Sora",system-ui,sans-serif;line-height:1.15;margin:0}
a{color:inherit;text-decoration:none}
p{margin:0 0 10px}

/* -------- layout shell -------- */
.mo-shell{max-width:1200px;margin:0 auto;padding:0 18px}

/* -------- sticky top bar -------- */
.mo-bar{
  position:sticky;top:0;z-index:50;
  background:rgba(13,15,20,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.mo-bar-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.mo-mark{display:flex;align-items:center;gap:10px;font-family:"Sora";font-weight:800;font-size:20px;letter-spacing:.5px}
.mo-mark .mo-badge7k{
  display:grid;place-items:center;width:38px;height:38px;border-radius:12px;
  background:linear-gradient(135deg,var(--acc),#ff9d2e);
  color:#241a02;font-weight:800;font-size:15px;box-shadow:0 6px 16px rgba(255,191,61,.35)
}
.mo-mark small{color:var(--ink2);font-family:"Inter";font-weight:500;font-size:12px;letter-spacing:0}
.mo-nav{display:flex;gap:22px;align-items:center}
.mo-nav a{color:var(--ink2);font-size:14px;font-weight:500}
.mo-nav a:hover{color:var(--ink)}
@media(max-width:820px){.mo-nav{display:none}}

/* -------- buttons -------- */
.mo-btn{
  display:inline-flex;align-items:center;gap:8px;justify-content:center;
  font-family:"Sora";font-weight:700;font-size:15px;
  padding:12px 22px;border-radius:14px;border:1px solid transparent;
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.mo-btn:hover{transform:translateY(-2px)}
.mo-btn--go{background:linear-gradient(135deg,var(--acc),#ff9d2e);color:#241a02;box-shadow:0 8px 22px rgba(255,191,61,.32)}
.mo-btn--go:hover{box-shadow:0 12px 28px rgba(255,191,61,.45)}
.mo-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.mo-btn--ghost:hover{border-color:var(--acc2);color:var(--acc2)}
.mo-btn--sm{padding:9px 16px;font-size:14px;border-radius:12px}
.mo-btn--full{width:100%}

/* -------- hero -------- */
.mo-hero{
  margin:34px 0 12px;
  padding:52px 44px;
  border-radius:28px;
  background:
    radial-gradient(700px 300px at 100% 0%, rgba(255,191,61,.14), transparent 60%),
    radial-gradient(600px 260px at 0% 100%, rgba(37,224,176,.12), transparent 55%),
    linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--line2);
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.mo-hero::after{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:22px 22px;opacity:.5;pointer-events:none;
}
.mo-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--acc);border:1px solid rgba(255,191,61,.3);
  padding:6px 13px;border-radius:99px;background:rgba(255,191,61,.06);margin-bottom:18px;
}
.mo-hero h1{font-size:clamp(30px,5vw,52px);font-weight:800;letter-spacing:-.5px;max-width:16ch}
.mo-hero h1 .mo-hi{background:linear-gradient(120deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.mo-lead{max-width:60ch;color:var(--ink2);font-size:17px;margin:18px 0 26px}
.mo-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.mo-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative;z-index:1}
.mo-kpi{background:rgba(13,15,20,.5);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.mo-kpi b,.mo-kpi .mo-kpi-num{font-family:"Sora";font-weight:800;font-size:26px;display:block;color:var(--ink)}
.mo-kpi span{font-size:13px;color:var(--ink3)}
@media(max-width:820px){
  .mo-hero{padding:34px 22px}
  .mo-kpis{grid-template-columns:repeat(2,1fr)}
}

/* -------- masonry wall -------- */
.mo-wall{
  column-count:3;column-gap:18px;margin:8px 0 40px;
}
@media(max-width:980px){.mo-wall{column-count:2}}
@media(max-width:640px){.mo-wall{column-count:1}}

.mo-cell{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  display:inline-block;width:100%;
  margin:0 0 18px;
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  transition:transform .15s ease,border-color .15s ease;
}
.mo-cell:hover{transform:translateY(-3px);border-color:var(--line2)}

/* section divider that spans all columns */
.mo-div{
  column-span:all;-webkit-column-span:all;
  break-inside:avoid;
  margin:26px 0 20px;
}
.mo-div h2{font-size:clamp(21px,3vw,30px);font-weight:800;letter-spacing:-.3px}
.mo-div .mo-div-line{display:flex;align-items:center;gap:14px;margin-top:6px}
.mo-div .mo-div-line::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line2),transparent)}
.mo-div p{color:var(--ink3);font-size:14px;margin:8px 0 0;max-width:64ch}
.mo-kick{color:var(--acc2);font-size:12.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase}

/* pill / meta tags */
.mo-pill{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px;border:1px solid var(--line2);color:var(--ink2)}
.mo-pill--acc{color:var(--acc);border-color:rgba(255,191,61,.35);background:rgba(255,191,61,.06)}
.mo-pill--acc2{color:var(--acc2);border-color:rgba(37,224,176,.3);background:rgba(37,224,176,.06)}
.bb{font-weight:700;color:var(--ink)}

/* bonus card */
.mo-bonus .mo-bonus-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.mo-bonus .mo-perc{font-family:"Sora";font-weight:800;font-size:40px;background:linear-gradient(120deg,var(--acc),#ff9d2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.mo-bonus h3{font-size:18px;margin-bottom:4px}
.mo-bonus .mo-upto{color:var(--ink);font-size:15px;margin:8px 0}
.mo-bonus ul{list-style:none;padding:0;margin:10px 0 16px}
.mo-bonus li{position:relative;padding-left:22px;color:var(--ink2);font-size:14px;margin-bottom:6px}
.mo-bonus li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:3px;background:var(--acc2)}

/* slot card */
.mo-slot .mo-slot-art{
  height:118px;border-radius:14px;margin-bottom:14px;position:relative;overflow:hidden;
  display:grid;place-items:center;font-family:"Sora";font-weight:800;font-size:15px;color:#0d0f14;text-align:center;padding:8px;
}
.mo-slot .mo-slot-art span{position:relative;z-index:1;text-shadow:0 1px 2px rgba(255,255,255,.25)}
.mo-a1{background:linear-gradient(135deg,#ffd36b,#ff8a3d)}
.mo-a2{background:linear-gradient(135deg,#7ce0ff,#4a7bff)}
.mo-a3{background:linear-gradient(135deg,#c07bff,#6a3dff)}
.mo-a4{background:linear-gradient(135deg,#ff7b9c,#ff3d6a)}
.mo-a5{background:linear-gradient(135deg,#5ff0c0,#12b98a)}
.mo-a6{background:linear-gradient(135deg,#ffe45f,#ffb03d)}
.mo-slot h3{font-size:16px;margin-bottom:6px}
.mo-slot-meta{display:flex;align-items:center;justify-content:space-between;color:var(--ink3);font-size:13px;margin-top:4px}
.mo-rtp{color:var(--acc2);font-weight:700}

/* quote card */
.mo-quote{background:linear-gradient(180deg,#1b2130,#141922);border-color:var(--line2)}
.mo-quote .mo-q-mark{font-family:"Sora";font-size:44px;line-height:.6;color:var(--acc);opacity:.6}
.mo-quote p{color:var(--ink);font-size:15px;font-style:italic;margin:6px 0 14px}
.mo-q-author{display:flex;align-items:center;gap:11px}
.mo-q-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--acc2),#1a8f6e);display:grid;place-items:center;font-family:"Sora";font-weight:800;color:#0d0f14;font-size:14px}
.mo-q-author div span{display:block}
.mo-q-name{font-weight:600;font-size:14px}
.mo-q-role{color:var(--ink3);font-size:12px}

/* mini kpi cell */
.mo-stat{text-align:center;background:linear-gradient(180deg,rgba(37,224,176,.08),var(--panel));border-color:rgba(37,224,176,.2)}
.mo-stat .mo-stat-num{font-family:"Sora";font-weight:800;font-size:38px;background:linear-gradient(120deg,var(--acc2),#8affe0);-webkit-background-clip:text;background-clip:text;color:transparent}
.mo-stat .mo-stat-lbl{color:var(--ink2);font-size:13.5px}

/* vip tile */
.mo-vip{display:flex;align-items:center;gap:14px}
.mo-vip .mo-vip-step{
  min-width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  font-family:"Sora";font-weight:800;font-size:20px;color:#0d0f14;
  background:linear-gradient(135deg,var(--acc),#ff9d2e);
}
.mo-vip.mo-vip-hi .mo-vip-step{background:linear-gradient(135deg,var(--acc2),#12b98a)}
.mo-vip h3{font-size:15.5px;margin-bottom:2px}
.mo-vip .mo-vip-cb{color:var(--ink2);font-size:13px}
.mo-vip .mo-vip-cb b,.mo-vip .mo-vip-cb .mo-vip-perc{color:var(--acc2);font-weight:700}

/* live table card */
.mo-live h3{font-size:17px;margin-bottom:4px}
.mo-live .mo-live-prov{color:var(--acc);font-size:12.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.mo-live .mo-live-desc{color:var(--ink2);font-size:14px;margin:10px 0 12px}
.mo-live .mo-live-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:13px;color:var(--ink3)}
.mo-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc2);box-shadow:0 0 0 4px rgba(37,224,176,.15);margin-right:6px}

/* cashier — spans wide */
.mo-wide{column-span:all;-webkit-column-span:all;break-inside:avoid;margin:0 0 18px}
.mo-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel)}
table.mo-table{width:100%;border-collapse:collapse;min-width:560px}
.mo-table th,.mo-table td{padding:14px 18px;text-align:left;font-size:14px;border-bottom:1px solid var(--line)}
.mo-table th{font-family:"Sora";font-weight:700;color:var(--ink2);font-size:13px;text-transform:uppercase;letter-spacing:.6px;background:var(--panel2)}
.mo-table td{color:var(--ink2)}
.mo-table tr:last-child td{border-bottom:none}
.mo-table .mo-method{color:var(--ink);font-weight:600}
.mo-fee0{color:var(--acc2);font-weight:700}

/* faq */
.mo-faq h3{font-size:15.5px;color:var(--acc);margin-bottom:8px}
.mo-faq p{color:var(--ink2);font-size:14px;margin:0}

/* author note + 18+ */
.mo-note{background:linear-gradient(180deg,#161b26,#12161f);border:1px dashed var(--line2)}
.mo-note h3{font-size:16px;margin-bottom:8px}
.mo-note p{color:var(--ink2);font-size:14px}
.mo-age{
  display:inline-flex;align-items:center;gap:8px;margin-top:12px;
  font-size:13px;color:var(--ink2);font-weight:600;
  border:1px solid var(--line2);border-radius:99px;padding:6px 14px;
}
.mo-age .mo-18{background:#ff3d5a;color:#fff;border-radius:6px;padding:2px 7px;font-family:"Sora";font-weight:800;font-size:12px}

/* footer */
.mo-foot{border-top:1px solid var(--line);margin-top:20px;padding:38px 0 60px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}
.mo-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.mo-foot h4{font-family:"Sora";font-size:14px;color:var(--ink);margin-bottom:12px;letter-spacing:.4px}
.mo-foot p,.mo-foot li{color:var(--ink3);font-size:13px}
.mo-foot ul{list-style:none;padding:0;margin:0}
.mo-foot li{margin-bottom:7px}
.mo-lic-badge{
  display:inline-flex;align-items:center;gap:8px;margin-top:12px;
  border:1px solid rgba(37,224,176,.3);background:rgba(37,224,176,.06);
  color:var(--acc2);border-radius:12px;padding:8px 13px;font-size:12.5px;font-weight:600;
}
.mo-foot-legal{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink3);font-size:12px;line-height:1.7}
.mo-foot-legal .mo-ent{color:var(--ink2)}
@media(max-width:820px){.mo-foot-grid{grid-template-columns:1fr}}
