/* Three faces under one family, split by unicode-range so a locale downloads
   only the subset it needs. The base file is Latin-1 only — without the ext
   face, Polish/Turkish/Hungarian diacritics fall back to Verdana mid-word.
   Work Sans has no Greek at all, so the Greek range is served by Noto Sans. */
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('../fonts/work-sans.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('../fonts/work-sans-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 100 900;
    font-stretch: 100%;
    font-display: swap;
    src: url('../fonts/work-sans-greek.woff2') format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF
}

:root {
    --sf-bg-primary: #101114;
    --sf-bg-card: #1d1f24;
    --sf-bg-card-hover: #2a2d35;
    --sf-bg-sidebar: #0c0d10;
    --sf-bg-input: #2a2d35;
    --sf-bg-header: #101114;
    --sf-accent-gold: #f8e150;
    --sf-accent-gold-2: #f8e150;
    --sf-accent-green: #03f295;
    --sf-accent-green-2: #25fca8;
    --sf-btn-bg: var(--sf-accent-green);
    --sf-text-primary: #efeff2;
    --sf-text-secondary: #9ca1b0;
    --sf-text-muted: #9098a8;
    --sf-border: #2a2d35;
    --sf-border-gold: rgba(3, 242, 149, .35);
    --sf-shadow-gold: 0 0 24px rgba(3, 242, 149, .3);
    --sf-font-family: 'Work Sans';
    --sf-btn-radius: 1000px
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:root {
    --font-primary: var(--sf-font-family, 'Work Sans'), Verdana, sans-serif;
    --bg-primary: var(--sf-bg-primary, #101114);
    --bg-card: var(--sf-bg-card, #1d1f24);
    --bg-card-hover: var(--sf-bg-card-hover, #2a2d35);
    --bg-sidebar: var(--sf-bg-sidebar, #0c0d10);
    --bg-input: var(--sf-bg-input, #2a2d35);
    --bg-header: var(--sf-bg-header, #101114);
    --bg-elevated: #3a3d47;
    --accent-gold: var(--sf-accent-gold, #f8e150);
    --accent-gold-2: var(--sf-accent-gold-2, #f8e150);
    --accent-green: var(--sf-accent-green, #03f295);
    --accent-green-2: var(--sf-accent-green-2, #25fca8);
    --btn-bg: var(--sf-btn-bg, var(--accent-green));
    --btn-bg-green: var(--sf-btn-bg-green, linear-gradient(135deg, var(--accent-green), var(--accent-green-2)));
    --text-primary: var(--sf-text-primary, #efeff2);
    --text-secondary: var(--sf-text-secondary, #9ca1b0);
    --text-muted: var(--sf-text-muted, #9098a8);
    --border: var(--sf-border, #2a2d35);
    --shadow-hover: 0 10px 34px rgba(0, 0, 0, .75);
    --shadow-gold: var(--sf-shadow-gold, 0 0 24px rgba(3, 242, 149, .3));
    --radius-card: 12px;
    --radius-btn: var(--sf-btn-radius, 1000px);
    --radius-pill: 1000px;
    --rail-w: 72px;
    --drawer-w: 392px;
    --header-h: 74px;
    --header-h-mob: 58px;
    --transition: .2s ease;
    font-size: 16px
}

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--font-primary);
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden
}

img {
    max-width: 100%;
    display: block
}

a {
    color: inherit;
    text-decoration: none
}

button {
    font-family: inherit;
    cursor: pointer;
    border: 0;
    background: none;
    color: inherit
}

ul {
    list-style: none
}

h1,
h2,
h3,
h4 {
    font-weight: 900;
    line-height: 1.2
}

:focus-visible {
    outline: 2px solid var(--accent-gold);
    outline-offset: 2px;
    border-radius: 4px
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px
}

::-webkit-scrollbar-track {
    background: var(--bg-primary)
}

::-webkit-scrollbar-thumb {
    background: var(--bg-elevated);
    border-radius: 8px
}

/* ---------- header ---------- */
.c6qb0k {
    position: sticky;
    top: 0;
    z-index: 60;
    background: var(--bg-header);
    border-bottom: 1px solid var(--border);
    transition: box-shadow var(--transition)
}

.c6qb0k.x5tb {
    box-shadow: 0 4px 28px rgba(0, 0, 0, .7)
}

.b9qd8p {
    height: var(--header-h);
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 14px
}

.d2wm5w {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    color: var(--text-primary);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    transition: background var(--transition)
}

.d2wm5w:hover {
    background: var(--bg-card)
}

.y3pe3b {
    flex: none;
    display: flex;
    align-items: center
}

.e3mx7y {
    width: auto;
    height: 42px;
    object-fit: contain
}

.j6ly0l {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: var(--radius-pill);
    background: var(--bg-card)
}

.s2ff9o {
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color var(--transition), background var(--transition)
}

.s2ff9o>i {
    font-size: 13px;
    color: var(--accent-gold)
}

.s2ff9o:hover {
    color: var(--text-primary)
}

.s2ff9o.q7we {
    background: var(--bg-card-hover);
    color: var(--text-primary)
}

.w9dp4h {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px
}

.v6az4k {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--transition), color var(--transition)
}

.v6az4k:hover {
    background: var(--bg-card);
    color: var(--text-primary)
}

.m2pl8a,
.p1uc8q {
    height: 40px;
    padding: 0 24px;
    border-radius: var(--radius-btn);
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    transition: transform var(--transition), filter var(--transition)
}

.m2pl8a {
    background: var(--bg-card-hover);
    color: #fff
}

.p1uc8q {
    background: var(--btn-bg);
    color: #101114
}

.m2pl8a:hover,
.p1uc8q:hover {
    transform: translateY(-1px);
    filter: brightness(1.08)
}

/* ---------- layout ---------- */
.n9iq3j {
    display: flex;
    align-items: stretch;
    min-height: calc(100vh - var(--header-h));
    transition: margin-left var(--transition)
}

body.n4hz .n9iq3j {
    margin-left: calc(var(--drawer-w) - var(--rail-w))
}

.o9yc6n {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column
}

.i0uh2g {
    flex: 1;
    min-width: 0;
    padding: 16px 20px 40px
}

/* ---------- icon rail ---------- */
.d6ca4z {
    flex: none;
    width: var(--rail-w);
    align-self: stretch;
    background: var(--bg-sidebar);
    border-right: 1px solid var(--border)
}

.q7ep4r {
    position: sticky;
    top: var(--header-h);
    height: calc(100vh - var(--header-h));
    padding: 14px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.q7ep4r::-webkit-scrollbar {
    display: none
}

.a4ic1m {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    color: var(--text-secondary);
    transition: background var(--transition), color var(--transition)
}

.a4ic1m:hover,
.a4ic1m.q7we {
    background: var(--bg-card-hover);
    color: var(--accent-gold)
}

.a4ic1m img {
    width: 30px;
    height: 30px;
    object-fit: contain
}

.a4ic1m.w6qs {
    color: #3ddc84
}

.j3ss4e {
    width: 34px;
    height: 1px;
    margin: 8px 0;
    background: var(--border)
}

/* ---------- drawer ---------- */
.d3dx8t {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 80;
    width: var(--drawer-w);
    max-width: 92vw;
    padding: 0 16px 28px;
    background: var(--bg-primary);
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform var(--transition), visibility 0s linear .2s;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.d3dx8t::-webkit-scrollbar {
    display: none
}

.d3dx8t.q7we {
    visibility: visible;
    transform: none;
    transition: transform var(--transition), visibility 0s
}

.b4rd3f {
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 -16px 16px;
    padding: 0 16px;
    height: var(--header-h);
    background: var(--bg-primary);
    display: flex;
    align-items: center;
    gap: 14px
}

.p6st0j {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    transition: background var(--transition)
}

.p6st0j:hover {
    background: var(--bg-card)
}

.v0zd9e {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 10px
}

.w2ry2o {
    min-height: 62px;
    padding: 12px 14px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    transition: background var(--transition), transform var(--transition)
}

.w2ry2o:hover {
    background: var(--bg-card-hover);
    transform: translateY(-1px)
}

.w2ry2o.k2mp {
    grid-column: 1 / -1
}

.w2ry2o img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: none
}

.m0zr8n {
    margin-bottom: 8px;
    padding: 13px 16px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    transition: background var(--transition)
}

.m0zr8n:hover {
    background: var(--bg-card-hover)
}

.m0zr8n>i:first-child {
    width: 20px;
    text-align: center;
    color: var(--accent-gold)
}

.m0zr8n>i.d2py8l {
    margin-left: auto;
    font-size: 11px;
    color: var(--text-muted)
}

.a0nm0r>i:last-child {
    font-size: 11px;
    color: var(--text-muted)
}

.b1zx6m {
    margin: 14px 0 10px;
    display: flex;
    align-items: center;
    gap: 10px
}

.r0wa7o {
    flex: none;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--bg-card);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px
}

.o8tl1j {
    flex: 1;
    height: 46px;
    border-radius: var(--radius-btn);
    background: var(--btn-bg);
    color: #101114;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px
}

.a0nm0r {
    width: 100%;
    height: 46px;
    margin-bottom: 12px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}

.e4eo9e {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 12px
}

.e4eo9e>a {
    height: 46px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background var(--transition), color var(--transition)
}

.e4eo9e>a:hover {
    background: var(--bg-card-hover);
    color: var(--text-primary)
}

.b9kv6s {
    padding: 12px 14px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    align-items: center;
    gap: 12px
}

.b9kv6s img {
    width: 34px;
    height: 34px;
    flex: none
}

.b9kv6s strong {
    display: block;
    font-size: 14px;
    font-weight: 600
}

.b9kv6s small {
    font-size: 12px;
    color: var(--text-muted)
}

/* ---------- hero ---------- */
.l3mh9n {
    position: relative;
    aspect-ratio: 1184/507;
    min-height: 380px;
    max-height: calc(100vh - var(--header-h) - 60px);
    border-radius: var(--radius-card);
    overflow: hidden;
    background: #0d0e13 url('../images/hero-desktop.webp') center/cover no-repeat;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 32px
}

.l3mh9n::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(58% 76% at 50% 52%, rgba(13, 14, 19, .88) 0%, rgba(13, 14, 19, .62) 55%, rgba(13, 14, 19, 0) 100%)
}

.m0zd1x {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 560px
}

.b3ej8y {
    display: block;
    font-size: clamp(18px, 2.2vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .01em
}

.g7ds2g {
    display: block;
    margin-top: 2px;
    font-size: clamp(44px, 7vw, 96px);
    font-weight: 900;
    color: var(--accent-gold-2);
    line-height: 1.05
}

.i1xw3h {
    display: block;
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 700;
    color: var(--accent-gold-2)
}

.u9hf0u {
    margin-top: clamp(14px, 2.4vw, 30px);
    min-width: 280px;
    padding: 12px 44px;
    border-radius: var(--radius-btn);
    background: var(--btn-bg);
    color: #101114;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    transition: transform var(--transition), box-shadow var(--transition)
}

.u9hf0u:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-gold)
}

.u9hf0u>strong {
    font-size: clamp(16px, 1.5vw, 22px);
    font-weight: 700
}

.l0pa5l {
    font-size: 12px;
    font-weight: 500;
    opacity: .75
}

/* ---------- cashback strip ---------- */
.v2xu8c {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px
}

.v2xu8c img {
    width: 26px;
    height: 26px
}

.i8kx8m {
    text-align: center
}

.i8kx8m>span {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary)
}

.j8hk2j {
    font-size: 20px;
    font-weight: 800;
    color: var(--text-primary)
}

/* ---------- payment methods strip ---------- */
.z9xo2i {
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    flex-wrap: wrap;
    padding: 6px 12px 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.z9xo2i::-webkit-scrollbar {
    display: none
}

.z9xo2i img {
    height: 22px;
    width: auto;
    flex: none;
    opacity: .82;
    filter: grayscale(.15);
    transition: opacity var(--transition)
}

.z9xo2i img:hover {
    opacity: 1
}

/* ---------- sections ---------- */
.g7mz6c {
    margin-top: 30px
}

.w4di6o {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px
}

.t4nf6s {
    display: block;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase
}

.s2pi1k {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap
}

.s2pi1k:hover {
    color: var(--accent-gold)
}

/* ---------- game rails ---------- */
.j7qy9b {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(160px, 1fr);
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none
}

@media (min-width:768px) {
    .j7qy9b--grid {
        grid-auto-flow: row;
        grid-template-columns: repeat(5, 1fr);
        overflow-x: visible
    }
}

.j7qy9b::-webkit-scrollbar {
    display: none
}

.t5ud0h {
    position: relative;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card-hover);
    scroll-snap-align: start;
    transition: transform var(--transition), box-shadow var(--transition)
}

.t5ud0h:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover)
}

.h3ak5y {
    width: 100%;
    height: auto;
    aspect-ratio: 235/313;
    object-fit: cover;
    object-position: center top
}

.b1pd1p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 26px 10px 10px;
    background: linear-gradient(180deg, rgba(17, 18, 23, 0), rgba(17, 18, 23, .95) 60%)
}

.g6mk3d {
    font-size: 13px;
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.h8ar0q {
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase
}

.d3vq5d {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(17, 18, 23, .55);
    opacity: 0;
    transition: opacity var(--transition)
}

.t5ud0h:hover .d3vq5d {
    opacity: 1
}

.d3vq5d>span {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--accent-gold);
    color: #101114;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px
}

/* ---------- small centred cta ---------- */
.z6sj4b {
    margin: 22px auto 0;
    width: fit-content;
    padding: 9px 26px;
    border-radius: var(--radius-btn);
    background: var(--btn-bg);
    color: #101114;
    font-size: 13px;
    font-weight: 700;
    display: block;
    transition: transform var(--transition), box-shadow var(--transition)
}

.z6sj4b:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-gold)
}

/* ---------- providers ---------- */
.r7xc9c {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 148px;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.r7xc9c::-webkit-scrollbar {
    display: none
}

.q4qg0h {
    height: 70px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    scroll-snap-align: start;
    transition: background var(--transition), transform var(--transition)
}

.q4qg0h:hover {
    background: var(--bg-card-hover);
    transform: translateY(-2px)
}

.q4qg0h img {
    max-height: 34px;
    width: auto;
    object-fit: contain;
    filter: grayscale(1) brightness(1.8);
    opacity: .7;
    transition: filter var(--transition), opacity var(--transition)
}

.q4qg0h:hover img {
    filter: none;
    opacity: 1
}

/* ---------- gamification ---------- */
.f8ps9q {
    margin-top: 30px;
    padding: 28px;
    border-radius: var(--radius-card);
    background: var(--bg-card) radial-gradient(120% 140% at 12% 50%, rgba(250, 255, 0, .09), transparent 55%);
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 28px;
    align-items: center
}

.q9hs9c {
    width: 100%;
    height: auto
}

.n5yn4h {
    display: block;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2
}

.q5ku9n {
    margin-top: 8px;
    font-size: 14px;
    color: var(--text-secondary)
}

.o5fy3c {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px
}

.w7sr9f {
    padding: 16px;
    border-radius: var(--radius-card);
    background: var(--bg-card-hover);
    text-align: left
}

.c9rh9v {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px
}

.q5ju6i {
    width: 26px;
    height: 26px;
    flex: none
}

.f4vo0r {
    font-size: 14px;
    font-weight: 700
}

.w6xv7r {
    font-size: 12px;
    color: var(--text-secondary)
}

/* ---------- about / usp ---------- */
.o1xy8p {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px
}

.y0af1d {
    position: relative;
    aspect-ratio: 1/1;
    padding: 16px 16px 0;
    border-radius: var(--radius-card);
    background: var(--bg-card-hover);
    overflow: hidden;
    transition: background var(--transition)
}

.y0af1d::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 56%;
    z-index: 1;
    background: linear-gradient(180deg, rgba(23, 25, 40, .95) 0%, rgba(23, 25, 40, .7) 45%, rgba(23, 25, 40, 0) 100%)
}

.y0af1d:hover {
    background: #30334c
}

.z2io6b {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition)
}

.y0af1d:hover .z2io6b {
    transform: scale(1.05)
}

.y5du7j {
    position: relative;
    z-index: 2;
    font-size: clamp(13px, 1.05vw, 16px);
    font-weight: 800;
    line-height: 1.25;
    color: var(--accent-gold)
}

/* ---------- support ---------- */
.o8ds1j {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.t2gz4k {
    padding: 20px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    gap: 14px;
    align-items: flex-start
}

.s0vz8l {
    width: 34px;
    height: 34px;
    flex: none
}

.j4ob9u {
    font-size: 14px;
    font-weight: 700
}

.u6ij0n {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary)
}

/* ---------- seo text ---------- */
.f0jv0h {
    margin-top: 36px;
    padding: 28px;
    border-radius: var(--radius-card);
    background: var(--bg-card)
}

.j2lw3e {
    margin-bottom: 18px
}

.f0jv0h h1 {
    margin: 0 0 12px;
    font-size: 26px;
    font-weight: 900
}

.f0jv0h h2 {
    margin: 26px 0 10px;
    font-size: 21px;
    font-weight: 800
}

.f0jv0h>h2:first-child {
    margin-top: 0
}

.f0jv0h h3 {
    margin: 18px 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--accent-gold-2)
}

.f0jv0h p {
    margin-bottom: 12px;
    font-size: 14px;
    color: var(--text-secondary)
}

.f0jv0h a {
    color: var(--accent-gold-2);
    text-decoration: underline
}

.y2mj9q {
    margin: 0 0 14px;
    display: grid;
    gap: 8px
}

.y2mj9q li {
    position: relative;
    padding-left: 24px;
    font-size: 14px;
    color: var(--text-secondary)
}

.y2mj9q li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 11px;
    color: var(--accent-gold)
}

.w5nj9u {
    margin: 0 0 16px;
    counter-reset: step;
    display: grid;
    gap: 10px
}

.w5nj9u li {
    position: relative;
    padding-left: 34px;
    font-size: 14px;
    color: var(--text-secondary);
    list-style: none
}

.w5nj9u li::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--accent-gold);
    color: #101114;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center
}

