:root {
  color-scheme: dark;
  --bg: #09040d;
  --surface: rgba(25, 10, 35, 0.9);
  --surface-strong: rgba(30, 12, 44, 0.98);
  --border: rgba(180, 100, 255, 0.18);
  --text: #f5f0ff;
  --muted: #d4c8ff;
  --accent: #9c64ff;
  --accent-strong: #c18cff;
  --glow: rgba(156, 100, 255, 0.4);
}

* { box-sizing: border-box; }

html, body {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
    margin: 0; min-height: 100%;
    background: radial-gradient(circle at top, rgba(156,100,255,0.22), transparent 35%),
      radial-gradient(circle at bottom right, rgba(84,35,255,0.14), transparent 25%),
      var(--bg);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

body::before { content: ""; position: fixed; inset: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' x2='1' y1='0' y2='1'%3E%3Cstop offset='0' stop-color='%23334'/%3E%3Cstop offset='1' stop-color='%23003'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0h200v200H0z' fill='url(%23g)' fill-opacity='0.24'/%3E%3C/svg%3E"); pointer-events:none; }

.page-shell { max-width:1180px; margin:0 auto; padding:32px 24px 48px; }
.site-header{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0; }
.logo{ font-size:1.35rem; font-weight:700; letter-spacing:0.08em; color:var(--accent); }
.nav-links{ display:flex; gap:20px; }
.nav-links a{ color:var(--muted); text-decoration:none; font-weight:500; transition:color .2s }
.nav-links a:hover{ color:var(--text) }
.hero{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:36px; align-items:center; padding:64px 0 48px }
.hero-copy{ max-width:620px }
.eyebrow{ display:inline-block; margin-bottom:18px; color:var(--accent-strong); text-transform:uppercase; letter-spacing:0.18em; font-size:0.72rem }
.hero h1{ font-size:clamp(2.6rem,3.6vw,4rem); line-height:1.05; margin:0 0 20px; letter-spacing:-0.03em; text-shadow:0 0 24px rgba(156,100,255,0.28)}
.hero p{ max-width:560px; font-size:1.05rem; color:var(--muted); line-height:1.9; margin:0 0 32px }
.hero-actions{ display:flex; gap:16px }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border-radius:999px; border:1px solid transparent; text-decoration:none; font-weight:600; transition:transform .2s }
.btn-primary{ background:linear-gradient(135deg,var(--accent),var(--accent-strong)); box-shadow:0 18px 40px rgba(156,100,255,0.18); color:#fff }
.btn-secondary{ background:rgba(255,255,255,0.04); border-color:rgba(156,100,255,0.48); color:var(--text) }
.hero-visual{ display:block; width:100%; max-width:560px; border-radius:36px; border:1px solid rgba(255,255,255,0.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 24px 70px rgba(0,0,0,0.38); overflow:hidden; text-decoration:none; position:relative; }
.hero-visual:hover{ border-color:rgba(255,215,0,0.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04), 0 24px 70px rgba(0,0,0,0.38), 0 0 0 1px rgba(255,215,0,0.18) }
.hero-visual img{ display:block; width:100%; height:auto; position:relative; z-index:1; }
.hero-visual::after{ content:""; position:absolute; inset:0; border-radius:36px; background:none; pointer-events:none; }
.features,.gallery,.contact{ margin-top:64px; padding:44px 0 }
.features h2,.gallery-content h2,.contact-box h2{ font-size:2.2rem; margin:0 0 18px }
.feature-grid,.gallery-grid{ display:grid; gap:22px }
.feature-grid{ grid-template-columns:repeat(3, minmax(0,1fr)) }
.feature-card,.gallery-card,.contact-box{ padding:28px; border-radius:28px; border:2px solid rgba(255,215,0,0.35); background:rgba(16,6,30,0.82); box-shadow:0 24px 55px rgba(0,0,0,0.18) }
.feature-card h3,.gallery-card{ margin:0 0 16px }
.feature-card p,.gallery-card{ color:var(--muted); line-height:1.8 }
.gallery-grid{ display:flex; gap:22px; padding:32px; border-radius:16px; min-height:380px; align-items:center; justify-content:center }
.gallery-card{ min-height:300px; width:1500px; display:grid; place-items:center; font-size:1.1rem; color:var(--text) }
.contact{ display:grid; justify-items:center }
.contact-box{ max-width:720px; text-align:center }
.contact-box p{ color:var(--muted); margin:0 0 28px; line-height:1.9 }

/* Jackpot styles inside contact box */
.jackpot-contact-box .jackpot-strip{ display:flex; gap:14px; overflow-x:auto; padding:18px; border-radius:16px; background: rgba(16,6,30,0.75); border:1px dashed rgba(255,255,255,0.03); }
.rolling-number-card{ min-width:140px; padding:14px; border-radius:12px; background: linear-gradient(135deg, rgba(156,100,255,0.06), rgba(255,255,255,0.02)); border:1px solid rgba(255,255,255,0.04); text-align:center; box-shadow:0 12px 30px rgba(0,0,0,0.28); transition:transform .25s }
.rolling-number-card:hover{ transform:translateY(-6px) }
.rolling-number-card .num{ font-size:2.2rem; font-weight:800; color:var(--accent-strong); }
.rolling-number-card .label{ margin-top:8px; color:var(--muted); font-size:0.9rem }
.jackpot-controls{ display:flex; gap:12px; margin-top:16px }

.site-footer{ text-align:center; padding-top:32px; color:rgba(255,255,255,0.55); font-size:0.95rem }


@media (max-width:900px){ .hero{ grid-template-columns:1fr } .feature-grid,.gallery-grid{ grid-template-columns:1fr } }

@media (max-width:620px){ .page-shell{ padding:24px 18px 36px } .site-header{ flex-direction:column; align-items:start } }

/* Jackpot banner style */
.jackpot-banner{ display:flex; align-items:center; gap:12px; padding:14px 16px; background: linear-gradient(90deg,#0b0608,#1a0f1a); border-radius:28px; box-shadow: 0 8px 30px rgba(0,0,0,0.6); border:3px solid #ffd700; position:relative; overflow:hidden }
.jackpot-banner::before{ content:""; position:absolute; inset:3px; border-radius:25px; background: linear-gradient(90deg, rgba(255,217,130,0.06), rgba(0,0,0,0.06)); pointer-events:none }
.jackpot-left{ flex:0 0 auto; min-width:140px; font-weight:800; color:#ffd700; font-size:1.15rem; letter-spacing:0.08em; text-transform:uppercase; display:flex; align-items:center; justify-content:center; white-space:nowrap }
.jackpot-center{ flex:1; display:flex; justify-content:center }
.jackpot-display{ display:inline-flex; align-items:center; gap:12px; padding:10px 24px; border-radius:40px; background:#0b0b0b; border:3px solid #ffd700; box-shadow: inset 0 0 0 6px rgba(0,0,0,0.15); min-width:auto; flex-shrink:0 }
.jackpot-display .currency{ color:#ffd66a; font-weight:700; font-size:1.15rem; margin-right:6px }
.jackpot-display #jackpotValue{ color:#ffd; font-weight:900; font-family: 'Courier New', Courier, monospace; font-size:clamp(1.4rem, 3.6vw, 2.4rem); letter-spacing:0.06em; white-space:nowrap; }
.jackpot-display { text-shadow: 0 2px 0 rgba(0,0,0,0.6); overflow:visible; }

/* controls removed */

.modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,0.78); display:flex; align-items:center; justify-content:center; padding:24px; z-index:9999; }
.modal-overlay.hidden{ opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease, visibility .3s ease; }
.modal-popup{ width:min(540px,100%); background:rgba(12,6,28,0.98); border-radius:24px; border:1px solid rgba(255,255,255,0.12); box-shadow:0 28px 80px rgba(0,0,0,0.45); overflow:hidden; }
.modal-header{ display:flex; justify-content:flex-end; padding:16px; }
.modal-close{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.15); background:rgba(255,255,255,0.08); color:#fff; cursor:pointer; font-size:1.2rem; display:flex; align-items:center; justify-content:center; }
.modal-body{ padding:0 28px 28px; text-align:center; }
.modal-image{ width:100%; height:auto; max-width:100%; object-fit:cover; display:block; }
.modal-title{ margin:20px 0 10px; font-size:1.8rem; color:#fff; }
.modal-text{ margin:0 0 22px; color:rgba(255,255,255,0.8); line-height:1.75; }
.modal-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.modal-actions .btn{ min-width:120px; padding:12px 18px; }
.modal-actions .btn-primary{ background:linear-gradient(135deg,#ffd700,#ffb300); color:#111; }
.modal-actions .btn-secondary{ background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18); color:#fff; }
.modal-actions .btn-tertiary{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); color:#fff; }

@media (max-width:900px){
  .gallery-grid{ flex-direction:column; min-height:auto; padding:24px; }
  .gallery-card{ width:100%; max-width:100%; min-height:280px; }
}

@media (max-width:620px){
  .gallery-grid{ gap:16px; padding:18px; }
  .gallery-card{ min-height:260px; width:100%; }
  .jackpot-banner{ flex-direction:column; align-items:stretch; text-align:center; }
  .jackpot-left{ width:100%; min-width:auto; justify-content:center; }
  .jackpot-center{ justify-content:center; }
  .jackpot-display{ width:100%; justify-content:center; padding:14px 18px; }
  .jackpot-display #jackpotValue{ font-size:clamp(1.2rem, 4vw, 2rem); }
}



