:root {
  --paper: #f4f2ec;
  --paper-strong: #ebe8df;
  --surface: #ffffff;
  --ink: #171717;
  --muted: #6f706f;
  --line: #ddd9cf;
  --yellow: #ffba00;
  --yellow-dark: #dfa000;
  --red: #d8453a;
  --red-dark: #8c2527;
  --charcoal: #202124;
  --charcoal-soft: #292b2f;
  --success: #22a65a;
  --danger: #cf3535;
  --container: 1180px;
  --radius: 14px;
  --shadow: 0 24px 70px rgba(27, 25, 20, .11);
}

.icon {
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
  scrollbar-color: var(--red) var(--charcoal);
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

*::-webkit-scrollbar-track {
  background: var(--charcoal);
}

*::-webkit-scrollbar-thumb {
  min-height: 52px;
  border: 3px solid var(--charcoal);
  border-radius: 999px;
  background: var(--red);
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--yellow);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  text-rendering: optimizeLegibility;
}

body::selection {
  background: var(--yellow);
  color: var(--ink);
}

button,
input,
select {
  font: inherit;
}

button,
a,
select {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  padding: 12px 16px;
  background: var(--ink);
  color: white;
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.rf-site {
  min-height: 100vh;
  overflow: clip;
}

.rf-container {
  width: min(calc(100% - 40px), var(--container));
  margin-inline: auto;
}

.rf-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 76px;
  border-bottom: 1px solid rgba(23, 23, 23, .09);
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(14px);
}

.rf-nav {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

.rf-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}

.rf-logo > span:last-child {
  font-size: 19px;
  font-weight: 950;
  letter-spacing: -.055em;
}

.rf-logo strong {
  color: var(--yellow-dark);
}

.brand-mark {
  position: relative;
  width: 37px;
  height: 37px;
  display: inline-block;
  overflow: hidden;
  border-radius: 8px;
  background: var(--ink);
  transform: skewX(-7deg);
}

.brand-mark::before,
.brand-mark::after {
  content: "";
  position: absolute;
  border: 2px solid var(--yellow);
  border-radius: 50%;
}

.brand-mark::before { inset: 8px; }
.brand-mark::after { inset: 14px; border-width: 1px; }
.brand-mark__sweep { position: absolute; top: 17px; left: 17px; width: 19px; height: 2px; background: var(--yellow); transform: rotate(-42deg); transform-origin: left center; }
.brand-mark__dot { position: absolute; top: 16px; left: 16px; width: 5px; height: 5px; border-radius: 50%; background: var(--yellow); }

.rf-desktop-nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.4vw, 34px);
}

.rf-desktop-nav a {
  position: relative;
  padding-block: 28px;
  color: #5f605f;
  font-size: 12px;
  font-weight: 700;
  transition: color 150ms ease;
}

.rf-desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 20px;
  height: 2px;
  background: var(--red);
  transition: right 180ms ease;
}

.rf-desktop-nav a:hover { color: var(--ink); }
.rf-desktop-nav a:hover::after { right: 0; }

.rf-nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.rf-nav-cta {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 7px;
  background: var(--ink);
  color: white;
  font-size: 11px;
  font-weight: 800;
  transition: background 160ms ease, transform 160ms ease;
}

.rf-nav-cta:hover {
  background: var(--red);
  transform: translateY(-1px);
}

.select-shell {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.select-shell:focus-within {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(216, 69, 58, .12);
}

.select-shell select {
  width: 100%;
  min-height: 48px;
  appearance: none;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.select-shell select option {
  padding: 12px;
  background: var(--charcoal);
  color: white;
}

.select-shell > svg {
  position: absolute;
  right: 12px;
  color: #777;
  pointer-events: none;
}

.select-shell--small {
  width: 62px;
  border-color: transparent;
  background: transparent;
}

.select-shell--small select {
  min-height: 38px;
  padding: 0 24px 0 8px;
}

.select-shell--small > svg { right: 6px; }

.rf-menu-button {
  width: 43px;
  height: 43px;
  display: none;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  cursor: pointer;
}

.rf-mobile-nav {
  position: absolute;
  top: 75px;
  left: 18px;
  right: 18px;
  display: grid;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 160ms ease, visibility 160ms ease, transform 160ms ease;
}

.rf-mobile-nav.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.rf-mobile-nav a {
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 12px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  font-weight: 700;
}

.rf-mobile-nav a:last-child { border-bottom: 0; }

.rf-hero {
  padding: 62px 20px 78px;
  background: var(--paper);
}

.rf-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(430px, .77fr);
  align-items: center;
  gap: clamp(56px, 7vw, 105px);
}

.rf-hero-copy {
  max-width: 650px;
  animation: clean-rise 520ms ease both;
}

.rf-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(23, 23, 23, .055);
  color: #595a59;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .13em;
}

.rf-pill i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success);
}

.rf-hero h1 {
  margin: 24px 0 22px;
  font-size: clamp(56px, 6.2vw, 85px);
  font-weight: 950;
  line-height: .9;
  letter-spacing: -.075em;
}

.rf-hero h1 span {
  color: var(--red);
}

.rf-hero-copy > p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.65;
}

.rf-search {
  margin-top: 32px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: white;
  box-shadow: 0 18px 50px rgba(27, 25, 20, .08);
}

.rf-search-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 15px;
}