.w1do2h {
    margin: 18px 0 20px;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--bg-card-hover)
}

.w1do2h picture {
    display: block
}

/* wide screenshots fill the column, narrow ones (phone modals) stay at their
   own size instead of being blown up */
.w1do2h img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto
}

.o2uv4q {
    padding: 10px 16px;
    font-size: 12px;
    line-height: 1.45;
    color: var(--text-muted);
    text-align: center
}

.q9wt0e {
    margin-bottom: 22px;
    padding: 16px 18px;
    border-radius: var(--radius-card);
    background: var(--bg-card-hover);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px
}

.q9wt0e>strong {
    width: 100%;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-muted)
}

.b9zb0k {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary)
}

.b9zb0k:hover {
    color: var(--accent-gold)
}

.l5wy5s {
    margin-bottom: 16px;
    overflow-x: auto;
    border-radius: var(--radius-card);
    border: 1px solid var(--border)
}

.a4md2d {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 520px
}

.a4md2d th,
.a4md2d td {
    padding: 11px 14px;
    text-align: left;
    border-bottom: 1px solid var(--border)
}

.a4md2d th {
    background: var(--bg-card-hover);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .05em;
    color: var(--text-muted)
}

.a4md2d td {
    color: var(--text-secondary)
}

.a4md2d tr:last-child td {
    border-bottom: 0
}

