/* AceSpinz "deck" skeleton. Colours from the official CSS tokens. */
:root {
  --ace-ink: #0D0F10;
  --ace-panel: #161A1C;
  --ace-card: #202528;
  --ace-tab: #2F3537;
  --ace-mist: #C4C9CA;
  --ace-snow: #F6FAF9;
  --ace-paper: #FFFFFF;
  --ace-line: #DCE7E5;
  --ace-teal: #18887B;
  --ace-teal-hi: #1CA893;
  --ace-teal-lo: #167C70;
  --ace-sea: #64AFA7;
  --ace-foam: #B7DAD6;
  --ace-red: #CE483B;
  --ace-text: #1B2124;
  --ace-sub: #56615F;
  --ace-logo: linear-gradient(90deg, #5FC3B5 0%, #19A892 55%, #167F72 100%);
  --ace-r-card: 16px;
  --ace-r-pill: 20px;
  --ace-shadow: 0 -4px 10px rgba(0,0,0,.05), 0 14px 20px rgba(0,0,0,.2);
  --ace-gap: 24px;
  --ace-sec: 72px;
  --fs-h1: 40px;
  --fs-h2: 28px;
  --fs-h3: 18px;
  --fs-body: 16px;
  --fs-small: 14px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--ace-snow); color: var(--ace-text);
  font: 400 var(--fs-body)/1.55 "DM Sans", Arial, Helvetica, sans-serif;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--ace-teal); }
h1, h2, h3 { margin: 0; line-height: 1.2; font-weight: 700; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.dk-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1248px) { .dk-wrap { padding: 0; } }
.dk-h1 { font-size: var(--fs-h1); color: var(--ace-snow); text-align: center; }
.dk-h2 { font-size: var(--fs-h2); margin-bottom: 20px; }
.dk-age { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 24px; padding: 0 6px;
  border: 2px solid currentColor; border-radius: 6px; font-size: 12px; font-weight: 800; line-height: 1; }

/* buttons: official pill, solid teal, no gradient */
.dk-btn { display: inline-flex; align-items: center; justify-content: center; background: var(--ace-teal); color: #fff;
  font-weight: 700; font-size: var(--fs-small); text-decoration: none; border-radius: var(--ace-r-pill); padding: 8px 18px;
  transition: background .15s; white-space: nowrap; }
.dk-btn:hover { background: var(--ace-teal-hi); }
.dk-btn:active { background: var(--ace-teal-lo); }
.dk-btn--big { font-size: var(--fs-h3); padding: 14px 40px; border-radius: 30px; min-width: 280px; }
.dk-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 32px; text-align: center; }
.dk-cta__note { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-small); color: var(--ace-sub); }
.dk-cta__note .dk-age { color: var(--ace-red); }

/* header: thin light strip */
.dk-top { position: sticky; top: 0; z-index: 50; background: var(--ace-snow); border-bottom: 1px solid var(--ace-line); }
.dk-top__row { display: flex; align-items: center; gap: 28px; height: 56px; }
.dk-logo { font-size: 26px; font-weight: 800; letter-spacing: -.5px; text-decoration: none;
  background: var(--ace-logo); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
.dk-nav { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.dk-nav a { color: var(--ace-text); text-decoration: none; font-size: var(--fs-small); font-weight: 500; }
.dk-nav a:hover, .dk-nav a[aria-current] { color: var(--ace-teal); }
.dk-nav__cta { display: none; }
.dk-burger { display: none; }

/* hero: dark strip */
.dk-hero { background: var(--ace-ink); color: var(--ace-mist); padding: 36px 0 44px;
  background-image: linear-gradient(90deg, rgba(19,73,66,.4), rgba(13,15,16,.4)); }
.dk-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 520px; align-items: center; gap: 40px; margin-top: 28px; }
.dk-hero__art { margin: 0; }
.dk-hero__art img { width: 520px; height: auto; }
.dk-hero__sum { margin: 24px 0 0; text-align: center; font-size: var(--fs-h2); color: var(--ace-snow); font-weight: 500; }
.dk-hero__sum b { color: var(--ace-sea); font-weight: 800; }
.dk-cta--hero { margin-top: 16px; }
.dk-cta--hero .dk-cta__note { color: var(--ace-mist); }
.dk-cta--hero .dk-age { color: var(--ace-foam); }

/* playing card */
.dk-card { position: relative; background: var(--ace-paper); color: var(--ace-text); border-radius: var(--ace-r-card);
  box-shadow: var(--ace-shadow); border: 1px solid #E6EEEC; }
.dk-card__idx { position: absolute; top: 10px; left: 12px; display: flex; flex-direction: column; align-items: center;
  font-weight: 800; font-size: var(--fs-h3); line-height: 1; color: var(--ace-ink); }
.dk-card__idx i { font-style: normal; color: var(--ace-teal); font-size: var(--fs-small); margin-top: 2px; }
.dk-card__idx--end { top: auto; left: auto; bottom: 10px; right: 12px; transform: rotate(180deg); }
.dk-card__lbl { font-size: var(--fs-small); color: var(--ace-sub); font-weight: 500; }
.dk-card__pct { font-size: var(--fs-h1); font-weight: 800; color: var(--ace-teal); line-height: 1; }
.dk-card__max { font-size: var(--fs-h3); font-weight: 700; }
.dk-card__extra { font-size: var(--fs-small); color: var(--ace-teal-lo); font-weight: 700; }

/* fan of three */
.dk-fan { position: relative; height: 380px; padding-left: 16px; display: flex; justify-content: center; align-items: flex-end; }
.dk-card--fan { width: 214px; height: 330px; padding: 38px 14px 16px; display: flex; flex-direction: column;
  align-items: center; text-align: center; gap: 4px; transform-origin: 50% 100%; }
.dk-card--fan img { width: 184px; height: 92px; object-fit: contain; border-radius: 10px; background: var(--ace-ink); margin-bottom: 10px; }
.dk-card--f1 { transform: rotate(-9deg); z-index: 1; }
.dk-card--f2 { transform: translateY(-14px); z-index: 2; margin: 0 -48px; }
.dk-card--f3 { transform: rotate(9deg); z-index: 1; }

/* body sections */
.dk-sec { padding: var(--ace-sec) 0 0; }
.dk-sec:last-of-type { padding-bottom: var(--ace-sec); }
.dk-sec--first { padding-top: 48px; }
.dk-sec--tint { background: #EAF3F1; padding-bottom: var(--ace-sec); margin-top: var(--ace-sec); }
.dk-band { padding: var(--ace-sec) 0; margin-top: var(--ace-sec); }
.dk-band--dark { background: var(--ace-ink); color: var(--ace-mist); }
.dk-band--dark .dk-h2 { color: var(--ace-snow); }
.dk-sec--tint + .dk-band, .dk-band + .dk-sec--tint { margin-top: 0; }
.dk-band__note { margin: 20px 0 0; font-size: var(--fs-small); color: var(--ace-mist); }

.dk-split { display: grid; grid-template-columns: minmax(0, 820px) 1fr; gap: 40px; align-items: start; }
.dk-split--tight { margin-bottom: 28px; }
.dk-split__side { min-width: 0; }

/* empty prose slot: reserved height, invisible until texts arrive */
.dk-slot { margin: 0; min-height: calc(var(--ln, 4) * 1.55em); max-width: 820px; }
.dk-slot--faq { min-height: calc(var(--ln, 4) * 1.55em); }

/* TOC: collapsed, card-like */
.dk-toc { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); }
.dk-toc summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; padding: 16px 20px;
  font-weight: 700; font-size: var(--fs-body); }
.dk-toc summary::-webkit-details-marker { display: none; }
.dk-toc summary::after { content: "+"; margin-left: 8px; font-size: 22px; line-height: 1; color: var(--ace-teal); }
.dk-toc[open] summary::after { content: "–"; }
.dk-toc__suit { display: inline-flex; width: 30px; height: 30px; border-radius: 8px; background: var(--ace-ink); color: var(--ace-sea);
  align-items: center; justify-content: center; }
.dk-toc__n { margin-left: auto; font-weight: 400; font-size: var(--fs-small); color: var(--ace-sub); }
.dk-toc ol { counter-reset: t; padding: 0 20px 16px; }
.dk-toc li { counter-increment: t; border-top: 1px solid var(--ace-line); }
.dk-toc li a { display: flex; gap: 12px; padding: 10px 0; text-decoration: none; color: var(--ace-text); font-size: var(--fs-small); }
.dk-toc li a::before { content: counter(t); color: var(--ace-teal); font-weight: 700; width: 18px; }

/* legend of suits */
.dk-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; font-size: var(--fs-small); align-self: center; }
.dk-legend li { display: flex; align-items: center; gap: 10px; }
.dk-pip { font-style: normal; display: inline-flex; width: 28px; height: 28px; border-radius: 6px; background: var(--ace-paper);
  align-items: center; justify-content: center; font-size: var(--fs-h3); }
