/* ===========================================================================
   mono-review — the General editorial review site.
   Flat white/charcoal/navy, generous whitespace, no gradients beyond the lede
   veil · sticky hairline masthead · the page as a plain section sequence with
   its own heading levels · ranked offer table as a classic list · H3
   mini-reviews · plus-mark FAQ · closing CTA strip · quiet footer.

   COLOUR CONTRACT (BR-GEN-44, BR-GEN-04):
   A review package ships a FIXED palette of its own and leaves the brand and
   site palette UNAPPLIED — the render context carries `branding.backgroundColor`,
   `branding.accentColor` and `branding.textColor`, and this package reads none of
   them. The whole palette therefore hangs off three CSS variables declared right
   here and nowhere else:
       --bg      the General paper-white tone
       --accent  the General navy
       --text    the General charcoal body tone
   The rendered page inlines no `:root` block at all, so this file is the only
   place a colour enters the artefact. Every other tone below is DERIVED from the
   three with color-mix() + `transparent` — outside these three there is not a
   single colour literal. Fonts are a system sans stack (no serif read font, no
   third-party font/script/image request — BR-GEN-44).

   STATE CONTRACT (BR-GEN-03):
   Element state and every JS hook is a data-* attribute — [data-open] on the
   nav drawer, [data-nav-open] on the document root, [data-scrolled] on the
   masthead, plus data-header, data-nav-toggle, data-primary-nav, data-section,
   data-faq, data-offer-table, data-offer-heading, data-offer-row, data-rank,
   data-primary, data-device, data-offer-rank, data-offer-logo,
   data-offer-initial, data-offer-badge, data-offer-bonus, data-offer-promo,
   data-offer-deposit, data-offer-features, data-offer-terms, data-offer-rating,
   data-offer-more, data-brand-slug, data-mini-review, data-footer-disclaimer,
   data-footer-age, data-footer-responsible, data-aff — never a class: the per-domain obfuscation step renames class
   tokens in the HTML and in this file, but never touches data-*, so a
   class-based state driven from JS would desync. `is-active` is the one
   modifier class here and is emitted at render time only (no JS reads it), so
   the rename stays in lockstep.
   =========================================================================== */

/* The package's own General palette — the fixed set of three every derived tone
   below is mixed from (BR-GEN-44). It stays on `html` rather than `:root` so the
   derived `:root` block beneath it reads the same custom properties on the same
   element without a specificity fight; no per-site palette overrides it. */
html {
  --bg: #ffffff;
  --accent: #1a3c7a;
  --text: #3c4250;
}

:root {
  /* Derived surface / line / muted tones (from --bg + --text). */
  --bg-2: color-mix(in srgb, var(--bg) 96%, var(--text));
  --surface: color-mix(in srgb, var(--bg) 92%, var(--text));
  --surface-2: color-mix(in srgb, var(--bg) 85%, var(--text));
  --hairline: color-mix(in srgb, var(--bg) 82%, var(--text));
  --hairline-2: color-mix(in srgb, var(--bg) 66%, var(--text));
  --muted: color-mix(in srgb, var(--text) 58%, var(--bg));
  --muted-2: color-mix(in srgb, var(--text) 78%, var(--bg));

  /* Derived accent tints. */
  --accent-2: color-mix(in srgb, var(--accent) 84%, var(--text));
  --accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);
  --accent-ring: color-mix(in srgb, var(--accent) 38%, transparent);
  --on-accent: color-mix(in srgb, var(--bg) 92%, var(--text));

  /* Derived shadows (translucent shades of the text tone). */
  --shadow-sm: color-mix(in srgb, var(--text) 7%, transparent);
  --shadow: color-mix(in srgb, var(--text) 13%, transparent);

  /* The deep contrast band the CTA strip and the footer occupy. */
  --deep: color-mix(in srgb, var(--text) 92%, var(--accent));
  --on-deep: color-mix(in srgb, var(--bg) 94%, var(--accent));
  --on-deep-muted: color-mix(in srgb, var(--bg) 66%, var(--text));

  --measure: 42rem;
  --wrap: 68rem;
  --radius: 8px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  /* General ships no serif read font (unlike Ledger) — headings and prose share
     the one system sans stack, differentiated by weight alone. */
  --font-read: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

/* The nav drawer locks background scrolling through a data attribute on the
   document root — written by JS, read only here (never a class). */