.k6xa9s {
    margin: 8px 0 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.c2do3i,
.a7jb9i {
    padding: 18px;
    border-radius: var(--radius-card);
    background: var(--bg-card-hover);
    border-top: 3px solid var(--accent-gold)
}

.a7jb9i {
    border-top-color: #ff5c5c
}

.c2do3i h3,
.a7jb9i h3 {
    margin: 0 0 10px;
    color: var(--text-primary)
}

.c2do3i li,
.a7jb9i li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 7px;
    font-size: 13px;
    color: var(--text-secondary)
}

.c2do3i li::before,
.a7jb9i li::before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 11px
}

.c2do3i li::before {
    content: '\f067';
    color: var(--accent-gold)
}

.a7jb9i li::before {
    content: '\f068';
    color: #ff5c5c
}

.m1nn4w {
    margin: 14px 0 18px;
    padding: 16px 18px;
    border-radius: var(--radius-card);
    background: rgba(250, 255, 0, .07);
    border-left: 3px solid var(--accent-gold);
    font-size: 14px;
    color: var(--text-secondary)
}

/* ---------- faq ---------- */
.j8df1q {
    margin-top: 30px
}

.h0rh8e {
    margin-bottom: 10px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    overflow: hidden
}

.u0vx8m {
    padding: 16px 46px 16px 18px;
    position: relative;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    list-style: none
}

