/* ==========================================================================
   Gamdom Canada - casinogamdom.ca
   Dark charcoal + warm gold identity, brand green as secondary accent
   ========================================================================== */

:root{
  --bg:#0d0b09;
  --bg-2:#131009;
  --bg-3:#191510;
  --surface:#1c1812;
  --surface-2:#221d15;
  --line:rgba(32,229,138,.18);
  --line-soft:rgba(32,229,138,.1);
  --gold:#e9b554;
  --gold-2:#f6d086;
  --gold-deep:#b9832e;
  --amber:#d97a2b;
  --green:#20e58a;
  --green-2:#2df397;
  --green-dark:#0d6b48;
  --green-deep:#14c978;
  --green-soft:rgba(32,229,138,.1);
  --green-border:rgba(32,229,138,.28);
  --green-dim:rgba(32,229,138,.14);
  --red:#e0523f;
  --text:#f1ebe0;
  --muted:#b0a695;
  --dim:#7d7466;
  --radius:14px;
  --font-head:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-2)}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .6em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.3em}
li{margin-bottom:.45em}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
::selection{background:rgba(32,229,138,.28);color:var(--text)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--green);color:#04150c;padding:.6rem 1rem;z-index:200;font-weight:700}
.skip-link:focus{left:12px;top:12px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:76px 0}
.section-tight{padding:52px 0}
.kicker{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-head);font-size:.78rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green);
  margin-bottom:.9rem;
}
.kicker::before{content:"";width:22px;height:2px;background:var(--green);display:inline-block}
.lead{color:var(--muted);font-size:1.06rem;max-width:62ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.center .kicker::before{display:none}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-head);font-weight:700;font-size:1rem;
  padding:.85rem 1.7rem;border-radius:10px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  text-decoration:none;white-space:nowrap;
}
/* primary conversion CTA: Gamdom green (class name kept for markup stability) */
.btn-gold{
  background:linear-gradient(135deg,var(--green-2),var(--green) 45%,var(--green-deep));
  color:#04170d;box-shadow:0 10px 30px rgba(32,229,138,.22);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 38px rgba(32,229,138,.34);color:#04170d;background:linear-gradient(135deg,#49f7a8,var(--green-2) 45%,var(--green))}
.btn-outline{border-color:rgba(233,181,84,.3);color:var(--text);background:rgba(255,255,255,.02)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-2);transform:translateY(-2px)}
.btn-green{background:var(--green);color:#04150c;box-shadow:0 8px 24px rgba(32,229,138,.25)}
.btn-green:hover{background:#4deda0;color:#04150c;transform:translateY(-2px)}
.btn-lg{padding:1.05rem 2.2rem;font-size:1.08rem}
.btn-sm{padding:.55rem 1.1rem;font-size:.88rem}
.btn .arrow{transition:transform .18s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(13,11,9,.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 22px;
  display:flex;align-items:center;gap:1.4rem;height:68px;
}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.brand img{width:40px;height:40px;border-radius:9px}
.brand span{font-family:var(--font-head);font-weight:800;font-size:1.08rem;color:var(--text);letter-spacing:.01em}
.brand b{color:var(--green);font-weight:800}
.main-nav{margin:0 auto}
.main-nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
.main-nav a{
  display:block;padding:.5rem .78rem;border-radius:8px;
  color:var(--muted);font-weight:600;font-size:.93rem;
  transition:color .15s,background .15s;
}
.main-nav a:hover{color:var(--text);background:var(--green-soft)}
.main-nav a[aria-current="page"]{color:var(--green);background:rgba(32,229,138,.09)}
.header-cta{display:flex;gap:.6rem;flex-shrink:0;margin-left:auto}
.main-nav + .header-cta{margin-left:0}

.nav-toggle{
  display:none;background:none;border:1px solid var(--line);border-radius:9px;
  width:44px;height:44px;cursor:pointer;padding:0;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- breadcrumbs ---------- */
.breadcrumbs{padding:18px 0 0}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0;font-size:.86rem}
.breadcrumbs li{margin:0;display:flex;align-items:center;gap:.35rem;color:var(--dim)}
.breadcrumbs li+li::before{content:"›";color:var(--dim)}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--green)}
.breadcrumbs [aria-current]{color:var(--green)}

/* ---------- code chip / promo component ---------- */
.code-chip{
  display:inline-flex;align-items:stretch;border-radius:12px;overflow:hidden;
  border:1px dashed rgba(32,229,138,.5);background:rgba(32,229,138,.07);
}
.code-chip .code{
  font-family:var(--font-head);font-weight:800;font-size:1.25rem;letter-spacing:.14em;
  color:var(--green);padding:.7rem 1.2rem;display:flex;align-items:center;
}
.code-chip .copy-btn{
  border:none;border-left:1px dashed rgba(32,229,138,.5);
  background:rgba(32,229,138,.12);color:var(--text);
  font-family:var(--font-body);font-weight:600;font-size:.85rem;
  padding:0 1.1rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;
  transition:background .15s;
}
.code-chip .copy-btn:hover{background:rgba(32,229,138,.22)}
.code-chip .copy-btn.copied{color:var(--green)}

.promo-box{
  background:linear-gradient(150deg,#12211a,#101a14 55%,#131009);
  border:1px solid var(--green-border);border-radius:18px;padding:2rem;
  position:relative;overflow:hidden;
}
.promo-box::after{
  content:"";position:absolute;top:-70px;right:-70px;width:220px;height:220px;
  background:radial-gradient(circle,rgba(32,229,138,.15),transparent 70%);
  pointer-events:none;
}
.promo-box .promo-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:.5rem}
.benefit-list{list-style:none;padding:0;margin:1.1rem 0}
.benefit-list li{
  display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.7rem;
  color:var(--text);font-weight:500;
}
.benefit-list .tick{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;margin-top:2px;
  background:var(--green-dim);color:var(--green);
  display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;
}

/* ---------- stat strip ---------- */
.stat-strip{
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  background:var(--bg-2);
}
.stat-strip .wrap{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);
  padding:0;max-width:var(--maxw);
}
.stat-cell{background:var(--bg-2);padding:1.6rem 1.4rem;text-align:center}
.stat-cell .num{
  font-family:var(--font-head);font-weight:800;font-size:1.7rem;color:var(--gold);
  display:block;line-height:1.1;
}
.stat-cell .lbl{font-size:.85rem;color:var(--muted)}

