:root{
  --primary:#FF5F06; --primary-hover:#FF7A33; --accent:var(--primary);
  --bg-page:#080c12; --bg-main:#0D141C; --bg-elevated:#131c27;
  --text-main:#FFFFFF; --text-muted:#AAACB0;
  --hairline:color-mix(in srgb, var(--text-main) 8%, transparent);
  --hairline-strong:color-mix(in srgb, var(--text-main) 16%, transparent);
  --button-text:#fff;
  --radius:14px;
  --font-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  /* wheel palette */
  --wheel-rim-a:#F8DC8A; --wheel-rim-b:#D5A330; --wheel-rim-c:#8B5E14; --wheel-rim-d:#E0B255;
  --seg-a:color-mix(in oklab,var(--accent) 92%, black 4%);
  --seg-b:color-mix(in oklab,var(--accent) 70%, white 14%);
  --seg-head:#FF8A3D;

  /* ── engine-shared compat aliases: render_footer_block()/render_cookie_banner()
     output uses these variable names (see assets/brand-v5/styles.css); aliasing
     them onto this template's own palette lets us reuse that CSS verbatim below
     instead of forking it per template. ── */
  --border-0:var(--hairline);
  --header-border:var(--hairline);
  --footer-bg:var(--bg-page);
  --cookie-bg:var(--bg-elevated);
  --surface-0:var(--bg-elevated);
  --surface-1:color-mix(in srgb, var(--bg-elevated) 82%, white 8%);
  --text-0:var(--text-main);
  --text-1:var(--text-muted);
  --muted:var(--text-muted);
  --accent-0:var(--primary);
  --link:var(--primary);
}

/* Phase 4: 5 color palettes, selected via body[data-theme] (theme 1 is the
   default set in :root above). Canonical variable set shared with
   brand-v7/brand-v8 so theme in site.json behaves the same across templates.
   The wheel rim and segment variables intentionally stay constant across
   themes: the gold rim is a fixed trust/prize metal accent, not a brand
   color, and the segment colors already auto-retint via color-mix with the
   accent variable declared above. */
body[data-theme="2"]{
  --primary:#2C75FF; --primary-hover:#478CFF;
  --bg-page:#EEF3FB; --bg-main:#F6F9FE; --bg-elevated:#FFFFFF;
  --text-main:#172133; --text-muted:#55657B;
  --hairline:rgba(23,33,51,.12); --hairline-strong:rgba(23,33,51,.22);
  --button-text:#fff;
}
body[data-theme="3"]{
  --primary:#2FDE73; --primary-hover:#53F087;
  --bg-page:#061c15; --bg-main:#0B2A1F; --bg-elevated:#123829;
  --text-main:#E8FFF2; --text-muted:#A2D4B9;
  --hairline:rgba(232,255,242,.08); --hairline-strong:rgba(232,255,242,.16);
  --button-text:#072111;
}
body[data-theme="4"]{
  --primary:#7B42FF; --primary-hover:#A668FF;
  --bg-page:#0A0D2A; --bg-main:#19123C; --bg-elevated:#241a4d;
  --text-main:#F4EFFF; --text-muted:#BCA9EF;
  --hairline:rgba(244,239,255,.08); --hairline-strong:rgba(244,239,255,.16);
  --button-text:#fff;
}
body[data-theme="5"]{
  --primary:#D6B26F; --primary-hover:#E3C88C;
  --bg-page:#1A1611; --bg-main:#221B12; --bg-elevated:#2c2317;
  --text-main:#F6EDD8; --text-muted:#C7B28A;
  --hairline:rgba(246,237,216,.08); --hairline-strong:rgba(246,237,216,.16);
  --button-text:#1c150b;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%}
body{
  background:var(--bg-main); color:var(--text-main);
  font-family:var(--font-body); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,video,iframe{max-width:100%;height:auto}
.container{width:min(1180px,100% - 2.5rem);margin-inline:auto}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-family:var(--font-display);
  border-radius:999px;padding:.7rem 1.35rem;font-size:.95rem;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;line-height:1;white-space:nowrap}
.btn-arrow svg{width:15px;height:15px;display:block}
.btn-primary{background:var(--primary);color:var(--button-text);box-shadow:0 6px 22px color-mix(in srgb,var(--primary) 45%,transparent)}
.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-main);border-color:var(--hairline-strong)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}