.u0vx8m::-webkit-details-marker {
    display: none
}

.u0vx8m::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--accent-gold);
    transition: transform var(--transition)
}

.h0rh8e[open] .u0vx8m::after {
    transform: translateY(-50%) rotate(180deg)
}

.h0rh8e[open] .u0vx8m {
    background: var(--bg-card-hover)
}

.e0io3i {
    padding: 14px 18px 18px;
    font-size: 14px;
    color: var(--text-secondary)
}

.e0io3i p+p {
    margin-top: 10px
}

/* ---------- reviews ---------- */
.k8hl5p {
    margin-top: 30px
}

.m4kt4t {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px
}

.y2kq3m {
    padding: 18px;
    border-radius: var(--radius-card);
    background: var(--bg-card);
    display: flex;
    flex-direction: column;
    transition: background var(--transition)
}

.y2kq3m:hover {
    background: var(--bg-card-hover)
}

.y2kq3m.z3nk {
    display: none
}

.u7td8h {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px
}

.i5xx6w {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--bg-elevated);
    color: var(--accent-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    flex: none
}

.u1ql2l {
    font-size: 14px;
    font-weight: 700
}

.a2ry4j {
    font-size: 13px;
    color: var(--text-secondary);
    flex: 1
}

.g4uv5p {
    margin-top: 12px;
    font-size: 11px;
    color: var(--text-muted)
}