.dk-pip--c, .dk-pip--s { color: var(--ace-ink); }
.dk-pip--d, .dk-pip--h { color: var(--ace-red); }

/* VIP ladder: staircase of cards */
.dk-ladder { display: grid; grid-template-columns: repeat(10, 1fr); gap: 12px; align-items: end; }
.dk-step { position: relative; background: var(--ace-paper); color: var(--ace-text); border-radius: 12px;
  padding: 14px 10px 12px; display: flex; flex-direction: column; gap: 4px; min-height: 170px;
  margin-bottom: calc((9 - var(--i)) * 0px); transform: translateY(calc((9 - var(--i)) * 14px)); }
.dk-ladder { padding-bottom: 6px; margin-bottom: 146px; }
.dk-step__pip { font-size: var(--fs-h2); line-height: 1; }
.dk-step--c .dk-step__pip, .dk-step--s .dk-step__pip { color: var(--ace-ink); }
.dk-step--d .dk-step__pip, .dk-step--h .dk-step__pip { color: var(--ace-red); }
.dk-step--s { background: var(--ace-card); color: var(--ace-snow); border: 2px solid var(--ace-teal); }
.dk-step--s .dk-step__pip { color: var(--ace-sea); }
.dk-step__tier { font-size: var(--fs-small); font-weight: 700; }
.dk-step__lvl { font-size: var(--fs-h3); font-weight: 800; color: var(--ace-teal); margin-top: auto; }
.dk-step--s .dk-step__lvl { color: var(--ace-sea); }
.dk-step__cb, .dk-step__inzet { font-size: 12px; line-height: 1.3; color: var(--ace-sub); }
.dk-step--s .dk-step__cb, .dk-step--s .dk-step__inzet { color: var(--ace-mist); }

/* weekly rows: card-back strip */
.dk-rows { display: flex; flex-direction: column; gap: 14px; }
.dk-row { display: grid; grid-template-columns: 236px 1fr 1.2fr; gap: 28px; align-items: center; background: var(--ace-paper);
  border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); padding: 12px 24px 12px 12px; }
.dk-row__back { padding: 14px; border-radius: 12px; background-color: var(--ace-ink);
  background-image: repeating-linear-gradient(45deg, rgba(100,175,167,.22) 0 2px, transparent 2px 10px),
                    repeating-linear-gradient(-45deg, rgba(100,175,167,.22) 0 2px, transparent 2px 10px);
  box-shadow: inset 0 0 0 3px var(--ace-paper), inset 0 0 0 4px var(--ace-teal); }
.dk-row__back img { width: 100%; aspect-ratio: 2 / 1; border-radius: 6px; }
.dk-row__head { display: flex; flex-direction: column; gap: 4px; }
.dk-row__head h3 { font-size: var(--fs-h3); }
.dk-row__day { align-self: flex-start; font-size: 12px; font-weight: 700; color: var(--ace-teal-lo); background: #E3F1EE;
  border-radius: var(--ace-r-pill); padding: 3px 10px; }
