:root {
    --base-color: #11110f;
    --contrast-color: #f1eaf3;
    --accent-color: #c197d0;
    --content-width: 960px;
    --wide-width: 1400px;
    --canvas: var(--base-color);
    --surface: #19131d;
    --surface-raised: #201825;
    --text: var(--contrast-color);
    --muted: #b9b0bc;
    --subtle: #a296a7;
    --gold: var(--accent-color);
    --gold-light: #dec2e7;
    --gold-dark: #7e4ca0;
    --red: #9563a7;
    --line: rgba(178, 121, 230, .18);
    --gutter: clamp(20px, 3.2vw, 48px);
    --header-height: 129px;
    --radius: 16px;
    --cookie-height: 0px;
    color-scheme: dark;
}
*, *::before, *::after {
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-height) + 24px);
}
body {
    margin: 0;
    min-width: 0;
    background: var(--canvas);
    color: var(--text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
body.has-open-menu {
    overflow: hidden;
}
button, input {
    font: inherit;
}
button, a, input, summary {
    -webkit-tap-highlight-color: transparent;
}
button {
    cursor: pointer;
}
a {
    color: inherit;
    text-decoration: none;
}
button {
    color: inherit;
}
img {
    display: block;
    max-width: 100%;
}
figure {
    margin: 0;
}
[hidden] {
    display: none !important;
}
:focus-visible {
    outline: 3px solid var(--gold);
    outline-offset: 5px;
}
::selection {
    background: var(--gold);
    color: #140f17;
}
.page-shell, .content-shell, .main-content, .content-area, .content-group {
    min-width: 0;
}
.page-shell {
    width: 100%;
}
.content-wrap {
    width: calc(100% - var(--gutter) * 2);
    max-width: var(--wide-width);
    margin-inline: auto;
}
.main-content {
    padding-top: 28px;
    outline: none;
}
.icon {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    object-fit: contain;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.skip-link:focus {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100;
    width: auto;
    height: auto;
    margin: 0;
    padding: 15px 22px;
    clip: auto;
    background: var(--gold);
    color: #110c15;
    border-radius: 8px;
}
.action-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.action-item {
    min-width: 0;
    max-width: 100%;
}
.button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 46px;
    padding: 11px 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    text-align: center;
    transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.button--gold {
    color: #18101d;
    background: linear-gradient(110deg, #ddbfe7 0%, #bd8dcd 58%, #9e68b1 100%);
    border-color: #cba4d9;
    box-shadow: inset 0 1px 0 #e9d6ef;
}
.button--gold .icon {
    filter: brightness(0);
    opacity: .86;
}
.button--gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 23px #79469c28, inset 0 1px 0 #ecdcf2;
}
.button--outline {
    border-color: #5d466d;
    color: var(--gold-light);
    background: #140f17a6;
}
.button--outline:hover, .button--ghost:hover, .button--login:hover {
    background: #291e30;
    border-color: var(--gold);
}
.button--ghost {
    min-height: 38px;
    padding: 8px 20px;
    border-color: #463452;
    color: var(--gold-light);
    font-weight: 500;
}
.button--small {
    min-height: 36px;
    padding: 8px 13px;
    font-size: 12px;
    gap: 12px;
    font-weight: 500;
}
.button--small .icon {
    width: 16px;
    height: 16px;
}
.button--large {
    min-height: 54px;
    padding: 15px 24px;
    font-size: 15px;
}
.button--register {
    min-width: 152px;
    min-height: 46px;
}
.button--login {
    min-width: 84px;
    min-height: 46px;
    background: #1d1622;
    border-color: #43324e;
}
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #1b141f;
    transition: border-color .2s, background .2s, transform .2s;
}
.icon-button:hover {
    border-color: #9a6daa;
    background: #271d2e;
}
.icon-button .icon {
    width: 21px;
    height: 21px;
}
.text-button {
    border: 0;
    padding: 0;
    background: none;
    text-align: left;
    color: inherit;
    cursor: pointer;
}
.has-shine {
    overflow: hidden;
    isolation: isolate;
}
.has-shine::after {
    content: "";
    position: absolute;
    inset: -80% auto -80% -80%;
    width: 36%;
    background: linear-gradient(90deg, transparent, #efe1f45c, transparent);
    transform: skewX(-24deg);
    pointer-events: none;
}
.has-shine.is-in-view::after {
    animation: button-sheen 6s ease-in-out 2;
}
@keyframes button-sheen {
    0%, 40% {
        left: -80%;
    }
    66%, 100% {
        left: 145%;
    }
}
/* Header and navigation */
.site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
    border-top: 2px solid #8f60a0;
    border-bottom: 1px solid var(--line);
    background: #110d14f5;
    backdrop-filter: blur(18px);
}
.site-header.is-scrolled {
    box-shadow: 0 10px 28px #0004;
}
.header-inner {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 36px;
}
.brand-block {
    flex: 0 0 112px;
}
.brand-link {
    display: inline-block;
    vertical-align: middle;
}
.brand-logo {
    width: 106px;
    height: auto;
    object-fit: contain;
}
.primary-navigation {
    flex: 1 1 auto;
    min-width: 0;
}
.nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.primary-navigation .nav-list {
    display: flex;
    align-items: stretch;
    gap: 4px;
}
.primary-navigation .nav-item {
    min-width: 0;
}
.primary-navigation a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 76px;
    padding: 18px 15px;
    color: #c1b7c4;
    font-size: 15px;
    font-weight: 450;
    white-space: nowrap;
}
.primary-navigation a:hover, .primary-navigation .is-current a {
    color: var(--gold-light);
}
.primary-navigation .is-current a::after {
    content: "";
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 0;
    height: 3px;
    background: var(--gold);
    border-radius: 3px 3px 0 0;
}
.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    gap: 10px;
}
.language-switcher {
    position: relative;
    margin-left: 5px;
}
.language-switcher summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 77px;
    min-height: 44px;
    padding: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.language-switcher summary::-webkit-details-marker {
    display: none;
}
.language-switcher .icon {
    width: 20px;
    height: 20px;
}
.language-chevron {
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    border-right: 1px solid var(--muted);
    border-bottom: 1px solid var(--muted);
    margin: -3px 0 0 2px;
}
.language-options {
    position: absolute;
    right: 0;
    top: calc(100% + 5px);
    z-index: 5;
    width: 170px;
    padding: 15px;
    border: 1px solid #4e3b5c;
    background: #1f1725;
    border-radius: 10px;
    box-shadow: 0 15px 30px #0006;
}
.language-options > span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}
.language-options > span > span {
    margin-left: auto;
    color: var(--gold);
}
.menu-toggle {
    display: none;
    border-radius: 8px;
}
.header-secondary {
    border-top: 1px solid #ffffff08;
    background: #17111b;
}
.header-secondary-inner {
    display: flex;
    align-items: center;
    gap: 30px;
    min-height: 48px;
}
.utility-navigation .nav-list {
    display: flex;
    align-items: center;
    gap: 24px;
}
.utility-navigation a {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    font-size: 13px;
    font-weight: 450;
    color: #bdb0c2;
}
.utility-navigation a:hover {
    color: var(--gold-light);
}
.header-promotion {
    margin: 0 0 0 auto;
    color: #aea2b2;
    font-size: 12px;
    font-weight: 400;
}
.search-form {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 46px;
    gap: 10px;
    padding: 0 10px 0 14px;
    border: 1px solid #4a3857;
    border-radius: 8px;
    background: #11110f;
}
.search-form:focus-within {
    outline: 2px solid var(--gold);
    outline-offset: 2px;
}
.search-field {
    min-width: 0;
    width: 100%;
    height: 100%;
    border: 0;
    outline: 0;
    background: none;
    color: var(--text);
    font-size: 14px;
}
.search-field::placeholder {
    color: #9d93a0;
}
.search-field:focus-visible {
    outline: 0;
}
.search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 0;
    background: none;
    width: 28px;
    height: 30px;
    padding: 3px;
}
.search-submit .icon {
    width: 17px;
    height: 17px;
}
.header-search {
    width: 226px;
    height: 34px;
    flex-shrink: 0;
    margin-left: auto;
    border-color: #36283f;
}
.header-search .search-field {
    font-size: 12px;
}
.header-search > .icon {
    width: 16px;
    height: 16px;
}
.age-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    min-height: 23px;
    color: #ac90b6;
    font-size: 10px;
    border: 1px solid #483655;
    border-radius: 5px;
}
.mobile-drawer {
    width: min(420px, calc(100% - 24px));
    max-width: none;
    max-height: calc(100dvh - 24px);
    margin: 12px 12px 12px auto;
    padding: 22px;
    border: 1px solid #503b5e;
    border-radius: 18px;
    background: #17111b;
    color: var(--text);
    overflow: auto;
    overscroll-behavior: contain;
    box-shadow: 0 25px 80px #0008;
}
.mobile-drawer::backdrop {
    background: #050405bd;
    backdrop-filter: blur(4px);
}
.mobile-menu-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.mobile-menu-title {
    font-size: 24px;
    font-weight: 650;
}
.mobile-menu-group {
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}
.mobile-menu-group a {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 44px;
    padding: 10px;
    border-radius: 6px;
    color: #d6ccd9;
    font-size: 15px;
}
.mobile-menu-group a:hover, .mobile-menu-group .is-current a {
    background: #291f30;
    color: var(--gold-light);
}
.mobile-menu-secondary a {
    font-size: 14px;
    color: #b3a8b7;
}
.mobile-account-actions {
    padding: 20px 0;
}
.mobile-account-actions .button--register {
    flex: 1;
}
.mobile-menu-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    font-size: 11px;
    color: var(--subtle);
}
.mobile-menu-bottom > span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
/* Feature imagery and editorial promotions */
.feature-stack {
    border: 1px solid #493756;
    border-radius: var(--radius);
    background: #17111b;
}
.hero-slider {
    position: relative;
    isolation: isolate;
    border-radius: var(--radius) var(--radius) 0 0;
    overflow: hidden;
}
.hero-slide {
    position: relative;
    isolation: isolate;
    min-height: 548px;
    overflow: hidden;
    background: radial-gradient(ellipse at 75% 46%, #422c52 0, #261d2d 33%, #151019 70%);
}
.hero-slide::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, #130e17 0%, #140f17b8 33%, transparent 67%);
}
.hero-slide--promotions {
    background: radial-gradient(ellipse at 73% 43%, #463354, #261d2d 36%, #151019 72%);
}
.hero-slide--tournament {
    background: radial-gradient(ellipse at 78% 45%, #402b4f, #241b2b 38%, #151019 72%);
}
.hero-slider.is-enhanced .hero-slides {
    display: grid;
}
.hero-slider.is-enhanced .hero-slide {
    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .65s ease, visibility .65s;
}
.hero-slider.is-enhanced .hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.hero-geometry {
    position: absolute;
    z-index: 0;
    right: -12%;
    top: -75%;
    width: 68%;
    height: 250%;
    transform: rotate(32deg);
    background: repeating-linear-gradient(90deg, transparent 0, transparent 76px, #c69ed416 77px, transparent 78px), linear-gradient(90deg, #ad6fc338, transparent 30%, #a669bb12 55%, transparent);
    border-left: 1px solid #b680c948;
    border-right: 1px solid #b680c930;
}
.hero-geometry::after {
    content: "";
    position: absolute;
    inset: 0 12%;
    border-left: 1px solid #b580c738;
    border-right: 1px solid #b580c724;
}
.hero-art {
    position: absolute;
    z-index: 1;
    right: 7%;
    top: 57px;
    width: 390px;
    height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-art::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -15px;
    border: 1px solid #c69ed456;
    border-radius: 50%;
    background: radial-gradient(ellipse, #a763be20, transparent 64%);
    box-shadow: 0 0 0 18px #b68dc504, 0 0 0 19px #b68dc516;
}
.hero-art img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 26px 32px #05040580);
}
.hero-slide--promotions .hero-art {
    transform: rotate(-6deg);
}
.hero-slide--tournament .hero-art {
    width: 380px;
    height: 380px;
    top: 54px;
    right: 7.5%;
}
.hero-content {
    position: relative;
    z-index: 3;
    max-width: 66%;
    padding: 42px 52px 104px;
}
.hero-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #c39cd1;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.hero-label .icon {
    width: 18px;
    height: 18px;
}
.hero-title {
    margin: 14px 0 0;
    font-size: clamp(58px, 5.55vw, 80px);
    font-weight: 720;
    letter-spacing: -.055em;
    line-height: 1.02;
}
.hero-title > span {
    color: var(--gold-light);
}
.hero-title--words {
    font-size: clamp(42px, 4.8vw, 69px);
    letter-spacing: -.04em;
    line-height: 1.06;
}
.hero-description {
    margin: 16px 0 22px;
    color: #c5b5cb;
    font-size: 18px;
    line-height: 1.5;
}
.hero-terms {
    margin: 12px 0 0;
    color: #aa98b1;
    font-size: 11px;
    line-height: 1.65;
}
.hero-controls {
    position: absolute;
    z-index: 4;
    left: 52px;
    right: 38px;
    bottom: 0;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #b68dc528;
}
.slider-dots {
    display: flex;
    align-items: center;
    gap: 26px;
}
.slider-dot {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #ae9eb4;
    font-size: 12px;
}
.dot-mark {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #705484;
    transition: background .25s, box-shadow .25s;
}
.slider-dot.is-active {
    color: #dbbce6;
}
.slider-dot.is-active .dot-mark {
    background: #d0abdd;
    box-shadow: 0 0 0 4px #c597d519;
}
.slider-navigation {
    display: flex;
    align-items: center;
    gap: 8px;
}
.slider-navigation .icon-button {
    width: 34px;
    height: 34px;
    background: #16111a7a;
    border-color: #67487c7a;
}
.slide-counter {
    margin-right: 15px;
    color: #96859c;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
}
.slide-counter > span {
    color: #cfafdb;
}
.pause-symbol {
    display: block;
    width: 9px;
    height: 11px;
    border-left: 2px solid var(--gold);
    border-right: 2px solid var(--gold);
}
.slider-pause.is-paused .pause-symbol {
    width: 0;
    height: 0;
    border: 0;
    border-left: 7px solid var(--gold);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    margin-left: 2px;
}
.payment-strip {
    display: flex;
    align-items: center;
    gap: 28px;
    min-height: 90px;
    padding: 15px 34px;
    border-top: 1px solid var(--line);
}
.payment-caption {
    flex-shrink: 0;
    font-size: 11px;
    color: #a899ad;
    line-height: 1.65;
}
.payment-logos {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 28px;
    min-width: 0;
    flex: 1;
}
.payment-logo {
    width: 116px;
    height: 43px;
    min-width: 70px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .85;
    transition: opacity .2s, filter .2s;
}
.payment-logo:hover {
    opacity: 1;
    filter: grayscale(0);
}
.payment-logo--mastercard {
    width: 74px;
}
.payment-logo--ethereum {
    width: 86px;
}
.payment-logo--litecoin {
    width: 70px;
}
.payment-note {
    font-size: 10px;
    line-height: 1.65;
    color: #a494aa;
    text-align: right;
    flex-shrink: 0;
}
.promotion-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}
.promotion-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-width: 0;
    min-height: 220px;
    padding: 28px 26px;
    border: 1px solid #3e2e49;
    border-radius: 12px;
    background: linear-gradient(120deg, #1d1522 12%, #281d2f);
}
.promotion-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg, #16111af2, #16111a1a 88%);
}
.promotion-card--bonus {
    background: linear-gradient(120deg, #211926, #402d4d);
}
.promotion-card--club {
    background: linear-gradient(120deg, #1b1420, #33243d);
}
.promotion-content {
    position: relative;
    z-index: 3;
    max-width: 80%;
}
.promotion-title {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 650;
    letter-spacing: -.025em;
    margin: 0;
}
.promotion-content > p {
    margin: 12px 0 23px;
    font-size: 13px;
    line-height: 1.7;
    color: #b7a5be;
}
.promotion-art {
    position: absolute;
    z-index: 1;
    right: -30px;
    top: 23px;
    width: 195px;
    height: 195px;
    object-fit: contain;
    opacity: .94;
    transform: rotate(-9deg);
}
.promotion-card--bonus .promotion-art {
    top: 30px;
    right: -6px;
    width: 180px;
    height: 180px;
    transform: rotate(7deg);
}
.promotion-card--club .promotion-art {
    width: 200px;
    height: 200px;
    top: 29px;
    right: -21px;
    transform: rotate(-12deg);
}
.promotion-index {
    position: absolute;
    z-index: 3;
    top: 16px;
    right: 18px;
    color: #b289c190;
    font-size: 10px;
    letter-spacing: .05em;
}
.intro-section {
    max-width: 1170px;
    margin: 64px auto 0;
}
.intro-title {
    margin: 0 0 24px;
    font-size: clamp(28px, 2.8vw, 40px);
    line-height: 1.2;
    font-weight: 680;
    letter-spacing: -.035em;
}
.intro-section .article-content {
    font-size: 17px;
    line-height: 1.85;
    color: #bcb2bf;
}
.intro-section .article-content p {
    margin: 0;
}
.intro-section .article-content p + p {
    margin-top: 20px;
}
.jackpot-section {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    position: relative;
    overflow: hidden;
    margin-top: 48px;
    padding: 31px 34px;
    border: 1px solid #7d5996;
    border-radius: 12px;
    background: radial-gradient(ellipse at 80% 0, #452a5877, transparent 55%), linear-gradient(100deg, #231a29, #2c1e35 60%, #1d1622);
    box-shadow: inset 0 1px #cb9fda30;
}
.jackpot-section::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid #9566a62b;
    border-radius: 7px;
    pointer-events: none;
}
.jackpot-emblem {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border: 1px solid #9465a4;
    border-radius: 50%;
    box-shadow: 0 0 0 7px #b287c208;
    background: #a670b913;
}
.jackpot-emblem .icon {
    width: 42px;
    height: 42px;
}
.jackpot-title {
    margin: 0;
    color: #d5bbde;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.2;
}
.jackpot-total {
    display: flex;
    align-items: baseline;
    gap: 17px;
    margin-top: 4px;
    color: #d3afe0;
    white-space: nowrap;
}
.jackpot-number {
    font-size: clamp(36px, 4.3vw, 62px);
    letter-spacing: -.035em;
    font-weight: 700;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}
.jackpot-currency {
    font-size: 32px;
    font-weight: 400;
    color: #b58bc3;
}
.jackpot-note {
    margin: 7px 0 0;
    font-size: 11px;
    line-height: 1.6;
    color: #ae9bb4;
}
.jackpot-action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 13px;
    z-index: 1;
}
.jackpot-action .button {
    width: 100%;
}
.jackpot-action > span {
    color: #b29db9;
    font-size: 10px;
    text-align: center;
}
/* Catalogue: supplied game fragments and selectors are preserved. */
.catalog-tools {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 62px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line);
}
.catalog-search {
    flex: 1;
    max-width: 380px;
    background: #18121c;
    border-color: #41314c;
    height: 48px;
}
.catalog-filters {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #1b141f;
    border: 1px solid #36293f;
    padding: 4px;
    border-radius: 9px;
}
.filter-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 35px;
    padding: 8px 16px;
    border: 0;
    border-radius: 5px;
    color: #b8aabd;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
}
.filter-button.is-active {
    color: #ddbfe7;
    background: #35263f;
}
.filter-button:hover {
    background: #281e2e;
}
.catalog-count {
    margin: 0 0 0 auto;
    font-size: 12px;
    color: #a594ab;
    text-align: right;
}
.section {
    margin: 44px 0 0;
    min-width: 0;
}
.catalog-tools + .search-empty + .section {
    margin-top: 26px;
}
.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}
.section-head > div {
    min-width: 0;
}
.section-title {
    color: var(--text);
    font-size: clamp(25px, 2.25vw, 32px);
    font-weight: 650;
    letter-spacing: -.035em;
    line-height: 1.25;
}
.section-head .button {
    flex-shrink: 0;
}
.games-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px
}
.game-card {
    position:relative;
    min-width:0
}
.game-card>a {
    display:block;
    position:relative;
    overflow:hidden;
    border-radius:12px;
    background:#211a1d;
    aspect-ratio:760/430;
    border:1px solid transparent
}
.game-card>a:focus-visible {
    outline:3px solid var(--gold);
    outline-offset:3px
}
.game-card>a>img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s,filter .35s
}
.game-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.08));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    opacity:0;
    transition:opacity .25s
}
.game-overlay img {
    width:54px;
    height:54px
}
.game-overlay strong {
    position:absolute;
    left:14px;
    right:14px;
    bottom:12px;
    font-size:14px
}
.game-card:hover>a>img {
    transform:scale(1.06);
    filter:brightness(.62)
}
.game-card:hover .game-overlay {
    opacity:1
}
.game-badge {
    position:absolute;
    top:9px;
    left:9px;
    z-index:5;
    background:var(--red);
    color:#fff;
    border-radius:5px;
    padding:3px 8px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em
}
.game-card {
    border-radius: 12px;
}
.game-card > a {
    box-shadow: 0 3px 12px #0002;
}
.game-card > a:focus-visible .game-overlay {
    opacity: 1;
}
.game-card > a:focus-visible > img {
    filter: brightness(.65);
}
.game-card > a:hover {
    border-color: #ac7abe;
}
.game-overlay strong {
    line-height: 1.2;
    letter-spacing: -.01em;
}
.search-empty {
    margin-top: 28px;
    padding: 40px 20px;
    border: 1px dashed #554064;
    border-radius: 12px;
    background: #1b1420;
    text-align: center;
}
.search-empty > p {
    margin: 0 0 8px;
    font-size: 23px;
    font-weight: 600;
}
.search-empty > span {
    display: block;
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 20px;
}
.providers-section {
    margin-top: 52px;
}
.provider-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}
.provider-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 93px;
    padding: 20px 14px;
    border: 1px solid #392b43;
    border-radius: 9px;
    background: linear-gradient(120deg, #1e1623, #17111b);
    transition: border-color .2s, background .2s, transform .2s;
}
.provider-card:hover {
    border-color: #7f5e96;
    background: #241b2a;
    transform: translateY(-2px);
}
.provider-card img {
    width: 100%;
    max-width: 137px;
    height: 49px;
    object-fit: contain;
    opacity: .92;
}
.bonus-banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    isolation: isolate;
    overflow: hidden;
    margin-top: 54px;
    padding: 38px 42px;
    min-height: 292px;
    border-radius: 12px;
    border: 1px solid #624973;
    background: radial-gradient(ellipse at 58% 40%, #4f306550, transparent 45%), linear-gradient(112deg, #281d2f, #1a141e 80%);
}
.bonus-banner::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -45%;
    bottom: -45%;
    right: 27%;
    width: 260px;
    transform: rotate(28deg);
    border-left: 1px solid #a36fb650;
    border-right: 1px solid #a36fb630;
    background: linear-gradient(90deg, #b484c517, transparent);
}
.bonus-banner-content, .bonus-banner-action {
    position: relative;
    z-index: 2;
}
.bonus-banner-label {
    color: #bb9ac7;
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.bonus-banner-title {
    margin: 12px 0 0;
    font-size: clamp(30px, 3.1vw, 44px);
    font-weight: 680;
    line-height: 1.15;
    letter-spacing: -.035em;
}
.bonus-banner-title > span {
    color: var(--gold-light);
}
.bonus-banner-content > p {
    color: #b09fb6;
    font-size: 14px;
    line-height: 1.7;
    margin: 17px 0 0;
}
.bonus-banner-art {
    position: absolute;
    z-index: 0;
    width: 260px;
    height: 260px;
    object-fit: contain;
    right: 28%;
    top: 25px;
    transform: rotate(-14deg);
    opacity: .75;
}
.bonus-banner-action {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 210px;
}
.bonus-banner-action .button {
    width: 224px;
}
.bonus-banner-action > span {
    max-width: 200px;
    color: #b59ebd;
    font-size: 10px;
    line-height: 1.6;
    text-align: center;
}
/* Long-form typography is scoped to this one article. */
.article-section {
    max-width: var(--content-width);
    margin: 70px auto 0;
}
.table-of-contents {
    border: 1px solid #40304c;
    border-radius: 10px;
    background: #19131d;
    padding: 21px 25px;
}
.table-of-contents summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    list-style: none;
    color: #d5c2db;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    min-height: 26px;
}
.table-of-contents summary::-webkit-details-marker {
    display: none;
}
.table-of-contents summary::after {
    content: "+";
    color: #aa85b7;
    font-size: 20px;
    font-weight: 400;
}
.table-of-contents details[open] summary::after {
    content: "−";
}
.table-of-contents ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 28px;
    margin: 19px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: contents;
}
.table-of-contents li {
    min-width: 0;
    counter-increment: contents;
}
.table-of-contents a {
    display: flex;
    gap: 10px;
    align-items: baseline;
    color: #b3a5b8;
    padding: 7px 0;
    font-size: 13px;
    line-height: 1.5;
}
.table-of-contents a::before {
    content: counter(contents, decimal-leading-zero);
    color: #826299;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}
.table-of-contents a:hover, .table-of-contents a[aria-current="location"] {
    color: #d2acdf;
}
.editorial-note {
    font-size: 12px;
    line-height: 1.7;
    color: #b19bb8;
    border-left: 2px solid #8e679c;
    padding: 4px 0 4px 15px;
    margin: 24px 0 30px;
}
.article-section .article-content {
    color: #bcb2bf;
    font-size: 16px;
    line-height: 1.85;
    overflow-wrap: break-word;
}
.article-section .article-content p {
    margin: 0 0 18px;
}
.article-section h2 {
    margin: 42px 0 19px;
    font-size: clamp(24px, 2.2vw, 29px);
    line-height: 1.25;
    letter-spacing: -.025em;
    font-weight: 650;
    color: #e7dceb;
}
.article-section h3 {
    margin: 29px 0 15px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 600;
    color: #d6c1dd;
}
.article-section .article-content > h2:first-child {
    margin-top: 30px;
}
.article-section strong {
    font-weight: 650;
    color: #d8c3df;
}
.article-section ul {
    padding-left: 22px;
    margin: 12px 0 25px;
}
.article-section li {
    margin-bottom: 7px;
}
.article-section li::marker {
    color: #b289c0;
}
.table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #43324f;
    border-radius: 9px;
    margin: 26px 0;
    scrollbar-width: thin;
    scrollbar-color: #74528c #1d1622;
}
.article-section table {
    border-collapse: collapse;
    width: 100%;
    min-width: 690px;
    text-align: left;
    font-size: 13px;
    line-height: 1.65;
}
.article-section caption {
    padding: 17px 20px;
    background: #261c2d;
    color: #ceb0d9;
    text-align: left;
    font-size: 15px;
    font-weight: 550;
}
.article-section th, .article-section td {
    padding: 16px 20px;
    vertical-align: top;
    border-bottom: 1px solid #392b4266;
}
.article-section thead th {
    background: #1d1622;
    color: #d2bdd9;
    font-size: 12px;
    font-weight: 600;
}
.article-section tbody th {
    color: #c2abcb;
    font-weight: 500;
    width: 23%;
}
.article-section tbody tr:nth-child(even) {
    background: #ffffff03;
}
.article-section tbody tr:last-child > * {
    border-bottom: 0;
}
.faq-section {
    max-width: 1120px;
    margin: 70px auto 88px;
}
.faq-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}
.faq-title {
    margin: 0;
    font-size: clamp(28px, 2.5vw, 35px);
    line-height: 1.3;
    letter-spacing: -.025em;
    font-weight: 650;
}
.faq-heading > p {
    color: #9b8ba1;
    font-size: 12px;
    margin: 0;
}
.faq-list {
    border-top: 1px solid #43324e;
}
.faq-item {
    border-bottom: 1px solid #3b2c45;
}
.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 82px;
    gap: 24px;
    padding: 22px 5px;
    color: #d7cadc;
    font-size: 17px;
    font-weight: 500;
    cursor: pointer;
    list-style: none;
}
.faq-item summary::-webkit-details-marker {
    display: none;
}
.faq-item summary:hover {
    color: var(--gold-light);
}
.faq-indicator {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border: 1px solid #4e395c;
    border-radius: 50%;
    position: relative;
}
.faq-indicator::before, .faq-indicator::after {
    content: "";
    position: absolute;
    background: #ba8fc9;
    left: 7px;
    top: 11px;
    width: 10px;
    height: 1px;
}
.faq-indicator::after {
    transform: rotate(90deg);
}
.faq-item[open] .faq-indicator::after {
    transform: none;
}
.faq-answer {
    max-width: 925px;
    padding: 0 36px 25px 5px;
}
.faq-answer p {
    margin: 0;
    color: #b0a4b4;
    font-size: 15px;
    line-height: 1.85;
}
/* Footer widgets and utility controls */
.site-footer {
    background: #0c090f;
    border-top: 1px solid #483655;
}
.site-footer > .content-wrap {
    padding-top: 51px;
    padding-bottom: 22px;
}
.footer-widgets {
    display: grid;
    grid-template-columns: 1.2fr .85fr 1fr 1fr;
    gap: 48px;
    padding-bottom: 35px;
}
.footer-block {
    min-width: 0;
}
.footer-title {
    margin: 0 0 22px;
    color: #dfd5e3;
    font-size: 15px;
    font-weight: 550;
    line-height: 1.4;
}
.footer-brand .brand-logo {
    width: 126px;
}
.footer-block p {
    color: #ada2b1;
    font-size: 13px;
    line-height: 1.8;
    margin: 18px 0;
}
.footer-responsible-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ad92b6;
    font-size: 12px;
}
.footer-responsible-link:hover {
    color: #d6b6e1;
}
.footer-navigation .nav-list {
    display: grid;
    gap: 10px;
}
.footer-navigation a {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    font-size: 13px;
    color: #ada2b1;
}
.footer-navigation a:hover {
    color: #d6b6e1;
}
.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #3f304a;
    background: #18121d;
    border-radius: 8px;
}
.social-links a:hover {
    background: #271d2e;
    border-color: #9a70a9;
}
.social-links .icon {
    width: 19px;
    height: 19px;
}
.app-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.app-button {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    min-height: 55px;
    width: 176px;
    max-width: 100%;
    padding: 9px 15px;
    border-radius: 8px;
    background: #eae1ed;
    color: #1b141f;
    border: 1px solid #cfb8d7;
}
.app-button:hover {
    background: #d6b4e2;
}
.app-button .icon {
    width: 24px;
    height: 27px;
    filter: brightness(0);
}
.app-button span {
    font-size: 10px;
    line-height: 1.25;
}
.app-button strong {
    display: block;
    margin-top: 2px;
    font-size: 16px;
    font-weight: 650;
}
.footer-payments, .footer-providers {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 24px 0;
    border-top: 1px solid #7d589726;
}
.footer-row-label {
    flex: 0 0 145px;
    color: #ae9eb3;
    font-size: 11px;
}
.footer-payments .payment-logos {
    justify-content: flex-start;
    gap: 40px;
}
.footer-payments .payment-logo {
    height: 43px;
    width: 105px;
    max-width: 105px;
}
.footer-payments .payment-logo--mastercard, .footer-payments .payment-logo--litecoin {
    width: 72px;
}
.footer-row-note {
    margin-left: auto;
    color: #97879c;
    font-size: 10px;
    line-height: 1.7;
}
.footer-provider-logos {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 34px;
}
.footer-provider-logos img {
    width: 145px;
    max-width: 19%;
    height: 54px;
    object-fit: contain;
    opacity: .86;
}
.footer-responsibility {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 21px 0;
    border-top: 1px solid #7d589726;
}
.responsibility-marks {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-shrink: 0;
}
.age-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid #705484;
    border-radius: 50%;
    font-size: 20px;
    color: #c1a9c9;
}
.responsibility-marks img {
    width: 118px;
    height: 48px;
    object-fit: contain;
    opacity: .87;
}
.footer-responsibility > p {
    font-size: 11px;
    line-height: 1.8;
    color: #a191a7;
    margin: 0 0 0 auto;
}
.footer-disclaimer {
    font-size: 12px;
    line-height: 1.8;
    margin: 6px 0 26px;
    color: #a798ac;
}
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #7d589726;
    padding-top: 20px;
    color: #a191a7;
    font-size: 10px;
    line-height: 1.8;
}
.footer-bottom a:hover, .footer-bottom button:hover {
    color: var(--gold-light);
}
.footer-language {
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-language .icon {
    width: 17px;
    height: 17px;
}
.floating-controls {
    position: fixed;
    z-index: 35;
    right: 20px;
    bottom: calc(var(--cookie-height) + 22px);
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.floating-controls .icon-button {
    width: 43px;
    height: 43px;
    background: #1d1522;
    border-color: #664b79;
    box-shadow: 0 5px 22px #0006;
}
.cookie-notice {
    position: fixed;
    z-index: 45;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto 32px;
    align-items: center;
    gap: 17px;
    width: min(1140px, calc(100% - 32px));
    padding: 18px 20px;
    border: 1px solid #6b4e80;
    border-radius: 12px;
    background: #1f1725f5;
    box-shadow: 0 15px 60px #0009;
    backdrop-filter: blur(16px);
}
.cookie-symbol .icon {
    width: 26px;
    height: 26px;
}
.cookie-notice p {
    font-size: 12px;
    color: #c3b1c9;
    line-height: 1.65;
    margin: 0;
}
.cookie-notice p a {
    text-decoration: underline;
    text-decoration-color: #8f619f;
    text-underline-offset: 3px;
}
.cookie-notice .button {
    min-height: 42px;
    font-size: 12px;
}
.cookie-close {
    width: 31px;
    height: 31px;
    border: 0;
    background: transparent;
}
.site-notice {
    position: fixed;
    z-index: 55;
    right: 78px;
    bottom: calc(var(--cookie-height) + 20px);
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: calc(100% - 96px);
    width: 440px;
    padding: 16px 16px 16px 20px;
    border: 1px solid #77588d;
    border-radius: 10px;
    background: #291e30;
    box-shadow: 0 12px 50px #0007;
}
.site-notice p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #d8bfe1;
}
.site-notice .icon-button {
    width: 30px;
    height: 30px;
    border: 0;
    background: none;
}
@media (min-width: 1600px) {
    .hero-content {
        padding-left: 62px;
    }
    .hero-controls {
        left: 62px;
    }
    .hero-art {
        right: 9%;
    }
}
@media (max-width: 1200px) {
    .header-inner {
        gap: 18px;
    }
    .brand-block {
        flex-basis: 105px;
    }
    .primary-navigation a {
        padding-inline: 12px;
        font-size: 14px;
    }
    .header-promotion {
        display: none;
    }
    .hero-art {
        width: 350px;
        height: 350px;
        right: 5%;
        top: 82px;
    }
    .hero-slide--tournament .hero-art {
        width: 340px;
        height: 340px;
        right: 5%;
        top: 72px;
    }
    .hero-content {
        padding-left: 38px;
        max-width: 72%;
    }
    .hero-controls {
        left: 38px;
        right: 28px;
    }
    .promotion-card {
        padding: 26px 22px;
    }
    .promotion-title {
        font-size: 22px;
    }
    .promotion-art {
        right: -37px;
        width: 174px;
        height: 174px;
        top: 45px;
    }
    .promotion-card--bonus .promotion-art {
        right: -23px;
        width: 165px;
        height: 165px;
        top: 49px;
    }
    .promotion-card--club .promotion-art {
        width: 180px;
        height: 180px;
        right: -28px;
        top: 40px;
    }
    .jackpot-section {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .jackpot-emblem {
        display: none;
    }
    .jackpot-number {
        font-size: 52px;
    }
    .provider-grid {
        gap: 10px;
    }
    .provider-card {
        min-height: 82px;
        padding: 15px 12px;
    }
    .bonus-banner-art {
        right: 25%;
        width: 235px;
        height: 235px;
        top: 46px;
    }
    .footer-widgets {
        gap: 30px;
        grid-template-columns: 1.1fr .9fr .85fr 1fr;
    }
    .footer-payments .payment-logos {
        gap: 24px;
    }
    .footer-row-label {
        flex-basis: 125px;
    }
    .footer-provider-logos {
        gap: 22px;
    }
    .footer-responsibility {
        gap: 24px;
    }
    .responsibility-marks {
        gap: 18px;
    }
}
@media (max-width: 1080px) {
    .primary-navigation {
        display: none;
    }
    .header-inner {
        justify-content: space-between;
    }
    .menu-toggle {
        display: inline-flex;
    }
    .hero-art {
        width: 320px;
        height: 320px;
        right: 3%;
        top: 94px;
    }
    .hero-slide--tournament .hero-art {
        width: 320px;
        height: 320px;
        right: 4%;
        top: 87px;
    }
    .hero-title {
        font-size: 68px;
    }
    .hero-title--words {
        font-size: 57px;
    }
    .hero-content {
        max-width: 77%;
    }
    .payment-strip {
        gap: 22px;
        padding-inline: 26px;
    }
    .payment-logos {
        gap: 20px;
    }
    .payment-note {
        display: none;
    }
    .games-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }
    .provider-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .catalog-tools {
        gap: 15px;
    }
    .filter-button {
        padding-inline: 13px;
    }
    .footer-row-note {
        display: none;
    }
}
@media (max-width: 900px) {
    .hero-content {
        max-width: 80%;
    }
    .hero-art {
        width: 290px;
        height: 290px;
        right: 3%;
        top: 110px;
        opacity: .88;
    }
    .hero-slide--tournament .hero-art {
        width: 300px;
        height: 300px;
        right: 3%;
        top: 85px;
    }
    .hero-slide::after {
        background: linear-gradient(90deg, #130e17, #140f17c4 36%, transparent 85%);
    }
    .promotion-grid {
        gap: 12px;
    }
    .promotion-card {
        padding: 22px 18px;
        min-height: 210px;
    }
    .promotion-title {
        font-size: 19px;
    }
    .promotion-content {
        max-width: 100%;
    }
    .promotion-content > p {
        font-size: 12px;
    }
    .promotion-art, .promotion-card--bonus .promotion-art, .promotion-card--club .promotion-art {
        width: 140px;
        height: 140px;
        right: -29px;
        top: 65px;
        opacity: .68;
    }
    .intro-section {
        margin-top: 48px;
    }
    .intro-section .article-content {
        font-size: 16px;
    }
    .jackpot-section {
        padding: 28px;
        gap: 18px;
    }
    .jackpot-number {
        font-size: 43px;
    }
    .jackpot-currency {
        font-size: 28px;
    }
    .jackpot-action .button {
        padding: 14px 17px;
        font-size: 13px;
        gap: 10px;
    }
    .jackpot-note {
        max-width: 305px;
        font-size: 10px;
    }
    .catalog-tools {
        flex-wrap: wrap;
    }
    .catalog-search {
        max-width: none;
        flex-basis: calc(100% - 110px);
    }
    .catalog-count {
        order: 2;
        flex: 1;
    }
    .catalog-filters {
        order: 1;
    }
    .games-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .provider-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .bonus-banner {
        padding: 32px;
    }
    .bonus-banner-art {
        right: 19%;
        opacity: .4;
    }
    .bonus-banner-action .button {
        width: 192px;
    }
    .bonus-banner-action {
        min-width: 190px;
    }
    .faq-heading > p {
        display: none;
    }
    .footer-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 48px;
    }
    .footer-row-label {
        flex-basis: 114px;
    }
    .footer-payments {
        gap: 20px;
    }
    .footer-payments .payment-logos {
        gap: 15px;
    }
    .footer-payments .payment-logo {
        width: 86px;
    }
    .footer-payments .payment-logo--mastercard, .footer-payments .payment-logo--litecoin {
        width: 59px;
        min-width: 45px;
    }
    .footer-responsibility {
        flex-wrap: wrap;
    }
    .footer-responsibility > p {
        margin-left: 0;
    }
    .footer-bottom {
        flex-wrap: wrap;
        justify-content: flex-start;
        column-gap: 26px;
        row-gap: 12px;
    }
    .footer-language {
        margin-left: auto;
    }
    .cookie-notice {
        grid-template-columns: minmax(0, 1fr) auto 25px;
        gap: 13px;
        padding: 17px;
    }
    .cookie-symbol {
        display: none;
    }
}
@media (max-width: 680px) {
    :root {
        --gutter: 18px;
        --header-height: 75px;
    }
    .header-inner {
        min-height: 73px;
        gap: 12px;
    }
    .brand-block {
        flex-basis: auto;
    }
    .brand-logo {
        width: 90px;
    }
    .header-actions {
        gap: 8px;
    }
    .header-actions > .button--login {
        display: none;
    }
    .header-actions .button--register {
        min-width: 126px;
        min-height: 42px;
        padding: 10px 13px;
        font-size: 13px;
    }
    .header-secondary {
        display: none;
    }
    .language-switcher {
        margin: 0;
    }
    .language-switcher summary {
        min-width: 60px;
        gap: 5px;
        padding: 6px 3px;
    }
    .language-chevron {
        display: none;
    }
    .menu-toggle {
        width: 40px;
        height: 40px;
    }
    .main-content {
        padding-top: 19px;
    }
    .hero-slide {
        min-height: 632px;
        background: radial-gradient(ellipse at 70% 0, #482f59, #211926 36%, #151019 65%);
    }
    .hero-content {
        max-width: none;
        padding: 186px 25px 92px;
    }
    .hero-slide::after {
        background: linear-gradient(0deg, #151019 18%, #151019ed 56%, #15101926 91%, transparent);
    }
    .hero-geometry {
        top: -140%;
        right: -40%;
        width: 93%;
        height: 290%;
    }
    .hero-art {
        width: 236px;
        height: 236px;
        right: 24px;
        top: -7px;
        opacity: .97;
    }
    .hero-art::before {
        inset: 10px;
        box-shadow: 0 0 0 13px #b68dc504, 0 0 0 14px #b68dc517;
    }
    .hero-slide--promotions .hero-art {
        width: 240px;
        height: 240px;
        right: 27px;
        top: -19px;
    }
    .hero-slide--tournament .hero-art {
        width: 225px;
        height: 225px;
        top: -7px;
        right: 30px;
    }
    .hero-title {
        font-size: clamp(48px, 9.6vw, 64px);
        line-height: 1.03;
        letter-spacing: -.05em;
    }
    .hero-title--words {
        font-size: clamp(38px, 8.6vw, 54px);
        letter-spacing: -.04em;
    }
    .hero-label {
        font-size: 10px;
        letter-spacing: .11em;
    }
    .hero-description {
        margin: 17px 0 19px;
        font-size: 16px;
        line-height: 1.55;
    }
    .hero-content .button--large {
        min-height: 50px;
        padding: 14px 22px;
        font-size: 14px;
    }
    .hero-terms {
        font-size: 10px;
        margin-top: 13px;
    }
    .hero-controls {
        left: 25px;
        right: 21px;
        min-height: 67px;
        gap: 10px;
    }
    .slider-dots {
        gap: 13px;
    }
    .slider-dot {
        min-width: 20px;
        min-height: 44px;
        justify-content: center;
    }
    .dot-label {
        display: none;
    }
    .slider-navigation {
        gap: 6px;
    }
    .slide-counter {
        margin-right: 5px;
        font-size: 9px;
    }
    .slider-navigation .icon-button {
        width: 32px;
        height: 32px;
    }
    .payment-strip {
        min-height: 76px;
        padding: 14px 20px;
        gap: 18px;
    }
    .payment-caption {
        font-size: 9px;
    }
    .payment-strip .payment-logos {
        overflow-x: auto;
        justify-content: flex-start;
        gap: 24px;
        padding: 5px 2px 8px;
        scrollbar-width: thin;
        scrollbar-color: #62407a #1f1725;
    }
    .payment-strip .payment-logo {
        flex-shrink: 0;
        width: 83px;
        height: 33px;
        min-width: 55px;
    }
    .payment-strip .payment-logo--mastercard, .payment-strip .payment-logo--litecoin {
        width: 55px;
    }
    .promotion-grid {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 20px;
    }
    .promotion-card {
        min-height: 202px;
        padding: 27px 24px;
    }
    .promotion-title {
        font-size: 25px;
    }
    .promotion-content {
        max-width: 80%;
    }
    .promotion-content > p {
        font-size: 13px;
        margin-top: 10px;
        margin-bottom: 21px;
    }
    .promotion-art, .promotion-card--bonus .promotion-art, .promotion-card--club .promotion-art {
        width: 186px;
        height: 186px;
        top: 22px;
        right: -4px;
        opacity: .87;
    }
    .promotion-card--bonus .promotion-art {
        right: 10px;
        width: 177px;
        height: 177px;
    }
    .promotion-card--club .promotion-art {
        right: 0;
    }
    .intro-section {
        margin-top: 42px;
    }
    .intro-title {
        font-size: 29px;
        margin-bottom: 21px;
        line-height: 1.2;
    }
    .intro-section .article-content {
        font-size: 15px;
        line-height: 1.9;
    }
    .jackpot-section {
        grid-template-columns: 1fr;
        margin-top: 34px;
        padding: 26px 24px 28px;
        gap: 24px;
    }
    .jackpot-title {
        font-size: 31px;
    }
    .jackpot-number {
        font-size: clamp(34px, 8.5vw, 50px);
    }
    .jackpot-total {
        gap: 12px;
        margin-top: 9px;
    }
    .jackpot-currency {
        font-size: 26px;
    }
    .jackpot-note {
        font-size: 10px;
        max-width: 100%;
    }
    .jackpot-action {
        align-items: stretch;
    }
    .jackpot-action .button {
        font-size: 14px;
        min-height: 51px;
    }
    .catalog-tools {
        margin-top: 42px;
        gap: 14px 8px;
        padding-bottom: 18px;
    }
    .catalog-search {
        flex-basis: 100%;
    }
    .catalog-filters {
        gap: 2px;
        padding: 3px;
    }
    .filter-button {
        font-size: 11px;
        padding: 8px 12px;
    }
    .catalog-count {
        font-size: 10px;
    }
    .section {
        margin-top: 34px;
    }
    .section-title {
        font-size: 24px;
    }
    .section-head {
        margin-bottom: 17px;
        gap: 12px;
    }
    .section-head .button--ghost {
        min-height: 34px;
        padding: 7px 13px;
        font-size: 12px;
    }
    .games-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .game-card > a {
        border-radius: 8px;
    }
    .game-overlay img {
        width: 36px;
        height: 36px;
    }
    .game-overlay strong {
        left: 9px;
        right: 9px;
        bottom: 7px;
        font-size: 10px;
        line-height: 1.2;
    }
    .providers-section {
        margin-top: 37px;
    }
    .provider-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px;
    }
    .provider-card {
        min-height: 72px;
        padding: 13px 10px;
    }
    .provider-card img {
        height: 36px;
    }
    .bonus-banner {
        min-height: 340px;
        display: block;
        margin-top: 37px;
        padding: 29px 25px;
    }
    .bonus-banner-title {
        font-size: 33px;
    }
    .bonus-banner-art {
        width: 213px;
        height: 213px;
        right: -60px;
        top: 30px;
        opacity: .27;
    }
    .bonus-banner-content > p {
        font-size: 13px;
    }
    .bonus-banner-action {
        align-items: stretch;
        gap: 12px;
        margin-top: 26px;
    }
    .bonus-banner-action .button {
        width: 100%;
        min-height: 51px;
    }
    .bonus-banner-action > span {
        max-width: none;
        font-size: 9px;
    }
    .article-section {
        margin-top: 42px;
    }
    .table-of-contents {
        padding: 18px 20px;
    }
    .table-of-contents ol {
        grid-template-columns: 1fr;
        gap: 1px;
    }
    .table-of-contents a {
        font-size: 13px;
        padding-block: 8px;
    }
    .editorial-note {
        font-size: 11px;
    }
    .article-section .article-content {
        font-size: 15px;
        line-height: 1.85;
    }
    .article-section h2 {
        font-size: 24px;
        margin-top: 34px;
    }
    .article-section h3 {
        font-size: 19px;
    }
    .faq-section {
        margin-top: 45px;
        margin-bottom: 50px;
    }
    .faq-title {
        font-size: 28px;
    }
    .faq-heading {
        margin-bottom: 18px;
    }
    .faq-item summary {
        font-size: 15px;
        line-height: 1.6;
        min-height: 76px;
        gap: 18px;
        padding: 18px 1px;
    }
    .faq-answer {
        padding: 0 12px 23px 1px;
    }
    .faq-answer p {
        font-size: 14px;
        line-height: 1.85;
    }
    .footer-widgets {
        gap: 35px 23px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-footer > .content-wrap {
        padding-top: 35px;
    }
    .footer-title {
        margin-bottom: 17px;
        font-size: 14px;
    }
    .footer-block p {
        font-size: 12px;
    }
    .footer-brand {
        grid-column: 1 / -1;
    }
    .footer-apps {
        grid-column: 1 / -1;
    }
    .app-buttons {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .app-button {
        flex: 1;
        min-width: 132px;
        max-width: 185px;
        padding: 9px 12px;
    }
    .app-button strong {
        font-size: 15px;
    }
    .social-links {
        gap: 7px;
    }
    .social-links a {
        width: 33px;
        height: 33px;
    }
    .social-links .icon {
        width: 17px;
        height: 17px;
    }
    .footer-payments, .footer-providers {
        display: block;
        padding-block: 22px;
    }
    .footer-row-label {
        display: block;
        margin-bottom: 19px;
        font-size: 11px;
    }
    .footer-payments .payment-logos {
        justify-content: flex-start;
        gap: 22px;
        flex-wrap: wrap;
    }
    .footer-payments .payment-logo {
        width: 88px;
        height: 35px;
        min-width: 55px;
    }
    .footer-payments .payment-logo--mastercard, .footer-payments .payment-logo--litecoin {
        width: 57px;
    }
    .footer-provider-logos {
        flex-wrap: wrap;
        gap: 16px 24px;
        justify-content: flex-start;
    }
    .footer-provider-logos img {
        width: 132px;
        height: 48px;
        max-width: calc(50% - 12px);
    }
    .responsibility-marks {
        gap: 18px;
        width: 100%;
    }
    .responsibility-marks img {
        width: 104px;
        max-width: 32%;
        height: 46px;
    }
    .age-badge {
        width: 45px;
        height: 45px;
        font-size: 18px;
        flex-shrink: 0;
    }
    .footer-responsibility > p {
        font-size: 10px;
    }
    .footer-disclaimer {
        font-size: 11px;
    }
    .footer-bottom {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 14px;
        font-size: 10px;
        padding-bottom: 35px;
    }
    .footer-bottom > span:first-child, .footer-bottom > a {
        grid-column: 1 / -1;
    }
    .footer-language {
        margin-left: 0;
    }
    .floating-controls {
        right: 13px;
        bottom: calc(var(--cookie-height) + 15px);
    }
    .floating-controls .icon-button {
        width: 39px;
        height: 39px;
    }
    .cookie-notice {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 19px;
        width: calc(100% - 24px);
        bottom: 12px;
    }
    .cookie-notice p {
        padding-right: 19px;
        font-size: 11px;
    }
    .cookie-notice .button {
        width: 100%;
    }
    .cookie-close {
        position: absolute;
        right: 8px;
        top: 8px;
    }
    .site-notice {
        right: 64px;
        max-width: calc(100% - 77px);
        padding: 14px;
    }
    .site-notice p {
        font-size: 12px;
    }
}
@media (max-width: 380px) {
    :root {
        --gutter: 14px;
    }
    .header-inner {
        gap: 8px;
    }
    .brand-logo {
        width: 77px;
    }
    .header-actions {
        gap: 5px;
    }
    .header-actions .button--register {
        min-width: 111px;
        font-size: 12px;
        padding-inline: 9px;
        min-height: 40px;
    }
    .language-switcher summary {
        min-width: 46px;
        font-size: 10px;
        gap: 4px;
    }
    .language-switcher .icon {
        width: 18px;
        height: 18px;
    }
    .menu-toggle {
        width: 36px;
        height: 38px;
    }
    .hero-content {
        padding-inline: 22px;
    }
    .hero-title {
        font-size: 48px;
    }
    .hero-title--words {
        font-size: 38px;
    }
    .hero-art {
        right: 5px;
        width: 225px;
        height: 225px;
    }
    .hero-slide--promotions .hero-art {
        right: 3px;
    }
    .hero-slide--tournament .hero-art {
        right: 10px;
    }
    .hero-controls {
        left: 22px;
        right: 19px;
    }
    .slider-dots {
        gap: 8px;
    }
    .slider-dot {
        min-width: 17px;
    }
    .slide-counter {
        display: none;
    }
    .payment-strip {
        padding-inline: 17px;
        gap: 15px;
    }
    .section-title {
        font-size: 21px;
    }
    .section-head .button--ghost {
        font-size: 11px;
        padding-inline: 10px;
    }
    .promotion-title {
        font-size: 23px;
    }
    .jackpot-section {
        padding-inline: 21px;
    }
    .jackpot-number {
        font-size: 35px;
    }
    .jackpot-currency {
        font-size: 24px;
    }
    .jackpot-total {
        gap: 9px;
    }
    .filter-button {
        padding-inline: 10px;
    }
    .catalog-count {
        font-size: 9px;
    }
    .intro-title {
        font-size: 27px;
    }
    .provider-card {
        padding: 10px 7px;
        min-height: 64px;
    }
    .provider-grid {
        gap: 7px;
    }
}
@media (hover: none) {
    .game-overlay {
        opacity: 1;
        background: linear-gradient(0deg, #000b, transparent 55%);
    }
    .game-overlay > img {
        display: none;
    }
    .game-card:hover > a > img {
        transform: none;
        filter: none;
    }
}
.no-js .hero-slide + .hero-slide {
    border-top: 1px solid var(--line);
}
.no-js .hero-content {
    padding-bottom: 44px;
}
.no-js .header-search {
    display: none;
}
.no-js .header-inner {
    flex-wrap: wrap;
}
@media (max-width: 1080px) {
    .no-js .primary-navigation {
        display: block;
        order: 3;
        flex: 1 0 100%;
        padding-bottom: 8px;
    }
    .no-js .primary-navigation .nav-list {
        flex-wrap: wrap;
    }
    .no-js .primary-navigation a {
        min-height: 40px;
        padding: 8px 12px;
        font-size: 13px;
    }
    .no-js .header-secondary {
        display: block;
    }
    .no-js .header-inner {
        padding-top: 12px;
        gap: 12px;
    }
}
@media (max-width: 680px) {
    .no-js .header-actions {
        flex-wrap: wrap;
        flex: 1;
    }
    .no-js .header-actions > .button--login {
        display: inline-flex;
        min-width: 64px;
        min-height: 38px;
        padding: 8px;
        font-size: 12px;
    }
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
.hero-slider {
    touch-action: pan-y;
}
/* Local monochrome source logos need light ink on the dark surfaces. */
.payment-logo--visa {
    filter: brightness(0) invert(.84);
}
.payment-logo--visa:hover {
    filter: brightness(0) invert(.96);
}
.provider-card img {
    filter: brightness(0) invert(.86) sepia(.13);
}
.provider-card img[alt="1spin4win"] {
    filter: invert(.86) sepia(.13);
}
.footer-provider-logos img {
    filter: brightness(0) invert(.82) sepia(.13);
}
.social-links .icon {
    filter: brightness(0) invert(.86);
}
/* Brand palette and image composition */
:root {
    --base-color:#110d1b;
    --contrast-color:#f8f5ff;
    --accent-color:#ffcf24;
    --surface:#1b152a;
    --surface-raised:#261c38;
    --muted:#c8bfd8;
    --subtle:#b3a7c7;
    --gold:#ffcf24;
    --gold-light:#ffe582;
    --gold-dark:#dda817;
    --red:#e84bbb;
    --pink:#f55ae7;
    --violet:#9c64ff;
    --line:rgba(165,116,223,.24);
    --radius:20px;
}
body {
    background:radial-gradient(ellipse at 80% 0,#211032 0,transparent 26%),var(--canvas);
}
.site-header {
    background:#140f20f5;
    border-top:2px solid #f453e2;
}
.header-secondary {
    background:#1a1426;
}
.brand-logo {
    width:135px;
    height:auto;
}
.brand-block {
    flex-basis:145px;
}
.header-inner {
    min-height:78px;
    gap:28px;
}
.primary-navigation a {
    color:#cfc6dd;
}
.primary-navigation a:hover,.primary-navigation .is-current a {
    color:#fff;
}
.primary-navigation .is-current a::after {
    background:var(--pink);
}
.button--gold {
    color:#231900;
    background:linear-gradient(110deg,#ffe26b,#ffd124 58%,#ffbf00);
    border-color:#ffdb42;
    box-shadow:inset 0 1px #fff0aa;
}
.button--gold:hover {
    box-shadow:0 8px 24px #ffc90020,inset 0 1px #fff3b6;
}
.button--gold .icon {
    filter:brightness(0);
}
.button--login {
    color:#eee6fa;
    background:#241c35;
    border-color:#5b4379;
}
.button--login:hover,.button--outline:hover,.button--ghost:hover {
    background:#362446;
    border-color:var(--pink);
}
.button--ghost {
    color:#f0c9fa;
    border-color:#664379;
}
.button--outline {
    border-color:#87629f;
    color:#fff1ff;
    background:#21152ca8;
}
.icon-button {
    background:#20162e;
    border-color:#654b80;
}
.icon-button:hover {
    border-color:var(--pink);
    background:#392346;
}
.language-options {
    border-color:#70508c;
    background:#271a37;
}
.header-search,.search-form {
    background:#130f1e;
    border-color:#56416f;
}
.search-field::placeholder {
    color:#baaaca;
}
.feature-stack {
    border-color:#7951a052;
    background:#191124;
    box-shadow:0 16px 60px #0002;
}
.hero-slide {
    min-height:525px;
    background:radial-gradient(ellipse at 77% 43%,#76267d 0,#3c174a 28%,#1a102a 65%);
}
.hero-slide--promotions {
    background:radial-gradient(ellipse at 77% 43%,#70349c 0,#321756 30%,#170f29 72%);
}
.hero-slide--tournament {
    background:radial-gradient(ellipse at 77% 43%,#693693 0,#302054 38%,#160e27 74%);
}
.hero-slide::after {
    background:linear-gradient(90deg,#1a102a 0,#1a102ab8 35%,transparent 69%);
}
.hero-geometry {
    right:-11%;
    top:-78%;
    transform:rotate(29deg);
    background:repeating-linear-gradient(90deg,transparent 0,transparent 76px,#e495f522 77px,transparent 78px),linear-gradient(90deg,#c34ee539,transparent 30%,#7859df20 55%,transparent);
    border-color:#d483f259;
}
.hero-geometry::after {
    border-color:#f081e42b;
}
.hero-art {
    width:410px;
    height:422px;
    right:8%;
    top:20px;
}
.hero-art::before {
    inset:9px -11px;
    border-color:#e27bfa59;
    background:radial-gradient(ellipse,#f664e733,transparent 64%);
    box-shadow:0 0 0 19px #ec90ff05,0 0 0 20px #ec90ff17;
}
.hero-art img {
    width:100%;
    height:100%;
    object-fit:contain;
    filter:drop-shadow(0 18px 25px #08020f70);
}
.hero-slide--promotions .hero-art {
    transform:none;
    width:408px;
    height:355px;
    right:6.5%;
    top:52px;
}
.hero-slide--promotions .hero-art>img:first-child {
    object-fit:cover;
    border-radius:24px;
    opacity:.6;
    mask-image:radial-gradient(ellipse,#000 32%,transparent 73%);
}
.hero-art .brand-overlay {
    position:absolute;
    inset:23% 12% auto;
    width:76%;
    height:auto;
    filter:drop-shadow(0 12px 21px #17082e80);
}
.hero-slide--tournament .hero-art {
    width:444px;
    height:408px;
    top:23px;
    right:3%;
}
.hero-content {
    padding:43px 52px 93px;
    max-width:64%;
}
.hero-label {
    color:#f7bdf0;
    font-size:11px;
}
.hero-title {
    font-size:clamp(58px,5.5vw,80px);
    font-weight:750;
}
.hero-title>span {
    color:#ffdf56;
}
.hero-title--words {
    font-size:clamp(40px,4.7vw,68px);
}
.hero-description {
    color:#e2d3ed;
}
.hero-terms {
    color:#c6b4d2;
}
.hero-controls {
    left:52px;
    right:34px;
    min-height:67px;
    border-color:#d89cf22b;
}
.slider-dot {
    color:#c9b6d9;
}
.slider-dot.is-active {
    color:#ffdc51;
}
.dot-mark {
    background:#8e6ca1;
}
.slider-dot.is-active .dot-mark {
    background:#ffdc51;
    box-shadow:0 0 0 4px #ffdf5620;
}
.slider-navigation .icon-button {
    background:#231732b3;
    border-color:#ab7ecc70;
}
.payment-strip {
    min-height:88px;
    padding:16px 26px;
    gap:22px;
}
.payment-logos {
    gap:23px;
}
.payment-logo {
    min-width:45px;
    width:97px;
    max-width:97px;
    height:38px;
}
.payment-logo--mastercard,.payment-logo--litecoin,.payment-logo--interac {
    width:62px;
}
.payment-logo--ethereum,.payment-logo--usdt {
    width:83px;
}
.payment-caption,.payment-note,.footer-row-note {
    color:#bdaace;
}
.payment-note {
    display:none;
}
.payment-strip .payment-logos {
    overflow:auto hidden;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    padding-block:5px;
}
.payment-strip .payment-logo {
    flex-shrink:0;
}
.promotion-card {
    border-radius:16px;
    border-color:#7250965c;
    min-height:222px;
    background:linear-gradient(120deg,#261737,#472457);
}
.promotion-card::before {
    background:linear-gradient(90deg,#211429ef,#2515321a 93%);
}
.promotion-card--bonus {
    background:linear-gradient(120deg,#2d183e,#5c2260);
}
.promotion-card--club {
    background:linear-gradient(120deg,#211833,#3f2b62);
}
.promotion-title {
    color:#fbf3ff;
}
.promotion-content>p {
    color:#d4c0df;
}
.promotion-index {
    color:#cf9ceb;
}
.promotion-card--club .promotion-art {
    width:150px;
    right:2px;
    top:29px;
    opacity:.55;
    transform:rotate(-13deg);
}
.intro-section {
    margin-top:56px;
}
.intro-title {
    font-weight:700;
}
.intro-section .article-content {
    color:#c9c1d5;
}
.jackpot-section {
    border-color:#be63d77d;
    background:radial-gradient(ellipse at 80% 0,#a133b06b,transparent 59%),linear-gradient(108deg,#271239,#48205a 62%,#25183c);
    box-shadow:inset 0 1px #f6aaf331;
}
.jackpot-section::before {
    border-color:#dd7fed26;
}
.jackpot-emblem {
    border-color:#d497e5;
    background:#d08be91c;
    box-shadow:0 0 0 7px #d08be90a;
}
.jackpot-title {
    color:#f9dcff;
    font-family:inherit;
    font-size:28px;
    font-weight:700;
    font-style:italic;
    letter-spacing:-.04em;
}
.jackpot-total {
    color:#ffe164;
}
.jackpot-currency {
    color:#ead086;
}
.jackpot-note,.jackpot-action>span {
    color:#d4b5df;
}
.catalog-search {
    background:#1d162b;
}
.catalog-filters {
    background:#1b1428;
    border-color:#513763;
}
.filter-button {
    color:#d3c1e0;
}
.filter-button.is-active {
    color:#fce3ff;
    background:#67356e;
}
.filter-button:hover {
    background:#382449;
}
.catalog-count {
    color:#bfadd0;
}
.game-card>a:hover {
    border-color:#ec78dc;
}
.provider-card {
    border-color:#6648836b;
    background:linear-gradient(120deg,#241b34,#191424);
}
.provider-card:hover {
    border-color:#b383d3;
    background:#322044;
}
.provider-card img {
    filter:brightness(0) invert(.9);
}
.provider-card img[alt="1spin4win"] {
    filter:invert(.88);
}
.bonus-banner {
    border-color:#b56ab674;
    background:radial-gradient(ellipse at 55% 25%,#8e29746b,transparent 52%),linear-gradient(110deg,#231030,#502148 64%,#2c163c);
}
.bonus-banner-title>span {
    color:#ffdf59;
}
.bonus-banner-content>p,.bonus-banner-action>span {
    color:#dbc4e4;
}
.bonus-banner-label {
    color:#ebb2e9;
}
.bonus-banner-art {
    opacity:.44;
    right:24%;
    width:260px;
    height:260px;
    transform:rotate(-8deg);
}
.article-section {
    max-width:960px;
}
.article-section .article-content {
    color:#c8bfd4;
}
.table-of-contents {
    border-color:#70548480;
    background:#21172d;
}
.table-of-contents a {
    color:#d4bfdc;
}
.table-of-contents a:hover,.table-of-contents a[aria-current="location"] {
    color:#ffd95e;
}
.article-section .toc-title {
    margin:0 0 16px;
    font-size:17px;
    font-weight:600;
}
.editorial-note {
    color:#bba9c7;
    background:#201829;
    border-left-color:#a95d9c;
}
.table-scroll {
    border-color:#725382;
}
.article-section th {
    background:#2a1d39;
    color:#f0d8f4;
}
.article-section td,.article-section th {
    border-color:#63497855;
}
.article-section td {
    color:#cbbad5;
}
.faq-item {
    border-color:#62457480;
}
.faq-indicator {
    border-color:#876194;
}
.faq-indicator::before,.faq-indicator::after {
    background:#e59bdd;
}
.faq-answer p {
    color:#c5b9d0;
}
.site-footer {
    background:#0e0a16;
    border-color:#80548d69;
}
.footer-brand .brand-logo {
    width:152px;
}
.footer-block p,.footer-navigation a,.footer-row-label,.footer-responsibility>p,.footer-disclaimer,.footer-bottom {
    color:#bcaeca;
}
.footer-responsible-link {
    color:#dcb1e2;
}
.footer-payments,.footer-providers,.footer-responsibility,.footer-bottom {
    border-color:#b779ca26;
}
.footer-payments .payment-logos {
    flex-wrap:wrap;
    gap:23px;
}
.footer-payments .payment-logo {
    width:86px;
    max-width:86px;
    height:40px;
}
.footer-payments .payment-logo--mastercard,.footer-payments .payment-logo--litecoin,.footer-payments .payment-logo--interac {
    width:58px;
}
.footer-row-note {
    display:none;
}
.footer-provider-logos img {
    filter:brightness(0) invert(.84);
}
.social-links a {
    background:#21162e;
    border-color:#655070;
}
.social-links a:hover {
    background:#3b2150;
    border-color:#f080db;
}
.social-links .icon {
    filter:brightness(0) invert(.94);
}
.app-button {
    background:#f4eef8;
    border-color:#dbcfdf;
    color:#221829;
}
.app-button:hover {
    background:#f4d4f4;
}
.age-badge {
    color:#ecc7ee;
    border-color:#b987bf;
}
.cookie-notice {
    border-color:#975daa;
    background:#291b36f5;
}
.cookie-notice p {
    color:#e1cdea;
}
.cookie-notice p a {
    text-decoration-color:#d9a5df;
}
.site-notice {
    background:#322140;
    border-color:#a279ad;
}
.site-notice p {
    color:#eddbf4;
}
.floating-controls .icon-button {
    background:#291a36;
    border-color:#9f6bae;
}
.mobile-drawer {
    background:#1c1328;
    border-color:#885d9b;
}
.mobile-drawer::backdrop {
    background:#08050dc7;
}
.mobile-menu-group a {
    color:#e5d5ed;
}
.mobile-menu-group a:hover {
    background:#3b2450;
}
.mobile-menu-bottom {
    color:#cbb2d5;
}
.side-panel {
    display:none;
}
@media(min-width:1081px) {
    .layout-docked .page-shell {
        padding-left:226px;
    }
    .layout-docked .side-panel {
        position:fixed;
        display:flex;
        flex-direction:column;
        inset:0 auto 0 0;
        width:226px;
        height:100dvh;
        z-index:40;
        padding:27px 19px 18px;
        background:#171120;
        border-right:1px solid #8d56953b;
        overflow:auto;
        scrollbar-width:thin;
    }
    .rail-brand {
        display:block;
        padding:3px 13px 28px;
    }
    .rail-brand .brand-logo {
        width:154px;
    }
    .rail-primary .nav-list {
        display:grid;
        gap:5px;
    }
    .rail-primary a {
        display:flex;
        align-items:center;
        gap:13px;
        padding:12px 13px;
        min-height:46px;
        color:#d5c3de;
        font-size:14px;
        border:1px solid transparent;
        border-radius:9px;
        font-weight:450;
    }
    .rail-primary a:hover {
        background:#352143;
    }
    .rail-primary .is-current a {
        border-color:#995bad70;
        background:linear-gradient(100deg,#662657,#33213e);
        color:#fff;
    }
    .rail-primary .icon {
        width:20px;
        height:20px;
    }
    .rail-offer {
        display:flex;
        align-items:center;
        gap:11px;
        margin:23px 0 20px;
        padding:16px 13px;
        border:1px solid #88458363;
        border-radius:12px;
        background:radial-gradient(ellipse at 100% 0,#733376,transparent 80%),#2b1938;
    }
    .rail-offer>.icon {
        color:#ffe164;
    }
    .rail-offer strong {
        color:#ffdc64;
        display:block;
        font-size:20px;
        font-weight:700;
    }
    .rail-offer small {
        display:block;
        font-size:10px;
        color:#d0b8da;
        margin-top:4px;
    }
    .rail-secondary {
        border-top:1px solid var(--line);
        padding:14px 0;
    }
    .rail-secondary .nav-list {
        display:grid;
        gap:0;
    }
    .rail-secondary a {
        display:block;
        padding:10px 8px;
        min-height:38px;
        color:#c9b5d4;
        font-size:12px;
        font-weight:400;
    }
    .rail-secondary a:hover {
        color:#ffce61;
    }
    .rail-connect {
        margin-top:auto;
        padding-top:18px;
    }
    .rail-caption {
        margin:0 0 13px;
        color:#a894b6;
        font-size:10px;
        letter-spacing:.03em;
    }
    .rail-connect .social-links {
        gap:8px;
    }
    .rail-connect .social-links a {
        width:37px;
        height:37px;
    }
    .rail-connect .app-buttons {
        margin-top:10px;
        gap:9px;
    }
    .rail-connect .app-button {
        width:100%;
        min-height:50px;
    }
    .rail-connect .rail-app-label {
        margin-top:25px;
    }
    .rail-bottom {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding-top:22px;
        color:#c5b2cf;
        font-size:12px;
    }
    .rail-bottom>span {
        display:flex;
        align-items:center;
        gap:8px;
    }
    .rail-bottom .icon {
        width:21px;
        height:17px;
    }
    .layout-docked .header-inner>.brand-block,.layout-docked .header-inner>.primary-navigation,.layout-docked .header-actions>.language-switcher {
        display:none;
    }
    .layout-docked .header-inner {
        width:calc(100% - 48px);
        gap:25px;
        min-height:84px;
    }
    .layout-docked .header-search {
        width:195px;
        height:41px;
        margin-left:0;
    }
    .layout-docked .utility-navigation .nav-list {
        gap:20px;
    }
    .layout-docked .header-actions {
        margin-left:auto;
    }
    .layout-docked .header-promotion {
        font-size:11px;
        max-width:190px;
        margin-left:auto;
    }
    .layout-docked .content-wrap {
        --gutter:26px;
    }
    .layout-docked .header-promotion {
        display:none;
    }
    .layout-docked .header-actions .button--register {
        min-width:143px;
    }
    .layout-docked .hero-content {
        padding-left:37px;
        max-width:68%;
    }
    .layout-docked .hero-controls {
        left:37px;
    }
    .layout-docked .hero-art {
        right:4%;
        width:340px;
        height:399px;
        top:30px;
    }
    .layout-docked .hero-slide--tournament .hero-art {
        width:380px;
        height:380px;
        top:37px;
        right:2%;
    }
    .layout-docked .hero-slide--promotions .hero-art {
        width:335px;
        height:350px;
        top:52px;
        right:3%;
    }
    .layout-docked .hero-title {
        font-size:72px;
    }
    .layout-docked .hero-title--words {
        font-size:55px;
    }
    .layout-docked .promotion-card {
        padding:25px 21px;
    }
    .layout-docked .promotion-title {
        font-size:23px;
    }
    .layout-docked .promotion-art {
        opacity:.72;
        right:-35px;
    }
    .layout-docked .promotion-card--club .promotion-art {
        right:-16px;
        width:148px;
    }
    .layout-docked .jackpot-section {
        grid-template-columns:minmax(0,1fr) auto;
        gap:24px;
    }
    .layout-docked .jackpot-emblem {
        display:none;
    }
    .layout-docked .jackpot-number {
        font-size:50px;
    }
    .layout-docked .footer-widgets {
        gap:30px;
    }
    .layout-docked .footer-payments {
        gap:20px;
    }
    .layout-docked .footer-payments .payment-logos {
        gap:17px;
    }
    .layout-docked .cookie-notice {
        left:calc(50% + 113px);
        width:min(1100px,calc(100% - 266px));
    }
    .layout-editorial .hero-slider,.layout-editorial .feature-stack {
        border-radius:12px;
    }
    .layout-editorial .feature-stack {
        border-top:3px solid #d353cc;
    }
    .layout-editorial .hero-slider {
        border-radius:10px 10px 0 0;
    }
    .layout-editorial .promotion-card {
        border-radius:10px;
        border-top:2px solid #9451aa;
    }
    .layout-editorial .article-section {
        background:#171020;
        padding:38px 40px;
        max-width:1040px;
        border:1px solid #78538544;
        border-radius:12px;
    }
    .layout-editorial .article-section .table-of-contents {
        margin-top:0;
    }
    .layout-editorial .site-header {
        border-top-color:#d96cd6;
    }
}
@media(min-width:1560px) {
    .layout-docked .header-promotion {
        display:block;
    }
    .layout-docked .hero-art {
        right:8%;
        width:390px;
        height:420px;
        top:22px;
    }
    .layout-docked .hero-slide--tournament .hero-art {
        width:430px;
        height:420px;
        right:5%;
        top:25px;
    }
    .layout-docked .hero-title--words {
        font-size:65px;
    }
}
@media(min-width:1081px) and (max-width:1279px) {
    .layout-docked .header-search {
        width:145px;
    }
    .layout-docked .header-inner {
        gap:18px;
    }
    .layout-docked .utility-navigation .nav-list {
        gap:15px;
    }
    .layout-docked .utility-navigation a {
        font-size:12px;
    }
    .layout-docked .hero-art {
        right:0;
        width:285px;
    }
    .layout-docked .hero-slide--promotions .hero-art {
        right:0;
        width:295px;
    }
    .layout-docked .hero-slide--tournament .hero-art {
        right:0;
        width:310px;
    }
    .layout-docked .hero-title {
        font-size:62px;
    }
    .layout-docked .hero-title--words {
        font-size:49px;
    }
    .layout-docked .hero-content {
        max-width:76%;
    }
    .layout-docked .promotion-title {
        font-size:20px;
    }
    .layout-docked .promotion-content {
        max-width:100%;
    }
    .layout-docked .footer-widgets {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .layout-docked .footer-payments,.layout-docked .footer-providers {
        flex-wrap:wrap;
    }
    .layout-docked .footer-responsibility {
        flex-wrap:wrap;
    }
    .layout-docked .footer-bottom {
        flex-wrap:wrap;
    }
}
@media(max-width:1080px) {
    .brand-logo {
        width:135px;
    }
    .header-inner {
        min-height:76px;
    }
    .header-actions {
        margin-left:auto;
    }
    .hero-content {
        max-width:75%;
        padding-left:35px;
    }
    .hero-controls {
        left:35px;
    }
    .hero-art {
        width:320px;
        height:360px;
        top:48px;
        right:2%;
    }
    .hero-slide--promotions .hero-art {
        width:310px;
        height:310px;
        top:68px;
        right:2%;
    }
    .hero-slide--tournament .hero-art {
        width:335px;
        height:360px;
        top:42px;
        right:1%;
    }
    .hero-title {
        font-size:67px;
    }
    .hero-title--words {
        font-size:56px;
    }
    .layout-docked .mobile-drawer {
        margin-left:12px;
        margin-right:auto;
    }
    .layout-docked .header-inner>.header-search,.layout-docked .header-inner>.utility-navigation,.layout-docked .header-inner>.header-promotion {
        display:none;
    }
    .payment-logo {
        width:88px;
    }
    .footer-payments {
        gap:20px;
    }
}
@media(max-width:900px) and (min-width:681px) {
    .hero-art {
        width:290px;
        height:360px;
        top:50px;
        right:0;
    }
    .hero-slide--promotions .hero-art {
        width:278px;
        height:308px;
        right:0;
    }
    .hero-slide--tournament .hero-art {
        width:316px;
        height:350px;
        right:0;
    }
    .hero-content {
        max-width:78%;
        padding-left:31px;
    }
    .hero-title {
        font-size:61px;
    }
    .hero-title--words {
        font-size:49px;
    }
    .hero-slide::after {
        background:linear-gradient(90deg,#1a102a,#1a102aaa 41%,transparent 87%);
    }
    .promotion-title {
        font-size:19px;
    }
    .promotion-card {
        padding:23px 18px;
    }
    .promotion-art,.promotion-card--club .promotion-art {
        opacity:.4;
    }
    .payment-caption {
        display:none;
    }
    .footer-payments .payment-logos {
        gap:20px;
    }
}
@media(max-width:680px) {
    :root {
        --gutter:16px;
    }
    .brand-logo {
        width:93px;
    }
    .brand-block {
        flex-basis:auto;
    }
    .header-inner {
        gap:8px;
        min-height:74px;
    }
    .header-actions {
        gap:6px;
    }
    .hero-slide,.hero-slide--promotions,.hero-slide--tournament {
        min-height:615px;
        background:radial-gradient(ellipse at 74% 10%,#71336b,#271434 43%,#180f25 75%);
    }
    .hero-slide::after {
        background:linear-gradient(0deg,#180f25 16%,#180f25e8 56%,#180f2510 94%,transparent);
    }
    .hero-content {
        padding:226px 25px 91px;
        max-width:100%;
    }
    .hero-art {
        width:232px;
        height:250px;
        top:0;
        right:8%;
        opacity:1;
    }
    .hero-art::before {
        inset:20px 5px;
        box-shadow:0 0 0 14px #ec90ff05,0 0 0 15px #ec90ff15;
    }
    .hero-slide--promotions .hero-art {
        width:245px;
        height:210px;
        right:5%;
        top:2px;
    }
    .hero-slide--tournament .hero-art {
        width:264px;
        height:250px;
        top:0;
        right:4%;
    }
    .hero-art .brand-overlay {
        inset:26% 13% auto;
        width:74%;
    }
    .hero-title {
        font-size:clamp(45px,11.2vw,65px);
        margin-top:12px;
    }
    .hero-title--words {
        font-size:clamp(38px,10vw,54px);
        line-height:1.04;
    }
    .hero-description {
        margin:15px 0 17px;
        font-size:15px;
    }
    .hero-terms {
        font-size:10px;
        line-height:1.65;
    }
    .hero-label {
        font-size:9px;
        letter-spacing:.11em;
    }
    .hero-controls {
        left:25px;
        right:21px;
        min-height:64px;
    }
    .hero-content .button--large {
        min-height:49px;
    }
    .payment-strip {
        padding:13px 17px;
        gap:18px;
    }
    .payment-caption {
        font-size:9px;
    }
    .payment-strip .payment-logos {
        gap:21px;
    }
    .promotion-card {
        border-radius:14px;
        padding:26px 24px;
        min-height:205px;
    }
    .promotion-title {
        font-size:25px;
    }
    .promotion-art {
        opacity:.82;
    }
    .promotion-card--club .promotion-art {
        width:157px;
        top:24px;
        right:3px;
        opacity:.54;
    }
    .intro-section {
        margin-top:42px;
    }
    .intro-section .article-content {
        font-size:15px;
    }
    .jackpot-section {
        padding:26px 24px;
        gap:23px;
    }
    .jackpot-number {
        font-size:42px;
    }
    .provider-card {
        padding:13px 10px;
    }
    .bonus-banner {
        min-height:310px;
        padding:29px 25px;
    }
    .bonus-banner-art {
        width:175px;
        height:210px;
        right:-5%;
        top:25px;
        opacity:.25;
    }
    .bonus-banner-title {
        font-size:32px;
    }
    .footer-payments .payment-logo {
        width:88px;
        height:37px;
    }
    .footer-payments .payment-logo--mastercard,.footer-payments .payment-logo--litecoin,.footer-payments .payment-logo--interac {
        width:60px;
    }
    .footer-payments .payment-logos {
        gap:22px;
    }
    .cookie-notice {
        background:#291b36fa;
    }
}
@media(max-width:380px) {
    .brand-logo {
        width:79px;
    }
    .header-actions {
        gap:5px;
    }
    .header-actions .button--register {
        min-width:107px;
    }
    .language-switcher summary {
        min-width:40px;
    }
    .language-switcher summary>.icon {
        display:none;
    }
    .hero-content {
        padding:221px 22px 93px;
    }
    .hero-title {
        font-size:46px;
    }
    .hero-title--words {
        font-size:38px;
    }
    .hero-controls {
        left:22px;
        right:18px;
    }
    .hero-art {
        width:220px;
        right:4%;
    }
    .hero-slide--tournament .hero-art {
        right:0;
    }
    .hero-content .button--large {
        width:100%;
        padding-inline:15px;
        font-size:13px;
    }
    .hero-content .action-group,.hero-content .action-item {
        width:100%;
    }
    .promotion-card {
        padding:24px 21px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    *,*::before,*::after {
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}
@media(min-width:1280px) {
    .layout-docked .header-promotion {
        display:block;
    }
}
.footer-language {
    margin-inline-end: 48px;
}
.compact-social-link {
    display: inline-grid !important;
    place-items: center;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 7px !important;
    flex: 0 0 34px !important;
}
.compact-social-link img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain;
}
/* Shared content and small-screen refinements. */
[hidden] {
    display: none !important;
}
:where(.intro-section, .reading-guide, .content-guide, .post-content-section, .article-section, .reading-area) {
    min-width: 0;
}
.source-copy :where(h2,h3) {
    scroll-margin-top: 120px;
}
.content-table-scroll {
    overflow-x: auto;
    max-width: 100%;
    margin-block: 24px;
}
.content-table-scroll table {
    width: 100%;
    border-collapse: collapse;
}
.content-table-scroll th, .content-table-scroll td {
    text-align: left;
    padding: 14px 16px;
    border: 1px solid rgba(160,170,190,.25);
}
.content-table-scroll th {
    background: rgba(160,170,190,.09);
}
.content-table-scroll:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
#article > .toc, #article > .wp-toc {
    padding: 20px 24px;
    border: 1px solid rgba(160,170,190,.24);
    border-radius: 12px;
    background: rgba(160,170,190,.05);
    margin-bottom: 30px;
}
#article > .toc summary, #article > .wp-toc summary {
    cursor: pointer;
    font-weight: 700;
}
#article > .toc ol, #article > .wp-toc ol {
    padding-left: 22px;
}
#article > .toc li, #article > .wp-toc li {
    margin-block: 8px;
}
#article > .toc a, #article > .wp-toc a {
    color: inherit;
}
#faq > h2 {
    margin: 0 0 24px;
}
.catalog-feedback {
    color: inherit;
    font-size: 14px;
    margin: 8px 0 16px;
    opacity: .8;
}
#jackpot :where(strong,[data-static-amount],.jackpot-number) {
    font-variant-numeric: tabular-nums;
}
#jackpot [data-static-amount] {
    white-space: nowrap;
}
@media (max-width: 600px) {
    #article > .toc, #article > .wp-toc {
        padding: 16px;
    }
    #jackpot :where(strong,.jackpot-number) {
        font-size: clamp(25px,7.3vw,42px);
    }
    #faq summary, #faq button {
        overflow-wrap: anywhere;
    }
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