.q0dq5m {
    margin: 16px auto 0;
    width: fit-content;
    padding: 9px 26px;
    border-radius: var(--radius-btn);
    background: var(--bg-card-hover);
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background var(--transition)
}

.q0dq5m:hover {
    background: var(--bg-elevated)
}

.q0dq5m>i {
    font-size: 11px;
    color: var(--accent-gold);
    transition: transform var(--transition)
}

.q0dq5m.v8ru>i {
    transform: rotate(180deg)
}

/* ---------- footer ---------- */
.r1hw4p {
    margin-top: auto;
    padding: 34px 20px 90px;
    background: var(--bg-sidebar);
    border-top: 1px solid var(--border)
}

.r0oa9c {
    max-width: 1200px;
    margin: 0 auto
}

.b7cu4p {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--border)
}

.m5oz0b {
    width: auto;
    height: 42px;
    object-fit: contain
}

.t6ir7u {
    width: auto;
    height: 34px
}

.c7an1u {
    margin-left: auto;
    padding: 8px 16px;
    border-radius: var(--radius-pill);
    background: var(--bg-card-hover);
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.u8il8p {
    padding: 22px 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 10px 24px;
    border-bottom: 1px solid var(--border)
}

.z5of6f {
    font-size: 13px;
    color: var(--text-secondary);
    transition: color var(--transition)
}

.z5of6f:hover {
    color: var(--accent-gold)
}

.i1bc3k {
    padding: 20px 0 12px;
    display: flex;
    align-items: center;
    gap: 16px
}

.i1bc3k img {
    height: 30px;
    width: auto;
    opacity: .8
}

.x2ju2c {
    font-size: 12px;
    color: var(--text-muted);
    max-width: 900px
}

.n4og8q {
    margin-top: 14px;
    font-size: 12px;
    color: var(--text-muted)
}

/* ---------- floating cta / cookie / top ---------- */
.g3ta8a {
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    z-index: 70;
    padding: 12px 34px;
    border-radius: var(--radius-btn);
    background: var(--btn-bg);
    color: #101114;
    font-size: 14px;
    font-weight: 700;
    box-shadow: var(--shadow-gold);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition)
}

