@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("assets/fonts/instrument-serif-400-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("assets/fonts/instrument-serif-400-italic-latin.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; }
/* Instrument Serif (© 2022 The Instrument Serif Project Authors) and Jost
   (© 2020 The Jost Project Authors), both SIL Open Font License 1.1 —
   full license in assets/fonts/OFL.txt */
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("assets/fonts/instrument-serif-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Instrument Serif (© 2022 The Instrument Serif Project Authors) and Jost
   (© 2020 The Jost Project Authors), both SIL Open Font License 1.1 —
   full license in assets/fonts/OFL.txt */
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("assets/fonts/instrument-serif-400-latin.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: "Jost"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("assets/fonts/jost-300-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("assets/fonts/jost-300-latin.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: "Jost"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("assets/fonts/jost-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("assets/fonts/jost-400-latin.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: "Jost"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("assets/fonts/jost-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("assets/fonts/jost-500-latin.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: "Jost"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("assets/fonts/jost-600-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Jost"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("assets/fonts/jost-600-latin.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; }

/* Aces on Mobile — site styles, written mobile-first.
   Base rules are the phone layout; min-width queries add the wider ones.
   Felt green ground, brass accent, ivory ink; Instrument Serif over Jost. */
:root {
  --felt: #10281f;
  --felt-deep: #0b1c16;
  --ivory: #f2ece1;
  --ivory-70: rgba(242, 236, 225, .72);
  --ivory-55: rgba(242, 236, 225, .58);
  --hair: rgba(242, 236, 225, .16);
  --brass: #d2a35c;
  --brass-soft: #e8c795;
  --edge: 20px;
  --serif: "Instrument Serif", Georgia, serif;
  --sans: "Jost", system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--felt); color: var(--ivory);
  font-family: var(--sans); font-size: 16px; line-height: 1.7;
  -webkit-font-smoothing: antialiased; text-wrap: pretty;
  overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { color: var(--brass-soft); -webkit-tap-highlight-color: rgba(210, 163, 92, .2); }
a:hover { color: var(--brass); }
::selection { background: var(--brass); color: var(--felt); }
:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }

.in { width: 100%; max-width: 1120px; margin: 0 auto; padding-inline: var(--edge); }
.hair { height: 1px; background: var(--hair); border: 0; margin: 0; }
.spade { width: 1em; height: 1em; fill: currentColor; flex: none; }

/* — masthead: brand + language on the first line, links scroll underneath — */
.nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px;
  padding: 14px 0 0; border-bottom: 1px solid var(--hair); }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ivory);
  min-height: 44px; }
.brand .spade { width: 20px; height: 20px; color: var(--brass); }
.brand span { font-family: var(--serif); font-size: 21px; letter-spacing: .01em; line-height: 1; }
.nav .lang { order: 2; margin-left: auto; }
.nav .links { order: 3; flex-basis: 100%; display: flex; gap: 22px;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  margin-inline: calc(var(--edge) * -1); padding-inline: var(--edge); }
.nav .links::-webkit-scrollbar { display: none; }
.nav .links a { color: var(--ivory-70); font-size: 13px; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; white-space: nowrap;
  padding: 12px 0; border-bottom: 2px solid transparent; }
.nav .links a:hover, .nav .links a[aria-current="page"] { color: var(--brass); border-color: var(--brass); }
.lang { display: flex; align-items: center; }
.lang a { font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase;
  padding: 12px 10px; text-decoration: none; color: var(--ivory-55); }
.lang a + a { border-left: 1px solid var(--hair); }
.lang a[aria-pressed="true"] { color: var(--ivory); }
.lang a:hover { color: var(--brass); }
.pill { border: 1px solid var(--brass); color: var(--brass-soft); padding: 11px 18px;
  font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
  white-space: nowrap; }
.pill:hover { background: var(--brass); color: var(--felt); }

/* — buttons: full-width on the phone, auto once there is room — */
.btn { display: flex; align-items: center; justify-content: center; text-align: center;
  font-family: var(--sans); font-size: 15px; font-weight: 500; letter-spacing: .04em;
  text-decoration: none; padding: 14px 24px; min-height: 48px; border: 1px solid transparent; }
.btn-solid { background: var(--brass); color: var(--felt); }
.btn-solid:hover { background: var(--brass-soft); color: var(--felt); }
.btn-line { border-color: rgba(242, 236, 225, .4); color: var(--ivory); }
.btn-line:hover { border-color: var(--ivory); background: rgba(242, 236, 225, .07); color: var(--ivory); }
.btn-sm { min-height: 46px; padding: 12px 18px; font-size: 14px; }
/* official Google Play badge — artwork is used unmodified, only scaled and cropped */
/* The Play badge PNG is 646x250 with a uniform 41px of transparent clear space on all
   four sides, so the artwork itself is 564x168. Because the padding is uniform, one
   negative margin crops it on every side; the wrapper's height and width are then the
   artwork's own size. Keeping those three numbers in step is what makes the Play
   artwork and the App Store SVG line up on the same left edge at the same height:
     img height = H * 250/168     margin = -H * 41/168     box width = H * 564/168
   H is the visible badge height, and it must match the App Store img height below. */