html[data-nav-open='true'] {
  overflow: hidden;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--accent-2);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.x0cb1e71f10 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.x4f637a9d71 {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 50;
  padding: 0.6rem 1rem;
  background: var(--accent);
  color: var(--on-accent);
  border-radius: 0 0 var(--radius) 0;
}

.x4f637a9d71:focus {
  left: 0;
}

.x2ac579be8d {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 1.25rem;
}

.x4c75d79b51 {
  max-width: calc(var(--measure) + 2.5rem);
}

/* ============================== BUTTONS ============================== */

.x5705a88a25 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.6rem 1.05rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font: inherit;
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    transform 0.15s ease;
}

.x6b207ac8d2 {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
}

.x6b207ac8d2:hover {
  background: var(--accent-2);
  border-color: var(--accent-2);
}

.x11120ae324 {
  background: transparent;
  border-color: var(--hairline-2);
  color: var(--muted-2);
}

.x11120ae324:hover {
  border-color: var(--accent);
  color: var(--accent-2);
}

.x9b15cca7f3 {
  padding: 0.8rem 1.5rem;
  font-size: 1rem;
}

.x20782279b8 {
  padding: 0.42rem 0.85rem;
  font-size: 0.86rem;
}

.x37e6e2ab2f {
  width: 100%;
}

/* ============================== MASTHEAD ============================== */

.xe762c765ac {
  position: sticky;
  top: 0;
  z-index: 30;
  background: var(--bg);
  border-bottom: 1px solid var(--hairline);
}

.xe762c765ac[data-scrolled='true'] {
  box-shadow: 0 1px 0 var(--shadow-sm);
}

.xfe9a7b3597 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
}

.x8515f74f05 {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--text);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.xdd42d72e90 {
  display: block;
  width: auto;
  height: 30px;
  object-fit: contain;
}

.xfe4b7b71b1 {
  font-size: 1.02rem;
}

.x0616f4d733 .xfe4b7b71b1 {
  color: var(--on-deep);
}

.x0616f4d733 {
  color: var(--on-deep);
}

.x378a44cdae {
  display: flex;
  align-items: center;
  gap: 1.35rem;
  margin-left: auto;
}

.xc3e1cf8371 {
  color: var(--muted-2);
  text-decoration: none;
  font-size: 0.93rem;
  padding: 0.25rem 0;
  border-bottom: 1px solid transparent;
}

.xc3e1cf8371:hover,
.xc3e1cf8371.x4ac2820293 {
  color: var(--text);
  border-bottom-color: var(--accent);
}

.x51114fd9a4 {
  display: none;
}

.x9cdde1adc2 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.x557b7be4b1 {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--hairline-2);
  border-radius: var(--radius);
  color: var(--text);
  cursor: pointer;
}

.xdf744312e9 {
  display: none;
}

.x557b7be4b1[aria-expanded='true'] .x0d747c8292 {
  display: none;
}

.x557b7be4b1[aria-expanded='true'] .xdf744312e9 {
  display: block;
}

/* ============================== LEDE BAND ============================== */

.x722523be04 {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--surface), var(--bg));
  border-bottom: 1px solid var(--hairline);
}

.xf6ccf9e86a {
  position: absolute;
  inset: 0;
}

.xf6ccf9e86a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* BR-GEN-15: the configured background image sits behind a darkening veil so the
   copy over it stays readable; with no image the palette wash above stands. */
.x2080feba22::after {
  content: '';
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--text) 62%, transparent);
}

.x16f9f67a40 {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}

.xbd23bbde82 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}

.x2080feba22 .xe27a425d6e {
  color: var(--on-deep);
}