.g3ta8a.j9cd,
.b7rg1p.j9cd {
    opacity: 1;
    pointer-events: auto
}

.b7rg1p {
    position: fixed;
    right: 18px;
    bottom: 84px;
    z-index: 70;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--bg-card-hover);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition)
}

/* ---------- responsive ---------- */
@media (max-width:1180px) {
    .o1xy8p {
        grid-template-columns: repeat(3, 1fr)
    }

    .f8ps9q {
        grid-template-columns: 220px 1fr
    }
}

@media (max-width:1023px) {

    .o8ds1j,
    .m4kt4t {
        grid-template-columns: 1fr 1fr
    }

    .f8ps9q {
        grid-template-columns: 1fr;
        text-align: center
    }

    .q9hs9c {
        max-width: 240px;
        margin: 0 auto
    }
}

@media (max-width:767px) {
    :root {
        --header-h: var(--header-h-mob)
    }

    .d6ca4z {
        display: none
    }

    .b9qd8p {
        padding: 0 12px;
        gap: 8px
    }

    .e3mx7y {
        height: 32px
    }

    .j6ly0l {
        display: none
    }

    .i0uh2g {
        padding: 12px 12px 50px
    }

    .l3mh9n {
        aspect-ratio: 1/1;
        min-height: 0;
        max-height: none;
        justify-content: flex-end;
        padding: 16px 16px 22px;
        background-image: url('../images/hero-mobile.webp');
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        background-color: var(--bg-primary)
    }

    .l3mh9n::after {
        background: linear-gradient(180deg, rgba(16, 17, 20, 0) 40%, rgba(16, 17, 20, .6) 62%, rgba(16, 17, 20, .96) 80%, var(--bg-primary) 92%)
    }

    .m0zd1x {
        width: 100%
    }

    .u9hf0u {
        width: 100%;
        min-width: 0;
        padding: 12px 20px
    }

    .t4nf6s {
        font-size: 19px
    }

    .j7qy9b {
        grid-auto-columns: minmax(140px, 1fr)
    }

    .r7xc9c {
        grid-auto-columns: 124px
    }

    .z9xo2i {
        flex-wrap: nowrap;
        justify-content: flex-start
    }

    .o8ds1j,
    .m4kt4t,
    .k6xa9s,
    .o5fy3c {
        grid-template-columns: 1fr
    }

    .o1xy8p {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 46%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

    .o1xy8p::-webkit-scrollbar {
        display: none
    }

    .y0af1d {
        scroll-snap-align: start
    }

    body.n4hz .n9iq3j {
        margin-left: 0
    }

    .f0jv0h,
    .f8ps9q {
        padding: 18px
    }

    .f0jv0h h2 {
        font-size: 18px
    }

    .v6az4k {
        display: none
    }

    .w9dp4h {
        gap: 6px
    }

    .m2pl8a,
    .p1uc8q {
        height: 34px;
        padding: 0 12px;
        font-size: 12px
    }

}

@media (prefers-reduced-motion:reduce) {

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }

    html {
        scroll-behavior: auto
    }
}