.badge { display: inline-block; line-height: 0; align-self: flex-start;
  height: 58px; width: 194.7px; overflow: hidden; }
/* max-width:none defeats the global img{max-width:100%}: the wrapper is narrower than
   the uncropped PNG on purpose, and without this the image is squeezed to fit it. */
.badge img { height: 86.3px; width: auto; max-width: none; display: block; margin: -14.15px; }
.badge-sm { height: 44px; width: 147.7px; }
.badge-sm img { height: 65.5px; margin: -10.74px; }
/* The German badge is a different export: 646x192 artwork with no horizontal clear
   space at all and 29px above and below, so it needs its own numbers. i18n.js sets
   documentElement.lang, so these swap live with the EN/DE switch.
     img height = H * 250/192     margin = -H * 29/192     width: auto (no side crop) */
html[lang="de"] .badge { width: auto; }
html[lang="de"] .badge img { height: 75.5px; margin: -8.76px 0; }
html[lang="de"] .badge-sm { width: auto; }
html[lang="de"] .badge-sm img { height: 57.3px; margin: -6.65px 0; }
/* flex-start on both axes: stacked on the phone, the App Store badge must start at the
   same left edge as the Play badge instead of centring itself in the stretched column. */
.badge-wait { display: inline-flex; flex-direction: column; align-items: flex-start;
  align-self: flex-start; gap: 7px; }
.badge-wait img { height: 58px; width: auto; display: block; }
.stores .badge-wait { gap: 5px; }
.stores .badge-wait img { height: 44px; }
.soon-note { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ivory-55);
  text-align: left; align-self: stretch; }

.stores { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; margin-top: 12px; }
.stores .note { font-size: 12px; letter-spacing: .06em; color: var(--ivory-55); margin-right: 8px; }
.badge:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.row { display: flex; flex-direction: column; gap: 12px; }

/* — labels & ornaments — */
.label { font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--brass);
  margin: 0 0 18px; display: flex; align-items: center; gap: 9px; }
.label .spade { width: 10px; height: 10px; }
.suits { display: flex; gap: 16px; justify-content: center; color: var(--brass);
  font-size: 14px; margin: 0 0 22px; }
.suits .spade { width: 14px; height: 14px; }

/* — hero — */
.hero { padding: 44px 0 40px; text-align: center; }
.hero h1 { font-family: var(--serif); font-weight: 400; font-size: 40px; line-height: 1.06;
  letter-spacing: -0.005em; margin: 0; }
.hero h1 em { font-style: italic; color: var(--brass-soft); }
.hero .sub { font-size: 16.5px; line-height: 1.7; color: var(--ivory-70); max-width: 54ch;
  margin: 20px auto 0; }
.hero .row { margin-top: 26px; }

/* — screenshots: a stack on the phone, a fan of cards on the desktop — */
.fan { display: grid; gap: 12px; }
.fan img { width: 100%; border-radius: 12px; border: 1px solid rgba(242, 236, 225, .22);
  box-shadow: 0 18px 34px -18px rgba(0, 0, 0, .6); }
.fan img:nth-child(3) { display: none; }

/* — facts — */
.facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 18px;
  padding: 32px 0 36px; border-top: 1px solid var(--hair); margin-top: 40px; }
.facts b { font-family: var(--serif); font-weight: 400; font-size: 34px; line-height: 1.1;
  color: var(--brass-soft); display: block; }
.facts span { font-size: 12.5px; letter-spacing: .06em; color: var(--ivory-55); display: block;
  max-width: 24ch; line-height: 1.5; }

/* — sections & ruled rows — */
.section { padding-block: 44px; }
.section > h2 { font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.12;
  letter-spacing: -0.01em; margin: 0 0 26px; max-width: 26ch; }
.section > h2 em { font-style: italic; color: var(--brass-soft); }
.rows { border-top: 1px solid var(--hair); }
.rows .item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px 16px;
  align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--hair); }
.rows .n { font-family: var(--serif); font-size: 20px; color: var(--brass); line-height: 1.3; }
.rows h3 { font-family: var(--serif); font-weight: 400; font-size: 24px; line-height: 1.2;
  letter-spacing: -0.005em; margin: 0; }
.rows h3 .sub { display: block; font-family: var(--sans); font-size: 12px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--brass); margin-top: 6px; line-height: 1.5; }
.rows p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--ivory-70); max-width: 58ch;
  grid-column: 2; }