.xe27a425d6e {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

.x62cf4358be {
  display: block;
  margin-left: auto;
  max-width: 46%;
  border-radius: var(--radius);
  overflow: hidden;
}

.xaefcc7facd {
  display: block;
  width: 100%;
}

/* ============================== TABLE OF CONTENTS ============================== */

.xd7bd398abc {
  border-bottom: 1px solid var(--hairline);
  background: var(--bg-2);
}

.xb7a5e7a49c {
  list-style: none;
  counter-reset: toc;
  margin: 0;
  padding: 1.1rem 0;
  display: grid;
  gap: 0.35rem;
}

.xaabfc2f015 {
  counter-increment: toc;
  font-size: 0.93rem;
}

.xaabfc2f015::before {
  content: counter(toc) '.';
  display: inline-block;
  min-width: 1.6rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.x9b88e38dc2 {
  color: var(--muted-2);
  text-decoration: none;
}

.x9b88e38dc2:hover {
  color: var(--accent-2);
  text-decoration: underline;
}

/* ============================== SECTIONS ============================== */

.xfd5c25924f {
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--hairline);
}

.xfd5c25924f:last-of-type {
  border-bottom: 0;
}

.x60afd4db82 {
  margin: 0 0 0.9rem;
  font-family: var(--font-read);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

/* The four review heading levels (BR-GEN-33) each get their own scale, so the
   rendered document reads as the outline the section levels describe. */
h1.x60afd4db82 {
  font-size: clamp(2rem, 1.5rem + 2vw, 2.85rem);
}

h2.x60afd4db82 {
  font-size: clamp(1.5rem, 1.25rem + 1.1vw, 1.95rem);
}

h3.x60afd4db82 {
  font-size: 1.32rem;
}

h4.x60afd4db82 {
  font-size: 1.1rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted-2);
}

.x25d0cae279 {
  margin: 0 0 1.2rem;
}

.x5dfd22644f {
  display: block;
  width: 100%;
  border-radius: var(--radius);
}

/* The opening section carries the page H1 and reads a touch larger. */
[data-section='reviewIntro'] .x751b6712fc > p:first-child {
  font-size: 1.1rem;
  color: var(--muted-2);
}

/* ============================== PROSE ============================== */

.x751b6712fc {
  font-family: var(--font-read);
  font-size: 1.02rem;
  line-height: 1.75;
}

.x751b6712fc p {
  margin: 0 0 1rem;
}

.x751b6712fc p:last-child {
  margin-bottom: 0;
}

.x751b6712fc h3 {
  margin: 1.6rem 0 0.6rem;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
}

.x751b6712fc ul,
.x751b6712fc ol {
  margin: 0 0 1rem;
  padding-left: 1.3rem;
}

.x751b6712fc li {
  margin-bottom: 0.4rem;
}

.x751b6712fc a {
  color: var(--accent-2);
}

.x751b6712fc strong {
  font-weight: 600;
}

/* A rich-text table (the comparison table and any authored table) scrolls inside
   its own box rather than pushing the page sideways. */
.x751b6712fc table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  margin: 0 0 1.2rem;
  border-collapse: collapse;
  font-family: var(--font);
  font-size: 0.94rem;
  font-variant-numeric: tabular-nums;
}

.x751b6712fc th,
.x751b6712fc td {
  padding: 0.55rem 0.85rem;
  border-bottom: 1px solid var(--hairline);
  text-align: left;
  vertical-align: top;
}

.x751b6712fc th {
  font-weight: 600;
  color: var(--muted-2);
  border-bottom-color: var(--hairline-2);
}

/* The how-to steps read as a numbered procedure. */
[data-section='howTo'] .x751b6712fc ol {
  list-style: none;
  counter-reset: step;
  padding-left: 0;
}

[data-section='howTo'] .x751b6712fc ol > li {
  counter-increment: step;
  position: relative;
  padding-left: 2.2rem;
  margin-bottom: 0.75rem;
}

[data-section='howTo'] .x751b6712fc ol > li::before {
  content: counter(step);
  position: absolute;
  left: 0;
  top: 0.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent-2);
  font-family: var(--font);
  font-size: 0.82rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* The advantages/drawbacks lists sit side by side where there is room. */
[data-section='reviewProsCons'] .x751b6712fc ul {
  list-style: none;
  padding-left: 0;
}

[data-section='reviewProsCons'] .x751b6712fc ul > li {
  padding: 0.5rem 0.85rem;
  margin-bottom: 0.45rem;
  border-left: 2px solid var(--hairline-2);
  background: var(--surface);
  border-radius: 0 var(--radius) var(--radius) 0;
}

/* ============================== MINI REVIEWS ============================== */

.x159741aeb4 {
  margin-top: 1.6rem;
  display: grid;
  gap: 1.1rem;
}

.x76eb29d959 {
  padding: 1.1rem 1.25rem;
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
}

.x1648f2e060 {
  margin: 0 0 0.5rem;
  font-family: var(--font);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* ============================== FAQ ============================== */

.x33f4832ba8 {
  border-top: 1px solid var(--hairline);
}

.x36c1bd3644 {
  border-bottom: 1px solid var(--hairline);
}

.xbcb3b931cd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 0;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
}

