* Mad Casino — Onyx & Gold: quiet 24-karat luxury */

@keyframes reveal {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

body {
  background: var(--bg);
  color: var(--prose);
}

.hero-title,
h1, h2, h3 {
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.15;
}

.hero-title { font-size: clamp(2.1rem, 5vw, 3.6rem); letter-spacing: 0.02em; }
.section h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); position: relative; padding-bottom: 0.5em; }
.section h2::after {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  background: var(--accent);
  margin-top: 0.6em;
}

.hero {
  border-bottom: 1px solid var(--line);
  animation: reveal 0.8s ease both;
}
.hero-sub { color: var(--text-2); animation: reveal 0.9s ease 0.1s both; }
.hero-actions { animation: reveal 0.9s ease 0.2s both; }

.fact { border-top: 1px solid var(--line); padding-top: 0.75em; }
.fact b { color: var(--accent); font-weight: 700; letter-spacing: 0.02em; }

.badge {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72em;
  border-radius: 999px;
}

.btn { border-radius: 2px; letter-spacing: 0.04em; transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.btn-primary {
  background: var(--accent);
  color: var(--on-accent);
  border: 1px solid var(--accent);
}
.btn-primary:hover { background: transparent; color: var(--accent); }
.btn-ghost {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
}
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }

.card, .feature, .tile, .faq-item, .offer, .access {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  animation: reveal 0.7s ease both;
}
.card:hover, .feature:hover, .tile:hover, .access:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.cards .card:nth-child(2), .grid .feature:nth-child(2), .tiles .tile:nth-child(2) { animation-delay: 0.06s; }
.cards .card:nth-child(3), .grid .feature:nth-child(3), .tiles .tile:nth-child(3) { animation-delay: 0.12s; }
.cards .card:nth-child(4), .grid .feature:nth-child(4), .tiles .tile:nth-child(4) { animation-delay: 0.18s; }

.feature .icon {
  color: var(--accent);
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--panel-2);
}

.tile { position: relative; overflow: hidden; }
.tile img { filter: grayscale(12%) contrast(1.02); transition: filter 0.35s ease; }
.tile:hover img { filter: grayscale(0%) contrast(1.05); }
.tile .gp { color: var(--text-2); letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.7em; }
.tile .nm { color: var(--text); font-weight: 600; }
.tile.noimg { background: var(--panel-2); border-color: var(--line); }
.tile.noimg .nm { color: var(--accent-2); }

.tabs { border-bottom: 1px solid var(--line); }
.tab {
  background: transparent;
  color: var(--text-2);
  border: 1px solid transparent;
  border-radius: var(--radius);
}
.tab.active, .tab:hover {
  color: var(--accent);
  border-color: var(--line);
  background: var(--panel);
}

.faq-item { padding: 0.2em 0; }
.faq-q { color: var(--text); font-weight: 600; position: relative; }
.faq-q::before { content: "—"; color: var(--accent); margin-right: 0.5em; }
.faq-a { color: var(--text-2); border-top: 1px solid var(--line); }

.article table.table { border: 1px solid var(--line); }
.article table.table th { color: var(--text); border-bottom: 1px solid var(--accent); }
.article table.table td { border-bottom: 1px solid var(--line); color: var(--prose); }
.article a { color: var(--accent-2); text-decoration-color: var(--line); }
.article a:hover { color: var(--accent); }

.offer { border-color: var(--accent); }
.offer-badge {
  color: var(--on-accent);
  background: var(--accent);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.7em;
  border-radius: 2px;
}
.offer-amount { color: var(--accent); font-weight: 700; letter-spacing: 0.01em; }

.chips { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.chip {
  background: var(--panel-2);
  border: 1px solid var(--line);
  color: var(--text-2);
  border-radius: var(--radius);
}
.chip:hover { border-color: var(--accent); color: var(--text); }

.access .icon { color: var(--accent); border: 1px solid var(--line); border-radius: 50%; }
.access-body h3 { color: var(--text); }

.trust { color: var(--text-2); border-top: 1px solid var(--line); }
.trust .t18 {
  display: inline-flex;
  border: 1px solid var(--accent);
  border-radius: 50%;
  color: var(--accent);
  font-weight: 700;
}

.site-header { border-bottom: 1px solid var(--line); background: var(--bg); }
.nav-links a { color: var(--text-2); letter-spacing: 0.03em; }
.nav-links a:hover { color: var(--accent); }

.muted { color: var(--text-2); }