.rows .stores { grid-column: 2; }
.rows .plat { grid-column: 2; display: flex; flex-direction: column; gap: 10px;
  align-items: stretch; margin-top: 4px; }
.rows .soon { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ivory-55);
  border: 1px dashed var(--hair); padding: 13px 16px; text-align: center; }
.rows .st { grid-column: 2; font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--brass); display: flex; align-items: center; gap: 9px; }
.rows .st .spade { width: 10px; height: 10px; }
.rows .st.muted { color: var(--ivory-55); }

/* — highlight list — */
.marks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.marks li { display: grid; grid-template-columns: 14px 1fr; gap: 12px; align-items: start;
  font-size: 15.5px; line-height: 1.65; color: var(--ivory-70); }
.marks li svg { width: 11px; height: 11px; color: var(--brass); margin-top: .45em; }

/* — the game band — */
.band-deep { background: var(--felt-deep); border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair); }
.game { display: grid; gap: 26px; align-items: start; }
.game .idcard { display: flex; gap: 16px; align-items: flex-start; }
.game .idcard img { width: 68px; height: 68px; border-radius: 14px;
  border: 1px solid rgba(242, 236, 225, .22); }
.game h2 { font-family: var(--serif); font-weight: 400; font-size: 32px; line-height: 1.1;
  margin: 0 0 8px; }
.game p { font-size: 15.5px; line-height: 1.7; color: var(--ivory-70); margin: 0; max-width: 58ch; }
.game p + p { margin-top: 16px; }
.shots { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 30px; }
.shots img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px;
  border: 1px solid rgba(210, 163, 92, .28); }

/* — quote — */
.quote { padding: 48px 0 52px; text-align: center; }
.quote blockquote { font-family: var(--serif); font-weight: 400; font-style: italic;
  font-size: 26px; line-height: 1.25; letter-spacing: -0.01em; max-width: 30ch; margin: 0 auto; }
.quote figcaption { font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--ivory-55); margin-top: 20px; line-height: 1.6; }

/* — closing band — */
.close { background: var(--felt-deep); border-top: 1px solid var(--hair); }
.close .in { padding-top: 48px; padding-bottom: 52px; text-align: center; }
.close .spade-mark { width: 26px; height: 26px; color: var(--brass); margin: 0 auto 18px; }
.close h2 { font-family: var(--serif); font-weight: 400; font-size: 36px; line-height: 1.08; margin: 0; }
.close .row { margin-top: 26px; }

/* — footer — */
footer { border-top: 1px solid var(--hair); }
footer .in { display: flex; flex-direction: column; gap: 16px;
  padding-top: 28px; padding-bottom: 36px; }
footer .fbrand { display: flex; align-items: center; gap: 10px; font-family: var(--serif);
  font-size: 19px; }
footer .fbrand .spade { width: 16px; height: 16px; color: var(--brass); }
footer .fnav { display: flex; flex-wrap: wrap; gap: 4px 22px; }
footer a { color: var(--ivory-55); font-size: 13.5px; letter-spacing: .05em; text-decoration: none;
  padding: 0; display: inline-flex; align-items: center; min-height: 44px; }
footer a:hover { color: var(--brass); }
footer .fine { font-size: 13px; color: var(--ivory-55); letter-spacing: .04em; }

/* — inner pages — */
.page-head { padding: 34px 0 30px; }
.page-head h1 { font-family: var(--serif); font-weight: 400; font-size: 38px; line-height: 1.08;
  margin: 0; }
.page-head .lead { font-size: 16.5px; line-height: 1.7; color: var(--ivory-70); max-width: 58ch;
  margin: 18px 0 0; }
.blocks { padding-bottom: 44px; border-top: 1px solid var(--hair); }
.block { display: grid; gap: 10px; padding: 22px 0; border-bottom: 1px solid var(--hair); }
.block h2 { font-family: var(--serif); font-weight: 400; font-size: 23px; line-height: 1.2; margin: 0; }
.block p, .block address, .block li { font-size: 15.5px; line-height: 1.75; color: var(--ivory-70);
  font-style: normal; }
.block p { margin: 0; max-width: 64ch; }
.block p + p { margin-top: 16px; }
.facts-table { width: 100%; border-collapse: collapse; }
.facts-table td { padding: 10px 0; vertical-align: baseline; font-size: 15.5px; color: var(--ivory-70); }
.facts-table td:first-child { color: var(--brass); font-size: 11.5px; letter-spacing: .12em;
  text-transform: uppercase; padding-right: 16px; width: 38%; }
.facts-table tr + tr td { border-top: 1px solid var(--hair); }
.grid-shots { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 20px; }
.grid-shots img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px;
  border: 1px solid rgba(210, 163, 92, .28); }