.dk-row__offer { font-size: var(--fs-h2); color: var(--ace-teal); font-weight: 800; line-height: 1.1; }
.dk-row__rules { display: flex; flex-direction: column; gap: 6px; font-size: var(--fs-small); color: var(--ace-sub); }
.dk-row__rules li { padding-left: 20px; position: relative; }
.dk-row__rules li::before { content: "♠"; position: absolute; left: 0; color: var(--ace-teal); }

/* chips */
.dk-chips { display: flex; flex-wrap: wrap; gap: 8px; align-content: flex-start; }
.dk-chips li { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-pill);
  padding: 6px 14px; font-size: var(--fs-small); font-weight: 500; }
.dk-chips--col { flex-direction: column; align-items: flex-start; margin-top: 20px; }

/* game shelf 6x2 in card frames */
.dk-shelf { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.dk-game a { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--ace-text); }
.dk-game__frame { display: block; background: var(--ace-paper); border-radius: 14px; padding: 8px;
  box-shadow: 0 1px 5px 2px rgba(0,0,0,.05); border: 1px solid var(--ace-line); position: relative; transition: transform .15s; }
.dk-game__frame::before, .dk-game__frame::after { content: "♠"; position: absolute; font-size: 12px; color: var(--ace-teal); line-height: 1; }
.dk-game__frame::before { top: 2px; left: 4px; }
.dk-game__frame::after { bottom: 2px; right: 4px; transform: rotate(180deg); }
.dk-game__frame img { border-radius: 10px; width: 100%; aspect-ratio: 290 / 342; }
.dk-game a:hover .dk-game__frame { transform: translateY(-4px); }
.dk-game__name { font-size: var(--fs-small); font-weight: 700; text-align: center; line-height: 1.3; }

/* cashier */
.dk-pay { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; margin-bottom: 28px; }
.dk-pay li { background: var(--ace-card); border-radius: 8px; height: 56px; display: flex; align-items: center; justify-content: center; padding: 0 10px; }
.dk-pay img { height: 28px; width: auto; max-width: 100%; }
.dk-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-body); }
.dk-table caption { text-align: left; font-weight: 700; font-size: var(--fs-small); padding-bottom: 10px; color: var(--ace-sub); }
.dk-table th, .dk-table td { text-align: left; padding: 12px 18px; vertical-align: top; }
.dk-table--kv { background: var(--ace-panel); border-radius: var(--ace-r-card); overflow: hidden; }
.dk-cap { margin: 0 0 10px; font-weight: 700; font-size: var(--fs-small); color: var(--ace-mist); }
.dk-table--kv th { width: 34%; color: var(--ace-snow); font-weight: 500; }
.dk-table--kv td { color: var(--ace-foam); font-weight: 700; }
.dk-table--kv tr + tr th, .dk-table--kv tr + tr td { border-top: 1px solid var(--ace-tab); }
.dk-tablewrap { border-radius: var(--ace-r-card); overflow: hidden; border: 1px solid var(--ace-line); background: var(--ace-paper); }
.dk-table--grid caption { padding: 14px 18px 0; }
.dk-table--grid { table-layout: fixed; }
.dk-table--grid thead th { background: var(--ace-ink); color: var(--ace-snow); font-size: var(--fs-small); }
.dk-table--grid thead th:first-child { width: 22%; }
.dk-table--grid tbody th { font-weight: 700; }
.dk-table--grid tbody tr:nth-child(even) { background: #F1F7F6; }
.dk-th-pip { display: inline-block; background: var(--ace-paper); color: var(--ace-ink); border-radius: 5px; padding: 1px 6px; margin-right: 8px; font-weight: 800; }

.dk-facts { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 20px; }
.dk-fact { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.dk-fact span { font-size: 12px; color: var(--ace-sub); }
.dk-fact b { font-size: var(--fs-small); }

/* Drops & Wins band */
.dk-dw__grid { display: grid; grid-template-columns: 480px 1fr; gap: 48px; align-items: center; }
.dk-dw__art { margin: 0; }
.dk-dw__art img { width: 480px; border-radius: var(--ace-r-card); }
.dk-dw__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.dk-dw__stats li { background: var(--ace-card); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.dk-dw__stats b { color: var(--ace-sea); font-size: var(--fs-h3); }
.dk-dw__stats span { font-size: var(--fs-small); }

/* cashback scale */
.dk-scalewrap { display: grid; grid-template-columns: minmax(0, 1fr) 600px; gap: 48px; align-items: start; }
.dk-scale { display: flex; flex-direction: column; gap: 8px; }
.dk-scale__row { display: grid; grid-template-columns: 110px 1fr 48px; gap: 14px; align-items: center; font-size: var(--fs-small); }
.dk-scale__tier { font-weight: 700; }
.dk-scale__bar { height: 22px; background: #E3EEEC; border-radius: 11px; overflow: hidden; }
.dk-scale__bar i { display: block; height: 100%; background: var(--ace-teal); border-radius: 11px; }
.dk-scale__row:last-child .dk-scale__bar i { background: var(--ace-teal-lo); }
.dk-scale__val { text-align: right; font-variant-numeric: tabular-nums; color: var(--ace-teal-lo); }

/* responsible gaming */
.dk-rg { display: grid; grid-template-columns: 96px 1fr; gap: 28px; background: var(--ace-paper); border: 2px solid var(--ace-ink);
  border-radius: var(--ace-r-card); padding: 28px; }
.dk-rg__badge { width: 96px; height: 132px; border-radius: 12px; background: var(--ace-ink); color: var(--ace-snow);
  display: flex; align-items: center; justify-content: center; font-size: var(--fs-h2); font-weight: 800; }
.dk-rg .dk-h2, .dk-rg h2 { font-size: var(--fs-h2); margin-bottom: 14px; }
.dk-rg__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 18px; }
.dk-rg__list li { display: flex; flex-direction: column; gap: 4px; border-top: 3px solid var(--ace-teal); padding-top: 10px; font-size: var(--fs-small); }
.dk-rg__list span { color: var(--ace-sub); }

/* FAQ cards, 2 per row */
.dk-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dk-faq__card { position: relative; background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card);
  padding: 22px 24px 22px 64px; }
.dk-faq__pip { position: absolute; left: 20px; top: 20px; width: 30px; height: 40px; border-radius: 6px; border: 1px solid var(--ace-line);
  display: flex; align-items: center; justify-content: center; color: var(--ace-teal); font-size: var(--fs-h3); }
.dk-faq__card h3 { font-size: var(--fs-h3); }
.dk-faq__fact { margin: 8px 0 6px; font-weight: 700; color: var(--ace-teal-lo); font-size: var(--fs-small); }

/* footer: dark, one row */
.dk-foot { background: var(--ace-ink); color: var(--ace-mist); padding: 28px 0 88px; }
.dk-foot__row { display: flex; align-items: center; gap: 28px; }
.dk-foot__nav { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-left: auto; }
.dk-foot__nav a { color: var(--ace-mist); text-decoration: none; font-size: var(--fs-small); }
.dk-foot__nav a:hover { color: var(--ace-sea); }
.dk-foot .dk-age { color: var(--ace-snow); }
.dk-foot__lic { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--ace-tab); font-size: 12px; line-height: 1.6; color: #8D9597; }

/* sticky dock */
.dk-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--ace-panel); color: var(--ace-snow);
  border-top: 1px solid var(--ace-tab); transform: translateY(110%); transition: transform .2s; }