/* ── reading progress ── */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;background:transparent}
.reading-progress-fill{height:100%;transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--primary),var(--wheel-rim-a))}

/* ── promo strip ── */
.promo-strip{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.5rem 1rem;
  background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 22%,var(--bg-page)),var(--bg-page));
  border-bottom:1px solid var(--hairline);font-size:.86rem;position:relative;z-index:60}
.promo-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 60%,transparent);animation:promo-pulse 2s infinite}
@keyframes promo-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.promo-prefix{color:var(--text-muted);margin-right:.35rem}
.promo-headline{font-weight:700}
.promo-arrow svg{width:15px;height:15px;display:block;transition:transform .15s}
.promo-strip:hover .promo-arrow svg{transform:translateX(3px)}

/* ── header ── */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:color-mix(in srgb,var(--bg-page) 82%,transparent);border-bottom:1px solid var(--hairline)}
.header-shell{display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.25rem;max-width:1220px;margin-inline:auto}
.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:900;font-size:1.15rem}
.logo-img{height:38px;width:auto;display:block}
.logo-lockup-first{letter-spacing:-.01em}
.primary-nav{margin-left:auto}
.primary-nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav-link{color:var(--text-muted);font-weight:600;font-size:.92rem;transition:color .15s}
.nav-link:hover{color:var(--text-main)}
.header-cta-group{display:flex;gap:.6rem;margin-left:1rem}
.nav-toggle,.nav-toggle-label{display:none}
@media(max-width:900px){
  .primary-nav,.header-cta-group .btn-ghost{display:none}
  .header-cta-group{margin-left:auto}
}

/* ── winner ticker ── */
.winner-ticker{display:flex;align-items:center;gap:.85rem;padding:.5rem 0;
  background:color-mix(in srgb,var(--bg-page) 60%,transparent);border-bottom:1px solid var(--hairline);overflow:hidden}
.winner-ticker-eyebrow{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.15rem .6rem;margin-left:1rem;
  font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--primary);
  border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);border-radius:999px;text-transform:uppercase}
.winner-ticker-pulse{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:promo-pulse 1.6s infinite}
.winner-ticker-track-wrap{position:relative;flex:1;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.winner-ticker-track{display:inline-flex;gap:2rem;white-space:nowrap;will-change:transform;
  animation:winner-ticker-scroll 42s linear infinite}
.winner-ticker:hover .winner-ticker-track{animation-play-state:paused}
@keyframes winner-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.winner-ticker-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-muted)}
.winner-ticker-icon{color:var(--primary);display:inline-flex}
.winner-ticker-name{color:var(--text-main);font-weight:600}
.winner-ticker-prize{color:var(--primary);font-weight:800}
.winner-ticker-ago{opacity:.7}

/* ── prize wheel hero ── */
.prize-wheel-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0}
.prize-wheel-bg-main{position:absolute;inset:0;z-index:-3}
.prize-wheel-bg-main img{width:100%;height:100%;object-fit:cover;object-position:center;
  -webkit-mask-image:radial-gradient(ellipse 110% 110% at 50% 50%,#000 50%,transparent 95%);
  mask-image:radial-gradient(ellipse 110% 110% at 50% 50%,#000 50%,transparent 95%)}
/* Light scrim only — just enough gradient to lift contrast, the photo stays
   clearly visible. Readability of the copy is guaranteed instead by pinning
   its text to a fixed light palette + drop-shadow below (.prize-wheel-copy),
   independent of which of the 5 color themes is active, since a photo's
   brightness has nothing to do with the page's theme colors. */
.prize-wheel-bg-aura{position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(60% 60% at 85% 45%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 60%),
    linear-gradient(100deg,rgba(4,6,10,.45) 0%,rgba(4,6,10,.24) 45%,transparent 75%),
    linear-gradient(180deg,rgba(4,6,10,.12),rgba(4,6,10,.22))}
@media(max-width:860px){
  .prize-wheel-bg-aura{background:
    radial-gradient(60% 60% at 50% 30%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 60%),
    linear-gradient(180deg,rgba(4,6,10,.5) 0%,rgba(4,6,10,.3) 45%,rgba(4,6,10,.18) 100%)}
}
/* Fixed light palette for the copy sitting on the photo (not theme vars —
   see aura comment above). text-shadow does the heavy lifting so the
   scrim above can stay light and the photo stays visible. */
.prize-wheel-copy{color:#fff}
.prize-wheel-copy .prize-wheel-lede,
.prize-wheel-copy .prize-wheel-features li{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.75),0 1px 2px rgba(0,0,0,.9)}
.prize-wheel-copy .prize-wheel-eyebrow{text-shadow:0 1px 4px rgba(0,0,0,.6)}
.prize-wheel-heading{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.prize-wheel-container{display:block}
.prize-wheel-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
@media(max-width:860px){.prize-wheel-layout{grid-template-columns:1fr;text-align:center}}
.prize-wheel-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;color:var(--wheel-rim-a);padding:.3rem .75rem;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--wheel-rim-a) 35%,transparent);
  background:color-mix(in srgb,var(--wheel-rim-a) 8%,transparent)}
.prize-wheel-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--wheel-rim-a);animation:promo-pulse 2s infinite}
.prize-wheel-heading{font-family:var(--font-display);font-weight:900;line-height:1.05;letter-spacing:-.02em;
  font-size:clamp(2rem,4.5vw,3.4rem);margin:1rem 0 .8rem;
  background:linear-gradient(180deg,#fff,#ffd9c2);-webkit-background-clip:text;background-clip:text;color:transparent}
.prize-wheel-lede{color:var(--text-muted);font-size:1.08rem;max-width:46ch;margin:0 auto 1.4rem}
@media(min-width:861px){.prize-wheel-lede{margin-inline:0}}
.prize-wheel-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;align-items:center}
@media(min-width:861px){.prize-wheel-features{align-items:flex-start}}
.prize-wheel-features li{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.95rem}
.prize-wheel-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;
  background:color-mix(in srgb,var(--primary) 20%,transparent);color:var(--primary);font-size:.75rem;font-weight:900}