/* ---------- cards ---------- */
.card{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:1.6rem;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
a.card,.card.clickable{cursor:pointer}
a.card:hover,.card.clickable:hover{transform:translateY(-4px);border-color:rgba(32,229,138,.4);box-shadow:var(--shadow),0 0 0 1px rgba(32,229,138,.12)}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.95rem;margin-bottom:0}
.card .card-link{display:inline-block;margin-top:.9rem;font-weight:700;font-size:.9rem;color:var(--green)}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}

/* game tiles */
.game-tile{
  position:relative;border-radius:var(--radius);overflow:hidden;display:block;
  border:1px solid var(--line-soft);background:var(--surface);
  transition:transform .2s,border-color .2s,box-shadow .2s;color:var(--text);
}
.game-tile:hover{transform:translateY(-5px);border-color:rgba(32,229,138,.55);box-shadow:var(--shadow),0 0 22px rgba(32,229,138,.1);color:var(--text)}
.game-tile:hover .tile-art img{transform:scale(1.02)}
.game-tile .tile-art img{transition:transform .25s ease}
.game-tile .tile-art{height:150px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;position:relative;overflow:hidden}
.game-tile .tile-art img{width:100%;height:100%;object-fit:cover}
.game-tile .tile-body{padding:1.1rem 1.2rem 1.25rem}
.game-tile .tile-body h3{margin-bottom:.3rem;font-size:1.05rem}
.game-tile .tile-body p{font-size:.88rem;color:var(--muted);margin:0}
.game-tile .tag{
  position:absolute;top:10px;left:10px;background:rgba(13,11,9,.78);
  border:1px solid rgba(32,229,138,.4);color:var(--green);
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.25rem .6rem;border-radius:20px;backdrop-filter:blur(4px);
}

/* ---------- screenshot frame ---------- */
.shot-frame{
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:#0a0806;box-shadow:var(--shadow);
}
.shot-frame .shot-bar{
  display:flex;align-items:center;gap:.45rem;padding:.6rem .9rem;
  background:var(--surface);border-bottom:1px solid var(--line-soft);
}
.shot-frame .shot-bar i{width:9px;height:9px;border-radius:50%;background:var(--dim);opacity:.55}
.shot-frame .shot-bar i:first-child{background:var(--red)}
.shot-frame .shot-bar i:nth-child(2){background:var(--gold)}
.shot-frame .shot-bar i:nth-child(3){background:var(--green)}
.shot-frame .shot-bar span{margin-left:.4rem;font-size:.74rem;color:var(--dim);letter-spacing:.04em}
.shot-frame img{width:100%;height:auto}