.rf-search-title > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.rf-search-title strong { font-size: 13px; }
.rf-search-title small { color: #8a8b89; font-size: 10px; }
.rf-search-title > span { padding: 5px 7px; border-radius: 5px; background: #f3eee5; color: #8b7966; font-size: 7px; font-weight: 850; letter-spacing: .1em; }

.rf-search-fields {
  display: grid;
  grid-template-columns: 1fr 94px auto;
  gap: 8px;
}

.rf-input-shell {
  min-width: 0;
  min-height: 49px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-inline: 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #faf9f6;
  color: #9a8760;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.rf-input-shell:focus-within {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(216, 69, 58, .1);
}

.rf-input-shell:has(input[aria-invalid="true"]) {
  border-color: var(--danger);
}

.rf-input-shell input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.rf-input-shell input::placeholder { color: #9b9a96; font-weight: 500; }
.select-shell--region { width: 94px; background: #faf9f6; }
.select-shell--region select { padding: 0 30px 0 13px; }

.rf-search-button {
  min-width: 128px;
  min-height: 49px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 8px;
  background: var(--yellow);
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}

.rf-search-button:hover:not(:disabled) { background: #ffc82c; transform: translateY(-1px); }
.rf-search-button:disabled { opacity: .72; cursor: progress; }

.rf-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(23,23,23,.2);
  border-top-color: var(--ink);
  border-radius: 50%;
  animation: spin 700ms linear infinite;
}

.rf-search-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 12px;
}

.rf-search-help p,
.rf-search-help a {
  margin: 0;
  font-size: 9px;
}

.rf-search-help p {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #767773;
}

.rf-search-help p svg { color: var(--success); }
.rf-search-help p.is-error { color: var(--danger); }
.rf-search-help p.is-error svg { color: var(--danger); }
.rf-search-help a { color: var(--ink); font-weight: 750; text-decoration: underline; text-decoration-color: var(--yellow-dark); text-underline-offset: 3px; }

.rf-hero-visual {
  min-width: 0;
  animation: clean-rise 560ms 80ms ease both;
}

.rf-art-panel {
  position: relative;
  min-height: 630px;
  overflow: hidden;
  border-radius: 22px;
  background: var(--charcoal);
  box-shadow: var(--shadow);
}

.rf-art-panel::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg, var(--yellow) 0 68%, var(--red) 68% 100%);
}

.rf-art-panel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% center;
}

.rf-art-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16, 16, 16, .94), transparent 55%), linear-gradient(90deg, rgba(16,16,16,.24), transparent 45%);
}

.rf-art-top {
  position: absolute;
  top: 29px;
  left: 25px;
  right: 25px;
  display: flex;
  justify-content: space-between;
  color: white;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .13em;
}

.rf-art-caption {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 32px;
  display: flex;
  flex-direction: column;
  color: white;
}

.rf-art-caption > span { color: var(--yellow); font-size: 8px; font-weight: 850; letter-spacing: .16em; }
.rf-art-caption strong { margin: 7px 0 4px; font-size: 32px; letter-spacing: -.045em; }
.rf-art-caption small { color: #b9b9b6; font-size: 10px; }

.rf-rank-chip {
  position: absolute;
  right: 25px;
  bottom: 36px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 7px;
  background: var(--red);
  color: white;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
}

.rf-rank-chip i { width: 7px; height: 7px; border: 2px solid white; transform: rotate(45deg); }

.rf-section {
  padding: 105px 20px;
}

.rf-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 45px;
}