.xbcb3b931cd::-webkit-details-marker {
  display: none;
}

.xa8b8ca5b6e {
  position: relative;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}

.xa8b8ca5b6e::before,
.xa8b8ca5b6e::after {
  content: '';
  position: absolute;
  background: var(--accent);
}

.xa8b8ca5b6e::before {
  left: 0;
  top: 6px;
  width: 14px;
  height: 2px;
}

.xa8b8ca5b6e::after {
  left: 6px;
  top: 0;
  width: 2px;
  height: 14px;
}

.x36c1bd3644[open] .xa8b8ca5b6e {
  transform: rotate(45deg);
}

.x174d2f783b {
  padding: 0 0 1rem;
}

/* ============================== OFFER TABLE ============================== */

/* The bound OfferTable of a review site (BR-GEN-43). The rows arrive already
   filtered, ranked and batched, so this file styles what it is handed and hides
   nothing the render context did not mark: `[hidden]` is the batch the show-more
   control reveals, `[data-device]` is the per-device visibility of a row. */

.xe880a5580f {
  background: transparent;
}

/* The table's own public heading — its title, else its label — distinct from the
   generated section heading above it. General renders it as a plain eyebrow
   above the list of row cards, not a panel strip (Ledger's single-panel table). */
.x6f6330fc30 {
  margin: 0 0 0.9rem;
  padding: 0;
  background: transparent;
  border-bottom: 0;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
}

/* General's classic list: every row is its own bordered card with a gap between
   them, rather than Ledger's single continuous panel. */
.x81fb8bae37 {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.x66f4c19045 {
  display: grid;
  grid-template-columns: 2.6rem 6.5rem 1fr auto auto;
  align-items: center;
  gap: 0.9rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--hairline);
  border-radius: var(--radius);
  background: var(--bg-2);
  transition: border-color 0.15s;
}

.x66f4c19045:hover {
  border-color: var(--hairline-2);
}

/* BR-GEN-43: a row hidden on one device is rendered and hidden on that device
   alone. Both rules key off data-device, which the class rename never touches. */
@media (max-width: 720px) {
  .x66f4c19045[data-device='desktop'] {
    display: none;
  }
}

@media (min-width: 721px) {
  .x66f4c19045[data-device='mobile'] {
    display: none;
  }
}

/* The rank column is where digits must align down the table. */
.x7ea827b1a8 {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--muted);
  text-align: right;
}

/* The bound table's primary row is the marked one (BR-GEN-43); the marker is a
   data attribute, so the per-domain class rename cannot lose it. General marks
   it with an accent ring on the card rather than Ledger's background wash. */
.x66f4c19045[data-primary='true'] {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}

.x66f4c19045[data-primary='true'] .x7ea827b1a8 {
  color: var(--accent-2);
}

.xda532885e0 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6rem;
}

.xba128c27b5 {
  max-width: 100%;
  max-height: 2.6rem;
  width: auto;
  height: auto;
}

/* BR-GEN-43: the placeholder a brand carrying no logo renders — the first letter
   of its display name, never a substituted image. */
.xf119339f56 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid var(--hairline-2);
  border-radius: var(--radius);
  background: var(--surface);
  font-family: var(--font-read);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--accent-2);
}

.xedf9359870 {
  min-width: 0;
}

.x390d6cf3bc {
  margin: 0;
  font-weight: 600;
}

.xb9716cd19c {
  display: inline-block;
  margin: 0.25rem 0.35rem 0 0;
  padding: 0.12rem 0.45rem;
  border: 1px solid var(--accent-ring);
  border-radius: var(--radius);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-2);
}

.x2035e4313a {
  background: var(--accent-soft);
}

.x17a41ddf92,
.x4c8f9beb81,
.xe19a2f4be1,
.x78d1822753 {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  color: var(--muted-2);
}

.x78d1822753 {
  font-size: 0.76rem;
  color: var(--muted);
}

.xeb8189567b {
  font-weight: 700;
  color: var(--muted);
}

.x73fade1435 {
  padding: 0.05rem 0.3rem;
  border: 1px dashed var(--hairline-2);
  border-radius: var(--radius);
  font-family: var(--font);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
}

.xbe0c5062fc {
  margin: 0.4rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.7rem;
  font-size: 0.82rem;
  color: var(--muted-2);
}

.x4796e9a230::before {
  content: '\2022';
  margin-right: 0.35rem;
  color: var(--accent-2);
}