/* language switcher */
.t8gk4v {
    position: relative;
    width: 100%
}

.t8gk4v>summary {
    list-style: none;
    cursor: pointer
}

.t8gk4v>summary::-webkit-details-marker {
    display: none
}

.t8gk4v>summary>i:last-child {
    font-size: 11px;
    color: var(--text-muted);
    transition: transform .18s ease
}

.t8gk4v[open]>summary>i:last-child {
    transform: rotate(180deg)
}

.n5wq2b {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 60;
    max-height: 292px;
    overflow-y: auto;
    padding: 6px;
    display: grid;
    gap: 2px;
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background: var(--bg-card-hover);
    box-shadow: var(--shadow-hover)
}

.n5wq2b>a {
    padding: 8px 12px;
    border-radius: var(--radius-pill);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap
}

.n5wq2b>a:hover {
    background: var(--bg-card)
}

.n5wq2b>a[aria-current="true"] {
    color: var(--accent-green)
}

.t8gk4v--up {
    width: auto;
    margin-left: auto
}

.t8gk4v--up .n5wq2b {
    left: auto;
    right: 0;
    top: auto;
    bottom: calc(100% + 6px);
    min-width: 190px
}

/* Narrow phones: the header holds burger + logo + two labelled buttons, and at
   375px that only fits in English. "Iniciar sesión"/"Registrieren" and friends
   push it ~50px over, so below 480px the logo becomes flexible (it gives up
   whatever the buttons need, down to a floor) and the login button drops its
   pill in favour of a plain label. Verified against all 12 locales at 375px. */