/* stage — fixed square box (width:100% of its own column, capped), everything else
   sizes off THIS box in % so nothing can overflow it regardless of viewport width */
.prize-wheel-stage{position:relative;width:min(100%,400px);aspect-ratio:1;margin:0 auto;isolation:isolate}
.prize-wheel-orbit{position:absolute;inset:-3%;border-radius:50%;
  border:1px dashed color-mix(in srgb,var(--wheel-rim-a) 30%,transparent);animation:cta-orbit-spin 28s linear infinite}
@keyframes cta-orbit-spin{to{transform:rotate(360deg)}}
.prize-wheel-arrow{position:absolute;top:-6%;left:50%;transform:translateX(-50%);z-index:5;
  width:10%;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5))}
.prize-wheel-arrow svg{width:100%;height:auto;display:block}
.prize-wheel-svg{position:absolute;inset:0;width:100%;height:100%;display:block;filter:drop-shadow(0 20px 45px rgba(0,0,0,.55))}
/* transform-origin in absolute user units (0,0 = wheel center, since every
   segment path is drawn from M 0 0 ...) — percentages are unreliable here:
   depending on the browser's default transform-box for SVG (fill-box vs
   view-box) they can resolve way off-center, making the group swing wildly
   off-screen mid-spin instead of rotating in place. */
