@font-face{font-family:'Geologica';font-style:normal;font-weight:100;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:100;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Geologica';font-style:normal;font-weight:200;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:200;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Geologica';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Geologica';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Geologica';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Geologica';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/52635b42afc2941c.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Geologica';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/d176903bd55126de.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:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/a09a49413260b6bd.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/90bfb7dee4f690bb.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/a040abac078f8af5.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:'Noto Sans Bengali';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/a09a49413260b6bd.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/90bfb7dee4f690bb.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/a040abac078f8af5.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:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/a09a49413260b6bd.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/90bfb7dee4f690bb.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/a040abac078f8af5.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:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/a09a49413260b6bd.woff2) format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1, U+11DF0-11DF1}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/90bfb7dee4f690bb.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/a040abac078f8af5.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}
:root{--color-bg:#ffffff;--color-surface:#f6f7f9;--color-surface-2:#eceff3;--color-text:#14171c;--color-text-muted:#555d6b;--color-border:#dde1e7;--color-primary:#1f5eff;--color-primary-contrast:#ffffff;--color-accent:#ffb020;--color-accent-contrast:#14171c;--color-focus:#1f5eff;--font-heading:"Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--container:1200px;--container-narrow:760px;--shadow-sm:0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08);--shadow-md:0 12px 32px -12px rgba(16,24,40,.22);--header-h:68px}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:clamp(1rem,.96rem + .2vw,1.0625rem);line-height:1.6;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary)}h1,h2,h3{font-family:var(--font-heading);line-height:1.15;margin:0 0 .5em;overflow-wrap:anywhere;letter-spacing:-.01em}h1{font-size:clamp(2rem,1.4rem + 3vw,3.6rem);letter-spacing:-.02em}h2{font-size:clamp(1.6rem,1.25rem + 1.6vw,2.5rem)}h3{font-size:clamp(1.1rem,1rem + .5vw,1.35rem)}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-block-end:.75rem}.site-header__in{display:flex;align-items:center;gap:16px;min-height:var(--header-h)}.vov-mk{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-primary-contrast);display:grid;place-items:center;font-size:1rem;flex:none}.langs{display:flex;gap:2px;list-style:none;margin:0;padding:0}.langs a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding-inline:8px;font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);text-transform:uppercase}.langs a[aria-current=true]{color:var(--color-text);background:var(--color-surface)}.menu{margin-inline-start:auto}.menu>summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer}.menu>summary::-webkit-details-marker{display:none}.menu__panel{position:absolute;inset-inline:0;inset-block-start:var(--header-h);background:var(--color-bg);border-block-end:1px solid var(--color-border);padding:12px clamp(16px,4vw,32px) 20px;box-shadow:var(--shadow-md)}.menu__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.menu__panel a{display:flex;align-items:center;min-height:48px;padding-inline:8px;color:var(--color-text);text-decoration:none;font-weight:500;border-radius:var(--radius-sm)}@media (min-width:960px){.menu{display:none}.langs{margin-inline-start:4px}}.hero__grid{display:grid;gap:clamp(28px,5vw,64px);align-items:center}.hero__points{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}.hero__points li{display:flex;gap:10px;align-items:flex-start;font-weight:500}.hero__points svg{flex:none;margin-block-start:3px;color:var(--color-primary)}.hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}@media (min-width:900px){.hero__grid{grid-template-columns:1.05fr .95fr}}.footer-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-grid h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-block-end:14px}.mcta{position:fixed;inset-inline:0;inset-block-end:0;z-index:60;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--color-bg);border-block-start:1px solid var(--color-border);box-shadow:0 -8px 24px -12px rgba(0,0,0,.25)}body{padding-block-end:76px}@media (min-width:960px){.mcta{display:none}body{padding-block-end:0}}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.vov-game__body{padding:10px 12px 12px;display:grid;gap:2px;min-width:0}
.vov-games__more{margin-block-start:clamp(18px,2.5vw,28px);justify-content:center}
.vov-player__btn{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;display:inline-flex;align-items:center;gap:.5em;min-height:52px;padding:.8em 1.5em;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:700;text-decoration:none;box-shadow:var(--shadow-md)}
#play>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;background:#000}
picture.media-picture{display:contents}h1,h2,h3{overflow-wrap:anywhere}.vov-lg{display:block;height:36px;width:auto;max-width:190px;object-fit:contain}.vov-summary-sec{padding-block:clamp(16px,3vw,32px) 0}.vov-toc-sec{padding-block:clamp(12px,2vw,24px) 0}.vov-meta{font-size:.9rem;margin:.25em 0 1em}.table-wrap{overflow-x:auto}
/* ==========================================================================
   Core: reset, typography, shell, header + sidebar, footer, buttons,
   links, focus, utilities, prose.
   Site palette/fonts come from tokens.json (same variable names).
   ========================================================================== */

/* --- internal tokens (do not override the palette variables) --- */
:root{
  --sidebar-w:240px;
  --surface-3:#141a18;
  --surface-dark:#141917;
  --line-soft:#1c2220;
  --line-strong:#2a302d;
  --text-dim:#6e7570;
  --rule:#23282a;
  --tap:44px;
  --measure:68ch;
}

/* ------------------------------------------------------------------ reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:dark;scroll-padding-top:88px;scrollbar-color:#3a403d var(--color-bg);max-width:100%;overflow-x:clip}
body{
  margin:0;
  background-color:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.55;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-wrap:anywhere;
  overflow-x:clip;
  max-width:100%;
}
body.menu-open{overflow:hidden}
img,svg,video,canvas{display:block;max-width:100%}
h1,h2,h3,h4,h5,h6{margin:0 0 .4em;font-family:var(--font-heading);font-weight:800;line-height:1.24;overflow-wrap:anywhere}
h1{font-size:clamp(22px,5.4vw,28px)}
h2{font-size:20px}
h3{font-size:16px}
h4{font-size:14px}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
li{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit;background:none;border:0;font-size:16px}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
table{border-collapse:collapse;width:100%}
[hidden]{display:none!important}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{opacity:.35;cursor:default}
::selection{background:#e8b94a;color:#141009}

/* ------------------------------------------------------------------ focus */
:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{border-radius:6px}

/* --------------------------------------------------------- accessibility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.vov-sk{position:fixed;left:16px;top:-120px;z-index:150;padding:12px 18px;border-radius:var(--radius-sm);background-color:var(--color-text);color:var(--color-bg);font-weight:700;transition:top .18s ease-out}
.vov-sk:focus{top:12px}

/* ------------------------------------------------------- shell / regions */
.region--header{display:contents}
.region--footer{display:block}
.page-main,.site-footer{
  margin-left:0;min-width:0;max-width:100%;overflow-x:clip;
  padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right));
}
.page-main{display:block;padding-top:16px}
.container{width:100%;max-width:var(--container);margin-inline:auto;min-width:0}
.container--narrow{max-width:var(--container-narrow)}

/* ------------------------------------------------------------ icon holder */
[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1em;height:1em;line-height:1;color:inherit}
[data-icon]>svg{width:100%;height:100%}

