/* Base */
:root {
    color-scheme:dark;
    --bg:#042a35;
    --surface:#062f3c;
    --deep:#021e29;
    --panel:#083644;
    --text:#f1fbff;
    --muted:#b1cbd3;
    --line:#185064;
    --cyan:#19c8ed;
    --cyan-soft:#98e9f8;
    --lime:#a0e626;
    --gold:var(--cyan);
    --red:#eb6869;
    --rail:216px;
    --content-max:1536px;
    --header-height:128px;
    --radius:20px
}
*,*::before,*::after {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--header-height) + 22px)
}
body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased
}
body.has-open-menu {
    overflow:hidden
}
img {
    max-width:100%;
    vertical-align:middle
}
a {
    color:inherit;
    text-decoration:none
}
button,input,summary {
    font:inherit
}
button,input {
    color:inherit
}
button {
    cursor:pointer
}
button,summary,a {
    -webkit-tap-highlight-color:transparent
}
button {
    appearance:none
}
button:disabled {
    cursor:default
}
input[type=search]::-webkit-search-cancel-button {
    cursor:pointer
}
a,button,input,summary {
    touch-action:manipulation
}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
    outline:3px solid var(--cyan-soft);
    outline-offset:4px
}
::selection {
    background:#159bbc;
    color:white
}
h1,h2,h3,p {
    margin-top:0
}
[hidden] {
    display:none!important
}
.icon {
    width:20px;
    height:20px;
    flex-shrink:0;
    object-fit:contain
}
.container {
    width:100%;
    max-width:var(--content-max);
    padding-inline:clamp(20px,2.4vw,38px);
    margin-inline:auto;
    min-width:0
}
.page-shell,.content-area {
    min-width:0
}
.layout-sidebar .content-area {
    margin-left:var(--rail)
}
.layout-editorial {
    --content-max:1320px;
    --radius:16px
}
.layout-wide {
    --content-max:1512px
}
.main-content {
    padding-top:26px;
    padding-bottom:64px
}
.main-content>section,.main-content>article {
    scroll-margin-top:calc(var(--header-height) + 24px)
}
.main-content:focus {
    outline:0
}
.sr-only {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    padding:0!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important
}
.skip-link {
    position:fixed;
    z-index:100;
    top:8px;
    left:8px;
    transform:translateY(-150%);
    padding:12px 20px;
    background:var(--lime);
    color:#123006;
    border:0;
    border-radius:8px
}
.skip-link:focus {
    transform:translateY(0)
}
/* Shared controls */
.button {
    display:inline-flex;
    position:relative;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:46px;
    padding:11px 23px;
    border:1px solid transparent;
    border-radius:9px;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    text-align:center;
    isolation:isolate;
    transition:background .2s,border-color .2s,transform .2s,box-shadow .2s
}
.button:hover {
    transform:translateY(-2px)
}
.button--primary,.button--register {
    background:linear-gradient(110deg,#b4f044,#94dc17);
    color:#173304;
    box-shadow:0 4px 18px #58aa0b22;
    overflow:hidden
}
.button--primary:hover,.button--register:hover {
    background:#b5ed55;
    box-shadow:0 6px 22px #82d72030
}
.button--primary .icon,.button--register .icon {
    filter:brightness(0) saturate(100%);
    opacity:.8
}
.button--primary::after,.button--register::after,.button--jackpot::after {
    position:absolute;
    content:"";
    pointer-events:none;
    width:45%;
    inset:-90% auto -90% -70%;
    background:linear-gradient(90deg,transparent,#fff7,transparent);
    transform:skewX(-25deg)
}
.button.is-in-view::after {
    animation:sheen 6s ease-in-out 2
}
.button--register {
    min-width:148px;
    min-height:46px
}
.button--login {
    min-width:84px;
    min-height:46px;
    background:linear-gradient(120deg,#02a3ce,#08bfe7);
    color:#002b3a
}
.button--login:hover {
    background:#4bdcff
}
.button--outline,.button--ghost {
    border-color:#22617a;
    background:#093544;
    color:var(--cyan-soft)
}
.button--ghost {
    min-height:36px;
    padding:8px 20px;
    font-weight:500;
    font-size:13px
}
.button--ghost:hover,.button--outline:hover {
    border-color:var(--cyan);
    background:#0b4658
}
.button--small {
    background:#012c3dbb;
    border-color:#2c7b91;
    min-height:34px;
    padding:7px 12px;
    font-size:12px;
    font-weight:500;
    gap:14px;
    color:#e5fbff
}
.button--small .icon {
    width:15px;
    height:15px
}
.button--small:hover {
    background:#06485a
}
.icon-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    flex-shrink:0;
    border-radius:50%;
    border:1px solid #367489;
    background:#032c3ea8;
    padding:0;
    transition:background .2s,border-color .2s,transform .2s
}
.icon-button:hover {
    background:#0b556b;
    border-color:var(--cyan)
}
.icon-button .icon {
    width:19px;
    height:19px
}
.button--jackpot {
    min-height:56px;
    padding:17px 24px;
    background:linear-gradient(110deg,#fffce6,#e6ffc3,#fffce6);
    color:#0b4b52;
    font-size:16px;
    overflow:hidden;
    box-shadow:0 10px 34px #001c4470
}
.button--jackpot .icon {
    filter:brightness(.35) saturate(1.6)
}
.button--jackpot:hover {
    box-shadow:0 14px 42px #00173290;
    transform:translateY(-3px)
}
@keyframes sheen {
    0%,40% {
        left:-70%
    }
    68%,100% {
        left:150%
    }
}
/* Header and navigation */
.site-header {
    position:sticky;
    top:0;
    z-index:30;
    background:#022531f5;
    backdrop-filter:blur(14px);
    border-bottom:1px solid #12506a
}
.site-header.is-scrolled {
    box-shadow:0 8px 32px #00182266
}
.header-inner {
    min-height:74px;
    display:flex;
    align-items:center;
    gap:32px
}
.header-brand {
    flex:0 0 128px
}
.brand-link {
    display:inline-flex;
    align-items:center
}
.brand-logo {
    width:123px;
    height:48px;
    object-fit:contain
}
.layout-sidebar .header-brand {
    display:none
}
.header-actions {
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
    flex-shrink:0
}
.main-nav {
    min-width:0
}
.nav-list {
    padding:0;
    margin:0;
    list-style:none
}
.main-nav .nav-list {
    display:flex;
    align-items:center;
    gap:8px
}
.main-nav a {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:46px;
    padding:10px 16px;
    color:#c4dbe3;
    font-weight:400;
    font-size:15px
}
.main-nav a:hover,.main-nav .is-current a {
    color:#d9f49b
}
.header-inner .main-nav a {
    padding-inline:12px;
    white-space:nowrap
}
.header-lower {
    display:flex;
    align-items:center;
    gap:26px;
    min-height:54px;
    border-top:1px solid #17425280
}
.header-lower .utility-nav .nav-list {
    display:flex;
    gap:24px;
    white-space:nowrap
}
.utility-nav a {
    color:#bdd8e2;
    font-weight:400;
    font-size:14px
}
.utility-nav a:hover {
    color:var(--cyan-soft)
}
.header-promise {
    font-size:12px;
    font-weight:400;
    color:#9dbfce;
    margin:0 0 0 auto;
    line-height:1.4
}
.header-support {
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    color:#bcdae6;
    white-space:nowrap
}
.layout-wide .header-promise,.layout-editorial .header-promise {
    max-width:250px
}
.language-switcher {
    position:relative;
    flex-shrink:0
}
.language-switcher summary {
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:7px;
    list-style:none;
    padding:8px 4px;
    min-height:40px;
    font-size:12px;
    white-space:nowrap
}
.language-switcher summary::-webkit-details-marker {
    display:none
}
.language-switcher .icon {
    width:20px;
    height:20px
}
.chevron {
    display:block;
    width:5px;
    height:5px;
    border:solid #afd3dd;
    border-width:0 1px 1px 0;
    transform:rotate(45deg);
    margin-left:3px;
    position:relative;
    top:-2px
}
.language-options {
    position:absolute;
    z-index:50;
    right:0;
    top:calc(100% + 5px);
    min-width:148px;
    display:flex;
    gap:10px;
    align-items:center;
    padding:12px;
    border:1px solid #287c92;
    background:#04313f;
    box-shadow:0 10px 28px #00151c88;
    border-radius:8px;
    font-size:13px
}
.language-options>span {
    margin-left:auto;
    color:var(--lime)
}
.search-field {
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
    min-width:0;
    height:42px;
    border:1px solid #1b4e65;
    background:#031f2c;
    border-radius:9px;
    padding:0 11px;
    transition:border-color .2s
}
.search-field:focus-within {
    border-color:var(--cyan)
}
.search-field input {
    min-width:0;
    flex:1;
    width:100%;
    border:0;
    background:transparent;
    outline:0;
    font-size:13px;
    padding:8px 0
}
.search-field input::placeholder {
    color:#87acbb
}
.search-field .icon {
    width:17px;
    height:17px
}
.search-submit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:32px;
    border:0;
    background:transparent;
    padding:0;
    flex-shrink:0
}
.search-field--header {
    width:245px;
    height:36px;
    flex:0 1 245px
}
.search-field--header input {
    font-size:12px
}
.nav-rail {
    position:fixed;
    inset:0 auto 0 0;
    width:var(--rail);
    height:100dvh;
    z-index:40;
    background:linear-gradient(180deg,#031e28,#042b37);
    border-right:1px solid #1a485b;
    padding:26px 18px 18px;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#216073 transparent
}
.nav-rail>.brand-link {
    padding:0 16px 22px
}
.nav-rail .main-nav {
    padding-top:16px
}
.nav-rail .main-nav .nav-list {
    display:block
}
.nav-rail .main-nav a {
    margin-bottom:7px;
    min-height:47px;
    border-radius:8px;
    padding:11px 13px;
    font-size:14px
}
.nav-rail .main-nav .is-current a {
    background:linear-gradient(100deg,#10607c,#0a4055);
    border:1px solid #1c708b;
    color:#edfcff
}
.nav-rail .main-nav a:hover {
    background:#0a3d4e
}
.nav-rail .secondary-nav {
    border-top:1px solid #17506470;
    margin-top:20px;
    padding-top:20px
}
.secondary-nav a {
    display:flex;
    align-items:center;
    gap:11px;
    font-size:12px;
    color:#abc6d2;
    font-weight:400;
    padding:11px 12px;
    line-height:1.5
}
.secondary-nav a:hover {
    color:var(--cyan-soft)
}
.secondary-nav .icon {
    width:18px;
    height:18px
}
.rail-bottom {
    margin-top:auto;
    padding-top:30px
}
.rail-heading {
    color:#93b8c4;
    font-size:11px;
    font-weight:400;
    margin:0 0 12px 12px
}
.rail-heading:not(:first-child) {
    margin-top:22px
}
.social-links {
    display:flex;
    align-items:center;
    gap:9px;
    list-style:none;
    padding:0;
    margin:0
}
.social-links a {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    background:#052330;
    border:1px solid #296375;
    border-radius:50%;
    transition:background .2s,border .2s
}
.social-links a:hover {
    background:#095165;
    border-color:var(--cyan)
}
.social-links .icon {
    width:18px;
    height:18px;
    filter:brightness(0) invert(1);
    opacity:.88
}
.nav-rail .social-links {
    justify-content:center
}
.app-buttons {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}
.app-button {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:53px;
    min-width:159px;
    padding:8px 14px;
    background:#effaff;
    color:#122733;
    border:1px solid #fff;
    border-radius:8px;
    transition:background .2s,transform .2s
}
.app-button:hover {
    background:#d0f6ff;
    transform:translateY(-2px)
}
.app-button .icon {
    width:26px;
    height:26px;
    filter:brightness(0)
}
.app-button span {
    font-size:10px;
    line-height:1.4;
    font-weight:400
}
.app-button strong {
    display:block;
    font-size:15px;
    line-height:1.3
}
.nav-rail .app-buttons {
    display:grid;
    gap:9px
}
.nav-rail .app-button {
    min-width:0
}
.rail-language {
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-top:1px solid #175064;
    padding-top:14px;
    margin-top:22px;
    padding-inline:8px
}
.small-age {
    font-size:12px;
    color:#c4dce6;
    border:1px solid #376073;
    border-radius:50%;
    width:30px;
    height:30px;
    display:grid;
    place-items:center
}
.mobile-drawer {
    width:min(382px,calc(100% - 24px));
    height:100dvh;
    max-width:none;
    max-height:100dvh;
    margin:0;
    padding:22px;
    border:0;
    border-right:1px solid #26647a;
    color:var(--text);
    background:#052c3a;
    overflow-y:auto;
    overscroll-behavior:contain;
    box-shadow:20px 0 70px #00121c77
}
.mobile-drawer::backdrop {
    background:#00121dcc;
    backdrop-filter:blur(4px)
}
.drawer-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px
}
.mobile-drawer .search-field {
    margin-bottom:22px
}
.mobile-drawer .main-nav .nav-list {
    display:block
}
.mobile-drawer .main-nav a {
    border-radius:7px;
    margin-block:4px
}
.mobile-drawer .main-nav a:hover {
    background:#0c4b60
}
.mobile-drawer .utility-nav,.mobile-drawer .secondary-nav {
    border-top:1px solid var(--line);
    padding-top:15px;
    margin-top:16px
}
.mobile-drawer .utility-nav a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 16px
}
.drawer-footer {
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid var(--line)
}
.drawer-footer .social-links {
    margin-bottom:24px
}
.drawer-footer .app-buttons {
    flex-wrap:nowrap;
    margin-bottom:20px
}
.drawer-footer .app-button {
    min-width:0;
    flex:1;
    padding:10px
}
.drawer-footer .app-button strong {
    font-size:12px
}
.drawer-footer .app-button .icon {
    width:23px
}
/* Feature and promotion surfaces */
.hero-slider {
    position:relative;
    height:444px;
    border-radius:var(--radius);
    isolation:isolate;
    background:#072d42;
    overflow:hidden;
    border:1px solid #176281;
    box-shadow:0 18px 50px #00151b30
}
.hero-slide {
    display:none;
    height:100%;
    position:relative;
    background:#072d42
}
.hero-slide:first-child {
    display:block
}
.js .hero-slide {
    display:block;
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .55s,visibility .55s
}
.js .hero-slide.is-active {
    opacity:1;
    visibility:visible;
    pointer-events:auto
}
.hero-art {
    position:absolute;
    width:88%;
    max-width:none;
    height:100%;
    right:-12%;
    top:0;
    object-fit:cover;
    object-position:50% 50%;
    z-index:0
}
.hero-slide::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,#04283d 3%,#04283df2 27%,#04283d80 48%,#04283d00 70%),linear-gradient(0deg,#031f3590,transparent 30%)
}
.hero-copy {
    height:100%;
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    max-width:62%;
    padding:36px 50px 86px
}
.hero-label {
    color:#b6eafa;
    font-size:13px;
    font-weight:400;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px
}
.hero-label::before {
    content:"";
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--lime)
}
.hero-title {
    font-size:clamp(40px,4vw,62px);
    letter-spacing:-.035em;
    font-weight:800;
    line-height:1.06;
    margin:0 0 18px
}
.hero-title span {
    display:block;
    color:#81e7fc
}
.hero-copy p {
    font-size:15px;
    line-height:1.65;
    color:#c2dfeb;
    max-width:355px;
    margin:0 0 24px
}
.hero-copy .button {
    min-width:198px;
    min-height:49px;
    font-size:14px
}
.hero-watermark {
    position:absolute;
    bottom:48px;
    right:25px;
    font-size:86px;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
    opacity:.05;
    color:#a6e8fa;
    z-index:1;
    pointer-events:none
}
.hero-controls {
    position:absolute;
    z-index:3;
    bottom:21px;
    left:39px;
    right:27px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px
}
.hero-dots {
    display:flex;
    align-items:center
}
.hero-dots button {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:38px;
    border:0;
    padding:0;
    background:transparent
}
.hero-dots span {
    width:6px;
    height:6px;
    border-radius:20px;
    background:#6295ad;
    transition:width .25s,background .25s
}
.hero-dots [aria-pressed=true] span {
    width:24px;
    background:var(--lime)
}
.hero-tools {
    display:flex;
    align-items:center;
    gap:8px
}
.hero-tools .icon-button {
    width:34px;
    height:34px;
    border-color:#4e8da275;
    background:#033649bb
}
.hero-tools .icon-button .icon {
    width:15px;
    height:15px
}
.slide-number {
    font-size:10px;
    letter-spacing:.06em;
    color:#9bbcc9;
    margin-right:12px
}
.slide-number b {
    font-size:12px;
    color:#fff;
    font-weight:500
}
.pause-glyph {
    height:10px;
    width:8px;
    border-inline:2px solid #c5f0fa
}
.pause-button[aria-pressed=true] .pause-glyph {
    height:0;
    width:0;
    border:0;
    border-left:8px solid #c5f0fa;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent
}
.pause-button:disabled {
    opacity:.48
}
.payment-strip {
    display:flex;
    align-items:center;
    gap:26px;
    min-height:89px;
    border-bottom:1px solid #24536885;
    padding-block:18px
}
.payment-caption {
    font-size:11px;
    color:#8bacba;
    line-height:1.45;
    flex-shrink:0;
    width:104px
}
.payment-logos {
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:clamp(22px,4vw,58px);
    flex:1;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    scrollbar-color:#225870 transparent
}
.payment-logo {
    width:116px;
    height:43px;
    object-fit:contain;
    flex-shrink:0;
    filter:grayscale(1);
    opacity:.78;
    transition:filter .2s,opacity .2s
}
.payment-logo:hover {
    opacity:1;
    filter:grayscale(0)
}
.promo-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:19px;
    margin:28px 0 46px
}
.promo-card {
    position:relative;
    min-width:0;
    height:231px;
    isolation:isolate;
    overflow:hidden;
    border:1px solid #22647c;
    border-radius:16px;
    background:radial-gradient(ellipse at 92% 65%,#087d9b,#04354a 64%)
}
.promo-card:nth-child(2) {
    background:radial-gradient(ellipse at 90% 60%,#0a7e8f,#06444f 66%)
}
.promo-card:nth-child(3) {
    background:radial-gradient(ellipse at 85% 60%,#0a637a,#08303e 70%)
}
.promo-card::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#043344 8%,#043344aa 46%,transparent 85%);
    z-index:1;
    pointer-events:none
}
.promo-art {
    position:absolute;
    width:170px;
    height:170px;
    object-fit:contain;
    right:-19px;
    bottom:12px;
    z-index:0;
    transform:rotate(-10deg);
    filter:drop-shadow(0 10px 12px #00141f60);
    transition:transform .4s
}
.promo-card:nth-child(2) .promo-art {
    transform:rotate(8deg)
}
.promo-card:nth-child(3) .promo-art {
    transform:rotate(0)
}
.promo-card:hover .promo-art {
    transform:rotate(0) translateY(-4px)
}
.promo-copy {
    position:relative;
    z-index:2;
    width:77%;
    padding:25px 23px
}
.promo-title {
    font-size:22px;
    line-height:1.2;
    letter-spacing:-.015em;
    margin:0;
    min-height:52px;
    font-weight:700
}
.promo-copy p {
    font-size:12px;
    line-height:1.5;
    color:#a5cfdf;
    max-width:153px;
    min-height:36px;
    margin:10px 0 18px
}
.promo-index {
    position:absolute;
    right:15px;
    top:12px;
    font-size:11px;
    letter-spacing:.08em;
    color:#8acbdc80;
    z-index:2
}
.intro-section {
    max-width:1160px;
    margin:0 0 40px;
    padding-top:3px
}
.intro-section h1 {
    font-size:clamp(28px,2.7vw,37px);
    line-height:1.2;
    letter-spacing:-.025em;
    margin:0 0 22px
}
.intro-text {
    font-size:16px;
    line-height:1.87;
    color:#bed2d9
}
.intro-text p {
    margin:0 0 15px
}
.intro-text p:last-child {
    margin:0
}
.jackpot-panel {
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:28px;
    border:1px solid #38c3e3;
    border-radius:20px;
    padding:34px 38px;
    margin-bottom:34px;
    background:radial-gradient(ellipse at 45% 20%,#16b8d566,transparent 50%),linear-gradient(110deg,#034f70,#069cbe 68%,#0085a4);
    overflow:hidden;
    box-shadow:0 14px 32px #001f3420
}
.jackpot-copy {
    position:relative;
    z-index:1;
    min-width:0
}
.jackpot-copy h2 {
    font-size:13px;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:600;
    color:#c5f7ff;
    margin:0 0 10px
}
.jackpot-number {
    display:flex;
    align-items:baseline;
    gap:12px;
    white-space:nowrap;
    font-size:clamp(35px,4.2vw,58px);
    line-height:1.12;
    font-weight:800;
    letter-spacing:-.025em;
    margin:0;
    font-variant-numeric:tabular-nums;
    text-shadow:0 3px 14px #003b6980
}
.jackpot-currency {
    font-size:.62em;
    color:#c6f3fb;
    font-weight:400
}
.jackpot-panel .button {
    z-index:1;
    flex-shrink:0
}
.jackpot-orbit {
    position:absolute;
    width:570px;
    height:570px;
    border:1px solid #9cedff1c;
    border-radius:50%;
    left:36%;
    top:-205px;
    box-shadow:0 0 0 34px #8bedff06,0 0 0 35px #99eeff13,0 0 0 70px #8bedff06,0 0 0 71px #99eeff13,0 0 0 108px #8bedff06,0 0 0 109px #99eeff13;
    z-index:0;
    pointer-events:none
}
/* Catalogue and providers */
.catalog-tools {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:30px 0 32px
}
.catalog-tabs {
    display:flex;
    gap:8px;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none
}
.catalog-tab {
    display:inline-flex;
    align-items:center;
    gap:10px;
    white-space:nowrap;
    min-height:42px;
    padding:10px 16px;
    border:1px solid #225366;
    border-radius:8px;
    color:#a6c8d4;
    background:#052735;
    font-size:13px;
    font-weight:400
}
.catalog-tab:hover {
    border-color:#4289a0
}
.catalog-tab.is-active {
    background:#0c4c62;
    border-color:#278bab;
    color:#e4faff
}
.catalog-tab span {
    font-size:10px;
    color:#a5e6f6;
    padding:0 5px;
    background:#08607a;
    border-radius:3px
}
.catalog-tools>.search-field {
    width:272px;
    flex:0 1 272px
}
.section {
    margin:0 0 38px;
    min-width:0
}
.section-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-bottom:19px;
    min-width:0
}
.section-head>div {
    min-width:0
}
.section-title {
    font-size:27px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:-.02em;
    margin:0
}
.empty-state {
    text-align:center;
    padding:44px 20px;
    margin-bottom:30px;
    border:1px dashed #32819a;
    border-radius:16px;
    background:#053541
}
.empty-state h2 {
    font-size:23px;
    margin-bottom:12px
}
.empty-state p {
    color:var(--muted)
}
.providers-section {
    padding-top:8px;
    margin-bottom:42px
}
.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;
    height:85px;
    background:#062632;
    border:1px solid #164558;
    border-radius:12px;
    padding:12px;
    transition:border .2s,background .2s,transform .2s
}
.provider-card img {
    width:100%;
    height:58px;
    object-fit:contain;
    filter:grayscale(1);
    opacity:.8;
    transition:opacity .2s,filter .2s
}
.provider-card:hover {
    background:#083846;
    border-color:#3185a0;
    transform:translateY(-2px)
}
.provider-card:hover img {
    opacity:1;
    filter:grayscale(0)
}
.bonus-banner {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid #1b7996;
    border-radius:20px;
    min-height:300px;
    margin:0 0 56px;
    background:#052b40
}
.bonus-art {
    position:absolute;
    z-index:0;
    width:85%;
    max-width:none;
    height:100%;
    right:-15%;
    top:0;
    object-fit:cover
}
.bonus-banner::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,#062a3d 8%,#062a3ded 35%,#062a3d33 70%,transparent)
}
.bonus-copy {
    position:relative;
    z-index:2;
    padding:40px 46px;
    max-width:68%
}
.bonus-copy h2 {
    font-size:35px;
    line-height:1.16;
    letter-spacing:-.02em;
    margin:0 0 17px
}
.bonus-copy h2 span {
    color:var(--cyan-soft)
}
.bonus-copy p {
    font-size:14px;
    line-height:1.6;
    color:#b1d5e3;
    margin:0 0 20px;
    max-width:315px
}
.bonus-copy .button {
    min-width:166px
}
/* Long-form content is strictly scoped */
.article-section {
    max-width:980px;
    margin:0 auto 64px;
    color:#b8cfd8;
    font-size:15px;
    line-height:1.86;
    min-width:0
}
.table-of-contents {
    border:1px solid #225166;
    border-radius:14px;
    background:#062b39;
    margin-bottom:42px;
    padding:22px 26px;
    font-size:13px
}
.table-of-contents summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    list-style:none;
    cursor:pointer;
    color:#e0f8ff;
    font-size:17px;
    font-weight:600;
    line-height:1.5
}
.table-of-contents summary::-webkit-details-marker {
    display:none
}
.table-of-contents summary .icon {
    transition:transform .2s
}
.table-of-contents details[open] summary .icon {
    transform:rotate(90deg)
}
.table-of-contents ol {
    list-style:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 28px;
    margin:20px 0 0;
    padding:0;
    counter-reset:contents
}
.table-of-contents li {
    counter-increment:contents;
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:9px;
    line-height:1.5
}
.table-of-contents li::before {
    content:counter(contents,decimal-leading-zero);
    font-size:10px;
    min-width:17px;
    color:#5eabbf
}
.table-of-contents button {
    font:inherit;
    text-align:left;
    border:0;
    padding:2px 0;
    color:#a9ccd8;
    background:none;
    line-height:1.5;
    transition:color .2s
}
.table-of-contents button:hover {
    color:var(--cyan-soft)
}
.article-section h2 {
    font-size:27px;
    line-height:1.28;
    font-weight:700;
    color:#e6f6fc;
    letter-spacing:-.018em;
    margin:42px 0 18px;
    scroll-margin-top:calc(var(--header-height) + 24px)
}
.article-section h3 {
    font-size:21px;
    line-height:1.35;
    font-weight:600;
    color:#e6f6fc;
    margin:28px 0 14px;
    scroll-margin-top:calc(var(--header-height) + 24px)
}
.article-section .article-body>h2:first-child {
    margin-top:0
}
.article-section p {
    margin-bottom:17px
}
.article-section li {
    margin-bottom:7px;
    padding-left:3px
}
.article-section ul,.article-section ol {
    padding-left:23px;
    margin-block:18px 23px
}
.article-section ul>li::marker {
    color:#21accb
}
.article-section strong {
    color:#e0f4fb;
    font-weight:700
}
.article-section a {
    color:#8bddf1;
    text-decoration:underline;
    text-underline-offset:3px
}
.article-section .table-of-contents ol {
    padding:0;
    margin:20px 0 0
}
.article-section .table-of-contents li {
    margin:0;
    padding:0
}
.table-scroll {
    width:100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    border:1px solid #27596e;
    border-radius:12px;
    margin:25px 0 30px;
    scrollbar-width:thin;
    scrollbar-color:#3c788d #052633
}
.article-section table {
    width:100%;
    min-width:760px;
    border-collapse:collapse;
    text-align:left;
    font-size:13px;
    line-height:1.7;
    background:#062d3b
}
.article-section th {
    background:#0d4255;
    font-weight:600;
    color:#d7f5ff;
    font-size:11px;
    letter-spacing:.02em;
    padding:15px 17px;
    vertical-align:top
}
.article-section td {
    padding:18px 17px;
    border-bottom:1px solid #245064;
    border-right:1px solid #1a4254;
    vertical-align:top
}
.article-section tbody tr:last-child td {
    border-bottom:0
}
.article-section td:last-child {
    border-right:0
}
.article-section td:first-child {
    font-weight:500;
    color:#c4edf7;
    min-width:138px
}
.article-section tbody tr:nth-child(even) {
    background:#052735
}
.article-section .currency-content:not(.rub) {
    display:none
}
.article-section .currency-content.rub {
    display:inline
}
/* FAQ and footer */
.faq-section {
    max-width:980px;
    margin:0 auto
}
.faq-title {
    font-size:30px;
    font-weight:700;
    letter-spacing:-.02em;
    line-height:1.2;
    margin:0
}
.faq-count {
    font-size:13px;
    color:#649db3
}
.faq-list {
    border-top:1px solid #25566b
}
.faq-item {
    border-bottom:1px solid #25566b
}
.faq-item summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    list-style:none;
    cursor:pointer;
    padding:21px 0;
    font-size:16px;
    font-weight:500;
    line-height:1.5;
    color:#ddf4fb
}
.faq-item summary::-webkit-details-marker {
    display:none
}
.faq-plus {
    position:relative;
    width:30px;
    height:30px;
    flex-shrink:0;
    display:block;
    border:1px solid #337086;
    border-radius:50%
}
.faq-plus::before,.faq-plus::after {
    content:"";
    position:absolute;
    background:#9fe9f8;
    left:9px;
    right:9px;
    top:13px;
    height:1px;
    transition:transform .2s
}
.faq-plus::after {
    transform:rotate(90deg)
}
.faq-item[open] .faq-plus::after {
    transform:rotate(0)
}
.faq-answer {
    font-size:14px;
    color:#afcbd7;
    line-height:1.8;
    padding:0 54px 20px 0
}
.faq-answer p {
    margin:0
}
.site-footer {
    border-top:1px solid #205064;
    background:#02232e;
    padding-top:48px;
    color:#a7c2cf
}
.footer-columns {
    display:grid;
    grid-template-columns:1.15fr 1fr 1fr 1.15fr;
    gap:34px;
    padding-bottom:36px
}
.footer-brand .brand-logo {
    width:140px;
    height:auto
}
.footer-brand p {
    font-size:13px;
    line-height:1.8;
    margin-top:19px;
    max-width:240px
}
.responsible-link {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    color:#a4d5e1
}
.footer-title {
    font-size:14px;
    font-weight:500;
    line-height:1.3;
    color:#e3f5fb;
    margin:0 0 20px
}
.footer-navigation .nav-list {
    display:grid;
    gap:9px
}
.footer-navigation a {
    font-size:12px;
    line-height:1.6
}
.footer-navigation a:hover,.footer-bottom a:hover {
    color:var(--cyan-soft)
}
.footer-language {
    margin-top:24px;
    display:inline-flex
}
.footer-apps .app-buttons {
    display:grid;
    max-width:185px
}
.footer-apps .app-button {
    min-width:0
}
.footer-payments,.footer-providers {
    display:flex;
    align-items:center;
    gap:34px;
    border-top:1px solid #194759;
    padding:24px 0
}
.footer-row-label {
    color:#759dac;
    font-size:11px;
    flex:0 0 140px;
    line-height:1.5
}
.footer-payments .payment-logos {
    justify-content:flex-start;
    gap:clamp(22px,4vw,48px)
}
.footer-payments .payment-logo {
    width:111px;
    height:46px
}
.footer-provider-logos {
    display:flex;
    gap:30px;
    flex-wrap:wrap;
    min-width:0
}
.footer-provider-logos img {
    width:128px;
    height:50px;
    object-fit:contain;
    filter:grayscale(1);
    opacity:.74
}
.footer-responsibility {
    border-top:1px solid #194759;
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px
}
.responsible-marks {
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap
}
.responsible-marks>img {
    width:114px;
    height:44px;
    object-fit:contain;
    filter:grayscale(1);
    opacity:.72
}
.age-badge {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    flex-shrink:0;
    border:2px solid #6aa4b6;
    border-radius:50%;
    color:#b8dbe6;
    font-size:16px;
    font-weight:600
}
.footer-responsibility p {
    font-size:11px;
    line-height:1.7;
    color:#799fab;
    margin:0
}
.footer-disclaimer {
    font-size:11px;
    line-height:1.8;
    color:#80a5b3;
    margin:4px 0 24px
}
.footer-bottom {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:14px;
    border-top:1px solid #194759;
    padding:21px 0 25px;
    font-size:11px;
    line-height:1.6;
    color:#85aabb
}
.floating-controls {
    position:fixed;
    right:20px;
    bottom:21px;
    display:flex;
    flex-direction:column;
    gap:9px;
    z-index:25
}
.floating-controls .icon-button {
    width:43px;
    height:43px;
    background:#012532eb;
    border-color:#44849a;
    box-shadow:0 5px 16px #00162066
}
.floating-controls .icon-button:hover {
    background:#07536a
}
.floating-controls .support-button .icon {
    width:23px;
    height:23px
}
.no-js .search-field,.no-js .header-promise {
    display:none
}
.no-js .hero-controls {
    display:none
}
.no-js .header-lower {
    justify-content:flex-end
}
.menu-toggle {
    display:none
}
.mobile-language {
    display:none
}
.rail-language .language-options {
    top:auto;
    bottom:calc(100% + 5px);
    left:0;
    right:auto
}
.payment-logo[alt="Visa"] {
    filter:brightness(0) invert(1);
    opacity:.72
}
.payment-logo[alt="Visa"]:hover {
    filter:brightness(0) invert(1);
    opacity:1
}
.payment-logo[alt="Ethereum"] {
    filter:grayscale(1) brightness(1.8)
}
.payment-logo[alt="Ethereum"]:hover {
    filter:grayscale(1) brightness(2)
}
.provider-card img,.footer-provider-logos img {
    filter:grayscale(1) invert(1);
    opacity:.8
}
.provider-card:hover img {
    filter:grayscale(1) invert(1);
    opacity:1
}
.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 accessibility enhancements; base game rules above are preserved. */
.game-card>a>img {
    display:block
}
.game-card:focus-within .game-overlay {
    opacity:1
}
.game-card:focus-within>a>img {
    filter:brightness(.65)
}
.game-card>a:hover {
    border-color:#30b4d5
}
.game-overlay strong {
    line-height:1.25
}
.game-card[hidden] {
    display:none!important
}
/* Responsive layouts */
@media(min-width:1700px) {
    .hero-slider {
        height:478px
    }
    .hero-copy {
        padding-left:62px
    }
    .hero-title {
        font-size:67px
    }
    .hero-controls {
        left:51px
    }
    .layout-editorial .hero-title {
        font-size:62px
    }
    .layout-editorial .hero-slider {
        height:446px
    }
    .layout-editorial .hero-copy {
        padding-left:48px
    }
}
@media(max-width:1450px) {
    .layout-wide .header-promise,.layout-editorial .header-promise {
        display:none
    }
    .header-inner {
        gap:23px
    }
    .layout-sidebar .hero-copy {
        padding-left:38px
    }
    .layout-sidebar .hero-title {
        font-size:50px
    }
    .layout-sidebar .hero-copy p {
        max-width:300px
    }
    .layout-sidebar .promo-copy {
        padding-inline:19px
    }
    .layout-sidebar .promo-art {
        width:153px;
        height:153px;
        right:-29px
    }
    .layout-sidebar .promo-title {
        font-size:21px
    }
    .layout-sidebar .jackpot-panel {
        padding:30px
    }
    .layout-sidebar .jackpot-number {
        font-size:45px
    }
    .layout-sidebar .button--jackpot {
        font-size:14px;
        padding-inline:20px
    }
    .footer-columns {
        gap:26px
    }
    .layout-sidebar .footer-columns {
        grid-template-columns:1.15fr 1fr 1fr 1.1fr;
        gap:20px
    }
}
@media(max-width:1240px) {
    .layout-sidebar .header-promise {
        max-width:270px
    }
    .layout-sidebar .hero-title {
        font-size:43px
    }
    .layout-sidebar .hero-copy {
        max-width:65%;
        padding:34px 30px 82px
    }
    .layout-sidebar .hero-copy p {
        font-size:14px
    }
    .layout-sidebar .payment-logos {
        gap:20px
    }
    .layout-sidebar .payment-logo {
        width:100px
    }
    .layout-sidebar .jackpot-number {
        font-size:40px
    }
    .layout-sidebar .jackpot-panel {
        gap:24px
    }
    .layout-sidebar .button--jackpot {
        min-height:50px;
        font-size:13px;
        padding:15px 18px
    }
    .layout-sidebar .promo-copy {
        width:80%
    }
    .layout-sidebar .promo-art {
        opacity:.8
    }
    .layout-sidebar .promo-title {
        font-size:20px
    }
    .layout-sidebar .footer-columns {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:32px
    }
    .header-inner .main-nav a {
        padding-inline:9px;
        font-size:14px
    }
    .header-actions {
        gap:8px
    }
    .header-inner {
        gap:17px
    }
    .header-brand {
        flex-basis:124px
    }
    .layout-editorial .header-promise {
        display:none
    }
}
@media(max-width:1080px) {
    :root {
        --rail:0px;
        --header-height:130px
    }
    .nav-rail {
        display:none
    }
    .layout-sidebar .content-area {
        margin-left:0
    }
    .layout-sidebar .header-brand {
        display:block
    }
    .header-inner {
        min-height:74px;
        gap:15px
    }
    .header-inner>.main-nav {
        display:none
    }
    .header-brand {
        flex:0 0 auto
    }
    .header-actions {
        margin-left:auto
    }
    .header-lower {
        min-height:54px;
        gap:20px
    }
    .header-promise {
        display:none
    }
    .header-lower .utility-nav .nav-list {
        gap:21px
    }
    .layout-sidebar .header-promise {
        display:block;
        font-size:11px;
        max-width:285px
    }
    .header-lower .search-field {
        flex:1 1 240px;
        max-width:325px
    }
    .header-support {
        font-size:11px
    }
    .hero-slider,.layout-editorial .hero-slider {
        height:430px
    }
    .hero-copy,.layout-sidebar .hero-copy {
        max-width:63%;
        padding:33px 36px 81px
    }
    .hero-title,.layout-sidebar .hero-title {
        font-size:48px
    }
    .hero-copy p,.layout-sidebar .hero-copy p {
        font-size:14px;
        max-width:300px
    }
    .hero-art {
        right:-15%;
        width:95%
    }
    .promo-art,.layout-sidebar .promo-art {
        width:153px;
        height:153px;
        right:-22px;
        opacity:1
    }
    .promo-copy,.layout-sidebar .promo-copy {
        padding-inline:21px;
        width:82%
    }
    .promo-title,.layout-sidebar .promo-title {
        font-size:21px
    }
    .jackpot-panel,.layout-sidebar .jackpot-panel {
        padding:30px
    }
    .jackpot-number,.layout-sidebar .jackpot-number {
        font-size:44px
    }
    .jackpot-panel .button,.layout-sidebar .button--jackpot {
        min-height:52px;
        font-size:14px;
        padding:14px 20px
    }
    .games-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:14px
    }
    .provider-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .footer-columns {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:34px
    }
    .footer-payments {
        gap:24px
    }
    .footer-row-label {
        flex-basis:132px
    }
    .footer-payments .payment-logos {
        gap:22px
    }
    .footer-payments .payment-logo {
        width:100px
    }
    .no-js .header-inner>.main-nav {
        display:block
    }
    .no-js .header-inner {
        flex-wrap:wrap;
        padding-block:12px
    }
    .no-js .header-inner>.main-nav {
        order:3;
        flex-basis:100%
    }
    .no-js.layout-sidebar .nav-rail {
        position:static;
        display:block;
        width:auto;
        height:auto;
        max-height:none;
        padding:20px
    }
    .no-js .nav-rail .main-nav .nav-list {
        display:flex;
        flex-wrap:wrap
    }
    .no-js .nav-rail .rail-bottom,.no-js .nav-rail .secondary-nav {
        display:none
    }
}
@media(max-width:820px) {
    .hero-slider {
        height:417px
    }
    .hero-title,.layout-sidebar .hero-title {
        font-size:42px
    }
    .hero-copy,.layout-sidebar .hero-copy {
        max-width:66%;
        padding-left:28px
    }
    .hero-art {
        width:105%;
        right:-23%;
        object-position:45% center
    }
    .hero-controls {
        left:20px;
        right:20px
    }
    .hero-copy p {
        max-width:270px
    }
    .promo-grid {
        gap:13px
    }
    .promo-card {
        height:228px
    }
    .promo-copy,.layout-sidebar .promo-copy {
        padding:24px 17px;
        width:100%
    }
    .promo-title,.layout-sidebar .promo-title {
        font-size:20px
    }
    .promo-art,.layout-sidebar .promo-art {
        width:136px;
        height:136px;
        right:-43px;
        bottom:25px;
        opacity:.78
    }
    .promo-copy p {
        max-width:146px
    }
    .payment-caption {
        width:82px;
        font-size:10px
    }
    .payment-strip {
        gap:20px
    }
    .payment-logo {
        width:100px
    }
    .payment-logos {
        gap:22px
    }
    .jackpot-number,.layout-sidebar .jackpot-number {
        font-size:37px
    }
    .jackpot-panel,.layout-sidebar .jackpot-panel {
        gap:24px;
        padding:27px
    }
    .jackpot-panel .button,.layout-sidebar .button--jackpot {
        font-size:12px;
        padding:13px 18px;
        gap:8px
    }
    .jackpot-panel .button .icon {
        width:16px;
        height:16px
    }
    .header-lower .utility-nav .nav-list {
        gap:17px
    }
    .header-lower .utility-nav a {
        font-size:12px
    }
    .header-support span {
        display:none
    }
    .header-lower .search-field {
        max-width:290px
    }
    .catalog-tools {
        gap:16px;
        flex-wrap:wrap
    }
    .catalog-tools>.search-field {
        width:100%;
        flex:1 1 220px
    }
    .catalog-tab {
        padding:10px 13px;
        font-size:12px
    }
    .games-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .section-title {
        font-size:25px
    }
    .provider-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .bonus-copy {
        padding:34px;
        max-width:72%
    }
    .bonus-copy h2 {
        font-size:30px
    }
    .footer-payments,.footer-providers {
        display:block
    }
    .footer-row-label {
        display:block;
        margin-bottom:16px
    }
    .footer-responsibility {
        flex-wrap:wrap
    }
    .footer-bottom {
        gap:12px
    }
    .article-section h2 {
        font-size:25px
    }
    .article-section {
        font-size:14px
    }
}
@media(max-width:640px) {
    :root {
        --header-height:128px
    }
    .container {
        padding-inline:18px
    }
    .main-content {
        padding-top:18px;
        padding-bottom:44px
    }
    .header-inner {
        gap:10px;
        min-height:70px
    }
    .header-brand {
        margin-right:auto
    }
    .brand-logo {
        width:105px;
        height:41px
    }
    .header-actions {
        gap:7px
    }
    .header-actions .button--register {
        min-width:0;
        min-height:40px;
        font-size:12px;
        padding:10px 13px
    }
    .header-actions .button--login {
        min-width:0;
        min-height:40px;
        font-size:12px;
        padding:10px 13px
    }
    .header-actions .language-switcher summary {
        gap:5px;
        padding-inline:0
    }
    .header-actions .language-switcher .icon {
        width:17px;
        height:17px
    }
    .header-actions .chevron {
        display:none
    }
    .header-actions .language-switcher span:not(.chevron) {
        font-size:10px
    }
    .header-actions .language-switcher {
        order:3
    }
    .menu-toggle.icon-button {
        width:34px;
        height:34px;
        background:none;
        border-color:#24546b
    }
    .menu-toggle .icon {
        width:18px;
        height:18px
    }
    .header-lower {
        min-height:53px;
        gap:15px
    }
    .header-lower .utility-nav {
        display:none
    }
    .header-lower .search-field {
        max-width:none;
        flex:1
    }
    .layout-sidebar .header-promise {
        display:none
    }
    .header-support {
        margin-left:0
    }
    .header-support .icon {
        width:22px;
        height:22px
    }
    .hero-slider,.layout-editorial .hero-slider {
        height:556px;
        border-radius:16px
    }
    .hero-art {
        top:0;
        left:-25%;
        right:auto;
        width:150%;
        height:322px;
        object-fit:cover;
        object-position:center;
        max-width:none
    }
    .hero-slide::before {
        background:linear-gradient(0deg,#062c40 5%,#062c40 33%,#062c40a3 46%,transparent 72%),linear-gradient(180deg,transparent 25%,#07324933 60%)
    }
    .hero-copy,.layout-sidebar .hero-copy {
        position:absolute;
        bottom:60px;
        left:0;
        right:0;
        top:auto;
        height:auto;
        width:100%;
        max-width:none;
        padding:22px 24px 10px;
        justify-content:flex-end
    }
    .hero-label {
        font-size:12px;
        margin-bottom:11px
    }
    .hero-title,.layout-sidebar .hero-title {
        font-size:40px;
        line-height:1.02;
        letter-spacing:-.025em;
        margin-bottom:13px
    }
    .hero-title span {
        color:#91edff
    }
    .hero-copy p,.layout-sidebar .hero-copy p {
        font-size:13px;
        line-height:1.5;
        margin-bottom:17px;
        max-width:330px
    }
    .hero-copy .button {
        min-height:47px;
        min-width:175px;
        font-size:13px;
        padding:12px 18px
    }
    .hero-watermark {
        display:none
    }
    .hero-controls {
        left:14px;
        right:20px;
        bottom:15px
    }
    .hero-dots button {
        width:30px;
        height:36px
    }
    .hero-tools {
        gap:8px
    }
    .hero-tools .icon-button {
        width:32px;
        height:32px
    }
    .slide-number {
        display:none
    }
    .hero-tools .pause-button {
        width:32px
    }
    .payment-strip {
        min-height:84px;
        padding-block:15px;
        gap:0
    }
    .payment-caption {
        display:none
    }
    .payment-logos {
        gap:28px;
        padding:3px 0
    }
    .payment-logo,.layout-sidebar .payment-logo {
        width:104px;
        height:37px
    }
    .promo-grid {
        grid-template-columns:1fr;
        gap:12px;
        margin:22px 0 34px
    }
    .promo-card {
        height:157px
    }
    .promo-copy,.layout-sidebar .promo-copy {
        width:74%;
        padding:21px 22px
    }
    .promo-title,.layout-sidebar .promo-title {
        min-height:0;
        font-size:21px;
        line-height:1.2
    }
    .promo-copy p {
        margin:7px 0 14px;
        min-height:0;
        font-size:12px;
        max-width:195px
    }
    .promo-art,.layout-sidebar .promo-art {
        width:146px;
        height:146px;
        right:-8px;
        bottom:-6px;
        opacity:1
    }
    .promo-card::after {
        background:linear-gradient(90deg,#043344 8%,#043344ba 40%,transparent 91%)
    }
    .promo-index {
        right:12px;
        top:10px
    }
    .promo-copy .button {
        min-height:33px;
        font-size:11px
    }
    .intro-section {
        margin-bottom:30px
    }
    .intro-section h1 {
        font-size:28px;
        line-height:1.2;
        margin-bottom:18px;
        letter-spacing:-.03em
    }
    .intro-text {
        font-size:14px;
        line-height:1.83
    }
    .intro-text p {
        margin-bottom:14px
    }
    .jackpot-panel,.layout-sidebar .jackpot-panel {
        display:block;
        padding:26px 22px;
        margin-bottom:28px;
        border-radius:16px
    }
    .jackpot-copy h2 {
        font-size:11px;
        margin-bottom:12px
    }
    .jackpot-number,.layout-sidebar .jackpot-number {
        font-size:clamp(30px,7.6vw,44px);
        gap:10px;
        letter-spacing:-.035em
    }
    .jackpot-panel .button,.layout-sidebar .button--jackpot {
        width:100%;
        margin-top:24px;
        min-height:51px;
        font-size:14px;
        gap:14px
    }
    .jackpot-orbit {
        width:370px;
        height:370px;
        top:-70px;
        left:19%
    }
    .catalog-tools {
        display:block;
        margin:26px 0 24px
    }
    .catalog-tabs {
        gap:7px;
        padding-bottom:4px;
        margin-bottom:12px
    }
    .catalog-tab {
        min-height:40px;
        padding:10px 13px;
        font-size:12px;
        gap:7px
    }
    .catalog-tools>.search-field {
        width:100%;
        height:42px
    }
    .games-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px
    }
    .section-head {
        margin-bottom:16px;
        gap:10px
    }
    .section-title {
        font-size:23px;
        line-height:1.23;
        letter-spacing:-.025em
    }
    .section {
        margin-bottom:29px
    }
    .section-head .button--ghost {
        min-height:33px;
        padding:7px 14px;
        font-size:12px;
        flex-shrink:0
    }
    .provider-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px
    }
    .provider-card {
        height:75px;
        padding:10px;
        border-radius:9px
    }
    .provider-card img {
        height:48px
    }
    .providers-section {
        padding-top:3px;
        margin-bottom:30px
    }
    .bonus-banner {
        min-height:460px;
        border-radius:16px;
        margin-bottom:36px
    }
    .bonus-art {
        width:150%;
        height:290px;
        left:-25%;
        right:auto;
        top:0
    }
    .bonus-banner::before {
        background:linear-gradient(0deg,#062a3d 10%,#062a3d 31%,#062a3d80 53%,transparent 79%)
    }
    .bonus-copy {
        max-width:none;
        position:absolute;
        bottom:0;
        padding:24px;
        left:0;
        right:0
    }
    .bonus-copy h2 {
        font-size:29px;
        line-height:1.14;
        margin-bottom:12px
    }
    .bonus-copy p {
        font-size:13px;
        line-height:1.55;
        margin-bottom:16px;
        max-width:280px
    }
    .bonus-copy .button {
        min-height:46px;
        width:100%;
        font-size:13px
    }
    .article-section {
        font-size:14px;
        line-height:1.85;
        margin-bottom:38px
    }
    .article-section h2 {
        font-size:24px;
        line-height:1.28;
        margin:31px 0 15px
    }
    .article-section h3 {
        font-size:19px
    }
    .article-section p {
        margin-bottom:16px
    }
    .article-section ul,.article-section ol {
        padding-left:20px
    }
    .table-of-contents {
        padding:19px;
        margin-bottom:29px
    }
    .table-of-contents summary {
        font-size:16px
    }
    .table-of-contents ol {
        grid-template-columns:1fr;
        gap:9px
    }
    .table-of-contents button {
        font-size:12px
    }
    .article-section .table-of-contents ol {
        margin-top:17px
    }
    .article-section td {
        padding:14px
    }
    .faq-title {
        font-size:27px
    }
    .faq-item summary {
        font-size:14px;
        line-height:1.6;
        padding:19px 0;
        gap:14px
    }
    .faq-answer {
        font-size:13px;
        line-height:1.8;
        padding:0 10px 20px 0
    }
    .faq-plus {
        width:28px;
        height:28px
    }
    .faq-plus::before,.faq-plus::after {
        left:8px;
        right:8px;
        top:12px
    }
    .site-footer {
        padding-top:32px
    }
    .footer-columns,.layout-sidebar .footer-columns {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:29px 20px;
        padding-bottom:28px
    }
    .footer-brand {
        grid-column:1 / -1
    }
    .footer-brand p {
        margin:13px 0 13px;
        font-size:12px
    }
    .footer-brand .brand-logo {
        width:130px
    }
    .footer-title {
        font-size:13px;
        margin-bottom:17px
    }
    .footer-navigation {
        grid-column:1
    }
    .footer-social {
        grid-column:2
    }
    .footer-social .social-links {
        flex-wrap:wrap;
        max-width:106px
    }
    .footer-social .social-links a {
        width:37px;
        height:37px
    }
    .footer-language {
        margin-top:15px
    }
    .footer-apps {
        grid-column:1 / -1
    }
    .footer-apps .app-buttons {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        max-width:none;
        gap:10px
    }
    .footer-apps .app-button {
        padding:10px 12px;
        gap:9px
    }
    .app-button strong {
        font-size:14px
    }
    .footer-payments,.footer-providers {
        padding-block:21px
    }
    .footer-payments .payment-logos {
        gap:29px
    }
    .footer-payments .payment-logo {
        width:105px;
        height:43px
    }
    .footer-provider-logos {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px 24px
    }
    .footer-provider-logos img {
        width:100%;
        height:51px;
        max-width:150px
    }
    .footer-row-label {
        margin-bottom:15px;
        font-size:11px
    }
    .footer-responsibility {
        gap:18px;
        padding-block:21px
    }
    .responsible-marks {
        gap:18px;
        flex-wrap:nowrap
    }
    .responsible-marks>img {
        width:95px;
        height:40px
    }
    .age-badge {
        width:40px;
        height:40px;
        font-size:14px
    }
    .footer-responsibility p {
        font-size:10px;
        line-height:1.7
    }
    .footer-disclaimer {
        font-size:10px;
        line-height:1.75;
        margin-bottom:19px
    }
    .footer-bottom {
        display:grid;
        gap:9px;
        font-size:10px;
        padding-bottom:27px
    }
    .floating-controls {
        right:13px;
        bottom:16px;
        gap:8px
    }
    .floating-controls .icon-button {
        width:39px;
        height:39px
    }
    .floating-controls .support-button .icon {
        width:21px;
        height:21px
    }
    .mobile-drawer .brand-logo {
        width:123px;
        height:48px
    }
    .no-js .header-actions {
        margin-left:auto
    }
    .no-js .header-inner .main-nav a {
        font-size:12px;
        padding:8px
    }
    .no-js .header-lower {
        display:none
    }
}
@media(max-width:420px) {
    .header-inner {
        gap:9px;
        padding-inline:14px
    }
    .header-brand .brand-logo {
        width:93px;
        height:37px
    }
    .header-actions {
        gap:6px
    }
    .header-actions .button--register {
        font-size:11px;
        padding-inline:11px
    }
    .header-actions .button--login {
        font-size:11px;
        padding-inline:11px
    }
    .header-actions .language-switcher {
        display:none
    }
    .mobile-language {
        display:block
    }
    .mobile-language .language-switcher summary {
        font-size:10px;
        min-height:32px
    }
    .mobile-language .language-switcher .icon {
        width:17px;
        height:17px
    }
    .header-support {
        display:none
    }
    .header-lower {
        gap:12px;
        padding-inline:18px
    }
    .hero-copy,.layout-sidebar .hero-copy {
        padding-inline:22px
    }
    .hero-title,.layout-sidebar .hero-title {
        font-size:37px
    }
    .hero-copy p,.layout-sidebar .hero-copy p {
        max-width:280px
    }
    .promo-copy,.layout-sidebar .promo-copy {
        width:83%;
        padding-inline:20px
    }
    .promo-title,.layout-sidebar .promo-title {
        font-size:20px
    }
    .promo-art,.layout-sidebar .promo-art {
        right:-18px;
        width:138px;
        height:138px
    }
    .promo-copy p {
        max-width:176px
    }
    .section-title {
        font-size:21px
    }
    .catalog-tab {
        font-size:11px;
        padding-inline:12px
    }
    .catalog-tab span {
        font-size:9px
    }
    .game-overlay strong {
        font-size:11px;
        left:9px;
        right:9px;
        bottom:8px
    }
    .game-overlay img {
        width:38px;
        height:38px
    }
    .jackpot-number,.layout-sidebar .jackpot-number {
        font-size:30px
    }
    .footer-apps .app-button {
        padding-inline:10px
    }
    .app-button strong {
        font-size:13px
    }
    .responsible-marks {
        gap:15px
    }
    .responsible-marks>img {
        width:89px
    }
    .provider-card {
        padding:8px
    }
    .provider-card img {
        height:45px
    }
}
@media(max-width:350px) {
    .container {
        padding-inline:14px
    }
    .header-inner {
        gap:7px;
        padding-inline:12px
    }
    .header-brand .brand-logo {
        width:80px;
        height:33px
    }
    .header-actions .button--register {
        padding-inline:9px;
        font-size:10px
    }
    .header-actions .button--login {
        padding-inline:10px;
        font-size:10px
    }
    .menu-toggle.icon-button {
        width:30px;
        height:32px
    }
    .hero-title,.layout-sidebar .hero-title {
        font-size:34px
    }
    .hero-copy,.layout-sidebar .hero-copy {
        padding-inline:20px
    }
    .hero-copy .button {
        min-width:165px
    }
    .hero-slider {
        height:545px
    }
    .hero-art {
        left:-30%;
        width:160%;
        height:315px
    }
    .section-title {
        font-size:20px
    }
    .catalog-tab {
        padding-inline:10px
    }
    .games-grid {
        gap:10px
    }
    .jackpot-panel,.layout-sidebar .jackpot-panel {
        padding-inline:18px
    }
    .jackpot-number,.layout-sidebar .jackpot-number {
        font-size:27px
    }
    .intro-section h1 {
        font-size:26px
    }
    .promo-copy p {
        max-width:162px
    }
    .promo-art,.layout-sidebar .promo-art {
        right:-25px;
        opacity:.85
    }
    .responsible-marks {
        gap:12px
    }
    .responsible-marks>img {
        width:82px
    }
}
@media(hover:none) {
    .game-overlay {
        opacity:1;
        background:linear-gradient(0deg,#00131cdc,transparent 45%);
        justify-content:flex-end
    }
    .game-overlay img {
        display:none
    }
    .game-overlay strong {
        font-size:10px;
        left:8px;
        right:8px;
        bottom:6px;
        line-height:1.2;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
        text-shadow:0 1px 3px black
    }
    .game-card:hover>a>img {
        transform:none;
        filter:none
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*::before,*::after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important
    }
    .game-card:hover>a>img,.button:hover,.promo-card:hover .promo-art,.provider-card:hover {
        transform:none
    }
    .hero-slide {
        transition:none
    }
}
@media(max-width:1080px) {
    .menu-toggle:not([hidden]) {
        display:inline-flex
    }
}
.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;
    }
}