/* ---------- steps ---------- */
.steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:1rem}
.steps li{
  counter-increment:step;position:relative;margin:0;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:12px;
  padding:1.1rem 1.3rem 1.1rem 4.2rem;
}
.steps li::before{
  content:counter(step);position:absolute;left:1.1rem;top:1.05rem;
  width:2.1rem;height:2.1rem;border-radius:10px;
  background:linear-gradient(150deg,var(--green-2),var(--green-deep));color:#04170d;
  font-family:var(--font-head);font-weight:800;font-size:1.05rem;
  display:flex;align-items:center;justify-content:center;
}
.steps li strong{display:block;margin-bottom:.15rem}
.steps li span{color:var(--muted);font-size:.93rem}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.faq-item+.faq-item{border-top:1px solid var(--line-soft)}
.faq-q{
  width:100%;background:var(--surface);border:none;color:var(--text);
  font-family:var(--font-head);font-weight:700;font-size:1rem;text-align:left;
  padding:1.15rem 3.2rem 1.15rem 1.4rem;cursor:pointer;position:relative;
  transition:background .15s;
}
.faq-q:hover{background:var(--surface-2)}
.faq-q::after{
  content:"+";position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);
  font-size:1.4rem;font-weight:400;color:var(--green);transition:transform .25s;
}
.faq-q[aria-expanded="true"]::after{transform:translateY(-50%) rotate(45deg);color:var(--green)}
.faq-q[aria-expanded="true"]{box-shadow:inset 3px 0 0 var(--green)}
.faq-a{
  overflow:hidden;max-height:0;transition:max-height .3s ease;
  background:var(--bg-2);
}
.faq-a .faq-a-inner{padding:1.1rem 1.4rem 1.3rem;color:var(--muted);font-size:.96rem}
.faq-a .faq-a-inner p:last-child{margin-bottom:0}

/* ---------- split / editorial ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;align-items:center}
.split.rev>.split-media{order:-1}
.split-media{position:relative}

.editorial{display:grid;grid-template-columns:.9fr 1.4fr;gap:3rem;align-items:start}
.editorial .ed-sticky h2{margin-bottom:.8rem}
.editorial .ed-body p{color:var(--muted)}
.editorial .ed-body h3{color:var(--text);margin-top:1.6rem}

/* ---------- CTA band ---------- */
.cta-band{
  position:relative;border-radius:20px;overflow:hidden;
  background:linear-gradient(120deg,#13221a,#101a12 55%,#10130c);
  border:1px solid var(--green-border);
  padding:3.2rem 2.6rem;text-align:center;
}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(600px 220px at 15% 0%,rgba(32,229,138,.15),transparent 60%),
    radial-gradient(500px 200px at 85% 100%,rgba(233,181,84,.08),transparent 60%);
  pointer-events:none;
}
.cta-band>*{position:relative}
.cta-band h2{margin-bottom:.5rem}
.cta-band p{color:var(--muted);max-width:56ch;margin:0 auto 1.6rem}
.cta-actions{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;align-items:center}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line-soft);background:var(--bg-2);margin-top:80px}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:2rem;
  padding:56px 0 40px;
}
.footer-brand p{color:var(--muted);font-size:.9rem;margin-top:.9rem;max-width:34ch}
.footer-col h4{
  font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);
  margin-bottom:1rem;
}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:.55rem}
.footer-col a{color:var(--muted);font-size:.93rem}
.footer-col a:hover{color:var(--green)}
.footer-bottom{
  border-top:1px solid var(--line-soft);padding:1.4rem 0 1.6rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.82rem;color:var(--dim);
}
.footer-bottom .resp{color:var(--muted)}

/* ---------- decorative ---------- */
.bg-dots{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(32,229,138,.1) 1px,transparent 1px);
  background-size:26px 26px;
  mask-image:linear-gradient(to bottom,black,transparent 75%);
  -webkit-mask-image:linear-gradient(to bottom,black,transparent 75%);
}
.glow-line{height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent);opacity:.35;border:none;margin:0}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* live dot */
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:.4rem;animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(32,229,138,.5)}55%{box-shadow:0 0 0 7px rgba(32,229,138,0)}}

/* ==========================================================================
   Page-specific
   ========================================================================== */

/* ----- home hero ----- */
.hero-home{position:relative;padding:72px 0 84px;overflow:hidden}
.hero-home .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:3.4rem;align-items:center;position:relative}
.hero-home h1 b{color:var(--gold);font-weight:800}
.hero-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.3rem 0 1.6rem}
.hero-badges span{
  font-size:.8rem;font-weight:600;color:#d9e8de;
  border:1px solid rgba(32,229,138,.25);border-radius:20px;padding:.35rem .85rem;
  background:rgba(32,229,138,.07);
}
.hero-badges span b{color:var(--green-2);font-weight:700}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;margin-top:1.6rem}