.wheel-seg-group{transform-origin:0px 0px}
.wheel-segment.is-winner .wheel-seg-fill{filter:brightness(1.3) drop-shadow(0 0 12px color-mix(in srgb,var(--seg-head) 90%,transparent))}
/* spin button = white circular hub in the CENTER of the wheel */
.prize-wheel-spin-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;
  width:28%;aspect-ratio:1;border-radius:999px;
  background:linear-gradient(180deg,#fff,#f4f4f7);color:var(--primary);
  font-family:var(--font-display);font-weight:900;font-size:clamp(.9rem,1.6vw,1.1rem);letter-spacing:.05em;
  border:3px solid color-mix(in srgb,var(--primary) 60%,#fff 20%);cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 2px 3px rgba(255,255,255,.85),inset 0 -4px 8px rgba(0,0,0,.22),
    0 0 0 6px color-mix(in srgb,var(--primary) 14%,transparent),0 0 26px color-mix(in srgb,var(--primary) 42%,transparent);
  transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .24s}
.prize-wheel-spin-btn:hover:not([disabled]){transform:translate(-50%,-50%) scale(1.05);
  box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 2px 3px #fff,0 0 0 9px color-mix(in srgb,var(--primary) 22%,transparent),0 0 40px color-mix(in srgb,var(--primary) 60%,transparent)}
.prize-wheel-spin-btn:active:not([disabled]){transform:translate(-50%,-50%) scale(.97)}
.prize-wheel-spin-btn[disabled]{opacity:.92;cursor:default}

/* prize flash */
.prize-flash{position:absolute;inset:0;display:grid;place-items:center;z-index:8;pointer-events:none;opacity:0;transition:opacity .3s}
.prize-flash[data-state="open"]{opacity:1}
.prize-flash-inner{background:color-mix(in srgb,var(--bg-page) 82%,transparent);backdrop-filter:blur(6px);
  border:1px solid var(--wheel-rim-b);border-radius:16px;padding:1.4rem 2rem;text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.6)}
.prize-flash-title{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:800}
.prize-flash-label{font-family:var(--font-display);font-weight:900;font-size:2.2rem;color:var(--primary);margin-top:.2rem}
.prize-flash-note{color:var(--text-muted);font-size:.85rem;margin-top:.4rem}

/* ── sticky banner ── */
.sticky-banner-wrap{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:.6rem}
.sticky-banner{max-width:1100px;margin-inline:auto;display:flex;align-items:center;gap:1rem;
  background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,var(--bg-elevated)),var(--bg-elevated));
  backdrop-filter:blur(12px);
  border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:16px;padding:.85rem 1.25rem;
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent),0 0 34px color-mix(in srgb,var(--primary) 22%,transparent)}
.banner-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.banner-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-muted);font-weight:800}
.banner-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:promo-pulse 2s infinite}
.banner-headline{font-weight:800;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.banner-cta{margin-left:auto;flex:none}
@media(max-width:520px){.banner-headline{font-size:.85rem}}

/* ── generic section header ── */
section{position:relative}
.section-header{margin-bottom:2rem}
.section-header .eyebrow,.eyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primary);margin:0 0 .5rem}
h2{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .6rem;line-height:1.12}
h3{font-family:var(--font-display);font-weight:800;font-size:1.15rem;margin:0 0 .4rem}

/* reveal-on-scroll */
[data-reveal],[data-reveal-stagger]>*,[data-prose-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible,[data-reveal-stagger].is-visible>*,[data-prose-reveal].is-visible{opacity:1;transform:none}
[data-reveal-stagger].is-visible>*:nth-child(2){transition-delay:.08s}
[data-reveal-stagger].is-visible>*:nth-child(3){transition-delay:.16s}
[data-reveal-stagger].is-visible>*:nth-child(4){transition-delay:.24s}

/* ── trustpilot-style reviews strip (content comes from the engine's reviews
   pool sampler, not from this brand's content.docx — see Фаза 2.5) ── */
.trustpilot-strip{padding:3rem 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  background:color-mix(in srgb,var(--bg-page) 40%,transparent)}
.trustpilot-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.trustpilot-heading{margin:0}
.trustpilot-score{display:flex;align-items:center;gap:.75rem}
.trustpilot-stars{display:inline-flex;gap:3px}
.trustpilot-star svg{display:block;border-radius:3px}
.trustpilot-score-num{font-weight:800;font-size:.95rem}
.trustpilot-score-meta{display:block;color:var(--text-muted);font-size:.82rem}
.trustpilot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.trustpilot-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.1rem}
.trustpilot-card-header{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.trustpilot-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff}
.trustpilot-card-name{font-weight:700;font-size:.9rem;display:block}
.trustpilot-card-verified{display:inline-flex;align-items:center;gap:.3rem;color:#00B67A;font-size:.72rem;font-weight:600}
.trustpilot-card-body{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:.4rem 0 0}
.tp-mini-stars{color:#00B67A;font-size:.8rem;letter-spacing:1px}

/* ── games ── */
.games-section{padding:4rem 0}
.game-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
@media(min-width:600px){.game-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem}}
@media(min-width:1000px){.game-grid{grid-template-columns:repeat(4,1fr)}}
.game-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1.15;
  border:1px solid var(--hairline);isolation:isolate;transition:transform .18s ease,border-color .18s ease;
  box-shadow:0 8px 22px -12px rgba(0,0,0,.5)}
.game-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 55%,transparent)}
.game-card-art,.game-card-img{position:absolute;inset:0;width:100%;height:100%}
.game-card-img{object-fit:cover;z-index:-2}
/* Title/provider/rating below are fixed light colors (not theme vars) —
   this veil is always near-black at the bottom regardless of theme, so
   theme-driven text (dark on light themes) would be invisible on it. */
