:root {
  /* Seeds: pulled from globals.css_file's --css_* vars (always linked and populated
     by the generator) instead of the inline globals.palette <style> block, which the
     generator frequently fails to render at all — see memory bn1-r-prefix-palette-i18n#9 */
  --cf-magenta: var(--css_header_background_color, #c6238e);
  --cf-heading: var(--css_main_heading_color, #1c1c2b);
  --cf-text: var(--css_main_text_color, #4b4b5c);
  --cf-bg: var(--css_main_background_color, #f3f3f7);
  --cf-white: #ffffff;
  /* Derived shades — same color-mix formulas the (unreliable) inline palette block used */
  --cf-magenta-dark: color-mix(in srgb, var(--cf-magenta) 78%, black);
  --cf-magenta-darker: color-mix(in srgb, var(--cf-magenta) 60%, black);
  --cf-btn: color-mix(in srgb, var(--cf-magenta) 65%, black);
  --cf-btn-hover: color-mix(in srgb, var(--cf-magenta) 50%, black);
  --cf-tint: color-mix(in srgb, var(--cf-magenta) 8%, var(--cf-white));
  --cf-muted: color-mix(in srgb, var(--cf-text) 55%, var(--cf-bg));
  --cf-border: color-mix(in srgb, var(--cf-text) 10%, var(--cf-white));
  /* Status/decorative colors — intentionally not brand-themed */
  --cf-green: #1f9d5c;
  --cf-green-bg: #e4f7ec;
  --cf-orange: #e07b1a;
  --cf-orange-bg: #fdf1e0;
  --cf-radius: 12px;
  --cf-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--cf-font); background: var(--cf-bg); color: var(--cf-text); }
img { max-width: 100%; }
a { color: var(--cf-magenta); text-decoration: none; }
a:hover { text-decoration: underline; }
.r-container { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 1.25rem; }
h1, h2, h3 { color: var(--cf-heading); margin: 0; }
button { font-family: inherit; cursor: pointer; }

/* ===== Header ===== */
.r-topbar { background: var(--cf-magenta); padding: .85rem 0; }
.r-topbar__row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.r-logo { display: flex; align-items: center; gap: .55rem; flex: 0 0 auto; }
.r-logo img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: #fff; }
.r-logo__mark { width: 38px; height: 38px; border-radius: 50%; background: #fff; display: grid; place-items: center; color: var(--cf-magenta); font-weight: 900; font-size: 1.1rem; }
.r-logo__name { color: #fff; font-weight: 900; font-size: 1.15rem; letter-spacing: -0.01em; white-space: nowrap; }
.r-logo__name b { font-weight: 900; }
.r-search { flex: 1 1 auto; max-width: 460px; display: flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; padding: .5rem .95rem; color: rgba(255,255,255,.85); font-weight: 700; font-size: .88rem; }
.r-search svg { width: 16px; height: 16px; flex: 0 0 auto; }
.r-search input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent; color: #fff; font-family: inherit; font-weight: 700; font-size: .88rem; }
.r-search input::placeholder { color: rgba(255,255,255,.85); font-weight: 700; }
.r-topbar__actions { margin-left: auto; display: flex; align-items: center; gap: .6rem; flex: 0 0 auto; }
.r-pillbtn { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid rgba(255,255,255,.5); color: #fff; background: transparent; border-radius: 999px; padding: .5rem 1rem; font-weight: 800; font-size: .84rem; white-space: nowrap; }
.r-pillbtn:hover { background: rgba(255,255,255,.1); text-decoration: none; }
@media (max-width: 600px) {
  .r-topbar__row { gap: .5rem; }
  .r-logo { flex: 1 1 100%; }
  .r-search { flex: 0 1 130px; min-width: 0; max-width: 130px; padding: .4rem .6rem; gap: .35rem; }
  .r-search input { font-size: .76rem; }
  .r-topbar__actions { gap: .4rem; flex: 0 0 auto; }
  .r-pillbtn { padding: .45rem .8rem; font-size: .78rem; }
}

.r-nav { background: var(--cf-magenta-dark); }
.r-nav__row { display: flex; align-items: center; gap: .1rem; overflow-x: auto; }
.r-nav a { display: inline-flex; align-items: center; gap: .3rem; color: #fff; font-weight: 800; font-size: .92rem; padding: .95rem 1.1rem; white-space: nowrap; }
.r-nav a:hover { text-decoration: none; background: rgba(255,255,255,.08); }
.r-nav a.is-active,
.r-nav a[aria-current="page"] { background: var(--cf-magenta-darker); }
.r-nav__badge { background: #fff; color: var(--cf-magenta-dark); font-size: .62rem; font-weight: 900; padding: .05rem .38rem; border-radius: 999px; }

/* Category dropdowns (menu is position:fixed because .r-nav__row scrolls horizontally; placed by JS) */
.r-navdrop { position: relative; flex: 0 0 auto; }
.r-navdrop summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: .45rem; color: #fff; font-weight: 800; font-size: .92rem; padding: .95rem 1.1rem; white-space: nowrap; user-select: none; }
.r-navdrop summary::-webkit-details-marker { display: none; }
.r-navdrop summary:hover,
.r-navdrop[open] summary { background: rgba(255,255,255,.08); }
.r-navdrop summary.is-active { background: var(--cf-magenta-darker); }
.r-navdrop__caret { width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -3px; transition: transform .15s ease; }
.r-navdrop[open] .r-navdrop__caret { transform: rotate(225deg); margin-top: 3px; }
.r-navdrop__menu { position: fixed; z-index: 40; min-width: 240px; max-width: min(340px, calc(100vw - 16px)); max-height: 70vh; overflow-y: auto; background: var(--cf-white); border-radius: 0 0 var(--cf-radius) var(--cf-radius); box-shadow: 0 18px 40px rgba(0,0,0,.18); display: grid; }
.r-nav .r-navdrop__item { display: block; padding: .8rem 1.1rem; color: var(--cf-heading); font-weight: 700; font-size: .9rem; white-space: normal; border-bottom: 1px solid var(--cf-border); }
.r-nav .r-navdrop__item:last-child { border-bottom: 0; }
.r-nav .r-navdrop__item:hover { background: var(--cf-tint); text-decoration: none; }
.r-nav .r-navdrop__item[aria-current="page"] { background: var(--cf-tint); color: var(--cf-btn); font-weight: 900; }

/* ===== Language switcher (dropdown, styled like the topbar pill) ===== */
.r-langswitch { position: relative; }
.r-langswitch summary { list-style: none; cursor: pointer; }
.r-langswitch summary::-webkit-details-marker { display: none; }
.r-langswitch__caret { width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -2px; }
.r-langswitch[open] .r-langswitch__caret { transform: rotate(225deg); margin-top: 2px; }
.r-langswitch__menu { position: absolute; top: calc(100% + .5rem); right: 0; z-index: 30; min-width: 140px; background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); box-shadow: 0 18px 40px rgba(0,0,0,.18); padding: .4rem; display: grid; gap: .1rem; }
.r-langswitch__item { display: block; padding: .5rem .7rem; border-radius: 8px; font-weight: 700; font-size: .86rem; color: var(--cf-text); }
.r-langswitch__item:hover { background: var(--cf-bg); text-decoration: none; }
.r-langswitch__item.is-current { color: var(--cf-magenta); font-weight: 900; }

/* ===== Hero (headline + proof badges, then media/rating card + bonus finder side-by-side) ===== */
.r-hero { background: var(--cf-white); border-bottom: 1px solid var(--cf-border); padding: 2rem 0 2.2rem; }
.r-hero h1 { font-size: clamp(1.6rem, 1.6vw + 1rem, 2.3rem); letter-spacing: -0.02em; }
.r-byline { display: flex; align-items: center; gap: .5rem; color: var(--cf-muted); font-size: .86rem; font-weight: 700; margin: .6rem 0 1rem; }
.r-byline .r-avatar-sm { width: 20px; height: 20px; border-radius: 50%; background: var(--cf-magenta-dark); display: inline-grid; place-items: center; color: #fff; font-size: .6rem; font-weight: 900; }
.r-lead { line-height: 1.7; margin: 0; }

.r-proof { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.1rem; }
.r-proof__item { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .8rem; border-radius: 999px; border: 1px solid var(--cf-border); background: var(--cf-bg); font-weight: 800; font-size: .82rem; color: var(--cf-text); }
.r-proof__item svg { width: 14px; height: 14px; color: var(--cf-green); flex: 0 0 auto; }

.r-hero__grid { display: grid; gap: 1.1rem; margin-top: 1.4rem; grid-template-columns: 1fr; }
@media (min-width: 900px) { .r-hero__grid { grid-template-columns: 1.15fr .85fr; align-items: stretch; } }

.r-heromedia { border: 1px solid var(--cf-border); border-radius: var(--cf-radius); overflow: hidden; background: var(--cf-white); }
.r-heromedia__img { padding: .9rem; background: var(--cf-bg); }
.r-heromedia__img img { display: block; width: 100%; height: 190px; object-fit: cover; border-radius: 8px; }
.r-heromedia__body { padding: 1rem 1.1rem 1.1rem; }
.r-heromedia__title { font-weight: 900; color: var(--cf-heading); margin-bottom: .6rem; }
.r-checks { display: grid; gap: .45rem; margin-bottom: .9rem; padding: 0; margin-left: 0; }
.r-checks li { display: flex; align-items: center; gap: .5rem; font-size: .88rem; font-weight: 700; color: var(--cf-text); list-style: none; }
.r-checks svg { width: 16px; height: 16px; color: var(--cf-green); flex: 0 0 auto; }
.r-ministats { display: flex; gap: .7rem; }
.r-ministat { flex: 1; border: 1px solid var(--cf-border); border-radius: 10px; padding: .6rem .7rem; background: var(--cf-bg); }
.r-ministat b { display: block; color: var(--cf-heading); font-weight: 900; }
.r-ministat span { display: block; color: var(--cf-muted); font-size: .78rem; font-weight: 700; }

.r-finder { border: 1px solid var(--cf-border); border-radius: var(--cf-radius); background: var(--cf-white); padding: 1.1rem; display: flex; flex-direction: column; }
.r-finder__top { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; }
.r-finder__top b { font-weight: 900; color: var(--cf-heading); }
.r-finder__top p { margin: .3rem 0 0; color: var(--cf-muted); font-size: .86rem; }
.r-finder__badge { background: var(--cf-tint); color: var(--cf-magenta); font-weight: 900; font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; padding: .28rem .55rem; border-radius: 999px; white-space: nowrap; }
.r-finder__field { margin-top: .9rem; }
.r-finder__field label { display: block; font-weight: 800; font-size: .84rem; margin-bottom: .3rem; }
.r-finder__field select { width: 100%; border: 1px solid var(--cf-border); border-radius: 10px; padding: .6rem .7rem; font-family: inherit; font-size: .88rem; color: var(--cf-text); background: var(--cf-white); }
.r-finder__cta { margin-top: 1rem; }
.r-finder__cta a.r-playbtn { width: 100%; }
.r-finder__fine { margin-top: .5rem; font-size: .78rem; color: var(--cf-muted); text-align: center; }

/* ===== Facts strip (trust bar in place of a multi-casino logo grid) ===== */
.r-facts { background: var(--cf-bg); border-bottom: 1px solid var(--cf-border); padding: .9rem 0; }
.r-facts__row { display: flex; flex-wrap: wrap; gap: 1.6rem; }
.r-facts__item { font-size: .86rem; color: var(--cf-muted); font-weight: 700; }
.r-facts__item b { color: var(--cf-heading); font-weight: 900; }

/* ===== List head ===== */
.r-listhead { padding: 1.6rem 0 .9rem; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.r-listhead h2 { font-size: clamp(1.25rem, 1vw + 1rem, 1.6rem); }
.r-listhead__count { color: var(--cf-muted); font-weight: 700; font-size: .9rem; }
.r-fine-note { color: var(--cf-muted); font-size: .82rem; margin: 0 0 1rem; }

/* ===== Filter / sort toolbar ===== */
.r-toolbar { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; margin-bottom: 1.1rem; }

.r-chip { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--cf-border); background: var(--cf-white); border-radius: 999px; padding: .5rem .95rem; font-weight: 800; font-size: .84rem; color: var(--cf-text); cursor: pointer; }
.r-chip.is-on { border-color: var(--cf-green); color: var(--cf-green); background: var(--cf-green-bg); }
.r-chip svg { width: 12px; height: 12px; }

.r-filter { position: relative; }
.r-filter summary { list-style: none; cursor: pointer; }
.r-filter summary::-webkit-details-marker { display: none; }
.r-filter__label { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--cf-border); background: var(--cf-white); border-radius: 999px; padding: .5rem .95rem; font-weight: 800; font-size: .84rem; color: var(--cf-text); }
.r-filter[open] .r-filter__label { border-color: var(--cf-magenta); color: var(--cf-magenta); }
.r-filter__label .r-caret { width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -3px; }
.r-filter[open] .r-filter__label .r-caret { transform: rotate(225deg); margin-top: 2px; }
.r-filter__clear { display: none; width: 16px; height: 16px; border-radius: 50%; background: var(--cf-border); color: var(--cf-text); align-items: center; justify-content: center; font-size: .68rem; line-height: 1; margin-left: -.15rem; }
.r-filter.has-active .r-filter__clear { display: inline-flex; }
.r-filter.has-active .r-filter__label { border-color: var(--cf-magenta); color: var(--cf-magenta); background: var(--cf-tint); }

.r-filter__panel { position: absolute; top: calc(100% + .5rem); left: 0; z-index: 20; min-width: 220px; background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); box-shadow: 0 18px 40px rgba(0,0,0,.14); padding: .6rem; display: grid; gap: .15rem; }
.r-filter__search { display: flex; align-items: center; gap: .4rem; border: 1px solid var(--cf-border); border-radius: 999px; padding: .4rem .7rem; margin-bottom: .4rem; }
.r-filter__search svg { width: 13px; height: 13px; color: var(--cf-muted); flex: 0 0 auto; }
.r-filter__search input { border: 0; outline: 0; font-family: inherit; font-size: .82rem; width: 100%; }
.r-filter__option { display: flex; align-items: center; gap: .55rem; padding: .45rem .5rem; border-radius: 8px; font-size: .86rem; font-weight: 700; cursor: pointer; }
.r-filter__option:hover { background: var(--cf-bg); }
.r-filter__option input { accent-color: var(--cf-magenta); width: 15px; height: 15px; }

/* ===== Bonus table (fits container width, no horizontal scroll) ===== */
.r-tablewrap { background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); overflow: hidden; margin-bottom: 2rem; }
.r-table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .88rem; }
.r-table thead th { background: var(--cf-bg); color: var(--cf-magenta-dark); text-transform: uppercase; letter-spacing: .03em; font-size: .7rem; font-weight: 900; padding: .75rem .7rem; text-align: left; }
.r-table tbody td { padding: .85rem .7rem; border-top: 1px solid var(--cf-border); vertical-align: middle; overflow-wrap: break-word; }
.r-table tbody tr:hover { background: #fdfaff; }
.r-table col.col-medal { width: 8%; }
.r-table col.col-bonus { width: 32%; }
.r-table col.col-offer { width: 45%; }
.r-table col.col-cta { width: 15%; }

.r-medal { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; font-size: .78rem; color: #fff; }
.r-medal--1 { background: #2b2b3a; }
.r-medal--2 { background: #a9a9b8; }
.r-medal--3 { background: linear-gradient(135deg,#c98a2e,#8a5a1a); }
.r-medal--score { background: linear-gradient(135deg,#ffd76b,#e0a417); color: #4a2e00; }
.r-medal--rank { background: var(--cf-bg); color: var(--cf-heading); border: 1px solid var(--cf-border); }

.r-bonusrow { display: flex; align-items: flex-start; gap: .6rem; }
.r-bonusrow__icon { width: 38px; height: 38px; border-radius: 10px; background: var(--cf-bg); display: grid; place-items: center; color: var(--cf-magenta); flex: 0 0 auto; }
.r-bonusrow__icon svg { width: 20px; height: 20px; }
.r-bonusrow b { display: block; color: var(--cf-heading); font-weight: 900; font-size: .92rem; }
.r-stars { color: #e0a417; font-size: .76rem; letter-spacing: 1px; }
.r-stars b { display: inline; color: var(--cf-heading); font-weight: 900; font-size: .76rem; margin-left: .2rem; }
.r-verified { display: block; color: var(--cf-muted); font-size: .78rem; font-weight: 700; }
.r-tagstack { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .35rem; }

.r-tag { display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .5rem; border-radius: 999px; font-weight: 900; font-size: .66rem; text-transform: uppercase; letter-spacing: .02em; white-space: nowrap; }
.r-tag--new { background: var(--cf-green-bg); color: var(--cf-green); }
.r-tag--exclusive { background: var(--cf-tint); color: var(--cf-magenta); }
.r-tag--trending { background: var(--cf-orange-bg); color: var(--cf-orange); }

.r-offer b { display: block; color: var(--cf-green); font-weight: 900; font-size: .95rem; line-height: 1.25; }
.r-offer span { display: block; color: var(--cf-muted); font-size: .78rem; font-weight: 700; margin-top: .15rem; }

.r-code { gap: 0; max-width: 100%; border: 1px dashed var(--cf-magenta); border-radius: 999px; overflow: hidden; }
.r-code span { padding: .28rem .5rem; font-weight: 900; color: var(--cf-heading); font-size: .76rem; overflow: hidden; text-overflow: ellipsis; }
span.r-code { display: flex; align-items: center; margin: 0; }
span.r-code span { margin: 0; }
.r-code button { border: 0; border-left: 1px dashed var(--cf-magenta); background: transparent; color: var(--cf-magenta); font-weight: 900; font-size: .7rem; padding: .28rem .5rem; flex: 0 0 auto; }
.r-code button:hover { background: var(--cf-tint); }
.r-code button[data-copied="true"] { color: var(--cf-green); }

.r-offercode { display: flex; align-items: center; gap: .4rem; margin-top: .5rem; font-size: .78rem; color: var(--cf-muted); font-weight: 700; }
.r-offerplain { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; margin-top: .4rem; font-size: .78rem; color: var(--cf-muted); }
.r-offerplain span { display: flex; align-items: center; margin: 0 .35rem 0 0; }
.r-offerplain b { color: var(--cf-text); font-weight: 800; }
.r-offerplain span b { margin-left: 3px; font-size: inherit; }

.r-playbtn { display: inline-flex; align-items: center; justify-content: center; background: var(--cf-btn); color: #fff; font-weight: 900; font-size: .82rem; padding: .55rem .9rem; border-radius: 999px; border: 0; white-space: nowrap; text-decoration: none; width: 100%; }
.r-playbtn:hover { background: var(--cf-btn-hover); text-decoration: none; }
.r-playcell { display: grid; gap: .3rem; justify-items: center; text-align: center; }
.r-playcell a.r-tcs { display: block; width: 100%; font-size: .7rem; color: var(--cf-muted); font-weight: 700; text-align: center; }

/* Below 860px the table becomes a stacked list of "cards" — never scrolls horizontally */
@media (max-width: 860px) {
  .r-table, .r-table tbody { display: block; width: 100%; }
  .r-table thead { display: none; }
  .r-tablewrap { background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .r-table tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: var(--cf-white);
    border: 1px solid var(--cf-border);
    border-radius: var(--cf-radius);
    margin-bottom: 15px;
    padding: .9rem .9rem 1rem;
  }
  .r-table tbody td { display: block; width: 100%; padding: .5rem 0; border-top: 0; border-bottom: 1px solid var(--cf-border); }
  .r-table tbody td:last-of-type { border-bottom: 0; }
  .r-table td[data-label="Rank"] { display: none; }
  .r-table td[data-label="Bonus"] { width: 100%; }
  .r-bonusrow { align-items: center; }
  .r-playcell { justify-items: stretch; margin-top: .4rem; }
}

/* ===== Benefits marquee (auto-moving, doubled loop) ===== */
.r-marquee-wrap { padding: .3rem 0 1.8rem; overflow: hidden; }
.r-marquee { display: flex; gap: 1rem; width: max-content; animation: cf-marquee 38s linear infinite; }
.r-marquee-wrap:hover .r-marquee { animation-play-state: paused; }
@keyframes cf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.r-benefit { flex: 0 0 auto; min-width: min(320px, 82vw); display: flex; gap: .6rem; align-items: baseline; background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); padding: .75rem .95rem; }
.r-benefit b { color: var(--cf-magenta); font-weight: 900; }
.r-benefit span { color: var(--cf-muted); font-size: .88rem; font-weight: 700; line-height: 1.3; }
@media (prefers-reduced-motion: reduce) { .r-marquee { animation: none; } .r-marquee-wrap { overflow: auto; } }

/* ===== Sections generic ===== */
.r-section { padding: 1.6rem 0; }
.r-section h2 { margin-bottom: .3rem; }
.r-section > .r-lead { margin-bottom: 1.1rem; color: var(--cf-muted); }

/* ===== Pros & Cons table ===== */
.r-procon { border: 1px solid var(--cf-border); border-radius: var(--cf-radius); overflow: hidden; background: var(--cf-white); }
.r-procon__head { display: grid; grid-template-columns: 1fr 1fr; background: var(--cf-bg); }
.r-procon__head div { padding: .85rem 1.1rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; font-size: .82rem; color: var(--cf-magenta-dark); }
.r-procon__row { display: grid; grid-template-columns: 1fr 1fr; }
.r-procon__row:nth-child(even) { background: #fbfbfd; }
.r-procon__row div { padding: 1rem 1.1rem; font-size: .92rem; line-height: 1.55; border-top: 1px solid var(--cf-border); }
.r-procon__row div:first-child { border-right: 1px solid var(--cf-border); }
@media (max-width: 575.98px) {
  .r-procon__head, .r-procon__row { grid-template-columns: 1fr; }
  .r-procon__row div:first-child { border-right: 0; }
}

/* ===== Steps ===== */
.r-steps { display: grid; gap: .9rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .r-steps { grid-template-columns: repeat(3, 1fr); } }
.r-step { background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); padding: 1.1rem; }
.r-step__n { width: 30px; height: 30px; border-radius: 50%; background: var(--cf-magenta); color: #fff; display: inline-grid; place-items: center; font-weight: 900; font-size: .86rem; margin-bottom: .55rem; }
.r-step h3 { font-size: 1rem; margin-bottom: .35rem; }
.r-step p { margin: 0; color: var(--cf-muted); font-size: .9rem; line-height: 1.55; }

/* ===== Reviews / testimonials ===== */
.r-quotes { display: grid; gap: .9rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .r-quotes { grid-template-columns: repeat(3, 1fr); } }
.r-quote { background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); padding: 1.1rem; }
.r-quote .r-stars { display: block; margin-bottom: .5rem; }
.r-quote p { margin: 0; color: var(--cf-text); font-size: .92rem; line-height: 1.6; }
.r-quote footer { margin-top: .9rem; display: flex; justify-content: space-between; font-size: .8rem; color: var(--cf-muted); font-weight: 700; }

/* ===== Plain SEO content ===== */
.r-content { line-height: 1.75; }
.r-content h3 { font-size: 1.15rem; margin: 1.3rem 0 .6rem; }
.r-content ul { padding-left: 1.2rem; display: grid; gap: .5rem; }
.r-content li b { color: var(--cf-heading); }

.r-content table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; font-size: .92rem; }
.r-content thead { background: var(--cf-bg); color: var(--cf-heading); }
.r-content th, .r-content td { padding: .65rem .8rem; border: 1px solid var(--cf-border); text-align: left; }
.r-content tbody tr:nth-child(even) { background: color-mix(in srgb, var(--cf-bg) 60%, var(--cf-white)); }
.r-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.2rem 0; }
.r-table-scroll table { margin: 0; }

/* ===== FAQ ===== */
.r-faq { display: grid; gap: .8rem; }
.r-faq details { background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: var(--cf-radius); overflow: hidden; }
.r-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .7rem; padding: 1rem 1.1rem; font-weight: 900; color: var(--cf-heading); }
.r-faq summary::-webkit-details-marker { display: none; }
.r-faq__icon { width: 28px; height: 28px; border-radius: 8px; background: var(--cf-tint); color: var(--cf-magenta); display: grid; place-items: center; flex: 0 0 auto; }
.r-faq__icon svg { width: 15px; height: 15px; }
.r-faq__body { padding: 0 1.1rem 1.1rem 3.5rem; color: var(--cf-muted); font-size: .92rem; line-height: 1.6; border-top: 1px solid var(--cf-border); margin-top: -1px; padding-top: .9rem; }

/* ===== Final CTA (full-bleed band, centered stack) ===== */
.r-finalcta-band { background: linear-gradient(135deg, var(--cf-magenta), var(--cf-magenta-dark)); margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }
.r-finalcta { max-width: 640px; margin: 0 auto; padding: 3rem 1.25rem; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem; }
.r-finalcta__icon { width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,.14); display: grid; place-items: center; color: #fff; margin-bottom: .4rem; }
.r-finalcta__icon svg { width: 28px; height: 28px; }
.r-finalcta h2 { color: #fff; font-size: clamp(1.3rem, 1vw + 1.1rem, 1.7rem); }
.r-finalcta p { margin: .3rem 0 0; color: rgba(255,255,255,.85); max-width: 46ch; }
.r-finalcta__actions { display: flex; gap: .7rem; flex-wrap: wrap; justify-content: center; margin-top: 1.2rem; }
.r-finalcta .r-playbtn { width: auto; background: #fff; color: var(--cf-magenta-dark); padding: .7rem 1.5rem; }
.r-finalcta .r-playbtn:hover { background: rgba(255,255,255,.9); }
.r-finalcta .r-outline-btn { border: 1.5px solid rgba(255,255,255,.6); color: #fff; font-weight: 900; font-size: .88rem; padding: .68rem 1.4rem; border-radius: 999px; display: inline-flex; align-items: center; }
.r-finalcta .r-outline-btn:hover { background: rgba(255,255,255,.1); }
.r-finalcta__fine { margin-top: 1rem; font-size: .78rem; color: rgba(255,255,255,.7); }

/* ===== Footer ===== */
.r-footer { background: var(--cf-magenta-dark); color: rgba(255,255,255,.92); padding: 2.4rem 0 0; }
.r-footer__top { display: grid; grid-template-columns: 1.3fr 1fr; gap: 1.6rem; padding-bottom: 2rem; }
@media (max-width: 767.98px) { .r-footer__top { grid-template-columns: 1fr; } }
.r-footer__brand { display: flex; align-items: center; gap: .6rem; margin-bottom: .9rem; }
.r-footer__brand .r-logo__mark { background: #fff; }
.r-footer__brand img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; background: #fff; }
.r-footer__brand span { color: #fff; font-weight: 900; font-size: 1.05rem; }
.r-footer__social { display: flex; gap: .5rem; margin-top: 1rem; }
.r-footer__social a { width: 32px; height: 32px; border-radius: 50%; background: #fff; color: var(--cf-magenta-dark); display: grid; place-items: center; }
.r-footer h4 { color: #fff; font-size: .95rem; margin-bottom: .8rem; }
.r-footer__links { display: grid; gap: .55rem; }
.r-footer__links a { color: rgba(255,255,255,.88); font-size: .88rem; font-weight: 600; }
.r-footer__links a:hover { color: #fff; }

.r-footer__badge { display: flex; align-items: center; gap: .6rem; margin: 1.6rem 0 1rem; }
.r-footer__badge .r-agecircle { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.15); display: grid; place-items: center; font-weight: 900; font-size: .8rem; color: #fff; }
.r-footer__badge b { color: #fff; font-weight: 900; }

.r-disclaimer { background: rgba(255,255,255,.08); border-radius: var(--cf-radius); padding: 1rem 1.2rem; margin-bottom: 20px; font-size: .82rem; line-height: 1.6; color: rgba(255,255,255,.86); }
.r-disclaimer a { color: #fff; }
.r-disclaimer p { margin: 0 0 .6rem; }
.r-disclaimer p:last-child { margin-bottom: 0; }


.r-footer__bottom { background: var(--cf-magenta-darker); text-align: center; padding: .9rem 0; font-size: .8rem; color: rgba(255,255,255,.82); }