.dk-dock.is-on { transform: none; }
.dk-dock__row { display: flex; align-items: center; justify-content: center; gap: 18px; height: 60px; }
.dk-dock__txt { font-size: var(--fs-body); }
.dk-dock__txt b { color: var(--ace-sea); }
.dk-age--dock { color: var(--ace-foam); }

/* /bonus spread */
.dk-hero--spread { padding-bottom: 40px; }
.dk-spread { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 28px; }
.dk-card--open { padding: 44px 20px 22px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.dk-card--open img { width: 100%; max-width: 320px; aspect-ratio: 2 / 1; object-fit: contain; border-radius: 10px; background: var(--ace-ink); }
.dk-card__txt { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 14px; }
.dk-card--open .dk-card__idx--end { display: none; }

.dk-404 { margin-top: 0; text-align: center; }

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
  .dk-nav { display: none; }
  .dk-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px;
    background: none; border: 0; padding: 8px; cursor: pointer; margin-left: 8px; }
  .dk-burger span { display: block; height: 2px; background: var(--ace-text); border-radius: 2px; }
  .dk-btn--top { margin-left: auto; }
  .dk-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: fixed; top: 56px; left: 0; right: 0;
    background: var(--ace-snow); border-bottom: 1px solid var(--ace-line); padding: 8px 24px 20px; margin: 0; max-height: calc(100vh - 56px); overflow: auto; }
  .dk-nav.is-open a { padding: 14px 0; border-bottom: 1px solid var(--ace-line); font-size: var(--fs-body); }
  .dk-nav.is-open .dk-nav__cta { display: flex; justify-content: center; margin-top: 16px; border: 0; background: var(--ace-teal);
    color: #fff; border-radius: var(--ace-r-pill); font-weight: 700; }
  .dk-hero__grid { grid-template-columns: 1fr; justify-items: center; }
  .dk-hero__art img { width: 100%; max-width: 560px; }
  .dk-ladder { grid-template-columns: repeat(5, 1fr); margin-bottom: 0; }
  .dk-step { transform: none; }
  .dk-shelf { grid-template-columns: repeat(4, 1fr); }
  .dk-pay { grid-template-columns: repeat(4, 1fr); }
  .dk-rg__list { grid-template-columns: repeat(3, 1fr); }
  .dk-dw__grid, .dk-scalewrap { grid-template-columns: 1fr; }
  .dk-dw__art img { width: 100%; max-width: 480px; }
  .dk-facts { grid-template-columns: repeat(3, 1fr); }
  .dk-split { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- phone ---------- */
@media (max-width: 640px) {
  :root { --fs-h1: 28px; --fs-h2: 22px; --fs-h3: 17px; --fs-body: 16px; --fs-small: 14px; --ace-sec: 48px; }
  .dk-wrap { padding: 0 16px; }
  .dk-top__row { gap: 12px; }
  .dk-logo { font-size: 22px; }
  .dk-btn--top { padding: 8px 14px; }
  .dk-hero { padding: 24px 0 28px; }
  .dk-hero__grid { gap: 16px; margin-top: 16px; }
  .dk-fan { height: 236px; width: 100%; padding-left: 0; }
  .dk-card--fan { width: 120px; height: 196px; padding: 26px 8px 10px; gap: 2px; border-radius: 12px; }
  .dk-card--fan img { width: 104px; height: 52px; margin-bottom: 4px; border-radius: 6px; }
  .dk-card--fan .dk-card__pct { font-size: var(--fs-h2); }
  .dk-card--fan .dk-card__max { font-size: var(--fs-small); }
  .dk-card--fan .dk-card__extra, .dk-card--fan .dk-card__lbl { font-size: 11px; }
  .dk-card--fan .dk-card__extra { font-size: 10px; white-space: nowrap; letter-spacing: -.1px; }
  .dk-card__idx { top: 6px; left: 8px; font-size: var(--fs-small); }
  .dk-card__idx--end { display: none; }
  .dk-card--f2 { margin: 0 -20px; }
  .dk-card--f1 { transform: rotate(-5deg); }
  .dk-card--f3 { transform: rotate(5deg); }
  .dk-hero > .dk-wrap { display: flex; flex-direction: column; }
  .dk-hero__grid { display: contents; }
  .dk-fan { margin-top: 16px; }
  .dk-hero__art { order: 9; margin-top: 24px; }
  .dk-hero__art img { max-width: 100%; }
  .dk-hero__sum { margin-top: 14px; font-size: 20px; }
  .dk-btn--big { min-width: 0; width: 100%; max-width: 358px; padding: 14px 20px; }
  .dk-cta { margin-top: 24px; }
  .dk-cta--hero { margin-top: 12px; }
  .dk-legend { grid-template-columns: 1fr 1fr; }
  .dk-ladder { grid-template-columns: 1fr 1fr; gap: 10px; }
  .dk-step { min-height: 0; }
  .dk-row { grid-template-columns: 120px 1fr; gap: 12px 16px; padding: 10px; }
  .dk-row__rules { grid-column: 1 / -1; padding: 0 6px 4px; }
  .dk-row__back { padding: 8px; }
  .dk-row__offer { font-size: var(--fs-h3); }
  .dk-shelf { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .dk-game__frame { padding: 5px; border-radius: 10px; }
  .dk-game__name { font-size: 12px; }
  .dk-pay { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .dk-pay li { height: 46px; padding: 0 6px; }
  .dk-pay img { height: 20px; }
  .dk-table th, .dk-table td { padding: 10px 12px; font-size: var(--fs-small); }
  .dk-table--kv th { width: 42%; }
  .dk-table--grid thead th:first-child { width: 26%; }
  .dk-table--grid th, .dk-table--grid td { padding: 8px 6px; font-size: 12px; word-break: break-word; }
  .dk-table--grid thead th { font-size: 12px; word-break: normal; }
  .dk-th-pip { display: block; width: max-content; margin: 0 0 4px; }
  .dk-facts { grid-template-columns: 1fr 1fr; }
  .dk-dw__stats { grid-template-columns: 1fr 1fr; }
  .dk-scale__row { grid-template-columns: 92px 1fr 40px; gap: 10px; }
  .dk-rg { grid-template-columns: 1fr; padding: 20px; gap: 16px; }
  .dk-rg__badge { width: 64px; height: 88px; font-size: var(--fs-h3); }
  .dk-rg__list { grid-template-columns: 1fr 1fr; }
  .dk-rg__list li:last-child { grid-column: 1 / -1; }
  .dk-faq { grid-template-columns: 1fr; }
  .dk-faq__card { padding: 18px 18px 18px 56px; }
  .dk-faq__pip { left: 14px; top: 18px; }
  .dk-foot__row { flex-wrap: wrap; gap: 14px; }
  .dk-foot__nav { margin-left: 0; width: 100%; order: 3; }
  .dk-dock { transform: none; }
  .dk-dock__row { justify-content: space-between; gap: 10px; height: 60px; }
  .dk-dock__txt { font-size: var(--fs-small); }
  /* /bonus: open cards become three compact horizontal cards */
  .dk-spread { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
  .dk-card--open { flex-direction: row; text-align: left; padding: 10px 12px 10px 34px; gap: 14px; }
  .dk-card--open img { width: 128px; flex: 0 0 128px; }
  .dk-card--open .dk-card__txt { align-items: flex-start; margin-top: 0; gap: 0; }
  .dk-card--open .dk-card__pct { font-size: var(--fs-h2); }
  .dk-card--open .dk-card__max { font-size: var(--fs-small); }
  .dk-card--open .dk-card__extra, .dk-card--open .dk-card__lbl { font-size: 12px; }
}

/* /bonus: "the deal", five slot cards face up (royal flush of spades) */
.dk-deal { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; padding: 8px 8px; }
.dk-deal__card { transform: rotate(var(--t)); transition: transform .15s; }
.dk-deal__card:hover { transform: rotate(0deg) translateY(-6px); }
.dk-deal__card a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; background: var(--ace-paper);
  border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); padding: 34px 14px 16px; box-shadow: var(--ace-shadow);
  text-decoration: none; color: var(--ace-text); text-align: center; }
.dk-deal__rank { position: absolute; top: 8px; left: 12px; display: flex; flex-direction: column; align-items: center;
  font-weight: 800; font-size: var(--fs-h3); line-height: 1; color: var(--ace-ink); }
.dk-deal__rank i { font-style: normal; color: var(--ace-teal); font-size: var(--fs-small); }
.dk-deal__card img { width: 100%; aspect-ratio: 290 / 342; border-radius: 10px; }
.dk-deal__name { font-weight: 700; font-size: var(--fs-small); line-height: 1.3; }
.dk-deal__tag { font-size: 12px; font-weight: 700; color: var(--ace-teal-lo); background: #E3F1EE; border-radius: var(--ace-r-pill); padding: 3px 10px; }
.dk-deal__note { margin: 24px 0 0; font-size: var(--fs-small); color: var(--ace-sub); text-align: center; }
@media (max-width: 1100px) { .dk-deal { gap: 14px; } }
@media (max-width: 640px) {
  .dk-deal { gap: 6px; padding: 6px 2px; }
  .dk-deal__card { transform: rotate(calc(var(--t) / 2)); }
  .dk-deal__card a { padding: 22px 4px 6px; border-radius: 10px; gap: 0; }
  .dk-deal__rank { top: 4px; left: 6px; flex-direction: row; gap: 2px; font-size: 12px; }
  .dk-deal__rank i { font-size: 11px; }
  .dk-deal__card img { border-radius: 6px; }
  .dk-deal__name, .dk-deal__tag { display: none; }
}

/* ---------- texts ---------- */
.dk-prose { max-width: 820px; }
.dk-prose p { margin: 0 0 14px; }
.dk-prose p:last-child { margin-bottom: 0; }
.dk-prose a { color: var(--ace-teal-lo); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.dk-band--dark .dk-prose a { color: var(--ace-sea); }
.dk-band--dark .dk-prose { color: var(--ace-mist); }
.dk-split--half { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.dk-split--after { margin: 24px 0 0; }
.dk-cap--ink { color: var(--ace-sub); }
.dk-table--calc { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); overflow: hidden; font-variant-numeric: tabular-nums; }
.dk-table--calc thead th { background: var(--ace-ink); color: var(--ace-snow); font-size: var(--fs-small); }
.dk-table--calc td { border-top: 1px solid var(--ace-line); }
.dk-table--calc td:first-child { font-weight: 700; }
.dk-idcard { margin: 0; background: var(--ace-ink); color: var(--ace-mist); border-radius: var(--ace-r-card); padding: 22px 24px;
  display: flex; flex-direction: column; gap: 12px; border: 2px solid var(--ace-teal); }
.dk-idcard div { display: flex; flex-direction: column; gap: 2px; border-bottom: 1px solid var(--ace-tab); padding-bottom: 10px; }
.dk-idcard div:last-child { border-bottom: 0; padding-bottom: 0; }
.dk-idcard dt { font-size: 12px; color: var(--ace-sea); font-weight: 700; }
.dk-idcard dd { margin: 0; color: var(--ace-snow); font-size: var(--fs-small); font-weight: 500; }
.dk-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: st; }
.dk-steps li { counter-increment: st; position: relative; background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card);
  padding: 22px 20px 20px 72px; display: flex; flex-direction: column; gap: 6px; }
.dk-steps li::before { content: counter(st); position: absolute; left: 18px; top: 20px; width: 38px; height: 52px; border-radius: 8px;
  background: var(--ace-ink); color: var(--ace-snow); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: var(--fs-h3); }
.dk-steps b { font-size: var(--fs-h3); }
.dk-steps span { font-size: var(--fs-small); color: var(--ace-sub); }
.dk-traps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.dk-traps li { background: var(--ace-ink); color: var(--ace-mist); border-radius: var(--ace-r-card); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.dk-traps i { font-style: normal; font-size: var(--fs-h2); line-height: 1; color: var(--ace-sea); }
.dk-traps b { color: var(--ace-snow); font-size: var(--fs-body); }
.dk-traps span { font-size: var(--fs-small); }
.dk-faq__card summary { list-style: none; cursor: pointer; }
.dk-faq__card summary::-webkit-details-marker { display: none; }
.dk-faq__a { margin: 10px 0 0; color: var(--ace-sub); }
@media (max-width: 1100px) {
  .dk-split--half { grid-template-columns: 1fr; }
  .dk-steps, .dk-traps { grid-template-columns: 1fr 1fr; }
  .dk-steps li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .dk-steps, .dk-traps { grid-template-columns: 1fr; }
  .dk-table--calc th, .dk-table--calc td { padding: 8px 6px; font-size: 12px; }
}

/* ---------- inner pages ---------- */
.dk-h1--left { text-align: left; }
.dk-cta--left { align-items: flex-start; text-align: left; }
.dk-hero__lead { margin: 14px 0 0; color: var(--ace-mist); max-width: 560px; }
.dk-hero--plain { padding: 40px 0; }
.dk-h3 { font-size: var(--fs-h3); margin: 28px 0 8px; }
.dk-mini { margin: 8px 0 0; font-size: 12px; color: var(--ace-sub); }
.dk-list { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; }
.dk-list li { padding-left: 22px; position: relative; }
.dk-list li::before { content: "♠"; position: absolute; left: 0; color: var(--ace-teal); }
.dk-chips--dark li { background: var(--ace-card); border-color: var(--ace-tab); color: var(--ace-snow); }
.dk-side-art { margin: 0; }
.dk-side-art img { width: 100%; max-width: 340px; border-radius: var(--ace-r-card); }
.dk-quote { background: var(--ace-ink); color: var(--ace-snow); border-radius: var(--ace-r-card); padding: 22px; display: flex; flex-direction: column; gap: 8px; border-left: 4px solid var(--ace-teal); }
.dk-quote b { font-size: var(--fs-body); }
.dk-quote span { font-size: 12px; color: var(--ace-sea); }

/* week strip */
.dk-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; margin-top: 28px; }
.dk-week__day { background: var(--ace-paper); color: var(--ace-text); border-radius: 12px; padding: 14px 10px; display: flex; flex-direction: column; gap: 4px; min-height: 132px; }
.dk-week__day b { font-size: var(--fs-h3); color: var(--ace-teal); line-height: 1.15; }
.dk-week__day span { font-size: 12px; color: var(--ace-sub); }
.dk-week__d { font-weight: 800; font-size: var(--fs-small) !important; color: var(--ace-ink) !important; text-transform: none; }
.dk-week__day--c { background: var(--ace-card); }
.dk-week__day--c b { color: var(--ace-sea); }
.dk-week__day--c span, .dk-week__day--c .dk-week__d { color: var(--ace-mist) !important; }
.dk-week__note { margin: 14px 0 0; text-align: center; font-size: var(--fs-small); color: var(--ace-mist); }

/* promo band */
.dk-promo { display: grid; grid-template-columns: 440px 1fr; gap: 44px; align-items: center; }
.dk-promo__art { margin: 0; }
.dk-promo__art img { width: 440px; border-radius: var(--ace-r-card); }
.dk-promo__body .dk-chips { margin-top: 18px; }

/* hero two-column */
.dk-vipgrid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: center; }
.dk-vipgrid__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.dk-vipgrid__facts li { background: var(--ace-card); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.dk-vipgrid__facts b { color: var(--ace-sea); font-size: var(--fs-h2); line-height: 1.1; }
.dk-vipgrid__facts span { font-size: var(--fs-small); }
.dk-bigcard { position: relative; background: var(--ace-card); border: 2px solid var(--ace-teal); border-radius: 20px; padding: 46px 24px 26px;
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; box-shadow: var(--ace-shadow); }
.dk-bigcard__idx { position: absolute; top: 12px; left: 16px; display: flex; flex-direction: column; align-items: center; font-weight: 800; color: var(--ace-snow); font-size: var(--fs-h3); line-height: 1; }
.dk-bigcard__idx i { font-style: normal; color: var(--ace-sea); }
.dk-bigcard img { width: 100%; max-width: 360px; aspect-ratio: 2 / 1; border-radius: 12px; margin-bottom: 8px; }
.dk-bigcard__tier { color: var(--ace-mist); font-weight: 700; }
.dk-bigcard__amt { color: var(--ace-sea); font-size: var(--fs-h1); font-weight: 800; line-height: 1; }
.dk-bigcard__sub { font-size: var(--fs-small); color: var(--ace-mist); }
.dk-suit { display: inline-block; width: 20px; margin-right: 6px; }
.dk-suit--d, .dk-suit--h { color: var(--ace-red); }
.dk-suit--s { color: var(--ace-teal); }
.dk-sumlist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; align-content: start; }
.dk-sumlist li { display: flex; justify-content: space-between; background: var(--ace-card); border-radius: 8px; padding: 10px 14px; font-size: var(--fs-small); }
.dk-sumlist b { color: var(--ace-sea); font-variant-numeric: tabular-nums; }
.dk-sumlist__total { grid-column: 1 / -1; background: var(--ace-teal) !important; color: #fff; }
.dk-sumlist__total b { color: #fff; font-size: var(--fs-h3); }
.dk-twocards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dk-twocards article { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); padding: 22px 24px; }
.dk-twocards h3 { font-size: var(--fs-h3); margin-bottom: 8px; }
.dk-twocards p { margin: 0; color: var(--ace-sub); }

/* cashier */
.dk-receipt { background: var(--ace-paper); color: var(--ace-text); border-radius: 14px; padding: 22px 24px; box-shadow: var(--ace-shadow);
  border-top: 6px dashed var(--ace-teal); }
.dk-receipt__head { margin: 0 0 12px; font-weight: 800; text-align: center; letter-spacing: .5px; }
.dk-receipt dl { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.dk-receipt dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dotted var(--ace-line); padding-bottom: 8px; font-size: var(--fs-small); }
.dk-receipt dt { color: var(--ace-sub); }
.dk-receipt dd { margin: 0; font-weight: 700; text-align: right; }
.dk-receipt__foot { margin: 12px 0 0; text-align: center; font-size: 12px; color: var(--ace-teal-lo); }
.dk-paygrid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }
.dk-paygrid li { background: var(--ace-ink); border-radius: 10px; padding: 14px 8px 10px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.dk-paygrid img { height: 26px; width: auto; max-width: 100%; }
.dk-paygrid span { font-size: 12px; color: var(--ace-mist); }
.dk-traps--three { grid-template-columns: repeat(3, 1fr); }
.dk-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: tl; border-top: 3px solid var(--ace-teal); }
.dk-timeline li { counter-increment: tl; padding: 20px 18px 0 0; position: relative; display: flex; flex-direction: column; gap: 6px; }
.dk-timeline li::before { content: counter(tl); position: absolute; top: -15px; left: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--ace-teal);
  color: #fff; font-weight: 800; font-size: var(--fs-small); display: flex; align-items: center; justify-content: center; }
.dk-timeline b { font-size: var(--fs-body); margin-top: 6px; }
.dk-timeline span { font-size: var(--fs-small); color: var(--ace-sub); }

/* rules */
.dk-rulecards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 28px; }
.dk-rulecards li { background: var(--ace-paper); color: var(--ace-text); border-radius: 12px; padding: 16px 14px; display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: var(--fs-small); }
.dk-rulecards b { width: 32px; height: 44px; border-radius: 6px; background: var(--ace-ink); color: var(--ace-sea); display: flex; align-items: center; justify-content: center; flex: 0 0 32px; font-size: var(--fs-h3); }
.dk-rulebook { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; counter-reset: rb; }
.dk-rulebook li { counter-increment: rb; display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--ace-line); }
.dk-rulebook li::before { content: counter(rb); grid-row: span 2; font-weight: 800; color: var(--ace-teal); font-size: var(--fs-h3); }
.dk-rulebook span { color: var(--ace-sub); font-size: var(--fs-small); }
.dk-order { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.dk-order li { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: var(--ace-r-card); padding: 18px; display: flex; align-items: center; gap: 12px; }
.dk-order b { font-size: var(--fs-h2); color: var(--ace-teal); }

/* login / account */
.dk-loginmock { background: var(--ace-panel); border-radius: 18px; padding: 26px; display: flex; flex-direction: column; gap: 12px; border: 1px solid var(--ace-tab); }
.dk-loginmock__title { color: var(--ace-snow); font-weight: 800; font-size: var(--fs-h3); }
.dk-loginmock__field { background: var(--ace-card); border-radius: 4px; padding: 12px 14px; color: #8D9597; font-size: var(--fs-small); }
.dk-loginmock__link { color: var(--ace-sea); font-size: 12px; text-align: right; }
.dk-loginmock__btn { background: var(--ace-teal); color: #fff; border-radius: var(--ace-r-pill); padding: 10px; text-align: center; font-weight: 700; }
.dk-fixgrid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.dk-fixgrid li { background: var(--ace-card); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.dk-fixgrid b { color: var(--ace-snow); }
.dk-fixgrid span { font-size: var(--fs-small); }
.dk-howto { display: flex; flex-direction: column; gap: 10px; }
.dk-howto li { background: var(--ace-paper); border: 1px solid var(--ace-line); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.dk-howto span { font-size: var(--fs-small); color: var(--ace-sub); }
.dk-formrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 28px; }
.dk-formrow li { background: var(--ace-paper); color: var(--ace-text); border-radius: 12px; padding: 18px; display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; }
.dk-formrow__n { grid-row: span 2; width: 40px; height: 54px; border-radius: 8px; background: var(--ace-ink); color: var(--ace-sea); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: var(--fs-h3); }
.dk-formrow li > span:not(.dk-formrow__n) { font-size: var(--fs-small); color: var(--ace-sub); }
.dk-checklist { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.dk-checklist li { background: var(--ace-card); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 6px; border-top: 3px solid var(--ace-teal); }
.dk-checklist b { color: var(--ace-snow); }
.dk-checklist span { font-size: var(--fs-small); }

/* lobby, slots, live */
.dk-lobbymap { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-top: 28px; }
.dk-lobbymap li { background: var(--ace-card); border-radius: 12px; padding: 14px 12px; display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--ace-tab); }
.dk-lobbymap i { font-style: normal; color: var(--ace-sea); font-size: var(--fs-h3); line-height: 1; }
.dk-lobbymap b { color: var(--ace-snow); font-size: var(--fs-small); }
.dk-lobbymap span { font-size: 12px; color: var(--ace-mist); }
.dk-shelf--six { margin-top: 8px; }
.dk-shelf--four { grid-template-columns: repeat(4, 1fr); margin-top: 28px; }
.dk-band--dark .dk-game__name { color: var(--ace-snow); }
.dk-studios { display: flex; flex-wrap: wrap; gap: 10px; }
.dk-studios li { background: var(--ace-ink); color: var(--ace-snow); border-radius: 8px; padding: 10px 16px; font-size: var(--fs-small); font-weight: 700; }
.dk-deal--hero { margin-top: 28px; }
.dk-solo { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; background: var(--ace-paper); border-radius: var(--ace-r-card);
  padding: 36px 20px 18px; text-decoration: none; color: var(--ace-text); box-shadow: var(--ace-shadow); width: 300px; justify-self: center; transform: rotate(2deg); }
.dk-solo img { width: 100%; border-radius: 10px; aspect-ratio: 290 / 342; }
.dk-felts { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 28px; }
.dk-felts li { background: radial-gradient(circle at 50% 30%, #14695E 0%, #134942 70%); border: 2px solid var(--ace-teal); border-radius: 60px 60px 14px 14px;
  padding: 26px 14px 18px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.dk-felts i { font-style: normal; color: var(--ace-snow); font-size: var(--fs-h2); line-height: 1; }
.dk-felts b { color: var(--ace-snow); }
.dk-felts span { font-size: 12px; color: var(--ace-foam); }
.dk-rg--side { grid-template-columns: 1fr; padding: 20px; }
.dk-rg__list--col { grid-template-columns: 1fr; margin-top: 0; }

@media (max-width: 1100px) {
  .dk-vipgrid, .dk-promo { grid-template-columns: 1fr; }
  .dk-promo__art img { width: 100%; max-width: 440px; }
  .dk-week { grid-template-columns: repeat(4, 1fr); }
  .dk-rulecards, .dk-fixgrid { grid-template-columns: repeat(3, 1fr); }
  .dk-lobbymap { grid-template-columns: repeat(4, 1fr); }
  .dk-paygrid { grid-template-columns: repeat(4, 1fr); }
  .dk-checklist, .dk-order, .dk-timeline { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  .dk-felts { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .dk-week { grid-template-columns: repeat(2, 1fr); }
  .dk-week__day:last-child { grid-column: 1 / -1; min-height: 0; }
  .dk-week__day { min-height: 0; }
  .dk-vipgrid__facts { grid-template-columns: 1fr; }
  .dk-cta--left { align-items: center; text-align: center; }
  .dk-h1--left { text-align: center; }
  .dk-hero__lead { text-align: center; }
  .dk-rulecards { grid-template-columns: 1fr 1fr; }
  .dk-rulecards li:last-child { grid-column: 1 / -1; }
  .dk-rulebook, .dk-twocards, .dk-checklist, .dk-order, .dk-traps--three, .dk-fixgrid, .dk-formrow { grid-template-columns: 1fr; }
  .dk-timeline { grid-template-columns: 1fr; border-top: 0; border-left: 3px solid var(--ace-teal); row-gap: 18px; }
  .dk-timeline li { padding: 0 0 0 28px; }
  .dk-timeline li::before { top: 0; left: -16px; }
  .dk-lobbymap { grid-template-columns: repeat(2, 1fr); }
  .dk-paygrid { grid-template-columns: repeat(2, 1fr); }
  .dk-shelf--four { grid-template-columns: repeat(2, 1fr); }
  .dk-felts { grid-template-columns: 1fr 1fr; }
  .dk-felts li:last-child { grid-column: 1 / -1; }
  .dk-sumlist { grid-template-columns: 1fr; }
  .dk-solo { width: 220px; }
  .dk-bigcard { padding: 40px 16px 20px; }
}
.dk-art-sm { width: 100%; max-width: 360px; border-radius: 12px; margin-bottom: 16px; }
.dk-stack { display: flex; flex-direction: column; gap: 14px; }
.dk-receipt__head { margin: 0 0 12px; font-weight: 800; text-align: center; letter-spacing: .5px; }
@media (max-width: 640px) {
  .dk-lobbymap { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .dk-lobbymap li { padding: 10px 8px; }
  .dk-lobbymap span { display: none; }
  .dk-lobbymap b { font-size: 12px; }
}

/* owner 09.11: on desktop text uses the full container width */
.dk-prose, .dk-slot { max-width: none; }
.dk-split { grid-template-columns: minmax(0, 1fr) 380px; }
.dk-split--half { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.dk-split > .dk-split__main:only-child { grid-column: 1 / -1; }
.dk-hero__lead { max-width: none; }
@media (max-width: 1100px) { .dk-split, .dk-split--half { grid-template-columns: 1fr; } }
.dk-traps + .dk-prose, .dk-order + .dk-prose, .dk-steps + .dk-prose, .dk-tablewrap + .dk-prose { margin-top: 24px; }
.dk-tablewrap + .dk-cap { margin-top: 24px; }