.xf7b8fdd6a9 {
  font-variant-numeric: tabular-nums;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--accent-2);
  white-space: nowrap;
}

.x1907d6f18d {
  white-space: nowrap;
}

/* BR-GEN-43: the show-more control, rendered only while rows remain beyond the
   first batch. main.js hides it once the last batch is revealed. */
.x6a44bb6b09 {
  display: block;
  width: 100%;
  border-top: 1px solid var(--hairline-2);
  border-radius: 0 0 var(--radius) var(--radius);
}

.x6a44bb6b09[hidden] {
  display: none;
}

.xc6a60740fc {
  margin-top: 1.2rem;
}

/* ============================== CTA STRIP ============================== */

.x0191b1c51f {
  background: var(--deep);
  color: var(--on-deep);
}

.x701aea1be0 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1.9rem;
  padding-bottom: 1.9rem;
}

.xa8680e98ef {
  margin: 0;
  font-family: var(--font-read);
  font-size: 1.3rem;
  font-weight: 600;
}

.x1cdd8f265e {
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
  color: var(--on-deep-muted);
}

/* ============================== FOOTER ============================== */

.x2002849704 {
  background: var(--deep);
  color: var(--on-deep-muted);
  border-top: 1px solid color-mix(in srgb, var(--on-deep) 16%, transparent);
}

.x567b52eb4a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
}

.x7f39d71472 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem;
}

.x7f39d71472 a {
  color: var(--on-deep-muted);
  text-decoration: none;
  font-size: 0.92rem;
}

.x7f39d71472 a:hover {
  color: var(--on-deep);
  text-decoration: underline;
}

.x1f1ab2d2d4 {
  border-top: 1px solid color-mix(in srgb, var(--on-deep) 14%, transparent);
  padding: 1.3rem 0;
  display: grid;
  gap: 1rem;
}

.xfef9d13566 {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--on-deep-muted);
  margin-bottom: 0.55rem;
}

.x9024a77500 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.xa304ce7dfa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 0.6rem;
  background: color-mix(in srgb, var(--on-deep) 10%, transparent);
  border-radius: var(--radius);
}

.xa304ce7dfa img {
  max-height: 20px;
  width: auto;
}

.xf79ffbf31b {
  border-top: 1px solid color-mix(in srgb, var(--on-deep) 14%, transparent);
  padding: 1.1rem 0;
}

/* BR-GEN-44: the platform-dictionary disclaimer and the age / play-responsibly
   marks — chrome, in the site language, identical across every review package. */
.xca254b6ce3 {
  margin: 0 0 0.5rem;
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--on-deep-muted);
}

.x066fc242a7 {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.xa7fded0728 {
  padding: 0.1rem 0.45rem;
  border: 1px solid color-mix(in srgb, var(--on-deep) 24%, transparent);
  border-radius: var(--radius);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--on-deep-muted);
}

.xd66dea69a5 {
  margin-top: 0.7rem;
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--on-deep-muted);
}

.xd66dea69a5 p {
  margin: 0 0 0.5rem;
}

.xd66dea69a5 p:last-child {
  margin-bottom: 0;
}

/* ============================== RESPONSIVE ============================== */

@media (max-width: 860px) {
  .x16f9f67a40 {
    flex-direction: column;
    align-items: flex-start;
  }

  .x62cf4358be {
    max-width: 100%;
    margin-left: 0;
  }

  .x701aea1be0 {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  body {
    font-size: 16px;
  }

  .x557b7be4b1 {
    display: inline-flex;
  }

  .x9cdde1adc2 {
    display: none;
  }

  /* The drawer is closed by default and opened by [data-open="true"], written
     from JS onto the nav element itself — never a class. */
  .x378a44cdae {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    padding: 0.9rem 1.25rem 1.25rem;
    background: var(--bg);
    border-bottom: 1px solid var(--hairline);
    box-shadow: 0 12px 24px -18px var(--shadow);
  }

  .x378a44cdae[data-open='true'] {
    display: flex;
  }

  .xc3e1cf8371 {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--hairline);
  }

  .x51114fd9a4 {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.8rem;
  }

  .x66f4c19045 {
    grid-template-columns: 2.2rem 4.5rem 1fr;
    row-gap: 0.6rem;
  }

  .xf7b8fdd6a9,
  .x1907d6f18d {
    grid-column: 2 / -1;
  }
}

/* ============================== MOTION ============================== */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