.game-card-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 32%,rgba(6,8,14,.55) 58%,rgba(4,6,10,.94) 100%)}
.game-card-meta{position:absolute;left:0;right:0;bottom:0;padding:.85rem .9rem;display:flex;flex-direction:column;gap:.25rem}
.game-card-title{font-weight:800;font-size:.95rem;line-height:1.2;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.game-card-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem}
.game-card-provider{color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.03em;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-card-rating{display:inline-flex;align-items:center;gap:.2rem;color:#ffd166;font-weight:700;flex:none}
.game-card-rating svg{width:12px;height:12px}
.game-card-cta{position:absolute;top:.6rem;right:.6rem;display:inline-flex;align-items:center;gap:.25rem;
  font-size:.72rem;font-weight:800;color:var(--button-text);background:color-mix(in srgb,var(--primary) 90%,transparent);
  padding:.25rem .55rem;border-radius:999px;opacity:0;transform:translateY(-4px);transition:.18s}
.game-card-cta svg{width:12px;height:12px}
.game-card:hover .game-card-cta{opacity:1;transform:none}

/* ── trust conquer ── */
.trust-section{padding:4rem 0}
.trust-conquer-card{background:linear-gradient(160deg,color-mix(in srgb,var(--primary) 12%,var(--bg-elevated)),var(--bg-elevated));
  border:1px solid var(--hairline-strong);border-radius:20px;padding:clamp(1.5rem,4vw,3rem)}
.trust-conquer-heading{text-align:center;margin-bottom:2rem}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.trust-pillar{text-align:center}
.trust-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;margin-bottom:.8rem;
  color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,transparent)}
.trust-icon svg{width:26px;height:26px}
.trust-proof{color:var(--text-muted);font-size:.9rem;margin:.3rem 0 0}

/* ── seo article ── */
.seo-section{padding:4rem 0}
.seo-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
@media(max-width:1080px){.seo-layout{grid-template-columns:220px minmax(0,1fr)}.seo-sidebar{display:none}}
@media(max-width:900px){.seo-layout{grid-template-columns:1fr}.seo-toc{display:none}}
.seo-toc{position:sticky;top:90px}
.seo-toc-title{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:800;margin-bottom:.6rem;padding-left:.875rem}
.seo-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.seo-toc-link{display:block;padding:.5rem 0 .5rem .875rem;border-left:2px solid var(--hairline);color:var(--text-muted);font-size:.85rem;line-height:1.4;
  transition:color .15s,border-left-color .15s}
.seo-toc-link:hover{color:var(--text-main);border-left-color:var(--hairline-strong)}
.seo-toc-link.is-active{color:var(--primary);border-left-color:var(--primary);font-weight:600}
/* right sticky bonus card */
.seo-sidebar{position:sticky;top:90px}
.sidebar-bonus{background:linear-gradient(165deg,color-mix(in srgb,var(--primary) 14%,var(--bg-elevated)),var(--bg-elevated));
  border:1px solid var(--hairline-strong);border-radius:18px;padding:1.5rem 1.25rem;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.sidebar-bonus-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .75rem}
.sidebar-bonus-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 6px var(--primary)}
.sidebar-bonus-percent{font-family:var(--font-display);font-size:2.6rem;font-weight:900;color:var(--primary);line-height:.95;margin:0 0 .4rem;letter-spacing:-.04em}
.sidebar-bonus-detail{color:var(--text-muted);margin:0 0 1.1rem;line-height:1.5}
.sidebar-bonus-detail strong{color:var(--text-main)}
.sidebar-bonus-cta{width:100%;justify-content:center}
.sidebar-bonus-note{color:var(--text-muted);font-size:.72rem;margin:.8rem 0 0;line-height:1.4}
.prose{max-width:70ch}
.prose h2{position:relative;padding-left:1.1rem;margin:2rem 0 .7rem}
.prose h2:before{content:"";position:absolute;left:0;top:.55em;width:.75rem;height:.18rem;background:var(--primary);border-radius:1px;box-shadow:0 0 8px color-mix(in srgb,var(--primary) 50%,transparent)}
.prose h3{margin:1.4rem 0 .4rem;color:var(--primary)}
.prose p{color:var(--text-muted);line-height:1.7;margin:.6rem 0}
.prose ul{color:var(--text-muted);line-height:1.7;padding-left:1.2rem}
.prose blockquote{margin:1.2rem 0;padding:1rem 1.2rem;border-left:3px solid var(--primary);
  background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:0 10px 10px 0;font-weight:600}