.rf-section-heading > div { max-width: 720px; }
.rf-section-heading > div > span,
.rf-compare-copy > span,
.rf-faq-layout > div:first-child > span {
  color: var(--red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
}

.rf-section-heading h2,
.rf-compare-copy h2,
.rf-faq-layout h2 {
  margin: 11px 0 0;
  font-size: clamp(37px, 4.4vw, 57px);
  font-weight: 930;
  line-height: 1;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.rf-section-heading > p {
  max-width: 370px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.rf-profile-section {
  background: white;
}

.clean-profile {
  overflow: hidden;
  border-radius: 18px;
  background: var(--charcoal);
  color: white;
  box-shadow: var(--shadow);
  transition: opacity 180ms ease;
}

.clean-profile.is-loading { opacity: .64; }

.clean-profile-main {
  min-height: 142px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 26px 32px;
}

.clean-profile-user {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 18px;
}

.clean-avatar {
  position: relative;
  flex: 0 0 auto;
  width: 82px;
  height: 82px;
  overflow: hidden;
  border: 3px solid var(--yellow);
  border-radius: 50%;
  background: #383838;
}

.clean-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; transform: scale(1.9); }
.clean-avatar i { position: absolute; right: 1px; bottom: 5px; width: 15px; height: 15px; border: 3px solid var(--charcoal); border-radius: 50%; background: var(--success); }
.clean-profile-user > div:last-child { min-width: 0; }
.clean-profile-user span { color: #999; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.clean-profile-user h3 { margin: 5px 0 7px; overflow: hidden; text-overflow: ellipsis; font-size: clamp(28px, 3vw, 39px); letter-spacing: -.05em; white-space: nowrap; }
.clean-profile-user button { display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: transparent; color: #aaa; font-size: 10px; cursor: pointer; }
.clean-profile-user button:hover { color: var(--yellow); }

.clean-level {
  flex: 0 0 auto;
  width: 86px;
  height: 86px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border: 1px solid rgba(255, 186, 0, .5);
  border-radius: 50%;
  background: rgba(255, 186, 0, .06);
}

.clean-level span { color: var(--yellow); font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.clean-level strong { font-size: 29px; }

.clean-rank-panel {
  min-height: 225px;
  display: grid;
  grid-template-columns: 210px 1fr;
  align-items: center;
  margin: 0 24px;
  padding: 20px 45px 20px 26px;
  border-radius: 12px;
  background: linear-gradient(115deg, var(--red) 0, var(--red-dark) 42%, #3a2022 100%);
}

.clean-rank-emblem {
  position: relative;
  width: 150px;
  height: 165px;
  justify-self: center;
  clip-path: polygon(50% 0, 94% 22%, 85% 74%, 50% 100%, 15% 74%, 6% 22%);
  background: linear-gradient(145deg, #ff7968, #d7332f 55%, #8d2024);
  box-shadow: inset 0 0 0 6px var(--yellow);
}

.clean-rank-emblem span,
.clean-rank-emblem i,
.clean-rank-emblem b {
  position: absolute;
  height: 13px;
  border-radius: 12px;
  background: white;
}

.clean-rank-emblem span { width: 71px; top: 63px; left: 16px; transform: rotate(-42deg); }
.clean-rank-emblem i { width: 71px; top: 63px; right: 16px; transform: rotate(42deg); }
.clean-rank-emblem b { width: 62px; height: 62px; left: 44px; top: 50px; border: 12px solid white; background: transparent; transform: rotate(45deg); }

.clean-rank-copy { display: flex; flex-direction: column; }
.clean-rank-copy span { color: #f8bab5; font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.clean-rank-copy strong { margin: 7px 0 6px; font-size: clamp(39px, 5vw, 61px); font-weight: 950; letter-spacing: -.06em; text-transform: uppercase; }
.clean-rank-copy small { color: #e8a8a2; font-size: 9px; }

.clean-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 25px 32px;
  border-block: 1px solid rgba(255,255,255,.1);
}

.clean-stats > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 21px 20px;
  border-right: 1px solid rgba(255,255,255,.1);
}

.clean-stats > div:first-child { padding-left: 0; }
.clean-stats > div:last-child { border-right: 0; }
.clean-stats span { color: #8f8f8f; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.clean-stats strong { overflow: hidden; text-overflow: ellipsis; font-size: 15px; white-space: nowrap; }

.clean-profile-actions {
  display: flex;
  gap: 10px;
  padding: 0 32px 30px;
}

.clean-profile-actions button,
.clean-profile-actions a {
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding-inline: 20px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background: transparent;
  color: white;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.clean-profile-actions .primary-action {
  border-color: var(--yellow);
  background: var(--yellow);
  color: var(--ink);
}

.clean-profile-actions a:hover { border-color: white; }
.clean-profile-actions .primary-action:hover { background: #ffd03f; }

.rf-tools-section {
  background: var(--paper);
}

.clean-tools-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.clean-tool {
  min-height: 255px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: white;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.clean-tool:hover {
  transform: translateY(-4px);
  border-color: #c9c3b7;
  box-shadow: 0 18px 45px rgba(27,25,20,.08);
}

.clean-tool > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.clean-tool > div span { color: #a5a197; font-size: 8px; font-weight: 800; }
.clean-tool > div svg { color: var(--red); }
.clean-tool h3 { margin: 30px 0 10px; font-size: 17px; letter-spacing: -.025em; }
.clean-tool p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.clean-tool > strong { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 20px; font-size: 9px; }

.rf-compare-section {
  background: var(--yellow);
}

.rf-compare-layout {
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  align-items: center;
  gap: clamp(55px, 7vw, 100px);
}

.rf-compare-copy > span { color: #7b3f1b; }
.rf-compare-copy h2 { color: var(--ink); }
.rf-compare-copy p { margin: 20px 0 25px; color: rgba(23,23,23,.68); font-size: 13px; line-height: 1.65; }
.rf-compare-copy a { width: fit-content; display: inline-flex; align-items: center; gap: 9px; padding-bottom: 5px; border-bottom: 2px solid var(--ink); font-size: 11px; font-weight: 900; }

.clean-comparison {
  padding: 25px 28px;
  border-radius: 16px;
  background: var(--charcoal);
  color: white;
  box-shadow: 0 28px 70px rgba(82, 58, 0, .24);
}

.compare-users {
  display: grid;
  grid-template-columns: 1fr 55px 1fr;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.compare-users > div {
  display: grid;
  grid-template-columns: 50px 1fr;
  align-items: center;
  column-gap: 12px;
}

.compare-users > div:last-child { text-align: right; grid-template-columns: 1fr 50px; }
.compare-users > div:last-child .compare-avatar { grid-column: 2; grid-row: 1 / 3; }
.compare-users > div:last-child strong,
.compare-users > div:last-child small { grid-column: 1; }
.compare-avatar { grid-row: 1 / 3; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); font-weight: 950; }
.compare-avatar--yellow { background: var(--yellow); }
.compare-avatar--red { background: var(--red); color: white; }
.compare-users strong { overflow: hidden; text-overflow: ellipsis; font-size: 14px; white-space: nowrap; }
.compare-users small { margin-top: 3px; color: #7f8083; font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.compare-users > b { justify-self: center; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; font-size: 10px; }

.clean-compare-row {
  min-height: 69px;
  display: grid;
  grid-template-columns: 110px 1fr 110px;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.clean-compare-row:last-child { border-bottom: 0; }
.clean-compare-row > strong { overflow: hidden; text-overflow: ellipsis; color: #f0f0ef; font-size: 10px; text-align: right; white-space: nowrap; }
.clean-compare-row > strong:last-child { color: #ff8178; text-align: left; }
.clean-compare-row > div { display: flex; flex-direction: column; gap: 8px; }
.clean-compare-row > div > span { color: #85868a; font-size: 7px; font-weight: 800; text-align: center; text-transform: uppercase; letter-spacing: .11em; }
.clean-compare-row i { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; height: 4px; }
.clean-compare-row i b { height: 100%; justify-self: end; background: var(--yellow); }
.clean-compare-row i b:last-child { justify-self: start; background: var(--red); }

.rf-agenda-section {
  background: white;
}

.clean-agenda {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.clean-agenda article {
  min-height: 265px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.clean-agenda article > div { display: flex; align-items: center; justify-content: space-between; }
.clean-agenda article > div span { color: var(--red); font-size: 9px; font-weight: 900; }
.clean-agenda article > div small { color: #9a9994; font-size: 8px; }
.clean-agenda article > strong { margin-top: 32px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.clean-agenda h3 { margin: 8px 0; font-size: 17px; line-height: 1.25; }
.clean-agenda p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.clean-agenda article > b { width: fit-content; margin-top: auto; padding: 6px 8px; border-radius: 999px; background: #f0eee8; color: #77746e; font-size: 7px; }
.clean-agenda article > b.is-active { background: #def4e5; color: #27884d; }
.agenda-note { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; color: #858681; font-size: 9px; }
.agenda-note svg { color: var(--red); }

.rf-guides-section {
  background: var(--paper);
}

.clean-guides {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
}

.clean-guides article {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
}

.guide-cover {
  min-height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--charcoal);
  color: var(--yellow);
}

.guide-cover span { font-size: 8px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.guide-cover--2 { background: var(--red); color: white; }
.guide-cover--3 { background: var(--yellow); color: var(--ink); }
.clean-guides article > div:last-child { padding: 22px; }
.clean-guides small { color: #9a9994; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.clean-guides h3 { margin: 12px 0 9px; font-size: 18px; line-height: 1.3; letter-spacing: -.025em; }
.clean-guides p { margin: 0; color: var(--muted); font-size: 10.5px; line-height: 1.65; }
.clean-guides a { display: inline-flex; align-items: center; gap: 7px; margin-top: 20px; font-size: 9px; font-weight: 850; }

.rf-faq-section {
  background: white;
}

.rf-faq-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  align-items: start;
  gap: clamp(60px, 9vw, 125px);
}

.rf-faq-layout > div:first-child { position: sticky; top: 110px; }
.rf-faq-layout > div:first-child > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.clean-faq { border-top: 1px solid var(--line); }
.clean-faq details { border-bottom: 1px solid var(--line); }
.clean-faq summary { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 13px; font-weight: 750; }
.clean-faq summary::-webkit-details-marker { display: none; }
.clean-faq summary svg { flex: 0 0 auto; color: #888; transition: transform 160ms ease; }
.clean-faq details[open] summary { color: var(--red); }
.clean-faq details[open] summary svg { transform: rotate(180deg); color: var(--red); }
.clean-faq details p { margin: -4px 45px 0 0; padding: 0 0 23px; color: var(--muted); font-size: 11px; line-height: 1.7; }

.rf-footer {
  padding: 63px 20px 24px;
  background: var(--charcoal);
  color: white;
}

.rf-footer-main {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  padding-bottom: 35px;
}

.rf-logo--footer > span:last-child { color: white; }
.rf-footer-main > div > p { max-width: 380px; margin: 18px 0 0; color: #929397; font-size: 10px; line-height: 1.6; }
.rf-footer nav { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; gap: 15px 27px; }
.rf-footer nav a { color: #b2b3b6; font-size: 9px; }
.rf-footer nav a:hover { color: var(--yellow); }
.rf-legal { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.rf-legal p { max-width: 900px; margin: 0; color: #77787b; font-size: 8px; line-height: 1.6; }
.rf-legal span { flex: 0 0 auto; color: #77787b; font-size: 7px; font-weight: 800; letter-spacing: .1em; }

.rf-toast {
  position: fixed;
  z-index: 100;
  right: 20px;
  bottom: 20px;
  min-height: 47px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  border-radius: 9px;
  background: var(--ink);
  color: white;
  box-shadow: var(--shadow);
  font-size: 11px;
  animation: toast-in 180ms ease both;
}

.rf-toast svg { color: var(--yellow); }

@keyframes clean-rise {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1040px) {
  .rf-desktop-nav a:nth-last-child(-n+2) { display: none; }
  .rf-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .75fr); gap: 48px; }
  .rf-art-panel { min-height: 570px; }
  .clean-tools-grid { grid-template-columns: repeat(2, 1fr); }
  .clean-agenda { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .rf-desktop-nav { display: none; }
  .rf-menu-button { display: grid; }
  .rf-hero { padding-top: 46px; }
  .rf-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .rf-hero-copy { max-width: 720px; }
  .rf-hero h1 { font-size: clamp(58px, 11vw, 78px); }
  .rf-hero-visual { width: min(610px, 100%); margin-inline: auto; }
  .rf-art-panel { min-height: 650px; }
  .rf-section { padding-block: 82px; }
  .rf-section-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
  .clean-stats { grid-template-columns: repeat(2, 1fr); }
  .clean-stats > div:nth-child(2) { border-right: 0; }
  .clean-stats > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .clean-stats > div:nth-child(3) { padding-left: 0; }
  .rf-compare-layout { grid-template-columns: 1fr; gap: 40px; }
  .rf-compare-copy { max-width: 650px; }
  .clean-guides { grid-template-columns: 1fr; }
  .clean-guides article { display: grid; grid-template-columns: 220px 1fr; }
  .rf-faq-layout { grid-template-columns: 1fr; gap: 38px; }
  .rf-faq-layout > div:first-child { position: static; }
}

@media (max-width: 580px) {
  .rf-container { width: calc(100% - 28px); }
  .rf-header { height: 68px; }
  .rf-mobile-nav { top: 67px; }
  .rf-nav-cta { display: none; }
  .rf-logo > span:last-child { font-size: 17px; }
  .brand-mark { width: 34px; height: 34px; }
  .rf-hero { padding: 32px 14px 60px; }
  .rf-hero h1 { margin-top: 20px; font-size: clamp(49px, 16vw, 69px); }
  .rf-hero-copy > p { font-size: 14px; }
  .rf-search { padding: 15px; }
  .rf-search-fields { grid-template-columns: 1fr 90px; }
  .rf-search-button { grid-column: 1 / -1; }
  .rf-search-help { align-items: flex-start; flex-direction: column; }
  .rf-art-panel { min-height: 520px; border-radius: 16px; }
  .rf-art-caption { left: 20px; bottom: 22px; }
  .rf-art-caption strong { font-size: 27px; }
  .rf-rank-chip { right: 18px; bottom: 25px; }
  .rf-section { padding: 68px 14px; }
  .rf-section-heading { margin-bottom: 32px; }
  .rf-section-heading h2,
  .rf-compare-copy h2,
  .rf-faq-layout h2 { font-size: clamp(34px, 11vw, 45px); }
  .clean-profile { border-radius: 13px; }
  .clean-profile-main { min-height: 116px; padding: 20px 17px; }
  .clean-avatar { width: 62px; height: 62px; }
  .clean-profile-user { gap: 11px; }
  .clean-profile-user h3 { font-size: clamp(22px, 8vw, 29px); }
  .clean-level { width: 59px; height: 59px; }
  .clean-level strong { font-size: 21px; }
  .clean-rank-panel { min-height: 175px; grid-template-columns: 125px 1fr; margin-inline: 12px; padding: 15px 15px 15px 5px; }
  .clean-rank-emblem { width: 105px; height: 120px; }
  .clean-rank-emblem span { width: 51px; height: 9px; top: 45px; left: 11px; }
  .clean-rank-emblem i { width: 51px; height: 9px; top: 45px; right: 11px; }
  .clean-rank-emblem b { width: 43px; height: 43px; top: 38px; left: 31px; border-width: 8px; }
  .clean-rank-copy strong { font-size: clamp(28px, 10vw, 39px); }
  .clean-stats { margin: 17px; }
  .clean-stats > div { padding: 16px 10px; }
  .clean-stats > div:first-child,
  .clean-stats > div:nth-child(3) { padding-left: 0; }
  .clean-stats strong { font-size: 12px; }
  .clean-profile-actions { display: grid; grid-template-columns: 1fr; padding: 0 17px 20px; }
  .clean-tools-grid { grid-template-columns: 1fr; }
  .clean-tool { min-height: 225px; }
  .clean-comparison { padding-inline: 16px; }
  .compare-users { grid-template-columns: 1fr 42px 1fr; }
  .compare-users > div { grid-template-columns: 38px 1fr; column-gap: 7px; }
  .compare-users > div:last-child { grid-template-columns: 1fr 38px; }
  .compare-avatar { width: 37px; height: 37px; }
  .compare-users strong { font-size: 10px; }
  .clean-compare-row { grid-template-columns: 70px 1fr 70px; gap: 8px; }
  .clean-compare-row > strong { font-size: 8px; }
  .clean-agenda { grid-template-columns: 1fr; }
  .clean-agenda article { min-height: 220px; }
  .clean-guides article { display: block; }
  .guide-cover { min-height: 125px; }
  .clean-faq summary { font-size: 11px; }
  .rf-footer { padding-inline: 14px; }
  .rf-footer-main { align-items: flex-start; flex-direction: column; }
  .rf-footer nav { justify-content: flex-start; }
  .rf-legal { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 375px) {
  .select-shell--small { display: none; }
  .rf-hero h1 { font-size: 48px; }
  .rf-art-panel { min-height: 470px; }
  .rf-rank-chip { display: none; }
  .clean-profile-main { gap: 10px; }
  .clean-avatar { width: 54px; height: 54px; }
  .clean-level { width: 52px; height: 52px; }
  .clean-rank-panel { grid-template-columns: 105px 1fr; }
  .clean-rank-emblem { width: 90px; height: 105px; }
  .clean-rank-emblem span { width: 43px; left: 10px; top: 39px; }
  .clean-rank-emblem i { width: 43px; right: 10px; top: 39px; }
  .clean-rank-emblem b { width: 38px; height: 38px; top: 33px; left: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Radar FF production additions */
.rf-art-panel--scan img{object-fit:cover;object-position:center;background:#111}.rf-art-panel--scan .rf-art-shade{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.1) 45%,rgba(0,0,0,.88))}
.clean-avatar--initials{display:grid;place-items:center;background:linear-gradient(145deg,#ffcf32,#ff9f00);color:#171717;font-weight:950;font-size:1.5rem}.clean-avatar--initials span{position:relative;z-index:1}.clean-stats--six{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-signature{margin:0;padding:18px 22px;border-top:1px solid rgba(23,23,23,.1);font-style:italic;color:#5e5a52}.profile-empty{display:grid;place-items:center;gap:.5rem;min-height:230px;border:1px dashed rgba(23,23,23,.22);border-radius:24px;background:#fff;color:#6b675f;text-align:center}.profile-empty strong{font-size:1.05rem;color:#171717}.profile-empty[hidden]{display:none}
.rf-update-section{background:#171717;color:#fff}.rf-update-section .rf-section-heading>div>span,.rf-update-section .rf-section-heading p{color:#b7b1a6}.rf-update-section .rf-section-heading h2{color:#fff}.update-feature{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid rgba(255,255,255,.12);border-radius:30px;overflow:hidden;background:#222}.update-feature__visual{min-height:360px;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 30% 20%,rgba(255,186,0,.35),transparent 36%),linear-gradient(145deg,#2c2515,#111);position:relative}.update-feature__visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}.update-feature__visual span,.update-feature__visual strong,.update-feature__visual small{position:relative}.update-feature__visual span{color:#ffba00;font-weight:900;font-size:4rem}.update-feature__visual strong{font-size:2rem;line-height:.9}.update-feature__visual small{margin-top:18px;color:#aaa}.update-feature__copy{padding:48px;display:flex;flex-direction:column;justify-content:center}.update-feature__copy>span{font-size:.75rem;letter-spacing:.15em;color:#ffba00;font-weight:900}.update-feature__copy h3{font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:15px 0 20px}.update-feature__copy p{color:#c9c5bd;line-height:1.75}.update-feature__copy a{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:#ffba00;font-weight:900}
.clean-guides--grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;gap:20px}.article-cover{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:24px;background:#171717!important}.article-cover span{font-size:.72rem;letter-spacing:.14em;font-weight:900}.article-cover strong{font-size:4.5rem;line-height:.8}.article-cover--yellow{background:linear-gradient(145deg,#ffcf32,#ff9f00)!important;color:#171717}.article-cover--red{background:linear-gradient(145deg,#e45746,#8e211f)!important;color:#fff}.article-cover--blue{background:linear-gradient(145deg,#42a5ff,#174c83)!important;color:#fff}
.rf-page-hero{padding:130px 0 80px;background:#171717;color:#fff}.rf-page-hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.92;max-width:1000px;margin:24px 0}.rf-page-hero p{max-width:720px;color:#bfbab1;font-size:1.1rem;line-height:1.7}.tool-page-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}.tool-page-layout .rf-search{margin:0 0 24px}.tool-explainer{position:sticky;top:110px;padding:32px;border-radius:26px;background:#171717;color:#fff}.tool-explainer>span,.article-aside>span{color:#ffba00;font-size:.75rem;letter-spacing:.15em;font-weight:900}.tool-explainer h2,.article-aside h2{font-size:2rem;line-height:1.05}.tool-explainer p{color:#c2beb6;line-height:1.7}.tool-explainer ul{display:grid;gap:10px;padding-left:18px;color:#fff}
.compare-tool{display:grid;gap:26px}.compare-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:18px;align-items:end;padding:26px;border:1px solid rgba(23,23,23,.12);border-radius:26px;background:#fff}.compare-form__group{display:grid;gap:8px}.compare-form__group>span{font-size:.72rem;letter-spacing:.12em;font-weight:900}.compare-form input,.compare-form select{width:100%;height:52px;border:1px solid rgba(23,23,23,.18);border-radius:14px;padding:0 14px;background:#faf9f6;color:#171717}.compare-form__vs{font-weight:950;color:#d8453a;margin-bottom:16px}.compare-message{color:#a42b25;font-weight:800}.compare-results{margin:0}
.article-hero{padding:135px 0 85px;color:#fff}.article-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.96;max-width:1000px;margin:20px 0}.article-hero p{max-width:750px;font-size:1.1rem;line-height:1.7}.article-hero>div>span{font-weight:900;letter-spacing:.14em;font-size:.78rem}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;padding-top:70px;padding-bottom:90px}.article-body{max-width:780px}.article-intro{font-size:1.3rem;line-height:1.75;color:#393732}.article-body section{padding:22px 0;border-top:1px solid rgba(23,23,23,.11)}.article-body h2{font-size:2rem;margin-bottom:12px}.article-body p{line-height:1.8;color:#5f5b54}.article-source{margin-top:35px;padding:25px;border-radius:20px;background:#f3f0e8}.article-source span{font-size:.72rem;letter-spacing:.12em;font-weight:900}.article-source a{color:#9b6200;text-decoration:underline}.article-aside{position:sticky;top:110px;height:max-content;padding:28px;border-radius:24px;background:#171717;color:#fff}.article-aside .rf-nav-cta{display:inline-flex;margin-top:15px}
.clean-profile[hidden],.compare-results[hidden]{display:none!important}.rf-spinner{width:19px;height:19px;border:2px solid rgba(23,23,23,.25);border-top-color:#171717;border-radius:50%;animation:rfspin .8s linear infinite}@keyframes rfspin{to{transform:rotate(360deg)}}
@media(max-width:980px){.clean-guides--grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-page-layout,.article-layout{grid-template-columns:1fr}.tool-explainer,.article-aside{position:static}.compare-form{grid-template-columns:1fr}.compare-form__vs{text-align:center;margin:0}.update-feature{grid-template-columns:1fr}.clean-stats--six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.clean-guides--grid{grid-template-columns:1fr}.clean-stats--six{grid-template-columns:1fr}.update-feature__copy{padding:30px}.update-feature__visual{min-height:290px}.rf-page-hero{padding:105px 0 55px}.compare-form{padding:18px}.article-layout{padding-top:45px;gap:35px}}

/* Multilingual content, custom controls and editorial sections */
[hidden]{display:none!important}
html{scrollbar-width:thin;scrollbar-color:var(--yellow-dark) #211f1a}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#211f1a;border-radius:999px}
*::-webkit-scrollbar-thumb{min-height:44px;border:2px solid #211f1a;border-radius:999px;background:linear-gradient(180deg,var(--yellow),#d88500)}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffd35a,var(--red))}
.compact-scroll{scrollbar-width:thin;scrollbar-color:var(--red) #efebe2}
.compact-scroll::-webkit-scrollbar{width:7px;height:7px}
.compact-scroll::-webkit-scrollbar-track{background:#efebe2}
.compact-scroll::-webkit-scrollbar-thumb{border:1px solid #efebe2;background:var(--red)}

.language-picker{position:relative;z-index:80}
.language-picker__trigger{height:42px;min-width:72px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.05em;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.language-picker__trigger:hover,.language-picker__trigger[aria-expanded="true"]{border-color:var(--yellow-dark);box-shadow:0 8px 25px rgba(23,23,23,.1);transform:translateY(-1px)}
.language-picker__chevron{transition:transform .16s ease}.language-picker__trigger[aria-expanded="true"] .language-picker__chevron{transform:rotate(180deg)}
.language-picker__menu{position:absolute;top:calc(100% + 10px);right:0;width:210px;max-height:min(370px,70vh);overflow:auto;padding:7px;border:1px solid rgba(23,23,23,.12);border-radius:14px;background:#fff;box-shadow:0 28px 70px rgba(23,23,23,.18)}
.language-picker__menu a{min-height:44px;display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;padding:0 11px;border-radius:9px;color:#4c4a46;font-size:11px;font-weight:750;transition:background .14s ease,color .14s ease}
.language-picker__menu a:hover,.language-picker__menu a[aria-selected="true"]{background:#f3efe5;color:#171717}
.language-picker__menu a[aria-selected="true"]{box-shadow:inset 3px 0 0 var(--yellow)}
.language-picker__menu small{color:#9a968d;font-size:8px;font-weight:900;letter-spacing:.1em}.language-picker__menu svg{color:var(--red)}

.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.select-shell{overflow:visible;min-width:0;padding:0;border:0;background:transparent;box-shadow:none!important}
.select-shell--region{width:112px;background:transparent}
.custom-select{position:relative;width:100%;min-width:0;z-index:12}
.custom-select.is-open{z-index:90}
.custom-select__trigger{width:100%;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:#faf9f6;color:var(--ink);cursor:pointer;font-size:11px;font-weight:850;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.custom-select__trigger:hover{background:#fff;border-color:#c7c0b2}.custom-select.is-open .custom-select__trigger,.custom-select__trigger:focus-visible{border-color:var(--red);box-shadow:0 0 0 3px rgba(216,69,58,.12);background:#fff}
.custom-select__trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select__trigger>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .16s ease}.custom-select.is-open .custom-select__trigger>svg{transform:rotate(180deg)}
.custom-select__menu{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:max(100%,190px);max-height:260px;overflow:auto;padding:6px;border:1px solid rgba(23,23,23,.13);border-radius:13px;background:#fff;box-shadow:0 24px 65px rgba(23,23,23,.18)}
.custom-select.opens-up .custom-select__menu{top:auto;bottom:calc(100% + 8px)}
.custom-select__option{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#4f4c46;cursor:pointer;font-size:11px;font-weight:750;text-align:left;transition:background .13s ease,color .13s ease}
.custom-select__option:hover,.custom-select__option:focus-visible{outline:0;background:#f4f0e7;color:#171717}.custom-select__option.is-selected{background:#fff6d9;color:#171717;box-shadow:inset 3px 0 0 var(--yellow-dark)}
.custom-select__option svg{width:15px;height:15px;fill:none;stroke:var(--red);stroke-width:2;opacity:0}.custom-select__option.is-selected svg{opacity:1}
.compare-form .select-shell{width:100%}.compare-form .custom-select__trigger{min-height:52px;border-radius:14px}.compare-form .custom-select__menu{min-width:100%}

.rf-mobile-nav{max-height:calc(100vh - 90px);overflow:auto;z-index:75}.rf-mobile-nav:not([hidden]){opacity:1;visibility:visible;transform:translateY(0)}
.rf-desktop-nav{gap:clamp(14px,1.7vw,26px)}.rf-desktop-nav a{font-size:10.5px}

.rf-agenda-section{background:#fff}
.agenda-feature{display:grid;grid-template-columns:360px 1fr;min-height:390px;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#f7f4ed;box-shadow:0 26px 70px rgba(23,23,23,.08)}
.agenda-calendar{position:relative;display:grid;grid-template-columns:1fr 1fr;align-content:center;justify-items:center;gap:8px;padding:44px;background:radial-gradient(circle at 20% 15%,rgba(255,186,0,.34),transparent 38%),#191919;color:#fff}
.agenda-calendar:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:29px 29px}
.agenda-calendar>*{position:relative}.agenda-calendar span{color:#ffba00;font-size:.75rem;font-weight:900;letter-spacing:.18em}.agenda-calendar strong{font-size:clamp(4rem,8vw,6.6rem);line-height:.8}.agenda-calendar i{grid-column:1/-1;width:70%;height:3px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.agenda-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:45px 52px}.agenda-status{display:flex;align-items:center;justify-content:space-between;gap:20px}.agenda-status>span{display:inline-flex;align-items:center;gap:8px;color:#198b48;font-size:.72rem;font-weight:900;letter-spacing:.12em}.agenda-status i{width:8px;height:8px;border-radius:50%;background:#1fbd65;box-shadow:0 0 0 5px rgba(31,189,101,.12)}.agenda-status small{color:#8a877f;font-size:.72rem}
.agenda-feature__copy h3{margin:20px 0 12px;font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.02}.agenda-feature__copy p{margin:0;color:var(--muted);line-height:1.7}.agenda-feature__copy ul{display:grid;gap:8px;margin:20px 0;padding-left:20px;color:#4f4b45;font-size:.86rem;line-height:1.5}.agenda-feature__copy a,.section-link a,.text-link{display:inline-flex;align-items:center;gap:8px;width:max-content;color:#8c2527;font-size:.78rem;font-weight:900}.section-link{display:flex;justify-content:flex-end;margin-top:24px}

.rf-armory-section{background:#eeeae1}.weapon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.weapon-grid--large{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.weapon-card{position:relative;min-height:285px;display:flex;flex-direction:column;overflow:hidden;padding:25px;border:1px solid rgba(23,23,23,.11);border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(23,23,23,.05)}
.weapon-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--yellow)}.weapon-card--red:before{background:var(--red)}.weapon-card--blue:before{background:#2d83d4}.weapon-card--purple:before{background:#7952b3}
.weapon-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.weapon-card__head span{padding:5px 7px;border-radius:5px;background:#f1eee7;color:#74716b;font-size:.62rem;font-weight:900;letter-spacing:.12em}.weapon-card__head strong{font-size:2.1rem;letter-spacing:-.06em}
.weapon-bars{display:flex;flex-wrap:wrap;gap:7px;margin:32px 0 18px}.weapon-bars span{padding:7px 9px;border-radius:7px;background:#171717;color:#ffba00;font-size:.65rem;font-weight:850}.weapon-card p{margin:auto 0 0;color:var(--muted);font-size:.8rem;line-height:1.65}.weapon-card>a{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:var(--red-dark);font-size:.72rem;font-weight:900}

.rf-characters-section{background:#fff}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.character-grid--all{grid-template-columns:repeat(3,minmax(0,1fr))}.character-card{min-height:300px;padding:27px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,#fff,#f4f0e7);transition:transform .18s ease,box-shadow .18s ease}.character-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(23,23,23,.1)}.character-card__avatar{width:74px;height:74px;display:grid;place-items:center;margin-bottom:24px;border-radius:22px;background:#171717;color:#ffba00;font-size:2rem;font-weight:950;transform:rotate(-4deg)}.character-card>span{color:var(--red);font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.character-card h3,.character-card h2{margin:8px 0 12px;font-size:2rem;letter-spacing:-.05em}.character-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.7}

.rf-modes-section{background:#171717;color:#fff}.rf-modes-section .rf-section-heading h2{color:#fff}.rf-modes-section .rf-section-heading>div>span{color:#ffba00}.mode-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.12);border-radius:25px;overflow:hidden}.mode-strip article{min-height:245px;padding:25px;border-right:1px solid rgba(255,255,255,.12)}.mode-strip article:last-child{border-right:0}.mode-strip span,.mode-grid article>span{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#ffba00;color:#171717;font-size:.72rem;font-weight:950}.mode-strip h3{margin:35px 0 10px;font-size:1.35rem}.mode-strip p{margin:0;color:#aaa7a0;font-size:.76rem;line-height:1.7}
.mode-grid{display:grid;gap:14px}.mode-grid article{display:grid;grid-template-columns:75px 1fr;align-items:center;gap:25px;padding:30px;border:1px solid var(--line);border-radius:23px;background:#fff}.mode-grid h2{margin:0 0 7px;font-size:2rem}.mode-grid p{margin:0;color:var(--muted);line-height:1.7}

.agenda-page-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:start}.agenda-detail{display:grid;grid-template-columns:250px 1fr;gap:38px;padding:32px;border:1px solid var(--line);border-radius:28px;background:#fff}.agenda-detail__date{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:21px;background:#171717;color:#fff}.agenda-detail__date small{color:#aaa;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.agenda-detail__date strong{font-size:3.1rem;line-height:.9;color:#ffba00}.agenda-detail__date i{width:70%;height:1px;background:rgba(255,255,255,.2)}.agenda-detail__date span{margin-top:12px;padding:6px 10px;border-radius:999px;background:#183e28;color:#64da90;font-size:.65rem;font-weight:900;letter-spacing:.12em}.agenda-detail>div:last-child{display:flex;flex-direction:column;justify-content:center}.agenda-detail h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}.agenda-detail p{color:var(--muted);line-height:1.75}.eyebrow,.agenda-checklist>span{color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.13em}.agenda-checklist{padding:28px;border-radius:24px;background:#171717;color:#fff}.agenda-checklist ol{display:grid;gap:20px;margin:25px 0 0;padding-left:22px;color:#ccc8c0;line-height:1.65}.agenda-checklist li::marker{color:#ffba00;font-weight:900}

.compare-form{grid-template-columns:1fr 1fr auto}.compare-form fieldset{min-width:0;display:grid;grid-template-columns:1fr 150px;gap:9px;margin:0;padding:0;border:0}.compare-form legend{grid-column:1/-1;margin-bottom:8px;color:#6f6b64;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.compare-form .rf-search-button{height:52px}.compare-message{min-height:24px;margin:18px 0}.clean-compare{padding:26px;border-radius:25px;background:#fff;border:1px solid var(--line)}
.clean-guides--archive{grid-template-columns:repeat(3,minmax(0,1fr))}.clean-guides--archive h2{margin:12px 0 9px;font-size:18px;line-height:1.3;letter-spacing:-.025em}
.article-hero{background:#171717}.article-hero__inner{display:grid;grid-template-columns:1fr 240px;align-items:end;gap:60px}.article-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:22px;color:#b4b0a8;font-size:.72rem;font-weight:800}.article-back svg{transform:rotate(180deg)}.article-meta{display:flex;flex-wrap:wrap;gap:18px;color:#aaa59c;font-size:.72rem}.article-hero__code{min-height:300px;display:flex;flex-direction:column;justify-content:space-between;padding:25px;border-radius:24px;background:#ffba00;color:#171717}.article-hero__code small,.article-hero__code span{font-size:.7rem;font-weight:900;letter-spacing:.13em}.article-hero__code strong{font-size:4.3rem}.article-aside{display:grid;gap:12px}.article-aside>a:not(.primary-action){padding-top:12px;border-top:1px solid rgba(255,255,255,.12);color:#ccc7be;font-size:.78rem}.article-aside .primary-action{justify-content:center;margin-bottom:8px}
.legal-card{max-width:850px;padding:40px;border-radius:26px;background:#fff;box-shadow:var(--shadow)}.legal-card h2{font-size:2.5rem}.legal-card p{color:var(--muted);font-size:1rem;line-height:1.8}.legal-card a,.error-action{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--red-dark);font-weight:900}.error-action{padding:14px 18px;border-radius:9px;background:#ffba00;color:#171717}

@media(max-width:1120px){.rf-desktop-nav a:nth-last-child(-n+2){display:none}.weapon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-strip article:nth-child(2){border-right:0}.mode-strip article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.agenda-feature{grid-template-columns:300px 1fr}.compare-form{grid-template-columns:1fr 1fr}.compare-form .rf-search-button{grid-column:1/-1}.clean-guides--archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.language-picker__menu{right:-55px}.agenda-feature,.agenda-detail{grid-template-columns:1fr}.agenda-calendar{min-height:300px}.agenda-page-grid{grid-template-columns:1fr}.character-grid,.character-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}.article-hero__inner{grid-template-columns:1fr}.article-hero__code{display:none}.compare-form{grid-template-columns:1fr}.compare-form fieldset{grid-template-columns:1fr 140px}.clean-guides--archive{grid-template-columns:1fr}}
@media(max-width:580px){.language-picker__trigger{min-width:58px;height:40px;padding:0 8px}.language-picker__trigger>svg:first-child{display:none}.language-picker__menu{position:fixed;top:76px;left:14px;right:14px;width:auto;max-height:calc(100vh - 100px)}.rf-search-fields{grid-template-columns:minmax(0,1fr) 112px}.select-shell--region{width:112px}.custom-select__menu{min-width:210px;left:auto;right:0}.weapon-grid,.weapon-grid--large,.character-grid,.character-grid--all,.mode-strip{grid-template-columns:1fr}.mode-strip article{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.mode-strip article:last-child{border-bottom:0}.agenda-feature__copy{padding:30px 24px}.agenda-status{align-items:flex-start;flex-direction:column}.agenda-calendar{padding:28px}.agenda-detail{padding:18px}.agenda-detail__date{min-height:240px}.compare-form fieldset{grid-template-columns:1fr}.compare-form .custom-select__menu{min-width:100%}.mode-grid article{grid-template-columns:55px 1fr;padding:22px;gap:15px}.mode-grid h2{font-size:1.5rem}.article-hero h1{font-size:clamp(2.7rem,13vw,4.3rem)}.article-intro{font-size:1.08rem}.legal-card{padding:25px}.rf-nav-actions{gap:6px}}

/* ============================================================
   DETALLES DEL PERFIL — personaje, mascota, gremio, conjunto
   Los datos salen de la API publica y del catalogo local de
   items; cada fila se oculta sola si el dato no viene.
   ============================================================ */

.profile-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0 32px 22px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  overflow: hidden;
}

.profile-detail {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 13px 16px;
  background: rgba(0, 0, 0, .25);
}

.profile-detail span {
  color: #8f8f8f;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.profile-detail strong {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- Conjunto equipado ---------- */

.profile-outfit {
  margin: 0 32px 24px;
}

.profile-outfit-title {
  display: block;
  margin-bottom: 10px;
  color: #8f8f8f;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.profile-outfit ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.profile-outfit li {
  padding: 6px 11px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
  font-size: 12px;
  line-height: 1.3;
}

/* La rareza se comunica con color Y con el borde, no solo con color: un
   usuario con daltonismo debe poder distinguirlas igual. */
.profile-outfit li[data-rarity="rare"] {
  border-color: rgba(94, 160, 255, .5);
  color: #9ec5ff;
}

.profile-outfit li[data-rarity="epic"] {
  border-color: rgba(186, 120, 255, .5);
  color: #d6b0ff;
}

.profile-outfit li[data-rarity="legendary"] {
  border-color: rgba(255, 186, 0, .55);
  color: var(--yellow, #ffba00);
  font-weight: 700;
}

@media (max-width: 560px) {
  .profile-details {
    grid-template-columns: 1fr;
    margin-inline: 18px;
  }

  .profile-outfit {
    margin-inline: 18px;
  }
}

/* ============================================================
   DATO PROTAGONISTA  (.rf-headline)
   Sustituye al panel de rango: cada herramienta destaca SU dato
   (rango, antiguedad o fecha de creacion) en lugar de lanzar
   todos los numeros a la vez.
   ============================================================ */

.rf-headline {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 32px 4px;
  padding: 20px 24px;
  border: 1px solid rgba(255, 186, 0, .22);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 186, 0, .1), rgba(255, 186, 0, .02));
}

.rf-headline-label {
  color: #8f8f8f;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rf-headline-value {
  font-size: clamp(1.5rem, 4.5vw, 2rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--yellow, #ffba00);
}

.rf-headline-note {
  color: #a9a9a9;
  font-size: 12px;
}

/* ---------- Bloque plegable con el resto del perfil ---------- */

.rf-more {
  margin: 18px 32px 4px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(0, 0, 0, .2);
}

.rf-more > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}

.rf-more > summary::-webkit-details-marker { display: none; }

.rf-more > summary:focus-visible {
  outline: 2px solid var(--yellow, #ffba00);
  outline-offset: 2px;
}

.rf-more > summary .icon {
  flex-shrink: 0;
  transition: transform .2s ease;
}

.rf-more[open] > summary .icon { transform: rotate(180deg); }

.rf-more-body { padding: 0 18px 18px; }

/* Dentro del plegable los bloques ya tienen su propio margen del contenedor,
   asi que se anula el lateral para que no se acumule. */
.rf-more-body .profile-details,
.rf-more-body .profile-outfit {
  margin-inline: 0;
}

.rf-more-body .profile-outfit { margin-top: 16px; }

@media (prefers-reduced-motion: reduce) {
  .rf-more > summary .icon { transition: none; }
}

@media (max-width: 560px) {
  .rf-headline { margin-inline: 18px; padding: 16px 18px; }
  .rf-more { margin-inline: 18px; }
}

/* ---------- Imagen de la agenda semanal ---------- */

.rf-section--tight { padding-block: 18px; }

.agenda-poster {
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  background: rgba(0, 0, 0, .25);
  overflow: hidden;
}

.agenda-poster img {
  display: block;
  width: 100%;
  height: auto;
  /* La agenda oficial llega en proporciones distintas cada semana: se deja
     fluir en vez de recortarla, que ocultaria eventos. */
}

.agenda-poster figcaption {
  padding: 11px 16px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: #8f8f8f;
  font-size: 11px;
  letter-spacing: .04em;
}