@media (max-width:479px) {
    .b9qd8p {
        padding: 0 10px;
        gap: 6px
    }

    .y3pe3b {
        flex: 0 1 auto;
        min-width: 0
    }

    .e3mx7y {
        height: auto;
        max-height: 30px;
        max-width: 100%;
        min-width: 78px
    }

    .w9dp4h {
        flex: 0 0 auto;
        gap: 2px
    }

    .m2pl8a {
        background: none;
        padding: 0 6px
    }

    .p1uc8q {
        padding: 0 10px
    }
}

/* Below 360px even a shrunken logo and the two longest labels (es, fr-be) fight
   for the same pixels. Both header buttons point at the same /goto/ redirect, so
   the login one stands down and the sign-up CTA keeps the space. */
@media (max-width:359px) {
    .m2pl8a {
        display: none
    }
}

/* Tablet band (768px is where the desktop layout starts, so these are the
   narrowest desktop widths). Two defects inherited from the source template,
   both of which also reproduce on betonred-es:
   1. the hero pairs aspect-ratio 1184/507 with min-height:380px, which forces a
      minimum WIDTH of 887px and pushes the page into horizontal overflow until
      the content column is that wide — dropping the floor lets the aspect ratio
      size it instead;
   2. burger + logo + nav pills + two labelled buttons do not fit, and translated
      labels ("Iniciar sesión", "Registrieren") overrun by up to 83px. The nav
      pills duplicate the icon rail, so they stand down first. */
@media (min-width:768px) {
    .l3mh9n {
        min-height: 0
    }
}

@media (min-width:768px) and (max-width:899px) {
    .j6ly0l {
        display: none
    }

    .b9qd8p {
        padding: 0 14px;
        gap: 10px
    }

    .e3mx7y {
        height: 34px
    }
}

/* The floating CTA and the back-to-top button are hidden with opacity alone, so
   until the page is scrolled they stay in the tab order: keyboard users reach an
   invisible affiliate link, and screen readers announce both. visibility also
   animates, so the fade is preserved. */
.g3ta8a,
.b7rg1p {
    visibility: hidden;
    transition: opacity var(--transition), visibility var(--transition)
}

/* A fixed element with left:50% and no width shrinks to fit the space to the
   RIGHT of that point — half the viewport — so on a phone the CTA wrapped onto
   3-5 lines in every language. max-content restores the intrinsic width and the
   max-width keeps it inside the screen. */
.g3ta8a {
    width: max-content;
    max-width: calc(100% - 32px);
    text-align: center
}

.g3ta8a.j9cd,
.b7rg1p.j9cd {
    visibility: visible
}

/* The active language was signalled by colour only. */
.n5wq2b>a[aria-current="true"] {
    font-weight: 800
}

.n5wq2b>a[aria-current="true"]::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 10px;
    margin-left: 6px
}
