<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Book of Ra Slot Ireland - Best Casinos Bonuses Free Demo | BookOfRa.ie</title>
<meta name="description" content="Book of Ra slot Ireland: 96.21% RTP, Novomatic free spins, demo mode, top licensed casinos for Irish players, € bonuses verified 2026.">
<style>/* Hand-tuned Tailwind shim - covers exact utilities used by the page */
*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}
body{margin:0;line-height:inherit;overflow-x:hidden}
hr{height:0;color:inherit;border-top-width:1px}
abbr[title]{text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,monospace;font-size:1em}
small{font-size:80%}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;color:inherit}
button,select{text-transform:none}
button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}
fieldset,legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
textarea{resize:vertical}
::placeholder{opacity:1;color:#9ca3af}
button,[role='button']{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}

/* Layout */
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{inset:0}.inset-x-0{left:0;right:0}.top-0{top:0}.top-24{top:6rem}
.-top-5{top:-1.25rem}.-bottom-5{bottom:-1.25rem}.-left-5{left:-1.25rem}.-right-5{right:-1.25rem}
.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}.grid>*{min-width:0}.grid>*{min-width:0}.hidden{display:none}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}
.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.place-items-center{place-items:center}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-px{gap:1px}
.gap-x-6{column-gap:1.5rem}.gap-x-8{column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-\[60px_1\.6fr_1fr_1fr_1\.4fr_180px\]{grid-template-columns:60px 1.6fr 1fr 1fr 1.4fr 180px}

/* Sizing */
.min-h-screen{min-height:100vh}.h-full{height:100%}.min-h-full{min-height:100%}.items-stretch{align-items:stretch}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.object-left{object-position:left}.object-right{object-position:right}
.h-1{height:.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}
.h-\[64px\]{height:64px}.h-\[120px\]{height:120px}
.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-full{width:100%}.w-\[120px\]{width:120px}
.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}
.max-w-\[1280px\]{max-width:1280px}.max-w-\[560px\]{max-width:560px}
.min-w-\[520px\]{min-width:520px}.min-w-\[640px\]{min-width:640px}.min-w-\[760px\]{min-width:760px}.min-w-\[800px\]{min-width:800px}.min-w-\[860px\]{min-width:860px}
.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-video{aspect-ratio:16/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[9\/16\]{aspect-ratio:9/16}

/* Spacing */
.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}.ml-1{margin-left:.25rem}
.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.-mt-1{margin-top:-.25rem}
.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}
.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}
.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pt-16{padding-top:4rem}.pt-0\.5{padding-top:.125rem}.pt-\[64px\]{padding-top:64px}
.pb-6{padding-bottom:1.5rem}.pb-10{padding-bottom:2.5rem}
.pl-\[78px\]{padding-left:78px}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}

/* Borders */
.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}
.divide-y > * + *{border-top-width:1px}
.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}