.dash{
  border:1px solid var(--green-border);border-radius:20px;
  background:linear-gradient(170deg,#10160f,#0f0d0a 70%);
  box-shadow:var(--shadow),0 0 0 1px rgba(32,229,138,.06);overflow:hidden;
}
.dash-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:.95rem 1.25rem;border-bottom:1px solid rgba(32,229,138,.16);background:rgba(32,229,138,.05);
}
.dash-head .dash-title{display:flex;align-items:center;gap:.55rem;font-family:var(--font-head);font-weight:700;font-size:.95rem}
.dash-head img{width:26px;height:26px;border-radius:6px}
.dash-head .live{font-size:.76rem;color:var(--green);font-weight:600}
.dash-tabs{display:flex;gap:.4rem;padding:.85rem 1.25rem 0}
.dash-tabs span{
  font-size:.8rem;font-weight:600;padding:.4rem .9rem;border-radius:8px;
  color:var(--muted);border:1px solid transparent;
}
.dash-tabs span.on{color:var(--green);background:var(--green-soft);border-color:var(--green-border)}
.dash-rows{padding:1rem 1.25rem 1.25rem;display:grid;gap:.7rem}
.dash-row{
  display:flex;align-items:center;gap:.9rem;padding:.75rem .9rem;border-radius:12px;
  background:var(--bg-2);border:1px solid var(--line-soft);color:var(--text);
  transition:border-color .15s,transform .15s;
}
.dash-row:hover{border-color:rgba(32,229,138,.5);background:rgba(32,229,138,.06);transform:translateX(4px);color:var(--text)}
.dash-row .ic{
  width:40px;height:40px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.dash-row .ic.rl{background:linear-gradient(150deg,#3a1512,#1d0c0a);color:#ff9c8a}
.dash-row .ic.bj{background:linear-gradient(150deg,#12321f,#0a1c12);color:#7bedb0}
.dash-row .ic.cs{background:linear-gradient(150deg,#2a2410,#171307);color:var(--gold-2)}
.dash-row .ic.sl{background:linear-gradient(150deg,#2b1533,#170a1d);color:#d9a3f5}
.dash-row .meta{flex:1;min-width:0}
.dash-row .meta strong{display:block;font-size:.93rem}
.dash-row .meta span{font-size:.78rem;color:var(--muted)}
.dash-row .go{color:var(--green);font-weight:700;font-size:1rem}
.dash-foot{
  padding:1rem 1.25rem;border-top:1px solid rgba(32,229,138,.16);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(32,229,138,.04);
}
.dash-foot .rk{font-size:.8rem;color:var(--muted)}
.dash-foot .rk b{color:var(--green);font-family:var(--font-head)}
.dash-meter{height:7px;border-radius:4px;background:var(--bg);overflow:hidden;flex:1;max-width:150px}
.dash-meter i{display:block;height:100%;width:0;border-radius:4px;background:linear-gradient(90deg,var(--green),#7bedb0);transition:width 1.4s ease}

/* ----- promo page ----- */
.hero-promo{position:relative;padding:64px 0 70px;background:
  radial-gradient(800px 340px at 80% -10%,rgba(32,229,138,.07),transparent 60%),
  radial-gradient(700px 300px at 5% 10%,rgba(233,181,84,.08),transparent 60%);}
.hero-promo .wrap{display:grid;grid-template-columns:1fr 480px;gap:3rem;align-items:center}
.bonus-panel{
  border:1px solid rgba(32,229,138,.32);border-radius:20px;overflow:hidden;
  background:linear-gradient(165deg,#12211a,#101a14 45%,#131009);box-shadow:var(--shadow);
}
.bonus-panel .bp-head{
  padding:1.2rem 1.6rem;border-bottom:1px dashed rgba(32,229,138,.3);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.bonus-panel .bp-head .t{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.bonus-panel .bp-head .x{font-size:.72rem;color:var(--green);border:1px solid rgba(32,229,138,.4);border-radius:20px;padding:.2rem .7rem;font-weight:700}
.bonus-panel .bp-body{padding:1.5rem 1.6rem 1.7rem}
.bonus-panel .big-code{
  font-family:var(--font-head);font-weight:800;font-size:clamp(2rem,5vw,2.7rem);
  letter-spacing:.18em;color:var(--green);text-align:center;margin:.3rem 0 1.1rem;
}
.bonus-panel .bp-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:1.2rem}

.activation{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.activation .method-tag{
  display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:#191204;
  background:linear-gradient(150deg,var(--gold-2),var(--gold-deep));
  border-radius:7px;padding:.3rem .8rem;margin-bottom:1rem;
}

/* ----- free spins ----- */
.hero-spins{position:relative;overflow:hidden;border-bottom:1px solid var(--line-soft)}
.hero-spins .spin-banner{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--green-border);box-shadow:var(--shadow)}
.hero-spins .spin-banner img{width:100%}
.ribbon{
  display:flex;gap:2.5rem;overflow:hidden;white-space:nowrap;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  padding:.65rem 0;background:var(--bg-2);color:var(--dim);
  font-family:var(--font-head);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
}
.ribbon .rb{display:inline-flex;gap:2.5rem;animation:ticker 28s linear infinite}
.ribbon .rb span::after{content:"✦";margin-left:2.5rem;color:var(--gold)}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ----- app page ----- */
.hero-app .wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.phone-shell{
  max-width:400px;margin:0 auto;border-radius:30px;border:1px solid var(--line);
  background:#0a0806;padding:12px;box-shadow:var(--shadow);position:relative;
}
.phone-shell::before{
  content:"";position:absolute;top:22px;left:50%;transform:translateX(-50%);
  width:90px;height:16px;background:#0a0806;border-radius:10px;z-index:2;
}
.phone-shell img{border-radius:20px}
.feature-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.3rem}
.feature-row .fi{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;font-size:1.25rem;
  background:rgba(233,181,84,.1);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
}
.feature-row strong{display:block;margin-bottom:.15rem}
.feature-row p{color:var(--muted);font-size:.93rem;margin:0}

/* ----- roulette ----- */
.hero-roulette{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 400px at 50% -20%,rgba(120,26,18,.35),transparent 65%),
    var(--bg);
  border-bottom:1px solid var(--line-soft);
  padding:70px 0 80px;
}
.roulette-strip{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin:1.8rem 0}
.roulette-strip .cell{
  font-family:var(--font-head);font-weight:800;font-size:1rem;
  width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.08);
}
.cell.r{background:linear-gradient(160deg,#a4271b,#6e150d);color:#ffd9d2}
.cell.k{background:linear-gradient(160deg,#26262b,#131316);color:#d8d8de}
.cell.g{background:linear-gradient(160deg,#0f7a44,#075229);color:#c9f5db}
.bet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bet-card{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;
  padding:1.4rem;position:relative;
}
.bet-card::before{
  content:"";position:absolute;top:0;left:1.4rem;right:1.4rem;height:3px;border-radius:0 0 4px 4px;
}
.bet-card.red::before{background:#c33} .bet-card.black::before{background:#555}
.bet-card.green::before{background:var(--green)} .bet-card.gold::before{background:var(--gold)}
.bet-card h3{font-size:1.02rem}
.bet-card p{color:var(--muted);font-size:.9rem;margin:0}

/* ----- blackjack ----- */
.hero-bj{
  position:relative;overflow:hidden;padding:70px 0 84px;
  background:
    radial-gradient(800px 380px at 85% -10%,rgba(15,90,55,.3),transparent 60%),
    var(--bg);
  border-bottom:1px solid var(--line-soft);
}
.bj-hand{display:flex;gap:-1rem;justify-content:center;position:relative;height:180px;margin:1rem 0}
.pcard{
  width:118px;height:166px;border-radius:12px;background:linear-gradient(160deg,#fdf8ee,#e9e0cd);
  color:#1c1c22;box-shadow:0 14px 30px rgba(0,0,0,.5);
  font-family:var(--font-head);font-weight:800;
  padding:.7rem .8rem;position:absolute;top:0;left:50%;
  display:flex;flex-direction:column;justify-content:space-between;
}
.pcard .pips{font-size:1.9rem;text-align:center}
.pcard.red-suit{color:#b3261e}
.pcard:nth-child(1){transform:translateX(-120%) rotate(-9deg)}
.pcard:nth-child(2){transform:translateX(-45%) rotate(-1deg);top:-10px}
.pcard:nth-child(3){transform:translateX(28%) rotate(8deg)}
.move-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.move-card{
  background:linear-gradient(165deg,var(--surface-2),var(--surface));
  border:1px solid var(--line-soft);border-radius:14px;padding:1.35rem;text-align:center;
}
.move-card .mv{
  font-family:var(--font-head);font-weight:800;font-size:1.15rem;color:var(--gold-2);
  display:block;margin-bottom:.35rem;letter-spacing:.06em;
}
.move-card p{font-size:.88rem;color:var(--muted);margin:0}

/* ----- cs2 ----- */
.hero-cs2{
  position:relative;overflow:hidden;padding:66px 0 80px;
  background:
    linear-gradient(180deg,rgba(13,11,9,0),rgba(13,11,9,.9)),
    radial-gradient(900px 420px at 70% -15%,rgba(60,70,40,.4),transparent 65%),
    var(--bg-2);
  border-bottom:1px solid var(--line-soft);
}
.hero-cs2 h1{text-transform:uppercase;letter-spacing:.02em}
.cs2-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.match-card{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;
  border-left:3px solid var(--gold);padding:1.2rem 1.4rem;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;
}
.match-card .team{display:flex;align-items:center;gap:.7rem;font-family:var(--font-head);font-weight:700}
.match-card .team:last-child{justify-content:flex-end}
.match-card .team i{
  width:34px;height:34px;border-radius:6px;flex-shrink:0;
  background:linear-gradient(150deg,#2a2a31,#17171b);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:1rem;
}
.match-card .vs{
  font-family:var(--font-head);font-weight:800;font-size:.8rem;color:var(--dim);
  border:1px solid var(--line-soft);border-radius:4px;padding:.35rem .7rem;
}
.match-card .odds{display:flex;gap:.5rem;grid-column:1/-1;justify-content:center;margin-top:.6rem}
.match-card .odds span{
  font-size:.82rem;font-weight:700;border:1px solid var(--line-soft);border-radius:4px;
  padding:.4rem 1.1rem;background:var(--bg-2);color:var(--gold-2);font-family:var(--font-head);
}
.demo-note{font-size:.76rem;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;margin-top:.6rem;text-align:center}
.market-list{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.market-item{
  background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;
  border-left:3px solid var(--green);padding:1.1rem 1.3rem;
}
.market-item strong{display:block;font-family:var(--font-head);margin-bottom:.2rem}
.market-item span{color:var(--muted);font-size:.9rem}

/* ----- login ----- */
.hero-login{padding:70px 0}
.hero-login .wrap{display:grid;grid-template-columns:1fr 440px;gap:3.4rem;align-items:center}
.login-visual{
  border:1px solid var(--line);border-radius:18px;background:var(--surface);
  padding:2rem;box-shadow:var(--shadow);
}
.login-visual .lv-row{margin-bottom:1.1rem}
.login-visual label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.4rem;letter-spacing:.04em}
.login-visual .fake-field{
  border:1px solid var(--line-soft);border-radius:10px;background:var(--bg-2);
  padding:.85rem 1rem;color:var(--dim);font-size:.93rem;
  display:flex;justify-content:space-between;align-items:center;
}
.login-visual .note{font-size:.8rem;color:var(--dim);margin-top:1rem;text-align:center}

/* ----- 404 ----- */
.page-404{min-height:70vh;display:flex;align-items:center;text-align:center;padding:80px 0}
.page-404 .code-lg{
  font-family:var(--font-head);font-weight:800;font-size:clamp(5rem,17vw,9rem);
  line-height:1;color:transparent;-webkit-text-stroke:2px var(--gold);
  margin-bottom:.5rem;
}

/* mobile nav panel */
.mobile-nav{
  position:fixed;inset:0;z-index:99;display:none;
}
.mobile-nav.open{display:block}
.mobile-nav .mn-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.mobile-nav .mn-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);
  background:var(--bg-2);border-left:1px solid var(--line);
  padding:84px 26px 30px;overflow-y:auto;
  transform:translateX(100%);transition:transform .28s ease;
}
.mobile-nav.open .mn-panel{transform:none}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav li{margin:0}
.mobile-nav a{
  display:block;padding:.95rem .5rem;font-family:var(--font-head);font-weight:700;
  font-size:1.05rem;color:var(--text);border-bottom:1px solid var(--line-soft);
}
.mobile-nav a:hover,.mobile-nav a[aria-current="page"]{color:var(--green)}
.mobile-nav .mn-cta{margin-top:1.6rem;display:grid;gap:.7rem}
body.nav-locked{overflow:hidden}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1020px){
  .hero-home .wrap,.hero-promo .wrap,.hero-app .wrap,.hero-login .wrap,.cs2-hero-grid{grid-template-columns:1fr;gap:2.6rem}
  .hero-promo .wrap{max-width:640px}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .editorial{grid-template-columns:1fr;gap:1.4rem}
  .grid-4{grid-template-columns:1fr 1fr}
  .move-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .main-nav{display:none}
  .nav-toggle{display:inline-flex}
  .header-cta .btn-outline{display:none}
  .grid-3,.bet-grid{grid-template-columns:1fr 1fr}
  .split,.activation{grid-template-columns:1fr;gap:2rem}
  .split.rev>.split-media{order:0}
  .stat-strip .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .section{padding:56px 0}
  .grid-3,.grid-2,.bet-grid,.grid-4,.market-list{grid-template-columns:1fr}
  .move-grid{grid-template-columns:1fr 1fr}
  .cta-band{padding:2.4rem 1.4rem}
  .header-cta .btn:first-child{display:none}
  .promo-box{padding:1.5rem}
  .hero-badges span{font-size:.74rem}
  .pcard{width:96px;height:136px}
  .bj-hand{height:150px}
  .btn-lg{padding:.95rem 1.6rem;font-size:1rem}
  .code-chip .code{font-size:1.05rem;padding:.65rem .9rem}
  .footer-grid{grid-template-columns:1fr 1fr}
  .roulette-strip .cell{width:38px;height:38px;font-size:.9rem}
}
@media (max-width:400px){
  .wrap{padding:0 16px}
  .move-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .stat-strip .wrap{grid-template-columns:1fr 1fr}
  .dash-tabs{flex-wrap:wrap}
}

/* ==========================================================================
   Clickable hero blocks + demos
   ========================================================================== */

/* whole-block affiliate links (anchor or JS-driven) */
.block-link,.js-block-link{cursor:pointer;display:block;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.block-link:hover,.block-link:focus-visible,.js-block-link:hover,.js-block-link:focus-visible{transform:translateY(-3px)}
.block-link:hover,.js-block-link:hover{color:inherit}
a.block-link>.dash:hover{border-color:rgba(32,229,138,.5)}
.block-link img{transition:transform .25s ease}
.block-link:hover img{transform:scale(1.015)}
.dash.js-block-link:hover,.dash.js-block-link:focus-visible{border-color:rgba(32,229,138,.5);box-shadow:var(--shadow),0 0 26px rgba(32,229,138,.12)}
.phone-shell.block-wrap:hover .phone-shell-inner{border-color:rgba(32,229,138,.5)}
a.spin-banner:hover,a.spin-banner:focus-visible{transform:translateY(-3px)}
.cs2-visual{border-radius:8px}
.cs2-visual:hover .match-card,.cs2-visual:focus-visible .match-card{border-left-color:var(--green);border-color:rgba(32,229,138,.35)}
.match-card{transition:border-color .2s ease}

/* free spins banner: compact, supports the text */
.spin-banner{max-width:540px;margin:0 auto;border-color:var(--green-border)}

/* demo hero layout */
.demo-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;text-align:left}
.demo-hero-grid .kicker{justify-content:flex-start}
.demo-hero-grid .lead{margin-left:0}
.demo-hero-grid .cta-actions{justify-content:flex-start}

/* demo card shared */
.demo-card{
  border:1px solid rgba(32,229,138,.28);border-radius:18px;overflow:hidden;
  background:linear-gradient(165deg,#141b15,#12100c 55%,#131009);
  box-shadow:var(--shadow);
}
.demo-card:hover,.demo-card:focus-visible{border-color:rgba(32,229,138,.55);box-shadow:var(--shadow),0 0 30px rgba(32,229,138,.14)}
.demo-head{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;
  padding:.85rem 1.2rem;border-bottom:1px solid var(--line-soft);background:rgba(0,0,0,.25);
}
.demo-head .demo-title{font-family:var(--font-head);font-weight:700;font-size:.95rem;display:flex;align-items:center}
.demo-head .demo-tag{font-size:.72rem;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}
.demo-foot{
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  padding:1rem 1.2rem 1.2rem;
}
.demo-foot .demo-msg{font-size:.88rem;color:var(--muted);flex:1;min-width:140px}
.demo-foot .demo-msg b{color:var(--green)}
.demo-cta-row{padding:0 1.2rem 1.2rem}
.demo-cta-row .btn{width:100%}

/* roulette demo: wheel + controls */
.demo-hero-grid>*{min-width:0}
.demo-hero-grid .demo-card{width:100%;max-width:100%;min-width:0}
.wide-demo{grid-template-columns:minmax(300px,.8fr) minmax(0,1.4fr)}
.hero-roulette h1{font-size:clamp(1.85rem,3.3vw,2.55rem)}

.rw-body{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.6rem;
  align-items:center;padding:1.3rem 1.4rem .4rem;
}
.rw-stage{position:relative;display:flex;justify-content:center;padding-top:10px}
.rw-pointer{
  position:absolute;top:2px;left:50%;transform:translateX(-50%);z-index:3;
  width:0;height:0;border:9px solid transparent;border-top:12px solid var(--green);
  filter:drop-shadow(0 0 5px rgba(32,229,138,.6));
}
.rw-wheel{
  position:relative;width:min(215px,62vw);aspect-ratio:1/1;border-radius:50%;
  border:7px solid #2b2318;
  box-shadow:0 0 0 1px rgba(32,229,138,.22),0 14px 34px rgba(0,0,0,.5),inset 0 0 24px rgba(0,0,0,.6);
  background:#131009;
}
.rw-disc{
  position:absolute;inset:0;border-radius:50%;will-change:transform;
  background:conic-gradient(
    #0f7a44 0 24deg,
    #a4271b 24deg 48deg,#26262b 48deg 72deg,
    #a4271b 72deg 96deg,#26262b 96deg 120deg,
    #a4271b 120deg 144deg,#26262b 144deg 168deg,
    #a4271b 168deg 192deg,#26262b 192deg 216deg,
    #a4271b 216deg 240deg,#26262b 240deg 264deg,
    #a4271b 264deg 288deg,#26262b 288deg 312deg,
    #a4271b 312deg 336deg,#26262b 336deg 360deg);
}
.rw-disc::after{
  content:"";position:absolute;inset:22%;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#241e15,#15110b 70%);
  border:1px solid rgba(233,181,84,.2);
  box-shadow:inset 0 0 16px rgba(0,0,0,.7);
}
.rw-orbit{position:absolute;inset:7%;border-radius:50%;pointer-events:none;will-change:transform;z-index:2}
.rw-ball{
  position:absolute;top:0;left:50%;transform:translate(-50%,-40%);
  width:13px;height:13px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#cfc8ba 70%);
  box-shadow:0 0 8px rgba(255,255,255,.55);
}
.rw-hub{
  position:absolute;inset:34%;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 40% 32%,#1f1a12,#0e0b07 75%);
  border:1px solid rgba(32,229,138,.35);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:1.35rem;color:var(--green);
  text-shadow:0 0 10px rgba(32,229,138,.45);
}
.rw-panel{display:grid;gap:.85rem;align-content:center}
.rw-result{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  background:rgba(0,0,0,.3);border:1px solid var(--line-soft);border-radius:10px;
  padding:.65rem .9rem;
}
.rw-lbl{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rw-badge{
  font-family:var(--font-head);font-weight:800;font-size:1.05rem;letter-spacing:.04em;
  padding:.3rem .85rem;border-radius:8px;color:var(--text);
  background:rgba(255,255,255,.06);border:1px solid var(--line-soft);
  transition:background .2s,border-color .2s,color .2s;white-space:nowrap;
}
.rw-badge.red{background:linear-gradient(160deg,#a4271b,#6e150d);border-color:rgba(255,120,100,.35);color:#ffe3de}
.rw-badge.black{background:linear-gradient(160deg,#2c2c33,#141417);border-color:rgba(255,255,255,.18);color:#e8e8ee}
.rw-badge.green{background:linear-gradient(160deg,#0f7a44,#075229);border-color:rgba(32,229,138,.45);color:#d2f8e3}
.rw-panel .btn{width:100%}
.rw-panel .demo-msg{min-height:1.3em}
.rd-picks{display:flex;gap:.6rem}
.rd-pick{
  flex:1;border-radius:9px;border:1px solid rgba(255,255,255,.09);cursor:pointer;
  font-family:var(--font-head);font-weight:700;font-size:.88rem;padding:.6rem 0;color:#fff;
  transition:transform .15s ease,box-shadow .15s ease,outline-color .15s;
  outline:2px solid transparent;outline-offset:2px;
}
.rd-pick:hover{transform:translateY(-2px)}
.rd-pick.r{background:linear-gradient(160deg,#a4271b,#6e150d)}
.rd-pick.k{background:linear-gradient(160deg,#26262b,#131316)}
.rd-pick.g{background:linear-gradient(160deg,#0f7a44,#075229)}
.rd-pick[aria-pressed="true"]{outline-color:var(--green);box-shadow:0 0 14px rgba(32,229,138,.35)}

/* blackjack demo */
.bj-table{
  padding:1.1rem 1.2rem 0;display:grid;gap:.9rem;
  background:radial-gradient(ellipse at 50% 20%,rgba(13,107,72,.2),transparent 75%);
}
.bj-row{display:flex;align-items:center;gap:.9rem;min-height:74px}
.bj-lbl{width:64px;flex-shrink:0;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.bj-lbl b{display:block;font-family:var(--font-head);font-size:1.15rem;color:var(--gold-2);letter-spacing:0}
.bj-cards{display:flex;gap:.45rem;flex-wrap:wrap}
.mcard{
  width:46px;height:64px;border-radius:7px;background:linear-gradient(160deg,#fdf8ee,#e9e0cd);
  color:#1c1c22;font-family:var(--font-head);font-weight:800;font-size:.92rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;
  box-shadow:0 6px 14px rgba(0,0,0,.45);
  opacity:0;transform:translateY(-10px) scale(.9);transition:opacity .3s ease,transform .3s ease;
}
.mcard.dealt{opacity:1;transform:none}
.mcard.red-suit{color:#b3261e}
.mcard.back{background:linear-gradient(160deg,#1d3a2a,#102218);border:1px solid rgba(32,229,138,.35);color:var(--green)}
.bj-demo .demo-foot .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

@media (max-width:1020px){
  .demo-hero-grid{grid-template-columns:1fr;gap:2.4rem}
}
@media (max-width:820px){
  .rw-body{grid-template-columns:1fr;gap:1.2rem;justify-items:center;padding:1.2rem 1.2rem .4rem}
  .rw-panel{width:100%;max-width:360px}
}
@media (max-width:620px){
  .demo-foot{padding:.9rem 1rem 1rem}
  .bj-table{padding-left:1rem;padding-right:1rem}
  .rw-body{padding:1rem 1rem .3rem}
  .demo-cta-row{padding:0 1rem 1rem}
  .mcard{width:40px;height:56px;font-size:.82rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