/* ---------------------------------------------------------------- buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:var(--tap);padding:10px 18px;
  border-radius:var(--radius-sm);
  font-family:var(--font-heading);font-size:13px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;text-align:center;
  transition:transform .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out,color .15s ease-out;
}
.btn--block{width:100%}
/* main CTA: green body, gold bevel, clipped side wedges (as on the reference) */
.btn--primary{
  position:relative;
  min-height:48px;padding:11px 30px;
  border:1px solid #e8b94a;border-radius:6px;
  background-image:linear-gradient(180deg,#3dc24a 0%,#2e9e3c 100%);
  color:#f6ffe9;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 14px rgba(232,185,74,.28);
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);
}
.btn--primary:focus-visible{outline:2px solid var(--color-focus);outline-offset:-4px}
.btn--ghost{background-color:var(--color-surface-2);color:var(--color-text);border:1px solid var(--line-strong)}
.btn--accent{background-image:linear-gradient(180deg,#e8b94a,#a9781f);color:#1a1206}
.view-all{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  min-height:40px;padding:8px 14px;border-radius:8px;
  background-color:#141a18;border:1px solid #2a302d;
  color:var(--color-text);font-family:var(--font-heading);font-size:13px;font-weight:600;
  white-space:nowrap;
  transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;
}
.icon-button{
  display:grid;place-items:center;flex:0 0 auto;
  width:var(--tap);height:var(--tap);border-radius:10px;
  background-color:#141a18;color:var(--color-text);font-size:20px;
  transition:background-color .15s ease-out,color .15s ease-out,transform .15s ease-out;
}
.icon-button--round{width:var(--tap);height:var(--tap);border-radius:50%;font-size:19px}
.icon-button--accent{background-color:var(--color-primary);color:var(--color-primary-contrast)}
.auth-label{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  min-height:36px;padding:7px 16px;border-radius:8px;
  font-family:var(--font-heading);font-size:12px;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;
  transition:background-color .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out,color .15s ease-out;
}
.auth-label--primary{
  background-image:linear-gradient(180deg,#4fce5b,#2e9e3c);
  color:#f4ffe9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 0 14px rgba(53,179,63,.25);
}
.auth-label--dark{background-color:var(--surface-dark);color:#dde6da}

/* ------------------------------------------------------------------ brand */
/* never clip the brand: it may wrap on two lines on narrow screens */
.brand{
  display:inline-flex;align-items:center;gap:8px;
  flex:0 1 auto;min-width:0;max-width:100%;
  min-height:var(--tap);
  font-family:var(--font-heading);font-size:22px;font-weight:800;
  letter-spacing:-.01em;line-height:1.15;color:var(--color-text);
  white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
  text-shadow:0 0 14px rgba(232,185,74,.22);
}
.brand__word{display:inline-block;min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

/* -------------------------------------------------------------- top bar -- */
.site-header{
  position:sticky;top:0;z-index:70;
  display:flex;align-items:center;gap:12px;
  min-height:var(--header-h);
  padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));
  padding-top:max(8px,env(safe-area-inset-top));
  background-color:var(--color-surface);
  border-bottom:1px solid var(--color-border);
}
.header-brand{display:inline-flex;align-items:center;flex:1 1 auto;min-width:0;font-size:20px;white-space:normal;overflow-wrap:anywhere}
.header-search{
  display:none;
  align-items:center;gap:8px;min-width:0;
  height:34px;padding:0 14px;
  border-radius:var(--radius-pill);
  background-color:var(--color-surface);
  border:1px solid var(--color-border);
  color:var(--color-text-muted);font-size:13px;white-space:nowrap;
  transition:border-color .15s ease-out,color .15s ease-out;
}
.header-search__icon{font-size:15px}
.header-search__label{overflow:hidden;text-overflow:ellipsis}
.header-auth{display:none;flex:0 0 auto;align-items:center;gap:6px}

.menu-toggle{display:none}
.menu-close{display:none}

/* --------------------------------------------------------------- sidebar */
.sidebar{
  position:relative;z-index:101;
  display:flex;flex-direction:column;gap:14px;
  width:100%;
  padding:16px 12px;
  background-color:var(--color-surface);
  background-image:linear-gradient(180deg,#0c1210 0%,#070b0a 100%);
  border-right:1px solid var(--line-soft);
}
.sidebar-brand{display:flex;align-items:center;gap:12px;min-height:auto;padding:10px 6px;min-width:0}
.sidebar-brand .brand{min-width:0}
.sidebar-body{
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;gap:14px;
  padding:4px 6px;
  overflow-y:auto;overscroll-behavior-y:contain;
}
.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding:8px 6px}
.sidebar-auth{display:flex;flex-direction:column;gap:8px}

/* welcome card — gold frame on a dark plaque */
.welcome-pill{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:8px 10px;
  border:1px solid #c8963e;border-radius:8px;
  outline:1px solid rgba(232,185,74,.35);outline-offset:-4px;
  background-color:#0f1512;
  background-image:radial-gradient(120% 100% at 50% 0%,#17231c,#0f1512 78%);
  box-shadow:0 0 0 1px #22190b,0 4px 12px rgba(0,0,0,.45);
  transition:box-shadow .18s ease-out,transform .18s ease-out;
}
.welcome-pill__art{
  display:grid;place-items:center;flex:0 0 auto;
  width:26px;height:26px;border-radius:50%;font-size:14px;
  background-image:radial-gradient(circle at 30% 28%,#f8d883,#a9781f 78%);
  color:#3b240a;box-shadow:0 0 12px rgba(232,184,75,.45),inset 0 0 0 1px rgba(255,240,200,.5);
}
.welcome-pill__copy{display:flex;flex-direction:column;min-width:0}
.welcome-pill__line{
  display:block;font-family:var(--font-heading);
  font-size:10px;font-weight:700;line-height:13px;
  letter-spacing:.08em;text-transform:uppercase;color:#f4e4c2;
}
.welcome-pill__line--alt{color:#e8b94a}

/* nav */
.nav__list{display:flex;flex-direction:column;gap:4px}
.nav-link{
  position:relative;
  display:flex;align-items:center;gap:10px;
  min-height:48px;padding:12px;
  border-radius:10px;
  font-family:var(--font-heading);font-size:16px;font-weight:500;line-height:1.25;
  color:var(--color-text);
  transition:background-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out;
}
.nav-link__icon{width:1em;height:1em;font-size:16px;color:#e8b94a}
/* the label wraps instead of being cut off with an ellipsis */
.nav-link__label{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.nav-link.is-active{
  background-image:linear-gradient(90deg,#2fae4a,#7ed957);
  color:#ffffff;font-weight:700;
  text-shadow:0 1px 2px rgba(0,32,10,.35);
  box-shadow:0 0 14px rgba(70,180,80,.28);
}
.nav-link.is-active .nav-link__icon{color:#ffffff}

/* gold ornament divider */
.nav-divider{position:relative;display:flex;align-items:center;justify-content:center;height:14px}
.nav-divider::before{content:"";position:absolute;left:6px;right:6px;top:50%;border-top:1px solid rgba(232,185,74,.35)}
.nav-divider__diamond{position:relative;width:7px;height:7px;background-color:#c8963e;transform:rotate(45deg)}

/* popular games mini cards */
.sidebar-games{display:flex;flex-direction:column;gap:8px}
.sidebar-games__title{
  margin:0;padding-left:8px;
  font-family:var(--font-heading);font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:#9aa0a6;
}
.mini-list{display:flex;flex-direction:column;gap:6px}
.mini-card{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:48px;padding:8px 10px;
  border:1px solid #242a27;border-radius:8px;
  background-color:#0f1412;
  transition:border-color .15s ease-out,transform .15s ease-out,box-shadow .15s ease-out;
}
.mini-card__text{display:flex;flex-direction:column;gap:1px;min-width:0}
/* long game names wrap onto as many lines as they need — never clipped */
.mini-card__name{
  font-family:var(--font-heading);font-size:12px;font-weight:600;line-height:1.3;
  color:var(--color-text);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
.mini-card__provider{
  font-size:11px;line-height:14px;color:#9aa0a6;
  white-space:normal;overflow-wrap:anywhere;
}
.mini-card__play{
  display:grid;place-items:center;flex:0 0 auto;
  width:18px;height:18px;border-radius:50%;font-size:10px;
  background-color:var(--color-primary);color:#ffffff;
  box-shadow:0 0 8px rgba(90,200,60,.5);
}

/* sidebar tools: language + utility buttons */
.sidebar-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lang{position:relative}
.lang__trigger{
  display:flex;align-items:center;gap:8px;
  min-height:var(--tap);padding:0 10px;
  border:1px solid #242a27;border-radius:var(--radius-sm);
  background-color:#0f1412;color:var(--color-text);
  font-family:var(--font-heading);font-size:13px;font-weight:600;
  transition:border-color .15s ease-out,background-color .15s ease-out;
}
.lang__globe{font-size:16px;color:#e8b94a}
.lang__caret{font-size:14px;color:var(--color-text-muted)}
.lang__menu{
  position:absolute;left:0;bottom:calc(100% + 6px);z-index:30;
  min-width:104px;padding:6px;
  border:1px solid var(--line-strong);border-radius:var(--radius-sm);
  background-color:var(--color-surface);box-shadow:var(--shadow-md);
}
.lang__option{
  display:flex;align-items:center;gap:8px;
  min-height:40px;padding:8px 10px;border-radius:6px;
  font-size:14px;color:var(--color-text-muted);
  transition:background-color .15s ease-out,color .15s ease-out;
}
.lang__option.is-active{background-color:var(--color-surface-2);color:var(--color-text)}

/* ------------------------------------------- drawer state (below 1024px) */
@media(max-width:1023px){
  .menu-toggle{display:grid}
  .menu-close{display:grid;margin-left:auto}
  .sidebar{
    position:fixed;inset:0 auto 0 0;z-index:101;
    width:min(320px,calc(100vw - 40px));height:100dvh;
    visibility:hidden;transform:translateX(-105%);overflow:hidden;
    transition:transform .22s ease-out,visibility 0s linear .22s;
  }
  .menu-open .sidebar{visibility:visible;transform:translateX(0);transition:transform .22s ease-out,visibility 0s}
  .menu-overlay{display:none;position:fixed;inset:0;z-index:100;background-color:rgb(0 9 10 / 76%);touch-action:none}
  .menu-open .menu-overlay{display:block}
}

/* ------------------------------------------------------------ prose ----- */
.prose{max-width:var(--measure);font-size:15px;line-height:1.65;color:var(--color-text)}
.prose h2{font-size:20px;margin:1.6em 0 .6em}
.prose h3{font-size:16px;margin:1.4em 0 .5em}
.prose p{margin:0 0 1em}
.prose ul,.prose ol{margin:0 0 1em;padding-left:1.25em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin:.35em 0}
.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px}
.prose blockquote{
  margin:1.2em 0;padding:14px 16px;
  border:1px solid var(--color-border);border-radius:var(--radius-sm);
  background-color:var(--color-surface);color:var(--color-text-muted);
}
.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.prose table{min-width:480px;font-size:13px;font-variant-numeric:tabular-nums}
.prose th,.prose td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border)}
.prose th{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text)}

/* ------------------------------------------------------- utilities ------ */
.muted{color:var(--color-text-muted)}
.text-center{text-align:center}
.num{font-variant-numeric:tabular-nums}

/* ================================================================ footer */
.site-footer{
  display:block;
  margin-top:24px;
  padding-top:24px;
  padding-bottom:max(24px,env(safe-area-inset-bottom));
  border-top:1px solid var(--rule);
  background-color:var(--color-bg);
}
.footer-content{width:100%;max-width:var(--container);margin-inline:auto;min-width:0}
.footer-rule{display:flex;align-items:center;gap:10px;padding-top:4px}
.footer-rule__diamond{width:8px;height:8px;background-color:#6b716c;transform:rotate(45deg)}
.footer-rule__line{width:104px;border-top:1px solid #2c3230}

/* payments row — two centred rows of wordmarks on the reference */
.payment-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;margin-top:26px;max-width:100%}
.payment-logos li{
  font-family:var(--font-heading);font-size:14px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:#8b918c;
  overflow-wrap:anywhere;
  transition:color .15s ease-out,opacity .15s ease-out;
}
.provider-logos{
  margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px 26px;max-width:100%;
}
.provider-logos a{
  font-family:var(--font-heading);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:#6e7570;opacity:.55;
  overflow-wrap:anywhere;
  transition:color .15s ease-out,opacity .15s ease-out;
}

.footer-details{display:grid;gap:28px;margin-top:32px}
.footer-about{display:flex;flex-direction:column;gap:14px;min-width:0}
.footer-about .brand{font-size:22px}
.footer-text{font-size:15px;line-height:1.7;color:var(--color-text-muted);max-width:62ch;margin:0}
.footer-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;min-width:0}
.footer-group{min-width:0}
.footer-heading{
  margin:0 0 12px;
  font-family:var(--font-heading);font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:#9aa0a6;
}
.footer-group ul{display:flex;flex-direction:column}
.footer-link{
  display:block;padding-block:5px;
  font-size:13px;line-height:1.5;color:#c9cfcb;
  overflow-wrap:anywhere;
  transition:color .15s ease-out;
}
.footer-bottom{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  margin-top:24px;padding-top:20px;
  border-top:1px solid var(--rule);
  font-size:12px;line-height:1.5;color:var(--color-text-muted);
}
.footer-age{display:inline-flex;align-items:center;gap:8px}
.age-badge{
  display:inline-grid;place-items:center;
  width:20px;height:20px;border:1px solid currentColor;border-radius:50%;
  font-size:9px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;
}

/* ====================================================== media: 480+ ----- */
@media(min-width:480px){
  .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ====================================================== media: 700+ ----- */
@media(min-width:700px){
  .page-main,.site-footer{padding-inline:24px}
  .header-search{display:flex;flex:0 1 320px;margin-right:auto}
  .header-auth{margin-left:0}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between}
}

/* ====================================================== media: 1024+ ---- */
@media(min-width:1024px){
  body{font-size:14px}

  .sidebar{
    position:fixed;inset:0 auto 0 0;z-index:101;
    width:var(--sidebar-w);height:100dvh;
    overflow:hidden;visibility:visible;transform:none;transition:none;
  }
  .sidebar-brand{min-height:auto;padding:8px 6px}
  .sidebar .brand{font-size:20px}
  .sidebar-body{padding:6px;gap:12px}
  .sidebar-bottom{padding:10px 6px}
  .sidebar-auth{display:none}
  .nav-link{min-height:36px;height:auto;padding:8px 10px;gap:10px;font-size:13px;border-radius:8px}
  .nav-link__icon{font-size:16px}
  .sidebar-games__title{font-size:11px;padding-left:6px}
  .welcome-pill{padding:6px 8px}
  .welcome-pill__line{font-size:9px;line-height:12px}
  .welcome-pill__art{width:24px;height:24px;font-size:13px}
  .lang__trigger{min-height:32px}
  .lang__option{min-height:34px;font-size:13px}
  .icon-button--round{width:30px;height:30px;font-size:15px}
  .mini-card{min-height:44px;padding:7px 9px}
  .mini-card__name{font-size:12px;line-height:1.3}
  .mini-card__provider{font-size:11px;line-height:14px;color:#9aa0a6}

  .menu-toggle,.menu-close,.header-brand{display:none}
  .menu-overlay,.menu-open .menu-overlay{display:none}

  .page-main,.site-footer{margin-left:var(--sidebar-w)}
  .page-main{padding-top:24px}

  .site-header{
    position:absolute;left:var(--sidebar-w);right:0;top:0;
    height:var(--header-h);min-height:var(--header-h);
    padding:10px 24px;
    background-color:rgb(10 14 13 / .88);
    border-bottom:0;
  }
  .header-search{display:flex;margin-right:auto}
  .header-auth{display:flex}
  .is-home .site-header{display:none}

  .footer-details{grid-template-columns:minmax(200px,1fr) minmax(0,1.5fr)}
  .footer-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .footer-text{font-size:13px}
  .footer-heading{font-size:12px}
  .footer-link{font-size:13px;padding-block:5px}
  .footer-bottom{font-size:12px}
}

/* home keeps only the mobile bar (burger + brand) — no search, no auth */
.is-home .header-search,
.is-home .header-auth{display:none}

/* ====================================================== media: 1600+ ---- */
@media(min-width:1600px){
  .container{max-width:1040px}
  .footer-content{max-width:1040px}
  .footer-text{font-size:13px}
}

/* ====================================================== media: 359px ---- */
@media(max-width:359px){
  .site-header{gap:8px}
  .brand{font-size:19px}
  .auth-label{padding-inline:10px}
}

/* ====================================================== hover states --- */
@media(hover:hover){
  .btn--primary:hover{background-image:linear-gradient(180deg,#4fd65c,#35b33f)}
  .btn--ghost:hover{background-color:#1b211e}
  .btn--accent:hover{background-image:linear-gradient(180deg,#f2c85e,#b98a2c)}
  .view-all:hover,.icon-button:hover{background-color:#1d2422}
  .icon-button--accent:hover{background-color:#4fd65c}
  .auth-label--primary:hover{background-image:linear-gradient(180deg,#63dc6d,#35b33f)}
  .auth-label--dark:hover{background-color:#1d2422}
  .nav-link:hover{background-color:var(--color-surface-2)}
  .menu-toggle:hover,.menu-close:hover{background-color:#1d2422}
  .header-search:hover{border-color:#e8b94a;color:var(--color-text);background-color:var(--color-surface)}
  .welcome-pill:hover{box-shadow:0 0 0 1px #22190b,0 0 20px rgba(232,184,75,.32);transform:scale(1.02)}
  .mini-card:hover{border-color:#c8963e;transform:translateY(-2px);box-shadow:0 0 12px rgba(232,184,75,.18)}
  .mini-card:hover .mini-card__play{box-shadow:0 0 12px rgba(110,220,80,.8)}
  .lang__trigger:hover{border-color:#2a302d;background-color:#141a18}
  .lang__option:hover{color:var(--color-text)}
  .footer-link:hover{color:#ffffff}
  .payment-logos li:hover{color:#c9cfcb}
  .provider-logos a:hover{color:#c9cfcb;opacity:.95}
}

/* ====================================================== reduced motion - */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
/* ==========================================================================
   Rivo — home blocks
   hero (dark scene + parchment ticket) · feature band · game rows / carousel
   · collections · catalog grid · provider chips · pager
   Palette and fonts come from tokens (--color-*, --font-*); the gold
   ornaments, gradients and ornate card frames are drawn here in CSS.
   ========================================================================== */

:root{
  --gutter:16px;
  --gold:#c8963e;
  --gold-bright:#e8b94a;
  --gold-deep:#7a5a22;
  --gold-frame:#8a6a2a;
  --gold-inner:#e8b94a;
  --card-mat:#0f1310;
  --row-gap:12px;
  /* one gold "nail" used for the four corners of every ornate frame */
  --corner-dot:radial-gradient(circle,var(--gold-inner) 42%,rgb(0 0 0 / 0) 46%);
}
@media (min-width:700px){:root{--gutter:24px}}

/* ==================================================================== hero */
.hero{
  position:relative;isolation:isolate;overflow:clip;max-width:100%;
  background-color:#0a0e0d;
}
/* dark key-art scene behind the whole block (motion zone may replace it) */
.hero__backdrop{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  background-color:#0a0e0d;
  background-image:
    radial-gradient(120% 82% at 50% 6%,rgb(46 40 22 / .85),rgb(10 14 13 / 0) 62%),
    radial-gradient(90% 60% at 80% 0%,rgb(232 185 74 / .16),rgb(0 0 0 / 0) 66%),
    linear-gradient(180deg,#141008 0%,#241c0d 44%,#12100b 78%,#0a0e0d 100%);
}
.hero__scene{
  width:100%;height:100%;object-fit:cover;object-position:center 22%;
  filter:brightness(.9) saturate(.96);
}
.hero__veil{
  position:absolute;inset:0;
  background-image:
    radial-gradient(120% 90% at 50% 46%,rgb(0 0 0 / 0) 34%,rgb(6 10 8 / .62) 80%,rgb(6 10 8 / .88) 100%),
    linear-gradient(180deg,rgb(6 10 8 / .5) 0%,rgb(6 10 8 / .12) 32%,rgb(8 10 8 / .74) 84%,var(--color-bg) 100%);
}
.hero__inner{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;
  padding-top:clamp(190px,50vw,250px);
  padding-bottom:20px;
}
.hero__offer{
  position:relative;display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:min(384px,100%);margin-inline:auto;text-align:center;
}
/* torn-paper ticket behind the offer copy */
.hero__parchment{
  position:absolute;top:-26px;left:50%;translate:-50% 0;z-index:0;
  width:min(366px,106%);height:auto;pointer-events:none;
  filter:drop-shadow(0 16px 26px rgb(0 0 0 / .55));
}
.hero__eyebrow{
  position:relative;z-index:1;display:block;margin:0 0 2px;
  font-family:var(--font-heading);font-size:11px;font-weight:700;line-height:14px;
  letter-spacing:.2em;text-transform:uppercase;text-align:center;color:#7a5a22;
}
.hero__mark{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:center;margin-top:0}
.hero__percent{
  font-family:var(--font-display,var(--font-heading));
  font-size:clamp(84px,23vw,132px);font-weight:900;line-height:.86;letter-spacing:-.03em;
  background-image:linear-gradient(180deg,#fff2c4 0%,#f3cd6d 42%,#dfa22c 74%,#b97b18 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:2px #4a2f08;
  filter:drop-shadow(0 4px 0 #6e4711) drop-shadow(0 12px 20px rgb(0 0 0 / .6));
}
/* red "25% Cashback" stamp, tilted over the top-right of the 100% */
.hero__cashback{
  position:absolute;right:-10px;top:-8px;z-index:2;
  width:76px;padding:5px 6px;border-radius:4px;text-align:center;
  font-family:var(--font-heading);font-size:10px;font-weight:800;line-height:1.15;
  letter-spacing:.04em;text-transform:uppercase;white-space:normal;color:#fff3d8;
  background-image:linear-gradient(180deg,#c9382c,#7d1a14);
  box-shadow:0 2px 8px rgb(0 0 0 / .6),inset 0 1px 0 rgb(255 255 255 / .25);
  transform:rotate(-8deg);
}
.hero__claim{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin-top:2px}
.hero__claim-top{
  font-family:var(--font-heading);font-size:11px;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:#a8832f;
  text-shadow:0 1px 0 rgb(255 244 214 / .4);
}
.hero__claim-amount{
  font-family:var(--font-display,var(--font-heading));
  font-size:clamp(40px,11vw,54px);font-weight:800;line-height:1.04;
  color:#f6ead0;
  text-shadow:0 2px 0 #4a2c10,0 4px 0 #2d1a08,0 12px 20px rgb(0 0 0 / .6);
}
.hero__lead{
  position:relative;z-index:2;margin:16px 0 0;max-width:32ch;
  font-size:12px;line-height:1.5;text-align:center;color:#dfd8c6;
  text-shadow:0 1px 3px rgb(0 0 0 / .9);
}
/* green CTA with a thin gold frame and clipped side wedges */
.hero__cta{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:min(300px,100%);min-height:48px;margin-top:16px;padding:12px 28px;
  border:1px solid #e8b94a;border-radius:6px;
  background-image:linear-gradient(180deg,#3dc24a 0%,#2e9e3c 100%);
  color:#f6ffe9;text-align:center;
  box-shadow:0 0 14px rgb(232 185 74 / .35),inset 0 1px 0 rgb(255 255 255 / .3);
  animation:hero-cta-pulse 3.4s ease-in-out infinite;
  transition:transform .15s ease-out,box-shadow .15s ease-out,background-image .15s ease-out;
}
.hero__cta::before,.hero__cta::after{
  content:"";position:absolute;top:50%;width:18px;height:32px;translate:0 -50%;
  background-image:linear-gradient(180deg,#f0cc63,#a9781f);
  filter:drop-shadow(0 0 6px rgb(232 184 75 / .45));
}
.hero__cta::before{left:-15px;clip-path:polygon(0 50%,56% 0,100% 0,100% 100%,56% 100%)}
.hero__cta::after{right:-15px;clip-path:polygon(100% 50%,44% 0,0 0,0 100%,44% 100%)}
.hero__cta-bolt{font-size:16px;color:#f8f4e2;filter:drop-shadow(0 1px 0 #002006)}
.hero__cta-text{
  font-family:var(--font-heading);font-size:14px;font-weight:800;line-height:1.1;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#f6ffe9;
}
.hero__terms{
  position:relative;z-index:2;margin:14px 0 0;max-width:320px;
  font-size:12px;line-height:1.5;text-align:center;color:#9aa0a6;
}
@keyframes hero-cta-pulse{
  0%,100%{box-shadow:0 0 14px rgb(232 185 74 / .3),inset 0 1px 0 rgb(255 255 255 / .3)}
  50%{box-shadow:0 0 26px rgb(232 185 74 / .55),inset 0 1px 0 rgb(255 255 255 / .4)}
}

/* ============================================================ feature band */
.feature-band{padding-block:18px}
.feature-band__list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.feature-band__item{min-width:0}
.feature-card{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:92px;padding:12px 14px;border-radius:10px;overflow:hidden;
  background-color:#0f1310;
  background-image:linear-gradient(150deg,#16241a,#0c1310 78%);
  border:2px solid var(--gold-frame);
  outline:1px solid var(--gold-inner);outline-offset:-5px;
  box-shadow:0 0 0 1px #2a1f0c;
  transition:border-color .18s ease-out,box-shadow .18s ease-out;
}
.feature-card::before{
  content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;
  background-image:radial-gradient(circle farthest-corner at 100% 100%,#3f8b4a 40%,rgb(8 17 12 / 0) 64%);
}
.feature-card::after{
  content:"";position:absolute;inset:5px;border-radius:6px;pointer-events:none;
  background-image:var(--corner-dot),var(--corner-dot),var(--corner-dot),var(--corner-dot);
  background-size:5px 5px;background-repeat:no-repeat;
  background-position:0 0,100% 0,0 100%,100% 100%;
}
.feature-card__text{
  position:relative;z-index:1;max-width:calc(100% - 80px);margin:0;
  font-family:var(--font-heading);font-size:15px;font-weight:500;line-height:1.35;
  color:#ffffff;
}
.feature-card__art{
  position:relative;z-index:1;flex:0 0 auto;width:68px;height:68px;
  object-fit:contain;
  filter:drop-shadow(0 8px 12px rgb(0 0 0 / .5));
  animation:feature-float 3.4s ease-in-out infinite alternate;
}
@keyframes feature-float{from{transform:translateY(-3px)}to{transform:translateY(3px)}}

/* ========================================================== sections head */
.section{margin-top:24px;min-width:0}
.section:first-child{margin-top:0}
.games-row,
.games-grid,
.collections,
.carousel{position:relative;min-width:0}
.section__head{
  position:relative;display:flex;align-items:center;justify-content:space-between;
  gap:10px;min-height:44px;margin:0 0 12px;min-width:0;
}
.section__title-group{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}
.section__icon{font-size:20px;color:var(--color-accent)}
.section__icon[data-icon="fire"]{color:#f2722b}
.section__icon[data-icon="ticket"]{color:#e5484d}
.section__icon[data-icon="slots"]{color:#7ee787}
/* titles wrap instead of being cut with an ellipsis */
.section__title{
  margin:0;min-width:0;flex:1 1 auto;
  font-family:var(--font-heading);font-size:clamp(18px,4.6vw,20px);font-weight:800;line-height:1.25;
  color:#ffffff;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
.section__lead{margin:0;font-size:15px;line-height:1.5;max-width:var(--measure,68ch)}
.carousel__controls{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}
.carousel__arrow,
.rail__btn,
.nav-btn{
  display:grid;place-items:center;flex:0 0 auto;
  width:38px;height:38px;border-radius:10px;font-size:16px;
  background-color:#141a18;border:1px solid #2a302d;color:var(--color-text);
  transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out;
}
.carousel__arrow:disabled,.carousel__arrow.is-disabled,
.rail__btn.is-disabled,.nav-btn.is-disabled{opacity:.35;pointer-events:none}

/* =============================================================== tracks -- */
.carousel__track,.rail__track{
  display:flex;align-items:stretch;gap:var(--row-gap);
  width:auto;max-width:100%;margin:0;
  padding:4px 2px 14px;list-style:none;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding:2px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.carousel__track::-webkit-scrollbar,.rail__track::-webkit-scrollbar{display:none}
.carousel__item,.rail__item{flex:0 0 auto;flex-shrink:0;scroll-snap-align:start;min-width:0}

/* games rows: 2 cards per view on phones, 3 → 4 → 6 on wider screens */
.games-row .carousel__item,
.games-row .rail__item,
.games-row .vov-game{flex:0 0 calc((100% - var(--row-gap)) / 2);min-width:0}
@media (min-width:480px){
  .games-row .carousel__item,
  .games-row .rail__item{flex-basis:calc((100% - var(--row-gap) * 2) / 3)}}
@media (min-width:700px){
  .games-row .carousel__item,
  .games-row .rail__item{flex-basis:calc((100% - var(--row-gap) * 3) / 4)}}
@media (min-width:1024px){
  .games-row .carousel__item,
  .games-row .rail__item{flex-basis:calc((100% - var(--row-gap) * 5) / 6)}}

/* ========================================================== game card --- */
.vov-game{min-width:0}
/* double bronze/gold frame with corner rivets, near-black mat inside */
.vov-game__media,
.game-card{
  position:relative;display:block;
  aspect-ratio:3/4;border-radius:10px;
  background-color:#0f1310;
  border:3px solid var(--gold-frame);
  box-shadow:inset 0 0 0 1px var(--gold-inner),0 0 0 1px #2a1f0c,inset 0 0 30px rgb(0 0 0 / .6);
  transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;
}
.vov-game__media::after,
.game-card::after{
  content:"";position:absolute;inset:2px;z-index:3;border-radius:7px;pointer-events:none;
  background-image:var(--corner-dot),var(--corner-dot),var(--corner-dot),var(--corner-dot);
  background-size:5px 5px;background-repeat:no-repeat;
  background-position:5px 5px,calc(100% - 5px) 5px,5px calc(100% - 5px),calc(100% - 5px) calc(100% - 5px);
}
.game-card__cover{
  position:absolute;inset:2px;z-index:1;
  border-radius:7px;overflow:hidden;background-color:#050706;
}
.game-card__img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease-out}
.game-card__caption{
  position:absolute;inset:2px;bottom:2px;z-index:4;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;
  padding:26px 8px 12px;border-radius:0 0 7px 7px;text-align:center;
  background-image:linear-gradient(180deg,rgb(4 6 5 / 0),rgb(4 6 5 / .93));
  pointer-events:none;
}
/* game names wrap onto as many lines as they need — never truncated */
.vov-game__name,
.game-card__name{
  display:block;width:100%;
  font-family:var(--font-heading);font-size:12px;font-weight:600;line-height:1.25;color:#ffffff;
  white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;
}
.vov-game__meta,
.game-card__meta{font-size:11px;line-height:14px;color:#9aa0a6;overflow-wrap:anywhere}

/* ========================================================== collections - */
.collections__track{padding-bottom:16px}
.collections .collection{flex:0 0 min(78%,300px);min-width:0}
@media (min-width:700px){
  .collections .collection{flex-basis:calc((100% - var(--row-gap) * 2) / 3)}}
.collection{min-width:0}
/* teal → violet plate, POPULAR pill top-left, mascot in the middle */
.collection__card{
  position:relative;display:block;aspect-ratio:300/185;border-radius:12px;overflow:hidden;
  background-color:#123028;
  background-image:linear-gradient(160deg,#2e6b5a 0%,#3b5570 54%,#4b3f7a 100%);
  border:1px solid rgb(255 255 255 / .1);
  box-shadow:inset 0 0 60px rgb(0 0 0 / .35);
  transition:transform .2s ease-out,box-shadow .2s ease-out,filter .2s ease-out,border-color .2s ease-out;
}
.collection__card::before{
  content:"";position:absolute;left:50%;top:47%;translate:-50% -50%;
  width:72%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background-image:radial-gradient(circle,rgb(255 255 255 / .12),rgb(255 255 255 / 0) 70%);
}
.collection__badge{
  position:absolute;top:12px;left:12px;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:74px;height:22px;padding:0;border-radius:11px;
  background-color:rgb(6 24 16 / .5);border:1px solid #7ee787;color:#c7f9cd;
  font-family:var(--font-heading);font-size:10px;font-weight:700;line-height:1;
  letter-spacing:.06em;text-transform:uppercase;
}
.collection__mascot{
  position:absolute;left:50%;top:44%;translate:-50% -50%;z-index:1;
  width:64px;height:64px;max-width:none;object-fit:contain;
  filter:drop-shadow(0 10px 18px rgb(0 0 0 / .45));
}
.collection__thumbs{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:6px}
.collection__thumb{
  display:block;width:34px;height:28px;border-radius:6px;overflow:hidden;
  background-color:#15181a;opacity:.95;
}
.collection__thumb img{width:100%;height:100%;object-fit:cover}
.collection__chip{
  display:inline-grid;place-items:center;min-width:46px;height:22px;padding:0 8px;border-radius:6px;
  background-color:#2a2e30;color:#d5dbd7;
  font-family:var(--font-heading);font-size:12px;font-weight:700;line-height:1;
  font-variant-numeric:tabular-nums;
}
.collection__title{
  margin:12px 0 0;font-family:var(--font-heading);font-size:14px;font-weight:600;
  line-height:1.3;text-align:center;color:#ffffff;overflow-wrap:anywhere;
}
.collection__text{
  margin:4px 0 0;font-size:12px;line-height:1.4;text-align:center;color:#9aa0a6;
  overflow-wrap:anywhere;
}

/* ========================================================= catalog grid - */
.vov-games{
  display:flex;flex-wrap:nowrap;gap:var(--row-gap);
  margin:0;padding:0;list-style:none;min-width:0;
}
.vov-games--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--row-gap)}
@media (min-width:480px){.vov-games--grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:700px){.vov-games--grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1024px){.vov-games--grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
.vov-games--grid .vov-game{width:100%;min-width:0}

/* ------------------------------------------------- provider chips strip - */
.vov-chips{
  margin:0 0 16px;max-width:100%;min-width:0;width:auto;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding-inline:2px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.vov-chips::-webkit-scrollbar{display:none}
.vov-chips__list{display:flex;align-items:center;gap:8px;min-width:max-content;margin:0;padding:0;list-style:none}
.vov-chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:150px;min-height:44px;padding:0 18px;
  border-radius:8px;border:1px solid #242a27;
  background-color:#0f1412;color:var(--color-text-muted);
  font-family:var(--font-heading);font-size:13px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  scroll-snap-align:start;
  transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out;
}
/* controls generated by script.core.js for chip strips without own arrows */
.vov-chips-bar{display:flex;justify-content:flex-end;gap:6px;margin:0 0 8px}
.vov-chips-arrow{
  display:grid;place-items:center;flex:0 0 auto;
  width:34px;height:34px;border-radius:9px;
  background-color:#141a18;border:1px solid #2a302d;color:var(--color-text);
  transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out;
}
.vov-chips-arrow.is-disabled{opacity:.35;pointer-events:none}

/* -------------------------------------------------------------- pager --- */
.vov-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:22px}
.vov-pager a,.vov-pager button,.vov-pager span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;min-height:40px;padding:0 10px;border-radius:8px;
  border:1px solid #242a27;background-color:#0f1412;
  color:var(--color-text-muted);font-size:15px;font-variant-numeric:tabular-nums;
  transition:border-color .15s ease-out,color .15s ease-out,background-color .15s ease-out;
}
.vov-pager .is-current{background-color:#181e1c;border-color:var(--gold-bright);color:var(--color-text)}

/* ========================================================== breakpoints - */
@media (min-width:480px){
  .feature-band__list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:700px){
  .hero__inner{padding-top:clamp(230px,34vw,320px);padding-bottom:28px}
  .hero__scene{object-position:center 26%}
  .feature-card{min-height:88px;padding:12px}
  .feature-card__text{max-width:calc(100% - 66px);font-size:14px}
  .feature-card__art{width:56px;height:56px}}
@media (min-width:1024px){
  /* offer stays centred over the key art */
  .hero__inner{
    align-items:center;justify-content:center;
    min-height:560px;padding-top:clamp(280px,28vw,380px);padding-bottom:32px;
  }
  .hero__offer{max-width:384px;margin-inline:auto}
  .hero__scene{object-position:center 26%}
  .view-all{min-height:36px;font-size:12px}
  .carousel__arrow,.rail__btn,.nav-btn{width:32px;height:32px;border-radius:8px;font-size:15px}}
@media (min-width:1600px){
  .feature-card__text{font-size:14px;line-height:20px;max-width:calc(100% - 86px)}
  .feature-card__art{width:80px;height:80px}}
@media (max-width:480px){
  .section{margin-top:24px}
  .hero__inner{padding-top:clamp(180px,48vw,230px)}
  .hero__lead{font-size:12px}}
@media (max-width:359px){
  .section__title{font-size:18px}
  .view-all{padding-inline:10px}
  .hero__cta{padding-inline:22px}
  .hero__cta-text{font-size:12px}}

/* ================================================================ hover -- */
@media (hover:hover){
  .hero__cta:hover{
    background-image:linear-gradient(180deg,#4fd65c,#35b33f);
    box-shadow:0 0 30px rgb(232 185 74 / .6),inset 0 1px 0 rgb(255 255 255 / .4);
    transform:translateY(-1px) scale(1.02);
  }
  .hero__cta:active{transform:translateY(1px) scale(1)}
  .feature-card:hover{border-color:var(--gold-inner);box-shadow:0 0 18px rgb(232 185 74 / .25)}
  .feature-card:hover .feature-card__art{filter:drop-shadow(0 10px 16px rgb(0 0 0 / .55))}
  .game-card:hover,
  .vov-game__media:hover{
    transform:translateY(-4px);
    border-color:var(--gold-inner);
    box-shadow:inset 0 0 0 1px var(--gold-bright),0 0 0 1px var(--gold-bright),0 12px 24px rgb(0 0 0 / .55),0 0 20px rgb(232 185 74 / .3);
  }
  .game-card:hover .game-card__img,
  .vov-game__media:hover .game-card__img{transform:scale(1.06)}
  .collection__card:hover{
    transform:translateY(-4px);
    filter:brightness(1.08);
    border-color:rgb(232 185 74 / .5);
    box-shadow:0 14px 26px rgb(0 0 0 / .5),0 0 22px rgb(232 185 74 / .22);
  }
  .collection__card:hover .collection__thumb{opacity:1}
  .carousel__arrow:hover:not(:disabled),
  .rail__btn:hover:not(:disabled),
  .nav-btn:hover:not(:disabled),
  .vov-chips-arrow:hover:not(:disabled){background-color:#1d2422;border-color:var(--gold-bright);color:#fff}
  .vov-chip:hover{border-color:var(--gold-bright);color:var(--color-text)}
  .vov-pager a:hover,.vov-pager button:hover{border-color:var(--gold-bright);color:var(--color-text)}
}

/* ======================================================= reduced motion - */
@media (prefers-reduced-motion:reduce){
  .hero__cta{animation:none}
  .feature-card__art{animation:none}
  .hero__cta,.feature-card,.game-card,.vov-game__media,.game-card__img,
  .collection__card{transition:none}
}
/* ==========================================================================
   Rivo — inner-page content blocks
   page header · prose panels · features · steps · FAQ · CTA · contacts ·
   legal text · posts / related · key takeaways · game hero
   Gold hairlines, rivets, diamond markers and chevrons are drawn in CSS.
   Palette / fonts / radii come from tokens (--color-*, --font-*, --radius-*).
   ========================================================================== */

:root{
  --content-gold:var(--gold,#c8963e);
  --content-gold-deep:var(--gold-deep,#7a5a22);
  --content-gold-bright:var(--gold-bright,#e8b94a);
  --content-mat:var(--card-mat,#0f1310);
  --content-measure:68ch;
}

/* ------------------------------------------------------------ breadcrumbs */
.crumbs{margin-bottom:14px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;line-height:1.6;color:var(--color-text-muted)}
.crumbs li{display:inline-flex;align-items:center;gap:10px;min-width:0}
.crumbs li+li::before{
  content:"";flex:0 0 auto;width:5px;height:5px;
  background-color:var(--content-gold-deep);transform:rotate(45deg);
}
.crumbs a{color:var(--color-text-muted);transition:color .15s ease-out}
.crumbs li:last-child{color:var(--color-text)}
.crumbs li:last-child a{color:var(--color-text)}

/* ------------------------------------------------------------- page head */
.page-header{position:relative;isolation:isolate}
.page-header::before{
  content:"";position:absolute;z-index:-1;left:-8%;right:-8%;top:-70px;height:280px;
  background-image:radial-gradient(60% 100% at 24% 0,rgb(232 185 74 / .1),rgb(0 0 0 / 0) 70%);
  pointer-events:none;
}
.page-header__grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);align-items:center}
.page-header h1{color:#fff;overflow-wrap:anywhere}
.page-header__lead{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--color-text-muted);max-width:60ch}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.page-header__media{
  position:relative;margin:0;overflow:clip;
  border:1px solid var(--content-gold-deep);border-radius:var(--radius-lg,16px);
  background-color:var(--color-surface);
  box-shadow:0 0 0 1px rgb(201 162 74 / .16),0 10px 26px rgb(0 0 0 / .45);
}
.page-header__media img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* ----------------------------------------------------------- panel shells */
.panel{
  position:relative;overflow:clip;
  padding:clamp(18px,3vw,26px);
  border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);
  background-color:var(--color-surface);
  background-image:linear-gradient(160deg,var(--color-surface-2) 0%,rgb(0 0 0 / 0) 68%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .04);
}
.panel::before{
  content:"";position:absolute;left:16px;right:16px;top:0;height:1px;
  background-image:linear-gradient(90deg,rgb(0 0 0 / 0),var(--content-gold),rgb(0 0 0 / 0));
  opacity:.55;
}
.panel>h2{margin-bottom:.7em;font-size:20px;color:#fff}
.panel--prose .prose{max-width:var(--content-measure)}

/* ------------------------------------------------- long-form text, .DETAILS
   The generated SEO / details blocks must never clip or squeeze copy:
   no fixed heights, no hidden overflow, no line clamp, safe wrapping and
   a calm line length — the copy always renders in full. */
.DETAILS,
.DETAILS.panel,
section.DETAILS,
div.DETAILS,
.panel:has(.DETAILS){
  height:auto!important;max-height:none!important;min-height:0!important;
  overflow:visible!important;
  padding:clamp(18px,3vw,26px);
  border-radius:12px;
}
.DETAILS *{
  height:auto!important;max-height:none!important;
  -webkit-line-clamp:unset!important;line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  text-overflow:clip!important;
}
.DETAILS p,.DETAILS li,.DETAILS blockquote,.DETAILS h2,.DETAILS h3,.DETAILS h4,.DETAILS span,.DETAILS div{
  overflow:visible!important;white-space:normal!important;
  overflow-wrap:anywhere;word-break:normal;hyphens:none;line-height:1.6;
}
.DETAILS p{margin:0 0 16px}
.DETAILS p:last-child{margin-bottom:0}
.DETAILS p,.DETAILS li,.DETAILS blockquote,.DETAILS ul,.DETAILS ol{max-width:var(--content-measure)}
.DETAILS .table-wrap{max-width:100%;overflow-x:auto!important}
.DETAILS table{min-width:520px}
.DETAILS img{max-width:100%;height:auto!important}

/* ----------------------------------------------------------------- prose */
.prose>:first-child{margin-top:0}
.prose h2{margin-top:1.5em;font-size:20px;color:#fff}
.prose h3{margin-top:1.35em;font-size:16px;color:#fff}
.prose ul{list-style:none;padding-left:0}
.prose ul>li{position:relative;padding-left:22px}
.prose ul>li::before{
  content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;
  background-color:var(--content-gold);transform:rotate(45deg);
}
.prose ol{list-style:none;counter-reset:rivo-ol;padding-left:0}
.prose ol>li{position:relative;padding-left:30px;counter-increment:rivo-ol}
.prose ol>li::before{
  content:counter(rivo-ol) ".";position:absolute;left:0;top:0;
  font-family:var(--font-heading);font-weight:700;color:var(--content-gold);
  font-variant-numeric:tabular-nums;
}
.prose strong{color:#fff}
.prose p,.prose li{max-width:var(--content-measure)}
.prose .table-wrap{
  margin:1.3em 0;border:1px solid var(--color-border);
  border-radius:var(--radius-sm,6px);overflow:auto;
}
.prose table{min-width:520px;margin:0;font-variant-numeric:tabular-nums}
.prose thead th{background-color:var(--color-surface-2)}
.prose tbody tr:nth-child(even){background-color:rgb(255 255 255 / .025)}
.prose th,.prose td{padding:10px 14px}

/* --------------------------------------------------------------- section */
.section__head--stack{flex-wrap:wrap;align-items:flex-start}
.section__head--stack .section__lead{flex:1 1 100%;margin:2px 0 0}

/* --------------------------------------------- row arrows (inner pages) -- */
/* the same look whether the markup calls them .nav-btn or .carousel__arrow */
.nav-btn{
  display:grid;place-items:center;flex:0 0 auto;
  width:36px;height:36px;border-radius:10px;
  background-color:#141a18;border:1px solid #2a302d;color:var(--color-text);font-size:16px;
  transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out;
}
.nav-btn.is-disabled,.carousel__arrow.is-disabled{opacity:.35;pointer-events:none}

/* -------------------------------------------------------------- features */
.cards{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.card{
  position:relative;display:flex;flex-direction:column;gap:10px;
  padding:20px 16px;border-radius:10px;overflow:clip;
  border:1px solid var(--content-gold);
  background-color:var(--content-mat);
  background-image:linear-gradient(120deg,#131c17,#0c100e 72%);
  box-shadow:inset 0 0 0 1px rgb(232 185 74 / .35),0 0 0 1px #6b4f1e;
  transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out;
}
.card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle farthest-corner at 100% 0,rgb(232 185 74 / .12),rgb(0 0 0 / 0) 62%);
}
.card::after{
  content:"";position:absolute;inset:6px;border-radius:6px;pointer-events:none;
  background-image:
    radial-gradient(circle,var(--content-gold) 42%,rgb(0 0 0 / 0) 46%),
    radial-gradient(circle,var(--content-gold) 42%,rgb(0 0 0 / 0) 46%),
    radial-gradient(circle,var(--content-gold) 42%,rgb(0 0 0 / 0) 46%),
    radial-gradient(circle,var(--content-gold) 42%,rgb(0 0 0 / 0) 46%);
  background-size:5px 5px;background-repeat:no-repeat;
  background-position:0 0,100% 0,0 100%,100% 100%;
}
.card__icon{
  position:relative;z-index:1;display:grid;place-items:center;
  width:44px;height:44px;border-radius:50%;font-size:22px;color:#7ee787;
  background-color:rgb(53 179 63 / .12);
  box-shadow:inset 0 0 0 1px rgb(232 185 74 / .45);
}
.card h3{position:relative;z-index:1;margin:0;font-size:16px;color:#fff}
.card p{position:relative;z-index:1;margin:0;font-size:15px;line-height:1.55;color:var(--color-text-muted);max-width:var(--content-measure)}

/* ----------------------------------------------------------------- steps */
.steps{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);counter-reset:rivo-step}
.steps>li{
  position:relative;counter-increment:rivo-step;
  padding:18px 16px 16px 62px;
  border:1px solid var(--color-border);border-radius:var(--radius-md,10px);
  background-color:var(--color-surface);
  background-image:linear-gradient(160deg,var(--color-surface-2),rgb(0 0 0 / 0) 70%);
  transition:border-color .18s ease-out,box-shadow .18s ease-out;
}
.steps>li::before{
  content:counter(rivo-step,decimal-leading-zero);
  position:absolute;left:16px;top:18px;
  display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  font-family:var(--font-heading);font-size:12px;font-weight:800;line-height:1;
  font-variant-numeric:tabular-nums;
  color:#1a1206;
  background-image:linear-gradient(180deg,#f0cc63,#a9781f);
  box-shadow:0 0 0 1px var(--content-gold-deep),0 0 14px rgb(232 184 75 / .25);
}
.steps li h3{margin:0 0 6px;font-size:16px;color:#fff}
.steps li p{margin:0;font-size:15px;line-height:1.55;color:var(--color-text-muted);max-width:var(--content-measure)}

/* ------------------------------------------------------------------- faq */
.faq{display:grid;gap:10px}
.faq details{
  border:1px solid var(--color-border);border-radius:var(--radius-md,10px);overflow:clip;
  background-color:var(--color-surface);
  transition:border-color .18s ease-out,box-shadow .18s ease-out;
}
.faq details[open]{
  border-color:var(--content-gold-deep);
  box-shadow:0 0 0 1px rgb(201 162 74 / .18),0 10px 22px rgb(0 0 0 / .35);
}
.faq summary{
  position:relative;display:block;min-height:56px;
  padding:16px 52px 16px 16px;
  font-family:var(--font-heading);font-size:15px;font-weight:600;line-height:1.45;
  color:var(--color-text);
  transition:color .15s ease-out;
}
.faq summary::after{
  content:"";position:absolute;right:22px;top:20px;width:8px;height:8px;
  border-right:2px solid var(--content-gold);border-bottom:2px solid var(--content-gold);
  transform:rotate(45deg);
  transition:transform .2s ease-out,border-color .2s ease-out;
}
.faq details[open] summary::after{transform:rotate(-135deg);border-color:var(--content-gold-bright)}
.faq__a{padding:0 16px 18px;font-size:15px;line-height:1.6;color:var(--color-text-muted);max-width:var(--content-measure)}
.faq__a>:first-child{margin-top:0}

/* ------------------------------------------------------------------- cta */
.cta-box{
  position:relative;display:grid;gap:18px;align-items:center;overflow:clip;
  padding:clamp(20px,3.4vw,30px);
  border:1px solid var(--content-gold-deep);border-radius:var(--radius-lg,16px);
  background-color:var(--color-surface);
  background-image:
    radial-gradient(120% 140% at 100% 0,rgb(232 185 74 / .14),rgb(0 0 0 / 0) 58%),
    linear-gradient(120deg,#131c17,#0b100d 72%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .06),0 10px 26px rgb(0 0 0 / .45);
}
.cta-box h2{margin:0 0 8px;font-size:20px;color:#fff}
.cta-box p{margin:0;font-size:15px;line-height:1.6;color:var(--color-text-muted);max-width:52ch}
.cta-box .btn{justify-self:start}

/* -------------------------------------------------------------- contacts */
.contact-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.contact-item{
  position:relative;display:flex;flex-direction:column;gap:6px;
  padding:16px;border-radius:var(--radius-md,10px);
  border:1px solid var(--color-border);background-color:var(--color-surface);
  transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out;
}
.contact-item__icon{
  display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;
  border-radius:50%;font-size:18px;color:#7ee787;
  background-color:rgb(53 179 63 / .12);
  box-shadow:inset 0 0 0 1px rgb(232 185 74 / .4);
}
.contact-item [data-system-text]{
  font-family:var(--font-heading);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);
}
.contact-item a{
  font-family:var(--font-heading);font-size:15px;font-weight:600;
  color:var(--color-text);overflow-wrap:anywhere;
  transition:color .15s ease-out;
}
.contact-item p{margin:0;font-size:15px;line-height:1.55;color:var(--color-text)}

/* --------------------------------------------------------- posts / related */
.vov-posts{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.vov-post{
  position:relative;display:flex;flex-direction:column;gap:8px;
  padding:12px;border-radius:var(--radius-md,10px);overflow:clip;
  border:1px solid var(--color-border);background-color:var(--color-surface);
  transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out;
}
.vov-post__img{
  width:100%;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--radius-sm,6px);background-color:var(--color-surface-2);
}
.vov-post__tag{
  align-self:flex-start;padding:3px 9px;border-radius:999px;
  font-family:var(--font-heading);font-size:10px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  color:#c9cfcb;background-color:rgb(255 255 255 / .06);
  box-shadow:inset 0 0 0 1px rgb(232 185 74 / .35);
}
.vov-post__link{
  font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.35;
  color:var(--color-text);overflow-wrap:anywhere;
  transition:color .15s ease-out;
}
.vov-post__text{margin:0;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.vov-post__date{font-size:13px;line-height:1.5;color:var(--color-text-muted)}
.vov-posts__more{margin:18px 0 0;text-align:center}
.vov-posts__more a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:8px 18px;border-radius:var(--radius-sm,6px);
  border:1px solid #242a27;background-color:#141a18;
  font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--color-text);
  transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;
}

/* ----------------------------------------------------------- key takeaways */
.vov-summary{
  position:relative;overflow:clip;
  padding:clamp(18px,3vw,26px);
  border:1px solid var(--content-gold-deep);border-radius:var(--radius-lg,16px);
  background-color:var(--color-surface);
  background-image:linear-gradient(120deg,#131c17,#0b100d 75%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .05);
}
.vov-summary__title{margin:0;font-size:20px;color:#fff}
.vov-summary ul{display:grid;gap:10px;margin:16px 0 0}
.vov-summary li{position:relative;padding-left:24px;font-size:15px;line-height:1.55;color:var(--color-text);max-width:var(--content-measure)}
.vov-summary li::before{
  content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;
  background-color:var(--content-gold);transform:rotate(45deg);
  box-shadow:0 0 10px rgb(232 184 75 / .45);
}

/* -------------------------------------------------------------- game hero */
.vov-ghero{padding-top:0}
.vov-ghero__grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.vov-player{
  position:relative;overflow:clip;aspect-ratio:16/9;
  border-radius:var(--radius-lg,16px);
  background-color:var(--content-mat);
  box-shadow:inset 0 0 120px rgb(0 0 0 / .6),0 0 0 1px rgb(201 162 74 / .25),0 12px 30px rgb(0 0 0 / .5);
}
.vov-player__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease-out}
.vov-player__veil{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(120% 120% at 50% 50%,rgb(0 0 0 / 0) 38%,rgb(0 9 10 / .62) 100%),
    linear-gradient(180deg,rgb(0 9 10 / .25) 0%,rgb(0 0 0 / 0) 35%,rgb(0 9 10 / .55) 100%);
}
.vov-player__play{
  position:absolute;left:50%;top:50%;translate:-50% -50%;
  display:inline-flex;align-items:center;gap:10px;
  min-height:48px;padding:13px 26px 13px 22px;border-radius:999px;
  font-family:var(--font-heading);font-size:14px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  color:#f6ffe9;
  background-image:linear-gradient(180deg,#3dc24a,#2e9e3c);
  box-shadow:0 0 0 1px var(--content-gold-bright),0 0 26px rgb(110 220 80 / .4),inset 0 1px 0 rgb(255 255 255 / .3);
  transition:transform .18s ease-out,box-shadow .18s ease-out,background-image .18s ease-out;
}
.vov-player__play::before{
  content:"";width:0;height:0;
  border-left:12px solid currentColor;
  border-top:8px solid transparent;border-bottom:8px solid transparent;
}
.vov-ghero__info{display:flex;flex-direction:column;min-width:0}
.vov-ghero h1{margin:0;color:#fff;overflow-wrap:anywhere}
.vov-ghero .page-header__lead{margin-top:6px}
.vov-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-muted)}
.vov-specs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.vov-specs>div{
  position:relative;flex:1 1 auto;min-width:120px;
  padding:10px 14px;border-radius:var(--radius-md,10px);
  border:1px solid var(--color-border);background-color:var(--color-surface);
}
.vov-specs dt{
  font-family:var(--font-heading);font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);
}
.vov-specs dd{
  margin:2px 0 0;font-family:var(--font-heading);font-size:14px;font-weight:600;
  color:var(--color-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}

/* -------------------------------------------------------- media: 600+ --- */
@media(min-width:600px){
  .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* -------------------------------------------------------- media: 700+ --- */
@media(min-width:700px){
  .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cta-box{grid-template-columns:minmax(0,1fr) auto}
  .cta-box .btn{justify-self:end}
  .vov-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ------------------------------------------------------- media: 900+ ---- */
@media(min-width:900px){
  .page-header__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .page-header__media{order:2}
}

/* ------------------------------------------------------- media: 1024+ --- */
@media(min-width:1024px){
  .crumbs ol{font-size:12px}
  .contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .vov-posts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .faq summary{font-size:15px}
}

/* -------------------------------------------------------- hover states -- */
@media(hover:hover){
  .crumbs a:hover{color:var(--color-text)}
  .card:hover{
    border-color:var(--content-gold-bright);
    box-shadow:inset 0 0 0 1px rgb(232 185 74 / .5),0 0 0 1px var(--content-gold-bright),0 14px 28px rgb(0 0 0 / .5);
    transform:translateY(-2px);
  }
  .steps>li:hover{border-color:var(--content-gold-deep);box-shadow:0 10px 22px rgb(0 0 0 / .35)}
  .faq summary:hover{color:#fff}
  .contact-item:hover{
    border-color:var(--content-gold-deep);
    box-shadow:0 10px 22px rgb(0 0 0 / .35);
    transform:translateY(-2px);
  }
  .contact-item a:hover{color:var(--content-gold-bright)}
  .vov-post:hover{
    border-color:var(--content-gold-deep);
    box-shadow:0 12px 26px rgb(0 0 0 / .45);
    transform:translateY(-2px);
  }
  .vov-post__link:hover{color:var(--content-gold-bright)}
  .vov-posts__more a:hover{background-color:#1d2422;border-color:var(--content-gold-bright)}
  .vov-player:hover .vov-player__img{transform:scale(1.03)}
  .vov-player__play:hover{
    transform:scale(1.04);
    background-image:linear-gradient(180deg,#4fd65c,#35b33f);
    box-shadow:0 0 0 1px var(--content-gold-bright),0 0 34px rgb(130 235 95 / .55),inset 0 1px 0 rgb(255 255 255 / .35);
  }
}

/* ------------------------------------------------------ reduced motion -- */
@media(prefers-reduced-motion:reduce){
  .faq summary::after,.card,.steps>li,.contact-item,.vov-post,.vov-player__img,.vov-player__play{transition:none}
  .card:hover,.contact-item:hover,.vov-post:hover{transform:none}
  .vov-player:hover .vov-player__img{transform:none}
}
/* ==========================================================================
   Blog: article grid, related rail, key-takeaways plaque, reading column,
   article meta line, table of contents, reading-progress bar.
   Palette + fonts come from tokens.json — nothing is redefined here.
   ========================================================================== */

/* ------------------------------------------------------------- sections -- */
.vov-blog,
.vov-related,
.vov-summary-sec,
.vov-article,
.vov-toc-sec{
  margin-block-start:26px;
  scroll-margin-top:88px;
}
.vov-blog{margin-block-start:0}

/* ============================================================ post grid == */
.vov-posts{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin:0;
}
@media(min-width:560px){
  .vov-posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(min-width:1024px){
  .vov-posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}

/* ----------------------------------------------------------------- card -- */
.vov-post{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  margin:0;
  padding:12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
  background-image:linear-gradient(160deg,rgb(31 62 54 / 55%),rgb(1 17 20 / 0%) 62%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 4%),0 10px 26px rgb(0 0 0 / 38%);
  transition:transform .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;
}
.vov-post__img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:calc(var(--radius-md) - 2px);
  background-image:linear-gradient(135deg,var(--color-surface-2),var(--color-bg));
  color:transparent;
  font-size:0;
}
.vov-post__tag{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:22px;
  padding:3px 10px;
  border-radius:999px;
  background-color:var(--color-primary);
  color:var(--color-primary-contrast);
  font-family:var(--font-heading);
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 0 10px rgb(76 175 50 / 35%);
}
.vov-post__link{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  color:var(--color-text);
  transition:color .15s ease-out;
}
/* whole card is clickable: the title link stretches over the article card */
.vov-post__link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
}
.vov-post__text{
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:var(--color-text-muted);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.vov-post__date{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:auto;
  font-size:11.5px;
  line-height:1.4;
  color:var(--color-text-muted);
  font-variant-numeric:tabular-nums;
}
.vov-post__date > span + span::before{
  content:"·";
  margin-right:8px;
  color:var(--color-accent);
}

/* lead article — the first card of the blog listing is wider */
@media(min-width:1024px){
  .vov-blog .vov-posts > .vov-post:first-child{grid-column:span 2}
  .vov-blog .vov-posts > .vov-post:first-child .vov-post__img{aspect-ratio:16/7}
  .vov-blog .vov-posts > .vov-post:first-child .vov-post__link{font-size:21px}
  .vov-blog .vov-posts > .vov-post:first-child .vov-post__text{
    font-size:14px;
    -webkit-line-clamp:4;
    line-clamp:4;
  }
}

/* ========================================================== related rail = */
.vov-related .section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin:0 0 12px;
}
.vov-related .section-title-group{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.vov-related .section-title-group [data-icon]{
  font-size:18px;
  color:var(--color-accent);
}
.vov-related .section-title-group h2{
  margin:0;
  font-size:20px;
  font-weight:800;
  line-height:1.3;
}
.vov-related .vov-posts{gap:12px}
@media(max-width:699px){
  .vov-related .vov-posts{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(212px,74%);
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    padding:2px 2px 10px;
    scrollbar-width:thin;
    scrollbar-color:#42675c transparent;
  }
  .vov-related .vov-post{scroll-snap-align:start}}
@media(min-width:700px){
  .vov-related .vov-posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:1024px){
  .vov-related .vov-posts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vov-related .vov-post{padding:10px;gap:8px}
.vov-related .vov-post__link{font-size:15px}
.vov-related .vov-post__text{font-size:12.5px;-webkit-line-clamp:2;line-clamp:2}
.vov-related .vov-post__date{font-size:11px}
.vov-related .vov-post__tag{min-height:20px;padding:2px 9px;font-size:9px}
.vov-posts__more{display:flex;justify-content:center;margin:16px 0 0}

/* ====================================================== key takeaways --- */
.vov-summary{
  position:relative;
  padding:20px 20px 20px 22px;
  border:1px solid var(--color-accent);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
  background-image:linear-gradient(150deg,rgb(30 74 60 / 85%),rgb(3 22 18 / 92%) 62%);
  box-shadow:inset 0 0 0 1px rgb(201 162 74 / 20%),inset 0 1px 0 rgb(255 255 255 / 6%),0 14px 32px rgb(0 0 0 / 48%);
  overflow:hidden;
}
.vov-summary::before,
.vov-summary::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  background-color:var(--color-accent);
  transform:rotate(45deg);
  opacity:.85;
}
.vov-summary::before{top:9px;left:9px}
.vov-summary::after{bottom:9px;right:9px}
.vov-summary__title{
  margin:0 0 14px;
  font-size:18px;
  line-height:1.35;
  color:var(--color-text);
}
.vov-summary ul{display:flex;flex-direction:column;gap:10px}
.vov-summary li{
  position:relative;
  max-width:70ch;
  padding-left:22px;
  font-size:14.5px;
  line-height:1.6;
  color:var(--color-text);
}
.vov-summary li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.55em;
  width:8px;
  height:8px;
  background-image:linear-gradient(135deg,#e0b95b,#a97b26);
  transform:rotate(45deg);
  box-shadow:0 0 8px rgb(201 162 74 / 50%);
}

/* ========================================================= reading column = */
.vov-article__col{
  width:100%;
  max-width:720px;
  margin-inline:auto;
}
.vov-article h2{
  margin:0 0 14px;
  font-size:clamp(22px,4.8vw,26px);
  line-height:1.25;
}
.vov-article .prose{
  max-width:none;
  font-size:17px;
  line-height:1.72;
  color:var(--color-text);
}
.vov-article .prose > *:first-child{margin-top:0}
.vov-article .prose h2{font-size:22px;line-height:1.3;margin:1.8em 0 .6em}
.vov-article .prose h3{font-size:18px;line-height:1.35;margin:1.6em 0 .5em}
.vov-article .prose h4{font-size:16px;margin:1.4em 0 .5em}
.vov-article .prose p,
.vov-article .prose ul,
.vov-article .prose ol,
.vov-article .prose blockquote{margin:0 0 1.15em}
.vov-article .prose li{margin:.4em 0}
.vov-article .prose strong{font-weight:700;color:var(--color-text)}
.vov-article .prose img{
  width:100%;
  height:auto;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
}
.vov-article .prose figure{margin:1.5em 0}
.vov-article .prose figure img{margin:0}
.vov-article .prose figcaption{
  margin-top:10px;
  font-size:13px;
  line-height:1.5;
  color:var(--color-text-muted);
}
.vov-article .prose blockquote{
  border-color:rgb(201 162 74 / 32%);
  background-image:linear-gradient(140deg,rgb(23 59 51 / 85%),rgb(3 20 17 / 90%));
  color:var(--color-text);
  font-style:normal;
}
.vov-article .prose blockquote p:last-child{margin-bottom:0}
.vov-article .prose code{
  padding:2px 6px;
  border:1px solid var(--color-border);
  border-radius:6px;
  background-color:var(--color-surface-2);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9em;
  color:var(--color-accent);
}
.vov-article .prose pre{
  margin:1.3em 0;
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
  overflow-x:auto;
}
.vov-article .prose pre code{padding:0;border:0;background:none;color:var(--color-text)}
.vov-article .prose .table-wrap{
  margin:1.3em 0;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
}
.vov-article .prose .table-wrap table{min-width:520px;margin:0}
.vov-article .prose .table-wrap th,
.vov-article .prose .table-wrap td{padding:11px 14px}
.vov-article .prose hr{margin:1.8em 0;border:0;border-top:1px solid var(--color-border)}

/* ========================================================= article meta = */
.vov-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 0;
  margin:8px 0 0;
  font-size:13px;
  line-height:1.5;
  color:var(--color-text-muted);
  font-variant-numeric:tabular-nums;
}
.vov-meta > * + *::before{
  content:"·";
  margin:0 10px;
  color:var(--color-accent);
}
/* the article page header sits right above the meta line */
h1:has(+ .vov-meta){margin-bottom:6px}

/* ========================================================= empty listing = */
.vov-blog-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin:0;
  padding:44px 20px;
  border:1px dashed var(--color-border);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
  color:var(--color-text-muted);
  font-size:15px;
  line-height:1.6;
  text-align:center;
}
.vov-blog-empty::before{
  content:"";
  width:22px;
  height:22px;
  background-image:linear-gradient(135deg,#e0b95b,#a97b26);
  transform:rotate(45deg);
  opacity:.6;
}

/* ============================================================ contents == */
.vov-toc-sec .vov-toc{
  width:100%;
  max-width:720px;
  margin-inline:auto;
  padding:16px 18px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background-color:var(--color-surface);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 4%),0 10px 26px rgb(0 0 0 / 35%);
}
.vov-toc__title{
  margin:0 0 10px;
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-text);
}
.vov-toc ol{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:ns-toc;
}
.vov-toc ol li{counter-increment:ns-toc;margin:0}
.vov-toc ol li a{
  position:relative;
  display:block;
  padding:9px 12px 9px 34px;
  border-radius:8px;
  font-size:14px;
  line-height:1.45;
  color:var(--color-text-muted);
  transition:background-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out;
}
.vov-toc ol li a::before{
  content:counter(ns-toc) ".";
  position:absolute;
  left:12px;
  top:9px;
  font-family:var(--font-heading);
  font-size:12px;
  color:var(--color-accent);
  font-variant-numeric:tabular-nums;
}
.vov-toc ol li a.is-active{
  background-color:var(--color-surface-2);
  color:var(--color-text);
  font-weight:600;
  box-shadow:inset 2px 0 0 var(--color-accent);
}
.vov-toc ol ol{padding-left:14px;counter-reset:none}
.vov-toc ol ol li a{padding-left:24px}
.vov-toc ol ol li a::before{content:"";left:10px;top:50%;width:5px;height:5px;background-color:var(--color-accent);transform:translateY(-50%) rotate(45deg)}

/* ==================================================== reading progress == */
.vov-progress{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:120;
  height:3px;
  background-color:transparent;
  pointer-events:none;
}
.vov-progress__bar{
  height:100%;
  width:0;
  background-image:linear-gradient(90deg,var(--color-primary),var(--color-accent));
  box-shadow:0 0 12px rgb(201 162 74 / 55%);
  transition:width .12s linear;
}
@media(min-width:1024px){
  .vov-progress{left:var(--sidebar-w)}}

/* =============================================================== hover == */
@media(hover:hover){
  .vov-post:hover{
    transform:translateY(-4px);
    border-color:var(--color-accent);
    box-shadow:inset 0 1px 0 rgb(255 255 255 / 6%),0 0 0 1px rgb(201 162 74 / 35%),0 14px 30px rgb(0 0 0 / 55%),0 0 22px rgb(201 162 74 / 22%);
  }
  .vov-post:hover .vov-post__link{color:var(--color-accent)}
  .vov-toc ol li a:hover{background-color:var(--color-surface-2);color:var(--color-text)}
  .vov-posts__more .view-all:hover{border-color:var(--color-accent);color:var(--color-accent)}
}

/* ====================================================== reduced motion == */
@media(prefers-reduced-motion:reduce){
  .vov-post{transition:none}
  .vov-progress__bar{transition:none}
}

/* ============================================================ small scr = */
@media(max-width:380px){
  .vov-post{padding:10px;gap:8px}
  .vov-post__link{font-size:16px}
  .vov-post__text{font-size:13px}
  .vov-summary{padding:16px}
  .vov-summary__title{font-size:17px}
  .vov-summary li{font-size:14px}
  .vov-article .prose{font-size:16px}
}
/* ==========================================================================
   Rivo — final pass, loaded last.
   Guarantees: nothing is clipped, the page never scrolls sideways, the
   brand name is never cut with an ellipsis and every row arrow stays
   operable and clearly disabled at the ends.
   ========================================================================== */

/* --------------------------------------------------- never scroll sideways */
html,body{max-width:100%;overflow-x:clip}
.hero,.section,.collections,.games-row,.page-main,.container{max-width:100%;min-width:0}
.hero__backdrop{inset-inline:0}
.carousel__track,.vov-chips{width:auto;max-width:100%;box-sizing:border-box}

/* ------------------------------------------------- the brand is never cut */
.brand,
.brand__word,
.header-brand{
  flex:0 0 auto;
  min-width:max-content;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
.header-search{min-width:0}
.header-auth{flex:0 0 auto}
.section__title{min-width:0}

/* ------------------------------------------- long copy is never truncated */
.DETAILS,
.DETAILS>.prose,
.DETAILS [class*="inner"]{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.DETAILS p,
.DETAILS li,
.DETAILS blockquote,
.DETAILS dt,
.DETAILS dd{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  white-space:normal!important;
  text-overflow:clip;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:none;
  line-height:1.6;
}
.DETAILS ul,
.DETAILS ol{height:auto!important;max-height:none!important;overflow:visible!important}

/* --------------------------------------------- row arrows: clear states */
.carousel__arrow,
.nav-btn,
.vov-chips-arrow{flex:0 0 auto;touch-action:manipulation}
.carousel__arrow:disabled,
.carousel__arrow.is-disabled,
.nav-btn:disabled,
.nav-btn.is-disabled,
.vov-chips-arrow:disabled,
.vov-chips-arrow.is-disabled{opacity:.35;pointer-events:none;cursor:default}
:root{--color-bg:#080604;--color-surface:#15100A;--color-surface-2:#211A11;--color-text:#F4EEE3;--color-text-muted:#9A8B74;--color-border:#33291A;--color-primary:#D14A2E;--color-primary-contrast:#ffffff;--color-accent:#D9A94B;--color-accent-contrast:#1C1206;--color-focus:#D14A2E;--font-heading:'Geologica', system-ui, sans-serif;--font-body:'Geologica', system-ui, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:999px;--container:864px;--container-narrow:640px;--shadow-sm:0 2px 8px rgba(0, 0, 0, .35);--shadow-md:0 8px 24px rgba(0, 0, 0, .5);--header-h:64px;--font-display:var(--font-heading)}
html,body{max-width:100%;overflow-x:clip}[dir=rtl] [class*="__glow"]{left:auto;right:-8%}[role=radiogroup]>input[type=radio],[role=group]>input[type=checkbox]{min-width:44px;min-height:44px}