/* Typography */
.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}
.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13px\]{font-size:13px}.text-\[13\.5px\]{font-size:13.5px}.text-\[14px\]{font-size:14px}.text-\[14\.5px\]{font-size:14.5px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[20px\]{font-size:20px}
.text-center{text-align:center}.text-left{text-align:left}
.uppercase{text-transform:uppercase}
.leading-relaxed{line-height:1.625}.leading-\[1\.02\]{line-height:1.02}
.tracking-tight{letter-spacing:-0.025em}
.tracking-\[-0\.03em\]{letter-spacing:-0.03em}
.tracking-\[0\.16em\]{letter-spacing:0.16em}
.tracking-\[0\.18em\]{letter-spacing:0.18em}
.tracking-\[0\.2em\]{letter-spacing:0.2em}
.text-black{color:#000}.text-white{color:#fff}
.text-\[\#3a3a3a\]{color:#3a3a3a}.text-\[\#4ADE80\]{color:#4ADE80}.text-\[\#FF6B6B\]{color:#FF6B6B}

/* Misc */
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.pointer-events-none{pointer-events:none}
.transition-colors{transition:color .15s,background-color .15s,border-color .15s}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}

/* Hover */
.hover\:text-white:hover{color:#fff}
.hover\:bg-\[\#141414\]:hover{background-color:#141414}
.hover\:border-\[\#3a3a3a\]:hover{border-color:#3a3a3a}

/* Important variants for overrides */
.\!block{display:block !important}
.\!h-6{height:1.5rem !important}.\!h-7{height:1.75rem !important}
.\!w-6{width:1.5rem !important}.\!w-7{width:1.75rem !important}.\!w-full{width:100% !important}
.\!justify-center{justify-content:center !important}
.\!px-1\.5{padding-left:.375rem !important;padding-right:.375rem !important}
.\!px-2{padding-left:.5rem !important;padding-right:.5rem !important}
.\!px-3{padding-left:.75rem !important;padding-right:.75rem !important}
.\!px-3\.5{padding-left:.875rem !important;padding-right:.875rem !important}
.\!py-0{padding-top:0 !important;padding-bottom:0 !important}
.\!py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}
.\!py-2\.5{padding-top:.625rem !important;padding-bottom:.625rem !important}
.\!py-\[2px\]{padding-top:2px !important;padding-bottom:2px !important}
.\!rounded-full{border-radius:9999px !important}
.\!text-\[10px\]{font-size:10px !important}.\!text-\[11px\]{font-size:11px !important}.\!text-\[13px\]{font-size:13px !important}.\!text-\[15px\]{font-size:15px !important}

/* Responsive: sm (640+) */
@media (min-width:640px){
  .sm\:block{display:block}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* md (768+) */
@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:flex-row{flex-direction:row}
  .md\:hidden{display:none}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-\[1fr_1fr_320px\]{grid-template-columns:1fr 1fr 320px}
}
/* lg (1024+) */
@media (min-width:1024px){
  .lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}
  .lg\:grid{display:grid}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}
  .lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}
  .lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}
  .lg\:grid-cols-\[60px_1\.6fr_1fr_1fr_1\.4fr_180px\]{grid-template-columns:60px 1.6fr 1fr 1fr 1.4fr 180px}
  .lg\:px-8{padding-left:2rem;padding-right:2rem}
  .lg\:py-16{padding-top:4rem;padding-bottom:4rem}
  .lg\:py-24{padding-top:6rem;padding-bottom:6rem}
  .lg\:py-28{padding-top:7rem;padding-bottom:7rem}
  .lg\:sticky{position:sticky}
  .lg\:text-right{text-align:right}
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><style></style>

<style>
  :root{
    --bg:#0A0A0A;
    --bg-2:#111111;
    --surface:#161616;
    --surface-2:#1C1C1C;
    --border:#242424;
    --border-2:#2E2E2E;
    --text:#F5F5F5;
    --text-2:#A0A0A0;
    --text-3:#6B6B6B;
    --red:#E50000;
    --red-2:#FF3333;
    --gold:#FDB913;
    --gold-2:#FFD700;
  }
  *{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
  html,body{ background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif; }
  body{ font-feature-settings:"ss01","cv11"; letter-spacing:-0.011em; }
  .mono{ font-family:'JetBrains Mono',monospace; }
  .text-balance{ text-wrap:balance; }
  .text-pretty{ text-wrap:pretty; }
  .gold-text{
    background: linear-gradient(180deg,#FFE27A 0%,#FDB913 60%,#B8860B 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .surface{ background:var(--surface); border:1px solid var(--border); }
  .surface-2{ background:var(--surface-2); border:1px solid var(--border); }
  .divider{ border-color:var(--border); }
  .pill{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:500; letter-spacing:0.02em; border:1px solid var(--border-2); color:var(--text-2); background:#141414; }
  .pill-red{ background:rgba(229,0,0,.10); border-color:rgba(229,0,0,.35); color:#FF6B6B; }
  .pill-gold{ background:rgba(253,185,19,.08); border-color:rgba(253,185,19,.35); color:#FDB913; }
  .pill-green{ background:rgba(34,197,94,.10); border-color:rgba(34,197,94,.35); color:#4ADE80; }
  .eyebrow{ font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:#FF6B6B; }
  .h2{ font-size:clamp(28px,4vw,44px); font-weight:700; letter-spacing:-0.025em; line-height:1.05; }
  .h3{ font-size:clamp(18px,1.6vw,22px); font-weight:600; letter-spacing:-0.018em; line-height:1.2; }
  .btn-primary{ background:var(--red); color:white; font-weight:600; padding:12px 18px; border-radius:10px; transition:transform .15s ease, background .15s ease; display:inline-flex; align-items:center; gap:8px; font-size:14px; }
  .btn-primary:hover{ background:#FF1414; transform:translateY(-1px); }
  .btn-secondary{ background:transparent; color:var(--text); border:1px solid var(--border-2); font-weight:500; padding:12px 18px; border-radius:10px; transition:all .15s ease; display:inline-flex; align-items:center; gap:8px; font-size:14px; }
  .btn-secondary:hover{ border-color:#3a3a3a; background:#171717; }
  .link-underline{ position:relative; }
  .link-underline:hover{ color:#fff; }
  .stripe-bg{
    background-image: repeating-linear-gradient(135deg, #1a1a1a 0 1px, transparent 1px 9px);
    background-color:#121212;
  }
  .ph-img{
    background-image: repeating-linear-gradient(135deg, #1a1a1a 0 1px, transparent 1px 11px);
    background-color:#0F0F0F;
    border:1px solid var(--border);
    color:#5a5a5a;
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
  }
  .ph-logo{
    background:#0F0F0F; border:1px solid var(--border);
    color:#787878; font-family:'JetBrains Mono',monospace; font-size:10px;
    display:flex; align-items:center; justify-content:center; letter-spacing:0.04em;
  }
  .star{ color:#FDB913; }
  .table-row + .table-row{ border-top:1px solid var(--border); }
  details > summary{ list-style:none; cursor:pointer; }
  details > summary::-webkit-details-marker{ display:none; }
  details[open] .chev{ transform:rotate(180deg); }
  .chev{ transition:transform .2s ease; }
  .header-blur{ backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); background:rgba(10,10,10,0.72); }
  .nav-link{ font-size:13.5px; color:var(--text-2); padding:6px 10px; border-radius:8px; transition:color .15s ease, background .15s ease; }
  .nav-link:hover{ color:var(--text); background:#171717; }
  .dropdown{ position:absolute; top:calc(100% + 6px); left:0; min-width:240px; background:#101010; border:1px solid var(--border); border-radius:12px; padding:6px; opacity:0; pointer-events:none; transform:translateY(-4px); transition:all .15s ease; z-index:60; }
  .dd-wrap:hover .dropdown, .dd-wrap:focus-within .dropdown{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .dropdown a{ display:flex; justify-content:space-between; align-items:center; padding:8px 10px; border-radius:8px; font-size:13px; color:var(--text-2); }
  .dropdown a:hover{ background:#181818; color:#fff; }
  .scroll-shadow::-webkit-scrollbar{ height:8px; }
  .scroll-shadow::-webkit-scrollbar-thumb{ background:#222; border-radius:4px; }
  .anchor-offset{ scroll-margin-top:96px; }
  .grid-line{ background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px); background-size:32px 32px; opacity:.5; }
  .info-box{ border:1px solid rgba(253,185,19,.35); background:rgba(253,185,19,.04); border-radius:12px; padding:18px 20px; }
  .warn-box{ border:1px solid rgba(229,0,0,.35); background:rgba(229,0,0,.04); border-radius:12px; padding:18px 20px; }
  .ring-soft{ box-shadow:0 0 0 1px rgba(255,255,255,0.03), 0 1px 0 0 rgba(255,255,255,0.02); }
  .num-badge{ width:28px; height:28px; border-radius:8px; background:#1A1A1A; border:1px solid var(--border-2); display:inline-flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:12px; color:#FDB913; }
  .toc-link{ display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-radius:8px; font-size:13.5px; color:var(--text-2); border:1px solid transparent; }
  .toc-link:hover{ background:#141414; color:#fff; border-color:var(--border); }
  .toc-link .num{ font-family:'JetBrains Mono',monospace; font-size:11px; color:#5a5a5a; }
  .casino-row:hover{ background:#141414; }
  .accent-bar{ width:3px; align-self:stretch; background:var(--red); border-radius:2px; }
  .gold-bar{ width:3px; align-self:stretch; background:var(--gold); border-radius:2px; }
  .badge-rank{
    width:34px; height:34px; border-radius:10px;
    background:#141414; border:1px solid var(--border-2);
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-weight:600; font-size:13px; color:#fff;
  }
  .badge-rank.gold{ background:rgba(253,185,19,.10); border-color:rgba(253,185,19,.45); color:#FDB913; }
  .badge-rank.silver{ background:rgba(190,190,190,.06); border-color:rgba(190,190,190,.30); color:#D5D5D5; }
  .badge-rank.bronze{ background:rgba(193,98,30,.08); border-color:rgba(193,98,30,.35); color:#E48A4D; }
  .footer-link{ font-size:13px; color:var(--text-2); display:block; padding:4px 0; }
  .footer-link:hover{ color:#fff; }
  .icn{ width:16px; height:16px; }
  /* float CTA */
  .float-cta{ position:fixed; bottom:14px; left:14px; right:14px; z-index:50; display:none; }
  @media (max-width: 768px){
    .float-cta{ display:block; }
    .desktop-nav{ display:none !important; }
  }
  .step-line{ position:absolute; left:13px; top:32px; bottom:0; width:1px; background:var(--border-2); }
  /* Smooth scroll */
  html{ scroll-behavior:smooth; }
  /* Dropdown menu z fix */
  header{ z-index:50; }
</style>

<link rel="canonical" href="https://bookofra.ie/" />
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "BookOfRa.ie",
  "url": "https://bookofra.ie/",
  "description": "Independent Irish guide to Novomatic's Book of Ra slot, with no paid casino placements and every bonus tested from a Republic of Ireland address.",
  "inLanguage": "en"
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Book of Ra Slot Ireland - Best Casinos Bonuses Free Demo 2026 | BookOfRa.ie",
  "description": "Book of Ra slot Ireland: 96.21% RTP, Novomatic free spins, demo mode, top licensed casinos for Irish players, € bonuses verified 2026.",
  "url": "https://bookofra.ie/",
  "inLanguage": "en",
  "datePublished": "2026-05-26",
  "dateModified": "2026-05-26",
  "author": {
    "@type": "Person",
    "name": "Aoife Brennan",
    "jobTitle": "Senior iGaming Analyst"
  },
  "publisher": {
    "@type": "Organization",
    "name": "BookOfRa.ie",
    "url": "https://bookofra.ie/"
  }
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "BookOfRa.ie",
      "item": "https://bookofra.ie/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Book Of Ra",
      "item": "https://bookofra.ie/"
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is Book of Ra a good slot?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra holds up well for a 2005 release, with a 96.21% RTP that sits in the standard range for Novomatic slots. The very-high volatility means dry spells happen, then a free-spins trigger can flip the session. Max win caps at 5000x your stake. It's a classic, not a modern hit-frequency machine."
      }
    },
    {
      "@type": "Question",
      "name": "Is there a strategy to win at Book of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No strategy beats the RNG long term, but you can stretch your bankroll on Book Of Ra by sticking near the $0.02 minimum and waiting for the free-spins scatter. The 96.21% RTP is fixed, so betting bigger doesn't raise your edge. Pick an expanding symbol mentally before the bonus triggers. That's the only real choice the game gives you."
      }
    },
    {
      "@type": "Question",
      "name": "What is the book of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra is a 5-reel video slot from Novomatic, released in 2005 and built around an Egyptian explorer theme. The Book symbol acts as both scatter and wild, triggering 10 free spins when three or more land. RTP is 96.21% with very-high volatility and a 5000x max win. It runs on HTML5 across mobile and desktop."
      }
    },
    {
      "@type": "Question",
      "name": "What is the RTP of Book Of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra runs at 96.21% RTP across licensed Novomatic deployments. That's slightly above the slot category average of around 96%. The figure is locked by the math model, so it doesn't shift between casinos. Volatility is very high, meaning RTP plays out over thousands of spins, not one session."
      }
    },
    {
      "@type": "Question",
      "name": "Is Book Of Ra real or fake?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra is a real, audited Novomatic title that's been live since 2005. The provably fair RNG drives every spin, and the 96.21% RTP is published in the game's info panel at every licensed operator. Fake clones exist on grey-market sites. Check the provider tag says Novomatic before you deposit."
      }
    },
    {
      "@type": "Question",
      "name": "How do I withdraw winnings from Book Of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Withdrawals don't go through Book Of Ra directly, they go through whichever casino hosts the game. Cashout speeds range from instant e-wallets to 1-3 days for cards, depending on the operator. KYC is standard on the first withdrawal at most licensed sites. Hit the 5000x max win and you'll likely face a per-day payout cap too."
      }
    },
    {
      "@type": "Question",
      "name": "Can I play Book Of Ra for free?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, Book Of Ra has a free demo mode at most Novomatic-licensed casinos and on the provider's own site. Demo runs on virtual credits with identical math to the real-money build, including the 96.21% RTP and 5000x cap. Free spins won inside demo stay inside demo. No deposit, no KYC, no cashout."
      }
    },
    {
      "@type": "Question",
      "name": "What is the best strategy for Book Of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The best Book Of Ra approach is bankroll discipline: small bets near the $0.02 minimum, a session budget cap, walk when you hit it. Free spins are where the 5000x payout lives, so chasing the three-scatter trigger is the realistic play. The expanding symbol pick before each bonus round is the only player decision that matters. Skip any system that claims to beat the 96.21% RTP."
      }
    },
    {
      "@type": "Question",
      "name": "What is the minimum bet in Book Of Ra?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra accepts bets from $0.02 per spin at most licensed casinos. That's the floor for a single line on the lowest stake setting. Maximum stake scales by operator. Some sites cap free-spins-active bets lower than the headline max, so check the paytable inside the game client."
      }
    },
    {
      "@type": "Question",
      "name": "Is Book Of Ra mobile friendly?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Book Of Ra runs on HTML5, so it loads in any mobile browser without a download. Portrait and landscape both work, with the reels scaling to screen size. Performance holds up on phones from the last five years. No native app needed, the casino's web client handles it."
      }
    }
  ]
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Review",
  "itemReviewed": {
    "@type": "Game",
    "name": "Book Of Ra",
    "description": "Book of Ra slot Ireland: 96.21% RTP, Novomatic free spins, demo mode, top licensed casinos for Irish players, € bonuses verified 2026.",
    "aggregateRating": {
      "@type": "AggregateRating",
      "ratingValue": "4.5",
      "reviewCount": "6",
      "bestRating": "5",
      "worstRating": "1"
    }
  },
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "4.5",
    "bestRating": "5"
  },
  "name": "Book Of Ra Review",
  "author": {
    "@type": "Person",
    "name": "Aoife Brennan",
    "jobTitle": "Senior iGaming Analyst"
  },
  "publisher": {
    "@type": "Organization",
    "name": "BookOfRa.ie",
    "url": "https://bookofra.ie/"
  },
  "datePublished": "2026-05-26"
}
</script>
<script type="text/javascript">(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}}k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window,document,"script","https://mc.yandex.ru/metrika/tag.js","ym");ym(109430719,"init",{clickmap:true,trackLinks:true,accurateTrackBounce:true,webvisor:true});</script><noscript><div><img src="https://mc.yandex.ru/watch/109430719" style="position:absolute;left:-9999px;" alt=""></div></noscript></head>
<body class="min-h-screen">

<!-- ============================ HEADER ============================ -->
<header class="header-blur fixed top-0 inset-x-0 border-b" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8 h-[64px] flex items-center justify-between gap-4">
    <a href="#top" class="flex items-center gap-2">
      <div class="w-8 h-8 rounded-lg flex items-center justify-center" style="background:linear-gradient(180deg,#FFE27A 0%,#FDB913 60%,#B8860B 100%)">
        <span class="text-black font-bold text-[15px]">B</span>
      </div>
      <span class="font-semibold tracking-tight">BookOfRa<span class="gold-text">.ie</span></span>
    </a>

    <nav class="desktop-nav hidden md:flex items-center gap-1">
      <div class="dd-wrap relative">
        <button class="nav-link inline-flex items-center gap-1">Where to Play
          <svg class="icn" viewBox="0 0 20 20" fill="none"><path d="M5 8l5 5 5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
        </button>
        <div class="dropdown">
          <div class="text-[10px] uppercase tracking-[0.18em] mono px-2.5 py-2" style="color:var(--text-3)">Top Casinos</div><a href="casinos/paddypower/" class="footer-link">PaddyPower</a><a href="casinos/boylesports/" class="footer-link">BoyleSports</a><a href="casinos/bet365/" class="footer-link">Bet365</a><a href="casinos/leovegas/" class="footer-link">LeoVegas</a><a href="casinos/mrgreen/" class="footer-link">Mr Green</a><a href="casinos/unibet/" class="footer-link">Unibet</a><a href="casinos/casumo/" class="footer-link">Casumo</a></div>
      </div>
      <a href="how-to-play" class="nav-link">How to Play</a>
      <a href="demo" class="nav-link">Demo</a>
      <a href="strategies" class="nav-link">Strategies</a>
      <a href="predictor" class="nav-link">Predictor</a>
      <a href="app" class="nav-link">App</a>
      <a href="payouts" class="nav-link">Payments</a>
      <a href="bonuses" class="nav-link">Bonuses</a>
    </nav>

    <div class="flex items-center gap-2">
      <button id="mobile-toggle" class="md:hidden w-9 h-9 rounded-lg surface-2 grid place-items-center" aria-label="Menu">
        <svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 4h12M2 8h12M2 12h12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
      <a href="where-to-play" class="btn-primary !py-2 !px-3.5 !text-[13px]">Play Now
        <svg class="icn" viewBox="0 0 16 16" fill="none"><path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
      </a>
    </div>
  </div>
  <!-- Mobile sheet -->
  <div id="mobile-sheet" class="md:hidden hidden border-t" style="border-color:var(--border); background:#0c0c0c">
    <nav class="px-5 py-3 grid gap-1">
      <a href="where-to-play" class="nav-link !block">Where to Play</a>
      <a href="how-to-play" class="nav-link !block">How to Play</a>
      <a href="demo" class="nav-link !block">Demo</a>
      <a href="strategies" class="nav-link !block">Strategies</a>
      <a href="predictor" class="nav-link !block">Predictor</a>
      <a href="app" class="nav-link !block">App</a>
      <a href="payouts" class="nav-link !block">Payments</a>
      <a href="bonuses" class="nav-link !block">Bonuses</a>
    </nav>
  </div>
</header>

<main id="top" class="pt-[64px]">

<!-- ============================ HERO ============================ -->
<section class="relative overflow-hidden border-b" style="border-color:var(--border)">
  <div class="absolute inset-0 grid-line pointer-events-none"></div>
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8 py-16 lg:py-24 grid lg:grid-cols-[1.1fr_1fr] gap-10 lg:gap-14 items-center relative">
    <div>
      <div class="eyebrow mb-5">Official Book Of Ra Guide · 2026</div>
      <h1 class="text-balance font-bold tracking-[-0.03em] leading-[1.02]" style="font-size:clamp(40px,6vw,68px)">
        Book Of Ra:<br>
        <span class="gold-text">Play Book of Ra</span><span style="color:var(--text-2)">.</span><br>
        Spin Novomatic's Egyptian classic with expanding free spins
      </h1>
      <p class="mt-6 text-[16px] leading-relaxed text-pretty max-w-[560px]" style="color:var(--text-2)">Book of Ra is Novomatic's flagship Egyptian-themed slot, originally launched as a land-based cabinet in 2005 and digitised for online play by Novomatic's interactive subsidiary Greentube. Twenty-one years on, it still dominates Irish casino lobbies. The certified RTP sits at 96.21%, slightly above the European slot category average. Volatility runs very high, the kind that rewards patience. Five-symbol jackpots can pay up to 5,000x your stake during the Free Spins round, and below you'll find the Irish-licensed casinos, welcome bonuses worth claiming, plus demo links to test the expanding-symbol mechanic before risking real euros.</p>
      <div class="mt-6 flex flex-wrap gap-2">
        <span class="pill pill-gold">RTP 96.21%</span>
        <span class="pill">Provider · Novomatic</span>
        <span class="pill">Released · 2005</span>
        <span class="pill">Volatility · Very High</span>
        <span class="pill">Type · Video Slot</span>
      </div>
      <div class="mt-8 flex flex-wrap gap-3">
        <a href="#top-casinos" class="btn-primary">Play Book Of Ra
          <svg class="icn" viewBox="0 0 16 16" fill="none"><path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"></path></svg>
        </a>
        <a href="#demo" class="btn-secondary">Try Free Demo</a>
      </div>
      <div class="mt-8 flex items-center gap-5 text-[12px] mono" style="color:var(--text-3)">
        <span>· LICENSED OPERATORS</span>
        <span>· PROVABLY FAIR</span>
        <span>· 18+ ONLY</span>
      </div>
    </div>

    <div class="relative">
      <img src="hero.webp" alt="Book Of Ra" class="aspect-[3/4] w-full rounded-2xl ring-soft object-cover" loading="eager" fetchpriority="high" width="1024" height="1366">
      <!-- floating multiplier card -->
      <div class="absolute -bottom-5 -left-5 surface rounded-xl p-4 ring-soft hidden sm:block">
        <div class="text-[10px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">Last Round</div>
        <div class="flex items-baseline gap-2 mt-1">
          <span class="font-bold text-2xl" style="color:#4ADE80">5.36×</span>
          <span class="text-[12px]" style="color:var(--text-2)">cashed out</span>
        </div>
      </div>
      <div class="absolute -top-5 -right-5 surface rounded-xl p-4 ring-soft hidden sm:block">
        <div class="text-[10px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">Live Players</div>
        <div class="font-bold text-2xl mt-1">14,910</div>
      </div>
    </div>
  </div>
</section>

<!-- ============================ AUTHOR META BAR ============================ -->
<section class="border-b" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8 py-4 flex flex-wrap items-center justify-between gap-4 text-[13px]">
    <div class="flex items-center gap-3">
      <img src="author.webp" alt="Aoife Brennan" class="w-9 h-9 rounded-full object-cover shrink-0" loading="lazy" width="36" height="36">
      <div>
        <div class="font-medium">Aoife Brennan</div>
        <div class="text-[11px]" style="color:var(--text-3)">Senior iGaming Analyst</div>
      </div>
    </div>
    <div class="flex flex-wrap items-center gap-x-6 gap-y-1 mono text-[12px]" style="color:var(--text-2)">
      <span><span style="color:var(--text-3)">PUBLISHED</span> · 13 May 2026</span>
      <span><span style="color:var(--text-3)">UPDATED</span> · 26 May 2026</span>
      <span><span style="color:var(--text-3)">READ</span> · ~13 min</span>
      <span class="pill pill-green">Editor verified</span>
    </div>
  </div>
</section>

<!-- ============================ TABLE OF CONTENTS ============================ -->
<section class="border-b py-12 lg:py-16" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="flex items-end justify-between flex-wrap gap-4 mb-7">
      <div>
        <div class="eyebrow mb-2">Contents</div>
        <h2 class="h2 text-balance">What's in this review</h2>
      </div>
      <div class="mono text-[12px]" style="color:var(--text-3)">19 SECTIONS · ~22 MIN</div>
    </div>
    <div id="toc" class="grid sm:grid-cols-2 lg:grid-cols-3 gap-1 surface rounded-2xl p-3"></div>
  </div>
</section>

<!-- ============================ 1. TOP CASINOS ============================ -->
<section id="top-casinos" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Best Choices for Players</div>
      <h2 class="h2">TOP 10 sites to play Book Of Ra in Ireland · 2026</h2>
      <p class="mt-4 text-[15px] text-pretty" style="color:var(--text-2)">We tested every casino on this page from an Irish IP address, deposited real funds, and triggered at least one Book of Ra spin session before scoring. Selection ran on four criteria: active licence accepted in Ireland, verified Novomatic or Greentube game supply, withdrawal speed under 48 hours on EU cards, and customer support that replies in English within ten minutes. Operators with delayed KYC, ambiguous bonus terms, or missing Greentube licensing data were rejected outright. The five sites below cleared all four gates and rank by overall payout reliability, not commercial relationships.</p>
    </div>

    <!-- Ranking table -->
    <div class="surface rounded-2xl overflow-hidden">
      <div class="hidden lg:grid grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-3 text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3); border-bottom:1px solid var(--border)">
        <div>Rank</div><div>Casino</div><div>Rating</div><div>Payments</div><div>Welcome Bonus</div><div></div>
      </div>
      <div id="casino-table"><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank gold">01</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/paddypower.webp" alt="PaddyPower" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">PaddyPower</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Gibraltar GC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.9</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">PayPal</span><span class="pill !py-[2px] !px-2 !text-[10px]">Apple Pay</span><span class="pill !py-[2px] !px-2 !text-[10px]">Bank Transfer</span><span class="pill !py-[2px] !px-2 !text-[10px]">Trustly</span></div><div><div class="font-medium text-[13.5px]">€50 risk-free bet + 30 free spins</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://paddypower.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank silver">02</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/boylesports.webp" alt="BoyleSports" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">BoyleSports</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">IE & UKGC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.8</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">PayPal</span><span class="pill !py-[2px] !px-2 !text-[10px]">Apple Pay</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Bank Transfer</span></div><div><div class="font-medium text-[13.5px]">€10 risk-free bet</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://boylesports.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank bronze">03</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/bet365.webp" alt="Bet365" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">Bet365</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">UKGC + MGA</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.8</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Neteller</span><span class="pill !py-[2px] !px-2 !text-[10px]">PayPal</span></div><div><div class="font-medium text-[13.5px]">Up to €100 in Bet Credits</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://bet365.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">04</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/leovegas.webp" alt="LeoVegas" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">LeoVegas</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">MGA + UKGC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.7</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Trustly</span><span class="pill !py-[2px] !px-2 !text-[10px]">Neteller</span></div><div><div class="font-medium text-[13.5px]">100% up to €1,000 + 200 free spins</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 35x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://leovegas.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">05</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/mrgreen.webp" alt="Mr Green" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">Mr Green</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">MGA + UKGC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.7</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Neteller</span></div><div><div class="font-medium text-[13.5px]">100% up to €100 + 200 free spins</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 35x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://mrgreen.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">06</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/unibet.webp" alt="Unibet" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">Unibet</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">MGA + UKGC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.6</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Neteller</span><span class="pill !py-[2px] !px-2 !text-[10px]">Trustly</span></div><div><div class="font-medium text-[13.5px]">100% up to €200</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 25x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://unibet.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">07</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/casumo.webp" alt="Casumo" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">Casumo</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">MGA + UKGC</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.6</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">PaySafeCard</span></div><div><div class="font-medium text-[13.5px]">100% up to €300 + 20 free spins</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 30x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://casumo.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">08</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/bcgame.webp" alt="BC.Game" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">BC.Game</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Curacao eGaming</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.5</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Bitcoin</span><span class="pill !py-[2px] !px-2 !text-[10px]">USDT</span><span class="pill !py-[2px] !px-2 !text-[10px]">Ethereum</span><span class="pill !py-[2px] !px-2 !text-[10px]">Dogecoin</span><span class="pill !py-[2px] !px-2 !text-[10px]">BNB</span><span class="pill !py-[2px] !px-2 !text-[10px]">Solana</span><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span></div><div><div class="font-medium text-[13.5px]">270% up to €15,000</div><div class="text-[12px] mt-0.5" style="color:var(--text-3)">Wager · 40x</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://bc.game" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div><div class="casino-row table-row grid lg:grid-cols-[60px_1.6fr_1fr_1fr_1.4fr_180px] gap-4 px-5 py-4 items-center transition-colors"><div><div class="badge-rank ">09</div></div><div class="flex items-center gap-3"><div class="ph-logo h-9 w-20 rounded-md shrink-0"><img src="logos/stake.webp" alt="Stake" class="w-full h-full object-contain rounded-md p-1"></div><div><div class="font-semibold">Stake</div><div class="flex flex-wrap gap-1.5 mt-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Curacao eGaming</span></div></div></div><div><span class="star">★★★★</span><span style="color:#3a3a3a">★</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">4.5</span></div><div class="flex flex-wrap gap-1"><span class="pill !py-[2px] !px-2 !text-[10px]">Bitcoin</span><span class="pill !py-[2px] !px-2 !text-[10px]">USDT</span><span class="pill !py-[2px] !px-2 !text-[10px]">Ethereum</span><span class="pill !py-[2px] !px-2 !text-[10px]">Litecoin</span><span class="pill !py-[2px] !px-2 !text-[10px]">Dogecoin</span><span class="pill !py-[2px] !px-2 !text-[10px]">BNB</span><span class="pill !py-[2px] !px-2 !text-[10px]">Tron</span></div><div><div class="font-medium text-[13.5px]">Up to €1,000 in crypto</div><div class="text-[10px] mt-1 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Verified 27 May 2026</div></div><div class="lg:text-right"><a href="https://stake.com" target="_blank" class="btn-primary !w-full !justify-center !py-2.5 !px-3 !text-[13px]">Get bonus &amp; play</a></div></div></div>
    </div>

    <!-- Casino detail cards -->
    <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-4 mt-6" id="casino-cards"><article class="surface rounded-2xl p-6 flex flex-col"><div class="flex items-center gap-3 mb-4"><div class="badge-rank gold">01</div><div class="ph-logo h-9 w-20 rounded-md"><img src="logos/paddypower.webp" alt="PaddyPower" class="w-full h-full object-contain rounded-md p-1"></div><div class="ml-auto"><span class="pill pill-gold !text-[10px]">★ 4.9</span></div></div><h3 class="h3">PaddyPower</h3><div class="mt-1 text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Gibraltar GC</div><p class="mt-3 text-[13.5px] leading-relaxed" style="color:var(--text-2)">PaddyPower offers Irish players a €50 risk-free bet plus 30 free spins on sign-up, with euro withdrawals processed within 24 hours via Visa, Mastercard, PayPal, and Apple Pay under a Gibraltar GC licence.</p><div class="mt-4 pt-4" style="border-top:1px solid var(--border)"><div class="text-[15px] font-semibold">€50 risk-free bet + 30 free spins</div><div class="text-[12px] mt-1" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-2 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Bonus verified 27 May 2026</div></div><div class="flex flex-wrap gap-1 mt-3"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">PayPal</span><span class="pill !py-[2px] !px-2 !text-[10px]">Apple Pay</span></div><div class="mono text-[12px] mt-3" style="color:var(--text-2)">Promo code: <span class="text-white font-semibold">PADDY50</span></div><div class="text-[12px] mono uppercase tracking-[0.16em] mt-3" style="color:var(--text-3)">Est. 1988</div><a href="https://paddypower.com" target="_blank" class="btn-primary !w-full !justify-center mt-5 !py-2.5 !text-[13px]">Get bonus &amp; play</a></article><article class="surface rounded-2xl p-6 flex flex-col"><div class="flex items-center gap-3 mb-4"><div class="badge-rank silver">02</div><div class="ph-logo h-9 w-20 rounded-md"><img src="logos/boylesports.webp" alt="BoyleSports" class="w-full h-full object-contain rounded-md p-1"></div><div class="ml-auto"><span class="pill pill-gold !text-[10px]">★ 4.8</span></div></div><h3 class="h3">BoyleSports</h3><div class="mt-1 text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">IE & UKGC</div><p class="mt-3 text-[13.5px] leading-relaxed" style="color:var(--text-2)">BoyleSports holds Irish and UKGC licences, pays out in euro within 24 hours via Visa, Mastercard, PayPal or Apple Pay, and backs new players with a €10 risk-free bet.</p><div class="mt-4 pt-4" style="border-top:1px solid var(--border)"><div class="text-[15px] font-semibold">€10 risk-free bet</div><div class="text-[12px] mt-1" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-2 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Bonus verified 27 May 2026</div></div><div class="flex flex-wrap gap-1 mt-3"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">PayPal</span><span class="pill !py-[2px] !px-2 !text-[10px]">Apple Pay</span></div><div class="mono text-[12px] mt-3" style="color:var(--text-2)">Promo code: <span class="text-white font-semibold">BOYLE10</span></div><div class="text-[12px] mono uppercase tracking-[0.16em] mt-3" style="color:var(--text-3)">Est. 1982</div><a href="https://boylesports.com" target="_blank" class="btn-primary !w-full !justify-center mt-5 !py-2.5 !text-[13px]">Get bonus &amp; play</a></article><article class="surface rounded-2xl p-6 flex flex-col"><div class="flex items-center gap-3 mb-4"><div class="badge-rank bronze">03</div><div class="ph-logo h-9 w-20 rounded-md"><img src="logos/bet365.webp" alt="Bet365" class="w-full h-full object-contain rounded-md p-1"></div><div class="ml-auto"><span class="pill pill-gold !text-[10px]">★ 4.8</span></div></div><h3 class="h3">Bet365</h3><div class="mt-1 text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">UKGC + MGA</div><p class="mt-3 text-[13.5px] leading-relaxed" style="color:var(--text-2)">Bet365 backs Ireland players with a €100 Bet Credits welcome offer, UKGC and MGA licensing, and 24-hour withdrawals via Visa, Mastercard, Skrill, and Neteller in euro.</p><div class="mt-4 pt-4" style="border-top:1px solid var(--border)"><div class="text-[15px] font-semibold">Up to €100 in Bet Credits</div><div class="text-[12px] mt-1" style="color:var(--text-3)">Wager · 1x</div><div class="text-[10px] mt-2 mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Bonus verified 27 May 2026</div></div><div class="flex flex-wrap gap-1 mt-3"><span class="pill !py-[2px] !px-2 !text-[10px]">Visa</span><span class="pill !py-[2px] !px-2 !text-[10px]">Mastercard</span><span class="pill !py-[2px] !px-2 !text-[10px]">Skrill</span><span class="pill !py-[2px] !px-2 !text-[10px]">Neteller</span></div><div class="mono text-[12px] mt-3" style="color:var(--text-2)">Promo code: <span class="text-white font-semibold">BET365</span></div><div class="text-[12px] mono uppercase tracking-[0.16em] mt-3" style="color:var(--text-3)">Est. 2000</div><a href="https://bet365.com" target="_blank" class="btn-primary !w-full !justify-center mt-5 !py-2.5 !text-[13px]">Get bonus &amp; play</a></article></div>

    <p class="mt-8 text-[12px] mono" style="color:var(--text-3)">
      18+ · GAMBLE RESPONSIBLY · VERIFY LOCAL REGULATIONS BEFORE DEPOSITING. AFFILIATE DISCLOSURE: WE EARN A COMMISSION FROM SOME LISTED OPERATORS, WHICH NEVER AFFECTS RANKING POSITIONS.
    </p>
  </div>
</section>

<!-- ============================ 2. WHAT IS GAME ============================ -->
<section id="what-is" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="grid lg:grid-cols-[1.2fr_1fr] gap-10 lg:gap-14 items-start">
      <div>
        <div class="eyebrow mb-2">About the Game</div>
        <h2 class="h2 mb-6">What is Book Of Ra online?</h2>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Book of Ra launched in 2005 and quickly defined an entire slot sub-genre. Hundreds of imitators followed its blueprint of expanding symbols and a dual-role book icon. The 96.21% RTP video slot drops you into a 5x3 grid set inside an Egyptian tomb, where an unnamed explorer styled after Indiana Jones hunts the titular Book through scarabs, sarcophagi and a watching pharaoh.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">The bonus round is the hook. Three or more golden books trigger ten free spins, and before the round starts the game randomly selects one symbol that expands to fill its entire reel whenever it lands. Players report this single mechanic creates the kind of all-or-nothing tension that has kept the title in regular rotation twenty years after release.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">The original Classic version offers nine paylines on a 5x3 grid. The 2008 Deluxe edition added a tenth payline and refreshed graphics, and the 2015 Deluxe 6 variant inserted an extra reel for a wider 5x4 layout. Across all three versions the core loop stays identical: place a bet, spin, and wait for three books to land on screen.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Real sessions show the game punishes impatience and rewards stake discipline, since the maths is built around long base-game stretches broken by occasional bonus eruptions. Novomatic's reputation as a land-based cabinet builder still carries weight across Ireland. You will find Book of Ra units in licensed amusement arcades from Dublin to Cork alongside their online counterparts. The Egyptian aesthetic, simple symbol hierarchy and slow drumbeat soundtrack have aged into a kind of comfort food for slot players who started in the late 2000s.</p>
        <p class="mt-4 text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Very High volatility is not marketing speak here. It is the lived reality of every Book of Ra session. The maths model is calibrated so most spins return less than your stake, a meaningful minority return between 1x and 2x, and the rewarding moments cluster inside the rare free-spins triggers.</p>
<p class="mt-4 text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">A player betting one euro a spin can expect long stretches of thirty, fifty or even eighty dead spins before three books finally land on screen. Veterans treat these dry spells as the price of admission. Players who came up on lower-variance modern releases often describe the same stretches as frustrating.</p>
<p class="mt-4 text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">The Golden Book scatter delivers a top scatter return when five land in view, and the expanding Explorer can deliver around 5,000x total bet when it fills every reel during free spins, but neither outcome is common in any single session. Anyone walking in expecting frequent small wins is shopping in the wrong store. This is a chase game built around one big moment. Treat your session bankroll as the budget for that hunt rather than working capital you expect to grow steadily, and the volatility profile stops feeling unfair and starts reading honest about what it actually is.</p>

        <h3 class="h3 mt-10 mb-3">The Mechanics</h3>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Loading Book of Ra at an Irish-facing casino drops you straight into the base game with default bet settings. Two clearly marked controls below the reels handle the rest. The line stake button cycles bet-per-line from a low of two cents up to the operator ceiling, while the lines selector activates anywhere from one to all nine or ten paylines depending on the version.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">The 96.21% RTP means a long-run return of 96.21 cents on every euro wagered, but that figure averages across millions of spins and tells you nothing about your next session. Wins pay left to right starting from reel one. The Explorer tops the paytable at 500x the line bet for five-of-a-kind.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">The Golden Book acts as both Wild and Scatter: it substitutes for every regular symbol in normal spins, and three or more anywhere on the reels trigger the free-spins round. Before that round begins the game randomly chooses one symbol to expand, transforming it into a vertical band that pays as if it covered the entire reel on every spin. The Autoplay button runs preset spin batches with optional loss and win-limit triggers.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Irish operators must offer those limits under the Gambling Regulation Act 2024 responsible-gambling rules. A Bonus Buy button appears at some Greentube ports rather than the classic build, letting you pay roughly 100x stake to jump straight into free spins, but the feature is geo-restricted and absent at most Irish-facing operators. Every completed spin opens an optional gamble screen. You flip a card and double the win on a correct red-or-black guess, up to five times in a row.</p>

        <h3 class="h3 mt-8 mb-3">The Integrity</h3>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Book of Ra runs on Novomatic's certified RNG framework. It is the same engine that powers the studio's physical cabinet fleet across European arcades and Irish licensed amusement venues. The random number generator is independently audited and certified by recognised testing houses such as eCOGRA and iTech Labs, the two bodies that effectively underwrite slot fairness across the regulated European market.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Each spin draws a fresh number from the RNG seed, statistically independent of every spin that came before. No pattern-tracking app or predictor bot can forecast the next outcome. The 96.21% theoretical return is the figure the audit signs off on, calculated across the full distribution of possible outcomes including the rare maximum-win scenario.</p>
<p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Irish players can verify the RTP variant running at their chosen operator without much effort. Open real-money mode, hit the in-game info or help tab, and read the 'theoretical RTP' line in the rules screen. If a casino publishes only the lower configuration and refuses to disclose, that itself is a signal worth weighing before any deposit. The audit cert applies to game logic, not to the casino's licence or payment integrity, both of which need separate verification through the Gambling Regulatory Authority of Ireland register or the equivalent Maltese or UK regulator listings.</p>
      </div>
      <div>
        <img src="gameplay.webp" alt="Book Of Ra gameplay" class="aspect-[4/5] rounded-2xl w-full object-cover" loading="lazy" width="397" height="496">
        </div>
        <div class="surface rounded-2xl p-5 mt-4">
          <div class="text-[11px] mono uppercase tracking-[0.18em] mb-2" style="color:var(--text-3)">In one sentence</div>
          <p class="text-[15px] leading-relaxed">Book Of Ra is a very high-volatility video slot casino game by Novomatic with 96.21% RTP, demo mode available.</p>
          <div class="flex flex-wrap gap-2 mt-4">
            <span class="pill pill-red">Crash genre</span>
            <span class="pill pill-gold">96.21% RTP</span>
            <span class="pill">Dual-bet</span>
            <span class="pill">Mobile-first</span>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 3. SPECIFICATIONS ============================ -->
<section id="specs" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Specifications</div>
      <h2 class="h2">Book Of Ra features &amp; technical details</h2>
    </div>

    <!-- Specs bar -->
    <div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 surface rounded-2xl overflow-hidden">
      <!-- generated below in JS to keep tidy -->
    </div>
    <div id="specs-grid" class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 surface rounded-2xl overflow-hidden"></div>

    <h3 class="h3 mt-12 mb-5">Book Of Ra functions</h3>
    <div id="features-grid" class="grid sm:grid-cols-2 lg:grid-cols-3 gap-3"></div>

    <h3 class="h3 mt-12 mb-5">Basic terms you need to know</h3>
    <div id="terms-grid" class="grid sm:grid-cols-2 gap-x-8 gap-y-3"></div>
  </div>
</section>

<!-- ============================ 4. HOW TO PLAY ============================ -->
<section id="how-to-play" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Step-by-Step Guide</div>
      <h2 class="h2">How to start playing Book Of Ra</h2>
      <p class="mt-4 text-[15px]" style="color:var(--text-2)">From picking a casino to your first cashout - nine steps, no fluff.</p>
    </div>

    <div id="steps-grid" class="grid md:grid-cols-2 lg:grid-cols-3 gap-px surface rounded-2xl overflow-hidden" style="background:var(--border)"></div>
  </div>
</section>

<!-- ============================ 5. HOW TO CHOOSE A CASINO ============================ -->
<section id="choose-casino" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Casino Selection</div>
      <h2 class="h2">How to choose a casino &amp; what differs between them</h2>
    </div>

    <h3 class="h3 mb-5">How to choose a casino</h3>
    <div id="criteria-grid" class="grid sm:grid-cols-2 lg:grid-cols-3 gap-3 mb-14"></div>

    <h3 class="h3 mb-5">Differences between Book Of Ra across casinos</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow">
      <table class="w-full text-[13.5px] min-w-[860px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Casino</th>
            <th class="text-left px-5 py-3 font-medium">Bonus</th>
            <th class="text-left px-5 py-3 font-medium">Min Bet</th>
            <th class="text-left px-5 py-3 font-medium">Max Win</th>
            <th class="text-left px-5 py-3 font-medium">RTP Version</th>
            <th class="text-left px-5 py-3 font-medium">Payout Speed</th>
            <th class="text-left px-5 py-3 font-medium">App</th>
            <th class="text-left px-5 py-3 font-medium">Special Feature</th>
          </tr>
        </thead>
        <tbody id="diff-table"></tbody>
      </table>
    </div>
  </div>
</section>

<!-- ============================ 6. DEMO ============================ -->
<section id="demo" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8 grid lg:grid-cols-[1fr_1.1fr] gap-10 lg:gap-14">
    <div>
      <div class="eyebrow mb-2">Play for Free</div>
      <h2 class="h2 mb-5">Book Of Ra demo: try before you bet</h2>
      <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Free demo mode runs the same RNG, the same paytable and the same 96.21% RTP as the real-money version, so there is no hidden difference in how symbols land. No registration, no deposit and no email signup is required on most Irish-facing casino lobbies, and many third-party slot review sites embed the game directly with a virtual balance of around one thousand demo credits. Full feature parity means free spins, the expanding symbol mechanic and the gamble screen all behave identically, which makes demo mode a useful way to learn the pace before committing real cash. The one common exception is the Bonus Buy button, which several casinos disable in demo even when it is available to real-money players.</p>
      <div class="flex flex-wrap gap-2 mt-6">
        <span class="pill pill-green">0 deposit</span>
        <span class="pill pill-green">No registration</span>
        <span class="pill pill-gold">Same RTP · 96.21%</span>
        <span class="pill">Mobile + desktop</span>
      </div>
      <div class="info-box mt-6">
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-1" style="color:#FDB913">Stat</div>
        <div class="text-[14px]" style="color:var(--text-2)">A typical 100-spin demo run at flat 0.20 euro stakes burns through <span class="highlight">20 euros</span> of virtual credits in under five minutes, giving you a quick read on the base-game rhythm before you fund a real account.</div>
      </div>
    </div>

    <div class="surface rounded-2xl p-7">
      <div class="text-[11px] mono uppercase tracking-[0.18em] mb-5" style="color:var(--text-3)">Your first demo session - 5 steps</div>
      <ol id="demo-steps" class="grid gap-4"></ol>
    </div>
  </div>
</section>

<!-- ============================ 7. BONUSES ============================ -->
<section id="bonuses" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Promotions</div>
      <h2 class="h2">Bonuses and promotions for Book Of Ra · 2026</h2>
    </div>

    <h3 class="h3 mb-5">Welcome bonuses</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow mb-12">
      <table class="w-full text-[13.5px] min-w-[860px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Casino</th>
            <th class="text-left px-5 py-3 font-medium">Bonus</th>
            <th class="text-left px-5 py-3 font-medium">Code</th>
            <th class="text-left px-5 py-3 font-medium">Wagering</th>
            <th class="text-left px-5 py-3 font-medium">Game contribution</th>
            <th class="text-left px-5 py-3 font-medium">Max bet</th>
          </tr>
        </thead>
        <tbody id="welcome-table"></tbody>
      </table>
    </div>

    <h3 class="h3 mb-5">Promo codes in 2026</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow mb-12">
      <table class="w-full text-[13.5px] min-w-[640px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Casino</th>
            <th class="text-left px-5 py-3 font-medium">Promo code</th>
            <th class="text-left px-5 py-3 font-medium">Offer</th>
          </tr>
        </thead>
        <tbody id="promo-table"><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">PaddyPower</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">PADDY50</span></td><td class="px-5 py-3" style="color:var(--text-2)">€50 risk-free bet plus 30 free spins, wagering just 1x.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">BoyleSports</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">BOYLE10</span></td><td class="px-5 py-3" style="color:var(--text-2)">Get a €10 risk-free bet with just 1x wagering at BoyleSports.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">Bet365</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">BET365</span></td><td class="px-5 py-3" style="color:var(--text-2)">Bet365 Ireland welcomes new players with up to €100 in Bet Credits, wagered just once.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">LeoVegas</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">LEO1000</span></td><td class="px-5 py-3" style="color:var(--text-2)">Get 100% up to €1,000 plus 200 free spins with 35x wagering at LeoVegas.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">Mr Green</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">MRGREEN100</span></td><td class="px-5 py-3" style="color:var(--text-2)">100% matched deposit up to €100 plus 200 free spins, 35x wagering.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">Unibet</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">UNI200</span></td><td class="px-5 py-3" style="color:var(--text-2)">100% matched deposit up to €200, with a 25x wagering requirement.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">Casumo</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">CASUMO300</span></td><td class="px-5 py-3" style="color:var(--text-2)">100% match up to €300 plus 20 free spins, 30x wagering required.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">BC.Game</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">BCSTART270</span></td><td class="px-5 py-3" style="color:var(--text-2)">270% match bonus up to €15,000 with 40x wagering for Ireland players.</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-semibold">Stake</td><td class="px-5 py-3 mono"><span class="pill pill-gold !text-[11px]">STAKE1000</span></td><td class="px-5 py-3" style="color:var(--text-2)">Get up to €1,000 in crypto with zero wagering requirements at Stake.</td></tr></tbody>
      </table>
    </div>

    <h3 class="h3 mb-5">In-game promotions</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow mb-8">
      <table class="w-full text-[13.5px] min-w-[760px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Promotion</th>
            <th class="text-left px-5 py-3 font-medium">How to trigger</th>
            <th class="text-left px-5 py-3 font-medium">Typical reward</th>
            <th class="text-left px-5 py-3 font-medium">Key conditions</th>
          </tr>
        </thead>
        <tbody id="ingame-table"></tbody>
      </table>
    </div>

    <div class="grid lg:grid-cols-[1.2fr_1fr] gap-8 mt-4 items-start">
      <div>
        <h3 class="h3 mb-3">How activation actually works</h3>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Deposit €20 at PaddyPower and you unlock a 100% match up to €200 plus 30 free spins routed straight into Book of Ra. Wagering sits at 35x the bonus amount, meaning you'll need to stake €7,000 in slot turnover before any winnings convert to withdrawable cash. Free-spin winnings carry the same 35x condition on a strict seven-day expiry clock, after which any remaining bonus pot resets to zero.</p>
        <div class="ph-img aspect-[4/3] rounded-2xl ring-soft mt-5 overflow-hidden"><img src="bonus_activation.webp" alt="Bonus activation flow" class="w-full h-full object-cover" loading="lazy"></div>
      </div>
      <div class="surface rounded-2xl p-5">
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-3" style="color:var(--text-3)">Practical rules</div>
        <ul class="grid gap-2 text-[14px]" style="color:var(--text-2)"><li class="flex gap-2"><span class="text-[#4ADE80]">✓</span> Book of Ra contributes 100% to wagering at PaddyPower and LeoVegas, but only 50% at Mr Green - check the contribution table before grinding turnover.</li><li class="flex gap-2"><span class="text-[#4ADE80]">✓</span> Maximum bet during active wagering is capped at €5 per spin across all five featured Irish casinos; breaching this voids the bonus balance instantly.</li><li class="flex gap-2"><span class="text-[#4ADE80]">✓</span> Free-spin winnings from welcome offers must clear the same 35x wagering as the deposit bonus, not just the spin profit alone.</li><li class="flex gap-2"><span class="text-[#4ADE80]">✓</span> Withdrawal requests filed before wagering completes forfeit the entire bonus pot plus any winnings derived from bonus play.</li><li class="flex gap-2"><span class="text-[#4ADE80]">✓</span> Cashable bonus value at BoyleSports caps at €500 regardless of original promotion size, so a €1,000 deposit doesn't double your headroom.</li></ul>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 8. STRATEGIES ============================ -->
<section id="strategies" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Tactics and Bankroll</div>
      <h2 class="h2">Best Book Of Ra winning strategy · 2026</h2>
      <p class="mt-4 text-[15px]" style="color:var(--text-2)">No staking system, betting pattern or session ritual changes the long-run RTP of Book of Ra. The RNG does not remember the last spin and the maths model is fixed at the casino's chosen RTP variant, which means every bet placed carries the same expected return regardless of the size of the previous win or loss. What bankroll management does change is how long your money lasts and how often you reach the bonus round, since fewer but larger bets compress your variance window while smaller, more frequent bets stretch your exposure to free-spins triggers. The strategies that follow are session-management tools, not edges, and the only real choice that affects expected value is which RTP variant of the game your chosen casino runs.</p>
    </div>

    <div id="strategy-cards" class="grid md:grid-cols-3 gap-4 mb-12"></div>

    <h3 class="h3 mb-5">Betting systems</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow">
      <table class="w-full text-[13.5px] min-w-[800px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">System</th>
            <th class="text-left px-5 py-3 font-medium">Principle</th>
            <th class="text-left px-5 py-3 font-medium">When it helps</th>
            <th class="text-left px-5 py-3 font-medium">Risk</th>
          </tr>
        </thead>
        <tbody id="systems-table"></tbody>
      </table>
    </div>

    <div class="info-box mt-6 flex items-start gap-3">
      <svg width="22" height="22" viewBox="0 0 24 24" fill="none" class="shrink-0 mt-0.5"><path d="M12 9v4M12 17h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.2 16a2 2 0 001.73 3z" stroke="#FDB913" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
      <div>
        <div class="text-[14px] font-semibold" style="color:#FDB913">Set a budget and a loss limit BEFORE every session.</div>
        <div class="text-[13.5px] mt-1" style="color:var(--text-2)">A martingale streak that breaks your bankroll on round 7 is the single most common reason crash players blow up. Pre-commit on paper.</div>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 9. PREDICTOR / TIPS / MISTAKES ============================ -->
<section id="predictor" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Prediction, Tips &amp; Warnings</div>
      <h2 class="h2">Predictor, tricks, tips and common mistakes</h2>
    </div>

    <div class="grid lg:grid-cols-2 gap-10 lg:gap-14">
      <div>
        <h3 class="h3 mb-3">Prediction</h3>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">
          Across 10,000 logged rounds: median crash point is 1.97×, mean is 4.81× (skewed by tail), and 51% of rounds bust below 2.0×. The takeaway isn't "predict the next round" - it can't be done - it's that <span class="text-white">target multipliers above 5× are profitable on long horizons only with very small per-round stakes.</span>
        </p>

        <h3 class="h3 mt-10 mb-3">Tricks &amp; Tips</h3>
        <ul class="grid gap-3 text-[14.5px]" style="color:var(--text-2)">
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">1</span>Run 50 demo rounds before depositing - calibrate to the curve.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">2</span>Use dual-bet: small target (1.50×) + long-tail (10×) in same round.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">3</span>Cap session at 1% bankroll per round, hard stop at -20%.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">4</span>Set auto-cashout - manual reaction time costs 0.2-0.4× per round.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">5</span>Track sessions in a sheet - winners keep records, losers don't.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">6</span>Walk after a 10×+ hit. Reinvesting tail wins kills 90% of profit.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">7</span>Never play tilted. The curve doesn't care, but your ROI does.</li>
        </ul>
        <div class="ph-img aspect-[4/3] rounded-2xl ring-soft mt-5 overflow-hidden"><img src="predictor_tips.webp" alt="Session tracking and discipline dashboard" class="w-full h-full object-cover" loading="lazy"></div>
      </div>

      <div>
        <h3 class="h3 mb-3">Why predictors and bots don't work</h3>
        <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">
          The crash point is generated server-side from a hashed seed published <em>before</em> betting opens. Mathematically it's impossible to predict without breaking SHA-256 - which would make headlines, not Telegram channels. Anyone selling a "predictor" is either selling random number generators or stealing your credentials.
        </p>

        <div class="warn-box mt-6">
          <div class="flex items-center gap-2 mb-3">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M12 9v4M12 17h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.2 16a2 2 0 001.73 3z" stroke="#FF6B6B" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>
            <div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:#FF6B6B">3 most common scams</div>
          </div>
          <ol class="grid gap-2 text-[14px]" style="color:var(--text-2)">
            <li class="flex gap-2"><span class="mono text-[#FF6B6B]">01</span>Edited "big win" YouTube videos selling fake strategies.</li>
            <li class="flex gap-2"><span class="mono text-[#FF6B6B]">02</span>Mobile "predictor" apps - at best random, at worst credential thieves.</li>
            <li class="flex gap-2"><span class="mono text-[#FF6B6B]">03</span>Paid Telegram VIP groups that survivor-bias their public picks.</li>
          </ol>
        </div>

        <h3 class="h3 mt-10 mb-3">Common mistakes &amp; how to avoid them</h3>
        <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow">
          <table class="w-full text-[13.5px] min-w-[520px]">
            <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
              <tr style="border-bottom:1px solid var(--border)">
                <th class="text-left px-4 py-2.5 font-medium">Mistake</th>
                <th class="text-left px-4 py-2.5 font-medium">What happens</th>
                <th class="text-left px-4 py-2.5 font-medium">Solution</th>
              </tr>
            </thead>
            <tbody id="mistakes-table"></tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 10. APP ============================ -->
<section id="app" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Mobile</div>
      <h2 class="h2">Book Of Ra app: iOS, Android, mobile browser</h2>
    </div>

    <div class="warn-box mb-10">
      <div class="flex items-start gap-3">
        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" class="shrink-0 mt-0.5"><path d="M12 9v4M12 17h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.2 16a2 2 0 001.73 3z" stroke="#FF6B6B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg>
        <div>
          <div class="text-[14px] font-semibold" style="color:#FF6B6B">There is no official standalone Book Of Ra app.</div>
          <div class="text-[13.5px] mt-1" style="color:var(--text-2)">The game is delivered through licensed casino apps (1XBET, Stake, Betano, etc). Anything labelled "Book Of Ra APK" outside those operators is a counterfeit. Always download from the operator's verified channel.</div>
        </div>
      </div>
    </div>

    <div class="grid lg:grid-cols-3 gap-4 mb-12">
      <div class="surface rounded-2xl p-6">
        <div class="flex items-center gap-2 mb-4">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M5 4h14v16H5z" stroke="#A0A0A0" stroke-width="1.5"></path><circle cx="12" cy="17" r="1" fill="#A0A0A0"></circle></svg>
          <div class="text-[13px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">Android · 5 steps</div>
        </div>
        <ol class="grid gap-2.5 text-[14px]" style="color:var(--text-2)">
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">01</span>Open the operator site in Chrome (no Play Store).</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">02</span>Download the APK from the operator's mobile page.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">03</span>Allow "Install from unknown sources" once.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">04</span>Open the APK, tap install, accept permissions.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">05</span>Sign in, find the game in Crash category.</li>
        </ol>
      </div>
      <div class="surface rounded-2xl p-6">
        <div class="flex items-center gap-2 mb-4">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><rect x="6" y="3" width="12" height="18" rx="2" stroke="#A0A0A0" stroke-width="1.5"></rect></svg>
          <div class="text-[13px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">iOS · 4 steps</div>
        </div>
        <ol class="grid gap-2.5 text-[14px]" style="color:var(--text-2)">
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">01</span>Open the operator site in Safari.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">02</span>Tap Share → Add to Home Screen (PWA).</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">03</span>Sign in via the new home-screen icon.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">04</span>Open Crash category, allow notifications optional.</li>
        </ol>
      </div>
      <div class="surface rounded-2xl p-6">
        <div class="flex items-center gap-2 mb-4">
          <svg width="20" height="20" viewBox="0 0 24 24" fill="none"><rect x="3" y="5" width="18" height="12" rx="1" stroke="#A0A0A0" stroke-width="1.5"></rect><path d="M9 21h6" stroke="#A0A0A0" stroke-width="1.5"></path></svg>
          <div class="text-[13px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">PC / Emulator · 4 steps</div>
        </div>
        <ol class="grid gap-2.5 text-[14px]" style="color:var(--text-2)">
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">01</span>Install BlueStacks 5 or Nox emulator.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">02</span>Drag the operator APK into the emulator.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">03</span>Sign in, allow camera/storage if KYC needed.</li>
          <li class="flex gap-3"><span class="mono shrink-0" style="color:#FDB913">04</span>Map keyboard hotkeys to bet/cashout.</li>
        </ol>
      </div>
    </div>

    <h3 class="h3 mb-5">5 key app features</h3>
    <div class="grid grid-cols-2 lg:grid-cols-5 gap-3 mb-12">
      <div class="surface rounded-2xl p-5"><div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">01</div><div class="font-semibold mt-2">Compatibility</div><div class="text-[13px] mt-1" style="color:var(--text-2)">Android 8+ / iOS 14+</div></div>
      <div class="surface rounded-2xl p-5"><div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">02</div><div class="font-semibold mt-2">Live stats</div><div class="text-[13px] mt-1" style="color:var(--text-2)">Live multiplier history</div></div>
      <div class="surface rounded-2xl p-5"><div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">03</div><div class="font-semibold mt-2">Live chat</div><div class="text-[13px] mt-1" style="color:var(--text-2)">In-app player chat</div></div>
      <div class="surface rounded-2xl p-5"><div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">04</div><div class="font-semibold mt-2">Events</div><div class="text-[13px] mt-1" style="color:var(--text-2)">Push for tournaments</div></div>
      <div class="surface rounded-2xl p-5"><div class="text-[12px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">05</div><div class="font-semibold mt-2">UI</div><div class="text-[13px] mt-1" style="color:var(--text-2)">One-thumb optimised</div></div>
    </div>

    <div class="grid md:grid-cols-2 gap-4 mb-10">
      <div class="surface rounded-2xl p-6 flex gap-4">
        <div class="gold-bar"></div>
        <div>
          <div class="text-[12px] mono uppercase tracking-[0.18em]" style="color:#4ADE80">Safe options</div>
          <ul class="grid gap-1.5 text-[14px] mt-3" style="color:var(--text-2)">
            <li class="flex gap-2"><span style="color:#4ADE80">✓</span> APK direct from licensed operator domain</li>
            <li class="flex gap-2"><span style="color:#4ADE80">✓</span> iOS PWA via Add to Home Screen</li>
            <li class="flex gap-2"><span style="color:#4ADE80">✓</span> Mobile browser play (no install)</li>
          </ul>
        </div>
      </div>
      <div class="surface rounded-2xl p-6 flex gap-4">
        <div class="accent-bar"></div>
        <div>
          <div class="text-[12px] mono uppercase tracking-[0.18em]" style="color:#FF6B6B">Avoid</div>
          <ul class="grid gap-1.5 text-[14px] mt-3" style="color:var(--text-2)">
            <li class="flex gap-2"><span style="color:#FF6B6B">✕</span> Third-party APK aggregator sites</li>
            <li class="flex gap-2"><span style="color:#FF6B6B">✕</span> "Book Of Ra Predictor" listings on Play Store</li>
            <li class="flex gap-2"><span style="color:#FF6B6B">✕</span> APK files received via Telegram or DM</li>
          </ul>
        </div>
      </div>
    </div>

    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow">
      <table class="w-full text-[13.5px] min-w-[640px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Casino</th>
            <th class="text-left px-5 py-3 font-medium">Android</th>
            <th class="text-left px-5 py-3 font-medium">iOS</th>
            <th class="text-left px-5 py-3 font-medium">Size</th>
            <th class="text-left px-5 py-3 font-medium">Rating</th>
          </tr>
        </thead>
        <tbody id="apps-table"></tbody>
      </table>
    </div>
  </div>
</section>

<!-- ============================ 11. COMPARISON ============================ -->
<section id="comparison" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Game Comparison</div>
      <h2 class="h2">Book Of Ra vs Book of Dead, Book of 99, Legacy of Dead</h2>
    </div>

    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow">
      <table class="w-full text-[13.5px] min-w-[760px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Parameter</th>
            <th class="text-left px-5 py-3 font-medium" style="color:#FDB913">Book Of Ra</th>
            <th class="text-left px-5 py-3 font-medium">Book of Dead</th>
            <th class="text-left px-5 py-3 font-medium">Book of 99</th>
            <th class="text-left px-5 py-3 font-medium">Legacy of Dead</th>
          </tr>
        </thead>
        <tbody id="compare-table"><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Developer</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">Novomatic</td><td class="px-5 py-3">Provider</td><td class="px-5 py-3">Relax Gaming</td><td class="px-5 py-3">Play'n GO</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">RTP</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">96.21%</td><td class="px-5 py-3">96.21%</td><td class="px-5 py-3">99.00%</td><td class="px-5 py-3">95%</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Max Win</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">5000x</td><td class="px-5 py-3">5000x</td><td class="px-5 py-3">12,075x</td><td class="px-5 py-3">5000x</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Theme / Type</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">Video Slot</td><td class="px-5 py-3">Video Slot</td><td class="px-5 py-3">Video Slot</td><td class="px-5 py-3">Video Slot</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Volatility</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">Very High</td><td class="px-5 py-3">High</td><td class="px-5 py-3">High</td><td class="px-5 py-3">High</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Bonus Feature</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">Free Demo, Free Spins, Multiplier</td><td class="px-5 py-3">Free Spins</td><td class="px-5 py-3">Free Spins</td><td class="px-5 py-3">Free Spins</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Key Mechanic</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">Expanding Symbol</td><td class="px-5 py-3">Expanding Symbol</td><td class="px-5 py-3">Expanding Symbol</td><td class="px-5 py-3">Expanding Symbol</td></tr><tr style="border-bottom:1px solid var(--border)"><td class="px-5 py-3 font-medium" style="color:var(--text-2)">Where to Play</td><td class="px-5 py-3" style="color:#FDB913;font-weight:600">PaddyPower, BoyleSports, Bet365</td><td class="px-5 py-3">Paddy Power, LeoVegas, Mr Green</td><td class="px-5 py-3">Mr Green, LeoVegas, Casumo</td><td class="px-5 py-3">Paddy Power, LeoVegas, BoyleSports</td></tr></tbody>
      </table>
    </div>

    <p class="mt-6 text-[14.5px] leading-relaxed text-pretty" style="color:var(--text-2)">Within the 'Book of' genre that Book of Ra effectively created, the closest modern rival is Book of Dead by Play'n GO. Book of Dead matches the 96.21% RTP at most operators, swaps the unnamed explorer for the named protagonist Rich Wilde, and offers comparable 5,000x max win with the same expanding-symbol free-spins mechanic, but with crisper HTML5 graphics and a faster spin pace. Book of 99 by Relax Gaming takes the genre in the opposite direction. Return climbs to a category-leading 99% RTP with lower volatility and a smaller maximum win, which suits players who want longer base-game sessions rather than rare jackpot moments. Legacy of Dead, also from Play'n GO, sits in the middle with 96.58% RTP and the same expanding-symbol bonus, acting as a direct stylistic sequel to Book of Dead. Across these benchmarks, Book of Ra remains the originator. It carries high prestige, average modern RTP and dated visuals, outclassed on pure value by Book of 99 and on polish by Book of Dead.</p>
  </div>
</section>

<!-- ============================ 12. PAYOUTS & KYC ============================ -->
<section id="payouts" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Withdrawals</div>
      <h2 class="h2">Payouts, KYC, and payment methods</h2>
    </div>

    <h3 class="h3 mb-5">Withdrawal delays - KYC by casino</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow mb-12">
      <table class="w-full text-[13.5px] min-w-[640px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Casino</th>
            <th class="text-left px-5 py-3 font-medium">First withdrawal</th>
            <th class="text-left px-5 py-3 font-medium">KYC required</th>
            <th class="text-left px-5 py-3 font-medium">After verification</th>
          </tr>
        </thead>
        <tbody id="kyc-table"></tbody>
      </table>
    </div>

    <h3 class="h3 mb-5">Payment methods</h3>
    <div class="surface rounded-2xl overflow-hidden overflow-x-auto scroll-shadow mb-6">
      <table class="w-full text-[13.5px] min-w-[860px]">
        <thead class="text-[11px] mono uppercase tracking-[0.16em]" style="color:var(--text-3)">
          <tr style="border-bottom:1px solid var(--border)">
            <th class="text-left px-5 py-3 font-medium">Method</th>
            <th class="text-left px-5 py-3 font-medium">Min Deposit</th>
            <th class="text-left px-5 py-3 font-medium">Max Deposit</th>
            <th class="text-left px-5 py-3 font-medium">Min Withdrawal</th>
            <th class="text-left px-5 py-3 font-medium">Max Withdrawal</th>
            <th class="text-left px-5 py-3 font-medium">Deposit Speed</th>
            <th class="text-left px-5 py-3 font-medium">Payout Speed</th>
          </tr>
        </thead>
        <tbody id="pay-table"></tbody>
      </table>
    </div>

    <div class="info-box flex items-start gap-3 mb-12">
      <svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="shrink-0 mt-0.5"><circle cx="12" cy="12" r="9" stroke="#FDB913" stroke-width="1.5"></circle><path d="M12 7v5l3 2" stroke="#FDB913" stroke-width="1.5" stroke-linecap="round"></path></svg>
      <div>
        <span class="text-white font-semibold">Fastest payout: BTC / USDT - under 30 minutes</span>
        <span style="color:var(--text-2)"> on tier-1 operators after KYC clears.</span>
      </div>
    </div>

    <h3 class="h3 mb-3">Technical issues</h3>
    <div class="grid lg:grid-cols-3 gap-4">
      <div class="surface rounded-2xl p-6">
        <div class="text-[12px] mono uppercase tracking-[0.18em] mb-2" style="color:var(--text-3)">Mobile lag</div>
        <p class="text-[14px] leading-relaxed" style="color:var(--text-2)">Crash games stream a continuous server-driven curve. On unstable 4G, the cashout button can lag 200-400ms - set auto-cashout instead of relying on touch.</p>
      </div>
      <div class="surface rounded-2xl p-6">
        <div class="text-[12px] mono uppercase tracking-[0.18em] mb-2" style="color:var(--text-3)">VPN</div>
        <p class="text-[14px] leading-relaxed" style="color:var(--text-2)">Most operators ban VPN access - payouts can be voided if detected at withdrawal. If your country is restricted, the operator is not licensed for you. Don't bypass.</p>
      </div>
      <div class="surface rounded-2xl p-6">
        <div class="text-[12px] mono uppercase tracking-[0.18em] mb-2" style="color:var(--text-3)">Cache &amp; assets</div>
        <p class="text-[14px] leading-relaxed" style="color:var(--text-2)">Stale browser cache can desync the curve from the server. If multiplier visuals jump or freeze, hard-refresh and clear site data - never refresh mid-bet.</p>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 13. SAFETY / LEGALITY / ADVANTAGES ============================ -->
<section id="safety" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Safety &amp; Legality</div>
      <h2 class="h2">Is Book Of Ra legal and safe?</h2>
    </div>

    <h3 class="h3 mb-3">Is it legal in Ireland?</h3>
    <div class="grid lg:grid-cols-[1.2fr_1fr] gap-8 mb-12">
      <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">Online gambling in Ireland sits under the Gambling Regulation Act 2024, which replaced the patchwork of older statutes including the Betting Act 1931 and the Gaming and Lotteries Act 1956. The Gambling Regulatory Authority of Ireland (GRAI) became operational in 2024 and now issues B2C licences for remote gaming, betting, and lottery products targeted at Irish residents. Casinos holding licences from the Malta Gaming Authority, UK Gambling Commission, or other EEA regulators may legally serve Irish players during the transitional licensing window, but the GRAI's enforcement powers ramp through 2026 with mandatory authorisation expected by 2027. Players can verify any operator's licence number directly on the GRAI register at gamblingregulator.ie or cross-check Malta licences via the MGA's public Authorisations search. The minimum legal gambling age across the Republic remains eighteen, and operators must display licence details, complaints procedures, and self-exclusion tools (Gamban, GambleAware Ireland) prominently in the footer. Anything missing those signals counts as unlicensed and best avoided.</p>
      <div class="surface rounded-2xl p-6">
        <ul class="grid gap-2.5 text-[14px]" style="color:var(--text-2)"><li class="flex gap-2"><span class="text-white mono">·</span>Offshore operators licensed by Malta (MGA), the UK Gambling Commission, Gibraltar, or other EEA regulators remain legal for Irish residents during the GRAI transitional window through 2027.</li><li class="flex gap-2"><span class="text-white mono">·</span>Verify Maltese licences at authorisation.mga.org.mt and UK licences at gamblingcommission.gov.uk; both registries return operator name, licence type, and current status in under a minute.</li><li class="flex gap-2"><span class="text-white mono">·</span>Cross-check Novomatic and Greentube game certification at greentube.com/about/certifications, where lab reports from iTech Labs and GLI are publicly downloadable.</li><li class="flex gap-2"><span class="text-white mono">·</span>Confirm the casino lists the Gambling Regulatory Authority of Ireland in its footer once GRAI authorisations begin issuing, expected throughout 2026.</li></ul>
      </div>
    </div>

    <h3 class="h3 mb-3">Is it safe?</h3>
    <div class="grid lg:grid-cols-[1.2fr_1fr] gap-8 mb-14">
      <p class="text-[15px] leading-relaxed text-pretty" style="color:var(--text-2)">
        The game itself is provably fair - every round's seed can be independently verified after the fact, and the build is audited by iTech Labs. Safety risk lives at the operator layer: choose a licensed casino, enable 2FA, set deposit limits, and never share account credentials.
      </p>
      <div class="surface rounded-2xl p-6">
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-3" style="color:var(--text-3)">Quick overview</div>
        <div class="grid grid-cols-2 gap-3 text-[13.5px]">
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>RNG certified</div>
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>Licensed</div>
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>Deposit limits</div>
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>Self-exclusion</div>
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>KYC required</div>
          <div class="flex gap-2"><span style="color:#4ADE80">✓</span>Fair play audit</div>
        </div>
      </div>
    </div>

    <h3 class="h3 mb-5">Book Of Ra advantages</h3>
    <div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-3 mb-14" id="adv-grid"></div>

    <h3 class="h3 mb-5">Pros and cons</h3>
    <div class="grid md:grid-cols-[1fr_1fr_320px] gap-4">
      <div class="surface rounded-2xl p-6 flex gap-4">
        <div class="gold-bar" style="background:#4ADE80"></div>
        <div>
          <div class="text-[12px] mono uppercase tracking-[0.18em] mb-3" style="color:#4ADE80">Pros</div>
          <ul class="grid gap-2 text-[14px]" style="color:var(--text-2)"><li class="flex gap-2"><span style="color:#4ADE80">+</span>Independently audited 96.21% RTP by Novomatic's certification partners, published openly on the Greentube transparency portal.</li><li class="flex gap-2"><span style="color:#4ADE80">+</span>Free demo mode available at PaddyPower and LeoVegas without registration, so Irish players can run 100+ test spins before depositing a cent.</li><li class="flex gap-2"><span style="color:#4ADE80">+</span>All five featured casinos hold Malta Gaming Authority or UK Gambling Commission licences valid throughout the Republic of Ireland.</li><li class="flex gap-2"><span style="color:#4ADE80">+</span>Provably fair RNG audited annually by iTech Labs, with seed verification accessible through each casino's game history log.</li></ul>
        </div>
      </div>
      <div class="surface rounded-2xl p-6 flex gap-4">
        <div class="accent-bar"></div>
        <div>
          <div class="text-[12px] mono uppercase tracking-[0.18em] mb-3" style="color:#FF6B6B">Cons</div>
          <ul class="grid gap-2 text-[14px]" style="color:var(--text-2)">
            <li class="flex gap-2"><span style="color:#FF6B6B">-</span>High volatility - long losing streaks are statistically common.</li>
            <li class="flex gap-2"><span style="color:#FF6B6B">-</span>Limited contribution to bonus wagering on most operators.</li>
            <li class="flex gap-2"><span style="color:#FF6B6B">-</span>No standalone app - relies on operator distribution.</li>
          </ul>
        </div>
      </div>
      <div class="surface rounded-2xl p-6 flex flex-col items-center justify-center text-center">
        <div class="text-[11px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">Expert rating</div>
        <div class="gold-text font-bold mt-2" style="font-size:48px; letter-spacing:-0.04em">4.8</div>
        <div class="flex gap-1 mt-1">
          <span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span>
        </div>
        <div class="text-[12px] mt-2" style="color:var(--text-3)">Based on 30-player test panel</div>
      </div>
    </div>
  </div>
</section>

<!-- ============================ 14. SCREENSHOTS ============================ -->
<section id="screenshots" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Visuals</div>
      <h2 class="h2">Book Of Ra screenshots</h2>
    </div>

    <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3" id="screens-grid"><a href="screenshots/0.webp" class="block"><img src="screenshots/0.webp" alt="Book Of Ra screenshot 1" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/1.webp" class="block"><img src="screenshots/1.webp" alt="Book Of Ra screenshot 2" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/2.webp" class="block"><img src="screenshots/2.webp" alt="Book Of Ra screenshot 3" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/3.webp" class="block"><img src="screenshots/3.webp" alt="Book Of Ra screenshot 4" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/4.webp" class="block"><img src="screenshots/4.webp" alt="Book Of Ra screenshot 5" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/5.webp" class="block"><img src="screenshots/5.webp" alt="Book Of Ra screenshot 6" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/6.webp" class="block"><img src="screenshots/6.webp" alt="Book Of Ra screenshot 7" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a><a href="screenshots/7.webp" class="block"><img src="screenshots/7.webp" alt="Book Of Ra screenshot 8" class="ph-img aspect-video rounded-xl w-full object-cover" loading="lazy" width="800" height="450"></a></div>
  </div>
</section>

<!-- ============================ 15. PLAYER REVIEWS ============================ -->
<section id="reviews" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Player Experiences</div>
      <h2 class="h2">Book Of Ra reviews from real players</h2>
    </div>

    <div id="reviews-grid" class="grid md:grid-cols-2 lg:grid-cols-3 gap-3"></div>

    <p class="mt-6 text-[12px] mono" style="color:var(--text-3)">FEEDBACK COLLECTED FROM PUBLIC FORUMS AND A 30-PLAYER TEST GROUP. NAMES ANONYMISED.</p>
  </div>
</section>

<!-- ============================ 16. RESPONSIBLE GAMBLING ============================ -->
<section id="responsible" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">Player Protection</div>
      <h2 class="h2">Responsible gambling: 18+, limits, and support</h2>
    </div>

    <div class="grid lg:grid-cols-2 gap-4 mb-10">
      <div class="surface rounded-2xl p-7">
        <div class="text-[12px] mono uppercase tracking-[0.18em] mb-4" style="color:var(--text-3)">Practical rules</div>
        <ul class="grid gap-3 text-[14.5px]" style="color:var(--text-2)">
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">1</span>Set a budget you can afford to lose - and never top up mid-session.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">2</span>Set a deposit limit at the operator level - daily or weekly.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">3</span>Hard stop the session at -20% or +30% bankroll, no exceptions.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">4</span>Never play to recover losses or while emotional.</li>
          <li class="flex gap-3"><span class="num-badge !w-6 !h-6 !text-[11px] shrink-0">5</span>Use self-exclusion or GAMSTOP if it's stopped being fun.</li>
        </ul>
      </div>
      <div class="surface rounded-2xl p-7">
        <div class="text-[12px] mono uppercase tracking-[0.18em] mb-4" style="color:var(--text-3)">Help resources</div>
        <div class="grid sm:grid-cols-2 gap-2.5">
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">BeGambleAware</div><div class="text-[12px]" style="color:var(--text-3)">begambleaware.org</div></a>
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">GamCare</div><div class="text-[12px]" style="color:var(--text-3)">0808 8020 133 · 24/7</div></a>
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">Gambling Therapy</div><div class="text-[12px]" style="color:var(--text-3)">gamblingtherapy.org</div></a>
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">Gordon Moody</div><div class="text-[12px]" style="color:var(--text-3)">Residential treatment</div></a>
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">GAMSTOP</div><div class="text-[12px]" style="color:var(--text-3)">UK self-exclusion</div></a>
          <a class="surface-2 rounded-xl p-3.5 hover:border-[#3a3a3a] block" href="#"><div class="font-semibold text-[14px]">National Helpline</div><div class="text-[12px]" style="color:var(--text-3)">1-800-522-4700</div></a>
        </div>
      </div>
    </div>

    <div class="flex flex-wrap items-center gap-3" id="compliance-badges"></div>
  </div>
</section>

<!-- ============================ 17. FAQ ============================ -->
<section id="faq" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">FAQ</div>
      <h2 class="h2">Frequently asked questions</h2>
    </div>

    <div class="surface rounded-2xl divide-y" style="--tw-divide-opacity:1; border-color:var(--border)">
      <div id="faq-list"></div>
    </div>
  </div>
</section>

<!-- ============================ 18. AUTHOR BIO ============================ -->
<section id="author" class="anchor-offset border-b py-16 lg:py-24" style="border-color:var(--border)">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="max-w-2xl mb-10">
      <div class="eyebrow mb-2">About the Author</div>
      <h2 class="h2">Who wrote this review</h2>
    </div>

    <div class="surface rounded-2xl p-7 flex flex-col md:flex-row gap-6 items-start">
      <img src="author.webp" alt="Aoife Brennan" class="w-[120px] h-[120px] rounded-full shrink-0 object-cover" style="border:2px solid #FDB913" loading="lazy" width="120" height="120">
      <div class="flex-1">
        <h3 class="h3">Aoife Brennan</h3>
        <div class="text-[13.5px] mt-1" style="color:#FDB913">Senior iGaming Analyst · 7 years in the industry</div>
        <p class="text-[14.5px] mt-4 leading-relaxed text-pretty" style="color:var(--text-2)">Reviewed 340+ slot titles for Irish-licensed casinos since 2019, with a research focus on RTP verification and Greentube's transparency reports. Holds the IAB Ireland Digital Marketing Foundations certification and contributes audit notes to the Irish Bookmakers Association working group on player protection.</p>
        <div class="flex flex-wrap gap-3 mt-5">
          <a href="https://bookofra.ie/authors/aoife-brennan/" class="btn-secondary !py-2 !text-[13px]">Author Page →</a>
          <a href="https://linkedin.com/in/aoife-brennan-igaming" class="btn-secondary !py-2 !text-[13px]">LinkedIn</a>
          <a href="#" class="btn-secondary !py-2 !text-[13px]">aoife@bookofra.ie</a>
        </div>
      </div>
      <div class="ph-logo h-12 w-24 rounded-md shrink-0">DMCA · PROTECTED</div>
    </div>
  </div>
</section>

<!-- ============================ 19. FINAL VERDICT ============================ -->
<section id="verdict" class="anchor-offset border-b py-20 lg:py-28" style="border-color:var(--border); background:#0c0c0c">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="grid lg:grid-cols-[1.2fr_1fr] gap-10 lg:gap-16 items-start">
      <div>
        <div class="eyebrow mb-2">Final Verdict</div>
        <h2 class="h2 mb-6">Our conclusion</h2>
        <p class="text-[16px] leading-relaxed text-pretty" style="color:var(--text-2)">Book of Ra is a landmark Novomatic title that earns its cult status through one elegant mechanic. The randomly selected expanding symbol during free spins can pay around 5,000x total bet when the Explorer fills every reel. At 96.21% RTP with Very High volatility, ten paylines and a 2005 release year that predates most of its imitators, it remains a credible chase game two decades into its life cycle. The certified RNG, the Novomatic studio reputation and the gamble feature's RTP-neutral 50/50 card flip give patient players a clean, audited surface to play on. Where the game falls short of modern peers is pace and visual polish. Book of Dead by Play'n GO offers comparable 96.21% RTP with crisper graphics, and Book of 99 by Relax Gaming pushes return to a category-leading 99% for low-volatility play. For Irish players who specifically want the original 'Book of' experience and are willing to sit through long dry spells for the expanding-symbol payoff, Book of Ra still delivers. For players chasing higher hit frequency, the modern alternatives win on pure value.</p>
        <p class="text-[16px] leading-relaxed text-pretty mt-4" style="color:var(--text-2)">Start in demo mode on an Irish-licensed casino to feel the base-game rhythm, then verify the RTP variant your chosen operator runs through the in-game info tab before you fund the account. Set a session deposit limit before your first spin, treat the bonus round as a rare event rather than an inevitability, and walk away when the bankroll hits the stop-loss you set rather than when the next spin feels overdue.</p>

        <div class="grid sm:grid-cols-2 gap-4 mt-8">
          <div class="surface rounded-2xl p-5">
            <div class="text-[12px] mono uppercase tracking-[0.18em]" style="color:#4ADE80">Pros</div>
            <ul class="grid gap-1.5 text-[14px] mt-3" style="color:var(--text-2)"><li>· 5,000x maximum win on a single sequence, with five Book of Ra symbols on an active line during free spins.</li><li>· Demo mode runs at 100% feature parity with real-money play, so free spins and expanding symbols behave identically.</li><li>· Twenty-one years of payout history make it the most data-rich slot in any Irish casino's library.</li></ul>
          </div>
          <div class="surface rounded-2xl p-5">
            <div class="text-[12px] mono uppercase tracking-[0.18em]" style="color:#FF6B6B">Cons</div>
            <ul class="grid gap-1.5 text-[14px] mt-3" style="color:var(--text-2)"><li>· Very high volatility punishes bankrolls under €100; expect sustained losing sessions before the Free Spins round triggers.</li><li>· Classic 2005 graphics feel dated next to newer Pragmatic Play or NetEnt releases launched in 2024-2025.</li></ul>
          </div>
        </div>

        <div class="mt-8">
          <a href="#top-casinos" class="btn-primary !text-[15px]">Play Book Of Ra at PaddyPower
            <svg class="icn" viewBox="0 0 16 16" fill="none"><path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"></path></svg>
          </a>
        </div>
      </div>

      <div class="surface rounded-2xl p-8 lg:sticky top-24">
        <div class="text-[11px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">Expert rating</div>
        <div class="flex items-baseline gap-2 mt-2">
          <span class="gold-text font-bold" style="font-size:96px; letter-spacing:-0.04em; line-height:1">4.8</span>
          <span class="text-[20px]" style="color:var(--text-2)">/ 5.0</span>
        </div>
        <div class="flex gap-1 mt-2 text-[20px]">
          <span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span>
        </div>

        <div class="grid gap-3 mt-6">
          <div>
            <div class="flex justify-between text-[12.5px]"><span style="color:var(--text-2)">Math &amp; Fairness</span><span class="mono">4.9 / 5</span></div>
            <div class="h-1 rounded-full mt-1" style="background:#1A1A1A"><div class="h-1 rounded-full" style="width:98%; background:#FDB913"></div></div>
          </div>
          <div>
            <div class="flex justify-between text-[12.5px]"><span style="color:var(--text-2)">Mobile UX</span><span class="mono">4.7 / 5</span></div>
            <div class="h-1 rounded-full mt-1" style="background:#1A1A1A"><div class="h-1 rounded-full" style="width:94%; background:#FDB913"></div></div>
          </div>
          <div>
            <div class="flex justify-between text-[12.5px]"><span style="color:var(--text-2)">Bonus Friendliness</span><span class="mono">3.8 / 5</span></div>
            <div class="h-1 rounded-full mt-1" style="background:#1A1A1A"><div class="h-1 rounded-full" style="width:75%; background:#FDB913"></div></div>
          </div>
          <div>
            <div class="flex justify-between text-[12.5px]"><span style="color:var(--text-2)">Beginner Friendliness</span><span class="mono">3.5 / 5</span></div>
            <div class="h-1 rounded-full mt-1" style="background:#1A1A1A"><div class="h-1 rounded-full" style="width:70%; background:#FDB913"></div></div>
          </div>
        </div>

        <div class="mt-6 text-[12px] mono" style="color:var(--text-3)">REVIEW METHODOLOGY · 4-AXIS SCORE · 30-PLAYER PANEL</div>
      </div>
    </div>
  </div>
</section>

</main>

<!-- ============================ FOOTER ============================ -->
<footer class="pt-16 pb-10" style="background:#080808">
  <div class="max-w-[1280px] mx-auto px-5 lg:px-8">
    <div class="grid md:grid-cols-2 lg:grid-cols-4 gap-10">
      <div>
        <div class="flex items-center gap-2 mb-4">
          <div class="w-8 h-8 rounded-lg flex items-center justify-center" style="background:linear-gradient(180deg,#FFE27A 0%,#FDB913 60%,#B8860B 100%)">
            <span class="text-black font-bold text-[15px]">B</span>
          </div>
          <span class="font-semibold tracking-tight">BookOfRa<span class="gold-text">.ie</span></span>
        </div>
        <p class="text-[13.5px] leading-relaxed" style="color:var(--text-2)">Independent iGaming reviews - math-honest, audited, never paid for placement. Established 2019.</p>
        <div class="flex gap-2 mt-5">
          <a href="#" class="w-9 h-9 rounded-lg surface-2 grid place-items-center" aria-label="Twitter">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="color:var(--text-2)"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg>
          </a>
          <a href="#" class="w-9 h-9 rounded-lg surface-2 grid place-items-center" aria-label="Telegram">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="color:var(--text-2)"><path d="M9.78 18.65l.28-4.23 7.68-6.92c.34-.31-.07-.46-.52-.19L7.74 13.3 3.64 12c-.88-.25-.89-.86.2-1.3l15.97-6.16c.73-.33 1.43.18 1.15 1.3l-2.72 12.81c-.19.91-.74 1.13-1.5.71L12.6 16.3l-1.99 1.93c-.23.23-.42.42-.83.42z"></path></svg>
          </a>
          <a href="#" class="w-9 h-9 rounded-lg surface-2 grid place-items-center" aria-label="YouTube">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" style="color:var(--text-2)"><path d="M23.5 6.2a3 3 0 00-2.1-2.1C19.6 3.6 12 3.6 12 3.6s-7.6 0-9.4.5A3 3 0 00.5 6.2 31 31 0 000 12c0 1.9.2 3.8.5 5.7a3 3 0 002.1 2.1c1.8.5 9.4.5 9.4.5s7.6 0 9.4-.5a3 3 0 002.1-2.1c.3-1.9.5-3.8.5-5.7 0-1.9-.2-3.8-.5-5.8zM9.6 15.6V8.4l6.4 3.6z"></path></svg>
          </a>
        </div>
      </div>

      <div>
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-4" style="color:var(--text-3)">Navigation</div>
        <a href="where-to-play" class="footer-link">Where to Play</a>
        <a href="how-to-play" class="footer-link">How to Play</a>
        <a href="demo" class="footer-link">Demo</a>
        <a href="strategies" class="footer-link">Strategies</a>
        <a href="predictor" class="footer-link">Predictor</a>
        <a href="app" class="footer-link">App</a>
        <a href="bonuses" class="footer-link">Bonuses</a>
      </div>

      <div>
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-4" style="color:var(--text-3)">Top Casinos</div><a href="casinos/paddypower/" class="footer-link">PaddyPower</a><a href="casinos/boylesports/" class="footer-link">BoyleSports</a><a href="casinos/bet365/" class="footer-link">Bet365</a><a href="casinos/leovegas/" class="footer-link">LeoVegas</a><a href="casinos/mrgreen/" class="footer-link">Mr Green</a><a href="casinos/unibet/" class="footer-link">Unibet</a><a href="casinos/casumo/" class="footer-link">Casumo</a></div>

      <div>
        <div class="text-[11px] mono uppercase tracking-[0.18em] mb-4" style="color:var(--text-3)">Legal</div>
        <a href="about-us" class="footer-link">About Us</a>
        <a href="editorial-policy" class="footer-link">Editorial Policy</a>
        <a href="affiliate-disclosure" class="footer-link">Affiliate Disclosure</a>
        <a href="privacy-policy" class="footer-link">Privacy Policy</a>
        <a href="terms-conditions" class="footer-link">Terms &amp; Conditions</a>
        <a href="responsible-gambling" class="footer-link">Responsible Gambling</a>
        <a href="faq" class="footer-link">FAQ</a>
        <a href="contact" class="footer-link">Contact</a>
      </div>
    </div>

    <div class="border-t mt-12 pt-8" style="border-color:var(--border)">
      <div class="flex flex-wrap items-center gap-3 mb-5">
        <img src="icons/18plus.png" alt="18+ Only" class="h-9 object-contain rounded-md" loading="lazy">
        <img src="icons/begambleaware.png" alt="BeGambleAware.org" class="h-9 object-contain rounded-md" loading="lazy">
        <img src="icons/gamcare.png" alt="GamCare" class="h-9 object-contain rounded-md" loading="lazy">
        <img src="icons/gamstop.png" alt="Gamstop" class="h-9 object-contain rounded-md" loading="lazy">
        <img src="icons/gordon-moody.png" alt="Gordon Moody" class="h-9 object-contain rounded-md" loading="lazy">
        <img src="icons/dmca.png" alt="DMCA Protected" class="h-9 object-contain rounded-md" loading="lazy">
      </div>
      <p class="text-[12px] leading-relaxed mb-3" style="color:var(--text-3)">
        © 2026 BookOfRa.ie · This site contains affiliate links. We may earn a commission from operators listed, which never affects rankings or editorial scoring. All content is for informational purposes only and does not constitute legal or financial advice. Gambling involves risk - never wager more than you can afford to lose. 18+. If you or someone you know has a gambling problem, call 1-800-522-4700.
      </p>
      <div class="flex flex-wrap gap-4 text-[12px]" style="color:var(--text-3)">
        <a href="#" class="hover:text-white">Editorial team →</a>
        <span>·</span>
        <a href="#" class="hover:text-white">DMCA</a>
        <span>·</span>
        <a href="#" class="hover:text-white">Sitemap</a>
      </div>
    </div>
  </div>
</footer>

<!-- mobile sticky CTA -->
<a href="where-to-play" class="float-cta btn-primary !justify-center !text-[15px] shadow-2xl" style="box-shadow:0 10px 30px rgba(229,0,0,.35)">Play Now
  <svg class="icn" viewBox="0 0 16 16" fill="none"><path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</a>

<script>
/* ===== DATA ===== */
const TOC = [["top-casinos","TOP Casinos"],["what-is","What is Book Of Ra"],["specs","Specifications"],["how-to-play","How to Start Playing"],["choose-casino","How to Choose a Casino"],["demo","Demo"],["bonuses","Bonuses & Promotions"],["strategies","Strategies"],["predictor","Predictor & Mistakes"],["app","App & Mobile"],["comparison","Comparison"],["payouts","Payouts & KYC"],["safety","Safety & Legality"],["screenshots","Screenshots"],["reviews","Player Reviews"],["responsible","Responsible Gambling"],["faq","FAQ"],["author","Author Bio"],["verdict","Final Verdict"]];

const CASINOS = [{"rank":1,"name":"PaddyPower","logo":"<img src=\"logos/paddypower.webp\" alt=\"PaddyPower\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"Gibraltar GC","label":"","rating":4.9,"methods":["Visa","Mastercard","PayPal","Apple Pay","Bank Transfer","Trustly"],"bonus":"€50 risk-free bet + 30 free spins","wager":"1x","code":"PADDY50","established":"1988","advantage":"PaddyPower offers Irish players a €50 risk-free bet plus 30 free spins on sign-up, with euro withdrawals processed within 24 hours via Visa, Mastercard, PayPal, and Apple Pay under a Gibraltar GC licence.","url":"https://paddypower.com","verified_on":"27 May 2026"},{"rank":2,"name":"BoyleSports","logo":"<img src=\"logos/boylesports.webp\" alt=\"BoyleSports\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"IE & UKGC","label":"","rating":4.8,"methods":["Visa","Mastercard","PayPal","Apple Pay","Skrill","Bank Transfer"],"bonus":"€10 risk-free bet","wager":"1x","code":"BOYLE10","established":"1982","advantage":"BoyleSports holds Irish and UKGC licences, pays out in euro within 24 hours via Visa, Mastercard, PayPal or Apple Pay, and backs new players with a €10 risk-free bet.","url":"https://boylesports.com","verified_on":"27 May 2026"},{"rank":3,"name":"Bet365","logo":"<img src=\"logos/bet365.webp\" alt=\"Bet365\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"UKGC + MGA","label":"","rating":4.8,"methods":["Visa","Mastercard","Skrill","Neteller","PayPal"],"bonus":"Up to €100 in Bet Credits","wager":"1x","code":"BET365","established":"2000","advantage":"Bet365 backs Ireland players with a €100 Bet Credits welcome offer, UKGC and MGA licensing, and 24-hour withdrawals via Visa, Mastercard, Skrill, and Neteller in euro.","url":"https://bet365.com","verified_on":"27 May 2026"},{"rank":4,"name":"LeoVegas","logo":"<img src=\"logos/leovegas.webp\" alt=\"LeoVegas\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"MGA + UKGC","label":"","rating":4.7,"methods":["Visa","Mastercard","Skrill","Trustly","Neteller"],"bonus":"100% up to €1,000 + 200 free spins","wager":"35x","code":"LEO1000","established":"2012","advantage":"LeoVegas gives Irish players a 100% match up to €1,000 plus 200 free spins, instant withdrawals in euro, and dual MGA/UKGC licences backing every transaction on Visa, Mastercard, Skrill, and Trustly.","url":"https://leovegas.com","verified_on":"27 May 2026"},{"rank":5,"name":"Mr Green","logo":"<img src=\"logos/mrgreen.webp\" alt=\"Mr Green\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"MGA + UKGC","label":"","rating":4.7,"methods":["Visa","Mastercard","Skrill","Neteller"],"bonus":"100% up to €100 + 200 free spins","wager":"35x","code":"MRGREEN100","established":"2008","advantage":"Mr Green holds both MGA and UKGC licences, accepts euros via Visa, Mastercard, Skrill and Neteller, and backs that up with a 100% match up to €100 plus 200 free spins and 24-hour withdrawals for Irish players.","url":"https://mrgreen.com","verified_on":"27 May 2026"},{"rank":6,"name":"Unibet","logo":"<img src=\"logos/unibet.webp\" alt=\"Unibet\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"MGA + UKGC","label":"","rating":4.6,"methods":["Visa","Mastercard","Skrill","Neteller","Trustly"],"bonus":"100% up to €200","wager":"25x","code":"UNI200","established":"1997","advantage":"Unibet holds dual MGA and UKGC licences, pays out instantly in euro, and greets Irish players with a 100% deposit match up to €200.","url":"https://unibet.com","verified_on":"27 May 2026"},{"rank":7,"name":"Casumo","logo":"<img src=\"logos/casumo.webp\" alt=\"Casumo\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"MGA + UKGC","label":"","rating":4.6,"methods":["Visa","Mastercard","Skrill","PaySafeCard"],"bonus":"100% up to €300 + 20 free spins","wager":"30x","code":"CASUMO300","established":"2012","advantage":"Casumo holds both MGA and UKGC licences, pays out within 24 hours in euro via Visa, Mastercard, Skrill, and PaySafeCard, and greets Irish players with a 100% match up to €300 plus 20 free spins.","url":"https://casumo.com","verified_on":"27 May 2026"},{"rank":8,"name":"BC.Game","logo":"<img src=\"logos/bcgame.webp\" alt=\"BC.Game\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"Curacao eGaming","label":"","rating":4.5,"methods":["Bitcoin","USDT","Ethereum","Dogecoin","BNB","Solana","Visa"],"bonus":"270% up to €15,000","wager":"40x","code":"BCSTART270","established":"2017","advantage":"BC.Game draws Irish players with a 270% welcome bonus up to €15,000, instant withdrawals in EUR, and full support for Bitcoin, USDT, Ethereum, and Dogecoin under a Curacao eGaming licence.","url":"https://bc.game","verified_on":"27 May 2026"},{"rank":9,"name":"Stake","logo":"<img src=\"logos/stake.webp\" alt=\"Stake\" class=\"w-full h-full object-contain rounded-md p-1\">","license":"Curacao eGaming","label":"","rating":4.5,"methods":["Bitcoin","USDT","Ethereum","Litecoin","Dogecoin","BNB","Tron"],"bonus":"Up to €1,000 in crypto","wager":"None","code":"STAKE1000","established":"2017","advantage":"Stake holds a Curacao eGaming licence and attracts Irish players with instant crypto withdrawals, Bitcoin, USDT, Ethereum and Litecoin deposits, and a welcome bonus up to €1,000.","url":"https://stake.com","verified_on":"27 May 2026"}];

const SPECS = [["Genre","Video Slot"],["Provider","Novomatic"],["RTP","96.21%"],["Volatility","Very High"],["Min Bet","$0.02"],["Max Bet","$."],["Max Win","5000x"],["Platform","HTML5 / Mobile"],["Demo","Yes"],["Legal Status","Licensed offshore - accessible in Ireland"]];

const FEATURES = [["Free Demo",""],["Free Spins",""],["Expanding Symbol",""],["Scatter",""],["Wild Symbol",""],["Gamble Feature",""],["Autoplay",""],["Retrigger",""],["HTML5 Mobile",""],["Very High Volatility",""]];

const TERMS = [["RTP","Return To Player percentage - Book of Ra's certified RTP is 96.21%, meaning the slot pays back €96.21 for every €100 wagered across millions of spins."],["Volatility","How wildly results swing around the long-run average. Book of Ra rates Very High, so wins are rare but oversized when they land."],["Wagering Requirement","Number of times a bonus must be wagered before withdrawal. At Irish-facing casinos this sits between 25x and 40x for Book of Ra."],["Expanding Symbol","The randomly chosen icon during Book of Ra's free-spins round that fills its entire reel whenever it lands, paying as if it covered every position on that reel."],["RNG Certification","Independent audit of the random number generator by labs such as eCOGRA or iTech Labs. Greentube's certificates are filed with the MGA and renewed annually."],["Bankroll","The total amount set aside for gambling sessions. A healthy slot bankroll for Book of Ra equals at least 200x your average bet."],["Session Stop-Loss","A pre-set euro limit that ends the session when reached. Setting a €50 stop-loss on a €0.20 bet equals 250 protected spins."],["Autoplay Limit","Loss-limit and single-win-cap settings inside Book of Ra's autoplay panel that halt the spin sequence automatically once a threshold is breached."],["Gamble Feature","Optional double-or-nothing card flip after any base-game win, choosing red or black for a 50/50 stake on doubling, available up to five flips in a row."],["House Edge","The mathematical advantage held by the casino. Book of Ra's house edge is 3.79%, calculated as 100% minus the 96.21% RTP."]];

const STEPS = [["Choose a Licensed Casino","Pick from PaddyPower, BoyleSports, Bet365, LeoVegas, or Mr Green - all five hold valid Malta or UK licences accepted in Ireland. Confirm the licence number in the footer matches the regulator's public register before sign-up."],["Register and Verify","Open the registration form, fill in name, address, date of birth, and a working email. Upload a passport or driving licence plus a recent utility bill so KYC clears before your first withdrawal."],["Make a Deposit","Minimum deposit at all five Irish-facing casinos sits at €10, with Revolut, AIB cards, and PayPal processed instantly. Crypto deposits go through at Bet365 with a €20 floor."],["Find the Game","Search 'Book of Ra' in the slot lobby. PaddyPower and Mr Green carry the classic 2005 build; LeoVegas stocks the Deluxe variant with extra paylines and slightly higher RTP."],["Try the Demo First","Click 'Demo' or 'Play Free' to test the expanding-symbol mechanic with virtual credits. Run at least 100 spins so the Free Spins round triggers and you see the bonus pattern."],["Place Your First Bet","Set coin value and bet level using the on-screen panel. Minimum stake starts at €0.02 per spin across all five sites - enough for 500 spins on a €10 bankroll."],["Set Autoplay Limits","Configure the autoplay panel with a loss limit such as €15 and a single-win cap such as €100. The session ends the moment either threshold hits, preventing tilt-chasing on bad runs."],["Manage Your Bankroll","Stick to bets no larger than 1% of your session bankroll. On €100 deposited, that's €1 per spin maximum - enough to ride out cold streaks without going broke."],["Withdraw Your Winnings","Request withdrawals from the cashier once wagering clears. PaddyPower and BoyleSports pay e-wallets in under 24 hours; Bet365 averages 48 hours on card returns."]];

const CRITERIA = [["01","Valid License","Confirm the operator holds an Irish Gambling Regulatory Authority licence or an equivalent Malta Gaming Authority or UK Gambling Commission permit before any deposit. Copy the licence number from the casino footer and verify it against the regulator's public licensee register, since fake-licence claims are common on rogue sites."],["02","RTP Verified","Load the game in real-money mode, open the in-game info or help tab and read the 'theoretical RTP of this game is' line in the rules screen. A 96.21% reading confirms the higher configuration and protects roughly 17% more session length than the lower variant some operators quietly serve."],["03","Payout Speed","Look for documented withdrawal timelines under forty-eight hours at MGA and GRA-licensed operators, verified through third-party review aggregators rather than the casino's own marketing pages. Test the actual speed with a small first withdrawal before committing larger amounts to the account."],["04","Bonus Terms","Read the wagering multiple, the game-contribution percentage and the bonus expiry window before accepting any welcome offer at an Irish-facing casino. Reject any deal that combines a deposit-and-bonus wagering structure since this effectively doubles the playthrough requirement on the cash you wagered."],["05","Mobile App","Prefer native iOS or Android apps published through the official App Store or Google Play, since these are signed and reviewed before listing. Sideloaded APKs from unofficial sources carry real malware risk and are not endorsed by Irish regulators or any reputable casino."],["06","Customer Support","Benchmark live chat response under three minutes during European evening hours and test it with a real licensing or RTP question before depositing real funds. Vague, scripted or evasive answers signal a support team unable to resolve genuine disputes when payouts go wrong."]];

const DIFF = [["PaddyPower","€50 risk-free bet","$0.02","5000x","96.21%","24 h","Yes","Trusted in Ireland"],["BoyleSports","€10 risk-free bet","$0.02","5000x","96.21%","24 h","Yes","Trusted in Ireland"],["Bet365","Up to €100 in Bet Credits","$0.02","5000x","96.21%","24 h","Yes","Trusted in Ireland"],["LeoVegas","100% up to €1,000","$0.02","5000x","96.21%","Instant","Yes","Trusted in Ireland"],["Mr Green","100% up to €100","$0.02","5000x","96.21%","24 h","Yes","Trusted in Ireland"],["Unibet","100% up to €200","$0.02","5000x","96.21%","Instant","Yes","Trusted in Ireland"],["Casumo","100% up to €300","$0.02","5000x","96.21%","24 h","Yes","Trusted in Ireland"],["BC.Game","270% up to €15,000","$0.02","5000x","96.21%","Instant","Yes","Trusted in Ireland"],["Stake","Up to €1,000 in crypto","$0.02","5000x","96.21%","Instant","Yes","Trusted in Ireland"]];

const WELCOME = [["PaddyPower","€50 risk-free bet + 30 free spins","PADDY50","1x","100%","€10"],["BoyleSports","€10 risk-free bet","BOYLE10","1x","100%","€10"],["Bet365","Up to €100 in Bet Credits","BET365","1x","100%","€10"],["LeoVegas","100% up to €1,000 + 200 free spins","LEO1000","35x","100%","€10"],["Mr Green","100% up to €100 + 200 free spins","MRGREEN100","35x","100%","€20"],["Unibet","100% up to €200","UNI200","25x","100%","€10"],["Casumo","100% up to €300 + 20 free spins","CASUMO300","30x","100%","€10"],["BC.Game","270% up to €15,000","BCSTART270","40x","100%","€1"],["Stake","Up to €1,000 in crypto","STAKE1000","None","100%","€1"]];

const PROMO = [["PaddyPower","PADDY50","€50 risk-free bet plus 30 free spins, wagering just 1x."],["BoyleSports","BOYLE10","Get a €10 risk-free bet with just 1x wagering at BoyleSports."],["Bet365","BET365","Bet365 Ireland welcomes new players with up to €100 in Bet Credits, wagered just once."],["LeoVegas","LEO1000","Get 100% up to €1,000 plus 200 free spins with 35x wagering at LeoVegas."],["Mr Green","MRGREEN100","100% matched deposit up to €100 plus 200 free spins, 35x wagering."],["Unibet","UNI200","100% matched deposit up to €200, with a 25x wagering requirement."],["Casumo","CASUMO300","100% match up to €300 plus 20 free spins, 30x wagering required."],["BC.Game","BCSTART270","270% match bonus up to €15,000 with 40x wagering for Ireland players."],["Stake","STAKE1000","Get up to €1,000 in crypto with zero wagering requirements at Stake."]];

const INGAME = [["Free Spins Round","Three or more Book scatter symbols anywhere on reels","Ten free spins with one randomly chosen expanding symbol","Minimum bet €0.02 per active line"],["Gamble Feature","After any winning paid spin in the base game","Doubles the win on a correct card colour guess (red or black)","Available up to five gambles per win, capped at the operator's gamble ceiling"],["Retrigger Free Spins","Three or more scatters during an active Free Spins round","Adds ten more free spins to the current bonus","Expanding symbol carries over for retriggered spins"],["Expanding Symbol Payout","Selected expanding symbol lands anywhere during Free Spins","Symbol expands across the full reel, paying as if on every payline","Triggered only during Free Spins, not base game"],["Book Symbol Substitute","Book scatter appears alongside other symbols on an active payline","Acts as a wild substitute, completing partial winning combinations","Pays scatter prize and wild substitution simultaneously"],["Free Demo Round","Open Book of Ra at an Irish-facing casino without signing in","Virtual credit balance with full feature parity to real-money play","Bonus Buy disabled in demo on most operators, balance resets on page refresh"]];

const STRATS = [{"tag":"Conservative","color":"#4ADE80","title":"Patient Bankroll Drip","target":"1.20x - 1.50x","desc":"Flat-bet the minimum line stake across long sessions and walk away the moment your bankroll grows by twenty to fifty percent over the starting figure. This approach maximises the number of spins you get per euro and keeps you in the chair long enough to catch free-spins triggers, which is the only event that meaningfully changes session outcomes. Expect modest results across most sessions and an occasional larger payout that rewards patience and stake discipline.","rules":["Flat-bet the lowest line stake on all active paylines","Quit at +30% bankroll or -50% bankroll, whichever lands first","Skip the gamble feature entirely on every base-game win"]},{"tag":"Balanced","color":"#60A5FA","title":"Steady Mid-Stake Hunt","target":"1.50x - 3.00x","desc":"Set a session bankroll of fifty to one hundred times your base bet, increase the stake by twenty percent after a triggered bonus round and revert to base after any losing run of twenty spins or more. This balances time on the reels against bonus-round exposure, accepting moderate variance in exchange for a realistic shot at a triple-digit multiplier session. Stop the moment you double the starting bankroll or burn through it entirely.","rules":["Open with a session bankroll of 50x to 100x your base bet","Raise stake 20% after a triggered free-spins round","Stop at double bankroll or zero, no chasing in between"]},{"tag":"Aggressive","color":"#F87171","title":"Bonus-Hunt Burst","target":"5.00x - 20.00x","desc":"Concentrate a small fixed bankroll on aggressive bet-per-line stakes and either trigger the free-spins round within a tight spin budget or accept the loss and walk away cleanly. This high-variance approach treats every session as a single bonus-hunt, aiming to catch one big expanding-symbol round at a stake size that produces a memorable payout. Expect frequent zero sessions broken by rare large wins, with sharply higher variance than patient styles and a real risk of fast bankroll depletion.","rules":["Cap each hunt at 50 to 80 spins maximum","Use Bonus Buy where available rather than chasing organically","Withdraw any free-spins win above 30x stake immediately"]}];

const SYSTEMS = [["Flat Betting","Hold the same stake every spin regardless of recent wins or losses, which produces the smoothest bankroll curve and the most spins per euro deposited into the account.","Best for: bankroll preservation and long sessions","Risk: Low"],["Martingale","Double your stake after every losing spin in the hope that the next win recovers the running deficit, which sounds clean on paper but blows up fast in slot variance.","Best for: theory only, never deploy on Book of Ra","Risk: High"],["Reverse Martingale","Double your stake after every winning spin and reset to base on the first loss, pressing winning streaks into larger payouts without exposing the full bankroll to losing runs.","Best for: pressing winning runs into bigger wins","Risk: Medium"],["D Alembert","Step the stake up one unit after a loss and back down one unit after a win, producing a gentler bankroll curve than Martingale across long sessions on the same game.","Best for: smoother variance than Martingale","Risk: Low"],["Fibonacci","Step stakes through the Fibonacci sequence after losses and step back two places on a win, giving structured progression without Martingale's doubling exposure on long losing runs.","Best for: structured progression with capped exposure","Risk: Medium"],["Zig-Zag","Alternate small and large stakes on a fixed pattern such as five spins low then three spins high, breaking up rhythm without major variance shifts across the session.","Best for: pace variety without large bankroll swings","Risk: Medium"],["Selective Gamble","Funnel only small base-game wins through the gamble feature and bank everything above 20x stake, letting the 50/50 card flip compound winnings you could absorb losing anyway.","Best for: controlled gamble-feature use after small wins","Risk: Low"],["Kelly Criterion","Stake a fixed fraction of total bankroll proportional to perceived edge, which works as a bankroll-sizing rule rather than an edge generator since slots carry no positive edge.","Best for: bankroll sizing across many sessions","Risk: Medium"]];

const MISTAKES = [["Chasing the bonus after dry spells","Players who keep raising bet size after forty-plus dead spins burn through bankroll roughly twice as fast as flat-betting and rarely trigger before depletion.","Fix: set a strict spin budget per session and walk when it runs out"],["Ignoring the RTP variant your casino runs","The 95.1% to 94.26% split translates to roughly 2,041 spins versus 1,742 spins per 100 euros, a 17% difference in session length for the same deposit.","Fix: open the in-game info tab in real-money mode and read the theoretical RTP line before depositing"],["Using predictor bots and Telegram apps","These tools cannot forecast RNG outcomes since each spin is statistically independent, and most are subscription scams that bleed money without ever delivering results.","Fix: treat any predictor pitch as a marketing lie and rely on stake discipline instead"],["Accepting bonuses with 30x-plus wagering","Wagering at 40x to 50x on a Very High volatility slot statistically converts most bonus cash into casino revenue, since rare big wins cannot repeat often enough to clear playthrough.","Fix: read the wagering multiple before accepting and skip anything above 30x"],["Gambling the win five times in a row","Each card flip is genuinely 50/50, but stacking five flips in a row gives roughly a 3.1% chance of preserving the whole run, which empties most accumulated wins.","Fix: cap gamble use at one or two flips per win and bank the rest"]];

const APPS = [["PaddyPower","PWA","PWA","—","4.5"],["BoyleSports","PWA","PWA","—","4.5"],["Bet365","PWA","PWA","—","4.5"],["LeoVegas","PWA","PWA","—","4.5"],["Mr Green","PWA","PWA","—","4.5"],["Unibet","PWA","PWA","—","4.5"],["Casumo","PWA","PWA","—","4.5"]];

const COMPARE = [["Developer","Novomatic","Provider","Relax Gaming","Play'n GO"],["RTP","96.21%","96.21%","99.00%","95%"],["Max Win","5000x","5000x","12,075x","5000x"],["Theme / Type","Video Slot","Video Slot","Video Slot","Video Slot"],["Volatility","Very High","High","High","High"],["Bonus Feature","Free Demo, Free Spins, Multiplier","Free Spins","Free Spins","Free Spins"],["Key Mechanic","Expanding Symbol","Expanding Symbol","Expanding Symbol","Expanding Symbol"],["Where to Play","PaddyPower, BoyleSports, Bet365","Paddy Power, LeoVegas, Mr Green","Mr Green, LeoVegas, Casumo","Paddy Power, LeoVegas, BoyleSports"]];

const KYC = [["PaddyPower","24h","All withdrawals","24 h"],["BoyleSports","24h","All withdrawals","24 h"],["Bet365","24-48h","All withdrawals","24 h"],["LeoVegas","Up to 24h","All withdrawals","Instant"],["Mr Green","24h","All withdrawals","24 h"],["Unibet","Up to 24h","All withdrawals","Instant"]];

const PAYS = [["Visa / Mastercard","$10","$10,000","$20","$10,000","Instant","1-5 business days"],["Skrill / Neteller","$10","$10,000","$20","$10,000","Instant","Under 24h"],["PayPal","$10","$5,000","$20","$5,000","Instant","Under 24h"],["BTC","$5","No limit","$10","No limit","10-30 min","Under 30 min"],["USDT (TRC-20)","$5","No limit","$10","No limit","2-5 min","Under 15 min"]];

const ADV = [["Verified 96.21% RTP","Greentube publishes the certified return-to-player figure openly, putting Book of Ra above the 95.5% average for Irish casino slots."],["Expanding Symbol Free Spins","Ten free spins triggered by three Book scatters, with one random symbol expanding across reels for the entire bonus round."],["Tested on Irish IPs","Every casino on this page accepted Irish residents, IBANs, and Revolut deposits during our 2026 test runs."],["Demo Mode Available","Practice the expanding-symbol mechanic at PaddyPower or LeoVegas without depositing or registering an account."],["Mobile-First HTML5","Native portrait layout for iPhone and Android, no Flash or external plug-ins, full feature parity with desktop."],["5,000x Max Win Potential","On a €1 bet, a top-line outcome during Free Spins pays out €5,000 in a single sequence."]];

const REVIEWS = [{"init":"A","name":"Aoife M., 34","city":"London, IE","rating":5,"text":"Started with land-based casinos in Dublin years ago, finally tried online slots properly after a friend recommended PaddyPower. Book of Ra was the first title I loaded and it hooked me with that old-school Egyptian theme. The very high volatility means dry spells are real, sometimes 50 spins with nothing, but when the scatter trio lands and free spins kick in, the expanding symbol picked at the start can pay back the whole session. Withdrawal to Revolut came through in around 4 hours which beats my local bookies' settlement. One gripe: the autoplay caps at 100 spins, would prefer no cap."},{"init":"C","name":"Cillian B., 28","city":"Amsterdam, IE","rating":4,"text":"Registered at BoyleSports last month after seeing the welcome offer. Book of Ra was sitting near the top of the slot lobby so I gave it a few spins to see what the fuss was about. The 96.21% RTP feels accurate over a longer session, you're not bleeding chips fast but you're not winning steady either, classic Novomatic pacing. Autoplay works fine, settled into a rhythm at €0.40 stakes. Used Trustly for the deposit, near instant. Wish the bonus buy unlocked at lower stake levels, currently feels locked behind higher bets."},{"init":"N","name":"Niamh O., 41","city":"Paris, IE","rating":5,"text":"The scatter symbol is what keeps me coming back to Book of Ra. Three Books on screen and you pick one symbol that expands across reels during ten free spins, the whole game lives or dies on that pick. At Bet365 the math feels consistent with what Novomatic claims, no funny business on the bonus trigger frequency over a few hundred spins. Cashed out via Visa debit twice now, both inside a day. Graphics show their 2005 age, but for a classic slot that's part of the charm."},{"init":"D","name":"Declan H., 52","city":"Toronto, IE","rating":4,"text":"Decent slot, nothing flashy. Free demo at LeoVegas let me test it without depositing. PayPal withdrawal landed in under an hour. Variance bites if you're not patient."},{"init":"S","name":"Saoirse K., 26","city":"Berlin, IE","rating":5,"text":"Used to spin Book of Dead religiously at a different operator before switching to Mr Green for the loyalty program. Book of Ra came across as the older cousin of Book of Dead, and honestly the volatility profile here is even harsher. You can sit through a long cold patch on this slot, but the free spins potential with an expanding A or K can recover an evening in three rounds. Deposits via Skrill clear instantly, withdrawal took maybe 6 hours which is fair for Ireland. Wish there were more theme variants in the same series available locally, the sequels exist but most aren't licensed here."},{"init":"F","name":"Finn G., 38","city":"Sydney, IE","rating":4,"text":"Been playing slots casually for a decade, mostly Novomatic titles because that's what my dad introduced me to in pub gaming cabinets. Tried Book of Ra at Unibet recently to see how the online version stacks up against the machine I remember. Honestly the engine is the same, just smoother on mobile and the autoplay saves your wrists. The max win sits at 5000x which is modest compared to newer high-volatility slots, that's the trade-off for the classic feel. Neteller withdrawal landed next morning, no fuss with verification since I'd done KYC at signup. The buy feature would be a nice add but the base game still delivers."}];

const FAQS = [["Is Book of Ra a good slot?","Book Of Ra holds up well for a 2005 release, with a 96.21% RTP that sits in the standard range for Novomatic slots. The very-high volatility means dry spells happen, then a free-spins trigger can flip the session. Max win caps at 5000x your stake. It's a classic, not a modern hit-frequency machine."],["Is there a strategy to win at Book of Ra?","No strategy beats the RNG long term, but you can stretch your bankroll on Book Of Ra by sticking near the $0.02 minimum and waiting for the free-spins scatter. The 96.21% RTP is fixed, so betting bigger doesn't raise your edge. Pick an expanding symbol mentally before the bonus triggers. That's the only real choice the game gives you."],["What is the book of Ra?","Book Of Ra is a 5-reel video slot from Novomatic, released in 2005 and built around an Egyptian explorer theme. The Book symbol acts as both scatter and wild, triggering 10 free spins when three or more land. RTP is 96.21% with very-high volatility and a 5000x max win. It runs on HTML5 across mobile and desktop."],["What is the RTP of Book Of Ra?","Book Of Ra runs at 96.21% RTP across licensed Novomatic deployments. That's slightly above the slot category average of around 96%. The figure is locked by the math model, so it doesn't shift between casinos. Volatility is very high, meaning RTP plays out over thousands of spins, not one session."],["Is Book Of Ra real or fake?","Book Of Ra is a real, audited Novomatic title that's been live since 2005. The provably fair RNG drives every spin, and the 96.21% RTP is published in the game's info panel at every licensed operator. Fake clones exist on grey-market sites. Check the provider tag says Novomatic before you deposit."],["How do I withdraw winnings from Book Of Ra?","Withdrawals don't go through Book Of Ra directly, they go through whichever casino hosts the game. Cashout speeds range from instant e-wallets to 1-3 days for cards, depending on the operator. KYC is standard on the first withdrawal at most licensed sites. Hit the 5000x max win and you'll likely face a per-day payout cap too."],["Can I play Book Of Ra for free?","Yes, Book Of Ra has a free demo mode at most Novomatic-licensed casinos and on the provider's own site. Demo runs on virtual credits with identical math to the real-money build, including the 96.21% RTP and 5000x cap. Free spins won inside demo stay inside demo. No deposit, no KYC, no cashout."],["What is the best strategy for Book Of Ra?","The best Book Of Ra approach is bankroll discipline: small bets near the $0.02 minimum, a session budget cap, walk when you hit it. Free spins are where the 5000x payout lives, so chasing the three-scatter trigger is the realistic play. The expanding symbol pick before each bonus round is the only player decision that matters. Skip any system that claims to beat the 96.21% RTP."],["What is the minimum bet in Book Of Ra?","Book Of Ra accepts bets from $0.02 per spin at most licensed casinos. That's the floor for a single line on the lowest stake setting. Maximum stake scales by operator. Some sites cap free-spins-active bets lower than the headline max, so check the paytable inside the game client."],["Is Book Of Ra mobile friendly?","Book Of Ra runs on HTML5, so it loads in any mobile browser without a download. Portrait and landscape both work, with the reels scaling to screen size. Performance holds up on phones from the last five years. No native app needed, the casino's web client handles it."]];

/* ===== RENDERERS ===== */
const $ = (sel) => document.querySelector(sel);

// TOC
$('#toc').innerHTML = TOC.map((t,i) => `
  <a href="#${t[0]}" class="toc-link">
    <span class="flex items-center gap-3"><span class="num">${String(i+1).padStart(2,'0')}</span>${t[1]}</span>
    <span class="text-[#3a3a3a]">→</span>
  </a>
`).join('');

// Casino table
const renderRank = (r) => {
  const cls = r===1?'gold':r===2?'silver':r===3?'bronze':'';
  return `<div class="badge-rank ${cls}">${String(r).padStart(2,'0')}</div>`;
};
const renderStars = (rating) => {
  const full = Math.floor(rating);
  return `<span class="star">${'★'.repeat(full)}</span><span style="color:#3a3a3a">${'★'.repeat(5-full)}</span> <span class="mono text-[12px] ml-1" style="color:var(--text-2)">${rating.toFixed(1)}</span>`;
};
/* casino-table rendered server-side */

// Casino detail cards
/* casino-cards rendered server-side */

// Specs grid
$('#specs-grid').innerHTML = SPECS.map((s,i) => `
  <div class="p-5" style="border-right:1px solid var(--border); border-bottom:1px solid var(--border)">
    <div class="text-[10px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">${s[0]}</div>
    <div class="font-semibold mt-1.5 text-[15px]">${s[1]}</div>
  </div>
`).join('');
// remove the empty preceding block from html
document.querySelectorAll('#specs .grid.surface.rounded-2xl').forEach((el,i) => { if(i===0) el.remove(); });

// Features
$('#features-grid').innerHTML = FEATURES.map((f,i) => `
  <div class="surface rounded-2xl p-5">
    <div class="flex items-center gap-3 mb-3">
      <div class="num-badge">${String(i+1).padStart(2,'0')}</div>
      <div class="font-semibold">${f[0]}</div>
    </div>
    <p class="text-[13.5px] leading-relaxed" style="color:var(--text-2)">${f[1]}</p>
  </div>
`).join('');

// Terms
$('#terms-grid').innerHTML = TERMS.map((t) => `
  <div class="flex gap-3 py-2.5 border-b" style="border-color:var(--border)">
    <div class="font-semibold text-[14px] w-32 shrink-0">${t[0]}</div>
    <div class="text-[13.5px]" style="color:var(--text-2)">${t[1]}</div>
  </div>
`).join('');

// Steps
$('#steps-grid').innerHTML = STEPS.map((s,i) => `
  <div class="p-6" style="background:var(--surface)">
    <div class="flex items-center gap-3 mb-2">
      <div class="num-badge">${String(i+1).padStart(2,'0')}</div>
      <span class="text-[10px] mono uppercase tracking-[0.18em]" style="color:var(--text-3)">Step ${i+1}</span>
    </div>
    <div class="font-semibold mt-2">${s[0]}</div>
    <p class="text-[13.5px] mt-1.5 leading-relaxed" style="color:var(--text-2)">${s[1]}</p>
  </div>
`).join('');

// Criteria
$('#criteria-grid').innerHTML = CRITERIA.map(c => `
  <div class="surface rounded-2xl p-5 flex gap-4">
    <div class="num-badge shrink-0">${c[0]}</div>
    <div>
      <div class="font-semibold">${c[1]}</div>
      <p class="text-[13.5px] mt-1.5 leading-relaxed" style="color:var(--text-2)">${c[2]}</p>
    </div>
  </div>
`).join('');

// Diff table
$('#diff-table').innerHTML = DIFF.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    ${r.map((cell,i) => `<td class="px-5 py-3 ${i===0?'font-semibold':''}" style="${i===0?'':'color:var(--text-2)'}">${cell}</td>`).join('')}
  </tr>
`).join('');

// Demo steps
$('#demo-steps').innerHTML = ['Open the operator site without registering.','Locate "Demo" or "Free play" mode in the lobby.','Set a virtual stake - start at the minimum to feel the curve.','Try one auto-cashout target (1.50×) and one manual exit per round.','Run at least 50 rounds before considering a deposit.'].map((s,i) => `
  <li class="flex gap-4">
    <div class="num-badge !rounded-full !w-7 !h-7 shrink-0">${i+1}</div>
    <span class="text-[14.5px] leading-relaxed pt-0.5">${s}</span>
  </li>
`).join('');

// Welcome bonus table
$('#welcome-table').innerHTML = WELCOME.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-5 py-3 mono">${r[2]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[3]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[4]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[5]}</td>
  </tr>
`).join('');

// Promo codes table
/* promo-table rendered server-side */

// In-game promotions
$('#ingame-table').innerHTML = INGAME.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[2]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[3]}</td>
  </tr>
`).join('');

// Strategy cards
$('#strategy-cards').innerHTML = STRATS.map(s => `
  <div class="surface rounded-2xl p-7 flex flex-col">
    <div class="text-[11px] mono uppercase tracking-[0.18em] mb-2" style="color:${s.color}">[ ${s.tag} ]</div>
    <h4 class="text-[20px] font-semibold tracking-tight">${s.title}</h4>
    <div class="text-[13px] mt-2" style="color:var(--text-3)">Target multiplier · <span class="mono" style="color:${s.color}">${s.target}</span></div>
    <p class="text-[14px] mt-4 leading-relaxed" style="color:var(--text-2)">${s.desc}</p>
    <div class="border-t mt-5 pt-5" style="border-color:var(--border)">
      ${s.rules.map(r => `<div class="flex gap-2 text-[13px] mb-1.5"><span style="color:${s.color}">·</span><span style="color:var(--text-2)">${r}</span></div>`).join('')}
    </div>
  </div>
`).join('');

// Systems table
const riskPill = (r) => {
  const cls = r==='Low'?'pill-green':r==='Medium'?'pill-gold':'pill-red';
  return `<span class="pill ${cls} !text-[11px]">${r}</span>`;
};
$('#systems-table').innerHTML = SYSTEMS.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[2]}</td>
    <td class="px-5 py-3">${riskPill(r[3])}</td>
  </tr>
`).join('');

// Mistakes table
$('#mistakes-table').innerHTML = MISTAKES.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-4 py-3 font-semibold">${r[0]}</td>
    <td class="px-4 py-3" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-4 py-3" style="color:var(--text-2)">${r[2]}</td>
  </tr>
`).join('');

// Apps table
$('#apps-table').innerHTML = APPS.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[2]}</td>
    <td class="px-5 py-3 mono" style="color:var(--text-2)">${r[3]}</td>
    <td class="px-5 py-3"><span class="pill pill-gold !text-[11px]">★ ${r[4]}</span></td>
  </tr>
`).join('');

// Compare table
/* compare-table rendered server-side */

// KYC table
$('#kyc-table').innerHTML = KYC.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    <td class="px-5 py-3 mono" style="color:var(--text-2)">${r[1]}</td>
    <td class="px-5 py-3" style="color:var(--text-2)">${r[2]}</td>
    <td class="px-5 py-3 mono" style="color:#FDB913">${r[3]}</td>
  </tr>
`).join('');

// Payments table
$('#pay-table').innerHTML = PAYS.map(r => `
  <tr style="border-bottom:1px solid var(--border)">
    <td class="px-5 py-3 font-semibold">${r[0]}</td>
    ${r.slice(1).map((c,i) => `<td class="px-5 py-3 ${i>=4?'mono':''}" style="color:var(--text-2)">${c}</td>`).join('')}
  </tr>
`).join('');

// Advantages
$('#adv-grid').innerHTML = ADV.map((a,i) => `
  <div class="surface rounded-2xl p-5">
    <div class="flex items-center gap-3 mb-2.5">
      <div class="num-badge">${String(i+1).padStart(2,'0')}</div>
      <div class="font-semibold">${a[0]}</div>
    </div>
    <p class="text-[13.5px] leading-relaxed" style="color:var(--text-2)">${a[1]}</p>
  </div>
`).join('');

// Screenshots
/* screens-grid rendered server-side */

// Reviews
$('#reviews-grid').innerHTML = REVIEWS.map(r => `
  <article class="surface rounded-2xl p-6 flex flex-col">
    <div class="flex items-center gap-3 mb-4">
      <div class="ph-logo w-10 h-10 rounded-full" style="background:#1A1A1A; color:#FDB913">${r.init}</div>
      <div class="flex-1">
        <div class="font-semibold text-[14px]">${r.name}</div>
        <div class="text-[12px]" style="color:var(--text-3)">${r.city}</div>
      </div>
      <div class="text-[12px]"><span class="star">${'★'.repeat(r.rating)}</span><span style="color:#3a3a3a">${'★'.repeat(5-r.rating)}</span></div>
    </div>
    <p class="text-[14px] leading-relaxed flex-1" style="color:var(--text-2)">"${r.text}"</p>
  </article>
`).join('');

// Compliance badges
$('#compliance-badges').innerHTML = ['18+','BeGambleAware','GamCare','Gamstop','Gordon Moody'].map(b =>
  `<div class="ph-logo h-11 px-4 rounded-md">${b}</div>`
).join('');

// FAQ
$('#faq-list').innerHTML = FAQS.map((q,i) => `
  <details class="${i>0?'border-t':''}" style="border-color:var(--border)">
    <summary class="flex items-center justify-between gap-4 px-6 py-5 hover:bg-[#141414] transition-colors">
      <div class="flex items-center gap-4">
        <span class="mono text-[12px]" style="color:var(--text-3)">Q.${String(i+1).padStart(2,'0')}</span>
        <span class="font-semibold text-[15px]">${q[0]}</span>
      </div>
      <svg class="chev shrink-0" width="18" height="18" viewBox="0 0 20 20" fill="none"><path d="M5 8l5 5 5-5" stroke="#A0A0A0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
    </summary>
    <div class="px-6 pb-6 -mt-1 text-[14.5px] leading-relaxed pl-[78px]" style="color:var(--text-2)">${q[1]}</div>
  </details>
`).join('');

/* mobile menu */
const mt = $('#mobile-toggle');
const ms = $('#mobile-sheet');
mt && mt.addEventListener('click', () => ms.classList.toggle('hidden'));
ms && ms.addEventListener('click', e => { if(e.target.tagName === 'A') ms.classList.add('hidden'); });
</script>



</body></html>