/* ─────────── ≥600px: two-up grids, buttons side by side ─────────── */
@media (min-width: 600px) {
  :root { --edge: 32px; }
  .row { flex-direction: row; flex-wrap: wrap; gap: 14px; }
  .hero .row, .close .row { justify-content: center; }
  .btn { display: inline-flex; }
  .hero { padding: 60px 0 46px; }
  .hero h1 { font-size: 54px; }
  .close h2 { font-size: 46px; }
  .quote blockquote { font-size: 32px; }
  .page-head h1 { font-size: 48px; }
  .shots { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .grid-shots { grid-template-columns: repeat(3, 1fr); }
  .rows .plat { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .rows .soon { text-align: left; }
  .facts { grid-template-columns: repeat(4, 1fr); gap: 24px; }
  .facts b { font-size: 38px; }
  .section { padding-block: 56px; }
  .section > h2 { font-size: 36px; }
  .block { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 12px 36px;
    align-items: baseline; padding: 26px 0; }
  footer .in { flex-direction: row; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: 16px 32px; }
}

/* ─────────── ≥900px: the desktop layout — nav in one line, card fan ─────────── */
@media (min-width: 900px) {
  :root { --edge: 48px; }
  body { line-height: 1.75; }
  .nav { flex-wrap: nowrap; gap: 26px; padding: 20px 0 18px; }
  .nav .links { order: 0; flex-basis: auto; margin-left: auto; margin-inline-end: 0;
    padding-inline: 0; overflow: visible; gap: 26px; }
  .nav .links a { font-size: 13.5px; letter-spacing: .06em; padding: 6px 0; }
  .nav .lang { order: 0; margin-left: 0; }
  .brand span { font-size: 24px; }

  .hero { padding: 78px 0 56px; }
  .hero h1 { font-size: clamp(58px, 6.4vw, 88px); }
  .hero .sub { font-size: 17px; }

  .fan { position: relative; display: block; max-width: 1000px; margin: 8px auto 0; height: 340px; }
  .fan img { position: absolute; width: 42%; box-shadow: 0 26px 50px -18px rgba(0, 0, 0, .65);
    transition: transform .3s ease; }
  .fan img:nth-child(1) { left: 3%; top: 54px; transform: rotate(-8deg); }
  .fan img:nth-child(2) { left: 29%; top: 16px; z-index: 2; }
  .fan img:nth-child(3) { left: 55%; top: 58px; transform: rotate(8deg); display: block; }
  .fan img:nth-child(1):hover { transform: rotate(-8deg) translateY(-10px); }
  .fan img:nth-child(2):hover { transform: translateY(-10px); }
  .fan img:nth-child(3):hover { transform: rotate(8deg) translateY(-10px); }

  .facts { padding: 44px 0 48px; margin-top: 56px; gap: 28px; }
  .facts b { font-size: 40px; }
  .section { padding-block: 64px; }
  .section > h2 { font-size: clamp(38px, 3.6vw, 46px); margin-bottom: 34px; }
  .rows .item { grid-template-columns: 40px minmax(0, 5fr) minmax(0, 7fr); gap: 10px 32px;
    padding: 26px 0; }
  .rows .n { font-size: 22px; }
  .rows h3 { font-size: 27px; }
  .rows p, .rows .plat, .rows .st { grid-column: auto; margin-top: 0; }
  .rows .stores { grid-column: 3; }
  .game { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px clamp(28px, 5vw, 72px); }
  .game .idcard { gap: 20px; }
  .game .idcard img { width: 84px; height: 84px; }
  .game h2 { font-size: 40px; }
  .shots { grid-template-columns: repeat(3, 1fr); margin-top: 44px; }
  .quote { padding: 76px 0; }
  .quote blockquote { font-size: clamp(34px, 3.4vw, 44px); }
  .quote figcaption { font-size: 13px; letter-spacing: .12em; margin-top: 28px; }
  .close .in { padding-top: 76px; padding-bottom: 76px; }
  .close .spade-mark { width: 30px; height: 30px; margin-bottom: 24px; }
  .close h2 { font-size: clamp(52px, 5.4vw, 74px); }
  .page-head { padding: 66px 0 44px; }
  .page-head h1 { font-size: clamp(52px, 5.4vw, 68px); }
  .page-head .lead { font-size: 17px; margin-top: 22px; }
  .blocks { padding-bottom: 64px; }
  .block { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 12px 44px; padding: 28px 0; }
  .block h2 { font-size: 25px; }
  .facts-table td { padding: 12px 0; }
  .facts-table td:first-child { width: 34%; font-size: 12.5px; }
  .grid-shots { gap: 12px; margin-top: 24px; }
  footer .in { padding-top: 34px; padding-bottom: 44px; }
}

@media (min-width: 1120px) { :root { --edge: 64px; } }