/* content-block wrapper used by render_content_sections() output */
.prose .content-block{margin:0}

/* ── faq ── */
.faq-section{padding:4rem 0}
.faq-list{display:flex;flex-direction:column;gap:.6rem;max-width:820px;margin-inline:auto}
/* engine's render_faq_items() emits button.faq-question + div.faq-answer
   (not <summary>/<p> like the original static markup) — style both shapes. */
.faq-item{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:12px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font-weight:700;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--primary);font-size:1.3rem;font-weight:400;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:var(--text-muted);line-height:1.6;padding:0 1.2rem 1.1rem;margin:0}
.faq-question{width:100%;background:transparent;border:0;cursor:pointer;padding:1rem 1.2rem;font-weight:700;
  font-family:inherit;font-size:1rem;color:var(--text-main);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq-icon{color:var(--primary);font-size:1.3rem;font-weight:400;transition:transform .2s}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease}
.faq-answer p{color:var(--text-muted);line-height:1.6;padding:0 1.2rem 1.1rem;margin:0}

/* ── footer / cookie-banner (verbatim from assets/brand-v5/styles.css, via
   the var() aliases declared at the top of this file) ── */
.site-footer{border-top:1px solid var(--border-0);margin-top:28px;background:var(--footer-bg)}
.footer-top-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px;padding:22px 0 26px}
.footer-col h3{margin:0 0 8px;font-size:15px}
.footer-col p,.footer-col li,.footer-col a{font-size:13px;color:var(--text-1);line-height:1.45}
.footer-links-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.footer-links-list a{color:var(--text-1)}
.footer-links-list a:hover{color:var(--accent-0)}
.footer-accordion{display:none}
.footer-acc-item{border-top:1px solid var(--header-border)}
.footer-acc-trigger{width:100%;border:0;background:transparent;color:var(--text-0);font:inherit;font-size:16px;font-weight:800;
  text-align:left;display:flex;align-items:center;justify-content:space-between;padding:16px 2px;cursor:pointer}
.footer-acc-chevron{color:var(--muted);transition:transform .2s ease}
.footer-acc-panel{max-height:0;overflow:hidden;transition:max-height .25s ease}
.footer-acc-panel .footer-links-list{padding:0 2px 14px;gap:10px}
.footer-acc-item.is-open .footer-acc-chevron{transform:rotate(90deg)}
.footer-nav-row{border-top:1px solid var(--header-border);border-bottom:1px solid var(--header-border);padding:14px 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer-nav-row p{margin:0;color:var(--text-1);font-size:13px}
.footer-page-nav{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
.footer-page-nav a{color:var(--link);font-weight:700;font-size:14px}
.social-links{display:inline-flex;align-items:center;gap:10px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--border-0);background:var(--surface-0);color:var(--text-1);
  transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease}
.social-link svg{width:18px;height:18px;fill:currentColor}
.social-link:hover{color:var(--accent-0);border-color:var(--accent-0);transform:translateY(-2px)}
.footer-logo-block{padding:12px 0 10px;text-align:center;position:relative;z-index:2}
.footer-logo-block h3{margin:0 0 14px;font-size:22px;font-weight:800;letter-spacing:.01em;font-family:var(--font-display)}
.footer-logo-row{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;align-items:center;position:relative;z-index:2}
.footer-logo-row.collaborators{margin-bottom:28px}
.footer-logo-row.payments{margin-bottom:0}
.footer-logo-row.trust{margin-top:22px}
.footer-logo-row.collaborators li,.footer-logo-row.payments li{min-height:48px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.footer-logo-row img{width:120px;height:56px;object-fit:contain;max-width:min(120px,100%);max-height:56px;opacity:1;filter:none;transition:transform .25s ease}
@media(hover:hover){.footer-logo-row li:hover img{transform:scale(1.04)}}
.footer-legal{border-top:1px solid var(--header-border);padding:16px 0 84px}
.footer-legal p{margin:6px 0;text-align:center;color:var(--muted);font-size:13px}
.footer-legal a{color:var(--link);font-weight:700;text-decoration:underline}

.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--cookie-bg);border-top:1px solid var(--border-0)}
.cookie-banner-inner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.cookie-banner p{margin:0;font-size:12px;color:var(--muted)}
.cookie-banner p a{color:var(--link);font-weight:700}
.cookie-actions{display:flex;gap:8px}
.cookie-actions button{border:1px solid var(--border-0);border-radius:8px;min-width:72px;height:30px;font-size:12px;font-weight:800;
  color:var(--text-0);background:var(--surface-0);cursor:pointer}
