.casino-copy-hero{padding-top:24px;padding-bottom:24px}
.casino-copy-kicker{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.casino-copy-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:8px 0 14px}
.casino-copy-intro{font-size:1.08rem;max-width:65ch;line-height:1.55}
.casino-copy-byline{font-size:.8rem;line-height:1.8;color:var(--text-secondary)}
.casino-copy-action{display:inline-flex;align-items:center;min-height:46px;margin-top:16px;padding:10px 16px;border:1px solid currentColor;border-radius:6px;font-weight:700}
.casino-copy-body{padding-bottom:36px}
.casino-copy-body>section{max-width:780px;margin:28px 0}
.casino-copy-body h2{font-size:1.3rem;margin-bottom:12px}
.casino-copy-body p,.casino-copy-body li{line-height:1.7}
.casino-copy-body p{margin:12px 0}
.casino-copy-body ul{padding-left:1.5rem;list-style-position:outside}
.casino-copy-body li{margin:8px 0;padding-left:.15rem}
.casino-copy-body a,.casino-copy-byline a{text-decoration:underline;text-underline-offset:3px}
.casino-copy-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.casino-copy-member a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;border:1px solid var(--border-color,#697382);border-radius:6px;padding:10px 14px;text-decoration:none;font-weight:600}
.casino-copy-faq details{border-bottom:1px solid var(--border-color,#697382)}
.casino-copy-faq summary{cursor:pointer;padding:16px 0;min-height:48px;font-weight:600}
@media(max-width:480px){.casino-copy-members{grid-template-columns:1fr}.casino-copy-hero{padding-top:18px}.casino-copy-body>section{margin:24px 0}}
/* Casino hero: homepage banner language (navy, paper-cut art left, copy right) */
.casino-hero{--hero-ink:#071740;--hero-soft:#d6e2ff;--hero-accent:#c3d8ff;position:relative;isolation:isolate;background:var(--hero-ink);color:#fff;overflow:hidden}
.casino-hero-art{position:absolute;inset:0;z-index:-2;display:block}
.casino-hero-art img{position:absolute;left:0;bottom:0;height:128%;width:auto;max-width:none;display:block}
/* Art is anchored bottom-left so the Ndebele band always shows; the right edge fades into the navy. */
.casino-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 34%,rgba(7,23,64,.45) 48%,rgba(7,23,64,.92) 60%,rgba(7,23,64,.95))}
.casino-hero-inner{display:grid;grid-template-columns:1fr 1fr;min-height:380px;align-items:center;gap:48px;padding-top:40px;padding-bottom:40px}
.casino-hero-copy{grid-column:2;min-width:0}
.casino-hero-eyebrow,.casino-section-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.casino-hero-eyebrow{color:var(--hero-soft)}
.casino-section-eyebrow{color:var(--muted,#596474)}
.casino-hero h1{color:#fff;font-size:clamp(2.1rem,1.4rem + 2vw,3.1rem);line-height:1.08;letter-spacing:-.04em;margin:0;text-wrap:balance}
.casino-hero h1 span{color:var(--hero-accent)}
.casino-hero-intro{color:var(--hero-soft);margin:16px 0 0;max-width:48ch;font-size:1.05rem;line-height:1.55}
.casino-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
.casino-hero .casino-copy-action{margin:0;background:#fff;color:var(--hero-ink);border:1px solid #fff;text-decoration:none;gap:8px}
.casino-hero .casino-copy-action:hover{background:var(--hero-soft)}
.casino-hero-secondary{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.casino-hero a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.casino-hero-byline{display:flex;flex-wrap:wrap;gap:4px 20px;padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--line,#d5d9e0);font-size:.8rem;color:var(--muted,#596474)}
.casino-hero-byline a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* Review cards */
.casino-copy-member a{justify-content:flex-start;gap:12px;color:var(--text,#192233)}
.casino-copy-member .brand-plate{width:64px;height:42px;flex:none}.casino-copy-member .brand-plate img{width:52px;height:30px}
.casino-copy-member strong{display:block;font-size:.9rem}.casino-copy-member small{display:block;font-weight:500;color:var(--muted,#596474);font-size:.8rem}
.casino-copy-arrow{margin-left:auto}
/* No-deposit offers */
.nd-section{margin-top:48px}
.nd-section h2{font-size:1.5rem;margin:0 0 18px}
.nd-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nd-card{border:1px solid var(--line);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}
.nd-card-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.nd-card h3{font-size:1rem;margin:0}.nd-card h3 a{color:var(--text);text-decoration:none}
.nd-card small,.nd-brand small{color:var(--muted);font-size:var(--xs);display:block}
.nd-card-get{font-size:1.2rem;font-weight:750;letter-spacing:-.02em;line-height:1.3;margin:0}
.nd-card-then{font-size:var(--sm);color:var(--muted);margin:0 0 10px}
.nd-card .nd-code{margin-top:auto;align-self:flex-start}
.nd-note{font-size:var(--xs);color:var(--muted);margin-top:14px;max-width:80ch}
.nd-code{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1.5px dashed var(--blue)!important;border-radius:6px!important;background:var(--tint)!important;color:var(--text);font:650 .9rem/1 ui-monospace,SFMono-Regular,monospace;white-space:nowrap;cursor:pointer}
.nd-code i{font:600 .72rem/1 Inter,system-ui,sans-serif;font-style:normal;color:var(--blue);text-transform:uppercase;letter-spacing:.06em}
.nd-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.nd-filter{min-height:44px;padding:0 16px;border:1px solid var(--line)!important;border-radius:999px!important;font-size:var(--sm);font-weight:600;color:var(--text);background:transparent;cursor:pointer}
.nd-filter b{font-weight:600;color:var(--muted);margin-left:4px}
.nd-filter.is-on{background:var(--text)!important;color:var(--bg);border-color:var(--text)!important}
.nd-filter.is-on b{color:var(--bg);opacity:.75}
.nd-head,.nd-row{display:grid;grid-template-columns:36px minmax(220px,1.1fr) 2fr 150px 140px;gap:16px;align-items:center}
.nd-head{font-size:var(--xs);font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 16px 8px;border-bottom:1px solid var(--line)}
.nd-table{list-style:none;margin:0;padding:0}
.nd-row{padding:12px 16px;border-bottom:1px solid var(--line)}
.nd-row[hidden]{display:none}
.nd-row:nth-child(odd){background:var(--surface)}
.nd-rank{font-weight:650;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}
.nd-brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;min-width:0}
.nd-brand .brand-plate{width:64px;height:42px;flex:none}.nd-brand .brand-plate img{width:52px;height:30px}
.nd-brand strong{font-size:var(--sm)}
.nd-offer strong{display:block;font-size:var(--sm);font-weight:650;line-height:1.35}
.nd-tag{display:inline-block;margin:6px 6px 0 0;padding:2px 8px;border-radius:4px;font-size:.72rem;font-weight:650;color:var(--muted);background:var(--bg);border:1px solid var(--line)}
.nd-tag-free{color:#0b6b3a;background:#e4f6ec;border-color:#bfe6cf}
[data-theme=dark] .nd-tag-free{color:#8de3b3;background:#12321f;border-color:#21543a}
.nd-go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:6px;background:var(--blue);color:var(--bg);font-size:var(--sm);font-weight:650;text-decoration:none;white-space:nowrap}
[data-theme=dark] .nd-go{color:#071740}
@media(max-width:1100px){.nd-head,.nd-row{grid-template-columns:30px minmax(190px,1fr) 1.5fr 140px 130px}}
@media(max-width:900px){
 .casino-hero-inner{grid-template-columns:.8fr 1.2fr;min-height:320px}
 .casino-hero::after{background:linear-gradient(90deg,transparent 18%,rgba(7,23,64,.6) 36%,rgba(7,23,64,.94) 52%)}
 .nd-cards{grid-template-columns:1fr 1fr}
 .nd-head{display:none}
 .nd-row{grid-template-columns:28px 1fr auto;grid-template-areas:"r b b" ". o o" ". c g";row-gap:10px}
 .nd-rank{grid-area:r}.nd-brand{grid-area:b}.nd-offer{grid-area:o}.nd-row .nd-code{grid-area:c;justify-self:start}.nd-go{grid-area:g}
}
@media(max-width:600px){
 .casino-hero-art{position:static;z-index:auto}
 .casino-hero-art img{position:static;width:100%;height:auto;aspect-ratio:800/340;object-fit:cover}
 .casino-hero::after{display:none}
 .casino-hero-inner{display:block;min-height:0;padding-top:18px;padding-bottom:26px}
 .casino-hero h1{font-size:1.85rem}
 .casino-hero-intro{font-size:.92rem;margin-top:12px}
 .casino-hero-actions{margin-top:18px;gap:8px 18px}
 .casino-hero-byline{gap:2px 16px}
 .nd-section{margin-top:32px}
 .nd-cards{grid-template-columns:1fr;gap:12px}
 .nd-card{padding:14px}
 .nd-row{grid-template-columns:22px 1fr auto;padding:12px 10px;column-gap:10px}
 .nd-go{padding:0 12px;font-size:var(--xs)}
}
/* Fact tables inside casino editorial sections */
.casino-facts-wrap{margin:16px 0}
.casino-facts{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}
.casino-facts th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;color:var(--text-muted);padding:8px 10px;border-bottom:1px solid var(--border)}
.casino-facts td{padding:10px;border-bottom:1px solid var(--border);vertical-align:top}
.casino-facts td:nth-child(2),.casino-facts td:nth-child(3),.casino-facts td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums}
.casino-facts td:nth-child(4){font-weight:700}
@media (max-width:600px){
.casino-facts thead{display:none}
.casino-facts,.casino-facts tbody,.casino-facts tr,.casino-facts td{display:block;width:100%}
.casino-facts tr{border:1px solid var(--border);border-radius:10px;padding:6px 12px;margin-bottom:10px}
.casino-facts td{display:flex;justify-content:space-between;gap:12px;border:0;padding:5px 0;white-space:normal!important;text-align:right}
.casino-facts td::before{content:attr(data-label);font-weight:600;color:var(--text-muted);text-align:left;flex-shrink:0}
.casino-facts td:first-child{font-weight:700;font-size:15px}
}
@media (max-width:600px){
.casino-facts tr{padding:10px 14px}
.casino-facts td{padding:2px 0!important;min-height:0;font-size:14px;line-height:1.4}
.casino-facts td:first-child{padding-bottom:6px!important}
.casino-facts td:first-child::before{content:none}
}
.casino-facts--text td:nth-child(n){white-space:normal;font-weight:400}
.casino-facts--text td:first-child{font-weight:700;white-space:nowrap}
.casino-facts--text th:first-child{width:18%}
@media (max-width:600px){
.casino-facts--text td{display:block;text-align:left}
.casino-facts--text td::before{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1px}
.casino-facts--text td+td{padding-top:6px!important}
}
