/* Capycas lobby skin */
:root {
  --cy-floor: #0f0f14;
  --cy-deep: #0a0a0d;
  --cy-rail: #121218;
  --cy-plate: #1a1a22;
  --cy-plate-2: #23232d;
  --cy-edge: rgba(255, 255, 255, .12);
  --cy-ink: #fff;
  --cy-mute: rgba(255, 255, 255, .65);
  --cy-gold-hi: #ffce89;
  --cy-gold-lo: #ca8720;
  --cy-code: #e9b124;
  --cy-navy: #3e5a8f;
  --cy-rail-w: 212px;
  --cy-top-h: 64px;
  --cy-gap: 56px;
  --cy-r: 12px;
  --f-serif: "Cinzel", Georgia, "Times New Roman", serif;
  --f-sans: "Roboto", Arial, sans-serif;
  --fs-1: 40px;
  --fs-2: 30px;
  --fs-3: 18px;
  --fs-t: 16px;
  --fs-s: 13px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--cy-top-h) + 16px); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--cy-floor); color: var(--cy-mute); font: 400 var(--fs-t)/1.6 var(--f-sans); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cy-gold-hi); }
h1, h2, h3 { color: var(--cy-ink); margin: 0; }
h1 { font: 700 var(--fs-1)/1.15 var(--f-serif); }
h2 { font: 700 var(--fs-2)/1.2 var(--f-serif); margin-bottom: 16px; }
h3 { font: 700 var(--fs-3)/1.3 var(--f-sans); }
.ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* buttons */
.btn-gold, .btn-line { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; border-radius: 8px; font: 700 14px/1 var(--f-sans); text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.btn-gold { background: linear-gradient(180deg, var(--cy-gold-hi), var(--cy-gold-lo)); color: var(--cy-floor); }
.btn-gold:hover { filter: brightness(1.06); }
.btn-line { border: 1px solid var(--cy-edge); color: var(--cy-ink); }
.btn-gold.wide { width: 100%; }
.age-tag { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 24px; padding: 0 6px; border: 1px solid var(--cy-edge); border-radius: 6px; font: 700 12px/1 var(--f-sans); color: var(--cy-ink); }
.age-tag.big { min-width: 48px; height: 32px; font-size: 14px; }
.cta-row { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; }
.cta-row.tight { margin-top: 16px; }

/* top bar */
.topbar { position: fixed; inset: 0 0 auto 0; z-index: 40; height: var(--cy-top-h); display: flex; align-items: center; gap: 24px; padding: 0 24px; background: var(--cy-rail); border-bottom: 1px solid var(--cy-edge); }
.wordmark { font: 700 28px/1 var(--f-serif); letter-spacing: .02em; text-decoration: none; background: linear-gradient(180deg, var(--cy-gold-hi), var(--cy-gold-lo)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.topbar .wordmark { width: calc(var(--cy-rail-w) - 48px); }
.mode-tabs { display: flex; gap: 2px; }
.mode-tabs a { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 11px; white-space: nowrap; border-radius: 8px; color: var(--cy-ink); text-decoration: none; font-size: 14px; font-weight: 500; }
.mode-tabs a .ico { color: var(--cy-gold-hi); }
.mode-tabs a.on, .mode-tabs a:hover { background: var(--cy-plate); }
.mode-tabs a.on { box-shadow: inset 0 -2px 0 var(--cy-code); }
.auth { margin-left: auto; display: flex; gap: 10px; }
.burger { display: none; width: 44px; height: 44px; padding: 12px 10px; border: 1px solid var(--cy-edge); border-radius: 8px; background: var(--cy-plate); flex-direction: column; justify-content: space-between; cursor: pointer; }
.burger span { display: block; height: 2px; background: var(--cy-ink); border-radius: 2px; }

/* left rail */
.rail { position: fixed; z-index: 30; top: var(--cy-top-h); left: 0; bottom: 0; width: var(--cy-rail-w); padding: 12px 10px 24px; overflow-y: auto; background: var(--cy-rail); border-right: 1px solid var(--cy-edge); display: flex; flex-direction: column; gap: 10px; }
.rail-nav { display: flex; flex-direction: column; gap: 6px; }
.rail-item { display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 12px; border-radius: 8px; background: var(--cy-plate); color: var(--cy-ink); text-decoration: none; font-size: 14px; font-weight: 500; }
.rail-item .ico { color: var(--cy-gold-hi); }
.rail-item.on { background: var(--cy-plate-2); box-shadow: inset 3px 0 0 var(--cy-code); }
.rail-item:hover { background: var(--cy-plate-2); }
.rail-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.tile { position: relative; height: 50px; border-radius: 8px; overflow: hidden; text-decoration: none; display: flex; align-items: center; padding: 0 6px; }
.tile span { position: relative; z-index: 1; max-width: 50px; align-self: flex-start; padding-top: 7px; font: 700 10px/1.15 var(--f-sans); text-transform: uppercase; color: var(--cy-ink); }
.tile img { position: absolute; right: 2px; bottom: 2px; width: 34px; height: 34px; object-fit: contain; }
.t-spin { background: linear-gradient(135deg, #2c2a55, #7a2f7d); }
.t-box { background: linear-gradient(135deg, #3b2350, #b0335f); }
.t-vip { background: linear-gradient(135deg, #3a2a16, #8a5a1c); }
.t-shop { background: linear-gradient(135deg, #2b1f3f, #a2365c); }
.rail-app { position: relative; display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 12px; border-radius: 8px; overflow: hidden; background: linear-gradient(90deg, var(--cy-plate) 45%, #1f4f5c); color: var(--cy-ink); text-decoration: none; font-size: 14px; font-weight: 500; }
.rail-app .ico { color: var(--cy-gold-hi); }
.rail-app img { position: absolute; right: 2px; top: 2px; width: 46px; height: 46px; object-fit: contain; }
.rail-cta { display: none; }
.rail-shade { position: fixed; inset: 0; z-index: 25; background: rgba(0, 0, 0, .6); }

/* stage */
.stage { margin-left: var(--cy-rail-w); padding-top: var(--cy-top-h); }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
main.wrap { padding-bottom: var(--cy-gap); }
.page-head { padding-top: 28px; }
.page-head h1 { margin-bottom: 12px; }
.block { margin-top: var(--cy-gap); }
.kicker { display: block; font: 700 var(--fs-s)/1.3 var(--f-sans); text-transform: uppercase; letter-spacing: .04em; color: var(--cy-ink); }

/* empty text slot */
.prose-slot { height: calc(var(--ln) * 26px); margin: 0 0 20px; border-radius: 4px; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .05) 0 12px, transparent 12px 26px); }
.page-head .prose-slot { margin-bottom: 0; }
.prose { margin: 0 0 20px; color: var(--cy-mute); }
.prose p, .prose ul, .prose ol { margin: 0 0 12px; }
.prose > :last-child { margin-bottom: 0; }
.prose ul, .prose ol { padding-left: 22px; }
.prose li { margin-bottom: 6px; }
.prose b, .prose strong { color: var(--cy-ink); }
.prose a { color: var(--cy-gold-hi); text-decoration: underline; text-underline-offset: 2px; }
.page-head .prose { margin: 12px 0 0; }
.block > :not(h2) + .prose { margin-top: 20px; }
.ask-body .prose { margin: 0; }
p.copy { margin: 0 0 12px; color: var(--cy-mute); }
p.copy a { text-decoration: underline; text-underline-offset: 2px; }
.block > :not(h2) + p.copy { margin-top: 20px; }
.ask-body p.copy:last-child { margin-bottom: 0; }

/* slider */
.reel { margin-top: 24px; }
.reel-track { display: flex; overflow: hidden; border-radius: var(--cy-r); }
.reel-card { flex: 0 0 100%; display: grid; grid-template-columns: 1fr 1fr; background: var(--cy-plate); transition: transform .5s ease; }
.reel-copy { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 32px 40px; }
.reel-title { margin: 0; font: 700 var(--fs-2)/1.2 var(--f-serif); color: var(--cy-ink); }
.reel-sub { margin: 0; color: var(--cy-ink); font-weight: 500; }
.reel-act { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.reel-art { width: 100%; }
.reel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.reel-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .3); cursor: pointer; }
.reel-dots button.on { background: var(--cy-code); }

/* pill strip */
.pill-strip { display: flex; gap: 8px; margin-top: 24px; padding: 10px; background: var(--cy-plate); border-radius: var(--cy-r); overflow-x: auto; scrollbar-width: none; }
.pill-strip a { display: inline-flex; align-items: center; gap: 8px; flex: 1 0 auto; justify-content: center; height: 42px; padding: 0 16px; border-radius: 999px; color: var(--cy-ink); text-decoration: none; font-size: 14px; font-weight: 500; white-space: nowrap; }
.pill-strip a .ico { color: var(--cy-gold-hi); }
.pill-strip a:hover { background: var(--cy-plate-2); }
.pill-strip a.on { background: linear-gradient(180deg, var(--cy-gold-hi), var(--cy-gold-lo)); color: var(--cy-floor); }
.pill-strip a.on .ico { color: var(--cy-floor); }

/* page index (collapsed TOC) */
.page-index { margin-top: 24px; background: var(--cy-plate); border: 1px solid var(--cy-edge); border-radius: var(--cy-r); }
.page-index summary { display: flex; justify-content: flex-start; gap: 12px; align-items: center; padding: 14px 20px; cursor: pointer; color: var(--cy-ink); font-weight: 700; list-style: none; }
.page-index summary::-webkit-details-marker { display: none; }
.page-index summary span { margin-left: auto; font-weight: 400; font-size: var(--fs-s); color: var(--cy-mute); }
.page-index summary::after { content: "+"; margin-left: 12px; font-size: 20px; color: var(--cy-code); }
.page-index[open] summary::after { content: "–"; }
.page-index ol { margin: 0; padding: 0 20px 18px 40px; columns: 2; column-gap: 40px; }
.page-index li { padding: 3px 0; }
.page-index a { color: var(--cy-ink); text-decoration: none; }
.page-index a:hover { color: var(--cy-gold-hi); }

/* promo cards, 2 per row */
.deal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.deal { position: relative; border-radius: var(--cy-r); overflow: hidden; background: var(--cy-plate); display: flex; flex-direction: column; }
.deal > img { width: 100%; }
.deal-copy { display: flex; flex-direction: column; gap: 10px; padding: 20px 24px 24px; flex: 1; }
.deal-fig { font: 700 26px/1.2 var(--f-serif); color: var(--cy-ink); }
.deal-facts { list-style: none; margin: 0; padding: 0; }
.deal-facts li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid var(--cy-edge); font-size: 14px; }
.deal-facts b { color: var(--cy-ink); }
.deal-act { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 6px; }
.code-chip { position: absolute; right: 14px; top: 14px; display: flex; flex-direction: column; align-items: center; padding: 6px 12px; border: 2px solid var(--cy-code); border-radius: 8px; background: #f4f1e8; color: var(--cy-floor); }
.code-chip.static { position: static; align-self: flex-start; }
.split-copy .code-chip.static { margin-top: 4px; }
.code-tbl .gold-code { font-weight: 700; letter-spacing: .02em; }
.duo > .tbl-wrap + .tbl-wrap { margin-top: 0; }
.code-chip small { font: 700 10px/1.2 var(--f-sans); text-transform: uppercase; }
.code-chip b { font: 700 16px/1.2 var(--f-sans); }
@media (min-width: 1300px) {
  .deal > img { position: absolute; inset: 0; height: 100%; }
  .deal { aspect-ratio: 1328 / 784; }
  .deal-copy { position: relative; z-index: 1; width: 56%; padding: 26px 28px; background: linear-gradient(90deg, rgba(10, 10, 13, .88) 55%, rgba(10, 10, 13, 0)); }
  .code-chip { top: auto; bottom: 16px; z-index: 1; }
}

/* level cards, 3 per row */
.level-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.level { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: var(--cy-r); background: var(--cy-plate); }
.level-art { position: relative; display: flex; justify-content: center; padding-top: 8px; border-radius: 8px; background: radial-gradient(circle at 50% 40%, #2a2f48, var(--cy-plate) 70%); }
.level-art img { width: 160px; height: 160px; object-fit: contain; }
.level-art.wide { padding: 0; background: none; overflow: hidden; }
.level-art.wide img { width: 100%; height: auto; }
.level-name { position: absolute; left: 0; bottom: 0; padding: 4px 12px; border-radius: 0 8px 0 8px; background: var(--cy-floor); font: 700 var(--fs-3)/1.3 var(--f-serif); color: var(--cy-ink); }
.level-rows { margin: 0; padding: 0 14px; border-radius: 8px; background: var(--cy-plate-2); }
.level-rows div { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 46px; padding: 8px 0; border-bottom: 1px solid var(--cy-edge); }
.level-rows div:last-child { border-bottom: 0; }
.level-rows dt { font-size: 15px; }
.level-rows dd { margin: 0; text-align: right; color: var(--cy-ink); font-weight: 700; }
.level-rows dd small { display: block; font-weight: 400; font-size: 12px; color: var(--cy-mute); }
.gold-code { color: var(--cy-code) !important; text-transform: uppercase; }
.level .btn-gold { margin-top: auto; }
.vip-flag { position: absolute; z-index: 1; left: 24px; top: 24px; padding: 2px 8px; border-radius: 4px; background: #5c1d1d; color: #ff8a7a; font: 700 11px/1.5 var(--f-sans); text-transform: uppercase; }

/* tables */
.tbl-wrap { overflow-x: auto; border: 1px solid var(--cy-edge); border-radius: var(--cy-r); }
.tbl-wrap + .tbl-wrap, .trio + .tbl-wrap { margin-top: 20px; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { padding: 13px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--cy-edge); }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.facts th { width: 34%; background: var(--cy-plate); color: var(--cy-ink); font-weight: 500; }
.facts td { color: var(--cy-ink); }
thead th { background: var(--cy-plate-2); color: var(--cy-ink); font: 700 12px/1.3 var(--f-sans); text-transform: uppercase; letter-spacing: .04em; }
.grid-tbl td:first-child { color: var(--cy-ink); width: 34%; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
th.num, thead th:last-child { text-align: right; }
.grid-tbl thead th:last-child { text-align: left; }
.pay-tbl { min-width: 680px; }
.code-tbl td:first-child { width: auto; }
.pay-tbl td { vertical-align: middle; }
.pay-plate { display: inline-flex; align-items: center; justify-content: center; width: 110px; height: 44px; padding: 6px 10px; border-radius: 8px; background: #fff; flex: none; }
.pay-plate img { max-width: 100%; max-height: 30px; width: auto; height: auto; }
.pay-m { display: flex; align-items: center; gap: 14px; color: var(--cy-ink); font-weight: 500; }
.speed-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.speed { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px; border-radius: var(--cy-r); background: var(--cy-plate); text-align: center; }
.speed b { color: var(--cy-ink); font: 700 var(--fs-3)/1.3 var(--f-serif); }
.speed span { font-size: 14px; }
.logo-row { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(8, 1fr); gap: 10px; }
.logo-row .pay-plate { width: 100%; }
.icon-stage { display: flex; align-items: center; justify-content: center; align-self: stretch; min-height: 260px; background: radial-gradient(circle at 50% 50%, #2a2f48, var(--cy-plate) 70%); }
.icon-stage img { width: 220px; height: 220px; object-fit: contain; }
.duo-stack { display: flex; flex-direction: column; gap: 12px; }
.tbl-art { width: 100%; border-radius: var(--cy-r); }
.gap-top { margin-top: 20px; }
.code-chip.wide-chip { align-self: stretch; flex-direction: row; justify-content: center; gap: 10px; align-items: baseline; }
.block > :not(h2) + .prose-slot { margin-top: 20px; }

/* steps */
.step-row { list-style: none; counter-reset: st; margin: 0 0 20px; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 14px; }
.step-row li { counter-increment: st; display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: var(--cy-r); background: var(--cy-plate); }
.step-row li::before { content: counter(st); font: 700 var(--fs-2)/1 var(--f-serif); color: var(--cy-code); }
.step-row b { color: var(--cy-ink); }
.step-row span { font-size: 15px; }

/* icon cards */
.trio, .quad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.quad { grid-template-columns: repeat(4, 1fr); margin-top: 20px; }
.trio-card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 18px; border-radius: var(--cy-r); background: var(--cy-plate); text-align: center; }
.trio-card img { width: 112px; height: 112px; object-fit: contain; margin-bottom: 6px; }
.trio-card b { color: var(--cy-ink); font-size: var(--fs-3); }
.trio-card span { font-size: 15px; }
.trio-card > .ico { width: 40px; height: 40px; color: var(--cy-gold-hi); margin-bottom: 6px; }
.vip-strip { list-style: none; margin: 20px 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.vip-strip li { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 6px; border-radius: var(--cy-r); background: var(--cy-plate); }
.vip-strip img { width: 100%; height: auto; aspect-ratio: 616 / 364; object-fit: contain; }
.vip-strip b { color: var(--cy-ink); font-size: 14px; }
@media (max-width: 760px) { .vip-strip { grid-template-columns: repeat(7, 40%); overflow-x: auto; scroll-snap-type: x mandatory; } .vip-strip li { scroll-snap-align: start; } }

.chip-list { list-style: none; margin: 12px 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chip-list li { padding: 8px 14px; border-radius: 999px; background: var(--cy-plate); border: 1px solid var(--cy-edge); color: var(--cy-ink); font-size: 14px; }
.chip-list:last-child { margin-bottom: 0; }

.vip-strip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.vip-strip li { display: flex; flex-direction: column; gap: 6px; text-align: center; }
.vip-strip img { border-radius: 8px; }
.vip-strip b { color: var(--cy-ink); font: 700 14px/1.2 var(--f-serif); }

.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.duo-col { padding: 22px 24px; border-radius: var(--cy-r); background: var(--cy-plate); }
.step-list { margin: 12px 0 0; padding-left: 22px; color: var(--cy-ink); }
.step-list li { padding: 4px 0; }
.step-list li::marker { color: var(--cy-code); font-weight: 700; }

/* inner page banners */
.banner { position: relative; margin-top: 24px; border-radius: var(--cy-r); overflow: hidden; background: var(--cy-navy); }
.banner > img { width: 100%; }
.banner-copy { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; }
.banner-k { color: var(--cy-ink); font: 700 var(--fs-3)/1.3 var(--f-sans); }
.banner-fig { margin: 6px 0 0; font: 700 var(--fs-1)/1.15 var(--f-serif); color: var(--cy-ink); }
.banner.at-left .banner-copy { right: auto; width: 46%; align-items: flex-start; text-align: left; padding-left: 40px; background: linear-gradient(90deg, rgba(10, 10, 13, .85) 60%, rgba(10, 10, 13, 0)); }
.banner.at-left .cta-row { justify-content: flex-start; }

.split-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-top: 24px; border-radius: var(--cy-r); overflow: hidden; background: var(--cy-plate); }
.split-copy { padding: 28px 40px; display: flex; flex-direction: column; gap: 12px; }
.split-fig { margin: 0; font: 700 var(--fs-2)/1.2 var(--f-serif); color: var(--cy-ink); }
.split-facts { margin: 0; padding-left: 20px; color: var(--cy-ink); }
.split-facts li::marker { color: var(--cy-code); }
.split-hero .cta-row { justify-content: flex-start; }

/* RG */
.rg-box { display: flex; gap: 24px; padding: 28px; border: 1px solid var(--cy-edge); border-radius: var(--cy-r); background: var(--cy-deep); }
.rg-age { flex: none; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 2px solid var(--cy-code); border-radius: 50%; font: 700 24px/1 var(--f-serif); color: var(--cy-ink); }
.rg-body { flex: 1; }
.rg-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.rg-facts li { display: flex; flex-direction: column; gap: 4px; font-size: 15px; }
.rg-facts b { color: var(--cy-ink); }
.rg-line { margin: 16px 0 0; color: var(--cy-ink); font-weight: 700; }

/* FAQ */
.ask-list { display: flex; flex-direction: column; gap: 8px; }
.ask { border-radius: var(--cy-r); background: var(--cy-plate); }
.ask summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; cursor: pointer; color: var(--cy-ink); font-weight: 500; list-style: none; }
.ask summary::-webkit-details-marker { display: none; }
.ask summary::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 2px solid var(--cy-code); border-bottom: 2px solid var(--cy-code); transform: rotate(45deg); }
.ask[open] summary::after { transform: rotate(-135deg); }
.ask-body { padding: 0 20px 16px; }
.ask-body .prose-slot { margin: 0; }

/* footer */
.foot { border-top: 1px solid var(--cy-edge); background: var(--cy-rail); }
.foot-in { padding-top: 36px; padding-bottom: 36px; display: flex; flex-direction: column; gap: 24px; }
.foot-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.foot-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.foot-links a { color: var(--cy-ink); text-decoration: none; font-size: 14px; }
.foot-links a:hover { color: var(--cy-gold-hi); }
.foot-info { flex-basis: 100%; justify-content: flex-end; padding-top: 12px; border-top: 1px solid var(--cy-edge); }
.foot-info a { color: var(--cy-mute); }
.pay-strip { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pay-strip .pay-plate { width: 84px; height: 36px; padding: 5px 8px; }
.pay-strip .pay-plate img { max-height: 24px; }
.foot-rg { display: flex; align-items: center; gap: 16px; }
.foot-rg p { margin: 0; font-size: 14px; }
.foot-copy { margin: 0; font-size: 13px; }

/* mobile dock */
.dock { display: none; }

@media (max-width: 1339px) {
  .burger { display: flex; }
  .mode-tabs { display: none; }
  .topbar { gap: 14px; padding: 0 16px; }
  .topbar .wordmark { width: auto; }
  .rail { transform: translateX(-100%); transition: transform .25s ease; width: 280px; top: var(--cy-top-h); }
  body.rail-open .rail { transform: none; }
  .rail-cta { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 6px; }
  .stage { margin-left: 0; }
  .rg-facts { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .level-grid, .trio { grid-template-columns: 1fr; }
  .quad { grid-template-columns: 1fr 1fr; }
  .step-row { grid-auto-flow: row; grid-template-columns: 1fr; }
  .level-grid.swipe { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
  .level-grid.swipe .level { flex: 0 0 82%; scroll-snap-align: start; }
  .speed-row { grid-template-columns: 1fr 1fr; }
  .logo-row { grid-template-columns: repeat(4, 1fr); }
  .vip-strip { display: flex; overflow-x: auto; scrollbar-width: none; }
  .vip-strip li { flex: 0 0 140px; }
  .split-hero { grid-template-columns: 1fr; }
  .split-hero > img { order: -1; }
  .reel-card { grid-template-columns: 1fr; }
  .reel-art { order: -1; }
  .reel-copy { padding: 20px; gap: 10px; align-items: center; text-align: center; }
  .split-copy { padding: 20px; align-items: center; text-align: center; }
  .split-hero .cta-row { justify-content: center; }
  .split-copy .code-chip.static { align-self: center; }
  .split-facts { padding: 0; list-style: none; }
}
@media (max-width: 760px) {
  :root { --fs-1: 28px; --fs-2: 24px; --cy-gap: 44px; }
  .auth .btn-line { display: none; }
  .wrap { padding: 0 16px; }
  .topbar .wordmark { font-size: 24px; }
  .deal-grid, .duo { grid-template-columns: 1fr; }
  .deal-fig { font-size: 22px; }
  .deal-copy { align-items: center; text-align: center; }
  .deal-facts { width: 100%; text-align: left; }
  .page-index ol { columns: 1; }
  .banner > img { border-radius: var(--cy-r) var(--cy-r) 0 0; }
  .banner-copy, .banner.at-left .banner-copy { position: static; width: auto; align-items: center; text-align: center; padding: 18px 16px 20px; background: var(--cy-plate); }
  .banner.at-left .cta-row { justify-content: center; }
  .rg-box { flex-direction: column; padding: 20px; }
  .rg-facts { grid-template-columns: 1fr; }
  .facts th, .facts td { display: block; width: auto; }
  .facts th { border-bottom: 0; padding-bottom: 4px; }
  .facts td { padding-top: 4px; }
  .foot-rg { align-items: flex-start; }
  .stack { min-width: 0; }
  .stack thead { display: none; }
  .stack tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 14px 16px; border-bottom: 1px solid var(--cy-edge); }
  .stack tbody tr:last-child { border-bottom: 0; }
  .stack td { display: flex; flex-direction: column; padding: 0; border: 0; text-align: left; white-space: normal; }
  .stack td:first-child { font-size: 18px; }
  .stack td::before { content: attr(data-k); font-size: 12px; text-transform: uppercase; color: var(--cy-mute); }
  .stack td:first-child { grid-column: 1 / -1; }
  .stack td:first-child::before { content: none; }
  .stack .pay-plate { width: 110px; }
  .stack td.pay-m { flex-direction: row; align-items: center; }
  .dock { position: fixed; z-index: 35; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: var(--cy-rail); border-top: 1px solid var(--cy-edge); }
  .dock-offer { display: flex; flex-direction: column; color: var(--cy-ink); font-size: 14px; line-height: 1.3; }
  .dock-offer span { font-size: 12px; color: var(--cy-mute); }
  body { padding-bottom: 68px; }
}