.cookie-actions button:hover{background:var(--surface-1)}

@media(max-width:900px){
  .footer-top-grid{display:none}
  .footer-accordion{display:block}
}
@media(max-width:640px){
  .footer-nav-row{flex-direction:column;align-items:flex-start}
  .footer-page-nav{justify-content:flex-start}
  .cookie-banner-inner{flex-direction:column;align-items:flex-start}
}

/* ── footer ── */
.footer-inner{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between}
.footer-logo-img{height:32px;width:auto}

/* ── Фаза 5: compat shim for the engine's shared subpage layout
   (templates/brand-template-v3-page.html — about-us/privacy/responsible-
   gaming/terms-of-use). That template's markup/class names predate this
   template family (site-header/main-nav/casino-hero-*), so this is a fresh,
   deliberately simpler treatment using this template's own tokens rather
   than porting brand-v5's full hero-glow styling — a legal page doesn't
   need it. Identical block in brand-v7/brand-v8 (same canonical vars). ── */
.site-header{border-bottom:1px solid var(--hairline);background:var(--bg-page)}
.site-header .header-inner{display:flex;align-items:center;gap:1.2rem;padding:1rem 0}
.site-logo img{height:34px;width:auto}
.main-nav{display:flex;gap:1.2rem;margin-left:auto}
.main-nav a{color:var(--text-muted);font-weight:600;font-size:.92rem}
.main-nav a:hover{color:var(--text-main)}
.header-actions{display:flex;gap:.6rem}
.menu-toggle{display:none}
.casino-hero{padding:3rem 0}
.casino-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center}
.casino-hero-eyebrow{color:var(--text-muted);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em}
.casino-hero-title{margin:.5rem 0 1.2rem}
.hero-title-subpage{font-family:var(--font-display);font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem);margin:0;line-height:1.1}
.casino-hero-cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.casino-hero-btn{height:50px;padding:0 1.6rem;border-radius:999px;font-weight:800;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}
.casino-hero-btn .btn-icon svg{width:18px;height:18px;fill:currentColor}
.casino-hero-right{display:flex;justify-content:center}
.casino-hero-img{width:100%;border-radius:16px;display:block}
.main-content{padding:2rem 0 3rem}
.content-card{background:var(--bg-elevated);border:1px solid var(--hairline);border-radius:16px;padding:2rem}
@media(max-width:760px){.casino-hero-inner{grid-template-columns:1fr}.casino-hero-right{display:none}.main-nav{display:none}}

/* bonus-card interstitials (render_bonus_card_html / inject_content_interstitials)
   injected into long-form prose content. No sizing existed for this family, so
   the inline fire-icon <svg> (viewBox only, no width/height) expanded to fill
   its whole container. Identical block in brand-v7/brand-v8. */
.bonus-card-wrap{margin:28px 0;max-width:100%}
.bonus-card{border-radius:var(--radius);padding:18px 20px;background:var(--bg-elevated);border:1px solid var(--hairline)}
.bonus-card__body{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bonus-card__text{flex:1 1 auto;min-width:0}
.bonus-card__label{margin:0 0 4px;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  background:var(--primary);color:var(--button-text);font-size:12px;font-weight:700;letter-spacing:.02em}
.bonus-card__headline{margin:0;display:flex;align-items:center;gap:8px;font-size:19px;line-height:1.15;color:var(--text-main);font-weight:800}
.bonus-card__icon{width:.9em;height:.9em;color:var(--primary);flex:0 0 auto}
.bonus-card__icon svg{width:100%;height:100%;fill:currentColor}
.bonus-card__subtext{margin:3px 0 0;color:var(--text-muted);font-weight:500;font-size:13px;line-height:1.3}
.bonus-card__button{min-width:130px;height:38px;padding:0 16px;border-radius:12px;display:inline-flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:800;white-space:nowrap;color:var(--button-text);background:var(--primary);flex:0 0 auto}
.bonus-card__button:hover{background:var(--primary-hover)}
@media(max-width:560px){.bonus-card__body{flex-direction:column;align-items:flex-start}.bonus-card__button{width:100%}}
